第 9章 输入输出组织
● 输入输出组织是用来控制外设与内存或 CPU
之间进行数据交换的机构;是计算机系统中
重要的软、硬件结合的子系统。
● 通常把 I/O设备及其接口线路、控制部件、通道或 I/O
处理器以及 I/O软件统称为输入输出系统,其要解决
的问题是对各种形式的信息进行输入和输出的控制。
● 重点介绍 I/O接口的功能和结构,I/O设备的编址和
寻址、以及在主机和外设间进行数据传送的各种输
入输出控制方式等内容。
9.1 I/O接口
■ 完成各个外设和主机之间的同步与协调、工
作速度的匹配和数据格式转换的逻辑部件称
为 I/O接口 (I/O Interface)。
■ 从功能上来说,PC中的各种 I/O控制器或设备控制器
(包括适配器或适配卡)都是 I/O接口;在大型机中
的 I/O模块就是担负大量复杂的外设控制任务的通道
或 I/O处理器。
9.1.1 I/O接口的功能
? I/O接口是连接外设和主机的一个“桥梁”
? I/O接口的外设侧、主机侧各有一个接口。主机侧的
接口称为内部接口,外设侧的接口称为外部接口,
? 内部接口通过系统总线和内存,CPU相连,而外部接口则通
过各种接口电缆(如,串行电缆、并行电缆、网线或 SCSI电
缆等)将其连到外设上。
? I/O接口的功能
① 数据缓冲:主存和 CPU寄存器的存取速度非常快,而外设速
度则较低,所以在 I/O接口中引入数据缓冲寄存器,以达到
主机和外设工作速度的匹配。
② 错误或状态检测:提供状态寄存器,以保存各种状
态信息供 CPU查用。
? 接口和外设发生的出错情况有两类:一类是设备电
路故障或异常情况;另一类是数据传输错,这种错
误是通过在每个字符上采用一个奇偶校验位来检测
的。
③ 控制和定时:提供控制和定时逻辑,以接受从系统总线来
的控制和定时信号。以协调内部资源与外设间动作的先后关
系,控制数据通信过程。
④ 数据格式转换:提供数据格式转换部件(如:进行串 -并转
换的移位寄存器),使通过外部接口得到的数据转换为内部
接口需要的格式,或在相反的方向进行数据格式转换。
⑤ 与主机和设备通信:上述功能都必须通过 I/O接口与主机或
与设备之间的通信来完成。
? I/O接口与主机侧进行通信
? 对主机通过系统总线送来的地址信息进行译码,以
确定是否选中本设备;
? 接受系统总线送来的控制信息,以确定数据传送的
方向等;
? 将接口中数据缓冲寄存器或状态寄存器的信息送到
系统总线,或接收系统总线送来的数据或命令信息,
将其送到接口中的数据缓冲寄存器或控制寄存器。
? I/O接口与设备进行通信:
? 将控制寄存器中的命令译码,输出到外部接口的控制线上;
? 发送数据缓冲寄存器的数据到外部接口的数据线上;
? 接受外设的状态或数据信息,送到接口中的状态寄存器或数
据缓冲寄存器中。
I / O 接口
CP
U c
查设备状态
送命令
取数据或
送数据
回送设备状态
对命令译码,并
送设备进行控制
从外设取数据或
送数据给外设
图 9.1 数据在外设和主机间的传送过程
? 数据在外设和主机之间进行传送的过程 (图 9.1)
9.1.2 I/O接口的结构
? 图 9.2 I/O接口的通用结构
数据缓冲寄存器
状态 / 控制寄存器
外设界面
控制逻辑
外设界面
控制逻辑
……
地址译码 和
I / O 控制逻辑
控制
状态
数据
控制
状态
数据
控制线
地址线
数据线
主机侧 (系统总线) 设备侧 (接口电缆)
图 9.2
9.1.3 I/O接口的分类
(1) 按数据传送方式分,有并行接口和串行接口
两类。
? 主机侧的内部接口,数据在接口和主机之间总是通过
系统总线按字节或字或多字进行并行传输;
? 外设侧的外部接口,数据在接口和外设之间有串行和
并行两种传送方式。
? 并行接口在设备和接口之间同时传送一个字节或字的所有位
(如 Intel 8255),用于连接快速设备;
? 串行接口则一位一位地传送(如 Intel 8251),主要用于连接
显示终端等慢速设备。对于串行接口,接口内部必须有串-
并转换部件。
(2) 按功能选择的灵活性来分,有可编程接口
和不可编程接口两类。
? 可编程接口能用程序来改变或选择接口的功能和
操作方式(如,Intel 8255,Intel 8251)。
? 不可编程接口不能用程序来改变其功能,但可通
过硬连线路逻辑来实现不同的功能(如,Intel
8212)。
(3) 按通用性来分,有通用接口和专用接口。
? 通用接口可供多种外设使用,如 Intel 8255,Intel 8212;
? 专用接口是为某类外设或某种用途专门设计的,如 Intel 8279
可编程键盘 /显示器接口,Intel 8275可编程 CRT控制器接口。
(4) 按数据传送的控制方式来分,有程控式接口、
中断式接口和 DMA式接口。
? 程控式接口用于连接速度较慢的 I/O设备,如:显
示终端、键盘、打印机等。
? 计算机一般都采用程序中断方式实现主机和外设之
间的数据交换,计算机中都配有中断式接口,中断
控制器 Intel 8259A。
? DMA式接口用于连接如磁盘、磁带等高速设备。
( 8237A)
(5) 按设备的连接方式来分,有点对点接口和多点接口。
? 点对点接口只和一个外设相连,如打印机、键盘、调制解调
器等设备。
? 愈来愈重要的是多点方式,主要用于支持大量的外部存储设
备和多媒体设备(如,CD-ROM、视频和音频)。
? 这种多点接口的典型例子有,SCSI接口和 P1394接口。 SCSI
接口是一种并行 I/O总线,P1394接口是一种串行 /O总线。
9.2 I/O设备的寻址
■ I/O设备寻址是解决外设与主机通信的一个
必要环节;让 CPU能方便地找到要进行信息
交换的设备。
9.2.1 操作系统在 I/O中的作用
? 操作系统使最终用户或用户程序只需通过一些简单
的命令或系统调用就能使用各种 I/O设备,而无需了
解各种 I/O设备的具体工作细节。
? 操作系统把 I/O软件组织成从高到低的四个层次,
层次越低越接近设备,而越远离用户程序。
? 用户层 I/O软件
? 与设备无关的操作系统 I/O软件
? 设备驱动程序
? I/O中断处理程序
? 四个层次的相应说明
? 通常把提出 I/O请求的用户程序看成是用户层 I/O软件。
? 操作系统中与设备无关的 I/O软件的基本功能是执行适用于
所有设备的常用 I/O功能,向用户层软件提供一个统一的调用
接口。
? 设备驱动程序是与设备相关的 I/O软件部分。每个设备驱动
程序只处理一种设备或一类紧密相关的设备。
? 中断处理程序用来对“外设完成任务”的事件进行处理。以
提高效率。
(2) 当 I/O设备已经完成了一个操作或遇到了一个错误,设备必
须能够通知操作系统,以便作适当处理。
(3) 数据必须在存储器或 CPU寄存器和 I/O设备之间传输。
? 在进行指令系统的设计中,必须考虑提供某种能对 I/O进行
访问的指令。
? 操作系统必须保证一个用户程序只能访问到
该用户有权限的 I/O设备部分;必须提供以
下几种信息通信:
(1) 操作系统必须能向 I/O设备给出命令,这些命令不
仅包含象读、写等操作,而且包括对设备本身的一
些操作,如:磁盘查找、定位等。
9.2.2 I/O端口的编址
? 系统如何在 I/O的指令中标识要访问的 I/O接
口中的某个寄存器的呢?这就是 I/O端口的编
址问题。 I/O端口实际上就是 I/O接口中的各
种寄存器;
? 给各个可访问的寄存器进行编址的两种方式
(1) 独立编址方式:对所有的 I/O端口单独进行编号,使它们成
为一个独立的 I/O地址空间。
? 需要用专门的输入输出指令来访问 I/O端口。输入输出指令
中地址码部分给出 I/O端口号。
(2) 统一编址方式:与主存地址空间统一编址,即:将主存地址
空间分出一部分地址给 I/O端口进行编号。
? 无需设置专门的输入输出指令,只要用一般的访存指令就可
以存取 I/O端口。
? 两种编址方式比较
C P U
主存单元
0000
FFFF
I / O
端口
系统总线
M E M R
M E M W
00
FF
I O R
I O W
16
8
8
AB
DB
8
图 9.3 独立编址方案
?




