Sistemi a microprocessore

A. Costantini | (la videolezione) In sostanza, un computer è una macchina progettata per elaborare, memorizzare e recuperare dati. I dati possono essere numeri in un foglio di calcolo, caratteri di testo in un documento, punti di colore in un'immagine, forme d'onda del suono o lo stato di un sistema, ad esempio un condizionatore d'aria o un lettore CD. Tutti i dati vengono memorizzati nel computer sotto forma di numeri. Il computer manipola i dati eseguendo operazioni sui numeri. La visualizzazione di un'immagine su uno schermo si ottiene spostando una serie di numeri nella memoria video, ognuno dei quali rappresenta un pixel di colore. Per riprodurre un file audio MP3, il computer legge una serie di numeri dal disco e dalla memoria, manipola tali numeri per convertire i dati audio compressi in dati audio grezzi e quindi invia il nuovo set di numeri (i dati audio grezzi) al chip audio. Tutto ciò che fa un computer, dalla navigazione web alla stampa, comporta lo spostamento e l'elaborazione di numeri. L'elettronica di un computer non è altro che un sistema progettato per contenere, spostare e modificare i numeri. Al centro del computer c'è il processore, l'hardware che esegue i programmi del computer. Il computer dispone anche di memoria, spesso di diversi tipi in un unico sistema (RAM, ROM, PROM, EPROM, ecc.). La memoria viene utilizzata per memorizzare i programmi mentre il processore li sta eseguendo, nonché per memorizzare i dati che i programmi stanno manipolando. Il computer dispone anche di dispositivi per l'archiviazione di dati o lo scambio di dati con il mondo esterno. Questi possono consentire l'immissione di testo tramite una tastiera, la visualizzazione di informazioni su uno schermo o lo spostamento di programmi e dati da o verso un'unità disco. Il processore è la parte più importante di un computer, il componente attorno al quale ruota tutto il resto. Un processore è un dispositivo elettronico in grado di manipolare i dati (informazioni) in un modo specificato da una sequenza di istruzioni. Le istruzioni sono anche conosciute come codici operativi o codice macchina . Questa sequenza di istruzioni può essere modificata per adattarsi all'applicazione e, quindi, i computer sono programmabili. Una sequenza di istruzioni è ciò che costituisce un programma.

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.
modello-von-neumannjpg

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.