arhitektura racunara

Download ARHITEKTURA RAcUNARA

Post on 07-Jul-2015

1.156 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

ARHITEKTURA RAUNARA (pregled principa i evolucije)

Miroslav Hajdukovi

ELEKTRONSKO IZDANJE VERZIJA 2 NOVI SAD, 2004.

PREDGOVORCilj ove knjige je da stvori funkcionalno zaokruenu sliku o radu raunara. Zbog toga je akcenat stavljen na pregled celine, a ne na razradu detalja. Knjiga se, zato, zaustavlja na logikom niovu i ne uputa se u razmatranje digitalnih sklopova, prisutnih ispod tog nivoa. Za izlaganje, po autorovom miljenju, sutinskih principa funkcionisanja raunara, koristi se hipotetski raunar KONCEPT. Njegov razvoj je voen idejom da se na to jednostavniji nain podri izvravanje programa, izraenih procedurnim programskim jezicima. Izlaganje kree od funkcionalnog opisa procesora, nastavlja se opisom njegovog korienja na asemblerskom nivou i zavrava se izlaganjem osnova funkcionisanja ostalih delova hipotetskog raunara KONCEPT. Da italac ove knjige ne bi ostao samo na poznavanju principa funkcionisanja hipotetskog raunara, izloena je i evolucija elektronskih raunara, sa posebnim osvrtom na karakteristike raunara u pojedinim evolucionim fazama i na faktore koji su usmeravali ovu evoluciju. Posebna panja je posveena raunarima koji su izvrili znaajan uticaj na trite i ija upotreba nije bila ograniena samo na pojedina podruja primene. Autor se zahvaljuje svom saradniku arku ivanovu za uloeni napor prilikom izrade crtea, za paljivo itanje rukopisa i ukazivanje na mnotvo greaka, kao i za sugestije koje su pomogle da se rukopis pobolja. Verzija 2 ove knjiga je nastala ispravljanjem greaka koje su uoene u tekstu njene prve verzije, kao i pojanjavanjem i proirenjem delova ovog teksta koji su bili nedovoljno razumljivi studentima.

SADRAJ 1. UVOD 1.1 POJAM ARHITEKTURE RAUNARA 1.2 MODEL RAUNARA OSOBINE PROCEDURNIH PROGRAMSKIH JEZIKA PRIMER OPTEG OPISA OBRADE PODATAKA MEMORIJA PROCESOR ADRESIRANJE SKUP NAREDBI ASEMBLER I KOMPAJLER 1.3 FIZIKA OSNOVA MODELA RAUNARA 1.4 PITANJA BROJNI SISTEMI I PREDSTAVE BROJEVA 2.1 ARITMETIKA OGRANIENOG BROJA CIFARA 2.2 PREDSTAVLJANJE REALNIH BROJEVA 2.3 BINARNI BROJNI SISTEM 2.4 ARITMETIKA OGRANIENOG BROJA CIFARA U BINARNOM BROJNOM SISTEMU 2.5 PREDSTAVLJANJE VREDNOSTI REALNOG I ZNAKOVNOG TIPA U BINARNOM BROJNOM SISTEMU 2.6 PITANJA ASEMBLERSKO PROGRAMIRANJE 3.1 NIVOI PROGRAMIRANJA 3.2 ARHITEKTURA NAREDBI PROCESORA KONCEPT 3.3 ASEMBLERSKI JEZIK KONCEPT 3.4 PRIMERI ASEMBLERSKIH PROGRAMA RAUNANJE NAJVEEG ZAJEDNIKOG DELIOCA IZLAZAK VAN OPSEGA KOD NEOZNAENIH CELIH BROJEVA IZLAZAK VAN OPSEGA KOD OZNAENIH CELIH BROJEVA RUKOVANJE MAINSKOM NORMALIZOVANOM FORMOM RUKOVANJE LOGIKIM VREDNOSTIMA RAUNANJE VREDNOSTI CELOBROJNOG IZRAZA RUKOVANJE NIZOVIMA RUKOVANJE SLOGOVIMA TUMAENJE NAINA ADRESIRANJA ZA UPRAVLJAKE NAREDBE 3.5 POTPROGRAM 3.6 MAKRO 3.7 STEK 3.8 PITANJA 1 1 1 1 2 2 3 3 4 4 5 8 9 9 13 14 17 23 26 27 27 28 35 38 38 39 40 40 41 41 42 43 44 44 48 55 60

2.

3.

4.

