COMPLEMENTI

 

terzo modulo



Lezione 1


Il flip-flop

Parlando di macchine elettriche o di reti logiche abbiamo sempre dato per scontato che l’effetto della pressione di un pulsante fosse contemporaneo alla pressione stessa e che esso cessasse al cessare della pressione.

Tutto ciò non si realizza quando utilizziamo una particolare rete logica detta flip-flop.

Possiamo inizialmente immaginarla come una scatola nera con due fili in entrata e due in uscita.

 

I due tasti S e R si chiamano rispettivamente Set e Reset. Se uno dei due viene tenuto premuto perun tempo opportuno (comunque piccolissimo) la tensione all’uscita assume un determinato valore (vedi tabella) e mantiene tale tensione anche dopo che il tasto è stato rilasciato. In uscita U rappresenta il valore memorizzato e V il suo complemento.

Dalla tabella osserviamo che:

Ciò vuol dire che l’ultimo impulso inviato è memorizzato nell’uscita U fino alla prossima pressione di uno dei due tasti e quindi questa misteriosa rete memorizza un bit di informazione. Negli attuali circuiti digitali questo dispositivo costituisce una unità di memoria.

Vediamo ora l’interno della scatola misteriosa:



La configurazione rappresentata è una configurazione stabile in cui S=0 ed R=0; il livello di tensione alto (1) è rappresentato dal colore rosso; quello basso (0) dal colore blu.

Osserviamo che l’incrocio delle entrate e delle uscite genera una retroazione che rende stabile il livello di tensione che si è instaurato in uscita.

Per capire meglio il funzionamento possiamo costruire la seguente tabella, dove sono evidenziate le configurazioni stabili (U'=U e V'=V):



Una visione dinamica del processo di memorizzazione di un bit è offerta dall’applicazione per il progetto e la simulazione di reti logiche disponibile attraverso le pagine ipertestuali di questa unità.

 

 

Ritorno


 


Lezione 2


All’interno di un circuito integrato

Abbiamo visto come si possano memorizzare e recuperare le informazioni per mezzo di circuiti logici. Se vogliamo conoscere come queste informazioni vengono elaborate al fine di far funzionare la nostra calcolatrice tascabile, dobbiamo studiare quali sono i vari blocchi funzionali realizzati all’interno di un circuito integrato e come essi riescono a comunicare fra loro e operare insieme.

Fatta questa premessa osserviamo nella tavola seguente i principali sottosistemi di una calcolatrice e le connessioni (bus) attraverso le quali le informazioni vengono trasmesse da un sottosistema all’altro sotto forma di segnali elettrici.

Con sottosistema indichiamo un sistema più piccolo posto all’interno di uno più grande. Le grosse frecce rappresentano possibili percorsi dei dati fra i vari sottosistemi: ognuno di essi è in realtà costituito da diversi conduttori sui quali transitano simultaneamente i segnali elettrici.



Oltre al codificatore e al decodificatore già citati in precedenza, vi compaiono:

Vi sono poi alcuni registri per la memorizzazione temporanea dei dati fra i quali i più importanti sono:


Come vengono controllati i sottosistemi.

La prima cosa che dobbiamo capire è che tutti i sottosistemi sono direttamente connessi al sottosistema Unità di Controllo tramite una rete di conduttori elettrici, non tutti illustrati nella figura.

Compito dell’Unità di Controllo è di indicare ad ogni sottosistema quando deve agire e che cosa deve fare. L’Unità di Controllo opera interpretando le istruzioni che legge, una alla volta, dalla unità di memoria in cui esse sono memorizzate in modo permanente all’interno del chip; questa componente è chiamata Memoria a microprogramma.

Ciascuna istruzione è stata permanentemente memorizzata in una particolare locazione, ad un particolare indirizzo della Memoria a microprogramma. Ogni locazione di memoria, e quindi l’istruzione che essa contiene, è identificata da un numero detto indirizzo, proprio come numero civico di casa, o numero di telefono. L’Unità di controllo accede in successione a ciascuna istruzione depositando l’indirizzo relativo in una unità di memoria temporanea chiamata Registro di indirizzamento. In seguito, viene attivata la locazione indirizzata, si reperisce l’istruzione e se ne trasferisce immediatamente una copia in un’altra unità di memoria temporanea chiamata Registro delle istruzioni, perché possa venire decodificata ed eseguita dall’Unità di controllo.

Quando accendiamo la calcolatrice, automaticamente l’unità di controllo legge, attraverso la procedura che abbiamo visto, l’istruzione corrispondente alla prima locazione che stabilisce di inizializzare tutte le informazioni presenti nei registri, in particolare azzerando i registri destinati ai dati numerici.

Tutto avviene nel tempo di un ciclo di istruzione mediante un segnale di controllo inviato a tutti i registri che, come detto sopra, sono memorie temporanee per numeri ed altri tipi di informazione.

Nel successivo ciclo di istruzione l’unità di controllo inizia quella che viene chiamata la routine di attesa, eseguendo una istruzione che, tradotta nel linguaggio comune suonerebbe: “Verifica se ci sono segnali provenienti da tastiera. Se non riconosci alcun segnale in arrivo ripeti questa stessa istruzione. Se trovi un segnale, passa alla istruzione successiva”; cioè l’unità aspetta che un tasto qualsiasi venga premuto. Questa routine viene rieseguita anche al termine di qualunque ruotine che l’unità ha eseguito nello svolgimento delle operazioni richieste

