计算机组成原理复习重点笔记
第5章 输入输出系统
5.1 概述
- 外部设备:包括输入/输出设备及通过输入/输出接口才能访问的外存储设备。
- 接口:外设与主机之间数据传输时完成速度匹配、格式转换等工作的逻辑部件。
- 输入设备:键盘鼠标
- 输出设备:显示器打印机
- 外存设备:除寄存器、缓存、内存以外的辅助存储器。
5.1.1 输入输出系统的发展概况
- 程序查询方式
CPU 和 I/O设备串行工作
- DMA 阶段(中断方式,DMA 方式)
CPU 和 I/O设备并行 工作
- 具有通道结构的阶段
- 具有 I/O 处理机的阶段
- 程序查询方式
- CPU通过程序不断查询I/O设备是否做好准备,直到准备好才传送数据。
- CPU 和 I/O 串行工作,查询期间CPU踏步等待,效率低。
- 程序中断方式
- CPU启动I/O设备后,不查询设备状态,继续执行自身程序,设备就绪后向CPU发出中断请求,CPU予以响应,执行中断服务程序,完成数据交换。
程序中断方式流程
- DMA 方式
- 主存和 I/O 之间有一条直接数据通道,不中断现行程序,可直接传送数据。
- 当CPU和DMA同时访存时,周期挪用(周期窃取)。
- CPU 和 I/O 并行工作。
5.2 外部设备
5.2.1 概述
5.2.2 输入设备
5.2.3 输出设备
5.2.4 其它
5.2.5 多媒体设备
5.3 I/O接口
5.3.1 I/O接口的功能
为了实现主机与外设之间的匹配。
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串-并、A/D、电平转换
- 传送控制命令
- 反映设备的状态(“忙”、“就绪” )
5.3.2 I/O 接口的基本组成
5.4 程序查询方式(自学)
5.5 程序中断方式
5.5.1 中断的概念
5.5.2 I/O 中断的产生
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,转去对这些异常情况或特殊请求进行处理,处理完毕后,CPU自动返回到现行程序的断点处,继续执行原程序。
- 基本概念
- 中断:CPU中止正在执行的程序,转去处理随机提出的请求,处理完,再返回刚才的程序继续执行,这个过程叫中断。
- 中断处理是通过具体执行中断服务程序来对中断源进行处理的过程。
- 中断系统:响应和处理各种中断的软硬件总体。
- 中断源:引起中断的各种事件。
- 中断请求:中断源向中断系统发出请求中断的申请。
- 中断响应:允许CPU 中止正在执行的程序,转去处理引起中断的各种事件。
- 外中断和内中断
- 外中断:是指来自CPU和内存以外的部件引起的中断,如I/O设备发出的I/O中断、外部信号中断(如按下Esc)、各种定时器引起的时钟中断。
- 內中断:是指来自CPU和内存内部引起的中断,主要是程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算数运算溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中时间片中断、用户态到管态的切换等。
- 硬件中断:通过外部硬件产生的中断,属于外中断。
- 软件中断:通过指令编程实现的中断,属于內中断。
- 中断判优
- 一般的高性能系统,系统的中断源个数可能多达数十甚至数百个,为简化硬件的复杂度,宜将性质接近的中断源分成类。
- 不同类的中断,就要根据中断类的性质、紧迫性、全局性、重要性及软件处理的方便性等,再将它们分成不同的中断响应优先级,让级别高的中断类能优先得到响应。
- 中断判优由中断排队器实现。
- 中断隐指令
CPU响应中断请求后,经过某些操作,转去执行中断服务程序。这些操作优硬件直接完成,称为中断隐指令。这些操作包括:
(1)关中断。为了保证本次中断响应过程不受干扰,CPU进入中断周期后,立即关中断。
(2)保存断点。将程序计数器的内容压栈保存。
(3)获取中断服务程序入口地址,传给程序计数器,引出中断服务程序。
- 中断向量
每个中断服务程序都有一个入口地址,即中断向量。
系统中将所有的中断向量集中存放到某个存储区域,称为中断向量表。
CPU通过查表获取中断向量。
- 中断处理过程
(1)关中断。确保保护现场顺利进行。
(2)保护断点。保证中断处理完能够返回,继续执行原程序。
(3)引出中断服务程序。
(4)保护现场。程序状态字、中断屏蔽寄存器、CPU中某些寄存器的内容。
(5)开中断。允许更高级的中断请求得到响应,中断嵌套。
(6)执行中断服务程序。
(7)关中断。
(8)恢复现场。
(9)开中断,返回。
- 中断嵌套
- 中断嵌套指的是新的中断请求中断了CPU正在执行的中断处理程序。
- 中断嵌套的原则:正在执行的中断处理程序,应当屏蔽与之同级或比之低级的中断请求。
- 用户程序的级别最低,任何中断请求都能中断用户程序的运行;
- 中断处理程序结束后,启用“从哪里来回那里去”机制。
- 通过中断屏蔽技术设置中断处理次序
为了能动态地调节中断处理程序实际执行完的次序,即中断处理次序,在中断级请求源与中断响应排队器的入口端之间又加设了一个中断级屏蔽位寄存器和相应的控制门电路硬件。
中断级屏蔽字寄存器中的每一个中断级屏蔽位可以控制让相应等级的中断请求能否进入中断响应排队器去参加排队。只要能进入中断响应排队器的中断请求,总是让其中级别相对高的优先得到响应。
- 中断屏蔽位举例
程序中断和子程序的区别:
(1) 发生时刻。调用子程序的时间是已知的,有程序员实现安排的;发生中断的时刻是随机的,有系统工作环境决定。
(2)和被打断的程序关系不同,主程序和子程序是主从关系,被中断的程序和中断服务程序可能没有任何关系;
(3)进入方式不同,子程序通过执行CALL指令进入,完全属于软件行为,中断服务程序通过执行中断隐指令进入,软硬件结合;
(4)程序中断比子程序调用更复杂。
5.6 DMA方式
5.6.1 DMA
程序中断方式由于要切换程序,不适合高速外设大批量数据传输,因此,在计算机中设置了DMA方式,在外设和主存之间直接传输数据。
- DMA(Direct Menory Access,直接存储器访问)DMA占用总线,在DMAC控制下,存储器和输入输出设备之间直接传送数据,不需要CPU运行指令或程序来干预。
- DMA硬件组织
DMA方式依靠硬件来完成数据传送,其硬件比程序查询和程序中断方式要复杂。现在的计算机将DMA控制器和DMA接口分离。
DMA控制器负责申请、接管总线的控制权,发出传送命令和主存地址,控制DMA传送的开始与终止,可以通用。
DMA接口实现与设备的连接和数据缓冲,反映设备的特定要求。
- DMA的传送方式
数据传输的基本单位是数据块。每次DMA请求被批准后,CPU让出一个或几个总线周期来传送数据,也叫周期挪用、周期窃取。
DMA 申请访问主存时,有三种可能:
- CPU 此时不访存,那么DMA获得总线使用权。
- CPU 正在访存,当前存储周期结束后, DMA获得总线使用权。
- CPU 与 DMA 同时请求访存,DMA优先访问。
5.6.2 DMA 接口组成
5.6.3 DMA 的工作过程
数据传送过程(输入)
DMA 方式与程序中断方式的比较
5.6.4 DMA 接口的类型
- 选择型
- 多路型
5.7 通道方式
1、通道的分类及相应的数据宽度
在通道的数据传送期内,根据信息传送所采取的方式不同,通道又可被分为字节多路、数组多路和选择3类。
设通道所连接的p台设备均已启动,且在数据传送期内,选择使用当前通道总线来传送数据的设备所需要的时间为TS,通道传送一个字节数据所需要的时间为TD,则每台设备都要传送n个字节数据时的工作时间示意图如下所示:
字节多路通道
数组多路通道
① 选中一台设备后,设备只传送k字节成组数据,然后释放总线;
② 各设备轮流传送;
③ 设备要传送n字节数据,需经[n/k]次申请使用通道总线;
④ t=p·(Ts+kTD)·[n/k]
⑤ 适用于连接多台高速设备,如磁盘,k=512B,一般地k<n;
⑥ 通道的数据宽度为k字节。
选择通道
① 选中一台设备后,设备独占通道,传送外所有数据后释放才总线;
② 各设备轮流传送;
③ 设备要传送n字节数据,只需1次申请使用通道总线;
④ t=p·(Ts+nTD)
⑤ 适用于连接优先级高的高速设备;
⑥ 通道的数据宽度为n字节。
2. 通道流量设计
5.8 I/O处理机
1 通道处理机的局限性
通道处理机实际上并不能看成是独立的处理机,原因如下:
- 通道指令系统简单;
- 没有大容量的存储器;
- 每次I/O操作前后需中断CPU的现行程序,调用OS的管理程序为I/O操作服务;
- 当外围设备或通道处理机出现故障时,须通过中断方式请求CPU来处理;
- 对所传数据的格式转换、码制转换、正确性校验等工作仍需CPU完成;
- 文件管理、设备管理等操作系统的工作需要CPU来实现;
外围处理机
2 外围处理机的功能
外围处理机除了能够完成通道处理机的全部功能外,还能完成如下功能:
- 码制转换;
- 数据校验和校正;
- 故障处理;
- 文件管理;
- 诊断和显示外围设备的状态;
- 处理人机对话;
- 连接网络或远程终端。
编辑于2022/12/15;
距离考试还有一周+不满一天。