• Non ci sono risultati.

SISTEMI DIGITALI COMPLESSI

N/A
N/A
Protected

Academic year: 2022

Condividi "SISTEMI DIGITALI COMPLESSI"

Copied!
1
0
0

Testo completo

(1)

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.

(2)

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 A

an-1 a0

bn-1 b0

enck Trasferimento dati tra due registri

(3)

Operazioni tra dati contenuti in registri

OR : (A)  (B) = Y somma logica bit a bit esempio: (0110)  (1100) = 1110

AND : (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) = Y or esclusivo bit a bit esempio: (0110)  (1100) = 1010 ADD : (A) + (B) = Y somma aritmetica

esempio: (0110) + (1100) = 0010 SUB : (A) - (B) = Y sottrazione

esempio: (0110) - (1100) = 1010

SR A, k: shift right (scalamento a destra) di k posizioni ai  ai-k i = n-1, ..., k

0  ah h = n-1, ..., k

SL A, k: shift left (scalamento a sinistra) di k posizioni ai  ai+k i = 0, 1, ..., n-k

0  ah h = 0, 1, ..., n-k

RR A, k: rotate right (rotazione a destra) di k posizioni ai  ai-k i = n-1, ..., k

ah  an-k+h h =0, 1,...., k-1

RL A, k: rotate left (rotazione a sinistra) di k posizioni ai  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

(4)

Interconnessione registri-circuiti di calcolo

MUX MUX MUX MUX

A L

MUX

S

R1 R2 R3 R4

Esempio di interconnessione tra registri e circuiti di calcolo

MUX MUX MUX MUX

dall'esterno

MUX MUX MUX MUX

A L

MUX

S

R1 R2 R3 R4

Interconnessione tra registri e circuiti di calcolo

(5)

. . . . . .

R1 B1

R2 B2

Rn Bn

singola linea

linee multiple

shifter ALU

B B

SR BS TEMP2 TEMP1

Wt1 Wt2

Bn B1 B2

BA

W1 W2 Wn

Interconnessione tra registri e circuiti di calcolo tramite bus

(6)

. . .

RM WM

. . .

de

coder

AND R0

R1

R7

AND

AND AND

AND AND

Organizzazione vettoriale dei registri

S

R1 R2 R3 R4

ld

en ld ld

op en

op address

d e c o d e r

TEMP TEMP

ALU

Interconnessione a bus tra registri e circuiti di calcolo

(7)

Esempio di interconnessione con tre bus

(8)

Sottosistema di Controllo (SCO) La microprogrammazione

Rappresentazione Algorithm State Machine

} =

microprogrammazione

Implementazione di  e  tramite ROM

X

Y Y'

Z

CK

(9)

Modello di Mealy

s

T1 Tm

d1 dm

case

i1 im

Modulo elementare della rappresentazione ASM per macchine di tipo Mealy

La corrispondente microistruzione ha un formato del tipo:



i

: C

1

(T

1

,

i1

), C

2

(T

2

,

i2

), . . . , C

m

