Вы находитесь на странице: 1из 36

ORGANIZACIJA RAČUNARA

1.GLAVNI DELOVI RAČUNARSKOG SISTEMA

Glavni delovi računarskog sistema su procesor, glavna memorija, ulazno izlazni


podsistemi, i pojedina sredstva medjusobnog povezivanja navedenih delova. Procesor se sastoji
od kontrolne jedinice,aritmetičko-logičke jednice,registara i sredstava za međusobno
povezivanje.
Prilikom opisivanja računarskog sistema često razlikujemo organizaciju računara i
arhitekturu računara. Iako je teško tačno definisati ova dva pojma postoji sporazum o
područjima koja obuhvataju svaki ponaosob :
- Arhitektura računara se odnosi na one delove sistema vidljivih za programera, ili
drugačije rečeno onih delova koji imaju direktan uticaj na logičko izvršenje
programa. (set instrukcija, adresiranje, IO).
- Organizacija računara se odnosi na operacione jedinice i njihove medjusobne veze
koje omogućavaju detaljan opis arhitekture.
Primeri arhitekturnih atributa uključuju set instrukcija, broj bita upotrebljen da bi se
predstavila određena vrsta tipa, ulazno izlazni mehanizmi i tehnike za adresiranje memorije.
Organizacioni atributi uključuju hardver vidljiv programeru, kao što su recimo kontrolni
signali, interfejsi između kompjutera i periferija, kao i tehnologija memorije koja se koristi.
Istorijski gledano, kao i danas razlika između arhitekture i organizacije je prilično bitna.
Mnogi proizvođači računara nude čitavu familiju računara sa istom arhitekturom, ali sa
razlikom u organizaciji. Samim tim različiti modeli iste familije imaju različitu cenu i različite
karakteristike. Šta više arhitektura računara može izdržati više godina, ali se njena organizacija
menja sa promenom tehnologije. Značajan primer za obe stvari je arhitektura IBM System/370.
Ova arhitektura je prvi put predstavljena 1970 i uključivala više modela. Kupac skromnijih
zahteva može kupiti jeftiniji, sporiji model, a ako se zahtevi u međuvremenu povećaju, kasnije
nadograditi do skupljeg, bržeg modela bez obaveze da napusti softver koji je u međuvremenu
nadograđen. Tokom godina IBM je predstavio mnoge nove modele sa poboljšanom
tehnologijom koji bi zamenili starije nudeći veću brzinu, manje troškova i sl. Novi modeli
zadržavali su istu arhitekturu.
U klasi sistema zvanog mikrokompjuteri, veza između organizacije i arhitekture je
veoma bliska. Promene u tehnologiji ne samo da su uzrokovale organizaciju, već su koristile kao
uvod u mnogo jače i bogatije arhitekture. Uopšte posmatrano, generacijski, postojala je sve
manja potreba za usklađenost ovih manjih mašina.
Računar je složena mašina. Moderniji računari sadrže milione osnovnih elektronskih
komponenti. Za opisivanje ovako složenih sistema bitno je raspoznavanje hijerarhije istih.
Hijerarhija je niz međusobno povezanih podsistema od najvećih sve do najosnovnijih delova
jednog sistema. Na svakom nivou sistem se sastoji od niza komponenti i njihovih međusobnih
veza. Ponašanje na svakom od nivoa zavisi od pojednostavljene karakterizacije na sledećem
nivou. Na svakom nivou kostruktor mora da pazi na strukturu i funkciju:
- Struktura - način na koji su komponente povezane
- Funkcija - operacija svake komponente kao delu strukture
Kada govorimo o opisu imamo 2 izbora : od dole postepeno do potpunog opisa ili počev
od samog vrha deleći celinu na podoblasti. Iz iskustva poznato je da je pristup od gore ka dole
najjasniji i najefektniji, pa će taj način biti i objašnjen. Počnimo od glavnih komponenti
kompjuterskog sistema objasnjavajući njihovu strukturu i funkciju, nastavljajući do nižih slojeva
hijerarhije.

FUNKCIJA
Obe od navedenih i funkcija i struktura su u suštini jednostavne. U globalu postaje 4
osnovne funkcije:
1. Obrada podataka
2. Skladište podataka
3. Kretanje podataka
4. Kontrola
Računari svakako moraju biti u mogućnosti da obrađuju podatke. Podaci mogu biti
širokog spektra kada je njihov oblik u pitanju, a takođe i zahtevi za obradu su veliki. Međutim,
videćemo da postoji samo par osnovnih metoda ili tipova obrade podataka. Takođe je bitno i
skladištenje podataka. Čak i pri direktnoj obradi podataka (podatak uđe, obradi se i dobijemo
gotov rezultat na izlazu) računar mora uskladištiti bar one podatke nad kojima se tog momenta
vrši obrada. Dakle postoji bar kratkotrajno skladištenje podataka. Podjednako bitna funkcija je i
dugotrajno smeštanje podataka. Podaci se smeštaju u računar za naknadno pozivanje ili
izmenu.
Računar mora biti u mogućnosti da premešta podatke između sebe i spoljašnjeg sveta.
Operativno okruženje računara sastoji se od uređaja koji služe ili kao izvori podataka ili kao
destinacija za podatke. Proces primanja podataka ili njihove dostave do uređaja direktno
povezanog sa računarom poznat je kao Ulazno-izlazni (input-output), a uređaj kao periferni.
Proces premeštanja podataka na veće udaljenosti poznat je kao komunikacija podacima.
Konačno,mora postojati i određena kontrola ove 3 funkcije. Kontrola je ustvari zasnovana
na kontroli programera koji snabdeva računar instrukcijama. Unutar računara kontrolna
jedinica rukovodi i ispituje performanse funkcionalnih delova na zahtev tih instrukcija. Na
ovom uopštenom nivou razmatranja postoji samo par operacija koje se mogu primeniti. Slika 1
opisuje četiri moguća tipa operacija:
- računar može funkcionisati kao uređaj za premeštanje podataka (slika.1.a) prosto
premeštajući podatke od jedne periferije ili linije za komunikaciju do druge.
- može služiti i kao skladište za podatke (slika1.b), odnosno za čitanje i pisanje u
zavisnosti od smera kretanja podataka (od spoljašnjeg okruženja do skladišta ili
obratno).
- može da služi za obradu podataka u skladištu (slika 1.c)
- ili na relaciji između skladišta i spoljašnjeg okruženja (slika 1.d).
STRUKTURA
Slika 1.1 je najjednostavniji prikaz računara. Računar je entitet koji na neki način
komunicira sa svojim spoljašnjim okruženjem. U globalu sve njegove
C O M P U TE R
veze sa tim okruženjem mogu se nazvati periferijalnim uređajima
- s k la d iš t e ili linijama za komunikaciju (magistralama). O obe stvari će reči
- o b ra d a
biti nešto kasnije, ali ono znatno bitnije je unutrašnja struktura
računara. Postoje četiri osnovne komponente :
Slika 1.1
1. Kontrolna procesorska jedinica (Control Proessing Unit) kontroliše operacije
računara i izvršava funkcije za obradu podataka. Poznatija je kao PROCESOR.
2. Glavna memorija - skladišti podatke.
3. I/O-Ulazno-izlazni - premešta podatke od računara do periferija i obratno.
4. Sistemsko međupovezivanje - pojedini mehanizmi koji omogućuju komunikaciju
između glavne memorije, procesora i I/O.
U računaru se mogu nalaziti jedna ili više od svih navedenih komponenti ponaosob. U
prošlosti bilo je ustaljeno da postoji samo jedan procesor, međutim u novije vreme neredak
slučaj je i korišćenje više porcesora u jednom sistemu. Osnovne jedinice procesora, za nas
najinteresantnijeg dela, su :

- kontrolna jedinica - kontroliše operacije procesora, samim tim i računara


- aritmetičko logička jedinica(ALU) - izvršava funkcije za obradu podataka u računaru
- registri - služe za čuvanje podataka
- procesorsko međupovezivanje - mehanizmi za međusobno povezivanje navedenih
delova.

ISTORIJSKI RAZVOJ
Razvoj računara bio je karakterisan povećanjem brzine procesora, smanjenjem veličine
komponenti, povećanjem veličine memorije kao i povećanjem ulazno izlaznih kapaciteta i
brzine. Faktor značajan za povećanje brzine procesora je smanjenje komponenti mikroprocesora.
Time se smanjivala razdaljina između komponenti, a samim tim i povećavala brzina. Ipak
najveća dobit na brzini proteklih godina proizilazi iz organizacije procesora, uključujući
korišćenje recimo tehnika paralelnog izvršavanja i sl. Takve tehnike korišćene su prevashodno
da bi održavale procesor zauzetim što duže. Međutim, mora se voditi računa o određenoj
ravnoteži u izvedbi pojedinih delova računarskog sistema, tako da recimo dobitak u
performansi jednog dela računara nije ugrožen nedostatcima u drugim. Recimo brzina
procesora se znatno češće povećavala od brzine memorije pristupa. Nekoliko razilčitih tehnika
se koristi da bi se napravila određena ravnoteža uključujući keš, šire putanje prenosa podataka
od memorije do procesora, korišćenje inteligentnijih čipova i sl.

MEHANIČKA ERA (1600-1940)


- Wilhelm Schickhard (1623) - astronom i matematičar. Mašina koja je automatski
sabirala, oduzimala, množila i delila.
- Blaise Pascal (1642) - Prvo masovno distribuiranje mašine (50 kopija, mogla je da
sabira i oduzima).
- Gotfried Leibnitz (1673) - Usavršio Pascal-ovu mašinu da može da množi i deli.
- Charles Babbage (1822) - tvorac "modernog računara". Želeo je više tačnosti u
računanjima.
- Difference engine - računala matematičke tabele
- Analytic engine - Izvodila bilo koju matematičku operaciju. Sadržala modernu
strukturu - ALU, IO, skladište. Sabirala za jednu sekundu, množila za minut
Obe mašine nisu uspele iz mehaničkih razloga.
- Tu su još bili i Hollerith, Zuse (napravio prvi mehanički kompjuter Z1, binarna
mašina), Aiken (primenio Babbage-ovu mašinu)...
Dakle, mehanički kompjuteri su pravljeni da bi brže izračunali neku operaciju i povećali
preciznost u računanju.
Mane:
- Ograničenost brzine inercijom između pokretnih delova, kao i nepouzdanost i
prilično visoka cena.

