1 - campionamento 2 - sintesi & analisi 3 - accumulatore 4 - contatore 5 - registro a...

82
1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer Esercizi e applicazioni di Reti sincrone

Upload: elaine-sutton

Post on 31-Dec-2015

37 views

Category:

Documents


2 download

DESCRIPTION

Esercizi e applicazioni di Reti sincrone. 1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer. istanti di sincronismo e intervalli elementari di funzionamento. t. (n-1)T 0. nT 0. (n+1)T 0. ingresso. i n. stato presente. - PowerPoint PPT Presentation

TRANSCRIPT

1 - Campionamento2 - Sintesi & Analisi3 - Accumulatore4 - Contatore5 - Registro a scorrimento6 - Buffer

Esercizi e applicazioni diReti sincrone

Il modello della rete sincrona: comportamento

t

uscita un=F(i,s)n

stato futuro Sn=G(i,s)n

stato presente sn

ingresso in

sn+1

(n-1)T0 nT0 (n+1)T0

istanti di sincronismo e intervalli elementaridi funzionamento

Il modello della rete sincrona: struttura

Retelogica

combinatoriaideale

z1

z2

zm

uscita u(t) = F(i(t),s(t))x1

x2

xn

ingresso i(t)

s(t+ ) = S(t)

RitardoT0

RitardoT0

RitardoT0

yk

y2

y1

stato presentes(t)

Yk

Y2

Y1

stato futuroS(t) = G(i(t),s(t))

7.1Campionamento

Il flip-flop D come “ritardo” di durata T0

Q n+1 = D n

equazionecaratteristicadel FF “D”

(n-1) . T0 n . T0 (n+1) .T0

clock C

D Q

Q’

uscita Q Q n-1 Q n Q n+1

D delay

ingresso D D n-1 D n D n+1

Rete sequenziale sincrona a flip-flop D

z i n = F i (x 1,.., x n , y 1 ,.., y k)n per i = 1, .. , m

y i n+1 = D i n = Y i

n = G i (x 1,.., x n , y 1 ,.., y k)n per i = 1, .. , k

Retecombinatoria

1x1

xn

y1

yk

z1

zm

Y1

Yk

m

t1

tk

Q D

Q Df = 1/T0

Campionamento dei comandi

Vincolo per il corretto funzionamento

T 0 R + RC + SU

ff

clock

t

RC

R: tempo max. di risposta dei FF

RC: tempo max. di risposta della rete comb.

SU: tempo min. di set up dei FF

Addizione in serie

a1

b1

r1

s1

r2

a2

b2

r2

s2

r3

a0

b0

0

s0

r1

Q D

Riportoinizialmente

a “zero”

Frequenza e faseuguali a quelledei bit seriali.

T 0 R + FA + SU

FA

a

b

r

s

R

Addendi in serie Somma in seriet t

Esercizio 7.1

Sia EN un “flag” che segnala la presenza in ingresso al full-adder di bit significativi dei due operandi A e B.

a0 a3 an-1a1 a2

b0 b3 bn-1b1 b2

EN

A

B

Come occorre impiegarlo per avere una corretta esecuzione dellasomma e per disporre di un flag di validità dei bit sull’uscita s ?

7.2Sintesi & Analisi

Il procedimento di sintesi

Il procedimento di sintesi di una rete sequenziale sincronaè formato da 4 passi e consente di dedurne lo schema logico dal comportamento:1: individuazione del grafo degli stati,2: definizione della tabella di flusso,3: codifica degli stati e definizione della tabella delle transizioni,4: sintesi della parte combinatoria e retroazioni con flip-flop.

I° esempio: il riconoscitore di sequenza

Una rete sequenziale sincrona ha un ingresso x ed una uscita z.La relazione ingresso/uscita è descritta dalla seguente frase:

“zn = 1 quando xn = 1 e solo se xn-2 = xn-1 = 1 ”

