You are on page 1of 24

Skripta za DRAOS 1

Gregor Džampo & Lutvica Kemal Str. 2


Skripta za DRAOS 1

Predavanje 1 - Digitalni Računari - Arhitektura i Organizacija Software-a

Arhitektura računara predstavlja osobine digitalnog računara koje su vidljive i dostupne programeru.
(instrukcijski set, broj bita korišten za predstavljanje podataka, U/I mehanizmi, tehnike
adresiranja itd.) (npr. da li postoji instrukcija za množenje ili je treba isprogramirati?).
Kompatibilnost koda između različitih serija procesora istog proizvođača se postiže korištenjem
iste bazične arhitekture.

Organizacija računara prestavlja način implementacije arhitekture – organizacija memorije, upravljački


signali, interfejsi... ( npr. da li postoji hardverska jedinica za množenje?)

Struktura i funkcija su pojmovi pomodu kojih se opisuju sistemi kakav je računar (pod strukturom se
podrazumijevaju odnosi između komponenti dok se pod funkcijom odnosno ponašanjem
podrazumijeva uloga svake od komponenti):

 Struktura računara: CPU (central processing unit), glavna memorija, sabirnica, IO.

Struktura CPU: registri; ALU, interna CPU sabirinica, control unit-upravljačka jedinica.

Struktura upravljačke jedinice: Sekvencijalna logika, kontrolna memorija,


upravljačka (control) jedinica registara i dekodera.

 Funkcija (Uloga) računara: Procesiranje, Pohranjivanje, Premještanje podataka i Kontrola.

Gregor Džampo & Lutvica Kemal Str. 3


Skripta za DRAOS 1

Predavanje 2 - Digitalni Računari - Razvoj digitalnih računara i performansi

Von Neumanova mašina - predstavlja mašinu sa konceptom pohranjenog programa (stored Program
concept 1945.)

Struktura von Neumann-ove mašine:

 Glavna memorija koja služi za pohranjivanje podataka i programa,


 CPU jedinica sastoji se od ALU jedinice (aritmetičke operacije nad binarnim podacima) i
Program Control Unit (interpretiranje i izvršavanje instrukcija iz memorije koje rješavaju
specifičan problem; Računar treba biti programabilan),
 IO uređaji.

Funckije koje računar obavlja su: Procesiranje podataka (logička kola), pohranjivanje podataka
(memorijski elementi), premještanje podataka (interkonekcije) i kontrola (interkonekcije).

Mooreov zakon (Gordon Moore) predviđa povedavanje gustode komponenti na čipu: »Broj tranzistora
de se udvostručavati svake godine« – 1965. Veda gustina pakovanja komponenti smanjuje
veličinu krajnjeg proizvoda, smanjuje rastojanja interkonekcija i potrošnju, a povedava
fleksibilnost.

IBM serija 360, nastala 1964. predstavlja prvu planiranu »porodicu« računara sa sličnim ili identičnim
instrukcijskim setom / operativnim sistemom.

DEC PDP-8 je nastao 1964, i predstavlja prvi miniračunar, malih dimenzija. Mogao je stati na radni stol.
Koštao oko 16000 dolara. Struktura sabirnice za DEC PDP:

»Intel 4004« je prvi mikroprocesor (sve komponente na jednom čipu); 4-bitni za kalkulator. Kasnije se
pojavio i 8 bitni mikroprocesor, a nakon toga dolazi prvi mikroprocesor opšte namjene.

Gregor Džampo & Lutvica Kemal Str. 4


Skripta za DRAOS 1

Brzina memorije zaostaje za brzinom procesora. Moguda rješenja ovog problema su:

 Učiniti DRAM širim umjesto dubljim (Vedi broj bita koji se čita),
 Dodavanje keš memorije kao posrednika u interakciji sa DRAM-om,
 Povedati kompleksnost keša i ugraditi ga na sam čip (Time se smanjuje učestalost čitanja
memorije),
 Povedati propustnost sabirnice.

Ubrzanje rada uređaja (u smislu eficijentnosti CPU) se može vršiti pomodu:

 protočnih struktura,
 keša na čipu i višeslojnog keša,
 predviđanja grananja,
 analize toka podataka...

Moguda su i hardware-ska unapređenja:

 gušde pakovanje,
 povedanje frekvencije sata,
 veda brzina i veličina keša (2 ili 3 nivoa između procesora i memorije) + keš na procesoru,
 poboljšanje organizacije,
 paralelizmi,
 Novi pristup - VIŠEJEZGRENOST PROCESORA!

