导图社区 第七章输入输出系统
这是一篇关于408考研,期末考试,计算机组成原理,输入输出系统思维导图,专为计算机专业学生、考研(如 408 统考)/ 软考备考者、计算机硬件底层原理学习者打造,是系统梳理 I/O 系统核心知识的高效学习工具。思维导图的结构化呈现方式,将 I/O 系统的基本概念、I/O 接口、I/O 控制方式、中断处理流程四大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入高频考点标注、原理示意图与对比表格,帮助使用者快速构建输入 / 输出系统的知识体系,精准攻克 I/O 控制方式对比、DMA 传输原理、中断处理流程、磁盘调度算法等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将 I/O 接口的软硬件构成、程序查询 / 中断 / DMA 控制方式的差异、中断响应与处理全过程、磁盘调度计算等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了主机与外设数据交互的完整逻辑,可用于入门学习、硬件原理学习的知识框架搭建,快速建立对计算机输入输出系统的整体认知。模板完整覆盖输入 / 输出系统核心考点:从 I/O 系统的基本概念、接口的分类与工作原理,到程序查询、中断、DMA 三种核心 I/O 控制方式的对比;从中断响应与完整处理流程,到磁盘调度算法、DMA 传输原理等计算类高频考点,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。该模板借助万兴脑图软件绘制,助力计算机学习者高效掌握输入 / 输出系统核心知识。
编辑于2026-05-07 16:01:44这是一篇关于408考研,期末考试,计算机组成原理,输入输出系统思维导图,专为计算机专业学生、考研(如 408 统考)/ 软考备考者、计算机硬件底层原理学习者打造,是系统梳理 I/O 系统核心知识的高效学习工具。思维导图的结构化呈现方式,将 I/O 系统的基本概念、I/O 接口、I/O 控制方式、中断处理流程四大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入高频考点标注、原理示意图与对比表格,帮助使用者快速构建输入 / 输出系统的知识体系,精准攻克 I/O 控制方式对比、DMA 传输原理、中断处理流程、磁盘调度算法等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将 I/O 接口的软硬件构成、程序查询 / 中断 / DMA 控制方式的差异、中断响应与处理全过程、磁盘调度计算等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了主机与外设数据交互的完整逻辑,可用于入门学习、硬件原理学习的知识框架搭建,快速建立对计算机输入输出系统的整体认知。模板完整覆盖输入 / 输出系统核心考点:从 I/O 系统的基本概念、接口的分类与工作原理,到程序查询、中断、DMA 三种核心 I/O 控制方式的对比;从中断响应与完整处理流程,到磁盘调度算法、DMA 传输原理等计算类高频考点,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。该模板借助万兴脑图软件绘制,助力计算机学习者高效掌握输入 / 输出系统核心知识。
这是一篇关于408考研,期末考试,计算机组成原理,总线的思维导图,专为计算机专业学生、考研 / 软考备考者、计算机底层原理学习者打造,是系统梳理总线系统核心知识的高效学习工具。思维导图的结构化呈现方式,将总线概述、总线仲裁、总线操作和定时、总线标准四大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入关键原理示意图、性能计算要点与对比说明,帮助使用者快速构建总线系统的知识体系,精准攻克总线分类、仲裁方式、传输定时与性能分析等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将总线的特性与分类、集中式 / 分布式仲裁方式、同步 / 异步传输定时、总线性能指标计算等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了计算机系统中各部件通过总线进行数据传输的完整逻辑,可用于入门学习、硬件原理学习的知识框架搭建,快速建立对计算机系统互连机制的整体认知。模板完整覆盖总线系统核心考点:从总线的基本概念、分类与特性,到总线仲裁的集中式与分布式实现;从总线操作的同步 / 异步 / 半同步定时方式,到总线标准与性能指标计算,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。
这是一篇关于408考研,期末考试,计算机组成原理,中央处理器的思维导图,专为计算机专业学生、考研 / 软考备考者、计算机底层原理学习者打造,是系统梳理 CPU 核心知识的高效学习工具。思维导图的结构化呈现方式,将 CPU 的功能和基本结构、指令执行过程、数据通路、控制器、指令流水线、多处理器系统六大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入高频考点标注、关键概念对比与计算要点,帮助使用者快速构建 CPU 工作原理的知识体系,精准攻克数据通路设计、流水线性能分析、中断处理流程等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将 CPU 结构、指令执行周期、数据通路设计、硬布线 / 微程序控制器对比、流水线冲突处理、多处理器系统分类等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了 CPU 从指令取指到执行的完整工作流程,可用于入门学习、底层原理学习的知识框架搭建,快速建立对计算机核心部件的整体认知。模板完整覆盖中央处理器核心考点:从 CPU 的功能与基本结构、指令执行的完整过程,到数据通路的设计原理与分类;从硬布线与微程序控制器的工作原理与对比,到指令流水线的性能指标、冲突处理与多发技术;再到多处理器系统的基本概念与硬件多线程技术,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。
社区模板帮助中心,点此进入>>
这是一篇关于408考研,期末考试,计算机组成原理,输入输出系统思维导图,专为计算机专业学生、考研(如 408 统考)/ 软考备考者、计算机硬件底层原理学习者打造,是系统梳理 I/O 系统核心知识的高效学习工具。思维导图的结构化呈现方式,将 I/O 系统的基本概念、I/O 接口、I/O 控制方式、中断处理流程四大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入高频考点标注、原理示意图与对比表格,帮助使用者快速构建输入 / 输出系统的知识体系,精准攻克 I/O 控制方式对比、DMA 传输原理、中断处理流程、磁盘调度算法等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将 I/O 接口的软硬件构成、程序查询 / 中断 / DMA 控制方式的差异、中断响应与处理全过程、磁盘调度计算等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了主机与外设数据交互的完整逻辑,可用于入门学习、硬件原理学习的知识框架搭建,快速建立对计算机输入输出系统的整体认知。模板完整覆盖输入 / 输出系统核心考点:从 I/O 系统的基本概念、接口的分类与工作原理,到程序查询、中断、DMA 三种核心 I/O 控制方式的对比;从中断响应与完整处理流程,到磁盘调度算法、DMA 传输原理等计算类高频考点,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。该模板借助万兴脑图软件绘制,助力计算机学习者高效掌握输入 / 输出系统核心知识。
这是一篇关于408考研,期末考试,计算机组成原理,总线的思维导图,专为计算机专业学生、考研 / 软考备考者、计算机底层原理学习者打造,是系统梳理总线系统核心知识的高效学习工具。思维导图的结构化呈现方式,将总线概述、总线仲裁、总线操作和定时、总线标准四大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入关键原理示意图、性能计算要点与对比说明,帮助使用者快速构建总线系统的知识体系,精准攻克总线分类、仲裁方式、传输定时与性能分析等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将总线的特性与分类、集中式 / 分布式仲裁方式、同步 / 异步传输定时、总线性能指标计算等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了计算机系统中各部件通过总线进行数据传输的完整逻辑,可用于入门学习、硬件原理学习的知识框架搭建,快速建立对计算机系统互连机制的整体认知。模板完整覆盖总线系统核心考点:从总线的基本概念、分类与特性,到总线仲裁的集中式与分布式实现;从总线操作的同步 / 异步 / 半同步定时方式,到总线标准与性能指标计算,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。
这是一篇关于408考研,期末考试,计算机组成原理,中央处理器的思维导图,专为计算机专业学生、考研 / 软考备考者、计算机底层原理学习者打造,是系统梳理 CPU 核心知识的高效学习工具。思维导图的结构化呈现方式,将 CPU 的功能和基本结构、指令执行过程、数据通路、控制器、指令流水线、多处理器系统六大核心模块拆解为层级清晰、逻辑连贯的分支框架,同时融入高频考点标注、关键概念对比与计算要点,帮助使用者快速构建 CPU 工作原理的知识体系,精准攻克数据通路设计、流水线性能分析、中断处理流程等重难点与高频考点。对于计算机专业学生与考研 / 软考备考者而言,这份思维导图模板可直接用于课堂笔记整理、期末复习、考点梳理,将 CPU 结构、指令执行周期、数据通路设计、硬布线 / 微程序控制器对比、流水线冲突处理、多处理器系统分类等零散知识点系统化,降低理解与记忆难度,提升备考效率;对于计算机底层原理学习者,模板清晰呈现了 CPU 从指令取指到执行的完整工作流程,可用于入门学习、底层原理学习的知识框架搭建,快速建立对计算机核心部件的整体认知。模板完整覆盖中央处理器核心考点:从 CPU 的功能与基本结构、指令执行的完整过程,到数据通路的设计原理与分类;从硬布线与微程序控制器的工作原理与对比,到指令流水线的性能指标、冲突处理与多发技术;再到多处理器系统的基本概念与硬件多线程技术,均以思维导图形式清晰呈现,层级分明,便于快速查阅、重点标记与按需编辑修改,适配备考笔记、课程复习提纲、学习课件等多种场景。
第七章输入/输出系统
7.1I/O系统的基本概念
I/O接口(即,I/O控制器、设备控制器)
接收主机发送的 I/O控制信号,并实现主机和外部设备之间的信息交换
在各个外设与主机之间传输数据时进行各种协调工作的逻辑部件
负责协调主机与外部设备之间的数据传输
I/O控制器就是一块芯片,常被集成在主板上
I/O 端口
I/O 接口中 CPU 可访问的寄存器称为 I/O 端口
指 I/O 接口中用于缓冲信息的寄存器
注
适配器和控制器一样
I/O系统的基本组成
I/O软件
包括驱动程序、用户程序、管理程序、升级补丁等。
通常采用I/O指令和通道指令实现主机和I/O设备的信息交换。
I/O指令
CPU指令(指令系统)的一部分
机器指令的一类
控制IO接口或者控制通道
操作码+命令码+设备码
操作码
识别I/O指令
命令码
做什么操作
设备码
对哪个设备进行操作

