290 likes | 554 Views
OGLEDNI PROCESOR. (MIKROPROGRAMIRANJE). Na osnovu ranije re č enog iz :. - brojnih sistema, - Booleove algebre, i - logičkih i sekvencijalnih struktura ... OGLEDNI PROCESOR – jednostavan procesor op šte namjene. Skup registara. 0, +1 i -1 sadrže naznačene konstante,
E N D
OGLEDNI PROCESOR (MIKROPROGRAMIRANJE)
Naosnovuranije rečenogiz: • - brojnih sistema, • - Booleove algebre, i • - logičkih i sekvencijalnih struktura ... • OGLEDNI PROCESOR – jednostavan procesor opšte namjene
Skup registara • 0, +1 i -1 sadrže naznačene konstante, • PC - programski brojač, • AC - akumulator, • SP - pokazivač na stek, • IR - instrukcijski registar, • TIR - privremeni instrukcijski registar, • AMASK - adresna maska , • SMASK - maska steka, • A do F - registri opšte namjene.
16-bitna ALU • aritmetičko sabiranje (A + B), • logičko množenje (AB), • propuštanje ulaza A na izlaz (A), i • invertovanje vrijednosti sa ulaza A (/A) • N i Z flagovi • dva 16-bitna latchasprječavaju oscilovanje kao pri A:= A + B!!!
Za vezu sa vanjskom memorijom • MAR – memorijski registar adresa, i • MBR – memorijski bafer podataka • Memorijski ciklusi čitanja i pisanja (I NIŠTA VIŠE!!!)
Upravljački signali => mikroinstrukcije 61 upravljački signal: • 16 signala za ispis sadržaja iz registara na A-sabirnicu, • 16 signala za ispis sadržaja iz registara na B-sabirnicu, • 16 signala za upis sa C-sabirnice u registre, • 2 signala za upravljanje latchevima A i B, • 2 signala za upravljanje ALU-om, • 2 signala za upravljanje shifterom, • 4 signala za upravljanje MAR-om i MBR-om, • 2 signala za čitanje i pisanje vanjske memorije i • 1 signal za upravljanje AMUX multiplekserom.
Upravljački signali => mikroinstrukcije (2) • MAŠINSKI CIKLUS • = jedno stanje upravljačkih sihnala • = osnovni ciklus na putu podataka • MEMORIJSKI CIKLUSpočinje mašinskim ciklusom u kome se vrši upis adrese u MAR i aktivira RD ili WR
Upravljački signali => mikroinstrukcije (3) • smanjivanje broja potrebnih upravljačkih signala (dekoderi “4 u 16” omogućavaju smanjanje sa 3x16 na 3x4 – 61 na 25!!!) • L0 i L1 aktiviraju u svakom mašinskom ciklusu uvijek u isto vrijeme... • dodatni signal ENC o(ne)mogućava upis sa C sabirnice u registre
A0 Ulaz u ALU 0 1 A-latch MBR Upravljanje AMUX – om
F1 F0 Izlaz iz ALU-a 0 0 1 1 0 1 0 1 A+B A B A /A Upravljanje ALU-om
S1 S0 Operacija 0 0 1 1 0 1 0 1 bez pomjeranja pomjeranje udesno pomjeranje ulijevo ne koristi se Upravljanje šift-registrom
M1 Upis iz šiftera u MBR 0 1 NE DA Upravljanje MBR-om
M0 Upis iz B-latcha u MAR 0 1 NE DA Upravljanje MAR-om
RD Upis iz memorije u MBR 0 1 NE DA Upravljanje upisom iz memorije u MBR
WR Upis iz MBR u memoriju 0 1 NE DA Upraljanje upisom iz MBR u memoriju
ENC Upis u register sa C sabirnice 0 1 NE DA Upravljanje upisom u registre
Upravljanje upisom u registre (2) • - 4-bitno polje C = 0000 do 1111 - bira jedan od 16 registara za upis sa C sabirnice (ako je ENC=1) • - 4-bitno polje B = 0000 do 1111 - bira jedan od 16 registara za čitanje • - 4-bitno polje A = 0000 do 1111 - izabira jedan od 16 registara za čitanje
Osnovni ciklus na putu podataka: • upis vrijednosti u latcheve A i B, • zadrška dok ALU i ŠIFTER obave posao, i • smještaj rezultata • + jedan ciklus za dobavljanje sljedeće mikroinstrukcije • 4 (pod)ciklusa!!!
U 4 podciklusa se dešava sljedeće: • upis sljedeće mikroinstrikcije u MIR (Mikro-Instrukcijski-Registar!!!), • upis sadržaja izabranih registara u latcheve A i B, • "trošenje vremena" kako bi ALU i ŠIFTER obavili svoj posao ili upis u MAR (ako je potrebno), i • upis rezultata sa C sabirnice u izabrani registar ili u MBR (zavisno od potrebe).
Procesor = put podataka + upravljačka struktura • upravljačka memorija 256x32 bita • njen adresni registar je MPC • njen registar podataka je MIR
Redoslijed događaja u podciklusima 1 i 2 - u MIR se iz upravljačke memorije kopira mikroinstrukcija sa adrese iz MPC-a i ne mijenja se tokom ostala 3 podciklusa bez obzira na stanje u MPC-u. - MIR kontroliše put podataka - A i B dekoderi određuju registre, CLOCK aktivira latcheve A i B dajući ALU-u stabilne podatke - istovremeno (paralelizam!) INKREMENTER računa MPC+1 za sljedeći ciklus.
Redoslijed događaja u podciklusima 3 i 4 - ALU-u i SHIFTER-u se ostavlja dovoljno vremena da odrade posao (CARRY - propagacija itd.). AMUX polje u mikroinstrukciji određuje šta će biti lijevi ulaz u ALU, desni ulaz je uvijek B-latch. Dok ALU i SHIFTER rade, MAR se upisuje sa B sabirnice ako je "MAR" polje u mikroinstrukciji u "1". - U četvrtom podciklusu podatak sa C sabirnice se upisuje u izabrani registar (ako je ENC=1) ili u MBR (ako je "MBR"=1).
Za upis u neki registar postoje 3 uslova: • - da je ENC=1, • - da je u toku 4. podciklus, i • - da je registar izabran "C" poljem mikroinstrukcije