Gregor Džampo & Lutvica Kemal Str. 5


Skripta za DRAOS 1

Predavanje 3 - Struktura porcesora - ALU

CPU obavlja sljedede:

 Dobavlja instrukciju iz memorije (podatak),


 Prepozna (dekodira) instrukciju i
 Izvrši instrukciju (dobavi, procesira i piše podatke).

Hijerarhija memorije je predstavljena na slici:

Registre možemo dijeliti prema namjeni:

 registri opšte namjene,


 registri podataka,
 adresni registri,
 indikatori stanja,
 stanje izvršavanja (Predznak, Nula, Prekoračenje i sl.),
 registri posebne namjene i
 registri za konstante.

Gregor Džampo & Lutvica Kemal Str. 6


Skripta za DRAOS 1

ALU (aritmetičko-logička jedinica) vrši sve računske operacije. Svi ostali dijelovi opslužuju ALU. ALU vrši
operacije na cjelobrojnim podacima ali može vršiti operacije i nad realnim brojevima. Ulazi i
izlazi ALU:

„Predznak + Vrijednost“ Kod - Najznačajniji bit je predznak dok su ostali biti vrijednost. Problem je u
tome što postoje dvije nule potrebno je vršiti posebnu provjeru za predznak i veličinu.

2 komplement kod - sve se cifre invertuju logičkim komplementom i doda se jedinica. Prednost je u
jedinstvenoj nuli, jednostavnoj negaciji i aritmetičkim operacijama.

Množenje se vrši na dva načina:

 Množenje A x B (standardno množenje) i


 BOOTHOV algoritam (1=zatečeno stanje + multiplikant i shift; 0=shift).

Zapis realnih brojeva sa zarezom:

 M=bazae. Exponent se odabere tako da mantisa M ima samo jedan broj (različit od nule) lijevo
od zareza.
 IEEE 754 standard.

Gregor Džampo & Lutvica Kemal Str. 7


Skripta za DRAOS 1

Predavanje 4 - Instrukcijski set

Instrukcijski set predstavlja kompletan skup instrukcija koje CPU može izvršiti. Instrukcija je određena
jedinstvenim simbolom i jednistvenim brojnim kodom.

Instrukcija sadrži:

 Naredbe procesoru (»Uradi to« - OP-KOD npr. mov),


 Referenca nad operandima (»nad ovim podacima«),
 Referenca na rezultat (»rezultat smjesti ovdje«) i
 Referenca na sljededu instrukciju. Npr: mov dx,Timer1 Jump END 0.

Svaka instrukcija je određena jedinstvenim mašinskim kodom (binarni kod asemblerski kod kao
pojednostavljenje).

Tipovi instrukcija:

 Procesiranje podataka (artimetičke, logičke operacije i konverzija podataka),


 Pohranjivanje podataka (transfer podataka i ulaz/izlaz),
 Premještanje podataka (transfer podataka i ulaz/izlaz) i
 Kontrola izvršavanja programa (Kontrola sistema - privilegovane instrukcije i sl. i transfer
kontrole - Instrukcije grananja i sl.).

Instrukcije se obično izvršavaju nad nekim operandima. Ukoliko se radi o procesorskim instrukcijama ili
instrukcijama vezanim za I/O uređaje, operandi se nalaze u registrima. Ukoliko se radi o
instrukcijama vezanim za memoriju, operandi se nalaze u kešu ili u virtuelnoj memoriji.

Primjer formata instrukcije:

Tipovi operanada:

 Adrese,
 Brojevi,
 Karakteri,
 Log. Vrijednosti.

Pri transferu podatka je potrebno zadati Izvor, Destinaciju i Smijer (LOAD, STORE, MOV) podatka.

Gregor Džampo & Lutvica Kemal Str. 8


Skripta za DRAOS 1

Predavanje 5 - Instrukcijski set - Adresiranje

Instrukcija sadrži:

 Operacioni kod,
 Reference na operande,
 Reference na rezultat,
 Referenca na sljededu instrukciju.

Izgled Instrukcije:

Operacioni kod Referenca na operand = adresa


