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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机组成大型实验报告材料机器指令设计实验.docx

1、计算机组成大型实验报告材料机器指令设计实验机器指令设计实验-实验报告一、 实验目的与要求(1)通过实验分析简单模型机结构,了解计算机工作原理。(2)掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程。(3)简单模型计算机部件构架、微程序控制器中微程序代码功能实现、微程序流程、指令系统定义和简单模型计算机汇编语言程序进行验证。(4)在简单模型计算机基础上设计新的技巧指令,在第二章实验八的基础上实施,使用的实验部件和接线不变,增加5条新机器指令,目的是提高学生对计算机机器指令的理解,锻炼学生自己动手设计模型计算机机器指令的能力。二、 实验原理1. 简单模型计算机构架简单模型计算机逻辑结构如图

2、1所示,构成简单模型计算机的实验部件以总线为基本连接通道,主要有以下7个:(1)算术逻辑运算部件ALU UNIT进行算术逻辑运算操作。(2)存储器部件MEM UNIT,存储模型计算机汇编语言程序和操作数据。(3)地址寄存器部件ADDRESS UNIT,包含两部分电路,地址寄存器AR:接收存储器程序中的指令地址和指令中的数据地址;指令地址计数器PC:用于指示程序中的指令地址并通过地址缓冲器送往地址寄存器AR。(4)指令寄存器部件INS UNIT,寄存器当前正在执行的机器指令,此指令的指令码通过指令译码器向微程序控制器指示相应的微程序入口地址;此指令的地址码指示的操作数地址,送往地址寄存器AR。(

3、5)输入/输出部件INPUT/OUTPUT,操作数据的输入与输出显示。(7) 通用寄存器部件REG UNIT,暂存运算的中间数据。(7)微程序控制器部件MAIN CONTROL UNIT,控制各部件完成指令的功能。2. 简单模型计算机指令系统此简单模型计算机的指令系统包括控制台指令与机器指令。共三条控制台指令,由手动控制单元(MANUAL UNIT)的KB,KA开关设定。控制台指令只能由手工操作一条条指令,不能编写在汇编程序中。实验八已经给出5条机器指令。分别是输入指令IN R0,PORTAR,算术加指令ADD R0,ADDR,寄存器内容送存储器指令STA ADDR,R0,输出指令OUT PO

4、RTAR,ADDR,转移指令JMP PORTAR。如表1所示。 另外根据微指令格式,可以设计出实验要求的5条指令。先进行微指令译码分析,然后详细说明如何设计。(1)微指令译码分析:图1-简单模型计算机逻辑结构图表1-简单模型机指令表指令名称助记符指令码格式输入IN R0,PORTARI7,I6,I5,I4,I3,I2,I1,I01 1 0 0 0 0 DRPORTAR算术加ADD R0,ADDRI7,I6,I5,I4,I3,I2,I1,I01 1 0 0 0 1 DRADDR寄存器内容送存储器STA ADDR,R0I7,I6,I5,I4,I3,I2,I1,I01 1 0 0 1 0 DRADD

5、R输出OUT PORTAR,ADDRI7,I6,I5,I4,I3,I2,I1,I01 1 0 0 1 1 DRPORTAR转移JMP ADDRI7,I6,I5,I4,I3,I2,I1,I01 1 0 1 0 0 XXADDR注:该模型机的输入输出设备端口号(PORTAR)只有一个,为00H。DR指示4个通用寄存器中的一个。JMP为跳转地址为直接地址,即将ADDR赋值给PC。当模型机的一条指令执行时,由指令译码器确定一个与此指令对应的微程序入口地址,经地址缓冲器送微控制存储器的地址通道,然后从微控制存储器相应单元中读出24位微指令代码,其中高17位送微指令控制代码段寄存器,由微指令译码器产生控制

6、信号,低7位送微指令地址代码段寄存器(7位),指出微控制存储器中下一微指令的地址。微指令代码共分7段:(1) BTO:数据从总线送部件控制段,3位。(2) OTB:数据从部件送总线控制端,3位。(3) FUNC:地址转移、读写功能控制端,3位。(4) FS:方式功能控制段:1位。(5) S3,S2,S1,S0,M,Ci:模式功能控制段,6位。(6) N:备分段,1位。(7) NEXT:下一条微指令地址段,7位。表2-微指令字段编码表编码+译码BTOOTBFS=1FS=0FUNC000PC+1(T4)001B-DA1(T4)ALU-B#J(1)M-W#(T3)010B-DA2(T4)299-B#

