UN DIAGRAMMA DELL’OPERAZIONE TOTALE NON
DESCRIVE IL COMPORTAMENTO DI UN SISTEMA
MICROISTRUZIONE:
LA DESCRIZIONE DELLE FUNZIONI CHE DEVONO
ESSERE ESEGUITE DAL SISTEMA PO PC IN UN
SINGOLO PASSO ELEMENTARE
MICROPROGRAMMA:
LA DESCRIZIONE DEL COMPORTAMENTO DEL
SISTEMA DURANTE L’ESECUZIONE PASSO PASSO
UN’OPERAZIONE
MICROPROGRAMMA TOTALE:
IL MICROPROGRAMMA CHE DESCRIVE IL
COMPORTAMENTO DEL SISTEMA NELLA
ESECUZIONE DI OGNI SUO PASSO E QUINDI
DELLE OPERAZIONE TOTALE.
DIAGRAMMA A BLOCCHI:
DESCRIVE UN’OPERAZIONE
MICROPROGRAMMA:
IL MODO IN CUI L’OPERAZIONE E’ ESEGUITA DAL
SISTEMA.
DI
MICROPROGRAMMAZIONE:
DELL’OPERAZIONE E’ LA CONVERSIONE
IN UN MICROPROGRAMMA DEL
DIAGRAMMA A BLOCCHI CHE DESCRIVE
L’OPERAZIONE
•
•
•
IL TERMINE “MICROPROGRAMMAZIONE” E’
STATO CONIATO (ANCHE SE IN UNA
ECCEZIONE UN PO’ DIVERSA) DALL’INGLESE
WILKES NEL 1951;
LA SERIE 360 IBM LANCIA TALE TECNICA DI
COSTRUZIONE DELLE UNITA’ DI CONTROLLO DI
UN CALCOLATORE
MICROISRUZIONE TS A STRUTTURA GENERALE
 h |OJ (C1 )1K ;(C2 ).2K ;...;(Cq ) qK
.
 h : OJ
A
lt
(C1)  1K
(C2 )   2K
.
(3)
.
.
(Cq )   qK
LA MICROISTRUZIONE GENERALE Ts PUO’ ESSERE
USATA COME UN CASO PARTICOLARE
DELLE qs
OiJ  OJ
 i  1.. q
QUANDO DI
iKHA
  K  i  1.. q
SE NELLA ts SI
QUESTA ASSUME LA
FORMA CONTRATTA
 K: OJ ,  K