快;

用I/O



使






便







?








些;




















使





















C PU
主存单元
0000
7F FF
I / O 端口
系统总线
M EM R
M EM W
8000
F FFF
A15
15
I OR
I OW
图 9.4 统一编址方式
?










制;












于I/O








或I/O












?





少;

线









使
















? 数据传送的方式
? 输入输出设备可分为字设备和块设备两种。
? 一般块设备的数据直接和主存进行交换,
? CPU中的寄存器通常只和字设备进行数据交换。
? 从传送的数据来源或目的地来看,I/O指令分为两类:
① 寄存器 I/O指令 在寄存器和 I/O端口之间传送一个单数据项
(如:字节、字或双字)。
② 成组 I/O指令 在存储器和 I/O端口之间传送一串数据项(如
:字节串、字串或双字串)。
? Intel 80x86处理器的部分外设端口地址分配(表 9,1)
表 9.1 部分外设控制器的 I/O地址分配表
输入 /出设备 I/O地址 占用地址数
DMA控制器 1 000-01FH 32
中断控制器 1 020-03FH 32
定时器 /计数器 040-05FH 32
键盘控制器 060-06FH 32
实时时钟,
NMI屏蔽寄存器 070-07FH 16
DMA页面寄存器 080-09FH 32
中断控制器 2 0A0-0BFH 32
DMA控制器 2 0C0-0DFH 32
硬盘控制器 2 170-177H 8
硬盘控制器 1 1F0-1F8H 9
输入 /出设备 I/O地址 占用地址数
游戏 I/O口 200-207H 8
并行打印机口 2 278-27FH 8
串行口 4 2E8-2EFH 8
串行口 2 2F8-2FFH 8
软盘控制器 2 370-377H 8
并行打印机口 1 378-37FH 8
单色显示器 /打印适配器 3B0-3BFH 16
彩色 /图形监视器适配器 3D0-3DFH 16
串行口 3 3E8-3EFH 8
软盘控制器 1 3F0-3F7H 8
串行口 1 3F8-3FFH 8
表 9.1续
9.3 I/O数据传送控制方式
9.3.1 I/O控制方式类型
? 通常把 I/O数据传送控制方式分为以下四种
1,程序直接控制方式
▲ 通过程序来控制主机和外设的数据交换。在程序中安排相应
的 I/O指令,直接向 I/O接口传送控制命令,从 I/O接口取得外
设和接口的状态,根据状态来控制外设和主机的信息交换。
2,程序中断控制方式
▲ 程序中断控制方式的基本思想是,当 CPU需要进行输入输出
时,先执行相应的 I/O指令,将启动命令发送给相应的 I/O接
口和外设,然后 CPU继续执行其他程序。
3,直接存储器存取方式
▲ 直接存储器存取( Direct Memory Access)方式简
称为 DMA方式,主要用于高速设备(如:磁盘、
磁带等)和主机的数据传送,这类高速设备采用成
批数据交换方式,且单位数据之间的时间间隔较短。
▲ 用专门的硬件( DMA控制器)来控制总线进行数据交换。
4,通道和 I/O处理器方式
▲ 对于大型计算机系统,为了获得 CPU和外设之间更高的并行
性,也为了让种类繁多、物理特性各异的外设能以标准的接
口连接到系统中,通常采用自成独立体系的通道结构或 I/O
处理器。
▲ 在进行主存和外设之间的信息传送时,CPU执行自己的程序,
两者完全并行。
9.3.2 程序直接控制方式
? 直接通过程序来控制主机和外设的数据交换;
通常有两种类型的程序直接控制数据传送方
式。
(1) 无条件传送方式,也称同步传送方式。
? 用于对一些简单外设(如开关、继电器,7段显示器或机械
式传感器等)进行的数据传送。
? 在规定的时间用相应的 I/O指令对接口中的寄存器进行信息
的输入或输出 。
RD
锁存器
CE
8
至输出设备
8
WR
端口
地址
译码

系统总线 DB
来自系统总线 AB
来自系统总线 CB
M / I O
三态缓冲器
8
CE
来自输入设备
图 9.5 无条件传送接口
(2)条件传送方式,也称异步传送方式。
? 对于一些较复杂的 I/O接口,往往有多个控制、状
态和数据寄存器,对设备的控制必须在一定的状态
条件下才能进行。
? 通过在专门的查询程序中安排相应的 I/O指令,由这些指令
直接从 I/O接口中取得外设和接口的状态,如:“就绪
( Ready)”、“忙( Busy)”、“完成( Done)”等,根
据这些状态来控制外设和主机的信息交换。
? 这是一种通过程序查询接口中的状态来控制数据传送的方式,
也被称为程序查询方式。
▲ 程序查询方式的特点
? 程序查询方式 简单、易控制、外围接口控制逻辑少;
? CPU与外设完全串行工作,所以效率低、速度慢;
? 由于外设的速度比处理器慢得多,当外设进行操作的时候,
CPU在等待外设完成,此时 CPU会浪费许多处理器时间。
设置计数值
读接口状态
传送一个数据
就绪 否?
修改内存地址
启动外设
修改计数值
完成 否?
结束
N
Y
Y
N
设置内存缓冲区首址
图 9.6 查询程序流程图
9.4 程序中断方式
9.4.1 中断的概念
? 中断控制 I/O方式的基本思想
? 当 CPU需要进行一个 I/O操作时,就启动外设工作,并挂起
正在执行的程序,从等待执行的队列中选择一个其他的进程
执行。
? 当外设完成操作,便向 CPU发中断请求。 CPU响应请求后,
就中止现行程序的执行,转入“中断服务程序”,在“中断
服务程序”中完成数据传送任务,并启动外设进行下一个操
作。
?,中断服务程序”执行完后,返回原被中止的程序断点处继
续执行。此时,外设和 CPU又开始并行工作。
C P U 向 I / O 发启
动读 / 写的指令
外设被启动
C P U 做其它事情
外设工作
外设完成任务
中断请求
C P U 读 I / O 状态
出错 出错处理
Y
完成
N
N
从 I / O 读一个字到 C P U 或写一个字到 I / O 接口
Y
返回
C P U 向 I / O 发启
动读 / 写的指令

9.
7



动I/O


