Sistemi e Reti
DidatticaSistemi e Reti → I Circuiti integrati



I Circuiti integrati


I circuiti integrati sono il cuore pulsante di un Computer perchè permettono di eseguire funzionalità di processamento ed elaborazione di dati in ingresso al fine di restituire dati in uscita sottoforma di segnali elettrici.



Fig. 1 - Circuito integrato

Come mostrato in Fig. 1, i circuiti integrati sono costituiti all’interno di un cristallo di silicio (chip) su cui sono presenti le varie microcomponenti con una serie di microfili che li connettono tra di loro. I circuiti sono poi dotati di piedini (pin) che consentono al circuito di interfacciarsi con il mondo esterno.
Il silicio, sottoposto a temperature elevate, diventa un ottimo semiconduttore che è tutto ciò che serve per poter implementare un circuito elettronico perchè è abbastanza conduttore da poter far si che la corrente lo attraversi, ma abbastanza isolante da evitare che la corrente si disperda all’esterno del circuito.
La creazione dei primi circuiti integrati e il loro utilizzo nei calcolatori elettronici, ha:
  • ridotto i costi dei computer: in quanto la microelettronica è diventata sempre più evoluta a tal punto da realizzare circuiti integrati in tempi brevi a costi ridotti;
  • ridotto il peso ed il volume: avendo a disposizione dei circuiti integrati di dimensioni estremamente ridotte, si è potuto creare computer di dimensioni minori;
  • aumentato l’affidabilità: questo perchè sono diminuite le componenti discrete essendo un circuito integrato un insieme di componenti elettroniche assolutamente compatte. Riducendo i collegamenti si è potuto ridurre anche le probabilità che ognuno di questi singoli collegamenti si rompesse aumentando dunque l'affidabilità;
  • aumentato le prestazioni: riducendo le componenti e riducendo lo spazio, naturalmente sono diminuiti anche i tempi di risposta dettati dagli impulsi elettrici che non devono attraversare schemi lunghi e complessi; I circuiti elettronici sono composti essenzialmente da due categorie di componenti: porte logiche e generatori di segnale.

Le porte logiche

Le porte logiche sono dei collegamenti di fili attraverso cui passa della corrente che permettono di eseguire delle operazioni elementari come ad esempio una somma o un confronto tra due bit.
L'unico linguaggio compreso dal computer è quello binario, basato su due simboli 1 (vero) e 0 (falso) detti anche bit che indicano il primo, passaggio di corrente, ed il secondo, non passaggio di corrente. Per maggiori dettagli vai alla lezione Rappresentazione delle informazioni. Analizziamo le tre porte logiche principali: AND, OR e NOT.

Porta logica AND
Nella porta logica AND abbiamo due fili di ingresso (A e B) e uno di uscita (X).
Questa porta ha il seguente comportamento:
  • A = falso, B = falso allora X = falso: quando attraverso i fili A e B non c’è passaggio di corrente , attraverso il filo X non c’è passaggio di corrente.
  • A = vero, B = falso allora X = falso: se attraverso il filo A non c’è passaggio di corrente e invece attraverso il filo B c’è passaggio di corrente, allora attraverso il filo X non c’è passaggio di corrente.
  • A = falso, B = vero allora X = falso: se attraverso il filo A c’è passaggio di corrente e invece attraverso il filo B non c’è passaggio di corrente, allora attraverso il filo X non c’è passazggio di corrente.
  • A = vero, B = vero allora X = vero: se invece attraverso i fili A e B c’è passaggio di corrente (A=vero, B=vero), allora attraverso il filo X c’è passaggio di corrente (X=vero).
Il funzionamento della porta logica AND è sintetizzato nella seguente tabella delle verità (Fig. 2).


Fig. 2 - a) simbolo funzionale, b) tabella delle verità della porta AND