PRVA GENERACIJA - Vakuumske cevi


ENIAC (Electronic Numerical Integrator And Computer)
Dizajniran i napravljen pod nadzorom Mauchly, Eckert na univerzitetu Pensilvanija
predstavljao je prvi elektronski digitalni kompjuter za opštu namenu. Projekat je predstavljao
odgovor na ratne zahteve SAD. Da bi napravili novo dalekometno oružje, BRL (Ballistics
Research Laboratory) je morao da korsiti 200 ljudi samo za proračune na običnim digitronima.
Kako je to predstavljalo puno vremena po jednom oružju Mauchly tada profesor na
univerzitetu i Eckert jedan od njegovih diplomaca predložili su da se konstruiše jedan uređaj
koji bi funkcionisao koristeći vakuumske cevi.
1943. ovaj predlog je prihvaćen od strane vojske i izrada ENIAC-a je počela. Rezultat
rada bila je mašina teška preko 30 tona, zauzimala 15.000 kvadratnih metara, kao i više od
18.000 vakuumskih cevi. Tokom rada koristila je 140 kilovata snage.
ENIAC je pre bio decimalna nego binarna mašina. To jest, brojevi su bili predstavljeni u
decimalnom zapisu, a operacije se izvodile u decimalnom sistemu. Njegova memorija sastojala
se od 20 "akumulatora" sposobnih da sadrže decimalne brojeve sa 10 cifri. Svaka cifra bila je
predstavljena kao prsten od vakuumskih cevi. U proizvoljnom trenutku samo jedna od ovih
cevi bila bi uključena, tako predstavljajući jednu od 10 cifara. Najveći nedostatak ENIAC-a
predstavljalo je samo programiranje koje se svodilo na premeštanje kablova, uključivanje i
isključivanje prekidača svaki put kada bi hteli da odradimo nešto drugo. ENIAC je završen
1946., prekasno da bi bio upotrebljen u ratu. Umesto toga prvi zadatak bio je izvođenje niza
složenih proračuna korišćenih da bi se testirala vodonična bomba (H-BOMB). Korišćen je sve do
1955., kada je razmontiran.

Fon Nojmanova Mašina


Ulazak i izmena programa kod ENIAC-a bio je mučan i dosadan posao. Proces
programiranja bio bi poboljšan ukoliko bi se program mogao predstaviti u obliku pogodnom za
smeštanje u memoriju pored podataka. Tada bi računar dobijao instrukcije čitajući ih iz
memorije, a program bi mogao biti namešten ili izmenjen podešavanjem vrednosti dela
memorije.
Struktura IAS kompjutera
Ova ideja, poznata kao stored-program concept obično se pripisuje tvorcima ENIAC-a,
najviše matematičaru Džonu Fon Nojmanu, koji je bio konsultant na projektu ENIAC. Na istu
ideju otprilike u isto vreme došao je Tjuring. Prvo zvanično iznošenje ideje bio je Fon Nojmanov
Predlog 1945. za izradom novog kompjutera EDVAC-a (Electronic Discrete Variable Computer).
1946. Fon Nojman i njegove kolege počinju sa radom na IAS kompjuteru, prorotipu svih
računara opšte namene. Sa slike vidimo da su mu osnovni delovi bili:
- glavna memorija - u koju su smešteni i podaci i instrukcije
- aritmetičko-logička jedinica - za operacije nad binarnim podacima
- kontrolna jedinica - koja prevodi instrukcije u memoriji i omogućava da budu izvršene
- ulazno-izlazni uređaji - kontrolisani od strane kontrolne jedinice
Sa retkim izuzecima svi današnji računari imaju ovu strukturu, pa se samim tim nazivaju
i Fon Nojmanove mašine. Zato je bitno ukratko opisati rad IAS kompjutera.
Memorija IAS-a sastoji se od 1000 lokacija za skladištenje tzv. reči svaka od po 40 bitova. I
podaci i instrukcije su ovde smešteni. Samim tim brojevi moraju biti predstavljeni u binarnom
brojnom sistemu kao i svaka instruukcija ponaosob. Svaki broj predstavljen je pomoću bita
znaka i 39-bitne vrednosti. Reč takodje može da sadrži dve 20-bitne instrukcije od kojih se svaka
sastoji od 8-bitnog operacionog koda precizirajući operaciju koja će biti izvršena, i 12-bitna
adresa označavajući jednu od reči u memoriji (označenih od 0 do 999).

0 8 19 20 28 39

oppcode address oppcode address

LEVA INSTRUKCIJA DESNA INSTRUKCIJA

Kontrolna jedinica IAS-a funkcioniše tako što uzima instrukcije iz memorije i izvršava ih
jednu po jednu. Da bi ovo objasnili potrebna je slika 1.3. Ona pokazuje da i kontrolna jedinica i
aritmetičko logička jedinica imaju mesta za skladištenje tzv. registre. Imamo:

- memory buffer register (MBR) - sadrži reč koja treba da bude smeštena u memoriju
ili se koristi da primi reč iz memorije.
- memory adress register (MAR) - naznačuje adresu reči u memoriji koja treba da se
zapiše ili iščita iz MBR.
- instruction register (IR) - sadrži operacioni kod instrukcije koja se izvršava.
- instruction buffer register (IBR) - zadužen da privremeno čuva desnu instrukciju
reči u memoriji.
- program counter (PC) - sadrži adresu sledećeg para instrukcija koji se uzima iz
memorije.
- accumulator (AC) and multiplier qoutient (MQ) - zadužen da privremeno čuva
operande i rezultate operacija aritmetičko-logičke jedinice. Primer, rezultat množenja
dva 40-bitna broja je 80-bitni broj. Najbitnijih 40 cifara smešteno je u akumulatoru, a
40 manje značajnih u MQ-u.

IAS funkcioniše ponavljajući ciklus instrukcija. Svaki ciklus se sastoji iz dva podciklusa.
U toku podciklusa dobavljanja instrukcija iz memorije, operacioni kod naredne instrukcije
učitan je u registru instrukcija (IR), a deo adrese se učitava u MAR. Instrukcija može biti uzeta iz
IBR ili dobiti iz memorije učitavajući reč u MBR, a zatim šalje u IBR, IR i MAR.
Ove operacije kontrolisane su od strane elektronskog kola. Da bi se pojednostavila
elektronika koristi se samo jedan registar da naznači adresu u memoriji za čitanje i pisanje, i
samo jedan registar da naznači izvor ili destinaciju.
Kada se operacioni kod nađe u IR nastupa podciklus izvršavanja (execute). Kontrolno
kolo prevodi operacioni kod i izvršava instrukciju tako što šalje odgovarajuće kontrolne signale
koji uslovljavaju izvršavanje operacije aritmetičko logičke jedinice. IAS sadrži 21 instrukciju,
koje mogu biti grupisane na sledeći način :
delimični ciklus izvršavanja IAS-a
- Data transfer - prenos podataka između regitstara memorije i aritmetičko-logičke
jedinice ili između registara ALU
- Uncoditional branch - kontrolna jedinica izvršava instrukcije po određenom redu, taj
red može biti promenjen korišćenjem ovog bezuslovnog skoka
- Conditional branch -
- Arithmetic - operacije ALU
- Address modify - omogućava adresama da budu izračunate u ALU, a zatim smeštene
u instrukcijskom skladištu u memoriji

slika: sažetak generacija računara


ČETIRI NIVOA OPISA RAČUNARA
1.Global System Structure
Opšta struktura sistema je definisana sa glavnim komponentama :
1. Procesorom
2. Kontrolnim modulima
3. Memorijskim modulima
4. Strukturom međupovezivanja
2.Processor Level
Navedene osobine arhitekture. Interfejsi, setovi instrukcija i predstavljanje podataka
(data representation).
3.Register Level
Registers, counters, ALUs, Memories, clocks, kombinaciona kola.
4.Gate Level
Naznačuje operacije na individualnom nivou bita. Gates (kapije) su primitivni elementi.

slika: četiri nivoa opisa računara

DRUGA GENERACIJA - Tranzistori


Prva bitna promena bila je zamena vakuumske cevi tranzistorom, koji je manji, jeftiniji,
rasipa manje toplote od vakuumske cevi, a može u potpunosti da je zameni. Izumeo ga je Bell
Labs 1947., a već 1950. njegov izum predstavljao je elektronsku revoluciju. Korišćenje ovih
tranzistora definisalo je drugu generaciju računara. Dakle, postalo je opšte prihvaćeno
klasifikovanje računara u generacije na osnovu njihovog osnovnog hardvera. Svaku narednu
generaciju karakterisala je veća brzina, veći kapacitet memorije i manja veličina u odnosu na
prethodnika. Takođe ALU i kontrolne jedinice bile su znatno kompleksnije, zatim korišćenje
viših programskih jezika, kao i snabdevanje sistemskim softverom zajedno sa računarom bile su
samo neke od prednosti. (primer IBM 7094).
TREĆA GENERACIJA - Integrisana kola
60-tih i 70-tih godina za pravljenje računara korišćeni su diskretni elementi kao što su
tranzistori, otpornici, kondenzatori... Dakle, svaka od ovih komponenti pravljena je
pojedinačno, a zatim su povezivana na jednoj ploči. Ceo proces proizvodnje od tranzistora do
kola bio je skup i naporan. Primer - IBM System/360. Integrisana kola koriste činjenicu da
komponente kao što su tranzistori, otpornici, kondenzatori mogu biti pravljeni kao
poluprovodnici, kao recimo silikon. Znatno bolje je dakle praviti celo kolo u vidu malog parčeta
silikona nego gomilati diskretne komponente odvojeno. Tanka obloga od silikona podeljena je u
matricu malih razmera (mm2). Obloga se razbija u čipove. Svaki čip sastoji se od više I i ILI kola,
kao i većeg broja ulaza i izlaza. Čip se zatim stavlja u zaštitnu kutijicu iz koje vire iglice pomoću
kojih bi se mogao zakačiti za ploču. SSI - Small Scale Integration.

UNUTRAŠNJE VEZE RAČUNARSKOG SISTEMA

