CPU
和外设之间的数据传送方式有哪几种?实际选择某种传输方式时,
主要依据
是什么?
CPU
与外设之间的数据传输有以下三种方式:程序方式、中断方式、
DMA
方式。
其中程序方式又可分为无条件传送方式和条件传送方式两种方式。在
CPU
外设
传送数据不太频繁的情况下一般采用无条件传送方式。在
CPU
用于传输数据的
时间较长且外设数目不多时采用条件传送方式。在实时系统以及多个外设的系
统中,为了提高
CPU
的效率和使系统具有实时性能,采用中断传送方式。如
I/O
设备的数据传输效率较高,那么
CPU
和这样的外设进行数据传输是,即使尽量
压缩程序查询方式和中断方式中的非数据传输时间,也仍然不能满足要求。这
是因为在这两种方式下,还存在另外一个影响速度的原因,即它们都是按字节
或字来进行传输的。为了解决这个问题,实现按数据块传输,就需要改变传输
方式,这就是直接存储器传输方式,即
DMA
方式。
在查询方式、中断方式和
DMA
方式中,分别用什么方法启动数据传输过程?
在查询方式下,
是通过程序来检测接口中状态寄存器中的
"
准备好
"
(
READY
)
位,
以确定当前是否可以进行数据传输的;在中断方式下,当接口中已经有数据要
往
CPU
输入或者准备好接收数据时,
接口会向
CPU
发一个外部中断请求,
CPU
在
得到中断请求后,如果响应中断,便通过运行中断处理程序来实现输入
/
输出;
在
DMA
方式下,外设要求传输数据时,接口会向
DMA
控制器发
DMA
请求信号,
DMA
控制器转而往
CPU
发送一个总线请求信号,
以请求得到总线控制权,
如果得
到
DMA
允许,那么,就可以在没有
CPU
参预的情况下实现
DMA
传输。
CPU
和输入
/
输出设备之间传送的信息有哪几类?
CPU
和输入
/
输出设备之间传送的信息有以下几类:数据信息、状态信息、控制
信息。
什么叫端口?通常有哪几类端口?计算机对
I/O
端口编址时通常采用哪两种方
法?在
8086/8088
系统中,用哪种方法对
I/O
端口进行编址?
CPU
和外设进行数据传输时,
各类信息在接口中进入不同的寄存器,
一般称这些
寄存器为端口。
通常有:数据端口、状态端口、控制端口。对端口编址的两种
方法为:计算机对内存和
I/O
端口统一编址;计算机对内存和
I/O
端口分别进
行编址。在
8086/8088
系统中用计算机对内存和
I/O
端口统一编址。
在cpu内部是有36根线,其中16根数据线和20根地址线,分时复用是对cpu引脚(即外部)来说的,外部采用分时复用是因为cpu引脚有限制,不能太多所以这样设计,内部来说没有太多的限制。