You are on page 1of 27

Uvod

Digitalna tehnika bavi se postupcima obrade informacija pomou tehnikih ureaja digitalnih sustava. Glavni postupci obrade informacija jesu: prikaz informacija, pohranjivanje i pretraivanje informacija, prijenos informacija, obrada znanja pomou informacija.

Razvoj digitalnih sustava odvija se najbre na podruju informacijskih tehnologija, koju ine mikroelektronika, raunalne tehnologije i telekomunikacije. Njihov brzi razvoj omoguio je primjenu digitalnih sustava u svim podrujima ljudskog rada. Naziv digitalna odnosi se na nain predstavljanja informacija, gdje se koristi konaan skup diskretnih numerikih vrijednosti, za razliku od analognog naina predstavljanja informacija, gdje postoji beskonano mnogo razliitih vrijednosti. Rije digitalna dolazi iz latinske rijei digitus, koja znai prst. Najmanja koliina digitalne informacije je 1 bit, iz engleskog binary digit.

Brojni sustavi
U raunalima se svi zapisi podataka izvode pomou binarnih brojeva. Binarni brojevi koriste dvije znamenke 0 i 1. Razlog koritenja binarnog sustava za zapisivanje podataka je tehnike narave. Naime puno je lake izvesti tehnike elemente koje sadre dva razliita stanja, nego elemente koji sadre tri ili vie razliitih stanja. Ukoliko bi za zapis brojeva i podataka koristili dekadski sustav, koji je nama najrazumljiviji, morali bi graditi raunala sa elementima koji raspolau sa deset razliitih stanja. Pozicijski brojni sustavi: vrijednost znamenke u zapisu ovisi o njenom poloaju u zapisu. Dekadski brojni sustav koristi znamenke iz skupa {0,1,2,3,4,5,6,7,8,9} a baza brojnog sustava je B=10. primjer: dekadski broj 126.73 126.73 = 1 x 102 + 2 x 101 + 6 x 100 + 7 x 10-1 + 3 x 10-2 (1011.011)2 = 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 1 x 2-3 =8 +0 +2 +1 +0 + 1/4 + 1/8

=(8+0+2+1+0+1/4+1/8)10 = (11.375)10 Broj znamenki brojnog sustava odreuje bazu brojnog sustava. Svaki broj z moemo zapisati kao polinom u bilo kojem brojnom sustavu sa bazom B i znamenkama bj.

Primjeri brojnih sustava: B=2 B=8 B=10 B=16

{0,1} {0,1,2,3,4,5,6,7} {0,1,2,3,4,5,6,7,8,9} {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

binarni brojni sustav oktalni dekadski heksadekadski 1

Pretvorba brojeva iz jednog brojnog sustava u drugi


Pretvorba brojeva iz jednog brojnog sustava u drugi temelji na Hornerovom pravilu:

z=ax3+bx2+cx+d =((ax+b)x+c)x)+d

elimo pretvoriti neki broj sustavu sa bazom B2 .

zapisan u brojnom sustavu B1 u broj zapisan u brojnom

Metoda dijeljenja s B2 i aritmetikom baze B1


z / B2 = q0 q0 / B2 = q1 q1 / B2 = q2 qn-2 = 0 i ostatak a0 i ostatak a1 i ostatak a2 i ostatak an-1

Primjer prevoenja iz dekadskog u binarni zapis: 19/2 = 9 ostatak 1 9/2 = 4 " 1 4/2 = 2 " 0 2/2 = 1 " 0 1/2 = 0 " 1 Ostaci zapisani redom od dna prema vrhu (najznaajniji bit prvi) daje: (19)10 = 1x24 + 0x23 + 0x22 + 1x21 + 1x20 = (10011)2

Metoda mnoenja s B2 i aritmetikom baze B1

aN-1B1 p0 +aN-2 p1B1 p2 +aN-3 ..... p2(N-1)-2 +a0

= = = =

p0 p1 p2 p3

= p2(N-1)-1 = Z B2

Primjer prevoenja dekadskog decimalnog broja 0.375 u binarni 2

0.375 x 2 = 0.75, cijeli dio 0 0.75 x 2 = 1.5, " 1 0.5 x 2 = 1.0, " 1 0 - kraj dekadski broj dobije se itanjem od vrha prema dnu. (.375)10 = (.011)2 Neki dekadski brojevi ne mogu se tono prevesti u binarni zapis . Dolazi do greke zaokruivanja! Primjer: (0.1)10 = (0.00011001100110.....)2 Tonost zapisa ovisi o broju bitova s kojima se zapisuju brojevi u raunalu.