? 中断 I/O方式,处理器时间被有效利用,
充分发挥 CPU的高速处理能力,从而提高
了系统的吞吐能力。
? 这种工作方式实现了外设与 CPU 的并行 (图 9.8)
外设
C P U








工作 工作 工作












图 9.8 CPU与外设并行工作
? 在程序运行过程中,外设完成任务或出现某
种异常事件时 (除数为 0、运算结果溢出、非
法操作码、奇偶校验错等 ),必须中止现行
程序的执行,转去处理发生的异常事件或外
设完成事件。待处理完毕后,再回到原来被
中止的程序继续执行。这个过程称为中断。
? 现代计算机系统都配有完善的中断系统
? 中断系统是计算机实现中断功能的软、硬件的总称。
? CPU中有相应的中断响应和处理的机构,在外设接
口中有相应的中断请求和控制逻辑,操作系统中有
相应的中断服务程序。
? 这些中断硬连线路和中断服务程序有机结合,共同
完成和控制中断过程。
9.4.2 中断的分类
1,内中断
▲ 由处理器内部的异常事件引起的中断。根
据其发生的原因又分为硬件性故障中断和程
序性例外。
? 硬故障中断:由硬联线路出现异常引起。如电源掉电、存储
器线路错等。
? 程序性中断又可分为失效 (Fault)、自陷 (Trap)和终止 (Abort)
三类。
? 程序性中断:也称软中断。由 CPU执行某个指令而引起的发
生在处理器内部的异常事件,也称为例外 (Exception)事件。
2,外中断
由外设完成任务或出现特殊情况引起。如:任
务完成、打印机缺纸、磁盘检验错、采样计时
到、键盘输入等。
3,80X86处理器的中断系统分类
▲ 外部中断(硬中断):通过处理器的中断请求线 INTR(可屏
蔽中断 )和 NMI(不可屏蔽中断 )来实现请求的中断。
▲ 内部中断 ( 软中断 ),也称为异常或例外 。 由处理器内部产
生而不通过中断请求线请求, 为不可屏蔽中断 。
▲ 内部中断又可细分为以下两类:
① 指令引起的异常,CPU执行预先设置的指令或指令执行结果
使某个标志位置,1”而引起的。
? CPU执行 INT n指令时,停止正常的执行过程,自动调出一
个断点处理中断服务程序,进行一些特殊的处理。
② 处理器检测到的异常,CPU执行指令时产生的异常;如:当 CPU执行除法指令 DIV或 IDIV时,若发现
除数为 0或商产生溢出,则立即产生一个除法错中
断(类型号为 0)。
? 系统中有一个陷阱测试线路,不断对程序状态字
PSW(Program Status Word)的 TEF(Trap Enable Flag)字段 进
行测试,当测试到对应的条件满足时,就自动调出一个特定
的中断处理程序来执行。
OF O
CC
TF N
TEF
PSW

图 9.9 程序状态字寄存器
? 由外设引起的 I/O中断和异常中断在本质上
是一样的;但是两者相比,有两个重要的不
同点:
(1) I/O中断相对于指令的执行是异步的,I/O中断不和
任何指令相关联,也不阻止指令的完成,中断控制
逻辑仅需要在开始一个新指令之前检测是否有 I/O
中断请求。
(2) 异常是由处理器自身发现的,不必通过外部的某个信号通知
CPU,也不用识别哪种异常。
? 对于 I/O中断,处理器除了被通知一个,I/O中断已经发生”
外,还必须进一步调查哪些设备发生了中断,它们的设备标
识号是什么,还要进一步根据其不同的紧急程度选择一个先
响应。
9.4.3 中断系统的基本职能和结构
? 中断系统的基本功能
(1) 及时记录各种中断请求信号;一般是用一个中断请求
寄存器来保存 。
(2) 自动响应中断请求。 CPU必须能够在发生中断事件后,自动
响应并处理。在一条指令执行完、下条指令执行前去检查有
无中断请求发生。
(3) 自动判优。在计算机系统中,中断源有很多,在有多个中断
请求同时产生时,能够判断出哪个中断的优先级高,选择优
先级高的中断先被响应。
(5) 中断屏蔽。现代计算机大多采用中断嵌套技术。中断系统中
要有中断屏蔽机制,使得每个中断可以设置它允许被哪些中
断打断,不允许被哪些中断打断,通过在中断系统中设置中
断屏蔽字来实现。
(4) 保护被中断程序的断点和现场。原程序被中止处
的指令地址和当时的程序状态和各寄存器的内容
必须保存,以便能正确回到原处继续执行。
中断屏蔽寄存器
中断请求寄存器
……
判 优 线 路
向量地址形成线路
向量地址
中断 请
求 信号
中断查询
……
……
图 9.10 中断系统的基本结构
? 中断系统的基本结构(图 9.10)
? 中断嵌套
? 当有新的优先级更高的中断请求发生,那么 CPU应
立即中止正在执行的中断服务程序,转去处理新的
中断。这种情况为多重中断,也称 中断嵌套 。
K1
K 1+ 1
K2
K 2+ 1
K3
K 3+ 1
原主程序
1# 中断
服务程序
2# 中断
服务程序
3# 中断
服务程序
返回返回返回
响应
1# 请求
2# 请求
响应
3# 请求
响应
K 1+ 1
PSW1
K 2 +1
PSW2
K 3 +1
PSW3
堆栈
图 9.11 中断嵌套过程
9.4.4 中断过程
? 中断过程包括两个阶段:中断响应阶段和
中断处理阶段。
? 中断响应阶段由硬件实现;
? 而中断处理阶段则由 CPU执行中断服务程序来完成,
所以中断处理是由软件实现的。
(1) 保存好程序的关键性信息
? 程序使用的资源有两类,一类是工作寄存器,存放着程序执
行的现行值,把这类信息称为现场信息;
? 另一类是表示程序进程状态的程序状态字 PSW和标志进程运
行过程的程序计数器 PC,通常把这类信息称作断点信息。
1,中断响应
▲ 中断响应是指主机发现中断请求,中止现行程序的
执行,到调出中断服务程序这一过程。
? 对于现场信息,可以在中断服务程序中把它保存到
一个特定的存储区(如堆栈)中。
? 对于断点信息,应在中断响应时自动保存起来。
(2) 正确识别中断源
? 在中断响应过程中必须能够识别出哪些中断有请求,并且在
有多个中断请求出现的情况下,选择优先级最高的中断被响
应。来执行中断服务程序。
(3) 提高中断响应的速度
? 中断响应时间应是中断系统设计时需要考虑的一个重要指标;
它反映了整个计算机系统的灵敏度。
? 在程序被中止时,必须正确地保存这些关键性信息,
以便在返回程序后,处理器能正确地沿着断点继续
执行。
▲ 中断响应的条件:
① CPU处于开中断状态( IF=1);
② 至少要有一个未被屏蔽的中断请求;
③ 在一条指令执行完。
▲ 中断响应过程(图 9.12)
① 关中断:将中断允许标志置为禁止状态, 这时将屏蔽掉所有
新中断请求;
② 保护断点,PC和 PSW送入堆栈;
③ 识别中断源:通过某种方式获得响应优先级最高的中断请求
所对应的中断服务程序的首地址和初始的 PSW。对于 外部中
断,要进行一次总线操作,得到相应的中断向量。
取指令
执行指令
有中断请求?
N
Y
关中断
保护断点
识别中断源
中断响应周期

9.
12






▲ 中断源的识别
方法
① 软件轮询方法
? 当 CPU检测到中断
请求时, 通过中
断响应, 自动地
转移到一个特定
的中断服务程序

