资源描述
西工大——软微——版权琮琤所有
第五章 输入输出系统
ღ5-1名词术语:
输入设备:外界信息转换成计算机能是别的信息
输出设备:计算机01信息形式转换为设备或人能接收的信息
外围设备:输入设备,输出设备统称外围设备
输入/输出模块
ღ5-2设备与CPU连接方式:
① 直接连接:主存↔CPU ↔I/O
② 总线连接:P157图5.2优点:屏蔽设备复杂性;关键:I/O接口
ღ5-3I/O基本方法
① 无条件传送:慢速设备
② 接口逻辑:功能:连接器,转换器。
I/O接口功能:设备选择,数据缓冲,格式转换,电平转换,传送控制命令,反馈设备状态
ღ5-4 I/O接口组成:数据寄存器,状态/控制寄存器,设备选择I/O控制 三部分
ღ5-5设备编址解决的问题:CPU如何找到指定的设备。设备编址=I/O接口编址
设备地址=I/O地址=I/O接口地址=I/O端口地址=端口
实际上是I/O接口中寄存器的地址
ღ5-6编址方法:存储器映射I/O, 端口寻址
对I/O地址码的编址,两种方式:统一编址,不统一编址
ღ5-7I/O基本方法:
①编程I/O:程序查询,条件查询
I/O由CPU直接完成,外设与CPU完全串行工作,最简单,最经济
②中断驱动I/O
编程I/O存在的问题:高速CPU与低速设备之间的矛盾
©中断:设备主动通知CPU进行数据交换的过程考 名词解释
,中断是随机的
计算机在执行程序过程中,当出现异常情况或特殊请求时,计算机停止现在程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序
中断源:中断产生的来源,复位,时钟中断,键盘中断,页面失效中断
中断系统:实现中断的软硬件系统
中断处理:
主程序:被中断的程序
中断服务子程序:处理中断事物的程序
ღ5-8I/O设备与主机信息传送的控制方式
① 程序查询方式:CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。
只要一启动I/O设备,CPU便不断查询I/O设备的准备情况,从而终止了原程序的执行。CPU在反复查询过程中,犹如就地”踏步”。另一方面,I/O设备准备就绪后,CPU要一个字一个字地从I/O设备取出,经CPU送至主存,此刻CPU也不能执行原程序,这种方式使CPU和I/O设备出去串行工作状态,CPU的工作效率不高。
② 程序中断方式:CPU只有当I/O设备准备就绪并向CPU发出中断请求后才予以响应。
书P163图5.9,5.11
中断好处:实时处理,并行处理,故障处理
ღ5-9接口:可以看作是两个系统或部件之间的交接部分,既可以是两种硬件设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。
I/O接口通常指主机与I/O设备之间设置的一个硬件电路及相应的软件控制。
ღ5-10I/O总线包括数据线,设备选择线,命令线和状态线。
ღ5-11接口功能:选址功能,传送命令功能,传送数据功能,反映I/O设备工作状态的功能
ღ5-12I/O接口分类:
按数据传送方式:并行,串行
按功能选择的灵活性:可编程接口,不可编程接口
按通用性:通用接口,专用接口
按数据传送的控制方式:程序型接口(慢速设备),DMA型接口(高速设备)
ღ5-13 书P191图
ღ5-14 CPU一旦响应了I/O中断,就要暂停现行程序,转去执行该设备的中断服务程序。不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须去找到这个入口地址。
ღ5-15 书P198 图5.41
ღ5-16中断服务程序流程:保护现场,中断服务,恢复现场,中断返回
硬件:①响应中断,②关中断,③保护断点,④向量指向PC,转设备服务
ღ©5-17书P201 图5.43考
ღ5-18中断类型:
① 单重中断,多重中断
② 单线中断,多线中断
③ ©向量中断,非向量中断考
中断向量=中断服务例程的起始地址
向量地址=存储中断向量的存储单元地址
中断向量表:通常是系统内存的第0页
ღ5-19DMA方式
目的:减少大批量数据传送时CPU的开销
方法:硬件实现DMA,采用专用部件生成访存地址并控制访存过程
特点:数据交换不经过CPU
DMAC:DMA控制器,组成:
DMA传送:DMA时,CPU对总线的使用权临时禁止
① 预处理:初始化DMAC:
设置数据传送方向(读/写)
设置I/O接口地址
设置存储器起始地址
设置传送的数据量(计数器置初值)
② 数据传送:完成一批数据的传送,CPU不参与
③ 后处理:DMA结束后通过中断方式请求CPU处理
问题:CPU与设备访存冲突:设备优先(设备无足够存储资源,不及时处理会丢失)
方法:①停止CPU访问。
优点:控制简单
缺点:CPU,内存利用率低(可能同时空闲)
应用:高速设备
②透明方式(交替)
优点:不需总线控制权的申请建立和归还,总线控制权的转移很快,高效
缺点:控制复杂
应用:CPU工作周期比存储周期长的情况
③周期挪用
方法:DMA直接访存,访存冲突解释
优点:既实现了I/O,较好发挥了CPU内存的效率
缺点:单字传送,每次申请建立归还总线使用权,因而速度慢
应用:慢速设备
DMA特点:CPU对总线控制临时被禁止
DMAC接管总线控制权
CPU前后处理,在DMA数据交换的过程中CPU可继续运行程序(并行)
与I/O设备在更大程度上并行工作,效率更高
适合高速、批量数据传送,eg.视频显示刷新,磁盘存储系统读写,存储器到存储器传输
DMA响应时机
CPU工作最小时间单位:CPU周期,不同类型时间长度相同
DMA可以中断指令的执行(无响应条件,当前机器周期结束);中断不可以(有响应条件,开中断)
DMA VS. 中断
① CPU控制:数据交换是否经过CPU
② 响应时机:机器周期 开中断
③ 适用情况:大数据量批量
DMA接口类型:选择型:高速,每次逻辑只连一个设备,独占带宽(物理上连接多个)
多路型:低速,物理、逻辑都是多个,1个设备不能独占接口
๑5.1 I/O有哪些编址方式?各有何特点?
解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址;
特点: I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。
๑5.10什么是I/O接口?它与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?
I/O接口一般指CPU和I/O设备间的连接部件;
I/O端口一般指I/O接口中的各种寄存器。为了便于程序对这些寄存器进行访问,通常给每个寄存器分配一个地址编号,这种编号被称为I/O端口地址,相应的寄存器也叫作I/O端口。
I/O接口和I/O端口是两个不同的概念。一个接口中往往包含若干个端口,因此接口地址往往包含有若干个端口地址。
由于I/O设备的物理结构和工作速率一般与主机差异很大,无法直接相连,因此通常通过I/O接口进行连接。
I/O接口分类方法很多,主要有:
按数据传送方式分,有并行接口和串行接口两种;
按数据传送的控制方式分,有程序控制接口/程序中断接口/DMA接口三种。
๑5.13说明中断向量地址和入口地址的区别和联系。
中断向量地址和入口地址的区别:
向量地址是硬件电路(向量编码器)产生的中断源的内存中断向量表表项地址编号,中断入口地址是中断服务程序首址。
中断向量地址和入口地址的联系:
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JMP指令;主存中设向量地址表。参考8.4.3)
๑5.14在什么条件下,I/O设备可以向CPU提出中断请求?
解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0(MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。
๑5.15什么是中断允许触发器?它有何作用?
解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。
๑5.16在什么条件和什么时间,CPU可以响应I/O的中断请求?
(1)CPU响应I/O设备提出中断请求的条件是:必须满足CPU中的允许中断触发器EINT为“1”;I/O本身有请求又未被屏蔽;经排队后又被选中。
(2)CPU响应中断的时间一定是在每条指令执行阶段的结束时刻。
CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。
๑5.20试比较单重中断和多重中断服务程序的处理流程,说明他们不同的原因。
๑5.21中断向量通过什么总线送至什么地方?为什么?
๑5.22程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?答:程序查询方式通过“程序”传送数据时,程序对I/O的控制包括了I/O准备和I/O传送两段时间。由于I/O的工作速度比CPU低得多,因此程序中要反复询问I/O的状态,造成“踏步等待”,严重浪费了CPU的工作时间。
而程序中断方式虽然也是通过“程序”传送数据,但程序仅对I/O传送阶段进行控制,I/O准备阶段不需要CPU查询。故CPU此时照样可以运行现行程序,与I/O并行工作,大大提高了CPU的工作效率。
๑5.26什么是多重中断?实现多重中断的必要条件是什么?
多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。
- 5 -
展开阅读全文