输入输出语句

编址方式:

        统一编址: I/O 端口和内存单元占用同一块内存单元,即把 I/O 端口当作内存单元对待,从整个内存空间中划出一个子空间给 I/O 端口,每个I/O端口分配一个地址码,用访问存储器的指令对 I/O 端口进行操作。

优点: I/O 端口的数目几乎不受限制;

        访问内存指令均适用于 I/O 端口,对 I/O 端口的数据处理能力强。

        cpu无需产生区别访问内存操作和 I/O 操作的控制信号,从而可减少引脚。

缺点:程序中 I/O 操作不清晰,难以区分程序中的 I/O操作和存储器操作。

        I/O 端口占用了一部分内存空间。

        I/O 端口地址译码电路较复杂(因为内存的地址位数较多 20根)

        独立编址: I/O 端口编址和存储器的编址相互独立,即 I/O 端口地址空间和存储器地址空间分开设置,互不影响。采用这种编址方式,对 I/O 端口的操作使用输入/输出指令(I/O)指令。

优点:不占用内存空间。

        有单独的 I/O 操作指令,程序清晰,很容易看出是 I/O 操作还是存储器操作;

        译码电路比较简单(因为 I/O 端口的地址空间一般较小,所以地址线也就较少 16根)

缺点:只能用专门的 I/O 指令,访问端口的方法不如访问存储器的方法多。

外设接口的一般结构

I/O 接口: 接口电路 将外设连接到总线上的一组逻辑电路的总称。用于实现外设与主机之间的信息交换。

CPU和外设的连接通过接口。 

CPU  《————》(满足CPU的要求) 接口 (对外设提要求)《————》外设

I/O 端口:端口地址 接口中的寄存器,可以由CPU读或写

数据信息:数字量(二级制信息)、模拟量(实际电压值)、开关量(0/1)

 状态信息:表示外设当前所处的工作状态,反馈给CPU

控制信息:由CPU发出,用于控制 I/O接口的工作方式及外设的启动和停止等。

I/O 端口的访问

1、输入指令(input)外设的信息通过端口读入CPU

 格式: IN  累加器,端口

功能:把端口中数据读到AL、或AX中。

例:IN  AL,32H                MOV  DX,201H

                                           IN       AL,DX

2、输出指令 (output) CPU通过端口输出信息到外设

格式:OUT  端口,累加器

功能:把寄存器AL、或AX中数据输出到端口。

例:OUT  32H,AL               MOV  DX,201H

                                                OUT  DX,AX

CPU与外设交换数据的方式

1、程序控制类传递方式         使用 IN / OUT指令

特点:(1)以CPU为中心,控制来自CPU,通过预先编写好的I/O程序实现数据的传送。

        (2)速度较低,传送路径经过CPU内部寄存器,同时数据I/O响应也比较慢。

无条件传送方式(同步传送方式)

特点:适用于总是处于准备好状态的外设。外设的工作时间已知,必须在CPU限定的指令时间内准备就绪,并完成数据接收或发送。

方法:把 I/O 指令插入到程序中,当程序执行到该指令时,外设已做好准备,于是在此指令时间内完成数据传送任务。

优点:软件及接口硬件简单

缺点:CPU效率低,只适用于简单外设,适应范围较窄。

 查询传输方式(异步传送方式)

        当CPU同外设不同步且不知道外设工作速率时,可采用此方式传送。传送前,CPU必须对外设进行状态检测。

使用场合:外设并不总是准备好。

                对传送速率和效率要求不高

对外设及接口的要求:外设应提供设备状态信息

                                    接口应具备状态端口

优点:软件比较简单

缺点:CPU效率低,数据传送的实时性差,速度较慢

完成依次传送过程的步骤如下:

(1)通过执行一条输入指令,读取所选外设的当前状态

(2)根据该设备的状态决定程序去向(CPU主动查询)

外设 ”忙“ 或 ”未准备就绪“ ——> 重复检测外设状态

外设 "空" 或 "准备就绪"  ——> 发出I/O指令,进行依次数据传送。 

中断传送方式

无条件传送和查询传送的缺点是:CPU和外设只能串行工作。

为了提高系统的工作效率,充分发挥CPU的高速运算能力,引入了 ”中断“ 系统,利用中断来实现CPU与外设之间的数据传送,这就是中断传送方式。

特点:外设在需要时间向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序。

中断使CPU和外设之间能够并行工作。

工作过程:

        在中断传送方式中,通常在程序中安排好某一时刻启动某一台外设,然后CPU继续执行其主程序,当外设完成数据传送的准备后,向CPU发出中断请求信号,在CPU可以响应中断的条件下,现主程序被 ”中断“ ,转去执行 ”中断服务程序“,在 ”中断服务程序“ 中完成一次CPU与外设之间的数据传送,传送完成后仍返回被中断的主程序,从断点处继续执行。

优点:CPU效率高,实时性好,速度快

缺点:程序编制较为复杂

 以上三种 I/O 方式的共性

均需CPU作为中介:

软件:外设与内存之间的数据传送是通过CPU执行程序来完成的

硬件:I/O 接口和存储器的读写控制信号、地址信号都是由CPU发出的

缺点:程序的执行速度限定了传送的最大速度

DMA(直接存储器存取)传递方式

        外设和内存之间直接传送数据的方式,即DMA传送方式。在DMA传送方式中,对这一数据传送过程进行控制的硬件成为DMA控制器(DMAC)

特点:外设直接与存储器进行数据交换,不需要CPU干预也不需要软件介入。

总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制

信号均由DMAC提供。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值