计算机组成原理实验十,计算机组成原理实验十

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机组成原理实验十

(4页)

f52e04c5431f75c9fbeafb9f4078d9ce.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.90 积分

上海大学计算机学院《计算机组成原理二实验》报告十 姓名:林琦 学号:xxxxxxxx 教师:王雪娟 时间:周一5-6 地点:计算机大楼609 机位:33实验名称:十 中断机制和应用(综合实验)一、实验目的1. 学习实验箱感知中断的硬件结构和工作原理。2. 学习使用中断系统。3. 学习使用扩展外设。2、 实验原理程序中断:因“随机性”原因,使一个程序暂停执行,转而执行另一个程序,以处理随机事件,然后再返回原程序继续执行的过程成为“中断”。中断同子程序调用有共同点:执行另一个程序,然后返回。所以在调用另一个程序(中断服务子程序)时必须保存断点。中断与子程序调用有一个根本区别:中断发生的时间是随机的(不可预知,但发生后应该如何处理是安排好的),而子程序调用时间是安排好的,由程序员写下的调用指令决定。中断发生的“随机性”决定了“必须用硬件感知中断请求”、“不仅要保存断点,还必须保存现场”。中断发生时间与正在运行的程序的无关性,使得整个系统在运行一个程序的同时,还能感知其它事件的发生!这是实时监控的技术基础、是多用户、多任务、多线程技术的关键点,因此是操作系统工作的前提,是计算机系统的“点睛”之笔!深刻理解中断系统是计算机专业人员用好计算机的必备知识! 只有“中断返回”指令和复位操作使EINT为低电平,这个低电平作用到IREQ的SD端,使上面这个D触发器的Q端为1,作用到IACK的CD端使下面这个D触发器的Q端输出0。CK驱动下,IREQ的Q端输出D端的INT状态。当有中断请求时INT为0,则一个CK后Q端输出0,但这个0能否被CPU感知却要看①号“或门”是否允许它通过。而“非取指”微指令有IREN=1,则②号“或门”输出1,于是IREQ的Q端无论输出0或1,①号“或门”总输出1,即不允许中断请求通过。同时这个1又送入IACK的SD端;于是下触发器的SD和CD端的输入都是无效状态,这个触发器保持稳定。三、实验内容1. 用74LS 08芯片搭建当电键K1和K2都为1时不产生中断请求信号的外部电路。 2. 编制中断服务子程序使OUT交替显示AA、BB三次后返回源程序。源程序为实验七完成的交替显示11和55的程序。 (1). 运行上述程序,在完成AA、BB交替显示三次之前恢复K1K2都为1的状态。记录OUT显示的现象、REQ灯和ACK灯的情况以及ST寄存器的值及改变情况。 (2). 运行上述程序,在完成AA、BB交替显示时不恢复K1K2都为1的状态。记录OUT显示的现象、REQ灯和ACK灯的情况以及ST寄存器的值及改变情况。 分析上述二种显示现象的原因。四、实验过程实验一:打开试验箱,切换到手动模式,按如下接线:74LS08 :1 接K0 2接K1 3接L0(显示单元) 7接GND(接地) 40接+5V(电源) L0为显示单元 如果产生中断信号,则L0灯不亮实验结果: K0K1为11时 L0亮K0K1为10时 L0不亮K0K1为00时 L0不亮K0K1为01时 L0不亮实验二:(1)保持实验一连线K0K1连接11将3改接 INT左上角的白色按钮拨0101 0000(2)程序框写如下程序start:mov a,#11hmov r2,a ;将A备份到R2,如果延时程序中产生中断,可以通过R2知道此时OUT的输出out ;OUT显示11mov a,#10h ;延时程序 不能调用子程序,因为实验箱的栈只有一层linqi:sub a,#1hmov r1,ajz su ;延时结束后跳转到输出55jmp linqisu: ;输出55mov a,#55hmov r2,aout ;OUT显示55mov a,#10h ;又是一个延时程序L7: sub a,#1hmov r1,ajz start ;跳转到输出11jmp L7 ;中断程序org 50hmov r0,#03h ;计数,输出3次AABB后返回源程序l1:mov a,r0sub a,#1h ;R0-1jz rettt ;为0跳转到返回mov r0,amov a,#aah ;OUT输出AAout mov a,#10h ;延时l2:sub a,#1hjz l3 ;跳转到输出BBjmp l2 l3: mov a,#bbhout ;OUT显示BBmov a,#10h ;延时l4:sub a,#1hjz l1 ;跳转到输出AAjmp l4;返回rett:mov a,r2out ;将OUT的值改回中断前的值retiend(3)全速运行程序在1155中切换显示将k0变为0后,产生中断,保持k0为0的状态, OUT循环显示AABB 3次后继续显示AABB(K0K1不恢复)将k0变为0后,产生中断,立刻将K0重新变为1,OUT循环显示AABB 3次后返回源程序显示1155(k0k1恢复都为1的状态),思考题:不可以,因为实验箱的栈只有一层。在调用子程序的时候会进行压栈(记录原来程序的地址),如果在子程序中产生中断,会进行第二次压栈。冲掉原来的程序地址,使程序返回时丢失地址。4、 实验体会了解了程序转移的硬件机制,对计算机组成原理有了进一步的认知。 关 键 词: 计算机 组成 原理 实验

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值