版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品资料第一讲:第六章 I/O 接口原理-接口、端口、编址回顾:微机系统的层次结构,CPU、主机、接口电路及外部设备之间的结构关联,输入/输出的一般概念。重点和纲要:微机系统主机与外部设备之间的数据传送,包括I/O端口的寻址方式,输入/输出的传送控制方式。教学方法、实施步骤时间分配教学手段回顾5 ” 2板书 计算机 投影仪 多媒体课件等讲授40 ” 2提问3 ” 2小结2” 2讲授内容:6. 1输入/输出数据的传输控制方式、输入/输出的一般概念1.引言输入/输出是微机系统与外部设备进行信息交换的过程。 输入/输出设备称 为外部设备,与存储器相比,外部设备有其本身的特点,存储器较为标准,而 外部
2、设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不 同,有机械式、电动式、电子式等;输入 /输出的信号类型也不相同,有数字 信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。因此,CPU与外部设备之间的信息交换技术比较复杂。CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O 端口来进行的,由于同一个外部设备与 CPU之间所要传送的信息类型不同,方向不 同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等),所以接口电路中可以设置多个端口来分别处理这些不同的信息。2 .输入/输出端口的寻址方式微机系统采用总线结构形式,即通过一组总线来
3、连接组成系统的各个功能 部件(包括CPU、内存、I/O端口),CPU、内存、I/O端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和I/O端口,是输入/输出寻址方式所要讨论解决的问题。根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1) 存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。方法:把外设的一个端口与存储器的一个单元作同等对待,每一个 I/O 端口 都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元 的读写过程一样,内存单元与I/O 端口的不同,只在于它们具有不同的的 地址。优点: CPU对I/O端口的读
4、/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。 内存与外设地址的分配,可以用统一的分布图。 不需要专门的输入、输出操作指令。缺点: 内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中 实际可以直接寻址的内存单元数减少。 一般情况下,系统中I/O端口数远小于内存单元数,所以在用直接寻址 方式来寻址这些端口时,要表示一个端口地址,必须用与表示内存单元地址相同的字节数,使得指令代码较长,相应地读/写执行时间也较长,这对 提高系统的运行速度是不利的。MOrtOrOIa 公司的M6800CPU 等
5、均采用这种寻址I/O 端口的方式。3. CPU与外设之间所传送的信息类型CPU与I/O端口之间所交换的信息,可以有下列几种类型: 数据信息:包括数字量、模拟量、开关量等,可以输入、也可以输出 状态信息:这是I/O端口送给CPU的有关本端口所对应的外设当前状 态的信息。供CPU进行分析、判断、决策。 控制信息:这是CPU送给I/O端口的控制命令,使相应的外部设备完成 特定的操作。数据信息、状态信息和控制信息是不同类型的信息,它们所起的作用也不一 样。但在8086/8088 微机系统中,这三种不同类型的信息的输入、 输出过程是 相同的。为了加以区分,可以使它们具有不同的端口地址,在端口地址相同的情
6、况下,可以规定操作的顺序,或者在输入/输出的数据中设置特征位二、CPU与外设之间输入/输出数据的传输控制方式CPU与外设之间传输数据的控制方式通常有三种:程序方式、中断方式和 DMA方式。1.程序方式指用输入/输出指令,来控制信息传输的方式,是一种软件控制方式,根 据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。无条件传送方式条件:利用程控方式与外设交换信息时,如果输入 /输出的时刻,都可以保 证外设总是处于“准备好”状态,则可以直接利用输入 /输出指令进行信息的输 入/输出操作。图5-1可编辑修改如图5-1 ,从硬件电路上来看:输入:加三态缓冲器(控制端由地址译码信号和 RD信
7、号选中,CPU用IN指令) 输出:加锁存器(控制端由地址译码信号和 WR信号选中,CPU用OUT指令) 这种方式下的硬、软件设计都比较简单,但应用的局限性较大,因为很难保 证外设在每次信息传送时都处于“准备好”状态,一般只用在诸如开关控制、七 段数码管的显示控制等场合。条件传送方式又称查询方式,即 通过程序查询相应设备的状态,若状态不符合,则CPU不能进行输入 /输出操作,需要等待; 只有当状态信号符合要求时, CPU 才能进 行相应的输入/输出操作。一般外设均可以提供一些反映其状态的信号,如对输入设备来说,它能够提供“准备好”(“ READY ”)信号,“ READY ” = 1表示输入数据
8、已准备好。输出设备则提供“忙”(“ BUSY ”)输人一个宇节至忙PUj据进行妲里结東信号,“BUSY ”= 1表示当前时刻不能接收 CPU 来的数据,只有当“ BUSY ”= 0时,才表明它可 以接受来自于CPU的输出数据。过程:输入操作的程序流程如图5-2所示:对READY的状态查询,是通过读状态端口的相应位来实现的,输出的情况 亦大致相同,这种传送控制方式的最大优点是,能够保证输入/输出数据的正确性。输入接口以输入设备将数据送入锁存,发选通信号开始, READY = 1 CPU查询 (读 READY ) 读数据 清除 READY 。 见图 5 3图5 2输出接口CPU送数据至锁存器,发选
9、通信号, a。通知外设取数据; b。BUSY 输出设备取完数据 ACK 清BUSY CPU查询。见图5 4图5-3例1假设从某输入设备上输入一组数据送缓冲区,接口电路如图5-3 ,若缓冲区已满则输出一组信息“ BoFFER OVERFLoW,然后结束。设该设备的启动地址为OFCH ,数据端口为0F8H ,状态端口为FAH。DATASEGMENTMESS1DB“ BUFFER OVERFLOWBUFFDB 60DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE:,DS :DATASTART:MOVAX , IDATAMOVDS ,AXMOVBX ,OFFSETBUFFM
10、OVCX ,60OUT0FCHI , ALWAIT:INAL ,OFAHTESTAL ,01HJZWAITINAL ,0F8HMOVBX,ALINCBXLOOPWAITMOVDX ,OFFSET MESS1MOVAH ,09HINT21HMOVAH ,4CHINT21HCODEENDSENDSTART程序如下:;送缓冲区指针;送计数初值;启动设备;查询状态,若为0,则等待;输入数据优先级问题当CPU需对多个设备进行查 询时,就出现了所谓的优先级问题, 即究竟先为哪个设备服务,一般来 讲,在这种情况下都是采用轮流查 询的方式来解决,如图5-5所示 这时的优先级是很明显的,即先查;检测缓冲区是否满
11、,不满再输入;缓冲区满,输出标志字符串图5-5询的设备具有较高的优先级。但这种优先级管理方式,也存在着一个问题,即某设备的优先级是变化的,如当为设备 B服务以后,这时即使A已准备好,它也 不理睬,而是继续查询 C,也就是说A的优先地位并不巩固(即不能保证随时 处于优先)。为了保证A随时具有较高的优先级,可采用加标志的方法,当CPU 为B服务完以后,先查询A是否准备好,若此时发现 A已准备好,立即转向对 A的查询服务,而不是为C设备服务。第二讲:I/O 接口原理-中断方式、DMA方式回顾:微机系统主机与外部设备之间的数据传送, 包括I/O端口的寻址方式,输入/输出的传送控制方式。重点和纲要:I/
12、O接口原理(中断方式、DMA方式)教学方法、实施步骤时间分配教学手段回顾5 ” 2板书 计算机 投影仪 多媒体课件等讲授40 ” 2提问3 ” 2小结2” 2讲授内容:1.中断传送方式(1)为什么要采用中断传送方式从查询式的传输过程可以看出,它的优点是硬件开销小,使用起来比较简单。 但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时, CPU就只 能循环等待,不能执行其它程序,这样就浪费了 CPU的大量时间,降低了主机 的利用率。为了解决这个矛盾,我们提出了中断传送方式:即当CPU进行主程序操作 时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路
13、向CPU发出中断请求信号,CPU在满足一定的条件下,暂 停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序, 待输入/输出操作执行完毕之后 CPU即返回继续执行原来被中断的主程序。这 样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效 率得以大大地提高。能够向CPU发出中断请求的设备或事件称为中断源微机系统引入中断机制后,使 CPU 与外设(甚至多个外设)处于并行工作状 态,便于实现信息的实时处理和系统的故 障处理。中断方式的原理示意图如图 5-6所 示O(2)中断方式下的接口电路图5-6中断方式提高了 CPU的工作效率,但是它同时也提高了系统的硬件开销
14、。因为系统需增加含有中断功能接口电路, 用来产生中断请求信号。以输入方式为 例,接口电路如图5 7所示。數据总线地址总敎TMT中斷类型码中断屏蔽數鬲总线ii图5-7数据输入的过程:当外设发STB 数据入锁存器,中断请求触发器置1 若 没有屏蔽则产生INTR CPU满足条件(允许中断;指令执行完)发INTA (进 入中断服务子程序)读数据,发RD ,和地址清中断请求触发器,数据送Do D7 o (输出过程请自己思考)(3)中断优先级 问题的提出:当系统中有多个设备提出中断请求时,就有一个该响应谁的问题,也就是个优先级的问题,解决优先级的问题一般可有三种方法: 软件查询法、简单硬件 方法及专用硬件
15、方法。下面分别介绍: 软件查询法只需有简单的硬件电路,如 将A、B、C三台设备的中断请 求信号“或”后作为系统INTR, 这时,A、B、C三台设备中只 要至少有一台设备提出中断请 求,都可以向CPU发中断请求。 进入中断服务子程序后,再用软 件查询的方式分别对不同的设 备的服务,查询程序的设计思想 同查询式,查询的前后顺序就给 出了设备的优先级,框图如图所 示O 简单硬件方法以链式中断优先权排队电 路为例,基本设计思想:将所有的 设备连成一条链,靠近CPU的 设备优先级最高,越远的设备优 先级别越低,则发出中断响应信 号,若级别高的设备发出了中断 请求,在它接到中断响应信号的 同时,封锁其后的
16、较低级设备使 得它们的中断请求不能响应,只 有等它的中断服务结束以后才 开放,允许为低级的设备服务。 如图所示。保护观场恢复现场T中断输出Ei中断辐出3中断输出4专用硬件方式采用可编程的中断控制器芯片,如In tel8259A中断腔制韶Ci6图5-11中断控制器的系统连接有了中断控制器以后,CPU的INTR和INTA引脚不再与接口直接相连,而 是与中断控制器相连,外设的中断请求信号通过IRoIR7进入中断控制器,经优先级管理逻辑确认为级别最高的那个请求的类型号会经过中断类型寄存器在 当前中断服务寄存器的某位上置1,并向CPU发INTR请求,CPU发出INTA信 号后,中断控制器将中断类型码送出
17、。 在整个过程中,优先级较低的中断请求都 受到阻塞,直到较高级的中断服务完毕之后,当前服务寄存器的对应位清0 ,较低级的中断请求才有可能被响应。电路如图图5-11所示。利用中断控制器可以通过编程来设置或改变其工作方式,使用起来方便灵 活。(4).中断响应中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件 下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。 然后, 根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段, 这就是中断响应。注意:CPU响应中断是有条件的,如内部允许中断、中断未被屏蔽、当前指令 执行完等。(5)中断服务子程序CPU响应
18、中断以后,就会中止当前的程序,转去执 行一个中断服务子程序,以完成为相应设备的服务。中 断服务子程序的一般结构如图5-12所示。 保护现场(由一系列的PUSH指令完成)。目的 是为了保护那些与主程序中有冲突的寄存器,(如AX, BX,CX等),如果中断服务子程序中所使用的寄存器与 主程序中所使用的寄存器等没有冲突的话,这一步骤可 以省略。 开中断(由STI指令实现)。目的是为了能实现中断 的嵌套。 中断服务图5-12中断服务子程序的流程 恢复现场(由一系列的POP指令完成)。是与保护现场对应的,但要注意数 据恢复的次序,以免混乱。 返回(使用中断返回指令IRET )。不能使用一般的子程序返回指
19、令 RET, 因为IRET指令除了能恢复断点地址外,还能恢复中断响应时的标志寄存器的 值,而这后一个动作是RET指令不能完成的。中断的工作过程可分为五大步骤:即中断请求、中断判优、中断响应、中断服务和中断返回 2. DMA传送方式利用中断进行信息传送,可以大大提高 CPU的利用率,但是其传送过程必 须由CPU进行监控。每次中断,CPU都必须进行断点及现场信息的保护和恢复 操作,这些都是一些额外的操作,会占用一定的CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求,这时应采用直接数据通道传送,即DMA数据传送方式。D
20、MA (DireCt MemOry ACCeSS ) 意为直接数据传送,它是在内存的不同 区域之间,或者在内存与外设端口之间直接进行数据传送,而不经过CPU中转的一种数据传送方式,可以大大提高信息的传送速度。DMA方式传送的主要步骤(见图5-13的流程图)图5-13DMA 的工作流程图 外设准备就绪时,向DMA控制器发DMA请求,DMA控制器接到此信号后,向 CPU发DMA请求; CPU接到HoLD请求后,如果条件允 许(一个总线操作结束),则发出HLDA信号 作为响应,同时,放弃对总线的控制; DMA控制器取得总线控制权后,往地址 总线发送地址信号,每传送1个字节,就会自 动修改地址寄存器的
21、内容,以指向下一个要传 送的字节; 每传送一个字节,字节计数器的值减1, 当减到0时,DMA过程结束;DMA控制器向CPU发结束信号,将总线控制权交回 CPUDMA传送控制方式,解决了在内存的不同区域之间,或者内存与外设之间 大量数据的快速传送问题,代价是需要增加专门的硬件控制电路, 称为DMA控 制器,其复杂程度与CPU相当。习题与思考:1. CPU与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?它有哪两种 基本方式?请分别用流程图的形式描述出来。2试从程序转移的角度比较中断控制与子程序调用这两种处理过程,它们有哪些根本 区别?又有哪些相似之处?3.用查询式将DATA开始的存贮区的1
22、00个字节数据在FCH端口输出,完成程序, 状态端口地址为:FFH。4 .什么是接口?什么是端口?在 8086/8088微机系统中,CPU是如何实现端口寻址的?5 简述链式中断优先级排队电路的工作过程?6 中断处理的主要步骤有哪些?试说明每一步的主要动作。第三讲:6. 38086/8088 中断系统回顾:微机系统主机与外部设备之间的数据传送控制方式,中断的概念及处理过程。重点和纲要:8086/8088 中断系统。教学方法、实施步骤时间分配教学手段回顾5 ” 2板书 计算机 投影仪 多媒体课件等讲授35 ” 2提问3 ” 2小结2” 2讨论5 ” 2讲授内容:6. 3 8086/8088中断系统
23、一、中断分类及中断类型码皿源:引起中断的原因或发出中断请求的设备称为中断源。1. 中断的分类共分为两类:硬件中断和软件中断 硬件中断:即通过外部的硬件产生的中断,如打印机、键盘等,有时也称为外部中断。硬件中断又可分为两类:可屏蔽中断和不可屏蔽中断。不可屏蔽中断:由NMl弓I脚引入,它不受中断允许标志的影响,每个系统中仅允许有一个,都是用来处理紧急情况的,如掉电处理。这种中断一旦发生,系统会立即响应;可屏蔽中断:由INTR引脚引入,它受中断允许标志的影响,也就是说,只有当 IF = 1时,可屏蔽中断才能进入,反之则不允许进入,可屏蔽中断可有多个,一 般是通过优先级排队,从多个中断源中选出一个进行
24、处理。INT n指令 软件中断(内部中断):即根据某条指令或者对标志寄存器中某个标志的 设置而产生,它与硬件电路无关,常见的如除数为O ,或用INT n指令产生。非屏蔽中断请求NMlINTRINT 3指令中断逻辑中断控制系统(8259A )可屏蔽中断请求软件中断硬件中断溢出中断由INTO指令引起断点中断由INT3指令引起单步由标志TF引起不对应指令除0由计算结果引起/不对应指令2. 中断类型码:8086/8088 为每个中断源分配了一个中断类型码,其取值范围为0255, 即可处理56种中断。其中包括软件中断,系统占用的中断以及开放给用户使用 的中断。二、中断向量和中断向量表系统处理中断的方法很
25、多,处理中断的步骤中最主要的一步就是如何根据不 同的中断源进入相应的中断服务子程序,目前用的最多的就是向量式中断。中断向量:把各个中断服务子程序的入口都称为一个中断向量;中断向量表:将这些中断向量按一定的规律排列成一个表, 就是所谓的中断向量 表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。8086/8088 中断系统中的中断向量表 是位于0段的03FFFH的存贮区内,每 个中断向量占四个单元,其中前两个单元存 放中断处理子程序的入口地址的偏移量(IP),低位在前,高位在后;后两个单元 存放中断处理子程序入口地址的段地址(CS),也是低位在前,高位在后,
26、整个中 断向量的排列是按中断类型号进行的。见P图 5-14。图示给出了中断类型码与中断向量所在 位置之间的对应关系。其中 00H04H为 专用中断,05H3FH为系统保留中断,用户一般是不能对它们定义的(这里面有一些为固定的用途,如INT 21H即为 MS DOS图 5-14的系统调用),40FF为用户定义的中断。QQH04H系统专用10H 1FH BIQS 用40HFFH用户用08HQFH硬件中断20H3FH DQS用中断类型号* 4即可计算某个中断类型的中断向量在整个中断向量表中的位置。如类型号为20H ,则中断向量的存放位置为20H * 4 = 80H,(设中断服务 子程序的入口地址为
27、4030 : 2010 ,则在0000 : 0080H0000 : 0083H 中 就应顺序放入10H、20H、30H、40H。当系统响应20H号中断时,会自动查 找中断向量,找出对应的中断向量装入 CS、IP ,即转入该中断服务子程序。三、中断响应过程与时序8086/8088 对软件中断和硬件中断响应的过程是不同的,这是由于软件中 断和硬件中断所产生的原因不同,下面主要讨论硬件中断的情况。1. 硬件中断的响应过程硬件中断指的是由NMl弓I脚进入的非屏蔽中断或由INTR引脚进入的可屏 蔽中断。下面以可屏蔽中断为例。CPU在INTR引脚上接到一个中断请求信号,如果此时 IF = 1,CPU就会
28、在当前指令执行完以后开始响应外部的中断请求, 这时,CPU在INTA引脚连续 发两个负脉冲,外设在接到第二个负脉冲以后,在数据线上发送中断类型码,接 到这个中断类型码后,CPU做如下动作:将中断类型码放入暂存器保存; 将标志寄存器内容压入堆栈,以保护中断时的状态; 将 IF 和 TF 标志清 0 ,目的是防止在中断响应的同时又来别的中断,而将 TF 清0 是为了防止 CPU 以单步方式执行中断处理子程序。这时要特别提醒,因 为 CPU 在中断响应时自动关闭了 IF 标志,因此用户如要进行中断嵌套时, 必须在自己的中断处理子程序中用开中断指令来重新设置 IF; 保护断点,断点指的是在响应中断时,
29、主程序当前指令下面的一条指令的地址。 因此保护断点的动作就是将当前的 IP 和 CS 的内容入栈,保护断点是为了以 后正确地返回主程序; 根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入IP和 CS ,即呆自动转向中断服务子程序。对NMl进入的中断请求,由于其类型码固定为 2,因此CPU不用从外设读 取类型码,也不需计算中断向量表的地址,只要将中断向量表中OOOO : 0008H 0000 :000BH 单元内容分别装入 IP 和 CS 即可。图 5-15 给出了 8O86/8O88 中断响应过程的流程图,对这个图我们做几点说明: 8086/8088 除软件中断外,内部“非屏蔽
30、中断”、“可屏蔽中断”均设立有优先级,其中 内中(除单步外)即 0、1、3、4号中断的优先级高于非屏蔽中断,非屏蔽中断高于 可屏蔽中断,单步中断优先级最低; 只有在可屏蔽中断的情况下才判 IF = 1 ?,才取中断类型码,其余的没有这个动作。 关于单步中断, 它是每执行一条指令中断一次, 显示出当时各寄存器的内容, 供用户参考,当进入单步中断响应时, CPU自动清除了 TF ,在中断返回后,由于恢复了响应时的标志 寄存器的值,因此 TF = 1 ,执行完一条指令后又进入单步中断,直到程序将TF改为0为止。 关于中断的嵌套, NMI 总是可以响应的, 若在中断处理子程序中设立了开中断指令, INTR 的请求也能响应。 弹出IP、CS、标志,返回断点的动作由 IRET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Oracle实施顾问技能提升培训计划
- 健康管理师培训计划
- UI设计作品集评审报告
- IT基础设施工程师服务台管理实践
- 企业风险管理与合规建设方案
- 会计从业者职业道德与法律知识培训
- 企业员工管理与激励方法
- 健康管理与心理调适方法
- 仓储分析师岗位核心能力模型
- 产品研发流程优化方案及时间节点
- 工程图学发展史
- 买地做坟地合同协议书
- Unit 8 Lets Communicate 单元检测卷(含答案含听力原文)-2025人教版八年级英语上册
- 2025年北京市海淀区高一(下)期末考试数学试卷(含答案)
- 翁源辅警考试题库2025(有答案)
- 2025年医院三基三严护理理论考试试题及答案
- 2025保安证考试试题及答案集合
- 2025年全国矿山安全生产事故情况
- 新《公司法》下国有企业外部董事履职问题与对策
- 2025年粮油仓储管理员技能竞赛试题
- CJ/T 317-2009地源热泵系统用聚乙烯管材及管件
评论
0/150
提交评论