Aritmetike operacije u brojnom sustavu B


Zbrajanje brojeva Da bi mogli zbrajati brojeve u nekom brojnom sustavu, moramo znati tablicu zbrajanja za brojni sustav. Brojeve elimo zbrojiti i odrediti zbroj . Primjer: binarni brojni sustav Tablica zbrajanja glasi: 0+0 = 0 i prijenos 0 0+1 = 1 i prijenos 0 1+0 = 1 i prijenos 0 1+1 = 0 i prijenos 1 Zbrajanje brojeva u brojnom sustavu sa bazom B moe se opisati slijedeim algoritmom:

p=0

(p = prijenos na vie brojno mjesto)

FOR j=0, , N-1 (j = brojno mjesto znamenke) dj=(aj+bj+p) mod B IF (aj+bj+p) B THEN p=1 ELSE p=0 dn=p Primjer: 1 1 1 1 prijenos 001001 + 011011 100100 Oduzimanje brojeva Negativne brojeve predstavljamo pomou njihovog komplementa. Komplement broja z , je dopuna broja z do a) BN-1 jedinini komplement b) BN dvojni komplement primjer: etverobitni brojevi N=4

Binarni 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Dekadski 0 1 2 3 4 5 6 7 0 -7 -6 -5 -4 -3 -2 -1

U binarnom brojnom sustavu tvorba dvojnog komplementa svodi se na promjenu znamenke 0 u 1 i 1 u 0, te dodavanjem broja 1.

Zapis brojeva u raunalima


Da bi omoguili prijenos podataka izmeu razliitih raunala definiran je standard za zapisivanje brojeva. Brojeve zapisujemo u normaliziranom obliku. Svaki zapis broja sastoji se od predznaka, mantise i eksponenta. Tako je npr. decimalni broj 109,321 u normaliziranom obliku jednak 0109321*103.

msb - najznaajniji bit (most significant bit) lsb - najmanje znaajan bit (least significant bit) Slika 2.1.: Format zapisa brojeva. Zapisivanje brojeva u raunalima definira IEEE standard (754). Zapis broja z u bazi B u normaliziranom obliku glasi: z=f*Bn gdje je f mantisa, a n eksponent broja z. U binarnom brojnom sustavu, koji se koristi u raunalima za zapis brojeva, je broj z u normaliziranom obliku jednak: Z=f*2n , gdje je mantisa 0<=f<=0.510. Broj bitova, koje koristima za zapis mantise odreuje preciznost s kojom zapisujemo neki broj z, dok broj bitova eksponenta n odreduje raspon brojeva, koje moemo zapisati. 4

Prema standardu IEEE 754 koristimo zapis sa jednostrukom preciznocu, koji koristi 32 bita za zapis brojeva i zapis sa dvostrukom preciznocu, koji koristi 64 bita za zapis brojeva. Kod 32 bitnog zapisa otpada jedan bit za predznak broja, 8 bitova za eksponent i preostala 23 bita za mantisu broja. Sa 8 bitova moemo zapisati 28=256 razliitih brojeva, tako da je vrijednost eksponenta -128 <= E <=127. Raspon pozitivnih i negativnih brojeva je izmedu i , odnosno izmedu

i . Kod zapisa sa dvojnom preciznocu je predvien jedan bit za predznak, 11 za eksponent i 52 bita za mantisu. Definirane su takoder vrijednosti eksponenta i mantise za nulu, beskonanu vrijednost i za brojeve izvan podruja definicije.

Kodiranje informacije
Osim brojeva u raunalima zapisujemo i slova i znakove, koji se kodiraju i pretvaraju u brojeve. Najpoznatiji kod je ASCII kod koji koristi 7 bitova za kodiranje znakova. Sa 7 bitova moemo zakodirati 128 razliitih znakova. To je dovoljno za sva velika i mala slova te za dodatne znakove. Slika prikazuje znakove tipkovnice i njihove ASCII kode u heksadekadskom sustavu.

Slika 2.2: ASCII kodovi znakova tipkovnice. Za kodiranje slika definirani su standardi kao to je GIF (Graphics Interchange Format) i TIFF ( Tagged Image File Format). MPEG (Moving Picture Experts Group) definira standarde za kodiranje video zapisa. MP3 standard definira postupke kodiranja audio zapisa.

