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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(计算机组成原理与系统结构专业课程设计.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

计算机组成原理与系统结构专业课程设计.doc

1、 计算机组成原理和系统结构 课程设计 班级学号:0137-2-8 学生姓名:李 乐 指导老师:王 森、陈 媛 计算机科学和工程学院 1月 目 录 一、课程设计目标 3 二、模型机设计步骤 3 三、试验装置 4 四、设计题目 4 题目一: 4 题目二: 4 题目三: 4 题目四: 4 五、课程设计心得 4 六、附录 4 附录1(数据通路): 4 附录2(系统连线参考图) 4 附录3 (微指令格式) 42 七、参考文件……………………………………………………………………………………..22

2、 一、课程设计目标 经过对一个简单计算机设计,对计算机基础组成、部件设计、部件间连接、微程序控制器设计、微指令和微程序编制和调试等过程有更深了解,加深对理论课程了解。 二、模型机设计步骤 设计一台完整计算机,大致需按以下次序来考虑: 1. 确定设计目标 确定所设计计算机功效和用途。 2. 确定指令系统 确定数据表示格式、位数、指令编码、类型、需要设计哪些指令及使用寻址方法,并给出具体编码,比如指令操作码,地址码等位数及多种编码含义。 3. 确定总体结构(寄存器、加法器、选择器设置和数据通路设计) 总体结构设计包含

3、确定各部件设置和它们之间数据通路结构。在此基础上,就能够拟出多种信息传输路径,和实现这些传输所需要微命令。 对于部件设置,比如要确定运算器部件采取什么结构,控制器是微程序控制还是硬联控制等。 综合考虑计算机速率、性能价格比、可靠性等要求,设计合理数据通路结构,确定采取何种方案内总线及外总线。数据通路不一样,实施指令所需要操作就不一样,计算机结构也就不一样。 4. 设计指令实施步骤 数据通路确定后,就能够设计指令系统中每条指令实施步骤。 依据指令复杂程度,确定每条指令所需要机器周期数。对于微程序控制计算机,依据总线结构,需考虑哪些微操作能够安排在同一条微指令中,哪些微操作不能安排在

4、同一条微指令中。 5. 确定微程序地址 确定后续微地址形成方法,确定每个微程序地址及分支转移地址。 6. 微指令代码化 依据微指令格式,将微程序步骤中全部微指令代码化。首先写出每个微地址和该地址对应微指令代码(共24位二进制信息),以下表所表示: 微地址 S3 S2 S1 S0 M CN WE A9 A8 A B C UA5…UA0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0

5、 1 1 0 1 1 0 0 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 其中:微地址表示控制存放器地址,后面24位表示微指令。 然后将每个微地址和对应微指令转换成16进制,并写在一行,格式为: $M********,前面2个‘*’表示该微指令在微控制器中地址,后面6个‘*’表示该微指令代码。如上述表中四条

6、微指令写成: $M00018110:表示在控制存放器地址00h处代码是018110h。 $M0101ED82:表示在控制存放器地址01h处代码是01ED82h。 $M0200C048:表示在控制存放器地址02h处代码是00C048h。 $M0300E004:表示在控制存放器地址03h处代码是00E004h。 7. 编写工作程序并代码化 编写测试用工作程序,并写出内存映像,用二进制表示。然后代码化用16进制来表示,格式为:$P****,前面2个‘*’表示该内存地址,后面2个‘*’表示该地址数据。比如: $P0044:表示在内存地址00h处数据是44h。 $P0146:表示在内

7、存地址01h处数据是46h。 8. 联机操作文件建立 为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是一般文本文件,扩展名为TXT,可用记事原来建立,要求: a、 测试用工作程序排在文件前面,每个内存地址及代码占一行; b、 微指令代码排在文件后面,每个微地址及微指令代码占一行; 比如,下面是一个试验文件(文件名:sample.txt): $P0044 $P0146 $P0298 $M00018108 $M0101ED82 $M0200C050 9.连接试验线路 依据附录2试验线路图连接试验线路,其中第1题和第2题用图1(简单模型机连线

8、图)连线,第3题和第4题用图2(复杂模型机连线图)连线。 10.下载工作程序和微程序 使用唐全部软件将工作程序和微程序下载到试验箱内存和控制存放器中。其中,自带电源线试验箱用NCMP53软件,开启软件后使用F4[装载]进行下载;外接电源线试验箱用CMPP软件,开启软件后在菜单中选择[转储]/[装载]进行下载。 11.调试 在总调试前,先按功效模块进行组装和分调,因为只有各功效模块工作正常后,才能确保整机正常运行。能够使用控制台命令SWA、SWB不一样取值,或使用联机软件检验内存程序是否正确,微程序是否正确。 当全部功效模块全部调试正常后,进入总调试。能够使用单步微指令方法实施

9、工作程序,也能够直接使用连续方法实施程序。在实施过程中,能够经过联机软件数据通路图查看信息在计算机中传送路径,更有利于掌握数据通路结构。这么也能够直接验证程序和微程序正确性。 假如运行结果不正确,需要返回来修改程序或微程序,每次修改后,需要重新完成第10步,将程序和微程序下载到试验箱中。 三、试验装置 TDN-CM++计算机组成原理教学试验系统一台,排线若干。 四、设计题目 题目一: 1. 试验要求: 设计一台模型计算机,实现下列指令系统,并经过给定工作程序验证上述指令系统。 本设计实现模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、

10、JMP(无条件转移),其指令格式以下(前4位为操作码): 助记符 机器指令码(二进制) 说明 微程序入口地址 (八进制) IN 00000000 “INPUT DEVICE”中开关状态—>R0 10 (取指令后续微指令默认地址为10) ADD addr 00010000 XXXXXXXX RO+[addr]——>R0 11 STA addr 00100000 XXXXXXXX RO——>[addr] 12 OUT addr 00110000 XXXXXXXX [addr]——>LED 13 JMP addr 01000000 XXXXXXXX

11、 addr——>PC 14 其中IN为单字长(8位),其它为双字长指令,XXXXXXXX为addr对应二进制地址码。 2. 在测试程序装入内存后,机器自动实施控存中00号微指令,产生控制台命令,其步骤以下(01为取指微指令地址): 3. 依据附录2图1(简单模型机连线图)连接试验线路。 4. 本设计工作程序内存映象(装入起始地址00H)以下: 地址(二进制) 内容(二进制) 助记符 说 明 十六进制代码 0000 0000 0000 0000 IN 将输入数据送R0寄存器 0000 0000 0001 0001 000

12、0 ADD [OAH] 0110 0000 0010 0000 1010 RO+[0AH]—>R0 020A 0000 0011 0010 0000 STA [0BH] 0320 0000 0100 0000 1011 R0—>[0BH] 040B 0000 0101 0011 0000 OUT [0BH] 0530 0000 0110 0000 1011 [0BH]—>LED 060B 0000 0111 0100 0000 JMP 01 0740 0000 1000 0000 0001 01H—>PC

13、 0801 0000 1010 0000 0001 输入自定数据 0A01 5. 本设计程序步骤图以下: 6. 微程序(关键ADD部分) 微地址 S3 S2 S1 S0 M CN WE A9 A8 A B C UA5…UA0(后续地址) 十六进制代码 0 3 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0300E004 0 4 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0

14、 0 0 0 0 0 0 1 0 1 0400B005 0 5 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0501A206 0 6 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 06959A01 0 9 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0901ED83 分析: 程序思想以下:首

15、先将输入数据送R0寄存器,然后送到ALU单元实施ADD操作,加法完成后将结果再送到R0寄存器,然后STA跳转,将R0寄存器数据送到0BH,然后送显示器显示,送显后立即JMP指令回到微程序01步,即继续实施ADD加法,一直循环。 微程序中,当A9=0,A8=0时,选中Y0; 当A9=0,A8=1时,选中Y1; 当A9=1,A8=0时,选中Y2; 当A9=1,A8=1时,选中Y3 微指令解释:指令中S3…CN为全0表示不实施任何运算操作,A9,A8如开始解释表示选择外设,均为1表示选中扩展单元(EX UNIT)Y3,而依据试验

16、接线图可知,Y3表示不做任何操作,A,B,C字段为依据试验线路图中起作用单元,从09开始A,B,C分别为110,110,110表示LDAR,PC-B,LDPC有效(附录图3),依据数据通路图,即是PC->AR,PC并自动+1,UA5…UA0为000011,即下址为下一条微指令地址03H。09实施完后依据下址抵达03,其中 A9,A8为01即是选中Y1,Y1和WE相连表示存放器工作,即RAM->BUS->AR,后续地址为04H。04指令中,A,B,C字段分别为011,000,000表示LDDR2有效,即表示将内存中数据传送到DR2寄存器中,RAM->BUS->DR2,后续地址为05H。05这条指

17、令A,B,C字段为010,001,000,即是LDDR1,RS-B有效,表示叫R0数据传送到DR1寄存器中,R0->DR1,后续地址为06H。06指令既为ADD运算,S3…CN为100101,A,B,C字段为001,101,000,即LDRi,ALU-B逻辑运算单元有效,实施运算操作,将DR1和DR2中数据相加,完成后将结果传送到R0,(DR1)+(DR2)->R0。即完成了一次加法操作。ADD指定完成后有JMP跳转到01H。一直循环进行加法运算, 微指令代码以下: $M00018110 $M0700E00D $M0E00E00F $M15070A01 $M0101ED82

18、 $M08001001 $M0F00A015 $M1600D181 $M0200C048 $M0901ED83 $M1001ED92 $M17070A10 $M0300E004 $M0A01ED87 $M1101ED94 $M18068A11 $M0400B005 $M0B01ED8E $M1200A017 $M0501A206 $M0C01ED96 $M13018001 $M06959A01 $M0D028201 $M1400 7. 测试数据:FEH 结果为:FE->FF->00->01->…->FE->FF->00->… 一直循环,每次加1。

19、 8. 结果分析:ADD实施是不产生进位加法,所以试验结果只是每次在原来数据上加01H。不产生进位加。 题目二: 1. 试验要求: 设计一台模型计算机,实现下列指令系统,并经过下列工作程序验证上述指令系统。 本模型机共包含五条机器指令:IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式以下(前4位为操作码): 助记符 机器指令码 说明 微程序入口地址(八进制) IN 00000000 “INPUT DEVICE”中开关状态—>R0 10 (取指令后续微指令默认地址为10) ADC Imm 00010000

20、XXXXXXXX RO+ Imm+cy——>R0 11 STA addr 00100000 XXXXXXXX RO——>[addr] 12 OUT addr 00110000 XXXXXXXX [addr]——>LED 13 JMP addr 01000000 XXXXXXXX addr——>PC 14 其中IN为单字长(8位),其它为双字长指令,XXXXXXXX为addr对应二进制地址码或Imm所对应二进制数据(补码形式)。 2. 连接试验线路在测试程序装入内存后,机器自动实施控存中00号微指令,产生控制台命令,其步骤以下(01为取指微指令地址):

21、 3. 依据附录2图1(简单模型机连线图)连接试验线路。 4. 本设计实现模型机共包含五条机器指令:IN(输入)、ADC(带进位加法)、STA(存数)、OUT(输出)、JMP(无条件转移) 。 本设计工作程序内存映象(装入起始地址00H)以下: 地址(二进制) 内容(二进制) 助记符 说 明 十六进制代码 0000 0000 0000 0000 IN 将输入数据送R0寄存器 0000 0000 0001 0001 0000 ADC O1H 0110 0000 0010 0000 0001 RO+01H+cy—>R0 0201

22、0000 0011 0010 0000 STA [0AH] 0320 0000 0100 0000 1010 R0—>[0AH] 040A 0000 0101 0011 0000 OUT [0AH] 0530 0000 0110 0000 1010 [0AH]—>LED 060A 0000 0111 0100 0000 JMP 01 0740 0000 1000 0000 0001 01H—>PC 0801 0000 1010 0000 0001 输入自定数据 0A01 本设计程序步骤图以下: 5

23、. 微程序解释(关键解释ADC) 微地址 S3 S2 S1 S0 M CN WE A9 A8 A B C UA5…UA0(后续地址) 十六进制代码 0 4 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0400B005 0 5 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0501A206 0 6 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1

24、 0 0 0 0 0 1 06959B41 0 9 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0901ED84 分析: 程序思想以下:首先将输入数据送R0寄存器,然后送ALU单元实施ADC操作,ADC为带进位加法,所以结果是在ADD基础上又多加了一个CY(进位标志),ADC完成后结果送到R0寄存器,然后STA跳转,将R0寄存器数据送到[0AH],然后送显示器显示,送显后立即JMP指令回到微程序01步,即回到ADC继续实施带进位加法,一直循环。 微程序中,当A9=0,A8=0时

25、选中Y0; 当A9=0,A8=1时,选中Y1; 当A9=1,A8=0时,选中Y2; 当A9=1,A8=1时,选中Y3 微指令解释:指令中S3…CN为全0表示不实施任何运算操作,A9,A8表示选择外设,均为1表示选中扩展单元(EX UNIT)Y3,即为不做任何操作,从09开始,A,B,C字段分别为110,110,110表示LDAR,PC-B,LDPC有效(附录3说明),依据数据通路图,即是PC->AR,PC并自动+1,后续地址为04H。 04为送数,A,B,C字段分别为011,000,000表示LDDR2有效,即表示将内存中数据

26、传送到DR2寄存器中,RAM->BUS->DR2,后续地址为05H; 05中A,B,C字段为010,001,000,即是LDDR1,RS-B有效,表示将R0中数据传送到DR1寄存器中,R0->DR1,后续地址为06H; 06指令为ADC加法指令,其中S3…CN为100101,即实施带进位加法运算,A,B,C字段为001,101,101,即为选中LDRi,ALU-B,AR,在ALU单元中将DR1和DR2中数据相加并将结果输出到R0中,同时AR置0,(DR1)+(DR2)->R0,AR=0,后续地址为01H。ADC运算完成。 微指令中cn为控制信号 当cn=1,而且ar=0时,把上次运行结

27、果带入下次运算。 当cn=0,屏蔽上次运行结果,不带入下次运算。 全部微指令代码以下: $M00018110 $M0700E00D $M0D028201 $M13018001 $M0101ED82 $M08001001 $M0E00E00F $M1400 $M0200C048 $M0901ED84 $M0F00A015 $M15070A01 $M0400B005 $M0A01ED87 $M1001ED92 $M1600D181 $M0501A206 $M0B01ED8E $M1101ED94 $M17070A10 $M06959B41 $M0C

28、01ED96 $M1200A017 $M18068A11 6. 测试数据:FEH 结果为:FE->FF->00->02->03->04->…->FF->00->02->… 做循环加法 7. 结果分析:本程序实施是产生进位加法,测试数据中 FF+01后会产生进位,控制信号CN=1,AR=0,把上次运行结果带入下次运算,进位产生01就自动带入到下次运算中,最终结果为00+01=02。 题目三: 1. 试验要求: 设计一台模型计算机,实现下列指令系统,并用指定工作程序验证上述指令系统。 本模型机指令系统及指令格式以下(前4位为操作码): 助记符号 指令格

29、式 功效 微程序入口地址 (八进制) MOV rs,rd 1000 Rs rd Rsàrd 30 ADC rs,rd 1001 Rs rd Rs+rd+cyàrd 31 BZC 00 00 00 00 D 当cy=1或z=1时,DàPC 不然,次序实施 20 (取指令后续微指令默认地址为20) IN rd 0100 01 Rd Input Device àrd 24 OUT rd 0101 10 Rd Rdà Output Device 25 HLT 0110 00 00 停机 26

30、 其中, rs为源寄存器,rd为目标寄存器,并要求: Rs或rd 选定寄存器 00 01 10 R0 R1 R2 2. 连接试验线路在测试程序装入内存后,机器自动实施控存中00号微指令,产生控制台命令,其步骤以下(01为取指微指令地址): 3. 依据附录2图2(复杂模型机连线图)连接试验线路。 4. 本设计实现模型机共包含五条机器指令:IN(输入)、ADC(带进位加法)、MOV(移动)、BZC(条件转移)、OUT(输出)、HLT(停机)。 本设计工作程序内存映象(装入起始地址00H)以下: 地址(二进制) 内容(二进制) 助记符 说

31、明 十六进制代码 0000 0000 0100 0100 IN 将输入数据送R0寄存器 0044 0000 0001 0100 0110 IN 将输入数据送R2寄存器 0146 0000 0010 1001 1000 ADC RO+01H+cy—>R0 0298 0000 0011 1000 0001 MOV R0—>R1 0381 0000 0100 0101 1001 R1—>LED 0459 0000 0101 0000 0000 BZC 0500 0000 0110 0000 0010 02—>D 0602

32、 0000 0111 0110 0000 HLT 停机 0760 5. 本设计程序步骤图以下: 6. 微程序解释(以BZC为例) 微地址 S3 S2 S1 S0 M CN WE A9 A8 A B C UA5…UA0(后续地址) 十六进制代码 0 3 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0300A023 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1

33、1001ED83 2 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 9001 3 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 1 3005DB81 分析: 程序思想以下:此程序是输入两个数据相加,首先将输入一个数到R0寄存器,然后输入另外一个到R2寄存器,完成后将时局送ALU单元实施ADC操作,ADC为带进位加法,所以结果是在ADD基础上又多加了一个CY(进位标志),ADC完成后结果送到R0寄存器,然后

34、MOVE命令将R0中数送到R1,然后送显示器显示,接着BZC跳转,判定是否循环实施,如ADC加法中产生了进位,CY=1,则送显后立即JMP指令回到微程序01步,即回到ADC继续实施带进位加法,一直循环,不然停机。 微程序中,当A9=0,A8=0时,选中Y0; 当A9=0,A8=1时,选中Y1; 当A9=1,A8=0时,选中Y2; 当A9=1,A8=1时,选中Y3 ; 微指令解释:依据步骤图以10H指令开始,A9,A8为1,1即为选中Y3,不做任何操作,A,B,C字段为010,000,011,表示LDAR,PC-B,LDPC有效

35、附录图3说明),即是PC->AR,PC+1,后续地址为03H。 03指令中A9,A8为0,1为选中Y1,Y1和WE相连表示存放器工作,A,B,C字段为010,000,011,表示选中LDDR1和P(3),P(3)为进行判定,若有进位则后续地址为30H,没有则后续地址为20H。 30指令中A,B,C字段为101,101,110表示LOAD,ALU-B,LDPC有效,将DR1中数据输入到PC中,即DR1->BUS->PC,后续地址为01H,继续实施ADC 全部微指令代码以下: $M00018108 $M1001ED83 $M1901A22A $M2D65AB6E $M0101