MEMORIJA I PROCESOR RAUNARA KONCEPT 4.1 ORGANIZACIJA MEMORIJE RAUNARA KONCEPT 4.2 KODIRANJE I MAINSKI FORMATI NAREDBI PROCESORA KONCEPT 4.3 ORGANIZACIJA PROCESORA KONCEPT 4.4 UPRAVLJANJE PROCESOROM KONCEPT MIKRO-POTPROGRAMI POJEDINIH OPERANADA MIKRO-PROGRAMI IZVRAVANJA INICIJALNI MIKRO-PROGRAM 4.5 UPRAVLJAKA JEDINICA PROCESORA KONCEPT 4.6 UPRAVLJANJE PREKIDAIMA IZ UPRAVLJAKE JEDINICE PROCESORA KONCEPT 4.7 UPRAVLJANJE PREKIDAIMA IZVAN UPRAVLJAKE JEDINICE PROCESORA KONCEPT 4.8 MAINSKI OBLICI MIKRO-PROGRAMA 4.9 MAINSKI OBLICI MIKRO-POTPROGRAMA 4.10 SADRAJI ADRESNIH MEMORIJA MIKRO-PROGRAMA I MIKRO-POTPROGRAMA 4.11 RAZMATRANJE RADA PROCESORA KONCEPT 4.12 PITANJA 5. RAUNAR KONCEPT 5.1 ORGANIZACIJA RAUNARA KONCEPT 5.2 ULAZNI I IZLAZNI UREAJI RAUNARA KONCEPT KOMANDNI JEZIK TASTATURA EKRAN RAUNAR KONCEPT SA ZNAKOVNIM ULAZOM I IZLAZOM ZNAKOVNA INTERAKCIJA KORISNIKA I RAUNARA MONITOR 5.3 VRSTE MEMORIJE 5.4 OPERATIVNI SISTEM 5.5 PREKLJUIVANJE 5.6 PREKID 5.7 SABIRNICA 5.8 VIEKORISNIKI RAD 5.9 PITANJA 6. SISTEMSKI PROGRAMI 6.1 EDITOR 6.2 ASEMBLER 6.3 MAKRO PRETPROCESOR 6.4 LINKER 6.5 LOUDER 6.6 DIBAGER 6.7 PITANJA

61 61 64 69 73 74 77 80 81 85 89 91 94 97 98 99 101 101 103 103 104 105 107 108 111 112 117 121 124 131 135 140 143 143 144 148 150 158 158 159

7.

8.

ARHITEKTURA RAUNARA 7.1 PRECIZIRANJE POJMA ARHITEKTURE RAUNARA 7.1 POKRETAI RAZVOJA ARHITEKTURE RAUNARA 7.2 PITANJA EVOLUCIJA ARHITEKTURE RAUNARA 8.1 EVOLUCIONI PERIODI 8.2 PERIOD OKO 1950. GODINE 8.3 PERIOD OKO 1960. GODINE 8.4 PERIOD OKO 1970. GODINE ARHITEKTURA NAREDBI ZA IBM SYSTEM/360 ARHITEKTURA NAREDBI ZA DEC PDP11 OSOBINE MAGNETNOG DISKA ORGANIZACIJA SABIRNICE ORGANIZACIJA ASOCIJATIVNE MEMORIJE SKRIVENA MEMORIJA VIRTUELNA MEMORIJA MEMORIJSKA HIJERARHIJA PROBLEM SINHRONIZACIJE 8.5 PERIOD OKO 1980 GODINE ARHITEKTURA NAREDBI ZA DEC VAX11/780 ARHITEKTURA NAREDBI ZA INTEL 8086 SEGMENTNA ORGANIZACIJA RADNE MEMORIJE ARHITEKTURA NAREDBI ZA INTEL 80386 PRINCIP RADA MIA OSOBINE GRAFIKIH TERMINALA PRINCIPI RADA LOKALNIH MREA VIEPROCESORSKI RAUNARI SA ZAJEDNIKOM SABIRNICOM 8.6 PERIOD OKO 1990. GODINE RISC PROCESORI IEEE 754 STANDARD ZA ARITMETIKU REALNIH BROJEVA ARHITEKTURA NAREDBI ZA MIPS INTEL PENTIUM PRO PROCESOR EVOLUCIJA MASOVNE MEMORIJE UTICAJ RISC PROCESORA NA VIRTUELNU MEMORIJU SPOJNE MREE BARIJERNA SINHRONIZACIJA 8.7 PERIOD OKO 2000. GODINE UGRAENI RAUNARI RADNE STANICE SERVERI PARALELIZAM UNUTAR PROCESORA ARHITEKTURA NAREDBI ZA INTEL ITANIUM 8.8 PITANJA

161 161 162 163 164 164 164 167 172 188 189 192 192 196 198 200 203 204 205 216 217 219 221 223 224 225 226 228 239 243 244 245 245 246 247 255 256 256 256 257 259 260 261

9.

PROCENA OSOBINA RAUNARA 9.1 NAIN PROCENE OSOBINA RAUNARA 9.2 PITANJA LITERATURA

266 266 268 269

Miroslav Hajdukovi - Arhitektura raunara (pregled principa i evolucije)

1

