计算机组成原理考研复试复习-5
第七部分:IO系统
1,IO接口是什么?
IO接口是主机与外设的交界面,实现主机与外设的信息交换,为一片芯片集成于主板之上。
2,IO接口的作用是什么?(按执行顺序)
(1)进行地址译码和设备选择
(2)传送控制命令和状态信息
(3)由于主机与外设之间的速度差异,IO接口具有缓冲作用。
(4)信号格式转换(外设:串行,内部:并行)
3,IO接口的类型?
按照数据传送方式:并行接口和串行接口
访问IO设备的控制方式分为:程序查询接口、中断接口、DMA接口
按照功能选择的灵活性可分为:可编程接口和不可编程接口。
4,IO接口的结构
(1)IO端口:
接口中直接可以被CPU访问的寄存器,包括数据端口(数据缓冲寄存器)、状态/控制寄存器(状态信息可控制信息不在同一时间传送所以可以共用同一个寄存器)
(2)IO端口的编址方式:
1⃣️、统一编址:
与内存使用连续的存储空间,IO端口看作普通的存储单元、可以使用统一的输入输出指令,CPU访问IO更加方便,但是占用了主存的地址空间使主存的存储空间变小。
2⃣️、独立编制:
与内存的存储空间独立,不占用内存的地址空间,需要专门的IO指令来访问IO端口,增加了控制的复杂性。
5,IO接口如何与主机交换信息?
三种IO方式:
(1)查询方式
在IO设备工作时,CPU处于忙等状态,即一直循环查询IO接口的数据端口,看数据是否已经准备好了,在这种情况下,IO设备与CPU只能串行工作,效率低。
(数据流向:IO设备->CPU->内存、传送的数据的单位:一个字)
(2)中断驱动方式
在这种情况下IO设备与CPU并行工作,在IO设备准备好数据之后,主动打断CPU的运行
(数据流向:IO设备->CPU->内存,传送的数据单位:一个字)
中断处理过程(可以实现多重中断的情况下)?
关中断
保存断点:将PC的值压入栈中
中断服务程序寻址:硬件产生向量地址(中断类型号)、再由中断向量地址找到入口地址
保存现场和屏蔽字
开中断(接受其他中断)
执行中断服务程序
关中断
恢复现场和屏蔽字
开中断
中断返回
注:前三个步骤由硬件完成,所以又称为中断隐指令
如何实现多重中断?
设置中断处理优先级,每一个中断源都有一个屏蔽字,通过屏蔽字来决定中断之间的优先处理次序,使优先级高的中断可以打断优先级低的中断。并且中断屏蔽字是可以动态改变的。
当多个设备发出中断请求时应该先处理哪一个?
设置中断响应优先级,通过硬件排队电路来决定顺序。
(3)DMA(Direct Memory Access)方式:
内存与DMA接口之间有一条直接的数据通路,方便DMA访问内存,DMA控制器直接对总线进行控制,数据交换不需要进过CPU,直接在DMA与主存之间进行,进一步解放CPU,CPU只需要在传送1个或多个数据块的开始或结束的时候才进行干预,在一批数据结束之后DMA控制器发出中断。
DMA的对总线使用权大于CPU,对CPU的存取周期进行挪用。
(数据流向:IO设备->内存)
(4)通道方式
通道是一种小型的处理机,在使用通道之前,cpu将相应的通道程序存入内存中,然后向通道发出指令,指明了通道程序所在的位置,以及进行操作的IO设备。
可以对一组数据进行读写,完成之后向CPU发出中断请求信号。
IO指令和通道指令的区别?
IO指令由CPU执行,通道指令由通道执行,在有通道的CPU中,IO指令不直接控制数据的传送。
6,外部设备
(1)显存:(显卡的存储容量)
最小容量(存储一帧)=分辨率✖️灰度级位数(色彩位数)
(2)外存(磁盘)
磁盘的平均存储时间 = 寻道时间+旋转延迟+传输时间