skrypt Flashcards
Co to jest potokowość w kontekście architektury komputerów?
Mechanizm, w którym każdy etap wykonywania rozkazu jest realizowany przez oddzielny układ działający równolegle.
Jakie są etapy przetwarzania rozkazu w klasycznym modelu von-Neumanna?
Pobranie rozkazu z pamięci, dekodowanie rozkazu, pobranie potrzebnych argumentów rozkazu, wykonanie rozkazu, umieszczenie wyniku w pamięci/rejestrze.
Czym jest branch prediction?
Wybieranie najbardziej prawdopodobnej gałęzi selekcji w przypadku zależności między rozkazami, np. instrukcje skoku warunkowego.
Na czym polega wektorowość w obliczeniach naukowych?
Zaprojektowano specjalne potoki do realizowania obliczeń na całych wektorach z mechanizmem łańcuchowania potoków.
Czym jest pamięć podręczna (cache memory)?
Niewielka, szybka pamięć między procesorem a pamięcią operacyjną, charakteryzująca się znacznie większą szybkością działania.
Jakie są poziomy pamięci podręcznej w nowoczesnych systemach komputerowych?
Nowoczesne systemy komputerowe mają przynajmniej dwa poziomy pamięci podręcznej.
Co to jest memory interleaving?
Rozmieszczanie danych w ten sposób, że kolejne elementy danych są alokowane w kolejnych bankach pamięci.
Czym są konflikty w dostępie do banków pamięci?
Konflikty w dostępie do banków pamięci mogą spowodować nawet siedmiokrotny wzrost czasu obliczeń.
Jakie są alternatywne sposoby reprezentacji macierzy?
Podział macierzy na bloki, które mogą być rozmieszczone w pamięci podręcznej pierwszego poziomu.
Co to jest MIMD?
Multiple Instruction stream Multiple Data stream - architektura komputerów równoległych.
Czym charakteryzują się komputery z pamięcią wspólną?
Niewielka liczba procesorów, jednolity i szybki dostęp do pamięci, statyczna lub dynamiczna sieć połączeń.
Czym charakteryzują się komputery z pamięcią rozproszoną?
Brak realizowanej fizycznie wspólnej pamięci adresowej, procesory z pamięcią lokalną połączone siecią połączeń.
Co to są procesory wielordzeniowe?
Umieszczenie więcej niż jednego rdzenia w pojedynczym układzie scalonym, logicznie stanowiącego oddzielny procesor.
Czym jest fundamentalny trójkąt w kontekście optymalizacji programów?
Algorytm - sprzęt - kompilatory: konieczność opracowania odpowiednich algorytmów.
Na czym polega optymalizacja maszynowa?
Optymalizacja zależna od architektury komputera, właściwe wykorzystanie architektury oraz specyficznej listy rozkazów procesora.