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