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

参考资料:
计算机组成原理------I/O接口以及I/O设备数据传送控制方式 - 王陸 - 博客园
目录
[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响应后暂停当前程序,转去处理中断服务程序。


中断处理过程:
- 中断请求:外设发信号。
- 中断判优:如果有多个请求,决定响应优先级最高的。
- 中断响应:CPU完成当前指令周期,保存断点(PC)和状态(PSW),关中断。
- 中断服务:执行中断服务程序(保护现场、数据传送、恢复现场)。
- 中断返回:返回原程序断点处继续执行。
优点:
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设备"的矛盾。