Architektura Systemów Komputerowych
Transkrypt
Architektura Systemów Komputerowych
Architektura Systemów Komputerowych Paweł Pełczyński [email protected] 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 Magistrala adresowa Mikroprocesor 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 Przerzutnik ma zdolność pamiętania jednego bitu danych, podstawowej jednostki informacji S R Symbol przerzutnika typu RS Pamięć – uład pamiętający pojedynczą liczbę Rejestr n-bitowy D0 Q0 D1 Q1 D2 Q2 … Dn-1 CLK Qn-1 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 na 1zN R2 … RN-1 Dane Pamięć: odczyt danych z wybranego rejestru RD Adres Dekoder adresów R1 n bitów na 1zN R2 … RN-1 Dane System buforów trójstanowych – elektronicznych łączników R0 Pamięć – kompletny układ RD WR CS Adres R0 Dekoder adresów R1 n bitów na 1zN R2 … 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=2n 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://pl.wikipedia.org źródło: http://www.bryk.pl 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