最新十章输入输出结构ppt课件.ppt





《最新十章输入输出结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新十章输入输出结构ppt课件.ppt(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十章输入输出结构十章输入输出结构2 输入输入/ /输出设备通过系统的地址总线、数据总输出设备通过系统的地址总线、数据总线、控制总线和线、控制总线和CPUCPU相连(如图相连(如图10.110.1)图图10.1 CPU与与I/O设备的连接设备的连接10.1 异步数据传输9实现目的数据传送更新实现目的数据传送更新LEDLED的电路如图的电路如图10.310.3(b b) 图图10.3 不带握手的目的启动数据传送:(不带握手的目的启动数据传送:(b)实现)实现1010.1.3 握 手l不带握手的数据传送无需确认数据收到,不带握手的数据传送无需确认数据收到, 适合于在规定的时间内传送。适合于在规定的时
2、间内传送。l当每次传送所花费的时间不同时,设备可当每次传送所花费的时间不同时,设备可 采用握手方式来协调数据传送。采用握手方式来协调数据传送。 11 带握手的源启动数据传送带握手的源启动数据传送源设备置数源设备置数据请求信号据请求信号为高,然后为高,然后使有效数据使有效数据可用可用 数据稳定数据稳定后,目的后,目的设备读取设备读取此数据此数据 目的设备读目的设备读完数据,就完数据,就发送一个数发送一个数据确认信号据确认信号给源设备给源设备源设备停止传源设备停止传输有效数据,输有效数据,目的设备复位目的设备复位数据确认信号数据确认信号图图10.4 带握手的源启动数据传送带握手的源启动数据传送 (
3、a)时序)时序12图图10.4 10.4 带握手的源启动数据传送:(带握手的源启动数据传送:(b b)实现)实现13 带握手的目的启动数据传送带握手的目的启动数据传送目的设备传目的设备传输一个数据输一个数据选通信号,选通信号,源设备使有源设备使有效数据可用效数据可用 数据稳定数据稳定后,目的后,目的设备读取设备读取此数据此数据 目的设备读目的设备读完数据,就完数据,就发送一个数发送一个数据准备就绪据准备就绪信号给源设信号给源设备备源设备停止传源设备停止传输有效数据,输有效数据,目的设备复位目的设备复位数据准备就绪数据准备就绪信号信号图图10.5 带握手的目的启动数据传送带握手的目的启动数据传送
4、 (a)时序)时序14图图10.5 10.5 带握手的目的启动数据传送:(带握手的目的启动数据传送:(a a)时序和()时序和(b b)实现)实现数据请求数据准备就绪15 可编程可编程I/OI/O(programmed I/Oprogrammed I/O)用指令编程来控制用指令编程来控制CPUCPU输入或输出数据。输入或输出数据。 可编程可编程I/OI/O的特点的特点10.2 可编程I/O 何时何地进行输入何时何地进行输入/ /输出完全受输出完全受CPUCPU控制;控制; 数据的输入输出都要经过数据的输入输出都要经过CPUCPU; 用于连接低速外围设备。用于连接低速外围设备。16l 独立编址独
5、立编址 有专门的指令访问有专门的指令访问I/OI/O端口。端口。 l 存储器编址存储器编址 把把I/OI/O端口视为存储器的一个单元,采用端口视为存储器的一个单元,采用 存储器存取指令即可访问它们。存储器存取指令即可访问它们。 可编程可编程I/OI/O的编址方式的编址方式 17 相对简单相对简单CPUCPU,其结构不能采用独立的,其结构不能采用独立的I/OI/O方式,方式,但可利用存储器编址但可利用存储器编址I/OI/O方式。方式。 例:执行指令例:执行指令LDAC FFFFLDAC FFFF 为了实现此为了实现此I/OI/O端口,设计硬件如图端口,设计硬件如图10.610.6。图图10.6
6、地址为地址为FFFFH的输入端口的输入端口当地址总线上的值为当地址总线上的值为FFFFH,控制信号,控制信号READ=1时,三态缓冲器才选通时,三态缓冲器才选通 18修改相对简单CPU以支持独立的I/O方式: 必须在必须在CPUCPU指令集中增加输入、输出指令;指令集中增加输入、输出指令; 产生必要的新控制信号;产生必要的新控制信号; 在状态图中增加新状态;在状态图中增加新状态; 开发开发RTLRTL代码支持新状态;代码支持新状态; 修改寄存器、修改寄存器、ALUALU和控制单元硬件来支持新的指令。和控制单元硬件来支持新的指令。191.增加两条新指令 一条输入数据一条输入数据 一条输出数据一条
7、输出数据指令指令指令码指令码操作操作INPTINPT0010 00000010 0000ACAC输入端口输入端口OTPTOTPT0010 00010010 0001输出端口输出端口ACAC表表10.1 相对简单相对简单CPU的独立的独立I/O指令指令202. 增加一个新控制信号IO IO=1IO=1时为时为I/OI/O操作,操作,IO=0IO=0时为存储器操作时为存储器操作 3. 新状态与RTL代码图图10.8 实现实现INPT指令执行周期的状态指令执行周期的状态INPT1INPT1:DRMDRM,PCPC+1PCPC+1, ARAR+1ARAR+1INPT2INPT2:TRDRTRDR,DR
8、MDRM, PCPC+1PCPC+1INPT3INPT3:ARDRARDR,TRTRINPT4INPT4:DRDR输入端口输入端口INPT5INPT5:ACDR ACDR 214 .硬件的修改 (1 1)修改寄存器)修改寄存器(2 2)修改)修改ALUALU(3 3)修改控制单元修改控制单元 图图10.9 产生产生INPT执行周期的状态信号的硬件执行周期的状态信号的硬件22 计数器控制信号修改计数器控制信号修改 INC=INC=(INCINC原有值)原有值) INPT1 INPT2 INPT1 INPT2 INPT3 INPT4 INPT3 INPT4 CLR= CLR=(CLRCLR原有值)
9、原有值) INPT5 INPT5 组合组合INPT1INPT1状态所需进行的修改状态所需进行的修改 DRLOAD=DRLOAD=(DRLOADDRLOAD原有值)原有值) INPT1 INPT1 MEMBUS= MEMBUS=(MEMBUSMEMBUS原有值)原有值) INPT1 INPT1 PCINC= PCINC=(PCINCPCINC原有值)原有值) INPT1 INPT1 ARINC= ARINC=(ARINCARINC原有值)原有值) INPT1 INPT1 设定为设定为IO=INPT4IO=INPT4 存储器存储器读读=READ IO=READ IO23直接程序控制方式可分为两种传
10、送方式:(1 1)直接传送方式)直接传送方式 CPUCPU在控制与外设之间的数据传送之前,不需了解在控制与外设之间的数据传送之前,不需了解外设的工作状态,即可直接执行外设的工作状态,即可直接执行I/0I/0指令,实现数据传指令,实现数据传送。送。 直接传送方式无需查询设备的任何状态,也无需考直接传送方式无需查询设备的任何状态,也无需考虑同步问题。也称为无条件传送方式。多用于虑同步问题。也称为无条件传送方式。多用于I/0I/0操作操作时间固定且已知的情况下。时间固定且已知的情况下。24(2 2)程序查询方式)程序查询方式 CPUCPU向向I/OI/O设备发传送数据的请求信号。设备发传送数据的请求
11、信号。 I/OI/O设备处理该请求,当其准备传送数据时,设备处理该请求,当其准备传送数据时, 就置位设备准备就绪信号。就置位设备准备就绪信号。 CPUCPU通过另一个通过另一个I/OI/O地址读此信号并检查其值。地址读此信号并检查其值。 如果信号置位,如果信号置位,CPUCPU执行数据传送。如果未置执行数据传送。如果未置 位,则循环等待,继续读取并检查设备准备就位,则循环等待,继续读取并检查设备准备就 绪信号的值。绪信号的值。 25例:例:考察考察相对简单相对简单CPUCPU的一个输入设备的一个输入设备 (1 1) 输入输入/ /输出指令输出指令 INPTINPT(ACINPUT PORT A
12、CINPUT PORT ) OTPTOTPT(OUT PORT ACOUT PORT AC) (2 2)设备有三个)设备有三个I/OI/O端口:两个输入、一个输出。端口:两个输入、一个输出。 输出端口:输出端口:1001H1001H中输出中输出01H01H值,启动一个请求。值,启动一个请求。 输入端口:输入端口:1002H1002H(查询该端口直至其最低位置(查询该端口直至其最低位置1 1) 1000H1000H(从中读取数据)(从中读取数据)26图图10.10 10.10 采用查询方式实现采用查询方式实现I/OI/O端口的硬件端口的硬件 输出端口:输出端口:1001H1001H中输出中输出0
13、1H01H值,启动一个请求。值,启动一个请求。输入端口:输入端口:1002H1002H(查询该端口直至其最低位置(查询该端口直至其最低位置1 1) 1000H1000H(从中读取数据)(从中读取数据)27 CLAC INAC (AC1) MOVR (R1) OTPT 1001H( 01H address 1001H)LOOP: INPT 1002H(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 bac
14、k) INPT 1000H(Device is ready,input data)28 中断中断 中断是由中断是由I/OI/O设备或其他非预期的急需处设备或其他非预期的急需处 理的事件引起的,它使理的事件引起的,它使CPUCPU暂时中断现在正在暂时中断现在正在 执行的程序,而转至另一服务程序去处理这执行的程序,而转至另一服务程序去处理这 些事件。处理完后再返回原程序。些事件。处理完后再返回原程序。10.3 中 断10.3.1 CPU和I/O设备之间的数据传送1. 解决I/O设备变化延迟 查询查询29(5) (5) 实现实时处理;实现实时处理;(6) (6) 实现应用程序和操作系统的联系;实现应
15、用程序和操作系统的联系;(7) (7) 多处理机系统各处理机间的联系。多处理机系统各处理机间的联系。2. 2. 中断输入输出方式的特点 (1) CPU(1) CPU与与I/OI/O并行工作;并行工作; (2) (2) 硬件故障处理;硬件故障处理; (3) (3) 实现人机对话;实现人机对话; (4) (4) 实现多道程序和分时操作;实现多道程序和分时操作; 3010.3.2 中断类型 外部中断外部中断 CPUCPU采用外部中断与输入采用外部中断与输入/ /输出设备进行交互。输出设备进行交互。 内部中断内部中断 内部中断完全发生在内部中断完全发生在CPUCPU内部,没有任何内部,没有任何 输入输
16、入/ /输出设备介入。输出设备介入。 软中断软中断 由由CPUCPU指令集中的特定中断指令产生。指令集中的特定中断指令产生。 3110.3.3 中断处理 1. 中断源 引起中断的事件或者发出中断请求的来源。引起中断的事件或者发出中断请求的来源。 2. 中断源如何提出请求? (1) (1) 中断请求信号的建立中断请求信号的建立 中断触发器中断触发器 每个中断源对应有一个中断触发器。每个中断源对应有一个中断触发器。 多个中断触发器构成中断寄存器,其内容称多个中断触发器构成中断寄存器,其内容称 为为中断字或中断码中断字或中断码。 32(2) (2) 中断请求信号的传送中断请求信号的传送 三种方案:三
17、种方案: 单独设置中断请求线单独设置中断请求线 快速响应、中断请求线数目有限快速响应、中断请求线数目有限 一根公共中断请求线一根公共中断请求线 兼有公共请求线与独立请求线兼有公共请求线与独立请求线 将中断源分级或分组将中断源分级或分组(3) (3) 中断响应信号中断响应信号333. 中断的优先级 设计中断系统时,应将全部中断源按中断设计中断系统时,应将全部中断源按中断 性质和处理的轻重缓急进行排队并给以优先性质和处理的轻重缓急进行排队并给以优先级级。 (1)(1) 优先优先级级 指多个中断发生时,对中断响应的次序。指多个中断发生时,对中断响应的次序。 (2)(2)判优的实现判优的实现 软件查询
18、软件查询 中断排队逻辑中断排队逻辑344.中断的允许与禁止 中断允许中断允许 中断源有中断请求信号就可使其对应的中断源有中断请求信号就可使其对应的 中断触发器置中断触发器置“1”1”状态或参加排队判优。状态或参加排队判优。 中断禁止中断禁止 中断源即使有中断请求信号也不能使其中断源即使有中断请求信号也不能使其 对应中断触发器置对应中断触发器置“1”1”状态或不允许参加排状态或不允许参加排 队判优。队判优。5. 中断服务程序:处理中断工作的服务软件。356. 中断处理过程(中断响应与中断处理) 从某一个中断源发出中断服务请求,到这个从某一个中断源发出中断服务请求,到这个 请求全部处理完成所经过的
19、主要过程。请求全部处理完成所经过的主要过程。 (1)(1) 中断查询中断查询 CPUCPU在一条指令周期内要查询一次是否有中在一条指令周期内要查询一次是否有中 断产生。断产生。 (2)(2) 中断响应中断响应 关中断关中断 保存断点保存断点 转入中断服务程序转入中断服务程序36 获取中断服务程序地址:获取中断服务程序地址: 向量中断向量中断 中断向量:中断向量:中断服务程序的入口地址以及中断服务程序的入口地址以及 程序状态字的合称。程序状态字的合称。程序状态字程序状态字PSWPSW:用来表征处理机运行程序的状态。用来表征处理机运行程序的状态。一般应包含如下内容:一般应包含如下内容:程序屏蔽码
20、程序运行状态 条件码 中断码 指令计数器37编编 码码38 非向量中断非向量中断 CPU在响应中断时只产生一个固定的地址,该在响应中断时只产生一个固定的地址,该 地址是中断查询程序的入口地址,地址是中断查询程序的入口地址,CPU转去执行查转去执行查 询程序,通过软件查询确定中断源,然后执行相应询程序,通过软件查询确定中断源,然后执行相应 的中断服务程序。的中断服务程序。 查询程序:查询程序:又称中断总服务程序。又称中断总服务程序。39(3)(3) 执行中断服务程序执行中断服务程序 保存现场保存现场 开开CPUCPU中断中断 执行中断服务程序执行中断服务程序 关关CPUCPU中断中断 恢复现场恢
21、复现场 恢复屏蔽码恢复屏蔽码 恢复恢复PSWPSW、PCPC 开开CPUCPU中断中断 返回断点返回断点4010.3.4 中断硬件和优先级 1. 单个设备的简单系统 非向量中断非向量中断图图10.11 10.11 单个设备单个设备的非向量中断的非向量中断(a a)硬件)硬件 (b b)时序)时序41 向量中断向量中断图图10.12 10.12 单个设备的单个设备的向量中断向量中断(a a)硬件)硬件 (b b)时序)时序42图图10.13 10.13 多个非向量中断的硬件多个非向量中断的硬件l每个设备均有自每个设备均有自己的己的IRQIRQ和和IACKIACK信信号号 l他们的优先级是他们的优
22、先级是预定的预定的 ,IRQnIRQn优优先级最高先级最高lCPUCPU首先响应和服首先响应和服务优先级最高的务优先级最高的中断中断2. 多个设备的系统 非向量中断非向量中断43 向量中断向量中断 菊花链:菊花链:用于多中断优先权排队的一种方法。用于多中断优先权排队的一种方法。图图10.14 10.14 菊花链菊花链l简单易实现简单易实现l便于扩充便于扩充l延迟大延迟大44并行优先权排队并行优先权排队 通过一个优先权编码器采用并行优先权排通过一个优先权编码器采用并行优先权排队(队(parallel priorityparallel priority)方式实现向量中断)方式实现向量中断, ,减少
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 输入输出 结构 ppt 课件

限制150内