学生为学校做网站/100条经典广告语
《完整版上海大学计算机学院计算机组成原理实验报告p》由会员分享,可在线阅读,更多相关《完整版上海大学计算机学院计算机组成原理实验报告p(6页珍藏版)》请在人人文库网上搜索。
1、上海大学计算机学院 计算机组成原理实验报告 【最新资料,上海大文档计算编辑修改】 计算机组成原理实验报告十 实验名称:中断机制和应用(综合实验) 一、 实验目的 1. 学习实验箱感知中断的硬件结构和工作原理。 2. 学习使用中断系统。 3. 学习使用扩展外设。 二 实验原理 1. 程序中断:因“随机性”原因,使一个程序暂停执行,转而执行另一个程序,以处理随机事件,然后再返回原程 序继续执行的过程成为“中断” O 中断发生的时间是随机的(不可预知,但发生后应该如何处理是安排好的),中断发生的“随机性”决 定了 “必须 用硬件感知中断请求”、“不仅要保存断点,还必须保存现场” O 2. 实验箱的中。
2、断感知硬件:当执行取指微指令时, IREN二0,于是号或门输出0,这时号“或门” 对IREQ的Q端开放,若有中断请求就会在这时被CPU感知。所以无论中断请求在何时提出,都只能在取 指阶段被感知!当号“或门”输出0时中断被感知,同时这个低电平使IACK的SD有效,迫使其Q端 输出1, ACKT亮,并使号“或门”对IREN关闭并输出1 ;这个1又使号“或门”对中断请求关闭并输出1,这个1 又返回IACK的SD端,使IACK保持Q二1的状态。所以系统进入中断服务子 程序后,ACKT保持亮,且不响应新 的中断请求(仅一级中断)。 3. ICOE向下经“与门”控制PC+ 1信号,ICOE的另一个作用是通。
3、过号“或广T控制 EMfr 指令的输出,保证在输出中断指令B8H时,EM不输出。 4. 4.试验箱外扩系统 6.74LS08结构俯视图 三、实验内容 1. 用74LS 08芯片搭建当电键K1和K2都为1时不产生中断请求信号的外部电 2.编制中断服务子程序使OUT交替显示AA BB三次后返回源程序。源程序为实 验七完成的交替显示11和55的程序。 (1) 运行上述程序,在完成AA BB交替显示三次之前恢复K1K2都为1的状 态。记录OUTS示的现象、REQT和ACK灯的情况以及ST寄存器的值及改变情况。 (2) 运行上述程序,在完成AA、BB交替显示时不恢复K1K2都为1的状 态。记录OUTS示。
4、的现象、REQT和ACK灯的情况以及ST寄存器的值及改变情况。 R2记录主程序延迟时间,R1与主程序显示同步。分析上述二种显示现象的原因。 四、实验步骤 1 用74LS 08芯片搭建当电键K1和K2都为1时不产生中断请求信号的外部电路。 打幵电源,进入手动模式。将试验箱的外扩箱的1和K1相连,2和K2相连,7接地, 40接电源vcc。幵关都为1时不产生中断请求信号。 按一下丨就会产生中断。 2.启动桌面上COMPUTE.EXE件。 连接通信口: COM1/COM2 点击源程序编写程序: sta: mov a,#11h mov r1,a out mov a,#10h loopl: sub a,#。
5、1h mov r2,a jz Ioop2 jmp loopl Ioop2: mov a,#55h mov r1,a out mov 比#1 Oh Ioop3: sub a,#1 h mov r2,a jz sta jmp Ioop3 org 50h mov r0,#04h Ioop4: mov a,rO sub a,#1 h mov rO,a jz exit mov rO,a mov a,#aah out mov a,#5h Ioop5: sub a,#1 h jz Ioop6 jmp Ioop5 Ioop6: mov a,#bbh out mov a,#5h Ioop7: sub a,#1h。
6、 jz Ioop4 jmp Ioop7 exit: mov a,r1 out mov a,r2 add a,#Oh reti end 保存,文件名后需加.asm后缀。 打开试验箱,编译下载。 全速运行 按下中断键,在ma与bb交替显示3次之前松幵中断键,记录OUTS示,REQ灯灯 的情况,及ST寄存器的值及改变情况。 运行上述程序,在完成aa与bb交替显示时不松幵中断键,记录OUTS示,REQ灯 ACKff的情况,及ST寄存器的值及改变情况。 五、实验现象 刚幵始运行11与55交替出现,R1与OUTS示同步,R2记录的是主程序的延迟 时 间,执行中断前,ACK和REC灯均不亮,ST寄存器为00。
7、, OUTS示11和55,按 下中断键松幵后,就会产生中断,调用中断程序,aa与bb交替出现,ACK和REQT 均亮,R0记录aa与bb交替出现的次数,由3依次减1,依次出现3、2、1,然后R2保持中 断时的主程序的延迟时间,R1保持中断时OUT显示的值,然后中断结束后, ACK和REQ 丁又不亮,从R2记录的延迟时间幵始,OUT显示R1记录的主程序的值,依 次交替出现11和55. 刚幵始运行11与55交替出现,R1与OUT显示同步,R2记录的是主程序的延迟 时 间,执行中断前,ACK和REQ 丁均不亮,ST寄存器为00, OUT显示11和55。按下 中断 键后不放幵,执行中断时,ACK和RE。
8、C亮起,OUT交替显示aa和bb,直到中断 程序依 次交替显示3次aa与bb后,再放幵,那么OUT会一直交替显示aa与bb, ACK和REQ 丁 暗掉后又马上亮,寄存器R1显示11,寄存器R2显示06. 六、实验结论 在完成aa与bb交替显示3次之前,松开中断键,这样产生中断后,中断返回,进行 原来的程序执行。 在完成a* bb交替显示3次时,不松幵中断键,这样就一直进行中断,无法返回原来的 程序执行。 七、建议 八 体会 通过这次试验,我了解了中断机制,知道了中断的原理,知道了如何进行程序中断和中断 程序的返回和如何对断点进行保存,知道了中断机制的重要性。 在实验过程中,编写那个延迟和中断子程序的时候,出现了很多波折,R2记录主 程序的延迟时间,这个老是显示不对,然后中断返回时不是从中断断点开始接着执 行的,后 来老师提示了一下,修改了一下程序,终于成功了。另外呢,在做实验的 时候,一定要有耐 心,要有做对的信心,和失败的不灰心,才有可能最终得到你想要的结果。 九、思考题 实验箱的中断服务程序中可以嵌套一般的子程序吗? 答:不能,因为实验箱的ST寄存器只能存放8位二进制,仅能实现一级中断,所以不能 嵌套一般的子程序。。