MIMINF:Architektura komputerów i sieci: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Janusz (dyskusja | edycje)
Nie podano opisu zmian
 
 
(Nie pokazano 8 wersji utworzonych przez jednego użytkownika)
Linia 1: Linia 1:
== Forma zajęć ==
== Forma zajęć ==
wykład (30 godzin)
wykład (30 godzin)


== Opis ==
== Opis ==
 
Architektura, budowa i zasady działania współczesnych komputerów i sieci
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.
komputerowych.


== Sylabus ==
== Sylabus ==


=== Autor ===
=== Autor ===
* Marcin Peczarski — Uniwersytet Warszawski, Wydział Matematyki, Informatyki i Mechaniki, Instytut Informatyki
=== Wymagania wstępne ===
* Wstęp do programowania
=== Zawartość ===
* Podstawy techniki cyfrowej
** Logika dwuwartościowa, poziomy logiczne, logika dodatnia, logika ujemna
** Podstawowe bramki logiczne: AND, OR, NOT, NAND, NOR, EX-OR, EX-NOR
** Pomocnicze układy cyfrowe: bramka transmisyjna, bufor trójstanowy
** Prawa de Morgana dla bramek
** Układy kombinacyjne
*** Twierdzenie, że każdy układ kombinacyjny można zbudować tylko z bramek NAND lub tylko z bramek NOR
*** Przykłady układów kombinacyjnych: sumator, multiplekser, demultiplekser.
** Układy sekwencyjne
*** Układy asynchroniczne i synchroniczne
*** Przykłady układów sekwencyjnych: przerzutniki, rejestry
** Technologie wytwarzania układów cyfrowych
** Ograniczenia technologiczne: fan-in, fan-out, czas propagacji, margines zakłóceń, rodzaje zależności mocy przełączania od częstotliwości przełączania
** Prawo Moore'a
** Układy wrażliwe na ładunki elektrostatyczne


*Grzegorz Mazur — Politechnika Warszawska,
* Architektura komputera
** Model von Neumanna, architektury typu Harward i Princeton
** Architektury wieloprocesorowe
** Reprezentacja danych: kodowanie liczb całkowitych (U2, U1, moduł-znak itd.), arytmetyka zmiennopozycyjna IEEE-754, ASCII, EBCDIC, UTF-8 itp.
** Porządek bajtów: maszyny little-endian, big-endian, bi-endian
** Co tak naprawdę w informatyce oznaczają przedroski kilo, mega, giga?


=== Wymagania wstępne ===
* Mikroprocesor
** Długość słowa
** Rejestry
** Lista instrukcji
** Tryby adresowania argumentów
** Cykl rozkazowy, cykl procesora, cykl zegara
** Metody zwiększania wydajności
*** Zwiększanie częstotliwości taktowania - problemy z chłodzeniem
*** Przetwarzanie potokowe - rozwiązywanie problemów zależności danych i sterowania
*** Zrównoleglanie wykonania: architektury superskalarna, wektorowa i procesory z bardzo długim słowem instrukcji
** Architektury CISC i RISC - czy to nadal obowiązuje?
** System przerwań
** Sprzętowe wsparcie dla systemów operacyjnych: segmentacja i stronicowanie, poziomy ochrony, instrukcje uprzywilejowane, wyjątki, wywoływanie usług systemu operacyjnego
** Adresowanie urządzeń wejścia-wyjścia, przerwania sprzętowe, transmisja procesorowa PIO, DMA


*Programowanie w języku C
* Pamięci
** Hierarchia pamięci
** Pamięci półprzewodnikowe
*** Pamięci nieulotne: ROM, PROM, EPROM, EEPROM, FLASH
*** Pamięci o dostępie swobodnym RAM: statyczne SRAM, dynamiczne DRAM, dynamiczne asynchroniczne np. EDO-RAM, dynamiczne synchroniczne SDRAM, DDR-RAM, Rambus
*** Pamięci podręczne: skojarzeniowość, algorytmy pracy, problem zgodności pamięci podręcznych w systemach wieloprocesorowych
** Pamięci masowe
*** Dyski magnetyczne, optyczne, magneto-optyczne, dyskietki, roboty taśmowe
*** Macierze RAID, Storage Area Network
*** Interfejsy: SCSI, iSCSI, Serial SCSI, ATA, SATA


