02-org_arh_racunara_sajt.pdf

35
15 POGLAVLJE E VOLUCIJA I PERFORMANSA RAčUNARA 2.1 Kratka istorija računara Prva generacija: vakuumske cevi Druga generacija: tranzistori Treća generacija: integrisana kola Kasnije generacije 2.2 Projektovanje za performansu Brzina mikroprocesora Ravnoteža performanse Poboljšanja u organizaciji i arhitekturi čipa 2.3 Više jezgara, MIC i GPGPU 2.4 Evolucija arhitekture Intel x86 2.5 Ugrađeni sistemi i ARM Ugrađeni sistemi Evolucija ARM 2.6 Procena performanse Brzina generatora takta i instrukcije u sekundi Programi za merenje performansi Amdahlov zakon Littleov zakon 2.7 Dodatna literatura 2.8 Ključni pojmovi, kontrolna pitanja i problemi

Upload: amarcerimagic

Post on 14-Sep-2015

8 views

Category:

Documents


1 download

TRANSCRIPT

  • 15

    Poglavlje

    Evolucija i pErformansa raunara

    2.1 Kratka istorija raunaraPrva generacija: vakuumske ceviDruga generacija: tranzistoriTrea generacija: integrisana kolaKasnije generacije

    2.2 Projektovanje za performansuBrzina mikroprocesoraRavnotea performansePoboljanja u organizaciji i arhitekturi ipa

    2.3 Vie jezgara, MIC i GPGPU

    2.4 Evolucija arhitekture Intel x86

    2.5 Ugraeni sistemi i ARMUgraeni sistemiEvolucija ARM

    2.6 Procena performanseBrzina generatora takta i instrukcije u sekundiProgrami za merenje performansiAmdahlov zakonLittleov zakon

    2.7 Dodatna literatura

    2.8 Kljuni pojmovi, kontrolna pitanja i problemi

  • 16POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    ciljEvi uEnjaPoto prouite ovo poglavlje, trebalo bi da ste sposobni da:

    u Date pregled evolucije raunarske tehnologije od prvih digitalnih raunara, pa do najnovijih mikroprocesora.

    u Razumete kljuna pitanja performanse koja se odnose na projektovanje ra-unara.

    u Objasnite razloge prelaska na organizaciju sa vie jezgara i razumete kom-promis izmeu ke memorije i procesora na jednom ipu.

    u Uoite razliku izmeu organizacija sa vie jezgara, MIC i GPGPU.u Date pregled evolucije arhitekture x86.u Definiete ugraene sisteme i navedete neke od zahteva i ogranienja koje

    razni ugraeni sistemi moraju da zadovolje.

    u Ukratko izloite neka od pitanja procene performansi raunara

    Nau studiju raunara poinjemo kratkom istorijom. Ta istorija je sama po sebi zani-mljiva, a takoe slui i za obezbeenje pregleda strukture i funkcije raunara. Zatim emo se posvetiti pitanju performanse. Razmatranje potrebe za uravnoteenim kori-enjem raunarskih resursa prua kontekst koji je koristan u celoj knjizi. Najzad, ukratko razmatramo evoluciju dva sistema koji slue kao kljuni primeri u celoj knjizi: porodice procesora Intel x86 i ARM.

    2.1 KratKa istorija raunara

    Prva generacija: vakuumske ceviENIAC ENIAC (Electronic Numerical Integrator And Computer), koji su projekto-vali i ije su konstruisanje nadzirali John Mauchly i John Presper Eckert sa Univerzi-teta Pensilvanije, bio je prvi elektronski digitalni raunar opte namene1. Projekat je bio odgovor na potrebe SAD za vreme II svetskog rata. Armijska Ballistic Research Laboratory (BRL), agencija odgovorna za razvoj tablica dometa i trajektorije za nova orua, imala je potekoa da vojsku snabdeva takvim tablicama, u okviru razumnog i tano utvrenog vremena. Bez tih tablica gaanja, nova orua su artiljercima bila bez ikakve koristi. U BRL se zaposlilo vie od 200 ljudi koji su, koristei stone kalkulatore, reavali potrebne balistike jednaine. Priprema tablica za jedno orue oduzimala je jednoj osobi mnogo sati, pa ak i dana.

    John Mauchly, profesor elektroinenjerstva na Univerzitetu Pensilvanije i John Eckert, jedan od njegovih diplomiranih studenata, predloili su da izgrade raunar opte namene za BRL-ovu aplikaciju, koristei vakuumske elektronske cevi. Vojska je

    1 Na veb stranici pridruenoj ovoj knjizi postoji vie linkova ka fotografijama mnogih ureaja i komponenata koje se razmatraju u ovom odeljku.

  • 2.1/KRAtKA IstORIJA RAUnARA17

    1943. godine prihvatila taj predlog i rad na ENIAC-u je zapoeo. Rezultat je bio ogro-mna maina, mase od 30 tona, koja je zauzimala prostor povrine od oko 140 kvadrat-nih metara i sadrala vie od 18000 vakuumskih cevi. Kada je radila, ona je troila vie od 140 kW elektrine energije. Bila je i mnogo bra od bilo kog elektromehanikog raunara, jer je izvodila 5000 operacija sabiranja u sekundi.

    ENIAC je bio decimalna, a ne binarna maina. To znai da su brojevi bili pred-stavljani u decimalnom obliku i aritmetika je izvravana u decimalnom sistemu. Nje-gova memorija se sastojala od 20 akumulatora, od kojih je svaki bio sposoban da dri 10-cifarni decimalni broj. Prsten od 10 vakuumskih cevi predstavljao je svaku cifru. U svakom trenutku, samo jedna vakuumska cev bila je u ukljuenom (ON) stanju, pred-stavljajui jednu od 10 cifara. Glavni ENIAC-ov nedostatak bio je to to je on morao da se programira runo, postavljajui prekidae i ukljuujui i iskljuujui kablove.

    ENIAC je bio zavren 1946. godine, suvie kasno da bi bio upotrebljen u ratnim operacijama. Umesto toga, njegov prvi zadatak bio je da izvri niz sloenih prorauna koji su pomogli u odreivanju izvodljivosti hidrogenske bombe. Upotreba ENIAC-a, za namenu drugaiju od one za koju je bio izgraen, pokazala je njegovu optenamen-sku prirodu. ENIAC je nastavio da radi pod upravljanjem BRL-a do 1955. godine, kada je bio rastavljen.

    VoN NEumANNoVA mAINA Zadatak unoenja i promene programa za ENIAC bio je izuzetno teak. Proces programiranja je mogao da se olaka ako bi se program predstavio u obliku pogodnom za skladitenje u memoriji uz podatke. Tada bi raunar mogao da dobija svoje instrukcije itajui ih iz memorije, a program bi mogao da se podeava ili menja postavljajui vrednosti u delu memorije.

    Ta zamisao, poznata kao koncept unutranjeg programa, obino se pripisuje ENIAC-ovim projektantima, najvie matematiaru John von Neumannu, koji je bio savetnik na projektu ENIAC. U isto vreme tu ideju je razvio i Alan Turing . Ideja je prvi put objavljena 1945. godine, u von Neumannovom predlogu za novi raunar, EDVAC (Electronic Discrete Variable Computer).2

    Von Neumann i njegove kolege poeli su, 1946. godine, na Prinstonovom institutu za napredne studije, projekat novog raunara sa unutranjim programom, poznatog kao raunar IAS. Raunar IAS, iako nezavren do 1952. godine, predstavlja prototip svih sledeih raunara opte namene.3

    Na slici 2.1 prikazana je opta struktura raunara IAS. Ona se sastoji od:

    glavne memorije, u kojoj su uskladiteni i podaci i instrukcije4;

    aritmetike i logike jedinice (ALU), sposobne za rad na binarnim podacima;

    upravljake jedinice, koja interpretira instrukcije u memoriji i prouzrokuje nji-hovo izvrenje;

    ulazne i izlazne (U/I) opreme kojom rukuje upravljaka jedinica.

    2 Izvetaj o EDVAC-u iz 1945. godine nalazi se u odeljku dodatnog sadraja na veb stranici ove knjige.3 U izvetaju iz 1954. godine [GOLD54] opisuje se implementirana maina IAS i navodi se konani skup instrukci-ja. Izvetaj je dat u odeljku dodatnog sadraja na veb stranici ove knjige.4 U ovoj knjizi, izuzev ako to nije drugaije napomenuto, termin instrukcija odnosi se na mainsku instrukciju koju direktno interpretira i izvrava procesor, za razliku od instrukcije jezika visokog nivoa, kao to su Ada ili C++, koja pre nego to se izvri mora da se prevede u niz mainskih instrukcija.

  • 18POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Glavnamemorija

    (M)

    Aritmetiko--logika

    jedinica (CA)

    Jedinica zaupravljanjeprogramom

    (CC)

    U/Ioprema(U,I)

    Centralna procesorska jedinica (CPU)

    slika 2.1 Struktura raunara IAS

    Ta struktura bila je skicirana u ranijem von Neumannovom predlogu, to vredi navesti na ovom mestu:

    2.1 Prvo: s obzirom na to da je ureaj prvenstveno raunar, on e najee morati da izvodi elementarne aritmetike operacije. To su sabi-ranje, oduzimanje, mnoenje i deljenje. Zbog toga je razumno da sadri specijalizovane organe samo za te operacije.

    Mada je taj princip sasvim ispravan, mora se primetiti da nain na koji se on realizuje zahteva paljivo preispitivanje. U svakom sluaju vero-vatno e morati da postoji centralni aritmetiki deo ureaja i on e initi njegov prvi specifian deo: CA.

    2.2 Drugo: logika kontrola ureaja, odnosno ispravno rasporeiva-nje njegovih operacija, moe najefikasnije da se izvede pomou central-nog upravljakog organa. Ako ureaj treba da bude elastian, odnosno to je mogue vie za optu namenu, tada mora da se napravi razlika izmeu specifinih instrukcija datih za definisanje i reavanje posebnog problema i optih upravljakih organa koji se staraju o tome da te instrukcije - bez obzira na to ta su - budu izvrene. Prve moraju da budu na neki nain uskladitene; oni drugi se predstavljaju definisanjem operativnih delova ureaja. Pod centralnim upravljanjem podrazumevamo samo tu poslednju funkciju i organe koji je izvravaju u obliku drugog specifinog dela: CC.

    2.3 tree: svaki ureaj koji treba da izvede duge i sloene nizove ope-racija (posebno raunanja) mora da ima znaajnu memoriju ...

  • 2.1/KRAtKA IstORIJA RAUnARA19

    Instrukcije koje upravljaju sloenim problemom mogu da konstituiu znatan materijal, posebno ako je kd zavisan od okolnosti (to u veini sluajeva i jeste). Taj materijal mora da se zapamti.

    U svakom sluaju, ukupna memorija konstituie trei specifian deo ureaja: M.

    2.6 Tri specifina dela CA, CC (zajedno C) i M odgovaraju asoci-jativnim neuronima u ljudskom nervnom sistemu. Ostaje da se diskutuje o senzorskim ili dovodnim (engl. afferent) i motornim ili odvodnim (engl. efferent) neuronima. Oni su ulazni i izlazni organi ureaja.

    Ureaj mora da bude obdaren sposobnou da odrava ulazni i izla-zni (senzorski i motorni) kontakt sa nekim specifinim medijumom te vrste. Medijum e se zvati spoljanji zapisni medijum ureaja: R.

    2.7 etvrto: ureaj mora da ima organe da prenese ... informacije od R (pomou U) u svoje specifine delove C i M. Ti organi formiraju njegov ulaz, etvrti specifian deo: I. Videe se da je najbolje da se izvre svi pre-nosi iz R (pomou U) u M i nikada direktno iz C.

    2.8 Peto: ureaj mora da ima organe da prenese ... iz svojih specifi-nih delova C i M u R. Ti organi formiraju njegov izlaz, peti specifian deo: I. Videe se da je opet najbolje da se svi prenosi izvre iz M (pomou I) u R, a nikada direktno iz C.

    Sa retkim izuzecima, svi dananji raunari imaju ovu istu optu strukturu i funk-ciju, pa se zato zovu von neumannove maine. Zbog toga je vredno truda da se na ovom mestu ukratko opie rad raunara IAS [BURK46]. Prema [HAYE98], von Neu-mannova terminologija i notacija su se promenile da bi bile u veoj saglasnosti sa savremenom upotrebom; primeri i ilustracije uz ovu raspravu zasnovani su na ovom poslednjem tekstu.

    Memorija IAS-a sastoji se od 1000 lokacija, koje se zovu rei, svaka od po 40 binarnih cifara (bitova).5 Tu se skladite i podaci i instrukcije. Dakle, brojevi moraju da se predstavljaju u binarnom obliku, a svaka instrukcija takoe mora da bude u binarnom kodu. Na slici 2.2 ilustrovani su ti formati. Svaki broj se predstavlja pomou bita za znak i 39-bitne vrednosti. Re takoe moe da sadri 20-bitne instrukcije, gde se svaka instrukcija sastoji od 8-bitnog koda operacije (opkoda) koji odreuje opera-ciju za izvoenje i 12-bitne adrese koja oznaava jednu od rei u memoriji (numerisa-nih od 0 do 999).

    Upravljaka jedinica rukuje IAS-om tako to donosi instrukcije iz memorije i izvr-ava ih, po jednu istovremeno. Da bi se to objasnilo, potreban je detaljniji strukturni dijagram, kao to je prikazano na slici 2.3. Ta slika otkriva da i upravljaka jedinica i ALU sadre memorijske lokacije koje se zovu registri. Oni su definisani na sledei nain:

    5 Nema univerzalne definicije termina re. Uopteno govorei, re je ureen skup bajtova ili bitova koji je normalna jedinica u kojoj informacije mogu da se skladite, prenose ili da se na njima radi unutar datog raunara. U optem sluaju, ako procesor ima skup instrukcija fiksirane duine, onda je duina instrukcije jednaka duini rei.

  • 20POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    (a) Re za brojBit za znak

    0 39

    (b) Instruction word

    Operacioni kd Adresa

    Leva instrukcija

    0 8 20 28 39

    1

    Desna instrukcija

    Operacioni kd Adresa

    slika 2.2 IAS memorijski formati

    Memorijski bafer registar (MBR): sadri re koja treba da se skladiti u memo-riji ili poalje u U/I jedinicu, ili se koristi da prima re iz memorije ili iz U/I jedinice.

    Memorijski adresni registar (MAR): odreuje adresu u memoriji rei koja treba da se upie iz MBR-a, ili uita u njega.

    Instrukcijski registar (IR): sadri 8-bitni kd operacije instrukcije koja se izvr-ava.

    Instrukcijski bafer registar (IBR): koristi se da privremeno dri desnu instruk-ciju iz rei u memoriji.

    Programski broja (PC): sadri adresu sledeeg instrukcijskog para koji treba da se donese iz memorije.

    Akumulator (AC) i mnoilac kolinika (MQ): koriste se da dre privremene operande i rezultate operacija ALU. Na primer, rezultat mnoenja dva 40-bitna broja je 80-bitni broj; najznaajnijih 40 bitova se skladiti u AC, a najmanje znaajni u MQ.

    IAS radi tako to repetitivno izvodi instrukcijski ciklus, kao to je prikazano na slici 2.4. Svaki instrukcijski ciklus sastoji se od dva potciklusa. Za vreme ciklusa dono-enja, kd operacije sledee instrukcije uitava se u IR, a adresni deo u MAR. Ta instrukcija moe da se uzme iz IBR-a, ili moe da se dobije iz memorije uitavanjem rei u MBR, a zatim u IBR, IR i MAR.

    emu ta posrednost? Tim operacijama upravljaju elektronska kola i rezultat je upotreba putanja podataka. Da bi se pojednostavila elektronika, postoji samo jedan registar koji se koristi da bi se odredila adresa u memoriji za itanje ili upisivanje i samo jedan registar koji se koristi kao izvor ili odredite.

  • 2.1/KRAtKA IstORIJA RAUnARA21

    AC

    IBR PC

    IR

    Adrese

    MAR

    MBR

    MQ

    Aritmetiko-logika jedinica (ALU)

    Jedinica za upravljanje programom

    Aritmetiko-logika kola

    Ulazno-izlazna oprema

    Instrukcije i podaci

    Glavna memorija

    (M)

    Upravljaka kola

    Upravljaki signali

    slika 2.3 Proirena struktura raunara IAS

    Jednom kada je kd operacije u IR-u, izvodi se ciklus izvrenja. Upravljako kolo interpretira kd operacije i izvrava instrukciju aljui odgovarajue upravljake signale koji prouzrokuju kretanje podataka ili operaciju koju izvodi ALU.

    Raunar IAS ima ukupno 21 instrukciju, koje su navedene u tabeli 2.1. One mogu da se grupiu na sledei nain:

    Prenos podataka: te instrukcije pomeraju podatke izmeu memorije i registara ALU, ili izmeu dva registra ALU.

    Bezuslovno grananje: normalno, upravljaka jedinica izvrava instrukcije jednu za drugom iz memorije. Taj redosled moe da se promeni instrukcijom grana-nja. To olakava repetitivne operacije.

  • 22POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Uslovno grananje: grananje moe da se uini zavisnim od uslova, dozvoljava-jui na taj nain take odluivanja.

    Aritmetike: operacije izvodi ALU.

    Menjanje adrese: dozvoljava da se adresa izrauna u ALU i zatim umetne u instrukcije smetene u memoriji. To dozvoljava programu znaajnu fleksibil-nost u adresiranju.

    Start

    Da

    Da

    Da

    Ne

    Ne

    M(X) sadraj memorijske lokacije ija adresa je X(i:j) bitovi i do j

    Dekodiraj instrukciju u IR.

    Idi na M(X, 0:19) Ako je AC 0 ondaidi na M(X, 0:19)

    AC AC M(X)

    Da li jeAC 0?

    Ciklusizvrenja

    MBR M(MAR)

    AC M(X)

    PC MAR

    PC PC 1

    MBR M(MAR)

    AC MBR AC AC MBR

    MBR M(MAR)

    IR IBR (0:7)MAR IBR (8:19)

    IR IBR (20:27)MAR IBR (28:39)

    IBR MBR (20:39)IR MBR (0:7)

    MAR MBR (8:19)

    MAR PC

    Ciklus donoenja

    Da li je sledea

    instrukcija u IBR?

    Ne trai se pristup

    memoriji.

    Trai se leva

    instrukcija?

    slika 2.4 Delimini dijagram toka rada IAS-a

    U tabeli 2.1 instrukcije se predstavljaju u simbolinom obliku, lakom za itanje. U stvari, svaka instrukcija mora da bude u saglasnosti sa formatom na slici 2.2b. Deo za kd operacije (prvih 8 bitova) odreuje koja od 21 instrukcije treba da se izvri. Adresni deo (preostalih 12 bitova) odreuje koja od 1000 memorijskih lokacija treba da bude obuhvaena izvrenjem instrukcije.

  • 2.1/KRAtKA IstORIJA RAUnARA23

    tabela 2.1 Skup instrukcija IAS

    Vrsta instrukcije

    Kd operacije

    simbolika predstava

    Opis

    Prenos podataka

    00001010 LOAD MQ Prenesi sadraj registra MQ u akumulator AC.

    00001001 LOAD MQ,M(X) Prenesi sadraj memorijske lokacije X u MQ.

    00100001 STOR M(X) Prenesi sadraj akumulatora u memorijsku lokaciju X.

    00000001 LOAD M(X) Prenesi M(X) u akumulator.

    00000010 LOAD M(X) Prenesi M(X) u akumulator.

    00000011 LOAD |M(X)| Prenesi apsolutnu vrednost M(X) u akumulator.

    00000100 LOAD |M(X)| Prenesi |M(X)| u akumulator.

    Bezuslovno grananje

    00001101 JUMP M(X,0:19) Uzmi sledeu instrukciju iz leve polovine M(X).

    00001110 JUMP M(X,20:39) Uzmi sledeu instrukciju iz desne polovine M(X).

    Uslovno grananje

    00001111 JUMP + M(X,0:19) Ako je broj u akumulatoru nenegativan, uzmi sledeu instrukciju iz leve polovine M(X).

    00010000 JUMP + M(X,20:39) Ako je broj u akumulatoru nenegativan, uzmi sledeu instrukciju iz desne polovine M(X).

    Aritmetika

    00000101 ADD M(X) Dodaj M(X) na AC; stavi rezultat u AC.

    00000111 ADD|M(X)| Dodaj |M(X)| na AC; stavi rezultat u AC.

    00000110 SUB M(X) Oduzmi M(X) od AC; stavi rezultat u AC.

    00001000 SUB|M(X)| Oduzmi |M(X)| od AC; stavi rezultat u AC.

    00001011 MUL M(X) Pomnoi M(X) sa MQ; stavi najznaajnije bitove u AC, stavi najmanje znaajne bitove u MQ.

    00001100 DIV M(X) Podeli AC sa M(X); stavi kolinik u MQ a ostatak u AC.

    00010100 LSH Pomnoi akumulator sa 2, odnosno pomeri levo za jednu poziciju bita.

    00010101 RSH Podeli akumulator sa 2, odnosno pomeri desno za jednu poziciju.

    Menjanje adrese

    00010010 STOR M(X,8:19) Zameni levo polje adrese na M(X) sa 12 najznaajnijih bitova AC.

    00010011 STOR M(X,28:39) Zameni desno polje adrese na M(X) sa 12 najznaajnijih bitova AC.

    Na slici 2.4 prikazano je vie primera kako upravljaka jedinica izvrava instruk-cije. Zapazite da svaka operacija zahteva vie koraka. Neki od njih su prilino razra-eni. Operacija mnoenja zahteva 39 podoperacija, po jednu za svaku poziciju bita, izuzev one za bit znaka.

  • 24POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    KomErCIjAlNI rAuNArI Raunarska industrija se rodila pedesetih godina 20. veka, sa dve kompanije, Sperry i IBM, koje su dominirale tritem.

    Eckert i Mauchly su 1947. godine formirali Eckert-Mauchly Computer Corporation da bi komercijalno proizvodili raunare. Njihova prva uspena maina bio je UNIVAC I (Universal Automatic Computer), koji je Bureau of Census angaovao za proraune 1950. godine. Eckert-Mauchly Computer Corporation postala je deo sektora UNIVAC u Sperry-Rand Corporation, koji je nastavio da pravi serije maina naslednica.

    UNIVAC I je bio prvi uspean komercijalni raunar. Bio je namenjen, kao to mu i ime govori, za naune i za komercijalne primene. U prvom lanku u kome se opisuje sistem, navedeni su matrini algebarski prorauni, statistiki problemi, obrauni pre-mija za kompaniju ivotnog osiguranja i logistiki problemi kao uzorak zadataka koje je on mogao da izvrava.

    UNIVAC II, koji je imao vei kapacitet memorije i bolju performansu od UNI-VAC-a I, isporuen je krajem 1950-ih godina i ilustruje vie trendova koji su ostali karakteristika raunarske industrije. Prvo, napredovanja u tehnologiji omoguavaju kompanijama da nastave da grade vee, monije raunare. Drugo, svaka kompanija pokuava da pravi svoje nove maine kompatibilne unazad 6 sa starijim mainama. To znai da programi napisani za starije maine mogu da se izvravaju na novoj maini. Ta strategija je usvojena u nadi da se zadri baza kupaca; odnosno, kada kupac odlui da kupi noviju mainu, on ili ona e je verovatno uzeti od iste kompanije kako bi izbe-gli gubljenje ulaganja u programe.

    Sektor UNIVAC je takoe poeo razvoj serije raunara 1100, koja je bila njegov glavni izvor prihoda. Ta serija ilustruje razliku koja je postojala jedno vreme. Prvi model, UNIVAC 1103 i njegovi naslednici, dugo su bili namenjeni prvenstveno za naune primene, koje su obuhvatale dugake i sloene proraune. Druge kompanije su se usredsredile na poslovne primene, koji su obuhvatali obradu velikih koliina tek-stualnih podataka. Ta podela je uglavnom nestala, ali je izvesno vreme bila evidentna.

    IBM, koji je bio glavni proizvoa opreme za obradu buenih kartica, isporuio je svoj prvi elektronski raunar sa unutranjim programom, model 701, 1953. godine. Model 701 bio je namenjen prvenstveno za naune primene [BASH81]. IBM je 1955. godine uveo proizvod 702, koji je imao izvestan broj hardverskih svojstava pogodnih za poslovne primene. To su bili prvi od dugakih serija raunara 700/7000, koji su ustanovili IBM kao dominantnog proizvoaa raunara.

    Druga generacija: tranzistoriPrva velika promena u oblasti elektronskih raunara dola je sa zamenom vakuumske cevi tranzistorom. Tranzistor je manji, jeftiniji i zrai manje toplote od vakuumske cevi, ali moe da se koristi na isti nain kao i vakuumska cev da bi se konstruisali raunari. Za razliku od vakuumske cevi, koja zahteva ice, metalne ploice, stakleni omota i vakuum, tranzistor je poluprovodniki element, napravljen od silicijuma.

    6 Takoe se zovu i kompatibilne nanie. Isti koncept, sa take gledita starijeg sistema, zove se kompatibilnost navie, ili kompatibilnost unapred.

  • 2.1/KRAtKA IstORIJA RAUnARA25

    tabela 2.2 Generacije raunara

    Generacija Priblini datumi tehnologija tipina brzina (operacija u sekundi)

    1 1946-1957 Vakuumska cev 40000

    2 1958-1964 Tranzistor 200000

    31965-1971 Mali i srednji stepen

    integracije1000000

    4 1972-1977 Visok stepen integracije 10000000

    51978-1991 Veoma visok stepen

    integracije100000000

    61991- Ultra visoki stepen

    integracije1000000000

    Tranzistor je pronaen 1947. godine u Bell Labs i do pedesetih je lansirao elektronsku revo-luciju. Meutim, potpuno tranzistorizovani raunari nisu bili komercijalno raspoloivi sve do kasnih 1950-ih godina. IBM opet nije bila prva kompanija koja je isporuila novu tehnologiju. NCR i, jo uspenija, RCA bile su vodee sa nekim malim tranzistorskim mainama. IBM ih je uskoro sledio sa serijom 7000.

    Upotreba tranzistora definie drugu generaciju raunara. Postalo je iroko prihvaeno da se raunari klasifikuju na osnovu upotrebljene fundamentalne hardverske tehnologije (tabela 2.2). Svaku novu generaciju odlikovali su vea performansa obrade, vei kapacitet memorije i manje dimenzije od one prethodne.

    Ali, postoje i druge promene. U drugoj generaciji uvedeni su sloenije aritmetiko-logike i upravljake jedinice, upotreba jezika za programiranje visokog nivoa i obezbeenje sistemskog softvera uz raunar. Uopteno govorei, sistemski softver je obezbedio sposobnost da se programi unesu u raunar, podaci pomere ka periferijskim ureajima i da biblioteke izvedu uobiajena raunanja, slino nainu na koji to ine savremeni operativni sistemi, kao to su Windows i Linux.

    Drugu generaciju takoe vredi spomenuti zbog pojave kompanije Digital Equipment Cor-poration (DEC). DEC je osnovan 1957. godine i te godine je isporuio svoj prvi raunar, PDP-1. Taj raunar i ta kompanija zapoeli su fenomen miniraunara koji e postati tako istaknut u treoj generaciji.

    IBm 7094 Od uvoenja serije 700 1952. godine, do poslednjeg lana serije 7000 1964. godine, IBM-ova proizvodna linija je doivela evoluciju koja je tipina za raunarske proizvode. Naredni lanovi proizvodne linije su pokazivali poveanu performansu, povean kapacitet i /ili niu cenu.

    U tabeli 2.3 ilustrovan je taj trend. Veliina glavne memorije, u umnocima od po 210 36-bit-nih rei, rasla je od 2K (1K = 210) do 32K rei7, dok je vreme potrebno da se pristupi jednoj rei memorije, vreme memorijskog ciklusa, opalo sa 30 s na 1,4 s. Broj kodova operacije je porastao sa skromnih 24 na 185.

    Poslednja kolona pokazuje relativnu brzinu izvrenja centralne procesorske jedinice (CPU). Poboljanja u brzini postignuta su pomou poboljane elektronike (odnosno, tranzistorska implementacija je bra od implementacije pomou vakuum-

    7 Rasprava o upotrebama numerikih prefiksa, kao to su kilo i giga, postoji u dokumentu za podrku na Computer Science Resource Site na WilliamStallings.com/StudentSupport.html.

  • 26POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    tabe

    la 2

    .3 P

    rim

    eri

    lano

    va s

    erija

    IB

    M 7

    00/7

    000

    Bro

    j m

    odel

    aP

    rva

    ispo

    ruka

    tehn

    olog

    ija

    CP

    UM

    emor

    ijska

    te

    hnol

    ogija

    Vre

    me

    cikl

    usa

    (s)

    Veli

    ina

    mem

    orije

    (K

    )

    Bro

    j ko

    dova

    op

    erac

    ije

    Bro

    j in

    deks

    re

    gist

    ara

    Oi

    en

    pokr

    etni

    za

    rez

    U/I

    pr

    ekla

    panj

    e (k

    anal

    i)

    Pre

    klap

    anje

    do

    noe

    nja

    inst

    rukc

    ija

    Brz

    ina

    (rel

    ativ

    no

    prem

    a 70

    1)

    701

    1952

    Vak

    uum

    ske

    ce

    viE

    lekt

    rost

    ati

    ke

    cevi

    302-

    424

    0ne

    nene

    1

    704

    1955

    Vak

    uum

    ske

    ce

    viJe

    zgro

    124-

    3280

    3da

    nene

    2,5

    709

    1958

    Vak

    uum

    ske

    ce

    viJe

    zgro

    1232

    140

    3da

    dane

    4

    7090

    1960

    Tran

    zist

    orJe

    zgro

    2,18

    3216

    93

    dada

    ne25

    7094

    I19

    62Tr

    anzi

    stor

    Jezg

    ro2

    2318

    57

    da (

    dvos

    truk

    a ta

    nos

    t)da

    da30

    7094

    II

    1964

    Tran

    zist

    orJe

    zgro

    1,4

    3218

    57

    da (

    dvos

    truk

    a ta

    nos

    t)da

    da50

  • 2.1/KRAtKA IstORIJA RAUnARA27

    skih cevi) i sloenijih kola. Na primer, IBM 7094 ukljuuje Instruction Backup Regi-ster, koji se koristi kao bafer za sledeu instrukciju. Upravljaka jedinica donosi dve susedne rei iz memorije u okviru jednog donoenja instrukcije. Izuzev pojavljivanja instrukcije grananja, to je obino retko, to znai da upravljaka jedinica ima pristup memoriji zbog instrukcije u samo jednoj polovini ciklusa. To donoenje unapred zna-ajno smanjuje proseno vreme ciklusa instrukcije.

    Ostatak kolona iz tabele 2.3 postae jasniji u nastavku teksta.Na slici 2.5 prikazana je velika konfiguracija (sa mnogo periferijskih ureaja)

    raunara IBM 7094, koji je predstavnik druge generacije raunara [BELL71a]. Vredno je spomenuti i neke razlike u odnosu na raunar IAS. Najvanija od njih je upotreba kanala podataka. Kanal podataka je nezavisan U/I modul sa sopstvenim procesorom i skupom instrukcija. U raunarskom sistemu sa takvim ureajima, CPU ne izvrava detaljne U/I instrukcije. Takve instrukcije se skladite u glavnoj memoriji da bi ih izvrio procesor specijalne namene u samom kanalu podataka. CPU inicijalizuje U/I prenos slanjem upravljakog signala ka kanalu podataka, upuujui ga da izvri niz instrukcija u memoriji. Kanal podataka izvrava svoj zadatak nezavisno od CPU-a i signalizira CPU-u kada je operacija zavrena. Taj aranman oslobaa CPU od znaaj-nog optereenja obrade.

    CPU

    Memorija

    Kanalpodataka

    Jedinicemagnetne trake

    Buakartica

    Linijskitampa

    itakartica

    Dobo

    Disk

    Disk

    Hipertrake

    Oprema zadaljinsku obradu

    Kanalpodataka

    Kanalpodataka

    Kanalpodataka

    Multi-plekser

    slika 2.5 Konfiguracija IBM 7094

  • 28POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Drugo novo svojstvo je multiplekser, koji je centralna zavrna taka za kanale podataka, CPU i memoriju. Multiplekser rasporeuje pristup memoriji od strane CPU-a i kanala podataka, dozvoljavajui tim ureajima da dejstvuju nezavisno.

    Trea generacija: integrisana kola Jedan, samostalan tranzistor, zove se diskretna komponenta. U toku pedesetih i ranih ezdesetih godina, elektronska oprema se sastavljala uglavnom od diskretnih kompo-nenata - tranzistora, otpornika, kondenzatora i tako dalje. Diskretne komponente su se proizvodile zasebno, pakovane u sopstvenim kuitima i lemile su se ili oiavale zajedno na ploama sa kolima, koje su se onda instalirale u raunarima, oscilosko-pima i drugoj elektronskoj opremi. Kad god bi elektronskom ureaju bio potreban tranzistor, mala metalna cev koja sadri komad silicijuma veliine glave iode morala je da se zalemi na plou sa kolima. Celokupan proizvodni proces, od tranzistora do ploe sa kolima, bio je skup i nezgrapan.

    Te ivotne injenice poele su da stvaraju probleme u raunarskoj industriji. Prvi raunari druge generacije sadrali su oko 10000 tranzistora. Ta cifra je narasla na sto-tine hiljada, to je inilo proizvodnju novijih, monijih maina sve teom.

    1958. godine desilo se neto to je predstavljalo revoluciju u elektronici i otpoelo eru mikroelektronike: pronaeno je integrisano kolo. Integrisano kolo je definisalo treu generaciju raunara. U ovom odeljku emo dati kratak uvod u tehnologiju inte-grisanih kola. Onda emo razmotriti dva moda najvanija lana tree generacije, od kojih su oba uvedena na poetku te ere: IBM System/360 i DEC PDP-8.

    mIKroElEKtroNIKA Mikroelektronika doslovno znai mala elektronika. Od samih poetaka digitalne elektronike i raunarske industrije, postojao je istrajan i dosledan trend ka smanjenju veliine elektronskih kola. Pre ispitivanja implikacija i koristi od tog trenda, treba neto da kaemo o prirodi digitalne elektronike. Detaljnija rasprava nalazi se u dodatku B.

    Kao to znamo, osnovni elementi digitalnog raunara moraju da izvode funkcije skladitenja, pomeranja, obrade i upravljanja. Potrebne su samo dve osnovne vrste komponenata (slika 2.6): logika kola i memorijske elije. Logiko kolo je ureaj koji implementira Bulovsku ili logiku funkciju, kao to je IF A AND B ARE TRUE THEN C IS TRUE (logiko kolo AND). Takvi ureaji se zovu i kapijama (engl. gates) zato to upravljaju tokom podataka na slian nain kao to to ine kapije. Memorijska elija je ureaj koji moe da skladiti jedan bit podataka; to znai da ureaj moe da bude u jednom od dva stabilna stanja u bilo koje vreme. Meusobnim povezivanjem velikog broja tih osnovnih ureaja, moemo da konstruiemo raunar. To bismo mogli da stavimo u odnos sa nae etiri osnovne funkcije na sledei nain:

    skladitenje podataka: obezbeuju memorijske elije.

    Obrada podataka: obezbeuju logika kola.

    Pomeranje podataka: putanje izmeu komponenata koriste se za pomeranje poda-taka od memorije do memorije i od memorije kroz logika kola do memorije.

    Upravljanje: putanje izmeu komponenata mogu da prenose upravljake signale. Na primer, logiko kolo e imati jedan ili dva ulaza, plus ulaz za upravljaki

  • 2.1/KRAtKA IstORIJA RAUnARA29

    signal koji ga aktivira. Kada je upravljaki signal u ukljuenom (ON) stanju, logiko kolo izvodi svoju funkciju nad ulazima za podatke i proizvodi izlaz poda-taka. Slino tome, memorijska elija e skladititi bit koji je na njenom ulaznom vodu kada je upravljaki signal WRITE ukljuen (ON), a postavie bit koji je u eliji na njen izlazni vod kada je upravljaki signal READ ukljuen (ON).

    Booleovalogikafunkcija

    Ulaz

    Signal zaaktiviranje

    (a) Logiko kolo

    Izlaz

    elijalogikafunkcija

    Ulaz

    itanje

    Upisivanje

    (b) Memorijska elija

    Izlaz

    slika 2.6 Osnovni elementi raunara

    Dakle, raunar se sastoji od logikih kola, memorijskih elija i meusobnih veza tih elemenata. Logika kola i memorijske elije, sa svoje strane, konstruisane su od jedno-stavnih digitalnih elektronskih komponenata.

    Kod integrisanih kola, koristi se injenica da takve komponente kao to su tran-zistori, otpornici i provodnici mogu da se naprave od poluprovodnika kao to je sili-cijum. Izrada itavog kola na malom komadu silicijuma, umesto da se to isto kolo napravi sklapanjem posebnih komada od silicijuma, predstavlja samo malo proirenje vetine u radu sa poluprovodnicima. Mnogi tranzistori mogu istovremeno da se pro-izvedu na jednoj ploici silicijuma. Isto tako, vano je da ti tranzistori mogu da se poveu pomou procesa metalizacije kako bi formirali elektronska kola.

    Na slici 2.7 prikazani su kljuni koncepti integrisanog kola. Tanka ploica silici-juma deli se na matricu malih povrina, od kojih je svaka od po nekoliko kvadratnih milimetara. Identian uzorak kola fabrikuje se u svakoj povrini, a zatim se ploica see na ipove. Svaki ip se sastoji od mnogo logikih kola i/ili memorijskih elija, kao i izvesnog broja ulaznih i izlaznih taaka za prikljuivanje. Taj ip se zatim pakuje u kuite koje ga titi i obezbeuje pinove za prikljuivanje na ureaje van ipa. Izvestan broj tih pakovanja onda moe meusobno da se povee na tampanoj ploi kako bi se proizvela vea i sloenija kola.

    U poetku, samo nekoliko logikih kola ili memorijskih elija moglo je da se pouz-dano proizvede i zapakuje zajedno. Ta prva integrisana kola zovu se kola niskog stepena integracije (SSI, small-scale integration). Kako je vreme prolazilo, postajalo je mogue pakovati sve vie i vie komponenata na istom ipu. Taj porast u gustini ilustruje se na slici 2.8; to je jedan od najizuzetnijih tehnolokih trendova koji je ikada zabeleen8. Ta slika odraava uveni Mooreov zakon, koji je 1965. godine predloio Gordon Moore, saosniva Intela [MOOR65]. Moore je uoio da se broj tranzistora koji se mogao staviti na jedan ip udvostruavao svake godine i da bi se tano predvianje tog tempa moglo

    8 Zapazite da vertikalna osa koristi logaritamsku podelu. Osnovni pregled logaritamskih skala nalazi se u poetnikom doku-mentu iz matematike na stranici Computer Science Student Support Resource Site na lokaciji ComputerScienceStudent.com

  • 30POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    nastaviti u bliskoj budunosti. Na iznenaenje mnogih, ukljuujui tu i samog Moorea, tempo se nastavio iz godine u godinu i iz decenije u deceniju. U sedamdesetim, tempo se smanjio na udvostruavanje svakih 18 meseci, ali jo uvek odrava tu brzinu.

    Ploica

    ip

    Logikokolo

    Pakovaniip

    slika 2.7 Odnos izmeu ploice, ipa i logikog kola

    Posledice Moorevog zakona su ozbiljne:

    1. Cena ipa ostala je skoro nepromenjena u ovom periodu brzog porasta gustine. To znai da je cena raunarskih logikih i memorijskih kola opala dramatinom brzinom.

    2. Brzina rada se poveala zato to se logiki i memorijski elementi smetaju meu-sobno blie, na gue pakovanim ipovima, pa je elektrina putanja skraena.

    3. Raunar postaje manji, to ga ini pogodnijim za smetanje u raznim okruenjima.

    4. Smanjeni su zahtevi za elektrinom energijom i hlaenjem.

    5. Meusobne veze na integrisanom kolu su mnogo pouzdanije od lemljenih spojeva. Sa vie kola na ipu, ima manje veza izmeu ipova.

  • 2.1/KRAtKA IstORIJA RAUnARA31

    11947

    Prvi

    tranz

    istor

    koji r

    adi

    Objav

    ljen

    Moo

    reov z

    akon

    Pron

    alaza

    k

    integ

    risan

    og ko

    la

    50 55 60 65 70 75 80 85 90 95 2000 05 11

    10100100010,000100,00010 m100 m1 bn10 bn100 bn

    slika 2.8 Porast broja tranzistora na integrisanim kolima

    IBm system/360 Do 1964. godine, IBM je vrsto zagrizao u raunarsko trite sa svojom serijom maina 7000. Te godine, IBM je najavio System/360, novu porodicu raunarskih proizvoda. Mada najava sama po sebi nije bila nikakvo iznenaenje, ona je sadrala neke neprijatne novosti za postojee IBM-ove kupce: proizvodna linija 360 nije bila kompatibilna sa starijim IBM-ovim mainama. Zato je prelazak na 360 bio teak za postojeu bazu kupaca. To je bio hrabar korak za IBM, ali u jednoj takvoj kompaniji su oseali da je bilo potrebno raskinuti sa nekim od ogranienja arhitek-ture 7000 i proizvesti sistem sposoban da obuhvati novu tehnologiju integrisanih kola [PADE81, GIFF87]. Strategija se isplatila, kako finansijski, tako i tehniki. Sistem 360 bio je uspeh decenije i ustoliio je kompaniju IBM kao neosporno dominantnog proizvoaa raunara, sa delom trita od preko 70%. Pored toga, uz neke izmene i proirenja, arhitektura sistema 360 ostala je do dananjeg dana arhitektura IBM-ovih glavnih raunara9. Primeri u kojima se koristi ta arhitektura mogu da se pronau na nekoliko mesta u ovom tekstu.

    System 360 bila je prva planirana porodica raunara u industriji. Porodica je obu-hvatala irok opseg performanse i cene. U tabeli 2.4 prikazane su neke od kljunih karakteristika razliitih modela iz 1965. godine (svaki lan porodice razlikuje se po broju modela). Modeli su bili kompatibilni u smislu da je program napisan za jedan model mogao da se izvri na drugom modelu iz serije, sa jedinom razlikom u vremenu koje mu je za to bilo potrebno.

    9 Termin glavni raunar (engl. mainframe) koristi se za vee, najmonije raunare koji nisu superraunari. Tipine karakteristike glavnog raunara su da on podrava veliku bazu podataka, ima razraen U/I hardver i koristi se u centralnom postrojenju za obradu podataka.

  • 32POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    tabela 2.4 Kljune karakteristike porodice System/360

    KarakteristikaModel

    30Model

    40Model

    50Model

    65Model

    75

    Maksimalna veliina memorije (bajtovi)

    64 K 256 K 256 K 512 K 512 K

    Brzina podataka iz memorije (MB/s)

    0,5 0,8 2,0 8,0 16,0

    Vreme ciklusa procesora (s) 1,0 0,625 0,5 0,25 0,2

    Relativna brzina 1 3,5 10 21 50

    Maksimalni broj kanala podataka 3 3 4 6 6

    Maksimalna brzina podataka na jednom kanalu (KB/s)

    250 400 800 1250 1250

    Koncept porodice kompatibilnih raunara bio je i inovativan i izuzetno uspean. Kupac sa skromnim zahtevima i odgovarajuim budetom mogao je da otpone sa relativno jeftinim Modelom 30. Kasnije, ako bi se kupevi zahtevi poveali, bilo je mogue da se nadogradi bra maina sa vie memorije, bez rtvovanja ulaganja u ve razvijen softver. Karakteristike porodice su sledee:

    slian ili istovetan skup instrukcija: U mnogim sluajevima, tano isti skup mainskih instrukcija podrava se na svim lanovima porodice. Dakle, pro-gram koji se izvrava na jednoj maini, izvravae se i na svakoj drugoj. U nekim sluajevima, nii kraj porodice ini podskup onoga koji je na vrhu poro-dice. To znai da programi mogu da se pomeraju navie, ali ne i nanie.

    slian ili istovetan operativni sistem: Isti osnovni operativni sistem je na ras-polaganju za sve lanove porodice. U nekim sluajevima, dodatna svojstva su pridruena vrhunskim lanovima.

    Poveanje brzine: Brzina izvravanja instrukcija se poveava, idui od niih lanova porodice ka viim.

    Poveanje broja U/I portova: Broj U/I portova raste, idui od niih lanova porodice ka viim.

    Poveanje veliine memorije: Veliina glavne memorije raste, idui od niih la-nova porodice ka viim.

    Poveanje cene: U odreenom trenutku, cena sistema raste, idui od niih la-nova porodice ka viim.

    Kako bi takav koncept porodice mogao da se implementira? Razlike se postiu na osnovu tri inioca: osnovne brzine, veliine i stepena istovremenosti [STEV64]. Na primer, vea brzina izvrenja date instrukcije mogla je da se dobije upotrebom sloe-nijih kola u ALU, dozvoljavajui podoperacijama da se izvode paralelno. Drugi nain poveavanja brzine bio je da se povea irina putanje podataka izmeu glavne memo-rije i CPU-a. Na Modelu 30, samo 1 bajt (8 bitova) mogao je da se istovremeno donese iz glavne memorije, dok je 8 bajtova moglo da se istovremeno donese na Modelu 75.

    System/360 ne samo da je diktirao budui pravac IBM-a, nego je takoe imao znaajan uticaj na itavu industriju. Mnoga od njegovih svojstava postala su standard na drugim velikim raunarima.

  • 2.1/KRAtKA IstORIJA RAUnARA33

    DEC PDP-8 Iste godine kada je IBM isporuio svoj prvi System/360, pojavila se jo jedna izuzetno znaajna isporuka: PDP-8 iz kompanije Digital Equipment Corpora-tion (DEC). U vreme kada je prosean raunar zahtevao klimatizovanu prostoriju, PDP-8 (nazvan u industriji miniraunarom, zbog mini suknje koja se tada pojavila) bio je dovoljno mali da je mogao da se smesti na laboratorijski sto, ili da se ugradi u neku drugu opremu. On nije mogao da uradi sve to i glavni raunar, ali po ceni od 16000 USD, bio je dovoljno jeftin da je svaki laboratorijski tehniar mogao da ga ima. Suprotno od toga, serija glavnih raunara System/360, koja je uvedena samo nekoliko meseci pre toga, kotala je na stotine hiljada dolara.

    Niska cena i male dimenzije PDP-8 omoguile su drugim proizvoaima da kupe PDP-8 i integriu ga u ukupni sistem radi ponovne prodaje. Ti drugi proizvoai postali su poznati kao proizvoai originalne opreme (OEM), a trite OEM je postalo i ostalo glavni segment raunarskog trita.

    PDP-8 je bio trenutni hit i stvorio je DEC-ovo bogatsvo. Ta maina i drugi lanovi porodice PDP-8 koji su sledili (pogledajte tabelu 2.5) postigli su proizvodni status koji je ranije bio rezervisan za IBM-ove raunare, sa oko 50000 maina prodatih u sledeih dvanaest godina. Kako se to kae u DEC-ovoj slubenoj istoriji, PDP-8 ,,je ustanovio koncept miniraunara, to je otvorilo put ka industriji vrednoj vie milijardi dolara. On je takoe uspostavio DEC kao proizvoaa miniraunara broj jedan, a u vreme kada je PDP-8 dostigao kraj svog uspenog ivota, DEC je bio proizvoa raunara broj dva, odmah iza IBM-a.

    Suprotno od centralno komutirane arhitekture (slika 2.5) koju je koristio IBM na svojim sistemima 700/7000 i 360, kasniji modeli PDP-8 koristili su strukturu koja je sada skoro univerzalna za mikroraunare: strukturu magistrale. To je ilustrovano na slici 2.9. Magistrala PDP-8, koja se zove Omnibus, sastoji se od 96 razliitih putanja za signale, koji se koriste da prenose upravljake, adresne i signale podataka. S obzi-rom na to da sve komponente sistema dele zajedniki skup putanja signala, njihovom upotrebom mora da upravlja CPU. Ta arhitektura je veoma fleksibilna, dozvoljavajui modulima da se ukljuuju na magistralu kako bi se pravile razliite konfiguracije.

    Kasnije generacijePosle tree generacije, postoji manja saglasnost u definisanju generacija raunara. U tabeli 2.2 nagovetava se da je postojao izvestan broj kasnijih generacija, zasnovano na napretku u tehnologiji integrisanih kola. Sa uvoenjem visokog stepena integracije (LSI), vie od 1000 komponenata moglo je da se postavi na jednom ipu integrisanog kola. Veoma visok stepen integracije (VLSI) je dostigao vie od 10000 komponenata po ipu, dok trenutno postojei ipovi sa veoma visokim stepenom integracije (ULSI) mogu da sadre vie od milion komponenata.

    Sa brzim tempom tehnologije, velikom brzinom uvoenja novih proizvoda i zna-ajem softvera i komunikacija kao i hardvera, klasifikacija po generacijama postaje manje jasna i manje znaajna. Moglo bi se rei da je komercijalna primena novih razvoja za rezultat imala veliku promenu u ranim sedamdesetim godinama, i da se rezultati tih promena jo uvek koriste. U ovom odeljku, od tih rezultata spomenuemo dva najznaajnija.

  • 34POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    tabe

    la 2

    .5 E

    volu

    cija

    PD

    P-8

    M

    odel

    P

    rva

    ispo

    ruka

    Cen

    a pr

    oces

    ora

    + 4

    K 1

    2-bi

    tnih

    re

    i m

    emor

    ije (

    1000

    UsD

    )

    B

    rzin

    a po

    data

    ka iz

    m

    emor

    ije (

    rei

    /s)

    Z

    apre

    min

    a (k

    ubne

    sto

    pe)

    In

    ovac

    ije i

    pobo

    ljan

    ja

    PDP-

    84/

    6516

    ,21,

    268,

    0A

    utom

    atsk

    a pr

    oizv

    odnj

    a sa

    nam

    otan

    om

    icom

    PDP-

    8/5

    9/66

    8,79

    0,08

    3,2

    Seri

    jska

    impl

    emen

    taci

    ja in

    stru

    kcija

    PDP-

    8/1

    4/68

    11,6

    1,34

    8,0

    Kol

    a sr

    ednj

    eg s

    tepe

    na in

    tegr

    acije

    PDP-

    8/L

    11/6

    87,

    01,

    262,

    0M

    anji

    kabi

    net

    PDP-

    8/E

    3/71

    4,99

    1,52

    2,2

    Om

    nibu

    s

    PDP-

    8/M

    6/72

    3,69

    1,52

    1,8

    Upo

    la m

    anji

    kabi

    net s

    a m

    anje

    slo

    tova

    od

    8/E

    PDP-

    8/A

    1/75

    2,6

    1,34

    1,2

    Polu

    prov

    odni

    ka

    mem

    orija

    ; pro

    ceso

    r za

    rad

    u

    pokr

    etno

    m z

    arez

    u

  • 2.1/KRAtKA IstORIJA RAUnARA35

    Kontrolerkonzole

    CPU

    Omnibus

    Glavnamemorija

    U/I modul

    U/I modul

    slika 2.9 Struktura magistrale PDP-8

    PoluProVoDNIKA mEmorIjA Prva primena tehnologije integrisanih kola u oblasti raunara bila je konstrukcija procesora (upravljaka jedinica i aritmetika i logika jedinica) od ipova integrisanih kola. Ali, takoe je otkriveno da bi ta ista tehnologija mogla da se upo-trebi za konstruisanje memorija.

    Pedesetih i ezdesetih godina, veina raunarskih memorija bila je konstruisana od malih prstenova od feromagnetnog materijala, prenika od oko jedne esnaestine ina. Ti prstenovi bili su nanizani na reetki od finih ica rastegnutih na malim pregradama unutar raunara. Namagnetisan u jednom smeru, prsten (koji se zvao jezgro) predstavljao je jedinicu; namagne-tisan u suprotnom smeru, predstavljao je nulu. Memorija od magnetskih jezgara bila je prilino brza; bio je potreban samo milioniti deo sekunde da se proita bit uskladiten u memoriji. Ali, ona je bila skupa, glomazna i koristila je destruktivno oitavanje: jednostavan in itanja jezgra brisao je podatak uskladiten u njemu. Bilo je, dakle, potrebno da se instalira kolo za ponovno uspostavljanje podatka im bi se on izvukao.

    Onda je, 1970. godine, Fairchild proizveo prvu poluprovodniku memoriju relativno veli-kog kapaciteta. Taj ip, veliine priblino jednog jezgra, mogao je da dri 256 bitova memorije. On nije bio destruktivan i bio je mnogo bri od jezgra. Bilo je potrebno samo 70 milijarditih delova sekunde da se proita bit. Meutim, cena po bitu bila je vea od one kod jezgra.

    Godine 1974. desilo se neto neobino: cena poluprovodnike memorije po bitu pala je ispod cene po bitu memorije od jezgara. Posle toga, postoji stalan i brz pad cene memorije, praen odgovarajuim porastom fizike gustine memorije. To je bio put ka manjim, brim mai-nama sa veliinama memorije kakvu su imale vee i skuplje maine, u vremenskom razmaku od samo nekoliko godina. Razvoj u memorijskoj tehnologiji, zajedno sa razvojem u procesor-skoj tehnologiji, o kome e se govoriti dalje u tekstu, promenili su prirodu raunara u vremenu manjem od decenije. Mada glomazni, skupi raunari ostaju deo pejzaa, raunar je sa kancela-rijskim mainama i personalnim raunarima, takoe doao i do krajnjeg korisnika.

    Od 1970. godine, poluprovodnika memorija je prola kroz 11 generacija: 1K, 4K, 16K, 64K, 256K, 1M, 4M, 16M, 64M, 256M, 1G, 4G i, u trenutku pisanja ovog teksta, 16Gbitova na jednom ipu (1K = 210, 1M = 220, 1G = 230). Svaka generacija je imala etiri puta veu gustinu od prethodne generacije, praenu smanjivanjem cene po bitu i smanjivanjem vremena pristupa.

    mIKroProCEsorI Ba kao to je gustina elemenata na memorijskim ipovima stalno rasla, to se isto deavalo i sa gustinom elemenata na procesorskim ipovima. Kako je vreme prolazilo, sve vie i vie elemenata bilo je smetano na svakom ipu, tako da je sve manje i manje ipova bilo potrebno da se konstruie procesor raunara.

    Prodor je napravljen 1971. godine, kada je intel razvio svoj ip 4004. To je bio prvi ip koji je sadrao sve komponente CPU na jednom ipu: rodio se mikroprocesor.

  • 36POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Mikroprocesor 4004 moe da sabere dva 4-bitna broja i moe da mnoi samo pomou ponavljajueg sabiranja. Po dananjim standardima, 4004 je beznadeno pri-mitivan, ali on je oznaio poetak trajne evolucije mikroprocesorske sposobnosti i moi.

    Ta evolucija moe najlake da se vidi u broju bitova sa kojima procesor radi isto-vremeno. Ne postoji ba jasna mera, ali za to je moda najbolja irina magistrale podataka: broj bitova podataka koji mogu istovremeno da se donesu u procesor, ili poalju van njega. Druga mera je broj bitova u akumulatoru ili u skupu registara opte namene. Te mere esto, ali ne uvek, koincidiraju. Na primer, razvijen je veliki broj mikroprocesora koji rade na 16-bitnim brojevima u registrima, ali mogu da itaju ili upisuju samo po 8 bitova istovremeno.

    Sledei vaan korak u evoluciji mikroprocesora bio je kada je Intel 1972. godine uveo 8008. To je bio prvi 8-bitni mikroprocesor, gotovo dva puta sloeniji od 4004.

    Nijedan od tih koraka nije imao uticaj na sledei veliki dogaaj: kada je 1974. godine uveden Intel 8080. To je bio prvi mikroprocesor opte namene. Dok su 4004 i 8008 bili projektovani za specifine primene, 8080 je konstruisan da bude CPU mikroraunara opte namene. Kao i 8008, 8080 je 8-bitni mikroprocesor. Meutim, 8080 je bri, ima bogatiji skup instrukcija i vee sposobnosti za adresiranje.

    Priblino u isto vreme, poeo je razvoj 16-bitnih mikroprocesora. Meutim, moni 16-bitni mikroprocesori opte namene pojavili su se tek krajem sedamdesetih godina. Jedan od njih bio je 8086. Sledei korak u tom pogledu dogodio se 1981. godine, kada su Bell Labs i Hewlett-Packard razvili 32-bitni mikroprocesor na jednom ipu. Intel je svoj 32-bitni mikroprocesor, 80386, uveo 1985. godine (tabela 2.6).

    tabela 2.6 Evolucija Intelovih mikroprocesora

    (a) Procesori 1970-ih godina4004 8008 8080 8086 8088

    Uveden 1971 1972 1974 1978 1979

    Brzine generatora takta108 kHz 108 kHz 2 MHz 5 MHz, 8 MHz

    10 MHz5 MHz, 8 MHz

    irina magistrale 4 bita 8 bitova 8 bitova 16 bitova 8 bitova

    Broj tranzistora 2300 3500 6000 29000 29000

    Karakteristina veliina (m) 10 6 3 6

    Adresibilna memorija640

    bajtova16 KB 64 KB 1 MB 1 MB

    (b) Procesori 1980-ih godina80286 386 tM DX 386 tM sX 486 tM DX CPU

    Uveden 1982 1985 1988 1989

    Brzine generatora takta6 MHz-12,5

    MHz16 MHz-33

    MHz16 MHz-33

    MHz25 MHz-50 MHz

    irina magistrale 16 bitova 32 bita 16 bitova 32 bita

    Broj tranzistora 134000 275000 275000 1,2 miliona

    Karakteristina veliina (m) 1,5 1 1 0,8 1

    Adresibilna memorija16

    megabajtova4 gigabajta 16 megabajtova 4 gigabajta

    Virtuelna memorija 1 gigabajt 64 terabajta 64 terabajta 64 terabajta

    Ke 8 kB

  • 2.2/PROJEKtOVAnJE ZA PERfORMAnsU37

    tabela 2.6 Nastavak(c) Procesori 1990-ih godina

    486 tM sX Pentium Pentium Pro Pentium II

    Uveden 1991 1993 1995 1997

    Brzine generatora takta16 MHz-33

    MHz60 MHz-166

    MHz150 MHz-200

    MHz200 MHz-300

    MHz

    irina magistrale 32 bita 32 bita 64 bita 64 bita

    Broj tranzistora 1,185 miliona 3,1 milion 5,5 miliona 7,5 miliona

    Karakteristina veliina (m) 1 0,8 0,6 0,35

    Adresibilna memorija 4 gigabajta 4 gigabajta 64 gigabajta 4 gigabajta

    Virtuelna memorija 64 terabajta 64 terabajta 64 terabajta 64 terabajta

    Ke 8 kB 8 kB 512 kB L1 i 1 MB L2 512 kB L2

    (d) noviji procesori

    Pentium III Pentium 4 Core 2 Duo Core i7 EE 990

    Uveden 1999 2000 2006 2011

    Brzine generatora takta 450-660 MHz 1,3-1,8 GHz 1,06-1,2 GHz 3,5 GHz

    irina magistrale 64 bita 64 bita 64 bita 64 bita

    Broj tranzistora 9, 5 miliona 42 miliona 167 miliona 1170 miliona

    Karakteristina veliina (nm) 250 180 65 32

    Adresibilna memorija 64 gigabajta 64 gigabajta 64 gigabajta 64 gigabajta

    Virtuelna memorija 64 terabajta 64 terabajta 64 terabajta 64 terabajta

    Ke512 kBL2 256 kB L2 2 MB L2 1,5 MB L2/12

    MB L3

    2.2 ProjeKtovanje za Performansu

    Iz godine u godinu, cena raunarskih sistema nastavlja dramatino da pada, dok per-formansa i kapacitet tih sistema nastavljaju neverovatno da rastu. Dananji laptop raunari imaju raunarsku mo IBM-ovog glavnog raunara od pre 10 do 15 godina. Dakle, imamo skoro besplatnu raunarsku mo. Procesori su tako jeftini da sada imamo mikroprocesore na bacanje. Digitalni test trudnoe je jedan od takvih primera (jednom se upotrebi i onda baci). A ta tehnoloka revolucija koja tee, omoguila je razvoj aplikacija izuzetne sloenosti i snage. Na primer, aplikacije za stone sisteme koje zahtevaju veliku mo dananjih mikroprocesora ukljuuju:

    obradu slike;

    prepoznavanje govora;

    video konferencije;

    multimedijsko izdavatvo;

    glasovno i video komentarisanje datoteka;

    simulaciono modelovanje.

  • 38POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Sistemi radnih stanica sada podravaju veoma sofisticirane inenjerske i naune aplikacije, kao i simulacione sisteme, i imaju sposobnost da podravaju aplikacije obrade slike i videa. Pored toga, poslovanja se oslanjaju na sve monije servere za obradu transakcija i baza podataka i za podrku masovnih mrea klijent/server koje su zamenile ogromne raunarske centre sa glavnim raunarima od prethodnih godina.

    Ono to je zapanjujue u svemu tome, iz perspektive organizacije i arhitekture raunara, je to to su, sa jedne strane, osnovni gradivni blokovi za dananja raunar-ska uda skoro isti kao oni za raunar IAS od pre preko 50 godina, dok su, sa druge strane, tehnike za ceenje poslednje kapi performanse iz materijala pri ruci postale izuzetno sofisticirane.

    To zapaanje slui kao vodei princip za predstavljanje materijala u ovoj knjizi. Kako napredujemo kroz razliite elemente i komponente raunara, idemo ka dva cilja. Prvo, u knjizi se objanjavaju osnovne funkcionalnosti u svakoj oblasti koja se razma-tra i drugo, u njoj se istrauju one tehnike koje se zahtevaju da bi se postigla maksi-malna performansa. U ostatku ovog odeljka, istai emo neke od pokretakih inilaca potrebe da se projektuje za performansu.

    Brzina mikroprocesoraOno to procesorima Intel x86 ili IBM-ovim glavnim raunarima daje tako zapanju-juu snagu je uporna potera proizvoaa ipova za brzinom. Evolucija tih maina nastavlja da sledi Mooreov zakon koji smo ranije spomenuli. Sve dok taj zakon vai, proizvoai ipova mogu da lansiraju novu generaciju ipova svake tri godine - sa etiri puta vie tranzistora. U memorijskim ipovima, to je svake tri godine uetvorostruilo kapacitet dinamikih memorija sa direktnim pristupom (DRAM), jo uvek osnovne tehnologije za glavnu memoriju raunara. U oblasti mikroprocesora, dodavanje novih kola i poveanje brzine koje dolazi kao posledica smanjivanja rastojanja izmeu njih, poboljalo je performansu etiri ili pet puta svake tri godine od kada je Intel lansirao svoju porodicu x86 1978. godine.

    Ali, sirova brzina mikroprocesora sama po sebi nee omoguiti da se dostigne njegova krajnja mogunost, sem ako se on ne hrani konstantnim tokom zadataka koje treba da izvri, u obliku raunarskih instrukcija. Sve to se nae na putu tom glatkom toku, podriva snagu procesora. Prema tome, dok su proizvoai ipova bili zaposleni uei kako da proizvedu ipove sve vee i vee gustine, projektanti procesora moraju da pronau sve razraenije tehnike za hranjenje udovita. Meu tehnikama ugrae-nim u savremene procesore, nalaze se sledee:

    Protona obrada: Sa protonom obradom, procesor moe istovremeno da radi na vie instrukcija. Procesor vremenski preklapa operacije tako to pomera podatke ili instrukcije kroz konceptualni protok u kome se svi stepeni protoka obrauju istovremeno. Na primer, dok se jedna instrukcija izvrava, procesor dekoduje sledeu instrukciju.

    Previanje grananja: procesor gleda unapred u kd instrukcija donesen iz memo-rije i predvia koje grane ili grupe instrukcija e biti verovatno sledee za obradu. Ako procesor u najveem delu vremena tano pogaa, on moe unapred da donese tane instrukcije i stavi ih u bafer, tako da se procesor stalno dri zapo-

  • 2.2/PROJEKtOVAnJE ZA PERfORMAnsU39

    slenim. U savrenijim primerima te strategije predvia se ne samo sledea grana, nego i vie grana unapred. Dakle, predvianje grananja poveava koliinu rada koji je na raspolaganju procesoru za izvrenje.

    Analiza toka podataka: procesor analizira koje instrukcije zavise jedna od druge, u pogledu rezultata svake od njih, ili podataka, da bi optimizovao raspored instruk-cija. U stvari, instrukcije se rasporeuju da bi se izvravale kada su spremne, neza-visno od prvobitnog redosleda u programu. To spreava nepotrebna kanjenja.

    spekulativno izvravanje: korienjem predvianja grananja i analize toka poda-taka, neki procesori spekulativno izvravaju instrukcije unapred, pre njihovog stvarnog pojavljivanja u izvrenju programa, drei rezultate u privremenim loka-cijama. To omoguava procesoru da dri svoje delove za izvravanje zaposlenim koliko god je mogue, izvravanjem instrukcija koje e verovatno biti potrebne.

    Te i druge usavrene tehnike postale su potrebne zbog velike moi procesora. One omoguavaju da se iskoristi sirova brzina procesora.

    Ravnotea performanseDok je snaga procesora napredovala vratolomnom brzinom, druge kritine kompo-nente raunara nisu drale korak. Rezultat je potreba da se potrai ravnotea per-formanse: podeavanje organizacije i arhitekture da se kompenzuje nepodudarnost sposobnosti raznih komponenata.

    Nigde problem stvoren takvim nepodudarnostima nije ozbiljniji nego u interfejsu izmeu procesora i glavne memorije. Dok je brzina procesora naglo rasla, brzina kojom su podaci mogli da se prenose izmeu glavne memorije i procesora znatno je zaostajala. Interfejs izmeu procesora i glavne memorije je najkritinija putanja za ceo raunar zato to je on odgovoran za prenoenje konstantnog toka instrukcija i poda-taka programa izmeu memorijskih ipova i procesora. Ako memorija ili putanja ne uspe da dri korak sa upornim zahtevima procesora, procesor e se zaustaviti u stanju ekanja, a dragoceno vreme za obradu e se izgubiti.

    Arhitekta sistema moe da napadne taj problem na vie naina, od kojih se svi odraavaju u savremenim konstrukcijama raunara. Razmotrite sledee primere:

    Poveati broj bitova koji se odjednom izvlae, pravei DRAM memorije irim, a ne dubljim i koristei iroke putanje podataka na magistrali.

    Promeniti interfejs DRAM memorije da bude efikasniji, ukljuivanjem ke memo-rije10 ili neke druge eme baferovanja na DRAM ip.

    Smanjiti uestalost pristupa memoriji ugraivanjem sve sloenijih i efikasnijih struk-tura kea izmeu procesora i glavne memorije. To ukljuuje ugraivanje jedne ili vie ke memorija na procesorskom ipu, kao i kea izvan ipa, blizu samog procesora.

    Poveati propusni opseg meusobne veze izmeu procesora i memorije korienjem magi-strala veih brzina i hijerarhije magistrala da bi se baferovao i strukturirao tok podataka.

    10 Ke je relativno mala brza memorija koja se umee izmeu vee, sporije memorije i logike koja pristupa veoj memoriji. U keu stoje podaci kojima se nedavno pristupilo i projektovan je tako da ubrza sledee pristupe istim podacima. O ke memorijama se govori u poglavlju 4.

  • 40POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Drugo podruje na koje se usredsreuje projektovanje jeste upravljanje U/I ure-ajima. Kako raunari postaju sve bri i sposobniji, razvijaju se usavrenije aplika-cije koje podravaju upotrebu periferijskih ureaja sa intenzivnim U/I zahtevima. Na slici 2.10 dati su neki primeri tipinih periferijskih ureaja u upotrebi na personalnim raunarima i radnim stanicama. Ti ureaji stvaraju ogromne zahteve za propustljivo-u podataka. Mada savremena generacija procesora moe da opslui podatke koje izbacuju ti ureaji, ostaje problem pomeranja tih podataka izmeu procesora i peri-ferijskih ureaja. Strategije ovde ukljuuju eme za keiranje i baferovanje, a uz to i upotrebu magistrala za meusobno povezivanje veih brzina i razraenijih struktura. Pored toga, upotreba vieprocesorskih konfiguracija moe da pomogne u zadovoljava-nju U/I zahteva.

    Tastatura

    101 102 103 104 105

    Brzina podataka (b/s)

    106 107 108 109

    Mi

    Modem

    Ethernet

    vrsti disk

    Grafiki displej

    Gigabit Ethernet

    Disketa

    Laserski tampa

    Skener

    Optiki disk

    slika 2.10 Tipine brzine U/I ureaja

    Klju za sve to je ravnotea. Projektanti se stalno bore da uravnotee propusnu mo i zahteve za obradom procesorskih komponenata, glavne memorije, U/I ureaja i struktura za meusobno povezivanje. Taj projekat mora uvek ponovo da se razmatra da bi se izalo na kraj sa dva stalno obuhvaena inioca:

    Brzine kojima se performansa menja u razliitim tehnolokim oblastima (pro-cesor, magistrale, memorija, periferijski ureaji) znatno se razlikuju od jedne do druge vrste elemenata.

    Nove aplikacije i novi periferijski ureaji stalno menjaju prirodu zahteva u sistemu, u smislu tipinog profila instrukcije i obrasca pristupanja podacima.

    Dakle, projektovanje raunara je oblik umetnosti koja se stalno razvija. U ovoj knjizi pokuavamo da predstavimo temelje na kojima se zasniva taj oblik umetnosti i da damo pregled trenutnog stanja u toj oblasti.

  • 2.2/PROJEKtOVAnJE ZA PERfORMAnsU41

    Poboljanja u organizaciji i arhitekturi ipaDok se projektanti bore sa izazovom uravnoteavanja performanse procesora sa perfor-mansama glavne memorije i ostalih komponenata raunara, ostaje potreba da se pove-ava brzina procesora. Za postizanje poveanih brzina procesora postoje tri pristupa:

    Poveati hardversku brzinu procesora. To poveanje je u osnovi posledica sma-njivanja veliine logikih kola na procesorskom ipu, tako da se moe vie logikih kola tenje upakovati zajedno i poveati brzina generatora takta. Kada su logika kola blia jedna drugima, vreme prostiranja signala se znaajno smanjuje, to omoguava ubrzanje procesora. Poveanje brzine generatora takta znai da se pojedinane operacije bre izvravaju.

    Poveati veliinu i brzinu ke memorija koje su umetnute izmeu procesora i glavne memorije. Posebno, namenjivanjem dela samog procesorskog ipa za ke, znaajno se smanjuju vremena za pristup ke memoriji.

    Promeniti organizaciju i arhitekturu procesora tako da se povea efektivna brzina izvrenja instrukcija. U optem sluaju, to obuhvata korienje parale-lizma, u jednom ili drugom obliku.

    Preovlaujui inilac u dobicima performanse bio je tradicionalno u poveavanju brzine generatora takta i gustine logikih kola. Meutim, kada se poveavaju brzina generatora takta i logika gustina, nastaju znaajne brojne druge prepreke [INTE04b]:

    Elektrino napajanje: kako se gustina logikih kola i brzina generatora takta pove-avaju, to isto ini i gustina napajanja elektrinom energijom (W/cm2). Tekoa odvoenja toplote koju stvaraju veoma brzi ipovi velike gustine postaje ozbiljno konstruktivno pitanje [GIBB04, [BOR03].

    RC kanjenje: brzina kojom elektroni u ipu mogu da teku izmeu tranzistora ogra-niena je otpornou i kapacitivnou metalnih ica koje ih povezuju; posebno, kanjenje se poveava kako raste proizvod RC. Kako se komponente na ipu sma-njuju po veliini, iane meusobne veze postaju tanje, to poveava njihovu otpor-nost. Isto tako, ice su meusobno sve blie, to poveava kapacitivnost.

    Memorijsko kanjenje: memorijske brzine kasne za procesorskim brzinama, o emu smo ve govorili.

    Dakle, da bi se poboljala performansa, treba staviti vei naglasak na pristupe organizaciji i arhitekturi. O tim tehnikama govori se u kasnijim poglavljima ove knjige.

    Poevi od kasnih osamdesetih i zatim u oko 15 narednih godina, koristile su se dve glavne strategije da bi se performansa poveala vie nego to moe da se postigne prostim ubrzavanjem generatora takta. Prvo, poveavao se kapacitet ke memorije. Sada je uobiajeno da postoje dva ili tri nivoa kea izmeu procesora i glavne memo-rije. Kako se gustina ipa poveavala, sve vie ke memorije se ugraivalo u procesor-ski ip, omoguavajui bri pristup keu. Na primer, na prvobitnom ipu Pentium bilo je namenjeno oko 10% povrine ipa za ke. Na savremenim ipovima, za ke memo-rije odvojeno je oko polovinu povrine ipa.

    Drugo, logika za izvrenje instrukcija unutar procesora postajala je sve sloenija da bi omoguila paralelno izvravanje instrukcija u procesoru. Dva pristupa vredna

  • 42POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    panje bila su protona obrada i superskalarni pristup. Protona obrada radi vrlo slino montanoj liniji u proizvodnom postrojenju, omoguavajui da se razliite faze izvrenja razliitih instrukcija deavaju u isto vreme du protone obrade. Superska-larni pristup u sutini dozvoljava vie protonih obrada unutar procesora, tako da instrukcije koje ne zavise jedna od druge mogu da se izvravaju paralelno.

    Do sredine devedesetih godina oba ova pristupa dostiu taku opadajueg dobitka. Unutranja organizacija savremenih procesora izuzetno je sloena i u stanju je da iscedi mnogo paralelizma iz toka instrukcija. Izgleda verovatno da e dalja pove-anja u tom pravcu biti relativno skromna [GIBB04]. Sa tri nivoa ke memorija na procesorskom ipu, gde svaki nivo ima znaajan kapacitet, izgleda takoe da koristi od kea dostiu svoju granicu.

    Meutim, prosto oslanjanje na poveavanje brzine generatora takta radi vee per-formanse vodi u problem potronje elektrine energije koji smo ve spomenuli. to je vea brzina generatora takta, to je vea potronja elektrine energije i neke osnovne fizike granice ve su dostignute.

    Na slici 2.11 ilustrovani su pristupi o kojima smo govorili.11 Gornja linija pokazuje da, prema Mooreovom zakonu, broj tranzistora na ipu nastavlja da raste eksponenci-jalno.12 U meuvremenu, brzina generatora takta je umanjena, da bi se spreilo dalje poveavanje potronje elektrine energije za napajanje. Da bi se nastavilo sa poveava-nje performanse, projektanti su morali da pronau naine iskorienja sve veeg broja tranzistora, drugaijih od jednostavne izgradnje sloenijih procesora. U novije vreme, odgovor je bio u razvoju raunarskog ipa sa vie jezgara.

    Tranzistori (hiljade)

    Frekvencija (MHz)

    Snaga (W)

    Jezgra

    slika 2.11 Trendovi procesora

    11 Zahvalan sam Prof. Kathy Yelick sa UC Berkeley, koja je pribavila ovaj grafik.12 Paljiviji italac e zapaziti da su vrednosti broja tranzistora na ovoj slici znaajno manje od onih na slici 2.8. Ta slika prikazuje broj tranzistora za oblik glavne memorije poznat kao DRAM (o kome se govori u Poglavlju 5), koji podrava veu gustinu tranzistora od procesorskih ipova.

  • 2.3/VIE JEZGARA, MIC I GPGPU 43

    2.3 vie jezGara, miC i GPGPu

    Imajui na umu sve tekoe navedene u prethodnim odeljcima, projektanti su se okre-nuli potpuno novom pristupu poboljavanja performanse: stavljanju vie procesora na isti ip, sa velikom deljenom ke memorijom. Upotreba vie procesora na istom ipu, to se takoe zove i viestruka jezgra ili multicore, obezbeuje mogunost da se per-formansa povea bez poveavanja brzine generatora takta. Rezultati studija ukazuju da je, unutar procesora, poveanje performansi priblino proporcionalno kvadratnom korenu poveanja njegove sloenosti [BORK03]. Ali, ako softver moe da podri efek-tivnu upotrebu vie procesora, onda udvajanje broja procesora skoro udvaja perfor-mansu. Dakle, strategija je da se upotrebe dva jednostavnija procesora na ipu, a ne jedan sloeniji procesor.

    Pored toga, sa dva procesora opravdana je upotreba veih ke memorija. To je vano, zato to je potronja elektrine energije za memorijsku logiku na ipu mnogo manja od one za procesorsku logiku.

    Kako gustina logikih kola na ipu nastavlja da raste, nastavlja se i trend, kako ka vie jezgara, tako i ka veim ke memorijama na istom ipu. Posle ipova sa dva jezgra, brzo su stigli oni sa etiri, pa sa 8, 16 i tako dalje. Kako ke memorije postaju sve vee, ima smisla napraviti, u cilju poboljanja performanse, dva, a zatim i tri nivoa ke memorije na ipu, gde je prvi nivo namenjen pojedinanom procesoru, a nivoi dva i tri se dele izmeu svih procesora.

    Proizvoai ipova sada prave ogroman skok unapred u pogledu broja jezgara, sa vie od 50 po ipu. Skok u performansi, kao i izazovi u projektovanju softvera koji bi iskoristio tako veliki broj jezgara, doveli su do uvoenja novog termina: mnogo integri-sanih jezgara (MIC, engl. many integrated core).

    Strategija oko viestrukih jezgara i MIC obuhvata homogenu zbirku procesora opte namene na jednom ipu. U isto vreme, proizvoai ipova rade i na drugoj projektantskoj opciji: ipu sa vie procesora opte namene, a uz njih i vie grafikih procesorskih jedinica (GPU, engl. graphic processing unit) i specijalizovanih jezgara za video obradu i druge zadatke. U optim crtama, GPU je jezgro projektovano da izvodi paralelne operacije na grafikim podacima. Tradicionalno se nalazi na grafi-kim karticama (adapterima displeja), a koristi se za kodovanje i renderovanje 2D i 3D grafike, kao i za obradu videa.

    Kako GPU izvode paralelne operacije na vie skupova podataka, oni se sve vie koriste kao vektorski procesori za razne primene koje zahtevaju ponavljajua rauna-nja. To donekle zamagljuje granicu izmeu GPU i CPU [FATA08, PROP11]. Kada se pomou takvog procesora podrava irok spektar primena, koristi se termin raunanje opte namene na GPU (GPGPU, engl. general-purpose computing on GPus).

    O karakteristikama projektovanja raunara sa viestrukim jezgrima govoriemo u poglavlju 18.

  • 44POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    2.4 evoluCija arHiteKture intel x86

    U celoj ovoj knjizi, oslanjamo se na mnoge konkretne primere raunarskog dizajna i implementacije da bismo ilustrovali koncepte i istakli kompromise. Brojni sistemi, kako savremeni tako i istorijski, daju primere znaajnih projektantskih svojstava u oblasti arhitektura raunara. Ali u knjizi se oslanjamo na primere iz dve raunarske porodice: Intel x86 i ARM. Trenutna ponuda x86 predstavlja rezultate decenija projek-tantskih napora u oblasti raunara sa sloenim skupom instrukcija (CISC). Arhitek-tura x86 obuhvata sofisticirane principe projektovanja koji su se jednom nalazili samo na glavnim raunarima i superraunarima i slui kao odlian primer CISC dizajna. Alternativni pristup projektovanju procesora je u raunaru sa ogranienim skupom instrukcija (RISC). Arhitektura ARM se koristi za mnogo razliitih ugraenih sistema i predstavlja jedan od najmonijih i najbolje projektovanih RISC sistema na tritu.

    U ovom i sledeem odeljku dajemo kratak pregled oba ova sistema.U pogledu podele trita, Intel se decenijama rangirao kao proizvoa mikropro-

    cesora za neugraene sisteme broj jedan, to je pozicija koja se verovatno nee ustupiti nikom drugom. Evolucija njegovog najboljeg mikroprocesora slui kao dobar indika-tor razvoja raunarske tehnike uopte.

    U tabeli 2.6 prikazana je ta evolucija. Zanimljivo je da, kako su mikroprocesori postajali bri i sve sloeniji, Intel je stvarno hvatao korak. Intel je razvijao mikropro-cesore, jedan za drugim, svake etiri godine. Ali Intel se nada da e zadrati konku-renciju skraivanjem tog vremena razvoja za godinu ili dve, i to je uinio sa najnovijim generacijama x86.13

    Vredno je truda da se napravi spisak nekih znaajnih dostignua u evoluciji Inte-love proizvodne linije:

    8080: Prvi mikroprocesor opte namene na svetu. To je bila 8-bitna maina, sa 8-bitnom putanjom za podatke ka memoriji. 8080 se koristio u prvom perso-nalnom raunaru, Altair.

    8086: Daleko monija, 16-bitna maina, pored ire putanje za podatke i veih registara, 8086 je imao i ke za instrukcije, ili red, u koji se donosilo nekoliko instrukcija pre nego to su se izvravale. Varijanta tog procesora, 8088, kori-stila se u IBM-ovom prvom personalnom raunaru, obezbeujui uspeh Intelu.

    80286: To proirenje 8086 omoguilo je adresiranje 16-Mbajtne memorije, umesto samo 1 Mbajta.

    80386: Intelova prva 32-bitna maina i generalni remont celog projekta. Sa 32-bitnom arhitekturom, 80386 je po sloenosti i snazi konkurisao minirau-narima i glavnim raunarima uvedenim samo nekoliko godina ranije. To je bio prvi Intelov procesor koji je podravao istovremeni rad na vie poslova, to je znailo da je mogao da izvrava vie programa u isto vreme.

    13 Intel to zove tik-tak model. Poslednjih nekoliko godina, koristei taj model, Intel je svake druge godine uspeno isporuivao silicijumsku tehnologiju sledee generacije kao i mikroarhitekturu novog procesora . Pogledajte http:/www.intel.com/content/www/us/en/silicon.innovations/intel-tick-tock-model-general.html

  • 2.4/UGRAEnI sIstEMI I ARM45

    80486: 80486 je uveo upotrebu mnogo usavrenije i monije tehnologije ke memorija i sofisticiranu protonu obradu instrukcija. 80486 je takoe ponu-dio ugraeni matematiki koprocesor, koji je glavnu centralnu procesorsku jedinicu rasteretio od sloenih matematikih operacija.

    Pentium: Sa Pentiumom, Intel je uveo upotrebu superskalarnih tehnika, to je dozvoljavalo da se vie instrukcija izvrava paralelno.

    Pentium Pro: Pentium Pro je nastavio kretanje ka superskalarnoj organizaciji, koje je zapoelo sa Pentiumom, agresivnom upotrebom preimenovanja regi-stara, analizom toka podataka i spekulativnim izvrenjem.

    Pentium II: Pentium II je obuhvatio Intelovu tehnologiju MMX, koja je projek-tovana posebno za efikasnu obradu video, audio i grafikih podataka.

    Pentium III: Pentium III je obuhvatio dodatne instrukcije za rad u pokretnom zarezu da bi se podrao 3D grafiki softver.

    Pentium 4: Pentium 4 ukljuuje dodatna poboljanja za rad u pokretnom zarezu i druga pojaanja za multimedijske aplikacije.14

    Core: To je prvi Intelov x86 mikroprocesor sa dvostrukim jezgrom, odnosno implementacijom dva procesora na jednom ipu.

    Core 2: Core 2 proiruje arhitekturu na 64 bita. Core 2 Quad ima etiri pro-cesora na jednom ipu. Novije ponude Core imaju do 10 procesora po ipu.

    Vie od 30 godina posle svog uvoenja 1978. godine, arhitektura x86 nastavlja da dominira tritem van ugraenih sistema. Mada se organizacija i tehnologija maina x86 dramatino promenila tokom tih decenija, skup instrukcija arhitekture se razvijao tako da ostane kompatibilan unazad sa ranijim verzijama. Prema tome, svaki program napisan na starijoj verziji arhitekture x86, moe da se izvri na novijim verzijama. Sve promene u skupu instrukcija arhitekture su obuhvatile dodatke skupu instrukcija, bez ikakvih oduzi-manja. Brzina tih promena je bila dodavanje priblino jedne instrukcije na mesec dana u toku tih 30 godina [ANTH08], pa sada postoji preko 500 instrukcija u skupu.

    Arhitektura x86 daje odlinu ilustraciju napretka u raunarskom hardveru u pro-teklih 30 godina. Godine 1978, uveden je model 8086 sa brzinom generatora takta od 5 Mhz i 29000 tranzistora. Intel Core 2 sa etvorostrukim jezgrom iz 2008. godine radi na 3 GHz, to je faktor ubrzanja od 600 puta, a ima 820 miliona tranzistora, to je oko 28000 puta vie od modela 8086. I pored toga, Core 2 je u samo malo veem pakovanju od 8086, a i cene su im uporedive.

    2.4 uGraeni sistemi i arm

    Arhitektura ARM se odnosi na arhitekturu procesora koja se razvila iz principa RISC projektovanja i koristi se u ugraenim sistemima. Principi projektovanja RIS raunara detaljno se razmatraju u poglavlju 15. U ovom odeljku dajemo kratak pregled kon-cepta ugraenih sistema, a zatim razvoj arhitekture ARM.

    14 Sa Pentiumom 4, Intel je, za oznaavanje svojih modela, preao sa rimskih brojeva na arapske. .

  • 46POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Ugraeni sistemiTermin ugraeni sistem odnosi se na upotrebu elektronike i softvera unutar nekog pro-izvoda, suprotno od raunara opte namene, kao to su laptop ili stoni sistem. Sledi dobra opta definicija:15

    Ugraeni sistem.Kombinacija raunarskog hardvera i softvera, a moda i dodat-nih mehanikih ili drugih delova, projektovana da izvodi namensku funkciju. U mnogo sluajeva, ugraeni sistemi su deo veeg sistema ili proizvoda, kao u slu-aju sistema protiv zabravljivanja automobilskih konica.

    Broj ugraenih sistema daleko premauje raunarske sistem opte namene, obu-hvatajui irok opseg primena (Tabela 2.7). Ti sistemi imaju iroko promenljive zah-teve i ogranienja, kao na primer [GRIM05]:

    Ugraeni sistemi su u opsegu od malih do velikih sistema, to implicira veoma razliita ogranienja u pogledu njihove cene, pa zato i razliite potrebe za opti-mizacijom i ponovnom upotrebom.

    tabela 2.7 Primeri ugraenih sistema i njihovih trita

    trite Ugraeni ureaj

    AutomobiliSistem za paljenjeUpravljanje motoromSistem za koenje

    Potroaka elektronika

    Digitalna i analogna televizijaZabavna elektronika (DVD, VCR, kablovska)Personalni digitalni pomonici (PDA)Kuhinjski aparati (friideri, tosteri, mikrotalasne penice)AutomobiliIgrake/igriceTelefoni/mobilni telefoni/pejderiKamereSistemi za globalno pozicioniranje

    Industrijsko upravljanjeRobotika i upravljaki sistemi za proizvodnjuSenzori

    Medicina

    Infuzione pumpeMaine za dijalizuProtetiki ureajiSrani monitori

    Automatizacija kancelarije

    Faks mainaFotokopirtampaiMonitoriSkeneri

    15 Michael Barr, Embedded Systems Glossary. Netrino Technical Library. http://www.netrino.com/

  • 2.4/UGRAEnI sIstEMI I ARM47

    Relaksirani su prema veoma striktnim zahtevima i kombinacijama razliitih zahteva za kvalitetom, na primer, u odnosu na sigurnost, pouzdanost, realno vreme i fleksibilnost.

    U rasponu su od kratkog do dugog ivotnog veka.

    Izloeni su razliitim uslovima okoline, na primer u pogledu zraenja, vibra-cija i vlanosti.

    Imaju razliite karakteristike primene, to rezultuje statikim ili dinamikim optereenjima, malim ili velikim brzinama, zadacima od onih sa intenzivnim proraunima do onih sa intenzivnim interfejsima, ili kombinacijama svega toga.

    Imaju razliite modele proraunavanja, od sistema sa diskretnim dogaajima do onih koji obuhvataju dinamiku kontinualnog vremena (obino poznatih kao hibridni sistemi).

    Ugraeni sistemi su esto vrsto spregnuti sa svojom okolinom. To moe da postavi ogranienja realnog vremena, zbog potrebe interakcija sa okolinom. Ograni-enja, kao to su zahtevana brzina kretanja, preciznost merenja i vremena trajanja, diktiraju vremenski raspored softverskih operacija. Ako sa vie aktivnosti mora da se upravlja istovremeno, postavljaju se sloenija ogranienja realnog vremena.

    Na slici 2.12, zasnovanoj na [KOOP96], prikazana je u optim crtama, organiza-cija ugraenog sistema. Pored procesora i memorije, tu je i izvestan broj elemenata po kojima se takav sistem razlikuje od tipinog stonog ili laptop raunara:

    Mogu da postoje razliiti interfejsi koji omoguavaju sistemu da meri, manipu-lie ili na neki drugi nain meusobno reaguje sa spoljanjom okolinom.

    Interfejs za oveka moe da bude vrlo jednostavan, kao to je svetlosni signal, ili vrlo sloen kao to je robotsko vienje u realnom vremenu.

    Pomonisistemi

    (napajanje,hlaenje)

    Memorija)3*$$6,&Interfejsza oveka

    Dijagnostikiport

    D/Akonverzija

    A/Dkonverzija

    Elektromehanikarezerva i sigurnost

    Senzori Aktuatori

    Procesor

    Softver

    6SROMQDRNROLQDslika 2.12 Mogua organizacija ugraenog sistema

  • 48POGLAVLJE 2/EVOLUCIJA I PERfORMAnsA RAUnARA

    Dijagnostiki port moe da se koristi za dijagnostikovanje sistema kojim se upravlja a ne samo za dijagnostikovanje raunara.

    Hardver specijalne FPGA, ASIC, pa ak i nedigitalni hardver moe da se kori-sti da bi se poveala performansa ili sigurnost.

    Softver esto ima fiksnu funkciju i specifian je za datu primenu.

    Evolucija ARMARM je porodica RISC mikroprocesora i mikrokontrolera projektovanih u ARM Inc., u Kembridu, Engleska. Kompanija ne proizvodi mikroprocesore, ali umesto toga pro-jektuje mikroprocesore i arhitekture sa vie jezgara i za njih daje dozvole proizvoa-ima. ARM ipovi su procesori velike brzine, poznati zbog male dimenzije njihovih matrica i niske potronje elektrine energije. Oni se esto koriste za PDA i druge rune ureaje, ukljuujui igrice i telefone, kao i irok spektar potroakih proizvoda. U popularnim proizvodima firme Apple, iPod i iPhone, kao procesori se koriste ipovi ARM. ARM je verovatno najkorienija arhitektura ugraenih procesora i zaista naj-vie koriena procesorska arhitektura bilo koje vrste na svetu.

    Poreklo tehnologije ARM moe da se otkrije unazad sve do britanske kompanije Acorn Computers. U ranim osamdesetim godinama British Broad casting Corpora-tion (BBC) je poverio Acornu ugovor da razvije novu mikroraunarsku arhitekturu za BBC Computer Literacy Project. Uspeh tog ugovora omoguio je Acornu da nastavi sa razvojem prvog komercijalnog RISC procesora, Acorn RISC Machine (ARM). Prva verzija, ARM1, postala je operativna 1985. godine i upotrebljena je za interna istraivanja i razvoj, kao i za koprocesor u BBC maini. Takoe 1985. godine, Acorn je lansirao ARM2, koji je imao mnogo veu funkcionalnost i brzinu, unutar istog fizi-kog prostora. Dalja poboljanja postignuta su sa izdanjem ARM3 1989. godine.

    U tom periodu Acorn je koristio kompaniju VLSI Technology da obavi stvarnu proizvodnju procesorskih ipova. Firmi VLSI je data licenca da za svoj raun pro-movie ip na tritu i ona je uspela da postigne da druge kompanije koriste ARM u svojim proizvodima, posebno kao ugraeni procesor.

    Projekat ARM je bio u skladu sa narastajuim komercijalnim potrebama za viso-kom performansom, malom potronjom elektrine energije, malim fizikim dimenzi-jama i niskom cenom procesora za primene u ugraenim sistemima. Ali dalji razvoj je bio izvan opsega mogunosti firme Acorn. Zato je organizovana nova kompanija, sa Acornom, VLSI i Apple Computers kao osnivakim partnerima, poznata kao ARM Ltd. Acorn RISC machine je postala Advanced RISC Machine.16 Prva ponuda nove kompanije, poboljanje u odnosu na ARM3, bila je oznaena kao ARM6. Kompanija je kasnije predstavila izvestan broj novih porodica, sa sve veom funkcionalnou i performansom. Brojevi u ovoj tabeli su samo pribline smernice; stvarne vrednosti se iroko menjaju za razliite implementacije.

    Prema veb stranici firme Acorn, arm.com, ARM procesori su projektovani da zadovolje potrebe tri kategorije sistema:

    16 Kompanija je odustala od oznake Advanced RISC Machine krajem devedesetih godina. Sada je to jednostavno poznato kao ARM arhitektura.

  • 2.6/PROCEnA PERfORMAnsE49

    Ugraeni sistemi za rad u realnom vremenu: Sistemi za skladitenje, karoserije i pogon automobila, industrijske i mrene primene.

    Aplikacione platforme: Ureaji koji rade pod otvorenim operativnim siste-mima, ukljuujui Linux, Palm OS, Symbian OS i Windows CE, u beinim primenama, zabavljakoj elektronici i digitalnoj obradi slike.

    sigurnosne primene: Smart kartice, SIM kartice i terminali za plaanje.

    tabela 2.8 Evolucija ARM

    Porodica Znaajne osobine Ke tipini MIPs@MHZ

    ARM1 32-bitni RISC. Nema

    ARM2 Instrukcije za mnoenje i razmenu; integrisana jedinica za upravljanje memorijom, grafiki i U/I procesor.

    Nema 7 MIPS @ 12 MHz

    ARM3 Prva upotreba procesorskog kea. 4 kB jedinstven 12 MIPS @ 25 MHz

    ARM6 Prvi koji podrava 32-bitne adrese; jedinica za pokretni zarez.

    4 kB jedinstven 28 MIPS @ 33 MHz

    ARM7 Integrisani sistem na ipu. 8 kB jedinstven 60 MIPS @ 60 MHz

    ARM8 5-stepena protona obrada; statiko predvianje grananja.

    8 kB jedinstven 84 MIPS @ 72 MHz

    ARM9 16 kB/16 kB 300 MIPS @ 300 MHz

    ARM9E Pojaane instrukcije za DSP 16 kB/16 kB 220 MIPS @ 200 MHz

    ARM10E 6-stepena protona obrada. 32 kB/32 kB

    ARM11 9-stepena protona obrada. Promenljiv 740 MIPS @ 665 MHz

    Cortex 13-stepena superskalarna protona obrada

    Promenljiv 2000 MIPS @ 1 GHz

    XScale Aplikacioni procesor; 7-stepena protona obrada.

    32 kB/32 kB L1512 kB L2

    1000 MIPS @ 1,25 GHz

    DSP = digitalni signal procesor

    2.6 ProCena Performanse

    Performansa je jedan od kljunih parametara za razmatranje u procenjivanju hardvera procesora i postavljanju zahteva za nove sisteme, uz cenu, veliinu, sigurnost, pouzda-nost i, u nekim sluajevima, potronju elektrine energije.

    Teko je napraviti bitno poreenje razliitih procesora, ak i ako oni pripadaju istoj familiji. Sirova brzina je daleko manje znaajna od toga kako procesor radi pri-likom izvravanja datog aplikacionog programa. Na nesreu, performansa aplikacije zavisi ne samo od brzine procesora, nego i od skupa instrukcija, izbora jezika za implementaciju, efikasnosti kompajlera i vetine programera prilikom implementacije tog programa.