La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals.

Présentations similaires


Présentation au sujet: "Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals."— Transcription de la présentation:

1 Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 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 ISTORE 0x36

2 Exemple Istore 3 0x01 0x36 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ Pour sauvegarder une variable en mémoire, il faut avant tout calculer son adresse. Cette étape prépare le calcul: Adr var =LV +num de var

3 Exemple Istore (H=LV; Goto Istore2) 3 0x01 0x36 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

4 Exemple Istore (H=LV; Goto Istore2) 3 0x01 0x36 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

5 Exemple Istore (H=LV; Goto Istore2) En résumé nous venons de faire les opérations suivantes –H=LV; Goto Istore2 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 Istore2000000101001000000000000x05

6 Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 ISTORE F 1 ENB H B=0x05 ISTORE1 ISTORE2

7 Exemple Istore 3 0x01 0x05 0x00 0x04 0x00 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ 0x36 MBRU+H Arrivée de la donnée. (Lecture déclenché dans le Main1) Ladresse de la variable est calculée.

8 Exemple Istore (MAR=MBRU+H; Goto Istore3) 3 0x01 0x05 0x00 0x04 0x00 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

9 Exemple Istore (MAR=MBRU+H; Goto Istore3) 3 0x01 0x05 0x00 0x04 0x00 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

10 Exemple Istore En résumé nous venons de faire les opérations suivantes –MAR=MBRU+H; Goto Istore3 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 Istore3000001111000000000010000x03

11 Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 ISTORE F 1 ENB H B=0x05 ISTORE1 ISTORE2 F 0 F 1 ENA ENB MAR B=0x03 ISTORE2 ISTORE3

12 Exemple Istore 3 0x01 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ On va donc envoyer lélément de tête de pile dans la mémoire

13 Exemple Istore (MDR=TOS;Wr; Goto Istore4) 3 0x01 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

14 Exemple Istore (MDR=TOS;Wr; Goto Istore4) 3 0x01 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

15 Exemple Istore (MDR=TOS;Wr; Goto Istore4) En résumé nous venons de faire les opérations suivantes –MDR=TOS;Wr; Goto Istore4 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 Istore4000000101000000000101000x07

16 Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 ISTORE F 1 ENB H B=0x05 ISTORE1 ISTORE2 F 0 F 1 ENA ENB MAR B=0x03 ISTORE2 ISTORE3 F 1 ENB MDR WRITE B=0x07 ISTORE4 ISTORE3

17 Exemple Istore 3 0x01 0x04 0x01 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ SP-1 Il faut mettre les registres gérant la pile à jour.On commence par décrémenter le haut de la pile et on va chercher dans la mémoire le nouvelle élément qui sera la tête de la pile.

18 Exemple Istore (MDR=TOS;Wr; Goto Istore4) 3 0x01 0x04 0x01 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

19 Exemple Istore (MDR=TOS;Wr; Goto Istore4) 3 0x01 0x04 0x01 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

20 Exemple Istore En résumé nous venons de faire les opérations suivantes –SP=MAR=SP-1;Rd; Goto Istore5 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 Istore5000001101110000010010100x04

21 Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 ISTORE F 1 ENB H B=0x05 ISTORE1 ISTORE2 F 0 F 1 ENA ENB MAR B=0x03 ISTORE2 ISTORE3 F 1 ENB MDR WRITE B=0x07 ISTORE4 ISTORE3 F 0 F 1 ENB INVA INC SP MAR READ B=0x04 ISTORE5 ISTORE4

22 Exemple Istore 3 0x04 0x01 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ PC+1 On incrémente le compteur de programme car linstruction ISTORE est codée sur 2 bytes

23 Exemple Istore (PC=PC+1;fetch; Goto Istore6) 3 0x04 0x01 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

24 Exemple Istore (PC=PC+1;fetch; Goto Istore6) 3 0x04 0x01 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

25 Exemple Istore En résumé nous venons de faire les opérations suivantes –PC=PC+1;fetch; Goto Istore6 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 Istore6000001101010000001000010x01

26 Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 ISTORE F 1 ENB H B=0x05 ISTORE1 ISTORE2 F 0 F 1 ENA ENB MAR B=0x03 ISTORE2 ISTORE3 F 1 ENB MDR WRITE B=0x07 ISTORE4 ISTORE3 F 0 F 1 ENB INVA INC SP MAR READ B=0x04 ISTORE5 ISTORE4 F 1 ENB TOS FETCH B=0x00 ISTORE6 ISTORE5

27 Exemple Istore 3 0x04 0x07 0x02 0x01 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ On met a jour la tête de la pile qui vient darriver en mémoire Arrivée de la donnée. (Lecture déclenché dans Istore4)

28 Exemple Istore (TOS=MDR; Goto Main1) 3 0x01 0x07 0x02 0x01 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ 0x36

29 Exemple Istore (TOS=MDR; Goto Main1) 3 0x01 0x07 0x02 0x01 0x04 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ

30 Exemple Istore En résumé nous venons de faire les opérations suivantes –TOS=MDR; 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 Main1000000101000010000000000x00

31 Construisons le contrôleur JMPC F 0 F 1 ENB INC FETCH B=0x01 Main1 ISTORE F 1 ENB H B=0x05 ISTORE1 ISTORE2 F 0 F 1 ENA ENB MAR B=0x03 ISTORE2 ISTORE3 F 1 ENB MDR WRITE B=0x07 ISTORE4 ISTORE3 F 0 F 1 ENB INVA INC SP MAR READ B=0x04 ISTORE5 ISTORE4 F 1 ENB TOS FETCH B=0x00 ISTORE6 ISTORE5 F 1 ENB TOS B=0x00 ISTORE6 Main1 ISTORE4 ISTORE5

32 Résultat 3 0x04 0x07 0x02 0xXX 0x04 0x00 0x07 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals (rd,wr,fetch) N Z MIR JMPC JAMN/JAMZ Arrivée de la prochaine instruction.


Télécharger ppt "Exemple chargement dune instruction 3 0x00 0xXX 0x05 0x00 0x04 Addr Alu JM 4 to 16 Decoder High Bit C B MPC 4 9 8 2 2 6 8 B Bus C Bus Memory control signals."

Présentations similaires


Annonces Google