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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机组成原理中断实验报告.docx

1、计算机组成原理中断实验报告北 京 建 筑 大 学2015/2016 学年 第 二 学 期课 程 设 计课程名称 计算机组成原理综合实验 设计题目 微程序控制器设计与实现 系 别 电信学院计算机系 班 级 计141 学生姓名 艾尼瓦尔阿布力米提 学 号 完成日期 二一六年七月八日星期五 成 绩 指导教师(签名)计算机组成综合实验任务书指导教师姓名王怀秀系计算机任务微程序控制器的设计与实现人数32学时1周实验目的1融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系(寄存器堆、运算器、存储器、控制台、微程序控制器)。2理解并掌握微程序控制器的设计方法和实现原理,具备初步的独立设计

2、能力;3掌握较复杂微程序控制器的设计、调试等基本技能;提高综合运用所学理论知识独立分析和解决问题的能力。实验任务 基于TEC-9教学实验平台基于原有指令集的基础上设计或扩展48条指令。首先在原微程序控制器指令系统的基础上进行原指令集的微指令编码的测试,然后利用上端软件,编写用户设计的微指令,实现指令预定的功能。实验步骤 1、进行原实验平台指令集的微程序控制器下指令运行测试; 2、记录每一条机器指令的指令的执行流程和微命令编码; 3、画出每一条指令的指令微程序执行流程图; 4、在原有指令集基础上自行设计或扩展48条指令。画出扩展指令的指令执行流程图; 5、利用上端软件,把所编写的微程序控制器内容

3、写入实验台中控制器中。 6、利用单拍测试控制器与编程的要求是否一致。如果有错误重新修改后再写入控制器中。7、 编写一段测试程序,测试控制器运行是否正确。 实验目的1融合贯通计算机组成原理课程,加深对计算机系统各模块的工作原理及相互联系(寄存器堆、运算器、存储器、控制台、微程序控制器)。2理解并掌握微程序控制器的设计方法和实现原理,具备初步的独立设计能力;3掌握较复杂微程序控制器的设计、调试等基本技能;提高综合运用所学理论知识独立分析和解决问题的能力。 实验电路1. 微指令格式与微程序控制器电路2.微程序控制器组成仍然使用前面的CPU组成与机器指令执行实验的电路图,但本次实验加入中断系统。这是一

4、个简单的中断系统模型,只支持单级中断、单个中断请求,有中断屏蔽功能,旨在说明最基本的原理。 中断屏蔽控制逻辑分别集成在2片GAL22V10(TIMER1 和TIMER2)中。其ABEL语言表达式如下: INTR1 := INTR;INTR1.CLK = CLK1;IE := CLR & INTS # CLR & IE & !INTC;IE.CLK= MF;INTQ = IE & INTR1; 其中,CLK1是TIMER1产生的时钟信号,它主要是作为W1W4的时钟脉冲,这里作为INTR1的时钟信号,INTE的时钟信号是晶振产生的MF。INTS微指令位是INTS机器指令执行过程中从控制存储器读出的

5、,INTC微指令位是INTC机器指令执行过程中从控制存储器读出的。INTE是中断允许标志,控制台有一个指示灯IE显示其状态,它为1时,允许中断,为0 时,禁止中断。当INTS = 1时,在下一个MF的上升沿IE变1,当INTC = 1时,在下一个MF的上升沿IE变0。CLR信号实际是控制台产生的复位信号CLR#。当CLR = 0时,在下一个CLK1的上升沿IE变0。当 CLR=1 且INTS = 0 且 INTC = 0时,IE保持不变。 INTR是外部中断源,接控制台按钮INTR。按一次INTR按钮,产生一个中断请求正脉冲INTR。INTR1是INTR经时钟CLK1同步后产生的,目的是保持I

