Next Previous Contents

3. Fondamenti sulla progettazione di reti logiche

3.1 Porte logiche, tabelle di verità ed equazioni logiche

I componenti elettronici interni ai calcolatori odierni sono di tipo digitale: l'elettronica di tipo digitale lavora con due soli livelli di tensione: una tensione alta ed una tensione bassa. Tutti gli altri valori sono temporanei e compaiono solo durante le transizioni tra i due valori principali.
I circuiti logici sono classificati in due categorie, a seconda che contengono o meno degli elementi di memoria. I circuiti senza memoria sono detti combinatori: le uscite di un circuito combinatorio dipendono solo dagli ingressi presenti in quell'istante. Nei circuiti dotati di memoria, invece, le uscite dipendono sia dagli ingressi che dai valori presenti negli elementi di memoria, che costituiscono lo stato del circuito logico.

3.1.1 Tabelle di verità

Poichè un circuito logico combinatorio non contiene memoria, lo si può specificare completamente definendo i valori delle uscite in corrispondenza di ogni possibile combinazione dei valori degli ingressi; una tale descrizione è solitamente data sotto forma di tabella di verità. Per un circuito logico con n ingressi, la tabella di verità contiene 2n (se leggete 2n allora il vostro browser non visualizza l'elevamento a potenza, c'è scritto due elevato alla n) elementi, poichè tante sono le combinazioni possibili dei valori in ingresso; ciascuna riga della tabella specifica il valore di tutte le uscite in corrispondenza di quella particolare combinazione di ingressi. Le tabelle di verità possono descrivere completamente qualsiasi funzione logica combinatoria; purtroppo crescono velocemente di dimensioni e possono divenire difficilmente comprensibili. Nel caso di funzioni che valgono 0 per molte combinazioni di ingressi, è possibile elencare solo gli elementi della tabella di verità corrispondenti ai valori non nulli delle uscite.

3.1.2 Algebra Booleana

Un approccio alternativo consiste nell'esprimere la funzione logica mediante delle equazioni logiche: ciò è possibile utilizzando l'algebra Booleana.
Nell'algebra booleana tutte le variabili assumono il valore 0 o 1 e vi sono tre operatori:

  • L'operatore or è indicato da +. Il risultato di un'operazione or è pari a 1 se almeno una delle variabili vale 1. L'operazione or è anche detta somma logica, poichè il risultato è 1 se almeno un operando è 1.
  • L'operatore and è indicato da ·. Il risultato di un'operazione and è pari a 1 se tutti e due gli ingressi valgono 1. L'operazione and è anche detta prodotto logico, poichè il risultato è 1 se entrambi gli operandi sono 1.
  • L'operatore unario not è indicato come X. Il risultato di un'operazione not è pari a 1 solo se l'ingresso è 0. Applicando l'operatore not ad un valore logico si ottiene l'inversione del valore.

Vi sono diverse proprietà dell'algebra Booleana che risultano utili nel manipolare le equazioni logiche:

  • Proprietà di identità: A + 0 = A e A · 1 = A
  • Proprietà di assorbimento: A + 1 = 1 e A · 0 = 0
  • Proprietà dell'inverso: A + A = 1 e A · A= 0
  • Proprietà commutativa: A + B = B + A e A · B = B · A
  • Proprietà associativa: A + (B + C) = (A + B) + C e A · (B · C) = (A · B) · C
  • Proprietà distributiva: A · (B + C) = (A · B) + (A · C) e A + (B · C) = (A + B) · (A + C)

Oltre alle proprietà precedenti ve ne sono altre due utili, dette leggi di DeMorgan:

  • A · B = A + B
  • A + B = A · B

3.1.3 Porte logiche

I circuiti logici sono costruiti a partire da porte logiche (o gate) che implementano le funzioni logiche primitive. Poichè le funzioni and e or sono commutative ed associative, le porte and e or possono avere più ingressi, essendo l'uscita il risultato dell'operazione and o or su tutti gli ingressi. La funzione logica not è implementata mediante un invertitore che ha sempre un solo ingresso.
Anzichè disegnare esplicitamente gli invertitori, generalmente vengono aggiunti dei "pallini" agli ingressi o all'uscita delle porte logiche per indicare che il valore logico su tale linea di ingresso o uscita deve essere invertito.
Le due porte logiche invertenti più diffuse sono dette nor e nand e corrispondono, rispettivamente, alla porta or con uscita invertita ed alla porta and con uscita invertita. Le porte nor e nand sono dette universali in quanto si può costruire una qualsiasi funzione logica a partire da quel solo tipo di porta logica.


Next Previous Contents