Il microprocessore Intel 8008, introdotto nel 1972, è uno dei primi microprocessori mai realizzati ed è considerato il predecessore diretto dell’Intel 8080 e dell’intera famiglia x86. Comprendere come funziona l’Intel 8008 significa fare un viaggio alle origini dell’informatica moderna.
L’Intel 8008 è un microprocessore a 8 bit, il che significa che può processare dati in blocchi di 8 bit per volta. Tuttavia, il suo bus indirizzi è a 14 bit, quindi è in grado di indirizzare fino a 16.384 locazioni di memoria, cioè 16 KB. Questo limite era considerato sufficiente per le applicazioni dell’epoca, come terminali intelligenti, strumenti scientifici e primi computer embedded.
Il chip è costruito con tecnologia PMOS ed è composto da circa 3500 transistor. Richiede molteplici tensioni di alimentazione e ha una velocità di clock di circa 500 kHz fino a 800 kHz.
Il microprocessore 8008 è composto da vari blocchi funzionali. Il primo è l’unità di controllo, che coordina le operazioni interne del microprocessore. Interpreta ogni istruzione contenuta nel programma e genera i segnali di controllo necessari per eseguire l’operazione.
Il secondo è l’ALU, cioè l’unità aritmetico-logica. Questa è responsabile delle operazioni di somma, sottrazione, AND, OR, XOR, e confronti tra dati. Trattandosi di un processore a 8 bit, ogni operazione lavora su byte da 8 bit.
Il microprocessore dispone anche di registri interni. L’8008 ha sette registri generali da 8 bit, chiamati A, B, C, D, E, H e L. Il registro A, chiamato anche accumulatore, è usato per la maggior parte delle operazioni logiche e aritmetiche. I registri H e L possono essere combinati per formare un indirizzo a 16 bit, utile per accedere alla memoria in modo indiretto.
Il program counter è un registro speciale a 14 bit che tiene traccia dell’indirizzo della prossima istruzione da eseguire. Dopo ogni istruzione, questo registro si aggiorna automaticamente. Anche se l’8008 non ha un vero stack pointer interno come i processori successivi, può comunque utilizzare la memoria esterna per gestire lo stack, salvando gli indirizzi di ritorno durante le chiamate alle subroutine.
Il bus dati è a 8 bit, mentre il bus indirizzi è a 14 bit, ma è multiplexato. Questo significa che le linee fisiche del chip sono condivise tra indirizzi e dati, quindi il microprocessore deve inviare le informazioni in più fasi per accedere correttamente alla memoria.
Il funzionamento del microprocessore 8008 segue un ciclo macchina costituito da tre fasi principali: fetch, decode ed execute. Nella fase di fetch, l’unità di controllo legge l’istruzione dalla memoria all’indirizzo indicato dal program counter. Nella fase di decode, l’istruzione viene interpretata. Nella fase di execute, l’operazione richiesta viene eseguita. Se l’istruzione prevede un salto o una chiamata di subroutine, il program counter viene modificato di conseguenza.
Il set di istruzioni dell’8008 comprende circa 48 comandi. Questi includono operazioni aritmetiche e logiche come ADD, SUB, AND, OR, XOR, CMP; operazioni di trasferimento dati come MOV e MVI; istruzioni di controllo come JMP, CALL, RET, HLT; e istruzioni di input/output come IN e OUT. Ogni istruzione è rappresentata da un codice binario di 8 bit chiamato opcode.
Il microprocessore 8008 non ha memoria interna per programmi o dati. Tutte le informazioni devono essere lette e scritte da memoria esterna, sia essa ROM che RAM. Le operazioni di accesso alla memoria sono coordinate tramite segnali di controllo come MEMR per la lettura e MEMW per la scrittura.
L’input/output è gestito tramite porte dedicate. Il microprocessore può gestire fino a 8 dispositivi di input e 24 dispositivi di output. Le istruzioni IN e OUT vengono usate per leggere o scrivere dati su queste porte. Poiché l’I/O non è mappato in memoria, viene gestito separatamente dalla RAM e dalla ROM.
Nonostante le sue limitazioni, l’Intel 8008 ha rappresentato una svolta storica nell’evoluzione dei computer. Ha dimostrato che un’intera unità di elaborazione centrale poteva essere realizzata su un singolo chip, rendendo possibile la costruzione di computer personali e sistemi embedded a costi ridotti. Il suo design ha influenzato profondamente l’architettura dei microprocessori successivi, inclusi l’Intel 8080 e la serie x86, che ancora oggi domina il mercato dei processori per PC.
Il microprocessore 8008 funziona prelevando istruzioni dalla memoria, decodificandole e poi eseguendole utilizzando i suoi registri interni, l’ALU e l’unità di controllo. Nonostante la sua semplicità, ha avuto un impatto decisivo sull’evoluzione della tecnologia informatica, segnando l’inizio dell’era dei microprocessori integrati.
Leggi anche…

