1 / 101

Pipelining - Ablauf

Pipelining - Ablauf. Aufgaben 1b) bis 1e). ADD $1,$1,$2 OR $2,$2,4 SL $3,$3,5 STO $1,$4,3 TRAP 0,Halt,0. $1=0x11+0x22=0x33. ADD $1,$ 1,$2 OR $2,$2,4 SL $3,$3,5 STO $1,$4,3 TRAP 0,Halt,0. $1=0x33. $2= 0010 0010 ($2) || 0000 0100 ( 4) = 0010 0110=0x26.

gazit
Download Presentation

Pipelining - Ablauf

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pipelining- Ablauf Aufgaben 1b) bis 1e)

  2. ADD $1,$1,$2 OR $2,$2,4 SL $3,$3,5 STO $1,$4,3 TRAP 0,Halt,0 $1=0x11+0x22=0x33

  3. ADD $1,$1,$2 OR $2,$2,4 SL $3,$3,5 STO $1,$4,3 TRAP 0,Halt,0 $1=0x33 $2= 0010 0010 ($2) || 0000 0100 ( 4) = 0010 0110=0x26

  4. ADD $1,$1,$2 OR $2,$2,4 SL $3,$3,5 STO $1,$4,3 TRAP 0,Halt,0 $1=0x33 $2=0x26 $3= 0011 0011 00000 ($3)<< 5 = 0110 0110 0000 = 0x660

  5. ADD $1,$1,$2 OR $2,$2,4 SL $3,$3,5 STO $1,$4,3 TRAP 0,Halt,0 $1=0x33 $2=0x26 $3=0x660 0x20……00+0x3=0x20……03 Aber: OCTA => 3 LSB´s zu Null M8[0x20……00]=0x33($1)

  6. ADD $1,$1,$2 $1=0x33 OR $2,$2,4 $2=0x26 SL $3,$3,5 $3=0x660 STO $1,$4,3 M8[0x20……0]=0x33($1) TRAP 0,Halt,0

  7. Sp.-Puls Reg.-Schreiben ES Ergebnisauswahl Sp.-Schreiben Steuerung SP ES Zugriffs-Art Reg.-Puls 4 2 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 Direktoperand 64 Pipelining - Datenpfad Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 8 8 8 8 64

  8. Initialisierte Werte Sp.-Puls Reg.-Schreiben ES Ergebnisauswahl Sp.-Schreiben Steuerung SP ES Zugriffs-Art Reg.-Puls 4 2 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 Registerblock: Direktoperand 64 Clk2 2 64 Clk3 Clk4 X-Auswahl ... ... BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben $5 0x55 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse $4 0x2000000000000000 0 32 64 64 Lese- Daten $Y $Y Schreiben/ Lesen $X 64 1 64 $3 0x33 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher $2 0x22 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 $1 0x11 0 16..23 56 X X X $0 0x00 8 8 8 8 64

  9. 1.Takt

  10. Sp.-Puls Reg.-Schreiben ES Ergebnisauswahl Sp.-Schreiben ADD $1,$1,$2 Opcode: 0x20 01 01 02 Steuerung SP ES Zugriffs-Art Reg.-Puls 4 2 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 Direktoperand 64 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse ADD $1,$1,$2 $1=0x33 OR $2,$2,4 $2=0x26 SL $3,$3,5 $3=0x660 STO $1,$4,3 M8[0x20……0]=0x33($1) TRAP 0,Halt,0 0 32 64 64 Lese- Daten $Y $Y Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 8 8 8 8 64

  11. 1.Takt ADD Befehlwird ins Befehlsregistergeladen Keine unbekannten Werte in Register & Speicher schreiben! Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 0 Ergebnisauswahl Sp.-Schreiben Steuerung SP ES 0 0 Zugriffs-Art Reg.-Puls 4 2 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 Direktoperand 64 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 0x20010102 Lese- Daten $Y $Y Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 8 8 8 8 64

  12. 1.Takt Opcode an Steuerung Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 0 Ergebnisauswahl Sp.-Schreiben Steuerung SP ES 0 0 Zugriffs-Art Reg.-Puls 4 2 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 Direktoperand 64 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x20 0 32 64 64 Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 8 8 8 8 64

  13. 1.Takt SteuerunggeneriertalleSteuersignale für ADD Befehl Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 0 Ergebnisauswahl Sp.-Schreiben 1 1 Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 02 0 0x20 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 8 8 8 8 64

  14. 1.Takt Adresse von Zielregister $X wird an Zwischenregistergelegt Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 0x20 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x01 0 32 64 64 Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 8 8 8 8 64

  15. 1.Takt Wert am Adress-Eingang $X des Registerblockswirdbestimmt Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 0x20 Direktoperand 64 0 Clk2 2 64 X-Auswahl ==0 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x01 0 32 64 64 Oder: Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x01 8 8 8 8 64

  16. 1.Takt Wert am Adress-Eingang $X des Registerblockswirdbestimmt Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 0x20 Direktoperand 64 0 Clk2 2 64 X-Auswahl ==1 Clk3 Clk4 BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 ? 56 X X X 0x01 8 8 8 8 64

  17. 1.Takt Wert am Adress-Eingang $Y des Registerblockswirdbestimmt Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 0x20 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x01 0 32 0x01 oder? 64 64 Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x01 8 8 8 8 64

  18. 1.Takt Wert am Adress-Eingang $Z des Registerblocks & Direktoperandwerdenbestimmt Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 0x20 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x02 0 32 0x01 oder? 64 64 Lese- Daten $Y $Y 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 64 8..15 Daten Lesen $Y 0x01 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 32 Lesen $Z 0x02 8 64 64 0x0…02 0 16..23 56 X X X 0x01 8 8 8 8 64

  19. 1.Takt Daten für $X, $Y, $Z aus dem Registerblock lesen Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 Registerblock: 0x20 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl ... ... BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben $5 0x55 8 64 64 64 Schreib- Daten $X 0x0…11 oder ? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse $4 0x2000000000000000 0 32 0x01 oder? 64 64 Lese- Daten $Y $Y 0x0…11 0x20010102 Schreiben/ Lesen $X 64 1 64 $3 0x33 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 0x0…22 64 8..15 Daten Lesen $Y 0x01 $Z = 1 Erg ALU Daten- Speicher $2 0x22 0..7 1 Dir Op. 0x0…02 32 Lesen $Z 0x02 8 $X = Oder $X = ? $Y = 64 64 $1 0x11 0 16..23 56 X X X 0x01 $0 0x00 8 8 8 8 64

  20. 1.Takt Pipeline-Register nach Takt 1: Sp.-Puls Clk 1: ja Clk 2: nein Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 0x20 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl ==egal BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…11 oder ? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 0x01 oder? 64 64 Lese- Daten $Y $Y 0x0…11 0x20010102 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 0x0…22 64 8..15 Daten Lesen $Y 0x01 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x0…02 32 Lesen $Z 0x02 8 64 64 0 16..23 56 X X X 0x01 8 8 8 8 64

  21. ja Reg.Schr.: 0 ES X-Auswahl: egal nein Erg.Ausw.: Clk1: Clk2: Clk3: Clk4: Übungsskript S.171 oben nein Sp.Schr.: Reg.Schr.: 0 0 SP nein Zugr.-Art: Erg.Ausw.: ALU: Sp.Schr.: Reg.Schr.: 0 0 AF Dir.Op.: Zugr.-Art: Erg.Ausw.: $X: $X: Lese-Daten: $Y: $Z: ADD $1,$1,$2 Erg.ALU: Erg.ALU: Dir.Op.: Opcode: 0x20010102 X: X: X:

  22. 2.Takt

  23. 2.Takt Inhalte von ADD werden in Register übernommen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 0 Ergebnisauswahl 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 0 02 Direktoperand 64 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…11 oder ? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU $Z 0 Lese- Daten $Z 0x0…22 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x0…02 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x01 8 8 8 8 64

  24. 2.Takt AF-Phase des ADD Befehls Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 0 Zugriffs-Art Reg.-Puls 4 2 X X Clk1 64 ALU-Funktion 8 AF SP ES Add 02 24..31 0 0 02 Direktoperand 64 0 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…11 oder ? 0x0…11 oder ? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y 0x0…11 $Y 0x0…11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU + 0x33 $Z 0 Lese- Daten $Z 0x0…22 0x0…22 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x0…02 0x0…02 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x01 0x01 8 8 8 8 64

  25. 2.Takt OR Befehlwird ins Befehlsregistergeladen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 Ergebnisauswahl 1 Sp.-Schreiben OR $2,$2,4 Opcode: 0xC1 02 02 04 Steuerung SP ES 1 0 0 Zugriffs-Art Reg.-Puls 4 2 1 X Clk1 64 ALU-Funktion 8 AF SP ES Add 0 24..31 0 0 02 Direktoperand 64 X 0 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse ADD $1,$1,$2 $1=0x33 OR $2,$2,4 $2=0x26 SL $3,$3,5 $3=0x660 STO $1,$4,3 M8[0x20……0]=0x33($1) TRAP 0,Halt,0 0 32 64 64 0xC1020204 Lese- Daten $Y $Y 0x11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU 0x33 $Z 0 Lese- Daten $Z 0x22 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x02 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x01 0x01 8 8 8 8 64

  26. 2.Takt OR Befehlwirddekodiert Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 Ergebnisauswahl 1 Sp.-Schreiben 1 1 Steuerung SP ES 1 0 0 0 Zugriffs-Art Reg.-Puls 4 2 1 X X Clk1 64 ALU-Funktion 8 AF SP ES Add 0 24..31 0 00 0 02 0xC1 Direktoperand 64 X 0 1 Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x02 0x04 0xC1 0x02 0 0x02 32 0x02 oder? 64 64 0xC1020204 Lese- Daten $Y $Y 0x11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU 0x33 $Z 0 Lese- Daten $Z 0x22 64 8..15 0x02 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x0…04 0x02 32 Lesen $Z 0x04 0x04 8 64 64 0x0…04 0 16..23 56 X X X 0x02 0x01 0x01 8 8 8 8 64

  27. 2.Takt OR Befehlwirddekodiert Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 1 0 0 0 Zugriffs-Art Reg.-Puls 4 2 1 X X Clk1 64 ALU-Funktion 8 AF SP ES Add 0 24..31 0 0 00 02 Registerblock: 0xC1 Direktoperand 64 X 1 0 Clk2 2 64 Clk3 Clk4 X-Auswahl ... ... BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben $5 0x55 8 64 64 64 Schreib- Daten $X 0x22 od.? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten $Z= 16..23 Adresse $4 0x2000000000000000 0 32 0x02 oder? 64 64 0xC1020204 Lese- Daten $Y $Y 0x22 0x11 Schreiben/ Lesen $X 64 1 64 $3 0x33 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU 0x33 $Z 0 Lese- Daten $Z 0x22 0x20...0 64 8..15 0x02 Daten Lesen $Y Oder $X = ? $X = $Y = 1 Erg ALU Daten- Speicher $2 0x22 0..7 1 Dir Op. 0x0…04 0x02 32 Lesen $Z 0x04 8 64 64 $1 0x11 0 16..23 56 X X X 0x02 0x01 0x01 $0 0x00 8 8 8 8 64

  28. 2.Takt Pipeline-Register nachTakt 2: Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: nein Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 1 0 0 0 Zugriffs-Art Reg.-Puls 4 2 1 X X Clk1 64 ALU-Funktion 8 AF SP ES Add 0 24..31 0 0 00 02 0xC1 Direktoperand 64 X 1 0 Clk2 2 64 Clk3 Clk4 X-Auswahl ==egal BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x22 od.? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 0x02 oder? 64 64 0xC1020204 Lese- Daten $Y $Y 0x22 0x11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU 0x33 $Z 0 Lese- Daten $Z 0x22 0x20…0 64 8..15 0x02 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x0…04 0x02 32 Lesen $Z 0x04 8 64 64 0 16..23 56 X X X 0x02 0x01 0x01 8 8 8 8 64

  29. ja Reg.Schr.: ES 1 X-Auswahl: egal ja Erg.Ausw.: 1 Clk1: Clk2: Clk3: Clk4: nein Übungsskript S.171 unten Sp.Schr.: Reg.Schr.: SP 0 0 nein Zugr.-Art: Erg.Ausw.: egal ALU: Sp.Schr.: Reg.Schr.: AF 0x02 0 0 Dir.Op.: Zugr.-Art: Erg.Ausw.: 0 $X: $X: Lese-Daten: 0x11 oder unbestimmt 0x11 $Y: $Z: Erg.ALU: Erg.ALU: OR $2,$2,4 0x22 Dir.Op.: Opcode: 0xC1020204 0x02 X: X: X: 0x01 ADD $1,$1,$2

  30. 3.Takt

  31. 3.Takt Inhalte von ADD werden in Register übernommen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 0 1 0 Zugriffs-Art Reg.-Puls 4 X X 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 00 02 0 0 Direktoperand 2 64 1 0 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…22 oder ? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…22 0x11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU 0x33 $Z 0 Lese- Daten $Z 0x20…0 0x22 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0x0…04 0x02 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x02 0x01 0x01 8 8 8 8 64

  32. 3.Takt SP Phase des ADD Befehls Speicher: Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES Adresse Inhalt 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben 0x0000000000000000 xxxxxxxx Steuerung SP ES 0 0 0 1 1 Zugriffs-Art Reg.-Puls 4 0x0000000000000001 xxxxxxxx X X 1 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 ... 0 00 02 0 0 Direktoperand 2 64 1 0 X X Clk2 2 0 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…22 oder ? 0x11 od.? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…22 0x11 Adr=0x33 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU 0x33 <0x33> 0x33 0x0000000000000033 $Z 0 Lese- Daten $Z xxxxxxxx 0x20…0 0x22 64 8..15 0x33 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0..7 1 Dir Op. 0xFFFFFFFFFFFFFFFF xxxxxxxx 0x0…04 0x02 32 Lesen $Z Lesedaten=<0x33> 8 64 64 0 16..23 56 X X X 0x02 0x01 0x01 0x01 8 8 8 8 64

  33. 3.Takt Inhalte von OR werden in Register übernommen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 Zugriffs-Art Reg.-Puls 4 2 X X 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 00 02 1 0 Direktoperand 64 1 0 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…22 oder ? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…22 0x11 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x33 $Z 0 Lese- Daten $Z 0x20…0 0x22 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0x0…04 0x02 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x02 0x01 0x01 0x01 8 8 8 8 64

  34. 3.Takt AF-Phase des OR Befehls Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 Zugriffs-Art Reg.-Puls 4 2 X X 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 00 24..31 0 00 1 0 Direktoperand 64 1 1 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…22 oder ? 0x0…22 oder ? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y 0x0…22 $Y 0x0…22 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU || <0x33> 0x26 0x33 $Z Lese- Daten $Z 0x20…0 0 0x20…0 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 Dir Op. 1 0x0…04 0x0…04 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x02 0x02 0x01 0x01 8 8 8 8 64

  35. 3.Takt SL Befehlwird ins Befehlsregistergeladen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 Ergebnisauswahl 1 Sp.-Schreiben SL $3,$3,5 Opcode: 0x39 03 03 05 Steuerung SP ES 1 0 1 Zugriffs-Art Reg.-Puls 4 2 1 X 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 0 00 0 1 0 Direktoperand 64 1 X 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x22 oder ? 0x22 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse ADD $1,$1,$2 $1=0x33 OR$2,$2,4 $2=0x26 SL$3,$3,5 $3=0x660 STO $1,$4,3 M8[0x20……0]=0x33($1) TRAP 0,Halt,0 0 32 64 64 0x39030305 Lese- Daten $Y 0x22 $Y Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 $Z 0 Lese- Daten $Z 0x20…0 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0x04 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x02 0x02 0x01 0x01 8 8 8 8 64

  36. 3.Takt SL Befehlwirddekodiert Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 Ergebnisauswahl 1 Sp.-Schreiben 1 1 Steuerung SP ES 0 0 1 1 Zugriffs-Art Reg.-Puls 4 2 X X 1 Clk1 64 1 ALU-Funktion 8 AF SP ES Add 00 24..31 0 04 1 0 0 0x39 Direktoperand 64 1 1 1 X X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x22 oder ? 0x22 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x03 0x05 0x03 0 0x39 0x03 32 0x03 oder? 64 64 0x39030305 Lese- Daten $Y 0x22 $Y Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 $Z 0 Lese- Daten $Z 0x20…0 64 8..15 0x03 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0x04 0x0…05 32 Lesen $Z 0x05 0x05 8 64 64 0x0…05 0 16..23 56 X X X 0x02 0x03 0x02 0x01 0x01 8 8 8 8 64

  37. 3.Takt SL Befehlwirddekodiert Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 1 Zugriffs-Art Reg.-Puls 4 2 X X 1 Clk1 64 1 ALU-Funktion 8 AF SP ES Add 00 24..31 0 04 1 0 0 Registerblock: 0x39 Direktoperand 64 1 1 1 X X Clk2 2 64 Clk3 Clk4 X-Auswahl ... ... BZ 32 Registerblock BR $Z= 64 Schreiben Zugriffs- Art Schrei- ben $5 0x55 8 64 64 64 Schreib- Daten $X 0x33 oder? 0x22 oder ? 0x22 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse $4 0x2000000000000000 0 32 0x03 oder? 64 64 0x39030305 Lese- Daten $Y 0x22 $Y 0x33 Schreiben/ Lesen $X 64 Oder $X = ? $X = $Y = 1 64 $3 0x33 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 $Z 0 Lese- Daten $Z 0x20…0 0x55 64 8..15 0x03 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 $2 0x22 0..7 1 Dir Op. 0x04 0x0…05 32 Lesen $Z 0x05 8 64 64 $1 0x11 0 16..23 56 X X X 0x02 0x03 0x02 0x01 0x01 $0 0x00 8 8 8 8 64

  38. 3.Takt Pipeline-Register nachTakt 3: Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: nein Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 1 Zugriffs-Art Reg.-Puls 4 2 X X 1 Clk1 64 1 ALU-Funktion 8 AF SP ES Add 00 24..31 0 04 1 0 0 0x39 Direktoperand 64 1 1 1 X X Clk2 2 64 Clk3 Clk4 X-Auswahl ==egal BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x33 oder? 0x22 oder ? 0x22 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 0x03 oder? 64 64 0x39030305 Lese- Daten $Y 0x22 $Y 0x33 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 $Z 0 Lese- Daten $Z 0x20…0 0x55 64 8..15 0x03 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0x04 0x0…05 32 Lesen $Z 0x05 8 64 64 0 16..23 56 X X X 0x02 0x03 0x02 0x01 0x01 8 8 8 8 64

  39. ja Reg.Schr.: ES 1 X-Auswahl: egal ja Erg.Ausw.: 1 Clk1: Clk2: Clk3: Clk4: ja Übungsskript S.172 oben Sp.Schr.: Reg.Schr.: SP 0 1 nein Zugr.-Art: Erg.Ausw.: egal 1 ALU: Sp.Schr.: Reg.Schr.: AF 0x00 0 0 Dir.Op.: Zugr.-Art: Erg.Ausw.: 1 egal $X: $X: Lese-Daten: 0x22 oder unbestimmt 0x11 oder unbestimmt 0x22 $Y: $Z: Erg.ALU: Erg.ALU: SL $3,$3,5 0x33 0x20..0 Dir.Op.: Opcode: 0x39030305 0x04 X: X: X: 0x02 0x01 OR $2,$2,4 ADD $1,$1,$2

  40. 4.Takt

  41. 4.Takt Inhalte von ADD werden in Pipeline-Register 4 übernommen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 0 1 1 1 Zugriffs-Art Reg.-Puls 4 X X 1 1 Clk1 64 1 ALU-Funktion 8 AF SP ES Add 24..31 0 04 00 1 0 0 0 Direktoperand 2 64 1 1 1 X X X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…33 oder ? 0x22 od.? 0x22 od.? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…33 0x22 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 0x33 $Z 0 Lese- Daten $Z 0x0…55 0x20…0 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0x0…05 0x04 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x03 0x02 0x02 0x01 0x01 0x01 8 8 8 8 64

  42. 4.Takt ES Phase von ADD Befehl Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 0 1 1 1 Zugriffs-Art Reg.-Puls 4 X X 1 1 Clk1 64 1 ALU-Funktion 8 AF SP ES Add 24..31 04 00 1 1 0 0 0 Direktoperand 2 64 1 1 1 1 X X X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 64 64 64 Schreib- Daten $X 0x0…33 oder ? 0x22 od.? 0x22 od.? 0x11 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…33 0x22 Schreiben/ Lesen $X 64 1 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 0x33 $Z 0 Lese- Daten $Z 0x0…33 0x20…0 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 0x33 1 Dir Op. 0x0…05 0x04 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x03 0x02 0x01 0x02 0x01 0x01 0x01 8 8 8 8 64

  43. 4.Takt Inhalte von OR werden in Pipeline-Register 3 übernommen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 1 Zugriffs-Art Reg.-Puls 4 X X 1 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 04 00 1 0 0 Direktoperand 2 64 1 1 1 X X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x0…33 oder ? 0x22 od.? 0x22 od.? 0x11 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…33 0x22 Schreiben/ Lesen $X 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 0x33 $Z 0 Lese- Daten $Z 0x0…55 0x20…0 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0x0…05 0x04 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x03 0x02 0x02 0x01 0x01 8 8 8 8 64

  44. 4.Takt SP Phase des OR Befehls Speicher: Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES Adresse Inhalt 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben 0x0000000000000000 xxxxxxxx Steuerung SP ES 0 0 1 1 Zugriffs-Art Reg.-Puls 4 0x0000000000000001 xxxxxxxx X X 1 1 Clk1 64 ALU-Funktion 8 AF SP ES Add 24..31 ... 04 00 1 0 0 Direktoperand 2 64 1 1 1 X X Clk2 2 0 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x0…33 oder ? 0x22 od.? 0x22 od.? 0x22 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adr=0x26 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…33 0x22 Schreiben/ Lesen $X 0x0000000000000026 xxxxxxxx 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x33> 0x26 <0x26> 0x26 $Z 0 Lese- Daten $Z 0x0…55 0x20…0 64 8..15 0x26 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 1 Dir Op. 0xFFFFFFFFFFFFFFFF xxxxxxxx 0x0…05 0x04 32 Lesen $Z Lesedaten=<0x26> 8 64 64 0 16..23 56 X X X 0x03 0x02 0x02 0x01 0x02 8 8 8 8 64

  45. 4.Takt Inhalte von SL werden in Pipeline-Register 2 übernommen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 Zugriffs-Art Reg.-Puls 4 2 X X Clk1 64 1 ALU-Funktion 8 AF SP ES Add 24..31 04 00 1 0 Direktoperand 64 1 1 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x0…33 oder ? 0x22 od.? 0x22 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y $Y 0x0…33 0x22 Schreiben/ Lesen $X 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x26> <0x33> 0x26 $Z 0 Lese- Daten $Z 0x20…05 0x20…0 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 0x26 1 Dir Op. 0x0…05 0x04 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x03 0x02 0x02 0x02 0x01 8 8 8 8 64

  46. 4.Takt AF-Phase des SL Befehls Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 1 Ergebnisauswahl 1 1 Sp.-Schreiben Steuerung SP ES 0 0 1 Zugriffs-Art Reg.-Puls 4 2 X X Clk1 64 1 ALU-Funktion 8 AF SP ES Add 24..31 04 04 1 0 Direktoperand 64 1 1 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x0…33 oder ? 0x0…33 Oder ? 0x22 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 32 64 64 Lese- Daten $Y 0x0…33 $Y 0x0…33 Schreiben/ Lesen $X 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU << <0x26> <0x33> 0x26 0x660 $Z Lese- Daten $Z 0x0…55 0 0x0…55 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 0x26 Dir Op. 1 0x0…05 0x0…05 32 Lesen $Z 8 64 64 0 16..23 56 X X X X 0x03 0x03 0x02 0x02 0x01 8 8 8 8 64

  47. 4.Takt STO Befehlwird ins Befehlsregistergeladen Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 Ergebnisauswahl 1 Sp.-Schreiben STO $1,$4,3 Opcode: 0xAD 01 04 03 Steuerung SP ES 0 1 Zugriffs-Art Reg.-Puls 4 2 X Clk1 64 1 ALU-Funktion 8 AF SP ES Add 24..31 04 1 0 Direktoperand 64 1 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x33 oder? 0x33 oder? 0x22 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse ADD $1,$1,$2 $1=0x33 OR$2,$2,4 $2=0x26 SL $3,$3,5 $3=0x660 STO $1,$4,3 M8[0x20……0]=0x33($1) TRAP 0,Halt,0 0 32 64 64 0xAD010403 Lese- Daten $Y $Y 0x33 Schreiben/ Lesen $X 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x26> <0x33> 0x660 0x26 $Z 0 Lese- Daten $Z 0x55 64 8..15 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 0x26 1 Dir Op. 0x05 32 Lesen $Z 8 64 64 0 16..23 56 X X X 0x03 0x03 0x02 0x02 0x01 8 8 8 8 64

  48. 4.Takt STO Befehlwirddekodiert Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 1 Ergebnisauswahl 1 Sp.-Schreiben 0 • X Steuerung SP ES 1 0 1 Zugriffs-Art Reg.-Puls 4 2 X STO Clk1 64 1 ALU-Funktion 8 AF SP ES Add 1 24..31 02 04 1 0 0xAD Direktoperand 64 1 1 1 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x33 oder? 0x33 oder? 0x22 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0x01 0x03 0x01 0 0xAD 0x04 32 0x01 Oder 0x01 64 64 0xAD010403 Lese- Daten $Y $Y 0x33 Schreiben/ Lesen $X 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x26> <0x33> 0x660 0x26 $Z 0 Lese- Daten $Z 0x55 64 8..15 0x04 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 0x26 1 Dir Op. 0x0…03 0x05 32 Lesen $Z 0x03 0x03 8 64 64 0x0…03 0 16..23 56 X X X 0x01 0x03 0x03 0x02 0x02 0x01 8 8 8 8 64

  49. 4.Takt Pipeline-Register nachTakt 4: Sp.-Puls Clk 1: ja Clk 2: ja Clk 3: ja Clk 4: ja Reg.-Schreiben ES 0 1 Ergebnisauswahl X 1 Sp.-Schreiben Steuerung SP ES 1 0 1 Zugriffs-Art Reg.-Puls 4 2 X STO Clk1 64 1 ALU-Funktion 8 AF SP ES Add 1 24..31 02 04 1 0 Direktoperand 64 1 1 1 1 X Clk2 2 64 Clk3 Clk4 X-Auswahl BZ 32 Registerblock BR 64 Schreiben Zugriffs- Art Schrei- ben 8 1 64 64 64 Schreib- Daten $X 0x33 0x33 oder? 0x33 oder? 0x22 od.? Befehls- Speicher Lese- Daten $X $X $X Schreib- Daten 16..23 Adresse 0 0x01 32 0x01 Oder 0x01 64 64 0xAD010403 Lese- Daten $Y $Y 0x33 Schreiben/ Lesen $X 64 1 0x01 64 Erg ALU Adr. Lese- Daten 0 Lese Dat. ALU <0x26> <0x33> 0x660 0x26 $Z 0 Lese- Daten $Z 0x55 64 8..15 0x04 Daten Lesen $Y 1 Erg ALU Daten- Speicher 0x33 0..7 0x26 1 Dir Op. 0x0…03 0x05 32 Lesen $Z 0x03 8 64 64 0 16..23 56 X X X 0x01 0x03 0x03 0x02 0x02 0x01 8 8 8 8 64

  50. ja Reg.Schr.: ES 1 X-Auswahl: egal ja Erg.Ausw.: 1 Clk1: Clk2: Clk3: Clk4: ja Übungsskript S.172 unten Sp.Schr.: Reg.Schr.: SP 0 1 ja Zugr.-Art: Erg.Ausw.: egal 1 ALU: Sp.Schr.: Reg.Schr.: AF 0x04 0 1 Dir.Op.: Zugr.-Art: Erg.Ausw.: 1 egal 1 $X: $X: Lese-Daten: 0x33 oder unbestimmt 0x22 oder unbestimmt <0x33> 0x33 $Y: $Z: Erg.ALU: Erg.ALU: STO $1,$4,3 0x26 0x55 0x33 Dir.Op.: • Opcode: • 0xAD010403 0x05 X: X: X: 0x03 0x02 0x01 SL $3,$3,5 OR $2,$2,4 ADD $1,$1,$2

More Related