1x 0 1z 0

N.B. - Reti che classificano stringhe di valori di ingresso consecutivisono usualmente dette “riconoscitori di sequenze”.

1,1

I° esempio: il grafo degli stati

A

x, z0,0

1,0

1,1D

1,0C

0,0

M1

•Si completa il grafo, prendendo in considerazione tutte le altrepossibili situazioni e curando di renderlo “strettamente connesso” (ogni stato deve poter essere raggiunto da ogni altro).

•Si traccia la parte di grafo che riconosce la sequenza assegnata, specificando su ogni ramo il valore d’uscita (durata T0).

I° esempio: macchine equivalenti

Macchine equivalenti - Sono dette equivalenti macchine sequenziali che presentano uno stesso comportamento impiegando un diverso numero di stati: M1 = M2 = M3. La macchina che ha il più piccolo insieme di stati è detta “minima”(M2).

1,1

a

x, z0,0

1,0 b 1,0 c

0,0

M21,1

x, z0,0

1,0 1,0

0,0

0,01,00,0

M3

I° esempio: tabella di flusso di M1

xstato 0 1 A A,0 B,0 B A,0 C,0 C A,0 D,1 D A,0 D,1

N.B. In una rete sequenziale sincrona ogni stato resta presente peralmeno un periodo di clock, ogni cambiamento di ingresso avvieneall’inizio di tali intervalli ed ogni transizione si verifica al termine.La stabilità dello stato presente non è una condizione necessaria perla variazione di ingresso. E’ proprio la assenza di questo vincolo che consente di specificare comportamenti di tipo 2 o di tipo 3.

Codifica degli stati - In una rete sequenziale sincrona la codificadegli stati è arbitraria (2n M, naturalmente!). Il campionamentoa regime dei segnali di stato elimina infatti a priori il problema di errate interpretazioni causate dal loro iniziale disallineamento.

I° esempio: codifica degli stati

xn

y1ny2

n 0 1 A: 00 00,0 10,0 B: 10 00,0 11,0 C: 11 00,0 01,1 D: 01 00,0 01,1

y1n+1 y2

n+1, zn

I° esempio: sintesi della rete di aggiornamento dello stato

Funzioni di eccitazione - Funzioni dello stato e dell’ingresso che specificano i valori da attribuire ai segnali di comando di ciascun flip-flop.

La funzione di eccitazione del flip-flop di tipo D coincide con la funzione della variabile di stato futuro.

Le funzioni di eccitazione del flip-flop di tipo JK vanno opportunamente dedotte da quella della variabile di stato futuro.

Dn = Qn+1

Qn+1 Qn Jn Kn

0 0 0 - 1 1 - 01 0 1 - 0 1 - 1

I° esempio: sintesi di M1 con flip-flop D

D1 = y1n+1 = x.y2’ D2 = y2

n+1 = x.y2 + x.y1 z = x.y2

Ipotesi: si cercano reti minime di tipo SP

Copertura delle funzioni di eccitazione - Il campionamento a regime dei segnali di stato elimina a priori il pericolo di aleestatiche e dinamiche.

0

1

00 01 11 10xy1y2

0 0 0 0

1 0 0 1

0

1

00 01 11 10xy1y2

0 0 0 0

0 1 1 1

0

1

00 01 11 10xy1y2

0 0 0 0

0 1 1 0

y1n+1 y2

n+1 zn

Grafo e tabella di flusso di M3

xstato 0 1

1,1

x, z0,0

1,0 1,0

0,0

0,01,00,0

Codifica e tabella delle transizioni di M3

xn

Q1nQ2

n 0 1

Q1n+1 Q2

n+1 , zn

Sintesi di M3 con flip-flop D

0

1

00 01 11 10xQ1Q2

0 0 0 0

1 1 1 1

0

1

00 01 11 10xQ1Q2

0 0 1 1

0 0 1 1

0

1

00 01 11 10xQ1Q2

