title: MIC-3
text: # 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
  