欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第十章输入输出系统.ppt

    • 资源ID:70680178       资源大小:2.66MB        全文页数:93页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第十章输入输出系统.ppt

    计算机学院(许先斌)计算机学院(许先斌)计算机学院(许先斌)计算机学院(许先斌) 计算机组成与结构计算机组成与结构 本科生课程教学本科生课程教学计算机学院计算机组成与结构q本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。q 本课程着重计算机系统组成与结构方面的教学和研究。本课程着重计算机系统组成与结构方面的教学和研究。计算机结构定义为系统程序员所能见到的计算机硬件特性;计算机组成是指计算机硬件的具体实现。计算机学院第十章 输入输出系统 q输入输出系统概述输入输出系统概述q程序中断输入输出方式程序中断输入输出方式qDMA输入输出方式输入输出方式q总线结构q外设接口计算机学院10.1 输入输出系统概述 一、一、I/O设备编址与控制设备编址与控制q为了CPU便于对IO设备进行寻址和选择,必须给众多的IO设备进行编址,也就是给每一台设备规定一些地址码,称为设备号或设备代码。qCPU对对IO设备下达命令有以下两种寻址方法:设备下达命令有以下两种寻址方法:(1)专设IO指令,例如,指令IN完成输入,指令OUT完成输出操作。(例如,IBMPC等系列机设置有专门的IO指令,设备的编址可达512个。)(2)利用访存(取数存数)指令完成IO功能。计算机学院10.1 输入输出系统概述 q使用访存(取数存数)指令时,从主存的地址空间中分出一部分地址码作为IO的设备代码,当访问到这些地址时,表示被访的不是主存储器,而是IO设备寄存器(例如,设备数据缓冲寄存器或设备状态寄存器等)。设备的地址码如表10.1所示。计算机学院10.1 输入输出系统概述 q设备控制器(IO接口)的基本功能是:识别设备输入输出数据缓冲数据转换传送主机命令,反映设备的工作状态。接口除上述功能外,还应有检错纠错功能、中断功能、时序控制功能等。计算机学院10.1 输入输出系统概述 q接口的分类接口的分类q(1)串行接口 接口和设备之间是一位一位地串行传送信息,而接口和主机之间则是按字或字节并行传送。接口能完成“串”转“并”或“并”转“串”的转换。q(2)并行接口 不管是接口与设备,还是接口与主机之间都是按字或字节并行传送数据信息。计算机学院10.1 输入输出系统概述 二、二、I/O设备数据传输控制方式设备数据传输控制方式q(1)程序直接控制方式q(2)程序中断控制方式q(3)直接存储器存取控制方式(DMA)q(4)通道方式q(5)外围处理机方式(PPU)q程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。目前,小型机和微型机中大都采用程序查询方式、程序中断方式和DMA方式。计算机学院10.1 输入输出系统概述 q通道方式和PPU方式大都用在中、大型计算机中。q通道是一种通用性和综合性都较强的输入输出方式,它代表了现代计算机组织向功能分布方向发展的初始发展阶段,形成了如图101的结构。计算机学院10.1 输入输出系统概述 计算机学院10.1 输入输出系统概述 q输入输出处理机通常称作外围处理机(peripheral processor unit,简称PPU)。这种外围处理机的结构更接近一般处理机,甚至就是一般小型通用计算机或微机。它可完成IO通道所要完成的IO控制,还可完成码制变换、格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部件、缓冲部件,还可形成IO程序所必需的程序转移手段。有了外围处理机,不但可简化设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况显示和人机联系的工具。计算机学院10.2 程序中断输入输出方式 一、中断的作用、产生和响应一、中断的作用、产生和响应1、中断的作用、中断的作用 q“中断”是由IO设备或其他非预期的急需处理的事件引起的,它使CPU暂时中断现在正在执行的程序,而转至另一服务程序去处理这些事件。处理完后再返回原程序。q中断有下列一些作用:中断有下列一些作用:q(1)CPU与IO设备并行工作q图102表示出CPU和IO设备(针式打印机)并行工作的时间安排。计算机学院10.2 程序中断输入输出方式 计算机学院10.2 程序中断输入输出方式 q(2)硬件故障处理硬件故障处理q计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。q(3)实现人机联系实现人机联系q在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的机器里这些功能几乎是无法实现的。利用中断系统实现人机通信是很方便、很有效的。计算机学院10.2 程序中断输入输出方式 q(4)实现多道程序和分时操作实现多道程序和分时操作q计算机实现多道程序运行是提高机器效率的有效手段。多道程序的切换运行需借助于中断系统。在一道程序的运行中,由IO中断系统切换到另外一道程序运行。也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。计算机学院10.2 程序中断输入输出方式 q(5)实现实时处理实现实时处理q所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。例如,在某个计算机过程控制系统中,当出现压力过大、温度过高等情况时,必须及时输入到计算机进行处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中断正在执行的程序,转而去执行中断服务程序。在实际工程中,利用中断技术进行实时控制已广泛应用于各个生产领域中。计算机学院10.2 程序中断输入输出方式 q(6)实现应用程序和操作系统实现应用程序和操作系统(管态程序管态程序)的联系的联系q可以在用户程序中安排一条“Trap”指令进入操作系统,称之为“软中断”。其中断处理过程与其他中断类似。q(7)多处理机系统各处理机间的联系多处理机系统各处理机间的联系q在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。计算机学院10.2 程序中断输入输出方式 2、有关中断的产生和响应的概念:、有关中断的产生和响应的概念:(1)中断源中断源引起中断的事件,即发出中断请求的来源,称为中断源。中断源的种类中断源的种类IO设备、定时钟等来自处理机外部设备的中断,又叫外外中断中断。处理器硬件故障或程序“出错”引起的中断,又叫内中断内中断。例如,电源故障中断、算术操作溢出、除数为零,校验错、指令非法,用户程序执行特权指令以及虚拟存储器页面失效等。由“Trap”指令产生的软中断,这是在程序中预先安排好的。而前面两种中断则是随机发生的。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式 中断触发器中断触发器 当中断源发生引起中断的事件时,先将它保存在设备控制器的“中断触发器”中,即将“中断触发器”置“1”。当中断触发器为“1”时,向CPU发出“中断请求”信号。每个中断源有一个中断触发器。全机的多个中断触发器构成中断寄存器。其内容称为中断字或中断码。CPU进行中断处理时,根据中断字确定中断源,转入相应的服务程序。计算机学院10.2 程序中断输入输出方式 (2)中断的分级与中断优先权中断的分级与中断优先权 q在设计中断系统时,要把全部中断源按中断性质和处理的轻重缓急进行排队并给予优先权。所谓优先权是指有多个中断同时发生时,对各个中断响应的优先次序。q当中断源数量很多时,中断字就会很长;同时也由于软件处理的方便,一般把所有中断按不同的类别分为若干级,称为中断级中断级,在同一级中还可以有多个中断源。首先按中断级确定优先次序,然后在同一级内再确定各个中断源的优先权优先权。计算机学院10.2 程序中断输入输出方式 (3)禁止中断和中断屏蔽禁止中断和中断屏蔽 禁止中断禁止中断q产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设有一个“中断允许”触发器。只有该触发器为“1”状态时,才允许处理机响应中断;如果该触发器被清除,则不响应所有中断源申请的中断。前者叫做允许中断,后者叫做禁止中断。q“中断允许”触发器通过“开中断”或“关中断”指令来置位、复位。进入中断服务程序后自动“关中断”。计算机学院10.2 程序中断输入输出方式 中断屏蔽中断屏蔽q当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。q实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q有些中断请求是不可屏蔽的,也就是说,不管中断系统是否开中断,这些中断源的中断请求一旦提出,CPU必须立即响应。例如,电源掉电就是不可屏蔽中断。所以,中断又分为可屏蔽中断又分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先权。中断和非屏蔽中断。非屏蔽中断具有最高优先权。q一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。计算机学院10.2 程序中断输入输出方式(4)响应中断的条件)响应中断的条件 在CPU内部设置的中断允许触发器必须是开放的,STI指令开中断;CLI指令关中断。外设有中断请求时,中断请求触发器必须处于“1”状态,保持中断请求信号。外设(接口)中断屏蔽触发器必须为“0”,这样才能把外设中断请求送至CPU。CPU在现行指令结束的最后一个状态周期。无DMA请求。q一旦CPU响应中断的条件得到满足,CPU开始响应中断,转入中断服务程序,进行中断处理。计算机学院10.2 程序中断输入输出方式二、中断处理二、中断处理1、中断处理过程、中断处理过程q不同计算机对中断的处理各具特色,就其多数而论,中断处理过程可如图103所示。计算机学院10.2 程序中断输入输出方式(1)关中断关中断q进入不可再次响应中断的状态,由硬件自动实现。(2)保存断点保存断点q为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。(3)识别中断源,转向中断服务程序识别中断源,转向中断服务程序q在多个中断源同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源。所以,需进一步判别中断源,并转入相应的中断服务程序入口。计算机学院10.2 程序中断输入输出方式(4)保存现场、交换屏蔽字保存现场、交换屏蔽字q进入中断服务程序后首先要保存现场,现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中某些寄存器的内容。保存旧的屏蔽字是为了中断返回前恢复屏蔽字,设置新的屏蔽字是为了实现屏蔽字改变中断优先级或控制中断的产生。(5)开中断开中断q因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套。计算机学院10.2 程序中断输入输出方式(6)执行中断服务程序主体执行中断服务程序主体q不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。(7)关中断关中断q是为了在恢复现场和屏蔽字时不被中断打断。(8)恢复现场和屏蔽字恢复现场和屏蔽字q将现场和屏蔽字恢复到进入中断前的状态。(9)中断返回中断返回q中断返回是用一条IRET指令实现的,它完成恢复断点的功能,从而返回到原程序执行。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式 2、判别中断源、判别中断源q可以有软件和硬件两种方法来确定中断源。(1)查询法查询法q由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志),当遇到第一个“1”标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式(2)串行排队链法串行排队链法q由硬件确定中断源。图104(a)为中断请求逻辑图,当任一设备的中断触发器为“1”时,通过“或”门向CPU发出中断请求信号INTR。图104(b)为串行排队判优先线路,图中画出了三个中断源,其设备码分别为110101,110100,110111。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q使用上述中断判优方式可以采用不同的转向中断服务程序入口地址的方法。一种是在中断程序中设一条专门接收中断设备码的指令INTA,取到设备号后,再通过主存的跳转表产生中断服务程序入口地址。另一种目前应用更广泛的方法叫做向量中断。q向量中断方式是为每一个中断源设置一个中断向量,中断向量包括了该中断源的中断服务程序人口地址。由被选中的设备直接产生中断向量,或者采取间接寻址方式通过主存的中断跳转表(或称为中断向量表)转到中断服务程序的入口。计算机学院10.2 程序中断输入输出方式3、单级中断处理和多重中断处理单级中断处理和多重中断处理(1)单级中断处理)单级中断处理q单级中断处理是一种简单的处理方式。当不同优先等级的设备同时请求中断时,CPU按照优先级一个一个处理。当CPU正在处理某个中断时,不允许其它设备再中断CPU的程序,即使优先级高的设备也不能打断,只能等到中断处理完毕后,CPU才响应其它中断。q例如,优先等级是:ABCCPU,B设备请求中断时,A、C设备还没有请求。在CPU处理B设备中断时,A、C同时提出了请求,此时CPU运行轨迹如下图所示。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式(2)多重中断处理)多重中断处理 q多重中断是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的 执行,又转去进行新的中断处理。这种重叠处理中断的现象又称为中断嵌套。一般情况下,在处理某级中的某个中断时,与它同级的或比它低级的新中断请求应不能中断它的处理,而 在处理完该中断返回主程序后,再去响应和处理这些新中断。而比它优先级高的新中断请求 却能中断它的处理。q【例】一个4级中断嵌套的例子如图105所示。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q4级中断请求的优先级别由高到低为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 程序中断输入输出方式q中断级的响应次序是由硬件(排队判优线路)来决定的。但是,在有优先级中断屏蔽控制条件下,系统软件根据需要可以改变屏蔽位的状态,从而改变多重中断处理次序,这反映了中断系统软硬结合带来的灵活性。(3)用屏蔽改变多重中断处理次序用屏蔽改变多重中断处理次序q利用屏蔽技术可以改变各设备的优先等级,使计算机适应各种场合的需要。严格地说,优先级包含两层意思,第一层是响应优先级,第二层是处理优先级。q响应优先级是指CPU对各设备中断请求进行响应,并准备好处理的先后次序,这种次序往往在硬件线路上已固定,不便于变动。计算机学院10.2 程序中断输入输出方式q处理优先级是指CPU实际上对各中断请求处理的先后次序。如果不使用屏蔽技术,响应的优先次序就是处理的优先次序。q现代计算机一般都使用了屏蔽技术,即通过控制各设备接口的屏蔽触发器状态,达到改变处理次序的目的。qCPU送往各设备接口屏蔽触发器状态信息的集合,称为屏蔽码。屏蔽码。计算机学院10.2 程序中断输入输出方式q【例】设某机有四级中断A、B、C、D,其硬件排队优先次序为ABCD,现要求将中断处理次序改为DBAC:q(1)下表中各级中断程序的屏蔽位应如何设置(设“0”为允许,“1”为屏蔽,CPU状态时屏蔽码为0000)?计算机学院10.2 程序中断输入输出方式q(2)请按下图所示时间轴给出的设备中断请求时刻,画出CPU执行程序的轨迹,A、B、C、D 中断服务程序的时间宽度均为20s。计算机学院10.2 程序中断输入输出方式q【解】q(1)中断程序的屏蔽位应如何设置见下表所示。计算机学院10.2 程序中断输入输出方式q(2)CPU执行程序的轨迹如下图所示:D程序 C程序 B程序 A程序 0 10 20 30 40 50 55 60 70 80 C B D A t(s)CPU执行程序的轨迹 计算机学院10.2 程序中断输入输出方式4、中断服务程序中断服务程序q中断服务程序由3部分组成;即前处理部分、主体部分和后处理部分,如右图所示。保护现场 交换屏蔽字前处理部分 开中断 中断服务主体部分关中断恢复现场后处理部分恢复屏蔽字开中断中断返回中断服务程序流程图计算机学院10.2 程序中断输入输出方式q(1)前处理部分前处理部分 封锁优先级与本设备相同或比本设备低的中断封锁优先级与本设备相同或比本设备低的中断请求。请求。因为这些中断请求虽然没有得到响应,但请求信号依然存在,这样CPU每执行一条指令,就要判断一下是否响应,而因优先级不比本设备高,判断结果为不能响应,然后再转回执行服务程序。只要这些中断请求信号存在,就总是干扰着服务程序的执行。封锁操作是通过对接口屏蔽触发器的重新设置来实现的,称这一操作为设置新屏蔽码。计算机学院10.2 程序中断输入输出方式q保护中断时的保护中断时的CPU现场。现场。除了PC和PSW外,如果服务程序中还要使用其它寄存器,那么必须将它们原来的内容也压入堆栈。一般来说,动用哪个寄存器,就保存哪个寄存器的内容,以尽量减少时间开销。q开开放放中中断断。在中断响应时,CPU内的中断允许触发器是自动关闭的,其目的是在替换新老屏蔽字和保护现场操作时禁止一切中断,以免引起CPU现场混乱。何时允许中断,要根据前处理指令条数而定。前处理的最后一条指令是开中断指令,它将中断允许触发器置1。计算机学院10.2 程序中断输入输出方式q(2)主体部分主体部分 q中断服务程序的主体部分是根据中断源的要求编写的。q有的是进行数据传送,有的是检查设备,有的是数据传送完毕后的结束处理,根据不同情况,主体部分可以是一条指令,也可以是一段程序。计算机学院10.2 程序中断输入输出方式q(3)后处理部分后处理部分q关闭中断允许触发器关闭中断允许触发器(置置0)。这时的关闭操作用指令实现。q恢复现场。恢复现场。把前处理中压入堆栈的数据送回原来的寄存器中。q恢复中断前的屏蔽码。恢复中断前的屏蔽码。q开开放放中中断断,将CPU中的中断允许触发器置1,允许设备请求中断。这里应指出,开放中断指令中的开中断操作在硬件上延时到下一条指令执行时才完成,这样可避免断点地址的混乱。计算机学院10.2 程序中断输入输出方式q(4)中断返回中断返回q中断服务程序的最后一条指令是中断返回指令。该指令将压入堆栈中的原PC和PSW送回相应的寄存器。原程序从断点开始又继续执行下去。中断时,哪一个程序被中止,则中断返回指令执行后,哪个程序就被恢复运行。q上面所述的操作过程是一个典型的过程,但并不是一种固定不变的程式,各种机器的设计方案和硬件结构各不相同,中断处理的具体操作也就各不相同。计算机学院10.2 程序中断输入输出方式三、三、程序中断设备接口的组成和工作原理程序中断设备接口的组成和工作原理q程序中断设备接口,一般由设备选择器、中断控制和工作状态逻辑、中断排队控制逻辑、设备码回送逻辑和数据缓出寄存器等组成。接口标准化,通过总线与主机相连。q图106为某机程序中断设备接口框图。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q它包括4个D型触发器,其中两个工作状态寄存器:完成触发器(DONE)和忙触发器(BUSY);还有一个中断请求触发器(INTR)和一个中断屏蔽触发器(MASK)。q程序中断的工作过程:程序中断的工作过程:q当该设备被选中,即选中信号(SEL)为高电平时,置“1”触发器(BUSY),启动设备,同时使完成触发器(DONE)置“0”。q数据由外设传送到接口的缓冲寄存器或外设将接口缓冲寄存器中的数据取走。q当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一控制信号,将数据“准备就绪”标志DONE置“1”。计算机学院10.2 程序中断输入输出方式q如果此时屏蔽触发器为“0”态,则在CPU送来的指令结束信号RQENB的作用下,使中断请求触发器置“1”,向CPU发出中断请求信号INTR。但若中断屏蔽触发器处于“1”态,则即使DONE触发器为“1”,仍不能产生中断请求信号,直到中断屏蔽触发器为“0”态为止。中断屏蔽触发器是由IO指令利用MASK的上升边来置位或复位的。q若CPU是开中断状态则向外设发出响应中断信号INTA,并关闭中断;计算机学院10.2 程序中断输入输出方式q在中断向量逻辑中通过排队判优,将选中的设备地址或中断向量送CPU,CPU通过设备地址或中断向量形成中断程序入口地址,从而转向该设备的中断服务程序;q在中断服务程序通过输入/输出指令进行数据传送。q中断服务程序结束后CPU送来的复位(IO总清)信号IORST,将接口中的BUSY和DONE和INTR标志复位。计算机学院10.2 程序中断输入输出方式q不同机器的程序中断设备接口逻辑是不同的,但基本原理是一致的。q程序中断控制逻辑已由专用集成电路芯片实现。Intel 8259A中断控制器件的内部结构如图107所示。q它由八个部分组成:中断请求寄存器、中断状态寄存器、优先级判断器、中断屏蔽寄存器、中断控制逻辑、数据缓冲器、级联缓冲器比较器和读写逻辑。计算机学院10.2 程序中断输入输出方式计算机学院10.2 程序中断输入输出方式q八位中断请求寄存器接受外设来的中断请求(IR0一IR7),每一位表示一个外部设备的中断请求。q中断寄存器的各位送入优先级判断器,根据中断屏蔽寄存器和中断状态寄存器的状态决定最高优先级的中断请求,并将判优结果送入中断状态寄存器。如果中断请求被接受,则由控制逻辑向CPU发中断请求INT。qD0D7为双向数据线。数据缓冲器暂时保存在内部总线和系统数据总线间进行传送的数据。q每个8259A最多能控制8个外部中断信号,但可将多个8259A级联以处理多达64个中断请求。q8259A单元允许采用多种中断优先级选择方式和屏蔽方式。q8259A的中断优先级选择方式有完全嵌套方式,轮换优先级A,轮换优先级B和查询方式。计算机学院10.2 程序中断输入输出方式q8259A单元的不同工作方式是通过编程来进行选择的。CPU送出一系列的初始化控制字和操作控制字来执行选定的操作。CPU将8259A当作两个IO端口或两个存储单元来寻址,由A0端确定这些控制字存入读写逻辑中哪个控制字寄存器。q现代的计算机,无一不设置中断系统。为了提高工作的可靠性,并方便用户,一般设备的处理程序包括在操作系统中,成为IO驱动程序的一部分。在操作系统中,管理IO设备并实现输入输出功能的程序称为IO驱动程序或基本输入输出系统(BIOS)。计算机学院10.3 DMA输入输出方式一、一、DMA传输概念传输概念qDMA是IO设备与主存储器之间由硬件组成的直接数据通路,用于高速IO设备与主存之间的成组数据传送。qDMA方式即直接内存访问方式,它是完全由硬件执行I/0交换的工作方式。在这种方式下,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存与设备之间进行。因此数据交换的速度高,适用于高速成组传送数据,目前,磁盘与主存之间的数据传送,都采用DMA方式。计算机学院10.3 DMA输入输出方式二、二、DMA三种工作方式三种工作方式1、CPU暂停方式暂停方式qCPU放弃对总线的使用权,由DMA控制器管理进行数据传送。计算机学院10.3 DMA输入输出方式2、CPU周期窃取方式周期窃取方式q在CPU执行访内指令中插入DMA请求,挪用了一、二个内存周期。计算机学院10.3 DMA输入输出方式3、直接访问存储器工作方式直接访问存储器工作方式qDMA与CPU交替访内,CPU周期可分为两个分周期,一个供DMA控制器访内,一个专供CPU访内。计算机学院10.3 DMA输入输出方式三、三、DMA控制器组成控制器组成qDMA控制器基本组成如图108所示。它包括多个设备寄存器、中断控制和DMA控制逻辑等。计算机学院10.3 DMA输入输出方式q它由以下逻辑部件组成:q内存地址计数器内存地址计数器(MAR):用于存放在内存中要交换数据的地址。q外围设备地址寄存器外围设备地址寄存器(ADR):存放I/O设备的设备码。q字计数器字计数器(WC):用于记录传送数据块的长度。q数据缓冲寄存器数据缓冲寄存器(DBR):用于暂存每次的数据(一个字)。q控制与状态寄存器控制与状态寄存器(CSR):用于存放控制字和状态字。计算机学院10.3 DMA输入输出方式qDMA请请求求标标志志:当设备准备好一个字后给出一个控制信号,使DMA请求标志置1。该标志位置位后,再向控制/状态逻辑发送DMA请求,CPU响应此请求后发回响应信号HLDA。控制/状态逻辑接收到此信号后发出DMA响应信号,使DMA请求标志复位,为交换下一个字做准备。q控控制制逻逻辑辑:由控制和时序电路,以及状态标志组成,用来修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对DMA请求信号和CPU响应信号进行协调和同步。q中断逻辑中断逻辑:当一组数据交换完毕时,由溢出信号触发中断机构,向CPU提出中断报告。计算机学院10.3 DMA输入输出方式q典型的典型的DMA控制器:控制器:Intel8237A有4个DMA通道,每个通道有4种工作方式。q单字节传送方式每次DMA传送时仅传送一个字节q数据块传送方式连续地传送数据,直到规定的字节数传送完q请求传送方式请求有效,连续传送数据请求无效,DMA传送被暂时中止再次有效,DMA传送又继续q级连方式多个DMA控制器连接起来扩展DMA通道计算机学院10.3 DMA输入输出方式四、四、DMA的数据传送过程的数据传送过程qDMA的数据传送过程可分为三个阶段:qDMA传送前预处理传送前预处理、数据传送数据传送和传送后处理传送后处理,如图10.9(a)所示。图10.9(b)所示的是第二阶段数据传送过程。计算机学院10.3 DMA输入输出方式计算机学院10.3 DMA输入输出方式计算机学院10.3 DMA输入输出方式q传输阶段传输阶段外设准备好发送数据(输入)或接收数据(输出)时,向主机发DMA请求。CPU在本机器周期执行完毕后响应该请求并使CPU的总线驱动器处于高阻状态,让出主存使用权;DMA发送主存地址、读写命令;挪用一个存储周期,传送一个数据,主存地址加1,字计数器减1。判断数据是否传送完毕,即:字计数器是否为0q若字计数器不为0,撤销DMA请求,返回q若字计数器为0,则传送完毕,进入结束阶段。qDMA数据传送的流程图如下图所示。计算机学院10.3 DMA输入输出方式计算机学院10.3 DMA输入输出方式q后处理后处理 qDMA向主机发出中断请求,报告结束。一旦DMA的中断请求得到响应,CPU将停止主程序的执行,转去执行中断服务程序进行DMA操作的后处理。包括校验送入内存的数据是否正确;决定使用DMA方式传送数据还是结束传送;测试传送过程中是否发生错误。计算机学院DMADMA传送流程传送流程计算机学院10.4 通道方式和PPU方式一、通道方式一、通道方式q1、通道的基本功能通道的基本功能q(1)接受CPU的IO指令,按要求启动外设。q(2)执行通道指令。q(3)组织外设与主存间的数据传送。q(4)向CPU报告外设的状态信息和中断信息。计算机学院10.4 通道方式和PPU方式q2、通道的类型、通道的类型q根据多台设备共享通道的不同情况,可将通道分为三类:字节多路通道、选择通道和数组多路通道,如图10.10所示。计算机学院10.4 通道方式和PPU方式图10.10 IBM4300系统的结构计算机学院10.4 通道方式和PPU方式q(1)字节多路通道字节多路通道q字节多路通道主要用于连接大量的低速设备,这些设备的数据传输率很低,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。计算机学院10.4 通道方式和PPU方式q(2)选择通道选择通道q选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作,当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。q选择通道主要用于连接高速外围设备,如磁盘、磁带等,信息以成组方式高速传输。由于数据传输率很高,通道在传送两个字节之间已很少空闲,所以在数据传送期间只为一台设备服务。计算机学院10.4 通道方式和PPU方式q(3)数组多路通道数组多路通道q数组多路通道是对选择通道的一种改进,它的基本思想是当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等辅助性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。q由于数组多路通道既保留了选择通道高速传送数据的优点,又充分利用了辅助性操作的时间间隔为其他设备服务,使通道效率充分得到发挥,因此数组多路通道在实际系统中得到较多应用。计算机学院10.4 通道方式和PPU方式二、通道型二、通道型IO处理机处理机(IOP)qIOP不是一台独立的计算机,而是计算机系统中的一个部件。IOP可以和CPU并行工作,提供高速的DMA处理能力,实现数据的高速传送。此外,有些IOP还提供数据的变换、搜索和字装配分拆能力。q例如,在8位和16位微机中使用的Intel 8089 IO处理器就是这种通道型IO处理器。8089 IOP用以承担中央处理器中的IO处理、控制和实现高速数据传送任务。它的主要功能是预置和管理外围设备以及支持通常的DMA操作。它可对被传送的数据进行某些操作。例如,通过查表实现数据的变换,进行屏蔽比较等。q8089IOP的基本结构如下图所示。计算机学院10.4 通道方式和PPU方式计算机学院10.4 通道方式和PPU方式q8089提供两个IO通道。这里通道的概念与上节不同,它指数据的IO通路。每个通道都有各自的寄存器组,以便进行各自的DMA传送和处理各自的通道程序。q总线控制和裁决线路是与系统总线或局部总线的接口。它是和多总线兼容的系统接口。qIOP各部分的控制由主控制线路和ALU执行,它们形成IOP的处理器。计算机学院10.4 通道方式和PPU方式三、外围处理机三、外围处理机(PPU)q外围处理机结构更接近于一般处理机,或者就是选用已有的通用机。外围机基本上是独立于主处理机工作的,应用于大型高效率的计算机系统中。q例如,CYBERl70系列计算机的基本结构如图10.11所示。CYBER-172的外围处理机子系统包括10台外围处理机(PPU),共享12个输入输出通道,分时使用主存。每个PPU有一个4KXl3位的MOS存储器。外围处理机PP0装有系统监督程序,PP1装有操作台显示程序。每台PPU都能独立工作,执行有关的外围处理机程序,管理外围设备。各台PPU的指令系统都相同,完成算术逻辑运算、读写主存储器、与外围设备交换信息等功能。计算机学院10.4 通道方式和PPU方式计算机学院10.4 通道方式和PPU方式四、几种四、几种I/0方式的比较方式的比较q在计算机系统中,CPU管理外围设备的方式有程序查询方式、程序中断方式、DMA方式、通道方式和外围处理机方式。q其中前3种技术在现在的微型计算机系统中是非常常见的,后两种主要用于比较复杂的高档计算系统中,外围处理机方式可以看成是通道处理机的进一步扩展。如下图所示是一个分类示意图。计算机学院10.4 通道方式和PPU方式计算机学院第十章 输入输出系统计算机学院q第十章 习题END第十章 输入输出系统

    注意事项

    本文(第十章输入输出系统.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开