7、J(2)M-R#(T2)011B-IR(T3)SR-B#J(3)I/O-W#(T3)100B-DR(T4)DR-B#J(4)I/O-R#(T2)101B-SP(T4)SI-B#J(5)INT-R#(T2)110B-AR(T3)SP-B#CyCn#INT-E#(T3)111B-PC#PC-B#CyNCn#表3-散转微地址形成规则表散转条件散装微地址形成规则j(1)条件指令码I7 I6=11时,散转入口地址=微代码下址(OR)0,1,0,I5,I4,I3,I2指令码I7 I6!=11时,散转入口地址=微代码下址(OR)0,0,0,I7,I6,I5,I4j(2)条件散转入口地址=微代码下址(OR)0

8、,0,0,0,0,I3,I2j(3)条件散转入口地址=微代码下址(OR)0,0,0,0,0,KB,KAj(4)条件散转入口地址=微代码下址(OR)0,0,0,0,0,FC,FZj(5)条件散转入口地址=微代码下址(OR)0,INT,0,0,0,0,0注:表格中FC为进位标志,FZ为零标志。本实验只要到J(1),J(3),J(4)四条散转条件。表4-简单模型计算机机器指令表指令功能INADDSTAOUTJMP指令符号数据输入算术加数据传输数据输入跳转微程序入口地址30H31H32H33H34H(2)微程序流程图根据实验八的机器指令和控制台指令可以画出图2所示的流程图。图2-模型计算机指令执行流程

9、图 三、 四条指令的微程序代码设计根据实验要求的汇编程序,发现并不需要INC DR这条指令,所以也没有对其进行微代码的设计。另外显然PC-AR,PC+1-PC ; 01H-02HRAM-IR ;02H-03HJ(1)散转 ;03H-(10H)三条微指令动作为公操作。因此我们只需要考虑除此之外的其他微指令动作。下面对4条指令,逐条进行解释分析。1. 无借位减:SUB DR, ADDRa. 指令功能:(SR)-(DR)-DR,影响Cy,Zi标志位。当(SR)AR,PC+1-PC ; 01H-02HRAM-IR ;02H-03HJ(1)散转 ;03H-(10H)PC-AR,PC+1-PC ;35H-

10、12HRAM-AR ;12H-13HRAM-DA1 ;13H-14HDR-DA2 ;14H-15HDA1-DA2-DR ;15H-01Hd. 微程序代码:微地址微代码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令注释35HDC4012110111000100000000010010PC-AR,PC=PC+112HC10013110000010000000000010011RAM-AR13H210014001000010000000000010100RAM-DA114H500015010100000000000000010101DR-DA215H87D8011000011111011

11、00000000001DA1-DA2-DR2. 带进位加:ADDC DR, ADDRa. 指令功能:(SR)+(DR)+Cy-DR,影响Cy,Zi标志位。当(SR)+(DR)+Cy255时,Cy=1,当(SR)+(DR)+Cy=256时,Zi=1。.这条指令可实现多字节的加法操作。b. 指令格式:c. 指令流程:PC-AR,PC+1-PC ; 01H-02HRAM-IR ;02H-03HJ(1)散转 ;03H-(10H)PC-AR,PC+1-PC ;36H-18HRAM-AR ;18H-19HRAM-DA1 ;19H-1AHDR-DA2 ;1AH-1BHDA1+DA2+Cy-DR ;1BH-0

12、1Hd. 微程序代码:微地址微代码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令注释36HDC4018110111000100000000011000PC-AR,PC=PC+118HC10019110000010000000000011001RAM-AR19H21001A001000010000000000011010RAM-DA11AH50001B010100000000000000011011DR-DA21BH87D801100001110110010100000001DA1+DA2+Cy-DR,CyCn3. C条件转移:JMPC ADDRa. 指令功能:若Cy=1,则ADDR