=== Zawartość ===
* Magistrale i interfejsy
*Wprowadzenie — pojęcie komputera, taksonomie architektur komputerowych, pojęcie hierarchii pamięci. Maszyna von Neumanna, architektury Harvard, Princeton, Harvard-Princeton.
** Magistrala systemowa, PCI
*Dane — typy, reprezentacje, organizacja i adresowanie pamięci. Konwencje Big-Endian i Little-Endian. Wyrównanie naturalne. Dane wektorowe.
** Interfejsy szeregowe: RS-232, USB, FireWire, iLink, IEEE-1394, Fibre Channel, Blutooth, DVI, HDMI (do wyboru w zależności od pozostałego czasu)
*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 ===
* Przykłady architektur
** x86, IA-32, x86-64, IA-64 itp.
** Cray X1E lub inny typowy RISC
** Procesory do zastosowań specjalnych: graficzne, sygnałowe, mikrokontrolery


*D. Patterson, J. Hennessy, ''Computer Organization and design'', Elsevier 2005
* Sieci komputerowe
*J. Biernat, ''Arytmetyka komputerów'', Wydawnictwo Naukowe PWN, Warszawa 1996
** Sieci lokalne i rozległe
*Materiały firmowe - dokumenty techniczne dostępne w sieci WWW - MIPS, Intel, AMD
*** Model warstwowy - teoria i praktyka
*Specyfikacje ''Application Binary Interface''
*** Model warstwowy Internetu
*** Struktura Internetu: sieci fizyczne, systemy autonomiczne, sieci prywatne
** Organizacje zajmujące się standaryzacją, dokumenty RFC
** Warstwy fizyczna i łącza
*** Transmisja przewodowa i bezprzewodowa
*** Charakterystyki różnych mediów: światłowód wielomodowy i jednomodowy, kabel koncentryczny, skrętka, fale radiowe
*** Ethernet
*** Podstawowe informacje nt. xDSL, WiFi, WiMAX, SDH/SONET
** Warstwy sieciowa i transportowa
*** Adresy IP, maska podsieci, adresowanie klasowe i bezklasowe
*** Podstawowe usługi dostarczania danych w intersieciach: zawodne pakietowe IP i UDP, niezawodna strumieniowa TCP
*** Przyszłość IP - IPv6
** Warstwy wyższe
*** Przegląd podstawowych usług sieciowych i programów (linuksowych): telnet, ssh, ftp, scp, http(s), snmp, pop3, dns (dig), icmp (ping, traceroute), ifconfig


<!--
=== Literatura ===
== Moduły ==
# D.E. Comer, Sieci komputerowe i intersieci, 3. WNT 2003.
*[[Architektura Komputerów - Wprowadzenie|Wprowadzenie]]
# D.E. Comer, D.L. Stevens, Sieci komputerowe TCP/IP, WNT 1998.
# [[Architektura Komputerów/Wykład 1: Teoria|Wstęp - trochę teorii]]
# Ch.E. Spurgeon, Ethernet - podręcznik administratora, Wydawnictwo RM 2000.
# [[Architektura Komputerów/Wykład 2: Dane|Dane]]
# W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2004.
# [[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:03, 11 lis 2006

Forma zajęć

wykład (30 godzin)

Opis

Architektura, budowa i zasady działania współczesnych komputerów i sieci komputerowych.

Sylabus

Autor

  • Marcin Peczarski — Uniwersytet Warszawski, Wydział Matematyki, Informatyki i Mechaniki, Instytut Informatyki

Wymagania wstępne

  • Wstęp do programowania

