计算机组成原理-第9章_第1页
计算机组成原理-第9章_第2页
计算机组成原理-第9章_第3页
计算机组成原理-第9章_第4页
计算机组成原理-第9章_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章输入输出系统

主要内容计算机的输入输出系统简称为I/O系统,它包括I/O接口、I/O管理部件及有关软件,一个计算机系统的综合处理能力,系统的可扩展性、兼容性和性能价格比,都和I/O系统有密切关系。I/O接口CPU与I/O接口之间的信息交换方式(程序控制方式、中断方式、DMA方式、通道方式、外围处理机输入输出方式)……9.1I/O接口的类型及其功能

I/O接口(Interface)是计算机主机(CPU)与外围设备的连接部件,它是CPU与外围设备进行信息交换时所必需的电路,主要用于解决不同设备与CPU之间的速度差异、数据变换与缓冲等问题。9.1.1I/O接口的类型

按照数据传送的方式分:并行接口和串行接口按数据传送的控制方式分:程序控制方式接口(包括无条件传送方式、程序查询方式、程序中断方式)、直接存储器存取(DMA)接口、通道方式接口和I/O处理机等按通用性分类:通用接口和专用接口。按输入/输出的信号分类:I/O接口可分为数字接口和模拟接口两种。9.1.2I/O接口的功能

1.寻址I/O接口为每一个外围设备都分配一个地址码。以便CPU访问某个外围设备时能够根据给定的设备地址找到此设备。2.数据缓冲

3.预处理

4.控制功能

9.2CPU与I/O接口之间的信息传送方式

外围设备的定时方式:CPU与外围设备的定时,有三种情况:速度极慢或简单的外围设备,如机械开关、显示二极管等,CPU总是能足够快地作出响应。慢速或中速的外围设备:这类设备的速度和CPU的速度并不在一个数量级,或者由于设备(如键盘)本身是在不规则时间间隔下操作的,因此,CPU与这类设备之间的数据交换通常采用异步方式。高速的外部设备:这类设备以相等的时间间隔操作,而CPU也是以等间隔的速率执行输入/输出指令,因此,这种方式叫做同步定时方式。一旦CPU和外设发生同步,它们之间的数据交换便靠时钟脉冲控制来进行。9.2CPU与I/O接口之间的信息传送方式

程序查询方式:数据在CPU和外围设备之间的传送完全靠程序控制。程序中断方式:中断是外围设备用来“主动”通知CPU,准备送出输入数据或接受输出输出数据的一种方法。通常,一个中断发生时,CPU暂停它的现行程序,而转向中断处理程序,从而可以输入或输出一个数据。直接内存访问(DMA)方式通道方式外围处理机方式9.2.2DMA方式

DMA方式即直接内存访问(DirectMemoryAccess),是一种完全由硬件执行I/O信息交换的工作方式。在这种方式下,CPU并不参与实际的I/O数据传送,而是由专门的DMA控制器来实现内存与外设之间,以及外设与外设之间的直接高速传送。由于它基本是以硬件的速度传递数据,几乎没有额外开销,因此传输效率很高,并显著地减轻了CPU的负担。

9.2.3I/O通道方式

I/O通道控制(I/Ochannelcontrol)方式简称通道方式。它用专门处理I/O操作的处理器(称为通道)协助CPU完成输入输出操作。通道是一个具有特殊功能的处理器,在某些应用中称为输入输出处理器(IOP)。通道可以实现对外围设备的统一管理以及外围设备与主存之间的信息传送。同DMA方式相比,通道方式进一步提高了CPU的效率。这种信息传送方式适用于配备外设多、数据传送频繁的大、中型计算机中。

9.2.4外围处理机方式

外围处理机(peripheralprocessorunit,简称PPU)方式是通道方式的进一步发展。外围处理机的结构更接近于一般的处理机,甚至就是微小型计算机,它基本上独立于主机工作。在某些系统中设置了多台PPU,分别承担I/O控制、通信、诊断等任务。从某种意义上说,这种系统已经成为一种分布式的多机系统。

9.3程序中断方式

9.3.1中断的基本概念中断指CPU在正常运行程序时,由于内部/外部事件或由程序的预先安排使CPU中断正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的程序中去。服务完毕,再返回去继续执行被暂时中断的程序。内部/外部事件或为预先安排的事件往往比CPU当前正在运行的程序更加紧迫。这种暂时停止当前运行的程序而去执行其它紧迫任务的过程叫做中断。