(T

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;

i1

, 

i2

,...,

im

le microistruzioni successive a 

i

.

(10)

Modello strutturale standard

Struttura della parola di ROM

Se

- n è il numero delle variabili di ingresso - m è il numero delle variabili di stato allora

numero di parole

=

2

n+m

p.e., se

- n =20 - m = 4 allora

numero di parole

=

2

24

(16 Mega)

ECCESSIVO!!!!!

SS TASK

X

Y Y'

Z

CK

(11)

ROM

R

registro SEL

circuito di 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

SEL SS TASK

Struttura della parola di ROM nel caso di modello di Mealy con selezione

X4 X3 X2 X1

X2' X1'

Esempio di circuito di mascheramento non codificato

(12)

Modello di Moore

s / T

case

i1 im

d1/ T1 dm/ Tm

Modulo elementare della rappresentazione ASM per macchine di tipo Moore

La corrispondente microistruzione ha un formato del tipo:



i

: T

i

; C

1

(

i1

), C

2

(

i2

),..., C

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;

i1

,.., 

im

le microistruzioni successive a 

i

.

(13)

Modello strutturale di Moore standard

Struttura della parola di ROM (che implementa la )

Struttura della parola di ROM (che implementa la )

Se

- n è il numero delle variabili di ingresso - m è il numero delle variabili di stato allora

numero delle righe

della prima ROM (che impl. la ) =

2

n+m

p.e., se

- n =20 - m = 4 allora

numero delle righe

=

2

24

(16 Mega)

ECCESSIVO!!!!!

SS

TASK

Task

Y Y’

ck

(14)

Soluzione che permette l’uso di una unica ROM

Stato attuale input Y

1

Y

0

X

2

X

1

X

0

Stato successivo Y’

1

Y’

0

0 0 0 0 0

0 0 0 0 1 . . ...

1 1 1 1 1

Stato attuale

Y

1

Y

0

Uscita Z

1

Z

0

0 0

0 1 1 0 1 1

Rappresentazione tabellare, una per ROM

Stato attuale Y

1

Y

0

X

2

X

1

X

0

000 X

2

X

1

X

0

001

X

2

X

1

X

0

010

X

2

X

1

X

0

011 X

2

X

1

X

0

100 X

2

X

1

X

0

101 X

2

X

1

X

0

110 X

2

X

1

X

0

111

Uscita Z

1

Z

0

0 0 0 1 1 0 1 1

Rappresentazione matriciale, un'unica ROM

(15)

Dimensione della parola della ROM ancora eccessivo

Infatti

numero delle righe

=

2

m

dove ogni riga ha una dimensione pari a m 2

n

+ k

p.e., se

- n =20 - m = 4 - k = 10

allora

dimensione della parola di ROM

=

2

20

+10 (1 Mega)

SS1 SS2 . . . SSm

multiplexer

R ck

X ROM

Y Y'

TASK

'

(16)

Soluzione che riduce le dimensioni della ROM

SS1 SS2 . . . SS m

multiplexer

R ck

X ROM

Y Y'

TASK

X' circuito di selezione SEL

Struttura del SCO nel caso di modello di Moore con circuito di selezione

SS1 SS2 ... SSm SEL TASK

Parola di ROM nel caso di modello di Moore con circuito di selezione

Dove m questa volta è pari alla cardinalità delle variabili

selezionate X’, normalmente 1 o 2.

(17)

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

(18)

Y X1

X2 X3

X j XN ck

TASK1-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

(19)

Sistemi con molti microprogrammi

stato iniziale

OPCODEN

OPCODE1 OPCODE2

microprg.

1 microprg.

2 microprg.

N sequenza

comune

Diagramma di flusso con più microprogrammi

ROM TASK

SEL

sel spostamento base

RESET LOAD

OPCODE

MUX

X ck

Schema di SCO con molti microprogrammi (modello di Mealy)

(20)

SS1 SS2 . . . SSm

multiplexer X

ROM

Y'

TASK

X' circuito di selezione SEL

spostamento base

LOAD RESET

OPCODE

ck

Schema di SCO con molti microprogrammi (modello di Moore)

(21)

Comunicazione tra due sistemi digitali

ck1 ck2

ck1

ck1

ck2

ck2 Dato pronto

Len1

ack1

RDY1 RDY2

Len2

Dato letto FF1

RTx RRx

FF2

FF3 FF4

UTx URx

ack2

Sincronizzazione di due unità in comunicazione

UTx URx

1: datoRTx, 1FF1; 1: 0FF4;

2: if ack1=0, then vai a 2; 2: if RDY2=0, then vai a 2;

3: 0FF1; 3: RTxRRx, 1FF4;

4: if ack1=1, then vai a 4; 4: if RDY2=1, vai a 4 ;

5: i+1i; 5: i+1i;

6: if iN, vai a 1 6: if iN, vai a 1

(22)

Sequenze di microistruzioni eseguite da UTx e URx durante il protocollo di comunicazione

1

2

dato RTx 1 FF1

0 FF1

1

2

0 FF4

RTx RRx 1 FF4

i+1 i

i=N

3 3 i+1 i

ACK1=1 SI

NO

SI ACK1=0 NO

SI

NO

RDY2=1 SI

NO

SI RDY2=0 NO

i=N SI

NO

(23)

ck1 ck2

ck1 ck2

Len1 Len2

FF1

RTx RRx

FF2

UTx URx

S R

D D

sem Q

ack1 Q RDY2

Sincronizzazione tra due unità in comunicazione mediante flip-flop di semaforo

1

2

dato RTx

Attesa sul sem

1

2

RTx RRx Reset sem

i+1 i

i=N

3 3 i+1 i

SI ACK1=0 NO

SI

NO

RDY2=1 SI

NO

i=N SI

NO Set sem

Attesa sul sem

(24)

Sequenze di microistruzioni eseguite da UTx e URx durante il protocollo di comunicazione

UTx URx

1: datoRTx, set sem; 1: if RDY2=0, vai a 1;

2: if ack1=0 vai a 2; 2: RTxRRx, reset sem;

3: i+1i; 3: i+1i;

4: if iN, vai a 1; 4: if iN, vai a 1;

Riferimenti

Documenti correlati

Al fine della corretta remunerazione delle attività svolte all’interno del percorso della Rete cardiologica (ad esempio il centro Hub che esegue la PTCA primaria ma non ricovera

“io penso perché queste (sette), fondamentalmente, non ti chiedono un cambio nello stile di vita, per cui te continui a fare i tuoi sporchi affari, la tua vita borghese… dai

Poi si presenteranno i vari personaggi: Luca reciterà la parte di una scimmietta ghiotta di pesche, Lucia farà finta di essere una signora con il mal di schiena e Giulio sarà

Trovare la tensione di ognuna di esse Forze: di gravit` a, tensione delle funi Nel punto in cui le funi si incontrano la risultante deve essere nulla. Il momento rispetto a questo

Consigliera di Parità Regione Calabria Consigliera di Parità Regione Molise Consigliera di Parità Regione Sicilia Consigliera di Parità Regione Lazio Consigliera di Parità

Trovare l’equazione della retta che passa per il punto nale alla retta di equazione... Risolvere il

Si risolva se possibile

27 ad iniziativa dei Consiglieri Bora, Mangialardi, Biancani, Carancini, Casini, Cesetti, Mastrovincenzo, Vitri, Santarelli, concernente: “Effettività dei diritti di