通道指令
通道能识别的指令
通道程序提前编制好放在主存中
指出数据的首地址、传送字数、操作命令
在含有通道的计算机中,CPU执行I/O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I/O设备进行管理
I/O硬件
包括外部设备、I/O接口、I/O总线等
7.3I/O接口
IO接口
内部接口
主机侧
数据传输方式
并行/串行传输
内部接口与系统总线相连
实质上是与内存、CPU相连
外部接口
设备侧
外部接口通过接口电缆与外设相连
数据传输方式
并行/串行传输方式
并行传输多用于同步总线上
I/O接口的功能
数据缓冲
在I/O接口中加入数据缓冲寄存器(DBR)
达到主机和外设工作速度的匹配
错误和状态检测
接口和外设发生出错情况的分类
设备电路故障或异常情况
数据传输错
监测连接在其上的外设
外设状态发生变化时,修改状态寄存器相关的内容
通过状态寄存器反馈设备的各种错误、状态信息,供CPU查用
控制和定时
传送控制命令和状态信息
接收从控制总线发来的控制信号、时钟信号
数据(信号)格式转换
串-并、并-串等格式转换
实现主机和设备通信联络控制
实现主机——I/O接口——I/O设备之间的通信
IO接口与主机侧的通信包括
进行地址译码和设备选择
对主机通过地址总线送来的地址信息进行译码
确定是否选中本设备
接受总线送来的控制信息,以确定数据传送的方向
将接口的数据缓冲寄存器或状态寄存器的信息送到系统总线
或接收系统总线传来的数据和命令信息,送到接口的数据缓冲寄存器或控制寄存器
IO接口与设备侧的通信包括
将控制寄存器的命令译码,输到外部接口的控制线上
将数据缓冲寄存器的数据发送到外部接口的数据线上
接收外设的数据或状态信息,将其送到接口的数据缓冲寄存器或控制寄存器
I/O控制器组成
CPU与控制器的接口
用于实现CPU与控制器之间的通信。
数据寄存器
输出时
暂存CPU发来的数据,控制器传送设备
输入时
暂存设备发来的数据,CPU取走数据。
暂存输入输出数据
控制寄存器
存放CPU发出的IO命令和参数
状态寄存器
记录I/O设备的当前状态
IO逻辑写入
CPU读出
可能有多个
都要有相应的地址
I/O逻辑
接收和识别CPU的各种命令
对设备发出命令
控制器与设备的接口
实现控制器与设备之间的通信
可能有多个,有编号
一个I/O控制器可能会对应多个设备;
I/O接口的工作原理
I/O总线分类
控制线
读/写IO端口的信号、中断请求信号
地址线
指明I/O端口
传送与 CPU 交换数据的端口地址
数据线
读写数据、状态字控制字、中断类型号
在 CPU 寄存器和端口之间传输数据
数据缓冲寄存器和命令/状态寄存器的内容都是通过数据线来传送的
补充
系统总线
处理器总线
存储器总线
I/O总线
注
控制寄存器、状态寄存器在使用时间上是错开的
有的I/O接口中可将二者合二为一
接收CPU发来的命令字,然后反馈每个设备的状态字,时间上是错开的
IO控制器中的各种寄存器称为I/O端口
如何确定要操作的设备?
每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备
步骤
①发命令:
发送命令字(控制字)到I/O控制寄存器,向设备发送命令(需要驱动程序的协助)
②读状态:
从状态寄存器读取状态字,获得设备或I/O控制器的状态信息
设备是否已经就绪?工作是否已经完成
③读/写数据:
从数据缓冲寄存器发送或读取数据,完成主机与外设的数据交换
I/O接口可以接多个设备,对设备的选择信息(如何确定要操作的设备)
在有的系统之中,地址线除了指明CPU要读写的寄存器之外,也有可能被用于指明具体的设备编号
但是设备编号和寄存器的编号需要分开两次进行传输
每个设备对应一组寄存器,操作不同的寄存器就是在操作不同的设备
CPU可以访问的寄存器称之为IO端口,如数据缓存寄存器,数据端口
接口与端口
接口interface
端口Port
数据端口
读&写
控制端口
写
状态端口
读
寄存器
I/O端口是指接口电路中可以被CPU直接访问的寄存器。
控制逻辑
同外设之间的信息传送实质是对接口中的某些寄存器(即端口)进行读或写
I/O接口的类型
按数据传送方式可分为
并行接口
一个字节或一个字所有位同时传送
串行接口
一位一位地传送。
这里所说的数据传送方式指的是外设和接口一侧的传送方式
主机和接口一侧接口要完成数据格式转换。
按主机访问I/O设备的控制方式可分为
程序查询接口
中断接口
DMA接口
按功能选择的灵活性可分为
编程接口
不可编程接口
I/O端口及其编址
统一编址
又称存储器映射方式
把I/O端口当做存储器的单元进行地址分配
I/O端口地址和内存地址是一整套的
用统一的访存指令就可以访问I//O端口
特点
靠不同的地址码区分内存和I/O设备
I/O地址要求相对固定在地址的某部分
随机,不需要最大/最小,但一旦确定了就不能随意更改
优点
不需要专门的输入/输出指令
任何可以访存的指令都可以访问I/O端口
可使CPU访问I/O的操作更灵活、更方便
可使端口有较大的编址空间
读写控制逻辑电路简单
缺点
端口占用了存储器地址,使内存容量变小
外设寻址时间长
利用存储器编址的I/O设备进行数据输入/输出操作,执行速度较慢
地址位数多,地址译码速度慢
RISC机器常用
独立编址
又称I/O映射方式
端口地址与存储器地址无关
独立编址CPU需要设置专门的输入/输出指令访问端口
靠不同的指令区分内存和I/O设备
优点
输入/输出指令与存储器指令有明显区别, 使用专门I/O指令,程序编制清晰,便于理解。
I/O端口地址位数少,地址译码速度快
I/O端口的地址不占用主存地址空间
缺点
I/O指令少,程序灵活性差。
一般只能对端口进行传送操作
增加了控制的复杂性
需要CPU提供存储器读/写、I/O设备读/写两组控制信号
Intel 处理器常用
IN、OUT 就是IO指令
IN
从某个指定的IO端口读入数据至CPU的寄存器中
OUT
把CPU的某个寄存器中的内容写入指定的IO端口中
注
两种编址方式都是通过相同的地址总线进行访问的,通过不同的编址策略和控制信号来区分
7.4I/O方式
补充
中断请求的分类
中断(广义中断)
内中断(也称异常、例外、陷入)
与当前执行的指令有关
自愿中断-指令中断
访管指令
强迫中断
硬件故障
缺页
软件中断
整数除0
外中断(中断)(狭义的中断)
与当前执行的指令无关
CPU是在每条指令执行阶段结束前向接口发出中断查询信号
以获取I/O的中断请求
CPU响应中断的时间是在每条指令执行阶段的结束时刻
对于执行时间很长的指令,可在执行过程中设置若干个“查询断点”
外设请求
I/O操作完成发出的中断信号
人工干预
用户强行终止一个进程
非屏蔽中断
关中断时也会被响应
如掉电
可屏蔽中断
关中断时不会被响应
关中断的作用
实现原子操作
8086芯片的PSW