0 0 0 0

0 0 1 0

D1n

= Q1n+1 = xn D2

n = Q2n+1 = Q1

n zn = xn. Q1n.Q2

n

Ipotesi: reti minime di tipo SP

D1 Q1 D2 Q2

z

x

ck

Verifica del comportamento:Q1

n+1 = xn

Q2 n+1 = Q1

n = xn-1

z n = (x. Q1. Q2)

n = xn . xn-1. xn-2

Complessità

Complessità di una rete sequenziale sincrona - Se si assumonocome componenti primitivi i gate ed i flip-flop e se si assumecome indice di complessità il n° di componenti, la complessità della realizzazione di un certo comportamento dipende: • dal tipo di grafo con cui lo si è descritto,• dalla codifica adottata per gli stati interni, • dal tipo di flip-flop impiegato sulle retroazioni.

M1 2 D 4 M3 2 D 1

grafo n° flip-flop tipo di flip-flop n° di gate

Esercizio 7.2

Una rete sequenziale sincrona programmabile deve riconoscere, generando un impulso di durata T0 sulla sua uscita z, il verificarsi di un fronte sul suo ingresso x.La rete è dotata di due bit di programmazione p1 e p2. Predisponendo p1=1, p2 =0, la rete deve generare un impulso per ogni fronte di salita di x. Con p1=0, p2 =1, la rete deve generare un impulso per ogni fronte di discesa di x. Con p1=1, p2 =1, l’attivazione temporanea dell’uscita deve verificarsiin corrispondenza sia dei fronti di salita, che di discesa.Progettare la rete ipotizzando che la configurazione p1=0, p2 =0 siavietata.

II° esempio: il semaforo (1)

t

u(t) = P(t)

colore

Specifiche: rosso = 60 sec. giallo = 20 sec. verde = 60 sec.

Ipotesi:T0 = 20 sec.

T0 T1

20 sec.

T2

20 sec.

T3

20 sec.

T5

20 sec.

T4

20 sec.

T6

20 sec.

20 sec.

II° esempio: codifica e funzioni

I 7 stati possono essere codificati con i primi 7 numeri binari.

y1 y2 y3

T0 0 0 0 T1 0 0 1 T2 0 1 0 T3 0 1 1 T4 1 0 0 T5 1 0 1 T6 1 1 0

z1 z2 z3

verde 1 0 0 giallo 0 1 0 rosso 0 0 1

Funzionedi uscita

sn un

0 0 0 1 0 00 0 1 1 0 00 1 0 1 0 00 1 1 0 1 01 0 0 0 0 11 0 1 0 0 11 1 0 0 0 1

sn sn+1

0 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 0 0 0

Funzionedi stato

II° esempio: sintesi con ff D e reti minime SP

(y1 y2 y3) n (y1 y2 y3)

n+1 (z1 z2 z3) n

0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1

0 0 0 1 01 1 1 - 0y1

n+1 = (y1 y2’ + y2 y3) n

00 01 11 10y1 n

y2 ny3

n

0 0 1 0 11 0 1 - 0y2

n+1= (y3 y2’ + y1’ y2 y3’) n

00 01 11 10y1 n

y2 ny3

n

0 1 0 0 11 1 0 - 0y3

n+1= (y2’ y3’ + y1’ y3’) n

00 01 11 10y1 n

y2 ny3

n

0 1 1 0 11 0 0 - 0z1

n = (y1’ y2’ + y1’ y3’) n

00 01 11 10y1 n

y2 ny3

n

0 0 0 1 01 0 0 - 0z2

n = (y2 y3 )n

00 01 11 10y1 n

y2 ny3

n

0 0 0 0 01 1 1 - 1z3

n = (y1) n

00 01 11 10y1 n

y2 ny3

n

Esercizio 7.3