1. UVOD1.1 POJAM ARHITEKTURE RAUNARAArhitektura raunara (computer architecture) se bavi problemima upotrebe i pravljenja raunara. Posmatrano sa stanovita arhitekture raunara, upotreba raunara se svodi na njegovo programiranje, jer je namena raunara da izvrava programe. Rezultati programiranja zavise od osobina skupa naredbi raunara. Ovim osobinama se bavi arhitektura naredbi (instruction set architecture). Cilj pravljenja raunara je ostvarenje ili implementacija (implementation) njegove arhitekture naredbi. Implementacija arhitekture naredbi obuhvata organizaciju (organization) i izvedbu (hardware) raunara. Organizacija raunara se bavi organizacionim komponentama koje obrazuju raunar, njihovom namenom i funkcijom, kao i meusobnim odnosima ovih komponenti. Izvedba raunara se bavi problemima proizvodnje pomenutih komponenti. Pojam arhitekture raunara obuhvata i arhitekturu naredbi i njenu implementaciju. Izmeu arhitekture naredbi i njene implementacije postoji meuzavisnost, jer implementacija odraava i ograniava arhitekturu naredbi.

1.2 MODEL RAUNARANa arhitekturu naredbi utiu programski jezici koji se koriste za programiranje raunara. Za trino prihvaene raunare je karakteristino da su prilagoeni procedurnim (imperativnim) programskim jezicima. Njihov tipian predstavnik je programski jezik C. OSOBINE PROCEDURNIH PROGRAMSKIH JEZIKA Procedurni programski jezici omoguuju opisivanje obrada podataka koji pripadaju celom, realnom, znakovnom ili logikom skupu. Ovi skupovi se nazivaju i prosti tipovi, jer se njihove vrednosti ne mogu ralanjivati na prostije sastojke. Prosti tipovi se nazivaju i osnovni tipovi (fundamental types), jer predstavljaju osnovu za opisivanje svih obrada podataka. Za opisivanje obrada podataka koriste se operacije procedurnih programskih jezika koje omoguuju rukovanje vrednostima prostih tipova. U ovakve operacije spadaju aritmetike, relacione i logike operacije. Optost opisima obrada podataka daju promenljive. Svaku promenljivu karakteriu njeno ime, tip i vrednost. Promenljivoj se dodeljuje vrednost njenog tipa posredstvom operacije dodele. Za optost opisa obrada podataka su vane i upravljake operacije. Zahvaljujui njima redosled obavljanja operacija nije samo sekvencijalni, nego i alternativni i repetitivni.

2

Miroslav Hajdukovi - Arhitektura raunara (pregled principa i evolucije)

Promenljive, vrednosti prostih tipova i operacije (upravljake i one za rukovanje promenljivim i vrednostima prostih tipova) predstavljaju osnovne elemente procedurnih programskih jezika PRIMER OPTEG OPISA OBRADE PODATAKA Kao primer opteg opisa obrade podataka moe da poslui nalaenje najveeg zajednikog delioca (NZD) neoznaenih brojeva a i b, za koje vai: a = nNZD b = mNZD Za odreivanje najveeg zajednikog delioca neoznaenih brojeva a i b potrebno je koeficijente n i m svesti na 1. To se moe postii ponavljanjem oduzimanja: |a-b| = |n-m|NZD tako da se, nakon svakog oduzimanja, promenljivoj sa veom vrednou dodeli razlika. Precizan postupak nalaenja najveeg zajednikog delioca opisuje sekvenca programa, izraena programskim jezikom C:unsigned int a = 12; unsigned int b = 10; while (a!=b) if (a>b) a = a-b; else b = b-a;

Po izvravanju prethodne sekvence vai: a = b = NZD = 2 (radi jednostavnosti, optost prethodne sekvence je ograniena na odreivanje najveeg zajednikog delioca neoznaenih brojeva 12 i 10). MEMORIJA Prirodno je da model raunara, namenjen za izvravanje programa koji su izraeni procedurnim programskim jezicima, podri sva tri bitna elementa ovih jezika. Za podrku promenljivim, potrebna je memorija (memory), sastavljena od niza lokacija. Lokacije omoguuju predstavljanje promenljivih prostih tipova, ako mogu da sadre vrednosti prostih tipova (koje se dodeljuju ovim promenljivim). Svaka lokacija poseduje jednoznanu (numeriku) adresu (brojevi 0, 1, 2, ...), po kojoj se razlikuje od drugih lokacija. Pored adrese, lokacija moe da poseduje i posebnu oznaku ili labelu (label). Kada postoji, labela se koristi umesto adrese. Labela odgovara imenu promenljive koju predstavlja labelirana lokacija. Za lokacije je vana osobina univerzalnosti, koja podrazumeva da svaka lokacija moe da sadri vrednost bilo kog prostog tipa i adresu.