计算机组成原理 中断原理实验

一、实验目的

(1)从硬件,软件结合的角度,模拟单级中断和中断返回的过程

(2)通过简单的中断系统,掌握中断控制器、中断向量、中断屏蔽等概念

(3)了解微程序控制器与中断控制器协调工作的基本原理

二、实验任务

(1)了解中断系统中每个信号的意义和变化条件,并将下面的主程序和中断服务程序手工汇编成十六进制机器代码

地址

指令

机器代码

20H

INTS

0B0H   10110000

21H

LDA R0,[R2]

58H   01011000

22H

ADD R0,R0

00H   00000000

23H

ADD R0,R0

00H   00000000

24H

ADD R0,R0

00H   00000000

25H

ADD R0,R0

00H   00000000

26H

ADD R0,R0

00H   00000000

27H

ADD R0,R0

00H   00000000

28H

ADD R0,R0

00H   00000000

29H

JMP [R1]

84H   10000100

中断服务程序:

地址

指令

机器代码

0A0H

AND R0,R0

30H   00110000

0A1H

IRET

0A0H   10100000

三、实验工具

模拟程序

四、实验步骤及实验结果

(2)连线

(3)存程序机器代码,设置通用寄存器R1、R2及内存相关单元的数据

设置寄存器R1、R2的值

根据要求,设置R1 = 21H, R2 的值为10H。

1.令DP=0,DB=0,DZ=0,使实验系统处于连续运行状态。令SWB=1,SWA=1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮,使实验系统处于初始状态。

2.在SW7-SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储器单元的内容可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1和AR2。

3.在SW7-SW0上设置01H,作为通用寄存器R1的寄存器号。按一次QD按钮,将01H写入IR。

4.在SW7-SW0 设置21H,按一次QD按钮,将21H写入IR指定的R1寄存器。

5.在SW7-SW0. 上设置02H, 作为通用寄存器R2的寄存器号。按一次QD按钮,将02H写入IR。

6.在SW7-SW0设置10H,作为R2的值。按一次QD按钮,将10H写入IR指定的R2寄存器。

7. 设置R1、R2结束,按CLR#按钮,使实验系统恢复到初始状态。

存程序机器代码。

本操作中,在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,使实验系统处于连续运行状态。令SWB=1,SWA=0,使实验系统处于写双端口存储器工作方式KWRD。按CLR#按钮,使实验系统处于初始状态。

2.置SW7-SW0为10H,按QD按钮,将10H写入AR1。

3. 置SW7-SW0 为01H,按QD按钮,将01H写入存储器10H单元。

4.按CLR#按钮,使实验系统恢复初始状态。

5.置SW7-SW0为20H,按QD按钮,将20H写入AR1。

6. 置SW7-SW0为0B0H, 按QD按钮,将0B0H写入存储器20H单元。AR1自动加1,变为21H。

7.置SW7-SW0为58H,按QD按钮,将58H写入存储器21H单元。AR1自动加1,变为22H。

8.重复进行下去,一直到将84H写入存储器29H单元。

按CLR#按钮,使实验系统恢复到初始状态。

9.置SW7-SW0为0A0H,按QD按钮,将0A0H写入AR1。

10. 置SW7-SW0 为30H, 按QD按钮,将30H写入存储器0A0H单元。

11.置SW7-SW0为 0A0H, 按QD按钮,将0AOH写入存储器0A1H单元。

12.按CLR#按钮,使实验系统恢复到初始状态。

(4)从地址20H执行程序,在程序运行中,按一次控制台的INTR。 进入中断后,用单拍(DP)方式执行,直到返回主程序为止。列表记录中断系统中有关信号的变化情况,特别要纪录好断点地址和R0的值。

1.令DP=0,DZ=0,DB=0,SWA=0,SWB=0,SWC=0,使实验系统处于连续运行状态。

2.置SW7-SW0为20H,作为程序的起始地址。按QD按钮,启动程序从20H地址运行。

3.按INTR按钮,发出一个INTR中断脉冲,请求中断。中断后硬件自动将中断地址存入中断地址寄存器IAR。微程序地址应为25H。

4. 置SW7-SW0为0A0H, 这是中断程序的入口地址。将DP由置0改为置1。按一次QD按钮,将0A0H送入程序计数器PC。微程序地址应为26H。

5. 按一次QD按钮,进行取指微操作。微程序地址应为05H。

6. 按一次QD按钮,进行置数微操作。微程序地址应为13H。

7. 按一次QD按钮,进行RO & RO操作,这时微程序地址应为38H。 观察DBUS总线的值,即为R0的值。

8. 按一次QD按钮,进行写回微操作。微程序地址应为34H。

9. 按一次QD按钮,进行判定有无中断请求INTQ微操作。微程序地址应为0FH。

10.按一次QD按钮,进行取指微操作。微程序地址应为05H。

11.按一次QD按钮,进行从中断程序返回主程序微操作。微程序地址应为1AH。 这时观察DBUS的值,即中断地址。

12.按一次QD按钮,进行判有无新的中断操作。微程序地址为0FH。

13. 按一次QD按钮,进行取指微操作。微程序地址为05H。 此刻,程序已返回主程序。

(5)操作方式同(4), 三次纪录到的中断地址和R0值一般不会相同。由于按下INTR按钮的时间对主程序而言,是随机的,具有不确定性,因此各次中断地址、R0会具有不同的值。

(6)将RAM中20H单元的内容由指令INTS改为INTC, 重作(4), 记录发生的现象。由于INTC是关中断指令,因此将不会发生中断。

把20H地址存放的值改为C0H,就关闭了中断指令,就无法按INTR停止运行。

五、个人总结

做这次实验才发现,原来在执行下一步前能够保存数据,以防实验错误导致内存数据出现错误,从而影响下一步操作。这个保存的方式是以txt形式保存,里面储存格式为二进制的地址:该地址二进制的存储数据。

  • 34
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中断计算机组成原理中重要的概念之一,它可以让计算机在执行程序的过程中暂停当前的任务,转而去处理其他的任务,从而实现多任务处理。现在,我将向您介绍一下如何在计算机组成原理实验中实现中断原理。 在计算机组成原理实验中,我们可以通过编写汇编语言程序来实现中断原理。具体步骤如下: 1.编写中断处理程序:我们可以通过编写中断处理程序来实现中断原理中断处理程序是一段特殊的程序,它会在计算机发生中断时自动执行。在编写中断处理程序时,我们需要考虑中断源的类型和中断处理的方式。 2.设置中断向量表:中断向量表是一个存储中断处理程序入口地址的表格。当计算机发生中断时,中断向量表会根据中断源的类型自动寻找对应的中断处理程序入口地址。在设置中断向量表时,我们需要将中断处理程序的入口地址存储在对应中断号的中断向量表项中。 3.触发中断:我们可以通过软件或硬件的方式来触发中断。在软件触发中断时,我们需要使用INT指令,将中断号作为操作码传递给CPU,让CPU自动执行中断处理程序。在硬件触发中断时,我们需要通过外部设备向CPU发送中断请求信号,让CPU自动执行中断处理程序。 通过上述步骤,我们就可以在计算机组成原理实验中实现中断原理。当计算机发生中断时,中断处理程序会自动执行,处理完中断后,计算机会返回到之前的任务继续执行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值