程序中断方式与程序查询方式不同的是,程序中断方式并不需要CPU定期查询外部设备是否准备好。需要传送信息时,CPU只需在主程序中发出启动外设的命令,就可继续运行主程序的后续指令,不需要反复查询外部设备的状态。当外设已准备好,需要和CPU交换数据时,它就通过I/O接口给CPU一个中断请求信号。CPU于是响应接口的中断请求,暂停正在执行的程序(通常称为主程序),插入I/O操作程序(称为中断服务子程序),完成数据传输。由于CPU省去了对外设状态查询和等待的时间,因此CPU与外设可以并行工作,这大大提高了CPU的效率。中断方式一般适用于随机出现的服务,并且一旦提出要求,应当立即执行。同查询方式,中断方式的硬件结构要复杂一些,且服务开销时间较大。9.3.2中断类型

1、自愿性中断与强迫性中断自愿性中断是用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意在程序中安排有关指令,使中断发生。因此,自愿性中断又称为程序自中断。程序中执行I/O操作、创建进程、分配内存,以及进行信号量操作、发送/接收消息等都属于自愿性中断。指令系统中的软中断指令INTn可以用于在程序中设置自愿性中断。强迫性中断则不是事先由程序安排好的中断,而是随机产生的中断。强迫性中断是正在运行的程序所不期望的,往往由于某种硬件故障或外部请求引起。例如,来自外部设备的I/O中断、程序性中断(运算溢出、缺页中断、缺段中断、地址越界)、时钟中断、控制台中断、硬件故障等都属于强迫性中断。2、程序中断和简单中断

程序中断,主机在响应中断请求后,通过执行一段中断服务程序来处理更紧迫的任务。简单中断即DMA方式,指外设与主存之间直接进行信息交换的方法。这种中断并不执行中断服务程序,因此不会破坏现行程序的状态。CPU发现有简单中断请求(DMA请求)时,让出一个或几个主存的存取周期供外设与主存交换信息,然后继续执行程序。

3、内部中断和外部中断

由于CPU内部硬件或软件原因引起的中断称为内部中断。运算溢出、除法出错、单步中断、单字节中断(断点中断)以及INTn指令中断都属于内部中断。

外部中断是指由CPU以外的部件引起的中断。通常外部中断又可以分为不可屏蔽中断和可屏蔽中断两种。不可屏蔽中断优先级别较高,常用于应急处理,如掉电、主存读/写校验错等。可屏蔽中断级别较低,常用于一般I/O设备的数据传送。

4、向量中断和非向量中断

向量中断指中断服务程序的入口地址由中断事件自己提供的中断。CPU响应中断后,将由中断结构自动将向量地址提供给主机,由向量地址指明中断向量位置,即中断服务程序的入口地址(向量地址),并进一步实现向量切换。非向量中断不能直接提供中断服务程序的入口地址,而必须采用软件查询措施最后找到服务程序入口地址,然后才能转入相应的中断服务程序。

5、单级中断和多级中断

单级中断在CPU执行中断服务程序的过程中不能被再打断。多级中断在执行某个中断服务程序的过程中,CPU可去响应级别更高的中断请求,又称为中断嵌套。多级中断体现了计算机中断功能的强弱。9.3.3中断的作用

(1)中断方式在一定程度上实现了CPU与外围设备并行工作,使CPU的效率得到了更充分的发挥。

(2)中断方式便于实现故障处理。

(3)实现人机联系。

(3)实现多道程序和分时操作。

(4)实现实时处理。

(5)实现应用程序和操作系统的联系。(6)实现多处理机系统中各处理机间的联系。

9.3.4中断源的组织方式

多个中断源的组织方式一般有独立请求方式、菊花链方式和混合组织方式3种。1、独立请求方式

在独立请求方式中,每个中断源单独设置中断请求线,将中断请求信号直接送往CPU。CPU要响应某个中断源的中断请求时,也通过单独的中断响应线响应该中断源。这种方式的优点是CPU在接到中断请求的同时也就知道了中断源是谁,其中断服务程序的入口地址在哪里。这有利于实现向量中断,提高中断的响应速度。独立请求方式的缺点是硬件代价较大,并且由于CPU所能连接的中断请求线的数目有限,因此,中断源数目难以扩充。1、独立请求方式