13、-PC, 否则顺序执行下条指令。影响Cy,Zi标志位。b. 指令格式:c. 指令流程:PC-AR,PC+1-PC ; 01H-02HRAM-IR ;02H-03HJ(1)散转 ;03H-(10H)PC-AR,PC+1-PC ;37H-41HRAM-AR ;41H-42HRAM-DA1 ;42H-43HJ4#条件散转转移 ;43H-(44H)若Cy=0 ;44H-01H若Cy=1 ;44H-46H DA1-PC ;46H-01Hd. 微程序代码:微地址微代码BTOOTBFUNCFSS3S2S1S0MCiN下址微指令注释37HDC4041110111000100000001000001PC-AR,

14、PC=PC+141HC10042110000010000000001000010RAM-AR42H210043001000010000000001000011RAM-DA143H024044000000100100000001000100J(4)44H000001000000000000000000000001NULL45H000000000000000000000000000000NULL46HE44101111001000100000100000001DA1-PC,PC+1有效值得注意的是,此条“C条件转移”指令,跳转的是ADDR中的内容,而非ADDR,这一点也JMP不同。而将JMPC A

15、DDR,改成JMPC ADDR也相当得容易。只要将微程序代码中微地址为37H的微代码改成DC4042即可。也就是跳过RAM-AR不执行。4. 存储器内容送通用寄存器 LDA DR, ADDRa. 指令功能:(ADDR)-DR,不影响Cy,Zi标志位。b. 指令格式:c. 指令流程:PC-AR,PC+1-PC ; 01H-02HRAM-IR ;02H-03HJ(1)散转 ;03H-(10H)PC-AR,PC+1-PC ;39H-3CHRAM-AR ;3CH-3DHRAM-DA1 ;3DH-3EHDA1-DR ;3EH-01Hd. 微程序代码:微地址微代码BTOOTBFUNCFSS3S2S1S0M

16、CiN下址微指令注释39HDC403C110111000100000000111100PC-AR,PC=PC+13CHC1003D110000010000000000111101RAM-AR3DH21003E001000010000000000111110RAM-DA13EH843C01100001000011110000000001DA1-DR根据这四条指令微代码可以得到如图3所示流程图。图3-新增指令逻辑结构图四、 汇编程序设计1. 程序功能程序功能是对输入开关上的数据和存储器某一单元中的数据进行加法操作,结果累计在存储器某个单元中,当累计值大于256时转而进行减法操作,即把此存储器单元中

17、的值减去输入开关上的数据,结果送同一存储器单元中,当操作结果小于0时再转而进行加法操作,使输出显示顶上出现数据连续加,然后连续减,减到0时候连续加。这样连续加、连续减直到拨动结束程序运行为止。2. 程序流程图图4-汇编语言程序流程图3. 汇编程序代码:端口号(POATAR)只有一个,为00H。主存储器单元地址为30H存放数据,用主存储器单元31H,32H来存放跳转地址。由于JMPC ADDR跳转的是ADDR所指内容,故需要额外的开销。如果尝试把C条件转移改成JMPC ADDR也是很简单的事情,具体可以查看附件excel表格MY-CODE.XLS中的“汇编代码1”表。每次存储器值更新,都通过OU

18、T指令进行存储器内容送入输出设备(00H)显示。 另外,由于简单模型机机器指令并没有立即数传输给寄存器或存储器,因此存储器清零操作需要一定的技巧。我们采用的方法是先把存储器内容传给寄存器,然后存储器内容减去寄存器内容,值送入寄存器,该值为0,然后把该值通过寄存器送入存储器。详细的汇编程序代码如下表4所示。表4-汇编程序代码表主存储器地址指令码汇编代码说明00HE4HLAD R0,30H存储器清零01H30H02HD4HSUB R0,30H 03H30H04HC8HSTA 30H,R005H30H06HCCHOUT 00H,30H07H30H08H00H09HCOHIN R0,00H存储器内容=

