Architektura Systemów Komputerowych
1. System komputerowy: zadania, składniki, zasoby, cechy, funkcje, elementy struktury, warstwy opisu; pojęcie maszyny von Neumanna; pojęcie architektury i organizacji komputera; architektura von Neumanna i harwardzka.
2. Reprezentacja danych stosowana w systemach komputerowych, porcje informacji, rodzaje danych; kody rozkazowe, dane użytkownika, dane systemowe. Dane logiczne, znakowe, reprezentacje liczb. Działania logiczne, arytmetyka zmiennoprzecinkowa i stałoprzecinkowa. Struktury danych systemowych; struktura i wykorzystanie stosu. Organizacja zapisu danych w pamięci: układ bitów, układ bajtów w słowie („endianess”).
3. Zmiennoprzecinkowy format IEEE754: formaty, reprezentacja, NaN, liczby zdenormalizowane; wyjątki, zaokrąglenia; arytmetyka. Zamiana formatu stałoprzecinkowego na zmiennoprzecinkowy.
4. Typy danych: stałoprzecinkowe, zmiennoprzecinkowe, znakowe, SIMD: MMX, SSE.
5. Procesor: funkcje, struktura funkcjonalna. Jednostka arytmetyczno-logiczna: zadania, architektury.
6. Techniki zwiększania szybkości przetwarzania procesorów: częstotliwość pracy, przetwarzanie potokowe, równoległe, pamięć podręczna, elementy architektury RISC, optymalizacja kodu, praca wieloprocesorowa.
7. Przetwarzanie równoległe: zasady przetwarzania, ograniczenia, uzależnienia i rozwiązania. Przetwarzanie potokowe: etapy i fazy, źródła zakłóceń, ograniczenia, opóźnienia i zajętość jednostek, wpływ współpracy z pamięcią, wstrzymanie potoku; system superpotokowy. Wpływ skoków warunkowych; wykonanie obu rozgałęzień, przepowiadanie rozgałęzień: przykład realizacji
8. Architektura CISC, RISC: cechy, zalety, wady, porównanie; jądro RISC procesora CISC: cechy, zalety, przykładowa realizacja.
9. Pamięć: zadania, parametry, hierarchia, podział. Pamięć podręczna. Lokalność odniesień, hierarchiczna struktura pamięci, parametry i klasyfikacja pamięci podręcznych, topologie, organizacje (odwzorowania), TRAM, pamięć skojarzeniowa, algorytmy wymiany linii, sposoby zapisu.