Vrste adresiranja:

 NEPOSREDNO (ADD #5 - dodaj 5 na sadržaj akumulatora ; 5 je operand ; nema referenciranja


memorije niti dobavljanja podataka ; brz pristup operandu);
 DIREKTNO (ADD A - dodaj sadržaj lokacije na koju pokazuje A na sadržaj akumulatora ; operand
se traži na adresi A ; ograničen adresni prostor 2broj bita u polju ADRESA);
 INDIREKTNO (ADD *A+, dodaj sadržaj lokacije na koju pokazuje ono, na što pokazuje A na sadržaj
akumulatora, polje ADRESA referencira memorijsku lokaciju koja sadrži adresu (pokazuje na nju)
; veliki adresni prostor 2n n je veličina memorijske lokacije ; sporiji pristup memoriji);
 REGISTARSKO (npr. EA=R, Operand je sadržan u registru koji se referencira u polju adrese tj.
adresa je referenca na registar ; ograničen broj registara ; veoma brzo izvršavanje jer nema
pristupa memoriji ved samo registrima);
 REGISTARSKO INDIREKTNO (Operand se nalazi negdje u memoriji, čija adresa se nalazi u registru
koji se referencira u polju ADRESA tj. adresa pokazuje na registar, gdje se nalazi adresa u
memoriji operanda , npr. EA=[R], veliki adresni prostor 2n);
 ADRESIRANJE SA BAZOM I POMAKOM (EA=A+R, adresa se računa na osnovu dva podatka,
A=pomak u odnosu na baznu adresu, dok je R= bazna adresa, jedan od ova dva podatka je u
polju adresa dok je drugi u registru);
 RELATIVNO (EA=A+*PC+, pročitaj podatak koji je za A udaljena od adrese na koju pokazuje PC);
 INDEKSIRANO (A=baza, R=pomak, EA=A+R nakon pristupa operandu R se uveda ili smanji);
 STEK I ADRESIRANJE (operand je implicitno na vrhu steka).

U format instrukcije uključeni su op. kod i eventualno operandi. Računar izvršava instrukciju u tzv.
atomičnim operacijama (dobavi/izvrši ciklus). Svaki ciklus se sastoji od više koraka, a svaki korak izvrši
nešto jednostavno i time pridonosi izvršavanju programa. Big endian (Internet PC RISC arhitekture)
najmanje značajan bajt smješta na najvišu adresu. Little endian (Pentium 80x86) smješta najmanje
značajan bajt na najnižu adresu.

Gregor Džampo & Lutvica Kemal Str. 9


Skripta za DRAOS 1

Predavanje 6 - Procesor - Struktura i Funkcija

CPU obavlja sljedede funkcije:

 Dobavlja instrukcije,
 Interpretira (dekodira) instrukcije,
 Izvršava instrukcije:
 Dobavlja podatke,
 Procesira podatke,
 Piše podatke.

Komponente računara su:

 Centralna procesna jedinica (CPU); čine je upravljačka jedinica i aritmetičko-logička jedinica,


 Ulaz/izlaz; Podaci i instrukcije se uvode u sistem i prikazuju preko ulaz/izlaz,
 Radna memorija služi za smještanje koda i rezultata i
 Sabirnice za interkonekciju.

Instrukcijski ciklus se sastoji od:

 DOBAVLJANJE (FETCH) - Procesor dobavlja instrukciju iz memorije sa adrese na koju pokazuje PC


(PC je programski brojač i on uvijek sadrži adresu sljedede instrukcije). Instrukcije se učitavaju u
instrukcijski registar – IR. Procesor interpretira instrukciju i izvršava zahtjevanu akciju.
 IZVRŠAVANJE (EXECUTE) - Transfer podataka između CPU i memorije, onda između CPU – U/I
modula ; Procesiranje podataka tj. njihova obrada podataka (arit-logi operacije) ; Kontrola (npr
JUMP) ; Prekid se dodaje na instrukcijski ciklus. Procesor prvo provjerava da li se desio prekid.

Dodatni ciklus u izvršavanju je prekid. Procesor provjerava da li se desio prekid (indiciran signalom
prekida). Ako prekid čeka:

 Zaustavlja se izvršavanje trenutnog programa (zapamti kontekst izvršavanja tj. gdje je »stao«).
 U PC se ubaci početna adresa rutine za obradu prekida.
 Obradi se prekid i vrada se se na dio gdje je prekinut program.

