计算机系统结构第四章

  • 格式:pps
  • 大小:217.50 KB
  • 文档页数:40

第四章输入输出系统(P208)输入输出系统是计算机系统中实现各种输入输出任务的资源总称。

它包括各种输入输出设备、相关的管理软件等等。

由于输入输出设备的特殊工作性质使其数据吞吐率通常远低于主机,设计输入输出系统就是要建立数据交换的最佳方案,使双方都能高效率地工作。

本章重点是中断优先级管理、通道流量设计。

4.1 I/O原理•定义:在计算机系统中,通常把处理机和主存之外的部分称为I/O系统,它包括I/O设备、I/O接口、I/O 软件等。

•I/O系统能够提供处理机与外部世界进行交往或通信的各种手段。

•外部世界指处理机以外的需要与处理机交换信息的人和物。

I/O系统的特点1.异步性:外围设备相对于处理机通常是异步工作的。

原因:当设备准备好与处理机交往时,要向处理机申请服务。

但处理机申请对于处理机来说,这个时间一般是随意的,两次申请时间之间可能经过很长时间,这就造成输入输出相对于处理机的异步性和时间上的任意性。

2.实时性:当外围设备与处理机交往时,由于设备的类型不同,他们的工作步调是不相同的,处理机必须按照不同设备所要求传送方式和传输速率不失时机地为设备提供服务,这就要求实时性控制。

处理机为了能够为各种不同类型的设备提供服务,必须具有相配合的工作方式,包括程序控制方式、中断方式、直接存储器方式等。

3.与设备无关性:各种外部设备必须根据其特点和要求选择一种标准接口和处理机进行连接,他们之间的差别必须由设备本身的控制器通过硬件和软件来填补。

这样,处理机本身无须了解外设的具体细节,可以采用统一的硬件和软件对其管理。

I/O系统的组织方式根据各种外围设备的不同特点处理异步性、实时性、与设备无关性的关系,就是I/O系统组织的基本内容。

自治控制:针对异步性。

实际上也就是把外围设备所要完成的功能分散开,即把设备的输入输出功能最大限度地从处理机中分离出,由专门的设备控制器通过它自身的硬件和软件去完成,从而使处理机能够摆脱繁重的输入输出任务。

层次结构:针对实时性。

在外围设备较多时,I/O系统一般采用层次结构来组织。

思想:靠近处理机和主存储器的最高层采用标准的控制功能;中间层是标准接口;外围设备通过设备控制器与标准接口相连接。

分层处理:针对与设备无关性。

根据各种外围设备的不同性质分类进行组织。

按工作速度分类:面向字符的设备和面向数据块的设备。

a)面向字符的设备是指工作速度比较低的机电类设备。

如打字机。

b)面向数据块的设备是指工作速度较高的设备,如磁盘、磁带、光盘。

程序控制I/O方式特点1.何时对何设备进行输入输出操作完全受CPU控制。

2.外围设备与CPU处于异步工作关系。

3.数据的输入输出都要经过CPU。

4.用于连接低速外围设备中断I/O方式定义:当出现来自系统内部,机器内部,甚至处理机本身的任何例外的,或者虽是事先安排的,但出现在程序的什么地方是事先不知道的事件时,CPU暂停现行程序,转去处理,处理完后再继续执行原先的程序。

特点:a)CPU与外围设备能够并行工作。

b)能够处理例外事件。

c)数据的输入和输出都要经过CPU,灵活性好。

d)一般用于连接低速外围设备。

优点:完全克服了程序控制方式中处理机和外围设备之间不能并行的缺点。

DMA的特点1.主存既可被CPU访问,也可被外围设备访问。

2.在外围设备与主存间传送数据不需要执行程序,也不用CPU中的数据寄存器和指令计数器,因此,不需要保护现场和恢复现场,从而使工作速度加快。

3.外围设备和主存间的数据交换过程是要在全硬件控制下完成的,由于它们的传送单位不同,因此,DMA控制器中还要有从字节装配成字和从字拆卸成字节的硬件。