FON-NOJMANOVA ARHITEKTURA
Bilo je naporno stalno menjati podatke unsene u racunar ENIAC. Proces programiranja
mogo je biti olakšan kada bi program bio predstavljen u formi pogodnoj za skladištenje u
memoriju pored podataka. Zatim, kompjuter može dobiti instrukcije čitajući ih iz memorije i
program može biti postavljen ili izmenjen postavljanjem vrednosti u deo memorije. Ova ideja
poznata kao Store program – koncept, obično se pripisuje ENIAC dizajnerima, ali naj zaslužniji
je bio matematičar Fon Nojman koji je bio konsultant na ENIAC projektu. Tu ideju je u otprilike
isto vreme razvio i Turing.
Prva objava ove ideje bila je 1945. kada je Fon Neumann predložio novi kompjuter
EDVAC (Electronic discrete variable computer). 1946 Nojman i njegove kolege počinju dizajn
novog Stored-program kompijutera na Prinston institutu za napredne studije nazvan IAS
kompijuter. Iako završen tek 1952. IAS je prototip svih podsekvencionalnih kompijutera
generalne upotrebe.
Generalna struktura IAS kompijutera sastoji se od :
- glavne memorije koja čuva i podatke i instrukcije
- aritmetičko logičke jedinice sposobne za operacije na binarnim podacima
- kontrolne jedinice koja interpretira instrukcije u memoriji i uzrokuje da budu
izvršene
- ulazno izlazna oprema kontrtolisana od strane kontrolne jedinice
Uglavnom danas svi kompijuteri imaju istu generalnu strukturu i funkciju i mogu se
nazvati von Neumann mašine.
Memorije IAS-a sastoji se od 1000 lokacija za skladistenje, reči, od 40 binarnih cifara (bita)
svaka. I podaci i instrukcije ovde skladišteni. Brojevi moraju biti predstavljeni u binarnoj formi
instrukcije takodje. Svaki broj je prestavljen znakovnim bitom i 39-bitnom vrednošću. Reč može
takodje sadržati dve 20-bitne instrukcije gde svaka instrukcija sadrzi 8-bitni operacioni kod
(oppcode) koji pokazuje koja operacija će biti izvedena i 12-bitna adresa koja označava jednu od
reči u memoriji (označeno brojem od 0-99).
Kontrolna jedinica izvršava IAS uzimajući instrukcije iz memorije i izvršavajući ih jednu
po jednu. Kontrolna jedinica i ALU sadrže lokacije za skladištenje a to su :

- memory buffer register (MBR) - sadrži reč koja treba da bude smeštena u memoriju
ili se koristi da primi reč iz memorije
- memory adress register (MAR) - naznačuje adresu reči u memoriji koja treba da se
zapiše ili iščita iz MBR
- instruction register (IR) - sadrži operacioni kod instrukcije koja se izvršava.
- instruction buffer register (IBR) - zadužen da privremeno čuva desnu instrukciju
reči u memoriji
- program counter (PC) - sadrži adresu sledećeg para instrukcija koji se uzima iz
memorije
- accumulator (AC) and multiplier qoutient (MQ) - zadužen da privremeno čuva
operande i rezultate operacija aritmetičko-logičke jedinice. Primer, rezultat množenja
dva 40-bitna broja je 80-bitni broj. Najbitnijih 40 cifara smešteno je u akumulatoru, a
40 manje značajnih u MQ-u

Svaki instrukciski ciklus sastoji se od dva pod ciklusa. Tokom ciklusa dovodjenja,
operacioni kod sledeće instrukcije se učitava u IR i adresni deo memorije se učitava u MAR. Ova
instrukcija može biti uzeta iz IBR ili biti dobijena iz memorije učitavanjem reči u MBR i onda do
IBR IR ili MAR. Da bi se uprostila elektronika samo jedan reg. se koristi za odredjivanje adrese u
memoriji za čitanje ili pisanje i samo jedan reg. se koristi za izvor i destinaciju.
Jednom kad je operacioni kod u IR ciklus izvršavanja je zavrsen. Kontrolna kola
interpretiraju operacioni kod i izvršavaju instrukciju slanjem odgovarajućeg kontrolnog signala
što uzrukuje pomeranje podatka ili operaciju da bude izvršena od strane ALU.

Tipovi instrukcija :
- Data transfer : pomera podatke izmedju memorije i ALU registara ili izmedju dva
ALU registra
- bezuslovna petlja : normalno kontrolna jedinica izvršava instrukcije u sekvencama iz
memorije. Ova sekvenca moze biti promenenja instrukciom grananja ovo olakšava
ponavljajuće operacije
- uslovna petlja : grananje može biti napravljeno u zavisnosti od situacije tako da
dozvoljava tačke odluke
- aritmetika : operacije izvodjenja od strane ALU
- Adresni modifikator : dozvoljava adresama da budu izvrsene u ALU I onda stavljene
u instrukcije cuvane u memoriji to dozvoljava programu znacjnu adresnu
fleksibilnost

Osnovna svojstva :
- ciklus instrukcija sastoji se od jedne instrukcije donošenja (praćenje nulom) i više
operanada skladistenja (praćenje proverom interapta (interapt uključen))
- glavne komponente kompijuterskog sistema (i/o moduli, processor memorija) moraju
biti medjusobno povezani da bi mogli da razmenjuju podatke i kontrolne signale. Naj
popularniji način medjusobnog povezivanja komponenti je da se koristi zajednički
system bas sastavljen od višestrukih linija. Kod savremenih sistema postoji tipična
hiararhija basova zbog boljih performansi
- ključni elementi u dizajnu basa su (zavisno dali je dozvola za pošiljiku signala
kontrolisana centralno ili u distributivnoj formi) tajming, (dali su signali na basu
sinhronizovani sa centralnim klokom ili su poslati nesinhronizovano bazirani na
prethodnom prenosu) širina.
Na najvišem nivou kompijuter podrazumeva CPU memoriju I/O sa jednim ili više
modula različitog tipa. Ove komponente su povezane tako da obavljaju osnovnu funkciju
kompjutera a to je izvršavanje programa. Na globalnom nivou opisujemo računar opisujući
izlazno ponašanje svake komponente, a to su, podaci i kontrolni signali koji se razmenjuju sa
ostalim komponentama, i opisujuci strukturu kojom su one medjusobno povezane. Ovakav
globalni pregled strukture i funkcija je vazan zbog razumevanja prirode računara.
Von Nojmanov dizajn kao osnovu ima tri ključna koncepta
- podaci i instrukcije su smešteni u jedinstvenu piši-briši memoriju (single write-read
mem.)
- svaka lokacija ovakve memorije ima svoju adresu i nezavisna je od tipa smeštenog
podatka
- izvršavanje se vrši u sekvencijalnoj formi jedna pa druga instrunkcija postoji mali
skup osnovnih logičnih komponenti koje mogu biti medjusobno kombinovane na
različite načine.

INTERAPTI
U osnovi svaki kompijuter podržava mehanizam prekog kojeg ostali moduli (I\O mem.)
mogu prekinuti normalan process procesora.

Usledećoj tabeli je lista najčešćih klasa interapata

- program generiše iz nekog stanja koje nastaje kao rezultat izvršavanja instrukcije kao
što je aritmetičko prekoračenje, deljenje nulom, pokušaj izvršavanja ilegalne mašinske
instrukcije i pozivanje iznad korisnički dozvoljenog prostora
- tajmer generiše tajmer u procesoru. To dozvoljava operativnom sistemu da izvršava
odredjene funkcije na regularnoj bazi
- I\O generiše i\o kontroler da signalizira normalno kompletiranje operacije ili da
signalizira različite vidove greške
- hardverska greška generiše nepravilnost pad napona, nesaglasnost memorije

Interapti su dati primarno da bi poboljšali efikasnost procesiranja, naprimer mnogi


eksterni uredjaji su mnogo sporiji od procesora. Recimo da processor prenosi podatke štampaču
koristeći instrukcije iz šeme sa slike.
Posle svake operacije pisanja processor mora praviti pauzu i čekati štampač da završi. Za
vreme te pauze može se izvršiti mnogo 1000 instrukcija nevezanih za memoriju. To je veliko
traćenje procesorskog vremena . Slika ilustruje ta stanja.
Korisnički program izvršava seriju Write poziva umešanih u proces, kod segment 1, 2, 3
pripisuju sekvencama instrunkcije koje ne uključuju I\O. Write pozivi su upućeni I\O
programu koji je system utility koji će izvršiti pravu i\o operaciju.
I\O program sastoji se od 3 sekcije :
- sekvence instrunkcija označena sa 4 na slici za pripremu prave i\o opracije. Ovo
može uključiti kopiranje podataka da budu izlaz u specijalni bafer i pripremu
parametara za kontrolisanje uredjaja.
- prava I\O komanda. Bez upotrebe interapta kada je jednom komanda izdata
program mora čekati da I\O uredjaj da izvrši traženu funkciju. Program može čekati
jednostavnim ponovnim izvodjenjem testa operacije da utvrdi da li je I/O operacija
gotova.
- sekvence istrukcija označenih sa 5 na slici za komletiranje operacija. Ovo može
uključiti podešavanje flegova za prepoznavanje uspešnosti ili neuspešnosti operacije.
I/O operacija može relativno dugo vremena da se izvršava tako da I/O program ne
okleva (sve je to zbog ALU), čeka. Odatle, korisnički program je stopiran u tački
write poziva na neki razumni period.

