1 LR ← PAO

advertisement
ARCHITEKTURA KOMPUTERÓW

definicja komputera
PAMIĘĆ
OPERACYJNA
PROCESOR
URZĄDZENIA
ZEWNĘTRZNE
PAMIĘĆ OPERACYJNA (PAO)
 bezpośrednio dostępna dla procesora
 zestaw ponumerowanych komórek
do przechowywania ciągów binarnych
m
0
1
0
. . . .
.
.
.
.
n
. . . .
PROCESOR

procesor : układ, który samoczynnie
realizuje program

program : ciąg poleceń,
które może wykonywać procesor

polecenie → rozkaz, zapisany jako ciąg binarny

program → sekwencja (ciąg) rozkazów

lista rozkazów ( charakteryzuje procesor )

lokalizacja programu : PAO ( von Neumann 1946 )

podstawowy cykl pracy procesora
POBIERZ ROZKAZ
Z PAMIĘCI OPERACYJNEJ
WYKONAJ ROZKAZ

wskazanie rozkazu do wykonania :
licznik rozkazów, wskaźnik rozkazu ( rejestr )
POBIERZ ROZKAZ
Z PAMIĘCI OPERACYJNEJ
WSKAZANY PRZEZ
LICZNIK ROZKAZÓW
ZMIEŃ ZAWARTOŚĆ
LICZNIKA ROZKAZÓW
WYKONAJ ROZKAZ

LR ← LR + 1
LR ← LR + N
Budowa rozkazu
bezargumentowy
KodOp

KodOp
Arg
KodOp
Arg1
1 - argumentowy
Arg2
2 - argumentowy
Arg : liczba, adres PAO, ozn. rejestru procesora
Prosty procesor
Rejestr Rozkazu
KodOp
R
Arg
RR
ARYTMOMETR
Rejestr A
RA
+
-
Rejestr B
RB
Licznik Rozkazów
LR
Wskaźnik Stosu
WS
STEROWANIE
Rejestr Rozkazu
KodOp
R
Arg
• pole KodOp : kod ( numer ) rozkazu
• pole R
: wskazuje RA ( 0 ) albo RB ( 1 )
• pole Arg
: liczba NN albo
adres komórki pamięci AP
Lista rozkazów, mnemoniczne kody rozkazów
rozkazy przesyłania danych
SET
R, NN
MOV R, AP
MOV AP, R
rozkazy arytmetyczne
ADD R, AP
SUB R, AP
INC
R
DEC R
rozkazy skoków
JMP AP
JZ
R, AP
rozkazy wprowadzania - wyprowadzania danych
IN
R, NN
OUT NN, R


postać binarna rozkazu
SET RA, 45H
SET
R
NN
1001
0
0000100 0101
realizacja rozkazu
RR
SET RA, 45H
1. RR ← PAO ( LR )
2. LR ← LR + 1
3. dekodowanie KodOP
4. RA ← RR.Arg

postać binarna rozkazu
ADD
1100

R
1
ADD RB, 5AEH
AP
10110101110
RR
realizacja rozkazu ADD RB, 5AEH
1. RR ← PAO ( LR )
2. LR ← LR + 1
3. dekodowanie KodOP
4. RT ← PAO ( RR.Arg )
5. Arytmometr ← RB, RT, PLUS
6. RB ← Arytmometr
zmiana sekwencji rozkazów

skok bezwarunkowy JMP
85
86
+1
.
.
.
LR
+1
+1
+1
JMP
JMP
370
250
251
252
85
370
371

wykonanie rozkazu JMP 370
1. RR ← PAO ( LR )
2. LR ← LR + 1
3. dekodowanie KodOP
4. LR ← RR.Arg

skok warunkowy JZ RA, 3223
1. RR ← PAO ( LR )
2. LR ← LR + 1
3. dekodowanie KodOP
4. jeżeli RA == 0 to LR ← RR.Arg
prosty program
S = Σ ai
1≤i ≤n
n, a1, a2, ... , an
100 : SET RA, 0
; zeruj sumę S
101 : MOV 200, RA
; zapamiętaj S
102 : IN
RB, 1
; czytaj n
103 : IN
RA, 1
; czytaj a
104 : ADD RA, 200
; a + S
105 : MOV 200, RA
; zapamiętaj S
106 : DEC RB
; n – 1
107 : JZ
; skocz gdy n = 0
RB, 109
108 : JMP 103
; skocz gdy n ≠ 0
109 : OUT 2, RA
; wyprowadź wynik
modyfikacja argumentu rozkazu
 adresowanie bezwzględne :
adres PAO = argument
 adresowanie względne :
adres PAO = argument + zawartość rejestru
 dodatkowe pole w rozkazie