4.在DMA方式开始前要对DMA控制器进行初始化,并启动设备开始工作。

结束后要向CPU申请中断,在中断服务程序中对主存中数据缓冲区进行后处理。

5.在DMA方式中CPU不仅能够与外围设备并行工作,而且整个数据的传送过程不需要CPU干预。

如果主存的频宽足够,外围设备的工作可以不影响CPU运行它自身的程序。

中断系统的软硬件功能分配•主要考虑两个因素:1.中断响应时间:从某一中断源发出中断请求到处理机响应这个中断源的中断请求服务,并开始执行这个中断源的中断请求服务程序所用的这一段时间。

在实时计算机系统中,它是整个计算机系统的一个关键性指标。

2.灵活性:一般情况下,用硬件实现速度快,但灵活性差;但软件正好相反。

这两个要求实际是矛盾的,如果用软件实现的功能多了,灵活性好了,但中断响应时间就必然要增加。

中断响应时间影响中断响应时间的因素主要有4个:1.最长指令执行时间。

在一条指令执行期间,一般不允许被中断。

但在CISC中,有些指令的执行时间很长,甚至无法预测。

为了实现这一点,在处理机中也必须采取相应的措施2.在一条指令执行完成后,处理其他更紧急的任务所用时间。

如:采用周期窃取方式工作的DMA服务请求等。

3.从第一次“关CPU中断”到第一次“开CPU中断”所经历的时间。

在整个中断响应时间中,这一段时间最重要。

如果用硬件来完成,中断响应时间就可以大大缩短。

相反用软件实现会使响应时间很长。

中断系统的软硬件功能分配,主要就是考虑这一段时间用硬件还是用软件来实现。

4.多个中断源同时请求中断服务时,通过软件找到相关的中断源的中断服务程序入口所经历的时间。

以上四部分时间中,1和3 是最重要的。

在中断系统的设计中,主要考虑3部分时间。

4.2 中断优先级管理(P219)本节主要介绍在中断系统过程中软件和硬件的功能分配。

中断源:引起中断的各种事件。

它可以来自系统外部,机器内部,处理机本身。

它也可以是硬件或软件引起的。

以下是中断源的几种类型:1.由外设引起的中断。

2.由处理机产生的中断。

如:算术运算操作溢出,除数为0,非法数据格式等。

3.由存储器产生的中断。

如:非法地址,访问主存超时等。

4.由控制器产生的中断。

如:非法指令,未定义的操作码,堆栈溢出等。

5.由总线产生的中断。

如:I/O总线出错等。

6.实时过程控制产生的中断。

7.实时钟的定时中断。

8.多处理机中,从其他处理机发送来的中断,控制台开关中断等。

9.程序调试中,运行到事先设置的断点时,通过中断进入监控程序,以便调试和监测10.硬件故障中断。

11.电源故障中断。

中断源的分类组织IBM通常将中断源分为6类:1.重新启动中断。

这是为操作员重新启动一个程序用的,一般情况下,处理机不能禁止这种中断。

2.机器检验出错中断。

3.程序性错误引起的中断。

包括指令或数据格式错误等。

4.访问管理程序中断。

当用户程序要调用管理程序时,执行访管指令引起的中断。

5.外部事件中断。

分为两类:一是在没有得到处理机响应时继续保留;二是不响应则不保留。

6.输入输出中断。

用于处理机管理各种外围设备,通道处理机等。

•中断源还可以分为可屏蔽中断和不可屏蔽中断两类。

•可屏蔽中断即一般中断,可以通过软件把它屏蔽。

这类中断指与当前进程无关的中断事件。

•不可屏蔽中断即异常中断,不能通过软件屏蔽它,它一旦申请中断服务,处理机必会响应,否则这些异常的中断请求将会因被屏蔽而丢失,造成程序无法运行或错误运行。

•异常中断分为三类:1.自陷(TRAP)中断,它的中断请求在一些特殊指令的末尾,经中断服务程序处理后返回到执行程序的下一条指令继续执行。