VIŠESTRUKI INTERAPTI
Mogu se uzeti dva prilaza za rad sa višestrukim interaptima. Prvi je da se isključe
interapti dok je jedan interapt u procesu. Isključeni interapt znači da processor može i
ignorisaće zahtevni signal interapta. Ako se interapt pojavi tokom vremena on generalno ostaje
da visi i processor će ga proveriti kada ga upali. Kada se korisnički program izvršava i nastane
interapt, interapti se momentalno isključuju. Kada se kompletira rutina za izvršavanje interapta
(interrupt handler routine) interapti se uključuju pre ponavljanja korisničkog programa, i
processor proverava da vidi dali se pojavio neki dodatni interapt. Ovaj prilaz je lep i
jednostavan to jest upravljanje interaptima se vrši u striktnom sekvencionalnom redu. Kada
ulazni podaci dolaze sa komunikacione linije moraju biti preuzeti vrlo brzo da naprave mesta za
drugi ulaz. Ako prvi ulazni paket nije bio izvršen pre drugog podaci se mogu izgubiti.
Drugi prilaz bi bio definisati prioritete za interapte i dozvoliti jedan interapt većeg
prioriteta da izaziva da bi interapt handler nižeg prioriteta bio prekidan. Na primer zamisli
system sa tri i\o uredjaja : printer, disk, komunikaciona linija, sa povećanim prioritetom za 2, 4 i
5 respektivno. Korisnički program počinje za t=0. Kada je t=10, pojavljuje se interapt za
štampač, informacija za korisnika je smeštena na sistemski stek i izvršavanje se nastavlja na
štampačevoj interapt servis rutini (ISR). Dok se ova rutina još izvršava, za t=15, pojavljuje se
komunikacioni interapt. Zbog toga što komunikaciona linija ima veći prioritet nego štampač
njegov interapt je mnogo važniji. Štampačev ISR, njegovo stanje je gurnuto na stek i izvršavanje
se nastavlja na komunikacionom ISR. Dok se ova rutina izvršava nastaje disk interapt (t=20).
Zbog toga što je ovaj interapt nižeg prioriteta , on će biti zadržan i komunikacioni ISR će da radi
dok ne završi. Kada je komunikacioni ISR završio (t=20) vraćeno je prethodno stanje procesora,
koje je bilo izvršavanje štampačevog ISR. Inače, pre nego ijedna instrukcija u toj rutini može biti
izvršena processor uvažava veći prioritet disk interapta i prebacuje prenos na disk ISR. Jedino
onda kada se ta rutina završi (t=35) će se ponovo pozvati štampačev ISR. Kada se ta rutina
završi (t=40) kontrola konačno vraća korisnički program.
MAGISTRALA, BRZINA MAGISTRALE
Struktura medjusobnih veza
Kompijuter se sastoji od komponenti ili modula tri osnovna tipa : processor, memoriaj i
I/O i oni komuniciraju medjusobno. Ustvari kompijuter je mreža osnovnih modula. Bilo kako,
mora da postoji put kojim će se povezati ti moduli.
Suma tih puteva koji povezuju različite module naziva se interconnection structure.
Dizajn ovakve structure će da zavisiti od vrste razmene podataka koja mora biti izvršena
izmedju tih modula.

3.15

Slika 3.15 podrazumeva tip razmene koji je potreban da bi se prikazala vrsta razmene za
svaki tip modula :
- Tipično memorijski modul : sastoji se od n reči iste dužine. Svaka reč je označena
jedinstvenom numeričkom adresom (0,1,….,n-1). Reč podatka može biti čitana ili pisana
u memoriju. Priroda takve operacije je odredjena kontrolnim signalima za čitanej i
pisanje. Adresa specifira mesto operacije.
- I/O modul : Sa jedne unutrašnje (odnosi se na komp. System) tačke gledišta I/O je
funkcionalno vrlo sličan memoriji. Postoje dve operacije, čitanje i pisanje. Dalje, I/O
modul može da kontroliše više od jedne spoljne jedinice. Možemo se obratiti ulazima
nekih spoljnih jednica kao portu i dati svakom jedinstvenu adresu (0,1,…,m-1). Dodatno,
postoje spoljni putevi za podatke, za ulaze i izlaze podataka na spoljene jedinice.
Konačno, I/O modul je u stanju ad pošalje signal procesoru.
- Procesor čita instrukciju i podatke, ispisuje napolje podatke posle obrade, i koristi
kontrolne signale da bi kontrolisao globalne operacije sistema. On takodje prima i
interapt signale.

Lista procesa definiše razmenu podataka. Interkonekciona struktura mora da podržava


sledeci tip transfera :
- Memorija ka procesoru : Procesor čita instrukciju ili jedinicu podatka iz memorije.
- Procesor ka memoriji : Procesor upisuje jedinicu podatka ka memoriji.
- I/O ka procesoru : Procesor čita podatke iz I/O jedinice preko I/O modula.
- Procesor ka I/O : Procesor šalje podatke I/O jedinici.
- I/O ka ili iz memorije : Za ova dva slučaja, I/O modulu je dozvoljeno da razmenjuje
podatke direktno sa memorijom, bez toga da prolaze kroz procesor koristeći direktan
memorijski pristup (DMA).

Tokom godina, pokušano je sa mnogo interkonekcijskih struktura. Do sada najuobičajnije


su BUS i razlicite multi BUS strukture.

BUS interconnection
BUS je komunikacioni put koji povezuje dve ili više jedinica. Ključna karakteristika BUS-
a je da je on posrednik u deljenju prenosa. Višestruki uredjaji priključeni na BUS, i signal poslat
sa bilo kog uredjaja je dostupan za prijem bilo kog drugog uredjaja povezanog na BUS. Ako dve
jedinice razgovaraju neki vremenski period, njihov signal će biti preskočen i postati pokvaren.
Bilo kako, jedino jedan uredjaj u jednom momentu može biti uspešno prenesen.
Tipično, BUS se sastoji od mnogostrukih komunikacionih puteva ili linija. Svaka linija je
u mogućnosti da prenosi signale predstavljene binarno (0.1). Tokom vremena, sekvenca
binarnih brojeva može biti prenesena preko jedne linije. Uzimajući sve zajedno, nekoliko linija
BUS-a mogu biti korišćene da prenose binarne brojeve simultano (paralelno). Na primer,
osmobitna jedinica podatka, može biti prenešena preko osam linija BUS-a.
Kompjuterski sistem sastavljen je od broja različitih BUS-ova koji omogućuju razgovor
izmedju komponenti na različitim nivoima kompijuterske hijerarhije. BUS koji povezuje glavne
kompijuterske elemente (procesor, memotiju i I/O) se naziva sistemski BUS (system BUS).
Najuobičajnija struktura medjusobne povezanosti je bazirana na korišćenju jednog ili više
sistemskih BUS-ova.

Struktura BUS-a
Sistemski BUS se sastoji, tipično, od 50 do 100 razdvojenih linija. Svaka linija označava
tačno značenje ili funkciju. Mada postoje različiti dizajni BUS-a, na svakom BUS-u linije mogu
biti klasifikovane u tri funkcionalne grupe : linija za podatke, adresna linija i kontrolna linija.
Dodatno mogu da postoje energetske linije koje snabdevaju energijom priključene module.
Linije za podatke obezbedjuju puteve za prenošenje izmedju sistemsih modula. Ove
linije, kolektivno, se nazivaju BUS za podatke (data BUS). Data BUS tipično se sastoji od 8, 16, 32
razdvojene linije, broj linija se posmatra kao širina BUS-a (width of BUS). Zato što svaka linija
može da nosi samo jedan bit odjednom, broj linija odredjuje koliko će bitova biti prenešeno
istovremeno. Širina BUS-a za podatke je ključni faktor za utvrdivanje globalnih sistemskih
performansi. Na primer, data BUS širine 8-bita, i svaka instrukcija dugačka 16-bita onda
procesor mora da pristupa memoriskom modulu dva puta tokom svakog instrukciskog ciklusa.
Adresne luinije se koriste da ponovo označe izvor ili odredište na BUS-u za podatke. Na
primer, ako procesor želi da čita reč (8, 16, 32 bita) podataka iz memorije, on stavlja adresu
željene reči na adresne linije. Očito, širina adresnog BUS-a odredjuje maksimalni mogući
kapacitet memorije sistema. Nadalje, adresne linije generalno, takodje koriste da adresuju I\O
portove. Tipično, veći bitovi se koriste da selektuju odredjeni modul na BUS-u, a niži bitovi
selektuju memorisku lokaciju ili I\O port sadržan u modulu. Na primer, na 8-bitnom BUS-u
adresa 01111111 i ispod mogu da odredjuju lokacije u memoriskom modulu (modul 0) sa 128
memoriskih reči, i adresa 10000000 i iznad mogu da odredjuju uredjaje prikljućene na i\o
modul (modul 1).
Kontrolne linije se koriste da kontrolišu pristup i korišćenje podataka i adresnih linija.
Zbog toga što su linije za podatke i adrese podeljene po svim komponentama, mora postojati
način da se kontroliše njihovo korišćenje. Kontrolni signali prenose i komandnu i tajming
informaciju izmedju sistemskih modula. Tajming signali pokazuju ispravnost podataka i
adresnih informacija. Komandni signali specifiraju operaciju koja će se izvršiti. Tipično,
kontrolne linije uključuju sledece :
- Mem. Write : izaziva da podaci budu upisani u adresne lokacije
- Mem. Read : izaziva da podaci sa adresnih lokacija budu smešteni na BUS
- I\O Write : izaziva da podaci na BUS-u budu izbačeni na adresirani I\O port
- I\O Read : izaziva da podaci sa adresiranog I\O porta budu smešteni na BUS
- Transver ACK : proverava da li su podaci primljeni ili smešteni na BUS
- BUS zahtev : proverava da li modul ima potrebu da dobije kontrolu nad BUS-om
- Glavni BUS : proverava dali je traženom modulu dozvoljen pristup kontroli BUS-a
- Interapt zahtev : pokazuje da li interapt čeka red
- Interupt ACK : ACK logika, da li je taj interapt koji čeka prepoznat
- CLOCK : koristi se da sinhroniše operacije
- Reset : inicijalizuje sve module

Ako neki modul želi da pošalje podatke drugom mora da uradi sledeće stvari :
1) posmatra koriscenje BUS-a
2) prenese podatke preko BUS-a.

Ako neki modul želi da uzme podatke sa drugog modula , on mora :


1) da pogleda koriscenje BUS-a
2) da pošalje zahtev ka drugom modulu preko odgovarajućih kontrolnih i adresnih
linija. On onda mora da čeka na drugi modul da mu pošalje podatke.

Fizički , sistemski BUS je u stvari broj paralelnih žica. Ove žice su metalne linije prikačene
na karticu ili ploču (štampane ploče). Bus prolazi kroz sve sistemske komponente, od kojih
svaka komponenta se pripaja nekim ili svim BUS linijama. Na štampanoj ploči postoje slotovi u
koje se ubadaju različite kartice preko kojih one komuniciraju sa BUS-om ovakva organizacija je
vrlo prigodna. Mali kompijuterski sistem ovako može biti dopunjavan sa više memorije I\O
uredjaja tako što mu se dodaju dodatne kartice mem. pločice. Ako se pokvari neka komponenta
na tim karticama, kartica se može zameniti.
3.18

