389

Click here to load reader

Arhitektura i Organizacija računara

Embed Size (px)

Citation preview

  • Jos jcdtu izuzetnJ knjigJ profcsorJl\mcnbauma. RJcUtLlr se posmatra bo hijerarhip u koJOJ st JU -;v.1kon1 nivou obJvljJ neka dohro dctlnts,ln~l funkLij,l. Det:tljno su r:1zn1otreni nivoi digita1nc logikc. nukroarhitekture, arhitcktun: skup.1 instrukcija, oper.1tivnog srsktnJ i J.')t'tnblcrskog Jl'Zlk,L Dat je pregkd I'ltonje arhitekttu-e r.t(uu,\ra. s poscbnin1 u~vrtorn ru Sirok spcktJr cLlnaSnjih raL:u-IULl. Kroz celu knjigu \ll k:to priJJH?ri kori;Ccni S,lvrcnll'Ili proceson- Pentiutn 4 i Ultr.tSPAIZ.C Ill, Lw i Intel ~IJ51, kuj1 nijc nov, .1h jt inoko rJsprmtr.111JC11 zbog niske Ltl1e i obiljll''oOrlllLl .')(II')~ 1 {\lie-!

    Predavaci mogu da traze nastavni materijal od izdavaca, na adresi www.prenhall.com/tanenbaum

    /\ndrt'\\' s.-Lilll'llluu11l jl' prufL''olH LH."ll\Llr.'.Lih \LtllLllU UnJ\"l'rLitctll \"riJC ll Alll~(t'rd.t!llll, ~dl Vc..'l~ J(l gollin.t prcd.tje pr'-dlllL"tc 17 nbLt'>Li oq.::;.lllLLlLIJC r:ll:utLtra, opcrJtlvnlh "istL'lll,l i 111rc~'.l

    N.1ptc.,~u1 je 1 _:) hL''itSt'kLl knj1 .'>ll tl'iVO_pli hru_11ll' iLl~',T,Hk .ISt.lLlj:Kije /\l J'v\ 1 dn1~1h :'\trul'ndt ur~~.l-111Z.1CIJ.l. (1.11l.IL' """1j.1cIjc .ACiVI, 1mtitut.1 llL;F. 1 Hoi.!lhhk, kr.Ji],nh .tk.1dL'1lli]C n.1Llk.1 ILIJlll'tiln'>tl.

    Nivo assmblerskog

    jezika

    NIVO operativnog

    s1stema

  • il ~

    t

    ~l)'~i ~-:~~; . ~\;c ' ,.

    Povezite se s Mikro knjigom

    www.mk.co.yu Pogledajte nasa najnovija izdanja i narucite ih preko lnterneta.i

    www.mk.eo.yu/forum Prikljucite se nasem forumu; nasi urednici i saradnici odgovorice na vasa pitanja.

    www.mk.eo.yu/recnik Nadite termine iz razlicitih oblasti racunarske tehnike i informatike u nasem recniku na Webu.

    www.mk.eo.yu/bilten Prijavite se da biste primali obavestenja o nasim novim izdanjima i popustima.

    www.mikro.co.yu Posetite Web prezentaciju naseg casopisa Mikro.

  • Ostali Tanenbaumovi bestseleri

    Racunarske mre:Zc, 4. izd:mje (Computer Networks) c:etvrto izdanjc ovog klasicnog bestsckra idealan je uvocl u Janasnje. a i buduc'c mrde. Detaljno jc objasnjcna struktura savremenih mrcza. Poccv ud fizickog shJja, svc do najviscg sloja aplikacija, obradcne ~u mnogc vaLnc teme. ukljucujuc'i be1icnu komunikaeiju, opticka vlakna, protukole sluja vcze podataka. Ethernet. algoritme za

    usmer:.~vanje. performanse rnrda. bezbeclnost. DNS. clektronsku postu, USENET ve-sti, Web i multimediju. Temcljno su opisani i TCP/lP i Internet.

    Operativni sistcmi: projcktovanjc i rcalizacija, 2. izdanjc (Operating S\stems: Design and lmplementnlion) Ova pupularna knjiga. pis;u1a u saradnji sa Alhcrtom S. Woodhulllllll, jedina je koja obuhvata i principc uperativnih sistema i primenu till principa na realm~ .sisteme. U njoj su detaljno opisani svi klasicni operativni sistcmi. Kao ilustracija principa korisc'en jc MINX- UN!X-u slican operativni sistern zasnovan na POS!X-u. koji je namcnjen za PC racunarc i dostupan wima. Uz knjigu se Jobije i CD s potpunim sistcmorn !'vllN X. zajedno sa izvomim kodom. Listing izvornog koda prilo7en je u dodatku na kraju knji-ge i detaljno je uhjasnjen u Lckstu.

    Savremcni opc1~ttivni sistcmi, 2. izdanjc Uv!odcm Opemting Systems) U ovum iscrpnom delu detaijno su obradeni principi savrernenih operativnih sistema. a ilustrovani su brojnirn prirncrima iz prakse. U prvih pet puglavlja (posk uvuclnog). aulor sc bavi osnuvnim pojmovima: procesima i nitima. kruznim blokadama. upra-vljanjem memorijum. ulanw-izlaznim operacijama i sistcmima clatotcka. U narednih scst pnglavlja obratluje ';lo,'cni.JC tcme: multimedijske sisteme. \i~epmccsorske sistc-me. be1bednost itd. Na kraju detaljno analizira dva konkrctna operativna sistema: UNIX/Linux i \Vinduws 2000.

    Distrihuirani sistemi: principii modcli (Distributed Systems: Prillciplcs and Paradigllls) Ova nova knjiga, ko.JU je autor napisao Lajednu 'i Maartenorn \an Steenom. ohuhvata principc i modele savremcnih distribuiranih sistema. U prvnm delu se detaljno govori o principima komuniciranja. procesima. imenovanju. sinhronizovanju, closkdnosti i replikuvanju. otpornosti na greskc i bezbednosti. Autori 1.atirn u drugum delu razma-traju ra1.licite modele distribuiranih siskma. kao slll su objektno zasnm ani sistemi. distribuirani sistcmi datott:ka, si::.tcmi zasnovani na Jokumcntirna i sistemi ;asnovani na kunrdinaciji. Detaljnu se razmatraju i brojni primeri.

    j ;{) ''-I ,)--:) '/...;;~.: ,-- /

    KfbMI A CA CO-om

    ARHITEKTURA I ORGANIZACIJA RACUNARA

    Prevod petog izdanja

    Andrew S. Tanenbaum Univcr::.itcr Vrije

    Am.\te n!wn, H o!ondiju

    Prc\eo Dejan Smiljanic

    -~--- -------'' i

    1 -1 . \' I .-.::.11r:1. x:- \\- tsyo ~ -l ~----- I i1 1/,'-m. 6p. L p. )I . -- ------~ I t [--------\ ' . ,..., :. '\ i I !') ! ';: . ~-\J~: ~:.: L

  • Arhitcktura i organizadja raCunara, prevnd 5. iLdanja Reccnzent Glavni urednik Redaktori Lektor i korektor Tehnicki urcdnik Realizacija knrica Prclom teksta i obrada slika

    IzUavaC Direktor

    Stampa

    Darkn MilutinoviC Olga Milanku

    Stel;..~ SpasiC i SncZana I3isemC Vc~na DukiC Milica Decansk:i NataSa Pavlov Sanja TasiC Milica DeCanski N;HdSa Pavlov

    Mikrn knjiga, Beograd Dragan Tanasko')ki

    Puhlikum, l3eograJ

    Ako imate pllanja iii komentare, iii ako Zditc da dubijetc besplatan k.ata!(Jg, piStte n:..tm ili se javite: Mikro knji2!a P. fah 20-87 JJ()}(J Beograd tel: llii/JS-10-54-1 p1 sma@l:li k roknj 1 y,l. co .yu

    Mikrn k.njiga Jcvrej'b hh 7XIIOO Hanja Luka tel: 1!51/220-%0 pl smalar:i krPknJ 1 yn ba

    Mtkru knjiga Mabimirska 13 I 0000 Zag rc h tel: 01/23-14-023 pi sma@rni kroknJ i ga hr

    Autnri;nvan prcvod \a cnglcskog jczika knjigc Structured Computer Orp-anization. 5th edition.

    Cnpyright (i) 2007 :\'likro J...njiga. Sv.1 prava LaJrLana. Nije doLvoljcnn da nijedan cleo ove knjige hudc rcpwduko\ an ili emitovan na hilo knii naCin. ckktron~hi ili rnchaniC:ki. ukljuCujuL:i fotokopiranje. snimanje i!i hilu h.oj1 drugi sistem La bele/:r:n.Jc. bez prcthoJne pismene doz\ole iLd:nal:a. Authori7ctl translation !rom the English language edition. entitled Strurtured Computer Organization. 5th edition by T.lncnht~lllll. r\ndrc\V S .. publi~hcd by 1-'e;trson Educati1H1, Inc.. publi~hing as Prentice Hall PTR, Copyright ti'l 2tHIIl.

    All nght." re:-.crvctl. No p;1rt of thi." hooh. may be reproJun'd or transmitted in any forlll or hy any means, electronic or mechanicaL includint! ph1Hncopying.. rccordint!, or by any information storage retrieval system, v..ithout penni:-.,i

  • ~-~l;;'l il
  • b~ ' I ~"'i} .. P.' ~~-. ~""~ .J #

    }j . \' -~ '

    ''f j ~~rl i [_f. l

    ~' i !'vco 11 (;l;~r!i_-~~~_f:.~ ..

    ~d-

    ~ s~~

    2

    --~~--~-

    1.4 ODABRANI PRIMERJ PORODICA RACUNARA 36 1.4.1 Uvod u Pentium 4 36 I .4.2 Predstavljanjc cipa UltraSPARC Ill 41 !.4.3 Cip sos1 43

    1.5 METRJCKE JEDIN!CE 45

    1.6 PREGLED SADRZAJA KNJIGE 46

    ORGANIZACIJA RACUNARSKIH SISTEMA

    2.1 PROCESORI 49 2.1.1 Organizacija procesora 50 2.1.2 Izvrsavanje instrukcija 52 2.1.3 RISC i CISC 56 2.1.4 Principi projektovanja savremenih rai"unara 2.1.5 Paralelizam na nivou instrukeija 59 2.1.6 Paralelizam na nivou pruccsora 63

    2.2 OSNOVNA MEMORIJA 66 2.2.1 Bitovi 66 2.2.2 lvkmorijske adrese 67 2.2.3 Postrojavanjc bajtova 69 2.2.4 Kodovi za ispravljanje grcsaka 71 2.2.5 Kes memorija 74 2.2.6 Mcmorijski pakcti i vrste memorije

    2.3 SEKUNDAR~A ME:vlORIJA 7S 2.3.1 Hijerarhija memorije 7S 2.3.2 Magnctni diskovi 79 2.3.3 Diskcte S2 2.3.4 IDE diskovi S3 2.3.5 SCSI diskovi S5 2.3.6 RAID S6 2.3.7 Kompakt disl-.mi 90 2.3.X Upisi,,i kompal-.t dio,kuvi 2.3.9 Prepisivi kom]Xtkt disknvi 2.3.10 DVD diskovi 97 2 .. i.ll Blu-Ray 99

    2.-t ULAZ I lZLAZ ')9 2.-+.1 C\lagistrak !()() 2.-+.2 Terminali 102 2.-U :Vl isevi 107 2.-+.--1 Stampaci 109

    94 ')7

    77

    57

    49

    ~~ ~

    2.4.5 Telekomunikaciona oprema II S 2.4.6 Digitalni fotoaparati 123 2.4.7 Kodiranje znakova 125

    2.5 SAZETAK 12R

    3 NIVO DIGITALNE LOGIKE 133

    3.1 LOGICKA KOLA I BULOV A ALGEBRA 1]4 3.1.1 Logicka kola 134 3.1.2 Bulova algebra 136 3.1.3 Implementiranje Bulovih funkeija 13~ 3.1.4 Ekvivalcntnost clektronskih kola 140

    3.2 OSNOVNA KOLA DIGITALNE LOG IKE 143 3.2.1 lntegrisana kola 143 3.2.2 Kombinaciona kola 145 3.2.3 Aritmcticka kola !50 3.2.4 Gencratori radnog takta 155

    3.3 MEMORI.JA 156 3.3.1 Lee kola !56 3.3.2 flip-tlopovi 159 3.3.3 Rcgistri 161 3.3.4 Organizacija memorije 161

    I 3.3.5 Mcmorijski Cipovi 165 3.3.6 RAMi ROM memorija 168

    3.4 PROCESORSKI CIPOVI I MAGISTRALE 171 3.4.1 Procesorski cipovi 171 3.4.2 Racunarske magistrale 173 3.4.3 Sirina magistrale 175 3.4.4 Vrcmensko usklactivanjc rada magistrale 177 3.4.5 Arbitriranjc magistral om I~ I 3.4.6 Operacijc na magistrali I ~4

    3.5 PRIMER! PROCESORSKIH CIPOV A I ~6 3.5.1 Pentium 4 I S6 3.5.2 UltraSPARC Ill 193 3.5.3 (:ip~05l 197

    ' .1.6 PRIMER! MAGISTRALA 199

    I 3.6.1 ISA magistrala 200 I 3.6.2 PC! rnagistrala 201 ,, 3.6.3 Magistrala PC! Express 209

    3.6.4 Uni vcrzalna serijska magistrala 213

  • X Sadr:laj

    3.7 POVEZ!VANJE 217 3.7.1 Ulazno-iz1azni cipovi 217 3.7.2 Dekmliranje adresa 219

    3.8 SAZETAK 222

    4 NIVO MIKROARHITEKTURE 227

    4.1 PRIMER MIKROAR!I!TEKTURE 227 4.1.1 Putanja podataka 229 4.1.2 Mikroinstrukcije :2_15 4.1.3 Upravljanje mikroinstrukcijama: 1Vlic-l 237

    4.2 PRIMER !SA ARHlTFKTURE: UVM 242 4.2.1 Stckovi 242 4.2.2 :\lemorijski model TJVM ariJitekture 244 4.2.3 Skup l.JVM instrukcija 246 4.2.4 Prevodcnje .lave u l.JVM 24 4.n. I il.likrcarhitcltii::. prJCe;;ora 1\~ntium-+ 3()') -:.o.2 i\lrk.-e~;,rilltc'Liur:.i pnlt:t:St>l':t UkaSPA.l\C-111 C>r 3 !-+ -1-.!1._; .\lik.::o:trilitektu;a JWlc:csill.l SO:' I 320

    -1.7 PUEl:DE!\JE f'RUCL:SUR...\ PE0iTIL I\1, liLTR,\Sl',-\kL I ::-.05l 3 22

    -1-.S SX?ET\K :123

    ~

    I I i J

    l

    Sadrzaj

    5 NIVO ARHITEKTURE SKUPA INSTRUKCIJA

    5. I PREGLED N!VOA ISA 331 5.l.I Svojstvanivoa!SA 331 5. I .2 Memorijski modeii 333 5. I .3 Registri 335 5. I .4 [nstrukcije 336 5. I .5 Prcgled nivoa ISA procesora Pentium 4 337 5.1.6 Pregied nivoa ISA procesma UltraSPARC Ill 339 5. I. 7 Pregicd ni voa ISA procesora 805 I 342

    5.2 TlPOVl PODATAKA 346 5.2.1 Numcricki tipovi podataka 346 5.2.2 Ostali tipovi podataka 347 5.2.3 Tipovi podataka Pcntiuma-+ 348 5.2.4 Tipovi ptJdataka procesura UltraSPARC Ill 348 5.2.5 Tipovi podataka procesora 805 I 349

    5.3 FOI

  • ~!i'':t:'~ iM,' ~~. ;?.:~f"i'$ r!;

    xii

    6

    5.5.3 Unarne operacije 375 5.5.4 Poreuenje i uslovni skokovi 377 5.5.5 Instrukcije za pozivanje procedura 378 5.5.6 Upravljanje petljama 379 5.5.7 Ulaz/izlaz 381 5.5.8 lnstrukcije procesora Pentium 4 384 5.5.9 lnstrukcije procesora UltraSPARC III 387 5.5.10 Instrukcijeprocesora8051 390 5.5.11 Poredenje skupova instrukcija 390

    5.6 TOK IZVRSA VA.N.IA 394 5.6.1 Sekvencijalni tok izvrsavanja i grananje 394 5.6.2 Procedure 395 5.6.3 Korutine 400 5.6.4 Programske klopkc 402 5.6.5 Sistemski prekidi 403

    5.7 DETALJAN PRIMER: l-IANOJSKE KULE 407 5.7.1 Problem l-Ianojskih kula na asemblerskom

    jeziku Pcntiuma 4 407 5.7.2 Problem Hanojskih kula na ascmblerskorn jeziku

    proccsora UltraSPARC III 408

    5.8 ARHITEKTURA IA-64 I lTANIUM 2 410 5.8.1 Problems Pcntiumorn 4 411

    Sadrzaj

    5.8.2 Model arhitekture lA-64: forsiranje paralelnog rada 413 5.8.3 Proredivanje obracanja memmiji 413 5.8.4 Rasporcdivanje instrukcija 414 5.8.5 Smanjenjc broja uslovnih skokova: predikacija 416 5.8.6 Spekulativno ucitavanje 418

    5.9 SAZETAK 419

    NIVO OPERA TIVNOG SISTEMA RACUNARA

    6.1 VlRTUELNA MEMORIJA 426 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.1.7

    Straniccnjc 427 lmplcmcntiranje straniccnja 429 Stranicenjc na zahtcv i model radnog skupa Pravila zamcnjivanja stranica 434 Velicina stranicc i fragmentiranjc 436 Segmcntiranje 436 Imp!emcntacija segmentiranja 440

    432

    425

    !

    Sadr:laj

    6.1.8 Virtuelna memorija Pentiuma 4 442 6.1 .9 Virtuelna mernorija na procesoru UltraSPARC III 447 6.1.1 0 Virtue1na memorija i ke;iranje 450

    6.2 VIRTUELNE ULAZNO-IZLAZNE INSTRUKCIJE 450 6.2.1 Datoteke 451 6.2.2 6.2.3

    lmp1cmcntiranje virtuelnih u1azno-izlaznih instrukcija lnstrukcije za rad s direktorijumima 456

    452

    6.3 V!RTUELNE INSTRUKCIJE ZA PARALELNU OBRADU 457

    7

    6.3.1 Zapocinjanje procesa 458 6.3.2 Utrkivanje' 459 6.3.3 Sinhronizovanje procesa pomocu semafora 463

    6.4 PRIMER! OPERATIVNlH SISTEMA 467 6.4.1 Uvod 467

    Primeri virtuelne mcmurije 4 76 6.4.2 6.4.3 6.4.4

    Primeri virtuelnih ulazno-izlaznih upcracija 479 Primeri uprav1janja procesima 491

    6.5 SAZETAK 497

    NIVO ASEMBLERSKOG JEZIKA 505

    7.1 UVOD U ASEMBLERSKl JEZIK 506 7.1.1 Sta je asemblcrski jet.ik'1 506 7.1.2 Za sta treba knristiti asemblerski jezik'l 7.1 .3 Format naredbe na asemblcrskom joiku 7.1.4 Pscudoinstrukcije 513

    7.2 M.\KROl 515

    507 5l0

    7.2.1 7.2.2 7.2.3 7.2.4

    Ddini,anjt:. pozivanje i prusirivanjc makroa Makroi s pararnetrima 517 Naprdne mogucnosti 51~ lmplcmcntiranje mchanizma za rad s rnakroima

    u asembkru 519

    7.'3 PROCES ASEI\Il3LIRANJA 520 7 .. l.l /\:,cmbkri 'Lh a prola:,ka 52() 7.3.2 Prvi prolazak 520 7.3.3 Drugi prolazak 524 7.3.4 Tabcla -,imbola 526

    515

    xiii

  • . '~ [ " i :

    J I

    ' !!

    (

    li .. \!i

    \;

    xiv Sadr:laj

    7.4 POVEZIYANJE I UCITA YANJE 521\ 7.4.1 Posluvi koje obavlja program za povczivanjc 529 7.4.2 Struktura objcktnog modula 532 7.4.3 Yreme povczivanja i dinamicko relociranje 533 7.4.4 Dinamicku povezivanjc 535

    7.5 SAZETAK 53lJ

    8 ARHITEKTURE PARALELNIH RACUNARA

    X. I Pi'\RALELIZAM NA PROCESORSKOM CIPU 544 S.l.l Paralelizam na nivou instrukcija 545 1\.1.2 Vi~cnitni rad na jed nom cipu 552 S.l.3 Vise proccsora na jcdnom cipu 5'iR

    1\.2 KOPROCESOR! 563 8.2. I lvlrczni procesori 564 8.2.2 Multimcdijski procesori 571 8.2.3 Kriptoprucesori 576

    1\._~ SISTEMI S VISE PROCFSORA KOJI DELE iVIEMORIJU 577 S.3.1 Multiproccsori i multiracunari 577 8.3.2 Scmantika memurije 584 1\.3.3 Arhitckturc simctricnih UMA multipmccsora 588 8.3.4 NlJMA multiproccsori 5Y7 iU.5 COMA nntltipmcc,ori 605

    X.4 :VILJLTIRACUNARI ZASNOVANI NA RAZ!\IENI 606 8A.I 8.-U 1\.4.3 1\.4.4 8.4.5 8.4.6 8.4. 7

    Mrczc Dt intcrrw pmezivanje kompunenata multiracunar~t MPP nntltiral"un;tri -- cvrstu sprcgnuti paralclni pruccsnri Klastcri racunara 621 Kumunikacioni soth er za multiracunare 626 Raspurcdivanjc p'ila 628 Memorija dL~ljena na nivou aplikacijc 62l) Performam:e 6.16

    S.5 RESETKE RAC'UNARA 642

    S.6 SAZETAK 644

    543

    607 611

    9 SPISAK KORISCENE I PREPORUCENE LITERATURE 649

    lJ I STA Bl.IOS TREB \LO PROC!TAT! 64'J lJ. 1.1 Uvod i opsta lit

  • ~;c~ ~~;

    ~t!

    I'

    I

    1: I ~

    i'

    li ~

    xvi Sadr:laj

    C.4 SKUP lNSTRUKCIJA PROCESORA 8088 706 C.4.1 Premestanje, kopiranje i aritmeticke instrukcije 706 C.4.2 Logicke operacije. opcracije nad bitovima

    i operacije pomeranja 709 C.4.3 Petlje i operacije ponavljanja sa znakovnim nizovima 709 C.4.4 Instrukcije za skokove i pozive 710 C.4.5 Pozivi potprograma 712 C.4.6 Sistemski pozivi i potprogrami 713 C.4.7 Zavrsne napomenc o skupu instrukcija 716

    C.S ASEMBLER 716 C.5.1 Uvod 716 C.5.2 ACK-asembler. as88 717 C.5.3 Neke razlike u odnosu na druge asemblere

    za procesor 8088 720

    C.6 SlMULATOR 722 C.6.1 Komande sirnulatora 723

    C.7 POCINJEMO 725

    C.8 PRIMER! 726 C.8.1 Primer Hello World 726 C.8.2 Primers registrima opste namene 729 C.i\.3 Instrukcija Call i pokazivacki registri 73 I C.8.4 Otklanjanjc gresaka iz programa za ispisivanje niza 734 C.i\.5 Rad sa .makovnim nizovima i odgovarajuce instrukcijc 736 C.8.6 Tabele za usmeravanje 739 C.i\. 7 Baferisan i direktan pristup datotekama 7-J.l

    SPISAK TERMINA KORISCENIH U KNJIZI 747

    INDEKS 755

    PREDGOVOR

    U prva cctiri izdanja ove knjige negovali smo idcju da se racunar moze posmatrati kao hijerarhija vise nivoa, od kojih se na svakom obavlja neka dobro defini~ana funkcija. Ta osnovna koncepcija vazi Janas bas kao sto jc vazila i u vreme kada jc knjiga prvi put ugledala svetlost dana. pa smo je zadriali i u pctom izdanju. Slicno prethodnim izdanjima, i ovde su detaljno razmotrcni nivo digitalne logike. nivo mi-kroarhitekture. nivo arhitckturc skupa instrukcija. masinski nivo operativn6g sistema i nivo asernblerskog jczika.

    Iako je osnovna struktura knjige zadrzana, u pelo izdanje uncle su mnogc sitnc i krupne izmene. pa knjiga potpuno prati brz razvoj racunarske industrije. Tako su. re-cirno. za primcre u ovom izd:mju uzeti racunari sa savremcnim komponcntama. To su Intelov Pentium 4. Sunov Ultra-SPARC Ill i lntelllV 8051. Pentium 4 je primer popu-larnog mikroprocesora koji sc koristi u stonim racunarima. UltraSPARC Ill Je primer popularnog servera koji se naveliko koristi u srcdnjim i velikim multiprocesorima. tj. u sistemima s vise proce!>ora.

    Mozda ce nekog iznenaditi to ;to pominjemo jJfOCesor ~())_l jer se taj cip dostojan postovanja vee decenijama nalazi na trzistu. :V1~uutim. zahvaljujuci hrzom razvoju ugradenih sistema, on je pronasao svoje mesto i u savremcnim uredajima. Danas. kada racunari upravljaju svime, pocev od radio-budilnika do mikrotalasnih pecnica. vlada vclika glad za ugradenim si,tcmima. a S051 jc superizbor zbog svoje izuzctrm ni,ke ccnc (nekoliko CL'nti), obilja softvcra i pcrfcrijskih urcdaja: uz to. brojni pru-grameri have se ovim cipom.

    Mnogi predavaci knji koriste m u knjigu, godinama su \apili za materijalom o rro-gramiranju u asemblem. U petom izd::mju knjigc eto kon

  • ~r~-~:j ~n !~ f "~ ~ i Q ~ fl ij

    ~ ,_ '"* ~ t;.

    ~,-B ~ l l l ~ I .. l" ~~

    ~ ,. .~ ~ ! ! j i, i !

    'i j ~

    1

    1 1

    .,

    'f l

    ~ ,., .

    ,l'

    ~ ..

    ~ 4 ;,

    t~ ~~ ~~

    xviii Predgovor

    i~pravljanje grdaka u asemblerskom kmlu veoma slozen posao. uz knjigu sam pri-loho i nekoliko alatki za ucenje programiranja u asembleru, a medu njima asembler i -;irnulator za 8W\8 u verzijarna za Windows. UNIX i Linux_ Ove alatke nalaze c;e na pratdem CD-u ina Web lokaciji posvecenoj knjizi tpogledajte dalje).

    Ova knjiga je :-. vremcnom poprilicno narasla, sto je bilo neizbezno jer se sama lc'rna neprestano razvija i znanje o njoj ~e gomila. Zbog toga, kada se knjiga koristi

    k~lll !ircr:ttura za kurs, moz.da nec'e uvek biti moguc'c prec'i _je cclu tnkomjedinstvenog kur:.a rn;;r. u sistemu trimestara). Jedno rdenje bi bilo da se tukom kursa bar predu pog!:t\ :_ja I. 2 i .l. prvi deo poglavlja 4 (zakljucno sa odeljkom 4.4) i poglavlje 5. i'reu.-

  • ''''!. , I ~

    ~.; '

    I I

    ,.

    I : a :

    ~

    L ; i

    ~, l' ,,:

    ~' r l f ..

    ~ ~ i i,

    I' L L\

    1 UVOD

    Digitalni racunar je masina koja Ijudima pomaz.e tako stu izvrsava zadatc instruk-cije. Niz instrukcija cijim sc izvrsavanjem obavlja odrel1eni posao naziva se program. Elektronska kola racunara mogu prepoznati i dircktno izvrsiti samo ograniccn skup jednostavnih instrukcija, pa svaki program, da bi bio izvrscn, treba prcvcsti u takav skup instrukcija. Te o:movne instrukcije retko su slozenije od slcdccih:

    Sabeti dva broja. Pro veri da li je zadati broj nula. Kopiraj skup podataka iz jednog dcla mcmorijt: racunara u drugi. S \ c osnovne i m;trukcije koje racunar razumc, obrazu ju jezi k pomocu koga !judi

    knmuniciraju s racunarom. To jc masinski jezik. Konstruktori novog racunara uvek moraju brinuti o tome kojc cc instrukcije ukljuciti u njegov masinski jezik. Oni obic-nu pokusavaju da osnovne instrukcije ucine stn jednostavnijim i usaglase ih s name-nom konkrelnog racunara i njegovim pcrformansama, kako bi smanjili slozcnosl i ccnu e!cktronskih kornponcnata potrebnih za njcgovu izgradnju. Posto je masinski jc-zik racunara izuzetno jednostavan, !judi se njime sluzc tt:Sko (narocito ako racunaru treha da ;:adaju iole slozeniji 7.adatak) .

  • 2 Poglavljc I: Lvod ~----

    Navedeno zapazanje JC s vremenorn dovelo do strukturiranja racunara u niz thije-rarhijski urectenihJ apstrakcija kojc se nadgraduju jedna na drugu. Na taj nacin se ovladava slozenoscu racunara da bi se racunarski sistemi mogli projektovati sistemal-ski, na organizovan nacin. Pomenuti pristup nazivamo strukturirana organizacija racunara (engl. strucrured computer organiz.mion). U slcdecem odeljku objasnicemo

    .~ta taj naziv podrazumeva, a poslc toga cemo se pozabaviti razvojem racunara. sada-snjim stanjem ll loj oblasti i ponuditi neke vazne primere.

    1.1 STRUKTURIRANA ORGANIZACI.JA RACUNARA Kao sto je pomenuto. vel ika je razlika izmedu onoga sto odgovara ljudima i unoga ~to odgovc~ prvi progr~im I L I)_ a nPvi pro~cr"m 1 LO 1 uciu ::;e u mcmuriju racunara i izvrsi. 1\Jkom i7vrsa,,mja . ..tkll\~ltl_Je novi pru:'-r~im (Lil) i matrlti

    k~h' ni.~ slnjeYa !engl. Iii nivoa (engl. i

  • r.

    ' I

    !i

    t l

    4

    Nivo n

    Nivo 3

    Nivo 2

    Nivo 1

    Nivo 0

    Virtuelna masina Mx s masinskim jezikom Ln

    Poglavlje 1: Uvod

    Programi na jeziku Ln __... interpretiraju se __...~ interpreterom koji se

    izvrsava na nizoJ masini iii se prevode na njen masinski jezik

    Programi na jeZiku L2 interpretiraju se interpreterom

    _- koji se izvrsava na masini __... M1 iii MO, iii se prevode

    na njen jezik L1 iii LO

    Programi na jeziku L1 interpretiraju se interpreterom koji se izvrsava na masini MO iii se prevode na jezik LO

    Elektronska kola mogu ~ direktno da izvrsavaju /~ programe na jeziku LO

    Slika l-1. Masina s vise nivoa.

    Racunar san nivoa moze se u izvesnom smislu posmatrati kao niz od n razlicitih virtuelnih mas ina, od kojih svaka ,govori'' drugacij im masinskim jc.cikom. Smatracc-mo da izrazi ,nivo" i .. virtuelna masina" znace isto. Elcktronska kola mogu dircktno da izvrsavaju sarno prograrne pi sane na jcziku LO- nema potrcbe za prevodcnjcm iii intcrpretiranjem. Programe pisane na jezicima Ll, L2 ..... Ln mora interprctirati in-terpreter koji se izvrsava na nizemnivou iii se rnoraju prevcsti najezik koji odgovara nizem nivou.

    Osoha koja pise programe za virtuelnu masinu nivoa n ne mora da brine o skrive-nim interprcterima i pmgramskim prevodiocima. Sarna struktllra masine llbezbeJujc da se ovi prograrni izvrsavaju na odredeni nacin. Programera ne treba da zanima da li cc njegove programe izvr;avati (korak po korak) interpreter koga i.cvrsava drugi in-terpreter iii ce ih dircktno izvrsavati elcktronska kola. Raultati SLI Ll oha slucaja isli: programt sc tzvrsava.JU.

    Yccinu programera koji kuri,tc masine san nivoa. zanima samo najvisi slnj. onaj koji sc najvisc razlikuje od masinskogjezika u najnizemnivou. Mel!utim, ako L.elitc da razumcte kaku racunar runkcinnisc, muralL~ ~c udubiti u sve nivoc. Ljudi koji kunstruisu nove racunarc ili nove racunarske slujevc (tj. mwc virtuclne masine) takode muraju cln-bro poznavati sve nivoc. Konccpcije racunara i tehnikc njihovog konstruisanja iz niza uzastopnih ninJa, kao i dctalji samih nivoa. glavne su teme ove knjigc. I

    i

    1.1 Strukturirana organizacija tacunara 5

    1.1.2 Savremeni racunari s viSe nivoa VcCina savremenih racunara irna elva iii vise nivoa. Postoje racunari i sa sest nivoa,

    kao na slici 1-2. Nivo 0, u samom dnu, predstavlja hardver racunara. Njegova elek-tronska kola izvrsavaju programe na masinskom jeziku nivoa l. Istine radi, treba reci da postoji i nivo ispod nivoa 0. Taj nivo, koji nije prikazan na slici 1-2 zato sto spada u elektrotchniku (i zato izlazi iz okvira ove knjige), zovc se nivo uredaja (engl. de-vice level). Na torn nivou, konstruktor vidi pojedinacne tranzistore koji za njega pred-stavljaju najosnovnije komponcnte racunara. Ukoliko nekoga zanima kako tranzistor radi iznutra, morace da prede na polje fizike cvrstog stanja.

    Nivo 5 I Nivo jezika prilagodenog problematici

    Prevodenje (prevodilac)

    Nivo 4 Nivo asemblera

    Prevodenje (asembler)

    Nivo 3 Nivo operativnog sistema racunara

    Delimicno interpretiranje loperativn> sistem)

    Nrvo 2 Nivo arhitekture skupa instrukcrja

    lnterpretiranje lmikroprograrn) iii direktno izvrsavanje

    Nrvo 1 Nivo mrkroarhitekture

    Hardver

    Nrvo 0 Nivo digitalne log ike

    Stika l-2. Rctl:unar sa sest nivoa. hpod svakog nivoa naznacenje poJr.lani nacin i1.vrsavanja (zajedno sa imenom programa)

    Na najniz.em nivou o komc cemo govoriti. na nivou digitalne logike. zanimace nas tt.v. logicka kola (engl. gutes). lako su izgradcna od analognih komponenata. kao slu su tran.ci;,tPri. logicka kola sc mogu precizno modelovati kao digitalni urectaji. Svako logicku kolo imajcdan iii vise digitalnih ulaza (na koje se clovode signali koji prelbtavljaju 0 iii I) i izlaz na kome sc pojavljuje neka jednostavna funkcija u\aznih podataka. npr. AND (konjunkcija) iii OR (clisjunkeija). Svako logicko kolo sastoji sc oJ najvisc nckoliko tranzistora. Kombinovanjcm nekoliko logickih kola moze se na-praviti jcdnobitna memorija. u koju sc mozc smestiti jedna nula iii jedna jedinica. Jed-nnbitnc memorije se mogu kombinovati u grupe od npr. 16. 32 iii 64 da bi se dobili

  • I

    6 Poglavlje I: Uvod

    registri. Svaki registar moze Ja cuvajedan binarni broj ogranicenc velicine. Kombi-m;vanjem logickih kola moze se napraviti i mikroprocesor racunara. Logicka kola i nivo digitalne logike detaljno cemo doraditi Ll poglavlju 3.

    Naredni visi nivo je nivo mikroarhitekture (engl. microarchitecture !ete/). On po pravilu sadrzi skupove od ~ do 32 registra koji cine lokalnu memoriju i elektronsko kolo zvano ALU (aritmcticko-Iogicka jedinica. engl. Arithmetic Logic Unit) koje moze da obavljajednostavne aritmeticke operaeije. Registri su povezani sa ALU jc-dinicom i obrazuju putanju podataka (engl. datu path) kojom teku podaci. Osnovni zadatak putanjc podataka je da izabcre jed an ili dva registra s kojima cc ALU jedinica raditi (na primer, da sabere njihov sadrzaj) ida rczultat srncsti u neki registar.

    Na nekim racunarima, radom putanje podataka upravlja tzv. mikroprogram. Na drugim racunarima, putanjorn podataka upravlja dircktno hardver. u prva tri izdanja ove knjigc. ovaj nivo smo zvali ,nivo mikroprogramiranja' jerje do sada to uvek hio sortverski interpreter. Posto putanjom podataka sada cesto (dclimicno) upravlja di-rcktno hardver. vee u cetvnom i.(danju smo na odgovarajuci nacin promcnili ime ovog ntvoa.

    li racunarima u kojima se putanjom podataka upravlja softvcrski, mikroprogram je interpreter instrukcija na nivou 2. On preuzima, ispituje i izvr~ava jednu po jeclnu instrukciju. koristcci 1.a tu putanju pmlataka. Na primer, im:trukcija ADD ;.,e najprc

    preu~:ima, pronalaLe se njeni operandi i prcnose u registrc. iaacunava sc zhir u ALU jedinici i na kraju se rczultat upucujc na oclredeno mesto. Na racunaru s hardver:-,kum kontrulom putanjc podataka i1vr~avaju se isti kmaci. aline postoji odreden (zaseban) program La intcrprctiranje instrukeija na nivou 2.

    Na nivou 2 imamo tzv. nivo arhitckture skupa instrukcija (c'ngl. lmrruclion Set Ardioci poznati kao kompajlcri (engl. compilers), mada sc pnnckad i interpretiraju. Primcrcl radi, prugrami pisani na Javi po pravilu se prvo p~evode na JCL.ik 'iican jeziku nivna lSi\ (tzv. Javin bajtkod) koji :-,e zatim interpretir:J.

    U nekim slucajev:ma, nivo 5-~~~:;stoji od interprctera 1.a speci11l'nu oblast pri!llc-nc, k~lt! sto Je simh,]i~;,a m:tkm~ttika. On ubczbc't!Uje pmlatke i operacije za re'iavanjc pmbkma iz te obhsti na nacin koji .,trlll'njaci iL te oblasti lako razumcju.

    Sv ~ u svcmu. osrw1 no jc: npamti;i da su racunari projektovani kao nizovi uzasl(lp-nih 11ivoa. Svak.i niHJ pn:dsic:vijajJ>nn odvojenu apstrakciju, s drugacijim objektima i opc!-ac:J.UT!.t. Pwjd.tujuci i anaiiz!rajuci ral'unare rn ovaj naCin, u stanju smo da rri-vremcnJ D\hcravimo ru net:i:1e rktaljf". kul icina ra-,poluztve memorije) delnvi su arhitekture. Aspekti implem,t:l~H.:i_:l~ (npr. vrsta lelll1oiogije kuja se koristi za ugradnju mcmorije) nisu den arhilc~turc'. Skll!' /n:u:jct putrcbnih .ta prujcktovanje delu\"a racunarskog sistc-lna kuji ::-,U dt,slnpni 1 \l~Jljivi) ;.1rogran1~~ru. ;ove sL arhitcktura raCunara (engl. coJn-!'illa urcf,;rcLw rc 1. L: prak ~:i, meLhttiJ~

  • !Jr .. ;; I)'' ~Jii ~~ I>

    I \ l

    8 Poglavljc 1: Uvod

    1.1.3 Evolucija racunara s viSe nivoa Da bismo racunarirna s vise nivoa dali ,trecu" dimeni'.iju, ukratko cerno sc pozaba-

    viti njihovim istorijskim razvojern i opisati kako je s vrcmenom rastao broj nivoa i kako se uporcdo menjala njihova priroda. Programe pi sane na pravom masinskom je-ziku racunara (nivo l) rnogu dircktno da izvrsavaju njegova elektronska kola (nivo 0) bez ikakvog interpretiranja ili prcvodcnja. Elektronska kola, zajcdno s memorijom i ulazno-izlaznim uredajima Cine hardver racunara. Hardver se sastoji od opipljivih objekata: integrisanih kola, stampanih ploca (kartica). kablova, uredaja za napajanje, memorijskih cipova i starnpaca. u hardver ne spadaju apstraktnc ideje, algoritrni iii instrukcije.

    Nasuprot tome, softvet se sastoji od algoritama (detaljnih uputstava kako da se ndto uradi) i njihovih racunarskih realizacija- programa. Programi se mogu skla-distiti na cvr~tom disku, na diskcti, na kompakt disku i drugim mcdijumima, ali susti-na je cia je sortver skup instrukcija kojc sacinjavaju programe, a ne fizicki medijum na kome se programi bclde.

    Na prvim racunarima, granica izmedu hanlvera i softvera bila je kristalno jasna. Ipak ona se s vremcnom prilicno izgubila, prvenstveno zbog dodavanja, uklanjanja i rnedusobnog prekrivanja nivoa. Danas je cesto tdko rcci sta je hardver, a sta softver (Vahid, 2003 ). Centralna tema ovc knjige je sledeca:

    llurdvcr i sojiver su logi(ki chivalnztni. Svaka operacija koja se izvrsava sortvcrski mozc se i direktno ugraditi u hardver.

    narucito posto se detaljno shvati svaki njcn korak. Kao sto kazc Karen Panetta Lentz: .. Hardvcr nijc nista drugo do okamcnjeni softvcr'. Naravno. vazi i obrnuto: svaka in-strukcija koju izvrsava hardver mozc se i softvcrski simulirati. Odluka da sc oclreclenc funkcije realizuju hardvcrski, a neke drugc softverski, zavisi ud cinilaca kao sto su ce-na. brzina. pouzdano:;t i uccstalost occkivanih promena. Postoji S~\1110 nekoliko cvr-srih pravila o tome ~ta mora da ide u hardvcr. a sta izricito mora cia se prograrnira. Takve odlukc se mcnjaju s trcndovirna u ekonomiji prozvodnje, s potraznjom i naci-nom kori.~cenja racunara.

    Nastanak mikroprogramiranja Pn i digitalni racunari iz cetrde~etih god ina pros log veka imali su samo dva nivoa:

    nivo !SA. rcz.crvisan /.a programiranjc i nivo digitalne logikc koji je izvrsavao pro-gr~une. Elektrunska kola na nivou digitalne logike bila su slozena, tdko ih je bilo ra-zumcti i proizvesti i hiv~tla su nepouzdana.

    l'vlaurice Wilkes. istrazivac na Kembridzu. 1951. godine predlozio je projekto-vanjc racunara s tri nivoa kako bi sc drasticno pojcclnostavio hardver (Wilkes. 195 l ). Takva masina je trcbalo da ima ugracten, nepromcnljiv interpreter (mikroprogram). cija bi runkeija bila da interpretiranJelll izvrsava programe na nivou !SA. Posto bi hardver. umesto da izvr~ava programe na nivou lSi\, rnorao da izvrsava samo rnikro-prugrame -,a uzim skupom instrukcija, bilo bi potrebno manje elektronskih kola. u to

    1.1 Strukturirana organizacija racunara 9

    vreme su elektronska kola pravljena od elektronskjh ccvi, pa bi precllozeno pojedno-stavljenje znacilo manji broj elektronskih cevi i vecu pouzdanost (manji broj dnevnih otkaza sistema).

    Tokom pedesetih goclina napravl_ieno je nekoliko racunara s tri nivoa, a znatno vise tokom sezdesetih. Icleja da se nivo ISA interpretira mikroprogramski umcsto direktno elektronikom, dominirala je tokom sedamdcsetih. Svi glavni racunari tog doba kori-stili su takav sistem.

    Nastanak operativnog sistema Tih ranih dana racunarsko vreme se uglavnorn iznajmljivalo, sto znaci da je svaki

    programer morao lie no cia radi' s racunarom. Pored svakog racunara nalazila sc svcska za upisivanje. Programer koji bi zeleo da izvrsava program rezervisao bi u svesci odredeno vrernc (npr. u sredu izmedu 3 iS sati ujutru jcr su rnnogi programeri najvise volcli da rade u tisini racunskog centra). Kada bi njcgovo vreme doslo, programer bi krenuo u racunski centar sa ,.spilom" ud 80-stubacnih husenih kartica (medijum za unosenje podataka s pocctka racunarskog doba) Ll jcdnoj ruci i zasiljenom olovkom Ll drugoj. Kada bi stigao u racunski centar, ljubazno bi izgurao napoijc svog prcthodni-ka i seo za racunar.

    Ako bi programer zeleo cia isproha program napisan na PORTRAN-u, morao bi da uradi sledece:

    I. Otisao bi do ormana gde se cuva bibliutcka programa, izvadiiJ veliki ~,eleni registrator sa oznakom ,.FORTRAN compiler', stavio bi kanice iz njega u ci-tac i pritisnuo dugme START

    7 Stavio bi svoj program napisan na FORTRAN-u u citac kartica i pritisnuo dugme CONTINUE. Program hi tada bio ucitan.

    3. Kada se racunar zaustavi, ponovu bi ucitao svoj program. Jako je za neke prc-vodioce (kompajlcre) dovoijno da sc program ucita samo jcdnom, /a mnoge su potrebna dva i vi;e .. prolaza. Pri svakom prolazu treba ucitati veliku gru-pu kartica.

    4. :--Jajzad se pre\odenje programa primice kraju. Programera ohicno hvata ner-voza- ako prevodilac tada pronade gresku, programer mora da je ispravi ida ponovo zapocne citav postupak prevodenja. Ako ne pronade grdke. prevocli-lac busi nove kart ice. upisujuci program prcveden na masinskijc1.ik racunara.

    S. Programer tada program preveden na masinski jezik stavlp u citac kartica zajedno s grupom kartica koje sadi"Ze potprograme iz biblioteke i ponuvo ih ucitava.

    6. Program pocinje da se izvrsava. U velikom hroju slucajeva on nc radi kako trcba i neocekivano se zaustavlja usrcd rada. Programer bi se tacla malo po-igrao s prekidacima na konzoli i posmatrao signalna svelia. Llkoliko bi imao srece. otkrio bi u cemujc problem. ispravio grdku i okrenuo sc ormanu s ve-likim 1elenim registratorurn da hi pustupak zapoceo iznova. Ako ne bi imao srece, bio hi prinuden da Starnpa statUS radne JilCIUIH'ijc racunara (engl. core dll!llf!) koj i bi min eo kuci da ga prostudira na miru.

  • l l f t t !

    I i

    ~ ~

    rJ'....,.."""'-'

    10 Poglavlje l: U vod

    Opisani scenario. uz manje izmene. bio jc godinama uohicajcn u mnogim racun-slim ccntrima. Uz njega su programcri monli da uce rad s racunarorn ida znaju sta da prcduzmu kada on prestanc da radi. sto se cestu dogadalo. Racunar je cesto radio u pra7110l11 hodu doJ..: Sll programcri nu;,a[j J..:articc po prostoriji j[j Se zhunjeno CeSkali iza uvcta pokusavajuci da pronal1u z~t.~to njihovi pnJgrami nc rade kako trcba.

    Negdc oko llJoO. god inc doslo se na idcju da sc pr~van hod racunara smanji tako sto cc sc autumatizovati po;,ao opcratera. Poschall program. nazvan operativni sistem (engl. Ofi!'mting sYstem). sve vrcme se nalazj,, u r::cun:tw. Programer je zajedno s pro-gramom unosio i kontrolne karticc koje jc cit

  • _..

    ffii' t' ~ ;; j,

    ~

    ~~~ j

    12 Poglavlje 1: Uvod

    Iz slicnih razloga mikroprogramu su dodavane i mnoge druge instrukcijc. To su cesto bile:

    1. !nstrukcije za mnozcnje i deljenje celih brojeva. :2. lnstrukcije za racunanje s brojevima u formatu pokretnog zareza. 3. Instrukcije za pozivanje procedura i vracanje rczultata iz njih. 4. Instrukcijc za ubrzavanjc rada u petljama. 5. lnstrukcije za rad sa znakovnim nizovima. Stavise, kada su konstruktori racunara uvideli koliko se lako mogu dodavati nove

    instrukcije, poceli su da trazc nove mogucnosti kojc bi dodali svojim mikroprogrami-ma. Evo nekoliko primcra takvih Jodataka:

    1. Ubrzanje racunanja s nizovima (indeksiranjc i indircktno adresiranje ). 2. Mogucnost premcstanja prograrna u memoriji nakon pocctka njegovog

    izvrsa van ja ( mogucnost rclokacijc ). 3. Sistemi prekida koji salju signal racunaru cim se zavrsi ncka ulazna ili izlaz-

    na operacija. -+. Mogucnost da se privrerneno zaustavi jedan program i zapocne drugi po-

    mocu malog broja instrukcija (zamena procesa). 5. Specijalne instrukcije za obradu zvuka, slike i multimedijskih datoteka. Tokom god ina, dodavane o;u i mnoge druge osobine i mogucnosti, najccsce da bi se

    uhrzala odrcdena akti vnost.

    Napustanje mikropmgramiranja Mikroprogrami '>ll '>G prilicno U\'ccali tokom zlatnog doba mikroprogramiranja

    (sczdesctih i '>cdamdeo,ctih godina). Zbog toga su se izvrsavali svc sporije i sporijc. Konacno '>l! ncki strui:njaci shvatili dace racunari raditi brze ukoliko se eliminisu mi-kroprogrami, smanji skup imtrukcija i direktno izvrsavaju preostale instrukcije (tj. ak.o se han.hcrski kontrolisc putanja podataka). Projektovanje racunarajc tako u izve-snom smislu zatvurilu krug. vracajuci se na mesto gde je hilo pre nego sto je Wilkes smislio mikwprugramiranje.

    lpak. taj krug se i dalje ukrece. Programi pisani na Javi ubicno se izvrsavaju tako stu se prevodc u medujezik. (Javin bajtkodl koji se zatim intcrprelira.

    U ovum izlaganjn i'takli smo proizvoljnost granicc izmcdu hardvera i softverajer sc ona stalnu pomc:ra. Danasnji softver rnoze postati hardver sutrasnjice i obmuto. ,Stavise. ncjasne ~u i gran~cc izmedu pojeJinih nivoa. S programcrskog stanovista, ne-vazno JC J..Jkn sc uJreLkna instrukcija implementira (osim, mo/:da. ako postoje razlikc u brzini iz\ r\avanja}. Onaj ko program ira na nivou!SA. mozc da upotrebi njegovu in-strukciju za rnno:l.enje kao da je hardverski ugradena ida o njoj vise ne brine (cak ne mora ni zn~ni da li jc LlJJLt '>tvarno harJverska). Hardver jednog programcra je softver drugog. Na s\c ovc teme vraticemo se kasnije.

    1.2 Kljui'ne tai'ke razvoja arhitekture rai'unara

    1.2 KLJUCNE TACKE RAZVOJA ARHITEKTURE RACUNARA

    13

    Da bi se stiglo do digitalnog racunara kakav postoji danas. projektovano je na stotine razlicitih vrsta. Vecina je davno pala u zaborav, ali je nckoliku vrsta imalo i znacajan uticaj na savremene ideje. U ovom odeljku ukratko cemo prikazati neke epi-zode istorijskog razvoja racunara da bismo potpunije razumeli kako smo stigli do onoga sto imamo danas. Ne treba posebno isticati da se ovde samo doticemo najsvet-lijih primera, zapostavljajuCi brojne detalje. Na slici l-4 nabrojani su neki od kljucnih racunara o kojima ce biti govora u ovom odeljku. Slaterov tekst ( 1987) dobro je stivo za upoznavanje sa osobama kqje su zapocelc cru racunara. Njihove kratke biogratije. uz prcdivne kulor-fotografije Louisa Fabiana Bachracha, potrazite u Morganovoj knjizi ( 1997).

    Napomena

    Prvi pokusaj da se napravi digitalni racunar Prva masina za racunanje s relejima koja je radila Prvi elektronski racunar Prvi americki racunar opste namene

    --- ._, , Savremeni racunar; istorija pocinie ovde ----1-----------+-P_rv_i_r_a_c_u_n_a_r sa_uskla?~stenim progra~9~ ,

    Prvi racunar koji je radio u real nom vremenu I I

    Vecina danasnjih racunara koristi ovu konstrukciju

    ~-------------~ Prvi mini racunar (prodato 50 komada) I lzuzetno popularan mali poslovni racunar l Dominirao u naucnim proracunima ranih I sezdesetih godina I Prvi racunar projektovan za jezik visokog nivoa Prva proizvodna linija projektovana kao 1l porodica racunara

    Prvi naucni superracunar ----~.==j Prvi mini racunar za siroko trziste (prodato j 50.000 komada\ 1

    . -1 Dominantan mini racunar sedamdesetih j

    1 godina . . --j 1 Prvi 8-bitni racunar opste namene na Ci~

    Slika 1-4. Nckc kljucne tackl: razvoja savrcmcnih digital nih racunara.

    ~

  • -~ i}; ~1:, ;;'~ii'l' ~~i' r~_: rfl ;f

    I

    ~

    14

    r~g 119 G-9-

    ~ 11983

    -~ CRAY1 I Cray I VAX DEC /IBM P_C IBM 'Osborne-! Osborne Lisa Apple

    Poglavljc 1: Uvod

    - r- ------------ ----------

    I Prvi vektorski superrai':unar 1------------Prvi 32-bitni supermini rai':unar

    ------- -----

    Poi':inJe era savrernenih licnih rai':unara ----

    Prvi prenosivi ~ai':unar Prvi licni racunar s grafii':kim korisnii':kim -~--------

    1 okruzer~~l (G~--ik serije Pentium !1985. /386 ~ . ~-1 MIPS------- MIPS -J~vi komercijclni R:SC rai':un~ "" 0~

    r;-987 _[ ::PA~. - I Sun Pr-:-1 ~RtS.C. radn;~;~~ica zasnovana na . ~ tehnologiji SPARC ~~~-- RS6CJ_0(}_ ________ i IBM -----==-=-l~~~~~~~er~k~,;i~~t;-n~ _____ _ - 1992. f Alpha ! DEC I Prvi 64-bttnt licni racunar ___ _ ~g~JNewt()~~-- - -T Apple --==--=Jrr~id~_[)ni racu~~;-- j

    -~-- -

    Slika 1-4. Nc~c kljuCnc tadc ra/\"oja savrcmenih digilalnih racun

  • r I!

    !

    ~ ILl

    18 Poglavljc I: Uvod

    Osnovna zamisao koju je on prvi opisao sada je poznata kao Von Ncumannova masina. Ona je iskoriscena za racunar EDSAC, prvi racunar koji je memorisao pro-grame i jos uvek je osnova za skoro sve digitalne racunare- cak i dan as, posle vise od pola veka. Von Neumannova masina (i masina lAS, napravljena u saradnji s Herma-nom Goldstineom) imala je toliki uticaj na razvoj racunarstva cia je vredi ukratko opi-sati. Iako seta masina uvek vezuje za ime Von Neumanna, vaz.an doprinos u njenom ostvarivanju takode su dali Goldstine i drugi. Blok-dijagram njene arhitekture prika-zan jc na slici 1-5.

    C Momorija I . j 1 j

    Upravljacka jedinica

    Aritmeticko

    I Yl 1 ' J Rezultat J Akumulator

    Slika l-5. Originalna Von Neumannova masina

    Von Neumannova masina ima pet usnovnih delova: memoriju. aritmeticko-logic-ku jedinicu. upravljacku jedinicu, ulazne i izlan1e urcd,ue. Memorija sc sastoji od 40l)6 reci od po 40 bitova, od kojih svaki moze biti 0 iii I. Svaka rcc sadrzi dvc 20-bitne instrukcije iii 40-bitni oznacen hroj. Osam hitova svake instrukcije odreduju njen tip, a prcostalih 12 bitova deflnisu jednu od 40l)6 reci iz memorije. Aritmetic-ko-logicka jedinica i upravljacka jedinica zajedno cine ,.mozak" racunara. U savre-mcnim racunarima one se nalaze na jcdnom cipu zvanom centralni proccsor (engl. Centro! Processing Unit, CPU).

    U aritmetickoj logickoj jedinici nalazi se specijalan unutrasnji 40-hitni registar nazvan akumulator. Tipicna instrukcija dodajc memorisanu rec u akumulator iii sadrzaj akumulatora smcsta u memoriju. Mas ina nc podrzava operacijc s brojevima u formatu pokrctnog zareza jer je Von Neumann smatrao da svaki pristojan matema-ticar moze da pamti decimalni zarcz (u stvari, hinarni zarez).

    Otprilike u isto vreme kada je Von Neumann pravio masinu lAS. i~tra/.ivaci na Masacu.-,etskum tchnickom imtitutu (MIT) pravili sujosjedan racunar. Za razliku od lAS-a, ENIAC-a i drugih slicnih masina kojc su radile s clugackim rccima i sluzile za slozena numericka izracunavanja, masina razvijcna na MIT-u, Whirlwind r. radilajc sa 16-hitnim recima i hilaje namenjena upravljanju u rcalnom vremenu. Taj projekal je podstakao pronalazcnjc memorijc s magnetnim jezgrom (lay Forrc~ter), a kasnije i razvoj prvog komercijalnog mini racunara.

    Dok se svc ovo dogadalo. IBM je bio mala kompanija koja se bavila proizvmlnjom busaca kartica i mas ina za njihovo sortiranjc. lako jc kompanija IBM del om tinansirala Aikena, nije bila previse zaitcresovana za racunare svc dok 1953. godine nije na trzi~te

    1.2 Kljucne tacke razvoja arhitekture racunara 19

    izbacila model 701, davno posto je kompanija Eckerta i Mauchleyja postala broj jedan na trz.istu s racunarorn UNIVAC. Model 70 l je imao 2048 36-bitnih reci, s dve instruk-cije po jednoj reci. To je bio prvi iz serije naucnih racunara koji ce dominirati sledecom decenijom. Tri gocline kasnije pojavio se model 704 koji je u pocetku imao 4096 reci osnovne mcmorije, 36-bitne instmkcijc i jeclnu novost - harclver za rad s brojevima u formatu pokretnog zareza. Godine 1958, IBM je poceo proizvodnju svog poslednjeg racunara s elcktronskim cevima, moclela 709, koji je bio unapredcni model 704.

    1.2.3 Druga gencracija- tranzistori (1955-1965) Tranzistor su 1948. godinc 1-1 Belovim laboratorijama prvi napravi1i John Bardeen,

    Walter Brattain i William Shockley. za sta Sll 1956. godine dobili Nohclovu nagradu za fiziku. Tranzistor je za samo 10 godina rcvolucionarno izmenio industriju racunara, tako cia su krajcm pcdcsctih godina racunari sa elcktronskim cevima smatrani preva-ziLknim. Prvi racunar s tranzistorima izraucnje jc ulaboratoriji Linkoln Masacusctskog tchnickog instituta. To je bila 16-bitna masina. napravljcna po uzoru na Whirlwind I. Nazvana je TX-0 (Transistorized eXperimental computer 0- tranzistorizovani ek-sperimentalni racunar 0) i predstavljalaje probni uredaj za razvijanje mnogo slozcnijcg model a TX-2.

    S racunarnm TX-2 nije sc mnogo udmaklo kadajejedan od inzcnjera koji su radili u laboratoriji, Kenneth Olsen, 1957. godine osnovao kompaniju Digital Equipment Corporation (DEC) za proizvodnju komercijalnog racunara veoma slicnog modelu TX-0. Prosle su cetiri gudine dok je taj racunar. PDP-I' uglcdao svctlost dana, uglav-nom zato sto su invcstitori DEC-a cvrsto vcrovali da za racunare ne postoji trziste. Uostalom, i siim T. J. vVatson, hivsi predscdnik IBM-a jednom je izjavio da svetsko trziste racunara zauzima samo pet ili scst pwcenata ukupnog trzista. DEC je zbog toga uglavnom prodavau male stampanc ploce.

    Kada se model PDP-I konacno pojavio 196 l. godine, imao jc 4096 18-bitnih reci i mogao je da izvrsava 200.000 instrukcija u sckundi. Pcrformansc su mu bile dvo-struko slahijc od IBM-ovog modela 7090, tranzistorizuv;111ug naslednika modela 709 i u to\ rcme najbr7.cg racunara na svetu. PDP-I Je kostao 120.000 do lara; model 7090 je kostao milione. DEC je prodao vise dcsctina model a PDP-I i tako jc rodcna indu-:-.trija mini racunara.

    Jed an od prvih mmlela racunara PDP-1 dat jc Masacusetskom tehnickom institutu, gde je: ubrzo privuk.ao pa/.nju neh.oliko nadohudnih genijalaca, tako cestih na MIT-u. !edna ocl brujnih novotarija modcla PDP-I bio je ekran rczolucije 512 x 5 12 tacaka. Nije dugo potrajalo. a studenli su pt"

  • ~T :if.~~~

    ~; ~-!: ~;;

    f I I !

    20 Poglavljc l: Uvod

    Omn1bus

    Stika 1-6. PDP-~ omnibus.

    U n1Lduvremenu, !Btvl jc na pojavu tranzistnra rcagovao tako sto je kao tr~mzisturizovanu vcrziju moJela 709 zarnislio model 7090, a kasnije i model 7004. MoJel 7094 imao je si.stemski ciklus od 2 mikrosekuncle i osnovnu memoriju od 32.536 36-bitnih reci. MoJeli 70LJ() i 7094 oznacili Sll kraj masina tipa ENIAC, ali SLI ipak to-kom sezdesetih godina dominirali naucnim racunarstvom.

    U vreme I--ada je IBM postala glavna kumpanija u oblasti naucnog racunar:,tva sa svojim model om 7094, zaradivala je i velike kolicinc nove a od malog poslovnog ra-cunara l...fO I. Taj modelje mogao da cita magnctske trake ida upisuje podatke na njih. da cita kartice i cia ih busi, ida rctultate stampa skoro isto tako brzo kao model 7094 - i to sve samo za de lie njcgove cene. Za naucnc proracune je bio katastrofalan, ali je odlicno vudio poslovne knjige.

    Model l...fO I bio jc neobican po tome stu uopste nijc irnao registre, cak ni fiksnu du/inu rcci. Memorija muse sastojala od 4000 X-bitnih bajtova, mada su kasniji mo-deli podr/avali i tada ne.camislivih 16.000 bajtova. Svaki bajtje sadrzao 6-bitni znak, administrativni bit i bit kojirn jc oznacavan kraj reci. lnstrukcija MOVE je, na primer, dohivsi izvorisnu i odredisnu adresu, prebacivala bajtove sa izvorista na odredi;te sve dok ne bi naisla na bajt u komc je hit predviuen za oznacavanje kraja reci bio l.

    Godine 1 9fJ...f, mala i nepoznata kompanija Control Data Corporation !CDC) pred-stavila je racunar 6600 koji je bio skoro .cared vclicine brzi od mocnog model a 709...f i svakog drugog tadasnjeg racunara. On jc .ca racunardzije bio .,ljubav na prvi pogled' i kornpaniji CDC uspeh je hio osiguran. Tajna njegow brzine i razlog sto je bio mno-go hrzi od model a 70Y4 lezali su u njegovom central nom pwcesoru koji je u velikoj meri koristio paralelan rad. On je sadrzao vise funkcionalnih jedinica za sabiranjc, mnozenjc i deljenje. a sve su rnogle raditi paralelno (istovremeno). Iako jc za iz-vlacenje maksimuma iz takve masine bi}o potrebno pazljivo programintlljC, liZ malo truda ~e mogln postici da ona istovremeno i;vrsava !0 instrukcija.

    f kao da to nije bilo dovoljno. model 66(lf) je imao i nit. mal ill pomocnih racunara, tako da je podsccao na Snezanu i sed am patul_1aka; to je ;:nacilo da je centralni proee-sor nesmctano mogao da .. mclje" brojeve, prcpustajuci detalje upravljanja i ulaz-no-i;.lazne opcracije malim racunarima. I1 sadasnje perst'ektive moglo bi se mirne duse reci da je model 6600 bio deset godina i:,pred svog vremcna. JVlnoga kljucna rescnja koja nalazimu u savremenim racun:1rima direktnu pnticu od modela 6600.

    Kon~trukt

  • "'"

    i ~ II.

    22 Poglavlje 1: Uvod

    Svojstvo Model30 Model40 Model 50 Model65 Uporedne performanse 1 3,5 10 21 Trajanje sistemskog ciklusa (nanosekunde) 1000 625 500 250 Maksimalna memorija (bajtovi) 65.536 262.144 262.144 524.288 Preuzeti bajtovi po ciklusu 1 2 4 16 Maksimalan broj kanala za podatke 3 3 4 6

    Slika 1-7. Pocetna ponuda IBM-ove proizvodnc linije 360.

    Druga velika inovacija u racunarima serije 360 bilo je multiprogramiranje (engl. nzultiprogrwnming), tj. mogucnost da se u memoriji istovremeno drzi vise programa, tako da dokjedan od njih ceka cia se zavrse ulazno-izlazne operacije, clrugi za to vreme moze da koristi procesor. To je rezultovalo boljim iskoriscenjem centralnog procesora.

    Modeli iz serije 360 bili sui prvi racunari koji su mogli cia emuliraju clruge racunare (da simuliraju njihov rad). Manji racunari su mogli da emuliraju model J 40 I, a veci model 7094, tako da su kupci mogli nastaviti da koriste svoje stare binarne programe pri prclasku na racunar iz serije 360. Neki modeli su programe pisane za racunar 1401 izvrsavali toliko brze od njega da mnogi kupci nisu ni menjali stare programe.

    Emuliran je je s tim mode lima islo lako jer su svi pocetni mocleli iz serije 360 -a i vecina kasnijih- bili mikroprogramirani. IBM je trebalo da napise samo tri mikro-programa: osnovni skup in~trukcija za seriju 360 i po jedan ~kup instrukcija za mo-dele 1401 i 7094. Takva fleksibilnostje i bilajedan od osnovnih motiva za uvodenje mikroprogramiranja.

    Modeli iz scrije 360 razresili su clilemu ,binarno-paralelno iii seri.Jski-decirnalno" jer se usvojilo kompromisno rescnje: racunari su snabc!eveni sapo 16 32-hitnih rcgi-stant za binarnu aritmetiku. ali im je mernorija organizovana po bajtovima, kao kod modela 1401. lsto tako, koristili sui serijske instrukcije u stilu modcla 1401 za pre-mdtanje zapisa promenljivc duzine u memoriji.

    Jos jedna vazna osobina racunara iz serije 360 bioje (za to vrernc) ogroman adres-ni pros tor od 224 ( 16.777.216) bajtova. Liz ondasnju cenu od nekoliko do lara po hajtu, tolika mcmorijaje izgledala nezamislivo velika. Seriju 360 je, nazalost, zamenila se-rija 370, a zatim i serijc 4300. 3080 i 3090 (sve sa istorn arhitekturom). Sredinom osamdcsetih godina ogranicenje memorijc je postalo ozbiljan problem, pa je lBM morao delirnicno c!a odustane od kompatibilnosti kada je presao na 32-hitnc adrcse neophodne za adresiranjc novih 232 bajta memorije.

    Gledajuci unazad, moglo bi se primetiti da je vcrovatno vee trchalo da imaju i 32-hitnc adresc jer su imali 32-bitnc reci i registre. ali u to vreme niko nije oz:biljntl mogao zamisliti racunar sa 16 miliona bajtova memnrijc. Kriviti IBM za nemanje vi-zije, bilo bi kao okrivljavati danasnjeg proizvodaca licnih racunara sto ima samo 32-bitne adrese. Za nekoliko godina, licnim racunarirna mozcla ce trebati mnogo vise od 4 rnilijarde bajtova memorije. pace 32-bitne adrese postati neprihvatljivo kratke.

    I svct mini racunara se dobro pokazao u trecoj generaciji. kroz seriju DEC-ovih model a PDP-II, 16-hitnog nasleclnika model a PDP-8. Serija PDP-II umnogome je

    1.2 Kljucne tackc razvoja arhitekture racunara 23

    podsecala na mladeg brata serije 360, slicno odnosu model a PDP- 1 i 7094. Modeli se-rija 360 i PDP-II irnaju registrc koji rade s recima i memoriju organizovanu po hajto-vima, a svi pokrivaju znatan raspon parametra cena!perforrnanse. Modeli iz ~erije PDP-11 pokazali su se kao veoma dobri, narocito u akademskoj sredini i odrzali su komaniju DEC na samom vrhu mec..lu proizvoc..lacima mini racunara.

    1.2.5 Cetvrta generacija- vrlo visok stepen integracije (1980- '?) Tehnologija, nezgrapno, ali tacno nazvana vrlo visok stcpen intcgradjc (engl.

    Very Large Scale Integration, VLSI) osamdesetih godina omogucilaje da se najedan cip smeste desetine hiljada, z~ltim stotine hiljada i na kraju milioni tranzistora. Ova-kav napredak tehnologije uskoro je duveo do proizvodnje manjih i brzih racunara. Pre modela PDP-I racunari su hili toliko veliki i skupi da su kompanije i univerziteti mo-rali da predviltaju posebne prostorije za njih, tzv. racunske centre. S pojavom mini racunara, svako oc!eljenje je moglo samostalno da kupi racunar za svoje potrcbe. Osamdesetih godina cene su pale toliko nisku da je i pojedinacni korisnik mogao sebi da priusti racunar. Tako je zapucela era licnih racunara.

    Licni racunari su korisccni sasvim drugacije od velikih racunara. Oni suuporeblja-vani za obradu teksta, za tahclarnc proracune i za hrojne vi~okointcrakti vne aplikacije (npr. igrice) s kojima se vcliki racunari nisu najbnlje slagali.

    Prvi licni racunari obicno su proclavani u ,kompletu'". Svaki komplet jc sadrzao plocu sa stampanim kolima. pregrst cipova mec..lu kojima jc ohicno bio Intelov cip 80::->0, par kablova, napnjnu jedinicu i mo/.da disketnu jedinicu od 8 inca. Sastavljanje racunara od delova prepustano je kupcu. Uz racunar nije isporul'i van nikakav softver. Ako vam je softver bin potrehan, morali ste ga sami napisati. Kasnijc je Gary Kildall napisan operativni sistcm CP/M koji je stekao veliku popularnost na racunarima s proccsorom 8080. To jc bio pravi operativni sistem za podrsku (disketnoj) jcdinici, sa sistemorn datoteka i komandama koje je korisnik s tastaturc zadavao komandnom procesoru ikomandnom ukruL.enju).

    Pujavio se i licni racunar druge vrste. prvo Apple. a kasnije i Apple [l (oba su kon-struisali Steve Jubs i Steve Wozniak, ito u garazi). Ti racunari su pustali veoma popular-ni medu kucnim korisnicima I u skolama, pajeApple prcko noci postao ozbiljan takmac.

    IBM, tada vodeca snaga u industriji racunara. posle mnogo oklevanja i osvrtanja knnacno je prelomio i oJ!ucio da se upusti u posao s licnim racunarima. Umesto cia svoj licni ral:unar projektuje od pocetka, koristcci samo sopst\ene komponcnte, sto hi prcdugo trajalo, !Bi\Ije uradio ndto ,~lo uopste nc lici na ovu kompaniju . .Jedan od ru-kovodilaca, Philip Estridge, snabdeven je dlakllm punim nuvca i oteran daleko ml bi-mkrata iL 'edista lirme u /\rmonku (dr?ava Njujurk), uz napomenu da sene vraca dok nc dunese kakav god upotr.:bljiv licni rat"unar. Estridgcjc usnmao radionicu daleko od scdista lirnw. u Huca Ratonu (Florida). i;abrao Intelov cip RO::->X za centralni pro-ccsur i napravio lHM-ov licni racunar (IGM Personal Computn. ]13,\1 PC) od kompo-ncnata koje je nasau na tr:li;lu. On j.: predstavljcn ! 9S I. gudine i odmah je postao najprodavaniJi racunar u istoriji.

  • 15" r.;o

    24 Poglavljc 1: Uvod

    IBM je povukao jos jedan neohican potez. ali jc zbog toga kasnije zazalio. LTmcsto da projekat racunara dr/i u tajnosti (iii harem da ga zastiti patentima). sto jc inace ra-dio. ohjavio jc kompletnc planove, zajedno sa clcktricnim semama u knjizi koju jc prudavao za 49 do lara ( 1 ). Zamisao jc hila da sc tako c!rugim kompanijama omoguc'i pravljcnjc dodatnih kartica za ll3M PC kako bi se povccala njcgova fleksihilnost i po-pularnost. Na nesrccu, posto jc projekat sada hio dostupan svima i posto su se svi delovi mogli lako naci na trZistu. brojne kompanijc su poccle da pravc PC klonovc, cesto jcftinije od originala. Tako je nastala citava industrija.

    [ako SLI i drugc kompanijc praviJc Jicnc racunarc korisleci drugc proce~OfC (npr. Commodore, Apple i Atari). dominacija imlustrije licnih IBM racunara bilaje toliko velika da su svc one naproslo zbrisane. Ostala ihje samo nekolicina i one danas poslu-ju na marginalnim lrzistima.

    Jcdan takav racunarje. iakojcdva, ipak prelivco, a tojc Appleov Macintosh. Ma-cintosh je prec!stavljen 19X4. godine kao naslednik zlosrecne Appleove Lise, koja je hila prvi racunar s gratickim korisnickim nkruzenjcm (engl. Gruphical User lnter-jilCe, GUI) slicnim danasnjem Winclowsu. Lisa je propala jer je hila prcskupa, ali je jel'tiniji l'vlacintu~h koji se pojavio godinu dana kasnije po~tigao veliku slavu pa su mu brojni obozavaoci postali vrlo privrzeni.

    Rano trziste licnih racunara uskoro jc izncdrilo do tada nei,kazanu zelju za pm,e-dtJvanjcm prenDsivog racunara. lJ to doba KllllCCJlt .. prcnosivog racunara' imao je is tO toliku smisla bo i sintagma ,.prcnosivi frizidcr .. c!anas. Prvi stvarno prenosivi licni racunar bio jc (}ihorne-1, koji je, buduci tezak II kg, vise ;:asluzivao atribut .. pnljaz-ni". lpak, on je dokazao da je konccpt prenosivog racunara real~m. Osborne-! je po-stigao skruman komcrcij~dni uspeh, ali je godinu dana kasnije kompanija Compaq na trzisk izhacila svoj prvi prenosivi IBM PC klnn i ubrzo postala lider na polju preno-:,i vih racunara.

    Prva verzija licnog IBM racunara prodavanajc sa operativnim sistemom MS-DOS, koji je isporucivala tada mala kumpanija Micrmnft. Kako je Intel proizvodio svc sna.l-nijc rnikropmcesore. IBM i Microsuft suunapredivali i\!S-DOS i napravili mu naslecl-nika - operativni sistcm OS/2, koji je radio u gralickom okru/.cnju slicnmn okruzenju Appleovog !Yiacintosha. U mcduvremcnu Microsoftje razvio i sopstveni opcrativni si-stem, Windows, koji se izvrsavao preko iv!S-DOS-a, 1:a slucaj da OS/2 ne bude prihva-cen. Da skratirno pricu, OS/2 zaista nije La.livco. IBM i Microsoft su se LIL mnogo buke javno .. razveli" i Micrusoft se okrenuo Windowsu. i prcko njega postigao veliki u'peh. Kako su malecki Intel i jos rnanji Microsoft uspeli cia s prestola svrgnu IBM, jcdnu od najveL'ih, najbogatijih i najmocnijih kompanija u i:-.toriji, ncsLO je stu se be;: sumnje de-taljno proucava ll poslovnim skolarna simm .-.;veta.

    Drzeci u ruci uspesan cip RO::S::S. Intel je 1-.rcnuo da pravi njcgove naprcdnije bolje verzije. Posebno jc paznjc vreclan procesllr 3X6. prcdstav ljcn 1985. godine, koji je u sustini hio prvi Pentium. lako su savrcmeni l'entiumi mnogo brl:i od pmcesora 386, oni su u pogkdu arhitekturc samo Ulldpredcni procesori 386.

    l.''ft"

    I i I

    ~

    1.2 tacke razvoja arhilekture racunara 25

    Sredinom osamc!esetih god ina pojavila se nova jcdnnstavnija i brza arhitektura R 1-SC. i zamenilaje staru, komplikovanu arhitekturu CISC. Dcvedcsctih godina pojavili su se superskalami rnikroprocesori. Racunari s njima mogli su istovrcmeno da iLvrSa-vaju vise instrukcija. cesto redoslcc!om drugacijim od njihovog rcdosleda u progranu. Pojmove CISC, RISC i superskalaran dclinisacemo u poglavlju 2 i ohjasnjavati ih knz Citavu knjigu.

    Sve do 1992. godine, licni racunari su hili 8-bitni, 16-bitni ili 32-bitni. Tadajc kom-panija DEC predslavila revolucionarni 64-hitni racunar Alpha, pravu 64-bitnu RISC masinu kojaje po performansama daleko iza sebe ostavila sve tadasnje licne racuna:e. Alpha je postigla skroman uspeh i pros Ia jc skuro dcccnija dok 6-+-bitni racunari ni~u bili na pravi nacin prihvaccni,. a i tada uglavnom samo kao vrhunski scrvcri.

    1.2.6 Pcta generacija- nevidljivi racunari God inc !9X l. japanska v lad a je saopsti Ia da je uclvDji Ia 500 mil iuna dulara kao po-

    moc domacim kompanijama koje razvijaju racunare pete gcracijc - zasnovanc na pri-meni VeSlacke inteligL'I1Cijc. StU Ce prcdstavJjati pravi 1-.valltlli ,;kok U udl1lSii ..glupave .. racunare cetvrtc generacije. Gledaju,:i godinama kako japanskc Kclmpanije malo po malo preuzimaju tr/.iste u mm,gim obla:.;tima (od kamcra. prcko stcrco-u~c:daja do telc\ iziJe), americke i evmp~ke prnizvodace racunara u trenu jc .r.1hvatila ra-nika i svi .su ud svojih vlada odmah zatra;:ili iinansij>kupumoL' za nstvarivanje i.s1og cilja. L;prkos pompeznoj najavJ. japanski pn1jekat racull..lra pete generacije u osnovi jc pwpao i tihu jc napu~ten. S njim se u izvcsnum ~mi:,lu dugmlilu ;to i ' Babbagw-vom ancllitickom masinnm- idcjaje hila \i;:ionarska. ali tuiil-.o isrrcd svDg vrcrmna da tehnt'lc'gija nijc nwgla daje rcaliLtljl'.

    Bdu k.ako bllo, onu Sto sc n1olc IL.tL\'ati pLtonl gcr~cr~t:ijon1 ir1ah. sc Uugodilo i ~un~t prili,no ncocekivan nacin: racun~ui su se smanjili. ,'\prkov NL'Wtun. pred~tavl en I ')lJ3. godinc. poLuau jc da .'.e mP2c napraviii racunar velik kolil-.u preno-.ivi ka~ctada IJlc)cni kni1J,.o i licni racunari od pre ncJ.-:llH.

  • ~ il!l'

    ' ~ ~il

    26 Poglavlje 1: Uvod

    Ako kao prvu generaciju smatramo racunare sa elektronskirn cevirna (npr. ENIAC), kao drugu tranzistorizovanc racunare (npr. IBM 7094 ), kao trccu prve racunare sa in-tegrisanim kolirna (npr. IBM 360), a kao cetvrtu licne racunarc (npr. sa lntelovim pro-cesorima), pcta generacija bi vise predstavljala promenu njihove namene ncgo neku specificnu novu arhitekturu. Racunari ce u buducnosti biti svuda, ugradcni u razne proizvode, i zaista- nevidljivi. Oni ce predstavljati rutinski cleo svakodnevice, pocev od otvaranja vrata, paljcnja (gasenja) svetla, pa do manipulacije novcern i hiljada dru-gih stvari. Ovaj model je prcdlozio pokojni Mark Weiser i nazvao ga sveprisutno racunarstvo (engl. ubiquitous romputing, pervasive computing) (Weiser, 2002). Sma-tra se da ce on promeniti svct bas kao sto ga je izmenila industrijska revolucija. Na ovom mestu necemo vise govoriti o sveprisutnom racunarstvu, a detalje o njemu po-trazite kod Lyytinena i Yooa, 2002; Sahae i Mukherjeeja, 2003; i kod Sakamure, 2002.

    1.3 RACUNARSKI ZVERINJAK U prethodnom odcljkuukratko smo prikazali proslost racunarskih sistema. U ovom

    cemo pretresti njihovu sadasnjicu i baciti pogled u huducnost. lako su najpoznatiji lic-ni racunari. clanas postoje i clruge njihove vrste, pa ih treha poglcdati.

    1.3.1 Tehnoloske i ekonomske sile lndustrija racunara napreduje hrze od hilo koje druge industrijc. Njena pokretacka

    snaga su proi.cvodaci cipova koji svake godine uspevaju da smcstc na cip sve vise i vise tranzistura. Stu vi;c tranzistora, tih ckktron~kih prckidaca. to je veca memorija. odnusno snazniji pmcesor. Gorc!Pn Moore. suosnivac i bivsi preclsednik lntcla, jed-nom sc ovako nasalio- da se avionska industrija razvija kao inclustrija racunara, na-pravili hi avion koji ohleti zemlju za 20 mimna uz potrosnju od dvade~etak litara goriva i kosta samo 500 dolara, a ne bi hio veci od kutije za cipelc.

    Dok jc priprcmao govor za jednu industrijsku grupaciju. Moore jc primctio da se nova generacija memorijskih cipova po pravilu uvodi svakc trcce godinc. Posto nova gcneraeija uvek donosi cetiri puta vise mcnmrije ud prcthmlnc. on jc zapazio da se hroj tranzistora na cipu puvecava lincarno ida ce sc takav trend nastaviti dcccnijama. Ovu njcgovo zapa/anjc po;.;taloje je punnto kao !\looreov zakon. Dan as se on tuma-ci tako da se bwj tran,:istora na cipu udvustrucava svakih 1 X mcseci, sto je ekviva-lcntno godi;njcm povcc'anju hrnja tranzistora za oko 60'/r. Vclicina memorijskih cipova uzavisnnsti ud datuma njihovog modenja u pruizvudnju (slika 1-X) potvn.luje vazenjc f\lourcuvog /.akona tokom perioda oJ preku tri Jecenijc.

    Mourcov .cakon nije tcorijski izvcdcn- to JC cmpirijsko zapa;:anjc hr zinc kojom ti-zicari i procesni inzenjeri unapreduju svoju spccilicnu tchnul

  • r:

    I :, ~ ~.

    ~ ~}t~ 1Jij

    ~' 28 Poglavljc I: Uvod

    jer Sll ll igri j drugi pararnctri, kao StU SU brzina prenosa poJataka, Vrcrne njihovog pronalazcnja i cena. Cotovo svaka primcnjena mctrika poka;,aee da se minos ccna/ perforrnanse od 1982. godine poveeavao po godi~njuj stopi ud harem 50')~. Ovakav rast perforrnansi diskova, zajedno sa cinjcnicom da je vrednost cli-;kova koji sc ispo-rucuju iz Siiicijumskc doline prevazisla vrcclnost isporuccnih procesorskih cipova, naveo je Ala Hoaglanda da posumnja u ispravnost njenog imcna: trebalo bi je nazvati Doli nom nksida gvo7.da (pusto se na diskovima on koristi kaomedijum za zapisivanje podataka).

    Jos jedna oblast koja se spcktakularno razvijala jesu tclckomunikacije i tchnologija umrezavanja. Za manje od dve dccenije, od modema br:tinc 300 bitova/s, preku ana-lognih modema br;inc 56.000 hituva/s, stigli smo do mrcza od optickih vlakana brzinc I 0 12 bitova/s. Transatlantski opticki telefonski kablovi, TAT-12/13, kostaju uko 700 miliona do lara, trc~ju l 0 gudina i mugu istovremcno da prenesu 300.000 poziva po ceni manjoj od ccnta za I 0-minutni medukontinentalni razgovor. DoLvana je moguenost rada optickih komunikacionih siskma brzin~ prcno'>a l 0 12 bitova/s na daljinama ucl preko 100 km bcz popcavaca. Eksponencijalni rast Intern~ta ne tr~ba ni puminj:1ti.

    1.3.2 Spektar racunara

    Richard !-lamming. svnjcvrcmeno i\trazivac u Rell'l'imlahor:ltorijama,jcdnom pri-likom .JC primetill da kvantitativ na promena ud jcdnug rcda \elicinc iJ.aziYa kvalitali-van skok. Tako trkacki autonwhil koji juri brlinnm 1000 km/h kroz pustinjuu ~cvadi prcLbtavlja '>asvirn dntgu vrslu autom->bila nd nurmalne ma~ine k(Jja 'e autoputem kreec: hrzinom I ()t) km/h. Slic1w tome. ohlakodcr od l ()() '>pratova nij~ '::nw LI'-'ccana st~unhcn .. 1zgrada od I 0 ~prtliU\ ~t. KaLla ~ovorin1o l) raCun~1ri1na. nc lni,-.;1irno na dL'SClo-suuki i",1ktor uvdanj~t. vee na uvec'anjc Pd mili"Il puu wknm tri dccemj~.

    Ra.-;t koji predv ida l\.ln(JJnJ\ zakun n~u7.e '"' iskurisiiti na vi~~ n.tcina . .lcd:u1 jC pra-vlj:...~n} .. ~ ~\c jaCih fLH~un:tra p(j istt>j ccni. f)ru~i jt._' pr~t,l_jl:njc~ i.~tog r~tCun:Jra koji Cc i~ gPdinc u gJ,!Jnu k,J~t.lli '"'" manjc. R:tl:unarsl-.;t !nd1Nrip Jt' j,,k,,n,til:l 1 jcd:!n i clrc.tgi prislup. a i \ iSe uJ l!)ga. zhug Ce~a dan~t\ i1n~nn~) \eurrLt ra/liCite rd~unarc. J~dna :-iJ>.-\illl ..,-:rub.t klasilikaLija '.bna\nji 11 ra_'unara prika;ar::tj.: na ,;l!ci 1-LJ.

    ~ia_ __________ -_--_=j~~~i~ru~-~_:=~--=-~I~;ir;er p~~e~e -===--=~=] I Za j~:?dr:ot

  • Bll!"!'" !IJ''

    ~!:

    30 Poglavlje 1: Uvod

    smo vee kod toga, zasto se novorodenoj deci ne bi odmah ugradivali Cipovi i tako iz-begla zhrka sa zamenom beba u porodilistima'' Vlada i policija bi, nema sumnje, nasli stotinc razloga za neprestano i i~tovremeno pracenje krctanja svih gradana. Nadamo se da su posledicc mogucih ,primena" RFID cipa sada malo jasnije.

    Jedna (nesto manje kontroverzna) primena RFID cipova mogla hi hiti pracenje kretanja vozila. Kada kompozicija zeleznickih vagona sa ugradenim RFID cipovima prode pored citaca, racunar vezan za njega moze da sastavi listu vlasnika tih vagona. Takav sistem omogucava saznavanje lokacije svakog zeleznickog vagona, sto po-maze snahdevacima, njihovim mustcrijama i zeleznici. Slican sistem se moze primc-niti i na kamionski transport. Kod putnickih automobila sistcm bi mogao naci primenu za clcktronsko naplacivanje putarinc.

    Transport p1tljaga avionom i drugi sistcmi transporta prtljaga takodc mogu imati koristi od RFID cipova. Ekspcrimentalni sistem koji jc testiran na londonskom aero-dromu Hitrou omoguCio je putnicima da sc oslobode nosenja tc!ikog prtljaga. Koferi putnika koji su se opredclili za ovu uslugu obelc:l.eni su RFID cipovima, upuccni po-sebnnm rutom kroz aerodromsku zgraclu i direktno isporuceni u njihove hotclc. U druge primcne RfiD cipova spadaju: obelezavanjc automobila na proizvodnoj traci prema boji kojomtreba da hudu ofarbani, proucavanje migracija zivotinja, odcca koja sarna saopstava ves-masini temperaturu pranja i stosta drugo. Neki cipovi se mogu in-tegrisati sa scnzorima tako da se u njihove manje znacajnc bitovc belc7.e temperatura, pritisak. vlaznost i drugi pararnctri okoline.

    Napredniji RFID cipovi imaju i stalnu rncmoriju. Ta mogucnost je navel a Evrop-sku centralnu banku da RFID cipove umecc i u nove an ice evra. Cipovi treba da beleze mesta gdc su bili. To cc falsiJikovanje evra uciniti gulovll nemogucim, ali cc omo-guciti i praccnjc opranog nove a i novca od ucena i pljacki, i mo;da omoguciti njcgovo daljinsko obezvrt:divanje. Kada novae vise ne bude anoniman, stanclardna policijska procedura u buducnosti bice utvrdivanje gde jc neki sumn.1ivi novae prethodno bora-vio. z~tsto trcba ugradivati cipovc u ljucle, kada su njihovi dzcpovi puni cipova? Naglasavamo. kadjavnost na pravi nacin sazna sta sc 'vc moze postici pornocu RFID cipova. vcrovatno cc to pobuditi izvcsnu raspravu.

    Tehnologija proizvodnjc RFJD cipova sc brzo ra...:vija. Najmanji cipovi su pasivni (ne koristc hatcnje; i svoj jcdinstvcni broj emituju ~amo kad pu,tuji antenski signal. Veci cipovi su aktivni, imaju batcriju i rudimentaran racunar, i nmgu da obavc odrede-na izracunavanja. lnteligentnc karticc koje sc koriste u Jinansijskim transakcijama spada.JU u ovu kategoriju.

    RFID cipovi ~e r~ulikuju po tome cia li su pasivni iii aktivni. ali i po opscgu ra-dio-frek vencija na koje sc odazi vaju. Oni koji rade na nizim frckvencijama odlikuju sc malom brzinlllll premha ]Xlclataka. ali su o~etljiviji na antenski sig-nal. Kod onih knji rade na vi~im frekvenujama situacijaje ubrnuta: im.ina prcnosa podatakaje vcca. ali je domct otkrivanja kraci. Cipovi se razlikujujos p

  • I ! t ~t

    rr .. I h !

    32 Pnglavljc 1: Uvod

    vise proizvodnim troskuvima nego ccnom cipa koji kosta na slotine dobra. premcla ccna mikrukontrolcra uvcliko zavisi i ocl lLJga' koliko t>itova istovremcno radi, koliko memorije ima, i od drugih cinilaca. Da biste ~tekli bar ncku prcd,tavu. reci cu cia 8-bitni mikrokontrolcr (ako ih odjcdnom kupitc dovoljno) verovatno mozete dobiti za oko I 0 centi po komadu. Zbog takve cene mozetc da ugraditc racun

  • r u! fj(/ H'

    !

    ' ~, ; at.

    34 Poglavlje 1: Uvod

    Slika 1-10. Stampana mutiCna ploca nalazi 'e u sredislu svakog licnog racunara. Na slici JC fotografija Intelovc maticnc ploce D875PBZ. Sva prava na fotografiju zadr?.ava korporacija Intel,

    2003. a ovde jc upotrebljcna uz njcnu dozvolu.

    I. Podno7je za proccsor Pentium 4 2. Cip R75P Dl podr.,ku 3. Podno?ja ;:a rnemorij,kc Cipove -L AGP uticnica

    1.3.8 Skup radnih stanica

    5. Prikljucak za disk o Ciigahitni Ethernet 7. Pet PC! uticnica

    8. USB 2.0 prikljucci lJ. I-IIadcnjc 10. BIOS

    Zbog svc povoljnijeg ounosa ct:na/pcrfonnanse kod raunih slanica i licnih racunara, klm\lruktori siskma su ud nedavno poceli da ih uvcliko povczuju u skupove radnih stanica (engl. Clusters of Workstations, COWs), ponckad zvane klasteri (engl. clu-sters). Oni su sastavljeni od standardnih lie nih racunara iii radnih stanica povezanih gi-gabitnim mrcl:ama i izvrsavaju spccijalan softver koji svim racunarima u skupu omogucava da radc na zajednickom problemu, cesto iz oblasti nauke iii inzenjerstva. Ti racunari su obicno ono sto hismo nazvali potrosna roba (engl. Commoditv Of/The She!;; COTs), tj. mogu sc nahaviti od svakog proizvmtaca racunara kao dncvnc novine.

    1.3 Racunarski zvcrinjak 35

    Glavna razlika je u mrdnom prikljucku velike brzine, ali je ponekad i to standardna komercijalna mrezna kartica. Klasteri se lako mogu prosirivati, od samo nekoliko, pa do hiljadu racunara. Obicno je samo novae ogranicavajuCi cinilac. ZahvaljujuCi niskoj ceni komponenata, sada i pojedinacna odeljenja u organizaeijama mogu da imaju tak-ve racunarc.

    Konfiguracija COW se koristi i za Web servere na Internetu. Kada na Weh lokaciju stize hiljade zahteva u sekundi, cesto je najekonomicnije resenje dzinovski klaster od stotinu, pa cak hiljadu servcra. Dolazni zahtevi se tacla raspodeljuju na vise servera kako bi se istovrcmeno mogli obraditi. Kada se koristi na ovaj nacin, COW se cesto zove i farma scrvera (engl. serverf(mn).

    1.3.9 Centralni racunari Evo nas kod ccntralnih racunara (engl. nwinfmmes)- racunara velicine sohc koji

    postoje jos ocl sezdesetih godina. U mnogim slucajevima oni su direktni potomci IBM-ovih centralnih racunara iz serije 360 od pre nekoliko decenija. Uglavnom nisu mnogo hrzi od mocnih servera, ali uvek imaju veci ulazno-izlazni kapacitcl i cesto su opremljcni prostranim farmama diskova na koje se mogu smestiti hiljadc gigabajta podataka. lako su skupi, cesto se odrzavaju u radnom .-;tanju da bi se opravdala ogromna ulaganja u softver, podatkc, radne procedure i osoblje. Mnogim kompanija-maje jeftinije cia povremcno placaju par miliona do lara za nov centralni racunar, nego da rcprogramiraju sve svojc aplikacije za rad na manjim racunarima.

    Ovo je klasa racunara koja je prouzrokovala cuvcni problem ,:?.000. godina' jer Sll prograrncri na COBOL-u iz sezdesetih i sedamdcsetih godina godinu u datumu pred-stavljali pomocu dvc clecimalnc cifre (u nameri da ustede memoriju). Nisu ni po-misljali dace njihov softver z.ivcti tri iii cctiri decenijc. lako se predviltana katastrofa nijc dogodila zahvaljujuci ogronmom trudu ulozenom u resavanjc problema, mnoge kompanije Sll ponovile istu gresku tako sto Sll dodalc godini jos dve cifre. Zato sam slobodan da prcdvidim kako cc sc 31. dccemhra 9999. godinc okoncati civilizovan svet kakav poznajemo. Toga dana cc istovremeno otkazati svi, 8000 godina stari pro-grami napisani na COBOL-u.

    Uz to stu sc na njima izvrsava softvcr star prcl..o 30 godina. recirno i to da od ne-davno, zahvaljujuci lntcrnetu. ccntralnim racunarima nadenc su nove namcnc. Sada radc kao mocni Internet servcri, na primer, za obradu ogromnog broja transakcija elektronske trgovine u sekundi. narocilo u poslovnirn oblastima gdc sc barala ~a og-rornnim bazama podataka. Jako su glavnc tcme ove knjigc licni racunari, servcri i mi-krokontrolcri, u poglavlju 5 jos malo ccmo govuriti i o ccntralnim racunarima.

    Do ncdavno jc pw;tojalajos jcdna kategorija racunara, cak mnogo mocuija ml cen-tral nih racunara, a to su superrai:unari (engl. .\upercumputers). Oni su imali izuzetno brzc mikroprocesore, mnogo gigabajta radne memorije i vrlo brze diskove i mrczc. Korisceni su za ohimna naucna i tchnil'ka izracunavanja. kao .~to su simulir~rnje suda-ra galaksija. pravljcnjc novih lckova iii moclelovanjc toka vazcluha oko avionskih kri-la. r'vlcdutim. pu~lednjih godina klasteri ral'unara obczbectuju istu racunarsku snagu po mnogo nizoj ccni, pa su pravi superracunari na pragu izumiranja.

  • iv~ ~ . '

    i~'

    36 Po~lavlje 1: Uvod

    1.4 ODABRANI PRIMER! PORODICA RACUNARA U ovoj knjizi cemo obraditi tri vrste racunara: licne racunare, servere i ugradene

    racunare. Licni racunari nas zanimaju jer svaki citalac nesumnjivo ima jedan takav. Servcri nas zanimaju jer izvrsavaju svc usluge na lntcrnetu. Najzad. ugradcni racuna-ri, iako skriveni od poglcda korisnika, upravljaju automobilima, lelevizorima, mikro-talasnim pecnicama, ves-masinama i skoro svim drugim elektricnim uredajima koji ko::.wju vise od 50 dolara.

    u ovom odeljku. ukralko cemo prelbtaviti tri racunara koje cemo koristiti kao pri-mere kroz citavu knjigu, po jedan iz svake od tri kategorije. To su racunari s pruce-sorima Pentium 4, UltraSPARC Ill i 8051.

    1.4.1 U vod u Pentium 4

    Rnbert Noyce. pronalazac silicijumskog integrisanog kola, Gordon Moore (cuvcn po svom zakonu) i Arthur Rock, invcstitor iz San Franciska, 1968. godine osnovali su kompaniju Intel da bi proizvodili rnemorijske cipove. U prvoj godini poslovanja Intel je prodao cipovc u vrednosti od samo 3000 dolara. ali jc posle toga posao krenuo.

    Krajem sezdesetih godina kalkulatori su bili nczgrapne elcktromehanicke masine vel icine sadasnjeg laserskog stampaca i tdke dvadesetak kilograma. U septembru Jl)69. god inc, japanska kompanija Busicom uputila jc zahtev Intelu da za nju proiz-vede 12 specijalnih cipova za ugradnju u buduci clektronski kalkulator. Intelov in-zenJer Ted HolT koji je bio zadu!.en za ovaj projckat zakljucio je dace 4-bitni procesor opstc namene ~mcsten na jedan jedini cip obaviti isti ptlsao uz manje komplikacija i troska. Tako jc Jl)70. godine roden prvi mikroprocesor na jednom cipu - proccsor 4004 sa 2300 tranzistma ( Faggin ct a\., ll)l)6 ).

    Treha primetiti da ni Intel ni Busicom nisu bili svesni sta su postigli. Kadaje Intel odlucio da ipak pukusa da upotrcbi cip 4004 ill drugim projektirna. on je ponudio da Busicomu vrati sve sto je ova firma ulo/.ila u lntclt:a ra...:vijanje tog cipa ((}0.000 do-lara) kao naknadu za sva prava na njcga. Intelova ponudajc prihvacena i onje odmah poceo da razvija X-bitnu verziju cipa 8008. kojaje predstavljcna 1972. godine. Na sli-ci 1-11 pri kazana je porodica [ntelovih cipova, pocevsi od prvih: 4004 i 8008.

    [ntelnijc ocekivao vc\iku potraznju cipa 8008. paje izgradio proizvodnu liniju ma-log kapaciteta. Potr:tznja je. na opste zaprepascenje. bib iznad svih ocekivanja. pa je Intel zapocen projektovanjc novog mikroprocesnra kl'ji bi prevazisau ogranicenja cipa 8008 ( 16 KB mcmorije) nastala zbog malog broja nozica. Tako je n)Ltcn 8080. mali mi-kroprocesor opste namene. koji je prcclstavljen 1974. godine. Slicnn racunaru PDP-8. i uvaj proizvod jc munjevito osvojio tdistc i mlmah postau roba ;iroke potrosnjc. Sa-rno. umeshl da kan DEC prodProccsori 8088 i 8086 nisu mogli adrcsirati \ i'c nd jcdnog mcgabajta mernurje. Pocetknm osamdesetih goclina lo je pustajalo sve oLhiljniji problctn. pa jc Intel po-jektovao prucesor 80286. kompatibilan s procesnwm 8fJ86. Osnovni skup instrukcija u osnovi je bio isti kao kod procesora 8086 i 8088. ali je urganizacija memuriJe til a sasvim clrugacija- prilicno ne...:grapna. zbog zahtcva za kompatibiln

  • IIIII::!!!"''"''"-~~ r

    .;~ 38 Poglavlje 1: Uvod

    Nakon cetiri gmline, pojavio se procesor 80486. To je bila znatno br:la verzija pro-cesora 80386. s podjcdinicom za racunanje u formatu pokretnog zareza i kes merno-rijom od 8 kilobajta na samom cipu. Kes memorija iii jednostavno kes (engl. cache memory) korisccnajc za cuvanje najcesce upotrcbljavanih mcmorijskih reci u samom mikroprocesoru iii u njegovoj neposrednoj blizini kako bi se izbeglo (sporo) pri-stupanje glavnoj memoriji. Cip 80486 imao je i ugradenu podrsku za viseprocesorski rad kako bi sc proizvodacima omogucilo da sklapaju sisterne u kojima vise proccsora deli zajednicku memoriju.

    U to doba Intel je na neprijatan naCin saznao da sc brojcvi (npr. 80486) ne mogu pravno zastititi (izgubivsi sudski proccs u vczi sa zastitom irnena proizvoda), pa jc sledeca generacija procesora dobila ime Pentium (od grcke reci za pet). Za rcu.liku od procesora 8041\6, koj i je imao jedan unutrasnji kana! za podatke (engl. pipeline), Pen-tium je dobio dva takva kana! a pa je bio dvostruko brzi (o kanalima za podatke govo-ricemo u poglavlju 2).

    Kasnije, tokom proizvodnje ovog procesora, Intel je dodao i specijalan skup in-strukcija za pod1sku multimcdiji (engl.lvlu/rilvlcdia eXtension, MMX). One su bile namenjene ubrzanju obradc zvuka i slike da bi se izbegla ugradnja specijalnog kopro-cesora za obradu mutimedijskog sadrzaja.

    Kada se pojavila slcdeca gcneracija proccsora, razocarali su se korisnici koji su ocekivali da cc to biti ,Sexium" (sex jc latinska rcc za scst). I me Pentium je vee bilo toliko pozna to da su marketinski strucnjaci zeleli da ga zadrzc, pa je no vi cip nazvan Pentium Pro. Bez obzira na neznatnu promenu imena, konstrukcija je bila radikalno drugacija. U rnesto elva i vise kana !a za podatke, Pentium Pro je clobio sasvirn drug a ciju unutrasnju organizaciju i mogao je istovrerneno da izvrsava do pet instrukcija.

    Druga novost u procesoru Pentium Pro hilaje clvostepcna kcs memorija. Proeesor-ski cip je imao 8 kilobajta hrze memorije za cuvanjc najce~ce koriscenih instrukcija i drugih 8 kilobajta za cuvanje najcdce koriscenih podataka. U pakovanju s Penti-umom Pro (aline na samom cipu) nalazila se i druga kes-memorija od 256 kilobajta.

    Iako je Pentium Pro imao veliki kes, nije dobio MMX instrukcije (posto Intel nije mogao da proizvede tako veliki cip po prihvatljivoj ceni). Kadaje tehnologija napre-dovala dovoljno cia su se na istom cipu mogle smestiti i MMX instrukcije i kes, kom-binovani proizvod je predstavljen svetu kao Pentium II. Da bi se uhrzao rad sa 3D graf1kom, kasnije je dodato jos instrukcija za podrsku multimediji. One su nazvane SSE instrukcijc (engl. Strea111ing SIMD Extensions) (Raman et al., 2000). Novi cip je postao po1.nat kao Pentium III. ali je u sustini to i dalje bio Pentium ll.

    Slcdeci procesor Pentium zasnuvan je na potpuno clrugacijoj unutrasnjoj arhitek-turi. Da bi obdezio taj dogadaj, Intelje s rimskih brnjeva pre~ao na arapske i ncu:vau ga Pentium 4. Kao sto se i ocekivalo. Pentium 4 je bio brzi od svih svojih prcthodnika.

    U verziju koja je imala radni takt od 3,06 GHz uvedena je i zanimljiva nova mo-gucnost- istovremeni rae! s vise programskih niti. Onaje ornogucavala programima da svoj rae! podele u elva programska toka kojima je Pentium 4 rnogao paralclno da upra-vlja, sto jc ubrzavalo izvrsavanjc. Osim toga. dodat jc jos jedan poclskup SSE instruk-cija za dopunsko ubrzanje obrade zvuka i slike. Na slici 1-12 prikazanaje fotogralija cipa Pentium 4. Onje dimcnzija 16 111111 X 13,5 nun- jedan izuzetno veliki cip.

    I A Odahrani primeri porodica racunara

    Slika 1-12. C:ip Pentium 4. Sva prava na fotografiju z.'rdr/.ava korporacija Intel. 2003. ovde jc upotrcbljcna UL njihuvu duLvolu.

    39

    Osirn glavne serijc svojih procesora 7.a licnc racunarc koju smo upisali, Intel je pro-izvodio i verzije Pentium cipova namenjene specijalnim trzistima. Pucetkom 199:-l. godine Intel je predstavio novu seriju pro..:csora nazvanu Ccleron. jcrtiniju i pn per-forrnansama slabiju verziju I'entiuma IL namenjcnujeftinim PC racunarima.

    Posto Celeron ima istu arhitckturu kao i Pentium II, neccmo ga u ovoj 1-.njizi vise razmatrati . .luna 1998. godine Intel je proizveo speLijalnu verziju Pentiuma II za za-htevnijc trz.iste. Ovaj procesor, nazvan Xeon. irnao je vecu kes mernoriju. br/u mag:i-stralu i holju podrsku1.a viscproce~orski rad. ali jc u su.~tini o'tan Pentium II, tako da ni njega necemo poscbno izdvajati. Pentium III jc takocte imao svPju verziju Xeon.

    Novembra 2000. godine Intel jc prcdstavio Pentium 4 koji je izvrsavao iste pru-grame kao Pentium III i Xeon, ali je imao sasvirn novu konstrukciju. U vcrziji kojajc imala radni tal-.t od 3,06 GHz uvedcn je istovrcmeni rad s vi;e programskih niti (o tome cemo govoriti u puglavlju X).

    Clodine 2003. Intel jc proizveo procesor Pentium :\1 (!\11 oznaeava Mubile). cip na-menjcn prenosivim racunarima. On je hio cleo arhitekturc Ccntrino. a ciljevi su bili manja potrosnja radi duzcg trajanja baterija. manji i laksi racunari i ugradena podrska za be:l.icno umre:l.avanje prema ( WiFi) stanc!ardu IEEE 802.11. Intel je nameravao da ponudi skupove cipova i za drug:e buduce spcciticnc primene- na primer, za uredaje za kucnu L

  • 40 Poglavljc l: Uvod

    Svi Jntdovi cipovi su kompatibilni sa st

  • !!'!'" ... Poglavljc 1: Uvod

    Sunje uvek tezio da arhitekturu procesora SPARC odr:li otvorenu, s mnogo doha-vljaca dclova i sistema, kako hi podstakao razvoj industrije i stvorio konkurenciju u svetu licnih racunara u kome su vee' dominirali Intelovi mikroprocesori. Da hi stckao povcrenje kompanija kojc su se zanimale za procesor SPARC, ali nisu zclele da ulazu novae u konkurentski proizvod, Sun je stvorio industrijski konzorcijum SPARC In-ternational koji c'e upravljati razvojem huduc'ih verzija arhitekture proccsora SPARC. Shodno tome, vazno je uociti razliku izmedu SPARC arhitekture koja predstavlja spe-cifikaciju skupa instrukcija i drugih moguc'nosti vidlji vih programerima, i konkretne realizacije tc arhitekture. U ovoj knjizi havic'emo se i opstom SPARC arhitekturom, i (u okviru teme o procesorskim cipovima u poglavljima 3 i 4) konkretnim SPARC ci-povima ugradcnim u radne stanicc Sun.

    Prvi SPARCje hio 32-hitna masina kojaje radila na 36 MHz. Procesor nazvan ce-Iobrojna jedinica (engl. Integer Unit, IU) hio je mali, sa samo tri osnovna formata za instrukcije i ukupno 55 instrukcija. Pored toga, jedinica za racunanje u formatu po-krctnog zareza imalaje i svojih 14 instrukcija. Ovo sc mozc uporediti sa razvojcm In-telovih procesora, koji jc poe eo 8-hitnirn i 16-hitnim cipovima (S088, 8086, 802S6 ), da hi 32 hita dostigao tck sa procesorom 80386.

    Prvi SPARC-ov raskid s proslosc'u desio se 1995. godine, kada je stvorcna de veta verzija SPARC arhitekture. prava 64-hitna arhitektura sa 64-hitnim adresama i rcgi-strima. Prva Sunova radna stanica u kojuje implcmcntirana arhitektura V9 (verzija 9) hila je stanica UltraSPARC I, predstavljena 1995. godine. (Tremblay i O'Connor, 1996). !ako je hila 6-+-bitna, ona je na hinarnom nivuu hila potpuno kompatibilna s postojccim 32-hitnim SPARC raclnim stanicama.

    UltraSPARC je bio namcnjcn novim trz.istima. Dok su dotadasnji racunari radili sa alfanumerickim podacima i izvrsavali program za obradu tcksta i program za unakrs-na izracunavanja, UltraSPARC jc ohraL1ivao slikc. zvuk, video zapis i multimediju u celini. Osim 64-bitne arhitckturc. bilo jc tu jos nov ina kao sto su 23 nove instrukcije, medu kojirna i nckc za pakovanje i raspakivanje pikscla iz 64-bitnih reci, za menjanjc velicine i rotiranje slika. premdtanjc hlokova tc za komprimovanje i dekomprirno-vanje video zapisa u rcalnom vremcnu. Ovc tzv. VIS instrukcije (Visual Instruction Set. skup .,vizuclnih' instrukcija) bile su namenjene za opsti rad s multimedijom. ana-logno lntelovom skupu MMX instrukcija.

    UltraSPARC je bio namenjcn najl'ahtevnijim aplikacijama, (npr. velikirn Web \cr-vcrima s vi~e desetina proccsora i tizickommcmorijom do 8 TB (I Tl3 terabajt,jednak je !0 12 bajtova). Mcdutim. njegovc slabijc vcrzije moglc su sc koristiti i u prcrwsivim racunarima.

    UltraSPARC J su tprirodno) naslcdili UltraSPARC II, LlltraSPARC' Ill i Ultra-SI'ARC IV. Ovi modcli su se prvcnstvcno razlikovali po radlll'lll tak.tu, ali je u svaki clodato .JOS pondto. Kada budcmo govmili o SPARC arhitckturi u ovoj knjizi, uglav-nom c'cmo kao primer koristiti 64-hitni V9 model UllraSPARC Ill Cu. UltraSPARC IV je u osnovi procesor u k

  • 4-t Poglavlje 1: Uvod

    Da bi napravio sortvcr, kupac jt: morao imati i razvojni sistem. Tu su na scem1 stupali cipovi 875 l i 8752. Oni su bili mnogo skuplji od cipova 805 I i 8052, ali ihje kupac mogau programirati za potrche ispitivanja softvcra. Kada bi se nasla grcska u kodu, program se iz cipova '11,75 I i 8752 mogao izbri~ali tako sto Sll se cipovi izlagali ultraljubicastoj svetlosti, poslc cega bi se u njih mogao upisati nov program. Kada hi ispitivanje solhera bilo zavrseno, softvcr hi bio prosledcn proizvodacu cipova, h.oji bi tada napravio namcnskc cipovc 805 I ili 8052 s clatim koclom.

    U pogledu arhitckture, prikljucivanja i programiranja, svi pripadnici poroclice MCS-5 I hili Sll vrlo sl icni. Zbog jednostavnosti najvise c'emo pominjati cip 8051' isticuci po cernu sc razlikujc od drugih cipovc gde je to potrebno.

    Nekima cc Ufimanje za primer 8-bitnog cipa starog barem 20 godina zvucati po-malu cudno, ali za to postoje dobri razlozi. Godisnje se proda mikrokontrolera oko 8 milijardi. a taj broj i dalje rastc. Ovaj hroj za reel vdicine prevazilazi broj godisnje prodatih Pentiuma. Tck je 2001. gmline broj 8-bitnih mikrokontrolera prevazi.;;m broj prudatih 4-hitnih mikrokontrolera. Trenutno prodaja 8-bitnih mikrokontrolera preva-zilazi sve druge mikrokontrolere zajcdno. a porodica cipova MCS-51 najpopularnija je porodica 8-hitnih cipova. Kada unncmo u obzir vaznost ugradcnih sistema. svako ko proueava arhitckturu racunara mora da poznajc cipovc koji se unjima koriste, a cip 8051 jeclan jc od najpopularnijih La tu svrhu.

    Mnogo sta je doprinelu uspcsnosti cira 8051. Prvajc i najvaznija njcgova cena. U zavisnosti od broja naruccnih komada, Cip 8051 moze ;,e dobiti .-:a o~o I 0 do 15 centi, pa cak i jeitinije ako jc narudzbina vclika. Nasuprot tome. 32-bitni mikrukontrolcri po pravilu kostaju oko 30 pula vise, dok su I o-bitni ncgde innedu. Za pn>il\'C>JC cijaje cena na slobudnnm tr7.istu manja od 50 dulara. smanjcnje proizvodniil troskuva i za par dolara znaci mnogo u pogledu cenc i pnxi:lje. To je glavni razlg popularno~ti cipa ~05 I -on je iw1.etno jeftin.

    Drugo, vise od polovinc kompanija koje prave cip X05l proiL'vndc ga po IntchJvoj licenci. NjihPvi proizvocli pokrivaju sirok raspon brzinc. ud prvobitnih i 2 MHz do 100 M!-lz, a prave se razlicitim tehnologijama i dru!:'-a