- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成原理
实验六
《计算机核心(CPU+RAM)的设计》
实验报告
姓名:吴速碘 黄紫微
学号13052067
班级:计算机二班
日期2015、5、25
实验六 计算机核心(CPU+RAM)的设计
一、实验目的
掌握计算机核心的设计和实现方法,深刻理解处理器的工作机理。
二、实验内容
阅读CPU参考文档,学习一个简单的计算机核心,包括CPU和内存,并在此基础上,扩展指令集从原有的5条指令扩展为20条指令,新指令的格式自行设计。并编写机器码程序求1至100内能被4整除的全部自然数的和,验证该CPU核心的正确性。
三、实验仪器及设备:
PC机+ QuartusⅡ 9.0 + DE2-70
实验步骤
1 编写VERILOG代码(见后面)
指令助记符操作说明操作值ADD AC[1] = AC[1] + AC[0]0)STORE存数contents of memory address = AC 1)LOAD取数AC = contents of memory address
使AC[0] = 1,AC[1] = 2 ,AC[2]=3 AC[3]= 42)JUMPPC = address3)JNECIf AC 0 Then PC = address4)JEN判断是否是偶数 Judge Even Number5)CO1计数从0开始+1 计数6)CO2从0开始加 27)JSN判断是否等于指定数 Judge Specified Number 1008)STOP停止 不再取指令9)SUBAC[2] = AC[1] - AC[0] 10)MULAC[3] = AC[1] * AC[0] 11)DIVAC[3] = AC[1] / AC[0] 12)MOVAC[3] = AC[2]13)TRN AC[3] = AC[0] + AC[1] +AC[2]14)CLA//清零信号 AC[0] = 0,AC[1] = 0;15)STORE2存数contents of memory address = AC 16)NOP空指令17)RNO取非 AC[0] = ~AC[0]18)EQ4判断 当前AC[0]能否整除 4 AC[2] = AC[0] % 4
如果AC [2] = 0;则 AC[1] = AC[1] + AC [0]19)
2功能仿真
设计思想: AC[0]从0 一直加1 AC[0] = AC[0] + 1.
AC[2]判断 当前AC[0]能否整除 4 AC[2] = AC[0] % 4
如果AC [2] = 0;则 AC[1] = AC[1] + AC [0]
判断当前的AC[0]是否等于100,如果是,则退出
Task1:并编写机器码程序求1至100内能被4整除的全部自然数的和
CLOCK 表示为时钟信号RESET 表示为置零信号A_register_AC_out 累加寄存器AC[0]B_register_AC_out 累加寄存器AC[1]C_register_AC_out 累加寄存器AC[2]D_register_AC_out 累加寄存器AC[3]memory_address_register_out 地址寄存器ARmemory_data_register_out 数据寄存器DRmemory_write_out Ram 写入信号program_counter_out 程序计数器
结果显示 求1至100内能被4整除的全部自然数的和,
结果为1200
程序实验过程
Mif文件指令序列:
WIDTH=16;
DEPTH=256;
ADDRESS_RADIX=UNS;
DATA_RADIX=HEX;
CONTENT BEGIN
0 : 0F00;
1 : 1301;
2 : 0603;
3 : 0804;
4 : 0301;
[5..255] : 0000;
END;
(
文档评论(0)