Arhitektura i organizacija raunara organizacja procesora Organizacija procesora

  • Slides: 60
Download presentation
Arhitektura i organizacija računara organizacja procesora

Arhitektura i organizacija računara organizacja procesora

Organizacija procesora ã CPU se sastoji iz staze podataka i jedinice za upravljanje (CU).

Organizacija procesora ã CPU se sastoji iz staze podataka i jedinice za upravljanje (CU). l Staza podataka se sastoji od registara i aritmetićko logičke jedinice (ALU) Ø Staza podataka obavlja operacije nad podacima l CU izdaje signale stazi podataka l Unutar CPUa podaci se prenose od jednog do drugog registra i l l l izmedju ALU i registara. Interni prenos podataka se obavlja preko lokalnih magistrala (bus) preko kojih se prenose podaci, instrukcije i adrese. Eksterno, podaci se prenose između registara i memorije i U/I uređaja, uglavnom preko sistemske magistrale. Interni prenos podataka između registara i ALU i registara se može ostvariti korišćenjem različitog broja lokalnih magistrala: Ø Jedne Ø Dve Ø Tri

Organizacija sa jednom magistralom ã CPU registri i ALU koriste jednu magistralu za prenos

Organizacija sa jednom magistralom ã CPU registri i ALU koriste jednu magistralu za prenos podataka ã Pošto se po magistrali u jednom trenutku (taktnom intervalu) može prenositi samo jedan podatak, binarne operacije zahtevaju dva ciklusa za pribavljanje operanada za ALU l Dodatni registri mogu biti potrebni da zapamte podake za ALU (registri A i B na slici) l Ovakva organizacija je najjednostavnija i najjeftinija, ali ima i najlošije performanse jer se ograničava broj jednovremenih prenosa

Organizacija sa dve magistrale ã Brži prenos podataka nego sa jednom magistralom l GPR

Organizacija sa dve magistrale ã Brži prenos podataka nego sa jednom magistralom l GPR (registri opšte namene) su povezani na dve magistrale l Podaci se mogu prenositi iz dva različita registra na ulaze ALUa u istom trenutku (klok intervalu) l Može biti potreban dodatni registar da zapamti rezultat ALU operacije ako su obe magistrale zauzete. l Moguće je da jedna magistrala bude dodeljena za prenos podataka u registre, tj. za upis u registre (in-bus) a druga za prenos podataka iz registara, tj. za čitanje (out-bus) Ø U ovom slučaju neophodni su dodatni registri na ulazu u ALU da zapamte operand dok se drugi operand ne pribavi (pročita) Ø Izlaz iz ALUa može biti direktno povezan na in-bus i direktno obaviti prenos, tj. upis, u neki od registara opšte namene

Organizacija sa dve magistrale

Organizacija sa dve magistrale

Organizacija sa tri magistrale ã U ovom slučaju se dve magistrale koriste za prenos

Organizacija sa tri magistrale ã U ovom slučaju se dve magistrale koriste za prenos izvornrih operanada iz registarkog fajla (out-bus 1 i out-bus 2) i posebna magistrala za prenos podataka koji treba da se upišu registarski fajl (In-bus). Svaka od izlaznih magistrala je povezana na jedan od ALU ulaza. Izlaz iz ALUa je direktno povezan na In-bus l Što je više magistrala, to se više podataka u jednom klok ciklusu može preneti l l Ø Povećanje broja magistrala povećava kompleksnost hardvera.

RISC arhitektura – globalni pogled

RISC arhitektura – globalni pogled

Staza podataka tipične RISC arhitektura ã 32 registra opšte namene ã Sve instrukcije su

Staza podataka tipične RISC arhitektura ã 32 registra opšte namene ã Sve instrukcije su 32 -bitne l tri formata (I, R, J) ã Svaka instrukcija se izvršva u najviše 5 koraka l Pribavljanje (Instruction fetch – IF) l Dekodiranje instrukcije i pribavljanje operanda (Instruction decode – ID) l Izvršenje / izračunavanje efektivne adrese (EX) l obraćanje memoriji / okončanje grananja (MEM) l upis rezultata u registarski fajl (Write Back – WB)

