Transcript
Page 1: Građa digitalnih sklopova i  uređaja

UvodDigitalna tehnika bavi se postupcima obrade informacija pomoću tehničkih uređaja – digitalnih sustava. Glavni postupci obrade informacija jesu:

-         prikaz informacija, -         pohranjivanje i pretraživanje informacija, -         prijenos informacija, -         obrada znanja pomoću informacija.

Razvoj digitalnih sustava odvija se najbrže na području informacijskih tehnologija, koju čine mikroelektronika, računalne tehnologije i telekomunikacije. Njihov brzi razvoj omogućio je primjenu digitalnih sustava u svim područjima ljudskog rada.

Naziv «digitalna» odnosi se na način predstavljanja informacija, gdje se koristi konačan skup diskretnih numeričkih vrijednosti, za razliku od «analognog» načina predstavljanja informacija, gdje postoji beskonačno mnogo različitih vrijednosti. Riječ digitalna dolazi iz latinske riječi digitus, koja znači prst.

Najmanja količina digitalne informacije je 1 bit, iz engleskog binary digit.

Brojni sustaviU računalima se svi zapisi podataka izvode pomoću binarnih brojeva. Binarni brojevi koriste dvije znamenke 0 i 1. Razlog korištenja binarnog sustava za zapisivanje podataka je tehničke narave. Naime puno je lakše izvesti tehničke elemente koje sadrže dva različita stanja, nego elemente koji sadrže tri ili više različitih stanja. Ukoliko bi za zapis brojeva i podataka koristili dekadski sustav, koji je nama najrazumljiviji, morali bi graditi računala sa elementima koji raspolažu sa deset različitih stanja. Pozicijski brojni sustavi: vrijednost znamenke u zapisu ovisi o njenom položaju 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

=(8+0+2+1+0+1/4+1/8)10 = (11.375)10

Broj znamenki brojnog sustava određuje bazu brojnog sustava. Svaki broj z možemo zapisati kao polinom u bilo kojem brojnom sustavu sa bazom B i znamenkama bj.

Primjeri brojnih sustava:B=2  {0,1}   binarni brojni sustavB=8  {0,1,2,3,4,5,6,7}    oktalni

(1011.011)2 = 1 x 23    = 8+ 0 x 22    + 0+ 1 x 21    + 2+ 1 x 20    + 1+ 0 x 2-1    + 0+ 1 x 2-2    + 1/4+ 1 x 2-3    + 1/8

1

Page 2: Građa digitalnih sklopova i  uređaja

B=10  {0,1,2,3,4,5,6,7,8,9}    dekadskiB=16  {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}    heksadekadski

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    zapisan u brojnom sustavu B1 u broj zapisan u brojnom

sustavu sa bazom B2    .

Metoda dijeljenja s B2 i aritmetikom baze B1

z / B2 = q0   i ostatak a0

q0 / B2 = q1   i ostatak a1

q1 / B2 = q2   i ostatak a2 qn-2 = 0   i ostatak an-1

Primjer prevođenja iz dekadskog u binarni zapis:19/2 = 9 ostatak 19/2 = 4 " 14/2 = 2 " 02/2 = 1 " 01/2 = 0 " 1

Ostaci zapisani redom od dna prema vrhu (najznačajniji bit prvi) daje:  (19)10 = 1x24 + 0x23 + 0x22 + 1x21 + 1x20 = (10011)2

Metoda množenja s B2 i aritmetikom baze B1

aN-1B1 = p0

p0 +aN-2 = p1

p1B1 = p2

p2 +aN-3 = p3

.....

2

Page 3: Građa digitalnih sklopova i  uređaja

p2(N-1)-2 +a0 = p2(N-1)-1 = Z B2

Primjer prevođenja dekadskog decimalnog broja 0.375 u binarni

0.375 x 2 = 0.75,   cijeli dio  00.75 x 2 = 1.5, "  10.5 x 2 = 1.0, "  1

0    - krajdekadski broj dobije se čitanjem od vrha prema dnu. (.375)10 = (.011)2

Neki dekadski brojevi ne mogu se točno prevesti u binarni zapis . Dolazi do greške zaokruživanja! Primjer:(0.1)10 = (0.00011001100110.....)2

Točnost zapisa ovisi o broju bitova s kojima se zapisuju brojevi u računalu.

