nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu...

13

Transcript of nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu...

Page 1: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,
Page 2: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

KOMBINATORNA KOLA-----------------

Kombinatorna logicka kola su kola kod kojih vrednosti na izlazima zavise samo od trenutnih vrednosti na ulazima kola. Ovo znaci da kolo ne moze da pamti neko stanje koje je odredjeno prethodnim vrednostima na ulazima i koje moze uticati na vrednost izlaza. Ova kola, dakle, nemaju memorijsku sposobnost. Kada uklonimo vrednosti sa ulaza, gubi se i rezultat na izlazu. Ista vrednost ulaza uvek proizvodi isti izlaz.

Page 3: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

Kombinatorna kola se tipicno koriste za izracunavanje logickih funkcija. Logicka kola koja smo ranije dobijali procesom minimizacije su takodje primeri kombinatornih kola. Medjutim, problem kod postupka minimizacije je u tome sto je tesko primenjiv na funkcije sa velikim brojem ulaza (dobijamo ogroman broj kombinacija ulaznih vrednosti).Zato se logicka kola za funkcije sa velikim brojem ulaza obicno konstruisu hijerarhijski, tako sto se najpre realizuju jednostavnije funkcije, pa se one kombinuju u slozenije, i tako dalje.

Za kombinovanje jednostavnijih kombinatornih kola u slozenija koriste se neka osnovna kombinatorna kola kao sto su multiplekseri, demultiplekseri i dekoderi. Njihove implementacije su date u odgovarajucim logisim fajlovima.

MULTIPLEKSER je kolo koje ima 2^n ulaza i 1 izlaz, kao i n selekcionih ulaza. Ovo kolo se koristi za odabir jedne od 2^n mogucih vrednosti. n-bitni selekcioni ulaz se posmatra kao binarni broj cija je vrednost redni broj ulaza ciju vrednost treba poslati na izlaz multipleksera.

DEMULTIPLEKSER je kolo koje ima 1 ulaz i 2^n izlaza, kao i n selekcionih ulaza. Ovo kolo se koristi za odabir odredista neke vrednosti. Pomocu n-bitnog selekcionog ulaza zadajemo redni broj izlaza na koji ce se proslediti ulaz.

DEKODER je kolo koje ima n selekcionih ulaza i 2^n izlaza. Izborom odgovarajuce n-bitne vrednosti na selekcionim ulazima mi odredjujemo redni broj izlaza koji ce se ukljuciti (postaviti na 1), dok se ostali izlazi imati vrednost 0. Ovo kolo se koristi za dekodiranje binarnog zapisa broja, tj. aktivira se odgovarajuci izlazni signal koji je pridruzen datom broju i koji se onda moze dalje tumaciti na odgovarajuci nacin.

ARITMETICKA KOLA----------------

Ukoliko logicke funkcije na izlazu kombinatornog kola tumacimo kao odgovarajucu aritmeticku operaciju u binarnoj osnovi, tada takva kombinatorno kolo nazivamo aritmeticko kolo. Tipicna takva kola su sabiraci, oduzimaci, mnozaci, pomeraci, komparatori, i sl. Implementacija sabiraca i oduzimaca data je u odgovarajucem logisim fajlu.

POLUSABIRAC je kolo koje na ulazu ima dva jednobitna binarna broja, a na izlazu ima njihov dvobitni zbir (S je nizi, a C visi bit zbira).

Pomocu polusabiraca ne mozemo da konstruisemo visebitne sabirace jer polusabiraci nemaju mogucnost uracunavanja prethodnog prenosa.

POTPUNI SABIRAC je kolo koje na ulazu ima tri jednobitna binarna broja, od kojih se jedan moze tumaciti kao prethodni prenos. Na izlazu dobijamo dvobitni zbir ova tri sabirka (opet, S je nizi, a C visi bit zbira).

Potpuni sabirac omogucava nadovezivanje i formiranje visebitnih sabiraca, jer se visi bit zbira C na svakoj bitskoj poziciji moze povezati na ulaz za prethodni prenos na sledecoj poziciji, i time se efektivno simulira postupak sabiranja sa prenosenjem.

Oduzimaci se konstruisu na slican nacin kao i sabiraci (imamo poluoduzimac, potpuni oduzimac, i sl.).

Page 4: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

ALU JEDINICA------------

