




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称 计算机组成原理课程设计计算机组成原理课程设计 课程设计题目 加减交替法的原码一位除加减交替法的原码一位除 说明 结论 优秀 良好 中等 及格 不及格 作为相关教环节考核必要依据 格式不符合要说明 结论 优秀 良好 中等 及格 不及格 作为相关教环节考核必要依据 格式不符合要 求 数据不实求 数据不实 不予通过 报告和电子数据必须作为实验现象重复的关键依据 不予通过 报告和电子数据必须作为实验现象重复的关键依据 沈阳航空航天大学课程设计报告 学术诚信声明 本人声明本人声明 所呈交的报告 含电子版及数据文件 是我个人在导师指 导下独立进行设计工作及取得的研究结果 尽我所知 除了文中特别 加以标注或致谢中所罗列的内容以外 报告中不包含其他人己经发表 或撰写过的研究结果 也不包含其它教育机构使用过的材料 与我一 同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明 并表示了谢意 报告资料及实验数据若有不实之处 本人愿意接受本 教学环节 不及格 和 重修或重做 的评分结论并承担相关一切后 果 本人签名 日期 年 月 日 沈阳航空航天大学课程设计报告 目目 录录 第第 1 章章 总体设计方案总体设计方案 1 1 1 设计原理 1 1 2 设计思路 1 1 3 设计环境 2 第第 2 章章 详细设计方案详细设计方案 5 2 1 算法与程序的设计与实现 5 第第 3 章章 程序调试与结果测试程序调试与结果测试 8 3 1 程序调试 8 3 2 程序测试及结果分析 8 参考文献参考文献 11 附附 录 关键部分程序清单 录 关键部分程序清单 12 沈阳航空航天大学课程设计报告 0 第 1 章 总体设计方案 1 1设计原理设计原理 原码一位除 即两个原码数相除 商的符号为除数和被除数的符号异或值 采用汇编语言实现定点原码一位除法器 定点除法运算有两种不同的实现方法 一种是恢复余数法 即在运算过程中 必须先算减法 若余数为正 才知道够减 若余数为负 则知道不够减 不够减时必须恢复原来的余数 以便再继续往下运 算 另一种是不恢复余数法 又称加减交替法 此次设计即是采用加减交替法来 实现四位二进制数的定点原码一位除法 定点原码的除法要求小数除以大数才能 这么算 1 2设计思设计思路路 实验开始时将实验数据从实验箱的开关输入到 R0 R1 R2 三个寄存器中 R2 为被除数 R1 为除数 R0 为商 最后结果在 OUT 寄存器中显示 加减交替法的实现是对恢复余数法的一种修正 当某一次求得的余数差值为 负时 不恢复它 继续求下一位的商 但用加上除数加上 Y 补 即相当于减去 Y 的绝对值 的办法来取代 Y 的操作 其他操作依然不变 开始第一步即加 上 Y 补 在开始判断余数正负 1 当余数为正时 商上 1 求下一位商的办法是余数左移一位 再减 去除数 2 当余数为负数时 商上 0 求下一位商的办法是余数左移一位 再 加上除数 3 这种方法不用恢复余数 但若最后一次上商 为 0 而又需要得到正 确的余数 则在这最后一次仍需恢复余数 沈阳航空航天大学课程设计报告 1 例如 X 的值为 0 1011 Y 的值为 0 1101 求 Y X 被除数 操作说明 001011 00000 110011 Y 补 111110 00000 不够减 商上 0 111100 00000 左移 001101 Y 001001 00001 够减 商上 1 010010 00010 左移 110011 Y 补 000101 00011 够减 商上 1 001010 00110 左移 110011 Y 补 111101 00110 不够减 商上 0 111010 01100 左移 001101 Y 000111 01101 够减 商上 1 余数 商 1 3设计环境设计环境 伟福 COP2000 实验环境介绍 COP2000 计算机组成原理实验系统由实验平台 开关电源 软件三大部分组 成 COP2000 模型机包括了一个标准 CPU 所具备所有部件 这些部件包括 运算 器 ALU 累加器 A 工作寄存器 W 左移门 L 直通门 D 右移门 R 寄存器组 R0 R3 程序计数器 PC 地址寄存器 MAR 堆栈寄存器 ST 中断向量寄存器 IA 输 入端口 IN 输出端口寄存器 OUT 程序存储器 EM 指令寄存器 IR 微程序计数 沈阳航空航天大学课程设计报告 2 器 uPC 微程序存储器 uM 以及中断控制电路 跳转控制电路 其中运算器和中 断控制电路以及跳转控制电路用 CPLD 来实现 其它电路都是用离散的数字电路 组成 硬件图如图 1 3cop2000 硬件图所示 图图 1 3 cop2000 硬件图硬件图 微程序控制部分也可以用组合逻辑控制来代替 COP2000 集成调试软件 即仿 真测试软件 共分为 6 部分 1 主菜单区 实现实验仪的各项功能的菜单 包括 文件 编辑 汇编 运行 帮助 五大项 各项线面做详细介绍 快捷图标区 快速实现各项功能按键 2 源程序 机器码区 在此区域有源程序窗口 反汇编窗口 EM 程序代码窗口 源程序用于输入 显示 编辑汇编源程序 反汇编窗口显示程序编译后的机器码 及反汇编的程序 EM 程序代码窗口用数据方式机器码 3 机构图 逻辑波形区 结构图能结构化显示模型机的各部件 以及运行时数据 走向寄存器值 逻辑波形图能显示模型机运行时所有信号的程序 4 微程序 跟踪区 微程序表格用来显示程序运行时微程序的时序 及每个时钟 脉冲各控制位的状态 跟踪表用来记录显示程序及微程序执行的轨迹 指令系统 沈阳航空航天大学课程设计报告 3 可以帮助你设计新的指令系统 5 寄存器状态区 用来显示程序执行时各内部寄存器的值 模型机的指令码为 8 位 根据指令类型的不同 可以有 0 到 2 个操作数 指令码的最低两位用来选择 R0 R3 寄存器 在微程序控制方式中 用指令码做为 微地址来寻址微程序存储器 找到执行该指令的微程序 而在组合逻辑控制方式 中 按时序用指令码产生相应的控制位 在本模型机中 一条指令最多分四个状 态周期 一个状态周期为一个时钟脉冲 每个状态周期产生不同的控制逻辑 实 现模型机的各种功能 可以在 ASM 中输入要编写的程序 写完之后保存成 ASM 文件 就可以正常 执行了 汇编之后点反汇编能找到反汇编之后的代码便于查找错误以及检查地址 是否正确 用到的核心指令介绍 ADD A R 将寄存器 R 的值加入累加器 A 中 ADD A II 立即数 II 加入累加器 A 中 SUB A II 从累加器中减去立即数后加入累加器 A 中 AND A II 累加器 A 与 立即数 II 2 数据传送指令 MOV A R 将寄存器 R 的值送到累加器 A 中 MOV R II 将立即数 II 存放到寄存器 R 中 MOV R A 将累加器 A 中的值送到寄存器 A 中 3 移位指令 RR A 累加器 A 右移 RL A 累加器 A 左移 4 跳转指令 JZ MM 若零标志位置 1 跳转到 MM 地址 JMP MM 跳转到 MM 5 位运算 AND A R 累加器 A 与 寄存器 R 的值 沈阳航空航天大学课程设计报告 4 第 2 章 详细设计方案 2 1 算法与程序的设计与实现算法与程序的设计与实现 本次课程设计采用伟福 COP2000 实验仪软件 利用伟福 COP2000 的指令集 编程实现 定点原码一位除 算法为加减交替法 当余数为负时 需加上除数 将其恢复城原来的余数 商值的确定是通过比较被除数和除数的绝对值的大小 即 x y 实现的 而计算机内只设加法器 所以需要将 x y 操作变为 x 补 y 补得 操作 开始第一步即加上 Y 补 在开始判断余数正负 当余数为正时 商上 1 求下一位商的办法是余数左移一位 再减去除数 当余数为负数时 商上 0 求下一位商的办法是余数左移一位 再加上除数 这种方法不用恢复余数 但若 最后一次上商 为 0 而又需要得到正确的余数 则在这最后一次仍需恢复余 数 上边所说的是我们在课堂上学习的定点原码一位除加减交替法 课程设计的 要求是用 Cop2000 编程实现定点原码除法 就是将上述的过程转化成程序通过汇 编来实现 编写程序区域如图 2 1 所示 图图 2 1 程序区程序区 沈阳航空航天大学课程设计报告 5 2 22 2 流程图的设计与实现流程图的设计与实现 开始 初始化被除数R2 除数 R1 商R0 计数器R3 求出除数Y的 Y 补和 Y 补 被除数R2加上 Y 补 R3减一 是 上商1 左移一位 上商0 左移一位 判断R2正负 正负 R2加上 Y 补 R2加上 Y 补 R3减一 判断R3大于0 否在判断一次余数正负 正 上商1负上商0 判断商的符号 存 入R3商的结果用 OUT显示 END 图图 2 2 总流程图总流程图 沈阳航空航天大学课程设计报告 6 R0 R1 R2 均是 8 位的寄存器 R0 是商 R1 是除数 R2 为被除数 商的结果 在 OUT 中输出 商的符号由寄存器 r3 表示 R3 是 00 则表示商的结果是正数 若 为 01 则为负数 流程图如图 2 2 所示 除法开始前 R0 寄存器被清 0 准备接收 商 被除数的原码放在 R2 寄存器中 除数的原码放在 R1 寄存器中 计数器 R3 中存放需要移位的次数 除法开始后 用被除数减去除数即是加上 Y 补 若 运算结果大于 0 商上 1 若结果小于 0 商上 0 然后被除数左移一位 计数器 减 1 当计数器 R3 内容为 0 时 结束运算 跳出循环 最后在判断一次余数正负 只上商不移位 对应的硬件图 图图 2 2 硬件图硬件图 ALU AW R1R2 被除数除数 DLR 除 数 左 移 R0 商 R3 计数器 商左 移 沈阳航空航天大学课程设计报告 7 第 3 章 程序调试与结果测试 3 1 程序调试程序调试 编写程序的时候遇到了不少的问题 因为每一条指令所占据的地址是不同的 有的指令占绝两个地址 有的占据一个地址 在编写指令的时候会并不知道要指 令要跳转的地址 所以要一条条写 写完后反汇编 看地址是否正确 将程序写完输入到 cop2000 当中 保存 运行提示无法读取 后来经过上网 查找资料发现保存的格式不正确文件的后缀名需要改成需要改成 ASM 在刚开始 也发现了程序中不少的小错误 进行单步调试的时候一一的都检查出来了 有一 次运行会提示第几行错误 发现是 jz 跳转的地址不对 查看反汇编 逐一进行 地址的核对 最终找到了错误 改正后 程序可以正常运行 图图 3 1 反汇编程序反汇编程序 3 2 程序测试及结果分析程序测试及结果分析 程序能正常运行了 下面要进行的是对程序进行测试 看程序的算法是否 会出现问题以及算出来的数是否会错误 测试的时候我用了两组数进行测试需要 注意的是定点原码一位除的时候要求是要用小数除以大数即 R2 中的被除数要小 于 R1 中的除数 沈阳航空航天大学课程设计报告 8 测试一 被除数 R2 0BH 除数 R1 0DH 图图 3 2 测试结果一测试结果一 商的结果为 0D 正数 余数 07 结果正确 测试二 被除数 R2 19H 除数 R1 0bH 图图 3 3 测试结果二测试结果二 商的结果为 0D 负数 因为 R3 是 01 为负 余数 01 结果正确 经过测试该程序正确 沈阳航空航天大学课程设计报告 9 测试三 被除数 R2 09H 除数 R1 0bH 图图 3 4 测试结果三测试结果三 商的结果为 0D 正数 因为 R3 是 00 为负 余数 01 结果正确 经过测试该程序正确 测试四 被除数 R2 0BH 除数 R1 1DH 图图 3 5 测试结果四测试结果四 商的结果为 0D 负数 因为 R3 是 01 为负 余数 07 结果正确 经过测试该程序正确 沈阳航空航天大学课程设计报告 10 参考文献 1 周大海 计算机组成原理实验与课程设计 M 北京航空航天大学出版社 2015 2 王爱英 计算机组成与结构 第四版 M 北京 清华大学出版社 2006 3 唐朔飞 计算机组成原理 第二版 M 北京 高等教育出版社 2008 4 曹昕燕 EDA 技术实验与课程设计 M 北京 清华大学出版社 2006 5 江国强 EAD 技术习题与实验 M 北京 电子工业出版社 2005 6 李景华 可编程程逻辑器件与 EDA 技术 M 北京 东北大学出版社 2001 7 范延滨 微型计算机系统原理 接口与 EDA 设计技术 M 北京 北京邮电大学 出版社 2006 沈阳航空航天大学课程设计报告 11 附 录 序号序号代码代码机器码机器码注释注释 00 Mov R2 H8E19初始化被除数放初始化被除数放 r2 02Mov R1 H8D0B初始化除数放初始化除数放 r1 04Mov A R272R2 放放 A 中中 05MOV 9FH A889F 将将 A 中的被除数中的被除数 存到存到 9F 07MOV A R171R1 放放 A 中中 08MOV 9EH A889E 将将 A 中的除数中的除数 存到存到 9E 0AMOV R0 00H8C00将商将商 R0 全部置全部置 0 0CMOV A R171R1 放放 A 中中 0DAND A 0FH5C0F求出除数求出除数 Y 的补码的补码 0FMOV 9CH A889C将补码存到将补码存到 9CH 中中 11MOV R1 A81A 放放 R1 12MOV A R171R1 放放 A 中中 13CPL AE4取反取反 14ADD A 01H1C01加一加一 16AND A 1FH5C1F 18MOV R1 A81将将 Y 存到存到 R1 19MOV A R272取出被除数取出被除数 1AAND A 0FH5C0F求绝对值求绝对值 1CMOV R2 A82取取 A 存入存入 R2 沈阳航空航天大学课程设计报告 12 1DMOV A R272A 取取 R2 1EADD A R111被除数加上被除数加上 Y 1FMOV R2 A82加上的结果加上的结果 R2 20MOV R3 05H8F05R3 的初值为的初值为 05H 22MOV A R373 23SUB A 01H3C01次数减一次数减一 25MOV R3 A83存回存回 R3 26AND A 0FH5C0F判断次数是否为判断次数是否为 0 28JZ 48HA448为为 0 跳到跳到 48H 那条地那条地 址的指令址的指令 2AMOV A R272取取 R2 2BAND A 10H5C10判断判断 R2 即余数即余数 的正负的正负 2DJZ 3BHA438跳到跳到 3Bh 2FMOV A R070若余数为负数若余数为负数 30AND A 07H5C07上商上商 0 32RL AD4商左移一位商左移一位 33MOV R0 A80存入存入 R0 34MOV A R272取余数取余数 35RL AD4余数左移一位余数左移一位 36ADD A 9CH189C加上加上 Y 38MOV R2 A82将新的余数存到将新的余数存到 R2 39JMP 22HAC22跳到跳到 22H 3BMOV A R070若余数为正数若余数为正数 3COR A 01H6C01上商上商 1 3ERL AD4商左移一位商左移一位 沈阳航空航天大学课程设计报告 13 3FMOV R0 A80存回存回 40MOV A R272取余数取余数 41RL AD4余数左移一位余数左移一位 42MOV R2 A82存回存回 R2 43MOV A R272取出取出 44ADD A R111加上加上 Y 45MOV R2 A82存回存回 46JMP 22HAc22跳到跳到 22H 48MOV A R272取取 R2 49AND A 10H5C10判断余数判断余数 R2 符号位符号位 4BJZ 50HA450跳到跳到 50h 4DMOV R0 A80如果为负数上商如果为负数上商 0 4EJMP 54HAC54跳到指令跳到指令 54H 行行 50MOV A R070取取 R0 51OR A 01H5C01如果为正数上商如果为正数上商 1 53MOV R0 A80存回存回 54MOV A 9FH789F取被除数的符号位取被除数的符号位 存到存到 r1 56Rr AD0右移右移 57Rr AD0右移右移 58Rr AD0右移右移 59Rr AD0右移右移 5AMOV R1 A81存入存入 5BMOV A 9EH789E取除数符号位存到取除数符号位存到 r3 5DRr AD0右移右移 沈阳航空航天大学课程设计报告 14 5ERr AD0右移右移 5FRr AD0右移右移 60Rr A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高残留农药管理办法
- 电信全业务管理办法
- 达州市锅炉管理办法
- 个人自我考核管理办法
- 规范化学校管理办法
- 上海物业经营管理办法
- 街道拆迁工地管理办法
- 东莞闭环运转管理办法
- 行业会费预算管理办法
- 规范重点支出管理办法
- 德瑞斯D600变频器说明书
- 黍离教学课件
- 小学美术教育读书分享
- 苏科版三年级上册信息技术全册教学设计
- 黑龙江:装配式混凝土矩形渠道应用技术规范(DB23-T 2334-2019)
- T/CECS 10001-2019用于混凝土中的防裂抗渗复合材料
- 2024福建农信社春季招聘笔试历年典型考题及考点剖析附带答案详解
- 海关退运协议书
- 新八德教育工作计划、总结模版
- 月嫂 考试题及答案
- 2025保定市涞源县涞源镇社区工作者考试真题
评论
0/150
提交评论