第十章输入输出结构演示教学

上传人:yuzo****123 文档编号:137414965 上传时间:2020-07-08 格式:PPT 页数:86 大小:910.50KB
返回 下载 相关 举报
第十章输入输出结构演示教学_第1页
第1页 / 共86页
第十章输入输出结构演示教学_第2页
第2页 / 共86页
第十章输入输出结构演示教学_第3页
第3页 / 共86页
第十章输入输出结构演示教学_第4页
第4页 / 共86页
第十章输入输出结构演示教学_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《第十章输入输出结构演示教学》由会员分享,可在线阅读,更多相关《第十章输入输出结构演示教学(86页珍藏版)》请在金锄头文库上搜索。

1、1,第十章 输入输出结构,10.1 异步数据传输 10.2 可编程I/O 10.3 中断 10.4 直接存储器访问 10.5 I/O处理器 10.6 串行通信 10.7 实例:串行通信标准,同济大学 软件学院,2,输入/输出设备通过系统的地址总线、数据总线、控制总线和CPU相连(如图10.1),图10.1 CPU与I/O设备的连接,10.1 异步数据传输,3,1. I/O接口的基本功能 实现主机和外设之间的数据传送控制。 如同步控制、设备选择、中断控制和DMA控制 (2) 实现数据缓冲,以达到主机与外设之间的速 度匹配。 (3) 接受主机的命令,提供设备接口的状态,并 按照主机的命令控制设备。

2、,4,2. I/O接口类型 (1)按照数据传送的宽度可分为 并行接口和串行接口 (2)按照数据传送的控制方式可分为 直接程序控制、程序中断、DMA 通道、外围处理机 (3)按照时序控制方式可分为 同步接口和异步接口,6,10.1.1 不带握手的源启动数据传送,源设备 输出数 据,选通一个控制信号并维持一段时间,目的设备读入数据,源设备使控 制信号和数 据无效,图10.2 不带握手的源启动数据传送 (a)时序,7,实现源数据传送更新LED的电路如图10.2(b),图10.2 不带握手的源启动数据传送:(b)实现,8,10.1.2 不带握手的目的启动的数据传送,目的设备传输选通信号给源设备,一段时

3、间后源设备使数据有效,并将数据稳定一段时间,目的设备读入数据后置数据选通信号无效,源设备停止传输有效数据,图10.3 不带握手的目的启动数据传送 (a)时序,9,实现目的数据传送更新LED的电路如图10.3(b),图10.3 不带握手的目的启动数据传送:(b)实现,10,10.1.3 握 手,不带握手的数据传送无需确认数据收到, 适合于在规定的时间内传送。 当每次传送所花费的时间不同时,设备可 采用握手方式来协调数据传送。,11, 带握手的源启动数据传送,源设备置数据请求信号为高,然后使有效数据可用,数据稳定后,目的设备读取此数据,目的设备读完数据,就发送一个数据确认信号给源设备,源设备停止传

4、输有效数据,目的设备复位数据确认信号,图10.4 带握手的源启动数据传送 (a)时序,12,图10.4 带握手的源启动数据传送:(b)实现,13, 带握手的目的启动数据传送,目的设备传输一个数据选通信号,源设备使有效数据可用,数据稳定后,目的设备读取此数据,目的设备读完数据,就发送一个数据准备就绪信号给源设备,源设备停止传输有效数据,目的设备复位数据准备就绪信号,图10.5 带握手的目的启动数据传送 (a)时序,14,图10.5 带握手的目的启动数据传送:(a)时序和(b)实现,数据请求,数据准备就绪,15, 可编程I/O(programmed I/O) 用指令编程来控制CPU输入或输出数据。

5、 可编程I/O的特点,10.2 可编程I/O,何时何地进行输入/输出完全受CPU控制; 数据的输入输出都要经过CPU; 用于连接低速外围设备。,16,独立编址 有专门的指令访问I/O端口。 存储器编址 把I/O端口视为存储器的一个单元,采用 存储器存取指令即可访问它们。, 可编程I/O的编址方式,17,相对简单CPU,其结构不能采用独立的I/O方式,但可利用存储器编址I/O方式。 例:执行指令LDAC FFFF 为了实现此I/O端口,设计硬件如图10.6。,图10.6 地址为FFFFH的输入端口,当地址总线上的值为FFFFH,控制信号READ=1时,三态缓冲器才选通,18,修改相对简单CPU以