U slučaju višestrukih prekida, procesor ignoriše svaki sčkededi prekid dok obrađuje jedan prekid. Sljededi
prekid čeka do kraja obrade prethodnog prekida. Ponekad je potrebno i dodefinisati prekide tj.
definisati im prioritet gdje prekidi nižeg prioriteta mogu biti prekinuti prekidom višeg prioriteta.

Gregor Džampo & Lutvica Kemal Str. 10


Skripta za DRAOS 1

Dobavljanje (zavisi od dizajna procesora):

 PC sadrži adresu sljedede instrukcije,


 Adresa se smješta u MAR,
 Adresa izlazi na adresnu sabirnicu,
 Upravljačka jedinica traži čitanje iz memorije,
 Rezultat čitanja se smješta na sabirnicu podataka i kopira u MBR, zatim se smješta u IR,
 U toku čitanja PC se inkrementira.

Na slici je prikazan tok podataka pri indirektnom adresiranju za tumačenje sadržaja IR:

 Ako je pristup operandima indirektan, izvrši se indirektni ciklus čitanja memorije,


 Određenih N bita iz IR se prebacuju u MAR (ili MBR jer još sadrži instrukciju),
 Upravljačka jedinica traži čitanje iz memorije,
 Rezultat čitanja se smješta na sabirnicu podataka i kopira u MBR.

Gregor Džampo & Lutvica Kemal Str. 11


Skripta za DRAOS 1

Tok podataka prilikom prekida:

 Sadržaj PC se spašava da se omogudi nastavak izvršavanja nakon prekida,


 PC se kopira u MBR,
 Adresa posebne lokacije u memoriji (pokazivač na stek) se puni u MAR,
 MBR se piše u memoriju,
 PC se puni sa adresom rutine za obradu prekida,
 Dobavlja se sljededa instrukcija (prva iz rutine prekida).

Svaki korak izvrši nešto jednostavno, malo, i time doprinese izvršavanju instrukcije koja doprinosi
izvršavanju programa. Ove korake u izvršavanju možemo nazvati atomičnim operacijama CPU tj.
mikro-operacije.

Za dobavljanje instrukcije su znači potrebna 4 registra:

 Memory Address Register (MAR) – specificira adresu za operaciju čitanja ili pisanja,
 Memory Buffer Register (MBR) - sadrži podatak koji se piše ili koje je zadnji pročitan,
 Program Counter (PC) - pokazuje na sljededu instrukciju i
 Instruction Register (IR) - sadrži zadnju pročitanu instrukciju.

Dobavljanje instrukcije simbolički:

 t1: MAR (PC)


 t2: MBR (memorija) , PC (PC) +1
 t3: IR (MBR)

(ti = jedinica vremena/ciklus sata)

Gregor Džampo & Lutvica Kemal Str. 12


Skripta za DRAOS 1

Pri dobavljanju operanada se efektivna adresa (EA) treba se smjestiti u MAR i podatak pročitati iz
memorije:

Direktno:

 MAR (IRadresa) - polje adrese iz instrukcije


 MBR (memorija)

Indirektno:

 MAR (IRadresa) - polje adrese iz instrukcije


 MBR (memorija)
 MAR (MBR)
 MBR (memorija)

Gregor Džampo & Lutvica Kemal Str. 13


Skripta za DRAOS 1

Predavanje 7 - Procesor - Upravljačka Jedinica


Upravljačka jedinica(CU- Control Unit) upravlja radom procesora. na slici je prikazan model upravljačke
jedinice:

Upravljačke signale CU dijelimo na ulaze i izlaze. Upravljački signali ulazi su:

 Sat: Jedna mikro-instrukcija po ciklusu sata


 Instrukcijski registar:
 Operacioni kod
 Određuje koje se mikro operacije trebaju izvršiti
 Zastavice (flag):
 Stanje CPU
 Rezultat prethodnih operacija
 Signali sa upravljačke sabirnice:
 Prekidi
 Signali potvrde (acknowledgements)

Upravljački signali izlazi su:

 Unutar CPU:
 Uzrokuju premještanje podataka
 Aktiviraju određene funkcije
 Preko upravljačke sabirnice:
 Prema memoriji
 Prema U/I modulima

Gregor Džampo & Lutvica Kemal Str. 14


Skripta za DRAOS 1

Primjer sekvence upravljačkih signala:

Dobavljanje instrukcije:

 MAR (PC) C2
 Upravljačka jedinica aktivira signal koji de otvoriti vrata između PC i MAR
 MBR (memorija)
 Otvaraju se vrata između MAR i adresne sabirnice C0
 Aktvira se upravljački signal READ CR
 Otvaraju se vrata između sabirnice podataka i MBR C5