? 在这个中断服务程
序中, 所有的中
断请求被依次一
一查询 (图 9.13)。
图 9.13 中断查询程序的结构
? 软件轮询中断识别方式的硬件结构简单,只要一根
中断请求线,中断优先级由中断查询程序的查询顺
序决定,所以灵活。
? 它需花费很多时间查询,中断响应慢,无法实时响
应,降低了 CPU的利用率 (图 9.14 )。
C PU
#1 I / O # 2 I / O # n I / O
I RQ
数据
控制
中断请求锁存器
地址




图 9.14 程序查询中断的结构
② 硬件判优方法(向量中断)
? 硬件判优方式,也称为 向量中断方式。是另一种中
断处理技术,它根据菊花链查询线路或并行判优线
路等取得最高优先权中断的向量地址;
? 通常把中断服务程序的首址 PC和初始 PSW称为中断向量
IV(Interrupt Vector),所有中断向量存放在一个中断向量表
中 (图 9.15);
? 根据中断向量地址找到对应的中断服务程序的首地址 PC和初
始 PSW,从而调出中断服务程序执行。
? 把中断向量表中与相应中断对应的表项号称为中断类型号。
? 指向中断向量的指针 (地址 )称为向量地址 VA(Vector Address)。
图 9.15 中断向量表
CS, I P
CS, I P
CS, I P
CS, I P
CS, I P
00 ~ 03
04 ~ 07
08 ~ 0B
3F C ~ 3 F F
( 除法错 )
( 单步 )
( N MI )▲ 8086/8088的中断向量表。位于 0000H~
03FFH,共 256组,每组占四个字节,记录对
应中断服务程序的首地址 CS:IP。向量地址
由中断类型号乘 4得到。
图 9.16 8086/8088的中断向量表
▲ 硬件判优法有两种。一种为菊花链查询法,
还有一种为独立请求法。
CP U
#1 I / O # 2 I / O #n I / O
I RQ
数据
中断向
量发生
器 1
中断向
量发生
器 2
中断向
量发生
器 n
I ACK
① 链式中断查询的结构(图 9.17 )
图 9.17
? 当 CPU检测到中断请求后,启动中断回答信号
IACK进行中断响应,通过分布在每个设备中的菊
花链线路,查询到优先级最高的中断请求 (同时封
锁对下一级的中断响应 );
? 由该请求信号启动相应的中断向量发生器,产生对应的中断
向量,通过数据总线传送给 CPU。
? 链式中断查询的优点是简单,只需一根中断请求线。而且比
软件查询方式快。
? 中断源优先级固定、所以不灵活,并且无法为每个中断设置
屏蔽字,所以不支持多重中断。
? 对电路故障敏感。此外,通过链式查询,中断响应有一定的
延迟。
② 多线独立请求中断的结构(图 9.18)
C P U
# 1 I / O # 2 I / O # n I / O
I R Q
数据
中断向量发生器
I A C K
判优逻辑(并行判优)






图 9.18 多线独立请求中断的结构
? 这种方式的中断系统中有一个集中控制的中断控制器
,在中断控制器中有相应的中断向量优先权编码器;
? 各个中断请求信号送到该电路,和对应的中断屏蔽位
进行, 与, 操作后,送到一个判优电路中 ;
? 判优电路的输出被送到一个编码器,该编码器的输出
就是中断向量。
? 采用多线请求的集中判优方式,中断响应速度快。如果是可
编程的中断控制器,则优先级可灵活设置。
▲ 一个典型的可编程的中断控制器 Intel 8259A
(图 9.19)
图 9.19 8259A内部结构图
△ 8259A中断控制器的功能包括:
? 中断请求锁存、中断屏蔽、中断优先级排队、
中断向量生成等;
? 既可支持程序查询式中断,又可支持向量式中断;
? 支持 8级优先权,通过多片级联,最多可构成 64级中断;
? 各种中断功能可通过编程来设定和更改。
△ 若干芯片级联(图 9.20)
? 一个 8259A芯片能处理 8个设备的中断请求,可将若干个
8259A芯片级联起来;
? 使用级联方式,能处理多达 64个设备的中断请求。
图 9.20 8259A中断
控制器的级联
2.中断处理
▲ 中断处理的
过程就是执
行相应的中
断服务程序
的过程,不
同的中断源
其对应的中
断服务程序
不同。
关中断、保存断点、
调出某个中断服务程

中断响应
中断处理
保护现场及旧屏蔽字
设置新屏蔽字
开中断
先行段
具体的中断服务
关中断
开中断
恢复现场和旧屏蔽字
清除中断请求
返回
恢复段
本体段
图 9.21
▲ 典型的中断处理分为三个阶段:先行段、本
体段和结束段。图 9.21给出了中断服务程序
的典型结构。
▲ 中断嵌套过程中 CPU 执行程序的轨迹
? 例 1:假定某中断系统有四个中断源,其响应优先级为
1>2>3>4,分别写出处理优先级为 1>2>3>4和 1>4>3>2时各中
断的屏蔽字及 CPU完成中断服务程序的过程。假定 CPU在执
行用户程序时,同时发生了 1,3和 4级中断请求,而在执行 3
级中断服务程序的过程中又发生了 2级中断请求。
① 中断处理优先级为 1>2>3>4时,
? 中断响应优先级与中断处理优先级是一致的;但中断屏蔽字
只和中断处理优先级有关。
中断程序级别
屏蔽字
1 级 2 级 3 级 4 级
第 1 级
第 2 级
第 3 级
第 4 级
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
(假定 1 是屏蔽,0 是开放)
表 9.2 中断处理优先级为 1>2>3>4 时的屏蔽字



主程序
中断服务程序





图 9.22 处理优先级为 1>2>3>4时 CPU运动轨迹
中断程序级别
屏蔽字
1 级 2 级 3 级 4 级
第 1 级
第 2 级
第 3 级
第 4 级
1 1 1 1
0 1 1 1
0 0 1 1
0 0 0 1
(假定 1 是屏蔽,0 是开放)
表 9.2 中断处理优先级为 1>2>3>4 时的屏蔽字
② 中断处理优先级为 1>4>3>2时



主程序
中断服务程序