Porta logica OR
Nella porta OR abbiamo la medesima configurazione della porta AND ma cambia il suo comportamento.
  • A = falso, B = falso allora X = falso: se i due fili A e B sono entrambi senza passaggio di corrente, allora il filo X non è attraversato dalla corrente.
  • A = vero, B = falso allora X = vero: se il filo A è con passaggio di corrente e B è senza passaggio di corrente, allora il filo X è attraversato dalla corrente.
  • A = vero, B = falso allora X = vero: se il filo A è senza passaggio di corrente e B è con passaggio di corrente, allora il filo X è attraversato dalla corrente.
  • A = vero, B = vero allora X = vero: Se i due fili A e B sono entrambi con passaggio di corrente (A=vero, B=vero), allora il filo X è attraversato dalla corrente.
  • Il comportamento della porta OR è sintetizzato nella seguente tabella delle verità (Fig. 3).


    Fig. 3 - a) simbolo funzionale, b) tabella delle verità della porta OR

    Porta logica NOT
    Nella porta logica NOT in ingresso abbiamo solo un filo A mentre il filo di uscita X resta invariato rispetto alle precedenti porte.
    • A = falso, allora X = vero: se il filo A è attraversato dalla corrente, allora il filo X non è attraversato da corrente.
    • A = vero, allora X = falso: se il filo A non è attraversato da corrente, allora il filo X è attraversato da corrente.
    Lo scopo di questa porta, quindi, è di invertire la tensione del filo in ingresso.


    Fig. 4 - a) simbolo funzionale, b) tabella delle verità della porta NOT


    Generatori di segnale

    I generatori di segnale, invece, sono componenti in grado di produrre un impulso elettrico periodico. Per questo motivo sono anche detti oscillatori e commutano i circuiti da un livello alto ad un livello basso ad intervalli di tempo regolari. Come vedremo nelle prossime lezioni, un microprocessore è costituito da una parte detta circuito di temporizzazione o semplicemente temporizzatore o Clock che è costituita da un generatore di segnale che serve a sincronizzare tutte le componenti elettroniche del computer a precisi intervalli di tempo (Fig. 5).
    I due valori importanti in un generatore di segnale che si influenzano tra di loro, sono la frequenza di oscillazione da livello alto a livello basso e vicersa e il tempo.


    Fig. 5 - Segnale oscillatorio ad intevalli regolari generato da un generatore di segnale

    Complessità di un circuito integrato

    Un circuito integrato può avere diversi livelli di complessità in base al:
    • numero di componenti che il circuito comprende;
    • numero di operazioni logiche (AND, OR, etc.) che il circuito può effettuare;
    • livello di programmabilità del circuito integrato (dove per programmabilità non si intende la possibilità di programmare la logica delle operazioni come avviene nei microprocessori, ma la possibilità di variare le funzioni delle componenti mediante opportuni segnali);
    Come misura dei livelli di complessità sono state definite le così dette scale di integrazione del singolo circuito integrato:
    • SSI: Small Scale Integration;
    • MSI: Medium Scale Integration;
    • LSI: Large Scale Integration;
    • VLSI: Very Large Scale Integration;
    • ULSI: Ultra Large Scale integration;
    Man mano che si ci sposta da SSI a ULSI aumentano il numero di componenti, le operazioni logiche e la programmabilità.
    E’ proprio relativamente alla programmabilità, che si ci accorse che era troppo costoso riprogettare un circuito ogni volta che cambiavano le specifiche di funzionamento.
    Per questo motivo si ipotizzò di realizzare dei chip universali costituiti da un hardware rigido non modificabile in grado di svolgere numerosissime funzioni guidato da opportuni programmi di istruzioni (software).
    Nasceva il microprocessore o CPU (Central Processing Unit). C’è da dire però che una elaborazione di informazioni in un microprocessore piuttosto che in un circuito integrato dedicato a quella elaborazione, risulta essere più lenta.
    Il seguente esempio ci mostra come un circuito integrato dedicato ad una specifica operazione risulta più veloce rispetto ad un circuito integrato universale.
    Sia, la seguente, una specifica funzione di logica e immaginiamo di voler costruire un circuito che la esegua.

    Y = (A ∧ B) ∨ (A ∧ C)

    Nella Fig. 6, viene mostrato il circuito dedicato che realizza la precedente funzione logica.



    Fig. 6 - Circuito dedicato che realizza una specifica funzione logica

    Si evince, da questo circuito, che le operazione 1 e 2 possono essere realizzate nello stesso istante di tempe.
    Il fatto che le operazioni 1 e 2 vengano fatte in simultanea, rende l'esecuzione del circuito più veloce.
    Questo perchè abbiamo creato un circuito ad-hoc per realizzare questa specifica funzione.
    Se avessimo voluto invece realizzare un circuito che oltre ad eseguire tale funzione logica fosse riuscito ad eseguire altre funzioni differenti in base ad una sorta di programmabilità, la circuiteria sarebbe stata più complessa che non ci avrebbe garantito parallelismo come nel circuito dedicato della Fig. 6.
    Questo è il caso dei microprocessori.
    Ma una minore velocità di esecuzione è uno scotto ampiamente ripagato dalla universalità di applicazione di un circuito integrato per l'esecuzione di innumerevoli operazioni ad un costo ridotto di fabbricazione grazie ai progressi della microelettronica.
    Con l’avvento della scala ultra large, nei microprocessori, oltre alle componenti e alle funzionalità che fu possibile aggiungere, si aggiunsero anche delle particolari unità come ad esempio: l’unità di controllo per l’accesso diretto alla memoria e le interfacce per la trasmissione/ricezione (seriale o parallela) delle informazioni. La crescita del numero di componeti e di funzionalità in un microprocessore, segue la legge di Moore secondo cui le dimensioni di un microprocessore (in termini di componenti e funzionalità) raddoppia ogni anno anche se aspetti legati a fenomeni fisici (come il surriscaldamento) ne impongono un certo limite.

    Cosa abbiamo imparato da questa lezione

    Conoscenze
    • Cos'è un circuito elettronico integrato
    • Quali sono i vantaggi di un circuito integrato
    • Differenza tra un circuito integrato dedicato ed un microprocessore
    • Cosa sono le porte logiche e i generatori di segnale
    • Cosa sono le scale di integrazione
    • Cosa afferma la Legge di More in riferimento alle dimensioni di un microprocessore
    Abilità
    • Siamo in grado di riconoscere un circuito integrato
    • Siamo capaci di simulare l'esecuzione di un circuito integrato a partire dal suo schema logico
    • Siamo capaci di comparare le prestazioni di circuiti integrati differenti a partire dai loro schemi logici
    Competenze
    • Siamo in grado di creare lo schema logico di un circuito integrato a partire da una qualsiasi funzione logica