Aritmetičke 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 00+1 = 1 i prijenos 01+0 = 1 i prijenos 01+1 = 0 i prijenos 1

Zbrajanje brojeva u brojnom sustavu sa bazom B može se opisati slijedećim algoritmom:

p=0      (p = prijenos na više 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

3

Page 4: Građa digitalnih sklopova i  uređaja

Oduzimanje brojeva

Negativne brojeve predstavljamo pomoću njihovog komplementa. Komplement broja z , je dopuna broja z doa) BN-1 jedinični komplementb) BN dvojni komplement

  primjer: četverobitni brojevi    N=4

 Binarni   Dekadski 

0000 0

0001 1

0010 2

0011 3

0100 4

0101 5

0110 6

0111 7

1000   0

1001 -7

1010 -6

1011 -5

1100 -4

1101 -3

1110 -2

1111 -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 računalima

Da bi omogućili prijenos podataka između različitih računala 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 - najznačajniji bit (most significant bit)lsb - najmanje značajan bit (least significant bit)

Slika 2.1.: Format zapisa brojeva.

4

Page 5: Građa digitalnih sklopova i  uređaja

Zapisivanje brojeva u računalima 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 računalima 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 određuje preciznost s kojom zapisujemo neki broj z, dok broj bitova eksponenta n odreduje raspon brojeva, koje možemo zapisati.

Prema standardu IEEE 754 koristimo zapis sa jednostrukom preciznošcu, koji koristi 32 bita za zapis brojeva i zapis sa dvostrukom preciznošcu, 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 možemo zapisati 28=256 različitih brojeva, tako da je vrijednost eksponenta

-128 <= E <=127.

Raspon pozitivnih i negativnih brojeva je izmedu i , odnosno izmedu

i .Kod zapisa sa dvojnom preciznošcu je predviđen jedan bit za predznak, 11 za eksponent i 52 bita za mantisu.Definirane su takoder vrijednosti eksponenta i mantise za nulu, beskonačnu vrijednost i za brojeve izvan područja definicije.

Kodiranje informacije

Osim brojeva u računalima 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 možemo zakodirati 128 različitih 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.

5

Page 6: Građa digitalnih sklopova i  uređaja

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 algebraBoolova algebra temelji na postulatima koji su definirani nad binarnim varijablama. Postulati su međusobno neovisni i konzistentni ( ne isključuju jedan drugoga).

Osnovne operacije koje definira Boolova algebra su:

        disjunkcija logički ILI        konjunkcija logički I        negacija logički NE.  

Tablica 3.1 prikazuje tablice istinitosti za osnovne operacije za dvije binarne varijable. Konjunkcija – logički I – (AND) Disjunkcija – logički ILI – (OR) 

X1 X2 X1 Ů X2

0 0 00 1 01 0 01 1 1

 

 Negacija – logički NE – (NOT) 

0 11 0

  

Tablica 3.1: Tablice istinitosti za osnovne logičke operacije za dvije binarne varijable.

Postulati Boolove algebre

P1: Postoji neutralni element za operaciju disjunkcije 0, i jedinični element za operaciju konjunkcije 1.

P2: komutativnost

P3: distributivnost

X1 X2 X1 Ú X2

0 0 00 1 11 0 11 1 1

6

Page 7: Građa digitalnih sklopova i  uređaja

P4: komplementarnost

Logičke funkcije

Prednost korištenja binarnih brojeva za zapisivanje podataka u računalima je također u postojanju logičkih operacija, koje su definirane nad binarnim varijablama. Binarne logičke varijable imaju vrijednosti 0 ili 1. Informacije zapisane u binarnom obliku mogu se obrađivati pomoću logičkih operatora i pretvarati u novu informaciju.

Logički operatori realiziraju se pomoću elektroničkih sklopova, koji sadrže elektroničke elemente kao što su tranzistori i diode. Binarne logičke varijable 0 i 1 realiziraju se pomoću električnih veličina kao što je npr. napon. Slika 3.1 prikazuje signal logičke «1» koji se ostvaruje pozitivnim konstantnim naponom, odnosno logička «0» kao minimalan napon.

Slika 3.1: Primjeri područja napona za logičku jedinicu i nulu.

