计算机组成与结构课件(王爱英)第10章

上传人:w****i 文档编号:91812066 上传时间:2019-07-02 格式:PPT 页数:125 大小:463.50KB
返回 下载 相关 举报
计算机组成与结构课件(王爱英)第10章_第1页
第1页 / 共125页
计算机组成与结构课件(王爱英)第10章_第2页
第2页 / 共125页
计算机组成与结构课件(王爱英)第10章_第3页
第3页 / 共125页
计算机组成与结构课件(王爱英)第10章_第4页
第4页 / 共125页
计算机组成与结构课件(王爱英)第10章_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《计算机组成与结构课件(王爱英)第10章》由会员分享,可在线阅读,更多相关《计算机组成与结构课件(王爱英)第10章(125页珍藏版)》请在金锄头文库上搜索。

1、第10章 输入输出(I/O)系统,10.1 输入输出(I/O)系统概述 10.2 程序中断输入输出方式 10.3 DMA输入输出方式 10.4 通道控制方式和外围处理机方式 10.5 总线结构 10.6 外设接口 习题,10.1 输入输出(I/O)系统概述 输入输出系统包括外部设备(输入输出设备和辅助存储器)及其与主机(CPU和存储器)之间的控制部件。后者称之为设备控制器,诸如磁盘控制器、打印机控制器等,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设备之间的数据传送。本章主要介绍设备控制器的工作原理及其与主机之间传送数据的协议,即系统总线。,10.1.1 输入输出设备的编址及设备控

2、制器的基本功能 为了CPU便于对I/O设备进行寻址和选择,必须给众多的I/O设备进行编址,也就是给每一台设备规定一些地址码,称为设备号或设备代码。 随着CPU对I/O设备下达命令方式的不同而有以下两种寻址方法: (1) 专设I/O指令,例如,指令IN完成输入,指令OUT完成输出操作。指令的地址码字段指出输入输出设备的设备代码。,(2) 利用访存(取数/存数)指令完成I/O功能,使用这种方法时,从主存的地址空间中分出一部分地址码作为I/O的设备代码,当访问到这些地址时,表示被访的不是主存储器,而是I/O设备寄存器。 IBM PC等系列机设置有专门的I/O指令,设备的编址可达512个,部分设备的地

3、址码如表10.1所示。 从表中可见,每一台设备占用了若干个地址码,分别表示相应的设备控制器中的寄存器地址。,表10.1 输入输出地址分配表,设备控制器(I/O接口)的基本功能是: (1) 实现主机和外围设备之间的数据传送控制。包括同步控制、设备选择和中断控制等。DMA设备还具有直接访问存储器功能,并给出存储器地址。 (2) 实现数据缓冲,以达到主机同外围设备之间的速度匹配。在接口电路中,一般设置一个或几个数据缓冲寄存器。在传送过程中,先将数据送入数据缓冲寄存器,然后再送到目的设备(输出)或主机(输入)。 (3) 接受主机的命令,提供设备接口的状态,并按照主机的命令控制设备。,输入输出接口类型有

4、: (1) 按照数据传送的宽度可分为并行接口和串行接口。在并行接口中,设备和接口是将一个字节(或字)的所有位同时传送。在串行接口中,设备和接口间的数据是一位一位串行传送的,而接口和主机之间是按字节或字并行传送。接口要完成数据格式的串并变换。 (2) 按照数据传送的控制方式可分成程序控制输入输出接口,程序中断输入输出接口和直接存储器存取(DMA)接口等。,10.1.2 I/O设备数据传送控制方式 1. 程序直接控制方式 程序直接控制(programed direct control)方式就是完全通过程序来控制主机和外围设备之间的信息传送。通常的办法是在用户的程序中安排一段由输入输出指令和其他指令

5、所组成的程序段直接控制外围设备的工作。 传送时,首先启动设备,发出启动命令,接着CPU等待外围设备完成接收或发送数据的准备工作。在等待时间内,CPU不断地用一条测试指令检测外围设备工作状态标志触发器。一旦测试到标志触发器已置成“完成”状态,即可进行数据传送。,2. 程序中断传送方式 在程序中断传送(program interrupt transfer)方式中,通常在程序中安排一条指令,发出START信号启动外围设备,然后机器继续执行程序。当外围设备完成数据传送的准备后,便向CPU发“中断请求”(INT)信号。CPU接到请求后若可以停止正在运行的程序,则在一条指令执行完后(非流水线计算机),转去

6、执行“中断服务程序”,完成传送数据工作,通常传送一个字或一个字节。传送完毕仍返回原来的程序。,由于系统在启动外围设备后到数据的准备完成这段时间内一直在执行原程序,不是处于踏步等待状态,而仅仅在外围设备交换数据的准备工作完成之后才中止程序的继续执行,转而进行数据传送。因此,这在一定程度上实现了CPU和外围设备的并行工作。此外,有多台外设依次启动后,可同时进行数据交换的准备工作。若在某一时刻有几台外围设备发出中断请求信号,CPU可根据预先规定好的优先顺序,按轻重缓急去处理几台外设的数据传送,从而实现了外围设备的并行工作。因此,程序中断方式大大提高了计算机系统的工作效率。,3. 直接存储器存取方式

7、直接存储器存取(direct memory access,简称DMA)方式的基本思想是在外围设备和主存之间开辟直接的数据传送通路。在正常工作时,所有工作周期均用于执行CPU的程序。当外围设备完成输入或输出数据的准备工作后,占用总线一个工作周期,和主存直接交换数据。这个周期过后,CPU又继续控制总线,执行原程序。如此重复,直到整个数据块的数据传送完毕。这项工作是由I/O系统中增设的DMA控制器完成的,由它给出每次传送数据的主存地址,并统计已传送数据的个数以确定是否传送结束。,除了在数据块传送的起始和结束时需用中断分别进行前处理和后处理外,无需CPU的频繁干预。主存储器被并行工作的CPU和I/O子

