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