Tipovi BUS-a
Linije BUS-a mogu se razvrstati u dva generička tipa : privržen i multipleksiran.
Privržena BUS linija trajno označava bilo neku funkciju ili fizički podskup
kompijuterskih komponenti.
Jedan primer funkcionalne privrženosti je da se koriste različite dodeljene adrese i data
linije koje su zajedničke mnogim BUS-ovima. Na primer adresne informacije za podatke mogu
biti prenešene preko istog skupa linija koristeći ADRESS Valid kontrolnu liniju. Na početku
transfera podataka adresa je smeštena na BUS i address valid linija je aktivirana. Od ove tačke
svaki modul ima odredjeni vremenski period da kopira adresu i utvrdi dali ga ona adresira.
Adresa je onda sklonjena sa BUS-a i same BUS konekcije se koriste za podsekvencijalno čitanje
ili pisanje prenosa podataka. Ovaj metod korišćenja istih linija za višestruke svrhe je znan kao
TIME multipleksnig.
Prednost vremenskog multipleksinga je korišćenje manje linija koje čuvaju prostor i
obično pare.
Cena te prednosti je veća kompleksnost mreže za razgovor potrebne medju modulima.
Takodje postoji i potencialna redukcija performansi zato što u nekim slučajevima neke
komponente koje koriste iste linije ne mogu razgovarati paralelno.

Metoda dosudjivanja
Na svakom, čak i najednostavnijem sistemu više od jednog modula će traziti kontrolu
BUS-a, na primer, jedan i\o modul može da traži da piše ili čita, bez toga da pošalje podatke
procesoru. Zbog toga što jedino jedna jedinica u momentu može uspešno raditi nad BUS-om
potreban je metod prosudjivanja. Različite metode mogu biti grubo klasikovane da budu
centralizovane ili distributivne. U centralizovanoj šemi, jedan hardverski uredjaj, obraća se kao
BUS kontroler ili sudija i odgovoran je da rezerviše vreme na BUS-u. Uredjaj može biti zaseban
modul ili deo procesora. U distributivnoj šemi nema centralnog kontrolora. Iako, svaki modul
sadrži kontrolnu logiku za pristup i moduli se zajednički ponašaju tako da dele BUS. Sa ova dva
modula svrha je da se obeleži uredjaj, ili procesor ili i\o modul, kao master. Master onda inicira
transfer podataka (čitanje ili pisanje) sa ostalim uredjajima koji se ponašaju kao slave u ovoj
razmeni.

Timing
Timing je u stvari način da se usklade dogadjaji na BUS-u. Sa sinhronizovanim
tajmingom, pojava dogadjaja na BUS-u je odredjena clock-om. BUS uključuje clock liniju preko
koje clock prenosi regularnu sekvencu alternativno 1s i 0s u istom trajanju. Jedna 1-0 transmisija
je označena kao clock ciklus ili BUS ciklus i definiše time slot. Svi ostali uredjaji na BUS-u mogu
da čitaju clock liniju, i svi dogadjaji počinju na početku clock ciklusa. Slika 3.19 pokazuje timing
dijagram za sinhronizovanu operaciju čitanja. Pogledati deo a) za opis toga.

3.19

Drugi BUS signali mogu biti promenjeni na vodećoj ivici clock signala (sa vrlo malim
zastojem). Najskorije radnje okupiraju jedan clock ciklus. U ovom jednistavnom primeru
procesor izdaje signal za čitanje i stavlja memorijsku adresu na adresni BUS. On takodje izdaje i
signal za početak da markira prisutnost adrese i kontrlonu informaciju na BUS-u. Memorijski
modul prepoznaje adresu i posle razmaka izmedju dva ciklusa, stavlja podatke i ACK logički
signal na BUS.
Sa asinhronizovanim tajmingom, pojavljivanje jednog dogadja na BUS-u prati i zavisi od
prethodnog dogadjaja. U jednostavno primeru slike 3.19 procesor stavlja adresu i čita signale sa
BUS-a. Posle pauze za ove signale, da bi se stabilizovao, on izdaje MSYN (master sync) signal,
detektujući prisustvo odgovarajuće adrese i kontrlolnog signala. Memorijski modul odgovara sa
podacima i sa SSYN (slave sync) signal, detektujući odgovor. Jednom kada master procita
podatke sa data linije, i on ponovo šalje MSYN signal. Ovo izaziva memorijski modul da izbaci
podatke i SSYN linije. Konačno, kada su SSYN linije izbačene, master sklanja signal za čitanje i
adresnu informaciju.
Sinhronizovani tajming je mnogo jednostavnije implementirati i testirati. Bilo kako on je
manje fleksibilan nego asinhronizovani tajming. Zbog toga što su svi uredjaji na
sinhronizovanom BUS-u vezani za fiksiranu vrednost clocka, sistem ne može uzeti prednost
pospešujući performanse uredjaja. Sa asinhronizovanim tajmingom, mešavina sporih i brzih
uredjaja, koristeći stariju i tehnologiju budućnosti, može da deli BUS.

Sirina BUS-a
Širina BUS-a za podatke ima uticaj na sistemske performanse : što je širi BUS za podatke
biće veći broj bitova poslat istovremeno. Širina adresnog BUS-a ima uticaj na sistemski
kapacitet: što je širi adresni BUS, veći je obim lokacija kojima se može obratiti.

PCI
The periferal component interconnect (PCI) je popularan vrlo širok, procesorski
nezavisan BUS koji može da funkcioniše kao mezanin perifernog BUS-a. Uporedjen sa drugim
zajedničkim specifikacijama BUS-a PCI donosi bolje sistemske performanse za vrlo brze I/O
podsisteme (grafičke kartice, mrežne kartice, disk kontrolere i tako dalje). Sadašnji standard
omogućava korišćenje do 64 linije za podatke na 66 MHz, to je za sirov transfer od 528 MB/sec,
ili 4224 GB per sec., ali nije samo ta velika brzina odgovorna za popularnost PCI-a. PCI je
specifično dizajniran da bi odgovarao ekonomičnosti I/O zahteva modernih sistema (on
zahteva vrlo malo čipova za implementaciju i podržava ostale BUS-ove vezane za njega).
INTEL bejaše počeo da radi na PCI-u 1990. za svoj Pentium-bazirani sistem. Intel je skoro
izbacio sve patente u javni domen i predstavio kreaciju industrijske asocijacije PCI sig, za dalji
razvoj i da bi zadržao kompatibilnost PCI specifikacija. Rezultat svega toga je bio da je PCI
široko adaptiran i nalazi vrlo veliku primenu u perslonalnim računarima, radnim stanicama i
server sistemima. Dok je ovo pisano utvrdjena je verzija PCI-a 2.1, izbačena 1995. Zato što su
specifikacije u javnosti i zato što je podržano od velokog broja firmi koje proizvode
mikroprocesore i industrije kompijuterskih periferija, PCI produkti proizvedeni od više
različitih firmi su kompatibilni.
PCI je dizajniran da podrži veliki broj mikroprocesor-baziranih konfiguracija uključujući
jednoglave i višeglave procesorske sisteme. Sudeći po tome on obezbedjuje generalno propisan
skup funkcija. On koristi prednosti sinhronizovanog tajminga i shemu centralnog rasudjivanja.
Slika 3.21 pokazuje tipicno korišćenje PCI-a u jednom procesorskom sistemu. Kombinovani
DRAM kontroler i most za PCI BUS omogućuju tesno sparivanje sa procesoromi i mogućnost da
dodeljuju podatke na velikim brzinama. Most se ponaša kao buffer za podatke tako da brzina
PCI BUS-a može da se razlikuje od mogućnosti procesorskog I/O. U multiprocesorskim
sistemima, jedna ili više PCI konfiguracija može biti povezana mostom za procesorski sistem
BUS. Sistem BUS podržava jedino procesor/cash jedinicu, glavnu memoriju, PCI most. Ponovo,
korišćenje mosta održava PCI nezavisnim od brzine procesora i omogućava brzo primanje i
dostavljanje podataka.
Struktura BUS-a

PCI može biti konfigurisan kao 32-bitni ili 64-bitni BUS. Postoji 49 važnijih linija za PCI.
Oni su podeljeni u sledeće funkcionalne grupe :
- system pins : uključuje clock i reset pinove
- adresni i pinovi za podatke : uključuje 32 linije koje su vremenski multipleksirane za
adrese i podatke. Ostale linije u grupi se koriste za interpretaciju i proveru signalnih
linija koje nose adrese i podatke
- kontrolni pinovi za interfejs : kontrolišu tajming za transakcije i omogućuju
koordinisanje izmedju početka i cilja
- pinovi za rasudjivanje : ne nalik ostalim PCI signalnim linijama, ovo nisu deljene
linije, radije svaki PCI master ima svoj par tih rasudjujućih linija koji ga povezuju
direktno na PCI BUS arbiter
- error reporting pins : koriste se za prijavu nepravilnosti i drugih grešaka

Dodatno, PCI specifikacija definiše 51 opcionalnu signalnu liniju podeljenu u sledeće


funkcionalne grupe :
- interapt pinovi : oni su dodeljeni PCI uredjajima da bi mogli da generišu zahteve za
rad kao i sa rasudjujućim pinovima ovi isto nisu deljene linije. Radije, svaki PCI
uredjaj ima svoju interapt liniju ili linije za neki interapt kontroler
- pinovi za podrzavanje cash-a : ovi pinovi su potrebni da bi podržali memoriju na PCI-
u koja može da bude cache-irana procesorom ili drugim uredjajem. Ovi pinovi
podrzavaju snoopy cache protocols
- 64 bitni BUS eksenzioni pinovi : uključuju 32 linije koje su vremenski multipleksirane
za adrese i podatke i koje su kombinovane sa puno moćnijim adress/data linijama da
bi formirali adress/data BUS. Druge linije u ovoj grupi se koriste da bi interpretirale i
proverile signalne linije koje nose adrese i podatke. Konačno, postoje dve linije koje
omogućuju dvema PCI uredjajima da se slože oko korišćenja 64 bitnih mogućnosti.

