Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ 0xXX Imaginons que linstruction que nous venons de charger est IADD 0x60
Comment faire un IADD Mettre à jour « SP ». Prendre en mémoire les éléments à additionner Déplacer une donnée dans le registre H Additionner les deux valeurs Mettre à jour la tête de la pile « TOS » et la mémoire.
Exemple IADD 3 0x00 0x60 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ 0x60 Nécessaire dobtenir lavant dernier élément de la pile SP-1
Exemple IADD (MAR=SP=SP-1; Rd ; Goto iadd2) 3 0x00 0x60 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ
Exemple IADD (MAR=SP=SP-1; Rd ; Goto iadd2) 3 0x00 0x60 0x05 0x00 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ
Exemple IADD En résumé nous venons de faire les opérations suivantes –MAR=SP=SP-1; Rd ; Goto iadd2 Next_Adress 8 bits JAM 3 bits ALU 8 bits Bus C 9 bits Mémoire 3 bits Bus B 4 bits JMPCJMPC JAMNJAMN JAMZJAMZ SLL8SLL8 SRA1SRA1 F0F0 F1F1 ENAENA ENBENB INVAINVA INCINC HOPSOPS TOSTOS CPPCPP LVLV SPSP PCPC MDRMDR MARMAR WRITEWRITE READREAD FETCHFETCH iadd x04
Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 IADD F 0 F 1 ENB INVA INC SP MAR READ B=0x04 IADD1IADD2
Exemple IADD 3 0x04 0x00 0xXX 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ TOS Arrivée de la prochaine instruction Une opération binaire ne peut être effectuée quen utilisant le registre H
Exemple IADD (H=TOS ; Goto iadd3) 3 0x04 0x00 0xXX 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ
Exemple IADD (H=TOS ; Goto iadd3) 3 0x04 0x00 0xXX 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ 0x60
Exemple IADD En résumé nous venons de faire les opérations suivantes –H=TOS ; Goto iadd3 Next_Adress 8 bits JAM 3 bits ALU 8 bits Bus C 9 bits Mémoire 3 bits Bus B 4 bits JMPCJMPC JAMNJAMN JAMZJAMZ SLL8SLL8 SRA1SRA1 F0F0 F1F1 ENAENA ENBENB INVAINVA INCINC HOPSOPS TOSTOS CPPCPP LVLV SPSP PCPC MDRMDR MARMAR WRITEWRITE READREAD FETCHFETCH iadd x07
Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 IADD F 0 F 1 ENB INVA INC SP MAR READ B=0x04 IADD1 IADD2 F 1 ENB H B=0x07 IADD2 IADD3
Exemple IADD 3 0x04 0x09 0x00 0xXX 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ MDR+H Arrivée de la valeur de ladresse mémoire 0x04
Exemple IADD (MDR=TOS=MDR+H ;Wr ;Goto Main1) 3 0x04 0x09 0x00 0xXX 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ
Exemple IADD (MDR=TOS=MDR+H ;Wr ;Goto Main1) 3 0x04 0x09 0x00 0xXX 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ
Exemple IADD En résumé nous venons de faire les opérations suivantes –MDR=TOS=MDR+H ;Wr ;Goto Main1 Next_Adress 8 bits JAM 3 bits ALU 8 bits Bus C 9 bits Mémoire 3 bits Bus B 4 bits JMPCJMPC JAMNJAMN JAMZJAMZ SLL8SLL8 SRA1SRA1 F0F0 F1F1 ENAENA ENBENB INVAINVA INCINC HOPSOPS TOSTOS CPPCPP LVLV SPSP PCPC MDRMDR MARMAR WRITEWRITE READREAD FETCHFETCH Main x00
Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 IADD F 0 F 1 ENB INVA INC SP MAR READ B=0x04 IADD1 IADD2 F 1 ENB H B=0x07 IADD2 IADD3 F 0 F 1 ENA ENB TOS MDR WRITE B=0x00 IADD3
Résultat 3 0x04 0x0D 0x00 0xXX 0x04 0x00 0x0D 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