Architektura systemów komputerowych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 9: | Linia 9: | ||
'''Architektura systemów komputerowych''' | '''Architektura systemów komputerowych''' | ||
=Forma zajęć= | == Forma zajęć == | ||
wykład (30 godz.) | wykład (30 godz.) |
Wersja z 16:45, 13 cze 2006
Autor sylabusa
mgr inż. Grzegorz Mazur
g.mazur@ii.pw.edu.pl
Nazwa zajęć
Architektura systemów komputerowych
Forma zajęć
wykład (30 godz.)
Opis
Celem wykładu jest zapoznanie słuchaczy ze strukturą i budową współczesnych procesorów i komputerów. Treść wykładu obejmuje niezbędne podstawy teoretyczne, budowę aplikacyjnego modelu programowego komputera dostosowanego do wykonywania programów napisanych w językach wysokiego poziomu, budowę jednostki wykonawczej komputera, model i implementację mechanizmów systemowych oraz podstawowe informacje o organizacji współpracy z urządzeniami zewnętrznymi i strukturze komputera.
Wymagania wstępne
Programowanie w języku C
Układy logiczne/podstawy techniki cyfrowej
Sylabus
- Wprowadzenie - pojęcie komputera, taksonomie architektur komputerowych, pojęcie hierarchii pamięci. Maszyna von Neumanna, architektury Harvard, Princeton, Harvard-Princeton.
- Dane - typy, reprezentacje, organizacja i adresowanie pamięci. Konwencje Big-Endian i Little-Endian. Wyrównanie naturalne. Dane wektorowe.
- Synteza aplikacyjnego modelu programowego na podstawie wymagań języka wysokiego poziomu.
- Budowa modelu programowego - rejestry, tryby adresowania, model operacji warunkowych, lista instrukcji. Konstrukcja modelu programowego w podejściu CISC i RISC.
- Przykłady modeli programowych RISC (MIPS) i CISC (x86). Jednostki zmiennopozycyjne i wektorowe.
- Synteza jednocyklowej jednostki wykonawczej. Jednostki wielocyklowe. Przejście od jednostki jednocyklowej do potokowej.
- Struktura potoku. Problemy snchronizacji i opóźnienia w prostym potoku. Superpotok.
- Jednostki wielopotokowe (superskalarne) - zasady działania, hazardy i opóźnienia.
- Metody redukcji opóźnień w procesorach superpotokowych i superskalarnych. Przewidywanie skoków. Sposoby redukcji opóźnienia danych.
- Kieszenie jako warstwa hierarchii pamięci. Organizacja i zasady działania. Model wydajności. Reakcja na zapis danych. Wielopoziomowe systemy kieszeni.
- Wymagania wieloprocesowego systemu operacyjnego. Zasady ochrony zasobów komputera. Funkcje systemu zarządzania pamięcią.
- Implementacja zarządzania pamięcią - prosta relokacja, segmentacja, stronicowanie. Podstawy realizacji systemu pamięci wirtualnej. Optymalizacja stronicowania.
- Wyjątki - definicja, klasyfikacja. Obsługa wyjątków.
- Podstawy organizacji wejścia wyjścia. Obsługa urządzeń zewnętrznych przy użyciu aktywnego oczekiwania, przerwań i DMA.
- Struktura komputera jednoprocesorowego i jej ewolucja od lat 60-tych XXw do współczesności.
Literatura
- D. Patterson, J. Hennessy. Computer Organizatin and design. Elsevier 2005.
- J. Biernat. Arytmetyka komputerów. PWN, 1996.
- Materiały firmowe - dokumenty techniczne dostępne w sieci www - MIPS, Intel, AMD.
- Specyfikacje Application Binary Interface.