19、存储器内容+输入值0AH00H0BHC4HADD R0,30H0CH30H0DH C8HSTA 30H, R00EH30H0FHCCHOUT 00H,30H10H30H11H00H12HDCHJMPC 32H存储器内容=265 ?13H32H14HD0HJMP 09H15H09H16HC0HIN R0,00H存储器内容=存储器内容-输入值17H00H18HD4HSUB R0,30H 19H30H1AHC8HSTA 30H, R01BH30H1CHCCHOUT 00H,30H1DH30H1EH00H1FHDCHJMPC 31H存储器内容0 ?20H31H21HD0HJMP 16H22H16H30

20、HADDR31H932H16五、 实验步骤通过Yy-z02模型机软件,省去了微代码与机器指令汇编程序的手动写入与检查,大大提高了实验效率。因为这里不再对微代码与机器指令汇编程序的装入操作进行说明。而实验连线也相对简单,故也不再进行罗列。实验步骤如下:(1) 根据计算机组成原理实验指导(主编 张建中,严义)P76的说明,对YY-Z02实验仪进行连线。(2) 启动Yy-z02模型机软件。为了保证防止由于连线错误而导致运行结果不对,因此先将工作方式选为“仿真模式”。该模式下装入的速度也比较快。(3) 将微程序代码与汇编代码分别写入控存窗口与主存窗口的表格中。如图5,6所示。微代码与汇编程序代码详见M

21、Y-CODE.XLS中的“微代码表”与“汇编代码2”。图5-微代码的部分数据-控存窗口图6-汇编代码的数据-主存窗口(4) 点击“下装程序与微程序按钮。(5) 设定输入值,在input中写入值,并回车结束。(6) 运行程序。按连续运行按钮。(7) 改变输入值,观察输出值变化。六、 实验结果记录对同一程序进行了多次实验,表5记录了其中的4组。可以发现当数据从0增大至超过256后,截取数的高位,剩下低8位,相对于加上给数后又减去256。进位符Cy=1,开始做减操作,显然该数减去输入数值必定小于0,相对于下溢,相当与减去该数后又加上256。由于加的数与减的数是一样的,因此此时,输出结果呈现交替变化,

22、比如输入值为54H时,最后输出结果在FDH与52H 交替。表5-实验结果记录实验结果输入值54H43H39H61H第1次输出54H86H72H61H第2次输出A8HC9HABHC2H第3次输出FDH0CHE4H23H第4次输出52HC9H1DC2H第5次输出FDH0CHE4H23H第6次输出52HC9H1DHC2H第7次输出FDH0CHE4H23H第8次输出52HC9H1DHC2H七、 实验过程中出现的问题与解决方案(1)微代码数据量大,当发现Yy-z02模型机软件内置了部分微代码后,用了部分数据。但由于前后微代码的时常更改,导致部分微代码输入错误。这也直接导致程序输出结果的不正确。更大的问题

23、是很难查错,不知道是微代码的指令逻辑错了,还是下一地址错了,还是汇编程序有问题了。我们的解决方案是找到已完成同学的正确汇编代码对微代码进行查错。当确定微代码的确有错后,我们再次对微代码进行逐条检查(由于模型机软件界面不是很友好,操作起来也很不方便,因此我们的原始微代码是写在excel表格中的)。通过Yy-z02模型机软件中伪代码确认指令逻辑是否正确,通过检查下一地址确定程序转移的正确性。通过多次的检查,最终程序输出结果正确。(2)微代码正确了,然后对汇编程序进行改良优化。刚开始,我们连加动作指令的是ADDC,即带进位加,导致每次从连减操作转化为连加操作后,都会多加一个1,这也不难理解,减法操作溢出使得Cy=1。因此,我们改用ADD指令。显然ADDC是为了实现多字节的加法操作而准备的,对于连加并不适用。(3)对微指令理解不深。刚开始认识JMPC ADDR跳转的地址是ADDR中的内容,这本来是正确的,但由于不够自信,被告知是直接ADDR地址跳转。导致输出结果依然不正确。然后对微指令再此进行研读,发现JMPC ADDR指令的确是跳转ADDR所指主存单元中存放的内容。最好得到正确结果。另外,我们通过修改微代码的部分数据,使得“C条件跳转”实现了JMPC ADDR的功能,即直接地址跳转。同时我们也写出了与此相对的汇编程序,详见附近excel表格的汇编代码1。

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

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