Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLéon Lesueur Modifié depuis plus de 10 années
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.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.