7.1.1 输入/输出系统
Q: I/O系统由哪两部分构成?
A: I/O 软件和 I/O 硬件。
Q: I/O软件包括哪些?
A: 驱动程序、用户程序、管理程序、升级补丁等。

Q: I/O软件通常采用什么方式实现CPU与I/O设备的信息交换?
A: I/O指令和通道指令。

Q: I/O硬件包括哪些?
A: 外部设备、设备控制器/接口、I/O 总线等。

I/O接口通过总线与主机相连相连
7.1.2 IO 控制方式
Q: 程序查询方式是如何控制I/O设备与主机交换信息的?
A: 由CPU通过程序不断查询I/O设备是否已做好准备,类似于”轮询”的方式。
Q: 程序中断方式何时响应I/O设备?
A: 只在 I/O 设备准备就绪并向 CPU 发出中断请求时才予以响应,CPU无需一直等待。
Q: DMA方式的传输过程是什么?
A: 主存和 I/O 设备之间有一条直接数据通路,当主存和 I/O 设备交换信息时,无须调用中断服务程序,由DMA控制器直接控制数据传输,提高了效率。
Q: 通道方式是如何实现I/O操作的?
A: 在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行 I/O 命令时,只需启动有关通道,通道将执行通道程序,从而完成 I/O 操作,进一步提高了效率。
Q: 程序查询方式和程序中断方式主要用于什么类型的外部设备?
A: 数据传输速率较低的外部设备,例如:键盘、鼠标等。
Q: DMA方式和通道方式主要用于什么类型的外部设备?
A: 数据传输速率较高的外部设备,例如:硬盘、网卡等。
7.1.3 外部设备
Q: 显示器的显示存储器(VRAM)指的是什么?
A: 也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中,用于存储屏幕上显示的图像数据。
Q: VRAM容量的计算公式是什么?
A: VRAM 容量 = 分辨率 × 灰度级位数,例如:分辨率为1024x768,灰度级为24位(3字节),则VRAM容量为1024x768x3=2359296字节,约为2.25MB。
Q: VRAM带宽的计算公式是什么?
A: VRAM 带宽 = 分辨率 × 灰度级位数 × 帧频,例如:分辨率为1024x768,灰度级为24位,帧频为60Hz,则VRAM带宽为1024x768x3x60=141557760字节/秒,约为135MB/s。
中断与子程序知识点
中断响应机制
Q: 在开中断情况下,CPU检测到中断请求信号后,什么情况下会立即响应?
A: 在开中断情况下,CPU检测到中断请求信号后,只有该中断的优先级高于当前正在处理的中断(如果有的话)时才会立即响应。
Q: CPU在什么时候采样中断信号?
A: CPU总在每条指令执行结束时采样中断信号,就像在每个路口检查是否有车辆需要通行一样。
程序中断与调用子程序的区别
Q: 程序中断和调用子程序在发生时间、服务对象、处理过程和嵌套级数上分别有哪些区别?
A: - 发生时间:
- 程序中断的发生时间是随机的,由硬件电路产生,就像一个突发事件;
- 调用子程序的发生时间是已知的,由程序指令调用,就像一个计划好的约会。
- 服务对象:
- 程序中断与主程序无关,是平行关系,就像两个独立的个体;
- 调用子程序为主程序服务,是主从关系,就像仆人服务主人。
- 处理过程:
- 程序中断的处理过程是软硬件结合的,需要CPU和中断控制器的参与,就像一个团队合作完成任务;
- 调用子程序的处理过程是纯软件处理的,只需要CPU参与,就像一个人独立完成任务。
- 嵌套级数:
- 程序中断的嵌套级数由中断优先级决定,优先级高的可以打断优先级低的,就像领导可以打断下属的工作;
- 调用子程序的嵌套级数受内存堆栈大小限制,就像一个容器的容量有限。
中断处理过程
Q: 中断处理过程包括哪三个阶段?
A: 中断处理过程包括中断响应、中断处理和中断返回三个阶段,可以把它想象成处理一个突发事件的三个步骤:接警、出警、收队。
Q: 中断响应阶段主要做什么?
A: 中断响应阶段主要完成中断源的识别和中断现场的保存,就像接警后需要确定事件类型和保留现场。
Q: 中断处理阶段主要做什么?
A: 中断处理阶段主要执行中断服务程序,完成对中断事件的处理,就像出警后需要处理具体事件。
Q: 中断返回阶段主要做什么?
A: 中断返回阶段主要恢复中断现场,并返回到被中断程序继续执行,就像收队后需要恢复现场秩序。
中断现场的保存和恢复
Q: 中断现场包括哪些内容?
A: 中断现场包括程序计数器 (PC)、状态寄存器 (PSW) 和通用寄存器等,可以理解为CPU在处理中断前的所有工作状态,就像案发现场的照片和记录。
Q: 为什么需要保存中断现场?
A: 保存中断现场是为了在中断处理结束后能够恢复到中断前的状态,保证程序的正常执行,就像处理完突发事件后需要恢复现场秩序。
Q: 如何保存和恢复中断现场?
A: 保存中断现场通常是将中断现场中的内容保存到堆栈中,恢复中断现场则是从堆栈中恢复中断现场中的内容,就像把现场照片和记录保存起来,需要的时候再拿出来查看。
向量中断、中断向量、向量地址
Q:向量中断、中断向量、向量地址三个概念是什么关系?
A:- 中断向量: 每个中断源都有对应的处理程序, 这个处理程序称为中断服务程序, 其入口地址称为中断向量。
所有中断的中断服务程序入口地址构成一个表, 称为中断向量表; 也有的机器把中断服务程序入口的跳转指令构成一张表, 称为中断向量跳转表。
- 向量地址: 中断向量表或中断向量跳转表中每个表项所在的内存地址或表项的索引值, 称为向量地址或中断类型号。
- 向量中断: 指一种识别中断源的技术或方式。识别中断源的目的是找到中断源对应的中断服务程序的入口地址的地址, 即获得向量地址。