36、ED82 $M14001001 $M9001 $M3405DB81 $M0200C050 $M15030401 $M230180E4 $M0300A023 $M16018016 $M24018001 $M0400E0A0 $M18019201 $M2C01A42D 7. 测试数据:第一组R0=FEH R2=01H 第二组R0=FFH R2=01H 结果为: 第一组FF 第一组02 8. 结果分析:两组数据关键是有进位和没有进位之间差异,第一组数据FE+01=FF,R0和R1中数据相加后没有产生进位,所以CY=0,Z

37、0输出结果后,BZC指令就会直接跳转到HLT实施停机操作,使程序终止;第二组数据为FF+01,结果为00,产生一个进位,所以CY=1,Z=1,BZC 条件成立,跳转到02继续指令实施;而且ADC会将上次进位带入相加,所以结果是00+01+CY=02,继续实施ADC到BZC时会因为没有产生进位,使程序终止运行。 题目四: 1. 试验要求: 设计一台模型计算机,完成下列指令系统,并编写工作程序验证上述指令系统。 本模型机共设计16条基础指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令格式、汇编符号、指令功效。 类型 助

38、记符号 指令格式 功效 微程序入口地址 (八进制) 算术逻辑指令 CLR rd 0111 00 rd 0àrd 27 MOV rs,rd 1000 Rs rd Rsàrd 30 ADC rs,rd 1001 Rs rd Rs+rd+cyàrd 31 SBC rs,rd 1010 Rs rd Rs-rd-cyàrd 32 INC rd 1011 Rd Rd+1àrd 33 AND rs,rd 1100 rs rd Rs∧rdàrd 34 COM rd 1101 Rd rdà