袁书
内部异常
故障(Fault)
引起故障的指令启动后、执行结束前被检测到的一类异常事件
非法操作码、缺页、除数为0
陷入(Trap)
自陷指令
系统调用指令
终止(Abort)
中断服务程序
产生入口地址的方法
软件查询法
非向量中断
硬件向量法
向量中断
每个中断源都有一个唯一的类型号,每个中断类型号都对应一个中断服务程序,每个中断服务程序都有一个入口地址,即中断向量
采用中断向量法的中断
由硬件产生向量地址,再由向量地址找到 入口地址
中断向量法
CPU 响应中断后,通过识别中断源获得中断类型号,然后据此计算出对应中断向量的地址……
中断向量IV(Interupt Vector)
存放在中断向量表中
通过数据线传给CPU
中断向量表
数组实现
中断向量
通常把中断服务程序的首地址PC和初始PSW称为中断向量
中断服务程序的入口地址
指向中断请求信号对应的中断服务程序
向量地址
通常被称为中断类型号或向量号
指中断向量在中断向量表中的索引号(或偏移量)
内存中存放中断向量的地址
中断向量所在的地址
即中断服务程序入口地址的地址
中断向量的存储地址
向量地址的形成
由向量地址形成部件产生
向量地址形成部件
硬件
根据某个中断请求信号,得到与这个中断请求信号相对应的中断向量的保存地址
不同的中断源对应不同的中断服务程序
可以较快速地识别中断源
根据输入的每个比特来判断当前接收到的中断请求信号类型,以及是哪个中断源发来的

