MIC-2
Il MIC-2 è 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.
IFU
[modifica | modifica wikitesto]L'IFU è un componente hardware che affianca l'ALU nei suoi compiti di calcolo. In particolare ha il compito di:
- Eliminare il main loop dalla fine di ogni istruzione IJVM. Al suo posto è inserito un salto alla prossima istruzione da eseguire memorizzata nel registro MBR1 e puntata da PC (Program Counter).
- Sollevare l'ALU dal compito di incrementare PC e di eseguire la procedura di fetch.
- Assemblare l'opcode in 16 bit. Successivamente lo passa direttamente all'ALU come valore a 32 bit (l'ALU lavora a 32 bit).
Hardware
[modifica | modifica wikitesto]BUS
[modifica | modifica wikitesto]Sono presenti tre Bus da 32 linee ciascuno (uno in più rispetto al MIC-1, che non possiede un A bus):
- Bus A e B: collegato all'output dei registri e all'input della unità aritmetica e logica
- Bus C: collegato all'output dello shifter e all'input dei registri