Top Banner
CSE 230 processor design project May, 3 rd , 2010 -Alan Nelson -Andy Kruger -Dongpu Jin
18

-Alan Nelson -Andy Kruger -Dongpu Jin. CPU is one of the most important and complicated parts of a computer. We are going to design, implement and.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

CSE 230 processor design project

May, 3rd, 2010

-Alan Nelson-Andy Kruger-Dongpu Jin

Page 2: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Introduction

CPU is one of the most important and complicated parts of a computer.

We are going to design, implement and test a pipelined processor.

Page 3: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Control Unit:

VHDL:

Page 4: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

IF stage:

Program Counter:

16 bits D-FF Gives the address of current

instruction.

Page 5: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

IF stage:

Next instruction?

pc_src decides next instruction address.

Page 6: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

IF stage:

Control single and corresponding funcitons:

Page 7: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

IF stage:

Instruction memory:

Contain program “mif” file. Output instruction base on the input

address.

Page 8: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

ID stage:

Register file:

Extra output pins for debugging.

Page 9: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

ID stage:

Write to register:

Write back value. Ground. imm (load imm). jal, bal.

Page 10: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

ID stage:

Sign-Extension:

Extend imm part of D-type instruction from 7 bits to 16 bits.

Page 11: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

EX stage:

ALU:

ALU_src determine operand of ALU. ALUControl determine which

operation it does(add, sub, AND, OR, XOR, SLL, SRL).

Page 12: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

MEM stage:

Data Memory:

ALU result determine address. Register second output goes to

MEM(sw).

Page 13: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

WB stage:

Write back to register:

Select either data from memory or ALU result been written back.

Page 14: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Pipeline:

We used D-FF to store:

Two outputs from register. imm part of instruction. All the control signal from control

except pc_src.

Page 15: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Hazard Detection:

Hazard Detect Unit:

When register write enable is high and write select is same as read select, want to forward WB data direct to ALU instead from register

Page 16: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Hazard Detection:

Page 17: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Summary:

Better understanding how CPU works.

Better understanding how software and hardware interact.

Learned working as a team to carry out a complex design task.

Page 18: -Alan Nelson -Andy Kruger -Dongpu Jin.  CPU is one of the most important and complicated parts of a computer.  We are going to design, implement and.

Questions?

Demonstration next.