KodOP R M
RA
RB
Arg
0
0
1
1
bez modyfikacji
modyfikacja przez RA
MOV RB, RA + 500
RA
Adres
0
500
1
501
2
502
150
650
151
651
3265
3765
 zerowanie obszaru pamięci o długości
2038 bajtów począwszy od adresu 1033
300 : SET
RB, 2038
; długość
301 : MOV
150, RB
; pamiętaj
302 : MOV
RA, 0
; modyfikator
303 : MOV
RB, 0
; wartość
304 : MOV
RA + 1033, RB ; zeruj
305 : INC
RA
; modyfikator+1
306 : MOV
RB, 150
; odczytaj
307 : DEC
RB
; długość-1
308 : MOV
150, RB
; pamiętaj
309 : JZ
RB, 311
; gdy koniec
310 : JMP
303
; powrót
311 :
; koniec
•
stos – zapis / odczyt
0
1
wzrost
stosu
skracanie
stosu
szczyt stosu
WS
szczyt stosu
N
D
D
WS
PUSH R
POP R
↓
↓
PAO ( WS ) ← R
WS ← WS + 1
WS ← WS – 1
R ← PAO ( WS )
 istnieją inne realizacje
•
stos – wywoływanie podprogramów
X
X+1
CALL Y
Y
.
.
.
RET
WS
WS
X+1
CALL AP
↓
RET
↓
PAO ( WS ) ← LR
WS ← WS + 1
WS ← WS – 1
LR ← PAO ( WS )
LR ← AP
ADRESACJA PAMIĘCI
adres
k bitów

n = 2k
2k adresów
k = log2 n
0
k-1
0
2k - 1
1 MB
 k = 20
4 GB

k = 32
 RAM, ROM, PROM, EPROM, EEPROM, flash ROM
 czas zapisu / odczytu : od 10 ns
 pojemność (PC) : od 1GB
•
segmentacja pamięci
0
k-1
0
RPS
0
n-1
0
RAD
k-1
2n - 1
0
RKS
n<<k
k = 32  4 GB
n = 16  16 kB
2k - 1
•
przeadresator układowy
k-1
0
n-1
0
RPS
RAD
+
k-1
0
RAF
k-1
RKS
0
>
DOBRZE
1 program 
BŁĄD
1 segment
1 program  wiele
segmentów
19
16 15
0
NrSeg
NrBajtu
Adres 32 bity
Adres pierwotny
Długość 32 bity
błąd
31
0
Adres fizyczny
• pamięć wirtualna
Czas dostępu
Pojemność
Pamięć RAM
100 ns
2 GB
Pamięć dyskowa
10 ms
500 GB
100 000 x
250 x
pamięć wirtualna:
● z punktu widzenia programu pamięć adresowana
liniowo o dużej pojemności ( np. 40GB )
● realizowana za pomocą pamięci dwupoziomowej :
stronicowanie
PAO
PZ
4kB
4kB
4kB
4kB
4kB
4kB
.
.
.
.
.
.
NrStrony
NrBajtu
Adres pierwotny
Tabela Stron
0
Adres strony
P
1
• gdy P = 0
system operacyjny
sprowadza stronę
• 80  90 % trafień
Adres fizyczny
 pamięć notatnikowa ( cache )
Procesor  2 GHZ  0,5 ns
RAM
 100 ns
200 x
• szybka pamięć pomiędzy procesorem a RAM (10 ns)
Adres fizyczny RAM
NrWiersza
NrBajtu
Pamięć Asocjacyjna
Pamięć Danych
NrW
0
128 B
NrW
1
128 B
.
.
.
NrW
.
.
.
128 B
255
32 kB
tak
nie
● pamięć hierarchiczna
Pamięć
notatnikowa
I rzędu
Pamięć
notatnikowa
II rzędu
Pamięć
RAM/ROM
Pamięć
wirtualna
Pamięć
dyskowa
Pamięć
operacyjna
 System przerwań
IN R, NN
; odczyt znaku z klawiatury
Procesor : 1 rozkaz
1 μs * 1000000 = 1 s
Człowiek : 1 znak
1s
* 1000000 = 1000000 s
(ok. 12 dni)
 procesor wykonuje inne rozkazy do czasu otrzymania
sygnału gotowości urządzenia :
sygnał przerwania
reakcja na sygnał przerwania


składowanie stanu procesora

zawsze w tym samym miejscu

stos systemu operacyjnego

stos programu użytkowego 
ustalenie adresu podprogramu obsługi przerwania

adres zawsze taki sam

adres obliczany na postawie numeru przerwania
(wektoryzacja) 

wykonanie programu obsługi przerwania