中断判优
当有多个中断请求同时出现时(同时提出请求),中断服务系统必须能从中选出当前最需要给予响应的且最重要的中断请求(通过中断判优逻辑响应一个中断源)
预先对所有的中断进行优先级排队
实现
硬件实现

通过硬件排队器实现
排队器既可以设置在CPU中,也可以分散在各个中断源中
硬件判优法
链式查询
独立请求
软件实现
通过查询程序实现
慢

优先级
硬件故障中断属于最高级(掉电),其次是软件中断(系统调用)
非屏蔽中断优于可屏蔽中断
DMA请求优于I/O设备传送的中断请求
高速设备优于低速设备
输入设备优于输出设备
实时设备优于普通设备
多重中断和中断屏蔽技术
单重中断
执行中断服务程序时不响应新的中断请求
多重中断/中断嵌套
执行中断服务程序时可响应新的中断请求
重叠处理中断的现象称为中断嵌套
单重中断和多重中断的对比

屏蔽字
指明接下来哪些中断请求应该被屏蔽
解决中断屏蔽信号的优先级问题
中断屏蔽技术
CPU要具备多重中断的功能须满足条件
在中断服务程序中提前设置开中断指令
优先级别高的中断源有权中断优先级别低的中断源。

对比

硬件电路一般不会考
屏蔽触发器
每个中断源都有一个屏蔽触发器
1表示屏蔽该中断源的请求
0表示可以正常申请
屏蔽字寄存器
所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器
屏蔽字
屏蔽字寄存器的内容称为屏蔽字
每个屏蔽字
CPU在处理中断源发来的中断请求时,应该屏蔽掉其他的哪些中断源的中断请求
屏蔽字设置的规律
一般用‘1’表示屏蔽,’0’表示正常申请。
相当于需要屏蔽与这个比特位相对于的那个中断源发来的中断请求信号
屏蔽字中‘1’越多,优先级越高
eg,每个都设置为1则这个中断源的中断处理一定再不可能被中断
每个中断源对应一个屏蔽字
在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字
每个屏蔽字中至少有一个’1’
至少要能屏蔽自身的中断
只有中断嵌套时才考虑屏蔽字,当计算机执行的是普通指令时不会屏蔽
eg
处理优先级A>B>C
响应优先级C>B>A
先响应C中断,中断隐指令
在执行C的中断服务程序过程中设置屏蔽字,开中断和马上检测到A号中断和B中断
响应B
响应A
中断发生流程
中断请求
中断源向CPU发送中断请求信号
中断源:可以发出中断请求信号的部件
中断请求标记
每个中断源向CPU发出中断请求的时间是随机的
中断请求标记触发器INTR
记录中断事件并区分不同的中断源
中断系统需对每个中断源设置
当其状态为“1”时
表示中断源有请求
中断请求标记寄存器
由INTR组成中断请求标记寄存器
可集中在CPU中,也可分散在各个中断源中