Osnovni logički operatori su operator negacije ili logički NE, operator konjunkcije ili logički I, te operator disjunkcije ili logički ILI. Svi logički sklopovi mogu se realizirati sa ta tri osnovna operatora. Logički sklopovi služe za pretvorbu jednog oblika informacije u drugi i to zadan logičkom funkcijom zavisnosti između ulaznih i izlaznih signala logičkog sklopa. Slike 3.2, 3.3 i 3.4 prikazuju tri osnovna logička operatora, njihov matematički zapis, tablicu istinitosti na primjeru dvije ulazne varijable i pripadajući simbol.

Operator logički NE

Slika 3.2: Operator negacije.

7

Page 8: Građa digitalnih sklopova i  uređaja

Operator logički I

Slika 3.3: Operator konjunkcije.

Operator logički ILI

Slika 3.4: Operator disjunkcije. Dva dodatna operatora se učestalo koriste, jer se pomoću njih može također realizirati bilo koja logička funkcija. To su operatori negirani I (NI) i negirani ILI (NILI).Operator negiran logički I - NI

Slika 3.5: Operator NI.

8

Page 9: Građa digitalnih sklopova i  uređaja

Operator negiran logički ILI - NILI (NOR)

Slika 3.6: Operator NILI.

9

Page 10: Građa digitalnih sklopova i  uređaja

Simboli logičkih operatora

Slika 4.1: Simboli logičkih operatora.Logičku funkciju možemo zapisati pomoću logičkog izraza i pomoću tablice istinitosti. Tablica istinitosti sadrži sve kombinacije ulaznih varijabli i njihovu funkcijsku vrijednost. Za n ulaznih binarnih varijabli možemo dobiti

ulaznih kombinacija. Pošto svaka ulazna kombinacija može imati funkcijsku vrijednost 1 ili 0 imamo za n

10

Page 11: Građa digitalnih sklopova i  uređaja

ulaznih varijabli mogućih funkcijskih vrijednosti. Tablica 3.1 prikazuje sve kombinacije za logičku

funkciju dvije varijable (n=2).

Tablica 3.1: Funkcijske vrijednosti logičke funkcije dvije varijable.Matematički zapis djelovanja logičkih funkcija omogućava Boolova algebra. Boolova algebra temelji na postulatima koji su međusobno neovisni i konzistentni. Slika 3.7 prikazuje primjer logičke funkcije f(a,b,c,d) četiri varijable koja je zadana izrazom

i njenu tablicu istinitosti.

 

a b c d f

0 0 0 0 0

0 0 0 1 0

11

Page 12: Građa digitalnih sklopova i  uređaja

0 0 1 0 0

0 0 1 1 0

0 1 0 0 0

0 1 0 1 0

0 1 1 0 0

0 1 1 1 0

1 0 0 0 0

1 0 0 1 0

1 0 1 0 1

1 0 1 1 0

1 1 0 0 1

1 1 0 1 1

1 1 1 0 1

1 1 1 1 1

Slika 3.7: Primjer logičke funkcije 4 varijable i tablica istinitosti. 

Sve logičke funkcije mogu se izraziti s operatorima I, ILI i NE.Pomoću operatora NI i NILI mogu se također izraziti sve logičke funkcije.

Primjer: izražavanje funkcija I i ILI pomoću NI ( ).

 

ab

negacija

a a

negacija

b b

I

(a b) (a b)

ILI

(a a) (b b)

0 0 1 1 0 0

0 1 1 0 0 1

1 0 0 1 0 1

1 1 0 0 1 1

 

12

Page 13: Građa digitalnih sklopova i  uređaja

Minimizacija logičkih funkcijaMinimizacija logičkih funkcija predstavlja postupke pomoću kojih zapisujemo logičke funkcije sa najmanjim brojem logičkih operatora i sa najmanjim brojem ulaznih varijabli.Disjunktivni normalni oblik logičke funkcije

Za neku logičku funkciju se njenih funkcijskih vrijednosti numeriraju od 0 do

-1 tako da ulazne logičke varijable zapisane kao binarni broj daju redni broj j redaka tablice

Minterm definiran je kao konjunkcija

gdje je

Svaka logička funkcija može se zapisati kao disjunktivna kombinacija onih minterma, čije varijable imaju funkcijsku vrijednost f=1

Konjunktivni normalni oblik logičke funkcije

