Architektura Systemów Komputerowych Paweł Pełczyński ppelczynski@swspiz.pl
Program przedmiotu Struktura i zasada działania prostego systemu mikroprocesorowego Operacje wykonywane przez mikroprocesor i tryby adresowania Przerwania, kontroler przerwań, DMA Ważniejsze układy peryferyjne Obsługa pamięci dyskowej Rozwój magistral w komputerach klasy IMB PC Rozwój architektur systemów komputerowych Systemy wieloprocesorowe
Literatura J. Biernat, Architektura komputerów, Wyd. Politechniki Wrocławskiej, 2002 lub 1998. P. Metzger, Anatomia PC, WNT Warszawa 2006. B. S. Chalk, Organizacja i architektura komputerów, WNT Warszawa, 1996.
Czym jest komputer? Wikipedia: "Maszyna posiadająca zdolność wykonywania dowolnego programu jest nazywana uniwersalną maszyna Turinga. Praktyczną realizacją uniwersalnej Maszyny Turinga jest komputer"
Cechy komputera Zdolność przetwarzania danych (wykonywania obliczeń) Programowalność rodzaj wykonywanego zadania wyznacza program, a nie budowa komputera Uniwersalność przeznaczenie komputera nie musi być znane podczas projektowania jego architektury, a jest definiowane przez wykonywany program Sekwencyjny (szeregowy) sposób pracy w danym momencie jest wykonywana tylko jedna instrukcja (Ta zasada jest prawdziwa jedynie dla prostych komputerów, zbudowanych zgodnie z tzw. architekturą Von Neumanna)
Obszary zastosowań komputerów Obliczenia Wspomaganie projektowania (CAD) Sterowanie procesami i urządzeniami Wspomaganie zarządzania Banki (bazy) danych, wyszukiwanie informacji... Grafika Przetwarzanie sygnałów i obrazów Rozrywka: gry, muzyka, filmy itd...
Historia rozwoju komputerów Wraz z powstaniem pasterstwa i rozwojem form wymiany towarów pojawiła się potrzeba liczenia. Dla ułatwienia prowadzenia obliczeń i pamiętania ich wyniku zaczęto stosować różnorodne pomoce, np. kamyki, liczenie na palcach, symbole reprezentujące liczby.
Historia rozwoju komputerów 300 p.n.e. Liczydło (Abakus) ok. 1500 Projekt kalkulatora Leonarda Da Vinci 1623 Wilhelm Schickard buduje pierwszy mechaniczny kalkulator
Historia rozwoju komputerów 1804 Programowalne krosno Jacquarda 1820-40 Charles Babbage konstruuje szereg programowalnych, mechanicznych maszyn liczących
Historia rozwoju komputerów 1854 George Boole opracowuje algebrę stanowiącą formalizację praw logiki 1936 Alan Turing definiuje maszynę zdolną do realizacji dowolnego algorytmu 1945 John von Neumann opracowuje szeregową architekturę komputera Źródło fotografii: http://pl.wikipedia.org
Historia rozwoju komputerów 1948 ENIAC pierwszy komputer elektroniczny (18tys. Lamp elektronowych, 30 ton) Lata 50-te XXw. zastosowanie tranzystorów do budowy komputerów Lata 60-te XXw. zastosowanie układów scalonych
Historia rozwoju komputerów 1971 Pierwszy mikroprocesor: Intel4004 (4-bitowy) 1978 Pierwszy mikroprocesor 16-bitowy: Intel8086 (Zastosowany w pierwszych komputerach IMB PC XT) 1995 ENIAC-on-a-chip, 7,4x5,3mm 2000 PENTIUM IV
Sposoby reprezentacji liczb Systemy reprezentacji używane przez człowieka Źródło: http://www.sciaga.pl
Sposoby reprezentacji liczb Liczby i inne dane w technice cyfrowej (w komputerach) najłatwiej jest reprezentować za pomocą ciągów symboli zero-jedynkowych. Ograniczenie zbioru symboli do dwóch wynika z łatwości realizacji dwóch wartości napięcia na wyjściu układów cyfrowych: - 0 napięcie bliskie potencjałowi masy - 1 napięcie bliskie napięciu zasilania
Struktura prostego systemu mikroprocesorowego Magistrala danych Mikroprocesor Magistrala adresowa Magistrala sterująca Pamięć Układy wejścia, wyjścia (I/O)
Magistrala Zbiór linii (przewodów) elektrycznych realizujących jedną funkcję, np.: dostarczanie adresu komórki do pamięci, danych do mikroprocesora, itp..
Pamięć idea budowy układów pamięciowych Przerzutnik - układ elektroniczny posiadający dwa stany stabilne /Q Q Symbol przerzutnika typu RS Przerzutnik ma zdolność pamiętania jednego bitu danych, podstawowej jednostki informacji S R
Pamięć uład pamiętający pojedynczą liczbę Rejestr n-bitowy D0 Q0 D1 Q1 D2 Q2 Dn-1 Qn-1 CLK
Pamięć - zbiór N rejestrów R0 R1 R2 RN-1
Pamięć: wybór zapisywanego rejestru - adresowanie WR R0 Adres Dekoder adresów R1 n bitów R2 na 1 z N RN-1 Dane
System buforów trójstanowych elektronicznych łączników Pamięć: odczyt danych z wybranego rejestru RD R0 Adres Dekoder adresów n bitów na R1 R2 1 z N RN-1 Dane
Pamięć kompletny układ RD WR CS R0 Adres Dekoder adresów R1 n bitów R2 na 1 z N RN-1 Dane
Organizacja i pojemność pamięci Organizacja pamięci szerokość słowa liczba bitów w pojedynczym rejestrze (adresowanej komórce pamięci), przykłady pamięci: 1-bitowa, 4-bitowa, bajtowa, 16-bitowa, 128-bitowa Pojemność pamięci liczba rejestrów w układzie lub liczba bajtów. N komórek pamięci może być zaadresowane za pomocą słowa n-bitowego (szerokość magistrali adresowej), gdzie: N=2 n
Klasyfikacja pamięci Pamięć o dostępie swobodnym RAM (Random Access Memory): - SRAM, - DRAM, SDRAM, DDR RAM Pamięć tylko do odczytu (Read Only Memory): - ROM, - PROM, - EPROM, - EEPROM, FLASH
Pamięć statyczna RAM (SRAM) Przechowuje informację do kiedy jest zasilana Do zapamiętania jednego bitu danych są potrzebne min. 4 tranzystory Jest stosunkowo droga Komórka pamięci SRAM źródło: http://www.bryk.pl
Pamięć dynamiczna RAM (DRAM) Wymaga cyklicznego odświeżania zawartości Do zapamiętania jednego bitu danych jest potrzebny jedynie jeden tranzystor i kondensator Jest tania Komórka pamięci DRAM Moduł pamięci SDRAM źródło: http://www.bryk.pl źródło: http://pl.wikipedia.org
Pamięci ROM tylko do odczytu w systemie ROM zawartość zapisana w procesie produkcji w postaci maski PROM jednokrotny zapis w specjalnym programatorze EPROM zapis wielokrotny, kasowanie za pomocą promieniowania ultrafioletowego EEPROM możliwość wielokrotnego nadpisywania danych w systemie (kasowanie elektryczne) FLASH podobnie jak EEPROM, ale kasowanie całymi blokami Pamięć EPROM (z oknem kwarcowym) źródło: http://pl.wikipedia.org
Układy wejścia/ wyjścia (I/O) Realizują komunikację mikroprocesora ze światem zewnętrznym Komunikacja odbywa się za pośrednictwem zbioru rejestrów, z którymi procesor wymienia dane podobnie jak z komórkami pamięci