6、NTR1与实验台的时序信号同步。INTR脉冲信号的上升沿代表有外部中断请求到达中断控制器。INTQ是中断屏蔽控制逻辑传递给CPU的中断信号,接到微程序控制器上。当收到INTR脉冲信号时,若中断允许位INTE,则中断被屏蔽,INTQ仍然为;若INTE ,则INTQ 。 为保存中断的断点地址,以便中断返回,设置了一个中断地址寄存器IAR。第二节图4中的IAR(U19)就是这个中断地址寄存器,它是一片74HC374,有LDIAR和IAR_BUS#两个信号输入端,均连接至微程序控制器。LDIAR信号的上升沿到达时,来自程序计数器PC的地址会置入IAR中。IAR_BUS#为时,保存在IAR中的断点地址会

7、输出到数据总线DBUS上。由于本实验系统只有一个断点寄存器而无堆栈,因此仅支持一级中断而不支持多级中断。 中断向量即中断服务程序的入口地址,在本实验仪中由位数码开关SW7SW0提供。3.中断的检测、执行和返回过程 微程序控制器每执行一条机器指令之后,执行下一条机器指令之前,先转到微地址0F处(见图12微程序流程图),在条件位P1=1时判断是否有中断请求INTQ。如果没有INTQ,则继续正常的机器指令执行。若检测到中断请求INTQ,首先发出关中断信号INTC、保存断点信号LDIAR,并且发出停机信号TJ,等待手动设置中断向量。设置好SW7SW0后,按QD按钮启动,机器将中断向量读入程序计数器PC

8、中,从而转到中断服务子程序去执行。 执行一条机器指令IRET,从中断服务子程序返回时,发出IAR_BUS#信号,从中断地址寄存器IAR向数据总线DBUS输出断点地址,再从DBUS依次写入到R4、PC中,恢复执行被中断的程序。 发生中断时,关中断由硬件负责,而中断现场(寄存器堆中的寄存器,进位标志C)的保存和恢复由中断服务程序来处理。 实验任务 (1)了解中断系统中每个信号的意义和变化条件,并将下面的主程序和中断服务程序手工汇编成十六进制机器代码,此项任务应在预习时完成。 主程序:地址指令机器代码20HINTS21HLDA R0,R222HADD R0,R023HADD R0,R024HADD

9、R0,R025HADD R0,R026HADD R0,R027HADD R0,R028HADD R0,R029HJMP R1中断服务程序:地址指令机器代码0A0HAND R0,R0 0A1HIRET (2)参考CPU组成与机器指令执行实验,再加上中断系统,完成本次实验的线路连接。接通电源之前应仔细检查接线,确认无误。 (3)将上述任务(1)的程序代码存入内存中,并根据需要设置通用寄存器组和内存相关单元的数据。其中,寄存器R1的值应置为21H,以便程序循环执行。 (4)从地址20H执行程序,在程序运行中,按一次控制台的INTR。进入中断后,用单拍(DP)方式执行,直到返回主程序为止。列表记录中断

10、系统中有关信号的变化情况,特别要纪录好断点地址和R0的值。(5)重复执行(4)两次。(一共执行3次)(6)将RAM中20H单元的内容由指令INTS改为INTC,重作(4),记录发生的现象。六、实验步骤和实验结果1、实验程序主程序:地址指令机器代码20HINTS 0BH21HLDA R0,R2 58H22HADD R0,R0 00H23HADD R0,R0 00H24HADD R0,R0 00H25HADD R0,R0 00H26HADD R0,R0 00H27HADD R0,R0 00H28HADD R0,R0 00H29HJMP R1 84H 中断服务程序:地址指令机器代码0A0HAND R

11、0,R0 30H0A1HIRET 0A0H2、接线微程序控制器与数据通路之间的线可以通过选择开关直接选择。将开关设置为“微程序”。只需连接数据通路部分的线。 a、数据通路的LDIR接CER、LDPC接LDR4、LDDR1接LDDR2、M1接M2、LDAR1接LDAR2。b、指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。C、单脉冲DMC 接 中断INTR选择开关拔至“微程序”3、存程序机器代码,设置通用寄存器R1、R2及内存相关单元的数据。(1)、设置寄存器R1、R2的值 根据要求,设置R1 = 21H,R2的值由实验者自定,

