In informatica ed elettronica con il termine architettura dei calcolatori, si parla del modo con cui sono collegati tra loro i vari componenti hardware di base di un sistema di elaborazione comune qualsiasi.
Chi si occupa di architettura dei calcolatori deve costruire sistemi di elaborazione di varia complessità (da una scheda elettronica a un complesso sistema con grande potenza di calcolo) mettendo insieme i vari componenti elementari.
È importante sottolineare la differenza tra elettronica e architettura dei calcolatori: l’elettronico deve costruire dei circuiti veloci ed efficienti, e l’architetto dei calcolatori invece deve ottenere le migliori prestazioni possibili come potenza di calcolo e costi assemblando efficientemente i vari componenti elementari.
I componenti elementari che costituiscono un sistema di calcolo sono:
porte logiche (and, not, or)
generatori di segnali (ad es. clock)
Mettendo insieme tra loro varie porte logiche è possibile costruire le macchine elementari che si dividono in macchine combinatorie e sequenziali.
Le macchine combinatorie
I circuiti combinatori possono essere modellati con funzioni booleane di variabili del tipo y=f(u) dove y è il vettore delle uscite del sistema e u è il vettore degli ingressi. Le macchine combinatorie elementari sono :
multiplexer
demultiplexer
decodificatori
sommatori, divisori, moltiplicatori
Le macchine sequenziali
Le macchine sequenziali invece sono sistemi regolati con funzioni del tipo y=f(x,u) dove y è il vettore delle uscite, u è il vettore degli ingressi e x è il vettore degli stati. Quindi una macchina sequenziale in pratica è un sistema dinamico, la cui uscita dipende sia dall’ingresso che dallo stato del sistema che si ha in quell’istante. Le macchine sequenziali sono:
flip-flop
memorie
registri a scorrimento
contatori