ASK 10 Superskalar

background image

Procesory superskalarne

1/28

Procesory

superskalarne -

scoreboarding

IS

RO

EX

WB

Scoreboard

FU

1

EX

FU

N

EX

FU

0

IF

MEM

background image

1. Zależności danych

2/28

1

2

3

4

5

Zależności danych – nowa terminologia

y0 = a

y1 = y0

y0 = y1

y1 = 1

y0 = 0

y0 = b

RAW

WAR

Read After Write

Read

Write

Write After Read

WAW

Write After Write

Write

Read

Write

Write

background image

2. Scoreboarding

3/28

1

2

3

4

5

Scoreboarding

IS

RO

EX

MEM

WB

Scoreboard

FU

1

EX

FU

N

EX

FU

0

IF

ID

IF

EX

WB

MEM

IF – Instruction Fetch
ID – Instruction Decode
EX – Execute
MEM – Memory Access
WB – Write Back

IS – Instruction Issue
RO – Read Operands

background image

3. Zależności w scoreboarding

4/28

1

2

3

4

5

IS

RO

EX

WB

Scoreboard

FU

1

EX

FU

N

EX

FU

0

IF

MEM

WAW

RAW

WAR

Strukt.

Eliminacja zależności w algorytmie scoreboarding

background image

5/28

1

2

3

4

5

4. Struktury w scoreboarding

R

F

0

R

0

R

1

R

2

R

M

Busy RO

WB

EX

F

N

F

1

Dest

Src

Struktury wykorzystywane w algorytmie scoreboarding

background image

5. Przykład

6/28

1

2

3

4

5

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

Przykład, str. 1

background image

5. Przykład

7/28

1

2

3

4

5

Przykład, str. 2

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

background image

5. Przykład

8/28

1

2

3

4

5

Przykład, str. 3

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

background image

5. Przykład

9/28

1

2

3

4

5

Przykład, str. 4

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

0

0

0

0

1

1

0

0

1

0

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

background image

5. Przykład

10/28

1

2

3

4

5

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

0

0

0

0

1

1

1

0

1

0

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

Przykład, str. 5

background image

5. Przykład

11/28

1

2

3

4

5

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

0

0

0

0

1

1

1

1

1

0

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

Przykład, str. 6

background image

5. Przykład

12/28

1

2

3

4

5

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

1

1

0

1

0

0

1

1

1

0

0

1

1

0

0

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

Przykład, str. 7

background image

5. Przykład

13/28

1

2

3

4

5

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

1

1

0

1

0

0

1

1

1

1

0

1

1

1

1

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

Przykład, str. 8

background image

5. Przykład

14/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

1

1

0

1

0

0

1

1

1

1

1

1

0

0

0

Przykład, str. 9

background image

5. Przykład

15/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

1

1

0

1

0

0

0

1

0

0

0

1

1

0

0

Przykład, str. 10

background image

5. Przykład

16/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

1

0

0

0

1

1

0

0

1

1

1

0

cykl: 1

Przykład, str. 11

background image

5. Przykład

17/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

1

0

0

0

1

1

1

0

1

1

1

0

cykl: 2

Przykład, str. 12

background image

5. Przykład

18/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

1

0

0

0

1

1

1

0

1

1

1

0

cykl: 3

Przykład, str. 13

background image

5. Przykład

19/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

1

0

0

0

1

1

1

0

1

1

1

0

cykl: 4

Przykład, str. 14

background image

5. Przykład

20/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

1

0

0

0

1

1

1

0

1

1

1

0

Przykład, str. 15

background image

5. Przykład

21/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

1

0

0

1

0

0

0

1

1

1

0

1

1

1

1

Przykład, str. 16

background image

5. Przykład

22/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

1

0

0

1

0

0

0

0

1

1

1

1

1

0

0

0

Przykład, str. 17

background image

5. Przykład

23/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

0

0

1

0

0

0

0

0

0

0

0

1

1

0

0

Przykład, str. 18

background image

5. Przykład

24/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

0

0

1

0

0

0

0

0

0

0

0

1

1

1

0

Przykład, str. 19

background image

5. Przykład

25/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

0

0

1

0

0

0

0

0

0

0

0

1

1

1

1

Przykład, str. 20

background image

5. Przykład

26/28

1

2

3

4

5

y0 = a + b
y1 = y0 + c
y2 = y3
y1 = y0 * s
y0 = a
y3 = b

(1)
(2)
(3)
(4)
(5)
(6)

Program

IS

RO

EX

WB

Scoreboard

ALU

1

EX

ALU

0

IF

WAW

Strukt.

RAW

WAR

R

ALU

0

y

0

y

1

y

3

Busy RO

WB

EX

ALU

1

Src

y

2

Dest

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Przykład, str. 21

background image

Procesory superskalarne

27/28

Polecana literatura

1) J. Slic, B. Robic, T. Ungerer, Processor Architecture, From Dataflow to Superscalar and
Beyond, Springer 1999

Rozdział 3

strony 99 - 120

2) W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2003

Rozdział 14, str 559-599

21 stron

40 stron

background image

Procesory superskalarne

28/28

KONIEC

dr inż. Mariusz Kapruziak

mkapruziak@wi.ps.pl

pok. 107, tel. 449 55 44


Wyszukiwarka

Podobne podstrony:
2003 10 nice girls dont ask
10 Metody otrzymywania zwierzat transgenicznychid 10950 ppt
10 dźwigniaid 10541 ppt
wyklad 10 MNE
Kosci, kregoslup 28[1][1][1] 10 06 dla studentow
10 budowa i rozwój OUN
10 Hist BNid 10866 ppt
POKREWIEŃSTWO I INBRED 22 4 10
Prezentacja JMichalska PSP w obliczu zagrozen cywilizacyjn 10 2007
Mat 10 Ceramika

więcej podobnych podstron