(4)
• PS E TS SONO I CAPOSTIPITI DELLA FAMIGLIA DI
LINGUAGGI ps E ts DA
ESSI DERIVABILE IMPONENDO DEI VINCOLI ALLE
RISPETTIVE ESPRESSIONI.
• I VINCOLI SI TRADUCONO IN LIMITAZIONI NEL
NUMERO DELLE FRASI
CONDIZIONATE (TRASFERIMENTI COND.) DIVERSE
CHE POSSONO ESSERE CONTENUTE IN UNA
MICROISTRUZIONE E/O NELLE
MICROOPERAZIONI E/O NEI TRASFERIMENTI CHE
UN MICROISTRUZIONE PUO’ ESEGUIRE.
K - IN
Y - IN
Z - OUT
ENABLE
COND IZIONAL
SELECT ED
GUAR DED
RICONOSCITORE DI SEGUENZA
X
clk
VHDL
ENTITY
ARCHITECTURE
ENTITY
SIGNAL
ARCHITECTURE
VARIABLE
COMPONENT
PROCEDURE
FUNCTION
CONCURRENT
SEQUENTIAL
ASSIGNMENT
SPECIFICATION
BEHAVIORAL
STRUCTURAL
DATAFLOW
BEHAVIORAL
DESCRIZIONE DI UNITA’ HW PER TRAMITE DI MAPPING I/O
SENZA SPECIFICARE TECNOLOGIA, NETLIST, DATA PATH
PROCESS
MULTILEVEL HARDWARE LANGUAGE
UN’UNICA INTERFACCIA
PIU’ DESCRIZIONI DI OPERAZIONI
•
•
IN BASE ALLE FUNZIONALITA’
STRUTTURALMENTE IN TERMINI DI
SOTTOCOMPONENTI
• A FISSO LIVELLO PER TRAMINTE DI
DESCRIZIONI DI COMPONENTI IN TERMINI
DELLE FUNZIONALITA’ E SENZA L’USO DI
SOTTOCOMPONENTI
UNA DESCRIZIONE STRUTTURALE DI COMPONENTE
PUO’ ESSERE EFFETTUATA A TUTTI I LIVELLI DEL
PROGETTO
OPERAZIONE SPECIALE: ESAMINA IL CODICE DI
OPERAZIONE APPLICATO ALL’INGRESSO ESTERNO E
ORDINA L’ESECUZIONE DELL’OPERAZIONE
CORRISPONDENTE, LA QUALE ALLA FINE DELLA SUA
ESECUZIONE, PROVVEDE A RIATTIVARE LA
OPERAZIONE SPECIALE, E COSI’ VIA
DUE POSSIBILI DIAGRAMMI DELL’OPERAZIONE
SPECIALE
TIPO A
TIPO B
K1  K
=O
=O
K
K1
=1
=1
OPERAZIONE TOTALE: L’OPERAZIONE CHE RISULTA DALLA
SUCCESSIONE DELLE SINGOLE OPERAZIONI CHE UN
SISTEMA PUO’ COMPIERE DAL MOMENTO IN CUI INIZIA AL
MOMENTO IN CUI CESSA DI FUNZIONARE .
ESSA DESCRIVE DUNQUE L’OPERARE COMPLESSIVO DEL
SISTEMA.
ingresso
Operazione
speciale
Operazione
1
Operazione
2
Operazione
n.
•
•
•
(A) IL DIAGRAMMA A BLOCCHI
DELL’OPERAZIONE TOTALE HA UN SOLO
INGRESSO E NESSUNA USCITA
(B) NON DEBBONO ESISTERE NEL DIAGRAMMA
CATENE DI BLOCCHI DI DECISIONE CHE
FORMANO CICLI
UN INSIEME INTERCONNESSO DI BLOCCHI DI
DECISIONE DEVE AVERE STRUTTURA AD
ALBERO
(C) SE IN UN DIAGRAMMA ESISTE UN CICLO DI
BLOCCHI IN CUI L’UNICO BLOCCO DI
OPERAZIONE E’ LA MICROOPERAZIONE NULLA,
CI DEVE ESSERE NEL CICLO ALMENO UN
BLOCCO DI DECISIONE CHE CONTIENE UNA
VARIABILE DI CONDIZIONE CHE E’ FUNZIONE,
ANCHE SE NON ESCLUSIVAMENTE, DI
INFORMAZIONI ESTERNE AL SISTEMA (DATI E
CODICE DI OPERAZIONE)
SE L’OPERAZIONE SPECIALE, E’ DI TIPO (A) LA (B) E’
SEMPRE VERIFICATA PER L’OPERAZIONE TOTALE E
ESSA E’ SODDISFATTA PER OGNI SINGOLA OEPRAZIONE.
SE LA OPERAZIONE SPECIALE E’ DI TIPO (B)
POTREBBERO INNESCARSI CICLI. OCCORRE
INCLUDERE ALLORA UN BLOCCO CON
MICROOPERAZIONE NULLA 0, CHE PRODUCE (A
A:
B
B; ………; K
K) SU TUTTI I REGISTRI NEL
CICLO DI BLOCCHI DI DECISIONE .
LA CONDIZIONE (C) SERVE AD IMPEDIRE CHE IL
SISTEMA RIMANGA INDEFINITIVAMENTE BLOCCATO IN
UN CICLO SENZA POTERNE PIU’ USCIRE.
T’
T’’
T
•
•
IN T’ AVVIENE L’ELABORAZIONE DELLE RETI
COMBINATORIE
IN T’’ AVVIENE LA SCRITTURA NEI REGISTRI.
TALE TEMPO COINCIDE CON P DURATA
DELL’IMPULSO DI CARICAMENTO DI UN
REGISTRO