Boolova algebra
Boolova algebra temelji na postulatima koji su definirani nad binarnim varijablama. Postulati su meusobno neovisni i konzistentni ( ne iskljuuju jedan drugoga). Osnovne operacije koje definira Boolova algebra su: 5

disjunkcija konjunkcija negacija

logiki ILI logiki I logiki NE.

Tablica 3.1 prikazuje tablice istinitosti za osnovne operacije za dvije binarne varijable. Konjunkcija logiki I (AND) X1 0 0 1 1 X2 0 1 0 1 X1 X2 0 0 0 1 Disjunkcija logiki ILI (OR)

X1 0 0 1 1

X2 0 1 0 1

X1 X2 0 1 1 1

Negacija logiki NE (NOT)

0 1

1 0 Tablica 3.1: Tablice istinitosti za osnovne logike operacije za dvije binarne varijable.

Postulati Boolove algebre

P1: Postoji neutralni element za operaciju disjunkcije 0, i jedinini element za operaciju konjunkcije 1.

P2: komutativnost

P3: distributivnost

P4: komplementarnost

Logike funkcije
6

Prednost koritenja binarnih brojeva za zapisivanje podataka u raunalima je takoer u postojanju logikih operacija, koje su definirane nad binarnim varijablama. Binarne logike varijable imaju vrijednosti 0 ili 1. Informacije zapisane u binarnom obliku mogu se obraivati pomou logikih operatora i pretvarati u novu informaciju. Logiki operatori realiziraju se pomou elektronikih sklopova, koji sadre elektronike elemente kao to su tranzistori i diode. Binarne logike varijable 0 i 1 realiziraju se pomou elektrinih veliina kao to je npr. napon. Slika 3.1 prikazuje signal logike 1 koji se ostvaruje pozitivnim konstantnim naponom, odnosno logika 0 kao minimalan napon.

Slika 3.1: Primjeri podruja napona za logiku jedinicu i nulu. Osnovni logiki operatori su operator negacije ili logiki NE, operator konjunkcije ili logiki I, te operator disjunkcije ili logiki ILI. Svi logiki sklopovi mogu se realizirati sa ta tri osnovna operatora. Logiki sklopovi slue za pretvorbu jednog oblika informacije u drugi i to zadan logikom funkcijom zavisnosti izmeu ulaznih i izlaznih signala logikog sklopa. Slike 3.2, 3.3 i 3.4 prikazuju tri osnovna logika operatora, njihov matematiki zapis, tablicu istinitosti na primjeru dvije ulazne varijable i pripadajui simbol.

Operator logiki NE

Slika 3.2: Operator negacije.

Operator logiki I

Slika 3.3: Operator konjunkcije.

Operator logiki ILI

Slika 3.4: Operator disjunkcije. Dva dodatna operatora se uestalo koriste, jer se pomou njih moe takoer realizirati bilo koja logika funkcija. To su operatori negirani I (NI) i negirani ILI (NILI).

Operator negiran logiki I - NI

Slika 3.5: Operator NI.

Operator negiran logiki ILI - NILI (NOR)

Slika 3.6: Operator NILI.

Simboli logikih operatora

Slika 4.1: Simboli logikih operatora. Logiku funkciju moemo zapisati pomou logikog izraza i pomou tablice istinitosti. Tablica istinitosti sadri sve kombinacije ulaznih varijabli i njihovu funkcijsku vrijednost. Za n ulaznih binarnih varijabli moemo dobiti ulaznih kombinacija. Poto svaka ulazna kombinacija moe imati funkcijsku vrijednost 1 ili 0 imamo za n 9

ulaznih varijabli funkciju dvije varijable

moguih funkcijskih vrijednosti. Tablica 3.1 prikazuje sve kombinacije za logiku (n=2).

Tablica 3.1: Funkcijske vrijednosti logike funkcije dvije varijable. Matematiki zapis djelovanja logikih funkcija omoguava Boolova algebra. Boolova algebra temelji na postulatima koji su meusobno neovisni i konzistentni. Slika 3.7 prikazuje primjer logike funkcije f(a,b,c,d) etiri varijable koja je zadana izrazom i njenu tablicu istinitosti.

a 0 0 0 0 0 0

b 0 0 0 0 1 1

c 0 0 1 1 0 0

d 0 1 0 1 0 1

