arhitektura i organizacija računara

Post on 14-Jan-2016

139 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Arhitektura i organizacija računara. organizacja procesora. Organi zacija procesora. CPU se sastoji iz staze podataka i jedinice za upravljanje (CU). Staza podataka se sastoji od registara i aritmetićko logičke jedinice (ALU) Staza podataka obavlja operacije nad podacima - PowerPoint PPT Presentation

TRANSCRIPT

Arhitektura i organizacija Arhitektura i organizacija računararačunara

organizacja procesoraorganizacja procesora

OrganiOrganizacija procesorazacija procesora CPU se sastoji iz staze podataka i jedinice za upravljanje CPU se sastoji iz staze podataka i jedinice za upravljanje

(CU).(CU). Staza podataka se sastoji od registara i aritmetićko logičke Staza podataka se sastoji od registara i aritmetićko logičke

jedinice (ALU)jedinice (ALU) Staza podataka obavlja operacije nad podacimaStaza podataka obavlja operacije nad podacima

CU izdaje signale stazi podatakaCU izdaje signale stazi podataka Unutar CPUa podaci se prenose od jednog do drugog registra Unutar CPUa podaci se prenose od jednog do drugog registra

i izmedju ALU i registara.i izmedju ALU i registara. Interni prenos podataka se obavlja preko lokalnih magistrala Interni prenos podataka se obavlja preko lokalnih magistrala

(bus) preko kojih se prenose podaci, instrukcije i adrese.(bus) preko kojih se prenose podaci, instrukcije i adrese. Eksterno, podaci se prenose između registara i memorije i U/I Eksterno, podaci se prenose između registara i memorije i U/I

uređaja, uglavnom preko sistemske magistrale.uređaja, uglavnom preko sistemske magistrale. Interni prenos podataka između registara i ALU i registara se Interni prenos podataka između registara i ALU i registara se

može ostvariti korišćenjem različitog broja lokalnih može ostvariti korišćenjem različitog broja lokalnih magistrala:magistrala: JedneJedne DveDve TriTri

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

podatakapodataka Pošto se po magistrali u jednom trenutku (taktnom intervalu) Pošto se po magistrali u jednom trenutku (taktnom intervalu)

može prenositi samo jedan podatak, binarne operacije može prenositi samo jedan podatak, binarne operacije zahtevaju dva ciklusa za pribavljanje operanada za ALUzahtevaju dva ciklusa za pribavljanje operanada za ALU Dodatni registri mogu biti potrebni da zapamte podake za ALU Dodatni registri mogu biti potrebni da zapamte podake za ALU

(registri A i B na slici)(registri A i B na slici) Ovakva organizacija je najjednostavnija i najjeftinija, ali ima i Ovakva organizacija je najjednostavnija i najjeftinija, ali ima i

najlošije performanse jer se ograničava broj jednovremenih prenosanajlošije performanse jer se ograničava broj jednovremenih prenosa

Organizacija sa dve magistraleOrganizacija sa dve magistrale Brži prenos podataka nego sa jednom Brži prenos podataka nego sa jednom

magistralommagistralom GPR (registri opšte namene) su povezani na dve GPR (registri opšte namene) su povezani na dve

magistralemagistrale Podaci se mogu prenositi iz dva različita registra na Podaci se mogu prenositi iz dva različita registra na

ulaze ALUa u istom trenutku (klok intervalu)ulaze ALUa u istom trenutku (klok intervalu) Može biti potreban dodatni registar da zapamti rezultat Može biti potreban dodatni registar da zapamti rezultat

ALU operacije ako su obe magistrale zauzete.ALU operacije ako su obe magistrale zauzete. Moguće je da jedna magistrala bude dodeljena za Moguće je da jedna magistrala bude dodeljena za

prenos podataka u registre, tj. za upis u registre (in-bus) prenos podataka u registre, tj. za upis u registre (in-bus) a druga za prenos podataka iz registara, tj. za čitanje a druga za prenos podataka iz registara, tj. za čitanje (out-bus)(out-bus)U ovom slučaju neophodni su dodatni registri na ulazu u ALU U ovom slučaju neophodni su dodatni registri na ulazu u ALU