每个触发器可以记录0-1
中断响应
CPU响应中断的条件
中断源有中断请求
CPU允许中断即开中断
CPU处于关中断状态就不会响应任何中断信号
一条指令执行完毕,且没有更紧迫的任务
中断请求和响应信号是在I/O总线的控制线上传送的。CPU 响应某一中断后,就从数据线上获取该中断源的中断类型号,并据此计算对应中断向量在中断向量表中的位置。
中断隐指令
关中断
保护断点和程序状态
识别中断源
软件方法(轮询
中断查询程序根据中断请求状态,按优先级顺序来识别
硬件方法(向量中断
将所以中断请求状态送到一个排队电路中,根据中断优先级识别出最高优先级的中断请求
中断处理
中断隐指令
把CPU的指令执行流转移到正确的一个中断服务程序
修改PC的值
中断服务程序
是处理器处理的紧急事件,可理解为一种服务,是事先编好的某些特定的程序
一般属于操作系统的模块(内核),以供调用执行
中断处理过程
进入中断服务程序的方法是把该程序第一条指令的地址放入PC
回到主程序的方法是把K+1放入PC
中断处理过程
中断隐指令(硬件)
进入中断服务程序前的步骤
保存原程序的PC值,并让PC指向中断服务程序的第一条指令
主要任务
关中断
为了后续保护中断现场期间不被新的中断所打断
保存断点和程序状态
保存原程序的(程序断点)PC值
保证在中断服务程序执行完毕后能正确地返回到原来的程序
可以存入堆栈,也可以存入指定单元
引出中断服务程序
中断服务程序寻址
取出中断服务程序的入口地址并传送给程序计数器
PC指向中断服务程序的第一条指令
入口地址
将初始PSW,送往PSWR
注
中断隐指令不是一条具体的指令
不属于程序控制指令(改变程序执行顺序的指令)
是CPU检测到中断信号之后会自动来执行的一系列动作
硬件完成
保存断点信息
保存原程序的PC值、PSW的内容
若是系统提供了访问PSWR的指令,也可由软件来保存
把之前程序执行的断点信息PC值压入栈中保存下来和关中断指令可以同时进行,先后顺序无所谓
保存程序断点和关中断由硬件完成同时进行,先后顺序无所谓
中断服务程序
主要任务
保护中断现场
保存通用寄存器内容
存到特定的存储区
可使用堆栈,也可以使用特定存储单元
这类信息称为现场信息
以便返回原程序后可以恢复CPU环境
(eg: 中断服务的过程中有可能修改ACC寄存器的值)
补充
无论是程序中断还是进程切换,都需要保护现场
中断服务(设备服务)
具体看是什么中断请求信号
如通过程序控制需打印的字符代码送入打印机的缓冲存储器中
恢复现场
通过出栈指令或取数指令把之前保存的信息送回寄存器中
中断返回
通过中断返回指令回到原程序断点处
中断服务程序的最后指令通常是中断返回指令
不仅要修改 PC值,而且要将 CPU 中的所有寄存器都恢复到中断前的状态
I/O控制方式
程序查询方式
程序查询方式接口结构

流程图


传输一个字的内容
CPU通过程序不断查询I/O设备是否已准备好
分类
独占查询
CPU不断检查I/O接口,花费全部时间等待I/O的完成
CPU100%的时间都在查询I/O状态,完全串行
定时查询
CPU每隔一段时间会检查特定的I/O接口
查询和程序的执行可以穿插着进行
在保证数据不丢失的情况下,每隔一段时间CPU就查询一次I/O状态
查询的间隔内CPU可以执行其他程序
主要特点
CPU有“踏步”等待现象
CPU与I/O串行工作
注
对外设查询频率太低会导致外设的某些输入数据会丢失
覆盖
适合慢速设备
优点
接口设计简单、设备量少
缺点
在信息传送过程中要花费很多时间用于查询和等待
在一段时间内只能和一台外设交换信息,效率大大降低
袁书
两种程序直接控制方式
无条件传送方式
处理器对外设接口进行周期性的定时访问,直接对IO端口进行数据存取
由于对于高速设备,定时访问的时间间隔短,需要频繁进行IO设备的访问,因而这种方式不宜用于高速设备的IO
条件传送方式/异步传送方式
在查询程序中安排相应的IO指令,由这些指令直接从IO接口中取得外设和接口的状态,根据这些状态来控制外设和主机的信息交换
根据查询方式的不同
定时查询
独占查询
对于键盘和鼠标这种随机启动的低速IO设备,由于用户长时间没有输入,而引起查询程序长时间等待,降低处理器的处理效率,因而多采用中断的方式
像磁盘、磁带和光盘存储器等成块传送设备一旦被启动,便一直传送数据,不需要处理器对每个数据传送启动,并且数据的传送时间很短,不适合程序查询方式
对于针式打印机这种,可以采用程序查询方式
程序中断方式

设备准备数据时,CPU继续工作。设备准备好之后向CPU发出中断请求,CPU在指令周期的末位检查中断并做出中断响应(执行中断处理程序)
中断系统
程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现处,继续执行原程序。
如果一个进程的指令序列开始上CPU运行了,这个进程就会一直霸占着CPU
不同中断请求用不同中断服务程序
工作流程
中断请求
中断响应
中断处理

程序中断的作用
① 实现CPU与I/O设备的并行工作。
② 处理硬件故障和软件错误。
③ 实现人机交互,用户干预机器需要用到中断系统。
④ 实现多道程序、分时操作,多道程序的切换需借助于中断系统。
⑤ 实时处理需要借助中断系统来实现快速响应。
⑥ 实现应用程序和操作系统(管态程序)的切换,称为“软中断”
⑦ 多处理器系统中各处理器之间的信息交流和任务切换。
袁书
中断系统存在两种中断优先级
中断响应优先级
由查询程序或硬件判优排队线路决定的优先权
反映的是多个中断同时请求时哪个被先响应
中断处理优先级
根据各自的中断屏蔽字对中断处理优先权进行动态分配
中断过程
中断响应
主机发现中断请求,中止现行程序的执行,到调出中断服务程序的过程
由硬件实现
中断响应的时间
断点保存的时间
中断源识别和判优的时间
获得中断服务程序首地址和初始状态的时间
中断处理
由CPU执行中断服务程序来实现,由软件完成
先行段
保护现场和旧屏蔽字
设置新屏蔽字
开中断
本体段
具体的中断服务
恢复段
关中断
恢复现场和旧屏蔽字
清除中断请求
开中断
返回
以上两种数据流
键盘→I/O接口的数据寄存器→数据总线→CPU某寄存器→主存(变量i的对应位置)
每输入或者输出一个字就需要CPU介入一次,CPU作为中转站完成IO设备和主存之间的传送
DMA方式
主存和高速I/O设备之间有一条直接数据通路(DMA总线)
主存和I/O设备交换信息时,无需调用中断服务程序。

三条总线同一时刻只能一个使用
DMA接口也是一种IO接口
CPU通过IO总线请求IO设备
通过硬件实现,不需要程序干预
注:何时检测中断
在每条指令执行结束时,CPU统一扫描各个中断源,检査有无中断请求
中断响应在一个指令周期结束后
CPU 会在每个存取周期(总线周期)结束后检査是否有DMA 请求
DMA响应在一个总线周期后
过程
IO设备准备好的数据会先存到DMA控制器的数据寄存器中
每准备好一个字的内容DMA控制器会发出一个DMA请求
会占用一个存储周期往主存的对应位置写入一个字的数据
在这个存储周期内,若CPU也想访问主存,CPU需要等待DMA控制器写好这个字的数据,才能继续访问主存。
特点
DMA控制器与主存每次传送1个字。
每传一个字占用一个存储周期
当传送完一整块数据后才向CPU发出中断请求
启动一次DMA传送传输一个数据块
主存单元之中连续的一块数据
每传完一整块数据,CPU才需要执行一次中断处理程序
主存和DMA接口之间有一条直接数据通路。由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。
DMA控制器(DMAC)的组成
DMA控制器(DMA接口)
通常用来控制某一些块设备
以块为单位进行读写的设备
DMA控制器的主要功能
传送前
1)接受外设发出的DMA请求(外设传送一个字的请求),并向CPU发出总线请求。
2)CPU响应此总线请求,发出总线响应信号,DMA控制器接管总线控制权,进入DMA操作周期。
传送时
3)确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数。
4)规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。
管理总线,控制数据传送
传送后
5)向CPU报告DMA操作的结束。
中断信号
CPU向DMA控制器指明要输入还是输出:要传送多少个数据,数据在主存、外设中的地址。
简单的DMA控制器