f 0 0 0 0 0 0

10

0 0 1 1 1 1 1 1 1 1

1 1 0 0 0 0 1 1 1 1

1 1 0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1 0 1

0 0 0 0 1 0 1 1 1 1

Slika 3.7: Primjer logike funkcije 4 varijable i tablica istinitosti. Sve logike funkcije mogu se izraziti s operatorima I, ILI i NE. Pomou operatora NI i NILI mogu se takoer izraziti sve logike funkcije. Primjer: izraavanje funkcija I i ILI pomou NI ( ). b negacija negacija I a 0 0 1 1 a 0 1 0 1 1 1 0 0 a b 1 0 1 0 b (a b) 0 0 0 1 (a b)

ILI (a a) 0 1 1 1 (b b)

Minimizacija logikih funkcija


Minimizacija logikih funkcija predstavlja postupke pomou kojih zapisujemo logike funkcije sa najmanjim brojem logikih operatora i sa najmanjim brojem ulaznih varijabli. Disjunktivni normalni oblik logike funkcije Za neku logiku funkciju se njenih funkcijskih vrijednosti numeriraju od 0 do -1 tako da ulazne logike varijable zapisane kao binarni broj daju redni broj j redaka tablice Minterm gdje je definiran je kao konjunkcija

Svaka logika funkcija moe se zapisati kao disjunktivna kombinacija onih minterma, ije varijable imaju funkcijsku vrijednost f=1

Konjunktivni normalni oblik logike funkcije Za neku logiku funkciju se njenih funkcijskih vrijednosti numeriraju od 0 do 1 tako da ulazne logike varijable zapisane kao binarni broj daju redni broj j redaka tablice -

11

Maksterm gdje je

definiran je kao disjunkcija

Svaka logika funkcija moe se zapisati kao konjunktivna kombinacija onih maksterma, ije varijable imaju funkcijsku vrijednost f=0

Primjer zapisa logike funkcije normalnom obliku:

u disjunktivnom (DNO) i konjunktivnom (KNO)

mj

Mj

0 1 2 3 4 5 6 7 DNO: KNO:

x1 x2 x3 000 001 010 011 100 101 110 111

0 0 0 1 1 1 1 1

Osnova postupka minimizacije je disjunktivni normalni oblik logike funkcije. Minimizacija temelji na slijedeim privilima, izvedenih iz postulata Boolove algebre: a b f 0 0 0 0 1 0 1 0 1 1 1 1

12

Karnaugh - Veitchev dijagram KV dijagram neke logike funkcije n varijabli sadri polja, u koja se upisuju mintermi. Susjedna polja dijagrama se razlikuje samo u jednom binarnom mjestu. Susjedna polja dijagrama su lijeva, desna , gornja i donja polja. U svako polje unosimo minterme logike funkcije koji imaju vrijednost f=1. Slika 4.1 prikazuje KV dijagram logike funkcije I dvije varijable.

Slika 4.2 prikazuje KV dijagram logike funkcije tri varijable, koji sadri 8 polja.

Slika 4.2: KV dijagram logike funkcije tri varijable. Slika 4.3 prikazuje primjer KV-tablice logike funcije etiri varijable f(A,B,C,D) Susjedni mintermi u tablici razlikuju se samo u jednom binarnom mjestu. Susjedni mintermi su lijevi, desni, gornji i donji ( npr. minterm m5 ima susjede m4, m13, m7 i m1).

13

Slika 4.3: KV dijagram logike funkcije etiri varijable. Postupak minimizacije logikih funkcija
U KV tablici udruujemo susjedne minterme u polja veliine 2,4,8,, minterma Zajednike varijable se krate; polja sa 2 minterma imaju jednu varijablu manje, polja sa 4 minterma dvije varijable manje, polja sa 8 minterma imaju tri varijable manje, Slika 4.4 prikazuje primjer minimizacije funkcije etiri varijable f(a,b,c,d)=Vm(5,7,10,13,15).

Slika 4.4: Minimizirana funkcija

Logiki sklopovi
Logike sklopove koji realiziraju neku logiku funkcije dijelimo u dvije skupine. Prvu ine kombinacijski logiki sklopovi a drugi slijedni ili sekvencijski logiki sklopovi. Kombinacijski logiki sklopovi su sklopovi kod kojih izlazna logika funkcija ovisi samo od ulaznih veliina. Primjeri kombinacijskih logikih sklopova su zbrajalo, koder, multipleksor, dekoder, demultipleksor. Slika 4.1: Definicija kombinacijskih logikih sklopova: 14

