Magistrala systemowa (System Bus)
Transkrypt
Magistrala systemowa (System Bus)
tƐƚħƉĚŽ/ŶĨŽƌŵĂƚLJŬŝ ƌĐŚŝƚĞŬƚƵƌĂŬŽŵƉƵƚĞƌĂ Cezary Bolek [email protected] Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki ^LJƐƚĞŵŬŽŵƉƵƚĞƌŽǁLJ Magistrala systemowa (System Bus) Pamięć operacyjna ROM, RAM Wstęp do Informatyki Jednostka centralna CPU [email protected] Układy we/wy In/Out 2 1 DĂŐŝƐƚƌĂůĂƐLJƐƚĞŵŽǁĂ Magistrala danych Magistrala adresowa Magistrala sterująca ROM, RAM CPU In/Out Magistrala danych – słuŜy do przesyłania danych pomiędzy komórkami pamięci, rejestrami procesora oraz układami we/wy. 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. 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. Wstęp do Informatyki 3 [email protected] WĂŵŝħđ ŽƉĞƌĂĐLJũŶĂ 0 1 2 Magistrala danych 567 1234 Adres komórki Wartość komórki Magistrala adresowa n Wstęp do Informatyki [email protected] 4 2 ĚƌĞƐŽǁĂŶŝĞƉĂŵŝħĐŝ m...........3210 m-bitów Przestrzeń adresowa 0 Magistrala danych n-bitów Magistrala adresowa 2n-1 Wstęp do Informatyki 5 [email protected] WƌnjĞƐƚƌnjĞŷ ĂĚƌĞƐŽǁĂ 8b = 1B a) 216 B = 65535B = 64kB b) 232 B = 4 294 967 296 B = 4GB Wstęp do Informatyki [email protected] 8b a) 16b b) 32b 6 3 <ŽŶĨŝŐƵƌĂĐũĞƉĂŵŝħĐŝ 0 0 ROM (Read Only Memory) pamięć tylko do odczytu ROM RAM (Random Access Memory) pamięć o dostępie swobodnym RAM RAM ROM n n Wstęp do Informatyki 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) 7 [email protected] WhŝƉĂŵŝħđ ZD Magistrala danych Magistrala adresowa Magistrala sterująca ROM, RAM RAM Pamięć operacyjna CPU 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 Wstęp do Informatyki CPU Jednostka centralna CPU Przetwarza dane [email protected] 8 4 :ĞĚŶŽƐƚŬĂĐĞŶƚƌĂůŶĂʹ ƉƌŽĐĞƐŽƌ ALU – jednostka arytmetyczno-logiczna Magistrala danych ALU Blok rejestrów Magistrala adresowa Wstęp do Informatyki Blok sterujący 9 [email protected] WƌnjLJŬųĂĚ͘tLJŬŽŶĂŶŝĞƉƐĞƵĚŽŬŽĚƵ Ͳ ŬƌŽŬ ϭ 1a 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 CPU I/O 1b Czekaj na dane wej. • Pobierz zmienia zawartość pamięci • Zmienne algorytmu odnoszą się do konkretnych miejsc w pamięci Wstęp do Informatyki Litry=36 Start=430 Koniec=940 [email protected] PAMIĘĆ • Rozkaz Pobierz pobiera dane z zewnątrz i zapisuje je do pamięci CPU I/O 10 5 tLJŬŽŶĂŶŝĞƉƐĞƵĚŽŬŽĚƵ͗ŬƌŽŬ Ϯ 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=39 Start=330 Koniec=980 PAMIĘĆ 2a CPU 2b 2d Pobierz wart. do odejm. Prześlij wynik do pamięci I/O 2c: Oblicz róŜnicę • Rozkaz Ustaw moŜe zmienić zawartość pamięci PAMIĘĆ • Procesor wykonuje operacje matematyczne Litry=39 Start=330 Koniec=980 Dystans=650 • Procesor pobiera dane z pamięci na których operuje CPU I/O • Procesor przesyła wynik do pamięci Wstęp do Informatyki 11 [email protected] tLJŬŽŶĂŶŝĞƉƐĞƵĚŽŬŽĚƵ͗ŬƌŽŬ ϯ • Kolejna operacja Ustaw • Analogiczne kroki • Analogiczne operacje na pamięci Wstęp do Informatyki Litry=39 Start=330 Koniec=980 Dystans=650 3d Prześlij wynik do pamięci Litry=39 Start=330 Koniec=980 Dystans=650 Sred=0.06 [email protected] CPU 3b Pobierz wart. do dziel. PAMIĘĆ 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ĘĆ 3a I/O 3c: Oblicz iloraz CPU I/O 12 6 tLJŬŽŶĂŶŝĞƉƐĞƵĚŽŬŽĚƵ͗ŬƌŽŬ ϰ Wyślij wartość na wyjście 4c 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=39 Start=330 Koniec=980 Dystans=650 Sred=0.06 I/O CPU 0.06 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 PAMIĘĆ 4b Pobierz wartość z pamięci • Wartość, która ma być wydrukowana znajduje się w pamięci Wstęp do Informatyki PAMIĘĆ 4a CPU I/O 13 [email protected] :ĞĚŶŽƐƚŬĂƌLJƚŵĞƚLJĐnjŶŽ>ŽŐŝĐnjŶĂ ƌŝƚŚŵĞƚŝĐ>ŽŐŝĐĂůhŶŝƚ ;>hͿ Dane Wynik RAM ALU Rejestr 1 Rejestr 2 4 3 A Układ Sterujący + Dodawanie 7 Akumulator Wstęp do Informatyki [email protected] 14 7 WƌŽĐĞƐŽƌ ALU Magistrala danych ALU moŜe wykonać - dodawanie, - odejmowanie - mnoŜenie, - oper. logiczne - transfer danych Rejestry robocze Rejestr statusowy - SR Rejestry dostępne dla programisty Wskaźnik stosu – SP Licznik programu – IP lub PC 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 [email protected] 15 ZĞũĞƐƚƌLJǁĞǁŶħƚƌnjŶĞ Rejestry robocze 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 [email protected] 16 8 hŬųĂĚLJƉĞƌLJĨĞƌLJũŶĞ Magistrala systemowa procesora Sterowniki pamięci masowych FDD, HDD... portów we/wy COM, LPT, USB, etc. Sterowniki magistral ISA, PCI, SCSI, PCMCIA, AGP Współczesne systemy komputerowe charakteryzują się ogromnym zróŜnicowaniem układów peryferyjnych, sposobów współpracy z pamięciami, etc. 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 [email protected] 17 ƌĐŚŝƚĞŬƚƵƌĂǀŽŶEĞƵŵĂŶŶĂ 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 [email protected] 18 9 /ůƵďŝƚŽǁLJũĞƐƚƉƌŽĐĞƐŽƌ͍ Ilu bitowe ALU ? Ilu bitowa magistrala danych ? Magistrala danych ALU Ilu bitowe rejestry ? Magistrala adresowa Wstęp do Informatyki 19 [email protected] ^LJŵƵůĂƚŽƌŬŽŵƉƵƚĞƌĂ Ͳ ŵŝŬƌŽƉƌŽĐĞƐŽƌ ;ůĂďŽƌĂƚŽƌŝƵŵͿ 8-bitowa magistrala danych 8-bitowa magistrala adresowa Architektura oparta na procesorze Intel 80x86 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 [email protected] rejestr statusowy bity: I S O Z 20 10