39、rd 35 RRC rs,rd 1110 Rs Rd 36 RLC rs,rd 1111 Rs Rd 37 访存指令 LDA M, D, rd 00 M 00 Rd D Eàrd 40 STA M, D, rd 00 M 01 Rd D RdàE 41 程序控制指令 JMP M,D 00 M 10 00 D EàPC 42 BZC 00 M 11 00 D 当cy=1或z=1时,EàPC 43 输入输出 IN addr, rd 0100 01 Rd

40、 Addràrd 24 OUT addr, rd 0101 10 Rd Rdàaddr 25 其它 HALT 0110 00 00 停机 26 下面对多种指令格式加以说明: (1) 算术逻辑指令 算术逻辑运算指令共9条,用单字节表示,寻址方法采取寄存器直接寻址,格式为: 7 6 5 4 3 2 1 0 OP-CODE Rs rd 其中,OP-CODE为操作码,rs为源寄存器,rd为目标寄存器,并要求: Rs或rd 选定寄存器 00 01 10 R0 R1 R2 (2) 访存指令及程序控制指令 模型机设计两条访存指

41、令,即存数(STA)、取数(LDA),两条转移指令,即无条件转移指令(JMP)、结果为0或有进位转移指令(BZC),指令格式为: 7 6 5 4 3 2 1 0 00 M OP-CODE rd D 其中,OP-CODE为操作码,rd为目标寄存器地址(LDA、STA指令使用),D为位移量(正负均可),M为寻址模式,其定义为: 寻址模式M 有效地址E 说明 微程序入口 00 01 10 11 E=D E=(D) E=(RI)+D E=(PC)+D 直接寻址 间接寻址 RI变址寻址 相对寻址 20 21 22 23 变址寻址寄存器指定为