图 9.22 处理优先级为 1>2>3>4时 CPU运动轨迹
▲ 如何用中断方式控制硬盘和主存储器之间
的数据交换
? 例 2:假定处理器按 500MHz的速度执行,即:处理器每秒钟
产生 500x106个处理器周期。硬盘以4字块进行传输,速率为
4MB/Sec,假定没有任何数据传输被错过。使用中断驱动 I/O,
每次传送的开销(包括用于中断响应和处理的时间)是 500个
时钟周期。如果硬盘仅用占处理器 5%的时间进行传送,那么,
处理器用在数据传送上所花的时间百分比为多少?
? 硬盘每次中断以4字块( =16字节)进行传送,传
送的速率应达到每秒 4MB/16B=250K次中断;
? 每秒钟用于中断的周期数为 250K× 500=125× 106,在一次传
输中所消耗的处理器时间的百分比为,125 × 106/(500 ×
106)=25%
? 硬盘仅用其中 5%的时间来传送数据,则处理器消耗的平均占
用率为 25%x5%=1.25% 。
9.5 直接存储器存取 (DMA)方式
■ DMA( Direct Memory Access)称为直接
存储器存取。
■ DMA的引入
? 程序直接控制方式受“踏步”现象的限制,效率低下,不适
合高速设备和主机间的数据传送。
? 中断控制方式虽比程序直接控制方式有效,CPU和外设有一
定的并行度,
? 由于下列原因也不适合高速设备和主机间的数据传送。
(1) 对 I/O请求响应慢。每传送一个数据都要等待外设的中断请
求,并增加许多中断响应和中断处理前、后的附加开销(保
护断点、现场等),不能及时响应 I/O请求。
(2) 数据传送速度慢。数据传送由 CPU执行相应的中断服务程序
来完成,因而也不适合高速设备的批量数据传送。
■ DMA方式用专门的 DMA接口硬件来控制
外设与主存间的直接数据交换,而不通过
CPU。把专门用来控制总线进行 DMA传送
的硬件接口称为 DMA控制器。
■ DMA方式必须以程序查询方式和中断方式为基
础。
寻道
找扇区
连续读写
结束、校验
中断方式
中断方式
D M A 方式
中断方式
传送参数的设置
(初始化)
查询 方式
图 9.24
? 图 9.24 采用
DMA方式进
行磁盘数据
传送
9.5.1 三种 DMA方式
(1) CPU停止法 (成组传送 )
? DMA传输时,CPU脱离总线,停止访问主存,直到
DMA传送一块数据结束; CPU工作受影响。
(2) 周期挪用 (窃取 )法 (单字传送 )
? DMA传输时,CPU让出一个总线事务周期,由 DMA控制器
挪用一个主存周期来访问主存,传送完一个数据后立即释放
总线。
(3) 交替分时访问法
? 每个存储周期分成两个时间片,一个给 CPU,一个给 DMA
,这样在每个存储周期内,CPU和 DMA都可访问存储器。
? 图 9.25给出了以上三种方式下 CPU和 DMA访问主存
的情况
存储器工作周期
C PU 控制总线并
访问主存储器
DM A 控制总线
并访问主存储器
C PU 不访问
DM A 不访

DM A 不访

图 9.25 (a) CPU停止法
存储器工作周期
C P U 控制总线并
访问主存储器
D M A 控制总线
并访问主存储器
D M A 不访问 D M A 不访问 D M A 不访问
图 9.25 (b) 周期挪用法
存储器工作周期
C P U 控制总线并
访问主存储器
D M A 控制总线
并访问主存储器
图 9.25 (c) 交替分时访问法
? 弥补 CPU停止法缺点的两个做法:
1) 在 DMA接口中引入缓冲器
? 使 I/O设备先和缓冲器 (小容量存储器 )交换数据, 然
后再使用总线由小容量存储器与主存进行数据交换
。 可减少 DMA传送数据时占用总线的时间, 也就减
少了 CPU的等待时间 。
2) 采用周期挪用(窃取)法
? 每次 DMA传送完一个数据就释放总线,使在 I/O设备准备下一
数据时,CPU能插空访问主存;缺点是每次 DMA访存都要申
请总线控制权和释放总线,增加了传输开销。
? I/O设备要求进行 DMA传送会遇到以下三种情况之一,
1) CPU不需访问主存。
? 如,CPU正在执行乘法指令,可能要花很长时间计算而不需
马上访问主存。这样在 CPU执行指令时,总线可以被 DMA使
用。此时,CPU和 DMA不发生冲突,两者并行。
2) CPU正在访问主存
? 必须等到存储周期结束后,CPU让出总线,DMA
才能访存。
3) CPU也同时要访问主存
? 出现访存冲突。因为不马上响应 DMA请求的话,高速设备可
能会发生数据丢失,所以,DMA的总线优先权比 CPU高。这
时,先让 DMA占用总线,窃取一个主存周期,完成一个数据
交换。这样 CPU需延迟一段时间后才能访存。
? 交替分时访问 (图 9.25(c))
? 这种方式适用于 CPU工作周期比主存存取周期更长的情况。
? DMA不需要总线使用权的申请和释放。
? 在这种方式下,CPU既不停止主程序的运行也不进入等待状
态,在 CPU工作过程中,不知不觉地完成了 DMA数据传送,
故又被称为“透明的 DMA”方式。
9.5.2 DMA接口的结构和功能
? DMA 接口中控制传送的硬件逻辑称为 DMA
控制器
? CPU需要读写 I/O时,它就把要传送的数据个数、数
据块在内存的首址、数据传送的方向(是读操作还
是写操作)、设备的地址等参数送给 DMA控制器,
? DMA接口的典型结构 (图 9.26)
? 发送一个命令给 DMA接口,启动外设进行数据准备工作。这
些工作完成后,CPU就继续进行其他工作。而 I/O设备和主存
交换数据的事情就交给了 DMA控制器。
数据端口 控制 / 状态端口
数据缓冲
寄存器
D M A 请
求触发器
,R ea dy,
外围设备
选通
I / O


D M A 请求
D M A 响应
D M A 控制器
地址寄存器
字计数器
控制寄存器
控制逻辑
总线请求
总线响应
C P U MM
系统总线
设备地址寄存器
I N T
图 9.26 DMA接口的结构
? DMA接口功能为:
(1) 能接收外设发来的,DMA请求”信号,并能向
CPU发“总线请求”信号。
(2) 当 CPU发出“总线响应”信号后,能接管对总线的控制。
(3) 能在地址线上给出主存地址,并自动修改主存地址。
(4) 能识别传送方向以在控制线上给出正确的读写控制信息。
(5) 能确定传送数据的字节个数。
(6) 能发出 DMA结束信号。引起一次 DMA中断,进行数据校验
等一些后处理。
9.5.3 DMA操作步骤
第一步, DMA控制器的预置 (初始化 )(由软
件实现)
▲ 数据传送之前,CPU将执行一段初始化程序,完
成对 DMA控制器中各参数寄存器的初始值的设定
。主要操作包括:
? 准备内存区
若是从外设输入数据,则进行内存缓冲区的申请
,并对缓冲区进行初始化;若是输出到外设,则
先在内存准备好数据。
? 启动外设,然后 CPU继续执行其他程序。
? 设置传送参数
执行 I/O指令,测试外设状态,对 DMA控制器设置各
种参数:
* 内存首址 =〉 地址寄存器
* 字计数值 =〉 字计数器
* 传送方向 =〉 控制寄存器
* 设备地址 =〉 设备地址寄存器
第二步, DMA数据传送(由硬件实现)
▲ DMA控制器数据传送过程如下:
① 当外设准备好数据(从外设取数),或准备好接收数据(向
外设送数)时,就发“选通”信号,使数据送数据缓冲寄存
器,同时 DMA请求触发器置,1”。
② DMA请求触发器向控制 /状态端口发,Ready”信号
,同时向 DMA控制器发,DMA请求”信号。
③ DMA控制器接受到 DMA请求”信号后,就向 CPU发“总线
请求”信号。
④ CPU完成现行机器周期后,响应 DMA请求,向 DMA控制器
发出“总线响应”信号。 DMA控制器接受到该信号后,向外
设接口发, DMA响应”信号,使 DMA请求触发器复位。
CPU浮动它的总线,让出总线控制权,由 DMA控制器控制总
线。
⑤ DMA控制器给出内存地址,并在其读 /写线上发出
“读”或“写”命令,随后在数据总线上给出数
据。
⑥ 根据读写命令,将数据总线上的数据写入存储器中,或写入
数据端口,并进行主存地址增量,字计数值减 1。
? 若采用,CPU停止法”,则循环第 6步,直到计数值为,0”

