Wstęp do informatyki - Katedra Informatyki > Home
Transkrypt
Wstęp do informatyki - Katedra Informatyki > Home
System komputerowy Magistrala systemowa (System Bus) Wstęp do informatyki Architektura komputera Cezary Bolek [email protected] Uniwersytet Łódzki Pamięć operacyjna ROM, RAM Wydział Zarządzania Jednostka centralna CPU Układy we/wy In/Out Katedra Informatyki Wstęp do informatyki Cezary Bolek <[email protected]> Magistrala systemowa ROM, RAM CPU Pamięć operacyjna Magistrala danych 0 Magistrala adresowa 1 Magistrala sterująca 2 In/Out Magistrala danych 567 Magistrala danych – słuŜy do przesyłania danych pomiędzy komórkami pamięci, rejestrami procesora oraz układami we/wy. Wartość komórki Magistrala sterująca – słuŜy do określenia typu operacji ma się wykonać (zapis czy odczyt) oraz kierunku transferu danych (np. CPU do pamięci, pamięć do CPU) W danym momencie, tylko jedno urządzenie moŜe kontrolować magistrale (Bus Mastering), zwykle jest to CPU. Cezary Bolek <[email protected]> 1234 Adres komórki Magistrala adresowa – słuŜy do przesyłania adresów komórek pamięci (lub układów we/wy), które biorą udział w operacji odczytu lub zapisu. Wstęp do informatyki 2 Magistrala adresowa n 3 Wstęp do informatyki Cezary Bolek <[email protected]> 4 1 Adresowanie pamięci m...........3210 Przestrzeń adresowa m-bitów 8b = 1B Przestrzeń adresowa 0 Magistrala danych 8b a) 216 B = 65535B = 64kB b) 232 B = 4 294 967 296 B = 4GB a) 16b b) 32b n-bitów Magistrala adresowa 2n-1 Wstęp do informatyki Cezary Bolek <[email protected]> 5 Wstęp do informatyki Konfiguracje pamięci 0 0 RAM Magistrala danych Magistrala adresowa Magistrala sterująca ROM, RAM RAM (Random Access Memory) pamięć o dostępie swobodnym RAM Pamięć operacyjna RAM ROM n Wstęp do informatyki n 6 CPU i pamięć RAM ROM (Read Only Memory) pamięć tylko do odczytu ROM Cezary Bolek <[email protected]> SRAM DRAM Static RAM Szybka pamięć, ale duŜa i zuŜywająca duŜo energii. (pamięci Cache) Dynamic RAM Wolniejsza pamięć, ale mała i zuŜywająca mało energii. (pamięć główna) Cezary Bolek <[email protected]> Wstęp do informatyki In/Out Magistrala danych przesyła dane z pamięci do CPU w celu ich przetworzenia Magistrala danych przesyła przetworzone dane do pamięci w celu ich późniejszego przetwarzania, wyświetlenia, zapisania itp Pamięć RAM zawiera dane i rozkazy (programy) określające jak przetwarzać dane 7 CPU CPU Jednostka centralna CPU Przetwarza dane Cezary Bolek <[email protected]> 8 2 Jednostka centralna – procesor Przykład. Wykonanie pseudokodu - krok 1 1a ALU – jednostka arytmetyczno-logiczna Magistrala danych 1. Pobierz wartości dla Litry (zuŜyte paliwo), Start (początkowy stan licznika) i Koniec (końcowy stan licznika) 2. Ustaw wartość dla Dystans (przejechany PAMIĘĆ dystans) na (Koniec - Start) 3. Ustaw wartość dla Sred (średnie zuŜycie paliwa) na (Litry / Dystans) 4. Wydrukuj wartość: Sred 1c Prześlij pobrane dane do pamięci 5. Stop ALU Blok rejestrów • Rozkaz Pobierz pobiera dane z zewnątrz i zapisuje je do pamięci Blok sterujący Wstęp do informatyki • Zmienne algorytmu odnoszą się do konkretnych miejsc w pamięci Cezary Bolek <[email protected]> 9 Wykonanie pseudokodu: krok 2 Wstęp do informatyki I/O CPU Cezary Bolek <[email protected]> 10 3a 1. Pobierz wartości dla Litry (zuŜyte paliwo), Start (początkowy stan licznika) i Koniec (końcowy stan licznika) 2. Ustaw wartość dla Dystans (przejechany dystans) na (Koniec - Start) 3. Ustaw wartość dla Sred (średnie zuŜycie paliwa) na (Litry / Dystans) 4. Wydrukuj wartość: Sred 5. Stop Ć Ę PAMI Litry=39 Start=330 Koniec=980 2d Prześlij wynik do pamięci Ć Ę Wykonanie pseudokodu: krok 3 2a 1. Pobierz wartości dla Litry (zuŜyte paliwo), Start (początkowy stan licznika) i Koniec (końcowy stan licznika) 2. Ustaw wartość dla Dystans (przejechany dystans) na (Koniec - Start) 3. Ustaw wartość dla Sred (średnie zuŜycie paliwa) na (Litry / Dystans) 4. Wydrukuj wartość: Sred 5. Stop Litry=36 Start=430 Koniec=940 PAMI • Pobierz zmienia zawartość pamięci 1b Czekaj na dane wej. CPU 2b Pobierz wart. do odejm. I/O 2c: Oblicz róŜnicę Ć Ę Litry=39 Start=330 Koniec=980 Dystans=650 PAMI Magistrala adresowa I/O CPU 3d Prześlij wynik do pamięci CPU 3b Pobierz wart. do dziel. I/O 3c: Oblicz iloraz • Rozkaz Ustaw moŜe zmienić zawartość pamięci • Kolejna operacja Ustaw Ć Ę CPU • Analogiczne kroki I/O • Analogiczne operacje na pamięci • Procesor przesyła wynik do pamięci Wstęp do informatyki Cezary Bolek <[email protected]> 11 Wstęp do informatyki Litry=39 Start=330 Koniec=980 Dystans=650 Sred=0.06 Ć Ę PAMI • Procesor pobiera dane z pamięci na których operuje Litry=39 Start=330 Koniec=980 Dystans=650 PAMI • Procesor wykonuje operacje matematyczne CPU I/O Cezary Bolek <[email protected]> 12 3 Jednostka Arytmetyczno Logiczna Arithmetic Logical Unit (ALU) Wykonanie pseudokodu: krok 4 Wyślij wartość na wyjście 4c 4a 1. Pobierz wartości dla Litry (zuŜyte paliwo), Start (początkowy stan licznika) i Koniec (końcowy stan licznika) 2. Ustaw wartość dla Dystans (przejechany dystans) na (Koniec - Start) 3. Ustaw wartość dla Sred (średnie zuŜycie paliwa) na (Litry / Dystans) 4. Wydrukuj wartość: Sred 5. Stop Dane Wynik RAM Ć Ę PAMI Litry=39 Start=330 Koniec=980 Dystans=650 Sred=0.06 I/O CPU 0.06 ALU 4b Pobierz wartość z pamięci Rejestr 1 Rejestr 2 4 3 A Litry=39 Start=330 Koniec=980 Dystans=650 Sred=0.06 • Procesor wysyła Ŝądanie wysłania zawartości pamięci do urządzenia wyjściowego Wstęp do informatyki Ć Ę PAMI • Wartość, która ma być wydrukowana znajduje się w pamięci Układ Sterujący 7 Akumulator CPU I/O Cezary Bolek <[email protected]> 13 Wstęp do informatyki Procesor Cezary Bolek <[email protected]> 14 Rejestry wewnętrzne Rejestry robocze ALU moŜe wykonać - dodawanie, - odejmowanie - mnoŜenie, - oper. logiczne - transfer danych ALU Magistrala danych + Dodawanie Rejestry robocze słuŜą do przechowywania danych i wyników obliczeń zanim zostaną zapisane w pamięci. Najstarsze procesory posiadały jeden taki rejestr, zwany Akumulatorem. Współczesne procesory mają nawet do kilkudziesięciu takich rejestrów. Rejestr statusowy - SR Rejestry robocze Rejestr statusowy przechowuje informację o bieŜącym stanie procesora. Poszczególne bity rejestru informują o wyniku ostatniej wykonanej instrukcji np.: czy wynik jest zerowy (Z - zero): 1-tak, 0-nie czy wynik jest ujemny (S - sign): 1-tak, 0-nie czy wystąpił błąd arytmetyczny (O - overflow): 1-tak, 0-nie i inne, w zaleŜności o rodzaju procesora. Rejestry dostępne dla programisty Rejestr statusowy - SR Wskaźnik stosu – SP Licznik programu – IP lub PC Licznik programu - IP Magistrala adresowa Wstęp do informatyki Blok logiki sterującej Rejestr instrukcji – IR lub CIR Blok sterujący decyduje (na podstawie IR), które rejestry uŜyć i jaką operacje wykona na nich ALU Cezary Bolek <[email protected]> Licznik programu zawiera wartość adresu instrukcji, która jako następna ma być pobrana z pamięci i wykonana. Podczas normalnego wykonywania programu, licznik jest zwiększany po pobraniu nowej instrukcji. Realizacja skoku w programie, polega na wpisaniu do PC wartości nowego adresu. 15 Wstęp do informatyki Cezary Bolek <[email protected]> 16 4 Układy peryferyjne Magistrala systemowa procesora Architektura von Neumanna Komputer składa się: • się z jednostki sterującej • jednostki arytmetyczno logicznej • rejestrów: roboczych, IP, SR (i innych) • bloku pamięci operacyjnej • urządzeń we/wy Sterowniki pamięci masowych FDD, HDD... portów we/wy COM, LPT, USB, etc. Sterowniki magistral ISA, PCI, SCSI, PCMCIA, AGP Pamięć operacyjna przechowuje rozkazy (program) i dane programu. Jednostka centralna pobiera rozkazy z pamięci, interpretuje ich znaczenie i wykonuje odpowiednie operacje na rejestrze akumulatora i rejestrach buforowych umoŜliwiając zapis i odczyt komórek pamięci. Współczesne systemy komputerowe charakteryzują się ogromnym zróŜnicowaniem układów peryferyjnych, sposobów współpracy z pamięciami, etc. Podstawowy zbiór instrukcji musi umoŜliwiać: 1. przesyłanie wartości pomiędzy komórkami pamięci a rejestrami procesora 2. operacje arytmetyczno-logiczne na rejestrach procesora 3. rozgałęzienia programu: bezwarunkowe i warunkowe Magistrala systemowa procesora (z wyjątkiem najprostszych systemów) nie jest dostępna bezpośrednio dla pamięci i urządzeń zewnętrznych. Do magistrali tej podłączone są zwykle sterowniki magistral standardowych (ISA, PCI, AGP), które ułatwiają podłączanie innych układów peryferyjnych, niezaleŜnie od typu procesora. Wstęp do informatyki Cezary Bolek <[email protected]> 17 8-bitowa magistrala danych Ilu bitowe ALU ? 8-bitowa magistrala adresowa ALU Ilu bitowe rejestry ? Magistrala adresowa Architektura oparta na procesorze Intel 80x86 Cezary Bolek <[email protected]> 18 (laboratorium) Ilu bitowa magistrala danych ? Wstęp do informatyki Cezary Bolek <[email protected]> Symulator komputera - mikroprocesor Ilu bitowy jest procesor? Magistrala danych Wstęp do informatyki 19 Wstęp do informatyki 8-bitowe ALU operacje arytmetyczne, operacje logiczne, operacje bitowe, przesunięcia bitowe AL BL CL DL cztery 8-bitowe rejestry robocze IP licznik programu SP wskaźnik stosu SR ISOZ rejestr statusowy bity: I S O Z Cezary Bolek <[email protected]> 20 5