Postoji dvije vrste implementacije CU:

 Ožičena (svaki bit ima jedinstveno značenje. Svaki operacioni kod je jedinstven za svaku
instrukciju i zahtijeva različite upravljačke signale. Kodiran je binarno. Dekoder preuzima
kodirani ulaz i proizvodi jedinstven signal na izlazu. Sat daje periodičan niz četvrtki. Dizajn i
dodavanje novih instrukcija su jako teški zadaci),
 Mikro programirana CU (pojednostavljen dizajn, niža cijena, manje grešaka ali sporije
izvršavanje).

Gregor Džampo & Lutvica Kemal Str. 15


Skripta za DRAOS 1

MIKRO-PROGRAMIRANA CU

Mikro instrukcija predstavlja skup upravljačkih signala sa vrijednostima potrebnim da se pravilno izvrši
mikro-operacija.

Mikro program ili kod predstavlja niz mikro-instrukcija potreban da upravlja izvršenjem kompleksnih
operacija.

Zadatak CU je ustvari generisanje skupa upravljačkih signala zavisno od mikro programa koji se izvršava.
Svaki od tih signala ima vrijednost ili 0 ili 1. Pri kreiranju ovakve CU prvo formiramo mikro riječ tj.
instrukciju (neophodno je da sadrži informaciju o tome koja je sljededa mikro instrukcija u
zavisnosti od uslova izvršavanja), a onda definišemo niz upravljačkih riječi kako bi omogudili
izvršavanje jedne mašinska instrukcija, definišemo odgovarajudi mikro-kod za sve mašinske
instrukcije, definišemo mikro–kod koji upravlja sekvenciranjem izvršavanja mikro–instrukcija.
Mikro sekvencerska logika (slika) postavlja adresu sljedede mikro instrukcije u zavisnosti od
upravljačkih signala i ALU zastavica.

Razlikujemo dva tipa mikro-koda:

 Vertikalni mikro-kod: svaka mikro-instukcija definiše jednu mikrooperaciju koja se treba izvršiti.
 Horizontalni mirko-kod: svaka mikro-instrukcija definiše mnogo različith mikro-operacija koje se
trebaju izvršavati paralelno.

Gregor Džampo & Lutvica Kemal Str. 16


Skripta za DRAOS 1

Predavanje 8 - Memorija

RAM (random access memory) je poluprovodnička memorija sa direktnim pristupom (čitanje i pisanje)
svakoj od lokacija. Može biti statička (SRAM) i dinamička (DRAM), a služi za privremeno smještanje
podataka (podaci se gube kada memorija nije pod napajanjem).

Dinamički RAM - Informacija (bit) se pohranjuje u obliku napona na kondenzatoru (potrebno je


obnavljati zapisane informacije u memoriji zbog padanja napona, tzv. 'osvježavanje memorije').
Koristi se za realizaciju glavne memorije. Pri čitanju se napon na kondenzatoru odvodi pa je
potrebno obnavljanje memorije nakon čitanja (ponovno pisanje - logika koja ovo vrši je dosta
spora).

Statički RAM - Informacija se pohranjuje u vidu stanja prekidača (on/off) pa prema tome, ne dolazi do
pojave gubitka informacije sa vremenom (nije potrebno osvježavanje). Koristi se za keš
podsistem.

ROM (read only memory) je memorija za trajno pohranjivanje podataka. Koristi se pri realizaciji
mikroprogramirane upravljačke jedinice, za pohranjivanje sistemskih programa (BIOS-a) te za tabele
funkcija.

Organizacija Memorije

Kada govorimo o organizaciji memorije, onda se npr. čip od 16 Mb (Mb je skradeno od MegaBit = 10242
bit-a, a MB je skradeno do MegaByte = 10242 byte-a) može realizovati na više načina. Jedan od načina
realizacije jeste da koristimo 1M=10242 16-bitnih riječi.

Ukoliko za realizaciju segmenta od 16 Mb koristimo 1Mb čipove, gdje za riječ od 16 bita svaki čip
učestvuje sa jednim svojim bitom, to demo za realizaciju ovog segmenta morati koristiti 16 ovakvih
čipova.

Ukoliko za realizaciju istog takvog segmenta koristimo (256k x 16) bitne čipove, to demo za realizaciju
ovog segmenta sada morati koristiti 4 ovakva čipa.

