网站大量收购闲置独家精品文档,联系QQ:2885784924

基于COP2000的定点无符号数乘法的实现.docVIP

基于COP2000的定点无符号数乘法的实现.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:基于COP2000的定点无符号数乘法的实现 I- 目 录 TOC \o 1-3 \h \z 第1章 总体设计方案 1 1.1 设计原理 1 1.2 设计思路 1 1.3 设计环境 1 第2章 详细设计方案 3 2.1 总体方案的设计 3 2.1.1总体方案的逻辑图 4 2.2 功能模块的设计 5 2.2.1 数据输入模块的设计 6 2.2.2 乘数末位判断与移位模块的设计 6 2.2.3 乘积结果显示模块的设计 7 第3章 程序调试与结果测试 9 3.1 程序调试 9 3.2 结果测试 9 参考文献 11 附 录(源程序) 12 第1章 总体设计方案 1.1 设计原理 两个8位无符号数相乘,所乘结果是16位,采用原码一位乘,在计算时,用乘数寄存器的最低位来控制部分积是否与被乘数相加,然后右移部分积和乘数,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。 1.2 设计思路 被乘数与乘数都是8位,所以相乘的结果是16位。每个寄存器的范围是8位,所以乘积的结果用两个寄存器来存储表示。 实验开始时将实验数据从实验箱的开关输入到R0、R1、R2、R3四个寄存器中,部分积存放在R0,8位乘数放在R1,8位被乘数放在R2,R3控制乘数与被乘数都是8位数。在计算时,首先判断乘数末位上的值是1还是0,决定被乘数是否与部分积相加,然后判断部分积的末位,因为右移时部分积的末位会溢出,乘数右移时要接收由部分积溢出来的数,所以根据判断来决定乘数右移后的高位是1还是0。运算结束时16位乘积结果的高8位从R0调出,低8位从R1调出,两个数据组成最终结果。 设计环境 本实验采用COP2000实验箱和COP2000仿真软件。 在COP2000试验仪上实现编程,所应用的编程语言为汇编语言。在伟福试验仪中有相关的模型机指令集分为几大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入输出指令。 此为COP2000计算机组成原理实验软件截图: 图 1.1 COP2000计算机组成原理集成调试软件 第2章 详细设计方案 2.1 总体方案的设计 (1)初始化以及输入乘数与被乘数 首先是将部分积初始化送到寄存器R0中,乘数放入R1,被乘数放入R2。直接进行到地址LOOP部分。 (2)运算过程 首先从乘数最低位开始判断,将R1放于寄存器A中并和立即数#01H相与,此时可以判断乘数最低位是0或1。基于语句JZ NEXT,当前面的判断结果是0,跳转到地址NEXT;否则顺序执行程序。 跳转到NEXT,即当程序乘数最低位为0时,将R0不变;顺序执行程序,即当乘数最低位为1时,将R0与R2相加,判断最低位是0还是1,当判断结果是0,跳转到NEXT1,否则顺序执行程序,所得到的结果送到寄存器R0中,存入数据后无条件跳转到NEXT2,判断是否是最后一位。 然后进行移位操作。在移位前需要考虑R0的最低位是0或1,因为部分积移到的数值也是结果的部分,就是保存在结果低位的部分,也就是寄存器R1中,所以要保留移掉部分,此时判断R0最低位。利用语句JZ NEXT1,当前面的判断结果是0,标志位为1,跳转到地址NEXT1;否则顺序执行程序。 当部分积最低位是1时,右移R0,进行保存;当部分积最低位是0时,右移R0、R1,进行保存。 每次循环结束都要进入结果输出部分JZ NEXT3。 (3)显示乘积的结果 最后循环控制程序结束。因为乘法的结果是16位,而此时16位结果的高八位存放在R0,低八位存放于R1。显示结果为R0显示的数据加上R1显示的数据。 2.1.1总体方案的逻辑图 R0 部分积BUBUFENJI R0 部分积BUBUFENJI 8位加法器 R2 被乘数 R1 乘数 移位和加控制 右移 OUT 输出结果 移位8次 右移 加法器 图2.1 总体方案的逻辑图 如上逻辑框图2.1中所示,R0、R1、R2均是8位的寄存器,其中R0存放部分积的原码,R1存放乘数的原码,R2存放被乘数的原码。移位和加控制电路受R1和R0的末位控制(当R1末位是1时,R0和R2相加;当R1末位是0时,R0不变。当R0末位是0时,R0和R1右移一位;当R0末位是1时,R0右移一位,R1右移一位。然后将R0右移移8位加上R1,得到乘法16位结果。 2.2 功能模块的设计 开 始 开 始 乘数最低位为1? Y N 部

文档评论(0)

t_github + 关注
实名认证
文档贡献者

计算机研究者

1亿VIP精品文档

相关文档