Zawartość

  • Podstawy techniki cyfrowej
    • Logika dwuwartościowa, poziomy logiczne, logika dodatnia, logika ujemna
    • Podstawowe bramki logiczne: AND, OR, NOT, NAND, NOR, EX-OR, EX-NOR
    • Pomocnicze układy cyfrowe: bramka transmisyjna, bufor trójstanowy
    • Prawa de Morgana dla bramek
    • Układy kombinacyjne
      • Twierdzenie, że każdy układ kombinacyjny można zbudować tylko z bramek NAND lub tylko z bramek NOR
      • Przykłady układów kombinacyjnych: sumator, multiplekser, demultiplekser.
    • Układy sekwencyjne
      • Układy asynchroniczne i synchroniczne
      • Przykłady układów sekwencyjnych: przerzutniki, rejestry
    • Technologie wytwarzania układów cyfrowych
    • Ograniczenia technologiczne: fan-in, fan-out, czas propagacji, margines zakłóceń, rodzaje zależności mocy przełączania od częstotliwości przełączania
    • Prawo Moore'a
    • Układy wrażliwe na ładunki elektrostatyczne
  • Architektura komputera
    • Model von Neumanna, architektury typu Harward i Princeton
    • Architektury wieloprocesorowe
    • Reprezentacja danych: kodowanie liczb całkowitych (U2, U1, moduł-znak itd.), arytmetyka zmiennopozycyjna IEEE-754, ASCII, EBCDIC, UTF-8 itp.
    • Porządek bajtów: maszyny little-endian, big-endian, bi-endian
    • Co tak naprawdę w informatyce oznaczają przedroski kilo, mega, giga?
  • Mikroprocesor
    • Długość słowa
    • Rejestry
    • Lista instrukcji
    • Tryby adresowania argumentów
    • Cykl rozkazowy, cykl procesora, cykl zegara
    • Metody zwiększania wydajności
      • Zwiększanie częstotliwości taktowania - problemy z chłodzeniem
      • Przetwarzanie potokowe - rozwiązywanie problemów zależności danych i sterowania
      • Zrównoleglanie wykonania: architektury superskalarna, wektorowa i procesory z bardzo długim słowem instrukcji
    • Architektury CISC i RISC - czy to nadal obowiązuje?
    • System przerwań
    • Sprzętowe wsparcie dla systemów operacyjnych: segmentacja i stronicowanie, poziomy ochrony, instrukcje uprzywilejowane, wyjątki, wywoływanie usług systemu operacyjnego
    • Adresowanie urządzeń wejścia-wyjścia, przerwania sprzętowe, transmisja procesorowa PIO, DMA
  • Pamięci
    • Hierarchia pamięci
    • Pamięci półprzewodnikowe
      • Pamięci nieulotne: ROM, PROM, EPROM, EEPROM, FLASH
      • Pamięci o dostępie swobodnym RAM: statyczne SRAM, dynamiczne DRAM, dynamiczne asynchroniczne np. EDO-RAM, dynamiczne synchroniczne SDRAM, DDR-RAM, Rambus
      • Pamięci podręczne: skojarzeniowość, algorytmy pracy, problem zgodności pamięci podręcznych w systemach wieloprocesorowych
    • Pamięci masowe
      • Dyski magnetyczne, optyczne, magneto-optyczne, dyskietki, roboty taśmowe
      • Macierze RAID, Storage Area Network
      • Interfejsy: SCSI, iSCSI, Serial SCSI, ATA, SATA
  • Magistrale i interfejsy
    • Magistrala systemowa, PCI
    • Interfejsy szeregowe: RS-232, USB, FireWire, iLink, IEEE-1394, Fibre Channel, Blutooth, DVI, HDMI (do wyboru w zależności od pozostałego czasu)
  • Przykłady architektur
    • x86, IA-32, x86-64, IA-64 itp.
    • Cray X1E lub inny typowy RISC
    • Procesory do zastosowań specjalnych: graficzne, sygnałowe, mikrokontrolery
  • Sieci komputerowe
    • Sieci lokalne i rozległe
      • Model warstwowy - teoria i praktyka
      • Model warstwowy Internetu
      • Struktura Internetu: sieci fizyczne, systemy autonomiczne, sieci prywatne
    • Organizacje zajmujące się standaryzacją, dokumenty RFC
    • Warstwy fizyczna i łącza
      • Transmisja przewodowa i bezprzewodowa
      • Charakterystyki różnych mediów: światłowód wielomodowy i jednomodowy, kabel koncentryczny, skrętka, fale radiowe
      • Ethernet
      • Podstawowe informacje nt. xDSL, WiFi, WiMAX, SDH/SONET
    • Warstwy sieciowa i transportowa
      • Adresy IP, maska podsieci, adresowanie klasowe i bezklasowe
      • Podstawowe usługi dostarczania danych w intersieciach: zawodne pakietowe IP i UDP, niezawodna strumieniowa TCP
      • Przyszłość IP - IPv6
    • Warstwy wyższe
      • Przegląd podstawowych usług sieciowych i programów (linuksowych): telnet, ssh, ftp, scp, http(s), snmp, pop3, dns (dig), icmp (ping, traceroute), ifconfig

Literatura

  1. D.E. Comer, Sieci komputerowe i intersieci, 3. WNT 2003.
  2. D.E. Comer, D.L. Stevens, Sieci komputerowe TCP/IP, WNT 1998.
  3. Ch.E. Spurgeon, Ethernet - podręcznik administratora, Wydawnictwo RM 2000.
  4. W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2004.