Chapter 7. 输入/输出系统
公式与性质
-
I/O
接口中的寄存器- 数据缓冲寄存器:暂存与
CPU
或内存之间传送的数据信息。 - 状态寄存器:记录接口和设备的状态信息。
- 控制寄存器:保存
CPU
对外设的控制信息。
- 状态寄存器与控制寄存器在传送方向上相反,在访问时间上错开,可以将二者合二为一。
- 数据缓冲寄存器:暂存与
-
I/O
接口中的数据线、地址线、控制线- 数据线:传送读/写数据、状态信息和中断类型号。
- 地址线:传送要访问的
I/O
接口中的寄存器的地址。 - 控制线:传送读/写控制信号,以确认是读寄存器还是写寄存器;还传送中断请求和响应信号、仲裁信号和握手信号。
-
I/O
接口的类型- 按数据传送方式:并行接口、串行接口。
- 按主机访问
I/O
设备的控制方式:程序查询接口、中断接口、DMA
接口。 - 按功能选择的灵活性:可编程接口和不可编程接口。
-
端口与接口不同,端口是指接口电路中可以进行读/写的寄存器。
-
中断处理流程
- 由中断隐指令(硬件自动)完成:
1
关中断。
2
保存断点。
3
中断服务程序寻址。 - 由中断服务程序完成:
4
保存现场和屏蔽字,现场是指用户可见的工作寄存器的内容。
5
开中断。
6
执行中断服务程序。
7
关中断。
8
恢复现场和屏蔽字。
9
开中断、中断返回。 - 现场和断点都不能被中断服务程序破坏。由于现场信息可用指令直接访问,因此通常在中断服务程序中通过指令把它们保存在栈中,即由软件实现;而断点信息由
CPU
在中断响应时自动保存到栈或指定的寄存器中,即由硬件实现。 - 若为单重中断,去掉上述流程的
5
和7
即可。
- 由中断隐指令(硬件自动)完成:
-
向量中断:
CPU
响应中断后,通过识别中断源获得中断类型号,计算出对应中断向量的地址(硬件形成),再根据该地址从中断向量表中取出中断服务程序入口地址,送入PC
。
概念
I/O
设备要通过设备控制器与系统总线相连。系统总线不能直接与
I/O
端口相连。
考点
-
中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存的是程序状态寄存器。
-
每条指令结束后,
CPU
先检查是否有中断请求,没有则继续执行下一条指令。不是所有指令都有中断周期。 -
在
CPU
响应中断时,硬件需要保护的断点包括PC
与PSW
的内容。程序保护现场,硬件保护断点(中断返回地址)和机器状态信息。
通用寄存器属于现场(用户能看到的内容)。 -
在中断处理或子程序调用过程中,一般将返回地址保存在栈或专门寄存器中。
-
在中断发生后,进入中断处理的程序属于操作系统程序。
-
若
CPU
检测到中断请求信号,则一定存在未被屏蔽的中断信号。被屏蔽一定检测不到。
-
隐指令是指指令系统中没有的指令(硬件的一系列自动操作)。
-
中断响应优先级由硬件决定;中断处理优先级可由中断屏蔽字控制,中断屏蔽字一般应当屏蔽自己本身。
-
DMA
采用周期窃取方式时,窃取的时间是存取周期。 -
DMA
请求的优先级高于中断请求(高于非屏蔽、可屏蔽中断)。 -
对中断请求对响应只能发生在每条指令结束时(执行周期后);而对
DMA
请求的响应可以发生在任意一个机器周期结束时(取址、间址、执行周期后均可)。 -
在独立编址方式下,存储单元和
I/O
设备是依靠不同的指令来区分的。独立编址有单独的
I/O
指令。