输入/输出及其控制 - 软考备战(五)

计算机体系结构及其组成(三)

参考资料:

(7)输入和输出设备:计算机与外界的互动桥梁 - 知乎

计算机组成原理------I/O接口以及I/O设备数据传送控制方式 - 王陸 - 博客园

何谓脱机IO和联机IO?__牛客网


目录

计算机体系结构及其组成(三)

[3.1 输入/输出设备](#3.1 输入/输出设备)

[1. 输入设备的概念与角色](#1. 输入设备的概念与角色)

常见输入设备分类

输入设备的关键过程

信息采集

信号转换

编码与传输

[2. 输出设备](#2. 输出设备)

常见输出设备分类

输出设备的关键过程

接收数据

解码与转换

呈现/记录

[3. 既是输入又是输出的设备(兼设备)](#3. 既是输入又是输出的设备(兼设备))

[3.2 输入输出系统(I/O 系统)](#3.2 输入输出系统(I/O 系统))

[1. 定义与组成](#1. 定义与组成)

[2. 输入输出系统的三大特点](#2. 输入输出系统的三大特点)

[3. CPU 与外设交换数据的基本过程](#3. CPU 与外设交换数据的基本过程)

[3.3 I/O 控制方式对比](#3.3 I/O 控制方式对比)

[四种 I/O 控制方式对比](#四种 I/O 控制方式对比)

[1. 程序查询方式](#1. 程序查询方式)

[2. 程序中断方式](#2. 程序中断方式)

[3. DMA方式(直接存储器访问)](#3. DMA方式(直接存储器访问))

[4. 信道方式](#4. 信道方式)

[3.4 I/O 接口与编址方式对比](#3.4 I/O 接口与编址方式对比)

[1. I/O 接口](#1. I/O 接口)

基本结构

基本功能

数据寄存器

状态寄存器

控制寄存器

端口地址译码与控制逻辑

[2. 外设编址方式对比](#2. 外设编址方式对比)

[3.5 常见输入/输出接口标准](#3.5 常见输入/输出接口标准)

[3.6 联机、脱机和假脱机](#3.6 联机、脱机和假脱机)


3.1 输入/输出设备

1. 输入设备的概念与角色

将外部世界的信息(文字、图像、声音、物理量等)转换为计算机能识别的二进制数字信号,让计算机"感知"外界信息。

常见输入设备分类

|-------------------------|-------------------|------------------------------------|
| 类别 | 典型设备 | 主要功能与特点 |
| 字符输入设备 | 键盘 | 最常用的文字与指令输入工具;通过扫描矩阵检测按键,产生键码送给主机。 |
| 图形 / 图像输入设备 | 鼠标、扫描仪、数码相机、摄像头 | 鼠标用于定位与选择;扫描仪/摄像头将图像/视频转为数字图像信号。 |
| 语音 / 模拟输入设备 | 麦克风、语音识别系统、各种传感器 | 将声音、温度、压力等模拟信号转换为数字信号,需A/D转换。 |
| 其他输入设备 | 光笔、手写输入板、游戏杆、体感设备 | 用于特定交互场景(如手写、游戏、VR/AR等)。 |

输入设备的关键过程
信息采集

按键、图像、声音、温度等被设备感知。

信号转换

将物理/光学/声学信号转换为电信号。

编码与传输

由设备内部控制器转换为二进制编码,通过接口(USB、PS/2等)送给主机。

2. 输出设备

将计算机处理后的结果(数字、文字、图形、图像、声音等)转换为人或其他机器能识别的形式输出。

常见输出设备分类

|--------------------------|------------------------|---------------------------------|
| 类别 | 典型设备 | 主要功能与特点 |
| 显示输出设备 | 显示器(LCD、LED、OLED)、投影仪 | 将数字信号转换为光信号,显示文字、图形、图像;是必备输出设备。 |
| 打印 / 绘图输出设备 | 打印机(喷墨、激光)、绘图仪 | 将信息以纸质/图纸形式硬拷贝输出。 |
| 语音 / 影像输出设备 | 音箱、耳机、音响系统、语音合成设备 | 将数字音频信号转换为声音信号。 |
| 磁记录 / 存储输出设备 | 磁盘、磁带、光盘等(既是外存也是I/O设备) | 将数据长期保存,也可视为输出/输入设备 |

输出设备的关键过程
接收数据

从主机接收数字化的结果数据。

解码与转换

按设备需求进行解码、D/A转换、格式变换等。

呈现/记录

在屏幕上显示、在纸上打印、在磁介质上记录等。

3. 既是输入又是输出的设备(兼设备)

很多设备并不是"纯输入"或"纯输出",而是兼具两种功能:

|-----------------------------|-----------|-----------------|----------------------|
| 设备 | 输入功能 | 输出功能 | 说明 |
| 硬盘 /SSD | 读入数据到主机 | 将主机数据写入盘片 | 典型兼设备,属于外存,也是I/O设备。 |
| 光盘( CD/DVD/BD ) | 将盘上数据读入主机 | 将主机数据刻录到光盘(可写盘) | 可读可写型号兼具输入/输出。 |
| U 盘 / 移动硬盘 | 从主机读取数据 | 向主机写入数据 | 通过USB接口实现双向数据传输。 |
| 带触摸功能的显示器 | 触摸输入 | 显示输出 | 同时具备输入(触摸)和输出(显示)功能。 |
| 网络通信设备(网卡) | 接收网络数据 | 发送网络数据 | 实现主机与网络的双向通信。 |

在许多教材中,外存(磁盘、磁带、光盘、闪存)既被视为存储器,也被视为I/O设备,因此"输入输出设备"与"外围设备"常混用。

3.2 输入输出系统(I/O 系统)

1. 定义与组成

定义

计算机系统中主机与外部进行通信的系统,包括外围设备和输入输出控制系统两部分。

组成
外围设备

输入设备、输出设备、外存设备等。

输入输出控制系统

I/O接口、I/O控制器、总线、相关软件等,负责在CPU/主存与外设之间协调数据传送。

2. 输入输出系统的三大特点

|-----------|--------------------------------------------|--------------------------------------|
| 特点 | 含义 | 对系统设计的影响 |
| 异步性 | 各外设不使用统一中央时钟,按自己时序工作,但要在某些时刻接受CPU控制。 | 需要"自治控制"和应答式同步机制。 |
| 实时性 | 对不同速度和类型的外设,CPU必须在规定时间内提供I/O服务,否则可能丢数据或出错。 | 采用分层结构、优先级机制、中断与DMA等方式。 |
| 设备无关性 | CPU通过统一的标准接口管理各类外设,无需关心设备内部细节。 | 采用统一接口规范(如串口、并口、USB、SCSI等),实现"即插即用"。 |

3. CPU 与外设交换数据的基本过程

输入过程

CPU 在地址总线上给出外设端口地址,选择某输入设备。

等待输入设备数据"就绪"。

从数据总线读入数据到CPU寄存器。

输出过程

CPU 在地址总线上给出外设端口地址,选择某输出设备。

将数据放到数据总线上。

输出设备确认数据有效,将数据取走。

3.3 I/O 控制方式对比

CPU 如何控制外设与主机之间的数据传送(异步)。

常见方式:

程序查询、程序中断、DMA、通道/IOP。

四种 I/O 控制方式对比

|------------------------|-------------------------------------------------------|----------------|--------------------------------|--------------------|---------------------|-------------------------|
| 控制方式 | 基本思想 | 数据传送依靠 | CPU 与外设并行性 | 适用设备类型 | 主要优点 | 主要缺点 |
| 程序查询方式 | CPU不断查询外设状态,直到"就绪"才进行一次数据传送。 | 软件(CPU执行查询程序) | CPU与外设串行工作,传送与主程序串行。 | 低速、简单设备(开关、简单显示) | 硬件简单、成本低。 | CPU效率极低,大量时间花在"等待"上。 |
| 程序中断方式 | 外设准备好后主动向CPU发中断请求;CPU响应后执行中断服务程序完成数据传送。 | 软件(中断服务程序) | CPU与外设并行 工作,但传送与主程序串行。 | 中低速设备(键盘、鼠标、串口) | CPU利用率明显提高,能处理突发事件。 | 每次中断需保护/恢复现场,频繁中断时开销大。 |
| DMA 方式 | 在DMA控制器控制下,数据在内存与外设间直接成块传送,无需CPU干预。 | 硬件(DMA控制器) | CPU与外设并行 ,传送与主程序也并行。 | 高速块设备(磁盘、网卡、高速A/D) | 数据传送速度高,CPU占用极少。 | 硬件复杂,成本高;需要DMA控制器和总线仲裁。 |
| 通道 /IOP 方式 | 通道是一个具有独立执行I/O指令能力的I/O处理器;CPU只需发I/O命令,由通道执行通道程序完成I/O。 | 硬件+通道程序(IOP执行) | CPU与I/O系统高度并行。 | 大中型机中的大量高速外设 | CPU与I/O彻底分离,系统效率最高。 | 结构最复杂,成本最高,多用于大中型机。 |

|-----------------|---------------|----------------|--------------------------|
| 维度 | 程序查询 | 程序中断 | DMA |
| CPU 主动性 | CPU主动轮询外设状态 | CPU被动等待中断请求 | CPU被动接受DMA请求,仅在初始化和结束参与。 |
| 数据传送基本单位 | 字/字节 | 字/字节 | 数据块 |
| CPU 利用率 | 最低(大部分时间在等待) | 较高(等待时可执行其他任务) | 最高(传送期间CPU可做其他事) |
| 接口硬件复杂度 | 最简单 | 较复杂(需要中断逻辑) | 最复杂(需要DMA控制器) |
| 适合场景 | 简单控制、单片机、低速设备 | 中低速、随机设备 | 高速、批量数据传送 |

1. 程序查询方式

CPU不断读取状态寄存器,查询外设是否"就绪"。

特点:

效率极低,CPU与外设串行工作,"踏步等待",仅适合简单、低速设备。

2. 程序中断方式

CPU发出命令后继续执行程序,外设准备好后主动向CPU发信号(中断请求),CPU响应后暂停当前程序,转去处理中断服务程序。

中断处理过程:

  1. 中断请求:外设发信号。
  2. 中断判优:如果有多个请求,决定响应优先级最高的。
  3. 中断响应:CPU完成当前指令周期,保存断点(PC)和状态(PSW),关中断。
  4. 中断服务:执行中断服务程序(保护现场、数据传送、恢复现场)。
  5. 中断返回:返回原程序断点处继续执行。

优点:

CPU与外设并行工作,效率高于查询方式。

3. DMA方式(直接存储器访问)

硬件(DMAC)控制数据在内存和外设间直接传送,无需CPU干预。

(DMAC控制器具有总线请求、地址修改、计数等功能)

DMA传送过程的总线占有方式
停止CPU访存

DMA期间CPU交出总线控制权,效率高但影响CPU工作。

周期挪用(窃取)

DMA利用CPU不使用存储器的周期进行传送,是常用的折中方案。

交替访存

CPU和DMA分时使用总线,效率最高,硬件复杂。

DMA vs 中断
数据传送者

DMA由硬件(控制器)完成;中断由软件(中断服务程序)完成。

响应时间

DMA响应时间极短(微秒级);中断响应时间较长(需保护现场)。

适用场景

DMA适合高速、批量数据传送(如磁盘读写);中断适合低速、随机数据传送(如键盘)。

4. 信道方式

拥有独立执行I/O指令能力的I/O处理器(IOP)。

CPU只需发一条启动命令,信道即可独立管理整个I/O过程,进一步解放CPU。常用于大型机。

3.4 I/O 接口与编址方式对比

1. I/O 接口

基本结构
基本功能

典型 I/O 接口(外设控制器)一般包含:

数据寄存器

暂存CPU与外设之间传送的数据。

状态寄存器

向外设/CPU提供当前工作状态(忙/就绪/出错)。

控制寄存器

存放CPU发出的控制命令(启动/停止/读/写)。

端口地址译码与控制逻辑

识别CPU是否访问本接口,产生相应控制信号。

2. 外设编址方式对比

|-----------------------------|----------------------------|---------------------------|-----------------------------|-------------------|
| 编址方式 | 地址空间结构 | 指令特点 | 优缺点 | 典型架构 |
| 统一编址(存储器映射方式) | I/O端口占用内存地址空间的一部分,与主存统一编址。 | 无专用I/O指令,用普通访存指令访问I/O端口。 | 优点:指令丰富、寻址灵活;缺点:占用部分主存地址空间。 | ARM、MIPS、PowerPC等 |
| 独立编址( I/O 映射方式) | I/O端口与主存各自独立地址空间。 | 有专用I/O指令(如IN/OUT)访问I/O端口。 | 优点:不占主存空间,译码简单;缺点:指令功能有限。 | x86架构 |

3.5 常见输入/输出接口标准

|------------------------------|------------------------------------------------------------------------------------------------------|--------------------------------|
| 接口类型 | 特点与标准 | 适用场景 |
| 磁盘接口 | IDE (PATA) :并行传输,排线宽,抗干扰差,已淘汰。 SCSI:小型机系统接口,速度快,支持多任务,常用于服务器。 SATA:串行传输,速率高,抗干扰强,主流硬盘接口。 | 硬盘、光驱 |
| 串行接口 | 按位传输,距离远,抗干扰强。 RS-232:传统低速串口。 | 鼠标、Modem、工业控制 |
| 并行接口 | 多位同时传输,距离短,易干扰。 | 老式打印机、扫描仪 |
| PC Card 接口 | 便携式设备扩展卡接口(如无线上网卡)。 | 笔记本电脑(已逐渐被ExpressCard取代) |
| USB ( 通用串行总线 ) | 支持热插拔、即插即用、供电。版本:USB 1.1, 2.0, 3.0, 3.1/3.2, 4.0。 | 几乎所有外设(键鼠、U盘、移动硬盘) |
| IEEE 1394 ( 火线 ) | 高速串行接口,支持点对点传输,无需主机干预。 | 曾广泛用于数码摄像机、高端存储(现已被USB 3.0+取代) |

3.6 联机、脱机和假脱机

这是操作系统管理I/O设备的三种技术形态。

联机操作

外设直接在CPU控制下工作。

CPU处理数据的同时,外设处于等待或传输状态,效率受限于外设速度(如早期的键盘输入)。

脱机操作

外设不直接与主机连接,通过卫星机(预处理机)处理I/O,完成后将磁带/磁盘送入主机。

目的是减少主机等待慢速外设的时间,提高主机效率。

假脱机

用磁盘作为大容量缓冲区,模拟脱机输入/输出技术。

核心机制

  • 输入井/输出井:在磁盘上开辟的存储区域。
  • 预输入程序:将用户作业从慢速设备(如读卡机)读入磁盘输入井。
  • 缓输出程序:将输出数据写入磁盘输出井,待打印机空闲时再输出。

将独占设备(如打印机)改造为共享设备,提高了系统吞吐量。

解决了"高速CPU与低速I/O设备"的矛盾。

相关推荐
白猫不黑17 小时前
网络安全专业:从入门到进阶的完整学习路线
学习·安全·web安全·计算机·网络安全·信息安全·编程
计算机毕业编程指导师21 小时前
计算机毕设怎么做?Python+Hadoop的跨平台消费者评论情感分析与数据可视化系统实战 源码 毕业设计 选题推荐 毕设选题 数据分析
大数据·hadoop·python·计算机·spark·课程设计·消费者评论
计算机毕业编程指导师2 天前
【计算机毕设选题】基于Hadoop+Spark的化妆品销售数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·课程设计·化妆品
计算机毕业编程指导师3 天前
【Python毕设选题推荐】基于Spark的宫颈癌变光谱特征数据分析可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·毕业设计·宫颈癌变
计算机毕业编程指导师3 天前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师3 天前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论
计算机毕业编程指导师4 天前
【大数据毕设选题推荐】基于Spark的WTA职业网球赛事演变与竞技格局分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·计算机·spark·毕业设计·课程设计·wta网球
计算机毕业编程指导师4 天前
大数据毕设怎么做?基于Hadoop的多源社交媒体心理健康情感分析与可视化系统从零到一指导 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·计算机·数据分析·毕业设计·课程设计·媒体
计算机毕业编程指导师4 天前
Python大数据毕设:基于Hadoop的病毒式社交媒体趋势和参与度分析系统怎么做 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·毕业设计·课程设计·社交媒体
计算机毕业编程指导师4 天前
【Python毕设选题推荐】基于Hadoop+Django的奥斯卡奖获奖数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·毕业设计·课程设计·奥斯卡奖