sca sco sistema digitale complesso suddiviso in sco-scaalberto/didattica/calcolatori/... ·...

16
SISTEMI DIGITALI COMPLESSI dati d'ingresso SCA (slave) SCO (master) dati di uscita TASK o comandi X condizioni esterne 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.

Upload: others

Post on 09-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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.

Page 2: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 3: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 4: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 5: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

. . .

. . .

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

Page 6: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

.

.

.

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

Page 7: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

Esempio di interconnessione con tre bus

Page 8: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

Sottosistema di Controllo (SCO)La microprogrammazione

X

Y Y'

Z

CK

d

w

Rappresentazione Algorithm State Machine

} = microprogrammazioneImplementazione di d e w tramite ROM

Page 9: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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.

Page 10: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 11: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 12: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 13: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 14: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

j1 j2

T11

T12

Tk1

Tk2

SCO SCA

Temporizzazione di due task per microistruzione

Page 15: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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

Page 16: SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... · 2007-03-31 · Sistema digitale complesso suddiviso in SCO-SCA Il procedimento di sintesi

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