42、寄存器R2。 (3) 输入/输出指令 输入输出指令均采取单字节指令,其格式以下: 7 6 5 4 3 2 1 0 OP-CODE addr rd 其中,addr=01时,选中“Input Device”中开关组作为输入设备,addr=10时,选中“Output Device”中数码显示作为输出设备。 (4) 停机指令 用于实现停机操作。 2. 连接试验线路在测试程序装入内存后,机器自动实施控存中00号微指令,产生控制台命令,其步骤以下(01为取指微指令地址): 3. 依据附录2图2(复杂模型机连线图)连接试验线路。 4. 本设计实现模型机共包含五条机

43、器指令:IN(输入)、CLR(清零)、ADC(带进位加法)、SUC(带借位减法)、INC(累加1)、AND(逻辑和)、COM(取反)、MOV(移动)、RRC(循环右移)、RLC(循环左移)、BZC(条件转移)、OUT(输出)、HLT(停机)。 本设计工作程序内存映象(装入起始地址00H)以下: 地址(二进制) 内容(二进制) 助记符 说 明 十六进制代码 0000 0000 0100 0100 IN 将输入数据送R0寄存器 0044 0000 0001 0100 0110 IN 将输入数据送R2寄存器 0146 0000 0010 1001 10

44、00 ADC RO+01H+cy—>R0 0298 0000 0011 1000 0001 MOV R0—>R1 0381 0000 0100 1111 1001 RLC 带进位左循环移位R1结果送到R1 04F5 0000 0101 0101 1001 OUT R1—>LED 0559 0000 0110 0000 1100 BZC 060C 0000 0110 0000 0010 02—>D 0702 0000 0111 0110 0000 HLT 停机 0860 5. 本设计程序步骤图以下: 6. 微程序(

45、关键RLC部分) 微地址 S3 S2 S1 S0 M CN WE A9 A8 A B C UA5…UA0(后续地址) 十六进制代码 1 F 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1F318239 3 9 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 3919883A 3 A 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0

