calcolatori elettronici parte iv

57
Calcolatori Elettronici Parte IV Registri Progetto di Macchine Sincrone Contatori Registri a scorrimento

Upload: moanna

Post on 14-Feb-2016

81 views

Category:

Documents


0 download

DESCRIPTION

Calcolatori Elettronici Parte IV. Registri Progetto di Macchine Sincrone Contatori Registri a scorrimento. T 1. T 1. T 1. u 1. u 1. u 1. Registri. Un registro atto a memorizzare un dato tipo T a cardinalità k è una MS avente: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Calcolatori Elettronici Parte IV

Calcolatori ElettroniciParte IV

RegistriProgetto di Macchine SincroneContatoriRegistri a scorrimento

Page 2: Calcolatori Elettronici Parte IV

Registri Un registro atto a memorizzare

un dato tipo T a cardinalità k è una MS avente:

k stati di uscita (u1,u2,…,uk) ciascuno associato ad un valore da memorizzare

t stati di ingresso (t>k) , T suddiviso in due sottoinsiemi:

XN, con X=(x1,x2,…,xk) gli ingressi attivi per la memorizzazione; N=(n1,n2,…,nm) ingressi neutri per “mantenere l’uscita del registro, m1

R

T

UT1

u1

T1

u1

T1

u1

…..nj conserva lo stato uj=f(xj) nel caso più generale

Page 3: Calcolatori Elettronici Parte IV

Ipotesi Sequenza di ingresso di natura impulsiva Basi corrispondenti agli ingressi neutri

b1x1b1 ….. b2x2b2 … b3x3b3

Registro a Sincronizzazione esternaa Sincronizzazione esterna Registro autosincronizzatoautosincronizzato

Page 4: Calcolatori Elettronici Parte IV

Registro a S. E.

R

I s I=(l1,l2,…,lk)s=(0,1)

ukqk..q2q1qkqkqkqk..………………………u3qk..q2q1q3..q3q3q3u2qk..q2q1q2..q2q2q2u1qk..q2q1q1..q1q1q1uxkx2x1nkn2n1

s=0 s=1

Page 5: Calcolatori Elettronici Parte IV

Registro autosincronizzatoX=(x1,x2,…,xk)N=(n)

Caso concreto: unica base e k ingressi Puramente impulsiviGli istanti di caricamento sono determinatida uno degli impulsi

ukqk..q2q1qkqk..………………u3qk..q2q1q3q3u2qk..q2q1q2q2u1qk..q2q1q1q1uxkx2x1n

Page 6: Calcolatori Elettronici Parte IV

Tempificazione dei Registri Registri “latch”

Catturano l’ingresso per tutti il tempo in cui è presente una variabile impulsiva attiva

È valido finchè effettivamente gli ingressi sono impulsivi

Registri a “derivazione del fronte” Es. Accoppiamento capacitivo .. Per ottenere impulsi sufficientemente

brevi

Page 7: Calcolatori Elettronici Parte IV

Tempificazione dei Registri (2) Registri “edge triggered”

La variazione dell’uscita avviene in corrispondenza di una variazione di livello di una variabile impulsiva reale

Registri “Master Slave”

Page 8: Calcolatori Elettronici Parte IV

Modelli reali di Macchine Sincrone (1)

R è usato per memorizzare gli stati della macchina

I impulsivi P uscite di posizionamento

dello stato, impulsive e p=p(q,i)

U a livelli o imp. ritardo di

posizionamento del registro

M C

Iu

P

Q

RR

Page 9: Calcolatori Elettronici Parte IV

Modelli reali di Macchine Sincrone (2)

M C

I u

PQ

RR

Q0Q1Q2……Qn

Neutri AttiviQ0Q1Q2……Qn

Q0QxQy……Qz

Stabili | p. sincrona

Page 10: Calcolatori Elettronici Parte IV

Tempificazione (1) Occorre garantire

che il ritardo nel posizionamento dei registri sia maggiore della durata degli impulsi, di modo che lo stato non cambi durante la fase di posizionamento,

<

q

i

p

Page 11: Calcolatori Elettronici Parte IV

Tempificazione (1) Occorre garantire

che il ritardo nel posizionamento dei registri sia maggiore della durata degli impulsi, di modo che lo stato non cambi durante la fase di posizionamento,

<

q

i

p

Page 12: Calcolatori Elettronici Parte IV

Modello Sincronizzato dall’esterno

M C

I u

PQ