Facendo riferimento al II° esempio di sintesi 1 - progettare i segnali di comando per le lampade di entrambe le direttrici di marcia assumendo di avere a disposizione un DECODER 3:8

III° esempio: conteggio di eventi

La rete sequenziale sincrona di figura deve contare modulo due gli intervalli di tempo in cui si verifica x = 0. Il risultato del conteggio appare su z e viene aggiornato solo al termine di ogni intervallo in cui non si è contato (x = 1). I valori z = 0 e z = 1 indicano rispettivamente che la rete ha visto un numero “pari” ed un numero “dispari” di intervalli con x = 0.

R.S.Sx zck

x

z

III° esempio: grafo degli stati

1,1

d

1,0

a

0,0

0,0

b c0,0

1,0

1,0

0,1

0,1

e f

1,1

0,1

1,1

III° esempio: macchina minima

xstato 0 1 a b,0 a,0 b c,0 d,0 c b,0 a,0 d e,1 d,1 e f,1 a,1 f e,1 d,1

Stati indistinguibili - Sono detti indistinguibili stati a partire dai quali il comportamento della macchina è identico per qualsiasi sequenza di ingresso (esempio: a c, d f).

Sostituendo una “classe” di stati indistinguibili con un unico stato si ottiene una macchina equivalente a quella considerata.

xstato 0 1 a b,0 a,0 b a,0 d,0 d e,1 d,1 e d,1 a,1

a = {a,c}

d = {d,f}

Quarto esempio: contatore BCD con ingresso di enable e autoinizializzazione in max 2 clock

0

0

1

0

1

2

0

1

3

01

4

01

5

01

6

0 17

0

1

8

0

1

9

0

1

15

0

14

01 1

13

0

12

01 1

11

0

10

011

1

Contatore BCDcon ENABLE

e conautoinizializzazione

tabella delle transizioni X

QD QC QB QA 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

QDn+1 QC

n+1 QBn+1 QA

n+1

Per X = 1 eS = 0000, 0001, .., 1001si ha:(S)2

n+1 = (S+1)2n mod 10

Per X = 0 si ha(S)2

n+1 = (S)2n

Un ingresso di questo tipo è denominato comando di ENABLE.

Il procedimento di analisi

Il procedimento di analisi di una rete sequenziale sincronaè formato da 4 passi e consente di dedurne il comportamento dallo schema logico:1: analisi dei segnali di eccitazione di ciascun flip-flop,2: deduzione delle variabili di stato futuro,3: individuazione della tabella delle transizioni,4: tracciamento e studio del grafo degli stati.

espressioni dello stato futuro

Yn+1 = Dn

Tramite l’equazione caratteristica si passa dalle espressioni dellefunzioni di eccitazione a quelle delle variabili di stato futuro.

• Dunque, per ricavare la tabella delle transizioni di una RSS assegnata è sufficiente costruire le mappe associate alle espressioni di Dn

• Dalla tabella delle transizioni si ricava il grafo degli stati

Esempio: registro a scorrimento

D Q Q’

D Q Q’

D Q Q’

Q0

Q1

Q2

x

ck

Q0n+1 = x n

Q1n+1 = Q0

n

Q2n+1 = Q1

n

(Q2 Q1 Q0)n xn = 0 xn = 1

0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1

(Q2 Q1 Q0)n+1

Grafo degli stati

0

000

1

100 1101

1

111

1

011

0

0010

0

01 101010

110

1

0

0

Ogni stato è codificato dalla configurazione corrispondente agli ultimitre valori dell’ingresso. Ad ogni colpo di clock il bit in ingresso entrain Q0, il bit in Q0 “scorre” o “trasla” su Q1, il bit in Q1 su Q2

… e comportamento

APPLICAZIONI• linea di ritardo• riconoscitore di sequenze• convertitore serie/parallelo

D Q Q’

D Q Q’

D Q Q’

ck

x n-1x n x n-2 x n-3

Modulosequenziale

Modulosequenziale