主存地址寄存器
简称AR,存放要交换数据的主存地址
传送长度计数器
简称WC,用来记录传送数据的长度
计数溢出时,数据即传送完毕,自动发中断请求信号
数据缓冲寄存器
用于暂存每次传送的数据。
DMA请求触发器
每当I/O设备准备好数据后给出一个控制信号,使DMA请求触发器置位(写1)。
设备准备好数据后将其置为
“控制/状态” 逻辑
由控制和时序电路及状态标志组成,用于指定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步。
中断机构
当一个数据块传送完毕后触发中断机构,向CPU提出中断请求。
注:在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和 控制总线(系统总线),CPU的主存控制信号被禁止使用。而当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。
DMA传送方式
主存和DMA接口之间有一条直接数据通路。
主存和I/O设备之间交换信息时,不通过CPU
IO与主机并行工作,程序和传送并行工作。
但当I/O设备和CPU同时访问主存时,可能发生冲突
会出现DMA和CPU同时访存的情况
需要考虑DMA传送方式的问题
DMA控制器与CPU通常使用主存的3种方法
CPU停止法

成组传送
停止CPU访存:
需要数据传送时,停止CPU访存,总线控制权交给DMA控制器
CPU 处于不工作状态或保持状态
优点
控制简单
适用于传输速率很高的外设实现成组数据传送
缺点
未充分发挥CPU 对主存的利用率
CPU处于不工作状态或保持状态
交替分时访存

