Organizacija Racunara

  • Uploaded by: Milan Vasic
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Organizacija Racunara as PDF for free.

More details

  • Words: 10,320
  • Pages: 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 veze sa tim okruženjem mogu se nazvati periferijalnim uređajima C O M P U TE R - 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 oppcode

address

LEVA INSTRUKCIJA

19 20

28

39

oppcode address 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 BUSa 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 PCIu 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 RAIDa 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 VHStrake.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 70tih.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 EDRAMa.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 A d d / s u b t r a c t Postoji više metoda za množenje: M ux -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 832bitne 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

Related Documents


More Documents from "Dragan"