PROGRAMOWANIE WIZUALNE

advertisement
ARCHITEKTURA KOMPUTERÓW
 definicja komputera
PAMIĘĆ
OPERACYJNA
PROCESOR
URZĄDZENIA
ZEWNĘTRZNE
1
PAMIĘĆ OPERACYJNA (PAO)
 bezpośrednio dostępna dla procesora
 zestaw ponumerowanych komórek do
przechowywania danych binarnych
m
0
1
0
. . . .
. . . .
.
.
.
.
n
. . . .
2
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 rozkazów
 lista rozkazów ( charakteryzuje procesor )
 lokalizacja programu : PAO ( von Neumann 1946 )
3
 podstawowy cykl pracy procesora
POBIERZ ROZKAZ
Z PAMIĘCI OPERACYJNEJ
WYKONAJ ROZKAZ
4
 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
5
Budowa rozkazu
bezargumentowy
KodOp

KodOp
Arg
KodOp
Arg1
1 - argumentowy
Arg2
2 - argumentowy
Arg : liczba, adres PAO, ozn. rejestru procesora
6
Prosty procesor
Rejestr Rozkazu
KodOp
R
Arg
RR
ARYTMOMETR
Rejestr A
+ -
RA
Rejestr B
RB
Licznik Rozkazów
LR
STEROWANIE
Wskaźnik stosu
WS
 pole R
: wskazuje RA ( 0 ) albo RB ( 1 )
 pole Arg : liczba NN albo
adres komórki pamięci AP
7
 lista rozkazów, mnemoniczne kody rozkazów
rozkazy przesyłania danych
SET
R, NN
:
R ← NN
MOV
R, AP
:
R ← PAO(AP)
MOV
AP, R
:
PAO(AP) ← R
rozkazy arytmetyczne
ADD
R, AP
:
R ← R + PAO(AP)
SUB
R, AP
:
R ← R – PAO(AP)
INC
R
:
R←R+1
DEC
R
:
R←R–1
JMP
AP
:
LR ← AP
JZ
R, AP
:
jeżeli R = 0, LR ← AP
rozkazy skoków
rozkazy wprowadzania-wyprowadzania danych
IN
R, NN
:
R ← wejście_NN
OUT
NN, R
:
wyjście_NN ← R
8
 postać binarna rozkazu SET RA, 45H
SET
1001
R
0
NN
0000100 0101
RR
 realizacja rozkazu SET RA, 45H
1. RR ← PAO ( LR )
2. LR ← LR + 1
3. dekodowanie KodOP
4. RA ← RR.Arg
9
 postać binarna rozkazu ADD RB, 5AEH
ADD
1100
R
1
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
10
zmiana sekwencji rozkazów
 skok bezwarunkowy JMP
85
86
+1
.
.
.
LR
←←
+1
+1
+1
JMP 370
250
251
252
JMP 85
370
371
11
 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
12
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
13
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
14
 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
15
stos – zapis / odczyt
0
1
wzrost
stosu
skracanie
stosu
szczyt stosu
WS
szczyt stosu
PUSH R
↓
WS
N
D
D
POP R
↓
PAO ( WS ) ← R
WS ← WS + 1
WS ← WS – 1
R ← PAO ( WS )
 istnieją inne realizacje
16
stos – wywoływanie podprogramów
X
CALL Y
X+1
Y
.
.
.
RET
WS
WS
X+1
17
CALL AP
RET
↓
↓
PAO ( WS ) ← LR
WS ← WS + 1
WS ← WS – 1
LR ← PAO ( WS )
LR ← AP
18
ADRESACJA PAMIĘCI
 adres
k bitów
n = 2k
2k adresów
k = log2n
 RAM, ROM, PROM, EPROM, EEPROM, flash ROM
 czas zapisu / odczytu : od 10 ns
 pojemność (PC) : od 1 GB
0
k-1
0
2k - 1
1 MB
k = 20
4 GB
k = 32
19
 segmentacja pamięci
0
k-1
0
RPS
0
n-1
0
RAD
k-1
2n - 1
0
RKS
2k - 1
n<k
k = 32
4 GB
n = 16
16 kB
20
k-1
0
n-1
0
RPS
RAD
+
k-1
0
RAF
k-1
0
>
RKS
DOBRZE
BŁĄD
 przeadresator układowy
 różne warianty
 1 program
1 segment
 1 program
wiele segmentów
21
19
16 15
0
NrSeg
NrBajtu
adres pierwotny
Tabela Segmentów
0
Adres 32 bity
Długość 32 bity
15
błąd
31
0
Adres fizyczny
program : do 16 segmentów po 64 kB  1 MB
22
 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
.
.
.
.
.
.
23
NrStrony
NrBajtu
adres pierwotny
Tabela Stron
0
Adres strony
P
1
adres fizyczny
– gdy P = 0 system operacyjny sprowadza stronę
– 80  90 % trafień
24
 pamięć notatnikowa ( cache )
Procesor  2 GHZ  0,5 ns
 100 ns
RAM
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
25
 pamięć hierarchiczna
Pamięć
notatnikowa
I rzędu
Pamięć
notatnikowa
II rzędu
Pamięć
operacyjna
Pamięć
RAM/ROM
Pamięć
wirtualna
Pamięć
dyskowa
26
 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)