? 若采用“周期挪用法”,则释放总线,下次数据传送时再按
过程 (1)到 (6)进行。
第三步, DMA结束处理
▲ 根据计数值为,0”,发出 DMA结束信号送接口控制,产生
DMA中断请求信号给 CPU,转入中断服务程序,做一些数据
校验等后处理工作。
? 例 1:假设处理器按 500MHz的速度执行,即
:处理器每秒钟产生 500x106个处理器周期。
硬盘以4字块进行传输,速率为 4MB/Sec,
假定没有任何数据传输被错过。对于 DMA
传送的初始化设置,假定处理器花了 1000个
时钟周期,并且在 DMA完成后中断的处理
需要 500个时钟。如果从硬盘发出的平均传
输量为 8KB(即每次 DMA传送 8KB的数据块
)。如果硬盘进行传送的时间占 100%(即
:硬盘一直在进行读写,并传输数据),那
么具有 500MHz的处理器在硬盘 I/O操作上的
花销是多少?
解:
? 一次 DMA传送将花 8KB/(4MB/Sec)=2× 10-3
秒的时间,
? 处理器必须每秒钟将有 1/(2× 10-3) =0.5× 103
个 DMA传送,
? 一秒钟内 CPU花在 DMA传送上的开销为
0.5× 103× (1000+500)=750× 10-3个时钟周期。
? 在硬盘 I/O操作上处理器花费的时间占
750× 10-3/500× 106
=1.5× 10-3=0.15%。
? 当 DMA方式被用于硬盘接口时
? 在数据传送期间将不消耗处理器周期,所以即使
硬盘一直在进行 I/O操作,CPU为它服务的时间
也仅占 0.15%;
? 事实上,硬盘在大多数时间内并不进行数据传送
。因此处理器的占用率会更低。
? 如果处理器同时要竞争存储器的话,因为存储器忙于进行
DMA传送,所以处理器将会被延迟与存储器交换数据。
? 通过使用 Cache,处理器可以避免大多数访存冲突。所以一
般存储器带宽的大部分都可以让给 I/O设备使用。
9.5.4 DMA与存储器系统
? DMA引入到 I/O系统中时,存储器系统和处
理器之间的关系就要改变,这在虚拟存储
器系统和 Cache 系统中会产生一些问题。
? 若用虚拟地址,则 DMA接口必须要将虚拟地址转换为物理地
址;而使用物理地址,每次 DMA传送不能跨页。
▲ 这些问题的解决通常要结合硬件和软件两方面的技
术支持。
? DMA接口中安排一个小的类似页表的地址映射表,用于将虚
拟地址转换为物理地址。 DMA初始化时,由操作系统进行地
址映射; DMA接口就不用关心传送数据在主存的具体位置。
? I/O数据的一致性问题
? 采用 Cache的系统中,一个数据项可能会产生两个副本,一
个在 Cache中,一个在存储器中。 DMA控制器直接向存储器
发出访存请求而不通过 Cache,这时,DMA看到的一个主存
单元的值与处理器看到的 Cache中的副本可能不同。即产生
I/O数据的一致性问题。
▲ 解决 I/O数据的一致性问题的方法有三种。
? 一种方式是让 I/O活动通过 Cache进行,这样就保证了在 I/O
读时能读到最新的数据,而 I/O写时能更新 Cache中的任何数
据。这样一来就会影响 Cache的命中率,而对处理器的性能
也带来很多负面的影响。
? 另外一种方法是操作系统把一次传送分解成多次
小数据量传送,每次只限定在一个物理页面内。
? 第二种方式是让操作系统在 I/O读时有选择地使某些
Cache块无效,而在 I/O写时迫使 Cache进行一次回写
操作,这种操作经常被称为 Cache刷新( Cache
Flushing)。这种方式需要少量硬件支持。用软件实
现这种方法,是比较有效的一种。
? 第三种方式是通过一个硬件机制来选择被刷新或使无效的
cache项。这种用硬件方式来保证 Cache一致性的方式大多被
用在多处理器系统中。
9.6 通道和 I/O处理器方式
■ 在大型计算机系统中,外围设备的数量、种类较多,
为了在处理 I/O请求时进一步减少中断处理次数和处
理器的占用时间,把对外设的管理和控制工作从
CPU中分离出来,使 I/O控制器更具智能化,这种 I/O
控制器称为通道控制器或 I/O处理器。
■ 通道控制器和 I/O处理器可以独立地执行一系列的 I/O
操作,这些 I/O操作序列通常被称为 I/O通道程序;
? 操作系统要为 I/O读写操作组织相应的传送参数或 I/O
通道程序,通道或 I/O处理器通过 I/O通道程序执行相
应的操作。
9.6.1 通道的基本概念
? 通道方式与 DMA方式的区别
? DMA方式是通过 DMA控制器控制总线,在外设和主存之间
直接实现 I/O传送;
? 而通道通过执行通道程序进行 I/O操作的管理。
? 通道 (Channel,简写为 CH)是一种专门的 I/O控
制器。
? 对 CPU而言,CH比 DMA具有更强的独立处理 I/O的能力。
DMA控制器通常只控制一台或多台同类的高速设备;而通道
可控制多台同类或不同类的设备。
? 在具有通道的系统中,通常采用主机 (CPU/主存 )-通
道 (CH)-设备控制器 -外设四级结构(图 9.27)。
主存
C PU CH 设备控制器 外设
图 9.27 通道( CH)的位置
? CPU对通道的控制通过两种途径:
(1) 执行 I/O指令
? 当需要进行 I/O操作时,CPU按约定的格式准备好命令和数据
,编制好通道程序,然后通过执行 I/O 指令(例如,START
I/O,TEST I/O,HALT I/O等)来启动通道。
? 通道被启动后,从主存指定单元取出通道程序执行; I/O指
令是一种管态(特权)指令,在用户程序中不能使用。
? I/O指令应给出通道开始工作所需的全部参数,I/O指令和
CPU的其他指令形式相同,由操作码和地址码组成,操作码
表示执行何操作,地址码用来表示通道和设备的编号。
? CPU启动通道后,通道和外部设备将独立进行工作。
(2) 处理来自通道的中断请求
▲ 当通道和外设发生异常或结束处理时,通
道采用“中断”方式向处理器报告。
? 通道的基本职能,
① 接受 CPU的 I/O指令,按 CPU的要求与指定的外设通信;
② 从内存读取通道程序,对通道指令进行译码,向设备控制器
和设备发送各种控制命令。
③ 组织外设和内存间的数据传送,并根据要求提供中间缓存;
④ 从外设得到设备的状态信息,并与通道本身的状态信息一起
保存下来,根据要求将状态信息送内存固定单元。
⑤ 将外设的中断请求和通道本身的中断请求,按序并及时报
告给 CPU。
? 设备控制器类似于 I/O设备的接口, 是通道
对外设实现传输控制的执行机构;一个设
备控制器可以控制多个同类的设备。
▲ 设备控制器的具体任务:
① 接受通道送来的通道命令,控制外设完成所要求的操作。
② 向通道反映外设的状态。
③ 将多种外设的不同信号转换为通道能识别的标准信号。
9.6.2 通道的种类
? 按通道独立于 CPU的程度来分,通道分为结
合型通道和独立型通道。
? 按数据传送方式来分;通常将通道分为以下三种:
字节多路通道、选择通道和成组多路通道。
? 结合型通道在硬件上与 CPU做在一起,而独立
型通道则硬件上独立于 CPU。
1.字节多路通道
? 字节多路通道采用字节交叉传送方式进行数据传送,适合于
连接多个低速 I/O设备 (在 20K字节 /秒以下 ),设备传送一个字
节的时间相应较短,相邻字节之间数据准备时间较长;
? 分时使用通道,轮流传送数据,实现多台 I/O设备间的并行,
以提高通道利用率;
? 字节多路通道由多个子通道构成,每个子通道并行
工作,各服务于一个设备控制器。
? 每个子通道中包含:字符缓冲器、状态 /控制寄存器
以及通道参量(如:字节计数值、内存地址,… )、
主存单元的地址指针等。
2.选择通道
? 选择通道用于对高速设备进行控制;在一段时间内选择通道
只执行一个设备的通道程序,采用“成组”方式传送。
? 某个设备一旦被选中便独占通道,直到传送完毕才释放通道
,所以传输速率高。
? 选择通道可接多台同类设备,其数据宽度是可变的,通道中
包含一个参数寄存器,用于记录 I/O操作所需的通道参量。
3.成组多路通道
? 多台设备以定长数据块为单位分时使用传输通路,
轮流传送数据块。这种通道称为成组多路通道。
? 既允许各子通道间并行工作,又以独占方式成组地连续传送
数据,因而具有很高的传输率。用于控制多台同类高速设备。
▲ 磁盘设备的 成组多路通道 控制(图 9.28)
发, 寻道, 命令,断开,接其他外设
,寻道, 结束
再接上,发, 查找, 命令,断开,接其他外设
,查找, 结束
再接上,独占后进行数据传送,直到所有数
据传送完。