Slijedni ili sekvencijski logiki sklopovi su sklopovi kod kojih izlazne veliine ovise od ulaznih ali i od unutarnjeg stanja samog sklopa. Sekvencijski logiki imaju unutarnje stanje, odn. elemente koji mogu pamtiti ili pohranjivati informaciju. Primjeri sekvencijskih logikih sklopova su brojila, posmani registri, upravljaki sklop raunala. Slika 4.2: Definicija sekvencijskih logikih sklopova:

Kombinacijski logiki sklopovi


Poluzbrajalo Primjer kombinacijskog logikog sklopa je zbrajalo, koje ima dva ulaza i dva izlaza. Na ulaze se dovode bitovi operanada koje zbrajamo a izlazi su njihov zbroj i prijenos na vie brojno mjesto. Slika 4.3 prikazuje tablicu istintosti zbrajala, logiki izraz i simboliki prikaz.

15

Slika 4.3: Logika funkcija zbrajala. Potpuno zbrajalo Potpuno zbrajalo je kombinacijski logiki sklop koji za razliku od poluzbrajala ima tri ulaza i dva izlaza. Osim bitova operanada koje zbrajamo na ulaz se dovodi takoer prijenos sa nieg brojnog mjesta. Na izlazu se dobiva zbroj i prijenos na vie brojno mjesto. Potpuno zbrajalo moe se realizirati pomou dva poluzbrajala. Slika potpunog zbrajala

16

Koder Koder je kombinacijsko logiki sklop koji generira n-bitni kod za svaki od m ulaza (primjer: BCD koder). Slika 4.4 prikazuje primjer BCD kodera, koji za svaku decimalnu znamenku generira etverobitni kod.

Slika 4.4: Primjer kodera. 17

Dekoder Dekoder je sklop koji ima onoliko ulaza koliko ima bitova kod i onoliko izlaza koliko se znakova moe predoiti dotinim kodom. Slika 4.5 prikazuje trobitni dekoder koji za svaki trobitni kod aktivira jednu od izlaznih linija.

Slika 4.5: Primjer trobitnog dekodera. Multipleksor Multipleksor je logiki sklop koji na osnovi n-bitne adrese odabire jednu od ulaznih linija i prenosi je na izlaz. Slika 4.6 prikazuje primjer multipleksora sa dvobitnom adresom.

Slika 4.6: Primjer dvobitnog multipleksora. Demultipleksor Demultipleksor je sklop koji prenosi ulaznu liniju na jednu izlaznu liniju na osnovi n-bitne adrese.

Slika 4.7: Primjer demultipleksora sa dvobitnom adresom. Ispisna memorija Primjer kombinacijskog logikog sklopa je takoer ispisna memorija (ROM), koja se sastoji od dekodera i kodera (slika 4.8). Koder se moe realizirati kao memorijska matrica pomou dioda. Pomou dekodera odabire se jedna od ulaznih linija kodera koja na izlazu kodera daje odreenu n-bitne izlaznu kombinaciju. Ulaz u dekoder predstavlja adresu odreenog podatka zapisanog u memorijskoj matrici. Sadraj podataka u memorijskoj matrici upisuje se u procesu izrade memorije i ne moe se kasnije mijenjati. Zbog toga i naziv ispisna memorija.

18

Slika 4.8: Ispisna memorija.

Sekvencijski logiki sklopovi


Sekvencijski logiki sklop sadri uz kombinacijski logiki sklop i elemente za pamenje ili memoriranje informacije. Izlazne veliine ovise ne samo od ulaznih logikih funkcija, ve i od unutarnjeg stanja sekvencijskog logikog sklopa. Unutarnje stanje sekvencijskog logikog sklopa definirano je informacijom koja je pohranjena u elementima za pamenje. Djelovanje sekvencijskih logikih sklopova sinhronizirano je funkcijom takta ili ritma. Funkciju takta predstavljaju periodini impulsi, ija amplituda odgovara logikoj 1. Logiki sklopovi mogu mijenjati unutarnja stanja samo onda kada je funkcija takta 1. Slika 4.9 prikazuje funkciju takta.

Slika 4.9: Signal takta. RS-bistabil Osnovni element za pohranjivanje ili memoriranje informacije je bistabil. Slika 4.10 prikazuje RS-bistabil, koji je realiziran sa dva NI sklopa povezanih povratnom vezom. Slika 4.10: RS-bistabil:

