MIC-3
# MIC-3

Il MIC-3 è un'architettura di processore inventata da Andrew S. Tanenbaum da utilizzare come esempio semplice ma completo per il suo libro Architettura dei calcolatori.

Il linguaggio microcodice MAL (Micro-Assembly Language) è realizzato per consentire la scrittura di un interprete IJVM (Integer Java Virtual Machine) con semplicità. Esempi di codice sorgente per questo interprete si trovano nel libro su menzionato.

È presente l'IFU (Instruction Fetch Unit), un'unità che si occupa di richiedere i byte del codice IJVM alla memoria centrale.

Nell'architettura MIC-3 possono essere eseguite più microistruzioni contemporaneamente (parallelismo). La grande differenza del MIC-3 è che vengono introdotti 3 registri LATCH sul bus A, B e C. In questo modo vengono create 3 sezioni indipendenti l'una dall'altra, creando in questo modo una pipeline.

Questi due registri permettono di incrementare la velocità del Mic-3 dato che il ciclo di clock è diviso in tre e in questo modo il ritardo massimo della propagazione del segnale è ridotto, con il risultato che la frequenza del clock è incrementata.

## Hardware

### BUS

Sono presenti 3 Bus da 32 linee ciascuno:

* Bus A e B: collegato all'output dei registri e all'input della ALU
* Bus C: collegato all'output dello shifter e all'input dei registri