27
 procesor wykonuje inne rozkazy do czasu otrzymania
sygnału gotowości urządzenia :
sygnał przerwania
 adres składowania stanu procesora
 zawsze taki sam
 stos systemu operacyjnego
 stos programu użytkowego 
 adres podprogramu obsługi przerwania
 zawsze taki sam
 obliczany na postawie numeru przerwania
(wektoryzacja) 
 na końcu podprogramu obsługi przerwania rozkaz
powrotu do przerwanego programu (RETI)
28
POBRANIE
ROZKAZU
POWIĘKSZENIE
LR
WYKONANIE
ROZKAZU
TAK
NIE
PRZERWANIE ?
ZAPAMIĘTAJ
LR
DO LR
WPISZ ADRES
PODPROGRAMU
OBSŁUGI
PRZERWANIA
29
 realizacja procesora
– RISC : dla każdego rozkazu
zestaw układów cyfrowych
– CISC : wewnętrzny mikroprocesor,
rozkaz  mikroprogram
30
 kanały danych ( DMA )
DMA
INTR
Adres PAO
Licznik bajtów
HOLD
HLDA
Procesor
READ WRITE
ACK
WRITE
READ
READ
WRITE
PAO
UZ
31
 architektura PC
MAGISTRALA
Pamięć
RAM
Procesor
Pamięć
ROM
Sterownik
magistrali
Pamięć
notatnikowa
Sterownik
klawiatury
Sterownik
graficzny
Monitor
ekranowy
Sterownik
dysków
HD
Zegar
Analizator
przerwań
C
H
I
P
S
E
T
DMA
Sterownik
transmisji
szeregowej
HD
D
CD
32
 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
33
 komputery wektorowe i macierzowe
. . .
A
A
. . .
. . .
RWA
A
RWB
34
 komputery wieloprocesorowe, wielordzeniowe
PAO
P1
P2
. . .
Pn
35
Połączenia
P1
P2
PAO
1
PAO
2
. . .
. . .
Pn
PAO
n
36

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.
37
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%)
38
Sieci Komputerowe
 sieć rozległa ARPA od 1957, uruchomienie 1969
K
K
K
 Interface Message Processor
K
IMP
K
IMP
K
IMP
 ok. 20 komputerów
39
 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
DANE UŻYTKOWE
adres IP odbiorcy
40
 adresy IP : 32 bity (4 bajty)
0.0.0.0
ponad 4,2 mld
adresów
255 . 255 . 255 . 255
 grupy adresów nr_sieci | nr_komputera
1  126 |
– A:
ok. 17 mln komputerów
126 sieci
128  191 |
– B:
ok. 65 tys. komputerów
ok. 16 tys. sieci
192  223 |
– C:
254 komputery
ok. 2 mln sieci
 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
41
 przełącznik trasujący (router)
tablice trasowania (routing)
R
R
R
R
R
R
S
S
K
K
....
....
K
S
K
K
K
....
 numery portów 150.254.56.12:3422
42
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ą i udostępniają
strony (pliki)
– terminale WWW  sprowadzają i wyświetlają
strony (pliki)
43
 oprogramowanie
– serwer WWW  Apache, IIS
– przeglądarka WWW  Internet Explorer, Chrome
Netscape, Mozilla, Opera, Firefox
 nazwy serwerów WWW  URL
www.wp.pl
www.microsoft.com
kraj
rodzaj
domena
główna
 podstawowe domeny
.com
.edu .net
.gov
.org .......
44
 nazwy stron WWW  URL
www.onet.pl/news/info-5.htm
 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
45
 dostęp do Internetu
– modem analogowy 56 kb/s  ~ 5 kB/s
komputer
modem
modem
komputer
l. telef.
"0"
500
"1"
f [Hz]
700
– 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
46
Asymmetric Digital Subscriber Line
SIEĆ
KLIENT
f1
N1
O1
f1
f2
N2
O2
f2
f3
O3
N3
f3
f4
N4
O4
f4
f247
N247
O247
f247
 częstotliwości ortogonalne
47
– łą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
48
Sieć naukowa PIONIER (10 GB/s)
49
 struktura warstwowa sieci komputerowej
– model warstwowy
Prezes
Prezes
Tłumacz
a  w
Tłumacz
b  a
Sekretarka
Sekretarka
Mejl
Mejl
Węgry
Birma
50
– model OSI : warstwy
aplikacji
aplikacji
prezentacji
prezentacji
aplikacji
sesji
aplikacji
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
51
 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
52
łącze szeregowe RS232C
– asynchroniczna transmisja szeregowa
S
K1
0
1
0
1
0
1
1
0 P K
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
53
łącze PS2
– klawiatura i myszka
6-pin Mini-DIN (PS/2):
1 - Data
2 - Nothing
3 - Ground
4 - Vcc (+5V)
5 - Clock
6 - Nothing
54
port USB
– szybkie łącze szeregowe
– "1"  D+ != D-
; "0"  D+ == D-
– USB 1.0  12 Mb/s ; USB 2.0  480 Mb/s
55
łącze ThunderBolt
– bardzo szybkie łącze szeregowe
10 Gbit/s
– kabel miedziany do 100 m
100 Gbit/s
– kabel światłowodowy
56
Download
Random flashcards
Create flashcards