Professional Documents
Culture Documents
Organizacija Racunara
Organizacija Racunara
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 :
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.
0 8 19 20 28 39
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
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.
- 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
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.
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.
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
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
HIJERARHIJA MEMORIJE
Glavni cilj svakog memorijskog sistema je da obezbedi skladište adekvatnog kapaciteta
- na bilo kom nivou rada
- po razumnoj ceni
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
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 .