Pytania otagowane jako computer-architecture

Pytania dotyczące organizacji i projektowania sprzętu komputerowego.

3
Czym różni się procesor zaprojektowany wyłącznie do programowania funkcjonalnego?
Procesory są w pewnym stopniu zaprojektowane z myślą o oprogramowaniu, które ludzie będą dla niego pisać, w sposób dorozumiany lub jawny. Wydaje mi się, że jeśli spojrzysz na projekt architektury zestawów instrukcji, są one bardzo „imperatywne”, w tym sensie, że każda instrukcja koduje polecenie stylu imperatywnego. Wydaje mi się również, …

7
Jak program jest wykonywany na poziomie procesora?
Wiem, że to bardzo częste pytanie. Ale mam inny punkt widzenia. Spróbuję to tutaj wyrazić. Z tego, co wiem, każda instrukcja wykonywana przez procesor jest w języku maszynowym i wszystko, co może zrobić, to wykonywanie operacji arytmetycznych dzięki ALU i jego tranzystorom (jeśli idziemy na poziomie sprzętowym). Jest to jednak …

6
Znalezienie maksymalnego XOR dwóch liczb w przedziale: czy możemy zrobić coś lepszego niż kwadratowy?
Załóżmy, że otrzymaliśmy dwie liczby i i że chcemy znaleźć dla l \ le i, \, j \ le r .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Naiwny algorytm sprawdza po prostu wszystkie możliwe pary; na przykład w rubinie mielibyśmy: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if …


1
Badania dotyczące oceny nieświadomości pamięci podręcznej w praktyce
Algorytmy i struktury danych ignorowane przez pamięć podręczną są raczej nową rzeczą, wprowadzoną przez Frigo i in. w algorytmach niepamięci Cache, 1999 . Teza Prokopa z tego samego roku wprowadza także wczesne pomysły. Artykuł Frigo i in. przedstawić niektóre wyniki eksperymentalne pokazujące potencjał teorii oraz algorytmów i struktur danych nieobsługiwanych …

3
W jaki sposób procesor znajduje kod jądra po przerwie?
Gdy wystąpi przerwanie, procesor wstrzymuje bieżący proces i wywołuje kod jądra, aby obsłużyć przerwanie. Skąd procesor wie, gdzie wejść do jądra? Rozumiem, że istnieją procedury obsługi przerwań, które można zainstalować dla każdej linii przerwań. Ale ponieważ procesor wykonuje tylko „logikę przewodową”, musi istnieć pewne predefiniowane miejsce, które wskazuje albo na …

2
Czy architektury procesorów są tendencyjne w stosunku do proceduralnych środowisk wykonawczych?
Czy są jakieś zmiany, które można wprowadzić w procesorach, aby działały lepiej w przypadku równoczesnych środowisk uruchomieniowych, takich jak Rust? Na przykład, czy są jakieś zmiany w implementacjach przewidywania gałęzi lub rozmiarach pamięci podręcznej, które pomogłyby w jednoczesnych uruchomieniach? Mam wrażenie, że obecne konstrukcje procesorów mogą być bardziej zoptymalizowane pod …

3
Czy istnieje abstrakcyjna maszyna, która może rejestrować zużycie energii?
Zgłaszając złożoność algorytmu algorytmu, zakłada się, że obliczenia leżące u jego podstaw są wykonywane na jakiejś abstrakcyjnej maszynie (np. RAM), która przybliża nowoczesny procesor. Takie modele pozwalają nam raportować złożoność algorytmów w czasie i przestrzeni. Teraz, przy rozproszeniu GPGPU , zastanawia się, czy istnieją dobrze znane modele, w których można …

1
Po co korzystać z SIMD, jeśli mamy GPGPU?
Myślałem, że to pytanie jest lepiej obsługiwane w części CS programu Stack Exchange. Teraz, gdy mamy GPGPU z takimi językami jak CUDA i OpenCL, czy rozszerzenia multimediów SIMD (SSE / AVX / NEON) nadal spełniają swoje zadanie? Niedawno przeczytałem artykuł o tym, jak można zastosować instrukcje SSE do przyspieszenia sortowania …

5
Czy przyszłe komputery kwantowe będą korzystać z binarnego, trójskładnikowego lub czwartorzędowego układu liczbowego?
Nasze obecne komputery używają bitów, więc używają systemu liczb binarnych. Ale słyszałem, że przyszłe komputery kwantowe będą używać kubitów zamiast prostych bitów. Ponieważ w słowie „qubit” znajduje się słowo „bi”, najpierw pomyślałem, że oznacza to, że komputery kwantowe będą używać binarnych (podstawa 2). Ale potem usłyszałem, że kubity mają trzy …

2
Czy komputery faktycznie używają sumatorów przeniesienia?
Istnieje wiele szczegółów na temat dodatków typu lookahead, takich jak Kogge-Stone, Lander-Fischer itp. Na kursach CS uczelni. Są one określane jako „powszechne w branży”. Jednak nie mogę znaleźć żadnych dowodów (poza być może łańcuchem do noszenia w Manchesterze) z ostatnich czasów, że są one właściwie używane gdziekolwiek konkretnie. Wyszukiwarka Google …

5
Dlaczego konstrukcja systemu operacyjnego może zmniejszyć zużycie energii?
Czytałem, że systemy operacyjne takie jak Android i iOS są w jakiś sposób zoptymalizowane, aby poprawić żywotność baterii. W moim rozumieniu jest to, że CPU wykonuje pewną liczbę operacji w określonym czasie, więc myślę, że można przyspieszyć aplikacje poprzez ograniczenie liczby operacji potrzebnych, ale ponieważ procesor będzie nadal robić x …

2
Jaki rodzaj przewidywania gałęzi jest ważniejszy?
Zauważyłem, że w przewidywaniu gałęzi istnieją dwa różne typy stanów. W wykonywaniu superskalarnym, gdzie przewidywanie rozgałęzienia jest bardzo ważne i dotyczy głównie opóźnienia wykonania, a nie opóźnienia pobierania. W potoku instrukcji, gdzie pobieranie jest większym problemem, ponieważ instrukcje faktycznie nie są wykonywane aż do później. Który z nich jest bardzo …

2
Dane Ogólne zalety MV / 8000 „Bit bez trybu”
Czytam „Duszę nowej maszyny” Tracy Kidder, w której zespół Data General projektuje nową maszynę (o kryptonimie „Eagle”, później nazwaną MV / 8000). Jest to 32-bitowe rozszerzenie poprzedniej architektury (16-bitowe środowisko Eclipse). Jednym z motywów obrotowych wydaje się być to, że nie chcą tworzyć maszyny z bitem trybu i że im …

1
Dlaczego stosowanie Hyper-Threading może prowadzić do obniżenia wydajności
Przeczytałem go w różnych miejscach, takich jak to , że hiperwątkowość prowadzi do obniżenia wydajności. Nie jestem w stanie zrozumieć, dlaczego ani w jaki sposób hiperwątkowanie prowadzi do degradacji. Dlaczego tak jest, że nawet jeśli Hyper-Threading pozwala systemowi operacyjnemu na wykorzystanie wolnych zasobów, następuje degradacja. Choć testy porównawcze wskazują na …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.