da zapamte operand dok se drugi operand ne pribavi da zapamte operand dok se drugi operand ne pribavi (pročita)(pročita)

Izlaz iz ALUa može biti direktno povezan na in-bus i direktno Izlaz iz ALUa može biti direktno povezan na in-bus i direktno obaviti prenos, tj. upis, u neki od registara opšte namene obaviti prenos, tj. upis, u neki od registara opšte namene

Organizacija sa dve magistraleOrganizacija sa dve magistrale

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

operanada iz registarkog fajla (out-bus1 i out-bus2) i posebna operanada iz registarkog fajla (out-bus1 i out-bus2) i posebna magistrala za prenos podataka koji treba da se upišu registarski fajl magistrala za prenos podataka koji treba da se upišu registarski fajl (In-bus). (In-bus). Svaka od izlaznih magistrala je povezana na jedan od ALU ulaza. Svaka od izlaznih magistrala je povezana na jedan od ALU ulaza. Izlaz iz ALUa je direktno povezan na In-busIzlaz iz ALUa je direktno povezan na In-bus Što je više magistrala, to se više podataka u jednom klok ciklusu može Što je više magistrala, to se više podataka u jednom klok ciklusu može

prenetipreneti Povećanje broja magistrala povećava kompleksnost hardvera. Povećanje broja magistrala povećava kompleksnost hardvera.

RISC arhitektura – globalni pogledRISC arhitektura – globalni pogled

Staza podataka tStaza podataka tipiipične (hipotetička) RISC čne (hipotetička) RISC arhitekturaarhitektura 32 registra opšte namene32 registra opšte namene Sve instrukcije su 32-bitneSve instrukcije su 32-bitne

tri formata (I, R,J)tri formata (I, R,J)

Svaka instrukcija se izvršva u najviše 5 korakaSvaka instrukcija se izvršva u najviše 5 koraka Pribavljanje (Instruction fPribavljanje (Instruction feetch – IF)tch – IF) Dekodiranje instrukcije i pribavljanje operanda Dekodiranje instrukcije i pribavljanje operanda

(Instruction decode – ID)(Instruction decode – ID) Izvršenje / izračunavanje efektivne adrese (EX)Izvršenje / izračunavanje efektivne adrese (EX) obraćanje memoriji / okončanje grananja (MEM)obraćanje memoriji / okončanje grananja (MEM) upis rezultata u registarski fajl (Write Back – WB)upis rezultata u registarski fajl (Write Back – WB)

I format instrukcijaI format instrukcija I formatI format (load, store, branch, ALU operacije sa (load, store, branch, ALU operacije sa

neposrednim operandom)neposrednim operandom)

0 5 6 10 11 15 16 31

OP Rs1 Rd ImmedOP – kod operacijeOP – kod operacijeRs1 – izvorni operand za ALURs1 – izvorni operand za ALU - bazni registar za generisanje memorijske adrese kod load i - bazni registar za generisanje memorijske adrese kod load i storestore - registar čiji se sadržaj testira za slučaj barnch- registar čiji se sadržaj testira za slučaj barnchRd – polje odredišnog registra za slučaj ALU op. i loadRd – polje odredišnog registra za slučaj ALU op. i load - polje regista čiji se sadržaj pamti u mem. za slučaj store- polje regista čiji se sadržaj pamti u mem. za slučaj storeRd=0 za branchRd=0 za branchImmed – neposredni operand: Immed – neposredni operand:

• drugi operand za slučaj ALU instrukcije;drugi operand za slučaj ALU instrukcije;• pomeraj koji se dodaje baznom registru za slučaj load i store pomeraj koji se dodaje baznom registru za slučaj load i store instrukcijainstrukcija• pomeraj koji se dodaje programskom brojaču za slučaj pomeraj koji se dodaje programskom brojaču za slučaj naredbe grananja (branch)naredbe grananja (branch)

Primer I formata instrukcijaPrimer I formata instrukcija

LW R1, 30LW R1, 30 (R2)(R2) dejstvodejstvo R1 Mem R1 Mem[30 +[30 +[R2]][R2]]

SW 500(R4), R3SW 500(R4), R3 dejstvodejstvo Mem[500+[R4]] Mem[500+[R4]] [R3][R3]

