sca sco sistema digitale complesso suddiviso in sco-scaalberto/didattica/calcolatori/... ·...
TRANSCRIPT
SISTEMI DIGITALI COMPLESSI
dati d'ingresso SCA(slave)
SCO(master)
dati di uscita
TASK o comandiX
condizioni esterne comandi all'esterno
Sistema digitale complesso suddiviso in SCO-SCA
Il procedimento di sintesi di un sistema digitale, può esseresuddiviso nei seguenti passi:
1. Specifica del problema.2. Individuazione di un algoritmo di soluzione.3. Progetto di un SCA atto a supportare l’algoritmo.4. Definizione di un SCO che implementa l’algoritmo.5. Valutazione del sistema: se le prestazioni rispondono
alle specifiche del problema si passa al punto 6.Altrimenti si verifica se è possibile definire un altroSCA: in caso positivo si modifica il SCA e si torna alpunto 4; se no, si passa al punto 2.
6. Sintesi del sistema e verifica del correttofunzionamento.
Sottosistema di Calcolo (SCA)
Registri, segnali e operazioni
D
CK
EN
Q
Cella di un registro
Un registro viene indicato con R, il suo contenuto con (R).
B
Aan-1! ! ! a0
bn-1! ! ! b0 enck
Trasferimento dati tra due registri
Operazioni tra dati contenuti in registriOR A, B: (A) » (B) = Y somma logica bit a bit
esempio: (0110) » (1100) = 1110
AND A, B: (A) « (B) = Y prodotto logico bit a bitesempio: (0110) « (1100) = 0100
NOT A: (A) = Y complementazione dei bitesempio: (0110) = 1001
EXOR A, B: (A) ⊕ (B) = Y or esclusivo bit a bitesempio: (0110) ⊕ (1100) = 1010
ADD A, B: (A) + (B) = Y somma aritmeticaesempio: (0110) + (1100) = 0010
SUB A, B: (A) - (B) = Y sottrazioneesempio: (0110) - (1100) = 1010
SR A, k: shift right (scalamento a destra) di k posizioniai Æ ai-k i = n-1, ..., k0 Æ ah h = n-1, ..., k
SL A, k: shift left (scalamento a sinistra) di k posizioniai Æ ai+k i = 0, 1, ..., n-k0 Æ ah h = 0, 1, ..., n-k
RR A, k: rotate right (rotazione a destra) di k posizioniai Æ ai-k i = n-1, ..., kah Æ an-k+h h =0, 1,...., k-1
RL A, k: rotate left (rotazione a sinistra) di k posizioniai Æ a(i+k)mod n i = 0, 1, ..., n
INC A, k: (A) + k ÆA
DEC A, k: (A) - k Æ A
EXCH A, B: (B) Æ A (A) Æ B
Interconnessione registri-circuiti di calcolo
MUX MUX MUX MUX
A L
MUX
S
R1 R4 R3 R2
A,S,L: circuiti combinatori che eseguono le operazioni
Esempio di interconnessione tra registri e circuiti di calcolo
MUX MUX MUX MUX
dall'esterno
MUX MUX MUX MUX
A L
MUX
S
R1 R4 R3 R2
Interconnessione tra registri e circuiti di calcolo
. . .
. . .
R1
B1
R2
B2
Rn
Bn
singola linea
linee multiple
shifterALU
B BBSSR
TEMP2TEMP1
Wt1 Wt2BnB2B1
BA
W1 W2 Wn
Interconnessione tra registri e circuiti di calcolo tramite bus
.
.
.
R WM M
.
.
. deco
der
AND
R0
R1
R7
AND
AND AND
ANDAND
Organizzazione vettoriale dei registri
S
R1
R2
R3
R4
ld
enld ld
enop op
address
decoder
TEMP TEMP
ALU
Interconnessione a bus tra registri e circuiti di calcolo
Esempio di interconnessione con tre bus
Sottosistema di Controllo (SCO)La microprogrammazione
X
Y Y'
Z
CK
d
w
Rappresentazione Algorithm State Machine
} = microprogrammazioneImplementazione di d e w tramite ROM
Modello di Mealy
s
T1 Tm
d1 dm
casei1 im
Modulo elementare della rappresentazione ASM per macchine di tipoMealy
La corrispondente microistruzione ha un formato del tipo:m i : C1(T1,mi1), C2(T2,mi2), . . . , Cm (Tm, mim)
dove
C1, C2, . . . , Cm (m £ 2k , k = n) sono le condizioni derivantidalle variabili di decisione x1, x2, . . . , xn;
T1, T2,..., Tm sono le corrispondenti azioni da effettuare;
mi1, mi2,...,mim le microistruzioni successive a mi.
SEL SS TASK
Struttura della parola di ROM nel caso di modello di Mealy
ROM
R
registro SEL
circuitodi
selezione
R
TASK
ck
ck
SEL
Y' (SS)
Y (stato attuale)
X X'
registro di stato
Struttura del SCO nel caso di modello di Mealy
X4X3X2X1
X2' X1'
Esempio di circuito di mascheramento non codificato
Modello di Moore
s / T
casei1 im
d1 / T1dm/ Tm
Modulo elementare della rappresentazione ASM per macchine di tipoMoore
La corrispondente microistruzione ha un formato del tipo:m i : Ti; C1(mi1), C2(mi2),..., Cm(mim)
doveC1, C2,..., Cm (m £ 2k , k = n) sono le condizioni derivanti dalle variabili didecisione x1,..., xn;
Ti è l’azione da effettuare;
mi1,.., mim le microistruzioni successive a mi.
SS1 SS2 .......... SSm SEL TASK
Parola di ROM nel caso di modello di Moore
SS1 SS2 . . . . . . SS m
multiplexer
Rck
X
ROM
Y
Y'
TASK
X' circuito di selezione
SEL
Struttura del SCO nel caso di modello di Moore
Sistemi multifase
i TASKi
X1
i+1
j
0
1
TASKi+1
j+1
1
0X2
1
0
X3
TASKj
TASKj+1
Frammento di sequenza di controllo
i TASKi
X10
1
TASKi+1
1
0
X3
TASKj+1 j
1
0X2
TASKj
Compressione del frammento di sequenza di controllo
j1 j2
T11
T12
Tk1
Tk2
SCO SCA
Temporizzazione di due task per microistruzione
Controllo per strutture Pipeline.
ck
X1 X2 X3 XN Y
TASK1 TASK2 TASKN
Sistemi di calcolo a task fisso nel tempo
ck
X1 X2 X3 XN Y
TASK1 (KT) TASK2 ((K-1)T) TASKN (K-N+1)T)
Sistemi di calcolo a task variabile nel tempo
Y
X1
X2
X3
X j
XN
ckTASK1-1
TASK1-2 TASK1-3
TASK2-1 TASK2-2
TASK3-1
Temporizzazione di una catena pipeline
SCO
TASK1(K)
CK
TASK2(K)
TASK3(K)
TASK1(K-1)
TASK2(K-1)
TASK3(K-1)
TASK2(K-2)
TASK3(K-2) TASK3(K-3)
Architettura SCO per generare TASK sfasati nel tempo