1 / 57

Calcolatori Elettronici Parte IV

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:

moanna
Download Presentation

Calcolatori Elettronici Parte IV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Calcolatori ElettroniciParte IV Registri Progetto di Macchine Sincrone Contatori Registri a scorrimento

  2. T1 T1 T1 u1 u1 u1 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: XN, con X=(x1,x2,…,xk) gli ingressi attivi per la memorizzazione; N=(n1,n2,…,nm) ingressi neutri per “mantenere l’uscita del registro, m1 T R U ….. nj conserva lo stato uj=f(xj) nel caso più generale

  3. Ipotesi • Sequenza di ingresso di natura impulsiva • Basi corrispondenti agli ingressi neutri • b1x1b1 ….. b2x2b2 … b3x3b3 • Registro a Sincronizzazione esterna • Registro autosincronizzato

  4. s=0 s=1 n1 n2 nk x1 x2 xk u q1 q1 q1 .. q1 q1 q2 .. qk u1 q2 q2 q2 .. q2 q1 q2 .. qk u2 q3 q3 q3 .. q3 q1 q2 .. qk u3 … … … … … … … … … .. qk qk qk qk q1 q2 .. qk uk Registro a S. E. I s I=(l1,l2,…,lk) s=(0,1) R

  5. n x1 x2 xk u q1 q1 q1 q2 .. qk u1 q2 q2 q1 q2 .. qk u2 q3 q3 q1 q2 .. qk u3 … … … … … … .. qk qk q1 q2 .. qk uk Registro autosincronizzato Caso concreto: unica base e k ingressi Puramente impulsivi Gli istanti di caricamento sono determinati da uno degli impulsi X=(x1,x2,…,xk) N=(n)

  6. 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

  7. 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”

  8. 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. • Dritardo di posizionamento del registro D R M C P Q u I

  9. Neutri Attivi Q0 Q1 Q2 … … Qn Q0 Q1 Q2 … … Qn Q0 Qx Qy … … Qz Stabili | p. sincrona Modelli reali di Macchine Sincrone (2) D R M C P Q I u

  10. Tempificazione (1) • Occorre garantire che il ritardo D nel posizionamento dei registri sia maggiore della durata degli impulsi, di modo che lo stato non cambi durante la fase di posizionamento, d < D q i p D

  11. Tempificazione (1) • Occorre garantire che il ritardo D nel posizionamento dei registri sia maggiore della durata degli impulsi, di modo che lo stato non cambi durante la fase di posizionamento, d < D q i d p D

  12. Modello Sincronizzato dall’esterno s R D Non esistono problemi tipici delle Macchine 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 M C P Q I u

  13. Modello Sincronizzato dall’esterno: uscite imp. s R D M C P Q I u

  14. 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 vera Parola falsa 0110

  15. 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

  16. Descrizione del Problema • z = 1 • 0000 • 0001 • 0010 • 0011 • 0100 • 0101 • 0110 • 0111 • 1000 • 1001 • z = 0 • 1010 • 1011 • 1100 • 1101 • 1110 • 1111

  17. Tabella Stato/trans e minim.stati

  18. Paul&Unger S0= 0 S1= 1,2 S2= 3,5 S3= 4,6 S4= 7,8,9,11,12,13 S5= 10,14 4 6 1 2 3 5 7 10

  19. 0 0,1 1 1 0 2 3 1 0,1 0 4 5 0/1 1/0 0 0/1 1/1 Macchina a S.R.

  20. 0 1 000 101/1 101/1 001 - - 010 011 011 011 000 110 100 - - 101 010 010 110 101/1 101 111 110 110 Codifica degli Stati • Codificando gli stati con (nell’ordine: y3y2y1) • S0 = 101 • S1 = 010 • S2 = 111 • S3 = 011 • S4 = 110 • S5 = 000 Tabella in codice

  21. Progetto combinatorio per il posizionamento dei FF

  22. RS 00 01 11 10 S S0 S0 S1 - S0 T S1 S1 S1 - S0 0 1 Fp 0 1 1 1 Infatti, per RS e T …

  23. aD kj 00 00 01 01 11 11 10 10 S S S0 S0 S0 S0 S1 S0 S1 S1 S0 S0 S1 S1 S1 S1 S1 S1 S0 S1 S0 S0 Infatti, per D e JK … A=1

  24. 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)

  25. … ovvero per JK • Posso costruire mappe di Karnaugh per i segnali di posizionamento del JK e per le uscite!

  26. y1x y1x 00 00 01 01 11 11 10 10 y3y2 y3y2 00 00 11 -1 1 - - - - - 1 - - 1 - 1 - 1 01 01 - 1 - 1 1 - 1 - 11 11 10 10 - - - - - 1 - 1 Per il primo FF JK ho: J1 = 1 K1 = 1

  27. y1x y1x 00 00 01 01 11 11 10 10 y3y2 y3y2 00 00 - - - - - - - - - 1 - 01 01 - 1 1 - - - 11 11 10 10 - - - - 1 - - 1 Per il secondo FF JK ho: J2 ha diverse f.m. eq., Scelgo J2=y3

  28. y1x y1x 00 00 01 01 11 11 10 10 y3y2 y3y2 00 00 11 -1 - 1 - - - - - 1 - - 1 - 01 01 - - - - 11 11 10 10 - - - - 1 - - 1 Per il terzo FF JK ho:

  29. y1x 00 01 11 10 y3y2 00 1 1 - - 01 1 11 10 - - Per le uscite …. • Per quanto attiene le uscite, se si desidera un’uscita impulsiva, si ha che z’ = c  z (y3y2y1x) • z si ottiene dalla seguente mappa

  30. Circuito

  31. Contatori • Macchine fondamentali • Aritmetica • Funzioni di controllo • Diversi tipi di contatori • Tempificazione • Segnali di ingresso uscita

  32. Contatore Astratto Generalizzato U • Macchina sincrona • .. Anche se la tempificazione interna può essere asincrona u/d div Counter-mod-M EN rp cp r l I

  33. Esempio (1)

  34. Esempio (2) cp 3 2 1 0 0 stato div rp

  35. U u/d div Counter-mod-M EN rp cp r l I 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”

  36. U div Counter-mod-M EN rp cp r l I 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/d

  37. 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

  38. 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 2 3 4 5 6 7 0

  39. Contatori Asincroni ( ) • Un contatore asincrono mod-n che conti i fronti di salitae di discesa può essere realizzato con n stati, se n è pari 0 1 2 3 0

  40. Contatori Asincroni ( opp ) • Un contatore asincrono mod-n che conti i fronti di salitae di discesa può essere realizzato con 2.n stati, se n è dispari 0 1 2 3 4 5 0 1 2 Il ritorno allo stato iniziale È possibile solo se L’ultimo stato è dispari

  41. rp rp rp 0 1 9 cp cp cp mod10 mod10 mod10 Ripple Counter 3 cont. mod. 10  Mod 103 … il contatore del gas …. … non tutte le variazioni di stato dei flip flop sono sincrone con cp Contatore asincrono mod bk

  42. Ripple counter mod 2k Contatore Mod-23 Ripple counter JK con J=K=1 funziona come T, contatore mod-2 Il ripple viene generato quando raggiungo 1. Collegamento in cascata di macchine asincrone

  43. Contatori sincroni • Possono essere progettati con la teoria classica delle macchine sincrone pilotate da un impulso di sincronismo. 000 001 010 011 100 101 110 111 LSB: 0101 2 c.: 0011, passa Da 0 a 1 quando la 1.c. È 1. MSB 000 0 11110 Passa Da 0 a 1 quando la 2.c. è 1.

  44. 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 000 001 010 011 100 101 110 111

  45. Parallel out in a out b Parallel in Registri a Scorrimento • In/out • Ingresso e uscita seriale • a abilitazione allo shift • Parallel In/Out • Abilitato da b

  46. 1 1 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 logico 1 1 1 1 0 0 0 1 1 aritmetico Shift logico e aritmetico

  47. 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 Proprietà dei registri a scorrimento 9 Right Shift Register 9 DIV 2 = 4 Left Shift Register 9*2 = 18

  48. 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 Serializzazione e Rotate b Rotate Left Rotate Right

More Related