Aritmeticko logicka jedinica (ALU) je jedna od najvaznijih komponenti savremenih racunara. Ona omogucava racunanje razlicitih aritmeticko logickih operacija. Na ulazu ima najcesce dva visebitna operanda, kao i kod zeljene operacije. Na izlazu daje rezultat. Implementira se tako sto se izlazi odgovarajucih aritmetickih kola povezu na ulaze multipleksera na cije se selekcione ulaze dovodi kod operacije. Time se od vise operacija koje su izracunate unutar ALU jedinice bira jedna i propusta na izlaz.

Bez obzira na slozenost savremenih ALU jedinica, ona su ipak samo kombinatorna kola.

SEKVENCIJALNA KOLA------------------

Pored kombinatornih, postoje i sekvencijalna kola. Ova kola imaju mogucnost pamcenja stanja, tj. imaju memorijsku sposobnost. Vrednost stanja utice na izlaz, zajedno sa tekucim vrednostima na ulazu. Na tajnacin, vrednost na izlazu ne zavisi samo od tekucih vrednosti na ulazima (kao kod kombinatornih kola), vec podsredstvom stanja i prethodne vrednosti na ulazu imaju uticaja na tekuci izlaz. Sekvencijalna kola nazivamo jos i MEMORIJSKA KOLA.

REZE----

Najjednostavnija sekvencijalna kola su reze. Reza je sekvencijalno kolo cije je stanje jednobitna vrednost. Dakle, reza moze da cuva jedan bit.Najpoznatiji tipovi reza su RS reza i D reza.

RS reza ima dva ulaza: S i R. Njena tablica prelaska data je u nastavku:

S R Q | Qn--------0 0 0 | 00 0 1 | 10 1 x | 01 0 x | 11 1 x | - nedozvoljeno

Oznaka 'x' u Q koloni znaci "bilo koja vrednost". Dakle, kada su S i R nule, tada ce naredno stanje Qn biti isto kao i tekuce stanje (tj. cuvamo prethodno upisanu vrednost). Kada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0, tada se u rezu upisuje 1, bez obzira na prethodno stanje (S - setovanje). Kombinacija R=1,S=1 je nedozvoljena kombinacija, jer moze dovesti do nestabilnog ponasanja kola [objasnjavali smo na casu].

U osnovi, RS reza se implementira pomocu dva NOR kola sa povratnim spregama. Semu pogledati u odgovarajucem Logisim fajlu.

Page 5: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

Nedostatak RS reze je nedozvoljena kombinacija ulaza.

D reza ima dva ulaza D i e. Ulaz D je tzv. "data" ulaz (ulaz za podatke). Ulaz e je "enable" ulaz (ulaz za aktivaciju kola). Kada je e = 0, tada kolo na izlazu ima zapamceno stanje koje ne zavisi od vrednosti ulaza D. Kada je e = 1, tada se vrednost sa ulaza D upisuje u rezu. Dakle, ako zelimo da sacuvamo neku vrednost bita u rezi, treba samo da je dovedemo na D ulaz i ukljucimo e ulaz tako da se vrednost zapamti, nakon cega treba iskljuciti e ulaz (i upisana vrednost ostaje zapamcena do sledeceg ukljucivanja e ulaza).

D reza se implementira pomocu RS reze, uz jednu negaciju kojom se spajaju njeni R i S ulazi, kao i dve dodatne konjunkcije kojima se sprecava prolaz D ulaza do RS reze u slucaju da je e = 0. Za detalje pogledati implementaciju u odgovarajucem Logisim fajlu. Tablica prelaska D reze je:

D Q e | Qn--------x 0 0 | 0x 1 0 | 10 x 1 | 01 x 1 | 1ASINHRONA I SINHRONA KOLA-------------------------

Za sekvencijalno kolo kazemo da je asinhrono, ukoliko se njegovo stanje moze promeniti u bilo kom trenutku, nezavisno od drugih sekvencijalnih kola. Sa druge strane, kod sinhronih kola sva kolamenjaju svoje stanje u istom trenutku koji je odredjen nekim spoljasnjim sinhronizacionim mehanizmom -- tipicno, signalom casovnika. Asinhrona kola se znatno teze dizajniraju, jer je tesko naterati kola da promene svoje stanje bas onda kada je to potrebno, kako bi se obezbedila odgovarajuca interakcija sa ostalim kolima u sistemu. Reze koje smo ranije opisali su primeri asinhronih kola.