9.
28












? 例 1,设 A,B,C三个设备的数据块按下述字节序列
组成:
▲ 三种通道可能的数据传送序列为:
(1) 字节多路通道,A1,B1,C1,A2,B2,C2,A3,B3,C3…
(2) 选择通道,A1,A2,A3…A n,B1,B2,B3…B n,C1,C2,C3…C n
(3) 成组多路通道:
A1,A2…A k,B1,B2…B k,C1,C2…C k,Ak+1,Ak+2…A 2k,Bk+1,Bk+2…B 2k…
? 字节多路通道的实际流量是该通道的所有设备的传输率之和。
? 选择通道和成组通道在一段时间内只能为一台设备传送数据,
实际流量是连接在这个通道上的所有设备中数据流量最大的那
一个。
A,A1,A2,A3,…A i,…A k,Ak+1,…A n;
B,B1,B2,B3,…B i,…B k,Bk+1,…B n;
C,C1,C2,C3,…C i,…C k,Ck+1,…C n。
9.6.3 通道程序
? 通道程序由若干通道命令字 (CCW)构成
? 它是一组功能有限的 I/O指令,能指定通道 I/O操作所需的参
量,并完成数据传送操作。
? CCW一般包括操作命令码、数据在内存的首址、传送数据个
数和控制标志字段等。
? IBM370和 IBM4300的通道命令字举例
操作码 内存地址 标志特征 字计数值000
0 7 8 3 1 3 2 3 6 3 7 3 9 4 0 4 7 4 8 6 3
未用
? ( CCW)是一个双字,由以下四个字段构成:
(1) 操作码字段:指出设备所进行的操作,一般包括
以下几种操作命令。
① 读或反读操作。执行读操作时,字以地址递增顺序存入存储
器,执行反读操作时,以地址递减顺序存入主存。
② 写操作。通道从主存取出数据,并将其写入外设。
③ 测试(取状态字)操作。外设送出它当前的状态信息和接口
中产生的例外信息。
④ 转移(通道转移)操作。执行通道转移操作时,CCW从该命
令给定的地址中取出,而不是按地址顺序从下一个单元中取
出。因此,利用通道转移命令可以从一个通道命令序列转入
另一个命令序列。
⑤ 控制操作。如磁盘寻道,磁带走带、卸带等。
(2) 内存地址字段:在执行读、反读、写、测试等
操作时给出数据在主存中的首地址,共 24位。
(3) 标志特征字段:共有以下 5位标志特征位。
▲ 数据链特征 CD和命令链特征 CC:
? 若 CD=0,CC=0,说明本指令是通道程序的最后一条指令。
? 若 CD=1,CC=0,说明本指令与下一条指令的操作码相同。
? 若 CD=0,CC=1,则说明本指令和下条指令的操作码不同。
▲ 封锁错误长度特征 SLI:忽略长度错误。
▲ 封锁写入主存特征 SKIP:只执行外设相应的操作,而不把数
据写入主存。
▲ 程序控制中断特征 PCI:为 1时产生 I/O中断请求
(4) 计数值字段, 指定数据传送的个数,共 16位。
? 例 2:说明通道程序如何实现磁带与主存之间的数据传送。假
定 CPU调用时已由启动 I/O指令启动了通道与磁带机,则通道
从主存某固定单元中读出通道地址字 CAW(对于 IBM4300,
该固定单元为 77H号单元)。然后再从 CAW中取出通道程序
首址,开始执行通道程序。
? 表 9.4 是一个通道程序,共有 5条通道命令字。
表 9.4 通道程序举例
? 5条 CCW的含义如下:
① 倒带。由于磁带位置有可能使磁头处于磁带的中部
,故应先倒带,使磁带反转回到起始端( BOT标志
处)。
② 走带。磁带正向越过 3个数据块(记录区),但不读出。
③ 读。读出 256字节数据,写入首址为 31BOH的主存缓冲区。
④ 读带但不写入主存。链接特征为 CD=1,CC=0,所以第 4条
指令操作与第 3条相同,为读出。封锁写入主存位 SKIP=1,
所以不写入主存。用相当于正向越过 256字节的磁带长度。
⑤ 读带。从磁带中读出 512个字节的数据,写入首址 5000H的
主存缓冲区。根据链接特征位,第 5条是本通道程序的最后
一条,至此结束。
9.6.4 输入 /出处理机
? 通道方式下,通道程序存于和 CPU公用的主存中;而 IOP有
自己单独的存储器,并可访问系统的内存。
? 输入 /出处理机方式是通道方式的进一步发展,
有两种输入 /出处理机系统结构。
(1) 通道结构的输入 /出处理机,称为 I/O处理机 (IOP)
▲ IOP与通道方式一样,也是通过执行通道程序对外设进行控
制,能和 CPU并行工作,提供了 DMA控制能力。
▲ IOP与通道的区别主要有:
? 通道有功能有限的、面向外设控制和数据传送的指令系统;
IOP有自己专用的指令系统,不仅可进行外设控制和数据传
送,而且可进行算术运算、逻辑运算、字节变换、测试等。
? 通道方式下,许多工作仍然需要 CPU实现;而 IOP有
自己的运算器和控制器,能处理传送出错及异常情况,
能对传送的数据格式进行转换,能进行整个数据块的
校验等。
▲ 具有 IOP的 I/O系统是一个分级的 I/O系统
? 当 CPU执行到用户程序要求进行某种输入/出操作时,它就
发一个 I/O请求,调用操作系统中的 I/O管理程序;
? I/O管理程序接受到请求后,就组织这次 I/O操作所需的数据
/控制信息块,包括:总线请求方式、总线物理宽度、通道
操作命令字和通道程序的参数块 (设备地址、数据地址、通
道程序指针、回送结果单元等 )等,并放在主存公共区域,
然后启动 IOP中的通道工作;
? IOP从主存公共信息区读取 CPU放在该处的控制信息,并根
据 CPU预先设置的信息选择一个指定的通道程序执行。
(2) 外围处理器 (PPU)方式的输入 /出处理机系统结

