the toy datapath: jump and link€¦ · the toy datapath: jump and link before execute: pc = 21 ir...

1
20 > 0 = 0 1 2 3 A L U + The TOY Datapath: Jump and Link Before fetch: pc = 20 mem[20] = FF30 > 0 = 0 1 2 Cond Eval 5 A L U IR t s d op + Memory W Data R Data Addr W Registers W Data W Addr A Addr B Addr A Data B Data W PC ???? > 0 = 0 1 2 3 A L U + The TOY Datapath: Jump and Link Before fetch: pc = 20 mem[20] = FF30 > 0 = 0 1 2 Cond Eval 5 21 FF30 21 A L U IR t s d op 20 20 + Memory W Data R Data Addr W 21 Registers W Data W Addr A Addr B Addr A Data B Data W PC After fetch: pc = 21 IR = FF30: R[F] m 21; pc m 30 FF30 21 F F 3 0 > 0 = 0 1 2 3 A L U + The TOY Datapath: Jump and Link Before execute: pc = 21 IR = FF30: R[F] m 21; pc m 30 > 0 = 0 1 2 PC Cond Eval 5 A L U IR t s d op + Memory W Data R Data Addr W 21 F F 30 3 0 Registers W Addr A Addr B Addr A Data B Data W W Data FF30 21 > 0 = 0 1 2 3 A L U + The TOY Datapath: Jump and Link > 0 = 0 1 2 PC Cond Eval 5 21 A L U IR t s d op + Memory W Data R Data Addr W 21 F F 30 0030 30 3 0 Registers W Addr A Addr B Addr A Data B Data W W Data After execute: pc = 30 R[F] = 21 FF30 30 Before execute: pc = 21 IR = FF30: R[F] m 21; pc m 30 21

Upload: others

Post on 15-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The TOY Datapath: Jump and Link€¦ · The TOY Datapath: Jump and Link Before execute: pc = 21 IR = FF30: R[F] m21; pc m30 5 21 F F 30 3 0 21 FF30 > 0 = 0 1 2 PC Cond Eval 3 A L

20

> 0

= 0

1

2

PC

CondEval

3

ALU

IR

t

s

d

op

Registers

W Data

W Addr

A Addr

B Addr

A Data

B Data

W+

Memory

W Data

R Data

Addr

W

The TOY Datapath: Jump and Link

Before fetch:pc = 20mem[20] = FF30

> 0

= 0

1

2

CondEval

5

ALU

IR

t

s

d

op

+

Memory

W Data

R Data

Addr

W

Registers

W Data

W Addr

A Addr

B Addr

A Data

B Data

W

PC

????

> 0

= 0

1

2

PC

CondEval

3

ALU

IR

t

s

d

op

Registers

W Data

W Addr

A Addr

B Addr

A Data

B Data

W+

Memory

W Data

R Data

Addr

W

The TOY Datapath: Jump and Link

Before fetch:pc = 20mem[20] = FF30

> 0

= 0

1

2

CondEval

521

FF30

21

ALU

IR

t

s

d

op20 20

+

Memory

W Data

R Data

Addr

W

21

Registers

W Data

W Addr

A Addr

B Addr

A Data

B Data

W

PC

20 ????

After fetch:pc = 21IR = FF30: R[F] 21; pc 30

FF3021

F

F

3

0

> 0

= 0

1

2

PC

CondEval

3

ALU

IR

t

s

d

op

Registers

W Data

W Addr

A Addr

B Addr

A Data

B Data

W+

Memory

W Data

R Data

Addr

W

The TOY Datapath: Jump and Link

Before execute:pc = 21IR = FF30: R[F] 21; pc 30

> 0

= 0

1

2

PC

CondEval

5

ALU

IR

t

s

d

op

+

Memory

W Data

R Data

Addr

W

21F

F

30

3

0

Registers

W Addr

A Addr

B Addr

A Data

B Data

W

W DataFF3021

> 0

= 0

1

2

PC

CondEval

3

ALU

IR

t

s

d

op

Registers

W Data

W Addr

A Addr

B Addr

A Data

B Data

W+

Memory

W Data

R Data

Addr

W

The TOY Datapath: Jump and Link

> 0

= 0

1

2

PC

CondEval

5

21

ALU

IR

t

s

d

op

+

Memory

W Data

R Data

Addr

W

21F

F

30

0030

30

3

0

Registers

W Addr

A Addr

B Addr

A Data

B Data

W

W Data

After execute:pc = 30R[F] = 21

FF302130

Before execute:pc = 21IR = FF30: R[F] 21; pc 30

21

dp6
Typewritten Text
[5] and [6] are used in the fetch cycle:
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
dp6
Typewritten Text
[1] and [3] are used in the execute cycle:
dp6
Typewritten Text