Kod sinhronih kola postoji signal casovnika koji naizmenicno menja svoju vrednost (0-1-0-1-...). Prelaz sa 0 na 1 se naziva UZLAZNI RUB, dok se prelaz sa 1 na 0 naziva SILAZNI RUB. Interval izmedju dva ruba istog tipa (npr. izmedju dva uzlazna ruba) se naziva CIKLUS. Broj ciklusa u sekundi je FREKVENCIJA CASOVNIKA. Npr. ako je frekvencija 1GHz, tada imamo milijardu ciklusa (uzlaznih rubova) u sekundi.

Sinhrona sekvencijalna kola se konstruisu tako da menjaju svoje stanje (na osnovu tekuceg stanja i tekucih vrednosti na ulazima) iskljucivo u trenutku uzlaznog (ili silaznog) ruba casovnika. Na taj nacinobezbedjujemo da kola menjaju svoja stanja na predvidiv nacin, pa se ova kola znatno lakse mogu dizajnirati. Danas su gotovo svi savremeni racunari sinhroni, a frekvencija casovnika je nesto o cemu narocito vodimo racuna kada kupujemo racunar. Veca frekvencija znaci vise ciklusa, a kako se u svakom ciklusu obavlja jedan korak nekog izracunavanja, jasno je da cemo sa vecim brojem ciklusa u sekundi moci brze da racunamo.

Page 6: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

Kao sto su reze bile najjednostavnija asinhrona kola koja mogu da cuvaju jedan bit stanja, tako kod sinhronih kola imamo kola koja se zovu FLIP-FLOPOVI. Flip-flop je sinhrono kolo koje cuva jedan bitstanja. Moze se dizajnirati tako da reaguje na uzlazni ili na silazni rub casovnika. Jedna njegova implementacija je tzv MASTER-SLAVE implementacija, gde se nadovezuju dve reze -- jedna koja je aktivna u negativnom delu ciklusa casovnika (kada je casovnik jednak 0), a druga koja je aktivna u pozitivnom delu ciklusa casovnika (kada je casovnik jednak 1). U trenutku prelaska sa 0 na 1 zatvara se prva reza, a otvara se druga cime se vrednost zapamcena u prvoj rezi prebacuje u drugu rezu, a prva reza se zatvara i ne dozvoljava dalje promene. Ovim se obezbedjuje da se stanje menja iskljucivo u trenutku prelaska sa 0 na 1. Za detalje pogledati implementaciju u odgovarajucem Logisim fajlu.

Kao sto postoje D i RS reza, tako postoje i D i RS flip-flop. Razlika izmedju reze i odgovarajuceg flip-flopa je samo u tome sto flip-flop ima jedan dodatni ulaz (obicno se obelezava sa clk, od "clock", stoznaci sat). Na ovaj ulaz se dovodi signal casovnika. Isti signal se dovodi na sva sinhrona kola u sistemu, cime se obezbedjuje da sva kola menjaju stanje u istom trenutku. Mimo toga, flip-flop se ponasa naisti nacin kao i odgovarajuca reze (tablica prelaska je ista).

REGISTRI I MEMORIJE-------------------

Nizanjem vise flip-flopova dobijamo REGISTAR. On moze cuvati visebitnu vrednost. Npr. niz od 8 flip-flopova moze cuvati jedan BAJT. Nizanjem registara dobijamo MEMORIJE. Svaki registar u memoriji ima svoju adresu (pocev od 0 pa navise). Pri upisu u memoriju korisnik zadaje vrednost koju upisuje i adresu na koju zeli da upise vrednost. Adresa se dekodira dekoderom koji aktivira odgovarajuci "e" ulaz registra na datoj adresi. Time se vrednost sa ulaza upisuje bas u taj registar.Slicno je za citanje iz memorije: korisnik zadaje adresu koja se koristi kao selekcioni ulaz multipleksera koji bira registar ciju ce vrednost proslediti na izlaz. Za detalje pogledati odgovarajucu Logisim implementaciju.

CENTRALNI PROCESOR-------------------

Centralni procesor (CPU) se sastoji iz:-) Registara-) ALU jedinice-) Kontrolne jedinice

