第七章 输入/输出与中断【微机原理】1

简介: 第七章 输入/输出与中断【微机原理】1

前言

以下内容源自微型计算机原理(第四版)王忠民主编

来源于教学PPT

仅供学习交流使用

请您阅读文章声明,默认同意该声明

第七章 输入/输出与中断

7.1 I/O接口概述

7.1.1 I/O接口的作用

I/O接口的作用

接口是介于CPU和外设之间的一种缓冲电路

在CPU和外设之间起到速度匹配、信号转换等作用


7.1.2 CPU与外设交换的信息

主机与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三种。

1.数据信息

① 数据信息 它是CPU与外设之间传送的主要信息,可分为数字量、模拟量和开关量三种形式。

2.状态信息

② 状态信息 是外设送往CPU的信息,作为外设与CPU之间交换数据的联络信号,反映了当前外设所处的工作状态。

3.控制信息

③ 控制信息 是CPU通过接口传送给外设的信息,用来设置外设(包括接口)的工作方式、控制外设的工作等。

7.1.3 I/O接口的基本结构

I/O端口是接口中存放不同信息的寄存器 。
接口和端口是两个不同的概念,若干个端口加上相应的控制电路才构成接口。


一个典型的IO接口如下图所示。首先,地址总线经过译码确定要进行信息交互的I/O接口;然后在控制总线控制信号的驱动下进行数据的交互,数据存在于I/O接口的数据缓冲器中,然后通过内部总线在三种寄存器之间传输,最终与I/O设备进行交互。



7.1.4 I/O端口的编址

接口中每个端口都有一个地址编号,称为端口地址。

微机系统中,I/O端口的编址方式有两种,即:统一编址和独立编址
1.统一编址

I/O端口的统一编址方式

对I/O端口和存储单元统一编排地址号,由I/O端口地址和存储单元地址共同构成一个统一的地址空间。

统一编址(存储器映射I/O编址):即把I/O端口的地址也看作是一个内存单元,与内存地址统一混合编址。

优点:对外设的操作可以直接使用对内存操作指令,指令较多、使用方便。

缺点:内存空间减少,采用内存操作指令的速度比专用I/O指令慢。


2.独立编址

I/O端口的独立编址方式

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

80x86 CPU组成的微机系统都采用独立编址方式。


独立编址(I/O映射编址):即I/O端口与内存分开独立编址,二者各有一套地址空间,井水不犯河水。这样编址的微处理器都有个M/-IO信号,当使用MOV指令时它自动变成高电平,用IN/OUT指令时它自动变成低电平,


优点:

1、存储器地址空间不受I/O端口地址空间的影响

2、专用的输入/输出指令与访问存储器指令有明显区别,便于理解和检查。

缺点:

1、专用I/O指令增加了指令系统复杂性,且I/O指令类型少,程序设计灵活性较差;

2、要求CPU提供专门的控制信号以区分对存储器和I/O端口的操作,增加了控制逻辑的复杂性。

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

7.2.1 程序传送方式

该方式完全通过执行程序中的I/O指令来控制CPU与外设之间的数据交换

分为无条件传送和查询传送(有条件传送)
1.无条件传送

CPU对外设进行输入/输出操作时无需考虑外设的状态,故称之为无条件传送方式。



无条件传送方式的特点

优点:程序设计和接口电路都很简单。

缺点:在输入输出数据时不考虑外设的状态默

认外设总是准备好的

适用于:与简单外设进行少量的不频繁的数据传送
2.查询传送方式

传送数据前,先测试外设的状态,待外设准备就绪后,再执行I/O指令进行数据传送,否则循环测试等待。



查询传送方式的特点

优点:能保证主机与外设之间协调同步地工作,且硬件

线路比较简单,程序也容易实现。

缺点:浪费CPU时间,实时性差。

适用于:数据输入/输出不太频繁且外设较少、对实时

性要求不高的情况。

7.2.2 中断传送方式

中断传送方式是指当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执行数据的输入/输出操作(即中断处理),数据传送结束后,CPU再继续执行被暂停的程序。


中断传送方式的特点

优点: CPU与外设可以并行工作,不必查询等待,

工作效率高;系统实时性比查询方式要好得多。

缺点: 接口电路相对复杂,每进行一次数据传送都

要转去执行中断处理程序,都要进行断点和

现场的保护和恢复,浪费了很多CPU的时间。

适用于:少量的数据传送。

相关文章
|
Shell Linux
uboot启动流程源码分析(二)
uboot启动流程源码分析(二)
378 0
|
传感器 C++ 计算机视觉
【opencv3】详述PnP测距完整流程(附C++代码)
【opencv3】详述PnP测距完整流程(附C++代码)
1585 0
|
SQL 安全 网络协议
2022年浙江省职业院校技能大赛信息安全管理与评估 理论题答案
2022年浙江省职业院校技能大赛信息安全管理与评估 理论题答案
|
弹性计算 缓存 前端开发
阿里云服务器配置选择指南2核4G、4核8G和8核16G性能全解析!
阿里云2核4G、4核8G与8核16G服务器配置解析及选择指南。根据不同业务需求,推荐ECS经济型e、通用算力型u1、计算型c7/c8i实例。企业用户专享2核4G ECS u1实例仅199元/年,自带5M带宽;4核8G u1实例起价955.58元/年;8核16G c7实例起价6544元/年。各实例CPU性能各异,如c7采用第三代Intel Xeon处理器,适配高性能计算场景。
1037 10
|
前端开发
如何用SVG画一个特定边框(上)
如何用SVG画一个特定边框(上)
324 1
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何进行MySQL到MySQL的动态同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
移动开发 前端开发 HTML5
『html5、css3』将视频做为网页背景 超炫!
效果图展示 仿墨迹天气首页 github项目地址:https://github.com/Ethan997/Video-background-page PC端网页效果预览:http://www.
5394 0
|
安全 网络协议 网络安全
网络安全行业黑话大全
网络安全行业黑话大全
952 1
|
数据采集 API
快手商品数据采集神器,助你轻松获取商品详情数据
快手商品数据采集神器,助你轻松获取商品详情数据
1079 0
|
Linux 网络安全 开发工具
哇~真的是你呀!今天是LINUX的DHCP服务与管理
在Linux中,DHCP(动态主机配置协议)服务器管理是用于分配IP地址和其他网络配置信息给计算机和设备的服务。DHCP服务器管理在Linux中的作用是自动为计算机和设备分配IP地址和其他网络配置信息,简化网络管理并避免IP地址冲突。这使得网络设置更加方便和高效。
320 0