Organizacija Unutar Čipa

Jedan 16Mb čip se može organizovati kao (4096x4096) polje bita odnosno (4x2048x2048) matrica u
prostoru. Za adresiranje ovakve matrice potrebno je 11 bita (211=2048) pri čemu su adrese redova i
kolona multipleksirane.

Gregor Džampo & Lutvica Kemal Str. 17


Skripta za DRAOS 1

Na slici je prikazan 16Mb DRAM (4Mx4):

Kao što je prethodno napomenuto, dinamički RAM zahtijeva logiku za osvježavanje memorije (na slici
'Refresh circutry'). Data logika onemoguduje pristup memoriji pri osvježavanju iste (brojač generiše
adrese redova koji se osvježavaju), a poziva se nakon svakog čitanja iz memorije (čitanje iz memorije ima
za posljedicu pisanje u memoriju što znatno usporava rad iste).

Na slici je prikazan 16kb DRAM:

Gregor Džampo & Lutvica Kemal Str. 18


Skripta za DRAOS 1

Organizacija modula 1MB (1024x1024x8 bita) je prikazana na slici:

Postoje i napredne organizacije DRAM:

 SDRAM (Sinhroni DRAM) - kod kojeg vanjski sat sinhronizuje pristup (ovo omogudava da CPU
unaprijed zna kada de podaci iz SDRAM-a biti spremni te da u vremenu u kojem bi inače čekao
na podatak, CPU radi neke druge operacije). Također SDRAM podržava i tzv. Burst mod rada u
kojem je mogude čitati niz podataka odjednom.
 DDR-SDRAM (Double Data Rate SDRAM) omogudava pristup dvostruko vedoj količini podataka
(okida i na rastudu i na opadajudu ivicu sata).
 RAMBUS RDRAM itd.

Gregor Džampo & Lutvica Kemal Str. 19


Skripta za DRAOS 1

Keš Memorija - predstavlja memoriju relativno malog kapaciteta ali velike brzine koja posreduje između
CPU i glavne memorije. Obično je smještena na CPU čipu (ili modulu). Kada CPU traži pristup
memorijskoj lokaciji na adresi A, prvo se vrši provjera da li je podatak ved u kešu. Ako jeste, podatak se
uzima iz keša, a ako nije, podaci se čitaju u keš i predaju se procesoru. Keš uz svaki blok podataka čuva
tag kojim se na jedinstven način određuje lokacija podataka u glavnoj memoriji. Tag je dio adrese koji je
zajednički za sve podatke u bloku.

Direktno mapirani Keš - Struktura adrese - Ukoliko je algoritam zamjene onog što se trenutno nalazi u
kešu sa novim podacima takav da je za svaki od podataka iz glavne memorije rezervisano konkretno
mjesto u kešu, onda je keš direktno mapiran. Npr. Keš se sastoji od 1024 bloka gdje svaki blok ima 4
bajta. Adresa za odabir podatka iz memorije je 32-bitna. Za odabir odgovarajudeg bajta u odgovarajudem
bloku potrebna su 2 bita (2-bitni ofset), a za odabir odgovarajudeg bloka potrebno je 10 bita (10bitni
indeks - 210=1024 bloka u kešu). Za Tag nam u ovom slučaju ostaje na raspolaganju 20 bita.

Kada CPU želi da pročita podatak sa neke adrese u memorji, on prvo odabere red u kešu koji je definisan
sa 10-bitnim indeksom.

Tag = 20 bita Index = 10 bita Ofset=2 bita

Ukoliko se Tag adrese sa koje CPU želi da čita podudara sa Tagom u odabranom redu keša , onda CPU
koristi i preostala 2 bita za odabir bloka i čita podatak koji je upisan u datom bloku. Ukoliko se Tag
adrese sa koje CPU želi da čita i Tag koji je upisan u odgovarajudem redu keša ne slažu, onda CPU
dobavlja podatak iz memorije i smješta u Tag keša pod tim indeksom isti taj tag i dati podatak.

Gregor Džampo & Lutvica Kemal Str. 20


Skripta za DRAOS 1

Asocijativni Keš - Ukoliko je algoritam zamjene onog što se trenutno nalazi u kešu sa novim podacima
takav da je bilo koji od podataka iz glavne memorije može biti spremljen na bilo koje mjesto u kešu,
onda je keš potpuno asocaijtivan (postoje i djelimično asocijativni kešovi). Ovdje se porede cijeli Tagovi
da bi se ustanovilo da li je dati podatak u kešu ili ne (postoji samo tag i ofset).

