SISTEMI DIGITALI COMPLESSI dati d'ingresso SCA (slave) dati di uscita X TASK o comandi condizioni esterne SCO (master) comandi all'esterno Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi di un sistema digitale, può essere suddiviso 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 altro SCA: in caso positivo si modifica il SCA e si torna al punto 4; se no, si passa al punto 2. 6. Sintesi del sistema e verifica del corretto funzionamento.
Sottosistema di Calcolo (SCA) Registri, segnali e operazioni D Q CK EN Cella di un registro Un registro viene indicato con R, il suo contenuto con (R). A B a n-1 a 0 b n-1 b 0 en ck Trasferimento dati tra due registri
Operazioni tra dati contenuti in registri OR A, B: (A)» (B) = Y somma logica bit a bit esempio: (0110)» (1100) = 1110 AND A, B: (A) «(B) = Y prodotto logico bit a bit esempio: (0110) «(1100) = 0100 NOT A: (A) = Y complementazione dei bit esempio: (0110) = 1001 EXOR A, B: (A) (B) = Y or esclusivo bit a bit esempio: (0110) (1100) = 1010 ADD A, B: (A) + (B) = Y somma aritmetica esempio: (0110) + (1100) = 0010 SUB A, B: (A) - (B) = Y sottrazione esempio: (0110) - (1100) = 1010 SR A, k: shift right (scalamento a destra) di k posizioni a i Æ a i-k i = n-1,..., k 0 Æ a h h = n-1,..., k SL A, k: shift left (scalamento a sinistra) di k posizioni a i Æ a i+k i = 0, 1,..., n-k 0 Æ a h h = 0, 1,..., n-k RR A, k: rotate right (rotazione a destra) di k posizioni a i Æ a i-k i = n-1,..., k a h Æ a n-k+h h =0, 1,..., k-1 RL A, k: rotate left (rotazione a sinistra) di k posizioni a i Æ a (i+k)mod n i = 0, 1,..., n INC A, k: DEC A, k: (A) + k ÆA (A) - k Æ A EXCH A, B: (B) Æ A (A) Æ B
Interconnessione registri-circuiti di calcolo R 1 R 2 R 3 R 4 MUX MUX MUX MUX MUX A S L A,S,L: circuiti combinatori che eseguono le operazioni Esempio di interconnessione tra registri e circuiti di calcolo dall'esterno MUX MUX MUX MUX R 1 R 2 R 3 R 4 MUX MUX MUX MUX MUX A S L Interconnessione tra registri e circuiti di calcolo
B1 B1 B2 B2... Bn Bn Wt1 TEMP1 TEMP2 Wt2 R1 R2... Rn ALU shifter W1 W2 Wn B B BA SR BS singola linea linee multiple Interconnessione tra registri e circuiti di calcolo tramite bus
R0 AND AND R1 AND AND...... decoder R7 AND AND R M W M Organizzazione vettoriale dei registri ld R1 R2 R3 R4 d e c o d e r op address TEMP ALU TEMP op S en en ld ld Interconnessione a bus tra registri e circuiti di calcolo
Esempio di interconnessione con tre bus
Sottosistema di Controllo (SCO) La microprogrammazione X Y d w Z Y' CK Rappresentazione Algorithm State Machine Implementazione di d e w tramite ROM } = microprogrammazione
Modello di Mealy s i 1 case i m T 1 T m d 1 d m Modulo elementare della rappresentazione ASM per macchine di tipo Mealy La corrispondente microistruzione ha un formato del tipo: m i : C 1 (T 1,m i1 ), C 2 (T 2,m i2 ),..., C m (T m, m im ) dove C 1, C 2,..., C m (m 2 k, k = n) sono le condizioni derivanti dalle variabili di decisione x 1, x 2,..., x n ; T 1, T 2,..., T m sono le corrispondenti azioni da effettuare; m i1, m i2,...,m im le microistruzioni successive a m i.
SEL SS TASK Struttura della parola di ROM nel caso di modello di Mealy registro SEL X circuito di selezione X' ROM SEL R ck TASK Y' (SS) R ck Y (stato attuale) registro di stato Struttura del SCO nel caso di modello di Mealy X4 X3 X2 X1 X2' X1' Esempio di circuito di mascheramento non codificato
Modello di Moore s / T case i 1 i m d 1 / T 1 d m / T m Modulo elementare della rappresentazione ASM per macchine di tipo Moore La corrispondente microistruzione ha un formato del tipo: m i : T i ; C 1 (m i1 ), C 2 (m i2 ),..., C m (m im ) dove C 1, C 2,..., C m (m 2 k, k = n) sono le condizioni derivanti dalle variabili di decisione x 1,..., x n ; T i è l azione da effettuare; m i1,.., m im le microistruzioni successive a m i. SS 1 SS 2... SS m SEL TASK Parola di ROM nel caso di modello di Moore
TASK ROM SEL SS1 SS2...... SS m multiplexer Y' R Y X' circuito di selezione ck X Struttura del SCO nel caso di modello di Moore
Sistemi multifase i X1 1 TASK i 0 i+1 TASK i+1 j X2 0 TASK j 1 j+1 TASK j+1 1 X3 0 Frammento di sequenza di controllo X1 1 0 i TASK i TASK i+1 j TASK j X2 0 1 TASK j+1 1 X3 0 Compressione del frammento di sequenza di controllo
j 1 j 2 T 11 T 12 SCO T k1 SCA T k2 Temporizzazione di due task per microistruzione
Controllo per strutture Pipeline. TASK1 TASK2 TASKN X 1 X2 X 3 X N Y ck Sistemi di calcolo a task fisso nel tempo TASK1 (KT) TASK2 ((K-1)T) TASKN (K-N+1)T) X 1 X2 X 3 X N Y ck Sistemi di calcolo a task variabile nel tempo
ck X 1 X 2 X 3 TASK1-1 TASK1-2 TASK1-3 TASK2-1 TASK2-2 TASK3-1 X j X N Y Temporizzazione di una catena pipeline TASK1(K) TASK1(K-1) SCO TASK2(K) TASK2(K-1) TASK2(K-2) TASK3(K) TASK3(K-1) TASK3(K-2) TASK3(K-3) CK Architettura SCO per generare TASK sfasati nel tempo