sont des registres 32 bits Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC MAR, MDR, PC, MBR, SP, LV, CPP, TOS, OPC,H sont des registres 32 bits 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
MAR, MDR, PC, MBR permettent l’accès à la mémoire de l’ordinateur Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC MAR, MDR, PC, MBR permettent l’accès à la mémoire de l’ordinateur 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
MAR (Memory Address Register) Contient une adresse de word Controler Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC MAR (Memory Address Register) Contient une adresse de word 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
MDR (Memory Data Register) Contient une donnée. Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC MDR (Memory Data Register) Contient une donnée. Les données avant d’arrivées dans ce registre nécessites 1 cycle entier. 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Les Registres PC (Program counter) Conteur de programme Controler MAR Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC PC (Program counter) Conteur de programme 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
MBR(Memory Buffer Register) Contient un word (4 bytes) Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MBR(Memory Buffer Register) Contient un word (4 bytes) Lecture d’un byte à la fois Les données avant d’arrivées dans ce registre nécessites 1 cycle entier. MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
D’un langage haut niveaux a un flux de bytes Traduction en hexa Jeux d’instructions de la machine Langage de programmation A=3+1 B=4+5 C=A+B BIPUSH 3 #A=3+1 BIPUSH 1 IADD ISTORE A BIPUSH 4 #B=4+5 BIPUSH 5 ISTORE B ILOAD A #C=A+B ILOAD B ISTORE C 0x10 0x03 #A=3+1 0x10 0x01 0x60 0x36 0x01 0x10 0x04 #B=4+5 0x10 0x05 0x36 0x02 0x15 0x01 #C=A+B 0x15 0x02 0x36 0x03
H unique registre permettant à l’ALU de faire des opérations Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR H unique registre permettant à l’ALU de faire des opérations Binaires (Ex + ,- ) 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Les Registres Controler Registre qui simule la pile de donnée. MAR MDR Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR Registre qui simule la pile de donnée. 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
SP contient un pointeur du dernier élément empilé Controler Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC SP contient un pointeur du dernier élément empilé 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B SP 54 TOS 41 OPC JAMN/JAMZ TOS … H B Bus High Bit 2 N LV 1 ALU 6 Z C Bus Shifter 2
LV contient un pointeur du premier élément empilé Controler Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC LV contient un pointeur du premier élément empilé 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B SP 54 TOS 41 OPC JAMN/JAMZ TOS … H B Bus High Bit 2 N LV 1 ALU 6 Z C Bus Shifter 2
contient la valeur du dernier élément empilé Controler Les Registres Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC TOS (Top Of Stack) contient la valeur du dernier élément empilé 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B SP 54 TOS 41 OPC JAMN/JAMZ TOS … H B Bus High Bit 2 N LV 1 ALU 6 Z C Bus Shifter 2
ALU Controler MAR MDR PC MBR SP LV CPP Addr J Alu C M B TOS OPC H Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR F0 F1 ENA ENB INVA INC Function 1 A B /A /B A+B A+B+1 A+1 B+1 B-A B-1 -A A and B A or B -1 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
ALU Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B Permet de décaler de deux bits vers la gauche. Ce qui permet de convertir simplement des adresses de words en adresses de bytes. TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR Le contrôleur est une sorte de policier qui va réguler la circulation dans toute cette architecture 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR Le contrôler est une sorte de policier qui va réguler la circulation dans toute cette architecture 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Le controler décide quelles opérations doivent être effectuées Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ Le controler décide quelles opérations doivent être effectuées H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Le controler décide quelles opérations doivent être effectuées Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ Le controler décide quelles opérations doivent être effectuées H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Le controler régule cette circulation à l’aide de « robinets » qui permette à l’information de passer ou de ne pas passer Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Le controler régule cette circulation à l’aide de « robinets » qui permette à l’information de passer ou de ne pas passer Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR Le controler régule cette circulation à l’aide de « robinets » qui permette à l’information de passer ou de ne pas passer 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Next_Adress : 8 bits indique la prochaine micro-instruction Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP Next_Adress : 8 bits indique la prochaine micro-instruction LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Indique la future micro-instruction à exécuter Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC Indique la future micro-instruction à exécuter 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Détermine de la prochaine micro-instructions Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC Détermine de la prochaine micro-instructions JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
ALU / SHIFTER : 8 bits indique l’opération à effectuer Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler ALU / SHIFTER : 8 bits indique l’opération à effectuer MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
indique dans quel(s) registre(s) le Bus C doit écrire Contrôler Memory control signals (rd,wr,fetch) 3 BUS C :9 bits indique dans quel(s) registre(s) le Bus C doit écrire 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
MEMOIRE :3 bits indique l’opération de la mémoire Read ,Write,Fetch Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ MEMOIRE :3 bits indique l’opération de la mémoire Read ,Write,Fetch H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Contrôler Opérations mémoire RD : Read (MDR) WR: Write Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR Opérations mémoire RD : Read (MDR) WR: Write Fetch :Read (MBR) 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
BUS B :4 bits Indique quel registre doit être lu Contrôler Memory control signals (rd,wr,fetch) 3 4 to 16 Decoder MAR 4 MDR MPC 9 PC 8 Controler MBR 8 SP LV JMPC MIR CPP Addr J Alu C M B TOS OPC JAMN/JAMZ BUS B :4 bits Indique quel registre doit être lu H B Bus High Bit 2 N ALU 6 Z C Bus Shifter 2
Controler suite Next_Adress 8 bits JAM 3 bits ALU Bus C 9 bits Mémoire Bus B 4 bits JMPC JAMN JAMZ SLL8 SRA1 F0 F1 ENA ENB INVA INC H OPS TOS CPP LV SP PC MDR MAR WRITE READ FETCH
Notation des micro-instructions Une simplification SP=SP+1 ;rd; goto label; Les simplifications consistes Utilisation du symbole égal Utilisation de label au lieu d’adresse. Une micro instructions : Next_Adress 8 bits JAM 3 bits ALU Bus C 9 bits Mémoire Bus B 4 bits JMPC JAMN JAMZ SLL8 SRA1 F0 F1 ENA ENB INVA INC H OPS TOS CPP LV SP PC MDR MAR WRITE READ FETCH 0x7A 1 0x06