2、菊花链方式

在菊花链方式中,多个中断源都利用公共的中断请求线和中断响应线。多个中断源通过公共的中断响应线连接成菊花链形状。同独立请求方式相比,菊花链方式需要的中断请求线和中断响应都是最少的;并且在负载允许的情况下,中断源的数目可以随意扩充。

3、混合组织方式

将独立请求方式和菊花链方式结合起来,就构成了中断源的混合组织方式。在这种方式中,首先给不同的中断源分配不同的优先级别,分级时要考虑设备对数据的传输率和服务程序的要求。各级中断源以独立请求方式连接到CPU,处于同一级的中断源则按缓急程度的不同按菊花链方式连接,共用一根中断请求线。同一级中离CPU最近的中断源的优先级最高,最远的优先级最低。

3、混合组织方式9.3.5中断过程

1.中断请求

2.中断判优与屏蔽

3.中断响应

4.中断处理

5.中断返回

9.3.6中断接口电路

9.3.7中断优先权排队电路

1.链式优先权排队电路

2.优先权编码电路

中断优先权排队通过编码的方式来实现

9.3.8多个中断的处理

处理一个中断时禁止其他中断,对任何新的中断都置之不理,在这期间发生的中断将保持挂起状态。

将中断按照优先权分级,允许优先级高中断打断优先级低的中断处理过程,形成了中断的嵌套处理,简称中断嵌套。

9.3.98259A中断控制器

1.8259A的结构

2.8259A的芯片引脚

8259A与CPU和外设的连接方式

9.3.10Pentium的中断机制

Pentium中有两类中断源:中断和异常。这两类中断源都可引起Pentium挂起当前的指令流,转而进行其他事件的处理。对这两种事件,Pentium都要首先保存进程的现场信息,然后以预先设计好的服务程序进行。Pentium总共可以识别256种中断和异常。每种中断给予一个中断向量号0~255。pentium中断处理过程(1)当中断处理的CPU控制权转移涉及到特权级改变时,必须把当前的SS和ESP两个寄存器的内容压入系统堆栈予以保存。(2)标志寄存器EFLAGS的内容也压入堆栈(3)清除标志触发器TF和IF(4)当前的代码段寄存器CS和指令指针EIP也压入堆栈。(5)如果中断发生伴随有错误码,则错误码也压入此堆栈。(6)完成上述中断现场保护后,从中断向量号获取的中断服务子程序入口地址(段:偏移量)分别装入CS和EIP,开始执行中断服务子程序。(7)中断服务子程序最后的IRET指令使中断返回。保存在堆栈中的中段现场信息被恢复,并由中断点继续执行原程序。9.4直接存储器存取(DMA)方式

9.4.1DMA方式简介

直接内存访问是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA方式一般用于高速传送成组数据。DMA控制器将向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式想CPU报告传送操作的结束。DMA方式的主要优点是速度快,由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、传送等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址、修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速的I/O设备的要求,也有利于CPU效率的发挥。正因为如此,包括微型机在内,DMA方式在计算机中被广泛采用。DMA传送示意图

DMA的特点■DMA方式使得主存可以被除CPU以外的外设访问,而不再只限于由CPU访问。■DMA方式进行数据成组传送时,主存地址的确定和传送数据的计数等等都用硬件电路直接实现。■DMA方式传送数据的速度很快,这往往要求在主存中开辟专用缓冲区,以便及时供给和接收外设的数据。■DMA方式使得CPU和外设可以并行工作,提高了系统的效率。■DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。DMA执行的基本操作(1)从外围设备发出DMA请求(2)CPU响应请求,把CPU工作改成DMA操作方式,DMA控制器从CPU接管总线的控制;(3)由DMA控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行数据传送的操作(4)想CPU报告DMA操作的结束。在DMA方式中,一批数据传送前的准备工作,以及传送结束后的处理工作,均由管理程序承担,而DMA控制器仅负责数据传送的工作。9.4.2DMA的工作方式

DMA控制器与CPU通常采用三种方法分时使用内存:1.CPU暂停方式;2.周期窃取方式;3.DMA与CPU交替访存方式