MEMORIJA
Vremenski posmatrano ograničavajući faktor za dostignuća računara bilo je vreme
pristupa memorije. Brzina memorije bila je znatno sporija u odnosu na brzinu procesora.

Terminologija :
- Kapacitet (capacity) - količina informacija koja se može nalaziti u memorijskoj jedinici,
obično u smislu reči ili bitova
- Reč (word) - prirodna jedinica organizacije u memoriji, obično broj bitova iskorištenih da
predstave broj
- Jedinica za adresiranje (addressable unit) - osnovna veličina elementa koji može biti
adresiran u memoriji. Obično ili veličina reči ili individualnih bitova
- Jedinica za prenos (unit of transfer) - broj elemenata podataka koji mogu biti prenešeni
za isto vreme, obično bitovi u glavnoj memoriji i blokovi u sekundarnoj
- Brzina prenosa (transfer rate) - brzina za koji se podaci prenesu od i do memorijskih
uređaja
- Vreme pristupa (access time) - za RAM vreme za koje adresira jedinicu i izvrši prenos.
Za ne RAM memorije vreme za koje postavi R/W glavu iznad željene lokacije
- Vreme memorijskog ciklusa (memory access time) - vreme pristupa plus bilo koje
vreme do početka drugog pristupa

Tehnike pristupa (kako se pristupa sadržaju memorije)-


1.Proizvoljni pristup:
- svaka lokacija ima jedinstvenu fizičku adresu. Lokacijama se može pristupati
proizvoljno, i sva vremena pristupa su ista. Koristi se i kod ROM-a. Primer - glavna memorija
2.Sekvencijalni pristup:
- podaci nemaju jedinstvenu adresu. Moraju se čitati svi podaci dok se ne dođe do
željenog. Vreme pristupa prilično varira. Primer - tape drive units
3.Direktni pristup:
- podaci imaju jedinstvenu adresu. Pristup se vrši kombinacijom pomeranja do glavnog
dela memorije, a zatim rednim pristupanjem sve do željenog podatka. Primer-disk drives
4.Associative access:
- varijanta proizvoljne memorije pristupa. Podacima se pristupa na osnovu njihovog
sadržaja, pre nego njihove lokacije. Pretražuju se svi podaci paralelno za pronalazak
odgovarajućeg u odnosu na dati model. Sve lokacije pretražuju se paralelno bez obzira na
njihovu veličinu. Izuzetno brze. Primer - neke keš memorije.

HIJERARHIJA MEMORIJE
Glavni cilj svakog memorijskog sistema je da obezbedi skladište adekvatnog kapaciteta
- na bilo kom nivou rada
- po razumnoj ceni

Četiri međusobno povezana načina da se dođe do ovog cilja :


1. Korišćenjem hijerarhije
2. Razvijanjem automatskih metoda dodele prostora radi boljeg iskorištenja memorije
3. Korišćenjem tehnika memorija osloboditi korisnika upravljanja memorijom
4. Dizajnirati memoriju i njenu međusobno povezanu strukturu kako bi procesor radio
maksimalnom brzinom.

HIJERARHIJA
Osnovu hijerarhije čine registri unutar procesora za privremeno skladištenje
(malobrojni, ali brzi), spoljno skladište za podatke i programe (relativno veliko i brzo), i
privremeno spoljno skladište (veliko i sporo).

Karakteristike hijerarhije :
- sastoji se od posebnih nivoa memorijskih komponenti
- svaki nivo je određen veličinom, vremenom pristupa i vrednošću po bitu
- svaki sledeći nivo u hijerarhiji ima veću veličinu, sporije vreme pristupa, kao i manju
cenu po bitu

Cilj hijerarhije memorije :


je da pokuša da usaglasi brzinu procesora sa brzinom prenosa informacija od najmanjeg
elementau hijerarhiji
Glavna memorija (main memory)
CORE memory
-korišćeni u 2 i 3 generaciji. Magnetna polja služila su da smeštaju stanje logičke nule i
jedinice indukovanjem E-polja u njima. 1-polje = 1-bit prostora za smeštanje. Bile su potrebne
logičke i adresne žice kroz svako polje. Zamenjena je 1970
Semiconductor memory(poluprovodnička memorija)
Uglavnom proizvoljan pristup (random access)
RAM (ustvari Read/Write memory)
Dinamički RAM - Skladišna ćelija je ustvari tranzistor koji se ponaša kao kondenzator.
Punjenje kondenzatora se rasipa tokom vremena što uslovljava prebacivanje 1 u 0. Ćelije zato
moraju biti obnovljene periodično.
Statički RAM - je praktično niz Flip-Flopova. Koristi 5-10 puta više tranzistora tako da je
packaging density toliko puta manja, ali je ćelija brža nego kod dinamičke.
ROM (Read only) - nepromenljivo skladište podataka. Podaci se upisuju samo jednom
prilikom izrade.
PROM (Programable ROM) - podaci mogu biti upisani jednom od strane korisnika.
EPROM (Erasable PROM) - Podaci se mogu brisati putem UV zračenja
EEPROM (Electricaly Erasable PROM) - može se pisati u nju više puta dok je u sistemu.
Ne mora biti prethodno izbrisana. Koristi se u sistemima za razvoj, personalizaciju i sličnim kod
kojih je potrebno smeštanje jedinstvenih informacija.
FLASH - slično EEPROM-u u korišćenju električnog brisanja. Briše u blokovima, prilično
brzo. Veća gustina od EPROM-a.

CACHE memorija
Keš memorija je veoma bitna komponenta u hijerarhiji memorije. Poredeći sa glavnom
ona je prilično mala, i znantno skuplja. Radi otprilike brzinom procesora. Sadrži kopije delova
glavne memorije.
CACHE-glavni memorijski interfejs.
Pretpostavimo da je pristup glavnoj memoriji uzrokovao da se blok K reči prebaci u keš.Taj blok
prebačen iz glavne memorije naziva se slot,line ili page.Nakon kopiranja u keš procesor ima
pristup pojedinim rečima iz line-a.
U poslednjih 10 godina prisustvovali smo uvođenju keša u mikroprocesorske čipove.
INTEL familija
386-nije imao unutrašnji keš
486-imao je 8KB zajedničkog keša
pentium-imao je 16KB podeljenog keša.8KB za podatke i 8KB za instrukcije.Pentium podržava
256 ili 512 KB spoljašnjeg 1.2 keša.
POWER PC
601 je imao 132KB keša
603,604,620 imaju podeljeni keš veličine 16/32/64 KB

SPOLJNA MEMORIJA
Magnetni disk-je metalni ili plastični plitak tanjir presvučen namagnetisanim
materijalom.Podaci se najpre snimaju na njega,a kasnije čitaju korišćenjem provodnog
kalema,glave.Podaci su postavljeni u obliku prstena na tanjiru tzv. trakama.Tokom pisanja ili
čitanja glava je nepokretna dok se tanjir okreće.Mehanizam pisanja zasnovan je na činjenici da
kada se struja pusti kroz kalem stvori se magnetno polje.Mehanizam čitanja koristi činjenicu da
se pomeranjem magnetnog polja prema kalemu stvara struja u kalemu.Svaka traka je širine
glave.Ima ih otprilike 500-2000.Trake su odvojene jazovima.Disk se okreće konstantnom
brzinom,a broj data bitova po traci je konstantan.Gustina podataka je veća na unutrašnjim
trakama.Logička jedinica za prenos podataka je sektor.
Fizičke karakteristike diska
-fiksirana glava-ima glavu po traci
-pokretna(movable)-koristi jednu glavu po tanjiru.
-removable platters-mogu se zameniti,izvaditi iz drajva za prenos podataka na drugu mašinu
-nonremovable platters-
-single,double sided.single,multiple platters
Vremena pristupa podacima
Seek time-pozicionira glavu iznad odgovarajuće trake(Ts=m x n + s;n=broj traka,m=konstanta
u zavisnosti od disk drajva,s=vreme početka)
Rotational delay-čeka da željeni sektor dođe pod glavu(prosek od 100-200 ms)
Access time-Seek + Rotational latency(vreme koje treba da prođe da bi se moglo čitati ili pisati)
Block transfer time-Vreme za koje se pročita blok (sektor) sa diska i prosledi u glavnu
memoriju.
T=b/(r x N) b=broj bitova koji se prenose,N=broj bitova po traci,r=rotation speed

wait for device wait for channel seek rotational delay data transfer
I I I I I I I I I I I I I I I I I - - - - - - - -I- - - - - - - -I---------I
_________ device busy_________

RAID Tehnologija

