You are on page 1of 40

Harverska sekvenca

Arhitektura spoljni pogled sa aspekta programera kako komponente


izgledaju
Organizacija fiziki pogled, kako su komponente napravljene
Cilj: Razumeti kako raunar radi!
Plan rada: Uvod:
1.
2.
3.
4.

Princip rada odozgo


prema dole

Digitalna logika
Arhitektura raunara
Organizacija raunara
Princip rada odozdo
dizajn
prema dole

Predmet posmatrati kao crnu kutiju:


- zanima nas interakcija sa ostalim elementima
- ne zanima nas unutranjost
Predstavljanje raunara:
Osnovni model raunara
interakcija

CPU

MEMORIJA

U/I
( U praksi dodajemo jo neke elemente,
u teoriji to nije neophodno )
Procesor: - Mozak (srce) raunara, element koji ima potencijal da
izraunava (obrauje) podatke.
Procesor sam po sebi ne moe da uradi nita.
Osobine: - jednostavan ureaj
- pametan ureaj izuzetno glup ureaj
( sagledavanjem spoljnih efekata ispostavlja se da je pametan )
Teoretski: CPU radi zapanjujue mali broj stvari. Sabira male brojeve
tj. brojeve do 127 i uporeuje da li je neto jednako 0.
Raunar ima samo jednu dobru osobinu brzinu!
Uz to ima preciznost (nepogreivost) i neumornost.
Procesor malim operacijama koje izvodi milijardu u sekundi
nadvladava tj. snagu crti iz brzine izraunavanja (sa primitivnim je
osobinama, ali milijardu puta u sekundi izraunavanjima).

Memorija: - Niz registara sa adresnim mehanizmom. (bit


udruivanje u bajtove u registre)
Skup registara postoje niz kada mu se dodeli adresni mehanizam.
Memorija uvek izgleda i ponaa se kao jedan registar.
Osnovni model moe da se precizira:
CPU

razmena
podataka D

MEMORIJA

8 bita 8 linija (ina magistrala)


D data magistrala (magistrala podataka)
CPU

16

AD

MEMORIJA

AD adresna magistrala
(uvek ide samo iz procesora prema memoriji)
Pitanje: Da li elimo:
CPU Memorija ili

Memorija CPU

Postoji kontrolna magistrala R i W


CPU
CPU

R
W

MEMORIJA

read

MEMORIJA

write

3 tipa magistrala:
- D magistrala podataka
- AD adresna magistrala
- KD kontrolna magistrala
Potencijal procesora!
Proizvoa je ugradio delove koji obavljaju neka izraunavanja.
U procesu dizajniranja, dizajner odluuje ta e implementirati. Uz
procesor proizvoa mora da isporui i uputstvo, jer je bez toga
neupotrebljiv.
Uputstvo treba da sadri: - operacije
- uporeivanje
Kompletna lista
- ...
...

Jedno je pitanje ta CPU moe da uradi, a drugo je kako da ga


nagovorimo to da uradi.
Sa procesorom komuniciramo samo preko binarnih brojeva, tj. iframa
0 i 1.
- ifre nam govore kako raditi sa procesorom.
- Detalji (unutranja organizacija) nam govori kako uzimati komande.
(komande i brojevi su u memoriji)
Trebali bismo imati 2 memorije:
- jedno je davati komande
- drugo je obrada podataka.
Stoga bi prirodno da imamo 2 memorije:
M1
CPU
M1

Osnovni teoretski
model raunara

1947.god. dolo je do objedinjenja memorije i za podatke i za


komande.
Pitanje: ta e se desiti ako doe do prepisivanja podataka jednih
preko drugih?
U memoriji se to ne vidi, sve je ekvivalentno, pa na osnovu logikih
zakljuivanja zakljuujemo:
1. Hardvardska arhitektura odvojena memorija
2. fon Nojmanova arhitektura sve memorije zajedno (zbog
utede)
U svetu je poznatija Hardvardska arhitektura (procesor radi bre,
obezbeuje veu brzinu).
- vue podatke punom brzinom
- obrauje instrukcije
- aplikacije u realnom vremenu
Sutina je da se odgovor dobije za unapred fiksirano odreeno vreme.
( nije bitna brzina procesora). Vreme odziva je fiksirano!(ne moe se
premaiti)
Primer: Procesori u mobilnim telefonima su Hardvardske arhitekture
Procesor je programibilan, ima mehanizam za automatsko izvravanje
(procesor radi automatski). Naredbe su u memoriji unapred
isprogramirane i on radi automatski. U CPU se ugrauje registar
(broja naredbi) tj. Program Counter. Automatski se binarni broj
predaje u memoriji, tamo se ita i pretvara u instrukciju.

Formati instrukcija:
Propisani i ugraeni od strane proizvoaa komponenti:
- ta da radi
Jednom reju rauna i
- gde su podaci uva rezultate
Pitanja za razmiljanje:
Koje oblasti pokriva ovaj kurs?
1. Digitalna logika
2. Arhitektura raunara
3. Organizacija raunara
4. Dizajn
Redosled koji uimo i zato?
Fon Nojmanova arhitektura, prednosti?
Uteda!
Osnovni teoretski model raunara?
Pitanje:
Kako sve to detaljnije radi?
Kako moe da se komunicira sa procesorom?
Grupe instrukcija:
Procesor:
- sabiranjem i grananjem moe da se izrauna sve
- ugrauju se i neto vie instrukcija 10-100
Podela: - Grupe:
- Aritmetiko-logike operacija:
- Klasine: +,-,*,/ - zavise od vremena
- Specifine: (+1) inkrement, (-1) dekrement
izvravanje!)
- Logike: , , .... logike instrukcije
-

