ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:94.47KB ,
资源ID:16753355      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16753355.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理课程设计Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理课程设计Word文件下载.docx

1、, A 100000xx 2.该模型机微指令系统的特点(包括其微指令格式的说明等):该模型机微指令系统的微指令格式是水平型微指令,微指令的字长为24位,是机器字长的3倍,每条微指令仅包含微操作控制字段,无顺序控制字段。操作控制字段的每一位对应一个微操作,采用字段直接译码的方式对系统进行控制。微指令的具体格式如下:IRENPCOES0S1S2AENWENX0X1X2FENCNRWRRRDSTENOUTENMAROEMARENELPEINTEMENEMRDEMWRXRD微指令CBFFFF:取指令12。计算机中实现乘法和除法的原理(1)无符号乘法实例演示(即,列4位乘法具体例子演算的算式):1 1

2、0 1 被乘数 1 0 1 1 乘数 1 1 0 1 位积移位相加1 1 0 1 0 位积 0 0 0 0 0 0 位积1 1 0 1 0 0 0 位积 1 0 0 0 1 1 1 1 结果硬件原理框图:右移ALU左移CYSTW被乘数R0乘数R14R2算法流程图:开始中间结果清0乘数右移一位移出位为1?YesNo中间结果加被乘数被乘数左移一位移位次数为4保存中间结果结束(2)无符号除法实例演示(即,列4位除法具体例子演算的算式): 0 1 0 1 0 -商 1 1 0 1 1 0 0 0 0 1 1 1 -被除数 0 0 0 0 0 0 0 0 -不够减,商上0,除数右移一位 1 0 0 0

3、0 1 1 1 -做差后的被除数 0 1 1 0 1 0 0 0 -够减,商上1,除数右移一位 0 0 0 1 1 1 1 1 -做差后的被除数 0 0 0 1 1 0 1 0 -够减,商上1,除数右移一位 0 0 0 0 0 1 0 1 -移位4次后,余数 商除数被除数商清0除数左移四位被除数与除数比较溢出CY=0除数右移一位商左移一位被除数减除数商+1保存结果3对应于以上算法如何分配使用COP2000实验仪中的硬件(初步分配,设计完成后再将准确的使用情况填写在此处)1)乘法程序的硬件分配:硬件名称在乘法算法中的功能1用来存放被乘数2保存乘积结果用来存放乘数未使用R3用做计数器,来控制程序循

4、环次数1、存放中间结果2、用来存放操作数参加ALU的运算用来存放操作数参加ALU的运算PC程序计数器EM内存(存放程序)IR指令寄存器堆栈寄存器,可以用来暂存寄存器A的值MAR地址寄存器2)除法程序的硬件分配在除法运算中的功能用来存放被除数用来存放除数用来存放商1用作计数器,控制循环的次数2保存余数1、存放中间数据2、用来存放操作数参加ALU的运算4在COP2000集成开发环境下设计全新的指令/微指令系统设计结果如表所示(可按需要增删表项)(1) 新的指令集(设计两个不同指令集要分别列表) 指令说明 _FATCH_ 000000XX 实验机占用,不可修改。复位后,所有寄存器清0,首先执行 _F

5、ATCH_ 指令取指MOV R?,#II000001XXII将立即数II送到寄存器R?中,A000010XX将累加器A的值送到寄存器R?MOV A,R?000011xx将寄存器R?的值送入累加器A中AND A,#II000100xx将立即数与累加器A中的数相与AND R?,#II000101xx将立即数与寄存器R?中的数相与SHR R?000110xx寄存器R?带进位右移SHL R?000111xx带进位左移JC MM001000xxMM若进位标志置1,跳转到MM地址JZ MM001001xx若零标志置1,跳转到MM地址ADD R?001010xx中的数与立即数相加ADD A,R?001011

6、xx将累加器与寄存器R?相加,结果存入累加器SUB R?001100xx中的值与立即数相减SUB A,R?001101xx将累加器与寄存器R?的值相减,结果存入累加器CMP A,R?001110xx累加器与寄存器R?的值比较,结果影响进位、零标志JMP MM001111xx无条件跳转到MM处PUSH A010000xx将累加器中的值暂存POP A010001xx将暂存结果送回到累加器A中SHRN R?010010xx寄存器R?不带进位右移SHLN R?010011xx不带进位左移(2) 新的微指令集 状态 微地址 微程序 数据输出 数据打入 地址输出 运算器 移位控制 uPC PC _FATC

