完整版MIPS处理器设计说明Word格式.docx

上传人:b****1 文档编号:1045828 上传时间:2023-04-30 格式:DOCX 页数:21 大小:473KB
下载 相关 举报
完整版MIPS处理器设计说明Word格式.docx_第1页
第1页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第2页
第2页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第3页
第3页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第4页
第4页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第5页
第5页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第6页
第6页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第7页
第7页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第8页
第8页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第9页
第9页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第10页
第10页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第11页
第11页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第12页
第12页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第13页
第13页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第14页
第14页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第15页
第15页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第16页
第16页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第17页
第17页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第18页
第18页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第19页
第19页 / 共21页
完整版MIPS处理器设计说明Word格式.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整版MIPS处理器设计说明Word格式.docx

《完整版MIPS处理器设计说明Word格式.docx》由会员分享,可在线阅读,更多相关《完整版MIPS处理器设计说明Word格式.docx(21页珍藏版)》请在冰点文库上搜索。

完整版MIPS处理器设计说明Word格式.docx

100001

sub

100010

Jg=sj1-sj2

subu

Sj1

100011

or

000010

Jg=sj1|sj2

and

000011

Jg=sj1&

sj2

sla

移位数

000100

Jg<

sj

lr

sr

(2)I型指令:

Immediate

addi

001000

Imm

Sj2=sj1+imm

addiu

001001

andi

001100

Sj2=sj1&

imm

ori

001101

Lw

base

offset

offset←Memory[base+imm]

sw

101011

Memory[base+imm]←offset

slti

001010

sj1=Sj2<

sltu

001011

Sj1=sj2<

(3)J型指令:

Beq

Ifsj1=sj2thenbranch

Bnq

000101

Ifsj1≠sj2thenbranch

3.2总体结构设计:

该MIPS主要由8个模块组成,各个子模块分别设计其特定的功能,最终利用一个总的模块进行子模块间连接,使得整个CPU能连贯执行指令,在仿真结果中观察设计结果,最终进行硬件下载,验证设计。

其中各个模块简单功能如下:

(1)存储器模块:

具备基本的读写功能,用于存放数据和指令。

(2)寄存器堆模块:

由32个32位的寄存器组成,提供较大的存储空间,用于存放暂存数据和指令。

(3)算术逻辑运算器模块:

执行加减法等算术运算,与非或等逻辑运算,以及比较移位传送等操作的功能部件,是该CPU的设计核心部分,存在不同的运算处理功能,是体现实验设计结果正确性的模块。

(4)立即数扩展模块:

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

(5)主控制模块:

用于控制各个模块之间的分工运行,产生不同数据通路的控制信号,保证指令顺序执行不发生紊乱。

(6)ALU控制模块:

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

(7)分支跳转指令控制模块:

用于生成分支和跳转指令的控制信号。

(8)取指模块:

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

各模块间关系如下:

3.3接口定义和接口时序

说明:

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

cpu_clk上升沿有效

rst位低电平时复位有效

4子模块详细设计

4.1存储器模块设计

4.1.1模块方案设计

指令存储器用于存放CPU运算的程序指令和数据等,采用单端口存储器设计,设计最大为64个存储单元,每个存储单元数据宽度为32bit。

4.1.2接口定义

序号

接口信号名称

方向(I/O)

说明

1

clk

I

存储器工作时钟,频率为50Mhz

2

rst

存储器片选信号,低有效

3

ExtMem_Adr[5:

0]

存储器地址线

4

ExtMem_WR

存储器读写信号,1为写反之读

5