RRs

)',(''

)(.

)(

0

IQPP

VLfasc

VLfal

ii

iikk

Non esistonoNon esistono problemi tipici delleMacchine a livelli (alee multiple, statiche)In quanto l’uscita P’ risulta inattiva (in assenza di impulso s) per il caricamento del registro occorre garantire che la variazione dei livelli non sia Sincrona con il fronte attivo di s

es.. Apparecchiatura di clock a due fasi

Page 13: Calcolatori Elettronici Parte IV

Modello Sincronizzato dall’esterno: uscite imp.

M C

I u

PQ

RR

s

Page 14: Calcolatori Elettronici Parte IV

Esercizio Si costruisca una rete nella quale entrano

serialmente i bit di un codice decimale 8-4-2-1 a partire dal bit meno significativo e dalla quale esca un segnale che individui se i quattro bit costituiscono o meno una delle 10 parole-codice previste.

?Parola veraParola falsa

0110

Page 15: Calcolatori Elettronici Parte IV

Specifiche Si assegna ad un segnale a livelli x la

rappresentazione del bit del codice, e ad un clock la tempificazione.

In sincronia con il 4 bit, z = 1 indica la correttezza del codice.

Macchina Sincrona a sincronizzazione esterna

Page 16: Calcolatori Elettronici Parte IV

Descrizione del Problema z = 1

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

z = 0 1010 1011 1100 1101 1110 1111

Page 17: Calcolatori Elettronici Parte IV

0

1

1/0

3

7 8

1/0 0/0

1/0

4

9 10

1/0 0/0

0/0

2

0/0

5

11 12

1/0 0/0

1/0

6

13 14

1/0 0/0

0/0

0

1/0,0/1 1/0,0/11/0,0/1

1,0/1 1/0,0/11/0,0/1

1/0,0/1 0,1/1

Page 18: Calcolatori Elettronici Parte IV

Tabella Stato/trans e minim.stati

1 0 1 00 1/0 2/0 0 1/0 2/01 3/0 4/0 1 3/0 4/02 5/0 6/0 2 5/0 6/03 7/0 8/0 3 7/0 8/04 9/0 10/0 4 9/0 10/05 11/0 12/0 5 11/0 12/06 13/0 14/0 6 13/0 14/07 0/0 0/1 7 0/0 0/18 0/0 0/1 8 0/0 0/19 0/0 0/1 9 0/0 0/110 0/1 0/1 11 0/0 0/111 0/0 0/1 12 0/0 0/112 0/0 0/1 13 0/0 0/113 0/0 0/1 10 0/1 0/114 0/1 0/1 14 0/1 0/1

Page 19: Calcolatori Elettronici Parte IV

Paul&Unger1 0

0 1/0 2/0 1 1-3;2-41 3/0 4/0 2 1-5;2-6 3-5;4-62 5/0 6/0 3 1-7;2-7 3-7;4-7 5-7;6-73 7/0 7/0 4 1-7;2-10 3-7;4-10 5-7;6-10 07-ott4 9/0 10/0 5 1-7;2-7 3-7;4-7 5-7;6-7 07-ott5 11/0 7/0 6 1-7;2-10 3-7;4-10 5-7;6-10 07-ott 07-ott6 13/0 10/0 77 0/0 0/1 1010 0/1 0/1 0 1 2 3 4 5 6 7

4 63 5

1 2

S0= 0S1= 1,2S2= 3,5S3= 4,6S4= 7,8,9,11,12,13S5= 10,147 10

Page 20: Calcolatori Elettronici Parte IV

Macchina a S.R.1 0

S0 S1/0 S1/0S1 S2/0 S3/0S2 S4/0 S4/0S3 S4/0 S5/0S4 S0/0 S0/1S5 S0/1 S0/1

0

1

0,1

23

1 0

5

0

00/11/1

4

10,1

0/11/0

Page 21: Calcolatori Elettronici Parte IV

Codifica degli Stati Codificando gli stati con

(nell’ordine: y3y2y1) S0 = 101 S1 = 010 S2 = 111 S3 = 011 S4 = 110 S5 = 000

 000 101/1 101/1001 - -010 011 011011 000 110100 - -101 010 010110 101/1 101111

0 1

110 110

Tabella in codice

Page 22: Calcolatori Elettronici Parte IV

Progetto combinatorio per il posizionamento dei FF

SR JK DS R J K D

00 0 - 0 - 001 1 0 1 - 110 0 1 - 1 011 - 0 - 0 1

Page 23: Calcolatori Elettronici Parte IV

Infatti, per RS e T …

S0-S1S1S1S0-S1S0S010110100RSS

T

11

1010Fp

Page 24: Calcolatori Elettronici Parte IV

Infatti, per D e JK …

S0S1S1S1S1S0S1S0S0S010110100aDS

S0S0S1S1S1S0S1S1S0S010110100kjS

A=1

Page 25: Calcolatori Elettronici Parte IV

Tornando al progetto … Scegliendo Flip Flop di tipo JK,

bisognerà progettare 6 segnali di posizionamento:

  J1= J1( y3y2y1x), K1= K1(y3y2y1x) J2= J2(y3y2y1x), K2= K2(y3y2y1x) J3= J3(y3y2y1x), K3= K3(y3y2y1x)

Page 26: Calcolatori Elettronici Parte IV

… ovvero per JK Posso costruire

mappe di Karnaugh per i segnali di posizionamento del JK e per le uscite!

JKJ K

00 0 -01 1 -10 - 111 - 0

Page 27: Calcolatori Elettronici Parte IV

Per il primo FF JK ho:

11 1 - -1 1 - -1 1 - -- - - -

y1x

y3y2

00

011110

00 01 11 10-1 - - -- - 1 1- - 1 1- - 1 1

y1x

y3y2

00

011110

00 01 11 10

J1 = 1 K1 = 1

Page 28: Calcolatori Elettronici Parte IV

Per il secondo FF JK ho:

- -

- - - -

- - - -

- - 1 1

y1x

y3y2

00

01

1110

00 01 11 10- - - -

1

1 1

- - - -

y1x

y3y2

00

01

1110

00 01 11 10

31312 yyxyyK J2 ha diverse f.m. eq.,Scelgo J2=y3

Page 29: Calcolatori Elettronici Parte IV

Per il terzo FF JK ho:

11 1 - -

1 1

- - - -

- - - -

y1x

y3y2

00

01

1110

00 01 11 10-1 - - -

- - - -

- - 1 1

y1x

y3y2

00

01

1110

00 01 11 10

xyJ 23 23 yK

Page 30: Calcolatori Elettronici Parte IV

Per le uscite …. Per quanto attiene le uscite, se si desidera

un’uscita impulsiva, si ha chez’ = c z (y3y2y1x)

z si ottiene dalla seguente mappa

1 1 - -

1- -

y1x

y3y2

00

011110

00 01 11 10

).( 2113 yyxyycz

Page 31: Calcolatori Elettronici Parte IV

Circuito

Page 32: Calcolatori Elettronici Parte IV

Contatori Macchine fondamentali

Aritmetica Funzioni di controllo

Diversi tipi di contatori Tempificazione Segnali di ingresso uscita

Page 33: Calcolatori Elettronici Parte IV

Contatore Astratto Generalizzato

Macchina sincrona .. Anche se la

tempificazione interna può essere asincrona

Counter-mod-M

u/dENcp

div

rp

I

U

r l

Page 34: Calcolatori Elettronici Parte IV

Esempio (1)

Q0/UO

Q1/U1

Q2/U2

Q3/U3

cp

cpcp

cp

Not(cp)

Not(cp)

Not(cp)

Not(cp)

Page 35: Calcolatori Elettronici Parte IV

Esempio (2)

0 1 2 30

rp

div

stato

cp

Page 36: Calcolatori Elettronici Parte IV

Contatore Astratto Generalizzato

Cp Conteggio u/d: up o down EN: enable generale al

conteggio div

Divisore Ho tutti 0 tranne un 1 tra i

conteggi rp

Ripple Asserito se ho “carry” oppure “borrow”

Counter-mod-Mu/dENcp

divrp

I

U

r l

Page 37: Calcolatori Elettronici Parte IV

Contatore Astratto Generalizzato (2)

U Uscita

I Ingresso omogeneo con U

L Load: se attivo inizializza ad I

l’uscita U r

Reset, se attivo produce l’azzeramento di U

P: preset, pone il valoe M-1 ad U

u/dCounter-mod-MEN

cp

divrp

I

U

r l

Page 38: Calcolatori Elettronici Parte IV

Sincroni e Asincroni Asincrono

Macchina sequenziale avente come ingresso una variabile di conteggio, della quale conta solo i fronti di salita, di discesa oppure entrambi

Almeno uno dei bistabili non riceve in ingresso il segnale di conteggio ed il suo eventuale cambiamento dis tato è determinato solo dalla sua funzione stato prossimo, che dipende dallo stato degli altri bistabili

Sincrono Macchina di Moore

Tutti i bistabili che costituiscono la memoria del contatore ricevono simultaneamente in ingresso il segnale di conteggio e tutti quelli che devono commutare commutano simultaneamente

Page 39: Calcolatori Elettronici Parte IV

Contatori Asincroni ( opp )

Un contatore asincrono mod-n che conti i soli fronti di salita o di discesa può essere realizzato con 2.n stati

0 1 u0 0 1 01 2 1 02 2 3 13 4 3 14 4 5 25 6 5 26 6 7 37 0 7 3

0 1 2 3 4 5 6 7 0

Page 40: Calcolatori Elettronici Parte IV

Contatori Asincroni ( ) Un contatore

asincrono mod-n che conti i fronti di salita e di discesa può essere realizzato con n stati, se n è pari

0 1 u0 0 1 01 2 1 12 2 3 23 0 3 3

0 1 2 3 0

Page 41: Calcolatori Elettronici Parte IV

Contatori Asincroni ( opp )

Un contatore asincrono mod-n che conti i fronti di salita e di discesa può essere realizzato con 2.n stati, se n è dispari

0 1 u0 0 1 01 2 1 12 2 3 23 4 3 04 4 5 15 0 5 2

0 1 2 3 4 5 0 1 2

Il ritorno allo stato inizialeÈ possibile solo se L’ultimo stato è dispari

Page 42: Calcolatori Elettronici Parte IV

Ripple Counter

910mod10mod10mod10

cp

rprprp

cpcp

… … il contatore del gas ….il contatore del gas …. 3 cont. mod. 10 3 cont. mod. 10 Mod Mod 101033

Contatore asincrono mod bk… non tutte le variazioni di statodei flip flop sono sincrone con cp

Page 43: Calcolatori Elettronici Parte IV

Ripple counter mod 2k

JK con J=K=1 funziona come T, contatore mod-2Il ripple viene generato quando raggiungo 1.

ContatoreMod-23

Ripple counter

Collegamento in cascata di macchine asincrone

Page 44: Calcolatori Elettronici Parte IV

Contatori sincroni Possono essere

progettati con la teoria classica delle macchine sincrone pilotate da un impulso di sincronismo.

000001010011100101110111

LSB: 01012 c.: 0011, passaDa 0 a 1 quando la 1.c. È 1.MSB 000 0 11110Passa Da 0 a 1 quando la 2.c. è 1.

Page 45: Calcolatori Elettronici Parte IV

Contatori sincroni Usando ff T sincroni come v. di stato, ho

le funzioni di posizionamento:T0=1; T1= Q0; T2= Q0 Q1

Generalizzando…Tk=Q0 Q1 ….. Qk-1

000001010011100101110111

Page 46: Calcolatori Elettronici Parte IV
Page 47: Calcolatori Elettronici Parte IV

Registri a Scorrimento In/out

Ingresso e uscita seriale

abilitazione allo shift

Parallel In/Out Abilitato da

in

Parallel in

out

Parallel out

Page 48: Calcolatori Elettronici Parte IV

Shift logico e aritmetico11000111

10001110 1logico

10001111 1aritmetico

Page 49: Calcolatori Elettronici Parte IV

Proprietà dei registri a scorrimento

10010000

Right Shift Register

00100000

9

9 DIV 2 = 4

01001000 9*2 = 18Left Shift Register

Page 50: Calcolatori Elettronici Parte IV

Serializzazione e Rotate

01001000

01001000

Rotate LeftRotate Right

Page 51: Calcolatori Elettronici Parte IV

Shift Circolari usati come contatori1000000001000000001000000001000000001000000001000000001000000001

Shift register con 8 bitcontatore modulo 8

Page 52: Calcolatori Elettronici Parte IV

Contatori Johnson00000000100000001100000011100000111100001111100011111100111111101111111101111111001111110001111100001111000001110000001100000001

00000011

Cont. Mod-16

Page 53: Calcolatori Elettronici Parte IV

Progetto di Sistemi

A B

go

done

x1

x2

go

Not(done)

b0

bn

go

done

Not(go)

Page 54: Calcolatori Elettronici Parte IV

Parallelo, Serie, Retroazione

M1

M2

parallelo

M1 M2

serie

M1

M2

feedback

Page 55: Calcolatori Elettronici Parte IV

Esempio riconoscitore 8421

Contatore mod-4 (abcd)

Un dispositivo che mi dice se sto a destra o sinistra del grafo a seconda degli ingressi

0

1

0,1

2 3

1 0

5

0

0 0/11/1

4

10,1

0/11/0

a

b

c

d

Page 56: Calcolatori Elettronici Parte IV

Ovvero

McounterMod-4

z0

z1

xclock

a bb cc dd a

Counter mod-4a=(0); b=(1); c=(2,3); d=(4,5)

A=(0,1,2,4); B=(3,5)

Page 57: Calcolatori Elettronici Parte IV

Ovvero …0

1

0,1

2 3

1 0

5

0

0 0/11/1

4

10,1

0/11/0

a

b

c

d

A=(0,1,2,4); B=(3,5)

1a 0a 1b 0b 1c 0c 1d 0dA A/

0A/0

A/0

B/0

A/0

A/0

A/0

A/1

B - - - - A/0

B/0

A/0

A/1

a=00B=01c=10d=11A=0B=1

Codifica: