Professional Documents
Culture Documents
UuAR 1-6 PDF
UuAR 1-6 PDF
Digitalna logika
Arhitektura raunara
Organizacija raunara
Princip rada odozdo
dizajn
prema dole
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).
razmena
podataka D
MEMORIJA
16
AD
MEMORIJA
AD adresna magistrala
(uvek ide samo iz procesora prema memoriji)
Pitanje: Da li elimo:
CPU Memorija ili
Memorija 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
- ...
...
Osnovni teoretski
model raunara
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
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
A,P
A,B
A,C
A,P
Naivna verzija
Malo bolja
verzija
MOVE
SABERI
A,C
C,B
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).
#100
- const 100
50 - zapisana na adresi 50
[50] - saberi indirektno 50 tj. 100
[50] - uveanje za 1 (MUA 50
SAB #1
AUM 50)
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!!!
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.
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
INVERTER ( 2 prekidaa )
NAND
( 4 prekidaa )
NOR
( 4 prekidaa )
iz 2. i 1. ( 6 prekidaa )
iz 3. i 1. ( 6 prekidaa ) Izvedene funkcije
slika
XOR ( 16 prekidaa )
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
y
0
1
0
1
f(x)
0
1
1
0
XOR
0
0
0
1
AND
slika
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
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
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
1*x=x
0*x=0
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
( 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 )
1 bitna memorija
Kada je
D=1
Kada je
D=0
dok god je C = 1
- set
- reset
( setuje )
( resetuje )
-1
-0
1
0
nita se ne deava
oba izlaza su 0
( nedozvoljeno stanje )
1 kasni
jk
flip-flop.
1 bajt
Imali smo:
- SR
- D m/s
- SK
- T - tabliranje
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.