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, Jednostka centralna Układy we/wy In/Out Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 systemowa sterująca ROM, In/Out słuŝy do przesyłania pomiędzy komórkami pamięci, rejestrami procesora oraz układami we/wy. 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 (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 1
Pamięć operacyjna 1 2 567 1234 Adres komórki Wartość komórki n Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 Adresowanie pamięci m...321 m-bitów Przestrzeń n-bitów 2 n -1 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 5 Przestrzeń 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 2
Konfiguracje pamięci ROM ROM (Read Only Memory) pamięć tylko do odczytu (Random Access Memory) pamięć o dostępie swobodnym n n ROM S Static Szybka pamięć, ale duŝa i zuŝywająca duŝo energii. (pamięci Cache) D Dynamic 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ęć sterująca ROM, In/Out Pamięć operacyjna Pamięć zawiera dane i rozkazy (programy) określające jak przetwarzać dane przesyła dane z pamięci do w celu ich przetworzenia 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 Jednostka centralna procesor jednostka arytmetyczno-logiczna Blok rejestrów Blok sterujący Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 3
Przykład. Wykonanie pseudokodu - krok 1 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=43 Koniec=94 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 1 Wykonanie pseudokodu: krok 2 2a 2b Pobierz wart. 2d do odejm. Prześlij wynik 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 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Wykonanie pseudokodu: krok 3 3a 3b Pobierz wart. 3d do dziel. Prześlij wynik do pamięci 3c: Oblicz iloraz Kolejna operacja Ustaw Analogiczne kroki Analogiczne operacje na pamięci Sred=.6 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 4
Wykonanie pseudokodu: krok 4 4a Sred=.6 4b Pobierz wartość z pamięci Wyślij wartość na wyjście 4c.6 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 Sred=.6 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 13 Jednostka Arytmetyczno Logiczna Arithmetic Logical Unit () Dane Wynik 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 Procesor Rejestry robocze Rejestr statusowy - SR Wskaźnik stosu SP Licznik programu IP lub PC Blok logiki sterującej Rejestr instrukcji IR lub CIR moŝe wykonać - dodawanie, - odejmowanie - mnoŝenie, - oper. logiczne - transfer Rejestry dostępne dla programisty Blok sterujący decyduje (na podstawie IR), które rejestry uŝyć i jaką operacje wykona na nich Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 5
Rejestry robocze Rejestry wewnętrzne Rejestry robocze słuŝą do przechowywania 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, -nie czy wynik jest ujemny (S - sign): 1-tak, -nie czy wystąpił błąd arytmetyczny (O - overflow): 1-tak, -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 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 6
Ilu bitowy jest procesor? Ilu bitowa magistrala? Ilu bitowe? Ilu bitowe rejestry? Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Symulator komputera - mikroprocesor (laboratorium) 8-bitowa magistrala 8-bitowe operacje arytmetyczne, operacje logiczne, operacje bitowe, przesunięcia bitowe 8-bitowa magistrala AL BL CL DL cztery 8-bitowe rejestry robocze IP licznik programu Architektura oparta na procesorze Intel 8x86 SP SR ISOZ wskaźnik stosu rejestr statusowy bity: I S O Z Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 7