Registri cine malu i veoma brzu memoriju procesora. Neki registry mogu biti opste namene, ali postoje i registri koji imaju specijalne uloge (neke od njih cemo spomenuti u nastavku). ALU jedinica je kombinatorno kolo zaduzeno za izracunavanje (moze podrzavati razlicite racunske operacije, u zavisnosti od konkretnog procesora). Registri i ALU jedinica su povezane INTERNIM MAGISTRALAMA preko kojih mogu razmenjivati podatke. Moze postojati jedna ili vise internih

Page 7: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

magistrala. Registri, ALU jedinica i magistrale cine tzv. PUTANJU PODATAKA (engl. datapath) u procesoru. U okviru putanje podataka se mogu izvrsavati elementarne operacije poput transfera izmedjuregistara, kao i propustanja podataka kroz ALU radi racunanja odgovarajuce operacije i cuvanje rezultata u nekom od registara. Proizvoljni algoritam se moze svesti na niz ovih elementarnih operacija.

Kontrolna jedinica upravlja komponentama u okviru putanje podataka i govori im sta da rade u kom koraku. Ona takodje upravlja i komponentama koje se nalaze izvan procesora (poput operativne memorije i ulazno/izlaznih uredjaja). Kontrolna jedinica na svom izlazu ima KONTROLNE SIGNALE koji se dostavljaju odgovarajucim komponentama.Npr. ALU jedinici se dostavlja kod operacije koju treba da izvrsi, registrima se salje komanda da sacuvaju vrednost koja dolazi sa odredjene magistrale ili da posalju svoju vrednost na odredjenu magistralu. Memoriji se salje komanda za citanje (kada ucitavamo nesto iz memorije) ili za pisanje (kada nesto upisujemo u memoriju).Da bi se izvrsila neka masinska instrukcija iz memorije, potrebno je, u opstem slucaju, veci broj elementarnih koraka, od kojih se svaki odvija u jednom ciklusu casovnika.

Registri procesora koji imaju specijalne uloge:

*) PC (program counter) -- programski brojac. Sadrzi adresu tekuce instrukcije u memoriji. Nakon svake izvrsene instrukcije on se uvecava tako da pokazuje na sledecu instrukciju. U slucaju instrukcije skoka,u njega se direktno upisuje vrednost adrese na koju treba skociti.

*) MAR (memory address register) -- adresni registar. U njega se smesta adresa prilikom memorijskih transfera (citanja ili pisanja). Povezan je sa adresnom magistralom, tako da se njegova vrednostautomatski putem ove magistrale dostavlja memoriji na njen adresni ulaz.

*) MDR (memory data register) -- registar podataka. U njega se smesta podatak koji treba poslati memoriji, a takodje se koristi i kao prihvatni registar prilikom transfera iz memorije. Direktno je povezan na magistralu podataka.

*) IR (instruction register) -- instrukcioni registar. Ovaj registar sadrzi instrukciju koja se trenutno izvrsava. Njegova vrednost se salje na ulaz kontrolne jedinice, kako bi znala koju instrukciju treba da izvrsi.

*) PSW (process status word) -- statusni registar. Ovaj registar sadrzi flegove -- pojedinacne bitove koji se postavljaju automatski nakon svake izvrsene operacije u ALU i koji opisuju dobijeni rezultat (npr, da li je rezultat nula, da li je doslo do prekoracenja, da li je rezultat negativan, i sl.). Informacije dobijene iz ovih flegova omogucavaju poredjenje podataka (npr. ako zelimo da utvrdimo da li je x < y, gde sux i y neoznaceni celi brojevi, potrebno je da ih oduzmemo. Ako prilikom oduzimanja dodje do prekoracenja, znaci da je x < y). Vrednost PSW registra se dovodi na ulaze kontrolne jedinice, kako bi mogli da uticu na dalji tok izvrsavanja instrukcije (npr. kod instrukcija uslovnog skoka, u nekim slucajevima treba skociti, a u nekim slucajevima ne, u zavisnosti da li je odgovarajuci uslov ispunjen, a to se utvrdjuje na osnovu flegova).

Page 8: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

OPERATIVNA MEMORIJA--------------------