46、0 0 0 1 3A019801 分析: 程序思想以下:此程序是输入两个数据相加,并左移一位操作,首先将输入一个数到R0寄存器,然后输入另一个数到R2寄存器,完成后将数送ALU单元实施ADC操作,ADC为带进位加法,所以结果是在ADD基础上又多加了一个CY(进位标志),ADC完成后结果送到R0寄存器,然后MOVE命令将R0中数送到R1,在R1进行一次左移操作(先送数到299,实施一次左移后将数传回)后再将数送存到R1,然后送显示器显示,接着BZC跳转,判定是否循环实施,如ADC加法中产生了进位,CY=1,则送显后立即JMP指令回到微程序01步,即回到ADC继续实施带进位加法,一直循

47、环,如没有产生进位,则停机。 微程序中,当A9=0,A8=0时,选中Y0; 当A9=0,A8=1时,选中Y1; 当A9=1,A8=0时,选中Y2; 当A9=1,A8=1时,选中Y3 微指令解释:ADC加法完成后会实施微地址1FH指令,S3…CN为001100,A,B,C字段为000,001,000即选择RS-B有效,表示将R1数据送到299,后续地址为39H。39H指令中S3…CN为000110,A,B,C字段为000,100,000为299-B有效,实施循环左移运算,后续地址为3AH。3AH指令A,B,C字段为001,100,000表示选中LDR

