Zyklus Nr

12
Zyklus Nr 0 Instruction Queue Instruction tag Instruction Register IF Stage IF Stage CDB name b ADD1 ADD2 ADD3 MUL1 MUL2 DIV INT MU1 MU2 MU3 Reservations OP V1 Q1 V2 Q2 effective address R0 R1 R2 R3 R4 R8 R12 F0 F4 F8 F12 R7 R11 R15 F3 F7 F11 F15 LD F6,34(R1) LD F6,34(R1) MU3 0 LD 34 r1 NO NO MU3 on CDB in Cycle Ladebefehl kann reserviert werden.

description

IF Stage. Reservations. Instruction Queue. on CDB in Cycle. name. b. OP. V1. Q1. V2. Q2. Instruction tag. ADD1. ADD2. ADD3. MUL1. MUL2. DIV. INT. effective address. MU1. MU2. MU3. CDB. R4. R7. R8. R11. R12. R15. F0. F3. F4. F7. F8. F11. F12. F15. - PowerPoint PPT Presentation

Transcript of Zyklus Nr

Page 1: Zyklus Nr

Zyklus Nr 0

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

LD F6,34(R1)

LD F6,34(R1) MU3

0 LD 34 r1 NONO

MU3

on CDB in Cycle

Ladebefehl kann reserviert werden.

Page 2: Zyklus Nr

0

Zyklus Nr 1

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

LD F0,45(R3)

LD F6,34(R1) MU3

LD 34 r1 NONO r1+34

MU3

on CDB in Cycle

Ladebefehl kann reserviert werden. Die effektive Adresse von MU3 berechnet sich.

LD F0,45(R3) MU2

MU2

0 LD 45 r3 NONO

Page 3: Zyklus Nr

0

Zyklus Nr 2

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

MULD F0,F0,F6

LD F6,34(R1) MU3

LD 34 r1 NONO r1+34

MU3

on CDB in Cycle

Multiplikation wird reserviert, und merkt sich als Oper-anden MU2, MU3. MU3 wird aktiv und geht im Zyklus 3 auf den CDB. MU2 berechnet seine effektive Adresse

LD F0,45(R3) MU2

MU2

0 LD 45 r3 NONO r3+45

MULD F0,F0,F6 MUL1

MUL1

0 MD MU3MU2

31

Page 4: Zyklus Nr

SUBD F8,F6,F2

MUL1

1

Zyklus Nr 3

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

LD F6,34(R1) MU3

LD 34 r1 NONO r1+34

MU3

MU3

on CDB in Cycle

Die Subtraktion wird reserviert. MU3 geht auf den CDB. MU2 wird aktiv und schreibt in 4 auf den CDB

LD F0,45(R3) MU2

0 LD 45 r3 NONO r3+45

3

A:=D[r1+34]

MULD F0,F0,F6 MUL1 0 MD MU3MU2 A

A

1 4

SUBD F8,F6,F2 ADD1

0 SD f67

ADD1

A MU3

Page 5: Zyklus Nr

MUL1

Zyklus Nr 4

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINT

MU1MU2

MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

MU2

on CDB in Cycle

Die Division wird reserviert. Da MU2 auf dem CDB liegt, uebernimmt MUL1 seinen Operanden. MU2 terminiert. Die Subtraktion startet und geht im Zyklus 6 auf den CDB.

LD F0,45(R3) MU2

LD 45 r3 NONO r3+45

B:=D[r3+45]

MULD F0,F0,F6 MUL1

0 MD MU2 A

A

1 4

BSUBD F8,F6,F2 ADD1

0 SD f67A

DIVD F10,F0,F6

DIVD F10,F0,F6 DIV

0 DD MUL1 A

1 6

DIV

Page 6: Zyklus Nr

MUL1

Zyklus Nr 5

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

on CDB in Cycle

Die Addition wird reserviert. Der Multiplizierer kann aktiv werden und geht in Zyklus 13 auf den CDB.

MULD F0,F0,F6 MUL1

0 MD A

A

SUBD F8,F0,F6 ADD1

1 SD A

ADD1

B

f67

DIVD F10,F0,F6 DIV

DIV

0 DD MUL1 A

1 13

ADDD F6,F8,F4

ADDD F6,F8,F4 ADD20 AD ADD1 f45

ADD2

6

Page 7: Zyklus Nr

MUL1

Zyklus Nr 6

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

XXX…...

on CDB in Cycle

Subtraktion endet und die Addition startet, geht also in Zyklus 8 auf den CDB. Es könnte nun kein weiterer Befehl ausgegeben werden, weil die Schlange voll ist.

MULD F0,F0,F6 MUL1

0 MD A

A

SUBD F8,F0,F6 ADD1

0 SD A

ADD1

B

f67

DIVD F10,F0,F6 DIV

DIV

0 DD MUL1 A

1 13

1 6

ADDD F6,F8,F4 ADD20 AD ADD1 f45

ADD2

ADD1 C:=A-f67

1 8

C

stall

Page 8: Zyklus Nr

MUL1

Zyklus Nr 7

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

XXX…...

on CDB in Cycle

Die Operationen laufen noch. Es könnten nun ein weiterer Befehl ausgegeben werden.

MULD F0,F0,F6 MUL1

0 MD A

A

B

DIVD F10,F0,F6 DIV

DIV

0 DD MUL1 A

1 13ADDD F6,F8,F4 ADD2

0 AD ADD1 f45

ADD2

1 8

C

Page 9: Zyklus Nr

MUL1

Zyklus Nr 8

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

XXX…...

on CDB in Cycle

Die Addition endet. Es könnten nun ein weiterer Befehl ausgegeben werden.

MULD F0,F0,F6 MUL1

0 MD A

D

B

DIVD F10,F0,F6 DIV

DIV

0 DD MUL1 A

1 13ADDD F6,F8,F4 ADD2

0 AD ADD1 f45

ADD2

1 8

C

ADD2 D:= C+f45

Page 10: Zyklus Nr

MUL1

Zyklus Nr 9

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

XXX…...

on CDB in Cycle

Für unser Beispiel geschieht nun nichts mehr bis zum Zyklus 13. Es könnten aber weitere Befehle ausgegeben werden.

MULD F0,F0,F6 MUL1

0 MD A

D

B

DIVD F10,F0,F6 DIV

DIV

0 DD MUL1 A

1 13

C

Page 11: Zyklus Nr

MUL1

Zyklus Nr 13

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

XXX…...

on CDB in Cycle

Die Multiplikation endet. Es könnten weitere Befehle ausgegeben werden.

MULD F0,F0,F6 MUL1

0 MD A

D

B

DIVD F10,F0,F6 DIV

DIV

0 DD MUL1 A

1 13

C

MUL1 E:=B*A

E

E

Page 12: Zyklus Nr

01

Zyklus Nr 14

Instruction Queue

Instruction tag

Instruction Register

IF StageIF Stage

CDB

name bADD1ADD2ADD3MUL1MUL2DIVINTMU1MU2MU3

Reservations

OP V1 Q1 V2 Q2

effective address

R0 R1 R2 R3

R4

R8

R12

F0

F4

F8

F12

R7

R11

R15

F3

F7

F11

F15

XXX…...

on CDB in Cycle

Nun erst kann die Division anlaufen und endet im Zyklus 38. Es könnten weitere Befehle ausgegeben werden.

D

DIVD F10,F0,F6 DIV

DIV

DD A 38

C

E

E