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 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
· Arg : liczba, adres PAO, ozn. rejestru procesora Budowa rozkazu bezargumentowy 1 - argumentowy 2 - argumentowy · Arg : liczba, adres PAO, ozn. rejestru procesora KodOp Arg Arg1 Arg2
Prosty procesor Rejestr Rozkazu RR KodOp R Arg RA + - Rejestr A RB LR WS ARYTMOMETR + - Rejestr A Rejestr B STEROWANIE Licznik Rozkazów Wskaźnik Stosu
pole KodOp : kod ( numer ) rozkazu pole R : wskazuje RA ( 0 ) albo RB ( 1 ) pole Arg : liczba NN albo adres komórki pamięci AP Rejestr Rozkazu KodOp R Arg
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 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 RR SET R NN · realizacja rozkazu SET RA, 45H 1. RR ← PAO ( LR ) 2. LR ← LR + 1 3. dekodowanie KodOP 4. RA ← RR.Arg
· postać binarna rozkazu ADD RB, 5AEH ADD R AP 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 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 +1 85 86 250 251 252 370 371 . LR +1 JMP 370 +1 JMP 85
· wykonanie rozkazu JMP 370 1. RR ← PAO ( LR ) 2. LR ← LR + 1 3. dekodowanie KodOP 4. LR ← RR.Arg · skok warunkowy JZ RA, 3223 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 RB, 109 ; skocz gdy n = 0 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 Arg RA RB bez modyfikacji modyfikacja przez RA 1 1
MOV RB, RA + 500 RA Adres 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 wzrost stosu skracanie stosu 1 WS szczyt stosu 1 wzrost stosu skracanie stosu WS szczyt stosu WS N D szczyt stosu
PUSH R POP R ↓ ↓ PAO ( WS ) ← R WS ← WS + 1 WS ← WS – 1 R ← PAO ( WS ) istnieją inne realizacje
stos – wywoływanie podprogramów CALL Y X X+1 RET Y . 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 2k adresów n = 2k k = log2 n 2k - 1 k-1 0 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 n < < k k = 32 4 GB n = 16 16 kB k-1 RPS k-1 RPS n-1 RAD 2n - 1 k-1 RKS n < < k k = 32 4 GB n = 16 16 kB 2k - 1
+ > przeadresator układowy 1 program 1 segment RPS RAD + k-1 0 RAF k-1 0 > RKS DOBRZE 1 program 1 segment 1 program wiele segmentów BŁĄD
19 16 15 0 NrSeg NrBajtu Adres pierwotny Adres 32 bity 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
realizowana za pomocą pamięci dwupoziomowej : stronicowanie 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
gdy P = 0 system operacyjny sprowadza stronę NrStrony NrBajtu Adres pierwotny Tabela Stron 1 Adres strony P 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 128 B NrW 1 128 B . . NrW 255 128 B 32 kB tak nie
pamięć hierarchiczna Pamięć notatnikowa I rzędu Pamięć operacyjna RAM/ROM dyskowa II rzędu Pamięć operacyjna Pamięć wirtualna
System przerwań IN R, NN ; odczyt znaku z klawiatury Procesor : 1 rozkaz 1 μs * 1000000 = 1 s Człowiek : 1 znak 1 s * 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)
WPISZ ADRES PODPROGRAMU OBSŁUGI PRZERWANIA POBRANIE ROZKAZU POWIĘKSZENIE LR WYKONANIE ROZKAZU NIE TAK ZAPAMIĘTAJ LR PRZERWANIE ? 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 Procesor Adres PAO HOLD HLDA Licznik bajtów ACK READ WRITE UZ PAO WRITE READ READ WRITE
architektura PC CD Monitor HD Procesor RAM ROM P. Notat. Ster. Graf. Ster. Dysk MAGI- STRALA Sterownik Magistrali Sterownik Klawiat. Zegar Analizator Przerwań DMA Sterownik USB CHIPSET
przygotowanie argumentów udoskonalenia podstawowej pętli pracy procesora przetwarzanie potokowe 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 pobieranie rozkazu przygotowanie argumentów wykonanie rozkazu RK3 RK2 RK1
komputery wektorowe i macierzowe . . . RWA RWB A
komputery wieloprocesorowe, wielordzeniowe PAO P1 P2 Pn . . .
Połączenia P1 P2 Pn . . . PAO 1 2 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 NUDT YH MPP, National Supercomputing Center in Tianjin, China, Xeon X5670 6C, 2.93 GHz, NVIDIA 2050, 2.5 PFlop/s, NUDT 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%)
sieć rozległa ARPA od 1957, uruchomienie 1969 Sieci Komputerowe sieć rozległa ARPA od 1957, uruchomienie 1969 ok. 20 komputerów K
Interface Message Processor K IMP
sieci lokalne, lata 70-te SERWER 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
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 | 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 numery portów 150.254.56.12:3422
przełącznik trasujący (router) tablice trasowania (routing)
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)
www.wp.pl www.microsoft.com 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 podstawowe domeny .com .edu .net .gov .org ....... domena główna
IPDNS | URLS IPK | IPS IPS | URLS nazwy stron WWW URL www.news.info/info5-html zamiana URL IP : serwery DNS DNS IPDNS | URLS IPK | IPS IPS | URLS K S 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
modem analogowy 56 kb/s ~ 5 kB/s dostęp do Internetu modem analogowy 56 kb/s ~ 5 kB/s komputer modem l. telef. f [Hz] 500 700 "0" "1"
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
KLIENT SIEĆ f1 f2 f3 f4 f247 N1 N2 O3 N4 N247 O1 O2 N3 O4 O247 f1 f2
łą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 Tłumacz a w b a Sekretarka Mejl WĘGRY BIRMA
struktura warstwowa sieci komputerowej model warstwowy OSI prezentacji sesji transport. sieciowa łącza danych fizyczna aplikacji
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
asynchroniczna transmisja szeregowa łącze szeregowe RS232C asynchroniczna transmisja szeregowa S 0 1 0 1 0 1 1 0 P K
TxD K1 RxD GND RxD 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