Come funziona una CPU: Flip-Flop SR asincrono #0.1

Nell’articolo di oggi vedremo in breve cosa è un circuito combinatorio e cosa è un circuito sequenziale e analizzeremo nel dettaglio il funzionamento del flip-flop SR asincrono.

Negli articoli precedenti abbiamo visto:

Arriviamo subito al sodo. Un circuito si dice

  • Combinatorio:
    • i valori delle uscite dipendono esclusivamente dai valori applicati agli ingressi in quell’istante;
  • Sequenziale:
    • i valori delle uscite dipendono sia dai valori correnti degli ingressi, sia dalla storia passata del sistema (dai valori applicati in precedenza)
    • implementano funzioni dipendenti dal tempo
    • sono in grado di memorizzare informazioni
    • sfruttano i ritardi delle porte (mediante i flip-flop).

Il flip-flop è un elemento circuitale in grado di memorizzare un bit (funzionalmente non è poi tanto diverso dalle memorie RAM, ROM, Flash, etc.) che opera insieme alle porte logiche all’interno di un circuito. Può essere costruito violando una delle regole dei circuiti combinatori ben formati: quella che prevede l’assenza di cicli all’interno del circuito stesso.

Per quanto riguarda il flip-flop SR asincrono è formato da due porte NOR.

Il flip-flop SR asincrono ad ogni colpo di clock viene testato il valore degli ingressi S e R. Se i valori negli ingressi valgono entrambi 1 viene memorizzato il valore 1.

flip-flop

Consideriamo due ingressi S (set) ed R (reset) di un flip-flop SR asincrono (cioè privo di segnale di Clock) e due corrispondenti uscite y2 ed y1, si ha:

  • se S=0, R=1:
    • forza uno 0 su y1 (infatti la porta NOR avente R=1 per ingresso produce 0 in uscita, indipendentemente dal valore dell’altro ingresso);
  • se S=1, R=0:
    • forza un 1 su y1 (infatti la porta NOR avente S=1 per ingresso produce 0 in uscita indipendentemente dal valore dell’altro ingresso e la seconda porta NOR, ricevendo quindi due 0 in ingresso, produce in uscita un 1);
  • se S=0, R=0:
    • mantiene il valore su y1. Non possiamo prevedere quale valore assumeranno le uscite, sapendo solamente che uno dei due ingressi di ciascuna porta NOR è pari a 0, però possiamo fare delle ipotesi:
      • supponendo y1 = 0: la prima porta NOR riceve due 0 in ingresso e pertanto produce un 1 in uscita che diventa ingresso della seconda porta NOR, la quale produce quindi uno 0 in uscita;
      • supponendo y1 = 1: la prima porta NOR riceve un 1 ed uno 0 in ingresso e pertanto produce uno 0 in uscita che diventa ingresso della seconda porta NOR, la quale produce quindi un 1 in uscita;
    • In entrambi i casi, y1 mantiene il proprio valore!
    • Il flip-flop è quindi in grado di memorizzare un bit a tempo indeterminato, in attesa di nuove istruzioni in ingresso o fino a quando non si spegne il circuito;
  • se S=1, R=1:
    • la transizione da questa configurazione a quella S=0, R=0 produce in uscita un valore indeterminato!
    • Infatti, il valore in uscita dipende dalla velocità con cui ciascuna porta NOR esegue la transizione tra le due configurazioni. Consideriamo i ritardi associati alle porte NOR, ∆2 e ∆1 (in ordine di “visualizzazione” del circuito, da sinistra a destra).
      • Se ∆2 < ∆1, la prima porta NOR avverte rapidamente la variazione del proprio ingresso S da 1 a 0. Il suo altro ingresso tuttavia, essendo prodotto in uscita dalla seconda porta NOR, rimane 0 perché quest’ultima non fa in tempo a rilevare la variazione del proprio ingresso R da 1 a 0. La prima porta NOR commuta quindi la propria uscita in 1 (avendo due 0 in ingresso). La seconda porta NOR riceve in ingresso l’1 prodotto dalla prima porta NOR e perciò, indipendentemente dal valore del suo altro ingresso R, continuerà a mantenere in uscita il valore 0!
      • Viceversa, se ∆2 > ∆1, con un ragionamento analogo si conclude che la seconda porta NOR mantiene la propria uscita ad 1!
    • La configurazione S=1, R=1 è vietata!

Vediamo la tavola degli stati nella tabella sottostante. Ciascuno stato è rappresentato dal valore assunto e mantenuto dall’uscita y (y1 nella precedente immagine), ovvero dal valore memorizzato all’interno del flip-flop. A seconda della configurazione d’ingresso SR si ottiene uno specifico valore in uscita, come descritto nel paragrafo precedente.

flip-flop

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.