na końcu podprogramu obsługi przerwania rozkaz
powrotu do przerwanego programu (RETI)
POBRANIE
ROZKAZU
POWIĘKSZENIE
LR
WYKONANIE
ROZKAZU
TAK
NIE
PRZERWANIE ?
ZAPAMIĘTAJ
LR
DO LR
WPISZ ADRES
PODPROGRAMU
OBSŁUGI
PRZERWANIA
 realizacja procesora
– RISC : dla każdego rozkazu
zestaw układów cyfrowych
– CISC : wewnętrzny mikroprocesor,
rozkaz  mikroprogram
• kanały danych ( DMA )
DMA
INTR
Adres PAO
Licznik bajtów
HOLD
HLDA
Procesor
READ WRITE
ACK
WRITE
READ
READ
WRITE
PAO
UZ
• architektura PC
Procesor
RAM
CD
ROM
P. Notat.
Monitor
HD
Ster. Graf.
Ster. Dysk
MAGISTRALA
Sterownik
Sterownik
Magistrali
Klawiat.
Zegar
Analizator
Przerwań
CHIPSET
DMA
Sterownik
USB
 udoskonalenia podstawowej pętli pracy procesora
– przetwarzanie potokowe
pobieranie
rozkazu
przygotowanie
argumentów
RK3
RK2
wykonanie
rozkazu
RK1
– kilka arytmometrów ( stało i zmiennopozycyjnych )
– wykonanie kilku rozkazów równocześnie
ADD RA, 5
ADD RA, 25
ADD RB, 27
MOV 100, RA
– predykcja skoków
• komputery wektorowe i macierzowe
. . .
A
A
. . .
. . .
RWA
A
RWB
• komputery wieloprocesorowe, wielordzeniowe
PAO
P1
P2
. . .
Pn
Połączenia
P1
P2
PAO
1
PAO
2
. . .
. . .
Pn
PAO
n
•
superkomputery
www.top500.org
(11.2011)
1. K computer, RIKEN Advanced Institute for
Computational Science (AICS), Japan, SPARC64
VIIIfx 2.0GHz, Tofu interconnect, 10.5 PFlop/s,
Fujitsu
2. NUDT YH MPP, National Supercomputing Center
in Tianjin, China, Xeon X5670 6C,
2.93 GHz, NVIDIA 2050, 2.5 PFlop/s, NUDT
3. Cray XT5-HE, DOE/SC/Oak Ridge National Laboratory,
United States, Opteron 6-core, 2.6 GHz, 2.3 PFlop/s,
Cray Inc.
ad 1.
– SPARC64 VIIIfx, 2.0GHz, 8 rdzeni, 45 nm CMOS
– 88128 procesorów, 705024 rdzeni
– 864 obudowy, w obudowie:
102 procesory SPARC,
6 procesorów I/O,
– dla każdego procesora SPARC 16GB PAO,
razem 1,4 PB
– pobór mocy elektrycznej 12.7 MW
– układ połączeń : 6-wymiarowy torus
– system operacyjny : Linux
– moc obliczeniowa 10.5 PFlop/s
(sprawność 93,2%)
Sieci Komputerowe
K
K
K
• sieć rozległa ARPA od 1957, uruchomienie 1969
• ok. 20 komputerów
• Interface Message Processor
IMP
K
K
IMP
IMP
K
• sieci lokalne, lata 70-te
SERWER
K
K
K
K

Internet (1983) : globalna sieć komputerowa powstała
z połączenia wielu sieci lokalnych
za pomocą sieci rozległych (szkieletowych)
 wspólna metoda przesyłania danych :
protokół TCP/IP
 rozproszona struktura własności
 Komisja Standaryzacyjna
 Komisja Przydzielająca Adresy
•
Protokół IP : ramki danych , adresy IP
NAGŁÓWEK
adres IP odbiorcy
DANE UŻYTKOWE
 adresy IP : 32 bity (4 bajty)
0.0.0.0
255 . 255 . 255 . 255
ponad
4,2
mld
adres
ów

grupy adresów nr_sieci | nr_komputera
– A:
1  126 |
ok. 17 mln komputerów
126 sieci
– B:
128  191 |
ok. 65 tys. komputerów
ok. 16 tys. sieci
– C:
192  223 |
ok. 2 mln sieci
254 komputery
 adres sieci  Komisja
 adres komputera  administrator sieci :
ustawić w systemie operacyjnym
 sieci prywatne 192.168.x.x
 dynamiczny przydział adresu IP : DHCP
 IPv4 
IPv6 : adres 128 bitów
 numery portów 150.254.56.12:3422
•
przełącznik trasujący (router)
tablice trasowania (routing)
R
R
R
R
R
R
R
K
K
K
K
K
K
Usługi Internetu
 przesyłanie plików : ftp  ftp.man.poznan.pl
 poczta elektroniczna
 zdalna praca : telnet, putty, ssh
 strony WWW
