CPU和外设之间的数据传送方式有哪几种?实际选择某种传输(技术学习)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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与外界的连接电路,并非任何一种电路都可以叫做接口,它必须具备一些条件或功能,才称得上是接口电路。

那么,接口应具备哪些功能呢?从解决CPU与外设在连接时存在的矛盾的观点来看,一般有如下功能:
⑴寻址能力:对送来的片选信号进行识别。

⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。

⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。

⑷联络功能:就绪信号,忙信号等。

⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。

并具有优先级管理功能。

⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。

⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。

⑻错误检测:一类是传输错误。

另一类是覆盖错误。

注:一些接口还可根据具体情况设置其它的检测信息。

设置接口的原因
什么原因决定了存储器不需要接口电路,可以直接连在总线上,而输入输出设备却一定要通过接口电路与总线相连呢?
所有存储器都是用来保存信息的,功能单一,品种很有限,只有只读类型和可读可写类型;此外,存储器的存取速度基本上可以和CPU的工作速度匹配。

这些决定了存储器可以通过总线和CPU相连,即通常说的直接将存储器挂在CPU总线上。

但是外部设备不同,它有以下特征:
1.微机的外部设备多种多样
有些外设作为输入设备,有些外设作为输出设备,也有些外设既作为输入设备又作为输出设备,还有一些外设作为检测设备或控制设备。

2.工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大
每一类设备本身可能又包括了多种工作原理不同的具体设备。

对于一个具体设备所使用的信息可能是数字式的,也可能是模拟式的,而非数字式信号必须经过转换,使其成为对应的数字信号才能送到计算机总线。

这种将模拟信号变为数字信号、或者反过来将数字信号变为模拟信号的功能是A/D、D/A接口来完成的。

有些外设的信息是并行的,有些外设的信息是串行的。

串行设备只能接收和
发送串行的数字信息,而CPU 却只能接收和发并行信息。

这样,串行设备必须通过接口将串行信息变为并行信息,才能送给CPU;反将CPU 送出的并行信息变为串行信息,能送给串行设备。

这种变换由串行接口来完成。

可见接口也起到并行数据和串行数据的变换作用。

3. 它们不能与CPU 直接相连
因为CPU 通过总线要和多个外设打交道,而在同一个时刻CPU 通常只和一个外设交换信息,就是说,一个外设不能长期和CPU 相连,只有被CPU 选中的外设,才接收数据总线上的数据或者将外部信息送到数据总线上。

除了上面这些原因外,外设的工作速度通常比CPU 的速度低得多,而且各种外设的工作速度互不相同,这就要求接口电路对输入输出过程能起一个缓冲和联络的作用。

7、某一个微机系统中,有8块I/O 接口芯片,每个芯片占有8个端口地址,若起始地址为300H ,8块芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每个芯片的端口地址范围。

G1G2A C Y0Y1Y274LS138
G2B B A Y3Y4Y5Y6Y7A7
A6
A5
A4
A3A9A8
芯片1芯片2芯片3芯片4芯片5芯片6芯片7芯片8地址范围:300H-307H 地址范围:308H-30FH 地址范围:310H-317H 地址范围:318H-31FH 地址范围:320H-327H 地址范围:328H-32FH 地址范围:330H-337H 地址范围:338H-33FH。

相关文档
最新文档