408第二轮复习记录 计算机组成原理(第七章 输入输出系统)(输入输出)
I/O 接口
I/O接口是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换
I/O接口的功能
- 进行地址译码和设备选择
- 实现主机和外设的通信联络控制
- 实现数据缓冲
- 信号格式的转换
- 传送控制命令和状态信息
I/O接口的基本结构
I/O总线在主机通过I/O总线与内存、CPU相连,数据缓冲寄存器用与暂存与CPU或内存之间传送的数据信息,状态寄存器用于记录接口和设备的状态信息,控制寄存器用来保存CPU对外设的控制信息。状态寄存器和控制寄存器在方向上相反,在访问时间上错开,因此将他们合二为一。
I/O接口的数据线传送的是读/写数据、状态信息、控制信息和中断类型号。地址线传送的是要访问I/O接口的寄存器的地址,控制线传送的是读/写控制信号来确认是读寄存器还是写寄存器,此外控制线传送的是读写控制信号和响应信号、仲裁信号和握手信号。
I/O接口中的I/O控制逻辑还要对控制寄存器的命令字进行译码,并将译码得到的控制信号通过外设控制逻辑送到外设,同时将数据发送到外设或从外设接收数据到数据缓冲器
I/O接口的类型
- 按数据传送方式:并行接口和串行接口
- 按主机访问I/O设备的控制方式,程序查询接口、中断接口、DMA接口
- 按功能选择的灵活性,可编程接口和不可编程接口
I/O端口及其编址
I/O端口是指I/O接口电路可被CPU直接访问的寄存器,I/O端口要想被CPU访问就必须对各个端口进行编址,每个端口进行编址,而对I/O端口的编址方式有与存储器独立编址和统一编址两种方式
独立编址
独立编址对所有I/O端口单独编址。I/O端口的地址空间与主存地址空间是两个独立的地址空间因此需要输入输出指令
统一编址
统一编址也称存储器映射方式,是指把主存地址空间分出一部分给I/O端口进行编址,I/O端口和主存单元在统一地址空间的不同分段
错题回顾
- 10 磁盘驱动器向盘片磁道书记录数据时采用串行方式写入
I/O方式
程序查询方式
信息交换的控制直接由CPU执行程序实现。程序查询方式设置一个数据缓冲器和一个设备状态器
程序查询方式的特点
- CPU执行初始化程序,并预设置传送装置
- 向I/O接口发出命令字,启动I/O设备
- 从外设接口读取状态信息
- CPU周期或持续的查询设备状态,直到外设准备就绪
- 传送一次数据
- 修改地址和计数器参数
- 判断传送是否结束,并未结束转到第3步,直到计数器为0
根据查询方式的不同,程序查询方式可分为如下两类:
- 独占查询:一旦设备被启动,CPU就一直持续查询接口状态
- 定时查询:CPU周期查询接口状态,每次等待条件满足才进行一个数据的传送
程序中断方式
工作流程
- 中断请求:中断源是请求CPU的设备或事件,一台计算机允许有多个中断源,每个中断源向CPU发出中断请求是随机的,为记录中断事件不同的中断源,中断系统需对每个中断源设置中断请求标记触发器
可屏蔽中断和不可屏蔽中断
INTR线发出的是可屏蔽中断,NMI线发出的不可屏蔽中断。可屏中断的优先级最低,在关中断中不被响应,不可屏蔽中断被用于处理紧急和重要的事件 - 中断响应判优:中断响应优先级是指CPU响应中断请求的先后顺序,通过硬件排队器实现,不可屏蔽中断 > 内部异常 > 可屏蔽中断;在内部异常中,硬件故障> 软件中断 ;DMA中断设备 > I/O设备的中断请求;在I/O传送类请求中断中,高速设备> 低速设备;输入 > 输出
- CPU响应的条件:1.中断源有中断请求 2. CPU允许中断以及开中断 3.一条指令执行完毕
- 中断响应过程
- 关中断:CPU响应中断后,首先要保护程序的断点和信息,在保护断点和现场中,CPU不能响应更高级中断源的中断请求
- 保存断点:为保证中断程序执行完后能正确的返回原来的程序,必须将原程序的断点保存在栈中或特定寄存器中,异常和中断的差别,异常指令通常并没有执行成功,异常处理后重新执行,所以其断点式当前指令的地址,中断的断点式下一条指令的地址
- 引出中断服务程序:识别中断源,将对应的服务程序入口送入PC。有两个方式识别中断源:硬件向量法和软件查询法
- 中断向量:中断识别分为向量中断和非向量中断两类,每个中断源都有一个唯一的类型号,每个中断类型号对应一个中断服务程序,每个中断服务程序都有一个入口地址,即中断向量,CPU找到入口地址。把系统中全部中断向量集中存放到存储器的某个区域内,这个存放中断向量的存储区就被称为中断向量表
- 中断处理过程
- 关中断
- 保存断点
- 中断服务程序寻址
- 保存现场和屏蔽字
- 开中断
- 执行中断程序
- 关中断
- 恢复现场和屏蔽字
- 开中断
- 中断返回
多重中断和中断屏蔽技术
CPU具备多重中断的功能,必须满足下列条件
- 在中断服务程序中提前设置开中断指令
- 优先级高的中断源有权中断优先级低的中断源
中断优先级是指多重中断的实际优先级处理次序,可以利用中断屏蔽技术动态调整,从而可以灵活地调整中断服务程序的优先级,使中断处理更加灵活,中断源有一个屏蔽触发器(MASK)1表示屏蔽中断源的请求,0表示可以正常请求,所有屏蔽触发器组合在一起构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
DMA方式
DMA方式是一种完全由硬件进行成组信息传送的控制方式,它具有程序中断的优点,CPU与外设并行工作。DMA在外设与内存开辟了一条“直接数据通路”
DMA方式的特点
DMA方法具有下列特点:
- 它使主存与CPU的固定联系脱钩,主存即可被CPU访问又可被外设访问
- 在数据块传送时、主存地址的确定、传送数据的计数都由硬件电路实现
- 主存中要开辟专用缓冲区,以及时提供和接收外设的数据
- DMA传送速度快,CPU和外设并行工作,提高了系统效率
- DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理
DMA的组成
在DMA方式中,对数据传送过程进行控制的硬件称为DMA控制器。当I/O设备需要进行数据传送时,通过DMA控制器向CPU提出DMA传送请求,CPU响应之后让出系统总线,由DMA控制器接管总线进行数据传送
- 接受外设发出的DMA请求,并向CPU发出总线请求
- CPU响应并发出总线响应信号,DMA接管总线控制权,进入DMA操作周期
- 确定传送数据的主存的启始地址以及长度,并自动修改主存地址寄存器和传送长度计数
- 规定数据在主存和外设间的传送方向,发出读/写控制信息,执行数据传送操作
- 向CPU报告DMA操作结束
- 主存地址计数器:存放要交换数据的主存地址
- 传送长度计数器:记录传送数据的总长度
- 数据缓冲寄存器:暂存每次传送的数据
- DMA请求触发器:当I/O设备准备好后,发出控制信号,使DMA请求触发器位置
- “控制/状态”逻辑:用于指定传送方向,修改传送参数,并对DMA请求信号、CPU响应信号进行协调和同步
- 中断机构:当一批数据传送完毕后触发中断机构,并向CPU提出中断请求
DMA的传送方式
- 停止CPU访存
当I/O设备有DMA请求时,DMA接口向CPU发出停止信号,使CPU放弃总线控制权,停止访问主存,直到DMA传送一块数据结束 - 周期挪用
I/O访存的优先级高于CPU访存,因此由I/O设备挪用一个存取周期,传送完一个存取周期,传送完一个数据后立即释放总线。它是一种单字传送方式。 - DMA与CPU交替访存
将CPU的工作周期分成两个时间片,一个给CPU访存,另一个给DMA访存
错题回顾
- 5 中断返回指令与无条件返回指令不同的中断返回指令需要不仅恢复PC,而且将CPU所有寄存器都恢复到中断前状态
- 6 只有具有DMA接口的设备才能产生DMA请求
- 10 用户程序需要输入/输出时,需要调用操作系统提供的接口,此时会使得访管中断,系统由用户态转为核心态
- 26 机器周期等于存取周期。通常以存取周期作为基准时间,即内存中读取一个指令字的 最短时间作为机器周期。
- 27 DMA请求的是总线的使用权,因此CPU对DMA请求的响应实际是一个总线周期结束时,在流水线CPU中流水线的长度以最复杂的操作所花的时间,因此通常可以认为总线周期、存取周期、机器周期、和流水线长度