MIPS处理器设计说明剖析.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安邮电大学

实践课程报告书

课程名称:计算机组成与实践

院(系)名称:电子工程学院

专业班级:**

学号/ 姓名:**

实习时间:2015年3月6日至 2015年6月19日

1课程主要目的

本课程是在上学期《计算机组成与设计》课程学习的基础上,通过实践课的方式,依照

集成电路设计流程,完成一个简单独立硬件功能电路模块的设计,从而到达对《计算机组成与设计》课程的深入理解和提高电路设计的实践能力,从理论和实验的结合中巩固计算机基

本知识,熟练掌握电路设计的基本流程和原理,同时,加深对MIPS 系统的组成部件及其电路结构,原理和功能的理解,掌握利用硬件描述语言和EDA 工具进行MIPS 设计的一般方法。

2课程的主要内容和任务

MIPS 是典型的32 位定长指令字RISC 处理器,要求深入理解MIPS 处理器的内部结构及工作原理。采用verilogHDL 设计一个兼容MIPS 指令格式,具有10 条以上指令功能的单周期CPU 硬件电路,该32 位 MIPS 设计内容主要包括系统中的基本组成部件(存储器,指

令寄存器,寄存器堆,算术逻辑运算器,程序计数器,多路选择器,符号扩展等)的设计,

仿真及硬件下载的方法和过程。设计过程中使用ISE 仿真工具完成设计电路的仿真验证。

3总体设计方案

3.1 指令及其功能表:

( 1)R 型指令:

指令

指令格式

功能op rs rt rd shame func

add 000000 sj1 Sj2 jg xx 100000 Jg=sj1+sj2 addu 000000 100001 Jg=sj1+sj2 sub 000000 100010 Jg=sj1-sj2 subu 000000 Sj1 Sj2 jg xx 100011 Jg=sj1-sj2 or 000000 Sj1 Sj2 jg xx 000010 Jg=sj1|sj2 and 000000 Sj1 xx jg xx 000011 Jg=sj1&sj2 sla 000000 Sj1 xx jg 移位数000100 Jg

lr 000000

sr 000000

( 2) I 型指令:

指令

指令格式

功能op rs rt Immediate

addi 001000 sj1 Sj2 Imm Sj2= sj1+imm addiu 001001 sj1 Sj2 Imm Sj2= sj1+imm

andi 001100 sj1 Sj2 Imm Sj2= sj1&imm

ori 001101 Sj1 Sj2 Imm Jg=sj1|sj2

Lw 100011 base rt offset offset Memory[base+imm] sw 101011 base rt offset Memory[base+imm] offset slti 001010 Sj1 Sj2 imm sj1=Sj2

sltu 001011 sj1 Sj2 imm Sj1=sj2

( 3) J 型指令:

指令

指令格式

功能op rs rt offset

Beq 000100 sj1 Sj2 offset If sj1 =sj2 then branch Bnq 000101 sj1 Sj2 offset If sj1 ≠sj2 then branch

3.2 总体结构设计:

该 MIPS 主要由 8 个模块组成,各个子模块分别设计其特定的功能,最终利用一个总

的模块进行子模块间连接,使得整个 CPU 能连贯执行指令,在仿真结果中观察设计结果,最终

进行硬件下载,验证设计。其中各个模块简单功能如下:

(1)存储器模块:具备基本的读写功能,用于存放数据和指令。

(2)寄存器堆模块:由 32 个 32 位的寄存器组成,提供较大的存储空间,用于存放暂

存数据和指令。

(3)算术逻辑运算器模块:执行加减法等算术运算,与非或等逻辑运算,以及比较

移位传送等操作的功能部件,是该 CPU 的设计核心部分,存在不同的运算处理功能,是体现实

验设计结果正确性的模块。

(4)立即数扩展模块:执行 I 型指令时需要立即数扩展,该模块用于 MIPS 符号扩展,将16 位数据扩展为 32 位数据。

(5)主控制模块:用于控制各个模块之间的分工运行,产生不同数据通路的控制信

号,保证指令顺序执行不发生紊乱。

(6)ALU 控制模块:用于生成 ALU 执行各种功能的控制信号,使 ALU 内部运行不发生紊乱。。

(7)分支跳转指令控制模块:用于生成分支和跳转指令的控制信号。

( 8)取指模块:进行指令的取出及译码,同时包括程序计数器PC 运行设计。

各模块间关系如下:

MIPS(顶层)

立即数分支跳

算术逻

存储器寄存器主控制取指模ALU控转指令

扩展模辑运算模块堆模块模块块制模块控制模

块器模块

程序计数器译码模块取指模块模块

3.3 接口定义和接口时序

cpu_clk

Out[3:0]

MIPS

rst

说明:该CPU 由 cpu_clk 和进行总的控制,并且输出程序计数器低 4 位进行简易流水灯显示, CPU 运行的结果包括逻辑运算等在仿真界面中进行分析和设计验证。

cpu_clk 上升沿有效

rst 位低电平时复位有效

4子模块详细设计

4.1存储器模块设计

4.1.1 模块方案设计

指令存储器用于存放CPU 运算的程序指令和数据等,采用单端口存储器

相关文档
最新文档