ExtMem_Din[31:

存储器输入数据线

6

ExtMem32[31:

O

存储器输出数据线

4.1.3模块仿真验证

4.2寄存器堆模块设计

4.2.1模块方案设计

该MIPS指令格式中的寄存器号是5bits,指令可以访问32个32位的寄存器。

这32个32位的寄存器构成一个寄存器堆。

4.2.2接口定义

方向

处理器工作时钟

复位信号

Raddr1[4:

读寄存器堆时的第1个寄存器下标

Raddr2[4:

读寄存器堆时的第2个寄存器下标

Waddr[4:

写寄存器堆时的寄存器下标

We

寄存器堆写使能

7

Wdata[31:

待写入寄存器堆的数据

8

Rdata1[31:

读寄存器堆时第1个寄存器的输出

9

Rdata2[31:

读寄存器堆时第2个寄存器的输出

4.2.3模块仿真验证

4.3算术逻辑运算器模块设计

4.3.1模块方案设计

运用alu_clt控制运算器的各种运算,包括无符号数的加法运算,有符号数的加法运算,或逻辑运算,与逻辑运算,无符号数的减法运算,无符号小于置1运算,逻辑左移,逻辑右移,算术右移等。

4.3.2接口定义

ALU_DA[31:

参与运算的第一个输入数据

ALU_DB[31:

参与运算的第二个输入数据

alu_clt[3:

运算功能编码

alu_shift[4:

偏移量

ALU_Zero

零标志位

Alu_Overflow

溢出标志位

ALU_Dout[31:

运算结果输出位

4.3.3关键控制信号的产生

SUBctr=alu_clt[2];

ANDctr=alu_clt[0];

OVctr=!

alu_clt[1]&

alu_clt[0];

SIGctr=alu_clt[0];

OPctr[1]=alu_clt[2]&

alu_clt[1]|alu_clt[3];

OPctr[0]=alu_clt[1];

4.3.4具体ALU实现如下图所示:

4.3.5模块仿真验证

4.4立即数扩展模块设计

4.4.1模块方案设计

设计一个32位MIPS符号扩展单元SE,用于将16位的数据转换为32位数据。

4.4.2接口定义

信号名

端口说明

描述

Imm16[15:

来自指令寄存器的16位立即数

AluSrc

立即数扩展信号的使能端

bus[31:

ExtImm32[31:

符号扩展后的32位立即数

4.4.3模块仿真验证

4.5主控制模块设计

4.5.1模块方案设计

以指令译码结果中的6位操作码及相关信号产生整个数据通路中的各个控制信号。

4.5.2接口定义

操作码

RegDst

目的寄存器选择

ALU输入信号选择

ExtOp

立即数扩展的使能信号

RegWr

寄存器写使能

MemWr,

存储器写使能

MemtoReg

寄存器的装载信号选择

4.5.3各控制信号的编码规则如下表所示:

000

001

100

101

011

010

MemWr

4.5.4模块仿真验证

4.6ALU控制模块设计

4.6.1模块方案设计

通过译码结果中的高6位以及相关信号编码出数据通路中各个控制信号。

4.6.2接口定义

端口名称

输入输出

复位信号(高电平1有效)

cpu_clk

时钟(上升沿有效)

func[5:

功能区分

Alu_ctrl[3:

Alu功能信号

4.6.3执行R型指令func对应的Alu_ctrl编码如下表所示:

Alu_ctrl

0001

0000

0101

0100

100100

100101

0011

0110

101010

0111

1001

1100

4.6.4模块仿真验证

4.7分支跳转指令控制模块设计

4.7.1模块方案设计

运用译码结果的高6位以及ALU的两个输入数据决定分支及分支和跳转指令的控制信号。

4.7.2接口定义

端口定义

ALU_DA

算术逻辑单元数据A

ALU_DB

算术逻辑单元数据B

指令操作码

func,

R指令的功能操作码

Jump

跳转信号使能端

Branch

分支信号使能端

4.7.3模块仿真验证

 

4.8取指模块设计

4.8.1模块方案设计

由程序计数器,取出指令以及译码三个子模块构成总的取指模块。

4.8.2接口定义

10

11

shamt

12

imm16

立即数

13

14

Pc_out

程序计数器输出

4.8.3电路基本构成如下图所示:

4.8.4跳转和分支指令执行时PC_out的编码规律

Jump:

Pc_out<

=ALU_DA

Branch:

Pc_out<

=Pc_out+1+ALU_DB

正常情况下:

=Pc_out+1

4.8.5模块仿真验证

5设计总体连接及仿真验证

5.1设计总体连线

5.2在ISE仿真环境下仿真验证设计结果,仿真结果如下图所示:

5.3仿真结果分析

由仿真结果得知该CPU执行的12条指令均正常运行,实验基本成功,但是设计较为简单,并未涵盖太多复杂指令,需要进一步改善,使其趋于完善。

6、实践课总结和心得体会

西安邮电大学电子工程学院

计算机组成与实践实践课程过程考核表

学生姓名

班级/学号

承担任务实验室

微电子实验室

所在部门

微电子学系

实施时间

2015年3月6日—2015年6月19日

实践课程:

时间安排、具体内容及成绩考核

具体内容安排

考核结果

第1周

1、实践课程讲解,任务要求说明,学习和实践内容安排

2、兼容MIPS格式指令系统设计

第2~3周

1、指令存储器设计,寄存器堆设计

第4~6周

1、ALU设计——基本算术、逻辑单元的设计

32位超前进位加法器的设计

32位桶式移位寄存器的设计

第7~8周

1、取指令部件的设计

2、立即数处理单元设计

第9~11周

1、单周期处理器设计——R型指令的数据通路设计

I型指令的数据通路设计

Load/Store指令的数据通路设计

分支指令/转移指令的数据通路设计

综合12条指令的完整数据通路设计

第12周

1、ALU控制单元设计,主控制单元的设计

第13~14周

1、单周期处理器总体连接

第14~15周

1、单周期处理器总体仿真验证

第16周

课程考核验收

指导教师

对学生的评价

学习态度

□认真□一般□不认真

学习纪律

□全勤□偶尔缺勤□经常缺勤

实践能力

□很强□一般□较差

指导教师对学生专业知识或社会实践能力等情况的意见

指导教师签字:

年月日

西安邮电大学电子工程学院

计算机组成与实践实践课程成绩鉴定表

进行时间

成绩鉴定

学习内容(20分)

与教学任务计划结合程度(10分)

与专业培养结合程度(6分)

其它(4分)

接受单位评价

(20分)

实践能力(10分)

学习态度(6分)

学习纪律(4分)

报告鉴定

(60分)

报告内容与实践过程紧密结合(15分)

报告内容与教学计划内容紧密结合(15分)

报告质量(主题、结构、观点、逻辑、资料、字数30分)

指导教师姓名

孟李林

职称

教授

成绩

评语

指导教师签字:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2