习题
1.I/O 系统的层次结构是怎样的?
2.C标准库函数是在用户态还是在内核态执行?
3.I/O 接口的作用是什么? 具有哪些主要功能?
4.CPU 与I/O 接口之间传送的信息有哪些? 各表示什么含义?
5.CPU 与I/O 设备数据传送的控制方式有哪几种? 它们各有什么特点?
6.什么叫接口?I/O 接口的编址方式有哪两种? 它们各有什么特点?
7.在中断响应过程中,8086往8259A 发的两个信号分别起什么作用?
8.8086最多可有多少级中断? 按照产生中断的方法分为哪两大类?
9.非屏蔽中断有什么特点? 可屏蔽中断有什么特点? 分别用在什么场合?
10.什么叫中断向量? 它放在哪里? 对应于ICH 的中断向量存放在哪里? 如果ICH的中断处理子程序从3550H:1050 H 开始,则中断向量应怎样存放?
11.从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
12.非屏蔽中断处理程序的入口地址怎样寻找?
13.叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中是什么内容?
14.一个可屏蔽中断请求来到时,通常只要中断允许标志为1,便可在执行完当前指令后响应,在哪些情况下有例外?
15.在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?
16.中断指令执行时,堆栈的内容有什么变化? 中断处理子程序的入口地址是怎样得到的?
17.中断返回指令IRET 和普通子程序返回指令RET 在执行时,具体操作内容有什么不同?
18.若在一个系统中有五个中断源,它们的优先权排列为:1、2、3、4、5,它们的中断服务程序的入口地址分别为:2000H、2010H、2030H、2060H、20B0H。编一个程序,使得当有中断请求CPU 响应时,能用查询方式转至申请中断的优先级最高的源的中断服务程序。
19.设置中断优先级的目的是什么?
20.可编程中断控制器8259A 在中断处理时,协助CPU 完成哪些功能?
21.什么是中断响应周期? 在中断响应中8086CPU 和8259A 一般完成哪些工作?
22.8086有哪几种中断? 哪些是硬件中断? 哪些是软件中断?
23.什么是8086的中断向量? 中断向量表是什么? 8086的中断向量表放在何处?
24.8259A 的中断屏蔽寄存器IMR 和8086/8088的中断允许标志IF有什么差别? 在中断响应过程中,它们怎样配合起来工作?
25.8259A 有几种结束中断处理的方式? 各自应用在什么场合? 除了中断自动结束方式以外,其他情况下如果没有在中断处理程序中发中断结束命令,会出现什么问题?
26.8259A 引入中断请求的方式有哪几种? 如果对8259A 用查询方式引入中断请求,那会有什么特点? 中断查询方式用在什么场合?
27.DMA 控制器8237A 有哪两种工作状态? 其工作特点如何?
28.8237A 的当前地址寄存器、当前字节计数寄存器和基字节寄存器各保存什么值?29.8237A 进行DMA 数据传送时有几种传送方式? 其特点是什么?
30.8237A 有几种对其DMA 通道屏蔽位操作的方法?
31.8237A 的清除命令有哪些? 都起什么作用?
32.设处理器按800 MHz的速度执行,每次中断传输一个8字节的数据,磁盘传输速率为4 MB/s,在磁盘传输数据过程中,要求没有任何数据被错过。
(1)若采用中断方式,每次传送的开销(包括用于中断响应和处理的时间)是800个时钟周期。那么处理器用在硬盘I/O 操作上所花的时间百分比(主机占用率)为多少?
(2)若采用DMA 方式,处理器用500个时钟进行DMA 传送初始化,在DMA 完成后的中断处理需要500个时钟。如果每次DMA 传送8000B的数据块,处理器用在硬盘I/O操作上的时间百分比(主机占用率)为多少?