12、假定为10H。1)、令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWB = 1,SWA = 1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮,使实验系统处于初始状态。1) 、在SW7SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储器单元的内容。例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1和AR2。2) 在SW7SW0上设置01H,作为通用寄存器R1的寄存器号。按一次QD按钮,将01H写入IR。3) 在SW7SW0设置21H,按一次QD按钮,将21H写

13、入IR指定的R1寄存器。4) 在SW7SW0上设置02H,作为通用寄存器R2的寄存器号。按一次QD按钮,将02H写入IR。5) 在SW7SW0设置10H,作为R2的值。按一次QD按钮,将10H写入IR指定的R2寄存器。6) 设置R1、R2结束,按CLR#按钮,使实验系统恢复到初始状态。(2)、存程序机器代码。 本操作中,我们在10H单元存入01H(也可以是其他值),从20地址开始存10个机器代码:0B0H,58H,00H,00H,00H,00H,00H,00H,00H,84H。从0A0H存入2个机器代码:30H,0A0H。1)令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态

14、。令SWB = 1,SWA = 0,使实验系统处于写双端口存储器工作方式KWRD。按CLR#按钮,使实验系统处于初始状态。2)置SW7SW0为10H,按QD按钮,将10H写入AR1。3)置SW7SW0 为01H,按QD按钮,将01H写入存储器10H单元。写主程序1)按CLR#按钮,使实验系统恢复初始状态。2)置SW7SW0为20H,按QD按钮,将20H写入AR1。3)置SW7SW0 为0B0H,按QD按钮,将0B0H写入存储器20H单元。AR1自动加1,变为21H。4)置SW7SW0为58H,按QD按钮,将58H写入存储器21H单元。AR1自动加1,变为22H。5)重复进行下去,一直到将84H

15、写入存储器29H单元。按CLR#按钮,使实验系统恢复到初始状态。 写中断程序1)置SW7SW0为0A0H,按QD按钮,将0A0H写入AR1。2)置SW7SW0 为30H,按QD按钮,将30H写入存储器0A0H单元。3)置SW7SW0 0A0H,按QD按钮,将0A0H写入存储器0A1H单元。4)按CLR#按钮,使实验系统恢复到初始状态。 或用实验台监控系统或系统上端软件直接写入内容(3)从地址20H连续执行程序从地址20H连续执行程序,在程序运行中,按一次控制台的INTR。进入中断后,用单拍(DP)方式执行,直到返回主程序为止。列表记录中断系统中有关信号的变化情况,特别要纪录好断点地址和R0的值

16、。1)令DP = 0,DZ = 0,DB = 0,使实验系统处于连续运行状态。2)置SW7SW0为20H,作为程序的起始地址。按QD按钮,启动程序从20H地址运行。中断允许指示灯亮。3)按INTR按钮,发出一个INTR中断脉冲,请求中断。中断后硬件自动将中断地址存入中断地址寄存器IAR。微程序地址应为25H。4)置SW7SW0为0A0H,这是中断程序的入口地址。将DP由置0改为置1。按一次QD按钮,将0A0H送入程序计数器PC。微程序地址应为26H。5)按一次QD按钮,进行取指微操作。微程序地址应为05H。6)按一次QD按钮,进行置数微操作。微程序地址应为13H。7)按一次QD按钮,进行R0

17、& R0 操作,这时微程序地址应为38H。观察DBUS总线的值,即为R0的值。8)按一次QD按钮,进行写回微操作。微程序地址应为34H。9)按一次QD按钮,进行判定有无中断请求INTQ微操作。微程序地址应为0FH。10)按一次QD按钮,进行取指微操作。微程序地址应为05H。 11)按一次QD按钮,进行从中断程序返回主程序微操作。微程序地址应为1AH。这时观察PC地址,即中断地址。12)按一次QD按钮,进行判有无新的中断操作。微程序地址为0FH。13)按一次QD按钮,进行取指微操作。微程序地址为05H。此刻,程序已返回主程序。 由于按下INTR按钮的时间对主程序而言,是随机的,具有不确定性,因此