6、支持独立的I/O方式:, 必须在CPU指令集中增加输入、输出指令; 产生必要的新控制信号; 在状态图中增加新状态; 开发RTL代码支持新状态; 修改寄存器、ALU和控制单元硬件来支持新的指令。,19,1.增加两条新指令 一条输入数据 一条输出数据,表10.1 相对简单CPU的独立I/O指令,20,2. 增加一个新控制信号IO IO=1时为I/O操作,IO=0时为存储器操作 3. 新状态与RTL代码,图10.8 实现INPT指令执行周期的状态,INPT1:DRM,PCPC+1, ARAR+1 INPT2:TRDR,DRM, PCPC+1 INPT3:ARDR,TR INPT4:DR输入端口 IN

7、PT5:ACDR,21,4 .硬件的修改 (1)修改寄存器 (2)修改ALU (3)修改控制单元,图10.9 产生INPT执行周期的状态信号的硬件,22, 计数器控制信号修改 INC=(INC原有值) INPT1 INPT2 INPT3 INPT4 CLR=(CLR原有值) INPT5 组合INPT1状态所需进行的修改 DRLOAD=(DRLOAD原有值) INPT1 MEMBUS=(MEMBUS原有值) INPT1 PCINC=(PCINC原有值) INPT1 ARINC=(ARINC原有值) INPT1 设定为IO=INPT4 存储器读=READ IO,23,直接程序控制方式可分为两种传送

8、方式: (1)直接传送方式 CPU在控制与外设之间的数据传送之前,不需了解外设的工作状态,即可直接执行I/0指令,实现数据传送。 直接传送方式无需查询设备的任何状态,也无需考虑同步问题。也称为无条件传送方式。多用于I/0操作时间固定且已知的情况下。,24,(2)程序查询方式 CPU向I/O设备发传送数据的请求信号。 I/O设备处理该请求,当其准备传送数据时, 就置位设备准备就绪信号。 CPU通过另一个I/O地址读此信号并检查其值。 如果信号置位,CPU执行数据传送。如果未置 位,则循环等待,继续读取并检查设备准备就 绪信号的值。,25,例:考察相对简单CPU的一个输入设备 (1) 输入/输出指

9、令 INPT(ACINPUT PORT ) OTPT(OUT PORT AC) (2)设备有三个I/O端口:两个输入、一个输出。 输出端口:1001H中输出01H值,启动一个请求。 输入端口:1002H(查询该端口直至其最低位置1) 1000H(从中读取数据),26,图10.10 采用查询方式实现I/O端口的硬件,输出端口:1001H中输出01H值,启动一个请求。 输入端口:1002H(查询该端口直至其最低位置1) 1000H(从中读取数据),27,CLAC INAC (AC1) MOVR (R1) OTPT 1001H( 01H address 1001H) LOOP: INPT 1002H

10、(Check whether the device is ready) AND(AC=1 and Z=0 if device is ready) JMPZ LOOP (If device not ready,AC=0 and Z=1,loop back) INPT 1000H(Device is ready,input data),28, 中断 中断是由I/O设备或其他非预期的急需处 理的事件引起的,它使CPU暂时中断现在正在 执行的程序,而转至另一服务程序去处理这 些事件。处理完后再返回原程序。,10.3 中 断,10.3.1 CPU和I/O设备之间的数据传送 1. 解决I/O设备变化延迟

11、查询,29,(5) 实现实时处理; (6) 实现应用程序和操作系统的联系; (7) 多处理机系统各处理机间的联系。,2. 中断输入输出方式的特点 (1) CPU与I/O并行工作; (2) 硬件故障处理; (3) 实现人机对话; (4) 实现多道程序和分时操作;,30,10.3.2 中断类型 外部中断 CPU采用外部中断与输入/输出设备进行交互。 内部中断 内部中断完全发生在CPU内部,没有任何 输入/输出设备介入。 软中断 由CPU指令集中的特定中断指令产生。,31,10.3.3 中断处理 1. 中断源 引起中断的事件或者发出中断请求的来源。 2. 中断源如何提出请求? (1) 中断请求信号的