(bre

Instrukcije za transfer (ne vre obradu nego premetaju


podatke)
Kontrola toka (omoguava grananje, a grananje omoguava
cikluse)

Grananje:
- Jump
- Brunch
- Specijalne instrukcije (HALT zaustavljanje...)

Formati instrukcije:
Format potreban da bismo videli do kraja proceduru kako
procesor radi. Da bi procesor automatski obavljao neki posao morao bi
da ima ovakav format instrukcija:
- operacioni kod
- adresa operanda broj 1
- adresa operanda broj 2
- adresa rezultata
- adresa naredne instrukcije
Praktino, takav model nikad nije implementiran, jer je instrukcija
previe dugaka!
1 bajt
2 bajta
Operacioni
Adresa
kod
operanda
1

2 bajta
Adresa
operanda
2

2 bajta
Adresa
rezultata

2 bajta
Adresa
naredne
inst.

9 bajtova
UKUPNO

Da bismo izvrili instrukcije moramo ih donositi iz memorije.


elimo: Nulto vreme odziva!!!
Poeljno je skraenje instrukcija, tako da moemo da ukidamo adrese.
Ali, iz teoretskog modela ne mogu da se ukidaju adrese, jer teoretski
model mora biti zadovoljen.
Alternativa: Moemo eksplicitno da zamenimo implicitnim! Uvodimo
sklanjanje sa eksplicitnog navoenja u implicitne dogovore.
Pisanjem instrukcija jedne za drugom dobijamo dogovore, jer
eksplicitno ne moramo da je navodimo, tj. ne moramo da navodimo
adresu naredne instrukcije, ali moramo da je znamo. Program mora da
se pie sekvencijalno (dodavanjem P.C. hardware). Na taj nain gubi
se fleksibilnost, jer smo instrukcije mogli da stavljamo gde hoemo,
sada ih moramo stavljati kontinualno.
Napomena: Fleksibilnost nam nita nije ni znaila!
Da nismo izgubili fleksibilnost, opet bismo instrukcije pisali nekim
redom.
Dodatak: Uvoenje NMP instrukcija ( dodavanje instrukcija software)
- dogovor
- hardware
Zamenjuju poslednji registar
- gubitak
- software
Mogue je ii na dalja skraivanja ispim principom.
Sledei dogovor: Ogranienje (bez pisanja rezultata, rezultat ide na
prvo mesto)

Primer: Saberi A,B


Saberi A,B,A, tj. rezultat smesti u A
Napomena: Prethodni dogovor nije besplatan!
Instrukcije za transfer podataka
Produenje programa moe biti i eksplicitno veliko.
Primer: Saberi A,B,C i rezultat smesti u C
MOVE
SABERI
MOVE
MOVE

A,P
A,B
A,C
A,P

Naivna verzija

Malo bolja
verzija

MOVE
SABERI

A,C
C,B

Ovo skraivanje kota! (nepovoljan primer)


Generalno postoji unapreenje!
Pitanje: Moemo li i dalje da skraujemo? Odgovor: DA!
- Hardverska promena: Uvodjenje akumulatora
- Dogovor: Akumulatora
- Modifikacije: Akumulator postaje centralno mesto (Instrukcije
idu iz akumulatora u memoriju i obrnuto)
- Opet postoji gubitak fleksibilnosti!
Primer: iz memorije u akumulator
SABERI
B
AKUMULATOR u C
Istorijski se taj model skraivao!
Spori raunari su bili troadresni!
Kasnije:
- dvoadresni
- 1,5 adresni
Danas: - jednoadresni
Model sa P.C. i sa akumulatorom je jednoadresni!
Pitanje: Moe li da se i dalje sa skraivanjem? Odg.: DA!
4,3,2,1 kvantitativne promene
0 posebna promena
Korak se moe izvesti pa imamo i 0-adresne raunara!
Uvoenjem 2 akumulatora (gde se podrazumevaju operandi)
Primer: iz memorije u A X
iz memorije u B Y
Saberi 0-adresno!
Iz A u memoriju Z
Ono to jo nije reeno, a to je pitanje moe li se jo dalje_

Da li moemo imati -1 adresne raunare?


Stek maine: 0-adresni raunari!
Stek LIFO struktura (last in, first out) (slaganje na gomilu,
skidanje sa gomile)
Na steku moemo imati i vie akumulatora!
Zapravo prelaz sa 1 0 se izvodi uvoenjem stek pointera, posebnim
operacijama PUSH i POP.
PUSH stavi na stek;
POP izvadi sa steka!
Treba paziti na organizaciju steka!
Uvoenjem dogovora:
- operandi
Ostaju na steku
- rezultat
Program izgleda: PUSH
A
PUSH B
Saberi 0-adresno
POP C
PUSH i POP imaju adresu, a to je jedno (sve zavisi od ugla gledanja)
Prisutni su i u dananjim raunarima
Intel +
Numeriki ko-procesor
P.C.

Akumulator

MUA
A

20

SAB
B
C
HALT

50
51
52

MUA A
SAB B
AUM C
HALT

Instrukcije

CPU

MUA
SAB
AUM
MUO
.....
HALT

Svaka
instrukcija
ima svoje
kodove

Apsolutno adresiranje
Svaki procesor ima jedinstven mainski jezik koji je nuno binarni.
Nama je to jako neugodno! Cilj je napraviti indirekciju. Svaki procesor
izvrava samo instrukcije mainskog jezika.
Pitanje: ta u stvari procesor treba da radi da bi se program izvrio?
Procesor moe da ita i pie memoriju ili u sebi neto interno radi
(obrauje podatke).

Faze izvoenja mainske instrukcije


Prvo e koristei P.C. aktivirati memoriju i proitati podatak.
I donoenje operacionog koda (I.(ta da radi!))
(itanje memorije i smetanje informacije na neko mesto)
II donoenje adrese operanda (II.(Adresa!))
(itanje memorije i smetanje na neko mesto gde se nalazi
podataka)
III donoenje operanda
(koristei fazu II prvo ita memoriju i donosi operand)
(III.(Zna ta radi i ima sa ime))
IV Egzekucija
Napomena: P.C. se u svakoj fazi uveava za 1
Ovo je mehanizam koji ga tera kroz ove 4 faze
Rad sa konstantama
Pojavljivanje konstanti kroz svaku formulu. Ne postoje razlike
izmeu varijabli i konstanti. Umesto adrese daje se sam podatak;
uglavnom se koristi rad sa konstantama.
Jako teko bi bilo zamisliti rad sa nizovima bez ovoga.
Primer:
podatka

SAB [50] na adresi 50 nije podatak, nego adresa


MUA
AUM
SAB
INC

#100
- const 100
50 - zapisana na adresi 50
[50] - saberi indirektno 50 tj. 100
[50] - uveanje za 1 (MUA 50
SAB #1
AUM 50)

Instrukcija ne radi uvek istu stvar!


Indirektno adresiranje
Njegova hardverdska implementacije je krajnje jednostavna.
Dalji nain adresacije koji se koristi:
Relativna adresacija
Pr. MUA (30)
P.C. +30 (moj podatak se nalazi na 30 mesta od
mesta gde se ja nalazim)
P.C. Svest programa (gde sam ja(podataka) trenutno)

Apsolutna adresa
1. Blok koji translatorno moemo da etamo kako hoemo 2.
najjednostavniji sistem (neprihvatljiv)
Relativna adresacija uglavno se koristi
Indeksno adresiranje neki specijalni indeks registra ... konstante
(tehnike finese)
Baratanje sa potprogramima
Ideja: Logike celine izvodimo u potprogram i koristimo ga onda esto.
ta je potrebno za podrku potprograma? NAROWER!
Problem: Napiemo program koji nekoliko puta poziva potprogram.
Program radi, pa pozove potprogram tj. treba da skoi na potprogram
pa da se vrati na izvravanje programa.
Skok na potprogram se obavlja bezuslovnim skokom!
JUMP pozivamo potprogram
Problem nastaje kod povratka iz potprograma, a to je neto
promenljivo!!!
Ne moemo da znamo ko e sve da poziva na program!
Na kraju potprograma se ne moe staviti JUMP!
Ali i to se moe reiti indirektnom adresacijom. uvanjem adrese
povratka, znamo da se vratimo.
MOVE P.C. uvamo P.C. na fiksnoj poziciji tj. to je mesto na koje
trebamo da se vratimo
Problem: Ne moemo da zovemo potprogram iz potprograma!!!
Ako potprogram pozove potprogram, unitava se adresa P.C.
Napomena: Fiksirana je samo jedna lokacija.
Trebali bismo da imamo vie lokacija i da pazimo kojim redosledom
radimo!
Pa uvodimo posebne instrukcije, tj. uvodimo STEK!!!
Adrese povratka stavljamo na stek! Kaskadno moemo da pozivamo
vie potprograma. Skakanjem na potprogram koristimo PUSH P.C., pa
onda JUMP i na kraju ide POP P.C. i vraamo se nazad.
Posebne instrukcije:
- JSR jump to ...
- RSR return from ...
Bitan je stek, a sve ostalo je pitanje organizacija!!!

Pitanje: Na koji nain se olakava komunikacija izmeu oveka i


raunara?
Slika 1 ( ... )
Pr: za izraunavanje diskriminante D=b2-4ac kada se prevede na nivo
raunara.
Faze: MUA #4
MUA#4
MND A
MND 50
MND C
MND 52
AUM P
AUM 53
MUA B
MUA 51
MND B
MND 54
ODU P
ODU 54
AUM D
AUM 53
HALT
HALT
Loe odozgo ( sa nae strane) jer se razvija u mnogo sitnih instrukcija,
meutim ovo je idealno, gledano sa neke druge strane. Umesto ovoga
morali bi smo da imamo mainski program ( moramo da vidimo u
tabeli sve binarne kodove, adrese i da napravimo raspored u memoriji
A-50, B-51 ).
Pitanje: koja je razlika?
U prvoj fazi smo koristili promenljive, a u narednoj adrese!
Uvodimo jo i binarne kodove ( ifre ) za MUA.
Kod mainskog programa: svaka instrukcija je zamenjena binarnim
kodom i svaka adresa je zamenjena bianrnom vrednou i to onda
procesor izvrava.
Razmatraju se ideje kako to da se uradi, imamo jednu nepromenljivu
taku, to je raunar ( binarni ureaj sa svojim mainskim jezikom ).
To mora da bude krajnji proizvod, a kako nam to ne odgovara hoemo
da napravimo posrednika koji e da prima stvari kako ih mi vidimo i da
prebaci u oblik prihvatljiv procesoru.
Generalno reenje za ubacivanje posrednika izmeu oveka i rauna je
uvek isto.
Raunar je fiksna taka i on oekuje mainski jezik i bez obzira na to
koliko smo se udaljili on jedino to razume. Sa druge strane ovek je
takoe relativno fiksna taka, ali kod oveka imamo prilagoavanje.
U sam sistem se ubacuje posrednik!
Pitanje: ta moe da bude posrednik?
Posrednik moe da bude sam raunarski program ( pomae nam u
preraivanju informacija ).

Pravo reenje je da se raunar pomogne sam da se nahrani! Posrednik


bi bio raunarski program.
Pitanje: kako radi raunarski program?
Uz neke sitne izuzetke definiemo:
ovek pie tekstualni fajl u koji zapisujemo ta da se radi. Raunar
uzima tekstualni fajl kao ulazni u svoj program, obrauje ga i prevodi
tj izbacuje program na mainskom jeziku i time puni memoriju i
omoguuje procesoru da radi.
Program e da bude translator koji e na zapis da preradi u mainski
jezik i na taj nain napuniti memoriju, omoguujui rad procesora.
Predrasude: ovo su specifine ( posebne ) stavke programa, ( prave se
u raznim okruenjima ).
Za pisanje programa koristimo tekst editor!
Sutina procesa: svaki program je u sutini tekstualni dokument ( fajl
)! Ostalo je fizika stvar.
Kategorija prvougaoni komadi papira - fizika definicija.
Logiki su razliite stvari, ali iz iste kategorije i pismo i C program
sve su to tekstualni dokumenti.
Struktura je stalna! Tekstualni dokument = izvorni program.
Slika 2 ( ... )
Pitanje: ta je najelementarniji sluaj udaljavanja?
Prvi koraci su vrlo jednostavni, moe vrlo lako da se uradi neto
efikasno i dobro, prvi oblik translatora: ASEMBLER I ( sa simbolikim
instrukcijama ).
Problem!
Hoemo da reimo problem koji je sutinski veoma mali, imamo
odreen broj instrukcija jako mali i znamo ta one rade. Sa druge
strane postoje ifre ta procesoru mora da se da, da bi on neto
uradio. ( neophodna tabela za nizove 0 i 1 )
Stalno moramo da imamo pored sebe te ifre ( ogranienja ).
Problem je trivijalan, radi se samo o preimenovanju, sutina je da se
dogovorimo oko formata pisanja.
Dogovor: raunaru instrukcije piemo na jedan nain!
Ako napravimo rigidan ( strog ) format: - translator je jednostavan.
Ako napravimo popustljiv format: - translator je sloen.
Raniji formati su bili strogo rigidni!
Program je rigidan znai da:
- uitava fajl red po red, kad uita prvi red onda izdvaja dva
elementa, prvi ine prva tri karaktera, a preostalo su binarni brojevi
- ugraena je proizvoaka tabele i niz instrukcija
Program je trivijalan!

Ako bi smo dozvolili slobode u formatu i dozvolili prazne redove i da se


ne poinje od prve kolone, onda pravimo petlju za preskakanje
blankova itd. Dobili bi smo komplikovani programski translator. Ovime
smo napravili jednostavan asembler, gde smo se reili binarnih kodova
za instrukcije.
Ako se ovo pokae kao dobro, traimo i dalja poboljanja. Adrese su i
dalje binarne.
Pitanje: ta treba da ugradimo u taj asembler?
U asembler moemo ugraditi jedan algoritam konvertor iz dekadnog u
binarni sistem.
Potrebno je dodati par naredbi: - deljenje ( petlja koja deli sa 2 )
- ostaci ( izbacuje ih i ita u
obranutom redu )
Zapis: MUA #4
MOD 50
Instrukcije su simbolike, a adrese su dekadne.
Pitanje: sledei korak?
Olakavanje: MUA #4
MOD A
Sada imamo i simbolike adrese, ne piemo apsolutnu adresu.
Tek sada moemo direktno gledanjem videti koja je formula u pitanju
(D=b2-4ac)
Pitanje: ta za to treba da se uradi?
Program translator treba da postane za jedan stepen komplikovaniji.
Sada e sam da uvodi memoriju, raspodeljuje adrese i dodeljuje
imena.
Tako da imamo jednoprolazne asemblere i dvoprolazne asemblere.
Pitanje: ta treba taj program da uradi?
1. prvo prolazi kroz tekstualni fajl, zatim
2. trai varijable ( promenljive ), prikuplja ih
3. pravi listu ( spisak ) bez ponavljanja
4. trai mesto u memoriji i dodeljuje adrese
Spreman je za prebacivanje u mainski jezik!
Stari program je imao fiksiranu, statiku tabelu sa kodovima od
proizvoaa ( tajna ).
Novi asembler ima novu dinamiku tabelu promenljivih specifinu za
svaki program ( promenljiva ).
Prema nekoj strogoj sintaksi imamo:
Krajnji rezultat koji je uvek isti, a ovo poslednje je asembler (
prethodno su bile neke primitivne forme ).
Podrazumeva se da asembler ima: - simbolike instrukcije
- simbolike adrese
stim to ne mora da bude dvoprolazni.

Drimo korespodenciju sa mainskim jezikom 1-1, praktino imamo


program na mainskom jeziku, samo smo preimenovali neke stvari, a
neke dugake iskaze smo skratili nadimcima.
ASEMBLER praktino mainski jezik!
Sledei korak je jo neko unapreenje, primeeno je izvesno
ponavljanje programa.
Procesori pre mnogo decenija, pre 8-bitnih imali su sposobnost da
raunaju do 127 pa su stoga ne upotrebljivi.
Npr: trebaju nam veliki brojevi.
Uzmemo dve memorijske lokacije, posmatramo ih kao jednu celinu i
imamo:
- imamo memorijsku lokaciju x, pa uzmemo x+1 i posmatramo ih kao
jednu lokaciju tj. jednu celinu promenljive za sebe.
- imamo memorijsku lokaciju y, pa uzmemo y+1 i posmatramo ih kao
jednu lokaciju
- saberimo x i y, odnosno x+1 i y+1 i smestimo na z, odnosno z+1
rezultat.
Pitanje: kako se ovo izvodi?
Kao niz naredbi.
Celina za sabiranje dvobajtnih brojeva! ( procesor to ne moe )
Pretprocesor
MUA X
SAB Y
AUM Z
MUA X+1
SABC X+1
CARRY bit
UAM Z+1
Sabiranjem imamo jedan bit CARRY koji slui za uvanje prenosa ( 9
bit ).
Stalno prepisujemo ovih 6 naredbi.
Pitanje: gde sauvati ove naredbe i naknadno ih koristiti?
uvanje ovih naredbi se obavlja u proirenju asemblera.
Proirivanjem tabele sa jo nekim instrukcijama definiemo SAB 2 (
sabiranje dvobajtnih ) ili SAB 4 ( sabiranje etvorobajtnih ).
U procesu asembliranja uvodimo i ODU 2, SQRT...
Mesto gde je ovo zapisano je pretprocesor, u fazi asembliranja se
zamenjuje odgovarajuim delovima koda programa.
Skupovi od po vie naredbi MAKROI
Ovakav asembler se zove makro asembler i ovo su makroi. Osnovna
osobina asemblera je da prui korespodenciju 1-1 sa mainskim
jezikom, a ovo je neto drugo pa ne bi trebalo da se naziva asembler,
jer im se udaljavamo od 1-1 dobijamo neto drugo. Tako da
uvoenjem pretprocesora zamenjujemo neke asemblerske instrukcije.
Uz njih se moe razmatrati pojam virtualne maine.

Pitanje: ta je to virtuelna maina?


Pojam virtualne maine:
to je prividna stvar, nije stvarna, ali izgled da radi tako kako nam se
ini. Imamo procesor, fiziki kakav jeste sa osobinam koje poseduje i u
procesu objanjavanja korisniku umesto da idemo u detalje mi
skraujemo tj krajnjem korisniku preutkujemo istinu, pa kaemo da
procesor izmeu ostalog moe da sabere i dvobajtne brojeve ( SAB 2
).
Pitanje: kako to izgleda?
Gledano iznutra, mi znamo da toga nema tj da takva maina fiziki ne
postoji, jer je virtualna maina skrivena, pa se ne vidi razlika izmeu
fizikog sabiranja i dvobajtnog sabiranja. ( ne vidi se ta je hardver, a
ta je softver )
FIZIKA MAINA + SOFTVERSKI DODATAK= ( V.M. )
fiz. sabiranje
dvob. sabiranje
( fiz. maina + 1 soft. dodatak predstavlja reenje dvobajtnog
sabiranja )
Proglasimo je kao regularnu instrukciju, a ona je u stvari softverski
implementirana. Sa stanovita krajnjeg korisnika to je u redu, to je za
njega istina.
Pojam virtualne maine, mikroasembler
Po prvi put imamo razdvajanje korespodencije 1-1 sa mainskim
instrukcijama. injenica da se neki delovi esto upotrebljavaju, bie
uoena i u okviru nekih drugih stvari:
- sa jedne strane imamo neku aritmetiku sa stepenom 2
- sa druge strane imamo neke rutine vezane za U/I.
Prelo se na fazu gde se koriste dodatni U/I ureaji:
- prvo buene kartice H.Holerit
- za programiranje maine za tkanje 19v.akard
- za popis stanovnitva SAD ( IBM maina za obradu podataka o
stanovnitvu )
Pitanje: kako da se komunicira sa tom mainom?
Imamo stalno ponavljanje komande za unos podataka sa kartice, treba
nam da sa te maine proitamo jednu karticu i da broj koji je tamo
ifriran prevedemo u binarni oblik, pa da ga smestimo u memoriju.
Naredbama obezbeujemo da se maina pokrene i da proita jedan
broj, izdvojiemo to na jednom mestu kao deo programa i pozvaemo
ga kao ve napisan program.
Pitanje: ta emo da uradimo?
Izvoenjem programa i ponovnim pozivanjem, dobijamo rutinu: 1.
aritmetika ( matematike funkcije ) od njih nastaju vii programski
jezici
2. opsluivanje perifernih ureaja ( itanje karaktera, kasnije
pokretanje tampaa ) izdvajaju se u operativne sisteme.

Osnovne karakteristike viih programskih jezika


- dosta su bliski oveku
- raskinuta je korespodencij 1-1 i posti korespodencija 1-mnogo
( jedna naredba vie programa razvijena je u stotinu naredbi krupan
kvalitativni skok )
- jako su kompleksni programski translatori
- reavaju se pitanja vavilonske kule ( uenje mnogo jezika )
Svaki procesor ima svoj mainski jezik, dovoljno je znati jedan vii
programski jezik, a on e se prebaciti na bilo koji procesor. Ukida se
direktna veza ovek procesor, ovek ne mora nita da zna o tom
procesoru.
Kompajler je jako teko napisati!
Npr: ako imamo 100 procesora i 1000000 programa: - 1000000 ljudi
treba da naui 100 stvari
- tee je napisati kompajler nego nauiti asemblerl, ali onda
ovime reavamo problem
- svaki kompajler za svaki procesor se radi jedinstveno
- za uenje jednog asemblera potrebna je koliina truda jedinice
jedan
- ukupno 100000000, a pisanje kompajlera zahteva 100 redova,
hiljadu puta je tee napisati
- za 100 procesora po kompajleru, to je 100000 i nakon toga svi
programeri trebaju da ga naue
2,3000000
100000000 : 100000x2,3
Reava paradoks za pisanje kompajlera, reavaju nas brige na kom
procesoru radimo.
Digitalna logika:
Uvod: procesori raunarske digitalne tehnike, ureaji sa mnogo
paradoksa i mnogo razliitih stvari.
Mi smo prema njima uasno spori, oni su nama uasno brzi (
iznenaeni smo naim gleditem na stvari ).
Mi se baziramo na naem iskustvu i intuiciji, a to ne moe da se odnosi
na procesore. Na izvestan nain su to i najjednostavniji i
najkomplikovaniji ureaji.
Pitanje: ta su ti elementi?
Kod raunara ukupan broj redova je veliine 1000000000. Iako je
napravljen od milijardu delova, svi su delovi jednaki. Zapravo jedan
element je ponovljen milijardu puta tj jedan gradivni element imamo u
milijardu primeraka.
Pitanje: sa jedne strane ta je gradivni element, kakve osobine ima,
kako da ga napravimo, kako da ga poboljamo?

Pitanje: sa druge strane ako imamo te gradivne elemente kako da ih


sastavimo? ( da napravimo neto pametno )
Razvoj raunarske tehnologije zavisi od razvoja gradivnih elemenata (
dinamiko )!
Na koji nain se implementiraju zavisi od materijalnih zakona (
statiko )!
Pitanje: ta je gradivni element? Arhitektura, kako sloiti te delove? (
zavisi od zakona materijalne logike )
Klasina digitalna logika se bavi arhitekturom!
Poinje od malo vieg nivoa, ne sputa se nisko, zato emo da odemo
u nazad.
Najpre emo govoriti o gradivnim elementima, u tim elementima je
sadran sav napredak tehnologije i sve ono to se deava na
raunarima. Ljudi su delimino svesni, a delimino i nisu kako to u
stvari ide. Radi se o tome da se uplie eksponencijalni razvoj. Razvoj
raunara, hardvera je eksponencijalan.
Murov zakon: performanse raunara se udvostruuju svakih 18
meseci.
Hijerarhijska organizacija: - softverski sistemi, drvo koje se grana
sainjeno od naredbi.
Kada smo uoili osnovne zakone uoimo i sam gradivni element.
Pitanja: ta je gradivni element, koje su njegove karakteristike, ta
mora da ima, ta je uticalo na nastanak eksponencijalnog razvoja
stvari kroz istoriju?
Nakon toga prelazimo na klasinu digitalnu logiku.
Digitalna logika: - prekidai - statiko exp.
- arhitektura dinamiko log.
Prekidai detaljnije: gradivni ( prekidaki ) element jeste u stvari
prekida, sa specijalnim osobinama. Pod prekidaem podrazumevamo
prekida za svetlo, ali on ne bi mogao da poslui kao gradivni element,
za izgradnju raunara. Postoje i drugi prekidai ( generalna ideja je
iroko rasprostranjena ).
Treba nam prekida koji se kontrolie onim to on sam kontrolie ( po
principu povratne sprege ).
Da bi bila mogua povratna sprega prekida treba da se kontrolie
onim to on sam kontrolie!
Ako napravimo takav prekida napraviemo i raunar.
Sa gledita arhitekture: imamo 100000 prekidaa, a ta su oni to nas
ne interesuje. Sam razvoj je iao donekle kvantitativno, a donekle
kvalitativno, imali smo napredak sa takama prekida.
Pitanje: imamo li primer, moe li se napraviti?
Prekida moe da prekida bilo ta ( struja ).

Pitanje: a koji bi to bio najjednostavniji prekida?


Prekida koji zadovoljava ove osobine naziva se relej. Relej je
elektromehaniki ureaj po principu magneta ( danas su veinom releji
sakriveni ).
Slika 3 ( ... )
Uglavnom imamo etiri pola, ali moe biti i tropolni ureaj.
Pitanje: da li struja od A prema B moe da tee? DA!
Sa osobinom da kontrolie struju i da se kontrolie strujom, na taj
nain zadovoljava ove osobine.
Jedno je pitanje kako napraviti gradivni element, a drugo je kako
emo to da ispovezujemo?
Oznaka: (...)
Pod kontrolom C struja tee izmeu A i B.
Istorijske injenice: raunari su pravljeni na bazi releja, II svetski rat!
Vremenom se to kanonizovaloi postalo jasnije!
Danas se generalno uzima ENIAC 1945. god za prvi raunar, zvanino
je prihvaeno da je to prvi raunar, pre njega su bili pokuaji raunara.
Pitanje: da li moemo napraviti drugi prekida?
Da li moe da se pronae neto sutinski drugaije?
Kada je dolo do takvog kavalitativno pomaka, to je oznaavalo novu
generaciju raunara. U tom kontekstu govorimo o 0 generaciji
raunara, baziranoj na relejima II svetski rat.
Pitanje: ta su osnovne osobine ovakvog releja?
funkcionie!
Sam ureaj je elektromehaniki, ima veze sa strujom, ali se bazira i na
mehanici. Osnovni problem je brzina jer je u pitanju mehanika
prekida. Granice idu od nekoliko puta u sekundi do nekoliko hiljada
puta u sekundi. Red veliine stotinak puta u sekundi u odnosu na
oveka je brz, ali je dosta ogranien. Stoga se tragalo za neim novim.
Uzet je ureaj koji je ve postojao: ELEKTRONKA ili elektronska cev (
koriena u radio ureajima ).
Slika 4 ( ... )
Iz staklenog balona izvue se vazduh, napravi se vakum i napravi se
elektroda koja otputa elektrone, to se postie podgrevanjem (
arenjem ).
Sa druge strane se postavi ploica sa pozitivnim naponom i dolazi do
privlaenja usled manjka elektrona.

Napravili smo elektrini provodnik brz ica ( vri f-je ice ), u sredini se
postavlja mreica, na toj reeci dovodimo napon za kontrolisanje.
Imamo dva kontakta izmeu kojih struja moe da tee ili ne mora.
Zadovoljeni su uslovi definicije, pa imamo prekida koji bi mogao da se
upotrebi, ali je ovaj prekida potpuno elktronski ( zavisi od tehnologije
izrade ), moe da ide 1000000 puta u sekundi. Ovo je oito pogodniji
prekida.
Ovim nastaje revolucija, sklanjanjem releja i stavljanjem trioda
dolazimo do I generacije raunara (elektronke ). Ovime poinje I
generacija raunara koja se priznaje.
ENIAC 18000 elektronki tihi napredak generacije.
Nastaje pojava tranzistora!
Ideja prekidaa moe da se uradi na drugim principima. 1928. god.
razmatrana je ideja za novi prekida, ali u praksi ovo nije zaivelo. (
nije moglo tehniki da se realizuje )
Slika 5 ( ... )
Uzmimo poluprovodnik ( plou ). Ideja je napraviti kanal sa vikom
elektrona i napraviti jo jedan identian kanal. Oni nam slue za
provoenje struje. Izmeu dva kanala ne mloe da tee struja.
Stavljanjem izolatora sa metalnom kapicom ( sa manjkom elektrona )
omoguen je protok struje.
Pronaeni su prekidai na nekom drugom principu
Slika 6 ( ... )
1948. god napravljene su tri kockice od germanijuma. Od tranzistora
od tri kockide mogue je napraviti prekida. Iz nekih razloga nije
moglo da se komercijalizuje. Sredimom 50. god krenula je proizvodnja
i dolo je do revolucionarnog pomaka. Dobili smo tranzistor koji je
1000 puta manji od prethodnih po zapremini ( nema zagrevanja ).
f-je vri direktno, a imamo i hiljadu puta manju potronju struje (
pouzdaniji su i due traju ).
Ukupno poboljanje meri se i do nekoliko miliona puta.
Zamenom elektronki sa tranzistorima dobijamo kvalitativni skok, pa
momo govoriti o II generaciji raunara ( od sredine 50. god ).
Obino se prihvata da postoje jo III i IV generacija.
Ne radi se o sutinski novim gradivnim elementima. Do tada se
baziralo na novom tipu prekidakih elemenata koje ovde u treoj
generaciji nemamo. III generacija jo se naziva i modularna
generacija.

Ne trebaju na prekidai kao pojedinani elementi ve kao celina. Na taj


nain dobijamo utedu jer se sve u fabrici uradi na jednoj ploici (
tehnoloki oblik minimizujemo ih i ispovezujemo ih u fabrici). Ovaj
nain organizacije doneo je kvalitativni pomak koji zasluuje da se
zove novom generacijom, ali se prekidaki elementi nisu promenili to
predstavlja III generaciju raunara ( rane 60. god ).
Kasnijih 60. god i 70. god dolazi i IV generacija, V.L.S.I.
Najbitnije je da se vraa na staru ideju tranzistora, da je on
dvodimenzionalan ( planaran ). Trea dimenzija je toliko tanka da se
zanemaruje. To mu omoguuje da se pravi fotografskim postupkom,
na taj nain se dolazi do kvalitativnog skoka, gde se raskida veza 1-1
sa prekidakim elementima i pravimo ih sve odjednom.
Ponavljanjem procesa dobijamo analogiju ( kvalitativna razlika ).
Sutina IV generacije: svi elementi se prave odjedanput!
Na ovaj nain objanjavamo Murov zakon.
Ustalilo se da se generacije smenjuju sa nekim periodom od neki 5-10
god. Desilo se to da sledeih generacija nema, od kasnih 60. god pa
do sada s nita nije promenilo. Murov zakon nije zaustavljen,
nekadanje tihe ( unutranje ) promene sada postaju burne.
Faktor je miniturizacija!
Poslednjih 40. god se minijaturizacijom odrava poredak. Zvanino se
priznaju etiri generacije raunara, esto se priznaje i 0 generacija
raunara, a mimo toga postoje i druge podele.
Def: generacije raunara se definiu na osnovu prirode prekidakih
elemenata.
Postoji svetski priznati pokuaj u okviru koga se spominje V generacija
raunara. Ulo je u literaturu, ali u ovu kategorizaciju ovde ne pripada.
U vreme kada nije bilo smene generacija pojavila se pria o V
generaciji raunara, pa se verovalo da e to da bude softverska
revolucija negde krajem 60. god, a bazirana je na vetakoj
inteligenciji i prolog jeziku. ( jo jedan element kao argument V
generacije: 2000000 dolara )
Realnost su prve etiri generacije, ali moe i da se uradi ekstrapolacija
( unazad ) neega to se nije desilo, a moglo je.
Pitanje: koliko unazad moemo da idemo?
Sa elektronkama je moglo da se ide 20-30 god unazad. Moemo
zamisliti raunar na nekim drugim principima, ne mora biti struja u
pitanju, moe biti i voda.
Napravili smo prekida koji kontrolie ono ime se sam kontrolie.
Slika 7 ( ... )
Prekida na principu vode sigurno je mogu. Ta tehnologija koja moe
da napravi esmu, moe da napravi i raunar. Raunara sline

dananjim mogli smo da pravimo i u starom Egiptu, ne nedostaje


tehnologija nego znanje.
Uvod: sve se u stvari svodi na logike funkcije.
Def: logike ( buleanske ) f-je imamo pojam preslikavanja, stim to
imamo dvolan skup. Imamo ogranienje: domen i kodomen su
dvolane f-je ( f-je sa dva elementa i kao rezultat imaju dva elementa
).
Pojmovi: - detektovanje
- merenje
Raunar kao prvenstveno binarni ureaj je jedan buleanski ureaj,
barata samo sa detektovanjem tj barata samo logikim f-jama.
U raunaru sem buleanskih f-ja ne moe biti nita drugo.
Pitanje: koliko ima logikih f-ja jedne varijable, a koliko ima logikih fja dve varijable?
Ako imamo buleansku f-ju od K varijabli, elemenata moe da bude
dva.
Pitanje: za K varijabli koliko imamo moguih ulaza?
Varijacije sa ponavljanjem!
Br. Moguih ulaza je 2k , a ako ima dve varijable mogui ulazi su:
Tabela 1
Pitanje: ta je buleanska f-ja na dve varijable kada ulazima dodelimo
nekakve vrednosti f-je sa dve varijable?
Varijacije sa ponavljanjem!
Broj moguih ulaza je 2(2k)
Od K ulaznih argumenata ima 2(2k) moguih buleanskih f-ja.
U praksi:
Tabela 3 i 4
Vraanje na prekidae:
sve se sastoji od jednog gradivnog elementa ( prekida )
Praktino: moramo malo da odstupimo ( dozvoljeno odstupanje ),
ukoliko imamo dva oblika prekidaa ( modifikacija ), neke stvari su
onda mnogo lake.
Slika 8 ( ... )
Bitno je da je uslov zadovoljen.
Pitanje: da li ovo mora ovako da bude, u emu je modifikaacija?
Od jednog gradivnog elementa dobijamo dva, fizika modifikacija je
minimalna. Ovo jeste jedan gradivni element, ali po nainu na koji radi
radi se o dva modela gradivnog elementa:

- kada nema kontrole ( struje ) ova dva prekidaa provode struju


- kada ima struje onda se razdvoje i ne provode struju
Oznaka: (...)
Imamo dve varijante prekidaa: - onda kada je prekida aktivan u
stanju kontrole, ne provodi struju
- onda kada je prekida ne aktivan u
stanju kontrole, provodi struju
Prelazimo na realne logike f-je
Interesantana je negacija!
X f(x) implementacija je trivijalna
( kada doe do ..., onda dodeljujemo fizike veliine )
Kroz istoriju smo imali: (...)
Oznaka: (...)
F-ja koja radi inverziju koristei gradivne elemente koje imamo je
neto komplikovanija:
Slika 9 ( ... )
Poveimo dva prekidaa na ovakav nain: - ako stavimo da je x=1,
onda je ovo ... prekida koji prekida, a ovo ... prekida koji proputa
struju, kada mu dovedemo napon
- ako stavimo da je x=0 onda je ovo ... prekida koji prekida, a
ovo prekida koji proputa struju kada mu dovedemo struju.
Na ovaj nain dobili smo f-ju koja ima smisla, tj logiku f-ju negacije
koja se naziva inverter ( obrta )
Simbol: (...)
Hteli bismo da napravimo f-je AND i OR, onda f-je moraju da imaju
povezanost sa serijskom vezom prekidaa.
AND kada svi propuste struju, samo tada moe da proe ( teak
prolazak )
...
Slika 10 ( ... )
OR ako svi preseku struju, samo tada neemo proi ( teak ne
prolazak )
...
Slika 11 ( ... )

Slika 12 ( ... )
Dva standarda: 1 ako ice nisu spojene ...
ako ice jesu spojene ...
2 ako ice nisu spojene ...
ako ice jesu spojene ...
kombinujemo: ...
Pitanje: kako moemo proveriti ta kolo radi?
Popunjavanjem tabele, dobijamo reenje.
Uteda! ...
Skraujemo diskusijom i izdvajanjem karakteristinih sluajeva:
Analiza donje grane ...
Analiza gornje grane ...
Spajanjem gornje i donje grane dobijamo ...
Slika 13 ( ... )
Da li je ovime dobijena funkcija?
Ako smo je dobili, koju smo dobili?
Analiza ... - istaknut sluaj
Kroz paralelne grane teko je ne proi.
Simetrino:
Analiza gore pokazuje ... - istaknut sluaj
Kroz serijske grane teko je proi.
Spajanjem ova dva imamo: ...
(izlaz je tablica funkcije) Ovo jeste funkcija!
-

funkcija f7(x,y)=OR
funkcija f8=f7

- negirana funkcija ili! NOR

Na taj nain imamo:


1. slika
2. slika
3. slika

INVERTER ( 2 prekidaa )
NAND
( 4 prekidaa )
NOR
( 4 prekidaa )

Iz ova tri moemo dobiti:


4. slika
5. slika

iz 2. i 1. ( 6 prekidaa )
iz 3. i 1. ( 6 prekidaa ) Izvedene funkcije

Prve tri proglasimo aksiomama i onda dalje izgraujemo ostale.


Dalje radimo standardnu digitalnu logiku i izgraujemo nove elemente!
( Korienjem od toga to imamo i to razumemo napraviemo neto
novo! )
Od funkcija dve varijable napravili smo 4, ima ih ukupno 16.
Sledea je XOR
Slika 14 ( ... )
Neka je: ...
Pomou 4 NAND-a dobili smo XOR!
6.

slika

XOR ( 16 prekidaa )

Matematika logika i fizika implementacija-ista stvar!


Predstavljanje formulom:
Slika 15 ( ... )
1. f(x,y) = ab
2. a = xc
3. b = yc
4. c = xy
Uvrtavanjem imamo:
2.i3. 1.
4. 5.
5.
6.
Formula 6. opisuje povezivanje fizikih komponenti!
Kako emo to da proverimo?
Dokazati: formula jednaka funkciji
Jedna funkcija moe da se predstavi na razne naine!
Najstandardniji nain kao NKF, NDF
abc + xyz + .......... NDF
(a+b+c)*(x+y+z) ........... NKF

Uzmemo sva mesta gde funkcija ima 1, pa naa formula treba da ima
1 na tim mestima, pravljenjem sabiraka.
Kada su ulazi NDF (XOR) = xy +xy tada je ovo ekvivalentno tablici
Nezvanina definicija funkcije XOR!
Treba dokazati f= NDF(XOR)
Koristiemo DeMorganove formule:
1. uv = u+v
2. x = x
3. x * x = 0
kreemo od 6. ...
Pitanje: Zato smo izabrali ba njega?
Krenuli smo od logikih funkcija i stigli do ureaja za sabiranje!
Procesoru je dovoljno da sabira i uporeuje sa nulom. Sabiranje u tom
smislu je kljuna situacija!
Uvod: ( Predrasude! )
Dekadni sistem je zgodan, ali objektivna stvarnost to ne podrava.
Oblasti: - osnovne raunske operacije
- matematika logika
Pitanje: Kako stvari objektivno izgledaju?
Sve to moemo da uradimo u raunaru je matematika logika.
Uvek se radi iskljuivo logikim funkcijama, korienjem posrednika. (
Sabiranje velikih brojeva svodi se na sabiranje cifara )
Sve to moemo da uradimo u dekadnom, moe se uraditi i u
binarnom sistemu!
im imamo binarni sistem odmah imamo Buleanske funkcije. Od ulaza
0 i 1, formiramo izlaze koji mogu biti samo 0 ili 1.
Sabiranje e biti sistem od 2 logike funkcije:
x
0
0
1
1

y
0
1
0
1

s
0
1
1
0

p
0
0
0
1

Sabiranjem binarnih cifara moemo sabrati duge binarne brojeve, dugi


binarni brojevi su ekvivalentni dekadnim...

Dovoljno je pogledati tablicu i dobijamo funkciju AND i XOR.


x
0
0
1
1

y
0
1
0
1

f(x)
0
1
1
0
XOR

0
0
0
1
AND

Da bismo sabirali ne treba nam aritmetika, ve su dovoljne Buleanske


funkcije.
Fizika implementacija:
Slika 15 ( ... )
7.

slika

- novo kolo za sabiranje ( 2 prekidaa )


Sastoji se od XOR-a i AND-a

Pitanje: Naziv?
Sabira!
Meutim, sabiramo proizvoljne brojeve, uzmemo 2 cifre generiemo
rezultat itd.
Treba nam ureaj koji sabira 3 cifre jer uzimamo u obzir prenos.
Ako znamo da saberemo 2 broja zmano da saberemo i 3 jer je
sabiranje asocijativno.
(a+b)+c = a+(b+c)
x
x+c
Sabira mora da se sastoji od 2 elementa pa je ovo polusabira!
Oznaka: slika
- polusabira
Sabiranje:
Slika 16 ( ... )
Osnovna razlika izmeu polusabiraa i sabiraa?
Polusabira kombinatorno kolo koje sabira 2 binarne cifre uz prenos.
Sabira kombinatorno kolo koje sabira 3 binarne cifre uz prenos.
Tabela

Logika funkcija 1 varijable ima 4 funkcije


Logika funkcija 2 varijable ima 16 funkcija
Buleanska funkcija 3 varijable ima 22n, 256 funkcija
S2=S

p
p1p2
0 0 0
1 1 0
OR
1 0 1 XOR
Svejedno je da li je OR ili XOR.
Kombinacija 1 1 se ne pojavljuje.
Oznaka: slika

- pun sabira

Mogue je napraviti proizvoljni sabira

( sabira 3 binarne cifre )


8-16-32 bitni!

Slika 17 ( ... )
Imamo: kolo koje radi neto korisno, napravljeno od 1600 prekidaa,
sa jedne strane kompleksno, a sa druge jednostavno.
- Kombinatorna kola predstavljaju implicitne logike funkcije koje
rade izraunavanja ( izlaz zavisi id ulaza )
- Memorijska kola uvaju izraunavanja ( izlaz ne zavisi od ulaza )
Kombinatorna i memorijska kola se udruuju u sekvencijalna kola.
Dekoder je jaki esto korieno kolo za dekodiranje memorijske
adrese.
Adresa ( binarni broj )
Dekoder je kombinatorno kolo koje ima n- ulaza i 2n- izlaza, gde je
aktivan tano jedan izlaz iji redni broj odgovara binarnom broju na
ulazu.
ulaz
1
2
3
4

- izlaz
- 2
- 4
- 8
- 16

10 - 1024
Pitanje: kako izgleda dekoder 38?
Slika 18 ( ... )
7-e biti izabran kada mu damo cifru rednog broja

ta god da uradimo, radimo sa Buleanskim funkcijama. I ovo je jedna


Buleanska funkcija sa 3-ulaza, sistem od 8 funkcija.
Dekoder 3-8 :
Tabela ...
Svodi se na Buleansku funkciju!
I0,...,I7
256 Buleanskih funkcija
- 3 varijable
I7-nam je poznata : konjukcija sa 3 ulaza ( AND )
Slika 19 ( ... )
I kolo moe da se modifikuje, da ne bude prepoznava!
I kolo je prepoznava tri jedinice!
Dodavanjem invertera I kolo prepoznaje sve!
Dizajn: - ulaz sa leve
- izlaz sa desne
- kontrole po vertikali ( sa komplementima )
Slika 20 ( ... )
Ako je 1 onda vai formula
Ako je 0 onda vai formula

1*x=x
0*x=0

10. slika - Dekoder


Da bi ovo bio klasini dekoder, generalno moe da znai bilo ta. (
neku cifru dekodira u bilo ta )
esto se koristi:
Numeriki displej ( standardni displej na pricipu piksela )
Sedmosegmentni displeji
- iz elektrinog ureaja izlazi bcd kod dobijamo 4 bita koji
predstavljaju dekadne cifre.
Slika 21 ( ... )
Dekoder prevodi u oblik koji elimo!
BCD to sedmosegmentni: ( formiramo tabele )

Ulaz: u0,u1,u2,u3
Slika 22 ( ... )
Tabela
Na osnovu tabele povezujemo logike funkcije!
Izgeneriimo kad treba da svetli a
U ovoj tabeli ima vie 1 nego 0, pa je bolje pratiti
jedinice
Slika 23 ( ... )
Ovo do sada su bila kombinatorna kola, a radili smo i memorijska kola.
Pitanje: ta bi bilo osnovno memorijsko kolo?
Bila bi jednobitna memorija.
Slika 24 ( ... )
Da bi bilo memorijsko kolo, treba da pamti pa nam treba kontrola. Kod
memorijskog kola izlaz ne zavisi od ulaza. Memorijsko kolo esto se
pravi malo komplikovanije!
Uvoenjem 2 kontrole reavamo problem:
Slika 25 ( ... )
Linija enable omoguava da se bilo ta radi
Oznaka: signal R read
kad je 0 neaktivan
W write
kad je 1 aktivan
Takvi signali su oznaeni nadvuenom crtom. ( 2 signala se dele
kosom crtom )
Sve se uvek radi u odnosu na procesor!
In - u CPU
Out - iz CPU
Read - CPU ita
Write - CPU pie
Memorija se pravi jednim sklopom koji je izmiljen za neke druge
svrhe.
FLIP - FLOP
( bistabilni elementi )

Jednobitna memorija

FLIP-FLOP

bistabilni elementi

- 50, 60, godina f.f. su se ugraivali u elektronska kola.


Pitanje: kako izgleda flip-flop?
2 NAND-a unakrsno povezana povratnom spregom.
Slika 26 ( ... )
Pitanje: kako se ovo ponaa?
Lii na kombinatorno kolo.
Pitanje: moe li ovo ovako? Da!
Pitanje: ta e se desiti ako sa 1 preemo na 0?
Kolo je promenilo stanje
Moemo vratiti vrednost na 1 i nita nee da se
Promeni, jer je povratna sprega zablokirala!
Izlaz kola ne zavisi od
ulaza jednoznano
Za iste ulaze imamo dva razliita izlaza!
Ovo kolo ima memorijsku funkciju ( zavisi od ulaza u prolosti )
Simetrino i za donju granu imamo: ...
Odavde dolaze:
- izlazni signali: 0 Q
- ulazni signali: S R
S set
R reset

( neto rade! )
- postavljanje ( 1 )
- inicijalizacija ( 0 )

Slika 27 ( ... )
Ovakvo kolo se zove RS ( SR ) ili FLIP-FLOP.
To je element memorijske jedinice, najjednostavnije kolo iako nije u
potunosti memorijska.
Sve ovo moglo je da se uradi i simetrino: umesto NAND-ova moemo
uzeti i NOR-ove pa imamo:
Slika 28 ( ... )
NOR-ovi
( aktivno visoki-normalno stanje na nuli )

Pitanje: kako sada od ovoga napraviti memoriju?


Problem reen inverterom!
Uveden je vii problem!
Ukinuta je melmorijska funkcija!
Ovo postaje kombinatorno kolo, ta je na ulazu to je na izlazu.
( menjanjem ulaza, menja se i izlaz )
Pitanje: ta moe da se uradi da se ovaj problem rei?
Slika 29 ( ... )
C=1
ovo se ponaa kao normala SR flip-flop
S i R treba drati na 0.
Pitanje:ta ako je C=0?
Ovo kolo prestaje da prima spoljne ulaze!
Sa ovim C-om kontroliemo ovo kolo!
Slika 30 ( ... )
D flip-flop

1 bitna memorija

Kada je
D=1
Kada je
D=0
dok god je C = 1

- set
- reset

( setuje )
( resetuje )

Kada elimo da zapamtimo, onda je C = 0


( imamo mogunost kontrole pa je ovo potpuni memorijski element )
Problem?
Imamo.
Kolo sa 2 ulaza, imamo 4 ulazne kombinacije, 3 smo razmotrili, a 4. je
nedozvoljena.
1
1
0
0

-1
-0
1
0

nita se ne deava
oba izlaza su 0

( nedozvoljeno stanje )

1 kasni

Ovo je opasno stanje jer Q i Q ne mogu biti jednaki! ( sobzirom da su


komplementarni, dolazi do kratkog spoja )
4. stanje je i logiki i praktino nedozvoljeno.

Pitanje: ta tu moe da se uradi?


Moe da se dodefinie doraivanjem FLIP-FLOPA!
Uzmemo 2 FLIP-FLOPA
Slika 31 ( ... )
Ovo je i dalje jedan flip-flop, ali sa dobrim svojstvima. Podatak prima
sa zadrkom. ( jednostepeni prenos postaje dvostepeni )
Kada C povuemo na 1 prvi flip-flop radi, a drugi ne radi. Nakon toga
prvi ne radi, a drugi proradi. To nam omoguuje da napravimo
povratnu spregu. Na poetku pamti interno, prikazuje ga na kraju.
Ovaj tajming se pokazuje, jako korisnim.
Pa imamo MASTER SLAVE FLIP-FLOP
4.funkcija je obrtanje signala!
Imamo:
1 - ne radi nita
2 - postavi se na 1
3 - postavi se na 0
4 - promeni se
Pitanje: kako to izgleda?
Tabela ...
Ovakav flip-flop je zvanino

jk

flip-flop.

Pitanje: kako ovo moe da se napravi?


Slika 32 ( ... )
( kako su istovremeno aktivni izazivaju promene )
Ovaj Data flip-flop mora biti tipa, jer bi dolo do oscilacija!
Napomena: sekvencijalno kolo
Slika 33 ( ... ) ( 16 prekidaa )
Pitanje: ta ovo kolo radi?
Tablina analiza:
Tabela
Tabele su ekvivalentne!

1 bajt

Imali smo:

- SR
- D m/s
- SK
- T - tabliranje

Moemo napraviti posebnu vrstu flip-flopa koji radi samo tabliranje!


Slika 34 ( ... )
Ne isplativi su u praksi!
Sekvencijalna kola mogu biti 2 tipa
- asinhrona
- sinhrona
Asinhrona po fazama ( potreban spoljni dava teksta )
Najjednostavniji signal sat bio bi:
Slika 35 ( ... )
Karakteristike: - amplitude
- frekvencija
f = 1/t
HZ
- odnos 2 faze u jednoj periodi ( aktivna pasivna )
A. P. 50 50
Generalno u svakom klok signalu teimo ka tome.
Remeenjem odnosa, nuno usporavamo kolo!
U praksi signal je dosta zaobljeniji, ima vreme uspona, i vreme
padanja.
Slika 36 ( ... )
Ovakav jednostavan signal sata moe da poslui za ovakva kola.
Dvofazni sat: - 2 faze
- rade jedna u protiv faze druge
Slika 37 ( ... )
Sobzirom na ( ... ) dolazi do preklapanja signala. Signali imaju aktivne
i pasivne faze, sa zahtevom da se aktivne faze ne poklapaju!
Def: dvofaznih neprekidnih aktivnih faza sata
Pitanje: kako to ostvarujemo?
Kada su aktivne faze uske, onda se ne preklaraju.

Slika 38 ( ... )
Nema preklapanja!
Bilo koji signal sat se dobija iz analognog kola koje se naziva kvarcni
oscilator.
Precizni oscilatori se prave od kvarcnih kristala!
Naivno:
Proputanje kroz jedan gejt izaziva kanjenje pa dobijamo f2
Kao zakasneli f1 pa imamo preklapanje faza.
Slika 39 ( ... )
Ovo sigurno ne radi!
Pitanje: kako se pravi nepreklapajui sat?
Sa flip-flopom.
Slika 40 ( ... )
Posmatrajmo signale f, f1, f2
Slika 41 ( ... )
Prolaenje signala kroz bilo koji gejt zahteva vreme!
Uzeemo vreme prolaska kroz: 1 gejt b
2 gejta 2b
3 gejta 3b
Analiza tajminga:
Nakon nekog vremena signal f odlazi na 0.
Nazavisno od bilo ega drugoga ovo radi!
Jedan signal se menja nakon apsolutnog vremena drugog.
Na taj nain dobijamo dvofazni sekvencijalni sat.

You might also like