- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于COP2000的定点无符号数乘法的实现精选
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计
课程设计题目:COP2000实现无符号数的乘法
院(系):计算机学院
专 业:计算机科学与技术
班 级学 号:2012040101011
姓 名:谷进杰
指导教师: 杨华
完成日期:2015年01月16日
目 录
第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位乘数放在R位乘数放在R2运算结束时位乘积的高位,低位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总体方案的逻辑图
图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 功能模块的设计
图2.2 功能模块设计图
2.2.1 数据输入模块的设计
将部分积初始化送到寄存器R0中,乘数放入R1,被乘数放入R2。应用MOV R0,#IIH语句将三个数据分别输入到R0、R1、R2。
2.2.2 乘数末位判断与移位模块的设计
(1) 功能描述MOV A,R1和AND A,#01语句,将乘数与1相与,得出末位结果。然后利用JZ NEXT,如果结果是0,则跳转到地址NEXT;否则顺序执行程序。
(1)NEXT,即当乘数最低位为0时,R0不变;
(2)顺序执行程序,即当乘数最低位为1时,将R0与R2相加,所得到的结
您可能关注的文档
- 城市轨道交通概论教学大纲精选.doc
- 城市设计导则与建筑集群设计的滨海实践精选.pdf
- 城市轨道交通的“社会公平”与“利益平衡”探讨精选.pdf
- 城市轨道交通的经营模式分析精选.pdf
- 城轨控制中心ATC系统精选.ppt
- 城镇中学2012年推进义务教育均衡发展工作实施方案精选.doc
- 城市道路工程案例分析精选.ppt
- 城市重点地区地下空间规划编制方法探讨——以武汉市航空路武展地区为例精选.pdf
- 城镇化改革中农民的社会保障问题研究精选.doc
- 城市边缘区耕地面积变化时空特征及其驱动机制——以北京市顺义区为例精选.pdf
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
最近下载
- 纸电融合背景下高校图书馆中文图书纸电协调采购的现状与对策研究.docx VIP
- 2023广东中山市人大常委会办公室招聘雇员1人笔试备考试题及答案解析.docx VIP
- DDI 有效沟通学员手册.doc VIP
- 《疼痛评估工具》课件.ppt VIP
- 动物皮水解复合酶及其在动物皮提取胶原蛋白中的应用.pdf VIP
- 《中国传统文化》课件 2.2 道家思想及其人生模式.pptx
- 消防泵房分项工程技术交底.docx VIP
- 黄岭尾矿库安全风险辨识评估报告.doc VIP
- 专题08 整本书阅读(全国通用)(解析版)十年(2016-2025)高考语文真题分类汇编.docx
- 三星级高中评估标准及评价细则.docx VIP
文档评论(0)