12、建立 中断触发器 每个中断源对应有一个中断触发器。 多个中断触发器构成中断寄存器,其内容称 为中断字或中断码。,32,(2) 中断请求信号的传送 三种方案: 单独设置中断请求线 快速响应、中断请求线数目有限 一根公共中断请求线 兼有公共请求线与独立请求线 将中断源分级或分组 (3) 中断响应信号,33,3. 中断的优先级 设计中断系统时,应将全部中断源按中断 性质和处理的轻重缓急进行排队并给以优先级。 (1) 优先级 指多个中断发生时,对中断响应的次序。 (2)判优的实现 软件查询 中断排队逻辑,34,4.中断的允许与禁止 中断允许 中断源有中断请求信号就可使其对应的 中断触发器置“1”状态或

13、参加排队判优。 中断禁止 中断源即使有中断请求信号也不能使其 对应中断触发器置“1”状态或不允许参加排 队判优。 5. 中断服务程序:处理中断工作的服务软件。,35,6. 中断处理过程(中断响应与中断处理) 从某一个中断源发出中断服务请求,到这个 请求全部处理完成所经过的主要过程。 (1) 中断查询 CPU在一条指令周期内要查询一次是否有中 断产生。 (2) 中断响应 关中断 保存断点 转入中断服务程序,36,获取中断服务程序地址: 向量中断 中断向量:中断服务程序的入口地址以及 程序状态字的合称。,程序状态字PSW:用来表征处理机运行程序的状态。 一般应包含如下内容:,37,编 码,38,

14、非向量中断 CPU在响应中断时只产生一个固定的地址,该 地址是中断查询程序的入口地址,CPU转去执行查 询程序,通过软件查询确定中断源,然后执行相应 的中断服务程序。 查询程序:又称中断总服务程序。,39,(3) 执行中断服务程序 保存现场 开CPU中断 执行中断服务程序 关CPU中断 恢复现场 恢复屏蔽码 恢复PSW、PC 开CPU中断 返回断点,40,10.3.4 中断硬件和优先级 1. 单个设备的简单系统 非向量中断,图10.11 单个设备的非向量中断(a)硬件 (b)时序,41, 向量中断,图10.12 单个设备的向量中断 (a)硬件 (b)时序,42,图10.13 多个非向量中断的硬

15、件,每个设备均有自己的IRQ和IACK信号 他们的优先级是预定的 ,IRQn优先级最高 CPU首先响应和服务优先级最高的中断,2. 多个设备的系统 非向量中断,43, 向量中断 菊花链:用于多中断优先权排队的一种方法。,图10.14 菊花链,简单易实现 便于扩充 延迟大,44,并行优先权排队 通过一个优先权编码器采用并行优先权排队(parallel priority)方式实现向量中断,减少延迟。 扩展困难。,菊花链将引起硬件延迟,特别是当链较长时,延迟就更大。,45,图10.15 并行方式实现优先级中断,防止干 扰信号,46,10.3.5 多重中断处理 多重中断是指在处理某一中断过程中又发生了新的中断,从而中断该服务程序的执行,又转去进行新的中断处理。这种重叠处理中断的现象又称中断嵌套。 中断响应次序与中断处理次序 中断响应次序是由硬件排队判优线路决定的, 不能改变,而中断处理次序可由屏蔽码决定,是可 以改变的。 中断处理次序可以不同于中断响应次序。,47,48,例如:某计算机的中断系统有4级中断优先级,每 级对应一个屏蔽码,下表为程序级别和屏蔽码的关 系,中断响应次序和处理次序一致,均为: 1 2 3 4,49,50,按照这一次序可以看到CPU运动的轨迹,如下图。,51,中断处理次序改为:1 4 3 2,52,

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

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

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