Nell’articolo di oggi vedremo una introduzione su quello che serve conoscere per capire come funziona un processore. Arriviamo subito al sodo vedendo gli step per realizzare un progetto di circuiti logici.
Ci sono diversi livelli progettuali per un sistema:
- Progetto a livello elettrico:
- il sistema viene modellato come interconnessione di componenti (resistori, condensatori, induttori ecc.) connessi in serie o in parallelo;
- Progetto a livello transistor (o switch):
- il sistema viene visto come interconnessione di transistor, considerati come interruttori pilotati dal segnale di base. Il transistor è chiuso/aperto quando il segnale di base ha una tensione inferiore/maggiore ad una certa soglia;
- Progetto a livello porte logiche (o gate):
- le porte logiche sono elementi operanti su variabili binarie. Le informazioni trattate a questo livello sono segnali binari. Idealmente, ogni linea de circuito può assumere due soli valori di tensione (0 o 1);
- Progetto a livello di registri (o RT): i
- l sistema viene considerato come un insieme di moduli opportunamente connessi tra loro, ciascuno dei quali è costituito da diverse porte logiche e svolge una funzione specifica;
- Progetto a livello di sistema;
Un ingegnere elettronico si occupa dei primi due punti, mentre un ingegnere informatico si occupa degli ultimi tre (tendenzialmente).
Inoltre ci sono delle linee guida per quanto concerne il progetto di circuiti logici:
- i componenti possono corrispondere ad entità fisiche (circuiti integrati, schede, ecc.) o a moduli predefiniti (ad esempio appartenenti ad una libreria);
- ogni componente deve essere il più indipendente possibile, in modo da poter essere sviluppato o modificato in maniera indipendente;
- in molti casi il progettista conosce le funzioni e le caratteristiche di un modulo, senza conoscere i dettagli sulla sua implementazione (black box);
Un’altra nozione importante per comprendere il funzionamento del processore è il concetto di ritardo associato a un circuito.
L’uscita di una porta logica assume il valore corretto solo dopo che è trascorso un certo tempo k dalla stabilizzazione dei segnali di ingresso:
- Dato un circuito combinatorio, a fronte di un cambiamento nel valore degli ingressi esso richiede un certo tempo prima di produrre il valore di uscita corrispondente;
- è buona norma non applicare un nuovo cambiamento sino a che la propagazione degli effetti del precedente non si è completamente esaurita;
- La conoscenza del tempo massimo necessario al circuito per assumere la nuova configurazione di uscita è cruciale per sapere con quale frequenza massima si possono applicare i vettori agli ingressi del circuito;
- Conoscendo i ritardi associati alle porte logiche è possibile calcolare il tempo massimo di risposta di un circuito combinatorio;
- Tale tempo dipende dal numero massimo di porte appartenenti ad uno stesso cammino dagli ingressi alle uscite che devono commutare al mutare del vettore di ingresso;
- Assumendo che i ritardi delle porte siano uguali, tale tempo è proporzionale alla profondità del circuito, ossia al massimo numero di porte che si incontrano lungo un qualsiasi cammino da un ingresso a un’uscita;
Il cammino lungo il quale il ritardo (con cui una variazione in ingresso si propaga sulle uscite) è massimo si definisce cammino critico.
La lunghezza del cammino determina:
- il tempo minimo, a partire da una modifica degli ingressi, che è necessario aspettare prima di osservare una variazione dei valori sulle uscite;
- la massima frequenza con cui si possono applicare i vettori d’ingresso al circuito;
- Ridurre la lunghezza del cammino critico permette quindi di migliorare le prestazioni (in termini di velocità) dei circuiti. La lunghezza del cammino critico è pari alla somma dei ritardi associati alle porte che compongono il cammino.
Come calcolare il cammino critico?
- Se le porte hanno tutte lo stesso ritardo: un cammino da un ingresso a un’uscita composto dal massimo numero di porte è il cammino critico;
- Se le porte hanno ritardi diversi: il cammino critico equivale al cammino pesato (usando come pesi i ritardi delle varie porte) avente peso massimo (in tal caso non è necessariamente il cammino di lunghezza massima).
Nel, prossimo articolo vedremo la differenza nel dettaglio tra circuiti combinatori con i circuiti sequenziali.
Iscriviti ai nostri gruppi Telegram
Link utili