Bistabil se sastoji od dva ulaza R i S, te dva izlaza Q i njegovog komplementa . Pomou ulaza R i S moemo u bistabil upisati logiku 1 ili 0. Bistabil moe dakle pamtiti 1 bit informacije. Tablica stanja RS-bistabila pokazuje stanje bistabila Q u ovisnosti od ulaza R i S. 19

R 0 0 1 1

S 0 1 0 1

Q Q 1 0 x 0 1 x

Slika 4.11: Tablica stanja RS-bistabila. Ukoliko je na ulazima R i S logika 0 stanje bistabila se ne mijenja. Logika 1 na ulazu S postavlja bistabil u stanje 1, a logika 1 na ulazu R u stanje 0. Ulazno stanje S=R=1 nije dozvoljeno.

Slika 4.12: Simbol RS-bistabila. JK bistabil Bistabil tipa JK ima identino djelovanje kao i RS-bistabil, gdje logika jedinica na ulazu J postavlja bistabil u stanje 1 a logika jedinica na ulazu K u stanje 0. Za razliku od RS-bistabila kod JK-bistabila dozvoljena je ulazna kombinacija J=K=1, koja komplementira stanje bistabila, tj. ukoliko je bistabil u stanju 1 prelazi u stanje 0 i ukoliko je u satnju 0 prelazi u stanje 1. Slika 4.13 prikazuje tablicu stanja JK-bistabila. J 0 0 1 1 K 0 1 0 1 Q Q 0 1 1 0 Q

Slika 4.14: Tablica stanja JK-bistabila.

Registri Pomou jednog bistabila moe se pamtiti 1 bit informacije. Povezivanjem vie bistabila u zajedniki sklop moe se pamtiti podatak od onoliko bitova koliko ima bistabila u sklopu za pamenje. Takav sklop naziva se registar. Registri slue za pamenje viebitnih podataka veliine 4, 8, 16, 32 ili 64 bita. Slika 4.15 prikazuje registar duine 4 bita, u kojega se mogu upisivati pojedini bitovi i iz kojega se moe proitati pohranjeni podatak. 20

Slika 4.15: 4-bitni registar. Na prikazanom registru je omoguen paralelni upis 4 bita. Registre koji imaju takoer omoguen serijski upis, serijsko itanje i pomicanje podatka, nazivamo posmani registri. Pomou posmanog registra mogu se dodatno vriti operacije posmaka u lijevo, posmaka u desno i rotacije u desno i lijevo.

Slika 4.16: Simboliki prikaz registra duine 8 bita. Brojila Brojila su primjer slijednih logikih sklopova, koja se mogu izvesti pomou bistabila. Ukoliko se na ulaz bistabila dovode impulsi frekvencije f na izlazu bistabila dobiti e se impulsi frekvencije f/2. Povezivanjem N bistabila u niz (slika 4.17) dobiva se sklop koju dijeli ulaznu frekvenciju impulsa sa odnosno broji od 1 do . ,

21

Slika 4.17: Primjer brojila. Upravljaki sklop raunala Upravljaki sklop je primjer sekvencijskog logikog sklopa i sastavni je dio svakog mikroprocesora. Slui za generiranje upravljakih signala pomou kojih se izvode operacije prijenosa, pisanja i itanja podataka, te aritmetike i logike operacije. Slika 4.18 prikazuje primjer upravljakog sklopa koji se sastoji od adresnog registra, dekodera i diodnih matrica. Dekoder dekodira adresu instrukcije zapisane u adresni registar, te se na osnovi zapisa u diodinoj matrici generiraju upravljaki signali i adresa slijedee instrukcije.

Slika 4.18: Primjer upravljakog sklopa raunala.

22

Osnove grae raunala