Performansa disk drajvova nije održavala korak sa poboljšanjem ostalih delova.Kapacitet disk
drajvova može biti udvostručen korišćenjem paralelnih diskova sa naizmeničnim
pristupom.Prilikom rada paralelnih diskova redundancy tehnike mogu služiti da sačuvaju
podatke od brisanja u slučaju kvara diska.
RAID-Redundant Array of Independent Disks.Razvijen je na Berkeley-u,i ima nivoe 0-5.
Ovi nivoi ne odgovaraju hijerarhiji,ali naznačuju različite arhitekture koje imaju zajedničko
sledeće 3 stvari:
1.RAID je niz fizičkih disk drajvova koje operativni sistem posmatra kao jedan.
2. Podaci se ispisuju po drajvu u nizu
3.Redudant disk capacity služi da čuva slične informacije,što garantuje mogućnost vraćanja
podataka u slučaju kvara diska.
RAID 0
Ne koriste se redundancy tehnike,tako da ovaj nivo nije pravi član RAID familije,ipak postoji
par aplikacija na recimo nekim superkompjuterima na kojima su performansa i kapacitet.Podaci
se ispisuju po disku u nizu,podeljeni su u uske trake za skladištenje podataka.Ovo ima veliku
prednost u
odnosu na jedan veliki disk.
RAID 1
RAID 1 se razlikuje od narednih nivoa po načinu na koji se dolazi do redudandnosti.Kod RAID-
a 1 se naime dolazi do redudandnosti kopiranjem svih podataka.Takođe i ovde su podaci u
ubliku uskih traka
(data striping) kao i kod RAID-a 0.Ali u ovom slučaju svaka logička traka je mapirana na 2
odvojena fizička diska tako da svaki disk u nizu praktično ima svoj duplikat sa istom
sadržinom.3 pozitivna aspekta RAID-a 1:
1.Zahtev za čitanje moze biti upućen sa bilo kojeg od dva diska koja sadrže iste podatke.
2.Zahtev za čitanje zahteva da obe odgovarajuće trake budu ažurirane,ali ovo je moguće raditi
paralelno.Međutim,pisanje se izvodi diktiranjem sporijeg (onog sa većim vremenom pristupa)
3.Obnavljanje podataka usled kvara je jednostavno.usled kvara jednog,podacima se još uvek
može pristupiti na osnovu drugog.
Mana RAID-a 1 je njegova cena,on zahteva duplo više mesta na logičkom disku koji
podržava.Zato se RAID-1 često ograničava za čuvanje sistemskog softvera i drugih važnih
fajlova.
RAID 2
RAID 2 i 3 koriste paralelne tehnike pristupa.U paralelnom pristupu sve tehnike učestvuju u
izvršavanju svakog IO zahteva.Okretanje kod svih drajvova je sinhronizovano tako da je glava
svakog diska u istoj poziciji u bilo kom trenutku.Trake sa podacima su male,obično veličine
bajta.Greška korekcionog koda se izračunava po svim diskovima i smešta na poseban dodatni
disk.Koristi manje diskova nego RAID 1, ali je još uvek skuplji.
RAID 3
Radi slično kao RAID 2 s tim što se koristi samo jedan redundantan disk-parity drive
U slučaju kvara pristupa se parity drive-u i podaci se rekonstruišu pomoću ostalih uređaja.Ako
je recimo X4 parity disk,onda parity za i-ti bit se dobija kao:
X4(i)= X3(i) + X2(i) + X1(i) X0 (i).
Ako recimo otkaže drive X1 onda dodajemo X4 + X1 i jednoj i drugoj strani i dobijamo.
X1(i)=X3(i) + X2(i) + X4(i) + X0(i)
RAID 4
Koriste tehniku nezavisnog pristupa tj.svaki disk u nizu radi nezavisno tako da se svaki IO
zahtev može izvršiti paralelno.Bit po bit parity se izračunava preko odgovarajućih traka na
svakom disku,a parity bitovi se smeštaju na parity disku.
Write penalty
Za svako pisanje na traku parity traka mora biti ponovo preračunata.
RAID 5
Radi kao RAID 4 s tim što se parity trake distribuiraju po svim diskovima.Za niz od n diskova
parity traka je na različitom disku za prvih n koraka, a zatim se šablon ponavlja.

OPTIČKI DISKOVI
Nastup cd-ova 80'tih godina doneli su revoluciju audio i kompjuterske industrije.Osnovna
razlika između cd-ova i CDROM-a je što su ovi drugi imali više uređaja za ispravljanje grešaka
odnosno omogućavanje ispravnog prenosa od diska do računara.Disk je napravljen od
smole,kao što je polikarbonat i presvučen sa snažno reflektujućom površinom najčešće
aluminijumom.Digitalno snimljene informacije se utiskuju kao niz mikroskopskih rupica na
reflektujućoj površini.To se najpre radi sa visoko osetljivim laserom da bi se napravio
original,od koga se prave kopije.Rupičava površina kopija zaštićena je lakom od
oštećenja.Informacija se dobija od CD-a slabim laserom koji se nalazi u uređaju za čitanje
Intenzitet reflektujućeg svetla se menja kako laser nailazi na rupe.Ova promena je registrovana
od foto-senzora,i kao rezultat dobijamo digitalni signal.Bitna stvar je da se uskladi brzina
čitanja.To se postiže smanjenjem prostora između bitova informacija snimljenog segmenta
diska.Informacija zatim može biti skenirana istom brzinom kao i brzina okretanja diska
poznatija kao constant angular velocity(CAV).Prednost korišćenja CAV je što se svakoj traci
može pristupiti na osnovu adrese trake i sektora.CAV se koristi samo na magnetnim
diskovima.Mana CAV-a je što se ista količina podataka koja se mogu staviti na unutrašnje trake
može staviti i na spoljašnje što dovodi do neiskorištenosti prostora.Zato se za CD-ove i
CDROM-ove koristi constant linear velocity (CLV),nakon što se informacije upakuju
podjednako po disku u segmentima.Disk rotira znatno sporije
dalje nego bliže centru.Podaci na CD-ROM-u su organizovani kao niz blokova.
Prednosti u odnosu na magnetne diskove:
1.Skladište podataka na optičkom disku je znatno veće.
2.Optički.,zajedno sa informacijama može jednostavno biti umnožen veliki broj puta.
3.Optički diskovi su pokretljivi.
Mane CD-ROM-a:
1.Read only su,ne mogu biti naknadno dorađeni
2.Duže vreme pristupa nego na magnetnim diskovima
WORM(Write once,Read many disks)
Koristi se kada je potreban jedan ili mali broj kopija.Može se čitati više puta kao i običan CD
korišćenjem slabijeg lasera.Pogodan je za arhivsko skladištanje dokumenata i fajlova.
Erasable optical disk
Može se po njemu pisati i brisati viže puta,kao i kod magnetnog diska.Koristi se tzv.promena
stanja.
Materijal ima 2 osobine u 2 različita stanja.Prvo je amorfno stanje u kojem molekuli imaju
nepravilnu strukturu i u kojem površina slabo reflektuje svetlost.Drugo je kristalno stanje,sa
glatkom površinom, koje dobro reflektuje svetlost.Osnovna mana je što vremenom disk gubi
svoje osobine.Prednosti:
1.Veliki kapacitet (650 MB)
2.Mogućnost prenošenja iz drive-a
3.Pouzdanost
Kao i kod WORM-a koristi se constant angular velocity (konst.ugaona brzina)
DVD
Sa prostranim DVD elektronska industrija je napoko našla prihvatljivu zamenu za VHS-
trake.Na njega može stati 7 puta više nego na običan CD-ROM.
-Sadrži 4.7 Gb po oblozi,jednostrani dvoslojni DVD sadrži 8.5 Gb
-Koristi video kompresiju poznatiju kao MPEG za visoki kvalitet
-Jednoslojni DVD može da primi film od 2 sata i 13 minuta, advoslojni više od 4 sata.
Magneto-optical disks (MO)
Magnetno-optički disk drive-ovi koriste optički laser da bi poboljšali mogućnosti magnetnog
disk sistema,kao i postigli veći kapacitet.disk je presvučen materijalom čija polarnost može bti
izmenjena samo na visokim temperaturama.Po disku se piše korišćenjem lasera da zagreje sitno
mesto na površini, a zatim se primenjuje magnetno polje.Kako se mesto ohladi tako se usvaja
severno-južna polarnost.Kako proces polarizacije ne utiče na fizičke karakteristike diska proces
se može ponavljati više puta.Čitanje je čisto optička operacija.Prednost je što kod optičkih
diskova mogućnost ponovnog pisanja slabi medijum,dok kod magnetno-optičkih to nije slučaj.
Magnetic tape
Prva vrsta sekundarne memorije.Veoma spora,ali i jeftina. Podaci su organizovani kao zapisi sa
fizičkim vazdušnim razmakom.Čita se korišćenjem RW glave.
Tape sistem koristi iste tehnike čitanja i snimanja kao i disk sistem.Traka (tape) je organizovana
u vidu
malog broja paralelnih staza.Ranij sistemi koristili su 9 traka.Time je omogućeno smeštanje bajt
po
bajt podataka sa dodatnim bitom parnosti na devetoj stazi.Noviji koriste 18-36 staza što
odgovara
digital word-u ili double word-u.Kao i kod diska podaci se čitaju i pišu u susedne blokove
tzv.phisycal
records. Blokovi na stazi razdvojeni su jazovima nazvanim interrecord jazovima (unutrašnjim).
Sekvencijalni pristup.Ako nam je glava postavljena na prvi record, iako želimo da pristupimo
poslednjem ,n-tom neophodno je čitati physical records jedan po jedan sve do n-tog.Ako je
glava pozicionirana nakon željenog recorda traku moramo premotati , a zatim čitati unapred
Advanced DRAM Organization
Jedan od nakritičnijih zagušenja prilikom korišćenja high-performance procesora je sprežna
mreža (interface) koja vodi do glavne unutrašnje memorije.Osnovni blok glavne memorije u
poslednjih 20 godina je DRAM čip.Do skora nije bilo promena u arhitekturi DRAM-a još od 70-
tih.Poslednjih nekoliko godina DRAM je unapređen u više varijanti,ali nije sigurno da li će i koja
zaživeti i postati standard.Kratak pregled:
1.Enhanced DRAM
Možda najjednostavniji od unapređenih DRAM arhitektura je EDRAM.On sadrži mali SRAM
integrisan u opšti DRAM čip.SRAM keš smešta ceo sadržaj poslednje iščitane vrste,koja se
sastojala od 2048 bitova.Komaparator smešta 11-to bitnu vrednost poslednje iščitane adrese
neke vrste.Ako je sledeći pristup istoj vrsti,pristupa se samo SRAM keš-u.EDRAM uključuje par
drugih stvari koje poboljšavaju njegove karakteristike.Operacije obnavljanja mogu se sprovoditi
paralelno sa operacijom čitanja keša,na taj način smanjujući na minimum vreme za koje je čip
nedostupan tokom obnavljanja.
2.Cache DRAM
Keš DRAM je napravljen od strane Mitsubishi kompanije,i ne razlikuje se puno od EDRAM-
a.On za razliku od EDRAM-a uključuje veći SRAM keš.SRAM kod CDRAM može se iskoristiti
na 2 načina.Prvi se koristi kao true cache i sastoji se od nekoliko 64-bitnih linija.Ovo je
suprotnost u odnosu na EDRAM gde keš sadrži samo jedan blok najskorije pristupljene
vrste.Keš mod CDRAM-a je pogodan za običan proizvoljan pristup memoriji.Takođe SRAM
može biti iskorišćen kao bafer da podrži serijski pristup bloku podataka.
ALU(aritmetičko logička jedinica)
ALU je deo računara koji izvršava aritmetičko logičke operacije.Svi ostali elementi služe da
donesu podatke do ALU ili da uzmu podatke iz ALU.Registri se koriste kao izvori i destinacije
za većinu operacija.U početku jednostavnost mašina uslovilo je strukturu ALU.Rezultat je bio
da su se sve mašine postavljale oko jednog velikog registra (akumulatora).
Dve komponente potrebne su da bi ALU bila potpuno funkcionalna.To su 2 ulazna NI kola i
pun sabirač.NI kolo je funkcionalno kompletna logička operacija.Takođe ako možemo
sabirati,sve ostale aritmetičke operacije se mogu izvesti iz sabiranja.
Predstavljanje pomoću n bitova.Potpuno levi bit je znak bit.0 za pozitivni broj,1 za
negativni.Preostalih n-1 bit predstavljaju veličinu.Domen je od -2n-1 –1 do + 2n-1-1.Mane:
-znak mora biti uzet u obzir u toku računanja
-+0,-0
Negativni brojevi predstavljeni su komplementirenjem bit po bit pozitivnih brojeva.
Primer 8-bitne reči:
+42 0 000101010
-42 1 111010101