18、各次中断地址、R0会具有不同的值。将RAM中20H单元的内容由指令INTS改为INTC,重作(4),记录发生的现象。由于INTC是关中断指令,因此将不会发生中断。(4)控制存储器代码表 1.微程序控制器信号表指令当前指令CM4CM3CM2CM1CM0LDA R0,R207H10H00H81H20H05H05H10H00H04H91H10H15H10H01H04H00H36H36H10H0CH20H00H34H34H00H12H00H00H0FHLDA R1,R307H10H00H04H00H05H05H10H00H04H91H10H15H10H01H04H00H36H36H10H0CH20H0

19、0H34H34H00H12H00H00H0FHADD R0,R107H10H00H04H00H05H05H10H00H04H91H10H10H10H20H00H00H3BH3BH14H82H20H00H34H34H00H12H00H00H0FHJC +507H10H00H04H00H05H05H10H00H04H91H10H19H10H00H00H00H0FHAND R2,R307H10H00H04H00H05H05H10H00H04H91H10H13H10H20H00H00H38H38H0DH82H20H00H34H34H00H12H00H00H0FHSUB R3,R207H10H00H04

20、H00H05H05H10H00H04H91H10H11H10H20H00H00H3AH3AH03H02H20H00H34H34H00H12H00H00H0FHSTA R3,R207H10H00H04H00H05H05H10H00H04H91H10H14H10H21H04H00H35H35H10H06H00H00H0FHSTP07H10H00H04H00H05H05H10H00H04H91H10H16H30H00H00H00H0FHJMP R107H10H00H04H00H05H05H10H00H04H91H10H18H10H01H01H20H0FHINTS00H30H00H02H08H26H0

21、7H10H00H81H20H05H05H10H00H04H91H10H1AH10H20H00H00H3AH3AH03H02H20H00H34H34H00H12H00H00H0FHIRET07H10H00H04H00H05H05H10H00H04H91H10H1BH10H00H41H20H0FH2.拓展控制器信号表指令CM4CM3CM2CM1CM0XOR Rd,Rs10H10H04H00H05H10H00H04H91H10H10H20H00H00H31H0BH02H20H00H34H00H12H00H00H0FHINC Rd,Rs10H00H04H00H05H10H00H04H91H10H10H

22、20H00H00H32H00H02H20H00H34H00H12H00H00H0FHDEC Rd,Rs10H00H04H00H05H10H00H04H91H10H10H20H00H00H33H17H82H20H00H34H00H12H00H00H0FHF=A+B Rd,Rs10H00H04H00H05H10H00H04H91H10H10H20H00H00H24H0EH02H20H00H34H00H12H00H00H0FH 流程图1.微程序流程图2.拓展程序流程图10HXOR Rd,Rs INC Rd DEC Rd F=121H 22H 23H 24H 实验结果 1、单拍执行程序(SWC=0,S

23、WB=0,SWA=0;DP=1,DZ=0,DB=0)初值:R1=11H,R2=22Ha、XOR R1,R2 执行结果R1 = 33H、R2=02Hb、INC R1,R2 执行结果R1 = 34H、R2=02Hc、DEC R1,R2 执行结果R1 = 33H、R2=02Hd、F=A+B R1,R2 执行结果R1 = FFH、R2=02H7、实验分析与总结 通过这次实验,首先我懂得了什么叫中断,同时学会了中断的调用。通过亲自动手,能更好的理解本次实验的原理。在做实验的过程中遇到了各种问题,在此过程中,我通过请教老师,还有班里的同学(特别感谢拍子古,周瑞奇,喀斯等同学)最终成功的的做出来了。这次实验提高了我的动手操作的能力。通过这几天的课程设计,使我对计算机组成原理知识有了更加深刻的认识和理解,对计算机的工作流程有了更具体的了解和认识。非常感谢这次的课程设计给我带来的知识和学习经验,我真正意识到了实践是理论所不能及的。在今后我一定会更加努力学习专业知识和技术。

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

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