8、系统所共享。 DMA方式也有不足之处。首先,对外围设备的管理和某些操作的控制仍需由CPU承担。在大中型计算机系统中,系统所配备的外设种类多、数量大,这样,对外设的管理和控制也就愈来愈多,愈来愈复杂。大容量外存的使用,使主存和外存之间的数据流量大幅度增加,有时还要求多个DMA同时使用,引起访问主存的冲突增加。因此,在大型计算机系统中通常设置专门的硬件装置通道。,4. I/O通道控制(I/O channel control)方式 “通道”不是一般概念的I/O通路,它是一个专用的名称。通道能独立地执行用通道命令编写的输入输出控制程序,产生相应的控制信号送给由它管辖的设备控制器,继而完成复杂的输入输出

9、过程。通道是一种通用性和综合性都较强的输入输出方式,它代表了现代计算机组织向功能分布方向发展的初始发展阶段,形成了如图10.1的结构。,图10.1 输入输出系统的结构(具有CH或I/O处理机),5. 外围处理机方式 输入输出处理机通常称作外围处理机(peripheral processor unit,简称PPU)。这种外围处理机的结构更接近一般处理机,甚至就是一般小型通用计算机或微机。它可完成I/O通道所要完成的I/O控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成I/O程序所必需的程序转移手段。有了外围处理机,不但可简化设备控制器,而

10、且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。,外围处理机基本上独立于主机工作。在某些大型计算机系统中,设置多台外围处理机,分别承担I/O控制、通信、维护、诊断等任务。有了外围处理机后,使计算机系统结构有了质的飞跃,由功能集中式发展为功能分散的分布式系统。该系统的结构与图10.1所示类似,但要将图中的CH改为I/O处理机。,10.2 程序中断输入输出方式 10.2.1 中断的作用、产生和影响 1. 中断的作用 “中断”是由I/O设备或其他非预期的急需处理的事件引起的,它使CPU暂时中断现在正在执行的程序,而转至另一服务程序去处理这些事件。处理完后再返回原程序。 中断有下列

11、一些作用: (1) CPU与I/O设备并行工作 图10.2表示出CPU和I/O设备(针式打印机)并行工作的时间安排。,图10.2 CPU与打印机并行工作时间图,(2) 硬件故障处理 计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。 (3) 实现人机联系 在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的机器里这些功能几乎是无法实现的。利用中断系统实现人机通信是很方便、很有效的。,(4) 实现多道程序和分时操作 计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助

12、于中断系统。在一道程序的运行中,由I/O中断系统切换到另外一道程序运行。也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。 (5) 实现实时处理 所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中断正在执行的程序,转而去执行中断服务程序。,(6) 实现应用程序和操作系统(管态程序)的联系 可以在用户程序中安排一条“Trap”指令进入操作系统,称之为“软中断”。其中断处理过程与其他中断类似。 (7) 多处理机系统各处理机间的联系 在多处理机系统中,处理机和处理机之间的信息

13、交流和任务切换可以通过中断来实现。,2. 有关中断的产生和响应的概念 (1) 中断源 引起中断的事件,即发出中断请求的来源,称为中断源。 中断源的种类 I/O设备、定时钟等来自处理机外部设备的中断,又叫外中断。 处理器硬件故障或程序“出错”引起的中断,又叫内中断。 由“Trap”指令产生的软中断,这是在程序中预先安排好的。而前面两种中断则是随机发生的。, 中断触发器 当中断源发生引起中断的事件时,先将它保存在设备控制器的“中断触发器”中,即将“中断触发器”置“1”。当中断触发器为“1”时,向CPU发出“中断请求”信号。每个中断源有一个中断触发器。全机的多个中断触发器构成中断寄存器。其内容称为中

14、断字或中断码。CPU进行中断处理时,根据中断字确定中断源,转入相应的服务程序。,(2) 中断的分级与中断优先权 在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序。 当中断源数量很多时,中断字就会很长;同时也由于软件处理的方便,一般把所有中断按不同的类别分为若干级,称为中断级,在同一级中还可以有多个中断源。首先按中断级确定优先次序,然后在同一级内再确定各个中断源的优先权。,当对设备分配优先权时,必须考虑数据的传输率和服务程序的要求。如果来自某些设备的数据只是在一个短的时间内有效,为了保证数据的有效性,通常

15、把最高的优先权分配给它们。较低的优先权分配给数据有效期较长的设备,以及具有数据自动恢复能力的设备。,(3) 禁止中断和中断屏蔽 禁止中断 产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器为“1”状态时,才允许处理机响应中断;如果该触发器被清除,则不响应所有中断源申请的中断。前者叫做允许中断,后者叫做禁止中断。 “中断允许”触发器通过“开中断”或“关中断”指令来置位、复位。进入中断服务程序后自动“关中断”。, 中断屏蔽 当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽

16、。 实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。,有些中断请求是不可屏蔽的,也就是说,不管中断系统是否开中断,这些中断源的中断请求一旦提出,CPU必须立即响应。例如,电源掉电就是不可屏蔽中断。所以,中断又分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先权。 一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。,10.2.2 中断处理 1. 中断处理过程 不同计算机对中断的处理各具特色,就其多数而论,中断处理过程可如图10.3所示。 (1) 关中断,进入不可再次响应中断的状态,由硬件自动实现。 (2) 保存断点和现场 为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。 现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。,图10.3 中断处理过程,(3) 判别中断源,转向中断服

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号