交替访存:
将CPU周期(每个存储周期)分为DMA访存和CPU访存两个部分
优点
不需要总线使用权的申请、建立和归还过程
适用于CPU工作周期比主存存取周期更长的情况
缺点
硬件逻辑更为复杂
未必能够利用主存的读写性能
周期挪用(周期窃取)

一个线段表示一个存取周期
周期挪用(周期窃取):
I/O设备 需要访存时,挪用一个或几个存取周期
单字传送
一次总线传送能传送的数据长度
DMA 访问主存有三种可能:
CPU 此时不访存(不冲突)
CPU 正在访存(存取周期结束让出总线)
CPU 与DMA 同时请求访存(I/O访存优先)
DMA传送过程
DMA传输过程
DMA控制器的预置(初始化)预处理:
软件实现
准备内存
输入
在内存设置好缓冲区
输出
先在内存准备好数据
设置参数
内存首址=>地址者存器
字计数值=>字计数器
传送方向=>控制寄存器
设备地址=>设备地址寄存器
CPU完成寄存器初值设置等准备工作
启动外设
然后执行其他程序
进入内核态执行相关的设备驱动程序
DMA传送前由设备驱动程序设置传送参数
DMA数据传送:
硬件实现
DMA请求
选通——>DMA请求——>总线请求
DMA响应
总线响应(CPU让出总线)——>DMA响应
DMA传送
DMA控制总线进行数据传送
CPU继续执行主程序,DMA控制器完成数据传送
DMA在传输过程中不涉及中断
DMA结束处理(后处理)
软件实现
发出DMA结束信号
控制I/O接口产生DMA中断请求信号
转入中断服务程序,做一些数据校验等后处理工作
CPU执行中断服务程序做DMA结束处理
以数据输入为例
单总线

