lecture 10 processor microarchitecture (part 1)

31
Xuan ‘Silvia’ Zhang Washington University in St. Louis http:// classes.engineering.wustl.edu /ese566/ Lecture 10 Processor Microarchitecture (Part 1)

Upload: others

Post on 24-Apr-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 10 Processor Microarchitecture (Part 1)

Xuan ‘Silvia’ Zhang Washington University in St. Louis

http://classes.engineering.wustl.edu/ese566/

Lecture 10 Processor Microarchitecture (Part 1)

Page 2: Lecture 10 Processor Microarchitecture (Part 1)

Key Concepts in Computer Architecture

•  Transaction latency –  the time to complete a single transaction

•  Execution time/total latency –  the time to complete a sequence of transactions

•  Throughput –  the number of transaction executed per unit time

2

Page 3: Lecture 10 Processor Microarchitecture (Part 1)

Analyzing Processor Performance

3

Page 4: Lecture 10 Processor Microarchitecture (Part 1)

Analyzing Processor Performance

4

Page 5: Lecture 10 Processor Microarchitecture (Part 1)

Transactions and Steps

•  Each instruction as a transaction •  Executing a transaction involves a sequence of steps

5

Page 6: Lecture 10 Processor Microarchitecture (Part 1)

Microarchitecture: Control/Datapath Split

6

Page 7: Lecture 10 Processor Microarchitecture (Part 1)

7

Page 8: Lecture 10 Processor Microarchitecture (Part 1)

PARCv1 Single-Cycle Processor

8

Page 9: Lecture 10 Processor Microarchitecture (Part 1)

High-level Idea for Single-Cycle Processors

9

Page 10: Lecture 10 Processor Microarchitecture (Part 1)

Single-Cycle Datapath

•  Implement ADDU instruction •  Implement ADDIU instruction

10

Page 11: Lecture 10 Processor Microarchitecture (Part 1)

Single-Cycle Datapath

•  Implement ADDU instruction •  Implement ADDIU instruction

11

Page 12: Lecture 10 Processor Microarchitecture (Part 1)

Adding MUL Instruction

12

Page 13: Lecture 10 Processor Microarchitecture (Part 1)

Adding LW and SW Instructions

13

Page 14: Lecture 10 Processor Microarchitecture (Part 1)

Adding J Instruction

14

Page 15: Lecture 10 Processor Microarchitecture (Part 1)

Adding JAL and JR Instructions

15

Page 16: Lecture 10 Processor Microarchitecture (Part 1)

Adding BNE Instruction

16

Page 17: Lecture 10 Processor Microarchitecture (Part 1)

Quiz: Adding a New Auto-Incrementing Load Instruction

17

Page 18: Lecture 10 Processor Microarchitecture (Part 1)

Single-Cycle Processor Control Unit

18

Page 19: Lecture 10 Processor Microarchitecture (Part 1)

Estimating Cycle Time—Longest Critical Path

19

Page 20: Lecture 10 Processor Microarchitecture (Part 1)

20

Page 21: Lecture 10 Processor Microarchitecture (Part 1)

PARCv1 FSM Processor

21

Page 22: Lecture 10 Processor Microarchitecture (Part 1)

22

Page 23: Lecture 10 Processor Microarchitecture (Part 1)

FSM Processor Datapath

•  Implement fetch sequence

23

Page 24: Lecture 10 Processor Microarchitecture (Part 1)

FSM Processor Datapath

•  Implement ADDU sequence

24

Page 25: Lecture 10 Processor Microarchitecture (Part 1)

Full Datapath for PARCv1 FSM Processor

25

Page 26: Lecture 10 Processor Microarchitecture (Part 1)

26

Page 27: Lecture 10 Processor Microarchitecture (Part 1)

27

Page 28: Lecture 10 Processor Microarchitecture (Part 1)

Adding a Complex Instruction

28

Page 29: Lecture 10 Processor Microarchitecture (Part 1)

Quiz: Adding a New Auto-Incrementing Load Instruction

29

Page 30: Lecture 10 Processor Microarchitecture (Part 1)

Questions?

Comments?

Discussion?

30

Page 31: Lecture 10 Processor Microarchitecture (Part 1)

Acknowledgement

Cornell University, ECE 4750

31