Sistemi a microprocessore
Le istruzioni in un computer sono numeri, proprio come i dati. Numeri diversi, quando vengono letti ed eseguiti da un processore, fanno accadere cose diverse. Diversi codici di bit attivano o disattivano parti diverse del nucleo di elaborazione. Pertanto, il codice in bit di una data istruzione può attivare un'operazione di addizione, mentre un altro codice di bit può causare la memorizzazione di un byte. Una sequenza di istruzioni è un programma in codice macchina. Ogni tipo di processore ha un set di istruzioni diverso, il che significa che la funzionalità delle istruzioni (e i codici di bit che le attivano) varia. Le istruzioni del processore sono spesso piuttosto semplici, come "aggiungi due numeri" o "chiama questa funzione". In alcuni processori, tuttavia, possono essere complessi e sofisticati come "se il risultato dell'ultima operazione è stato zero, utilizzare questo particolare numero per fare riferimento a un altro numero in memoria e quindi incrementare il primo numero una volta terminato". Il processore da solo non è in grado di eseguire correttamente alcuna attività. Richiede memoria (per l'archiviazione di programmi e dati), logica di supporto e almeno un dispositivo di I/O ("dispositivo di input/output") utilizzato per trasferire i dati tra il computer e il mondo esterno.
Un microprocessore è un processore implementato (solitamente) su un singolo circuito integrato. Con l'eccezione di quelli che si trovano in alcuni grandi supercomputer, quasi tutti i processori moderni sono microprocessori e i due termini sono spesso usati in modo intercambiabile. I microprocessori più comuni in uso oggi sono la serie Intel Pentium, Freescale/IBM PowerPC, MIPS, ARM e Sun SPARC, tra gli altri. Un microprocessore è talvolta noto anche come CPU (Central Processing Unit). Un microcontrollore è un processore, una memoria e alcuni dispositivi I/O contenuti all'interno di un singolo circuito integrato e destinati all'uso in sistemi embedded. I bus che interconnettono il processore con il suo I/O esistono all'interno dello stesso circuito integrato. La gamma di microcontrollori disponibili è molto ampia. Si va dai minuscoli PIC e AVR ai processori PowerPC con I/O integrato, destinati ad applicazioni embedded. I microcontrollori sono molto simili ai processori System-on-Chip (SoC), destinati all'uso in computer convenzionali come PC e workstation. I processori SoC hanno una suite diversa di I/O, che riflette l'applicazione prevista, e sono progettati per essere interfacciati a grandi banchi di memoria esterna. I microcontrollori di solito hanno tutta la loro memoria su chip e possono fornire solo un supporto limitato per i dispositivi di memoria esterni. La memoria del sistema contiene sia le istruzioni che il processore eseguirà sia i dati che manipolerà. La memoria di un sistema informatico non è mai vuota. Contiene sempre qualcosa, che si tratti di istruzioni, dati significativi o semplicemente la spazzatura casuale che è apparsa nella memoria all'accensione del sistema. Le istruzioni vengono lette (recuperate) dalla memoria, mentre i dati vengono letti e scritti in memoria. Questa forma di architettura del computer è nota come macchina di Von Neumann, dal nome di John Von Neumann, uno dei creatori del concetto. Con pochissime eccezioni, quasi tutti i computer moderni seguono questa forma. I computer di Von Neumann sono quelli che possono essere definiti computer a flusso di controllo. I passi compiuti dal computer sono governati dal controllo sequenziale di un programma. In altre parole, il computer segue un programma passo-passo che ne regola il funzionamento.