48、I,299-B有效,将299单元中循环左移后所得结果送到R1,299->R1。至此,RLC指令完成。剩下程序会将结果送显继续实施。 全部微指令代码以下: $M00018108 $M0E01B60F $M1E318237 $M2C01A42D $M3A019801 $M0101ED82 $M0F95EA25 $M1F318239 $M2D65AB6E $M3B070A08 $M0200C050 $M1001ED83 $M9001 $M2E0D9A01 $M3C068A09 $M0300A004 $M1101ED85 $M21028401 $M2F01AA30

49、 $M0400E0A0 $M1201ED8D $M2205DB81 $M300D8171 $M0500E006 $M1301EDA6 $M230180E4 $M31959B41 $M0600A007 $M14001001 $M24018001 $M3A01 $M0700E0A0 $M16018016 $M2595AAA0 $M3301B435 $M0801ED8A $M173D9A01 $M2600A027 $M3405DB81 $M0901ED8C $M1901A22A $M2701BC28 $M35B99B41 $M0A00A03B $M1A01B2

50、2C $M2895EA29 $M360D9A01 $M0B018001 $M1B01A232 $M2995AAA0 $M37298838 $M0C00203C $M1C01A233 $M2A01B42B $M38019801 $M0D00A00E $M1D01A236 $M2B959B41 $M3919883A 7. 测试数据:第一组R0=FFH R2=01H 第二组R0=01H R2=01H 结果为: 第一组R1=01 第二组R1=04 9. 结果分析:两组数据关键是有进位和没有进位之间差异,第一组数据01+0

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服