Operativna memorija (ili RAM memorija) je radna memorija u kojoj se nalaze programi koji se trenutno izvrsavaju, kao i njihovi podaci. Ova memorija se sastoji iz niza bajtova (8-bitnih registara) cije su adrese 0,1,2,...Operativna memorija se sa procesorom povezuje pomocu SISTEMSKE MAGISTRALE koja se sastoji iz ADRESNE MAGISTRALE i MAGISTRALE PODATAKA. Preko adresne magistrale procesor memoriji dostavlja adrese bajtova koje zeli da procita ili u koje zeli da upise vrednost, dok se preko magistrale podataka vrsi transfer samih podataka (u oba smera). Pored toga, sistemska magistrala sadrzi i odgovarajuce kontrolne signale koje procesor salje memoriji, cime joj izdaje komande (npr. komanda za citanje, komanda za pisanje, i sl.).

MASINSKI PROGRAM I IZVRSAVANJE INSTRUKCIJE-------------------------------------------

Masinski program se nalazi u operativoj memoriji racunara, bas kao i podaci sa kojima program radi. Program se sastoji iz niza MASINSKIH INSTRUKCIJA koje se nalaze na uzastopnim adresama u memoriji racunara. Instrukcije programa se izvrsavaju redom, jedna po jedna. Adresa instrukcije koja se trenutno izvrsava nalazi se u programskom brojacu procesora (PC registar). U slucaju instrukcije skoka, izvrsavanje programa se moze nastaviti od proizvoljne instrukcije.

Masinska instrukcija je kodirana binarnim jezikom. Sastoji se iz OPERACIONOG KODA koji kodira vrstu operacije (npr. saberi, oduzmi, premesti, uporedi, skoci, ...) i iz OPERANADA koji kodiraju podatke nad kojima se operacija izvrsava. Operandi mogu biti neposredni (konstante) koji su navedeni usamoj instrukciji, mogu biti u registrima procesora (u kom slucaju se kao deo instrukcije kodira redni broj registra koji se koristi), a mogu biti i u memoriji (u kom slucaju se kao deo instrukcije kodira adresapodatka u memoriji). Izvrsavanje svake instrukcije sastoji se iz sledecih faza:

1) Dohvatanje instrukcije (engl. FETCH): -- vrednost PC registra se kopira u MAR registar, cime se adresa instrukcije koju zelimo da izvrsimo salje na adresnu magistralu -- salje se komanda za citanje memoriji -- memorija salje vrednost (instrukciju) sa date adrese putem magistrale podataka -- instrukcija se prihvata u MDR registru.2) Dekodiranje instrukcije (engl. DECODE): -- ucitana instrukcija se kopira iz MDR u IR registar. -- tog trenutka vrednost instrukcije dolazi na ulaz kontrolne jedinice koja analizira operacioni kod i zadate operande i utvrdjuje dalji niz koraka koje treba primeniti3) Izvsenje instrukcije (engl. EXECUTE): -- ukoliko instrukcija ima memorijske operande, inicira se ucitavanje operanada iz memorije sa odgovarajucih adresa (koje su zadate kao deo instrukcije). Adresa memorijskog operanda se salje u MAR registar, kako bi se poslala putem adresne magistrale memoriji. Dalji postupak je slican kao kod ucitavanja instrukcije iz memorije -- nakon dohvatanja operanada, vrednosti se propustaju kroz ALU jedinicu kako bi se izvrsila odgovarajuca operacija.

Page 9: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,

-- izracunata vrednost se smesta na odrediste. Ako ovo odrediste nije registar, vec memorijska lokacija, zapocinje se upis u memoriju. Adresa odredisne lokacije se salje u MAR registar (cime se postavlja na adresnu magistralu), a sama vrednost u MDR registar (cime se postavlja na magistralu podataka). Memoriji se salje komanda za upis, cime se vrsi upis vrednosti u memoriju. -- u slucaju instrukcija skoka, analizira se uslov i vrsi se skok po potrebi. Ako je potrebno skociti, vrednost adrese na koju se skace se upisuje u PC registar, cime se izvrsavanje programa nastavlja od te adrese. U slucaju da ne treba skociti, PC registar se prosto uvecava da pokazuje na sledecu instrukciju u nizu.

Page 10: nastavainformatika.files.wordpress.com€¦  · Web viewKada je S = 0, a R = 1, tada se u rezu upisuje 0, bez obzira na prethodno stanje (R - resetovanje). Kada je S = 1, a R = 0,