ff gate ff gate

gate ff gate

gate ff

Modulosequenziale

Per fare macchine complesse,occorrono componenti complessi! M. de Lapalisse

Modulosequenziale

Modulosequenziale

Modulosequenziale

Progetto logico e famiglie logiche

7.3Il registro di stato

Il registro per lo stato interno

Retecombinatoria

1x1

xn

y1

yk

z1

zm

Y1

Yk

m

t1

tk

Q D

Q Df = 1/T0

Registro di stato o registro accumulatore - Insieme di flip-flop, azionati dallo stesso clock e singolarmente dotati di un ingresso e di una uscita.

L’applicazione tipica di questo circuito integrato è la realizzazione delle retroazioni di una rete logica sequenziale sincrona.

I comandi dell’accumulatore

Tre esigenze del registro accumulatore :1- inizializzazione,2- aggiornamento, 3- memorizzazione.

Retecombinat.

Registro

Una soluzione molto comoda: avere nel registro anche unaparte combinatoria in grado di interpretare due comandi.

WE RES esigenza descrizione - 1 1 R 0 1 0 2 R G(R,I) 0 0 3 R R

I comandi WE e RES (Registro con N ff D)

Per i = 0, 1, .., N-1Qi

n+1 = (RES’.(Ii WE + Qi . WE’))n

N.B. - Per il reset di un registrosi può anche usare il comando

asincrono CL dei suoi flip-flop.

WEn, In

RESn,Qn 00 01 11 10 00 0 0 1 0 01 1 1 1 0 11 0 0 0 0 10 0 0 0 0 Qn+1

Mux0 z1 A

Ii

WE RES’ CK

Di Qi

ALU e accumulatore

Q0 D0

Q1 D1

Q2 D2

Q3 D3

RES WE

ALU

operando

operando

risultato

operazione iniz./aggiorn./mem.

Esercizio 7.5

Modificare lo schema del contatore BCD al fine di disporre diun comando sincrono di RESET. In caso di contemporaneaattivazione del RESET e del ENABLE, deve prevalere il primo.

7.4Contatore

Il contatore binario x16

CI 4 Bita0 F. A.a1

a2 s0

a3 s1

b0 s2

b1 s3 b2 COb3

Q3 D3

Q2 D2

Q1 D1

Q0 D0

10000

(S)2n = (Q3 Q2 Q1 Q0)2

n

S+1 mod 16

s n sn+1

0000 00010001 00100010 00110011 01000100 01010101 01100110 01110111 10001000 10011001 10101010 10111011 11001100 11011101 11101110 11111111 0000

Forme d’onda

In un contatore binario, l’uscita Q del flip-flop che memorizzail bit di peso 2i è un’onda quadra con periodo doppio di quella presente sull’uscita Q del flip-flop che memorizza il bit di peso 2i-1 .Il primo flip-flop divide per due la frequenza del clock.

ck

Q0

Q1

Q2

Q3

Una rete più semplice per l’incremento

1

0 Q0

Q0 R

0

CI

ab

S

R

r

ab

S

R

0 Qi

Qi R

0

Periodo del clock e complessità della rete

D0 Q0

D1 Q1

D2 Q2

D3 Q3

1

CO = Q3. Q2. Q1. Q0

J0 Q0

K0

J1 Q1

K0

J2 Q2

K2

J3 Q3

K3

1

CO = Q3. Q2. Q1. Q0

T 0 r + 3.g + su T 0 r + 2.g + su

Esercizio 7.6

Progettare la cella i-esima di un contatore binario dotato di comando “up/down”. Quando U/D’ = 1, il contatore deve incrementare di una unità il numero binario che rappresenta il suo stato; quando il comando vale 0, il numero deve essere decrementato.

contatore COU/D’ binario x16 QA QB QC QD

Aumento della base di conteggio

EN contatore CORES binario x16QA QB QC QD

QD QC QB QA “15”