在大型计算机系统中,有时选用通用计算机担任 PPU,
它基本上独立于主 CPU而工作,也有自己的指令系统,
可进行算术 /逻辑运算、主存读写和与外设交换信息等。
? 这些方法逐步把处理 I/O操作的负担从处理器移到更智能化
的 I/O控制器或 I/O处理器;
? 其目的是将处理器周期从 I/O操作中释放出来。
? I/O设备和主机之间数据传送小结
? 用于 I/O设备和主机之间进行数据传送的四种方法:程序查询、
中断方式,DMA控制、通道和输入 /出处理器方式。
? 同时也逐步增加了 I/O系统的复杂性和价格;
? 因此,一个给定的计算机系统应该选择它所连接的设备所合
适的 I/O控制方式。
第一章 概述
1.计算机由 运算器, 存储器, 控制器 和 输入 /输出
五个部件组成。
2.冯 ·诺依曼计算机的主要特点:
1)计算机由 运算器, 存储器, 控制器 和 输入 /输
出 五个部件组成。
2)存储器以二进制形式存储指令和数据;
3)存储程序工作方式;
4)五部件以运算器为中心进行组织;
第 2章 数据的表示
1.在计算机系统中,凡是要进行处理(包括计算
、查找、排序、分类、统计、合并等)、存储和
传输的信息,都是用二进制进行编码的。
2.进位计数制及其各进位制数之间的转换
3.定点与浮点表示的方法、特点
4.机器数的 三种编码表示方式,原码, 补码 和 反码 。
定义、特点、用途。
5.浮点数的编码表示及规格化
6.十进制数的二进制编码表示即 BCD码 的特点
7.字符及汉字的编码方法、特点
8.音频、视频的编码方法及特点
9.数据校验码 的用途
第 3章 运算器与运算方法
1,运算器基本组成和功能
2.半加器与全加器的逻辑设计
3.串行进位与并行进位的比较
4.补码定点加、减法
5.原码一位乘法
6.补码一位乘法
7.浮点加、减法
第 4章 存储系统
1.存储器的主要性能指标
2.存储系统的层次结构
3.半导体读写存储器 RAM芯片的结构、组成及存储
器系统的构成
4.半导体只读存储器的特点及分类
5.高速缓冲存储器 Cache的工作原理、映射方式、替
换算法,了解 Pentium Cache 结构和 Power PC Cache
结构。
6,虚拟存储器的功能、基本管理方法、结构
7.磁表面存储器的性能指标、硬磁盘存储器的基本
组成、信息分布、硬盘容量和数据传输率的计算
第 5章 指令系统
1,指令格式、指令长度
2.常用的寻址方式种类、特点、用途
3.指令系统的地位、作用,指令类型
4.堆栈的定义、用途和堆栈存取方式
5,CISC与 RISC指令各自的特点和比较
第 6章 中央处理机组织
1,CPU的组成与操作(单总线组织的数据通路
及四种基本功能。
2.控制器三种时序控制方式:同步、异步和联合
控制方式。
3.三种时序信号周期、节拍和脉冲的概念、作用
4.控制器的组成和功能
5.一条完整指令执行的控制步序列
6.决定 CPU性能最重要的三个因素:指令的功能强弱
、时钟周期的长短、执行每条指令所需时钟周期数。
7.指令流水的概念
8.组合逻辑控制器的构成与设计步骤
9.微程序控制器的原理、基本概念、基本组织和工作
流程
10.微指令的两种格式与 3种编码
11.两种 微指令地址的生成方法
12.微程序控制器和 组合逻辑控制器的比较
第 7章 总线及总线互连结构
1.总线的基本概念、作用和分类
2.总线的两种 传输方式 --串行和并行的特点
3.总线裁决的意义及分类
4.总线定时方式的分类及特点
5.影响总线带宽的因素
6.单总线结构和 多总线分层结构的比较
第 8章 输入输出设备
?本章不作具体要求。
第 9章 输入输出组织
1,I/O接口的功能、结构和分类
2,I/O端口编址的两种方法的比较
3,四种 I/O数据传送控制方式的比较
4.程序查询方式的特点
5.中断的概念、分类、中断优先级,开关中断和中
断屏蔽
6.中断过程:中断响应和中断处理
7.中断系统的基本结构和功能
8.中断嵌套和向量中断
9.DMA方式的概念和适用范围
10.DMA方式和中断方式的比较
11.DMA方式的概念和适用范围
12.三 种 DMA方式的特点
13,DMA接口的结构和功能
14.通道的基本概念、用途和分类
1,用 4k× 8存储器芯片构成 16k× 8存储器系统
,请画出逻辑结构图,并给出每个芯片的地址
范围。
解:
?典型例题:
A13 A12 A11 A0
0 0 0 0
0 0 1 1
0000H 0FFFH
A13 A12 A11 A0
0 1 0 0
0 1 1 1
1000H 1FFFH
A13 A12 A11 A0
1 0 0 0
1 0 1 1
2000H 2FFFH
A13 A12 A11 A0
1 1 0 0
1 1 1 1
3000H 3FFFH
A13
A12
CPU
A11-A0
WE
D0-D7
2:4
译码
CE
4KX8
WE
CE
4KX8
WE
CE
4KX8
WE
CE
4KX8
WE
地址线
指令译码器
MDR
MAR
PC
IR
数据线
存储器总线
R0
Y
R(n-1)
Z
ALU


1→ C0
ALU控制
CPU内部单总线组织的数据通路
...
2.假定 CPU的数据通路结构如图所示,请写出下列指
令的操作控制步序列。
(a)将立即数 NUM加到寄存器 R1中。
(b)将存储单元 NUM的内容加到寄存器 R1中。
(c)将存储单元 NUM的内容作为地址的某一存储单元的
内容加到寄存器 R1中。
( a)
1,PCout,MARin,READ,Y← 0,Cin=1,ADD,Zin
2,Zout,PCin,WMFC
3,MDRout,IRin
4,PCout,MARin,READ,Y← 0,Cin=1,ADD,Zin
5,Zout,PCin,WMFC
6,MDRout,Yin
7,R1out,ADD,Zin
8,Zout,R1in,END
( b)
1,PCout,MARin,READ,Y← 0,Cin=1,ADD,Zin
2,Zout,PCin,WMFC
3,MDRout,IRin
4,PCout,MARin,READ,Y← 0,Cin=1,ADD,Zin
5,Zout,PCin,WMFC
6,MDRout,MARin,READ, WMFC
7,MDRout,Yin
8,R1out,ADD,Zin
9,Zout,R1in,END
( c)
1,PCout,MARin,READ,Y← 0,Cin=1,ADD,Zin
2,Zout,PCin,WMFC
3,MDRout,IRin
4,PCout,MARin,READ,Y← 0,Cin=1,ADD,Zin
5,Zout,PCin,WMFC
6,MDRout,MARin,READ, WMFC
7,MDRout,MARin,READ, WMFC
8,MDRout,Yin
9,R1out,ADD,Zin
10,Zout,R1in,END
3,某磁盘组有 8个盘面,存储区内直径为 20cm,外直
径为 32cm,道密度为 30道 /cm,内层柱面位密度为 400
位 /cm,转速为 2400转 /分。 (15分 )
( 1)共有 个柱面。
( 2)总容量 = 位。
( 3)数据传输率 = 位 /秒。
解:
( 1)