I format instrukcija ã I format (load, store, branch, ALU operacije sa neposrednim operandom)

I format instrukcija ã I format (load, store, branch, ALU operacije sa neposrednim operandom) 0 56 OP 10 11 Rs 1 15 16 Rd 31 Immed OP – kod operacije Rs 1 – izvorni operand za ALU - bazni registar za generisanje memorijske adrese kod load i store - registar čiji se sadržaj testira za slučaj barnch Rd – polje odredišnog registra za slučaj ALU op. i load - polje regista čiji se sadržaj pamti u mem. za slučaj store Rd=0 za branch Immed – neposredni operand: • drugi operand za slučaj ALU instrukcije; • pomeraj koji se dodaje baznom registru za slučaj load i store instrukcija • pomeraj koji se dodaje programskom brojaču za slučaj naredbe grananja (branch)

Primer I formata instrukcija rd ã LW Imm Rs 1 R 1, 30 (R

Primer I formata instrukcija rd ã LW Imm Rs 1 R 1, 30 (R 2) ã SW 500(R 4), R 3 ã ADDI R 1, R 2, #3 ã BEQZ R 1, ime dejstvo R 1 Mem[30 +[R 2]] dejstvo Mem[500+[R 4]] [R 3] dejstvo R 1 [R 2]+3 dejstvo if R 1=0 then PC PC+ime

R format instrukcija ã R format (ALU operacije tipa registar-u registar) 0 56 OP

R format instrukcija ã R format (ALU operacije tipa registar-u registar) 0 56 OP 10 11 Rs 1 15 16 Rs 2 20 21 Rd 25 26 shamt OP+ funkcija – kod operacije Rs 1 – prvi izvorni operand za ALU Rs 2 – drugi izvorni operand Rd – polje odredišnog registra PRIMER: ADD R 1, R 2, R 3 dejstvo R 3 [R 1]+[R 2] 31 funkcija

J format instrukcija ã J format – jump instrukcija 0 56 OP 31 offset

J format instrukcija ã J format – jump instrukcija 0 56 OP 31 offset (pomeraj) OP– kod operacije offset – pomeraj koji se dodaje PC PRIMER: JMP ime dejstvo PC PC+ime

Faze izvršenja ã Svaka integer instrukcija RISC procesora se može obaviti za najviše pet

Faze izvršenja ã Svaka integer instrukcija RISC procesora se može obaviti za najviše pet klok ciklusa (faza) l Pribavljanje instrukcije (Instruction fetch – IF) l Dekodiranje i čitanje operanada (Instruction decode – ID) l Izvršenje (Execution – EX) l Obraćanje memoriji (MEM) l Upis rezultata u regsitarski fajl (Write back – WB) l Tokom svake faze obavlja se niz elementarnih aktivnosti za koje su zaduženi odgovarajući delovi staze podataka. Ø Te elementarne aktivnosti nazivamo mikrooperacijama. l Svaka mikrooperacija aktivira određene upravljačke linije (signale) elemnata hardvera koji učestvuje u obavljanju određenih mikrooperacija. Ø Upravljačke signale generiše upravljačka jedinica (CU) procesora.

Faze izvršenja 1 Instruction fetch cycle (IF): IR ¬ Mem[PC] NPC ¬ PC +

Faze izvršenja 1 Instruction fetch cycle (IF): IR ¬ Mem[PC] NPC ¬ PC + 4 2 Dekodiranje instrukcije i pribavljanje operanda (ID): A ¬ B ¬ Imm Regs[Rs 1]; Regs[Rs 2]; ¬ ((IR 16)16##IR 16. . 31) sign-extended immediate field of IR Napomena: IR (instrukcioni registar), NPC (next sequential program counter register) A, B, Imm su privremeni registri

Faze izvršenja- nastavak 3 Execution/Effective address cycle (EX): l Memory reference: ALU Output ¬

Faze izvršenja- nastavak 3 Execution/Effective address cycle (EX): l Memory reference: ALU Output ¬ A + Imm; l Register-Register ALU instruction: ALUOutput ¬ A func B; l Register-Immediate ALU instruction: ALUOutput ¬ A op Imm; l Branch: ALUOutput NPC + Imm; Cond ¬ A op 0 (op je relacioni operator definisan kodm instrukcije)

Faze izvršenja- nastavak 4 Obraćanje memoriji /okončanje grananja (MEM): l Obraćanje memoriji: LMD ¬

Faze izvršenja- nastavak 4 Obraćanje memoriji /okončanje grananja (MEM): l Obraćanje memoriji: LMD ¬ Mem[ALUOutput] ¬ B; ili l Branch: if (cond) PC ¬ ALUOutput else PC napomena: LMD (load memory data) register ¬ NPC

Faze izvršenja- nastavak 5 Write-back cycle (WB) – upis u registarski fajl: l Register-Register

Faze izvršenja- nastavak 5 Write-back cycle (WB) – upis u registarski fajl: l Register-Register ALU instruction: Reg[IR 16. . 20] ¬ ALUOutput; l Register-Immediate ALU instruction: Reg[IR 11. . 15] ¬ ALUOutput; l Load instruction: Reg[IR 11. . 15] ¬ LMD; Napomena: LMD (load memory data) register

Primer projektovanja staze podataka ã Razmotrimo implementaciju CPUa koji sadrži reprezentativni podskup naredbi MIPS

Primer projektovanja staze podataka ã Razmotrimo implementaciju CPUa koji sadrži reprezentativni podskup naredbi MIPS procesora: l Instrukcije za obraćanje memoriji load word (lw) i store word (sw) l Aritmetičko logičke instrukcije add, sub, and, or i slt l Instrukciju grananja (branch equal ) beq i skoka (jump) j

Implementacija staze podataka ã Bez obzira na razlike između instrukcija, najveći deo posla koji

Implementacija staze podataka ã Bez obzira na razlike između instrukcija, najveći deo posla koji treba da se obavi je isti, nezavisno od klase instrukcija. l Za svaku instrukciju prva dva koraka su identična: Ø Pribavljanje instrukcije na osnovu sadržaja PC Ø Čitanje jednog ili dva registra korišćenjem odgovarajućih polja u instrukciji kojima se selektuju registri. Ø Nakon ova dva koraka, akcije potrebne za okončanje izvršenja instrukcija zavise od klase instrukcija. – Na sreću, akcije su slične za sve tri klase instrukcija, nezavisno od koda operacije

Komponente potrebne za implementaciju procesora ã sabirači i aritmetičko-logičke jedinice, ã multiplekseri i demultiplekseri,

Komponente potrebne za implementaciju procesora ã sabirači i aritmetičko-logičke jedinice, ã multiplekseri i demultiplekseri, ã proširivači, ã registri i polja registara, ã memorije.

Sabirači i aritmetičko-logičke jedinice ã Sabirač dva 32 -bitna broja i jednobitnog ulaznog prenosa.

Sabirači i aritmetičko-logičke jedinice ã Sabirač dva 32 -bitna broja i jednobitnog ulaznog prenosa. Daje 32 -bitni zbir i jednobitni izlazni prenos 32 32 ã Aritmetičko-logička jedinica obavlja operacije sabiranja, oduzimanja, formiranje dvoičnog komplementa, logičke operacije I, ILI, NE i poređenja. 32 l Generiše 32 -bitni rezltat i 1 - 32 32 32 bitni signal ako je rezultat 0. l Zahtevana operacija određuje se preko ALUoperation upravljačkih ulaza. ã ALUresult 32 A 32 Op B 32

Multiplekseri i demultiplekseri ã Multiplekser preko adresnih ulaza Adr bira ulaze podataka (A ili

Multiplekseri i demultiplekseri ã Multiplekser preko adresnih ulaza Adr bira ulaze podataka (A ili B) koje spaja sa izlazom Y ã Demultiplekser preko adresnih ulaza Adr bira izlaze podataka (A ili B) koje spaja sa ulazom X.

proširivač 16 proširivač (Sign extend) 32 Proširivač dopisuje ispred 16 bitnog podatka još 16

proširivač 16 proširivač (Sign extend) 32 Proširivač dopisuje ispred 16 bitnog podatka još 16 bitova, koji predstavljaju cifru znaka ã Primeri ã 16 -bitni podatak proširiti znakovno ã 1010 1111 0101 0011 l znakovno proširenje ã 1111 1010 1111 0101 0011

Registri i polja registara ã Registar pamti 32 -bitni registar 32 clk 32 ã

Registri i polja registara ã Registar pamti 32 -bitni registar 32 clk 32 ã ã podatak. Upis podatka se taktuje. Sadržaj registra stalno raspoloživ na izlazu. Polje registara sa 32 registra dužina po 32 bita. Reg. Write dozvola upisa. l Upis podatka preko ulaznog porta se taktuje. ã Na izlaznim portovima podaci stalno prisutni

Primer polja sa 4 registra

Primer polja sa 4 registra

Memorija ã Posebna memorija za instrukcije i podatke. ã Adresa određuje memorijsku lokaciju kojoj

Memorija ã Posebna memorija za instrukcije i podatke. ã Adresa određuje memorijsku lokaciju kojoj se pristupa. ã Upis podatka obavlja pri dozvoli upisa i taktnom signalu (Mem. Write). ã Čitanje: signal Mem. Read i taktni signal

Deo staze podataka za pribavljanje instrukcije i inkrementiranje sadržaja programskog brojača Instruction fetch cycle

Deo staze podataka za pribavljanje instrukcije i inkrementiranje sadržaja programskog brojača Instruction fetch cycle (IF): IR Mem[PC] NPC PC + 4

Deo staze podataka potreban za implementaciju grananja

Deo staze podataka potreban za implementaciju grananja

Deo staze podataka potreban za implementaciju load/store i ALU instrukcija

Deo staze podataka potreban za implementaciju load/store i ALU instrukcija

Izgled kompletne staze podataka

Izgled kompletne staze podataka

[0 -5] [6 -10] [11 -15] [16 -20] [16 -31] [21 -31]

[0 -5] [6 -10] [11 -15] [16 -20] [16 -31] [21 -31]

Upravljačka jedinica procesora (Control Unit –CU) ã U svakoj od fauza izvršenja instrukcije obavlja

Upravljačka jedinica procesora (Control Unit –CU) ã U svakoj od fauza izvršenja instrukcije obavlja se niz elementarnih aktivnosti koje nazivamo mikrooperacijama l Mikroperacija može biti prenos podataka iz jednog u drugi registar CPUa, čitanje podatka iz memorije ili upis podatka u memoriju, elementarne operacije nad podacima i drugo. Ø npr. – – A Regs[Rs 1]; ALUOutput A func B LMD Mem[ALUOutput] B; ili l Svaka mikrooperacija aktivira određene upravljačke tačke elemenata hardvera koji učestvuje u izvršenju određenih mikrooperacija. ã Funkcija upravljačke jedinice je generisanje odgovarajućih upravljačkih signala, u odgovarajućim vremenskim trenutcima, koji su neophodni za rad računara ã Upravljački signali se mogu generisati na dva načina l hardverski (tvz. upravljačke jedinice sa direktnim upravljanjem) Ø upravljačka jedinica je realizovana kao sekvencijalno logičko kolo l mikroprogramski Ø upravljački signali se nalaze u posebnoj memoriji (mikro-programska memorija) koja može biti realizovna kao ROM ili RAM memorija Ø Mikroprogramsko upravaljanje se realizuje pomoću sekvence mikroinstrukcija

Model upravljačke jedinice

Model upravljačke jedinice

hardverska implementacija ã Različiti upravljački signali treba da se aktiviraju u različitim vremenskim trenucima

hardverska implementacija ã Različiti upravljački signali treba da se aktiviraju u različitim vremenskim trenucima l kod hardverske implementacije se koristi kružni brojač koji definiše trenutke aktiviranja pojedinih signala

Osobine hardverske implementacije ã kompleksnost sekvenciranja i logike, ako je veliki skup instrukcija ã

Osobine hardverske implementacije ã kompleksnost sekvenciranja i logike, ako je veliki skup instrukcija ã otežano projektovanje i testiranje ã nefleksibilan dizajn – tečko je dodati nove instrukcije u već projektovanu CU Ø Kada je jedanom projektovana, male promene zahtevaju potpuni redizajn kola ã Glavna prednost je brzina rada i to je razlog što se ova tehnika koristi za realizaciju brzih procesora

Karakteristike mikroprogramskog upravljanja ã Skup upravljačkih signala zajedno sa sekvencirajućom informacijom smešta se u

Karakteristike mikroprogramskog upravljanja ã Skup upravljačkih signala zajedno sa sekvencirajućom informacijom smešta se u memoriju l Memorija može biti ROM ili RAM tipa i naziva se mikroprogramska memorija (microprogramme memory ili control memory) l Mikroprogramsko upravaljanje se realizuje pomoću sekvence mikroinstrukcija ã prednosti l Izmene se izvode brže l Greške se lakše otklanjaju l Projektovanje i održavanje računara je pojednostavljeno l Koristeći mikroprogramsku emulaciju moguće je ostvariti kompatibilnost sa drugom mašinom ã Nedostatak l sporije izvršenje instrukcija

Mikroprogramsko upravljanje

Mikroprogramsko upravljanje

Organizacija mikroprogramske memorije ã Ako imamo m instrukcija u ISA, I 0 do Im-1,

Organizacija mikroprogramske memorije ã Ako imamo m instrukcija u ISA, I 0 do Im-1, onda postoji m različitih mikro-programa, mp 0 do mpm-1, zapamćenih u memoriji l Svaki mikro-program ima različitu adresu u mikroprogramskoj memoriji. l Da bi se izvršila instrukcija, mikroprogramski upravljani procesor pristupa ovoj memoriji da bi pronašao skup mikroinstrukcija potrebnih za implementaciju instrukcije Ii l startna adresa se dobija na osnovu koda operacije pribavljene instrukcije (nakon okončanja faze dekodiranja instrukcije).

Izgled mikroprogramske memorije: za m instrukcija, postoji m mikroprograma, pri čemu je svaki zapamćen

Izgled mikroprogramske memorije: za m instrukcija, postoji m mikroprograma, pri čemu je svaki zapamćen na različitoj adresi u mikroprogramskoj memoriji

Format mikroinstrukcija l polje upravljačkih signala l polje adrese sledeće mikroinstrukcije ã Horizontalni format

Format mikroinstrukcija l polje upravljačkih signala l polje adrese sledeće mikroinstrukcije ã Horizontalni format l koristi se po jedna binarna pozicija za svaki upravljački signal Ø mogu bitiveoma duge instrukcije, tipično 150 -200 bitova Ø visok stepen paralelizma u radu (jednom instrukcijom se može definisati ALU operacija, prenos ka/iz memorije, prenos između registara) l upravljački signali sa izlaza registra mikroinstrukcija direktno se vode do upravljačkih tačaka u stazi podataka procesora ã Vertikalni format (ili maksimalno kodirani format) l mikroinstrukcijom se kodira jedna operacija (akcija) Ø npr prenos iz registra u registar (R 1 R 2) Ø obavlja operacija (R 1 R 2+R 3) l neophodno je definisati skup svih mikrooperacija i svaku kodirati Ø sa n bitova može se kodirati 2 n mikroisntrukcija l mnogo su kraće instrukcije (12 do 32 bita) l zahteva se korišćenje dekodera l manje fleksibilno Ø dodavanje nove instrukcije zahteva promenu dekodera

Horizontalni format

Horizontalni format

vertikalni format

vertikalni format

Jednostavni primer projektovanja CU - hardverska CU - mikroprogramska CU

Jednostavni primer projektovanja CU - hardverska CU - mikroprogramska CU

Model jednsotavnog računara IP LP EP LM 12 8 PC Accumulator 12 12 12

Model jednsotavnog računara IP LP EP LM 12 8 PC Accumulator 12 12 12 MAR ALU 8 R W Register B 12 MDR IR 4 Bus S A EU 12 12 RAM 12 LD ED LA EA Control LB LI EI

ã ã ã ã Jedna 12 -bitna magistrala se koristi za prenos informacija između

ã ã ã ã Jedna 12 -bitna magistrala se koristi za prenos informacija između parova registara unutar staze podataka. Registrima i memorijom se upravlja pomoću 16 upravljačkih (control) signala. Većina registara ima Load (L) i Enable (E) ulaze na koje se dovode odgovarajući upravljački signali. Aktivni L signal prisutan na ulazu registra uzrokuje da se sadržaj koji se nalazi na magistrali upiše u registar pri nailasku narednog klok impulsa. Aktivni E signal otvara ulaz registra i omogućava da se njegov sadržaj nađe na magistrali. A, S ( Add, Subtract) – sabiranje, oduzimanje Bit znaka iz ACC za control unit IP = Increment PC l Tako npr. da bi se preneo sadržaj registra A u registar B neophodno je prvo aktivirati signal EA (koji će omogućiti da se sadržaj registra A nađe na magistrali) a zatim signal LB koji će omogućiti da se sadržaj sa magistrale upiše u registar B. IP LP EP LM R W LD ED ACC PC LA EA S MAR ALU RAM B IR MDR Bus Control A EU LB LI EI

ã Obradu podataka obavlja ALU (Arithmetic-Logic-Unit, ALU, aritmetičko-logička- jedinica) , kolo koje je u

ã Obradu podataka obavlja ALU (Arithmetic-Logic-Unit, ALU, aritmetičko-logička- jedinica) , kolo koje je u stanju da obavi sabiranje ili oduzimanje dva 12 -bitna broja koji se nalaze u dva registra: akumulatoru (ACC) i registru B. l Koju će operaciju obaviti ALU definišu upravljački signali A (Add) ili S (Substract). l Akumulator ima jedan flip-flop koji se postavlja kada je rezultat negativan (tj. kada je prvi bit postavljen na 1). Ø Vrednost ovog bita predstavlja ulaz u kontroler/ sekvencer l RAM memoriji računara se pristupa tako što se prvo postavi 8 -bitna adresa u Memory Address Register (MAR). Ø Aktivni Read (R) upravljački signal će zatim uzrokovati da se sadržaj adresirane memorijske lokacije prenese u Memory Data Register (MDR). Ø S druge strane, aktivni Write (W) signal uzrokuje da se sadržaj MDR upiše u RAM na adresu specificiranu sadržajem MAR registra. – Reč zapamćena u memoriji može biti podatak ili instrukcija

ã Staza podataka sadrži i programski brojač PC čija je funkcija da ukazuje na

ã Staza podataka sadrži i programski brojač PC čija je funkcija da ukazuje na adresu sledeće instrukcije u memoriji koja treba da se izvrši. l Upravljački signal Increment Program Counter (IP) uzrokuje inkrementiranje sadržaja PC za jedan. Ø Ovo omogućava sekvencijalno izvršenje instrukcija. ã Pored toga sastavni deo staze podataka je i instrukcioni registar (IR) koji pamti instrukciju koja se trenutno izvršava i obezbeđuje opcode bitove za kontroler/sekvencer.

Skup instrukcija ã Instrukcije su 12 -bitne. l Prva 4 bita definišu kod operacije

Skup instrukcija ã Instrukcije su 12 -bitne. l Prva 4 bita definišu kod operacije (opcode), a preostalih 8 bitova, kada se koriste, definišu memorijsku adresu operanda. l Za instrukcije koje imaju dva operanda, jedan je uvek u akumulatoru (uzeli smo primer jedno-adresne mašine).

blok dijagram sa unutrašnjom organizacijom hardvereske CU ã Ulaz u CU je 4 -bitni

blok dijagram sa unutrašnjom organizacijom hardvereske CU ã Ulaz u CU je 4 -bitni kod operacie instrukcije koja se trenutno nalazi u instrukcionom registru, i flag znaka iz akumulatora. CLK IR Ring Counter ã Izlaz iz CU je 16 upravljačkih T 5 T 0 Opcode signala koji dosežu do različitih LDA registara i do memorije računara, STA ADD pored HLT signala koji se aktivira Decoder MBA SUB Control kad god je prvi bit opcode jednak Matrix JMP jedan. JN ã CU se sastoji od sledećih NF Halt Control Signals funkcionalnih jedinica: l kružni brojač l dekoder instrukcija l upravljačka matrica (control matrix)

implementacija kružnog brojača ã Kružni brojač generiše sekvencu od 6 uzastopnih aktivnih signala koja

implementacija kružnog brojača ã Kružni brojač generiše sekvencu od 6 uzastopnih aktivnih signala koja se stalno ponavlja. l Kružni brojač je sinhronizovan sa sistemskim klokom (taktom) i on prvo aktivira liniju T 0, zatim T 1, itd. Ø Nakon aktiviranja T 5, sekvenca se vraća na početak, tj počinje se od T 0.

trenutci aktiviranja pojedinih signala

trenutci aktiviranja pojedinih signala

Ddekoder ã Dekoder instrukcija ima 4 -bitni ulaz koji potiče od opcode polja instrukcije,

Ddekoder ã Dekoder instrukcija ima 4 -bitni ulaz koji potiče od opcode polja instrukcije, in a osnovu njega aktivira jednu i samo jedno od svojih 8 izlaznih linija. l Svaka linija odgovara jednoj instrukciji iz seta instrukcija našeg računara.

Upravljačka matrica ã Najvažniji deo hardverske CU je upravljačka matrica (control matrix). l Ona

Upravljačka matrica ã Najvažniji deo hardverske CU je upravljačka matrica (control matrix). l Ona dobija ulaze sa kružnog brojača i dekodera instrukcija i obezbeđuje korektnu sekvencu upravljačkih signala neophodnih za izvršenje svake instrukcije.

izgled upravljačke matrice

izgled upravljačke matrice

upravljački signali i trenuci aktiviranja ã Prva kolona tabele prikazje instrukcije (uključujući i fetch

upravljački signali i trenuci aktiviranja ã Prva kolona tabele prikazje instrukcije (uključujući i fetch fazu). ã Ostale kolone prikazuju koji signali se aktiviraju za svaku instrukciju u kom stanju kružnog brojača (T 0, T 1, T 2, T 3, T 4 ili T 5). Ø Tako, npr. , Fetch operacija zahteva aktiviranje signala EP i LM u stanju T 0, signala R u stanju T 1, i aktiviranje signala IP, Ed i LI u stanju T 2.

jednačine na osnovu kojih se dobija uprvljačka matrica

jednačine na osnovu kojih se dobija uprvljačka matrica

Mikroprogramska jedinica

Mikroprogramska jedinica