《输入输出结构》PPT课件.ppt





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

限制150内