- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1
[计算机组成原理]
[计算机组成原理]
[课程设计任务书V2.0]
华中科技大学 计算机学院
PAGE 12
课程设计任务书
计算机组成原理是计算机专业的核心基础课。本课程力图以“培养学生现代计算机系统设计能力”为目标,贯彻“强调软/硬件关联与协同、以CPU设计为核心/层次化系统设计的组织思路,有效地增强对学生的计算机系统设计能力的培养”。课程设计是学完该课程并进行了多个单元实验后,综合利用所学的理论知识,并结合在单元实验中所积累的计算机部件设计和调试方法,设计出一台具有自己指令系统的简单计算机系统。所设计的系统能在基于FPGA的实验平台或Logisim仿真平台上运行一段程序,通过检查程序结果的正确性来判断所设计计算机系统正确性。
课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行主机系统底层电路的实现、故障分析与定位、系统调式等环节的锻炼,进一步提高了学生分析和解决问题的能力。
1.课程设计题目
课程设计的主要任务是设计支持5段流水线的简单计算机系统,并调试通过。围绕这一主要目标,课程设计的题目可以根据自己的设计内容、实现方式、所设计的计算机系统的结构从下列备选题中选取。
基于Logisim软件仿真平台的5段流水CPU设计实现。
基于FPGA的简单计算机系统设计与实现(流水线不作硬性要求)
2、简单计算机系统的设计目标
计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。充分利用FPGA以及相关外围器件,设计实现模型机的整机系统。要求所设计的整机系统能支持自动和单步运行方式,能正确地执行存放在主存中的程序的功能,对主要的数据流和控制流通过LED适时显示信息。尽可能利用EDA软件或仿真软件对模型机系统中各部件进行仿真分析和功能验证。在学有余力的前提下,可为模型机增加更多的扩展功能。
3、主要技术指标
支持规定32位mips指令集,具体见表1;
支持5段流水机制,可处理数据冒险,结构冒险,分支冒险;
能运行由自己所设计的指令系统构成的一段测试程序,测试程序应能涵盖所有指令,程序执行功能正确。
能运行教师提供的标准测试程序,并自动统计执行时间
能自动统计各种冒险冲突次数,动态预测流水线能自动统计预测成功次数。
表 SEQ 表格 \* ARABIC 1 指令格式
#
指令
格式
备注
1
Add 0-0
add $rd, $rs, $rt
指令功能及指令格式
参考MIPS32指令集
2
Add Immediate 0-0
addi $rt, $rs, immediate
3
Add Immediate Unsigned
addiu $rt, $rs, immediate
4
Add Unsigned
addu $rd, $rs, $rt
5
And
and $rd, $rs, $rt
6
And Immediate
andi $rt, $rs, immediate
7
Shift Left Logical
sll $rd, $rt, shamt
8
Shift Right Arithmetic
sra $rd, $rt, shamt
9
Shift Right Logical
srl $rd, $rt, shamt
10
Sub
sub $rd, $rs, $rt
11
Or
or $rd, $rs, $rt
12
Or Immediate
ori $rt, $rs, immediate
13
Nor
nor $rd, $rs, $rt
14
Multiply
mult $rs, $rt
15
Move from Hi
mfhi $rd
16
Move from Lo
mflo $rd
17
Divide Unsigned
divu $rs, $rt
18
Load Word 0-0
lw $rt, offset($rs)
19
Store Word 0-0
sw $rt, offset($rs)
20
Branch on Equal 0-0
beq $rs, $rt, label
21
Branch on Not Equal
0-0
bne $rs, $rt, label
22
Set Less Than 0-0
slt $rd, $rs, $rt
23
Set Less Than Immediate
slti $rt, $rs, immediate
24
Set Less Than Unsigned
sltu $rd, $rs, $rt
25
Jump
j label
26
Jump and Link
jal label
27
Jump Register
jr $rs
28
syscall(display
原创力文档


文档评论(0)