REG

P
• LA MICROOPERAZIONE R + 1  R FUNZIONA
CORRETTAMENTE SE L’USCITA DI R PUO’ CAMBIARE
SOLO DOPO CHE L’IMPULSO E’ TERMINATO (USO DI
FLIP -FLOP MASTER-SLAVE O EDGE TRIPPED).
• LE FUNZIONI CHE COMPAIONO NELLE MICROOPERAZ.
POSSONO ESSRE CONSIDERATE FUNZIONI PREFISSATE
(REALIZZATE IN HARDWARE) ED APPARTENENTE AD
UN INSIEME PREDEFINITO DEI COMPONENTI LOGICI
COMP. LOGICI 
CONFRONTATORE, SEMIADDIZIONATORE,
DECODIFICATORE, ROM, ADDIZIONATORE PARAL,
COMMUTATORE, REGISTRO, FUNZIONI BEOLEONE
ELEMENT, (AND, NOT, OR), ETC.
• SISTEMA DI ELABORAZIONE
DATI
COD. OP.
STRUTTURA
LOGICA
RISULTATI
(a)
SISTEMA: UNA STRUTTURA LOGICA CAPACE DI
ESEGUIRE SEQUENZE DI OPERAZIONI
- MODELLO GENERALE DI UN SISTEMA S
INGRESSI ESTERNI
USCITE ESTERNE
PO
Oj  1, 2, ….., m
Xr
X1 X1, X2, ….., Xs
PC
Oj
Oj, j = 0..p CODICE
MICROOP.
-S
X2
CODICE CONDIZ.
LOGICA
PO PARTE OPERATIVA ESEGUE LE OPERAZ. DEL SISTEMA
PC PARTE DI CONTROLLO COMANDA LA LORO
ESECUZIONE CON UNA SUCCESSIONE DI
MIICROOPERAZIONI
IL SISTEMA S E’ DECOMPOSTO IN DUE SOTTOSISTEMI
(PO,PC) CHE SONO REALIZZATI MEDIANTE MACCHINE
INTERCONNESSE CHE FORMANO UN SISTEMA DI RETI
SINCRONIZZATE
ESEMPIO
L’ESEMPIO DI MICROLINGUAGGI Ts, PRESENTATO HA
LE SEGUENTI LIMITAZIONI:
(1a) ED (1b) NON POSSONO CONTENERE
TRASFERIMENTI CONDIZIONATI.
(1c) AMMETTE LE POSSIBILITA’ DI SOLO 2
TRASFERIMENTI CONDIZIONATI.
(1a) NON PUO’ ESEGUIRE LA MICROOPERAZIONE
NULLA O0
(1b) ED (1c) POSSONO SOLO ESEGUIRE LA O0
IN (1a) IL TRASFERIMENTO E’ RELATIVO ALLA
MICROISTRUZIONE CHE ESEGUE LA CORRENTE h
ANALOGA COSA ACCADE ALLA PRIMA PARTE DI (1c)
 h |ov ,  h  1
(1a )
 h |o0 ,  h
(1b)
 h |o0 (cr )  h  1;(cr )  h (1c)
• MICROISTRUZIONE PS A STRUTTURA GENERALE
 h |(C1)o1J , 1k ; (C2 ) O2J ;  2h ;...;(Cq )OqJ  qh
UNA ED UNA SOLA MICROOPERAZIONE DELLA
ISTRUZIONE h VIENE ATTIVATA DALLA VERITA’ DI
UAN ED UNA SOLA DELLE q CONDIZIONI.
TALE STRUTTURA E’ RAPPRESENTABILE MEDIANTE
ISTRUZIONI CON GUARDIA
 : Alt
