+ All Categories
Home > Education > CArcMOOC 04.01 - Von Neumann and CPU micro-architecture

CArcMOOC 04.01 - Von Neumann and CPU micro-architecture

Date post: 21-Mar-2017
Category:
Upload: alessandro-bogliolo
View: 101 times
Download: 1 times
Share this document with a friend
12
Carc 04.01 [email protected] 04. Computer systems 04.01. Von-Neumann bottleneck and CPU micro-architecture From RTL design to ALU Von Neumann architecture CPU micro-architecture Fetch-execute loop Internal communication Control unit design Computer Architecture [email protected]
Transcript

Carc 04.01

[email protected]

04. Computer systems04.01. Von-Neumann bottleneck and CPU micro-architecture

• From RTL design to ALU

• Von Neumann architecture

• CPU micro-architecture

• Fetch-execute loop

• Internal communication

• Control unit design

Computer Architecture

[email protected]

Carc 04.01

[email protected]

From RTL design to ALU

• With respect to RTL design styles, the ALU can be viewed as a shared multi-function unit that executes (sequentially) all the operations in the data path

• Resource sharing requires steering logic and control unit

Carc 04.01

[email protected]

Von Neumann machine• Is a machine that reads from a memory and executes

(one at the time) the instructions belonging to a finite (functionally complete) instruction set

• Any data-processing task can be performed (provided that the sequence of instructions to be executed is stored in memory) by alternating two phases:• Instruction fetch

• Instruction execution

• Fetch and execution are controlled by a control unit

Carc 04.01

[email protected]

Von Neumann bottleneck

• The width of the communication channel between memory and CPU is much smaller than memory

• The communication channel is a bottleneck

CPU MEM

Carc 04.01

[email protected]

Main architectural elements

CPU MEM Input Output

CPU MEM Input Output

Control BUSAddress BUS

Data BUS

Carc 04.01

[email protected]

CPU microarchitecture

ALU

R0

Rn-1

PC

MAR

MDRIR

Control

Logic

Control Unit Exec. Unit

CPU MEMORY

address

data

control

I/O

Carc 04.01

[email protected]

CPU registers

• Instruction register (IR)

• Program counter (PC)

• Memory address register (MAR)

• Memory data register (MDR)

• Generic registers R0…Rn-1

ALU

R0

Rn-1

PC

MAR

MDRIR

Control

Logic

Control Unit Exec. Unit

CPU

Carc 04.01

[email protected]

Fetch-execution loop

1. MAR PC

2. MDR MEM[MAR]

3. IR MDR

4. Decode

5. PC PC+1

6. Execute

7. Go back to 1

1. IR MEM[PC]

2. Decode

3. PC PC+1

4. Execute

5. Go back to 1

Carc 04.01

[email protected]

Instruction executionADD R3,R1,R2 (R3 R1+R2)

1. Operand fetchBring the operands at the inputs of ALU

2. ExecuteCompute sum

3. Write backPut the result in the destination register

Execution steps are controlled by the control unit, that

generates the control signals for registers and MUXes

Carc 04.01

[email protected]

Internal communication

ALU

R1

TMPout

R2

R3

TMPin

1. TMPin R1

2. TMPout TMPin + R2

3. R3 TMPout

(1)

(1)

(2)

(2)(2)

(2)

(3)

(3)

Single internal BUS

ALU

R1

R2

R3

1. R3 R1+R2

3 internal BUSes

(1)(2)

(3)

Carc 04.01

[email protected]

Control Unit DesignRandom logic approach

IR

Control

unit

stat

e

Execution Unit

state information

control

FSM

clk

Carc 04.01

[email protected]

Control Unit DesignMicroprogrammed approach

IR

Control

unit

Execution Unit

state information

control

FSM

mProg

Mem

mProg

counter

Address

selector

clk


Recommended