Tag = 28 bita Ofset=4 bita

Grupno Asocijativni (višestruko preslikani) Keš - Indeks kod ovakvog tipa keša-a pokazuje tj. identificira
grupu blokova u kojoj se traži podatak pri čemu svaki blok ima svoj odgovarajudi tag. Porede se tagovi sa
tagom iz adrese da bi se pronašao blok sa podacima.

Tag = 22 bita Index = 8 bita Ofset=2 bita

Osvježavanje Sadržaja Keša - se vrši na više načina:

 LRU - Least Recently Used (Odbacuje se podatak koji je posljednji korišten s logikom da de do
njegovog sljededeg korištenja vjerovatno prodi toliko vremena da de na mjestu na kojem se
nalazi taj podatak neki drugi podatak biti korisniji)
 FIFO - First-In-First-Out (Podatak koji je prvi spremljen de prvi biti i odbačen tj. obrisan)
 LIFO – Last-In-First-Out (Podatak koji je posljednji spremljen u keš de biti prvi obrisan)
 Slučajni odabir - Random

Gregor Džampo & Lutvica Kemal Str. 21


Skripta za DRAOS 1

Predavanje 10 - Procesor, Poboljšanje Performansi Rada

Prefetch (dobavaljnje unaprijed) Predstavlja jedan od načina poboljšavanja performansi rada procesora.
Dobavljanje instrukcije zahtjeva čitanje iz memorije dok izvršavanje instrukcije obično ne zahtijeva
pristup memoriji. Prema tome, mogude je dobaviti sljededu instrukciju u toku izvršavanje tekude.
Međutim, kako dobavljanje u principu traje krade od izvršavanja instrukcije, to je za npr. dvostruko
ubrzanje rada procesora potrebno unaprijed dobaviti više instrukcija od samo jedne. Ovdje prave
problem skokovi i grananja koja treba predvidjeti i dobaviti iz memorije sljededu instrukciju po
hronologiji, a ne po prostoru u memoriji.

Tok izvršavanja instrukcije:

 Dobavljanje instrukcije (FI),


 Dekodiranje instrukcije (DI),
 Računanje efektivnih adresa operanada (CO),
 Dobavljanje operanada (FO),
 Izvršavanje instrukcije (EI) i
 Pisanje rezultata (WO).

Na slici je prikazan vremenski dijagram protočne strukture sa segmentima izvršavanja instrukcija koji se
u protočnoj strukturi mogu paralelno izvršavati:

Gregor Džampo & Lutvica Kemal Str. 22


Skripta za DRAOS 1

Što je više segmenata vede je ubrzanje – više instrukcija paralelno. S druge strane, logika koja upravlja
tranzicijama između segmenata postaje prekompleksna i rezultuje uskim grlom implementacije
protočne srukture.

Na prtočnu strukturu također značajan uticaj ima i uslovljeno grananje:

Superskalar CPU arhitektura - implementira paralelizam unutar jednog procesora. Superskalar procesor
izvršava više od jedne instrukcije tokom jednog ciklusa na način da simultano šalje više instrukcija
redundantnim funkcijskim jedinicama procesora. Ovo je primjenjivo i na RISC i na CISC procesore, ali u
praksi se primjenjuje više na RISC-u. Pola ciklusa postaje dovoljno za faze protočne strukture pa se
prema tome postiže duplo brži takt. Što se tiče ograničenja, tu se najviše ističe:

 Ovisnost podataka (ukoliko je za sljededu instukciju neophodan podatak iz prethodne),


 Proceduralna ovisnost (skokovi, grananja te različite dužine instrukcija),
 Resursi (istovremeno pristupanje istom resursu),
 Ovisnost izlaza (ukoliko je bitan redoslijed dojeljivanja vrijedsnoti nekoj varijabli) i
 Anti-ovisnost.

Gregor Džampo & Lutvica Kemal Str. 23


Skripta za DRAOS 1

Multiple Processor Organization

 Single instruction, single data stream - SISD SISD


 Single instruction, multiple data stream - SIMD
 Multiple instruction, single data stream - MISD
 Multiple instruction, multiple data stream- MIMD

Gregor Džampo & Lutvica Kemal Str. 24

You might also like