Za neku logičku funkciju se njenih funkcijskih vrijednosti numeriraju od 0 do

-1 tako da ulazne logičke varijable zapisane kao binarni broj daju redni broj j redaka tablice

Maksterm definiran je kao disjunkcija

gdje je

Svaka logička funkcija može se zapisati kao konjunktivna kombinacija onih maksterma, čije varijable imaju funkcijsku vrijednost f=0

Primjer zapisa logičke funkcije u disjunktivnom (DNO) i konjunktivnom (KNO) normalnom obliku:

j 2 1 0

x1 x2 x3

mj Mj f

0 000 0

1 001 0

2 010 0

13

Page 14: Građa digitalnih sklopova i  uređaja

3 011 1

4 100 1

5 101 1

6 110 1

7 111 1

DNO:

KNO:  

Osnova postupka minimizacije je disjunktivni normalni oblik logičke funkcije.Minimizacija temelji na slijedećim privilima, izvedenih iz postulata Boolove algebre:

a b f

0 0 0

0 1 0

1 0 1

1 1 1

Karnaugh - Veitchev dijagram

KV dijagram neke logičke funkcije n varijabli sadrži 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 logičke funkcije koji imaju vrijednost f=1. Slika 4.1 prikazuje KV dijagram logičke funkcije I dvije varijable.

14

Page 15: Građa digitalnih sklopova i  uređaja

Slika 4.2 prikazuje KV dijagram logičke funkcije tri varijable, koji sadrži 8 polja.

Slika 4.2: KV dijagram logičke funkcije tri varijable. 

Slika 4.3 prikazuje primjer KV-tablice logičke 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). 

15

Page 16: Građa digitalnih sklopova i  uređaja

Slika 4.3: KV dijagram logičke funkcije četiri varijable.Postupak minimizacije logičkih funkcijaU KV tablici udružujemo susjedne minterme u polja veličine 2,4,8,…, mintermaZajedničke 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

Logički sklopoviLogičke sklopove koji realiziraju neku logičku funkcije dijelimo u dvije skupine. Prvu čine kombinacijski logički sklopovi a drugi slijedni ili sekvencijski logički sklopovi.

Kombinacijski logički sklopovi su sklopovi kod kojih izlazna logička funkcija ovisi samo od ulaznih veličina. Primjeri kombinacijskih logičkih sklopova su zbrajalo, koder, multipleksor, dekoder, demultipleksor.

 Slika 4.1: Definicija kombinacijskih logičkih sklopova:

16

Page 17: Građa digitalnih sklopova i  uređaja

Slijedni ili sekvencijski logički sklopovi su sklopovi kod kojih izlazne veličine ovise od ulaznih ali i od unutarnjeg stanja samog sklopa. Sekvencijski logički imaju unutarnje stanje, odn. elemente koji mogu pamtiti ili pohranjivati informaciju. Primjeri sekvencijskih logičkih sklopova su brojila, posmačni registri, upravljački sklop računala. Slika 4.2: Definicija sekvencijskih logičkih sklopova:

Kombinacijski logički sklopoviPoluzbrajaloPrimjer kombinacijskog logičkog 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 više brojno mjesto. Slika 4.3 prikazuje tablicu istintosti zbrajala, logički izraz i simbolički prikaz.

17

Page 18: Građa digitalnih sklopova i  uređaja

Slika 4.3: Logička funkcija zbrajala.Potpuno zbrajaloPotpuno zbrajalo je kombinacijski logički sklop koji za razliku od poluzbrajala ima tri ulaza i dva izlaza. Osim bitova operanada koje zbrajamo na ulaz se dovodi također prijenos sa nižeg brojnog mjesta. Na izlazu se dobiva zbroj i prijenos na više brojno mjesto. Potpuno zbrajalo može se realizirati pomoću dva poluzbrajala.Slika potpunog zbrajala

18

Page 19: Građa digitalnih sklopova i  uređaja

Koder Koder je kombinacijsko logički 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.

19

Page 20: Građa digitalnih sklopova i  uređaja

