1 UVOD Pojam ARHITEKTURA računara datira s kraja pedesetih godina prošlog veka kada je IBM (tada vodeća računarske firma) uvela ovaj izraz kako bi opisala stepen kompatibilnosti između različitih računara tj računara koje prave različite firme u domenu instrukcija jer su uvideli da je veoma bitno da svi oni mogu da izvršavaju isti set istih instrukcija, kao i da to može da donese mnogo koristi i kompanijama i klijentima. Danas se mogu naći različite interpretacije ovog izraza i on se u praksi poistovećuje sa pojmom organizacija računara koja se prvenstveno odnosi na način na koji je računar izgrađen i kako pojedine komponente funkcionišu. Cilj ovog kursa je upoznavanje sa osnovnim strukturnim komponentama arhitetkture računara. Sadržaj kursa: Istorijski razvoj računara Bulova algebra i logička kola Minimizacija Kombinaciona i sekvencionalana kola Osnovne komponente računara (procesor, memorija, magistrale) ANALOGNI I DIGITALNI SIGNALI (POJAVE) Do polovine ovoga veka proučavane pojave i sklopovi u elektronici su se uglavnom odnosili na kontinualne signale i njihovu obradu. Reakcija sistema, tj. nekog elektronskog sklopa, uvek je bila neka neprekidna, kontinualna funkcija pobudnog signala bez obzira da li je cilj bio da se pobuda modifikuje, izmeni ili pak da se što je moguće realnije prenese sa ulaza na izlaz. Primer obrade i
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
UVOD
Pojam ARHITEKTURA računara datira s kraja pedesetih godina prošlog veka kada je IBM
(tada vodeća računarske firma) uvela ovaj izraz kako bi opisala stepen kompatibilnosti između
različitih računara tj računara koje prave različite firme u domenu instrukcija jer su uvideli da je veoma
bitno da svi oni mogu da izvršavaju isti set istih instrukcija, kao i da to može da donese mnogo koristi i
kompanijama i klijentima.
Danas se mogu naći različite interpretacije ovog izraza i on se u praksi poistovećuje sa pojmom
organizacija računara koja se prvenstveno odnosi na način na koji je računar izgrađen i kako pojedine
komponente funkcionišu.
Cilj ovog kursa je upoznavanje sa osnovnim strukturnim komponentama arhitetkture računara.
Sadržaj kursa:
Istorijski razvoj računara
Bulova algebra i logička kola
Minimizacija
Kombinaciona i sekvencionalana kola
Osnovne komponente računara (procesor, memorija, magistrale)
ANALOGNI I DIGITALNI SIGNALI (POJAVE)
Do polovine ovoga veka proučavane pojave i sklopovi u elektronici su se uglavnom odnosili na
kontinualne signale i njihovu obradu. Reakcija sistema, tj. nekog elektronskog sklopa, uvek je bila neka
neprekidna, kontinualna funkcija pobudnog signala bez obzira da li je cilj bio da se pobuda
modifikuje, izmeni ili pak da se što je moguće realnije prenese sa ulaza na izlaz. Primer obrade i
2
prenosa kontinualnih signala je radio prenos. Radio signal, kao kontinualna funkcija koja se po
amplitudi ili po frekvenciji menja sa vremenom dospeva preko antene do prijemnika kao pobudni
signal. Prijemnik preko svojih etektronskih podsklopova (pojačavača, filtera, itd) obrađuje pobudni
signal kao neprekidni, a kao rezultat delovanja elektronskih sklopova na izlazu (zvučniku) se pojavljuje
reakcija sistema takođe kao neprekidna funkcija u vremenu.
Deo elektronike čiji su predmet interesovanja kontinualne veličine i signali
naziva se analogna elektronika.
Od polovine prošlog veka kada je stidljivo počela da se razvija era računara proučavane pojave i
sklopovi su se sve više odnosili na diskretne signale i njihovu obradu.
Osnovna raziika između analognih uređaja, tj. uređaja koji promenu neke date fizičke veličine
reprezentuju na analogan način i digitalnih uređaja koji istu fizičku veličinu prikazuju diskretnim
promenama može se prikazati pomoću dva sata.
Slika 1: Primer analognog i digitalnog uređaja
Kod analognog sata svakom trenutku vremena može da se pridruži odgovarajuća vrednost, dok
kod digitalnog postoji korak merenja.
Preciznost merenja vremena, u navedenom primeru, ili neke druge fizičke veličine kod digitalnih
uređaja zavisi od nivoa diskretizacije tj od najmanjeg intervala date veličine koji je moguće izmeriti.
Na slici 2 je data ilustracija jednog kontinualnog signal tj kontinualne funkcije.
Slika 2: Kontinualni signal
1166 :: 5522 :: 5588
3
Slika 3: Diskretan signal
Na slici 3 je prikazana ova funkcija ali prevedena u diskretan oblik. Proces prevođenja analogne
veličine u diskretnu naziva se digitalizacija.
Digitalizacija je proces kojim se analogni signal predstavlja nizom brojeva koji
predstavljaju izmerena vrednosti tog signala u sukcesivnim trenucima koji su najčešće
ekvidistantni.
Na primer: Zvuk spada u kontinualne signale. Digitalizacijom zvuka koji traje 1s dobija se niz od
oko 200000 brojeva.
Deo elektronike koji se bavi diskretnim signalima naziva se digitalna
elektronika.
Iako se digitale pjave i signali vezuju za moderno doba treba reći da je sama metoda rada sa
diskretnim veličinama u stvari vrlo stara matematička metoda. Poznato je da je još Demokrit, oko 400-
500 g.p.n.e. koristio tu metodu, koju je on nazivao "metoda iscrpljivanja", u rešavanju nekih
geometrijskih problema. Tako Arhimed navodi u jednom svom pismu koje je sačuvano, da je Demokrit
korišćenjem metode isrpljivanja došao do rešenja da je zapremina prizme treći deo zapremine kvadra
iste osnove, a zapremina kupe treći deo zapremine valjka iste osnove.
Tu metodu je kasnije ponovo "otkrio" Lajbnic, i danas se to naziva infinitezimalnim računom.
Tako se, na primer kod integriranja kontinualna promena nezavisno promenljive zamenjuje diskretnim
promenama dx, i ukoliko je ovo dx manje utoliko se diskretne promene funkcije sve više bliže njenim
kontinualnim vrednostima.
U zavisnosti od prilaza nekoj veličini, uređaje možemo podeliti na dve osnovne grupe:
ANALOGNI UREĐAJI - čije se ulazne i izlazne veličine ili signali menjaju
kontinualno
DIGITALNI UREĐAJI - čije ulazne i izlazne veličine karakteriše diskontinualna
promena sa jedne na drugu diskretnu vrednost.
Digitalna elektronika se danas posebno brzo razvija u oblasti
računskih mašina.
4
Ideja da se uz pomoć izvesnih uređaja ubrza rad sa velikim brojem računskih operacija nije
novijeg datuma. Jedna od najranijih računarskih naprava u istoriji društva bio je "abakus".
Predpostavlja se da je napravljen negde oko 500 g.p.n.e i doskora je bio u upotrebi u mnogim zemljama
naročito u bivšem SSSR-u i Kini. Princip rada je baziran na naročitom prebacivanju kuglica na
paralelnim žicama tako da je omogućen jednostavan i vrto brz rad u okvirima osnovnih matematičkih
operacija.
Većina velikih matematičara 17. i 18. veka bavila se problemom računarskih mašina (Paskal,
Lajbnic, Boushon itd.).
Ustvari, tek sa pojavom teorije skupova i to pre svega sa pojavom Bulove algebre mogli su se
postaviti teorijski osnovi savremene digitalne elektronike, ali je primena toga morala da sačeka
tehnološki razvoj.
Računar je mašina koja pomaže ljudima da izvršava određene zadate instrukcije.
Jezik pomoću koga ljudi komuniciraju sa računarom je mašinski jezik.
Arhitektura većine savremenih računara je takva da imaju dva ili više nivoa gledano sa stanovišta
njihove građe. Na slici 1 je prikazana struktura sistema sa sedam nivoa. Nulti nivo, nivo 0, zove se
nivo uređaja (engl. device level). Na tom nivou, konstruktor vidi pojedinačne tranzistore koji za njega
predstavljaju najosnovnije komponente računara. Prvi nivo, tj nivo 1, predstavlja hardver računara. To
su elektronska kola koja izvršavaju programe na mašinskom jeziku.
Slika: 1 Računar sa šest nivoa
Nivo digitalne logike - na ovom nivou predmet interesovanja će biti tzv. logička kola (engl.
gates). Iako su izgrađena od analognih komponenata, kao što su tranzistori, logička kola se mogu
precizno modelovati kao digitalni uređaji.(ubaci analogno digitalno osobine i primer) Svako logičko
kolo ima jedan ili više digitalnih ulaza (na koje se dovode signali koji predstavljaju 0 ili 1) i izlaz na
kome se pojavljuje neka jednostavna funkcija ulaznih podataka, npr. AND (konjunkcija) ili OR
5
(disjunkcija). Svako logičko kolo sastoji se od najviše nekoliko tranzistora. Kombinovanjem nekoliko
logičkih kola može se napraviti jednobitna memorija, u koju se može smestiti jedna nula ili jedna
jedinica. Jednobitne memorijske ćelije se mogu kombinovati u grupe od npr. 16, 32 ili 64 da bi se
dobili registri. Svaki registar može da čuva jedan binarni broj ograničene veličine. Kombinovanjem
logičkih kola može se napraviti i mikroprocesor računara.
Sledeći viši nivo je nivo mikroarhitekture. On sadrži skupove od 8 do 32 registra koji čine
lokalnu memoriju i elektronsko kolo nazvano ALU (aritmetičko-logička jedinica, engl. Arithmetic
Logic Unit) koja obavlja jednostavne aritmetičke operacije. Registri su povezani sa ALU i obrazuju
putanju podataka (engl. Data path) kojom teku podaci. Osnovni zadatak putanje podataka je da
izabere jedan ili dva registra s kojima će ALU jedinica da radi (na primer, da sabere njihov sadržaj) i da
rezultat smesti u neki registar.
Elektronska kola, zajedno s memorijom i ulazno-izlaznim uređajima čine hardver računara.
Hardver se sastoji od opipljivih objekata: integrisanih kola, štampanih ploča (kartica), kablova, uređaja
za napajanje, memorijskih čipova i štampača. U hardver ne spadaju apstraktne ideje, algoritmi ili
instrukcije.
Nasuprot tome, softver se sastoji od algoritama (detaljnih uputstava kako da se nešto uradi) i
njihovih računarskih realizacija - programa.
Na prvim računarima, granica između hardvera i softvera bila je kristalno jasna. Ipak ona se s
vremenom prilično izgubila, prvenstveno zbog dodavanja, uklanjanja i međusobnog prekrivanja nivoa.
Danas je često teško reći šta je hardver, a šta softver (Vahid, 2003).
Hardver i softver su logički ekvivalentni.
Svaka operacija koja se izvršava softverski može se i direktno ugraditi u hardver, naročito posto
se detaljno shvati svaki njen korak. Važi i obrnuto: svaka instrukcija koju izvršava hardver može se i
softverski simulirati. Odluka da se odredene funkcije realizuju hardverski, a neke druge softverski,
zavisi od činilaca kao što su cena, brzina, pouzdanost i učestalost očekivanih promena. Postoji samo
nekoliko čvrstih pravila o tome šta mora da ide u hardver, a šta izričito mora da se programira. Takve
odJuke se menjaju s trendovima u ekonomiji prozvodnje, s potražnjom i načinom korišcenja računara.
KLJUČNE TAČKE RAZVOJA ARHITEKTURE KAČUNARA
Da bi se stiglo do digitalnog računara kakav postoji danas, projektovano je na stotine različitih
vrsta računara. Većina od njih je davno pala u zaborav, ali su pojedine imale značajan na putu nastanka
savremenih računara. Ovde će ukratko biti prikazane neke epizode istorijskog razvoja računara u cilju
potpunijeg razumevanja kako se stiglo do onoga što postoji danas. Na slici 2 nabrojani su neki od
ključnih računara:
6
Slika: 2 Ključne tačke razvoja računara
Nulta generacija - mehanički računari (1642-1940)
Računsku mašinu koja stvarno radi prvi je napravio francuski naučnik Blaise Pascal (1623-
1662), pa je u njegovu čast jedan programski jezik nazvan Pascal. Uređaj koji je Pascal napravio 1642,
kada je imao samo 19 godina, trebalo je da pomogne njegovom ocu, porezniku francuske vlade. Uređaj
je bio potpuno mehanički, sastavljen od zupčanika, i pokretao se pogodno postavljenom ručicom.
Pascalova računska mašina mogla je samo da sabira i oduzima, ali je trideset godina kasnije veliki
nemački matematičar, baron Gottfried Wilhelm von Leibniz (1646-1716) napravio drugu mehaničku
mašinu koja je mogla i da množi i da deli. Leibniz je u stvari još pre tri veka napravio mehanički
ekvivalent današnjeg džepnog kalkulatora.
Tokom sledećih 150 godina nije se dogodilo ništa značajno, sve dok profesor ma-tematike na
Kembridžu, Charles Babbage (1792-1871), pronalazač brzinomera, nije konstruisao i izgradio svoju
diferencnu mašinu (engl. difference engine). Taj mehanički uređaj, koji je kao i Pascalova mašina
mogao samo da sabira i oduzima brojeve, trebalo je da preračunava tabele brojeva koje su se koristile
za pomorsku navigaciju. Čitava konstrukcija mašine bila je podređena izvršavanju jednog jedinog
algoritma -izračunavanju vrednosti polinoma metodom konačnih razlika. Najzanimljivija osobina
diferencne mašine bio je način na koji je isporučivala rezultat: ona ga je pomoću čelične matrice
7
utiskivala u bakamu ploču, što je na neki način preteča svih neizbrisivih medijuma za zapisivanje
podataka, kao što su bušene kartice ili kompakt diskovi.
Iako je diferencna mašina radila prilično dobro, Babbage uskoro nije više bio zadovoljan
mašinom koja je izvršavala samo jedan algoritam. Počeo je da ulaže sve svoje vreme i sve veće
količine porodičnog imetka (da ne pominjemo 17.000 funti koje mu je dodelila vlada) na projektovanje
i konstruisanje njenog naslednika — analitičke mašine (engl. analytical engine). Analitička mašina je
imala četiri komponente: skladište (memoriju), radni deo (računsku jedinicu), ulazni odeljak (čitač
bušenih kartica) i izlazni odeljak (bušač kartica i štampač). Skladište ulaznih podataka i rezultata
sadržalo je 1000 reči sa po 50 decimalnih cifara. Radni deo je mogao da prihvati podatke iz skladišta,
da ih sabira, oduzima, množi ili deli i da rezultat na kraju vrati u skladište. Slično diferencnoj mašini, i
analitička mašina je bila potpuno mehanička. Analitička mašina je imala tu prednost što je bila
opštenamenska. Ona je učitavala opcije s bušenih kartica i izvršavala ih. Neke instrukcije su mašini
naređivale da uzme dva broja iz skladišta, da ih prenese u radni deo, da s njima nešto uradi (npr. da ih
sabere) i da rezultat vrati u skladište. Kada bi se u mašinu stavile bušene kartice s različitim
programima analitička mašina je mogla da obavlja različita izračunavanja, što diferencna nije mogla.
Analitička mašina se mogla programirati pomoću jednostavnog asemblera tako da je za nju
trebalo napraviti softver. Za taj posao Babbage je angažovao ženu, Adu Augustu Lovelace, ćerku
čuvenog britanskog pesnika, lorda Byrona koja je tako postala prvi svetski programer. Programski jezik
Ada je dobio ime u njenu čast.
Kao i mnogi savremeni konstruktori, ni Babbage svoj hardver nikada nije očistio od grešaka.
Problem je bilo to što je njegova mašina zahtevala precizno izrađene klinove, točkove i zupčanike
kakve tehnologija devetnaestog veka nije mogla da proizvede. Bez obzira na to, on je sa svojim
idejama bio daleko ispred svog vremena, pa je čak i danas konstrukcija mnogih savremenih računara
slična analitičkoj mašini, tako da se može reci da je Babbage (pra)otac sadašnjeg digitalnog računara.
Veći skok u razvoju računara dogodio se krajem tridesetih godina prošlog je nemački student
tehnike Konrad Zuse napravio niz automatskih mašina koristeći elektromagnetske releje. On nije
mogao da dobije podršku za projekat jer je rat već počeo, a državne birokrate su bile uverene da on
neće trajati dovoljno dugo da mašina bude dovršena pre njegovog kraja. Zuse nije znao za Bebidžov
rad, a njegove mašine su uništene u savezničkom bombardovanju 1944. godine, tako da njegov
doprinos nije imao nikakvog uticaja na dalji razvoj računarske tehnike.
U SAD John Atanasoff s Državnog koledža Ajove konstruisao je mašina zapanjujuće modernu za
svoje vreme. Koristila je binarnu aritmetiku i imala je kondenzatorsku memoriju koja se zbog
električne disipacije povremeno osvežava, što je postupak koji se zvao „čišćenje memorije". Savremeni
čipovi s dinamičkom memorijom (DRAM) rade na isti način.
Prva generacija - elektronske cevi (1940-1955)
Drugi svetski rat bio je podsticaj za razvoj elektronskih računara.
Na njegovom početku nemačke podmornice su pravile darmar u britanskoj momarici. Nemački
admirali su iz Berlina, preko radija slali komande podmornicama a Britanci su ih mogli presretati, što
su i činili. Problem je bilo to što su poruke bile šifrovane uredajem ENIGIMA, čijeg prethodnika je
konstruisao amater, bivši američki predsednik Thomas Jefferson.
Rat je tek bio počeo kada je Britanska obaveštajna služba dobila primerak mašine ENIGMA od
Poljske obaveštajne službe koja ju je ukrala od Nemaca. Međutim, za dešifrovanje kodiranih poruka
bilo je potrebno mnogo računanja, a da bi od njih bilo ikakve koristi, one su se morale razumeti vrlo
brzo posle presretanja. Britanska vlada je opremila laboratoriju za dešifrovanje poruka u kojoj je u
8
najvećoj tajnosti izgrađen elektronski računar COLOSSUS. U njegovom projektovanju aktivno je
učestvovao i slavni britanski matematičar Alan Turing. COLOSSUS je bio spreman za rad 1943.
godine, ali je sa aspekta razvoja računarstva to bio ćorsokak, jer je britanska vlada sve infonnacije o
tom projektu proglasila najstrožom vojnom tajnom za period od 30 godina. COLOSSUS pominjemo
samo zato što je to bio prvi elektronski digitalni računar na svetu.
Rat je uticao i na razvoj računarstva u SAD. Američkoj vojsci bile su potrebne tablice dometa za
navođenje njene teške artiljerije. Ona ih je pravila tako što je angažovala stotine žena da ih
izračunavaju pomoću ručnih kalkulatora (smatralo se da žene ovaj posao rade preciznije od
muškaraca). Postupak izračunavanja je dugo trajao, a greške su se neizbežno događale.
John Mauchley je shvatio koliko su vojsci potrebni mehanički kalkulatori. Kao i mnogi naučnici
na polju računarstva posle njega, i on je podneo zahtev za finansiranje projekta elektronskog računara.
Njegov predlog je prihvacen 1943. godine i Mauchley i njegov diplomac J. Presper Eckert počeli su da
prave elektronski računar koji su nazvali ENIAC (Electronic Numerical Integrator And Computer -
elektronski numerički integrator i računar).
Mašina je imala 18000 elektronskih cevi i 1500 releja. Težio je 30 tona i «vukao» je 140 kilovati
iz gradske mreže. Kada je arhitektura u pitanju, imala je 20ak registara od kojih je svaki mogao da
primi desetocifreni decimalan broj. ENIAC se piogramirao podešavanjem 6000 višepoložajnih
prekidača i mnoštva utičnica pomoću čitave šume kratkospojnih kablova. Mašina nije dovršena do
1946. godine, kada je već bilo kasno da se na bilo koji način iskoristi za svoju osnovnu svrhu.
John von Neumann1, je napravio sopstvenu verziju naslednika ENIAC-a, računar IAS. Razlog
zbog čega se pominje kao bitna karika u lancu razvoja digitalnih računara je to što mu je postalo jasno
da je programiranje računara pomoću brojnih prekidača spor i mučan postupak. Shvatio je da se
program u memoriji računara može postaviti u digitalnom obliku, gde bi se našao zajedno s podacima.
Isto tako shvatio je da se nezgrapno serijsko decimalno računanje koje se koristilo u ENIAC-u,
gde je svaku cifru predstavljalo 10 elektronskih cevi (1 uključena i 9 isključenih), može zameniti
paralelnom binarnom aritmetikom.
Osnovna zamisao koju je on prvi opisao je poznata kao Von Neumannova mašina. Ona je
iskorišćena za računar EDSAC, prvi računar
koji je memorisao programe i još uvek je
osnova za skoro sve digitalne računare —
čak i danas, posle više od pola veka. Von
Neumannova mašina (kao i mašina IAS)
imala je veoma veliki uticaj na razvoj
računarstva. Blok-dijagram njene arhitekture
prikazan je na slici 3.
Slika: 3 Originalna Von Neumannova mašina
Von Neumannova mašina ima pet osnovnih delova:
memorija - sastoji se od 4096 reči od po 40 bitova, od kojih svaki može biti 0 ili 1.
aritmetičko-logička jedinica
upravljačka jedinicu
1 Von Neumann je bio genije poput Leonarda da Vinčija. Govorio je mnoge jezike, bio je stručnjak za fiziku i matematiku,
i sećao se svega što je ikada čuo, video ili pročitao. Mogao je izgovori tekst knjige koju je pročitao godinama pre toga.
„Mozak" računara U savremenim računarima one se nalaze na
jednom čipu zvanom centralni procesor (engl. Central
Processing Unit, CPU).
9
ulazni uređaji
izlazne uredaji
U aritmetičkoj logičkoj jedinici nalazi se specijalan unutrašnji 40-bitni registar nazvan
akumulator. Tipična instrukcija dodaje memorisanu reč u akumulator ili sadržaj akumulatora smešta u
memoriju.
Dok se sve ovo događalo, IBM je bio mala kompanija koja se bavila proizvodnjom bušača kartica
i mašina za njihovo sortiranje. Iako je kompanija IBM delom finansirala Aikena, nije bila previše
zaiteresovana za računare sve dok 1953. godine nije na tržište izbacila na tržište model 7012.
VAKUUMSKE CEVI
Електронска цев (електронска лампа, вакуумска цев) је електронска компонента чији се рад
заснива на кретању електрона кроз вакуум под дејством
електростатичког поља између електрода.
Рад скоро свих електронских цеви заснива се на принципу
термоелектронске емисије.
Термоелектронска емисија је процес у коме електрони напуштају
површину метала услед њеног загревања након чега настављају да
се крећу под деловањем електричног поља и на тај начин долази до
протицања струје3.
Открићем транзистора електронске цеви су скоро сасвим потиснуте
из шире употребе. Међутим у неким областима вакуумске цеви су
остале и задржале се у масовној употртеби све до данашњих дана.
Овде се пре свега мисли на употребу катодне цеви у класичним ТВ
апаратима, мада су последњих година све више су се ипак присутне
нове технологије као што су ЛЦД и плазма уређаји. Исто важи и за мониторе.
Један од научника чије се име везује са првим експериментима са овим цевима је и Никола
Тесла.
Као што је и речено, са открићем транзистора у Беловим лабораторијама 1948. године, епоха
електронских цијеви је полако почела да се завршава.
ВАКУУМСКА ДИОДА
На слици је дат шематски приказ диоде са директно грејаном
катодом. Назив диода потиче од тога што овакве цеви имају две
електроде: катоду (К) и аноду (А) које се налазе на негативном
односно позитивном потенцијалу респективно. Ова разлика
потенцијала омогућава успостављање електричног поља између
катода.
Грејањем катоде долази до повећавања енергије електрона, која у
једном тренутку постаје довољно велика да они напуштају катоду и
2 Naslednici: 704 i 709
3 Струја представља усмерено кретање наелектрисања.