Architektura systemów komputerowych: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Diks (dyskusja | edycje)
Akokno (dyskusja | edycje)
 
(Nie pokazano 26 wersji utworzonych przez 5 użytkowników)
Linia 1: Linia 1:
== Autor sylabusa ==
== Forma zajęć ==


mgr inż. Grzegorz Mazur
wykład (30 godzin)


g.mazur@ii.pw.edu.pl
== Opis ==


== Nazwa zajęć ==
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.


'''Architektura systemów komputerowych'''
== Sylabus ==


=Forma zajęć=
=== Autor ===


wykład (30 godz.)
*Grzegorz Mazur — Politechnika Warszawska,


=Opis=
=== Wymagania wstępne ===


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.
*Programowanie w języku C


=Wymagania wstępne=
=== Zawartość ===
 
*Wprowadzenie — pojęcie komputera, taksonomie architektur komputerowych, pojęcie hierarchii pamięci. Maszyna von Neumanna, architektury Harvard, Princeton, Harvard-Princeton.
Programowanie w języku C
*Dane — typy, reprezentacje, organizacja i adresowanie pamięci. Konwencje Big-Endian i Little-Endian. Wyrównanie naturalne. Dane wektorowe.
 
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.
*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.
*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 snchronizacji i opóźnienia w prostym potoku. Superpotok.
*Struktura potoku. Problemy synchronizacji i opóźnienia w prostym potoku. Superpotok.
*Jednostki wielopotokowe (superskalarne) - zasady działania, hazardy i opóźnienia.
*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.
*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ą.
*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.
*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.
*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-tych XXw do współczesności.
*Struktura komputera jednoprocesorowego i jej ewolucja od lat 60 XX w. do współczesności.
 
=== Literatura ===


=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''


*D. Patterson, J. Hennessy. ''Computer Organizatin and design''. Elsevier 2005.
== Moduły ==
*J. Biernat. ''Arytmetyka komputerów''. PWN, 1996.
*[[Architektura Komputerów - Wprowadzenie|Wprowadzenie]]
*Materiały firmowe - dokumenty techniczne dostępne w sieci www - MIPS, Intel, AMD.
# [[Architektura Komputerów/Wykład 1: Teoria|Wstęp - trochę teorii]]
*Specyfikacje ''Application Binary Interface''.
# [[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

  1. Wstęp - trochę teorii
  2. Dane
  3. Synteza modelu programowego
  4. Struktura modelu programowego
  5. Model programowy procesora w podejściu CISC i RISC
  6. Jednostka wykonawcza procesora
  7. Działanie potokowej jednostki wykonawczej
  8. Procesory wielopotokowe
  9. Kieszenie jako warstwa hierarchii pamięci
  10. Redukcja opóźnień w procesorach superskalarnych i superpotokowych
  11. Ochrona zasobów
  12. Zarządzanie pamięcią
  13. Wyjątki
  14. Wejście-wyjście
  15. Struktura komputera