第十章输入输出系统.ppt
《第十章输入输出系统.ppt》由会员分享,可在线阅读,更多相关《第十章输入输出系统.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机学院(许先斌)计算机学院(许先斌)计算机学院(许先斌)计算机学院(许先斌) 计算机组成与结构计算机组成与结构 本科生课程教学本科生课程教学计算机学院计算机组成与结构q本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。q 本课程着重计算机系统组成与结构方面的教学和研究。本课程着重计算机系统组成与结构方面的教学和研究。计算机结构定义为系统程序员所能见到的计算机硬件特性;计算机组成是指计算机硬件的具体实现。计算机学院第十章 输入输出系统 q输入输出系统
2、概述输入输出系统概述q程序中断输入输出方式程序中断输入输出方式qDMA输入输出方式输入输出方式q总线结构q外设接口计算机学院10.1 输入输出系统概述 一、一、I/O设备编址与控制设备编址与控制q为了CPU便于对IO设备进行寻址和选择,必须给众多的IO设备进行编址,也就是给每一台设备规定一些地址码,称为设备号或设备代码。qCPU对对IO设备下达命令有以下两种寻址方法:设备下达命令有以下两种寻址方法:(1)专设IO指令,例如,指令IN完成输入,指令OUT完成输出操作。(例如,IBMPC等系列机设置有专门的IO指令,设备的编址可达512个。)(2)利用访存(取数存数)指令完成IO功能。计算机学院1
3、0.1 输入输出系统概述 q使用访存(取数存数)指令时,从主存的地址空间中分出一部分地址码作为IO的设备代码,当访问到这些地址时,表示被访的不是主存储器,而是IO设备寄存器(例如,设备数据缓冲寄存器或设备状态寄存器等)。设备的地址码如表10.1所示。计算机学院10.1 输入输出系统概述 q设备控制器(IO接口)的基本功能是:识别设备输入输出数据缓冲数据转换传送主机命令,反映设备的工作状态。接口除上述功能外,还应有检错纠错功能、中断功能、时序控制功能等。计算机学院10.1 输入输出系统概述 q接口的分类接口的分类q(1)串行接口 接口和设备之间是一位一位地串行传送信息,而接口和主机之间则是按字或
4、字节并行传送。接口能完成“串”转“并”或“并”转“串”的转换。q(2)并行接口 不管是接口与设备,还是接口与主机之间都是按字或字节并行传送数据信息。计算机学院10.1 输入输出系统概述 二、二、I/O设备数据传输控制方式设备数据传输控制方式q(1)程序直接控制方式q(2)程序中断控制方式q(3)直接存储器存取控制方式(DMA)q(4)通道方式q(5)外围处理机方式(PPU)q程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。目前,小型机和微型机中大都采用程序查询方式、程序中断方式和DMA方式。计算机学院10.1 输入输出
5、系统概述 q通道方式和PPU方式大都用在中、大型计算机中。q通道是一种通用性和综合性都较强的输入输出方式,它代表了现代计算机组织向功能分布方向发展的初始发展阶段,形成了如图101的结构。计算机学院10.1 输入输出系统概述 计算机学院10.1 输入输出系统概述 q输入输出处理机通常称作外围处理机(peripheral processor unit,简称PPU)。这种外围处理机的结构更接近一般处理机,甚至就是一般小型通用计算机或微机。它可完成IO通道所要完成的IO控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成IO程序所必需的程序转移手段
6、。有了外围处理机,不但可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。计算机学院10.2 程序中断输入输出方式 一、中断的作用、产生和响应一、中断的作用、产生和响应1、中断的作用、中断的作用 q“中断”是由IO设备或其他非预期的急需处理的事件引起的,它使CPU暂时中断现在正在执行的程序,而转至另一服务程序去处理这些事件。处理完后再返回原程序。q中断有下列一些作用:中断有下列一些作用:q(1)CPU与IO设备并行工作q图102表示出CPU和IO设备(针式打印机)并行工作的时间安排。计算机学院10.2 程序中断输入输出方式 计算机学院10.2 程序中断输入输
7、出方式 q(2)硬件故障处理硬件故障处理q计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。q(3)实现人机联系实现人机联系q在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的机器里这些功能几乎是无法实现的。利用中断系统实现人机通信是很方便、很有效的。计算机学院10.2 程序中断输入输出方式 q(4)实现多道程序和分时操作实现多道程序和分时操作q计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,由IO中断系统切换到另外一道程序运行
8、。也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。计算机学院10.2 程序中断输入输出方式 q(5)实现实时处理实现实时处理q所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。例如,在某个计算机过程控制系统中,当出现压力过大、温度过高等情况时,必须及时输入到计算机进行处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中断正在执行的程序,转而去执行中断服务程序。在实际工程中,利用中断技术进行实时控制已广泛应用于各个生产领域中。计算机学院10.2 程序中断输入输出方式 q(6)实现应用程序和操作系统实现应用程序和操作
9、系统(管态程序管态程序)的联系的联系q可以在用户程序中安排一条“Trap”指令进入操作系统,称之为“软中断”。其中断处理过程与其他中断类似。q(7)多处理机系统各处理机间的联系多处理机系统各处理机间的联系q在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。计算机学院10.2 程序中断输入输出方式 2、有关中断的产生和响应的概念:、有关中断的产生和响应的概念:(1)中断源中断源引起中断的事件,即发出中断请求的来源,称为中断源。中断源的种类中断源的种类IO设备、定时钟等来自处理机外部设备的中断,又叫外外中断中断。处理器硬件故障或程序“出错”引起的中断,又叫内中断内中断。例
10、如,电源故障中断、算术操作溢出、除数为零,校验错、指令非法,用户程序执行特权指令以及虚拟存储器页面失效等。由“Trap”指令产生的软中断,这是在程序中预先安排好的。而前面两种中断则是随机发生的。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式 中断触发器中断触发器 当中断源发生引起中断的事件时,先将它保存在设备控制器的“中断触发器”中,即将“中断触发器”置“1”。当中断触发器为“1”时,向CPU发出“中断请求”信号。每个中断源有一个中断触发器。全机的多个中断触发器构成中断寄存器。其内容称为中断字或中断码。CPU进行中断处理时,根据中断字确定中断源,转入相应的服务
11、程序。计算机学院10.2 程序中断输入输出方式 (2)中断的分级与中断优先权中断的分级与中断优先权 q在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序。q当中断源数量很多时,中断字就会很长;同时也由于软件处理的方便,一般把所有中断按不同的类别分为若干级,称为中断级中断级,在同一级中还可以有多个中断源。首先按中断级确定优先次序,然后在同一级内再确定各个中断源的优先权优先权。计算机学院10.2 程序中断输入输出方式 (3)禁止中断和中断屏蔽禁止中断和中断屏蔽 禁止中断禁止中断q产生中断源后,由于某种条件的存
12、在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器为“1”状态时,才允许处理机响应中断;如果该触发器被清除,则不响应所有中断源申请的中断。前者叫做允许中断,后者叫做禁止中断。q“中断允许”触发器通过“开中断”或“关中断”指令来置位、复位。进入中断服务程序后自动“关中断”。计算机学院10.2 程序中断输入输出方式 中断屏蔽中断屏蔽q当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。q实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“1”,则对应的设备
13、中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q有些中断请求是不可屏蔽的,也就是说,不管中断系统是否开中断,这些中断源的中断请求一旦提出,CPU必须立即响应。例如,电源掉电就是不可屏蔽中断。所以,中断又分为可屏蔽中断又分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先权。中断和非屏蔽中断。非屏蔽中断具有最高优先权。q一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。计算机学院10.2 程序中断输入输出方式(4)响应中断的条
14、件)响应中断的条件 在CPU内部设置的中断允许触发器必须是开放的,STI指令开中断;CLI指令关中断。外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。外设(接口)中断屏蔽触发器必须为“0”,这样才能把外设中断请求送至CPU。CPU在现行指令结束的最后一个状态周期。无DMA请求。q一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。计算机学院10.2 程序中断输入输出方式二、中断处理二、中断处理1、中断处理过程、中断处理过程q不同计算机对中断的处理各具特色,就其多数而论,中断处理过程可如图103所示。计算机学院10.2 程序中断输入输出方式
15、(1)关中断关中断q进入不可再次响应中断的状态,由硬件自动实现。(2)保存断点保存断点q为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。(3)识别中断源,转向中断服务程序识别中断源,转向中断服务程序q在多个中断源同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源。所以,需进一步判别中断源,并转入相应的中断服务程序入口。计算机学院10.2 程序中断输入输出方式(4)保存现场、交换屏蔽字保存现场、交换屏蔽字q进入中断服务程序后首先要保存现场,现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。保存旧的屏
16、蔽字是为了中断返回前恢复屏蔽字,设置新的屏蔽字是为了实现屏蔽字改变中断优先级或控制中断的产生。(5)开中断开中断q因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套。计算机学院10.2 程序中断输入输出方式(6)执行中断服务程序主体执行中断服务程序主体q不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。(7)关中断关中断q是为了在恢复现场和屏蔽字时不被中断打断。(8)恢复现场和屏蔽字恢复现场和屏蔽字q将现场和屏蔽字恢复到进入中断前的状态。(9)中断返回中断返回q中断返回是用一条IRET指令实现的,它完成恢复断点的功能,从而返回到原程序执
17、行。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式 2、判别中断源、判别中断源q可以有软件和硬件两种方法来确定中断源。(1)查询法查询法q由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志),当遇到第一个“1”标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式(2)串行排队链法串行排队链法q由硬件确定中断源。图104(a)为中断请求逻辑图,当任一设备的中断触发器为“1”时,通过“或”门向CPU发出中断请求信号INTR。图
18、104(b)为串行排队判优先线路,图中画出了三个中断源,其设备码分别为110101,110100,110111。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q使用上述中断判优方式可以采用不同的转向中断服务程序入口地址的方法。一种是在中断程序中设一条专门接收中断设备码的指令INTA,取到设备号后,再通过主存的跳转表产生中断服务程序入口地址。另一种目前应用更广泛的方法叫做向量中断。q向量中断方式是为每一个中断源设置一个中断向量,中断向量包括了该中断源的中断服务程序人口地址。由被选中的设备直接产生中断向量,或者采取间接寻址方
19、式通过主存的中断跳转表(或称为中断向量表)转到中断服务程序的入口。计算机学院10.2 程序中断输入输出方式3、单级中断处理和多重中断处理单级中断处理和多重中断处理(1)单级中断处理)单级中断处理q单级中断处理是一种简单的处理方式。当不同优先等级的设备同时请求中断时,CPU按照优先级一个一个处理。当CPU正在处理某个中断时,不允许其它设备再中断CPU的程序,即使优先级高的设备也不能打断,只能等到中断处理完毕后,CPU才响应其它中断。q例如,优先等级是:ABCCPU,B设备请求中断时,A、C设备还没有请求。在CPU处理B设备中断时,A、C同时提出了请求,此时CPU运行轨迹如下图所示。计算机学院10
20、.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式(2)多重中断处理)多重中断处理 q多重中断是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的 执行,又转去进行新的中断处理。这种重叠处理中断的现象又称为中断嵌套。一般情况下,在处理某级中的某个中断时,与它同级的或比它低级的新中断请求应不能中断它的处理,而 在处理完该中断返回主程序后,再去响应和处理这些新中断。而比它优先级高的新中断请求 却能中断它的处理。q【例】一个4级中断嵌套的例子如图105所示。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q4级中断请求的优先级别由高到低为
21、1234的顺序。在CPU执行主程序过程中同时出现了两个中断请求和,因2级中断优先级高于3级中断,应首先去执行2级中断服务程序。若此时又出现了第4级的中断请求,则CPU将不予理睬。2级中断服务程序执行完返回主程序后,再转去执行第3级的中断服务程序,然后执行第4级中断服务程序。若在CPU再次执行第2级中断服务程序过程中,出现了第1级中断请求,因其优先级高于2级,则CPU暂停对第2级中断服务程序的执行,转去执行第1级中断服务程序。等第1级中断服务程序执行完后,再去执行第2级中断服务程序。q在本例中,中断请求次序为2,3421;而中断完成次序为23412。两者不相同。计算机学院10.2 程序中断输入输
22、出方式q中断级的响应次序是由硬件(排队判优线路)来决定的。但是,在有优先级中断屏蔽控制条件下,系统软件根据需要可以改变屏蔽位的状态,从而改变多重中断处理次序,这反映了中断系统软硬结合带来的灵活性。(3)用屏蔽改变多重中断处理次序用屏蔽改变多重中断处理次序q利用屏蔽技术可以改变各设备的优先等级,使计算机适应各种场合的需要。严格地说,优先级包含两层意思,第一层是响应优先级,第二层是处理优先级。q响应优先级是指CPU对各设备中断请求进行响应,并准备好处理的先后次序,这种次序往往在硬件线路上已固定,不便于变动。计算机学院10.2 程序中断输入输出方式q处理优先级是指CPU实际上对各中断请求处理的先后次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 输入输出 系统
限制150内