MIPS处理器设计说明剖析.pdf
《MIPS处理器设计说明剖析.pdf》由会员分享,可在线阅读,更多相关《MIPS处理器设计说明剖析.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、过程能力概述 页脚内容1 西 安 邮 电 大 学 实 践 课 程 报 告 书 课程名称:计算机组成与实践 院(系)名称:电子工程学院 专 业 班 级:*学 号/姓 名:*实 习 时 间:2015 年 3 月 6 日至 2015 年 6 月 19 日 过程能力概述 页脚内容2 1 课程主要目的 本课程是在上学期计算机组成与设计课程学习的基础上,通过实践课的方式,依照集成电路设计流程,完成一个简单独立硬件功能电路模块的设计,从而到达对计算机组成与设计 课程的深入理解和提高电路设计的实践能力,从理论和实验的结合中巩固计算机基本知识,熟练掌握电路设计的基本流程和原理,同时,加深对 MIPS 系统的组成
2、部件及其电路结构,原理和功能的理解,掌握利用硬件描述语言和 EDA 工具进行 MIPS 设计的一般方法。2 课程的主要内容和任务 MIPS 是典型的 32 位定长指令字 RISC 处理器,要求深入理解 MIPS 处理器的内部结构及工作原理。采用 verilogHDL 设计一个兼容 MIPS 指令格式,具有 10 条以上指令功能的单周期 CPU 硬件电路,该 32 位 MIPS 设计内容主要包括系统中的基本组成部件(存储器,指令寄存器,寄存器堆,算术逻辑运算器,程序计数器,多路选择器,符号扩展等)的设计,仿真及硬件下载的方法和过程。设计过程中使用 ISE 仿真工具完成设计电路的仿真验证。3 总体
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
4、 Sj1 xx jg 移位数 000100 Jgsj 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 过程能力概述 页脚内容3 ori 001101 Sj1 Sj2 Imm Jg=sj1|sj2 Lw 100011 base rt offset offsetMemorybase+imm sw 101011 ba
5、se rt offset Memorybase+immoffset slti 001010 Sj1 Sj2 imm sj1=Sj2imm sltu 001011 sj1 Sj2 imm Sj1=sj2imm (3)J 型指令:指令 指令格式 功能 op rs rt offset Beq 000100 sj1 Sj2 offset If sj1=sj2 then branch Bnq 000101 sj1 Sj2 offset If sj1sj2 then branch 3.2 总体结构设计:该 MIPS 主要由 8 个模块组成,各个子模块分别设计其特定的功能,最终利用一个总的模块进行子模块间连
6、接,使得整个 CPU 能连贯执行指令,在仿真结果中观察设计结果,最终进行硬件下载,验证设计。其中各个模块简单功能如下:(1)存储器模块:具备基本的读写功能,用于存放数据和指令。(2)寄存器堆模块:由 32 个 32 位的寄存器组成,提供较大的存储空间,用于存放暂存数据和指令。(3)算术逻辑运算器模块:执行加减法等算术运算,与非或等逻辑运算,以及比较移位传送等操作的功能部件,是该 CPU 的设计核心部分,存在不同的运算处理功能,是体现实验设计结果正确性的模块。(4)立即数扩展模块:执行 I 型指令时需要立即数扩展,该模块用于 MIPS 符号扩展,将 16 位数据扩展为 32 位数据。(5)主控制
7、模块:用于控制各个模块之间的分工运行,产生不同数据通路的控制信号,保证指令顺序执行不发生紊乱。(6)ALU 控制模块:用于生成 ALU 执行各种功能的控制信号,使 ALU 内部运行不发生紊乱。(7)分支跳转指令控制模块:用于生成分支和跳转指令的控制信号。(8)取指模块:进行指令的取出及译码,同时包括程序计数器 PC 运行设计。各模块间关系如下:过程能力概述 页脚内容4 MIPS(顶层)立即数扩展模块 算术逻辑运算器模块 主控制模块 ALU 控制模块 寄存器堆模块 分支跳转指令控制模块 存储器模块 取指模块 译码模块 取指模块 程序计数器 模块 3.3 接口定义和接口时序 MIPScpu_clk
8、rstOut3:0 说明:该 CPU 由 cpu_clk 和进行总的控制,并且输出程序计数器低 4 位进行简易流水灯显示,CPU 运行的结果包括逻辑运算等在仿真界面中进行分析和设计验证。cpu_clk 上升沿有效 rst 位低电平时复位有效 4 子模块详细设计 4.1 存储器模块设计 4.1.1 模块方案设计 指令存储器用于存放 CPU 运算的程序指令和数据等,采用单端口存储器过程能力概述 页脚内容5 设计,设计最大为 64 个存储单元,每个存储单元数据宽度为 32bit。4.1.2 接口定义 序号 接口信号名称 方向(I/O)说明 1 clk I 存储器工作时钟,频率为 50Mhz 2 rs
9、t I 存储器片选信号,低有效 3 ExtMem_Adr 5:0 I 存储器地址线 4 ExtMem_WR I 存储器读写信号,1 为写反之读 5 ExtMem_Din 31:0 I 存储器输入数据线 6 ExtMem32 31:0 O 存储器输出数据线 4.1.3 模块仿真验证 4.2 寄存器堆模块设计 4.2.1 模块方案设计 该 MIPS 指令格式中的寄存器号是 5bits,指令可以访问 32 个 32 位的寄存器。这 32 个 32 位的寄存器构成一个寄存器堆。4.2.2 接口定义 序号 接口信号名称 方向 说明 1 clk I 处理器工作时钟 2 rst I 复位信号 3 Raddr
10、14:0 I 读寄存器堆时的第 1 个寄存器下标 4 Raddr24:0 I 读寄存器堆时的第 2 个寄存器下标 5 Waddr4:0 I 写寄存器堆时的寄存器下标 6 We I 寄存器堆写使能 过程能力概述 页脚内容6 7 Wdata 31:0 I 待写入寄存器堆的数据 8 Rdata 131:0 O 读寄存器堆时第 1 个寄存器的输出 9 Rdata 231:0 O 读寄存器堆时第 2 个寄存器的输出 4.2.3 模块仿真验证 4.3 算术逻辑运算器模块设计 4.3.1 模块方案设计 运用 alu_clt 控制运算器的各种运算,包括无符号数的加法运算,有符号数的加法运算,或逻辑运算,与逻辑
11、运算,无符号数的减法运算,无符号小于置 1 运算,逻辑左移,逻辑右移,算术右移等。4.3.2 接口定义 序号 接口信号名称 方向(I/O)说明 1 ALU_DA 31:0 I 参与运算的第一个输入数据 2 ALU_DB 31:0 I 参与运算的第二个输入数据 3 alu_clt 3:0 I 运算功能编码 4 alu_shift 4:0 I 偏移量 5 ALU_Zero O 零标志位 6 Alu_Overflow O 溢出标志位 7 ALU_Dout 31:0 O 运算结果输出位 4.3.3 关键控制信号的产生 SUBctr=alu_clt2;ANDctr=alu_clt0;OVctr=!alu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MIPS 处理器 设计 说明 剖析
限制150内