Prebacivanje iz recimo 8-bitnog u 16-bitni.Svi bitovi u produžetku su isti kao i znak bit.Primer.
+18 00010010
+18 00000000 00010010

-18 11101101
-18 11111111 11101101
SABIRANJE CELIH BROJEVA
Korišćenje jednog punog sabirača je najjednostavnije.Mora se sprovesti n ponavljanja za n
sabiranja.
Korišćenje višestrukog punog sabirača(ripple adder).n punih sabirača radi
istovremeno.Sabirajući X i Y,i-ti sabira Xi i Yi,dobijajući SUM(rez)i i CARRYi (prenos).Prenos iz
svake operacije je ulaz u sledeću.Treba paziti na kašnjenje sabirača, i prilikom sabiranja 2
pozitivna ili 2 negativna broja na prekoračenje kada rezultat ima suprotan znak.
Alternativa ripple adder-u
U većini slučajeva carry signali ne propagiraju kroz ceo sabirač.Omogućiti dodatni hardver da
bi se ustanovilo gde se vrši prenos ili kada će se on završiti.
1.Carry completion sensing adders-koriste dodatna kola da bi ustanovili vreme za koje se
prenos izvrši.Poseduje:Signalnu kontrolnu jedinicu koja označava da se sabiranje
završilo.Tipično vreme sabiranja ima težinu O(log n).
2.Carry lookahead adders(predvidivi sabirači)
Da bi se kašnjenje izbeglo prave se sabirači sa predviđanjem prenosa.Primer:
C0=A0B0 (ako su oba ulaza upaljena imamo prenos)
C1=A1B1 + A1A0B0 + B1A0B
Ovo sabiranje može se uraditi programski.Prednost je što ne zavisi od prethodnih prenosa već
samo od kombinacija ulaza.Problem ovog sabirača je što je potrebna informacija sa svih
prethodnih ulaza što čini ovaj sabirač nepraktičnim u novije
X Y doba.
ODUZIMANJE CELIH BROJEVA
Pre nego što izvedemo oduzimanje,treba uvideti da je
C o m p le m e n t
X-Y=X+(-Y)
MNOŽENJE CELIH BROJEVA
M ux A d d / s u b t r a c t Postoji više metoda za množenje:
-dodavanjem broja samom sebi onoliko puta koliko ima
množioca(Repeated addition)
A dder Repeated addition
Najmanje fin metod.Svodi se na korišćenje sabirača n puta.Ako
je množač n bitova može imati najviše 2n ponavljanja.Ne
X + Y o r X -Y
koristi se u ALU.
Pen & Paper metoda + primer
-pomoću specijalno namenskih visoko brzinskih hardverskih množača
-vrši se množenje nenegativnih celih brojeva (unsigned integers)
1.Množenje uključuje sabiranje delimičnih reultata (partial products),po jedan za svaku cifru
multiplier-a.
2.Kada je multiplier 0 partial product je 0.Kada je multiplier 1,partial product je multiplicand.
3.Rezultat je zbir delimičnih rezultata,poređanih tako da je svaki sledeći delimični rezultat
pomeren za jedno mesto ulevo u odnosu na prethodni.
4.Proizvod 2 n-to bitna broja može rezultirati najviše do 2n bitova.
Dva broja za množenje (multiplier & multiplicand) učitavaju se u 2 registra Q i M.Treći registar
A je takođe potreban i on je inicijalizovan na 0.Takođe tu je i 1-bitni C registar inicijalizovan na 0
koji sadrži eventualni bit za prenos (carry bit) nakon sabiranja.Kontrolna logika čita bitove
multipliera jedan po jedan.Ako je Q0=1 multiplicand se dodaje u A registar sa C registrom koji
se koristi za prekoračenje.Ako je Q0=0 ne primenjuje se ADD već samo SHIFT
(pomeranje).Proces se ponavlja za svaki bit prvobitnog multipliera.2n rezultat nalaziće se u
registrima A i Q.
1101 multiplier
x1011 multiplicand
1011
0000
1101
1101
10001111

SET INSTRUKCIJA
Svaka instrukcija mora sadržati četiri osnovne informacije.
1.Operation code-naznačuje vrstu operacije koja će biti izvršena,izraženu u binarnom kodu.
2.Source operand references-operandi potrebni za naznačene instrukcije.
3.Result reference-gde će rezultat biti smešten.
4.Next instruction reference-gde se nalazi sledeća instrukcija.Uvećini slučajeva to se ne kaže
tačno u instrukciji,već je sledeća instrukcija ona koja logički sledi sekvencijalnim izvršavanjem
programa.
Postoji pet kategorija instrukcija:
Aritmetičke,logičke,kontrolne,I/O,prenos podataka.
Do sada setovi instrukcija bivali su sačinjeni od nekoliko pa sve do stotina instrukcija.80-tih
godina bilo je popularno da se naprave što kompleksniji setovi instrukcija koji se sastoje od
stotina instrukcija.Namera je bila da se premosti tzv. semantički jaz,između niskog i visokog
nivoa rada računara.
-Izravnati “ poglede “ HLL programera i programera u nivou mašinskih jezika
-Obezbediti različite setove instrukcija da bi se približilo stilu programiranja u HLL-u
-Omogućava kompajleru da “premosti jaz” samo sa jednom instrukcijom, nego da je premosti
sa više
-Ne daje uvek željeni rezultat .

Vulfovi atributi za dobar set instrukcija:Complete,efficent.orthogonal,regular.


-Kompletnost: moci da se napravi program na mashinskom nivou da bi mogao da izracuna bilo
koju izracunljivu funkciju
-Efikasnost: ucestale funkcije bi trebalo da se izvrse brzo sa nekoliko instrukcija
-Ortogonalno: definisanje instrukcija, tipova podataka,i adresirati nezavisno

BROJ ADRESA U INSTRUKCIJI


U tipičnoj aritmetičkoj ili logičkoj instrukciji potrebne su 3 adrese-dva operanda i rezultat.
3 address instruction -Oba operanda, kao i rezultat se nalaze u instrukcijskoj reči (primer:X=Y +
Z)
2 address instruction-Jedan operand se koristi i kao rezultat (primer:X=X + Y).Vrlo često se
koristi u setu instrukcija.
1 address instruction-Operacije primenom akumulatora (primer:Acc=Acc + X)
0 address instruction-Operacije zasnovane na radu registara(primer:TBA;prebaci registar B u
A).
-Operacije bazirane na steku
-sve operacije su bazirane na upotrebi steka u memoriji radi cuvanja operanada
-uzajamno komuniciraju sa stekom koristeći push i pop
Manji broj adresa u instrukciji rezultira:Primitvnijim instrukcijama,manje složenim
procesorom,kraćim instrukcijama,većem broju instrukcija u programu,dužim,kompleksnijim
programima,dužem vremenu izvršavanja.PRIMER:
Y = (A-B) / (C+D*E)
– 3 address
SUB Y,A,B
MUL T,D,E
ADD T,T,C
DIV Y,Y,T
– 2 address
MOV Y,A
SUB Y,B
MOV T,D
MUL T,E
ADD T,C
DIV Y,T
– 1 address
LOAD D
MUL E
ADD C
STORE Y
LOAD A
SUB B
DIV Y
STORE Y
STRUKTURA PROCESORA
Funkcije procesora:
-dobavljanje podataka
-dobavljanje instrukcija
-obrada podataka
-zapis podataka
Komponente procesora su:
-ALU
-Kontrolna logika
-Privremeno skladište
-Sredstva za premeštanje podataka i instrukcija u i oko procesora
Registri formiraju najviši nivo hijerarhije.Oni su privremena skladišta za podatke i kontrolne
informacije.
Postoje 2 vrste registara:
-user-visible(korisnički)
-kontrolni i statusni registri-koriste se za kontrolu operacija procesora.Većina ih nije vidljiva za
korisnika.
KORISNIČKI
Opšta namena
Može im se dodeliti veliki broj funkcija.Ovi registri samo čuvaju podatke,kao i informaciju o
adresi.Primeri:Opšte namenski adresni registri,segment pointers,stack pointers,index registers
Condition codes
Vidljivi za korisnika,ali vrednosti daje procesor kao rezultat operacija.
Example code bits:zero,positive,overflow.
Koliko je registara potrebno?
Veći broj registara dozvoljava procesoru da koristi više operanada.Većina mašina koristi 8-
32bitne registre.
Koliko veliki moraju biti registri?
Adresni registar ,kao i data registar moraju biti dovoljno veliki da sadrže najveću adresu
odnosno najveći deo tipova podataka.Povezujemo ih međusobno u slučaju potrebe za više
mesta.
Ne treba koristiti 64-bitne registre ako većina operacija koristi 32-bitno ili 16-bitne operande.
KONTROLNI I STATUSNI
Koriste se za vreme dobavljanja,dekodiranja i izvršavanja instrukcija.Većina ih nije vidljiva za
korisnika.Oni koji jesu ne mogu biti izmenjeni.
Tipični registri:
Program counter-pokazuje na sledeću instrukciju koja treba da se izvrši.
Instruction register-sadrži instrukciju koja treba da bude izvršena.
Memory address register-sadrži adresu
Memory data/buffer register-sadrži podatak
Program status word
Dodatna pitanja za usmeni (skripta se nalazi u biblioteci):
1. Podrska za OS
2.Virtuelna memorija
3. SCSI komande
4. FireWare i USB