第七章 输入/输出系统
【复习提示】
I/O方式是本章的重点和难点,每年不仅会以选择题的形式考查基本概念和原理,而且可能会以综合题的形式考査,特别是各种IO方式效率的相关计算,中断方式的各种原理、特点、处理过程、中断屏蔽,DMA方式的特点、传输过程、与中断方式的区别等。
在学习本章时,请读者思考以下问题
- 1)IO设备有哪些编址方式?各有何特点?
- 2)CPU响应中断应具备哪些条件?
请读者在学习本章的过程中寻找答案,本章末尾会给出参考答案。
【复习提示】
I/O方式是本章的重点和难点,每年不仅会以选择题的形式考査基本概念和原理,而且可能会以综合题的形式考査,特别是各种IO方式效率的相关计算,中断方式的各种原理、特点、处理过程、中断屏蔽,DMA方式的特点、传输过程、与中断方式的区别等。
在学习本章时,请读者思考以下问题:
- 1)I/O设备有哪些编址方式?各有何特点?
- 2)CPU响应中断应具备哪些条件?
请读者在学习本章的过程中寻找答案,本章末尾会给出参考答案。
7.1 I/O系统基本概念
7.1.1 输入/输出系统
输入、输出是以主机为中心谈论的!输入、输出设备都属于外部设备
7.1.2 I/O控制方式
7.1.4 解析
- I/O设备不可能直接与主板总线相连,它总是通过设备控制器来相连的
- I/O指令是指令系统的一部分,是机器指令的一类,但其为了反映与I/O设备交互的特点,格式和其他通用指令相比有所不同。
- 通道程序存放在主存而非通道中,由通道从主存中取出并执行。通道程序由通道执行,且只能在具有通道的I/O系统中执行
7.2 外部设备
- 外部设备
外部设备也称外围设备,是除了主机以外的、能直接或间接与计算机交换信息的装置。
7.2.1 输入设备
用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
7.2.2 输出设备
用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
打印机从打字原理的角度可以分为:击打式和非击打式!
7.2.3 外存设备
是指除计算机内存及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备。
串行:不能同时写和读!
3.光盘存储器
4.固态硬盘
7.2.5 解析
- 存取一个扇区的平均延迟时间为旋转半周的时间。
- 磁盘存储器的最小读写单位为一个扇区,即磁盘按块存取。
7.3 I/O接口
7.4 I/O方式
7.4.2 程序中断方式
7.4.3 DMA方式
7.5 本章开头提出的问题回答
1)I/O设备有哪些编址方式?各有何特点?
1)I/O设备有哪些编址方式?各有何特点?
统一编址和独立编址。统一编址是在主存地址中划出一定的范围作为I/O地址,以便通过访存指令即可实现对I/O的访问,但主存的容量相应减少。独立编址是指IO地址和主存是分开的,I/O地址不占主存空间,但访存需专门的I/O指令。
2)CPU响应中断应具备哪些条件?
-
2)CPU响应中断应具备哪些条件?
①在CPU内部设置的中断屏蔽触发器必须是开放的
②外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。
③外设(接ロ)中断允许触发器必须为“1”,这样才能把外设中断请求送至CPU。
具备上述三个条件时,CPU在现行指令结束的最后一个状态周期响应中断。
7.6 常见问题
1.中断响应优先级和中断处理优先级分别指什么?
-
1.中断响应优先级和中断处理优先级分别指什么?
中断响应优先级是由硬件排队线路或中断查询程序的查询顺序决定的,不可动态改变;而中断处理优先级可以由中断屏蔽字来改变,反映的是正在处理的中断是否比新发生的中断的处理优先级低(屏蔽位为“0”,对新中断开放),若是,则中止正在处理的中断,转到新中断去处理,
处理完后再回到刚才被中止的中断继续处理。
2.向量中断、中断向量、向量地址三个概念是什么关系?
-
2.向量中断、中断向量、向量地址三个概念是什么关系?
中断向量:每个中断源都有对应的处理程序,这个处理程序称为中断服务程序,其入口地址称为中断向量。所有中断的中断服务程序入口地址构成一个表,称为中断向量表;也有的机器把中断服务程序入口的跳转指令构成一张表,称为中断向量跳转表。
向量地址:中断向量表或中断向量跳转表中每个表项所在的内存地址或表项的索引值,称为向量地址或中断类型号。
向量中断:指一种识别中断源的技术或方式。识别中断源的目的是找到中断源对应的中断服务程序的入口地址的地址,即获得向量地址。
3.程序中断和调用子程序有何区别?
-
3.程序中断和调用子程序有何区别?
两者的根本区别主要表现在服务时间和服务对象上不一样。
1)调用子程序过程发生的时间是已知的和固定的,即在主程序中的调用指令(CALL)执行时发生主程序调用子程序过程,调用指令所在位置是已知的和固定的。而中断过程发生的时间一般是随机的,CPU在执行某个主程序时收到中断源提出的中断申请,就发生中断过程,而中断申请一般由硬件电路产生,申请提出时间是随机的。也可以说,调用子程序是程序设计者事先安排的,而执行中断服务程序是由系统工作环境随机决定的
2)子程序完全为主程序服务,两者属于主从关系。主程序需要子程序时就去调用子程序,并把调用结果带回主程序继续执行。而中断服务程序与主程序二者一般是无关的,不存在谁为谁服务的问题,两者是平行关系。
3)主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路;而中断处理系统是一个软/硬件结合的系统,需要专门的硬件电路才能完成中断处理的过程
4)子程序嵌套可实现若干级,嵌套的最多级数受计算机内存开辟的堆栈大小限制;而中断嵌套级数主要由中断优先级来决定,一般优先级数不会很大。
从宏观上看,虽然程序中断方式克服了程序査询方式中的CPU“踏步”现象,实现了CPU与I/O并行工作,提高了CPU的资源利用率,但从微观操作分析,CPU在处理中断服务程序时,仍需暂停原程序的正常运行,尤其是当高速I/O设备或辅助存储器频繁地、成批地与主存交换信息时,需要不断打断CPU执行现行程序,而执行中断服务程序。
4.IO指令和通道指令有何区别?
-
4.IO指令和通道指令有何区别?
I/O指令是CPU指令系统的一部分,是CPU用来控制输入/输出操作的指令,由CPU译码后执行。在具有通道结构的机器中,I/O指令不实现I/O数据传送,主要完成启、停I/O设备,査询通道和I/O设备的状态,及控制通道进行其他一些操作等。
通道指令是通道本身的指令,用来执行I/O操作,如读、写、磁带走带及磁盘找道等操作。