EN contatore CORES binario x16QA QB QC QD

EN contatore CORES binario x16QA QB QC QD

1

QA QB QC QD QE QF QG QH

contatore binario x256

Diminuzione della base di conteggio

EN contatore CORES binario x16QA QB QC QD

rete che riconoscela presenza del numero X

X-2

clock

stato

RESET

X-1 X 1

La nuova basedi conteggio è X + 1

0

Esempio: sintesi del RESET per ottenere base 11

QBn, QA

n

QDn,QC

n 00 01 11 10 00 01 11 10 RES n

0 0 0 00 0 0 0

0 0 - 1- - - -

QDQC QBQA

mintermine

QD QB

rete minima

QD QB QD QC

autoinizializzazionein un solo clock

I° esempio di sintesi con contatori

Una rete sequenziale sincrona ha un ingresso X che assume ilvalore 1 molto di rado e comunque sempre per un solo periododi clock. L’uscita Z deve sia ritardare l’impulso di ingresso diquattro unità di tempo, sia raddoppiarne la durata.

ck

X

Z

I° esempio: grafo degli stati

0,0 1,0 0,0 0,0 0,0 0,1

0,1

Il comportamento è quello di un contatore con base 6 che compieun intero ciclo per ogni evento X = 1

Per realizzarlo si può impiegare un contatore binario x8 dotato dicomandi di ENABLE e di RESET.

I° esempio: progetto di EN, RES, Z

stato X=0 X=1 Zriposo 000 000 001 0

001 010 --- 0010 011 --- 0011 100 --- 0100 101 --- 1101 000 --- 1110 --- --- -111 --- --- -

stato X=0 X=1000 0,0,0 1,0,0001 1,0,0 -,-,-010 1,0,0 -,-,-011 1,0,0 -,-,-100 1,0,1 -,-,-101 -,1,1 -,-,-110 -,-,- -,-,-111 -,-,- -,-,- EN, RES, Z

EN = X + (QC +QB +QA) = X + (QC’QB’QA’)’RES = QC QA

Z = QC

I° esempio: schema logico

EN contatoreRES binario x8QA QB QC

X

Z

II° esempio: orologio digitale

A partire da un oscillatore a 32.768 Hz progettare un orologio digitale in grado di visualizzare ore, minuti e secondi tramite sei display a 7 segmenti

Oscillatore

32.768 Hz

BIN x 32768

Q0……. Q14

(divisore di frequenza)

1 Hz

BCD x 60ENZ

Qi

(secondi)

BCD x 60ENZ

Qi

(minuti)

BCD x 24ENZ

Qi

(ore)

7 7 7

Trascodificada BCD

a 7 segmenti

Trascodificada BCD

a 7 segmenti

Trascodificada BCD

a 7 segmenti

4 4 4

1

7 7 7

Trascodificada BCD

a 7 segmenti

Trascodificada BCD

a 7 segmenti

Trascodificada BCD

a 7 segmenti

4 4 4

0

EN

II° esempio: il contatore dei minuti/secondi

BCD x 60

EN

Z

Qi

BCDRES

ZQA QB QC QD

(decine)EN

BCDRES

ZQA QB QC QD

(unità)EN

Z

Qi

BCD

RES

ZQA QB QC QD

EN

Z = QD• QA

“59”.EN

II° esempio: il contatore delle ore

Qi

BCD x 24

EN

Z

Qi

EN

“23”.EN

Z

BCDRES

ZQA QB QC QD

(unità)EN

BCDRES

QA QB QC QD

Z(decine)

EN

Esercizio 7.7

Ampliare il progetto dell’orologio con• il conteggio dei mesi,• il conteggio degli anni.

Come si può predisporre data e ora?

III° esempio: watch dog

Start

Dato X

ck

Stato 0 X X-1 2 1 0

Fine

X.T0

III° esempio: schema logico

IA IB IC ID LD contatoreEN binario ZU/D’ x16