WWW

Timothy B. Lee, CERN, 1991
– plik powitanie/info
– automatyczne sprowadzanie/wyświetlanie
– stała nazwa : index.html
– strona WWW  plik danych
 podział na
– serwery
WWW
 przechowują
strony (pliki)
i
udostępniają
– terminale WWW  sprowadzają i wyświetlają
strony (pliki)
 oprogramowanie
– serwer WWW  Apache, IIS
– przeglądarka WWW  Internet Explorer, Chrome
Netscape, Mozilla, Opera, Firefox
 nazwy serwerów WWW 
www.wp.pl
URL
www.microsoft.com
domena
kraj
rodzaj
podstawowe domeny
.com
.edu .net
.gov
.org .......
główna
 nazwy stron WWW  URL
www.news.info/info5-html
 zamiana URL  IP : serwery DNS
DNS
IPDNS | URLS
IPK | IPS
IPS | URLS
S
K
IPK | plik

rezerwacja domen
–
Polska  NASK, ...
domena regionalna
.poznan.pl : 50 zł/rok
domena funkcjonalna
.com.pl
: 150 zł/rok
domena ogólnopolska .onet.pl
: 200 zł/rok
– USA  BetterWhois.com  lista firm, $20/rok
• dostęp do Internetu
– modem analogowy 56 kb/s  ~ 5 kB/s
komputer
modem
modem
komputer
l. telef.
"0"
500
"1"
700
f [Hz]
– modem cyfrowy ADSL  wiele kanałów
częstotliwościowych
– max 6144 kb/s  ~600 kB/s
ok. 4 km
– Neostrada 1024/256 , ... , 4096/1024kb/s
– częstotliwości ortogonalne
f1
f2
f3
f4
f247
KLIENT
N1
N2
O3
N4
N247
O1
f1
O2
f2
N3
f3
O4
f4
O247
f247
SIEĆ
– łącze kablowe
skrętka
do 1Gb/s
światłowód do 10 Gb/s
–
łącza radiowe
Bluetooth 1 Mb/s
2.4 GHz 10 m
WiFi 802.11b 11 Mb/s 2.4 Ghz 30 m Hot Spot
GSM :
GPRS ok. 50 kbit/s,
EDGE do 240 kbit/s
UMTS do 14,4 Mbit/s.
LTE do 300 Mbit/s
Sieć naukowa PIONIER (10 GB/s)
•
struktura warstwowa sieci komputerowej
–
model warstwowy
Prezes
Prezes
Tłumacz
a  w
Tłumacz
b  a
Sekretarka
Sekretarka
Mejl
Mejl
WĘGRY
BIRMA
•
struktura warstwowa sieci komputerowej
– model warstwowy OSI
aplikacji
aplikacji
prezentacji
prezentacji
sesji
sesji
transport.
transport.
sieciowa
sieciowa
łącza
danych
łącza
danych
fizyczna
fizyczna
–
fizyczna : transmisja bitów
–
łącza danych : ramki, poprawność, potwierdzenia
retransmisje
–
sieciowa : trasa transmisji ramki
–
transportowa : podział danych na bloki,
przesył w odpowiedniej kolejności, szyfrowanie
–
sesji : sterowanie dialogiem partnerów
–
prezentacji : definicja formatu danych
i ich transformacja dla aplikacji
– aplikacji : dostęp do sieci dla aplikacji partnerów
 transmisja danych do/z urządzeń zewnętrznych
łącze równoległe
–
25-pin, DATA[ 8 ] , STROBE/, ACK/ , BUSY
– "1"  +5V , "0"  0V
–
prędkość dla trybu Centronics ok. 50 - 150 kB/s
–
ECP, EPP prędkość 0.5 - 115 MB/s
łącze szeregowe RS232C
–
asynchroniczna transmisja szeregowa
S
0
1
0
1
0
1
1
0
P
K
K1
TxD
TxD
RxD
RxD
GND
GND
K2
–
"1"  -3 ÷ -25V , "0"  +3 ÷ +25V
–
prędkości 150, 300, 600, 1200, 2400, 4800
9600, 19200, 38400, 115200 b/s
łącze PS2
– klawiatura i myszka
6-pin Mini-DIN (PS/2):
1 – Data
2 - Nothing
3 - Ground
4 - Vcc (+5V)
5 - Clock
6 - Nothing
port USB
–
szybkie łącze szeregowe
– "1"  D+ != D-
–
; "0"  D+ == D-
USB 1.0  12 Mb/s ; USB 2.0  480 Mb/s
łącze ThunderBolt
–
bardzo szybkie łącze szeregowe
10 Gbit/s – kabel miedziany do 100 m
100 Gbit/s – kabel światłowodowy
Download