安徽省大学生计算机系统能力培养竞赛题目信息表陈付龙编辑v20.docx
- 文档编号:10250947
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:19
- 大小:211.04KB
安徽省大学生计算机系统能力培养竞赛题目信息表陈付龙编辑v20.docx
《安徽省大学生计算机系统能力培养竞赛题目信息表陈付龙编辑v20.docx》由会员分享,可在线阅读,更多相关《安徽省大学生计算机系统能力培养竞赛题目信息表陈付龙编辑v20.docx(19页珍藏版)》请在冰豆网上搜索。
安徽省大学生计算机系统能力培养竞赛题目信息表陈付龙编辑v20
安徽省大学生“计算机系统能力培养”竞赛题目信息表
(时间:
240分钟,满分:
100分)
一、分析题(30分)
给定一个MIPS微处理器设计,支持MIPS32-C7指令集,在设计好的MIPS微处理器上执行一段程序,给出程序执行结果。
1.MIPS32-C7指令集。
MIPS32-C7微处理器指令字长为32位,通用寄存器为32位,存储单元地址为32位,支持MIPS32-C7指令集={addu,subu,ori,lw,sw,beq,jal}。
所有运算类指令均可以不支持溢出。
(1)指令:
addu
指令名称:
无符号加
指令格式:
addurd,rs,rt
指令功能:
GPR[rd]←GPR[rs]+GPR[rt]
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
000000
rs
rt
rd
00000
100001
(2)指令:
subu
指令名称:
无符号减
指令格式:
suburd,rs,rt
指令功能:
GPR[rd]←GPR[rs]-GPR[rt]
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
000000
rs
rt
rd
00000
100011
(3)指令:
ori
指令名称:
或立即数
指令格式:
orirt,rs,imm16
指令功能:
GPR[rt]←GPR[rs]|(zero-extend)imm16
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
001101
rs
rt
imm16
(4)指令:
lw
指令名称:
加载字
格式:
lwrt,imm16(rs)
指令功能:
GPR[rt]←memory[GPR[rs]+(sign-extend)imm16]
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
100011
rs
rt
imm16
(5)指令:
sw
指令名称:
存储字
指令格式:
swrt,imm16(rs)
指令功能:
memory[GPR[rs]+(sign-extend)imm16]←GPR[rt]
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
101011
rs
rt
imm16
(6)指令:
beq
指令名称:
等于转移
指令格式:
beqrs,rt,imm16
指令功能:
if(GPR[rs]==GPR[rt])PC←PC+4+(sign-extend)imm16<<2
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
000100
rs
rt
imm16
(7)指令:
jal
指令名称:
跳转并链接
指令格式:
jaladdr26
指令功能:
$31<-PC+4;PC←(PC+4)[31..28],addr26,0,0
指令编码:
31..26
25..21
20..16
15..11
10..6
5..0
op
rs
rt
rd
shamt
func
000011
addr26
2.给定一个MIPS微处理器设计,支持MIPS32-C7指令集。
MIPS32-C7处理器为多周期设计,如图2所示。
图2五周期数据通路
表3五周期设计
分段通路
段内
平行功能
起始
(读寄存器)
中间逻辑
结束
(写寄存器)
依赖
读取指令
PC
IM
IR
读操作数
读2个寄存器
IR
RF
A/B
读取指令
读1个寄存器,立即数扩展
A(/B),EXT
执行
R-R运算
A,B
ALU
ALUOut
读操作数
R-I运算
A,EXT
访存
读存储
ALUOut
DM
DR
执行
写存储
ALUOut,B
DM
回写
存储回写
DR
RF
访存
计算回写
ALUOut
RF
执行
多周期处理器由数据通路和控制器组成。
图4多周期处理器
数据通路应至少包括如下module:
PC(程序计数器)、NPC(NextPC计算单元)、RF(通用寄存器组,也称为寄存器文件、寄存器堆)、ALU(算术逻辑单元)、EXT(扩展单元)、IM(指令存储器)、DM(数据存储器)、DR(数据寄存器)等。
控制器由状态机控制。
其设计文件如表4所示。
图5控制器的状态机
图6为参考的数据通路架构图。
该图支持MIPS32-C7指令集。
如果你对数据通路做了比较大的调整,请注意务必不要与要求矛盾。
图6多周期数据通路
MIPS32-C7多周期数据通路应包括PC、NPC、IM、DM这4个独立模块。
其中,IM容量为4KB(32bit×1024字);DM容量为4KB(32bit×1024字)。
建议数据通路中的每个module都由一个独立的VerilogHDL文件组成。
建议所有mux(包括不同位数、不同端口数等)都建模在一个mux.v中。
同一个.v文件中可以有多个module。
为使得代码更加清晰可读,建议多使用宏定义,并将宏定义组织在1个或多个头文件中。
表4模块及模块功能
序号
文件
模块定义
1
PC.v
PC是指令计数器,主要功能是完成输出当前指令地址并保存下一条指令地址。
复位后,PC指向0x0000_3000,此处为第一条指令的地址。
2
NPC.v
NPC是下条指令计数器,主要功能是计算下一条指令地址,NPCOp[1:
0]决定如何计算NPC。
3
dm.v
DM是数据存储器,主要功能是根据读写控制信号DMWr,读写对应addr地址的32位数据。
4
im.v
(1)基本描述
IM是指令存储器,主要功能是根据读控制信号DMWr,读写对应addr地址的32位数据。
5
EXT.v
EXT主要功能是将16位的数据扩展为32位数据。
6
alu.v
ALU主要功能是完成对输入数据的算数逻辑计算,包括加法、减法、按位或运算以及判断两个操作数是否相等。
7
IR.v
IR主要功能是完成对来自IM的指令的缓冲。
8
mux.v
mux主要功能是多路选择器。
mux.v文件包含二选一、四选一、八选一、十六选一4中多路选择器。
实例化多路选择器时,可使用#(XXX),实例化位宽为XXX的多路选择器。
9
flopr.v
DR、A、B、ALUOut由flopr模块实例化,主要功能是数据缓冲,由带复位的D触发器构成。
10
RF.v
RF主要功能是保存寄存器文件,并支持对通用寄存器的访问。
11
def.v
宏定义文件,定义7条指令的OPCODE/FUNCT域的宏,以及相关控制信号的宏
12
mips.v
mips模块是一个CPU,只含有复位信号rst和时钟信号clk,内部由PC、NPC、DM、IM、EXT、ALU、IR、Ctrl等模块以及一些多路选择器和缓冲器组成。
13
ctrl.v
控制器设计即为ctrl模块设计,按多周期方式实现每条指令各阶段对微处理器各组件的执行控制。
ctrl主要功能是通过使用状态机,根据指令产生数据通路各模块在对应状态中的控制信号。
3.在设计好的MIPS微处理器上执行一段程序,给出程序执行结果。
#TestFilefor7Instruction,include:
#ADDU/SUBU/LW/SW/ORI/BEQ/JAL
################################################################
###MakesurefollowingSettings:
#Settings->MemoryConfiguration->Compact,Dataataddress0
.text
ori$29,$0,12
ori$2,$0,0x1234
ori$3,$0,0x3456
addu$4,$2,$3
subu$6,$3,$4
sw$2,0($0)
sw$3,4($0)
sw$4,4($29)
lw$5,0($0)
beq$2,$5,_lb2
_lb1:
lw$3,4($29)
_lb2:
lw$5,4($0)
beq$3,$5,_lb1
jalF_Test_JAL#$31change
#Neverreturn
F_Test_JAL:
subu$6,$6,$2
sw$6,-4($29)
_loop:
beq$3,$4,_loop
#Neverreturnback
二、设计题(70分)
4.扩充MIPS微处理器设计,使其支持MIPS32-C31指令集中指令。
表4MIPS–C31指令集(共31条)
助记符
指令格式
示例
示例含义
操作及其解释
Bit#
31..26
25..21
20..16
15..11
10..6
5..0
R-type
op
rs
rt
rd
shamt
func
add
000000
rs
rt
rd
00000
100000
add$1,$2,$3
$1=$2+$3
rd<-rs+rt ;其中rs=$2,rt=$3,rd=$1
addu
000000
rs
rt
rd
00000
100001
addu$1,$2,$3
$1=$2+$3
rd<-rs+rt ;其中rs=$2,rt=$3,rd=$1,无符号数
sub
000000
rs
rt
rd
00000
100010
sub$1,$2,$3
$1=$2-$3
rd<-rs-rt ;其中rs=$2,rt=$3,rd=$1
subu
000000
rs
rt
rd
00000
100011
subu$1,$2,$3
$1=$2-$3
rd<-rs-rt ;其中rs=$2,rt=$3,rd=$1,无符号数
and
000000
rs
rt
rd
00000
100100
and$1,$2,$3
$1=$2 & $3
rd<-rs&rt ;其中rs=$2,rt=$3,rd=$1
or
000000
rs
rt
rd
00000
100101
or$1,$2,$3
$1=$2 | $3
rd<-rs|rt ;其中rs=$2,rt=$3,rd=$1
xor
000000
rs
rt
rd
00000
100110
xor$1,$2,$3
$1=$2 ^ $3
rd<-rsxorrt ;其中rs=$2,rt=$3,rd=$1(异或)
nor
000000
rs
rt
rd
00000
100111
nor$1,$2,$3
$1=~($2 | $3)
rd<-not(rs|rt) ;其中rs=$2,rt=$3,rd=$1(或非)
slt
000000
rs
rt
rd
00000
101010
slt$1,$2,$3
if($2<$3)
$1=1 else
$1=0
if(rs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽省 大学生 计算机系统 能力 培养 竞赛 题目 信息 表陈付龙 编辑 v20