Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 1
systemowa danych adresowa sterująca ROM, RAM In/Out danych słuŝy do przesyłania danych pomiędzy komórkami pamięci, rejestrami procesora oraz układami we/wy. 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. sterująca słuŝy do określenia typu operacji ma się wykonać (zapis czy odczyt) oraz kierunku transferu danych (np. do pamięci, pamięć do ) W danym momencie, tylko jedno urządzenie moŝe kontrolować magistrale (Bus Mastering), zwykle jest to. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 3 Pamięć operacyjna 0 1 2 567 1234 danych Adres komórki Wartość komórki adresowa n Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 2
Adresowanie pamięci m...3210 m-bitów 0 Przestrzeń adresowa danych n-bitów 2 n -1 adresowa Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 5 Przestrzeń adresowa 8b = 1B a) 2 16 B = 65535B = 64kB b) 2 32 B = 4 294 967 296 B = 4GB 8b a) 16b b) 32b Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 3
Konfiguracje pamięci 0 ROM 0 ROM (Read Only Memory) pamięć tylko do odczytu RAM RAM (Random Access Memory) pamięć o dostępie swobodnym n RAM n ROM SRAM Static RAM Szybka pamięć, ale duŝa i zuŝywająca duŝo energii. (pamięci Cache) DRAM Dynamic RAM Wolniejsza pamięć, ale mała i zuŝywająca mało energii. (pamięć główna) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 7 i pamięć RAM adresowa danych sterująca ROM, RAM In/Out RAM Pamięć operacyjna Pamięć RAM zawiera dane i rozkazy (programy) określające jak przetwarzać dane danych przesyła dane z pamięci do w celu ich przetworzenia danych przesyła przetworzone dane do pamięci w celu ich późniejszego przetwarzania, wyświetlenia, zapisania itp Jednostka centralna Przetwarza dane Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 4
Jednostka centralna procesor ALU jednostka arytmetyczno-logiczna danych ALU Blok rejestrów adresowa Blok sterujący Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 Przykład. Wykonanie pseudokodu - krok 1 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 1a 1c Prześlij pobrane dane do pamięci 1b Czekaj na dane wej. Rozkaz Pobierz pobiera dane z zewnątrz i zapisuje je do pamięci Pobierz zmienia zawartość pamięci Zmienne algorytmu odnoszą się do konkretnych miejsc w pamięci Litry=36 Start=430 Koniec=940 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 5
Wykonanie pseudokodu: krok 2 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 2b 2d Pobierz wart. Prześlij wynik do odejm. do pamięci 2c: Oblicz róŝnicę Rozkaz Ustaw moŝe zmienić zawartość pamięci Procesor wykonuje operacje matematyczne Procesor pobiera dane z pamięci na których operuje Procesor przesyła wynik do pamięci Dystans=650 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Wykonanie pseudokodu: krok 3 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 Dystans=650 3d Prześlij wynik do pamięci 3b Pobierz wart. do dziel. 3c: Oblicz iloraz Kolejna operacja Ustaw Analogiczne kroki Analogiczne operacje na pamięci Dystans=650 Sred=0.06 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 6
Wykonanie pseudokodu: krok 4 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 4a Dystans=650 Sred=0.06 4b Pobierz wartość z pamięci Wyślij wartość na wyjście 4c 0.06 Wartość, która ma być wydrukowana znajduje się w pamięci Procesor wysyła Ŝądanie wysłania zawartości pamięci do urządzenia wyjściowego Dystans=650 Sred=0.06 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 13 Jednostka Arytmetyczno Logiczna Arithmetic Logical Unit (ALU) Dane RAM Wynik ALU Rejestr 1 Rejestr 2 4 3 Układ Sterujący A Dodawanie + 7 Akumulator Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 7
Procesor danych adresowa ALU Rejestry robocze Rejestr statusowy - SR Wskaźnik stosu SP Licznik programu IP lub PC Blok logiki sterującej Rejestr instrukcji IR lub CIR ALU moŝe wykonać - dodawanie, - odejmowanie - mnoŝenie, - oper. logiczne - transfer danych Rejestry dostępne dla programisty Blok sterujący decyduje (na podstawie IR), które rejestry uŝyć i jaką operacje wykona na nich ALU Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 Rejestry robocze Rejestry wewnętrzne 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 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. Licznik programu - IP 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. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 8
Układy peryferyjne systemowa procesora Sterowniki magistral ISA, PCI, SCSI, PCMCIA, AGP Sterowniki pamięci masowych FDD, HDD... portów we/wy COM, LPT, USB, etc. Współczesne systemy komputerowe charakteryzują się ogromnym zróŝnicowaniem układów peryferyjnych, sposobów współpracy z pamięciami, etc. 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 <cbolek@ki.uni.lodz.pl> 17 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 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. 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 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 9
Ilu bitowy jest procesor? Ilu bitowa magistrala danych? Ilu bitowe ALU? danych ALU Ilu bitowe rejestry? adresowa Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Symulator komputera - mikroprocesor (laboratorium) 8-bitowa magistrala danych 8-bitowe ALU operacje arytmetyczne, operacje logiczne, operacje bitowe, przesunięcia bitowe 8-bitowa magistrala adresowa AL BL CL DL cztery 8-bitowe rejestry robocze IP licznik programu Architektura oparta na procesorze Intel 80x86 SP SR ISOZ wskaźnik stosu rejestr statusowy bity: I S O Z Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 10