。1.CPU暂停方式:当外围设备要求传送一批数据时,由DMA控制器发出一个停止信号给CPU,要求CPU放弃对地址总线、数据总线和有关控制总线的使用权。DMA控制器获得总线控制权后,开始进行数据传送。在一批数据传送完后,DMA控制器通知CPU可以使用内存,并把总线控制权还给CPU,让CPU可以使用存储器,因此,DMA传送过程中CPU基本上处于停止状态。

优点:控制简单,适用于数据传送率很高的设备进行成组传送。

缺点:在DMA控制器访内阶段,内存的效能没有充分发挥,相当大一部分内存工作周期是空闲的。CPU暂停方式

CPU周期窃取方式

DMA与CPU交替访存

2.周期窃取方式当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或者几个内存周期。由于此时可能遇到CPU不需要访内或者也要求访内,前一种情形I/O设备挪用1或2个周期一般没有什么影响,而后者则回发生冲突,在这种情况下首先让I/O设备先访内,CPU则延缓指令的执行。与停止CPU访内的DMA方法比较,周期挪用的方法既实现了I/O传送,又较好地发挥了内存和CPU的效率,是一种广泛使用的方法。适用于I/O设备读写周期大于内存存储周期的情况。3.DMA与CPU交替访存方式这种方式也称存储器分时法,一般是系统中的CPU的工作周期比内存存取周期长很多,此时可分成两个存取时间片,一个专供DMA控制接口访问,另一个专供CPU访问,DMA与CPU交替地访问内存。图P287图8.11由于分时间片访问,这种传输方式不需要总线使用权的申请、建立和归还过程,所以对DMA传送来讲效率是很高的,传送数据完全是透明的。但这种DMA方式硬件逻辑比较复杂,而且要求有高速的存储器。9.4.3DMA控制器

9.4.4DMA的数据传送过程

1.DMA传送前预处理DMA传送之前,需要进行相应的准备工作,称为DMA传送前的预处理,由CPU完成。预处理内容主要包括CPU执行I/O指令,测试设备状态,向DMA的设备地址寄存器送入设备地址并启动设备向主存地址寄存器送入交换数据的主存起始地址,向字计数器送入交换的数据个数等。在这些工作完成后,CPU继续执行原来的主程序2.数据传送DMA的数据传送可以单字节(或字)为基本单位,也可以以数据块为基本单位。当外设准备好发送或接收数据时,它发出DMA请求,由DMA控制器向CPU发出总线占用申请信号HOLD。CPU在执行完本机器周期后响应该请求,发出DMA响应信号,同时让出总线控制权,由DMA控制器接管对总线的控制,并向主存提供地址。于是,主存便可以和外围设备之间交换数据,每交换一个字,地址计数器和字计数器都加1,当计数值达到0时,DMA操作结束,DMA控制器向CPU发出中断报告。9.4.4DMA的数据传送过程3.DMA后处理当传送长度计数器计数到“0”时,DMA操作结束,DMA控制器向CPU发送中断请求,CPU停止原来程序的运行,转去执行中断服务程序,完成DMA传送的结束工作。例如,如果需继续交换数据,则再对DMA控制器进行初始化;如果不需交换数据,则停止外设;如果出错,则转错误诊断及处理程序进行处理。9.4.5DMA控制器Intel8237

8.4通道方式一个特殊功能的处理器,有自己的指令和程序专门负责数据输入和输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部运算与I/O设备的平行工作。9.5通道方式

DMA方式对大、中型计算机来说,它们配置的外围设备一般都很多,并且数据传送频繁,如仍采用DMA方式,可能会存在一些问题。一方面,如果为数量繁多的外设都配置专用的DMA控制器,将大幅度增加硬件,使得成本增加。而且要解决众多DMA同时访问主存的冲突,使得控制变得非常复杂。另一方面,采用DMA传送方式的众多外设均直接由CPU管理控制,由CPU进行初始化,这势必会占用更多的CPU时间,而且频繁的周期窃取会降低CPU执行程序的效率。为避免上述弊病,在大、中型计算机系统中一般采用I/O通道方式进行数据交换。

9.5.1通道方式简介

通道是一种数据输入/输出控制设备,是一种独立于中央处理器,它代替CPU对外设的I/O操作进行控制,使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论