一、前言
近期在学习计算机组成原理这门课,教材是使用的唐朔飞老师的计算机组成原理第二版,这次和大家分享一下第五章中“输入输出系统”部分的典型例题。
二、题目
1.试比较单重中断和多重中断服务程序的处理流程,说明它们不同的原因。
解答:
1.单重中断的中断程序的处理流程:保存现场的屏蔽字,执行中断服务程序,恢复现场和屏蔽字,开中断,中断返回
2.多重中断的中断程序的处理流程:保存现场的屏蔽字,开中断,执行中断服务程序,关中断,恢复现场和屏蔽字,开中断,中断返回
3.两者不同的原因:在单重中断中由于执行中断时不会被其他中断打断,所以只需要在中断返回前打开中断。而在多重中断的情况下,在执行中断服务程序的过程中是允许被更优先级更高级的中断打断的,所以需要在进入中断服务程序前打开中断。同时在恢复现场时是不允许被中断的,便在恢复现场前后加入了开关中断的操作。
2.程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?
解答:
程序查询方式是主机与外设间进行信息交换的最简单方式。输入输出完全通过CPU执行程序来完成。而程序中断方式无需等待查询,外设在做好输入输出准备时,向主机发中断请求,主机接到请求后就暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处。
3.什么是多重中断?实现多重中断的必要条件是什么?
解答:
1.多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
2.实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。
4.结合DMA接口说明其工作过程?
解答:
一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向CPU发送DMA请求信号。外设通过DMA的一种专门接口电路――DMA控制(DMAC),向CPU提出接管总线控制权的总线请求,CPU收到该信号后,在当前的总线周期结后,会按DMA信号的优先级和提出DMA请求的先后顺序响应DMA信号。CPU对某个设备接口响应DMA请求时,会让出总线控制权。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预。数据传送完毕后,设备接口会向CPU发送DMA结束信号,交还总线控制权。