2.故障(FAULT)中断,它的中断请求可能发生在任何一条指令的执行过程中,经中断服务处理后,要返回到事先发生故障的那条指令处重新执行引起故障的指令。

3.失效(ABORT)中断,它的中断请求也可能发生在一条指令的执行过程中,但是,除非强制干预或系统重新复位,否则机器无法正常运行。

中断优先级中断优先级:对于同时发生的多个中断请求,CPU必须安排一个响应和处理中断的优先次序。

它的确定主要由以下因素来决定:1.中断源的急迫性。

机器检验性错误引起的中断一般安排在最高优先级;而影响局部的故障,其优先级可以在较低的级别。

2.设备的工作速度。

快速设备优先级高。

3.数据恢复的难易程度。

数据丢失后无法恢复的设备,其优先级高于能自动恢复的设备。

4.要求处理机提供的服务量。

能够大部分时间独立工作而较少要求处理机干预的事件,其优先级较高于需要处理机连续为其服务的事件。

中断的处理过程主程序硬件排队保护原屏蔽字保护现场设置新的屏蔽字开中断中断服务处理程序关中断恢复现场和屏蔽字返回中断响应周期其它中断请求中断请求多中断源的中断处理当系统中存在多个中断源时必须根据实时性强弱设定优先顺序,这也被称为中断的分级。

为了兼顾中断响应的时效与配置的灵活,通常采用两套机制结合组成中断优先序管理体系。

(1)硬件响应优先序:未被屏蔽的几个中断源同时提出申请时,CPU 选择服务对象的顺序。

它由硬件电路实现,用户不能修改。

如P226图4.11所示。

举例:有4级中断源,优先级从高到低是:1级,2级,3级,4级,当发生下图所示的中断请求时中断优先级响应次序如下:中断请求主程序中断服务程序1级2级3级4级时间T1级4级3级,2级(2)软件服务优先序:在各中断服务程序开头,用软件设置自己的中断屏蔽字(在主程序中也设置)。

以此改变实际服务顺序(P230)。

例如某个硬件响应优先级高的中断源,其中断服务程序执行中屏蔽了自身,而开放了某个硬件响应优先级比它低的中断源,后者就可以在前者刚开放中断时就打断它,从而在实际上先得到服务。

由于常规用户主程序对处理机的需求紧迫性最低,所以它的中断屏蔽字是“全部开放”。

中断屏蔽设置方法:为每一个中断源设置一个中断屏蔽位,处理机要设置专门的指令来管理。

当中断屏蔽位为“1”时,表示对应的中断源不能请求中断服务,为“0”时,可以请求服务优点:由于中断源的中断优级是先由硬件固定的,不能由程序员通过软件来改变,灵活性较差。

但此方法可以部分的解决快速识别中断源和灵活性间的矛盾设置中断屏蔽有3个用处:1)改变中断源的中断服务顺序。

2)决定设备是否采用中断方式工作。

3)在多处理机系统中,通过中断屏蔽把对外围设备的输入输出服务工作分配到各个处理机中。

举例:四个中断源的中断优先级和屏蔽码1 1 1 10 0 0 14D41 1 1 00 0 1 13D3 1 1 0 00 1 1 12D21 0 0 01 1 1 11D1改变后的屏蔽码D1 D2 D3 D4正常中断屏蔽码D1 D2 D3 D4中断优先级中断源名称采用改变后的屏蔽码,当D1,D2,D3,D4同时请求服务时,处理机响应中断源的过程中断请求主程序中断服务程序D1 D2 D3 D4 D1,D2,D3,D4时间T改变处理机优先级某处理机共有4个中断源D1,D2,D3,D4,它们在串行排队链中的硬件中断优先级从低到高分别为1级、2级、3级、4级。

处理机本身的优先级最低,为0级。

在中断源D1, D2,D3,D4的处理机状态字中,程序员为它们设置的优先级分别为4级、3级、2级、1级。