Post on 13-Oct-2015
MICROPROGRAMAREMICROPROGRAMAREMICROPROGRAMAREMICROPROGRAMARE
26.03.2014 Microprogramare 2
ETAPELE DEZVOLTRIIETAPELE DEZVOLTRIIETAPELE DEZVOLTRIIETAPELE DEZVOLTRII Microprogramare
apariie - n jurul anilor 50 concept introdus de Maurice Wilkes - Universitatea
din Cambridge motivaie: elaborarea unor metode i mijloace
tehnice noi pentru proiectarea i construcia unitilor de comand a sistemelor numerice
microprogramarea presupune nregistrarea (memorarea) semnalelor de comand n memorii, ca alternativ la generarea lor de ctre o unitate de comand cablat (sistem secvenial)
semnalele de comand sunt grupate n microinstruciuni
26.03.2014 Microprogramare 3
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Model
Registru ntrziere
Semnale utile Semnale de adres (linii de control)
Decodificare
CLK matricea A matricea B de la bistabil
de condiie
26.03.2014 Microprogramare 4
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Model matricea A - conine linii de control - dau
semnalele de comand necesar pentru execuia instruciunilor
matricea B - conine linii de adres necesar pentru aflarea instruciunii urmtoare
o linie orizontal reprezint o microinstruciune microinstruciunea se selecteaz conform
adresei din registrul de adrese bistabili de condiie pentru decizie i salt
26.03.2014 Microprogramare 5
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Model instruciunea - apeleaz o operaie operaia implic secvene de pai =
microoperaii exemple de microoperaii:
transfer registru - registru transfer registru - memorie operaii aritmetice operaii logice etc.
26.03.2014 Microprogramare 6
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Definiie microprogramarea = controlul unui sistem
numeric prin intermediul unor cuvinte (microinstruciuni) citite secvenial (pas cu pas) din memorie
din microinstruciuni se genereaz semnalele de control pentru funcionarea corect a sistemului numeric
proiectarea - sistematic i flexibil
26.03.2014 Microprogramare 7
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Termeni emulator = ansamblu de resurse hardware i
software incluse ntr-un calculator cu scopul interpretrii limbajului (setului de instruciuni) altui calculator
firmware = ansamblu de resurse software care prin intermediul microprogramrii preia unele funcii care n mod tradiional revin sistemului de operare (de exemplu BIOS-ul)
26.03.2014 Microprogramare 8
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Observaie microprogramarea este o tehnic de
proiectare a structurilor numerice - se refer la o modalitate de implementare, la o arhitectur
a nu se confunda cu programarea microprocesoarelor!!!
26.03.2014 Microprogramare 9
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
microadresa urmtoarei rezultatemicroinstruciuni intermediare
datecondiii Registru de Memorie de Elementeexterne microadrese microprogram funcionaleintrri de datecontrol
Registru demicroinstruciuni
26.03.2014 Microprogramare 10
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Funcii 1. funcia de control - definete i
controleaz toate microoperaiile care trebuie executate
2. funcia de secveniere - determin i controleaz adresa microinstruciunii urmtoare
funciile de regsesc n cuvntul de microinstruciune
26.03.2014 Microprogramare 11
STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL STRUCTURA DE CONTROL MICROPROGRAMATMICROPROGRAMATMICROPROGRAMATMICROPROGRAMAT
Microoperaii selecie operanzi pentru unitatea aritmetico-
logic (ALU) funcia executat de ALU destinaia rezultatului ALU control transport (carry sau borrow) control deplasare (shift) control ntreruperi control intrri / ieiri control resurse hardware
26.03.2014 Microprogramare 12
MEMORIA DE MICROPROGRAMEMEMORIA DE MICROPROGRAMEMEMORIA DE MICROPROGRAMEMEMORIA DE MICROPROGRAME tipuri: ROM sau RAM cerin: vitez mare organizare:
1. fiecrui cuvnt de memorie i corespunde o microinstruciune pentru citire se folosete un singur ciclu de acces la memorie
2. un cuvnt conine mai multe microinstruciuni se reduce numrul de accese la memorie crete viteza de lucru
3. memorie mprit n blocuri exist 2 tipuri de microadrese se micoreaz lungimea cuvntului
4. memorie divizat sunt 2 tipuri de microinstruciuni: simple - numr mic de bii complexe - lungime mare, controleaz simultan mai multe
resurse 5. memorie structurat pe 2 nivele:
nanoprograme - microprograme de nivel sczut nanoinstruciuni - microinstruciuni de nivel sczut
26.03.2014 Microprogramare 13
SECVENSECVENSECVENSECVENIATOR DE IATOR DE IATOR DE IATOR DE MICROPROGRAMMICROPROGRAMMICROPROGRAMMICROPROGRAM
PUSH/POP4 FE Validare stiv
RE Registru PointerValidare registru Adrese AR stiv SPDate 4 4 4Intrri directe 4 Stiv CLK
S0 D AR F PC 4 x 4S1 MUX y
X0 X1 X2 X3 Numrtor deOR3 microprogramOR2 PCOR1OR0
4
zero
Cn+4Incrementare
PC
OE Cn
y3 y2 y1 y0 microadrese(pt. cascadare)
26.03.2014 Microprogramare 14
SECVENSECVENSECVENSECVENIATOR DE IATOR DE IATOR DE IATOR DE MICROPROGRAMMICROPROGRAMMICROPROGRAMMICROPROGRAM
Generare adres urmtoare adresa urmtoare selectat prin multiplexare:
intrri directe (exterioare) intrri de la registrul de adrese intern intrri de la stiv intrri de la numrtorul de microprogram
(program counter PC) MUX selectat (comandat) cu S1 i S0 registrul de adrese validat cu RE
26.03.2014 Microprogramare 15
SECVENSECVENSECVENSECVENIATOR DE IATOR DE IATOR DE IATOR DE MICROPROGRAMMICROPROGRAMMICROPROGRAMMICROPROGRAM
Generare adres urmtoare numrtorul de microprogram - numrtor pe
4 bii + CLC de incrementare cu 1 (Cn = 1 adresa curent + 1)
stiva 4 x 4 memoreaz adrese de revenire din microsubrutine pointerul de stiv SP indic ultima locaie scris
n stiv combinaiile ntre FE i PUSH/POP asigur
memorarea n, respectiv citirea din stiv ieirile y indic microadresa urmtoare
26.03.2014 Microprogramare 16
SECVENSECVENSECVENSECVENIATOR DE IATOR DE IATOR DE IATOR DE MICROPROGRAMMICROPROGRAMMICROPROGRAMMICROPROGRAM
Generare adres urmtoare intrrile OR pot fora anumite linii de adres
la 1 logic permind astfel realizarea instruciunilor de salt
zero face iniializarea adresei de memorie OE permite trecerea ieirilor de adres n
regim three-state
26.03.2014 Microprogramare 17
FORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCIUNIIIUNIIIUNIIIUNII
Definiie: formatul microinstruciunii = mprirea microinstruciunii n zone de control numite cmpuri
clasificarea microinstruciunilor: verticale orizontale
26.03.2014 Microprogramare 18
FORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCIUNIIIUNIIIUNIIIUNII
microinstruciuni verticale: operaii simple (op) pn la 24 bii compromis ntre lungimea cuvntului i lungimea
microprogramului exemplu:
cod op. cu UCcod op cu MEMcod op. cu I/Ocod op. salt
26.03.2014 Microprogramare 19
FORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCIUNIIIUNIIIUNIIIUNII
microinstruciuni orizontale controleaz mai multe resurse n paralel lungime de 64 de bii codificarea microinstruciunii
Controlsecveniere
ControlALU
Control UC ControlMEM
Control I/O Controlceas
26.03.2014 Microprogramare 20
FORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCIUNIIIUNIIIUNIIIUNII
microinstruciuni orizontale - codificarea a. fr codificare - fiecare bit = o microcomand
(controleaz o microoperaie)
b. codificare pe un nivel - cmpuri diferite cmpul A cmpul B
Decodificator Decodificator 2 : 4 4 : 16
0 3 0 15
26.03.2014 Microprogramare 21
FORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCIUNIIIUNIIIUNIIIUNII
microinstruciuni orizontale - codificarea c. codificare pe 2 niveluri - semnificaia unui
cmp depinde de valoarea altui cmp de control
cmpul A cmpul B cmpul C
Decodificator Decodificator Decodificator 4 : 16 6 : 64 2 : 4
26.03.2014 Microprogramare 22
FORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCFORMATUL MICROINSTRUCIUNIIIUNIIIUNIIIUNII
microinstruciuni orizontale - codificarea d. acelai cmp controleaz resurse hardware
diferite, care au funcionare separat n timp; dirijarea cmpului se face cu ajutorul unui cmp separat de control
A/Bvalidare resurs A/B
Decodificator 4 : 16
spre resursele A/B (microoperaii)
26.03.2014 Microprogramare 23
IMPLEMENTAREA IMPLEMENTAREA IMPLEMENTAREA IMPLEMENTAREA MICROINSTRUCMICROINSTRUCMICROINSTRUCMICROINSTRUCIUNIIIUNIIIUNIIIUNII
Execuia microinstruciunii 1. citirea C
determinarea adresei urmtoare obinerea datelor i ncrcarea n registrul de
microinstruciuni 2. decodificarea 3. execuia propriu-zis E
26.03.2014 Microprogramare 24
IMPLEMENTAREA IMPLEMENTAREA IMPLEMENTAREA IMPLEMENTAREA MICROINSTRUCMICROINSTRUCMICROINSTRUCMICROINSTRUCIUNIIIUNIIIUNIIIUNII
Implementarea serie C E C E
I1 I2 pentru creterea vitezei suprapunerea
execuiei microinstruciunii curente cu citirea microinstruciunii urmtoare (probleme la salt)
C E I1C E I2
C E I3
26.03.2014 Microprogramare 25
IMPLEMENTAREA IMPLEMENTAREA IMPLEMENTAREA IMPLEMENTAREA MICROINSTRUCMICROINSTRUCMICROINSTRUCMICROINSTRUCIUNIIIUNIIIUNIIIUNII
Caracteristica monofaz - polifaz un ciclu principal de execuie a microinstruciunii
poate avea mai multe faze utilizate implementare monofazat:
microinstruciunea dureaz doar o perioad de tact (clock)
semnalele de control - generate simultan cu execuia microinstruciunii
implementare polifaz: fiecare ciclu principal conine cicluri secundare semnalele de comand se genereaz secvenial
26.03.2014 Microprogramare 26
MICROPROGRAMAREMICROPROGRAMAREMICROPROGRAMAREMICROPROGRAMARE
Avantaje i dezavantaje avantaje:
flexibilitatea modului de control adaptabilitate uurin n dezvoltare i ntreinere pre mai sczut
dezavantaje: putere limitat a microinstruciunii - pierdere de
performan volum i putere consumat mai mari