Pomou kombinacijskih i sekvencijskih logikih sklopova mogue je vriti logike i aritmetike operacije nad binarnim podacima, te ih pohranjivati. Za opis rada raunala potrebno je jo dodatno opisati kako se zapisuju instrukcije ili naredbe mikroprocesora, kako se one izvravaju, odn. kako se programira mikroprocesor. Mikroprocesor, odn. centralna procesna jedinica raunala, sastoji se od logikih sklopova za izvravanje aritmetikih i logikih operacija i upravljake jedinice. Aritmetike i logike operacije vre se pomou kombinacijskih logikih sklopova, ije smo osnovne principe rada definirali u poglavlju o kombinacijskim logikim sklopovima. Upravljaku jedinicu odn. upravljaki sklop definirali smo kao primjer sekvencijskog logikog sklopa. Uz centralno procesnu jedinicu raunala sadre i ulazno-izlazne jedinice i memoriju ili spremnik. U memoriji se pohranjuju podaci koji se obrauju i instrukcije odn. programi koji vre obradu podatka. Slika 5.1 prikazuje osnovne dijelove raunala i njihovu povezanost.

Slika 5.1: Osnovni model raunala. Ulazna jedinica slui za unos podataka iz vanjskog svijeta u memoriju raunala. To su npr. tipkovnica, mi, mikrofon, kamera, modem, skener. Izlazna jedinica slui za prikaz obraenih podataka, to su monitor, tampa, ploter, zvunik, modem. Memorija slui za pohranjivanje informacija podataka i instrukcija. U mikroprocesoru memorija se sastoji od registara, koji slue za pohranjivanje podataka nad kojima se vre aritmetike i logike operacije, te za pohranjivanje rezultata obrade. Registri su najbra i najskuplja memorija koja je realizirana pomou bistabila. 23

Radna memorija raunala (RAM) slui za pohranjivanje podataka i programa, a realizirana je pomou elektronikih sklopova. Radna memorija i registri mikroprocesora gube svoj sadraj nakon nestanka napajanja. Trajni zapis podataka i programa vri se u vanjskim memorijama, koje su realizirane sa magnetskim materijalom. Vanjske ili sekundarne memorije su diskete i diskovi. Svaki podatak zapisan u memoriji ima svoju jednoznanu adresu. Memorija sadri logike sklopove koji omoguavaju itanje i upisivanje podataka. Kapacitet memorije se mjeri u bajtima, odn. u kilobajtima, megabajtima i gigabajtima. 1 bajt = 8 bita 1 kilobajt [KB]= 1024 bita 1 megabajt [MB] = 1024 kilobajta 1 gigabajt [GB ]= 1024 megabajta

Izmjena informacija
Izmjena informacija izmeu memorije i ostalih dijelova raunala vri se preko 2 registra: registra za pohranjivanje podatka kojega se prenosi (MDR) i registra za pohranjivanje adrese podatka (MAR). Postupak itanja podataka iz memorije moemo opisati u etiri koraka: 1. zapisuje se adresa podatka koji se ita u registar MAR; 2. generiraju se upravljaki signali na liniji za itanje, koji omoguavaju da se sadraj memorijske lokacije zapisane u MAR prenese u registar MDR; 3. nakon operacije itanja podatak se nalazi u MDR; 4. vri se prijenos podatka iz registra MDR u ciljni registar. Postupak pisanja podataka u memorija vri se na slijedei nain: 1. zapisuje se adresa na koju elimo pohraniti podatak u MAR; 2. podatak se prenosi u registar MDR; 3. generiraju se upravljaki signali, koji vre prijenos podataka iz MDR u memoriju na adresu zapisanu u registru MAR; 4. nakon operacije pisanja podatak se nalazi u memoriji. Centralno procesna jedinica sastoji se od aritmetiko-logike i upravljake jedinice. Aritmetiko-logika jedinica vri aritmetike i logike operacije nad jednim ili dva operanda. Sadri najmanje jedan registar u kojemu se zapisuju rezultati operacija tkz. akumulator. Upravljaki sklop koordinira i inicijalizira aktivnosti raunala i generira upravljake signale za pojedine operacije (pisanje, itanje, prijenos, aritmetike i logike operacije). Upravljaki sklop sadri najmanje dva registra. To su brojilo instrukcija (PC registar) i instrukcijski registar (IR). PC registar sadri adresu slijedee instrukcije koju raunalo treba izvriti. U pravilu se instrukcije izvravaju po redoslijedu tako da se nakon izvravanja instrukcije na adresi i izvrava instrukcija na adresi i+1. Instrukcijski registar sadri instrukciju koja se izvrava. Upravljaki signali, podaci i instrukcije prenose se unutar raunala preko sabirnica. Sabirnica je skup linija preko kojih se prenose podaci, adrese i upravljaki signali izmeu mikroprocesora i ostalih jedinica raunala.

Izvravanje instrukcija