ADDI R1,R2,#3ADDI R1,R2,#3 dejstvodejstvo R1 [R2]+3 R1 [R2]+3 BEQZ R1, imeBEQZ R1, ime dejstvodejstvo if R1=0 then PCif R1=0 then PC

PC+imePC+ime

rd Rs1Imm

R format instrukcijaR format instrukcija RR format (ALU operacije format (ALU operacije tipa registar-u tipa registar-u

registarregistar))

0 5 6 10 11 15 16 20 21 31

OP Rs1 Rs2 funkcija

OPOP+ funkcija+ funkcija – kod operacije – kod operacijeRs1 – Rs1 – prvi prvi izvorni operand za ALUizvorni operand za ALURs2 – drugi izvorni operandRs2 – drugi izvorni operandRd – polje odredišnog registraRd – polje odredišnog registra

PRIMER:PRIMER: ADD R1,R2,R3 ADD R1,R2,R3 dejstvo R3 [R1]+[R2]dejstvo R3 [R1]+[R2]

Rd

J format instrukcijaJ format instrukcija JJ format format – jump instrukcija– jump instrukcija

0 5 6 31

OP

OP– kod operacijeOP– kod operacijeoffset – pomeraj koji se dodaje PCoffset – pomeraj koji se dodaje PC

PRIMER:PRIMER: JMP JMP imeime dejstvodejstvo PC PC PC+ PC+imeime

offset (pomeraj)

11 Instruction fetch cycle (IF): Instruction fetch cycle (IF):

IR IR Mem[PC]Mem[PC]

NPC NPC PC + 4PC + 4

2 Dekodiranje instrukcije i pribavljanje operandaDekodiranje instrukcije i pribavljanje operanda (ID):(ID):

A A Regs[Regs[RRss11];];