7、H_ T000CBFFFFF指令寄存器IR PC输出 A输出 写入+101FFFFFFA输出0203T104E7FBFF存储器EMPC输出05CBFFFF0607,A08FFFB9FALU直通09指令寄存器IR0A0BOCFFF7F7寄存器值R?寄存器AOD0E0FAND A,#IIT210C&7FFEF存储器值EM寄存器W11FFFE93寄存器A标志位C、Z与运算1213AND R?T314C7FFEF1516FFFA9B标志位C、Z17SHR R?18FFEF9F堆栈寄存器ST191AFFFABFALU右移1BCBFF57寄存器A指令寄存器IRSHL R?1CAlU直通推展寄存器ST1D寄

8、存器值R?1EFFFADFALU左移1F20C6FFFF寄存器PC2122232425262728292AFFFA98加运算2BADD A,R?2CFFF7EF2DFFFE902E2FSUB R?303132FFFA99减运算333435FFFE913637CMP A,R?38393A3B堆栈寄存器3C3D3E3F4041424344FFFF574546FFFFF4748494AFFF9BF4B4C4D4EFFF9DF4F5用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序(1)乘法4位乘法的算法流程图与汇编语言程序清单:1)流程图如下:被乘数送入R0乘数送入R1将4送入R3

9、作计数送寄存器A清0R1带进位右移CF=1?YESNOADD A,R0R0不带进位左移暂存ASUB R3,#01H恢复AZF=1?MOV R0,A保存结果2)汇编语言程序清单如下:MOV R0,#0FH -被乘数在R0中MOV R1,#0FH -乘数在R1中MOV R3,#04HAND A,#00HLOOP1: SHR R1 JC NEXT1 JMP LOOP2NEXT1:ADD A,R0LOOP2:SHLN R0 PUSH A SUB R3,#01H POP A JZ NEXT2 JMP LOOP1NEXT2:MOV R0,A -乘积结果在R0中END(2)除法 4位除法的算法流程图与汇编语

10、言程序清单:1)算法流程图如下CF=1?SUB A,R1被除数送入R0中除数送入R1中R2(商)+1计数值4送入R3中R2清0用来保存商R1左移4位R3减1MOV A,R0CMP A,R1R1右移MOV R3,AR2(商)左移CMP A,R1MOV R0,#87H -被除数在R0中MOV R1,#0DH -除数在R1中MOV R3,#04H AND R2,#00H -商在R2中 SHLN R1MOV A,R0CMP A,R1JC NEXT1JMP QUIT SHRN R1 SHLN R2 CMP A,R1 JC NEXT2 SUB A,R1 ADD R2,#01H JZ QUIT JMP NE

11、XT1QUIT:MOV R3,A -余数保存在R3中 END6上述程序的运行情况(跟踪结果)按下表填写描述以上各程序运行情况的内容。按每个程序一张表进行。1)乘法程序运行的过程汇 编 指 令程序地址机器码指令说明微程序PC 运行时寄存器或存储器的值MOV R0,#0F040F立即数0F送入R0中R0:MOV R1,#0F050F立即数0F送入R1中R1:MOV R3,#040704立即数04送入R3中R3:AND A,#001000将寄存器A清0EM:W:SHR R1寄存器R1带进位右移ST:A:R:A:JC 0D200DCF=1跳转到0D2)除法程序运行的过程7设计结果说明调试运行程序时是否出现问题,是否有重新调整指令/微指令系统设计的情况出现?请在此做具体说明。答:出现了问题。1)之前由于设计了ADD R?,#II和SUB R?,#II、SHL R?、SHR R?等这类指令,而这两些指令在执行过都需要先将立即数或者寄存器中的数保存到寄存器中,再进行运算,运算完后再送回寄存器,这必然会改变寄存器的值,也就是说如果运行这类指令就会改变累加器的值,然而在设计乘法和除法的程序中都需要用到寄存器来暂存一些中间数据,从而得不到正确的运行结果。重新调整:为了尽量的减少这类指令改变寄存器A的情况,在最大范围内将这些指令设计成不改变其他寄存器的指令。如原来的右移指令SHR R?

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1