h
(C1)  O1J 1
h
( 2)
(C2 )  O2j  2
h
.
.
.
(Cq )  Oqj  q
k
LA VERITA’ DI UNA SOLA GUARDIA FRA LE q DEVE
EESERE GARANTITA STRUTTURALMENTE NELLA
IMPLEMENTAZIONE DEL SISTEMA
OPERAZIONI DEL SISTEMA
•
DESCRIZIONE DELLE OPERAZIONI MEDIANTE
DIAGRAMMA A BLOCCHI: DUE TIPI DI BLOCCO
•BLOCCO DI OPERAZIONE
•BLOCCO DI DECISIONE
UN BLOCCO DI OPERAZIONE CONTIENE LA
DESCRIZIONE DI UNA MICROOPERAZIONE Oj FATTA
MEDIANTE UNA LISTA DI RELAZIONI DI
TRASFERIMENTO
Oj : 1  A ; 0  B ; Ñ + 1  C
UN BLOCCO DI DECISIONE CONTIENE UNA VARIABILE
LOGICA X1 (VARIABILE DI CONDIZIONE) IL CUI VALORE
INDICA QUALE USCITA DEL BLOCCO DEVE ESSERE
SELEZIONATA.
SI SUPPONE CHE LE X 1 SIANO FUNZIONE SOLO DI
CONTENUTI DI REGISTRI E/O DI INFORMAZIONI
ESTERNE AL SISTEMA .
BLOCCO
DI
DECISIONE
Oj
BLOCCO
DI
OPERAZIONE
=0
Xi
=1
Oj / R1, R2 , …, Rn
I RISULTATI DI Oj NEI
REGISTRI Ri
Xi = Ri (R1, R2, …, Rn, ….,
OP, …. M)
Xi DIPENDE DAI VALORI
CONTENUTI IN Ri, DAL
COD. OPERAT. OP, DAL
DATO EST. M,
MICROPR OGR AM MI
•
•
•
•
•
•
•
•
MICROORDINE
ESEGUI Oj
 Oj
TRASFERIMENTO
VAI A h  h
ESPRESSIONE CONDIZIONALE SE Cr E’ VERO,
ALLORA  (Cr) CON Cr = f (Xi…… Xs)
FRASE: <Oj, h >
(a)
FRASE CONDIZIONATA <(Cr ) Oj, h >
(b)
TRASFERIM. CONDIZION.: <(Cr ) h >
(c)
MICROLIUNGUAGGI A STRUTTURA DI FRASE
“PS” CONTENGONO ISTRUZIONI DI TIPO (b)
MICROLINGUAGGI A STRUTTURA DI
TRASFERIMENTI “TS” CONTENGONO
ISTRUZIONI DI TIPO (c)
ESEMPIO DI MICROLINGUAGGIO Ts DETTO M
•
•
 h |Ov ,  h  1
(1a)
 h |O0 ,  h
(1b)
 h |O0 ,(Cr )  h1;(Cr )  h
(1c)
ANALOGIA FRA STRUTTURA N ISTRUZIONI E
ISTRUZIONI DI UN CALCOLATORE
DIVERSI LIVELLI DI LINGUAGGI: ALTO EV. …….
LING.
MICROPROGRAMMI E AUTOMI A STATI FINITI
•
•
UN MICROLINGUAGGI E’ GENERALE SE
CONSENTE DI DESCRIVERE IL
COMPORTAMENTO DI UN QUALSIASI SISTEMA
PS E TS SONO GENERALI
PO
Orj
Xr
PC i
LE MACROINSTRUZIONI PS E TS DEFINISCE LA RIGA
DI UNA TABELLADI FLUSSO. IL MICROPROGRAMMA
CHIUSO, SCRITTO IN PS O TS, L’INTERA TABELLA DI
FLUSSO DI PC
i :Oi ; C1 i1, Cr ir ,...., Cm  im
S’
R
S
T
A
T
O
S
ROM
….
MUX
Oj
SEL
Scarica

LUCIDI3_EQUAZ