B B Regs[Regs[Rs2Rs2];];Imm Imm ((IR ((IR1616))1616##IR ##IR 16..3116..31) ) sign-extended immediate field sign-extended immediate field

of IRof IR

NapomenaNapomena: IR (instru: IR (instrukcionikcioni regist registaar), NPC (next sequential r), NPC (next sequential program counter register) A, B, Imm program counter register) A, B, Imm su privremeni su privremeni registrregistrii

Faze izvrFaze izvršenjašenja Svaka integer instrukcija RISC procesora se Svaka integer instrukcija RISC procesora se

može obaviti za najviše pet klok ciklusa:može obaviti za najviše pet klok ciklusa:

3 Execution/Effective address cycle (EX):Execution/Effective address cycle (EX): Memory reference:Memory reference:

ALU ALU OutputOutput A + Imm;A + Imm;

Register-Register ALU instruction:Register-Register ALU instruction:

ALUALUOutputOutput A func B;A func B;

Register-Immediate ALU instruction:Register-Immediate ALU instruction:

ALUALUOutputOutput A op Imm;A op Imm;

Branch:Branch:

ALUALUOutputOutput NPC + Imm; NPC + Imm;

Cond Cond A A opop 0 0 (op je relacioni operator definisan (op je relacioni operator definisan kodm kodm instrukcije) instrukcije)

Faze izvrFaze izvršenja- nastavakšenja- nastavak

4 Obraćanje memoriji Obraćanje memoriji //okončanje grananjaokončanje grananja (MEM):(MEM):

Obraćanje memorijiObraćanje memoriji::

LMD LMD Mem[ALUOutput] Mem[ALUOutput] iliili

Mem[ALUOutput] Mem[ALUOutput] B;B;

Branch:Branch:

if (cond) PC if (cond) PC ALUOutput else PC ALUOutput else PC NPCNPC

napomenanapomena: LMD (load memory data) register: LMD (load memory data) register

Faze izvrFaze izvršenja- nastavakšenja- nastavak

5 Write-back cycle (WB)Write-back cycle (WB) – upis u – upis u registarski fajlregistarski fajl::

Register-Register ALU instruction:Register-Register ALU instruction:

Reg[Reg[IRIR16..2016..20] ] ALUOutput;ALUOutput;

Register-Immediate ALU instruction:Register-Immediate ALU instruction:

Reg[Reg[IRIR11..1511..15] ] ALUOutput;ALUOutput;

Load instruction:Load instruction:

Reg[Reg[IRIR11..1511..15] ] LMD;LMD;

NapomenaNapomena: LMD (load memory data) register: LMD (load memory data) register

Faze izvrFaze izvršenja- nastavakšenja- nastavak

Implementacija staImplementacija staze podatakaze podataka Bez obzira na razlike između instrukcija, Bez obzira na razlike između instrukcija,

najveći deo posla koji treba da se obavi je najveći deo posla koji treba da se obavi je isti, nezavisno od klase instrukcija.isti, nezavisno od klase instrukcija.Za svaku instrukciju prva dva koraka su identična:Za svaku instrukciju prva dva koraka su identična:

Pribavljanje instrukcije na osnovu sadržaja PCPribavljanje instrukcije na osnovu sadržaja PCČitanje jednog ili dva registra korišćenjem odgovarajućih Čitanje jednog ili dva registra korišćenjem odgovarajućih

polja u instrukciji kojima se selektuju registri.polja u instrukciji kojima se selektuju registri.Nakon ova dva koraka, akcije potrebne za okončanje Nakon ova dva koraka, akcije potrebne za okončanje

izvršenja instrukcija zavise od klase instrukcija. izvršenja instrukcija zavise od klase instrukcija. – Na sreću, akcije su slične za sve tri klase instrukcija, Na sreću, akcije su slične za sve tri klase instrukcija,

nezavisno od koda operacije nezavisno od koda operacije

Komponente potrebne za implementaciju Komponente potrebne za implementaciju procesoraprocesora

sabirači i aritmetičko-logičke jedinice,sabirači i aritmetičko-logičke jedinice, multiplekseri i demultiplekseri,multiplekseri i demultiplekseri, proširivačproširivači,i, registri i polja registara,registri i polja registara, memorije.memorije.

Sabirači i aritmetičko-logičke Sabirači i aritmetičko-logičke jedinicejedinice Sabirač dva 32-bitna Sabirač dva 32-bitna brojabroja i i

jednobitnog ulaznog jednobitnog ulaznog prenosa. Daje 32-bitni zbir i prenosa. Daje 32-bitni zbir i jednobitni izlazni prenosjednobitni izlazni prenos

Aritmetičko-logička jedinica Aritmetičko-logička jedinica obavlja operacije sabiranja, obavlja operacije sabiranja, oduzimanja, formiranje oduzimanja, formiranje dvoičnog komplementa, dvoičnog komplementa, logičke operacije I, ILI, NE i logičke operacije I, ILI, NE i poređenja. poređenja. Generiše 32-bitni rezltat i Generiše 32-bitni rezltat i

1-bitni signal ako je rezultat 1-bitni signal ako je rezultat 0.0.

Zahtevana operacija Zahtevana operacija određuje se preko određuje se preko ALUoperationALUoperation upravljačkih upravljačkih ulaza.ulaza.

ALUresultALUresult3232 A A3232 Op B Op B3232

32

32

32

32

32

32

Multiplekseri i demultiplekseriMultiplekseri i demultiplekseri Multiplekser preko Multiplekser preko

adresnih ulaza Adr bira adresnih ulaza Adr bira ulaze podataka (A ili B) ulaze podataka (A ili B) koje spaja sa izlazom Ykoje spaja sa izlazom Y

••Demultiplekser preko Demultiplekser preko adresnih ulaza Adr bira adresnih ulaza Adr bira izlaze podataka (A ili B) izlaze podataka (A ili B) koje spaja sa ulazom X.koje spaja sa ulazom X.

proširivačproširivačProširivač dopisuje ispred Proširivač dopisuje ispred

16-bitnog podatka još 16-bitnog podatka još 16 bitova, koji 16 bitova, koji predstavljaju cifru znakapredstavljaju cifru znaka

PrimeriPrimeri 16-bitni podatak proširiti16-bitni podatak proširiti

znakovnoznakovno 1010 1111 0101 00111010 1111 0101 0011

znakovno proširenjeznakovno proširenje 1111 1111 1111 11111111 1111 1111 1111 1010 1111 1010 1111

0101 00110101 0011

1616 3232proširivač

(Sign extend)

Registri i polja registaraRegistri i polja registara Registar pamti 32-bitni Registar pamti 32-bitni

podatak. podatak. Upis podatka se taktuje. Upis podatka se taktuje. Sadržaj registra stalno Sadržaj registra stalno

raspoloživ na izlazu.raspoloživ na izlazu. Polje registara sa 32 Polje registara sa 32

registra dužina po 32 registra dužina po 32 bita. bita.

RegRegWWriterite dozvola upisa. dozvola upisa. Upis podatka preko Upis podatka preko

ulaznog porta se taktuje. ulaznog porta se taktuje. Na izlaznim portovima Na izlaznim portovima

podaci stalno prisutnipodaci stalno prisutni

clkclk

3232 3232

registarregistar

Primer polja Primer polja sa 4 sa 4 registraregistra

MemorijaMemorija Posebna memorija za Posebna memorija za

instrukcije i podatkeinstrukcije i podatke. . Adresa određuje Adresa određuje

memorijsku lokaciju memorijsku lokaciju kojoj se pristupa.kojoj se pristupa.

Upis podatka Upis podatka obavlja obavlja pri pri dozvoli upisa i taktnom dozvoli upisa i taktnom signalusignalu (MemWrite) (MemWrite)..

Čitanje: signal Čitanje: signal MemRead i taktni signalMemRead i taktni signal

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

Instruction fetch cycle (IF):Instruction fetch cycle (IF):

IR IR Mem[PC]Mem[PC]NPC NPC PC + 4PC + 4

Deo staze podataka potreban za Deo staze podataka potreban za implementaciju grananjaimplementaciju grananja

ALUOutput ALUOutput NPC + Imm; NPC + Imm;Cond Cond A A opop 0 0 (op je relacioni (op je relacioni operatoroperator definisan kodm instrukcije)definisan kodm instrukcije)

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

Izgled kompletne staze podatakaIzgled kompletne staze podataka

Izgled staze podataka sa označenim resursima Izgled staze podataka sa označenim resursima koji se koriste u svakoj od faza izvršenja koji se koriste u svakoj od faza izvršenja instrukcije instrukcije

[0-5] [0-5]

[6-10] [6-10]

[11-15] [11-15]

[16-20] [16-20]

[16-31] [16-31]

[21-31] [21-31]

UpravljaUpravljačka jedinica procesora (Control Unit –čka jedinica procesora (Control Unit –CU)CU) U svakoj od fauza izvršenja instrukcije obavlja se niz U svakoj od fauza izvršenja instrukcije obavlja se niz

elementarnih aktivnosti koje nazivamo mikrooperacijamaelementarnih aktivnosti koje nazivamo mikrooperacijama Mikroperacija može biti prenos podataka iz jednog u drugi registar Mikroperacija može biti prenos podataka iz jednog u drugi registar

CPUa, čitanje podatka iz memorije ili upis podatka u memoriju, CPUa, čitanje podatka iz memorije ili upis podatka u memoriju, elementarne operacije nad podacima i drugo.elementarne operacije nad podacima i drugo.

npr.npr.– A A Regs[Rs1]; Regs[Rs1];– ALUOutput ALUOutput A func BA func B– LMD LMD Mem[ALUOutput] iliMem[ALUOutput] ili– Mem[ALUOutput] Mem[ALUOutput] B;B;

Svaka mikrooperacija aktivira određene upravljačke tačke elemenata Svaka mikrooperacija aktivira određene upravljačke tačke elemenata hardvera koji učestvuje u izvršenju određenih mikrooperacija.hardvera koji učestvuje u izvršenju određenih mikrooperacija.

Funkcija upravljačke jedinice je generisanje odgovarajućih Funkcija upravljačke jedinice je generisanje odgovarajućih upravljačkih signala, u odgovarajućim vremenskim trenutcima, upravljačkih signala, u odgovarajućim vremenskim trenutcima, koji su neophodni za rad računarakoji su neophodni za rad računara

Upravljački signali se mogu generisati na dva načinaUpravljački signali se mogu generisati na dva načina hardverski (tvz. upravljačke jedinice sa direktnim upravljanjem)hardverski (tvz. upravljačke jedinice sa direktnim upravljanjem)

upravljačka jedinica je realizovana kao sekvencijalno logičko koloupravljačka jedinica je realizovana kao sekvencijalno logičko kolo mikroprogramskimikroprogramski

upravljački signali se nalaze u posebnoj memoriji (mikro-programska upravljački signali se nalaze u posebnoj memoriji (mikro-programska memorija) koja može biti realizovna kao ROM ili RAM memorijamemorija) koja može biti realizovna kao ROM ili RAM memorija

Mikroprogramsko upravaljanje se realizuje pomoću sekvence Mikroprogramsko upravaljanje se realizuje pomoću sekvence mikroinstrukcijamikroinstrukcija

Model upravljačke jediniceModel upravljačke jedinice

hardverska implementacijahardverska implementacija Različiti upravljački signali treba da se Različiti upravljački signali treba da se

aktiviraju u različitim vremenskim trenucimaaktiviraju u različitim vremenskim trenucima kod hardverske implementacije se koristi kružni brojač kod hardverske implementacije se koristi kružni brojač

koji definiše trenutke aktiviranja pojedinih signalakoji definiše trenutke aktiviranja pojedinih signala

Osobine hardverske Osobine hardverske implementacijeimplementacije kompleksnost sekvenciranja i logike ako je kompleksnost sekvenciranja i logike ako je

veliki skup instrukcijaveliki skup instrukcija otežano projektovanje i testiranjeotežano projektovanje i testiranje nefleksibilan dizajn – tečko je dodati nove nefleksibilan dizajn – tečko je dodati nove

instrukcije u već projektovanu CUinstrukcije u već projektovanu CUKada je jedanKada je jedanomom projektovan projektovanaa, male promene , male promene zahtevajuzahtevaju

potpuni redizajn kolapotpuni redizajn kola

Glavna prednost je brzina rada i to je razlog Glavna prednost je brzina rada i to je razlog što se ova tehnika koristi za realizaciju brzih što se ova tehnika koristi za realizaciju brzih procesoraprocesora

Karakteristike mikroprogramskog Karakteristike mikroprogramskog upravljanjaupravljanja Skup upravljačkih signala zajedno sa Skup upravljačkih signala zajedno sa

sekvencirajućom informacijom smešta se u sekvencirajućom informacijom smešta se u memorijumemoriju Memorija može biti ROM ili RAM tipa i naziva se Memorija može biti ROM ili RAM tipa i naziva se

mikroprogramska memorija (microprogramme memory mikroprogramska memorija (microprogramme memory ili control memory)ili control memory)

Mikroprogramsko upravaljanje se realizuje pomoću Mikroprogramsko upravaljanje se realizuje pomoću sekvence mikroinstrukcijasekvence mikroinstrukcija

prednostiprednosti Izmene se izvode brže Izmene se izvode brže Greške se lakše otklanjajuGreške se lakše otklanjaju Projektovanje i održavanje računara je pojednostavljenoProjektovanje i održavanje računara je pojednostavljeno Koristeći mikroprogramsku emulaciju moguće je Koristeći mikroprogramsku emulaciju moguće je

ostvariti kompatibilnost sa drugom mašinomostvariti kompatibilnost sa drugom mašinom NedostatakNedostatak

sporije izvršenje instrukcijasporije izvršenje instrukcija

Mikroprogramsko upravljanjeMikroprogramsko upravljanje

Organizacija mikroprogramske memorijeOrganizacija mikroprogramske memorije

Ako imamo m instrukcija u ISA, Ako imamo m instrukcija u ISA, II00 do do IIm-1m-1, onda , onda postoji m različitih mikro-programa, postoji m različitih mikro-programa, mpmp00 do do mpmpm-1m-1, zapamćenih u memoriji, zapamćenih u memoriji Svaki mikro-program ima različitu adresu u Svaki mikro-program ima različitu adresu u

mikroprogramskoj memoriji.mikroprogramskoj memoriji. Da bi se izvršila instrukcija, mikroprogramski Da bi se izvršila instrukcija, mikroprogramski

upravljani procesor pristupa ovoj memoriji da bi upravljani procesor pristupa ovoj memoriji da bi pronašao skup mikroinstrukcija potrebnih za pronašao skup mikroinstrukcija potrebnih za implementaciju instrukcije implementaciju instrukcije IIii

startna adresa se dobija na osnovu koda operacijestartna adresa se dobija na osnovu koda operacije

pribavljene instrukcije (nakon okončanja faze pribavljene instrukcije (nakon okončanja faze dekodiranja instrukcije).dekodiranja instrukcije).

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

Format mikroinstrukcijaFormat mikroinstrukcija polje upravljapolje upravljaččkih signalakih signala polje adrese sledepolje adrese sledećće mikroinstrukcijee mikroinstrukcije

Horizontalni format Horizontalni format koristi se po jedna binarna pozicija za svaki upravljački signalkoristi se po jedna binarna pozicija za svaki upravljački signal

mogu bitiveoma duge instrukcije, tipično 150-200 bitovamogu bitiveoma duge instrukcije, tipično 150-200 bitova visok stepen paralelizma u radu (jednom instrukcijom se može visok stepen paralelizma u radu (jednom instrukcijom se može

definisati ALU operacija, prenos ka/iz memorije, prenos između definisati ALU operacija, prenos ka/iz memorije, prenos između registara)registara)

upravljaupravljaččki signali sa izlaza registra mikroinstrukcija direktno ki signali sa izlaza registra mikroinstrukcija direktno se se vode do upravljavode do upravljaččkih takih taččaka u aka u stazistazi podataka procesora podataka procesora

Vertikalni format (ili maksimalno kodirani format)Vertikalni format (ili maksimalno kodirani format) mikroinstrukcijom se kodira jedna operacija (akcija)mikroinstrukcijom se kodira jedna operacija (akcija)

npr prenos iz registra u registar (R1npr prenos iz registra u registar (R1R2)R2) obavlja operacija (R1obavlja operacija (R1R2+R3)R2+R3)

neophodno je definisati skup svih mikrooperacija i svaku neophodno je definisati skup svih mikrooperacija i svaku kodiratikodirati sa n bitova može se kodirati 2sa n bitova može se kodirati 2nn mikroisntrukcija mikroisntrukcija

mnogo su kraće instrukcije (12 do 32 bita)mnogo su kraće instrukcije (12 do 32 bita) zahteva se korišćenje dekoderazahteva se korišćenje dekodera manje fleksibilnomanje fleksibilno

dodavanje nove instrukcije zahteva promenu dekoderadodavanje nove instrukcije zahteva promenu dekodera

Horizontalni formatHorizontalni format

vertikalni formatvertikalni format

Jednostavni primer Jednostavni primer projektovanja CUprojektovanja CU

- hardverska CUhardverska CU

- mikroprogramska CU- mikroprogramska CU

Model jednsotavnog računaraModel jednsotavnog računara

Accumulator

ALU

Register B

PC

MAR

MDR

RAM

IR

Control

8

8

12

12

12

12

12

12

12

4

12

Bus

R

W

LM

IPLPEP

LDED

LAEA

SA

EU

LB

LIEI

L = L = napuni registarnapuni registar E E (enable)(enable)= = pošalji pošalji

sadržaj registra na sadržaj registra na magistralu (bus)magistralu (bus)

A,A, S S (( Add Add,, Subtract Subtract) – ) – sabiranje, oduzimanjesabiranje, oduzimanje

Bit znaka iz ACC za Bit znaka iz ACC za control unitcontrol unit

IP = Increment PCIP = Increment PC

ACC

ALU

B

PC

MAR

MDR

RAM

IR

ControlBus

RW

LM

IP

LPEP

LD

ED

LAEA

S

AEU

LB

LIEI

Hardverska CUHardverska CU

IR

Decoder Control Matrix

LDASTA

ADDSUB

MBAJMP

JN

Ring Counter

NF

T5 T0

Halt

Opcode

Control Signals

CLK

implementacija kružnog brojačaimplementacija kružnog brojača

trenutci aktiviranja pojedinih trenutci aktiviranja pojedinih signalasignala

implementacija dekoderaimplementacija dekodera

izgled upravljačke matriceizgled upravljačke matrice

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

Mikroprogramska jedinicaMikroprogramska jedinica

top related