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

《计算机组成原理实验十》由会员分享,可在线阅读,更多相关《计算机组成原理实验十(5页珍藏版)》请在人人文库网上搜索。

1、计算机组成原理实验十上海大学计算机学院 计算机组成原理二实验报告十 姓名:林琦 学号:xxxxxxxx 教师:王雪娟 时间:周一5-6 地点:计算机大楼609 机位:33 实验名称:十 中断机制和应用(综合实验) 一、实验目的 1. 学习实验箱感知中断的硬件结构和工作原理。 2. 学习使用中断系统。 3. 学习使用扩展外设。 二、实验原理 程序中断:因“随机性”原因,使一个程序暂停执行,转而执行另一个程序,以处理随机事件,然后再返回原程序继续执行的过程成为“中断”。中断同子程序调用有共同点:执行另一个程序,然后返回。所以在调用另一个程序(中断服务子程序)时必须保存断点。中断与子程序调用有一个根。

2、本区别:中断发生的时间是随机的(不可预知,但发生后应该如何处理是安排好的),而子程序调用时间是安排好的,由程序员写下的调用指令决定。中断发生的“随机性”决定了“必须用硬件感知中断请求”、“不仅要保存断点,还必须保存现场”。中断发生时间与正在运行的程序的无关性,使得整个系统在运行一个程序的同时,还能感知其它事件的发生!这是实时监控的技术基础、是多用户、多任务、多线程技术的关键点,因此是操作系统工作的前提,是计算机系统的“点睛”之笔!深刻理解中断系统是计算机专业人员用好计算机的必备知识! 只有“中断返回”指令和复位操作使EINT为低电平,这个低电平作用到IREQ的SD端,使上面这个D触发器的Q端为。

3、1,作用到IACK的CD端使下面这个D触发器的Q端输出0。 CK驱动下,IREQ的Q端输出D端的INT状态。当有中断请求时INT为0,则一个CK后Q端输出0,但这个0能否被CPU感知却要看号“或门”是否允许它通过。而“非取指”微指令有IREN1,则号“或门”输出1,于是IREQ的Q端无论输出0或1,号“或门”总输出1,即不允许中断请求通过。同时这个1又送入IACK的SD端;于是下触发器的SD和CD端的输入都是无效状态,这个触发器保持稳定。 三、实验内容 1. 用74LS 08芯片搭建当电键K1和K2都为1时不产生中断请求信号的外部电路。 2. 编制中断服务子程序使OUT交替显示AA、BB三次后。

4、返回源程序。源程序为实验七完成的交替显示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为显示单元 如果产生中。

5、断信号,则L0灯不亮 实验结果: K0K1为11时 L0亮 K0K1为10时 L0不亮 K0K1为00时 L0不亮 K0K1为01时 L0不亮 实验二: (1) 保持实验一连线 K0K1连接11 将3改接 INT 左上角的白色按钮拨0101 0000 (2) 程序框写如下程序 start: mov a,#11h mov r2,a ;将A备份到R2,如果延时程序中产生中断,可以通过R2知道此时OUT的输出 out ;OUT显示11 mov a,#10h ;延时程序 不能调用子程序,因为实验箱的栈只有一层 linqi: sub a,#1h mov r1,a jz su ;延时结束后跳转到输出55 。

6、jmp linqi su: ;输出55 mov a,#55h mov r2,a out ;OUT显示55 mov a,#10h ;又是一个延时程序 L7: sub a,#1h mov r1,a jz start ;跳转到输出11 jmp L7 ;中断程序 org 50h mov r0,#03h ;计数,输出3次AABB后返回源程序 l1: mov a,r0 sub a,#1h ;R0-1 jz rettt ;为0跳转到返回 mov r0,a mov a,#aah ;OUT输出AA out mov a,#10h ;延时 l2: sub a,#1h jz l3 ;跳转到输出BB jmp l2 l3。

7、: mov a,#bbh out ;OUT显示BB mov a,#10h ;延时 l4: sub a,#1h jz l1 ;跳转到输出AA jmp l4 ;返回 rett: mov a,r2 out ;将OUT的值改回中断前的值 reti end (3) 全速运行 程序在1155中切换显示 将k0变为0后,产生中断,保持k0为0的状态, OUT循环显示AABB 3次后继续显示AABB(K0K1不恢复) 将k0变为0后,产生中断,立刻将K0重新变为1,OUT循环显示AABB 3次后返回源程序显示1155(k0k1恢复都为1的状态), 思考题: 不可以,因为实验箱的栈只有一层。在调用子程序的时候会进行压栈(记录原来程序的地址),如果在子程序中产生中断,会进行第二次压栈。冲掉原来的程序地址,使程序返回时丢失地址。 四、实验体会 了解了程序转移的硬件机制,对计算机组成原理有了进一步的认知。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值