Il sottosistema per la decodifica attraverso il display opera contemporaneamente. Il suo compito è di mantenere illuminato il display, visualizzare le cifra che al momento sono rappresentate nel registro del display (BCD), attivare le opportune linee affinché i pixel ricevano corrente ai tempi dovuti. Esso in questo caso visualizza uno 0 (che sarebbe seguito dal punto decimale nelle calcolatrici normali) che é quanto in pratica vediamo prima di iniziare una operazione. (nella nostra simulazione il registro display è un circuito di memorizzazione temporanea di un numero intero a 4 cifre, più l’eventuale segno meno)

Vogliamo ora seguire il percorso dei dati durante l'esecuzione di una operazione o di una sequenza di operazioni.

Il comportamento descritto qui di seguito riguarda la simulazione presente nella applet, ma ognuno potrà constatare che esso è alquanto simile se non uguale a quello della gran parte delle calcolatrici non scientifiche attualmente in uso.

Supponiamo ora di voler calcolare 4x3.


Premiamo il tasto 4

Premiamo ora il tasto 4. Viene trasmesso un segnale su una particolare linea di ingresso dal tasto al sottosistema codificatore di tastiera che abbiamo analizzato nel precedente modulo.

Tale codificatore genera il numero “4” secondo il codice BCD che viene poi convertito in binario e trasmesso al registro X.

Il codificatore invia pure un segnale all’unità di controllo, avvertendola che è stato premuto un tasto numerico. In questo momento, nel registro flag è attivo il bit relativo all’operatore + ; l’unità di controllo porta a 1 anche il bit che serve a rammentargli che è stato premuto il primo tasto per l’esecuzione di un nuovo calcolo, poi invia un segnale al registro display affinché traduca il codice in segnali per il decodificatore. Poiché questo registro possiede posti separati di deposito (nel nostro caso per quattro cifre, nelle calcolatrici usuali per otto) il registro provvede a collocare il “4” nella posizione più a destra salvo poi farlo slittare verso sinistra se vengono premuti ulteriori tasti numerici.




Dopo numerosi cicli di istruzione, in cui l’unità di controllo ha eseguito metodicamente le istruzioni e deciso qual è la successiva istruzione, il nostro “4” è stato visualizzato e l’unità di controllo può tornare alla sua routine di attesa. Tutto ciò ha richiesto una frazione impercettibile di secondo. Si scopre così quante diverse cose devono venire svolte, in un sistema digitale, per eseguire un compito anche molto semplice, e come tutto avvenga in tempi assai rapidi.

Si può dire che è proprio la rapidità il vero segreto del successo dell’elettronica digitale. Ogni lavoro viene scomposto in tanti piccoli passi che possono essere interpretati e/o elaborati da circuiti elettronici relativamente semplici.


Premiamo il tasto x

Quando premiamo il tasto relativo ad un operatore, il codificatore indica all’unità di controllo che ciò è avvenuto.

Riconosciuto che questa volta è stato ricevuto un comando di moltiplicazione, anziché un segnale relativo ad un numero, l’unità di controllo verifica nel registro flag se risultano indicazioni di tasti operativi premuti in precedenza. Visto che supponiamo di aver appena acceso la calcolatrice, nel registro flag è attivato il bit relativo all’addizione. Ciò porta l’unità di controllo ad una nuova istruzione, la prima di una sequenza di istruzioni del programma per effettuare l’operazione in sospeso.

Questa sequenza si compone di tre fasi: per prima cosa il contenuto del registro X (4)viene ricopiato nel registro Y e simultaneamente una copia del contenuto del registro R (0) viene registrata in A;

 




poi l’unità di controllo fa trasferire il contenuto dei due registri Y e A nelle reti logiche dell’Unità Aritmetica alla quale essi sono collegati perché venga effettuato il calcolo richiesto; infine il risultato (4) dell’operazione viene memorizzato nel registro R e da qui ricopiato nel registro X affinché la consueta sequenza di visualizzazione faccia apparire un “4” sul display della calcolatrice.




Anche questa sequenza di operazioni si è svolta in modo rapidissimo e ne troviamo traccia solo nel brevissimo lampeggio del “4” sul display.

Ora l’unità di controllo attiva nel registro flag il bit relativo alla moltiplicazione e riprende la routine di attesa.



Premiamo il tasto 3





Premendo il tasto “3” si attiva la medesima sequenza operativa già vista per la pressione del tasto “4”. Il registro X viene cancellato e vi viene memorizzato il “3” (subito visualizzato sul display), mentre nel registro flag è memorizzata l’indicazione che è iniziata l’inserzione di un nuovo numero.



Premiamo il tasto =

 

La pressione del tasto = viene letta come “esegui il calcolo indicato”. Quindi l’unità di controllo riprende la routine descritta precedentemente.





 

La stessa sequenza verrebbe effettuata anche se al posto dell’uguale si premesse un altro tasto di operazione.

 

Casi particolari

 

 

Ritorno


 

Ritorno al Sommario