主存地址计数器AR
CPU向DMA控制器指明接下来要读/写的数据存放在主存的位置
DAR
用于指明设备的读写地址
传送长度计数器
指明要传送多少个数据
发生DMA请求
要和主存传送一个字的数据
发生DMA中断请求
一整块的数据传输已经完成
单总线,DMA能否访问主存要依靠CPU

发生DMA请求时,要向主存传送一个字的数据,发生DMA中断请求时意味着一整块的数据传输已经完成
向CPU申请使用总线向主存传输一个字的信息
三总线的连接方式


结束处理
检验送入主存的数据是否正确
测试传送过程中是否出错(错则转入诊断程序)
决定是否使用DMA传送其他数据块
所传输的数据
从设备直接送入内存,或者相反
DMA方式的特点
① 它使主存与CPU的固定联系脱钩
主存既可被CPU访问,又可被外设访问。
②在数据块传送时,主存地址的确定、传送数据的 计数等都由硬件电路直接实现。
③ 主存中要开辟专用缓冲区,及时供给和接收外设的数据。
④ DMA传送速度快,CPU和外设并行工作,提高了系统效率。
⑤ DMA在传送开始前要通过程序进行预处理,结束 后要通过中断方式进行后处理。
DMA方式与I/O方式的对比

现在已经没有机器周期的说法了,改为总线周期结束
程序中断方式的中断为了传送数据
DMA方式的中断请求为了报告CPU数据的传输结束
通道方式
通道
通道是一种专门的IO控制器
通道的种类
字节多路通道
选择通道
成组多路通道
过程
由CPU执行启动I/O设备的指令
通过IO指令启动通道
由通道代替CPU对I/O设备进行管理
CPU对通道的控制方式
执行IO指令
通道被启动后,从主存指定单元开始处取出通道程序执行
IO指令是一种管态(特权)指令
处理来自通道的中断请求
输入输出处理机
IOP
通道结构的输入输出处理机
PPU
输入输出处理机系统结构的外围处理器方式
通道方式与DMA方式的区别是
DMA方式
通过对DMA控制器控制总线,在主存和外设之间实现IO传送
DMA控制器通常只控制一台或多台同类高速设备
通道
通过执行通道程序对IO操作管理
通道可控制多台同类或不同类的设备