Dekoder Dekoder je sklop koji ima onoliko ulaza koliko ima bitova kod i onoliko izlaza koliko se znakova može predočiti dotičnim 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 logički 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. DemultipleksorDemultipleksor 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 logičkog sklopa je također ispisna memorija (ROM), koja se sastoji od dekodera i kodera (slika 4.8). Koder se može realizirati kao memorijska matrica pomoću dioda. Pomoću dekodera odabire se jedna od ulaznih linija kodera koja na izlazu kodera daje određenu n-bitne izlaznu kombinaciju. Ulaz u dekoder predstavlja adresu određenog podatka zapisanog u memorijskoj matrici. Sadržaj podataka u memorijskoj matrici upisuje se u procesu izrade memorije i ne može se kasnije mijenjati. Zbog toga i naziv ispisna memorija.

20

Page 21: Građa digitalnih sklopova i  uređaja

Slika 4.8: Ispisna memorija.Sekvencijski logički sklopovi Sekvencijski logički sklop sadrži uz kombinacijski logički sklop i elemente za pamćenje ili memoriranje informacije. Izlazne veličine ovise ne samo od ulaznih logičkih funkcija, već i od unutarnjeg stanja sekvencijskog logičkog sklopa. Unutarnje stanje sekvencijskog logičkog sklopa definirano je informacijom koja je pohranjena u elementima za pamćenje. Djelovanje sekvencijskih logičkih sklopova sinhronizirano je funkcijom takta ili ritma. Funkciju takta predstavljaju periodični impulsi, čija amplituda odgovara logičkoj 1. Logički 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 . Pomoću ulaza R i S možemo u bistabil upisati logičku 1 ili 0. Bistabil može dakle pamtiti 1 bit informacije. Tablica stanja RS-bistabila pokazuje stanje bistabila Q u ovisnosti od ulaza R i S.

21

Page 22: Građa digitalnih sklopova i  uređaja

  

R S Q

0 0 Q

0 1 1 0

1 0 0 1

1 1 x xSlika 4.11: Tablica stanja RS-bistabila.

 Ukoliko je na ulazima R i S logička 0 stanje bistabila se ne mijenja. Logička 1 na ulazu S postavlja bistabil u stanje 1, a logička 1 na ulazu R u stanje 0. Ulazno stanje S=R=1 nije dozvoljeno.

Slika 4.12: Simbol RS-bistabila.  JK bistabilBistabil tipa JK ima identično djelovanje kao i RS-bistabil, gdje logička jedinica na ulazu J postavlja bistabil u stanje 1 a logička 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 K Q

0 0 Q

0 1 0 1

1 0 1 0

1 1 Q

Slika 4.14: Tablica stanja JK-bistabila. 

22

Page 23: Građa digitalnih sklopova i  uređaja

Registri

Pomoću jednog bistabila može se pamtiti 1 bit informacije. Povezivanjem više bistabila u zajednički sklop može se pamtiti podatak od onoliko bitova koliko ima bistabila u sklopu za pamćenje. Takav sklop naziva se registar. Registri služe za pamćenje višebitnih podataka veličine 4, 8, 16, 32 ili 64 bita. Slika 4.15 prikazuje registar dužine 4 bita, u kojega se mogu upisivati pojedini bitovi i iz kojega se može pročitati pohranjeni podatak. 

Slika 4.15: 4-bitni registar.Na prikazanom registru je omogućen paralelni upis 4 bita. Registre koji imaju također omogućen serijski upis, serijsko čitanje i pomicanje podatka, nazivamo posmačni registri. Pomoću posmačnog registra mogu se dodatno vršiti operacije posmaka u lijevo, posmaka u desno i rotacije u desno i lijevo. 

Slika 4.16: Simbolički prikaz registra dužine 8 bita.BrojilaBrojila su primjer slijednih logičkih sklopova, koja se mogu izvesti pomoću 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 .

23

Page 24: Građa digitalnih sklopova i  uređaja

 Slika 4.17: Primjer brojila.

 Upravljački sklop računalaUpravljački sklop je primjer sekvencijskog logičkog sklopa i sastavni je dio svakog mikroprocesora. Služi za generiranje upravljačkih signala pomoću kojih se izvode operacije prijenosa, pisanja i čitanja podataka, te aritmetičke i logičke operacije. Slika 4.18 prikazuje primjer upravljačkog 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 upravljački signali i adresa slijedeće instrukcije.

Slika 4.18: Primjer upravljačkog sklopa računala.

24

Page 25: Građa digitalnih sklopova i  uređaja

