博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
I/O接口概述------CPU与外设之间数据传送的方式
阅读量:3949 次
发布时间:2019-05-24

本文共 1465 字,大约阅读时间需要 4 分钟。

思考:1、I/O接口的作用。 2、CPU与外设交换的信息。 3、I/O端口的编址。 4、CPU与外设之间数据传送的方法。

一、I/O接口概述

1、I/O接口的作用

接口是介于CPU和外设之间的一种缓冲电路
在CPU和外设之间起到速度匹配、信号转换等作用

2、CPU与外设交换的信息

主机与I/O设备之间的信息可分为数据信息、状态信息和控制信息。
1)数据信息:它是CPU与外设之间传送的主要信息,可分为数字量、模拟量和开关量。(双向)
2)状态信息:是外设通过接口送往CPU的信息,作为外设与CPU之间交换数据的联络信号,反映了当前外设所处的工作状态。(外设-》I/O)
3)控制信息:是CPU通过接口传送给外设的信息,用来设计外设的工作方式、控制外设的工作等。(I/O-》外设)
3、I/O接口的基本结构
I/O端口是接口中存放不同信息的寄存器
若干个端口加上相应的控制电路构成接口
4、I/O端口的编址
1)统一编址:对I/O端口和存储单元统一编排地址号,由I/O端口地址和存储单元地址共同构成一个统一的地址空间。
特点:
1、简化了指令系统的设计
2、I/O端口和存储单元可用同样的寻址方式,给编程者提供了很大的方便
缺点:减少了内存的地址可用范围

2)独立编址:建立了两个地址空间,一个为内存地址空间,一个为I/O地址空间。内存地址空间和I/O地址空间是相对独立的。

特点:
优点:
1、存储器地址空间不受I/O端口地址空间的影响
2、专门的输入/输出指令与访问存储器指令有明显区别,便于理解和检查
缺点:
1、专用I/O指令增加了指令系统复杂性,且I/O指令类型少,程序设计灵活性较差
2、要求CPU提供专门的控制信号以区分对存储器和I/O端口的操作,增加了控制逻辑的复杂性

二、CPU与外设之间数据传送的方式

1、程序传送方式

该方式完全通过执行程序中的I/0指令来控制CPU与外设之间的数据交换,分为无条件传送和查询传送(有条件)
1)无条件
CPU对外设进行输入/输出操作时无需考虑外设的状态
特点:
优点:程序设计和接口电路都很简单
缺点:在输入输出数据时不考虑外设的状态默认外设总是准备好多
适用于:与简单外设进行少量的并不频繁的数据传送
2)查询传送方式
传送数据前,先测试外设的状态,待外设准备就绪,在执行I/O指令进行数据传送,否则循环测试等待
特点:
优点:能保证主机与外设之间同步工作,且硬件线路比较简单,程序也容易实现。
缺点:浪费CPU时间,实时性差
适用于:数据输入/输出不太频繁且外设较少,对实时性要求不高的情况。
2、中断传送方式
中断传送方式是当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执行数据的输入/输出操作(即中断处理),数据传送结束后,CPU再继续执行被暂停的程序
特点:
优点:CPU与外设可以并行工作,不必查询等待,
工作效率高;系统实时性比查询方式要好得多。
缺点:接口电路相对复杂,每进行一次数据传送都要转去执行中断处理程序,都要进行断点和现场的保护和恢复,浪费了很多CPU的时间。
适用于:少量的数据传送
3、直接存储器存取方式:(DAM)
DAM方式适用于在外设和存储器之间进行大批量的高速数据交换,数据的传送不依赖CPU执行I/0指令,而是直接由专门的接口芯片DMA控制器来控制。
传送过程中,CPU暂停指令的执行并让出总线控制权,由DMA控制器接管总线的控制权。传送过程全部由硬件实现,所有传送速率非常高。

小结:

在这里插入图片描述

转载地址:http://qwgwi.baihongyu.com/

你可能感兴趣的文章
Apache服务器搭建方法
查看>>
Mac终端常用命令
查看>>
常用算法-冒泡排序代码实现
查看>>
swift 中的 感叹号 问号 和 双问号用法详解
查看>>
C代码:二分法求三次方程近似根
查看>>
swift-自己封装的一个网络工具
查看>>
APP第三方登录实现步骤
查看>>
iOS-数据存储方式介绍
查看>>
KVO & KVC 比较 - KVC
查看>>
iOS-tableView联动
查看>>
iOS--Masonry解决 tableViewCell 重用时约束冲突
查看>>
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
swift-计算型属性和存储型属性的区别
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>
iOS运行时机制(附Demo演练)
查看>>
iOS-利用运行时给分类添加属性
查看>>
整理的最新WebSHell (php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话)
查看>>