QA QB QC QD

“15”.(U/D’) + “0”.(U/D’)’

X

Start

0

Fine

7.5Registro

a scorrimento

Shift register

Shift register o registro a scorrimento - Rete sequenziale sincronaformata da N flip-flop D disposti in cascata.

N-bit shift registerSI (serial input) (serial output) SOQ0 Q1 …………………………. QN-1

D Q Q’

D Q Q’

D Q Q’

ck

Universal shift register

APPLICAZIONI• linea di ritardo• convertitore S/P e P/S • conteggio• memoria a circolazione• rotazione verso destra/sinistra • moltiplicazione/divisione per 2i

0 MUX123 A0 A1

Qi

Qi-1

Qi+1

Ii

D Q Q’

Qi

A0n A1

n Qin+1

hold 0 0 Qin

right 1 0 Qi-1n

left 0 1 Qi+1n

load 1 1 Iin

Esempio: conteggio

N-bit shift registerSI (serial input) (serial output) SOQ0 Q1 …………………………. QN-1

N-bit shift registerSI (serial input) (serial output) SOQ0 Q1 …………………………. QN-1

Base: NCodice: 1 su N

Inizializzazione!

Base: 2NCodice: JohnsonInizializzazione!

Esempio: conversioni S/P e P/S

N-bit shift register A0 A1 SI (serial input) Q0 Q1 …………………………. QN-1

I0 I1 …………………………. IN-1

N-bit shift registerA0 A1 (serial output) SO

S/H’ 0

1 S’/L

S/P

P/S

7.6Buffer

Registro buffer

Applicazioni tipiche: • memorizzazione di un dato di ingresso di N bit, • memorizzazione di un dato di uscita di N bit.

Unitàfunzionale

X

Registro buffer (o a latch)- Insieme di N latch CD azionati dallo stesso comando e singolarmente dotati di un ingresso e di una uscita.

Buffer1

Ci: B1 X;

I U

Buffer2

Cu: B2 U;

Y

Il registro buffer wr

Q0

D0

Q1

D1

QN-1

DN-1

C Q

D

C Q

D

C Q

D

.. ed il BUS rd D0 D1 DN-1

Architettura e Registri buffer

Protocollo perl’uso del BUS

Processore

AR

DR Memoria principale

Cella

Unità di ingressoStato

Dato

Unità di uscitaStato

DatoDirect Memory Access

AR*

DR*

Esempio di accesso diretto:AR* memory address;DR* M(AR*);AR* I/O address;I/O(AR*) DR*;

Random Access Memory

Registro # 0

Registro # 1

Registro # 2n - 2

Registro # 2n - 1

Selet./

Distr.

Dato in• scrittura• lettura

Comando• WR (scrittura)• RD (lettura)

Indirizzo di n bitper scegliere il registro

.

.

.

N.B. Al posto del termine“registro” si usa di normail termine “cella”.

C Qj

D

Cella di indirizzo “i”

A0 A1 An-1 WR RD D 0 Dj DN-1

DEC

i

La RAM

I cicli di lettura e di scrittura

• Le celle di una RAM sono registri buffer• I bit di indirizzo, tramite il DEC, scelgono una cella alla volta• I comandi WR, RD stabiliscono se l’accesso è “in lettura” o “in scrittura”.

LETTURA SCRITTURAAddresssignals

RD

WR

Datasignals

tempo di accesso tempo di accesso

Decoder e Matrici di decodifica

C D “decodifica di colonna”

• Proprietà associativa del AND• Minimo (n°gate + n°ingressi)

A

B

“decodifica di riga”

Istruzioni a tre indirizzi

Opcode address address address

Indirizzodel

primooperando

Indirizzodel

secondooperando

Indirizzodel

risultato

ALU e RAM

ALU

B1

B2

RAM

Opcode address address address

1 2 3 RD WR1 2 3 MUX