Instrukcije se u mikroprocesoru odvijaju u dvije faze. U prvoj fazi pribavlja se instrukcija, a u drugoj fazi instrukcija se izvrava. U fazi pribavljanja na osnovi adrese zapisane u registru PC pribavlja se instrukcija iz memorije i prenosi u instrukcijski registar. U drugoj fazi se instrukcija izvrava tako da se dekodira i da upravljai sklop generira signale potrebne za izvravanje instrukcije. Zadnji korak izvravanja instrukcije je poveanje adresu u registru PC za jedan. Nakon toga se ponavlja postupak sve dok se ne generira signal koji oznaava kraj niza instrukcija odn. programa. Da bi raunalo moglo razlikovati podatke od instrukcija moraju instrukcije imati dva podatka. To je polje operacijskog koda i 24

adresno polje. U polju operacijskog koda zakodirana je instrukcija koju treba izvriti, dok je u adresnom polju zapisana adresa podataka nad kojima se izvrava instrukcija. Slika 5.2 prikazuje format instrukcije duine 32 bita.

Slika 5.2: Format instrukcije. U primjeru instrukcije koriste se prva etiri bita za kod instrukcije. Sa 4 bita moemo zakodirati 16 razliitih instrukcija. Bit 4 sadri informaciju i duini instrukcije. Bitovi 5, 6 i 7 sadre kod naina adresiranja. Najpoznatiji naini adresiranja podataka nad kojima se izvrava instrukcija su izravni, posredni, indeksni, posredno indeksni i neposredni. Razliiti naini adresiranja omoguavaju koritenje veeg adresnog prostora nego to je u adresnom polju instrukcije i efikasnije pisanje i izvoenje programa. Instrukcije oznaavamo i piemo sa mnemotehnikim oznakama asemblerskim kodom da bi ih lake koristili.

Skup instukcija

Primjeri instrukcija su: ADD - zbroji sadraj akumulatora i podatka, ija je adresa u adresnom polju; SUB - oduzmi sadraj akumulatora i podatka, ija je adresa u adresnom polju; MVT - napuni akumulator sa podatkom, ija adresa zapisana u adresnom polju; MVF - prepii podatak iz akumulatora na adresu zapisane u adresnom polju; AND - izvedi logiku operaciju I nad operandom zapisanim u akumulatoru i operandom ija je adresa zapisana u adresnom polju; ORA - izvedi logiku operaciju ILI nad operandom zapisanim u akumulatoru i operandom ija je adresa zapisana u adresnom polju. Svaki mikroprocesor ima svoj skup naredbi ili instrukcija, koje koristimo za pisanje programa. Instrukcije mikroprocesora moemo podijeliti u vie grupa:

instrukcije za prijenos podataka izmeu mikroprocesora i ostalih dijelova raunala, instrukcije prijenosa podataka izmeu internih registara, aritmetike i logike instrukcije, instrukcije za grananje programa.

Prevoenje programa
Program napisan u asemblerskom kodu mora se prije izvravanja pomou posebnog programa asemblera prevesti u tkz. strojni kod. Programe napisane u viim programsim jezicima (Pascal, C, Java) moramo pou posebnih programa prevodilaca prevesti u asemblerski odn. strojni kod. Prevoenje programa potrebno je uvijek onda kada program elimo izvravati na nekom drugom mikroprocesoru. Slika 5.3 prikazuje primjer prevoenja jedne instrukcije zapisane u programskom jeziku Pascal u asemblerski odn. strojni kod. Instrukcija vri operaciju zbrajanja vrijednosti varijabli A i B i zapis zbroja u varijabli Z. Instrukcija se prvo prevodi u asemblerski kod, gdje se umjesto varijabli A, B i Z zapisuju memorijske lokacije gdje se vrijednosti varijabli pamte. Prevoenjem asemblerskog koda u strojni kod dobiva se niz instrukcija koje sadre samo nule i jedinice.

25

Slika 5.3: Primjer prevoenja iz vieg programskog jezika u strojni kod.

Memorijska Hijerarhija raunala


Raunalna memorija je organizirana u hijerarhiji, koju ine slijedee memorije:

registri mikroprocesora, priruna memorija (cache), radna memorija (DRAM i SRAM) nalazi se izvan mikroprocesora i povezana je sa mikroprocesorom sabirnicama, vanjske memorije (disk, CD-ROM, trake).

26

Slika 6.1: Hijerarhija memorija u raunalu.

27

You might also like