SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... ·...

Post on 09-Aug-2020

7 views 0 download

Transcript of SCA SCO Sistema digitale complesso suddiviso in SCO-SCAalberto/didattica/calcolatori/... ·...

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