Architektura systemów komputerowych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
(Nie pokazano 26 wersji utworzonych przez 5 użytkowników) | |||
Linia 1: | Linia 1: | ||
== | == Forma zajęć == | ||
wykład (30 godzin) | |||
== 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. | |||
== Sylabus == | |||
= | === Autor === | ||
*Grzegorz Mazur — Politechnika Warszawska, | |||
= | === Wymagania wstępne === | ||
*Programowanie w języku C | |||
= | === Zawartość === | ||
*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. | |||
= | |||
*Wprowadzenie | |||
*Dane | |||
*Synteza aplikacyjnego modelu programowego na podstawie wymagań języka wysokiego poziomu. | *Synteza aplikacyjnego modelu programowego na podstawie wymagań języka wysokiego poziomu. | ||
*Budowa modelu programowego | *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. | *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. | *Synteza jednocyklowej jednostki wykonawczej. Jednostki wielocyklowe. Przejście od jednostki jednocyklowej do potokowej. | ||
*Struktura potoku. Problemy | *Struktura potoku. Problemy synchronizacji i opóźnienia w prostym potoku. Superpotok. | ||
*Jednostki wielopotokowe (superskalarne) | *Jednostki wielopotokowe (superskalarne) — zasady działania, hazardy i opóźnienia. | ||
*Kieszenie jako warstwa hierarchii pamięci. Organizacja i zasady działania. Model wydajności. Reakcja na zapis danych. Wielopoziomowe systemy kieszeni. | |||
*Metody redukcji opóźnień w procesorach superpotokowych i superskalarnych. Przewidywanie skoków. Sposoby redukcji opóźnienia danych. | *Metody redukcji opóźnień w procesorach superpotokowych i superskalarnych. Przewidywanie skoków. Sposoby redukcji opóźnienia danych. | ||
*Wymagania wieloprocesowego systemu operacyjnego. Zasady ochrony zasobów komputera. Funkcje systemu zarządzania pamięcią. | *Wymagania wieloprocesowego systemu operacyjnego. Zasady ochrony zasobów komputera. Funkcje systemu zarządzania pamięcią. | ||
*Implementacja zarządzania pamięcią | *Implementacja zarządzania pamięcią — prosta relokacja, segmentacja, stronicowanie. Podstawy realizacji systemu pamięci wirtualnej. Optymalizacja stronicowania. | ||
*Wyjątki | *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. | *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 | *Struktura komputera jednoprocesorowego i jej ewolucja od lat 60 XX w. do współczesności. | ||
=== Literatura === | |||
*D. Patterson, J. Hennessy, ''Computer Organization and design'', Elsevier 2005 | |||
*J. Biernat, ''Arytmetyka komputerów'', Wydawnictwo Naukowe PWN, Warszawa 1996 | |||
*Materiały firmowe - dokumenty techniczne dostępne w sieci WWW - MIPS, Intel, AMD | |||
*Specyfikacje ''Application Binary Interface'' | |||
== Moduły == | |||
* | *[[Architektura Komputerów - Wprowadzenie|Wprowadzenie]] | ||
# [[Architektura Komputerów/Wykład 1: Teoria|Wstęp - trochę teorii]] | |||
# [[Architektura Komputerów/Wykład 2: Dane|Dane]] | |||
# [[Architektura Komputerów/Wykład 3: Synteza modelu programowego|Synteza modelu programowego]] | |||
# [[Architektura Komputerów/Wykład 4: Struktura modelu programowego|Struktura modelu programowego]] | |||
# [[Architektura Komputerów/Wykład 5: Model programowy procesora w podejściu CISC i RISC|Model programowy procesora w podejściu CISC i RISC]] | |||
# [[Architektura Komputerów/Wykład 6: Jednostka wykonawcza procesora|Jednostka wykonawcza procesora]] | |||
# [[Architektura Komputerów/Wykład 7: Działanie potokowej jednostki wykonawczej|Działanie potokowej jednostki wykonawczej]] | |||
# [[Architektura Komputerów/Wykład 8: Procesory wielopotokowe|Procesory wielopotokowe]] | |||
# [[Architektura Komputerów/Wykład 9: Kieszenie jako warstwa hierarchii pamięci|Kieszenie jako warstwa hierarchii pamięci]] | |||
# [[Architektura Komputerów/Wykład 10: Redukcja opóźnień w procesorach superskalarnych i superpotokowych|Redukcja opóźnień w procesorach superskalarnych i superpotokowych]] | |||
# [[Architektura Komputerów/Wykład 11: Ochrona zasobów|Ochrona zasobów]] | |||
# [[Architektura Komputerów/Wykład 12: Zarządzanie pamięcią|Zarządzanie pamięcią]] | |||
# [[Architektura Komputerów/Wykład 13: Wyjątki|Wyjątki]] | |||
# [[Architektura Komputerów/Wykład 14: Wejście-wyjście|Wejście-wyjście]] | |||
# [[Architektura Komputerów/Wykład 15: Struktura komputera|Struktura komputera]] |
Aktualna wersja na dzień 11:02, 13 paź 2006
Forma zajęć
wykład (30 godzin)
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.
Sylabus
Autor
- Grzegorz Mazur — Politechnika Warszawska,
Wymagania wstępne
- Programowanie w języku C
Zawartość
- 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 synchronizacji i opóźnienia w prostym potoku. Superpotok.
- Jednostki wielopotokowe (superskalarne) — zasady działania, hazardy i opóźnienia.
- Kieszenie jako warstwa hierarchii pamięci. Organizacja i zasady działania. Model wydajności. Reakcja na zapis danych. Wielopoziomowe systemy kieszeni.
- Metody redukcji opóźnień w procesorach superpotokowych i superskalarnych. Przewidywanie skoków. Sposoby redukcji opóźnienia danych.
- 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 XX w. do współczesności.
Literatura
- D. Patterson, J. Hennessy, Computer Organization and design, Elsevier 2005
- J. Biernat, Arytmetyka komputerów, Wydawnictwo Naukowe PWN, Warszawa 1996
- Materiały firmowe - dokumenty techniczne dostępne w sieci WWW - MIPS, Intel, AMD
- Specyfikacje Application Binary Interface
Moduły
- Wstęp - trochę teorii
- Dane
- Synteza modelu programowego
- Struktura modelu programowego
- Model programowy procesora w podejściu CISC i RISC
- Jednostka wykonawcza procesora
- Działanie potokowej jednostki wykonawczej
- Procesory wielopotokowe
- Kieszenie jako warstwa hierarchii pamięci
- Redukcja opóźnień w procesorach superskalarnych i superpotokowych
- Ochrona zasobów
- Zarządzanie pamięcią
- Wyjątki
- Wejście-wyjście
- Struktura komputera