Osnove građe računala

Pomoću kombinacijskih i sekvencijskih logičkih sklopova moguće je vršiti logičke i aritmetičke operacije nad binarnim podacima, te ih pohranjivati. Za opis rada računala potrebno je još dodatno opisati kako se zapisuju instrukcije ili naredbe mikroprocesora, kako se one izvršavaju, odn. kako se programira mikroprocesor. Mikroprocesor, odn. centralna procesna jedinica računala, sastoji se od logičkih sklopova za izvršavanje aritmetičkih i logičkih operacija i upravljačke jedinice.

Aritmetičke i logičke operacije vrše se pomoću kombinacijskih logičkih sklopova, čije smo osnovne principe rada definirali u poglavlju o kombinacijskim logičkim sklopovima. Upravljačku jedinicu odn. upravljački sklop definirali smo kao primjer sekvencijskog logičkog sklopa. Uz centralno procesnu jedinicu računala sadrže i ulazno-izlazne jedinice i memoriju ili spremnik. U memoriji se pohranjuju podaci koji se obrađuju i instrukcije odn. programi koji vrše obradu podatka. Slika 5.1 prikazuje osnovne dijelove računala i njihovu povezanost.

Slika 5.1: Osnovni model računala.

Ulazna jedinica služi za unos podataka iz vanjskog svijeta u memoriju računala. To su npr. tipkovnica, miš, mikrofon, kamera, modem, skener.

Izlazna jedinica služi za prikaz obrađenih podataka, to su monitor, štampač, ploter, zvučnik, modem.

Memorija služi za pohranjivanje informacija – podataka i instrukcija. U mikroprocesoru memorija se sastoji od registara, koji služe za pohranjivanje podataka nad kojima se vrše aritmetičke i logičke operacije, te za pohranjivanje rezultata obrade. Registri su najbrža i najskuplja memorija koja je realizirana pomoću bistabila.

25

Page 26: Građa digitalnih sklopova i  uređaja

Radna memorija računala (RAM) služi za pohranjivanje podataka i programa, a realizirana je pomoću elektroničkih sklopova. Radna memorija i registri mikroprocesora gube svoj sadržaj nakon nestanka napajanja. Trajni zapis podataka i programa vrši 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 jednoznačnu adresu. Memorija sadrži logičke sklopove koji omogućavaju č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 između memorije i ostalih dijelova računala vrši se preko 2 registra: registra za pohranjivanje podatka kojega se prenosi (MDR) i registra za pohranjivanje adrese podatka (MAR). Postupak čitanja podataka iz memorije možemo opisati u četiri koraka:

1. zapisuje se adresa podatka koji se čita u registar MAR; 2. generiraju se upravljački signali na liniji za čitanje, koji omogućavaju da se sadržaj memorijske lokacije

zapisane u MAR prenese u registar MDR; 3. nakon operacije čitanja podatak se nalazi u MDR; 4. vrši se prijenos podatka iz registra MDR u ciljni registar.

Postupak pisanja podataka u memorija vrši se na slijedeći način:1. zapisuje se adresa na koju želimo pohraniti podatak u MAR; 2. podatak se prenosi u registar MDR; 3. generiraju se upravljački signali, koji vrše 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 aritmetičko-logičke i upravljačke jedinice. Aritmetičko-logička jedinica vrši aritmetičke i logičke operacije nad jednim ili dva operanda. Sadrži najmanje jedan registar u kojemu se zapisuju rezultati operacija – tkz. akumulator.Upravljački sklop koordinira i inicijalizira aktivnosti računala i generira upravljačke signale za pojedine operacije (pisanje, čitanje, prijenos, aritmetičke i logičke operacije). Upravljački sklop sadrži najmanje dva registra. To su brojilo instrukcija (PC registar) i instrukcijski registar (IR). PC registar sadrži adresu slijedeće instrukcije koju računalo treba izvršiti. U pravilu se instrukcije izvršavaju po redoslijedu tako da se nakon izvršavanja instrukcije na adresi i izvršava instrukcija na adresi i+1. Instrukcijski registar sadrži instrukciju koja se izvršava.Upravljački signali, podaci i instrukcije prenose se unutar računala preko sabirnica. Sabirnica je skup linija preko kojih se prenose podaci, adrese i upravljački signali između mikroprocesora i ostalih jedinica računala.Izvršavanje instrukcijaInstrukcije se u mikroprocesoru odvijaju u dvije faze. U prvoj fazi pribavlja se instrukcija, a u drugoj fazi instrukcija se izvršava. U fazi pribavljanja na osnovi adrese zapisane u registru PC pribavlja se instrukcija iz memorije i prenosi u instrukcijski registar. U drugoj

26

Page 27: Građa digitalnih sklopova i  uređaja

fazi se instrukcija izvršava tako da se dekodira i da upravljači sklop generira signale potrebne za izvršavanje instrukcije. Zadnji korak izvršavanja instrukcije je povećanje adresu u registru PC za jedan. Nakon toga se ponavlja postupak sve dok se ne generira signal koji označava kraj niza instrukcija odn. programa. Da bi računalo moglo razlikovati podatke od instrukcija moraju instrukcije imati dva podatka. To je polje operacijskog koda i adresno polje. U polju operacijskog koda zakodirana je instrukcija koju treba izvršiti, dok je u adresnom polju zapisana adresa podataka nad kojima se izvršava instrukcija. Slika 5.2 prikazuje format instrukcije dužine 32 bita.

Slika 5.2: Format instrukcije.U primjeru instrukcije koriste se prva četiri bita za kod instrukcije. Sa 4 bita možemo zakodirati 16 različitih instrukcija. Bit 4 sadrži informaciju i dužini instrukcije. Bitovi 5, 6 i 7 sadrže kod načina adresiranja. Najpoznatiji načini adresiranja podataka nad kojima se izvršava instrukcija su izravni, posredni, indeksni, posredno indeksni i neposredni. Različiti načini adresiranja omogućavaju korištenje većeg adresnog prostora nego što je u adresnom polju instrukcije i efikasnije pisanje i izvođenje programa. Instrukcije označavamo i pišemo sa mnemotehničkim oznakama – asemblerskim kodom da bi ih lakše koristili.

Skup instukcijaPrimjeri instrukcija su:ADD - zbroji sadržaj akumulatora i podatka, čija je adresa u adresnom polju;SUB - oduzmi sadržaj akumulatora i podatka, čija je adresa u adresnom polju;MVT - napuni akumulator sa podatkom, čija adresa zapisana u adresnom polju;MVF - prepiši podatak iz akumulatora na adresu zapisane u adresnom polju;AND - izvedi logičku operaciju I nad operandom zapisanim u akumulatoru i operandom čija je adresa zapisana u adresnom polju;ORA - izvedi logičku 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 možemo podijeliti u više grupa:

instrukcije za prijenos podataka između mikroprocesora i ostalih dijelova računala, instrukcije prijenosa podataka između internih registara, aritmetičke i logičke instrukcije, instrukcije za grananje programa.

Prevođenje programaProgram napisan u asemblerskom kodu mora se prije izvršavanja pomoću posebnog programa – asemblera prevesti u tkz. strojni kod.Programe napisane u višim programsim jezicima (Pascal, C, Java) moramo poću posebnih programa prevodilaca prevesti u asemblerski odn. strojni kod. Prevođenje programa potrebno je uvijek onda kada program želimo izvršavati na nekom drugom mikroprocesoru. Slika 5.3 prikazuje primjer prevođenja jedne instrukcije zapisane u programskom jeziku Pascal u asemblerski odn. strojni kod. Instrukcija vrši 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

27

Page 28: Građa digitalnih sklopova i  uređaja

memorijske lokacije gdje se vrijednosti varijabli pamte. Prevođenjem asemblerskog koda u strojni kod dobiva se niz instrukcija koje sadrže samo nule i jedinice.

Slika 5.3: Primjer prevođenja iz višeg programskog jezika u strojni kod.Memorijska Hijerarhija računalaRačunalna memorija je organizirana u hijerarhiji, koju čine slijedeće memorije:

registri mikroprocesora, priručna memorija (cache), radna memorija (DRAM i SRAM) nalazi se izvan mikroprocesora i povezana je sa mikroprocesorom

sabirnicama, vanjske memorije (disk, CD-ROM, trake).

28

Page 29: Građa digitalnih sklopova i  uređaja

Slika 6.1: Hijerarhija memorija u računalu.

29