计算机组成原理 1
计 算 机 组 成 原 理
第二十九、三十二讲
2009年 11月 10日
输入输出 系统
计算机组成原理 2
1,概述
主机与外围设备的连接模式及组织管理 总线类型与标准
2,总线操作与时序
总线的基本概念 分类, 信息传输方式, 通信同步方式
3,总线控制
链式查询方式, 计数器定时查询方式, 独立请求方式
4,输入输出接口
功能和分类 串行总线接口, 并行总线接口
5,程序查询方式
6,中断方式
7,DMA传送方式
本讲安排
计算机组成原理 3
本讲将解决的主要问题
通过本章的学习, 了解 总线的基本概念
掌握计算机输入输出系统的基本功能和工作原理,
理解 CPU与外围设备的交换数据的方法;掌握数据传输的
控制方式, 中断的概念, DMA以及输入输出通道的原理;
掌握各种输入输出方式的特点, 分析和设计中断判优电路 。
掌握串行并行同步异步工作原理 。
计算机组成原理 4
总线系统
总线的概念和结构形态
总线接口
总线仲裁、定时、数据传送模式
总线实例
计算机组成原理 5
1.总线的基本概念
现代计算机系统多采用模块结构,一个模块就是一个功
能部件,如主机板、显示适配器、解压卡、声卡,A/D板等。
各模块之间进行信息传送的公共通路称为总线 。
借助于总线连接,计算机在各功能部件间实现 地址, 数据
和 控制信息 的交换,并在争用资源的基础上进行工作。
(1)什么是总线
(2)单处理器系统中总线分类
一个单处理器系统中的总线,大致分为三类:
内部总线, CPU内部连接各寄存器及运算部件之间的总线。
系统总线, CPU同计算机系统的其他高速功能部件,如存
储器、通道等互相连接的总线。
I/O总线, 中、低速 I/O设备之间互相连接的总线。
计算机组成原理 6
总线有多种分类方法
按相对于 CPU与其他芯片的位置可分为
片内总线和片外总线。
按总线传送信息的类别,可把总线分为
地址总线、数据总线和控制总线。
按照总线传送信息的方向,可把总线分为
单向总线和双向总线。
按总线的层次结构可分为
CPU总线、存储总线、系统总线和外部总线。
计算机组成原理 7
(3)总线的特性
物理特性:
指总线的物理连接方式,包括总线的根数,总线的插头、
插座的形状,引脚线的排列方式等。
功能特性:
描述总线中每一根线的功能。如:
? 地址总线的宽度指明了总线能够直接访问的存储器的地址
空间范围;
? 数据总线的宽度指明了访问一次存储器或外设时能够交换
的数据的位数;
? 控制总线包括了 CPU发出的各种命令,请求信号和仲裁信号,
中断信号等。
计算机组成原理 8
电气特性:
定义每一根线上信号的传递方向及有效电平范围。
? 送入 CPU的信号叫输入信号 (IN),
? 从 CPU发出的信号叫输出信号 (OUT)。
? 地址总线是输出线,高电平有效;
? 数据总线是双向传输线,高电平有效;
? 控制总线中各条线一般是单向的,有 CPU发出的,也有进
入 CPU的,有高电平有效的,也有低电平有效的;
? 总线的电平都符合 TTL电平的定义。
时间特性, 定义了每根线在什么时间有效。
规定了总线上各信号有效的时序关系,CPU才能正确无误
地使用。
计算机组成原理 9
(4)总线的标准化
相同的指令系统,相同的功能,不同厂家生产的各功能
部件在实现方法上几乎没有相同的,但各厂家生产的相同功
能部件却可以互换使用,其原因在于它们都遵守了相同的系
统总线的要求,这就是系统总线的 标准化问题 。
通常有两类标准:
正式公布的标准和实际存在的工业标准。
正式公布的标准 由 IEEE(国际电气电子工程师学会)或 CCITT
(国际电报电话咨询委员会)等国际组织正式确定和承认。
实际的工业标准 首先由某一公司提出,而又得到其它公司广
泛使用,有可能经过一段时间后提交有关组织讨论从而成为
正式标准。
在标准中,对插件引线的几何尺寸、引线数、各引线的
定义、时序及电气参数等都做出明确规定,据此,人们可方
便的进行系统设计和功能扩充。
计算机组成原理 10
PC/XT结构与 PC总线 针对 IBM PC/XT机 (8086)
PC总线时钟频率 4.77MHz,总线宽度 8位,寻址能力
1MB,最快存储器访问周期由 4个时钟周期组成 ——带
宽约 1MBps
PC/AT结构与 AT总线 针对 IBM PC/AT机 (286)
AT总线时钟频率 8MHz,总线宽度 16位,寻址能力
16MB,最快存储器访问周期由 3个时钟周期组成 ——带
宽约 5MBps
PC总线与 AT总线后来经过标准化,称为 ISA总线
Industry Standard Architecture——工业标准体系结构
(5)微机结构与系统总线的发展
计算机组成原理 11
EISA总线 针对 386,486
Extended ISA——扩展工业标准体系结构
总线时钟频率 8.33MHz,总线宽度 32位,寻址能力
4GB,支持突发传送 ——带宽约 33MBps
PCI总线 针对 Pentium以上处理器
PCI,Peripheral Component Interconnect——外部设备互连
VESA总线 针对 486
Video Electronic Standard Association——视频电子标准协
会。 VESA总线也称为 VL-bus(VESA Local Bus)。
总线时钟频率 33MHz,总线宽度 32位,寻址能力 4GB,支
持突发传送 ——带宽约 132MBps
计算机组成原理 12
(6) 总线的性能指标
总线宽度
数据总线的根数。
16位总线,指其数据总线为 16根。
寻址能力
取决于地址总线的根数。
PCI总线的地址总线为 32位,寻址能力达 4GB。
传输率
也称为总线带宽,通常指总线所能达到的最高数据传输
率,单位是 Bps(每秒传送字节数)
计算公式,Dr=D× f /N
D——数据宽度;
f——总线时钟频率;
N——完成一次数据传送所需的时钟周期数。
PCI总线 1.0版的总线带宽 132MBps
计算机组成原理 13
是否支持突发传送
总线上数据传送方式:
正常传送 ——每个传送周期先传送数据的地址,
再传送数据。
突发传送 ——支持成块连续数据的传送,只需给出
数据块的首地址,后续数据地址自动
生成。
PCI总线支持突发传送,ISA不支持。
负载能力
总线上能够连接的设备数。
计算机组成原理 14
例, (1)某总线在一个总线周期中并行传送 4个字节的数据,假设
一个总线周期等于一个总线时钟周期,总线时钟频率为 33MHz,
则总线带宽是多少?
(2)如果一个总线周期中并行传送 64位数据,总线时钟频率升为
66MHz,则总线带宽是多少?
解, (1) Dr=D?f /N =4B ?33 ?106/s = 132MB/s
(2) Dr=D?f /N =8B ?66 ?106/s = 528MB/s
计算机组成原理 15
2.总线的连接方式
在计算机系统中,总线的排列布置与其他各功能部件的连
接方式对计算机系统的性能有重要影响。
总线的组织方法很多,单机系统中采用的总线结构基本上
可分成三类:
单总线结构
双总线结构
三总线结构
计算机组成原理 16
在许多单处理器的计算机中,使用一条单一的系统总线来
连接 CPU、主存和 I/O设备,叫做单总线结构。
(1) 单总线结构
单总线具有结构简单便于扩充等优点,但由于所有数据的
传送都通过这一共享的总线,因此总线可能成为系统的瓶颈。
所以单总线结构多在对速度要求不高的微型机和小型机中。
优缺点:
控制简单、易扩充、使用率高
分时工作,导致很大的时间延迟,总效率低
计算机组成原理 17
(2) 双总线结构
单总线系统中,由于所有功能部件都连在同一组总线上,
总线只能分时工作,即某一时间只允许在两个部件之间传送信
息。
由于 CPU频繁的访问主存,在高档微型机和一些小型机
中专门设置了主存总线,形成了双总线结构:
计算机组成原理 18
双总线结构保持了单总线系统简单、易于扩充的优点,又
提高了信息传送的吞吐量。但这是以增加硬件为代价的。
优缺点:
? CPU可通过专用总线与存储器交换信息,减轻了系统总线
的负担;
? 高速外设与主存之间仍可通过系统总线实现 DMA操作;
? CPU通过系统总线与中低速外部设备交换信息。
在 CPU和主存之间专门设置了一组高速的存储总线
CPU与存储器可通过专用总线交换信息
计算机组成原理 19
(3) 三总线结构
在双总线系统的基础上增加 I/O总线,便形成了三总线系统
结构。其中:
? 系统总线是 CPU、内存和通道之间进行信息传送的公共通路,
? I/O总线是多个外部设备与通道之间进行信息传送的公共通路 。
计算机组成原理 20
通道实际上是一台具有特殊功能的处理器,又称为
IOP(I/O处理器 ),它分担了一部分 CPU的功能,以实现对外
设的统一管理及外设与主存之间的数据传送。
显然,由于增加了 IOP,使整个系统的效率大大提高。然
而这是以增加更多的硬件代价换来的。
通道:
计算机组成原理 21
3.总线结构对计算机系统性能的影响
(1) 最大存储容量
(2) 指令系统
(3) 吞吐量
4.总线的内部结构
早期的总线实际上是处理器芯片引脚的延伸,是处理器与
I/O设备适配器的通道。这种简单的总线一般由 50~100条线组
成,这些线按其功能可分为三类,地址线, 数据线 和 控制线 。
(1)早期总线的内部结构
计算机组成原理 22
简单总线结构的不足之处在于:
第一 CPU是总线上的唯一主控者。
第二 总线信号是 CPU引脚信号的延伸,故总线结构紧密
与 CPU相关,通用性较差。
计算机组成原理 23
(2)当代流行的总线的内部结构
它是一些标准总线,追求与结构,CPU、技术无关的开
发标准,并满足包括多个 CPU在内的主控者环境需求。
在当代总线结构中,CPU和它私有的 cache一起作为一个
模块与总线相连。系统中允许有多个这样的处理器模块。而
总线控制器完成几个总线请求者之间的协调与仲裁。
计算机组成原理 24
计算机组成原理 25
整个总线分成如下四部分:
数据传送总线,由地址线、数据线、控制线组成。
仲裁总线,包括总线请求线和总线授权线。
中断和同步总线,用于处理带优先级的中断操作,包括中
公用线,包括时钟信号线、电源线、地线、系统复位线以
及加电或断电的时序信号线等。
计算机组成原理 26
5.总线结构实例
大多数计算机采用了 分层次的多总线结构 。
在这种结构中:
速度差异较大的设备模块使用不同速度的总线;
速度相近的设备模块使用同一类总线。
计算机组成原理 27
pentium计算机主板的总线结构框图
计算机组成原理 28
CPU总线
CPU,RAM,ROM、控制芯片组等芯片之间的信号连接
关系称为 CPU总线或主总线( Host Bus),包括控制总
线、地址总线和数据总线 ;
CPU总线实现了 CPU与主存储器,Cache、控制芯片组、
以及多个 CPU之间的连接,并提供了与系统总线的接口 ;
CPU与主存储器以及 Cache构成主机系统。
?
?
?
计算机组成原理 29
PCI总线
用于连接高速的 I/O设备模块。通过“桥”芯片,上面与
更高速的 CPU总线相连,下面与低速的 ISA总线相接。
PCI总线是一个 32(或 64位 )的同步总线,32位 (或 64位 )数据
/地址线是同一组线,分时复用。
总线时钟频率为 33.3MHz,总线带宽是 132MB/s。
PCI总线采用集中式仲裁方式,有专用的 PCI总线仲裁器。
主板上一般有 3个 PCI总线扩充槽。
计算机组成原理 30
ISA总线
pentium机使用该总线与低速 I/O设备连接。
主板上一般留有 3—4个 ISA总线扩充槽,以便使用各种 16
位 /8位适配器卡。
该总线支持 7个 DMA通道和 15级可屏蔽硬件中断。
另外,ISA总线控制逻辑还通过主板上的片级总线与实时
钟 /日历,ROM、键盘和鼠标控制器 (8042微处理器 )等芯片相
连接。
计算机组成原理 31
Pentium II
处理器
Pentium II
处理器
CPU总线
82443BX
(北桥) 主存支持 SDRAM
66/100MHz2× AGP
总线图形设备
82371EB
( PIIX4E)
(南桥) ISA插槽
2个 IDE接口
2个 USB接口
I/O
APIC
PCI总线
PCI插槽
系统 BIOS
ISA总线
计算机组成原理 32
CPU总线,PCI总线,ISA总线通过两个“桥”芯片连成
整体。
桥芯片在此起到了信号速度缓冲、电平转换和控制协议的
转换作用。通过桥将两类不同的总线“粘合”在一起的技术
特别适合于系统的升级换代。
pentium个人机总线系统中有一个核心逻辑芯片组,简称
PCI芯片组,它包括主存控制器和 cache控制器芯片、北桥芯
片和南桥芯片。这个芯片组叫 Intel 430系列,440系列,它们
在系统中起着至关重要的作用。
南北桥芯片
计算机组成原理 33
总线接口
1.信息的传送方式
数字计算机使用二进制数,它们或用电位的高、低来表示,
或用脉冲的有、无来表示。 习惯上用:
高电位表示, 1”,低电位表示, 0”;
或用有脉冲表示, 1”,无脉冲表示 "0"
计算机系统中,传输信息采用三种方式:
串行传送, 并行传送 和 分时传送 。
但是出于速度和效率上的考虑,系统总线上传送的信息
必须采用 并行传送 方式。
计算机组成原理 34
(1)串行传送
? 当信息以串行方式传送时,只有一条传输线且 采用脉冲传送 。
? 在串行传送时,按顺序来传送表示一个数码的所有二进制位
(bit)的脉冲信号,每次一位,通常以第一个脉冲信号表示数码
的最低有效位,最后一个脉冲信号表示数码的最高有效位。
? 传送时低位在前,高位在后。
计算机组成原理 35
拆卸
在串行传送时,被传送的数据需要在发送部件进行并 —串
变换,这称为 拆卸 ;
装配
而在接收部件又需要进行串 —并变换,这称为 装配 。
位时间
指一个 二进制位在传输线上占用的时间长度。, 位时间,
是由同步脉冲来体现的。
计算机组成原理 36
(2)并行传送
用并行方式传送二进制信息时,对每个数据位都需要单
独一条传输线。信息有多少二进制位组成,就需要多少条传
输线,从而使得二进制数,0”或,1”在不同的线上同时进行
传送。并行传送一般 采用电位传送 。
计算机组成原理 37
(3)分时传送
分时传送有两种概念。
① 总线复用方式
某个传输线上既传送地址信息,又传送数据信息。为此
必须划分时间片,以便在不同的时间间隔中完成传送地址和
传送数据的任务。
② 共享总线的部件分时使用总线
计算机组成原理 38
2.接口的基本概念
I/O设备适配器简称为接口。
接口定义:
接口指 CPU和主存、外围设备之间通过总线进行连接的逻
辑部件。
接口部件在它动态连接的两个部件之间起着“转换器”的作用,以便
实现彼此之间的信息传送。
外部
设备
包括
设备
控制
器
计算机组成原理 39
为了使所有的外围设备能够兼容,并能在一起正确地工作,
CPU规定了不同的信息传送控制方法。
接口使外部设备用计算机系统特性所要求的形式发送和接
收信息。
接口逻辑通常做成标准化 。
CPU、接口和外围设备之间的连接关系
计算机组成原理 40
接口功能
(1)控制
接口靠程序的指令信息来控制外围设备的动作,如启动、
关闭设备等。
(2)缓冲
接口在外围设备和计算机系统其他部件之间用作为一个
缓冲器,以补偿各种设备在速度上的差异。
(3)状态
接口监视外围设备的工作状态并保存状态信息。状态信
息包括数据“准备就绪”、“忙”、“错误”等等,供 CPU
询问外围设备时进行分析之用。
计算机组成原理 41
(4)转换
接口可以完成任何要求的数据转换,例如并-串转换或串-并
转换,因此数据能在外围设备和 CPU之间正确地进行传送。
(5)整理
接口可以完成一些特别的功能,例如在需要时可以修改字计
数器或当前内存地址寄存器。
(6)程序中断
每当外围设备向 CPU请求某种动作时,接口即发送一个中断
请求信号到 CPU。
计算机组成原理 42
事实上,一个适配器必有两个接口:
一是和系统总线的接口, CPU和适配器的数据交换一定的
是并行方式;
二是和外设的接口,适配器和外设的数据交换可能是并行
方式,也可能是串行方式。根据外围设备供求串行数据或并
行数据的方式不同,适配器分为 串行数据接口 和 并行数据接
口 两大类。
计算机组成原理 43
外围设备接口的结构
地址
译码
器
数据寄存器 命令寄存器
RD
WE
地址
有效
总线
数据线地址线
外设接口
外设控制信号外设数据外设状态
状态寄存器
计算机组成原理 44
并行接口的例子
内
部
总
线
WR
RD
R S 1
R S 0
控
制
电
路
数据总线
状态
控制
I / O 数据
I / O 数据
选寄存器
选寄存器
写
读
选片
CS
状态寄存器
控制寄存器
B 端寄存器
A 端寄存器总线缓存
计算机组成原理 45
例, 利用串行方式传送字符,每秒钟传送的数据位数常称为波特
率。假设数据传送速率是 120个字符 /秒,每一个字符格式规定
包含 10个数据位 (起始位、停止位,8个数据位 ),问传送的波特
数是多少? 每个数据位占用的时间是多少?
解:
波特数为,10位 × 120/秒 =1200波特
每个数据位占用的时间 Td是波特数的倒数:
Td=1/1200=0.833× 0.001s=0.833ms
计算机组成原理 46
总线仲裁、定时及数据传送模式
1.总线的仲裁
(1)为什么要进行总线仲裁
连接到总线上的功能模块有 主动 和 被动 两种形态。
主方,可以启动一个总线周期;
从方,只能响应主方的请求。
? 每次总线操作,只能有一个主方占用总线控制权,但可以
有多个从方。
? 除 CPU外,I/O模块也可提出总线请求。
为了解决多个主设备同时竞争总线控制权,必须具有总线
仲裁部件,以某种方式选择其中一个主设备作为总线的下一
次主方。
计算机组成原理 47
(2)总线仲裁方式
按照总线仲裁电路的位置不同,仲裁方式分为 集中式仲裁
和 分布式仲裁 两类。
① 集中式仲裁
集中式仲裁中每个功能模块有两条线连到中央仲裁器:
一条是送往仲裁器的总线请求信号线 BR,一条是仲裁器送
出的总线授权信号线 BG。
BS(总线忙):当某外设正使用总线时,BS=“1”。
若总线仲裁逻辑集中于一个单元,称为 集中式仲裁 。
集中控制是单总线、双总线和三总线结构机器中主要采
用的方式。
计算机组成原理 48
链式查询方式
链式查询方式的主要特点:
总线授权信号 BG串行地从一个 I/O接口传送到下一个 I/O接口。
假如 BG到达的接口无总线请求,则继续往下查询;假如 BG到达的接口有
总线请求,BG信号便不再往下查询,该 I/O接口获得了总线控制权。
离中央仲裁器最近的设备具有最高优先级,通过接口的优先级排队电路
来实现。
计算机组成原理 49
链式查询方式的优点,
只用很少几根线就能按一定优先次序实现总线仲裁,很容
易扩充设备。
链式查询方式的缺点,
对询问链的电路故障很敏感,如果第 i个设备的接口中有关
链的电路有故障,那么第 i个以后的设备都不能进行工作。查
询链的优先级是固定的,如果优先级高的设备出现频繁的请
求时,优先级较低的设备可能长期不能使用总线。
计算机组成原理 50
定时器查询方式
中央
仲裁
器
总线上的任一设备要求使用总线时,通过 BR线发出总线请求。中央仲
裁器接到请求信号以后,在 BS线为,0”的情况下让计数器开始计数,计
数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电
路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置
,1”BS线,获得了总线使用权,此时中止计数查询。
计算机组成原理 51
每次计数可以从,0”开始,也可以从中止点开始。如果从
,0”开始,各设备的优先次序与链式查询法相同,优先级的
顺序是固定的。如果从中止点开始,则每个设备使用总线的
优先级相等。
计数器的初值也可用程序来设置,这可以方便地改变优先
计算机组成原理 52
独立请求方式
中央
仲裁
器
每一个共享总线的设备均有一对总线请求线 BRi和总线授权线 BGi。当设
备要求使用总线时,便发出该设备的请求信号。中央仲裁器中的排队电
路决定首先响应哪个设备的请求,给设备以授权信号 BGi。
计算机组成原理 53
独立请求方式的优点:
首先响应时间快,确定优先响应的设备所花费的时间少,
用不着一个设备接一个设备地查询。
其次,对优先次序的控制相当灵活,可以预先固定也可以
通过程序来改变优先次序;
还可以用屏蔽 (禁止 )某个请求的办法,不响应来自无效设备
的请求。
因此,当代总线标准普遍采用独立请求方式。
计算机组成原理 54
中央仲裁器
对单处理器系统总线来说,中央仲裁器又称总线控制器,
它是 CPU的一部分。按照目前的总线标准,中央仲裁器一般
是一个单独的功能模块。
计算机组成原理 55
② 分布式仲裁
? 分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块
都有自己的仲裁号和仲裁器。
? 当它们有总线请求时,把它们唯一的仲裁号发送到共享的
仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的
号进行比较。
? 如果仲裁总线上的号大,则它的总线请求不予响应,并撤
消它的仲裁号。
? 最后,获胜者的仲裁号保留在仲裁总线上。
分布式仲裁是以优先级仲裁策略为基础。
计算机组成原理 56
2.总线的定时
总线的一次信息传送过程,大致可分为如下五个阶段:
请求总线,总线仲裁,寻址 (目的地址 ),信息传送,状
态返回 (或错误报告 )
为了同步主方、从方的操作,必须制订定时协议。
定时,事件出现在总线上的时序关系。
计算机组成原理 57
(1)同步定时
在同步定时协
议中,事件出
现在总线上的
时刻由总线时
钟信号来确定。
读数据的同步时序
所有事件都出现在时钟信号的前沿。
计算机组成原理 58
由于采用了公共时钟,每个功能模块什么时候发送或接收
信息都由统一时钟规定,因此具有较高的传送频率。
同步定时适用于总线长度较短、各功能模块存取时间比较
接近的情况。
计算机组成原理 59
(2)异步定时
在异步定时协议中,
后一事件出现在总
线上的时刻取决于
前一事件的出现,
即建立在应答式或
互锁机制基础上。
在这种系统中,不需要统一的共公时钟信号。总线周期
的长度是可变的。
异步定时的优点是总线周期长度可变,不把响应时间强加
到功能模块上,因而允许快速和慢速的功能模块都能连接到
同一总线上。但这以增加总线的复杂性和成本为代价。
计算机组成原理 60
总线的同步方式
1,同步通信
串行同步:信号编码
并行同步:专用时钟信号线
优点:时序关系简单,实现简单。
缺点:在设备速度不一致时按最坏情况确定,不能太长。
2,异步通信
串行异步通信:起始检测
并行异步通信:握手信号
非互锁
全互锁:(四边沿协议)
计算机组成原理 61
例 对于具有图示的操作时序的总线,试计算总线的
数据传输速率,假设总线上传输的每个字为 32位,
总线时钟频率为 50MHz。
解,从图中可见,该总线在 5个时钟周期内传输了一个数
据字。总线的数据传输带宽为,
1/5=0.2 (字 /时钟周期 )
即
0.2× 50× 106× 4=40× 106 (字节 /秒 )
地址与模式
CLK
就绪
应答
t 4t 3t 2t 1t 0
计算机组成原理 62
例,在一个 32位总线中,时钟频率为 33MHz,总线数据传输
的周期是 7个时钟周期传输 4个字的数据块,
(1) 问总线的数据传输率是多少?
(2) 为了提高数据传输率,将总线的数据线改为 8个字的块,
使得总线在 11个时钟周期传输 8个字的数据块,问这时总线
的数据传输率是多少?
(3) 如果不改变数据块的大小,而是将时钟频率加倍,问这
时总线的数据传输率是多少?
解,(1) 每个字为 32位,总线在 7个时钟周期传输了 16个字节,传
输率为,
R = 16B/7× 33MHz = 75.43× 106 B/S
(2) 总线在 11个时钟周期传输了 32个字节,传输率为,
R = 32B/11× 33MHz = 96× 106 B/S
(3) 时钟频率变为 66MHz,传输率为,
R = 16B/7× 66MHz = 150.86× 106 B/S
计算机组成原理 63
例, 某 CPU采用集中式仲裁方式,使用独立请求与菊花链查询
相结合的二维总线控制结构。每一对请求线 BRi和授权线 BGi
组成一对菊花链查询电路。每一根请求线可以被若干个传输
速率接近的设备共享。当这些设备要求传送时通过 BRi线向仲
裁器发出请求,对应的 BGi线则串行查询每个设备,从而确定
哪个设备享有总线控制权。请分析说明演示图所示的总线仲
裁时序图。
计算机组成原理 64
计算机组成原理 65
从时序图看出,该总线采用异步定时协议。
? 当某个设备请求使用总线时,在该设备所属的请求线上发出
申请信号 BRi(1)。
? CPU按优先原则同意后给出授权信号 BGi作为回答 (2)。
? BGi链式查询各设备,并上升设备回答 SACK信号证实已
收到 BGi信号 (3)。
? CPU接到 SACK信号后下降 BGi作为回答 (4)。
? 在总线“忙”标志 BBSY为,0”情况下,该设备上升 BBSY,
表示该设备获得了总线控制权,成为控制总线的主设备 (5)。
? 在设备用完总线后,下降 BBSY和 SACK(6),释放总线。
计算机组成原理 66
在上述选择主设备过程中,可能现行的主从设备正在进行
传送。此时需等待现行传送结束,即现行主设备下降 BBSY
信号后 (7),新的主设备才能上升 BBSY,获得总线控制权。
计算机组成原理 67
3.总线数据传送方式
当代的总线标准大都能支持以下四类模式的数据传送:
(1) 读、写操作
读操作 是由从方到主方的数据传送;
写操作 是由主方到从方的数据传送。
? 一般,主方先以一个总线周期发出命令和从方地址,经
过一定的延时再开始数据传送总线周期。
? 为了提高总线利用率,减少延时损失,主方完成寻址总线
周期后可让出总线控制权,以使其他主方完成更紧迫的操
计算机组成原理 68
(2)块传送操作
只需给出块的起始地址,然后对固定块长度的数据一个接
一个地读出或写入。
对于 CPU(主方 )、存储器 (从方 )而言的块传送,常称为 猝发
式传送,其块长一般固定为数据线宽度 (存储器字长 )的 4倍。
例如,64位数据线的总线,一次猝发式传送可达 256位。
计算机组成原理 69
(3)写后读、读修改写操作
只给出地址一次,或进行先写后读操作,或进行先读后写
操作。
? 先写后读操作:用于校验;
? 先读后写操作:用于多道程序系统中对共享存储资源的保护。
这两种操作和猝发式操作一样,主方掌管总线直到整个操
作完成。
计算机组成原理 70
(4)广播、广集操作
广播:
一般而言,数据传送只在一个主方和一个从方之间进行。
但有的总线允许一个主方对多个从方进行写操作,这种操作
称为 广播 。
广集:
与广播相反的操作称为 广集,它将选定的多个从方数据在
总线上完成 AND或 OR操作,用以检测多个中断源。
计算机组成原理 71
ISA总线
为了利用市场上丰富的各类中、低速适配卡,如声卡、
CD-ROM适配器、以太网卡等,一些微型机如 pentium机主板上
保留有 ISA总线的插槽。
ISA总线此时连接中、低速 I/O设备,由 PCI/ISA桥芯片提
供对 ISA总线的全面控制逻辑,包括中断和 DMA控制。 ISA总线
的时钟频率典型值为 8.33MHz。
计算机组成原理 72
ISA总线
计算机组成原理 73
ISA总线 I/O端口地址的典型使用
I/O口地址 设备(系统板外围电路) I/O口地址 设备(适配器外围电路)
000-01F
020-03F
040-05F
060-06F
070-07F
080-09F
0A0-0BF
0C0-0DF
0F0
0F1
0F8-0FF
DMA控制器 1,8237A-5
中断控制器 1,8259A(主)
定时器,8254-2
8042(键盘接口处理器)的 PB
口
实时时钟,NMI屏蔽寄存器
DMA页面寄存器
中断控制器 2,8259A(从)
DMA控制器 2,8237A-5
清除浮点运算协处理器忙信号
复位浮点运算协处理器
浮点运算协处理器
1F0-1F8
200-207
278-27F
300-31F
360-36F
378-37F
380-38F
3A0-3AF
3B0-3BF
3C0-3CF
3D0-3DF
3F0-3F7
3F8-3FF
硬磁盘
游戏 I/O口
串行口 2
样卡
保留
并行打印机口 2
SDLC,双同步 2
双同步 1
单色显示器和打印机适配器
保留
彩色/图形监视器适配器
软磁盘控制器
串行口 1
计算机组成原理 74
支持 8位 ISA卡和 16位 ISA卡
1.8位 ISA总线接口
8位 ISA总线也称为 PC总
线或 XT总线。
共有 62引脚,其中,数据
线 8根、地址线 20根、控制
线 21根、状态线 2根,还有
时钟、电源、地线。
计算机组成原理 75
2.16位 ISA总线接口
在 IBM PC/AT( 80286)
机上首先使用,故又称为
AT总线,在 8位 PC总线上
扩展而成。
16位 ISA总线在扩展 PC
总线时,保留了原 62芯 PC
总线信号的大部分定义,
仅做了少量更改。
在扩展的 36芯插座上,
ISA重新定义了部分信号。
计算机组成原理 76
PCI总线
1.PCI总线结构
PCI是一个与处理器无关的高速外围总线,又是至关重
要的层间总线。它采用 同步时序 协议和 集中式仲裁 策略,并
具有自动配置能力。
HOST总线
该总线有 CPU总线、系统总线、主存总线等多种名称,各
自反映总线功能的一个方面。这里称“宿主”总线,也许更
全面,因为 HOST总线不仅连接主存,还可以连接多个 CPU。
PCI,Peripheral Component interconnect——外围设备互连
计算机组成原理 77
计算机组成原理 78
PCI总线
连接各种高速的 PCI设备。 PCI设备可以是主设备,也可以
是从设备,或兼而有之。
在 PCI设备中不存在 DMA的概念,这是因为 PCI总线支持无
限的猝发式传送。这样,传统总线上用 DMA方式工作的设备
移植到 PCI总线上时,采用主设备工作方式即可。
系统中允许有多条 PCI总线,它们可以使用 HOST桥与
HOST总线相连,也可使用 PCI/PCI桥与已和 HOST总线相连
的 PCI总线相连,从而得以扩充整个系统的 PCI总线负载能力。
LAGACY总线
可以是 ISA,EISA,MCA等这类性能较低的传统总线,以
便充分利用市场上丰富的适配器卡,支持中、低速 I/O设备。
计算机组成原理 79
桥
在 PCI总线体系结构中有三种桥。桥连接两条总线,使彼
此间相互通信。 桥又是一个总线转换部件,可以把一条总线
的地址空间映射到另一条总线的地址空间上,从而使系统中
任意一个总线主设备都能看到同样的一份地址表。
利用桥可以实现总线间的猝发式传送:
写操作时,桥把上层总线的写周期先缓存起来,以后的时间
再在下层总线上生成写周期,即延迟写。
读操作时,桥可早于上层总线,直接在下层总线上进行预读。
无论延迟写和预读,桥的作用可使所有的存取都按 CPU的需
要出现在总线上。
计算机组成原理 80
配置空间
PCI总线实现了参数自动配置功能。每个 PCI设备必须提
供 256字节的空间结构,软件利用这一结构可以测定什么板插
入了 PCI插槽,从而使软件能够自动地为 PCI接口配置系统。
——PnP=Plug and Play即插即用
计算机组成原理 81
识别码包含单元识别码(高 16位)和厂商识别码(低 16位)
单元识别码用来区分 PCI接口的类型
PCI总线
计算机组成原理 82
04H为状态寄存器(高 16位)和命令寄存器(低 16位)
命令寄存器用来产生 PCI总线命令。命令寄存器的每一位都
有确切的含义。
设备状态寄存器用来记录与 PCI总线有关事件的信息。
PCI总线
计算机组成原理 83
总线 ——AGP总线
AGP——加速图形端口
计算机组成原理 84
总线 ——USB总线
USB——通用串行总线
全速 12Mb/s(<=5米 ),慢速 1.5Mb/s(<=3米 )
计算机组成原理 85
外围设备的定时方式与信息交换方式
程序中断方式
DMA方式
计算机组成原理 86
1.外围设备的定时方式
输入 /输出设备同 CPU交换数据的过程:
输入过程:
(1) CPU把一个地址值放在地址总线上,这一步将选择某一
(2) CPU等候输入设备的 数据成为有效
(3) CPU从数据总线读入数据,并放在一个相应的寄存器中。
? 外围设备的种类相当繁多,有机械式和电动式,也有电子式
和其他形式。
? 其输入信号,可以是数字式的电压,也可以是模拟式的电压
和电流。
? 从信息传输速率来讲,相差也很悬殊。
首先解决主机与外围设备在时间上的同步问题。
计算机组成原理 87
输出过程,
(1) CPU
(2) CPU
(3) 输出设备认为 数据有效,从而把数据取走。
问题的关键在于,究竟什么时候数据才成为有效?
很显然,由于输入 /输出设备本身的速度差异很大,因此,
对于不同速度的外围设备,需要有不同的定时方式,总的说
来,CPU与外围设备之间的定时,有以下三种情况。
计算机组成原理 88
(1)速度极慢或简单的外围设备
CPU认为数据一直有效,CPU只要接收或发送数据就可以了。
例如:
对机械开关来讲,CPU可以认为输入的数据一直有效,
因为机械开关的动作相对 CPU的速度来讲是非常慢的;
对显示二极管来讲,CPU可以认为输出一定准备就绪,
因为只要给出数据,显示二极管就能进行显示。
所以,在这种情况下,CPU只要接收或发送数据就可以了。
计算机组成原理 89
(2)慢速或中速的外围设备
由于这类设备的速度和 CPU的速度并不在一个数量级,或
者由于设备 (如键盘 )本身是在不规则时间间隔下操作的。
因此,CPU与这类设备之间的数据交换通常采用 异步定时
方式 。
计算机组成原理 90
如果 CPU需要从外设接收一个字,则它:
? 首先询问外设的状态,如果该外设的状态标志表明设备已
“准备就绪”,那么 CPU就从总线上接收数据;
? CPU在接收数据以后,发出输入响应信号,告诉外设已经
把数据总线上的数据取走;
? 然后,外设把“准备就绪”的状态标志复位,并准备下一
个
字的交换。
如果 CPU起先询问外设时,外设没有“准备就绪”,那
么它就发出表示外设“忙”的标志。于是,CPU将进入一个
循环程序中等待,并在每次循环中询问外设的状态,一直到
外设发出“准备就绪”信号以后,才从外设接收数据。
接收,
计算机组成原理 91
? 外设先发出请求输出信号;
? 而后,CPU询问外设是否准备就绪。如果外设已准备就绪,
CPU便发出准备就绪信号,并送出数据。
? 外设接收数据以后,将向 CPU发出“数据已经取走”的通知。
通常,把这种在 CPU和外设间用问答信号进行定时的方
式叫做 应答式 数据交换 。
发送,
计算机组成原理 92
由于这类外设是以相等的时间间隔操作的,而 CPU也是
以等间隔的速率执行输入 /输出指令的,因此,这种方式叫
做 同步定时方式 。一旦 CPU和外设发生同步,它们之间的数
(3)
更快的同步传送要采用直接内存访问 (DMA)方式。
例如:外设是一条 2400位 /秒的传输线,则 CPU每隔 1/2400
秒执行一次串行数据输入操作。
计算机组成原理 93
统一编址法
存储器映像的外设寻址,
将接口中的控制寄存器、数据寄存器、状态寄存器和内
存单元一样看待,可以利用访存指令进行输入输出操作
外设的寻址
单独编址法
接口与存储器采用不同的两个地址空间
访问存储器和访问外围设备采用不同的指令
计算机组成原理 94
2.信息交换方式
程序查询方式
无条件传送方式
条件传送方式
计算机组成原理 95
程序查询方式是早期计算机中使用的一种方式。数据在
CPU和外围设备之间的传送完全靠计算机程序控制。
(1)程序查询方式
(2)程序中断方式
中断是外围设备“主动”通知 CPU,准备送出输入数据或
接收输出数据的一种方法。
(3)直接内存访问 (DMA)方式
直接内存访问 (DMA)方式是一种完全由硬件执行 I/O交
换的工作方式。
计算机组成原理 96
DMA方式的出现已经减轻了 CPU对 I/O操作的控制,使得
CPU的效率有显著的提高,而通道的出现则进一步提高了 CPU
的效率。这是因为,CPU将部分权力下放给通道。
通道是一个具有特殊功能的处理器,某些应用中称为 输入
输出处理器 (IOP),它可以实现对外围设备的统一管理和外围设
备与内存之间的数据传送。
这种提高 CPU
(4)通道方式
外围处理机 (PPU)方式是通道方式的进一步发展。由于 PPU
基本上独立于主机工作,它的结构更接近一般处理机,甚至就
是微小型计算机。在一些系统中,设置了多台 PPU,分别承担
I/O控制、通信、维护诊断等任务。
(5)
计算机组成原理 97
? 程序查询方式和程序中断方式适用于数据传输率比较低的
外围设备,
? DMA方式、通道方式 和 PPU方式适用于数据传输率比较
高的设备。
目前,单片机和微型机中多采用程序查询方式、程序中断
方式和 DMA方式。通道方式和 PPU方式大都用在中、大型计
算机中。
(6) 各种方法比较:
计算机组成原理 98
程序查询方式 ——无条件传送
外设总是准备好
? 输入 ——数据已经准备好
? 输出 ——已准备好接收
只有数据,没有状态,同步方式
不需要过多的程序处理,在需要与外设交换信息时,随时访问
I/O端口
计算机组成原理 99
程序查询方式 ——无条件传送
计算机组成原理 100
程序查询方式 ——条件传送
? 查询传送方式
? 查询外设的状态信息
? 输入 ——数据已准备好
? 输出 ——接收装置已准备好
? 状态端口、数据端口
条件传送 ---输入
计算机组成原理 101
条件传送 ---输出
? 特点:
? 控制简单,CPU和外设只能串行工作,系统效率低
? CPU在一个时间内只能和一个外设交换信息。
计算机组成原理 102
程序查询方式特点:
1、何时对何设备输入 /输出操作完全由 CPU控制
2、外设与 CPU处于异步工作方式
3、外设与 CPU处于异步工作方式
4、数据的输入 /输出要经过 CPU,至少要几条指令
5,CPU利用率低,但控制简单
6、实时性?
计算机组成原理 103
程序中断方式
1.中断的基本概念
当 CPU正常运行程序时,由于 内部事件或外设请求 (随机
的 ),引起 CPU暂时 中止 正在运行的程序,转去执行发出
请求的外设(或内部事件)的服务子程序,待该服务程
序执行完毕,再返回被中止的程序,这一过程称为 中断 。
中断
断点
IRET
中断服务子程序主程序
计算机组成原理 104
2.中断的作用
“中断, 是由 I/O设备或其他非预期的急需处理的事件引起的,
它使 CPU暂时中断现在正在执行的程序,而转至另一服务程
序去处理这些事件,处理完后再返回原程序。
中断有下列一些作用,
⑴ CPU与 I/O设备并行工作。
例 CPU与针式打印机并行工作的时间安排。 当打印机完成一
行打印后,向 CPU发中断信号,若 CPU响应中断,则停止正在
执行的程序转入打印中断服务程序,将要打印的下一行字传
送到打印机控制器并启动打印机工作。然后 CPU又继续执行
原来的程序,此时打印机开始了新一行字的打印过程。
计算机组成原理 105
CPU与打印机并行工作
打印机打印一行字需要几毫秒到几十毫秒,而中断处理时
间一般是微秒级
计算机组成原理 106
⑵ 硬件故障处理。 计算机运行时,如硬件出现某些故障,机
器中断系统发出中断请求,CPU响应中断后自动进行处理。
⑶实现人机联系。 在计算机工作过程中,如果用户要干预机
器,如抽查计算中间结果,了解机器的工作状态,给机器下
达临时性的命令等。在没有中断系统的机器里这些功能几乎
是无法实现的。
⑷实现多道程序和分时操作。 计算机实现多道程序运行是提
高机器效率的有效手段。多道程序的切换运行需借助于中断
系统。在一道程序的运行中,由 I/O中断系统切换到另外一
道程序运行。 也可以通过分时分配每道程序一个固定时间
片,利用时钟定时发中断进行程序切换。
计算机组成原理 107
⑸ 实现实时处理。 这是指在某个事件或现象出现时,及时
地进行处理,而不是集中起来再进行批处理。例如,在某个
计算机过程控制系统中,当出现压力过大,温度过高等情况
时,必须及时输入到计算机进行处理。 这些事件出现的时
刻是随机的,而不是程序本身所能预见的,因此要求计算机
中断正在执行的程序,转而去执行中断服务程序
⑹实现应用程序和操作系统 (管态程序 )的联系。 可以在用户
程序中安排一条, Trap”指令进入操作系统,称之为, 软中
断, 。其中断处理过程与其他中断类似。
⑺多处理机系统中各处理机间的联系。 在多处理机系统中,
处理机和处理机之间的信息交流和任务切换可以通过中断来
实现。
计算机组成原理 108
3.中断与调用子程序的区别
从表面上看起来,计算机的中断处理过程有点类似于调
用子程序的过程,这里现行程序相当于主程序,中断服务程
序相当于子程序。
但有本质上的区别,
⑴ 子程序的执行是由程序员事先安排好的,而中断服务程
序的执行则是由随机的中断事件引起的。
⑵子程序的执行受到主程序或上层子程序的控制,而中断
服务程序一般与被中断的现行程序毫无关系。
⑶不存在同时调用多个子程序的情况,而可能发生多个外
设同时请求 CPU为自己服务的情况。
特点, CPU的利用率高
计算机组成原理 109
中断接口
计算机组成原理 110
4.中断的产生和响应
⑴ 中断源 ---引起中断的事件。
①中断源的种类
当中断源发生引起中断的事件时,先将它保存在设备控制器
的, 中断触发器, 中,即置, 1”,当中断触发器为, 1”时,
向 CPU发出, 中断请求, 信号
外中断 --I/O设备,定时时钟等来自处理机外部设备的中断。
软中断 --由, Trap”指令产生的中断。
内中断 --处理机硬件故障或程序, 出错, 引起的中断。
例如,电源故障,算术溢出,除数为零,校验错,指令非
法,用户程序执行特权指令以及虚拟存储器页面失效等。
② 中断触发器
每个中断源有一个中断触发器。多个中断触发器构成中断寄存
器。其内容称为中断字或中断码。 CPU进行中断处理时,根
据中断字确定中断源,转入相应的服务程序。
计算机组成原理 111
⑵ 中断的分级与中断优先权
在设计中断系统时,要把全部中断源按中断性质和处理
的轻重缓急进行排队并给予优先权。优先权是指有多个中断
同时发生时,对各个中断响应的优先次序。
中断源数量很多时,中断字就会很长,一般把所有中断
按不同的类别分为若干级,称为 中断级,在同一级中还可以
有多个中断源。首先按中断级确定优先次序,然后在同一级
内再确定各个中断源的 优先权 。
对设备分配优先权时,必须考虑数据的传输率和服务程
序的要求。数据的有效时间短,则该设备的优先权高
计算机组成原理 112
⑶ 禁止中断和中断屏蔽
①禁止中断, 产生中断源后,由于某种条件的存在,CPU不
能中止现行程序的执行,称为禁止中断。
? 一般在 CPU内部设有一个, 中断允许, 触发器。
? 只有该触发器为, 1”时,才允许处理机响应中断 ;
? 该触发器为, 0”,则不响应所有中断源申请的中断。
? 前者叫允许中断,后者叫禁止中断。
?, 中断允许, 触发器是通过, 开中断, 或, 关中断, 指
令来置位,复位。
进入中断服务程序后自动, 关中断,
计算机组成原理 113
② 中断屏蔽, 当产生中断请求后,用程序方式有选择地封锁部
分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。
实现方法 是为每个中断源设置一个中断屏蔽触发器来屏蔽
该设备的中断请求。
具体说,用程序方法将该触发器置, 1”,则对应的设备中
断被封锁 ;若将其置, 0”,才允许该设备的中断请求得到响
应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。
有些中断请求是不可屏蔽的,也就是说,不管中断系统是否
开中断,这些中断源的中断请求一旦提出,CPU必须立即
响应。例如电源掉电就是不可屏蔽中断。 所以,中断又可
分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先
权。
计算机组成原理 114
中断的产生和响应 (小结 )
? 中断源
? 种类:内部中断 /外部中断
? 建立:中断触发器
? 分级:中断禁止 /开放,中断优先级
? 中断响应的条件
? 有中断请求;
? CPU允许中断
? 在一条指令执行完后响应。
计算机组成原理 115
中断处理过程
↓
关 中 断
↓
保存断点,保存现
场
↓
判别中断条件
转入中断服务程序
↓
开 中 断
↓
执行中断服务程序
↓
关 中 断
↓
↓
恢复现场,恢复断点
↓
开 中 断
↓
返 回 断 点
⑴ 关中断 进入不可再次响应
中断的状态,由 硬件自动实现
。因为接下去要保存断点,保
存现场。这些工作不能被打断
。
计算机组成原理 116
⑵ 保存断点和现场 为了在中断处理结束后能正确地返回到
中断点,在响应中断时,必须把当前的程序计数器 PC中的
内容 (即断点 )保存起来。
现场信息 一般指的是程序状态字,中断屏蔽寄存器和 CPU
中某些寄存器的内容
对现场信息的 处理有两种方式, 一种是由 硬件 对现场信息进
行保存和恢复 ; 另一种是由 软件 即中断服务程序对现场信息
保存和恢复。
对硬件保存现场信息的方式 有的机器把断点等保存在 主
存 固定的单元 ; 有的机器每次响应中断后把处理机状态字和
程序计数器内容相继 压入堆栈,再从指定的两个主存单元分
别取出新的程序计数器内容和处理机状态字来代替,称为交
换新,旧状态字方式。
计算机组成原理 117
⑶ 判别中断源转向中断服务程序 在多个中断源同时请求中
断的情况下,本次实际响应的只能是优先权最高的那个中
断源。所以需进一步判别中断源,并转入相应的中断服务
程序入口。
⑷开中断 因为接下去就要执行中断服务程序,开中断将允许
更高级中断请求得到响应,实现中断嵌套。
⑸执行中断服务程序 不同中断源的中断服务程序是不同的,
实际有效的中断处理工作是在此程序段中实现的。
⑹退出中断 在退出时,又应进入不可中断状态,即关中断,
恢复现场,恢复断点,然后开中断,返回原程序执行进入
中断时执行的关中断,保存断点等操作一般是由硬件实现
的,它类似于一条指令,但它与一般的指令不同,不能被
编写在程序中。因此,常常称为, 中断隐指令, 。
计算机组成原理 118
识别中断源
⑴ 查询法 由测试程序按
一定优先排队次序检查
各个设备的, 中断触发
器, (或称为中断标志 ),
当遇到第一个, 1”标志
时,即找到了优先进行
处理的中断源,通常取
出其设备码,根据设备
码转入相应的中断服务
程序。
计算机组成原理 119
中断优先级的判断
软件查询 ——依优先次序查询
计算机组成原理 120
中断优先级的判断
硬件方式 ——如:菊花链
⑵ 串行排队链法 由硬件确定中断源,当任一设备的中断触
发器为, 1”时,向 CPU发出中断请求信号 INTR
计算机组成原理 121
INTA是由 CPU送来的取中断设备码信号,高有效。
由 CPU送来的 INTI为中断排队输入,低 有效。
从各设备来的中断请求信号,优先顺序从高到低,依次是
INTR1,INTR2,INTR3, 低 有效。
计算机组成原理 122
( 1)仅 INTR2低 有效,即设备 2有 中断请求。
0
1
1
0
0
1
0
0
1
1
0
1
1
OC门
上半部分是一个编码电路,它将产生请求中断的设备中优先
权最高的设备码经总线送往 CPU。
计算机组成原理 123
( 2) INTR1 INTR2都为低,即设备 1、设备 2同时有 中断请求。
1
0
0
1 1
1
0
0
1 0
计算机组成原理 124
判优后,一种是在中断程序中设一条专门接收中断设备
码的指令 INTA,取到设备码后,再通过主存的跳转表产生中
断服务程序入口地址 ;
另一种为 向量中断,即为每一个中断源设置一个中断向量,
中断向量包括该中断源的中断服务程序入口地址
当 CPU响应中断时,由硬件直接产生一个固
定的地址 (即向量地址 ),由向量地址指出每个
中断源设备的中断服务程序入口,这种方法通
常称为 向量中断 。
向量中断 ——
计算机组成原理 125
( 3) 有些计算机中由硬件产生的向量地址不是直接地址,而是一 个“位
移量”,这个位移量加上 CPU某寄存器里存放的基地址,最后得到中断处
( 4) 还有一种采用向量地址转移的方法。假设有 8个中断源,由 优先级编
码电路产生 8个对应的固定地址码 (例如 0,1,2,…, 7),这 8个单元中存
放的是转移指令,通过转移指令可转入设 备各自的中断服务程序入口。这
种方法允许中断处理程序放在内存中任何地方。
⑴ 向量地址是中断服务程序的入口地址,CPU不需要再经过处理就可以进入
相应的中断服务程序。
⑵ 向量地址是中断向量表的指针,从中断向量表的相应单元中再取出中断服
务程序的入口地址。
80X86中,内存的最低 1K字节建立了一个中断向量表,分成 256组,每组占 4
个字节,前 2个字节存放中断服务程序入口地址的偏移量 (IP,16位 ),后 2个
字节存放中断服务程序入口地址的段地址 (CS,16位 )
向量地址有几种情况,
计算机组成原理 126
中断处理过程流程图
计算机组成原理 127
几个问题
① 尽管外界中断请求是随机的,但 CPU只有在当前一条指
令执行完毕后,即转入公操作时才受理设备的中断请求,这
样才不致于使当前指令的执行受到干扰。
公操作 是指一条指令执行结束后 CPU所进行的操作,如中
断处理、直接内存传送、取下条指令等 。
外界中断请求信号通常存放在接口中的中断源锁存器里,
并通过中断请求线连至 CPU,每当一条指令执行到末尾,
CPU便检查中断请求信号。若中断请求信号为,1”,则 CPU
转入,中断周期”,受理外界中断。
计算机组成原理 128
② 为了在中断服务程序执行完毕以后正确地返回到原来主程
序被中断的断点 (PC内容 )而继续执行主程序,必须把程序计
数器 PC的内容,以及当前指令执行结束后 CPU的状态 (包括寄
存器的内容和一些状态标志位 )都保存到堆栈中去。这些操作
叫做保存现场。
③ 中断处理过程是由硬件和软件结合来完成的。如在上图中,
中断周期 由硬件实现,而中断服务程序由机器指令序列实现。
后者除执行保存现场、恢复现场、开放中断并返回主程序任
务外,对要求中断的设备进行服务,使其同 CPU交换一个字
的数据,或作其他服务。
计算机组成原理 129
④ 当 CPU响应中断后,正要去执行中断服务程序时,可能有
另一个新的中断源向它发出中断请求。为了不致造成混乱,
在 CPU的中断管理部件中必须有一个 中断屏蔽 触发器,它可
以在程序的控制下置,1”(设置屏蔽 ),或置,0”(取掉屏蔽 )。
只有在中断屏蔽标志为,0”时,CPU才可以受理中断。
当一条指令执行完毕 CPU接受中断请求并作出响应时,它
一方面发出中断响应信号 INTA,另一方面把中断屏蔽标志置
,1”,即关闭中断。这样,CPU不能再受理另外的新的中断
源发来的中断请求。只有在 CPU把中断服务程序执行完毕以
后,它才重新使中断屏蔽标志置,0”,即开放中断,并返回
主程序。因此,中断服务程序的最后必须有两条指令,即开
中断指令和返主指令,同时在硬件上要保证返主指令执行以
后才受理新的中断请求。
计算机组成原理 130
? 在单级中断系统中,所有的中断源都属于同一级,所有中
断源触发器排成一行,其优先次序是离 CPU近的优先权高。
? 当响应某一中断请求时,执行该中断源的中断服务程序。
在此过程中,不允许其他中断源再打断中断服务程序,即
使 优先权比它高的中断源也不能再打断 。
(1)单级中断的概念
根据计算机系统对中断处理的策略不同,可分为 单级中
断系统 和 多级中断系统 。
5.单级中断与多级中断
计算机组成原理 131
(2)多 级中断的概念
多级中断系统 是指计算机系统中有相当多的中断源,根
据各中断事件的轻重缓急程度不同而分成若干级别,每一中
断级分配给一个优先权。优先权高的中断级可以打断优先权
低的中断服务程序,以程序嵌套方式工作。
? 中断嵌套
? 多个中断源,有可能同时发出中断请求
? 多重中断响应(服务)
? 中断优先级
? 给每个中断源规定优先级别,CPU先响应高级中断的请求
? 一般情况下,在允许中断嵌套时,高级中断可以打断低
级中断,同级或低级中断不能打断高级或同级中断
计算机组成原理 132
多级中断示意图
计算机组成原理 133
根据系统的配置不同,多级中断可分为一维多级中断和二
维多级中断:
一维多级中断 是指每一级中断里只有一个中断源,
二维多级中断 是指每一级中断里又有多个中断源。
计算机组成原理 134
一维多级中断结构
计算机组成原理 135
二维多级中断结构
高 优先权 低
计算机组成原理 136
几个问题:
① 一个系统若有 n级中断,在 CPU中就有 n个中断请求触发器,
总称为 中断请求寄存器 ;与之对应的有 n个中断屏蔽触发器,
总称为 中断屏蔽寄存器 。
与单级中断不同,在多级中断中,中断屏蔽寄存器的内容
是一个很重要的程序现场,因此在响应中断时,需要把中断
屏蔽寄存器的内容保存起来,并设置新的中断屏蔽状态。一
般在某一级中断被响应后,要置,1,(关闭 )本级和优先权低
于本级的中断屏蔽触发器,置,0”(开放 )更高级的中断屏蔽
触发器,以此来实现正常的中断嵌套。
计算机组成原理 137
② 多级中断中的每一级可以只有一个中断源,也可以有多个
中断源。在多级中断之间可以实现中断嵌套,但是同一级内
有不同中断源的中断是不能嵌套的,必须是处理完一个中断
后再响应和处理同一级内其他中断源。
③ 设置多级中断的系统一般都希望有较快的中断响应时间,
因此首先响应哪一级中断和哪一个中断源,都是由硬件逻辑实
现,而不是用程序实现。
另外,在二维中断结构中,除了有中断优先级排队电路确定
优先响应中断级外,还要确定优先响应的中断源,一般通过链
式查询的硬件逻辑来实现。显然,这里采用了独立请求方式与
链式查询方式相结合的方法决定首先响应哪个中断源。
计算机组成原理 138
④ 和单级中断情况类似,在多级中断中也使用中断堆栈保存
现场信息。使用堆栈保存现场的好处是:
a.控制逻辑简单,保存和恢复现场的过程按先进后出顺序
进行。
b.每一级中断不必单独设置现场保护区,各级中断现场可
按其顺序放在同一个栈里。
计算机组成原理 139
(3)多级中断源的识别
在多级中断中,每一级均有一根中断请求线送往 CPU的
中断优先级排队电路,对每一级赋予了不同的优先级。
显然这种结构就是 独立请求方式 的逻辑结构。
?
在多级中断中,如果每一级请求线上还连接有多个中断
源设备,那么在识别中断源时,还需要进一步用 串行链
式方式查询 。
?
这意味着要用二维方式来设计中断排队逻辑。
计算机组成原理 140
独立请求方式的中断优先级排队与中断向量产生的逻辑结构
计算机组成原理 141
处理一个中断的过程,就是妥善处理以下一些基本
问题的过程:
1) 何时检查中断输入信号及其处理办法 。
2) 如何把控制转给中断服务程序 。
3) 如何保护和恢复中断的现场 。
4) 如何识别中断源 。
5) 如何识别优先级较高的中断 。
6) 如何开放和关闭中断 。
计算机组成原理 142
中断方式的特点:
1,CPU与外设能并行工作
2、能处理异常事件
3,I/O操作仍然经过 CPU,在程序控制下完成 I/O
4,CPU利用率仍然不太好
5、实时性好
计算机组成原理 143
例
高 优先权 低
计算机组成原理 144
(1)在中断情况下,CPU和设备的优先级如何考虑?请按降序排
(2)若 CPU现执行设备 B的中断服务程序,IM2,IM1,IM0的状
态是什么?如果 CPU执行设备 D的中断服务程序,IM2,
IM1,IM0的状态又是什么?
(3)每一级的 IM能否对某个优先级的个别设备单独进行屏蔽?
如果不能,采取什么办法可达到目的?
(4)假如设备 C一提出中断请求,CPU立即进行响应,如何调整
才能满足此要求?
计算机组成原理 145
(1)在中断情况下,CPU的优先级最低。各设备的优先次序是:
A→B→C→ D→E→F→G→H→I→CPU 。
(2)执行设备 B的中断服务程序时 IM2IM1IM0=111;执行设备 D
的中断服务程序时,IM2IM1IM0=011
(3)每一级的 IM标志不能对某个优先级的个别设备进行单独屏
蔽。可将接口中的 EI(中断允许 )标志清, 0”,它禁止设备
(4)要使设备 C的中断请求及时得到响应,可将设备 C从第 2级
取出来,单独放在第 3级上,使第 3级的优先级最高,即令
IM3=0即可。
解:
计算机组成原理 146
6.中断控制器 (8259)
计算机组成原理 147
8259的中断优先级选择方式有四种:
(1)完全嵌套方式,是一种固定优先级方式,连至 IR0设备优先
级最高,IR7的优先级最低。这种固定优先级方式对级别低的
中断不利,在有些情况下最低级别的中断请求可能一直不能被
处理。
(2)轮换优先级方式 A,每个级别的中断保证有机会被处理,将
给定的中断级别处理完后,立即把它放到最低级别的位置上去。
(3) 轮换优先级方式 B,要求 CPU可在任何时间规定最优优先级,
然后顺序地规定其他 IR线上的优先级。
(4)查询方式,由 CPU访问 8259的中断状态寄存器,一个状态字
能表示出正在请求中断的最高优先级 IR线,并能表示出中断请
求是否有效。
计算机组成原理 148
8259提供了两种屏蔽方式:
(1)简单屏蔽方式,提供 8位屏蔽字,每位对应着各自的 IR线。
被置位的任一位则禁止了对应 IR线上的中断。
(2)特殊屏蔽方式,允许 CPU让来自低优先级的外设中断请求
去中断高优先级的服务程序。当 8位屏蔽位的某位置,0”时,
例如屏蔽字为 11001111,说明 IR4和 IR5线上的中断请求可中
断任何高级别的中断服务程序。
8259中断控制器的不同工作方式是通过编程来实现的。
CPU送出一系列的初始化控制字和操作控制字来执行选定的
操作。
计算机组成原理 149
7.奔腾中断机制
(1)中断类型
中断 通常称为外部中断,它是由 CPU的外部硬件信号引
发的。有两种情况,
①可屏蔽中断:
CPU的 INTR引脚收到中断请求信号,如果 CPU中标志寄
存器 IF=1时,可引发中断; IF=0时,中断请求信号在 CPU
内部被禁止。
②非屏蔽中断:
CPU的 NMI引脚收到的中断请求信号而引发的中断,这
计算机组成原理 150
异常 通常称为异常中断,它是由指令执行引发的。有两种情
况:
①执行异常:
CPU执行一条指令过程中出现错误、故障等不正常条件引
发的中断;
②执行软件中断指令:
如执行 INT 0,INT 3,INT n等指令,执行时产生异常中断。
异常中断
软件中断
外部非屏蔽中断
外部可屏蔽中断
优
先
级
递
增
计算机组成原理 151
当有一个以上的异常或中断发生时,CPU以一个预先确
定的优先顺序为它们先后进行服务。
pentium共有 256种中断和异常。每种中断给予一个编号,
称为 中断向量号 (0—255),以便发生中断时,程序转向相应
的中断服务子程序入口地址。
计算机组成原理 152
中断服务子程序的入口地址信息存于中断向量号检索表内。
实模式为中断向量表 IVT,保护模式为中断描述符表 IDT
CPU识别中断类型取得中断向量号的途径有三种:
①指令给出,如软件中断指令 INT n 中的 n即为中断向量号。
②外部提供,可屏蔽中断是在 CPU接收到 INTR信号时产生一
个中断识别周期,接收外部中断控制器由数据总线送来的中
断向量号;非屏蔽中断是在接收到 NMI信号时中断向量号固
定为 2。
③ CPU识别错误、故障现象,根据异常和中断产生的条件自
动指定向量号。
(2)中断服务子程序进入过程
计算机组成原理 153
实模式下:
使用中断向量表
CPU依据中断向量号获取中断服务子程序入口地址,但在实
模式下和保护模式下采用不同的途径,
中断向量表 IVT位于内存地址 0开始的 1KB空间。
实模式是 16位寻址,中断服务子程序入口地址 (段,偏移 )
的段寄存器和段内偏移量各为 16位。
计算机组成原理 154
00000H
00004H
003FCH
0型中断向量
1型中断向量
255型中断向量
n型中断向量
…
…
4*n
4n
4n+2
n型 ISP首指令的有效地址
n型 ISP代码段的段基址
计算机组成原理 155
计算机组成原理 156
00000
0000C 0001
3C
1F
1F3C:0100
(1F4C0)
PUSH AX
PUSH BX
003FF
中
断
向
量
表
INT 3中
断
服
务
程
序
中断向量
计算机组成原理 157
保护模式下
使用中断描述符表
? 保护模式下采用中断描述符表 IDT管理各级中断;
? IDT中最多可以有 256个描述符,对应于 256个中断 /异常源;
? IDT表中的描述符包括了中断服务程序的入口地址信息;
? 这些门描述符为 8字节长,对应 256个中断向量号,IDT表长为
2KB。
IDT可置于内存的任意区域,其起始地址由中断描述符表寄存
器 (IDTR)设置;
? 中断门和陷阱门 必须设在 IDT表中,中断门对应外部硬件中断,
陷阱门对应内部软件中断或异常。
概述
计算机组成原理 158
中断门、陷阱门描述符
P位,P=0,该段不在内存中
P=1,该段在内存中
DPL,取值 0~3,确定段的特权级
00为 0级;
01为 1级;
10为 2级;
11位 3级。
Type, 1110 —中断门;
1111—陷阱门。
m+7
m+6目标段偏移量 16~31位
中断 /异常中断处理程序的
代码段描述符的选择符 0~15位
m+5
m+4
m+3
m+2
m+1
m+0
目标段偏移量 0~15位
未使用
P DPL 0 Type
访问权限字节
计算机组成原理 159
计算机组成原理 160
① 当中断处理的 CPU控制权转移涉及到特权级改变时,必须把
当前的 SS和 ESP两个寄存器的内容压入系统堆栈予以保存。
② 标志寄存器 EFLAGS
③ 清除标志触发器 TF和 IF
④ 当前的代码段寄存器 CS和指令指针 EIP
⑤
⑥ 完成上述中断现场保护后,从中断向量号获取的中断服务子
程序入口地址 (段,偏移 )分别装入 CS和 EIP,开始执行中断
⑦ 中断服务子程序最后的 IRET指令使中断返回。保存在堆栈中
的中断现场信息被恢复,并由中断点继续执行原程序。
中断处理过程
计算机组成原理 161
DMA方式
1.DMA的基本概念
直接内存访问 (DMA)是一种完全由硬件执行 I/O交换的
工作方式。在这种方式中,DMA控制器从 CPU完全接管对
总线的控制,数据交换不经过 CPU,而直接在内存和 I/O设
备之间进行 。
DMA方式一般用于高速传送成组数据。 DMA控制器将
向内存发出地址和控制信号,修改地址,对传送的字的个
数计数,并且以中断方式向 CPU报告传送操作的结束。
计算机组成原理 162
DMA能执行以下一些基本操作:
(1) 从外围设备发出 DMA
(2) CPU响应请求,把 CPU工作改成 DMA操作方式,DMA控
制器从 CPU
(3) 由 DMA控制器对内存寻址,即决定数据传送的内存单元地
(4) 向 CPU报告 DMA
注意
在 DMA方式中,一批数据传送前的准备工作,以及传送结
束后的处理工作,均由管理程序承担,而 DMA控制器仅负责
数据传送的工作。
计算机组成原理 163
2.基本的 DMA控制器
(1)DMA控制器的基本组成
计算机组成原理 164
内存地址计数器
用于存放内存中要交换的数据的地址。在 DMA传送前,须
通过程序将数据在内存中的起始位置 (首地址 )送到内存地址计
数器。而当 DMA传送时,每交换一次数据,将地址计数器加
,1”,从而以增量方式给出内存中要交换的一批数据的地址。
字计数器
用于记录传送数据块的长度 (多少字数 )。其内容也是在数据
传送之前由程序预置,交换的字数通常以补码形式表示。在
DMA传送时,每传送一个字,字计数器就加,1”,当计数器
溢出即最高位产生进位时,表示这批数据传送完毕,于是引
起 DMA控制器向 CPU
计算机组成原理 165
数据缓冲寄存器
用于暂存每次传送的数据 (一个字 )。当输入时,由设备 (如
磁盘 )送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送
到内存。反之,输出时,由内存通过数据总线送到数据缓冲
,DMA请求”标志
每当设备准备好一个数据字后给出一个控制信号,使
,DMA请求” 标志置,1”。该标志置位后向“控制 /状态”
逻辑发出 DMA请求,后者又向 CPU发出总线使用权的请求
(HOLD),CPU响应此请求后发回响应信号 HLDA,“控制 /状
态”逻辑接收此信号后发出 DMA响应信号,使,DMA请求”
计算机组成原理 166
“控制 /状态”逻辑
由控制和时序电路以及状态标志等组成,用于修改内存地
址计数器和字计数器,指定传送类型 (输入或输出 ),并对
,DMA请求”信号和 CPU响应信号进行协调和同步。
中断机构
当字计数器溢出时 (全 0),意味着一组数据交换完毕,由溢
出信号触发中断机构,向 CPU提出中断报告。这里的中断与
上一节介绍的 I/O中断所采用的技术相同,但中断的目的不同,
前面是为了数据的输入或输出,而这里是为了报告一组数据
传送结束。因此它们是 I/O系统中不同的中断事件。
计算机组成原理 167
DMA控制器结构
控制逻辑
D S RS RD W R BR BG
中断机构
标志寄存器
字计数器
数据寄存器
地址计数器
系统总线
IG
IR
计算机组成原理 168
DMA与 CPU的连接
DS
RS
BR
BG
IR
外设
D M A 响应
D M A 请求
D M A
R A MC P U
R D W R A dd da t a
R D W R A dd da t a
R D W R A dd da t a
BR
BG
IR
地址选择
计算机组成原理 169
计算机组成原理 170
当某个外围设备请求 DMA服务时,操作过程如下:
1.DMA控制器接到设备发出的 DMA请求时,将请求转送到 CPU。
2.CPU在适当的时刻响应 DMA请求。若 CPU不需要占用总线则
继续执行指令;若 CPU需要占用总线,则 CPU进入等待状态。
3.DMA控制器接到 CPU的响应信号后,进行以下工作:
① 对现有 DMA请求中优先权最高的请求给予 DMA响应;
② 选择相应的地址寄存器的内容驱动地址总线;
③ 根据所选设备操作寄存器的内容,向总线发读、写信号;
④ 外围设备向数据总线传送数据,或从数据总线接收数据;
⑤ 每个字节传送完毕后,DMA控制器使相应的地址寄存器和
长度寄存器加, 1”或减, 1”。
计算机组成原理 171
3.DMA传送方式
(1)停止 CPU
当外围设备要求传送一批数据时,由 DMA控制器发一个
停止信号给 CPU,要求 CPU放弃对地址总线、数据总线和有
关控制总线的使用权。 DMA控制器获得总线控制权以后,
开始进行数据传送。在一批数据传送完毕后,DMA控制器
通知 CPU可以使用内存,并把总线控制权交还给 CPU。在这
种 DMA传送过程中,CPU基本处于不工作状态或者说保持
状态。
计算机组成原理 172
缺点,在 DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内
存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间
隔一般总是大于内存存储周期,即使高速 I/O设备也是如此。
优点,控制简单,它适用于数据传输率很高的设备进行成组传送。
计算机组成原理 173
(2)周期挪用
当 I/O设备没有 DMA请求时,CPU按程序要求访问内存;
一旦 I/O设备有 DMA请求,则由 I/O设备挪用一个或几个内
存周期。
计算机组成原理 174
② I/O设备要求访内时 CPU也要求访内,这就产生了访内冲突,
在这种情况下 I/O设备访内优先,因为 I/O访内有时间要求,
前一个 I/O数据必须在下一个访内请求到来之前存取完毕。
显然,在这种情况下 I/O设备挪用一二个内存周期,意味着
CPU延缓了对指令的执行,或者更明确地说,在 CPU执行
访内指令的过程中插入 DMA请求,挪用了一二个内存周期。
I/O设备要求 DMA传送时可能遇到两种情况:
① 此时 CPU不需要访内,如 CPU正在执行乘法指令。由于
乘法指令执行时间较长,此时 I/O访内与 CPU访内没有冲
突,即 I/O设备挪用一二个内存周期对 CPU执行程序没有
任何影响。
计算机组成原理 175
周期挪用的方法既实现了 I/O传送,又较好地发挥了内存
和 CPU的效率,是一种广泛采用的方法。
但是 I/O设备每一次周期挪用都有申请总线控制权、建立
总线控制权和归还总线控制权的过程,所以传送一个字对内
存来说要占用一个周期,但对 DMA控制器来说一般要 2—5
个内存周期 (视逻辑线路的延迟而定 )。
因此,周期挪用的方法适用于 I/O设备读写周期大于内存
存储周期的情况。
优缺点:
计算机组成原理 176
(3)DMA与 CPU交替访内(透明 DMA方式)
如果 CPU的工作周期比内存存取周期长很多,此时采用交
替访内的方法可以使 DMA传送和 CPU同时发挥最高的效率。
假设 CPU工作周期为 1.2?s,内存存取周期小于 0.6?s,那么一个 CPU周
期可分为 C1和 C2两个分周期,其中 C1供 DMA控制器访内,C2专供 CPU访内。
计算机组成原理 177
这种方式不需要总线使用权的申请、建立和归还过程,总
线使用权是通过 C1和 C2分时进行的。 CPU和 DMA控制器各自
有自己的访内存地址寄存器、数据寄存器和读 /写信号等控制
寄存器。在 C1周期中,如果 DMA控制器有访内请求,可将地
址、数据等信号送到总线上。在 C2周期中,如 CPU有访内请
求,同样传送地址、数据等信号。
事实上,对于总线,这是用 C1,C2控制的一个多路转换器,
这种总线控制权的转移几乎不需要什么时间,所以对 DMA传
送来讲效率是很高的。
优缺点:
硬件逻辑复杂。
计算机组成原理 178
(2)DMA数据传送过程
DMA的数据块传送过程可分为三个阶段:
传送前预处理; 正式传送; 传送后处理。
传送前预处理阶段
由 CPU执行几条输入输出指令,测试设备状态,向 DMA
控制器的设备地址寄存器中送入设备号并启动设备,向内存
地址计数器中送入起始地址,向字计数器中送入交换的数据
字个数。
在这些工作完成后,CPU继续执行原来的主程序。
计算机组成原理 179
正式传送阶段
停止 CPU访内方式的 DMA传送数据的流程图
计算机组成原理 180
一旦 DMA的中断请求得到响应,CPU停止主程序的执行,
转去执行中断服务程序做一些 DMA的结束处理工作。这些
工作包括校验送入内存的数据是否正确;决定继续用 DMA
方式传送下去,还是结束传送;测试在传送过程中是否发
传送后处理阶段
计算机组成原理 181
(3)DMA控制器与系统的连接
基本 DMA控制器与系统的连接方式:
( 1)公用的 DMA请求方式;
( 2)独立的 DMA请求方式。
计算机组成原理 182
4.选择型和多路型 DMA控制器
(1)选择型 DMA控制器
选择型 DMA控制器在物理上可以连接多个设备,而在
逻辑上只允许连接一个设备。换句话说,在某一段时间内
只能为一个设备服务。
选择型 DMA控制器只增加少量硬件达到了为多个外围
设备服务的目的,它特别适合数据传输率很高以至接近
内存存取速度的设备。在很快地传送完一个数据块后,
控制器又可为其他设备服务。
计算机组成原理 183
计算机组成原理 184
(2)多路型 DMA控制器
选择型 DMA控制器不适用于慢速设备。但多路型 DMA
控制器适合于同时为多个慢速外围设备服务。
计算机组成原理 185
多路型 DMA不仅在物理上可以连接多个外围设备,而且
在逻辑上也允许这些外围设备同时工作,各设备以字节交叉
方式通过 DMA控制器进行数据传送。
计算机组成原理 186
中断方式与 DMA方式哪些不同?
1、实现方式不同:
中断主动通知,硬件、软件结合,信息交换在软件控制下完成
DMA中 CPU不介入交换过程,不影响 CPU的状态
2,CPU响应中断和 DMA请求的时机不同:
中断:一条指令的最后一个机器周期最后一个 T状态
DMA,CPU在每一个机器周期的最后一个 T状态
3、二者优先权不同:
CPU首先检测有无 DMA请求,再检测有无中断请求
4、应用不同:
中断适用于随机出现的服务,具有处理异常事件的能力
DMA适用于高速外设间成组数据交换
计算机组成原理 187
例 下图中假设有磁盘、磁带、打印机三个设备同时工作。磁盘
以 30?s的间隔向控制器发 DMA请求,磁带以 45 ?s的间隔发
DMA请求,打印机以 150 ?s间隔发 DMA请求。根据传输速率,
磁盘优先权最高,磁带次之,打印机最低,图中假设 DMA控
制器每完成一次 DMA传送所需的时间是 5 ?s。若采用多路型
DMA控制器,请画出 DMA控制器服务三个设备的工作时间图。
解:
计算机组成原理 188
例 下图所示为微型机中软盘控制器的系统接口电路,请进行
分析说明。
计算机组成原理 189
CPU和软盘控制器之间的接口电路包括 DMA控制 和 总线控制
两部分。
? 8257DMA控制器提供 4个独立的 DMA通路 (CH0,CH1,CH2,CH3)。
每个通路各有 2个 16位寄存器 (DMA地址寄存器、字节计数寄
存器 ),它们必须在通路使用前加以预置:
DMA地址寄存器存放被寻址的主存首地址;
字节计数寄存器存放本次 DMA传送的字节数;
此外还包含工作方式 (读、写、校验 )和状态寄存器。
解:
计 算 机 组 成 原 理
第二十九、三十二讲
2009年 11月 10日
输入输出 系统
计算机组成原理 2
1,概述
主机与外围设备的连接模式及组织管理 总线类型与标准
2,总线操作与时序
总线的基本概念 分类, 信息传输方式, 通信同步方式
3,总线控制
链式查询方式, 计数器定时查询方式, 独立请求方式
4,输入输出接口
功能和分类 串行总线接口, 并行总线接口
5,程序查询方式
6,中断方式
7,DMA传送方式
本讲安排
计算机组成原理 3
本讲将解决的主要问题
通过本章的学习, 了解 总线的基本概念
掌握计算机输入输出系统的基本功能和工作原理,
理解 CPU与外围设备的交换数据的方法;掌握数据传输的
控制方式, 中断的概念, DMA以及输入输出通道的原理;
掌握各种输入输出方式的特点, 分析和设计中断判优电路 。
掌握串行并行同步异步工作原理 。
计算机组成原理 4
总线系统
总线的概念和结构形态
总线接口
总线仲裁、定时、数据传送模式
总线实例
计算机组成原理 5
1.总线的基本概念
现代计算机系统多采用模块结构,一个模块就是一个功
能部件,如主机板、显示适配器、解压卡、声卡,A/D板等。
各模块之间进行信息传送的公共通路称为总线 。
借助于总线连接,计算机在各功能部件间实现 地址, 数据
和 控制信息 的交换,并在争用资源的基础上进行工作。
(1)什么是总线
(2)单处理器系统中总线分类
一个单处理器系统中的总线,大致分为三类:
内部总线, CPU内部连接各寄存器及运算部件之间的总线。
系统总线, CPU同计算机系统的其他高速功能部件,如存
储器、通道等互相连接的总线。
I/O总线, 中、低速 I/O设备之间互相连接的总线。
计算机组成原理 6
总线有多种分类方法
按相对于 CPU与其他芯片的位置可分为
片内总线和片外总线。
按总线传送信息的类别,可把总线分为
地址总线、数据总线和控制总线。
按照总线传送信息的方向,可把总线分为
单向总线和双向总线。
按总线的层次结构可分为
CPU总线、存储总线、系统总线和外部总线。
计算机组成原理 7
(3)总线的特性
物理特性:
指总线的物理连接方式,包括总线的根数,总线的插头、
插座的形状,引脚线的排列方式等。
功能特性:
描述总线中每一根线的功能。如:
? 地址总线的宽度指明了总线能够直接访问的存储器的地址
空间范围;
? 数据总线的宽度指明了访问一次存储器或外设时能够交换
的数据的位数;
? 控制总线包括了 CPU发出的各种命令,请求信号和仲裁信号,
中断信号等。
计算机组成原理 8
电气特性:
定义每一根线上信号的传递方向及有效电平范围。
? 送入 CPU的信号叫输入信号 (IN),
? 从 CPU发出的信号叫输出信号 (OUT)。
? 地址总线是输出线,高电平有效;
? 数据总线是双向传输线,高电平有效;
? 控制总线中各条线一般是单向的,有 CPU发出的,也有进
入 CPU的,有高电平有效的,也有低电平有效的;
? 总线的电平都符合 TTL电平的定义。
时间特性, 定义了每根线在什么时间有效。
规定了总线上各信号有效的时序关系,CPU才能正确无误
地使用。
计算机组成原理 9
(4)总线的标准化
相同的指令系统,相同的功能,不同厂家生产的各功能
部件在实现方法上几乎没有相同的,但各厂家生产的相同功
能部件却可以互换使用,其原因在于它们都遵守了相同的系
统总线的要求,这就是系统总线的 标准化问题 。
通常有两类标准:
正式公布的标准和实际存在的工业标准。
正式公布的标准 由 IEEE(国际电气电子工程师学会)或 CCITT
(国际电报电话咨询委员会)等国际组织正式确定和承认。
实际的工业标准 首先由某一公司提出,而又得到其它公司广
泛使用,有可能经过一段时间后提交有关组织讨论从而成为
正式标准。
在标准中,对插件引线的几何尺寸、引线数、各引线的
定义、时序及电气参数等都做出明确规定,据此,人们可方
便的进行系统设计和功能扩充。
计算机组成原理 10
PC/XT结构与 PC总线 针对 IBM PC/XT机 (8086)
PC总线时钟频率 4.77MHz,总线宽度 8位,寻址能力
1MB,最快存储器访问周期由 4个时钟周期组成 ——带
宽约 1MBps
PC/AT结构与 AT总线 针对 IBM PC/AT机 (286)
AT总线时钟频率 8MHz,总线宽度 16位,寻址能力
16MB,最快存储器访问周期由 3个时钟周期组成 ——带
宽约 5MBps
PC总线与 AT总线后来经过标准化,称为 ISA总线
Industry Standard Architecture——工业标准体系结构
(5)微机结构与系统总线的发展
计算机组成原理 11
EISA总线 针对 386,486
Extended ISA——扩展工业标准体系结构
总线时钟频率 8.33MHz,总线宽度 32位,寻址能力
4GB,支持突发传送 ——带宽约 33MBps
PCI总线 针对 Pentium以上处理器
PCI,Peripheral Component Interconnect——外部设备互连
VESA总线 针对 486
Video Electronic Standard Association——视频电子标准协
会。 VESA总线也称为 VL-bus(VESA Local Bus)。
总线时钟频率 33MHz,总线宽度 32位,寻址能力 4GB,支
持突发传送 ——带宽约 132MBps
计算机组成原理 12
(6) 总线的性能指标
总线宽度
数据总线的根数。
16位总线,指其数据总线为 16根。
寻址能力
取决于地址总线的根数。
PCI总线的地址总线为 32位,寻址能力达 4GB。
传输率
也称为总线带宽,通常指总线所能达到的最高数据传输
率,单位是 Bps(每秒传送字节数)
计算公式,Dr=D× f /N
D——数据宽度;
f——总线时钟频率;
N——完成一次数据传送所需的时钟周期数。
PCI总线 1.0版的总线带宽 132MBps
计算机组成原理 13
是否支持突发传送
总线上数据传送方式:
正常传送 ——每个传送周期先传送数据的地址,
再传送数据。
突发传送 ——支持成块连续数据的传送,只需给出
数据块的首地址,后续数据地址自动
生成。
PCI总线支持突发传送,ISA不支持。
负载能力
总线上能够连接的设备数。
计算机组成原理 14
例, (1)某总线在一个总线周期中并行传送 4个字节的数据,假设
一个总线周期等于一个总线时钟周期,总线时钟频率为 33MHz,
则总线带宽是多少?
(2)如果一个总线周期中并行传送 64位数据,总线时钟频率升为
66MHz,则总线带宽是多少?
解, (1) Dr=D?f /N =4B ?33 ?106/s = 132MB/s
(2) Dr=D?f /N =8B ?66 ?106/s = 528MB/s
计算机组成原理 15
2.总线的连接方式
在计算机系统中,总线的排列布置与其他各功能部件的连
接方式对计算机系统的性能有重要影响。
总线的组织方法很多,单机系统中采用的总线结构基本上
可分成三类:
单总线结构
双总线结构
三总线结构
计算机组成原理 16
在许多单处理器的计算机中,使用一条单一的系统总线来
连接 CPU、主存和 I/O设备,叫做单总线结构。
(1) 单总线结构
单总线具有结构简单便于扩充等优点,但由于所有数据的
传送都通过这一共享的总线,因此总线可能成为系统的瓶颈。
所以单总线结构多在对速度要求不高的微型机和小型机中。
优缺点:
控制简单、易扩充、使用率高
分时工作,导致很大的时间延迟,总效率低
计算机组成原理 17
(2) 双总线结构
单总线系统中,由于所有功能部件都连在同一组总线上,
总线只能分时工作,即某一时间只允许在两个部件之间传送信
息。
由于 CPU频繁的访问主存,在高档微型机和一些小型机
中专门设置了主存总线,形成了双总线结构:
计算机组成原理 18
双总线结构保持了单总线系统简单、易于扩充的优点,又
提高了信息传送的吞吐量。但这是以增加硬件为代价的。
优缺点:
? CPU可通过专用总线与存储器交换信息,减轻了系统总线
的负担;
? 高速外设与主存之间仍可通过系统总线实现 DMA操作;
? CPU通过系统总线与中低速外部设备交换信息。
在 CPU和主存之间专门设置了一组高速的存储总线
CPU与存储器可通过专用总线交换信息
计算机组成原理 19
(3) 三总线结构
在双总线系统的基础上增加 I/O总线,便形成了三总线系统
结构。其中:
? 系统总线是 CPU、内存和通道之间进行信息传送的公共通路,
? I/O总线是多个外部设备与通道之间进行信息传送的公共通路 。
计算机组成原理 20
通道实际上是一台具有特殊功能的处理器,又称为
IOP(I/O处理器 ),它分担了一部分 CPU的功能,以实现对外
设的统一管理及外设与主存之间的数据传送。
显然,由于增加了 IOP,使整个系统的效率大大提高。然
而这是以增加更多的硬件代价换来的。
通道:
计算机组成原理 21
3.总线结构对计算机系统性能的影响
(1) 最大存储容量
(2) 指令系统
(3) 吞吐量
4.总线的内部结构
早期的总线实际上是处理器芯片引脚的延伸,是处理器与
I/O设备适配器的通道。这种简单的总线一般由 50~100条线组
成,这些线按其功能可分为三类,地址线, 数据线 和 控制线 。
(1)早期总线的内部结构
计算机组成原理 22
简单总线结构的不足之处在于:
第一 CPU是总线上的唯一主控者。
第二 总线信号是 CPU引脚信号的延伸,故总线结构紧密
与 CPU相关,通用性较差。
计算机组成原理 23
(2)当代流行的总线的内部结构
它是一些标准总线,追求与结构,CPU、技术无关的开
发标准,并满足包括多个 CPU在内的主控者环境需求。
在当代总线结构中,CPU和它私有的 cache一起作为一个
模块与总线相连。系统中允许有多个这样的处理器模块。而
总线控制器完成几个总线请求者之间的协调与仲裁。
计算机组成原理 24
计算机组成原理 25
整个总线分成如下四部分:
数据传送总线,由地址线、数据线、控制线组成。
仲裁总线,包括总线请求线和总线授权线。
中断和同步总线,用于处理带优先级的中断操作,包括中
公用线,包括时钟信号线、电源线、地线、系统复位线以
及加电或断电的时序信号线等。
计算机组成原理 26
5.总线结构实例
大多数计算机采用了 分层次的多总线结构 。
在这种结构中:
速度差异较大的设备模块使用不同速度的总线;
速度相近的设备模块使用同一类总线。
计算机组成原理 27
pentium计算机主板的总线结构框图
计算机组成原理 28
CPU总线
CPU,RAM,ROM、控制芯片组等芯片之间的信号连接
关系称为 CPU总线或主总线( Host Bus),包括控制总
线、地址总线和数据总线 ;
CPU总线实现了 CPU与主存储器,Cache、控制芯片组、
以及多个 CPU之间的连接,并提供了与系统总线的接口 ;
CPU与主存储器以及 Cache构成主机系统。
?
?
?
计算机组成原理 29
PCI总线
用于连接高速的 I/O设备模块。通过“桥”芯片,上面与
更高速的 CPU总线相连,下面与低速的 ISA总线相接。
PCI总线是一个 32(或 64位 )的同步总线,32位 (或 64位 )数据
/地址线是同一组线,分时复用。
总线时钟频率为 33.3MHz,总线带宽是 132MB/s。
PCI总线采用集中式仲裁方式,有专用的 PCI总线仲裁器。
主板上一般有 3个 PCI总线扩充槽。
计算机组成原理 30
ISA总线
pentium机使用该总线与低速 I/O设备连接。
主板上一般留有 3—4个 ISA总线扩充槽,以便使用各种 16
位 /8位适配器卡。
该总线支持 7个 DMA通道和 15级可屏蔽硬件中断。
另外,ISA总线控制逻辑还通过主板上的片级总线与实时
钟 /日历,ROM、键盘和鼠标控制器 (8042微处理器 )等芯片相
连接。
计算机组成原理 31
Pentium II
处理器
Pentium II
处理器
CPU总线
82443BX
(北桥) 主存支持 SDRAM
66/100MHz2× AGP
总线图形设备
82371EB
( PIIX4E)
(南桥) ISA插槽
2个 IDE接口
2个 USB接口
I/O
APIC
PCI总线
PCI插槽
系统 BIOS
ISA总线
计算机组成原理 32
CPU总线,PCI总线,ISA总线通过两个“桥”芯片连成
整体。
桥芯片在此起到了信号速度缓冲、电平转换和控制协议的
转换作用。通过桥将两类不同的总线“粘合”在一起的技术
特别适合于系统的升级换代。
pentium个人机总线系统中有一个核心逻辑芯片组,简称
PCI芯片组,它包括主存控制器和 cache控制器芯片、北桥芯
片和南桥芯片。这个芯片组叫 Intel 430系列,440系列,它们
在系统中起着至关重要的作用。
南北桥芯片
计算机组成原理 33
总线接口
1.信息的传送方式
数字计算机使用二进制数,它们或用电位的高、低来表示,
或用脉冲的有、无来表示。 习惯上用:
高电位表示, 1”,低电位表示, 0”;
或用有脉冲表示, 1”,无脉冲表示 "0"
计算机系统中,传输信息采用三种方式:
串行传送, 并行传送 和 分时传送 。
但是出于速度和效率上的考虑,系统总线上传送的信息
必须采用 并行传送 方式。
计算机组成原理 34
(1)串行传送
? 当信息以串行方式传送时,只有一条传输线且 采用脉冲传送 。
? 在串行传送时,按顺序来传送表示一个数码的所有二进制位
(bit)的脉冲信号,每次一位,通常以第一个脉冲信号表示数码
的最低有效位,最后一个脉冲信号表示数码的最高有效位。
? 传送时低位在前,高位在后。
计算机组成原理 35
拆卸
在串行传送时,被传送的数据需要在发送部件进行并 —串
变换,这称为 拆卸 ;
装配
而在接收部件又需要进行串 —并变换,这称为 装配 。
位时间
指一个 二进制位在传输线上占用的时间长度。, 位时间,
是由同步脉冲来体现的。
计算机组成原理 36
(2)并行传送
用并行方式传送二进制信息时,对每个数据位都需要单
独一条传输线。信息有多少二进制位组成,就需要多少条传
输线,从而使得二进制数,0”或,1”在不同的线上同时进行
传送。并行传送一般 采用电位传送 。
计算机组成原理 37
(3)分时传送
分时传送有两种概念。
① 总线复用方式
某个传输线上既传送地址信息,又传送数据信息。为此
必须划分时间片,以便在不同的时间间隔中完成传送地址和
传送数据的任务。
② 共享总线的部件分时使用总线
计算机组成原理 38
2.接口的基本概念
I/O设备适配器简称为接口。
接口定义:
接口指 CPU和主存、外围设备之间通过总线进行连接的逻
辑部件。
接口部件在它动态连接的两个部件之间起着“转换器”的作用,以便
实现彼此之间的信息传送。
外部
设备
包括
设备
控制
器
计算机组成原理 39
为了使所有的外围设备能够兼容,并能在一起正确地工作,
CPU规定了不同的信息传送控制方法。
接口使外部设备用计算机系统特性所要求的形式发送和接
收信息。
接口逻辑通常做成标准化 。
CPU、接口和外围设备之间的连接关系
计算机组成原理 40
接口功能
(1)控制
接口靠程序的指令信息来控制外围设备的动作,如启动、
关闭设备等。
(2)缓冲
接口在外围设备和计算机系统其他部件之间用作为一个
缓冲器,以补偿各种设备在速度上的差异。
(3)状态
接口监视外围设备的工作状态并保存状态信息。状态信
息包括数据“准备就绪”、“忙”、“错误”等等,供 CPU
询问外围设备时进行分析之用。
计算机组成原理 41
(4)转换
接口可以完成任何要求的数据转换,例如并-串转换或串-并
转换,因此数据能在外围设备和 CPU之间正确地进行传送。
(5)整理
接口可以完成一些特别的功能,例如在需要时可以修改字计
数器或当前内存地址寄存器。
(6)程序中断
每当外围设备向 CPU请求某种动作时,接口即发送一个中断
请求信号到 CPU。
计算机组成原理 42
事实上,一个适配器必有两个接口:
一是和系统总线的接口, CPU和适配器的数据交换一定的
是并行方式;
二是和外设的接口,适配器和外设的数据交换可能是并行
方式,也可能是串行方式。根据外围设备供求串行数据或并
行数据的方式不同,适配器分为 串行数据接口 和 并行数据接
口 两大类。
计算机组成原理 43
外围设备接口的结构
地址
译码
器
数据寄存器 命令寄存器
RD
WE
地址
有效
总线
数据线地址线
外设接口
外设控制信号外设数据外设状态
状态寄存器
计算机组成原理 44
并行接口的例子
内
部
总
线
WR
RD
R S 1
R S 0
控
制
电
路
数据总线
状态
控制
I / O 数据
I / O 数据
选寄存器
选寄存器
写
读
选片
CS
状态寄存器
控制寄存器
B 端寄存器
A 端寄存器总线缓存
计算机组成原理 45
例, 利用串行方式传送字符,每秒钟传送的数据位数常称为波特
率。假设数据传送速率是 120个字符 /秒,每一个字符格式规定
包含 10个数据位 (起始位、停止位,8个数据位 ),问传送的波特
数是多少? 每个数据位占用的时间是多少?
解:
波特数为,10位 × 120/秒 =1200波特
每个数据位占用的时间 Td是波特数的倒数:
Td=1/1200=0.833× 0.001s=0.833ms
计算机组成原理 46
总线仲裁、定时及数据传送模式
1.总线的仲裁
(1)为什么要进行总线仲裁
连接到总线上的功能模块有 主动 和 被动 两种形态。
主方,可以启动一个总线周期;
从方,只能响应主方的请求。
? 每次总线操作,只能有一个主方占用总线控制权,但可以
有多个从方。
? 除 CPU外,I/O模块也可提出总线请求。
为了解决多个主设备同时竞争总线控制权,必须具有总线
仲裁部件,以某种方式选择其中一个主设备作为总线的下一
次主方。
计算机组成原理 47
(2)总线仲裁方式
按照总线仲裁电路的位置不同,仲裁方式分为 集中式仲裁
和 分布式仲裁 两类。
① 集中式仲裁
集中式仲裁中每个功能模块有两条线连到中央仲裁器:
一条是送往仲裁器的总线请求信号线 BR,一条是仲裁器送
出的总线授权信号线 BG。
BS(总线忙):当某外设正使用总线时,BS=“1”。
若总线仲裁逻辑集中于一个单元,称为 集中式仲裁 。
集中控制是单总线、双总线和三总线结构机器中主要采
用的方式。
计算机组成原理 48
链式查询方式
链式查询方式的主要特点:
总线授权信号 BG串行地从一个 I/O接口传送到下一个 I/O接口。
假如 BG到达的接口无总线请求,则继续往下查询;假如 BG到达的接口有
总线请求,BG信号便不再往下查询,该 I/O接口获得了总线控制权。
离中央仲裁器最近的设备具有最高优先级,通过接口的优先级排队电路
来实现。
计算机组成原理 49
链式查询方式的优点,
只用很少几根线就能按一定优先次序实现总线仲裁,很容
易扩充设备。
链式查询方式的缺点,
对询问链的电路故障很敏感,如果第 i个设备的接口中有关
链的电路有故障,那么第 i个以后的设备都不能进行工作。查
询链的优先级是固定的,如果优先级高的设备出现频繁的请
求时,优先级较低的设备可能长期不能使用总线。
计算机组成原理 50
定时器查询方式
中央
仲裁
器
总线上的任一设备要求使用总线时,通过 BR线发出总线请求。中央仲
裁器接到请求信号以后,在 BS线为,0”的情况下让计数器开始计数,计
数值通过一组地址线发向各设备。每个设备接口都有一个设备地址判别电
路,当地址线上的计数值与请求总线的设备地址相一致时,该设备置
,1”BS线,获得了总线使用权,此时中止计数查询。
计算机组成原理 51
每次计数可以从,0”开始,也可以从中止点开始。如果从
,0”开始,各设备的优先次序与链式查询法相同,优先级的
顺序是固定的。如果从中止点开始,则每个设备使用总线的
优先级相等。
计数器的初值也可用程序来设置,这可以方便地改变优先
计算机组成原理 52
独立请求方式
中央
仲裁
器
每一个共享总线的设备均有一对总线请求线 BRi和总线授权线 BGi。当设
备要求使用总线时,便发出该设备的请求信号。中央仲裁器中的排队电
路决定首先响应哪个设备的请求,给设备以授权信号 BGi。
计算机组成原理 53
独立请求方式的优点:
首先响应时间快,确定优先响应的设备所花费的时间少,
用不着一个设备接一个设备地查询。
其次,对优先次序的控制相当灵活,可以预先固定也可以
通过程序来改变优先次序;
还可以用屏蔽 (禁止 )某个请求的办法,不响应来自无效设备
的请求。
因此,当代总线标准普遍采用独立请求方式。
计算机组成原理 54
中央仲裁器
对单处理器系统总线来说,中央仲裁器又称总线控制器,
它是 CPU的一部分。按照目前的总线标准,中央仲裁器一般
是一个单独的功能模块。
计算机组成原理 55
② 分布式仲裁
? 分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块
都有自己的仲裁号和仲裁器。
? 当它们有总线请求时,把它们唯一的仲裁号发送到共享的
仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的
号进行比较。
? 如果仲裁总线上的号大,则它的总线请求不予响应,并撤
消它的仲裁号。
? 最后,获胜者的仲裁号保留在仲裁总线上。
分布式仲裁是以优先级仲裁策略为基础。
计算机组成原理 56
2.总线的定时
总线的一次信息传送过程,大致可分为如下五个阶段:
请求总线,总线仲裁,寻址 (目的地址 ),信息传送,状
态返回 (或错误报告 )
为了同步主方、从方的操作,必须制订定时协议。
定时,事件出现在总线上的时序关系。
计算机组成原理 57
(1)同步定时
在同步定时协
议中,事件出
现在总线上的
时刻由总线时
钟信号来确定。
读数据的同步时序
所有事件都出现在时钟信号的前沿。
计算机组成原理 58
由于采用了公共时钟,每个功能模块什么时候发送或接收
信息都由统一时钟规定,因此具有较高的传送频率。
同步定时适用于总线长度较短、各功能模块存取时间比较
接近的情况。
计算机组成原理 59
(2)异步定时
在异步定时协议中,
后一事件出现在总
线上的时刻取决于
前一事件的出现,
即建立在应答式或
互锁机制基础上。
在这种系统中,不需要统一的共公时钟信号。总线周期
的长度是可变的。
异步定时的优点是总线周期长度可变,不把响应时间强加
到功能模块上,因而允许快速和慢速的功能模块都能连接到
同一总线上。但这以增加总线的复杂性和成本为代价。
计算机组成原理 60
总线的同步方式
1,同步通信
串行同步:信号编码
并行同步:专用时钟信号线
优点:时序关系简单,实现简单。
缺点:在设备速度不一致时按最坏情况确定,不能太长。
2,异步通信
串行异步通信:起始检测
并行异步通信:握手信号
非互锁
全互锁:(四边沿协议)
计算机组成原理 61
例 对于具有图示的操作时序的总线,试计算总线的
数据传输速率,假设总线上传输的每个字为 32位,
总线时钟频率为 50MHz。
解,从图中可见,该总线在 5个时钟周期内传输了一个数
据字。总线的数据传输带宽为,
1/5=0.2 (字 /时钟周期 )
即
0.2× 50× 106× 4=40× 106 (字节 /秒 )
地址与模式
CLK
就绪
应答
t 4t 3t 2t 1t 0
计算机组成原理 62
例,在一个 32位总线中,时钟频率为 33MHz,总线数据传输
的周期是 7个时钟周期传输 4个字的数据块,
(1) 问总线的数据传输率是多少?
(2) 为了提高数据传输率,将总线的数据线改为 8个字的块,
使得总线在 11个时钟周期传输 8个字的数据块,问这时总线
的数据传输率是多少?
(3) 如果不改变数据块的大小,而是将时钟频率加倍,问这
时总线的数据传输率是多少?
解,(1) 每个字为 32位,总线在 7个时钟周期传输了 16个字节,传
输率为,
R = 16B/7× 33MHz = 75.43× 106 B/S
(2) 总线在 11个时钟周期传输了 32个字节,传输率为,
R = 32B/11× 33MHz = 96× 106 B/S
(3) 时钟频率变为 66MHz,传输率为,
R = 16B/7× 66MHz = 150.86× 106 B/S
计算机组成原理 63
例, 某 CPU采用集中式仲裁方式,使用独立请求与菊花链查询
相结合的二维总线控制结构。每一对请求线 BRi和授权线 BGi
组成一对菊花链查询电路。每一根请求线可以被若干个传输
速率接近的设备共享。当这些设备要求传送时通过 BRi线向仲
裁器发出请求,对应的 BGi线则串行查询每个设备,从而确定
哪个设备享有总线控制权。请分析说明演示图所示的总线仲
裁时序图。
计算机组成原理 64
计算机组成原理 65
从时序图看出,该总线采用异步定时协议。
? 当某个设备请求使用总线时,在该设备所属的请求线上发出
申请信号 BRi(1)。
? CPU按优先原则同意后给出授权信号 BGi作为回答 (2)。
? BGi链式查询各设备,并上升设备回答 SACK信号证实已
收到 BGi信号 (3)。
? CPU接到 SACK信号后下降 BGi作为回答 (4)。
? 在总线“忙”标志 BBSY为,0”情况下,该设备上升 BBSY,
表示该设备获得了总线控制权,成为控制总线的主设备 (5)。
? 在设备用完总线后,下降 BBSY和 SACK(6),释放总线。
计算机组成原理 66
在上述选择主设备过程中,可能现行的主从设备正在进行
传送。此时需等待现行传送结束,即现行主设备下降 BBSY
信号后 (7),新的主设备才能上升 BBSY,获得总线控制权。
计算机组成原理 67
3.总线数据传送方式
当代的总线标准大都能支持以下四类模式的数据传送:
(1) 读、写操作
读操作 是由从方到主方的数据传送;
写操作 是由主方到从方的数据传送。
? 一般,主方先以一个总线周期发出命令和从方地址,经
过一定的延时再开始数据传送总线周期。
? 为了提高总线利用率,减少延时损失,主方完成寻址总线
周期后可让出总线控制权,以使其他主方完成更紧迫的操
计算机组成原理 68
(2)块传送操作
只需给出块的起始地址,然后对固定块长度的数据一个接
一个地读出或写入。
对于 CPU(主方 )、存储器 (从方 )而言的块传送,常称为 猝发
式传送,其块长一般固定为数据线宽度 (存储器字长 )的 4倍。
例如,64位数据线的总线,一次猝发式传送可达 256位。
计算机组成原理 69
(3)写后读、读修改写操作
只给出地址一次,或进行先写后读操作,或进行先读后写
操作。
? 先写后读操作:用于校验;
? 先读后写操作:用于多道程序系统中对共享存储资源的保护。
这两种操作和猝发式操作一样,主方掌管总线直到整个操
作完成。
计算机组成原理 70
(4)广播、广集操作
广播:
一般而言,数据传送只在一个主方和一个从方之间进行。
但有的总线允许一个主方对多个从方进行写操作,这种操作
称为 广播 。
广集:
与广播相反的操作称为 广集,它将选定的多个从方数据在
总线上完成 AND或 OR操作,用以检测多个中断源。
计算机组成原理 71
ISA总线
为了利用市场上丰富的各类中、低速适配卡,如声卡、
CD-ROM适配器、以太网卡等,一些微型机如 pentium机主板上
保留有 ISA总线的插槽。
ISA总线此时连接中、低速 I/O设备,由 PCI/ISA桥芯片提
供对 ISA总线的全面控制逻辑,包括中断和 DMA控制。 ISA总线
的时钟频率典型值为 8.33MHz。
计算机组成原理 72
ISA总线
计算机组成原理 73
ISA总线 I/O端口地址的典型使用
I/O口地址 设备(系统板外围电路) I/O口地址 设备(适配器外围电路)
000-01F
020-03F
040-05F
060-06F
070-07F
080-09F
0A0-0BF
0C0-0DF
0F0
0F1
0F8-0FF
DMA控制器 1,8237A-5
中断控制器 1,8259A(主)
定时器,8254-2
8042(键盘接口处理器)的 PB
口
实时时钟,NMI屏蔽寄存器
DMA页面寄存器
中断控制器 2,8259A(从)
DMA控制器 2,8237A-5
清除浮点运算协处理器忙信号
复位浮点运算协处理器
浮点运算协处理器
1F0-1F8
200-207
278-27F
300-31F
360-36F
378-37F
380-38F
3A0-3AF
3B0-3BF
3C0-3CF
3D0-3DF
3F0-3F7
3F8-3FF
硬磁盘
游戏 I/O口
串行口 2
样卡
保留
并行打印机口 2
SDLC,双同步 2
双同步 1
单色显示器和打印机适配器
保留
彩色/图形监视器适配器
软磁盘控制器
串行口 1
计算机组成原理 74
支持 8位 ISA卡和 16位 ISA卡
1.8位 ISA总线接口
8位 ISA总线也称为 PC总
线或 XT总线。
共有 62引脚,其中,数据
线 8根、地址线 20根、控制
线 21根、状态线 2根,还有
时钟、电源、地线。
计算机组成原理 75
2.16位 ISA总线接口
在 IBM PC/AT( 80286)
机上首先使用,故又称为
AT总线,在 8位 PC总线上
扩展而成。
16位 ISA总线在扩展 PC
总线时,保留了原 62芯 PC
总线信号的大部分定义,
仅做了少量更改。
在扩展的 36芯插座上,
ISA重新定义了部分信号。
计算机组成原理 76
PCI总线
1.PCI总线结构
PCI是一个与处理器无关的高速外围总线,又是至关重
要的层间总线。它采用 同步时序 协议和 集中式仲裁 策略,并
具有自动配置能力。
HOST总线
该总线有 CPU总线、系统总线、主存总线等多种名称,各
自反映总线功能的一个方面。这里称“宿主”总线,也许更
全面,因为 HOST总线不仅连接主存,还可以连接多个 CPU。
PCI,Peripheral Component interconnect——外围设备互连
计算机组成原理 77
计算机组成原理 78
PCI总线
连接各种高速的 PCI设备。 PCI设备可以是主设备,也可以
是从设备,或兼而有之。
在 PCI设备中不存在 DMA的概念,这是因为 PCI总线支持无
限的猝发式传送。这样,传统总线上用 DMA方式工作的设备
移植到 PCI总线上时,采用主设备工作方式即可。
系统中允许有多条 PCI总线,它们可以使用 HOST桥与
HOST总线相连,也可使用 PCI/PCI桥与已和 HOST总线相连
的 PCI总线相连,从而得以扩充整个系统的 PCI总线负载能力。
LAGACY总线
可以是 ISA,EISA,MCA等这类性能较低的传统总线,以
便充分利用市场上丰富的适配器卡,支持中、低速 I/O设备。
计算机组成原理 79
桥
在 PCI总线体系结构中有三种桥。桥连接两条总线,使彼
此间相互通信。 桥又是一个总线转换部件,可以把一条总线
的地址空间映射到另一条总线的地址空间上,从而使系统中
任意一个总线主设备都能看到同样的一份地址表。
利用桥可以实现总线间的猝发式传送:
写操作时,桥把上层总线的写周期先缓存起来,以后的时间
再在下层总线上生成写周期,即延迟写。
读操作时,桥可早于上层总线,直接在下层总线上进行预读。
无论延迟写和预读,桥的作用可使所有的存取都按 CPU的需
要出现在总线上。
计算机组成原理 80
配置空间
PCI总线实现了参数自动配置功能。每个 PCI设备必须提
供 256字节的空间结构,软件利用这一结构可以测定什么板插
入了 PCI插槽,从而使软件能够自动地为 PCI接口配置系统。
——PnP=Plug and Play即插即用
计算机组成原理 81
识别码包含单元识别码(高 16位)和厂商识别码(低 16位)
单元识别码用来区分 PCI接口的类型
PCI总线
计算机组成原理 82
04H为状态寄存器(高 16位)和命令寄存器(低 16位)
命令寄存器用来产生 PCI总线命令。命令寄存器的每一位都
有确切的含义。
设备状态寄存器用来记录与 PCI总线有关事件的信息。
PCI总线
计算机组成原理 83
总线 ——AGP总线
AGP——加速图形端口
计算机组成原理 84
总线 ——USB总线
USB——通用串行总线
全速 12Mb/s(<=5米 ),慢速 1.5Mb/s(<=3米 )
计算机组成原理 85
外围设备的定时方式与信息交换方式
程序中断方式
DMA方式
计算机组成原理 86
1.外围设备的定时方式
输入 /输出设备同 CPU交换数据的过程:
输入过程:
(1) CPU把一个地址值放在地址总线上,这一步将选择某一
(2) CPU等候输入设备的 数据成为有效
(3) CPU从数据总线读入数据,并放在一个相应的寄存器中。
? 外围设备的种类相当繁多,有机械式和电动式,也有电子式
和其他形式。
? 其输入信号,可以是数字式的电压,也可以是模拟式的电压
和电流。
? 从信息传输速率来讲,相差也很悬殊。
首先解决主机与外围设备在时间上的同步问题。
计算机组成原理 87
输出过程,
(1) CPU
(2) CPU
(3) 输出设备认为 数据有效,从而把数据取走。
问题的关键在于,究竟什么时候数据才成为有效?
很显然,由于输入 /输出设备本身的速度差异很大,因此,
对于不同速度的外围设备,需要有不同的定时方式,总的说
来,CPU与外围设备之间的定时,有以下三种情况。
计算机组成原理 88
(1)速度极慢或简单的外围设备
CPU认为数据一直有效,CPU只要接收或发送数据就可以了。
例如:
对机械开关来讲,CPU可以认为输入的数据一直有效,
因为机械开关的动作相对 CPU的速度来讲是非常慢的;
对显示二极管来讲,CPU可以认为输出一定准备就绪,
因为只要给出数据,显示二极管就能进行显示。
所以,在这种情况下,CPU只要接收或发送数据就可以了。
计算机组成原理 89
(2)慢速或中速的外围设备
由于这类设备的速度和 CPU的速度并不在一个数量级,或
者由于设备 (如键盘 )本身是在不规则时间间隔下操作的。
因此,CPU与这类设备之间的数据交换通常采用 异步定时
方式 。
计算机组成原理 90
如果 CPU需要从外设接收一个字,则它:
? 首先询问外设的状态,如果该外设的状态标志表明设备已
“准备就绪”,那么 CPU就从总线上接收数据;
? CPU在接收数据以后,发出输入响应信号,告诉外设已经
把数据总线上的数据取走;
? 然后,外设把“准备就绪”的状态标志复位,并准备下一
个
字的交换。
如果 CPU起先询问外设时,外设没有“准备就绪”,那
么它就发出表示外设“忙”的标志。于是,CPU将进入一个
循环程序中等待,并在每次循环中询问外设的状态,一直到
外设发出“准备就绪”信号以后,才从外设接收数据。
接收,
计算机组成原理 91
? 外设先发出请求输出信号;
? 而后,CPU询问外设是否准备就绪。如果外设已准备就绪,
CPU便发出准备就绪信号,并送出数据。
? 外设接收数据以后,将向 CPU发出“数据已经取走”的通知。
通常,把这种在 CPU和外设间用问答信号进行定时的方
式叫做 应答式 数据交换 。
发送,
计算机组成原理 92
由于这类外设是以相等的时间间隔操作的,而 CPU也是
以等间隔的速率执行输入 /输出指令的,因此,这种方式叫
做 同步定时方式 。一旦 CPU和外设发生同步,它们之间的数
(3)
更快的同步传送要采用直接内存访问 (DMA)方式。
例如:外设是一条 2400位 /秒的传输线,则 CPU每隔 1/2400
秒执行一次串行数据输入操作。
计算机组成原理 93
统一编址法
存储器映像的外设寻址,
将接口中的控制寄存器、数据寄存器、状态寄存器和内
存单元一样看待,可以利用访存指令进行输入输出操作
外设的寻址
单独编址法
接口与存储器采用不同的两个地址空间
访问存储器和访问外围设备采用不同的指令
计算机组成原理 94
2.信息交换方式
程序查询方式
无条件传送方式
条件传送方式
计算机组成原理 95
程序查询方式是早期计算机中使用的一种方式。数据在
CPU和外围设备之间的传送完全靠计算机程序控制。
(1)程序查询方式
(2)程序中断方式
中断是外围设备“主动”通知 CPU,准备送出输入数据或
接收输出数据的一种方法。
(3)直接内存访问 (DMA)方式
直接内存访问 (DMA)方式是一种完全由硬件执行 I/O交
换的工作方式。
计算机组成原理 96
DMA方式的出现已经减轻了 CPU对 I/O操作的控制,使得
CPU的效率有显著的提高,而通道的出现则进一步提高了 CPU
的效率。这是因为,CPU将部分权力下放给通道。
通道是一个具有特殊功能的处理器,某些应用中称为 输入
输出处理器 (IOP),它可以实现对外围设备的统一管理和外围设
备与内存之间的数据传送。
这种提高 CPU
(4)通道方式
外围处理机 (PPU)方式是通道方式的进一步发展。由于 PPU
基本上独立于主机工作,它的结构更接近一般处理机,甚至就
是微小型计算机。在一些系统中,设置了多台 PPU,分别承担
I/O控制、通信、维护诊断等任务。
(5)
计算机组成原理 97
? 程序查询方式和程序中断方式适用于数据传输率比较低的
外围设备,
? DMA方式、通道方式 和 PPU方式适用于数据传输率比较
高的设备。
目前,单片机和微型机中多采用程序查询方式、程序中断
方式和 DMA方式。通道方式和 PPU方式大都用在中、大型计
算机中。
(6) 各种方法比较:
计算机组成原理 98
程序查询方式 ——无条件传送
外设总是准备好
? 输入 ——数据已经准备好
? 输出 ——已准备好接收
只有数据,没有状态,同步方式
不需要过多的程序处理,在需要与外设交换信息时,随时访问
I/O端口
计算机组成原理 99
程序查询方式 ——无条件传送
计算机组成原理 100
程序查询方式 ——条件传送
? 查询传送方式
? 查询外设的状态信息
? 输入 ——数据已准备好
? 输出 ——接收装置已准备好
? 状态端口、数据端口
条件传送 ---输入
计算机组成原理 101
条件传送 ---输出
? 特点:
? 控制简单,CPU和外设只能串行工作,系统效率低
? CPU在一个时间内只能和一个外设交换信息。
计算机组成原理 102
程序查询方式特点:
1、何时对何设备输入 /输出操作完全由 CPU控制
2、外设与 CPU处于异步工作方式
3、外设与 CPU处于异步工作方式
4、数据的输入 /输出要经过 CPU,至少要几条指令
5,CPU利用率低,但控制简单
6、实时性?
计算机组成原理 103
程序中断方式
1.中断的基本概念
当 CPU正常运行程序时,由于 内部事件或外设请求 (随机
的 ),引起 CPU暂时 中止 正在运行的程序,转去执行发出
请求的外设(或内部事件)的服务子程序,待该服务程
序执行完毕,再返回被中止的程序,这一过程称为 中断 。
中断
断点
IRET
中断服务子程序主程序
计算机组成原理 104
2.中断的作用
“中断, 是由 I/O设备或其他非预期的急需处理的事件引起的,
它使 CPU暂时中断现在正在执行的程序,而转至另一服务程
序去处理这些事件,处理完后再返回原程序。
中断有下列一些作用,
⑴ CPU与 I/O设备并行工作。
例 CPU与针式打印机并行工作的时间安排。 当打印机完成一
行打印后,向 CPU发中断信号,若 CPU响应中断,则停止正在
执行的程序转入打印中断服务程序,将要打印的下一行字传
送到打印机控制器并启动打印机工作。然后 CPU又继续执行
原来的程序,此时打印机开始了新一行字的打印过程。
计算机组成原理 105
CPU与打印机并行工作
打印机打印一行字需要几毫秒到几十毫秒,而中断处理时
间一般是微秒级
计算机组成原理 106
⑵ 硬件故障处理。 计算机运行时,如硬件出现某些故障,机
器中断系统发出中断请求,CPU响应中断后自动进行处理。
⑶实现人机联系。 在计算机工作过程中,如果用户要干预机
器,如抽查计算中间结果,了解机器的工作状态,给机器下
达临时性的命令等。在没有中断系统的机器里这些功能几乎
是无法实现的。
⑷实现多道程序和分时操作。 计算机实现多道程序运行是提
高机器效率的有效手段。多道程序的切换运行需借助于中断
系统。在一道程序的运行中,由 I/O中断系统切换到另外一
道程序运行。 也可以通过分时分配每道程序一个固定时间
片,利用时钟定时发中断进行程序切换。
计算机组成原理 107
⑸ 实现实时处理。 这是指在某个事件或现象出现时,及时
地进行处理,而不是集中起来再进行批处理。例如,在某个
计算机过程控制系统中,当出现压力过大,温度过高等情况
时,必须及时输入到计算机进行处理。 这些事件出现的时
刻是随机的,而不是程序本身所能预见的,因此要求计算机
中断正在执行的程序,转而去执行中断服务程序
⑹实现应用程序和操作系统 (管态程序 )的联系。 可以在用户
程序中安排一条, Trap”指令进入操作系统,称之为, 软中
断, 。其中断处理过程与其他中断类似。
⑺多处理机系统中各处理机间的联系。 在多处理机系统中,
处理机和处理机之间的信息交流和任务切换可以通过中断来
实现。
计算机组成原理 108
3.中断与调用子程序的区别
从表面上看起来,计算机的中断处理过程有点类似于调
用子程序的过程,这里现行程序相当于主程序,中断服务程
序相当于子程序。
但有本质上的区别,
⑴ 子程序的执行是由程序员事先安排好的,而中断服务程
序的执行则是由随机的中断事件引起的。
⑵子程序的执行受到主程序或上层子程序的控制,而中断
服务程序一般与被中断的现行程序毫无关系。
⑶不存在同时调用多个子程序的情况,而可能发生多个外
设同时请求 CPU为自己服务的情况。
特点, CPU的利用率高
计算机组成原理 109
中断接口
计算机组成原理 110
4.中断的产生和响应
⑴ 中断源 ---引起中断的事件。
①中断源的种类
当中断源发生引起中断的事件时,先将它保存在设备控制器
的, 中断触发器, 中,即置, 1”,当中断触发器为, 1”时,
向 CPU发出, 中断请求, 信号
外中断 --I/O设备,定时时钟等来自处理机外部设备的中断。
软中断 --由, Trap”指令产生的中断。
内中断 --处理机硬件故障或程序, 出错, 引起的中断。
例如,电源故障,算术溢出,除数为零,校验错,指令非
法,用户程序执行特权指令以及虚拟存储器页面失效等。
② 中断触发器
每个中断源有一个中断触发器。多个中断触发器构成中断寄存
器。其内容称为中断字或中断码。 CPU进行中断处理时,根
据中断字确定中断源,转入相应的服务程序。
计算机组成原理 111
⑵ 中断的分级与中断优先权
在设计中断系统时,要把全部中断源按中断性质和处理
的轻重缓急进行排队并给予优先权。优先权是指有多个中断
同时发生时,对各个中断响应的优先次序。
中断源数量很多时,中断字就会很长,一般把所有中断
按不同的类别分为若干级,称为 中断级,在同一级中还可以
有多个中断源。首先按中断级确定优先次序,然后在同一级
内再确定各个中断源的 优先权 。
对设备分配优先权时,必须考虑数据的传输率和服务程
序的要求。数据的有效时间短,则该设备的优先权高
计算机组成原理 112
⑶ 禁止中断和中断屏蔽
①禁止中断, 产生中断源后,由于某种条件的存在,CPU不
能中止现行程序的执行,称为禁止中断。
? 一般在 CPU内部设有一个, 中断允许, 触发器。
? 只有该触发器为, 1”时,才允许处理机响应中断 ;
? 该触发器为, 0”,则不响应所有中断源申请的中断。
? 前者叫允许中断,后者叫禁止中断。
?, 中断允许, 触发器是通过, 开中断, 或, 关中断, 指
令来置位,复位。
进入中断服务程序后自动, 关中断,
计算机组成原理 113
② 中断屏蔽, 当产生中断请求后,用程序方式有选择地封锁部
分中断,而允许其余部分中断仍得到响应,称为中断屏蔽。
实现方法 是为每个中断源设置一个中断屏蔽触发器来屏蔽
该设备的中断请求。
具体说,用程序方法将该触发器置, 1”,则对应的设备中
断被封锁 ;若将其置, 0”,才允许该设备的中断请求得到响
应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。
有些中断请求是不可屏蔽的,也就是说,不管中断系统是否
开中断,这些中断源的中断请求一旦提出,CPU必须立即
响应。例如电源掉电就是不可屏蔽中断。 所以,中断又可
分为可屏蔽中断和非屏蔽中断。非屏蔽中断具有最高优先
权。
计算机组成原理 114
中断的产生和响应 (小结 )
? 中断源
? 种类:内部中断 /外部中断
? 建立:中断触发器
? 分级:中断禁止 /开放,中断优先级
? 中断响应的条件
? 有中断请求;
? CPU允许中断
? 在一条指令执行完后响应。
计算机组成原理 115
中断处理过程
↓
关 中 断
↓
保存断点,保存现
场
↓
判别中断条件
转入中断服务程序
↓
开 中 断
↓
执行中断服务程序
↓
关 中 断
↓
↓
恢复现场,恢复断点
↓
开 中 断
↓
返 回 断 点
⑴ 关中断 进入不可再次响应
中断的状态,由 硬件自动实现
。因为接下去要保存断点,保
存现场。这些工作不能被打断
。
计算机组成原理 116
⑵ 保存断点和现场 为了在中断处理结束后能正确地返回到
中断点,在响应中断时,必须把当前的程序计数器 PC中的
内容 (即断点 )保存起来。
现场信息 一般指的是程序状态字,中断屏蔽寄存器和 CPU
中某些寄存器的内容
对现场信息的 处理有两种方式, 一种是由 硬件 对现场信息进
行保存和恢复 ; 另一种是由 软件 即中断服务程序对现场信息
保存和恢复。
对硬件保存现场信息的方式 有的机器把断点等保存在 主
存 固定的单元 ; 有的机器每次响应中断后把处理机状态字和
程序计数器内容相继 压入堆栈,再从指定的两个主存单元分
别取出新的程序计数器内容和处理机状态字来代替,称为交
换新,旧状态字方式。
计算机组成原理 117
⑶ 判别中断源转向中断服务程序 在多个中断源同时请求中
断的情况下,本次实际响应的只能是优先权最高的那个中
断源。所以需进一步判别中断源,并转入相应的中断服务
程序入口。
⑷开中断 因为接下去就要执行中断服务程序,开中断将允许
更高级中断请求得到响应,实现中断嵌套。
⑸执行中断服务程序 不同中断源的中断服务程序是不同的,
实际有效的中断处理工作是在此程序段中实现的。
⑹退出中断 在退出时,又应进入不可中断状态,即关中断,
恢复现场,恢复断点,然后开中断,返回原程序执行进入
中断时执行的关中断,保存断点等操作一般是由硬件实现
的,它类似于一条指令,但它与一般的指令不同,不能被
编写在程序中。因此,常常称为, 中断隐指令, 。
计算机组成原理 118
识别中断源
⑴ 查询法 由测试程序按
一定优先排队次序检查
各个设备的, 中断触发
器, (或称为中断标志 ),
当遇到第一个, 1”标志
时,即找到了优先进行
处理的中断源,通常取
出其设备码,根据设备
码转入相应的中断服务
程序。
计算机组成原理 119
中断优先级的判断
软件查询 ——依优先次序查询
计算机组成原理 120
中断优先级的判断
硬件方式 ——如:菊花链
⑵ 串行排队链法 由硬件确定中断源,当任一设备的中断触
发器为, 1”时,向 CPU发出中断请求信号 INTR
计算机组成原理 121
INTA是由 CPU送来的取中断设备码信号,高有效。
由 CPU送来的 INTI为中断排队输入,低 有效。
从各设备来的中断请求信号,优先顺序从高到低,依次是
INTR1,INTR2,INTR3, 低 有效。
计算机组成原理 122
( 1)仅 INTR2低 有效,即设备 2有 中断请求。
0
1
1
0
0
1
0
0
1
1
0
1
1
OC门
上半部分是一个编码电路,它将产生请求中断的设备中优先
权最高的设备码经总线送往 CPU。
计算机组成原理 123
( 2) INTR1 INTR2都为低,即设备 1、设备 2同时有 中断请求。
1
0
0
1 1
1
0
0
1 0
计算机组成原理 124
判优后,一种是在中断程序中设一条专门接收中断设备
码的指令 INTA,取到设备码后,再通过主存的跳转表产生中
断服务程序入口地址 ;
另一种为 向量中断,即为每一个中断源设置一个中断向量,
中断向量包括该中断源的中断服务程序入口地址
当 CPU响应中断时,由硬件直接产生一个固
定的地址 (即向量地址 ),由向量地址指出每个
中断源设备的中断服务程序入口,这种方法通
常称为 向量中断 。
向量中断 ——
计算机组成原理 125
( 3) 有些计算机中由硬件产生的向量地址不是直接地址,而是一 个“位
移量”,这个位移量加上 CPU某寄存器里存放的基地址,最后得到中断处
( 4) 还有一种采用向量地址转移的方法。假设有 8个中断源,由 优先级编
码电路产生 8个对应的固定地址码 (例如 0,1,2,…, 7),这 8个单元中存
放的是转移指令,通过转移指令可转入设 备各自的中断服务程序入口。这
种方法允许中断处理程序放在内存中任何地方。
⑴ 向量地址是中断服务程序的入口地址,CPU不需要再经过处理就可以进入
相应的中断服务程序。
⑵ 向量地址是中断向量表的指针,从中断向量表的相应单元中再取出中断服
务程序的入口地址。
80X86中,内存的最低 1K字节建立了一个中断向量表,分成 256组,每组占 4
个字节,前 2个字节存放中断服务程序入口地址的偏移量 (IP,16位 ),后 2个
字节存放中断服务程序入口地址的段地址 (CS,16位 )
向量地址有几种情况,
计算机组成原理 126
中断处理过程流程图
计算机组成原理 127
几个问题
① 尽管外界中断请求是随机的,但 CPU只有在当前一条指
令执行完毕后,即转入公操作时才受理设备的中断请求,这
样才不致于使当前指令的执行受到干扰。
公操作 是指一条指令执行结束后 CPU所进行的操作,如中
断处理、直接内存传送、取下条指令等 。
外界中断请求信号通常存放在接口中的中断源锁存器里,
并通过中断请求线连至 CPU,每当一条指令执行到末尾,
CPU便检查中断请求信号。若中断请求信号为,1”,则 CPU
转入,中断周期”,受理外界中断。
计算机组成原理 128
② 为了在中断服务程序执行完毕以后正确地返回到原来主程
序被中断的断点 (PC内容 )而继续执行主程序,必须把程序计
数器 PC的内容,以及当前指令执行结束后 CPU的状态 (包括寄
存器的内容和一些状态标志位 )都保存到堆栈中去。这些操作
叫做保存现场。
③ 中断处理过程是由硬件和软件结合来完成的。如在上图中,
中断周期 由硬件实现,而中断服务程序由机器指令序列实现。
后者除执行保存现场、恢复现场、开放中断并返回主程序任
务外,对要求中断的设备进行服务,使其同 CPU交换一个字
的数据,或作其他服务。
计算机组成原理 129
④ 当 CPU响应中断后,正要去执行中断服务程序时,可能有
另一个新的中断源向它发出中断请求。为了不致造成混乱,
在 CPU的中断管理部件中必须有一个 中断屏蔽 触发器,它可
以在程序的控制下置,1”(设置屏蔽 ),或置,0”(取掉屏蔽 )。
只有在中断屏蔽标志为,0”时,CPU才可以受理中断。
当一条指令执行完毕 CPU接受中断请求并作出响应时,它
一方面发出中断响应信号 INTA,另一方面把中断屏蔽标志置
,1”,即关闭中断。这样,CPU不能再受理另外的新的中断
源发来的中断请求。只有在 CPU把中断服务程序执行完毕以
后,它才重新使中断屏蔽标志置,0”,即开放中断,并返回
主程序。因此,中断服务程序的最后必须有两条指令,即开
中断指令和返主指令,同时在硬件上要保证返主指令执行以
后才受理新的中断请求。
计算机组成原理 130
? 在单级中断系统中,所有的中断源都属于同一级,所有中
断源触发器排成一行,其优先次序是离 CPU近的优先权高。
? 当响应某一中断请求时,执行该中断源的中断服务程序。
在此过程中,不允许其他中断源再打断中断服务程序,即
使 优先权比它高的中断源也不能再打断 。
(1)单级中断的概念
根据计算机系统对中断处理的策略不同,可分为 单级中
断系统 和 多级中断系统 。
5.单级中断与多级中断
计算机组成原理 131
(2)多 级中断的概念
多级中断系统 是指计算机系统中有相当多的中断源,根
据各中断事件的轻重缓急程度不同而分成若干级别,每一中
断级分配给一个优先权。优先权高的中断级可以打断优先权
低的中断服务程序,以程序嵌套方式工作。
? 中断嵌套
? 多个中断源,有可能同时发出中断请求
? 多重中断响应(服务)
? 中断优先级
? 给每个中断源规定优先级别,CPU先响应高级中断的请求
? 一般情况下,在允许中断嵌套时,高级中断可以打断低
级中断,同级或低级中断不能打断高级或同级中断
计算机组成原理 132
多级中断示意图
计算机组成原理 133
根据系统的配置不同,多级中断可分为一维多级中断和二
维多级中断:
一维多级中断 是指每一级中断里只有一个中断源,
二维多级中断 是指每一级中断里又有多个中断源。
计算机组成原理 134
一维多级中断结构
计算机组成原理 135
二维多级中断结构
高 优先权 低
计算机组成原理 136
几个问题:
① 一个系统若有 n级中断,在 CPU中就有 n个中断请求触发器,
总称为 中断请求寄存器 ;与之对应的有 n个中断屏蔽触发器,
总称为 中断屏蔽寄存器 。
与单级中断不同,在多级中断中,中断屏蔽寄存器的内容
是一个很重要的程序现场,因此在响应中断时,需要把中断
屏蔽寄存器的内容保存起来,并设置新的中断屏蔽状态。一
般在某一级中断被响应后,要置,1,(关闭 )本级和优先权低
于本级的中断屏蔽触发器,置,0”(开放 )更高级的中断屏蔽
触发器,以此来实现正常的中断嵌套。
计算机组成原理 137
② 多级中断中的每一级可以只有一个中断源,也可以有多个
中断源。在多级中断之间可以实现中断嵌套,但是同一级内
有不同中断源的中断是不能嵌套的,必须是处理完一个中断
后再响应和处理同一级内其他中断源。
③ 设置多级中断的系统一般都希望有较快的中断响应时间,
因此首先响应哪一级中断和哪一个中断源,都是由硬件逻辑实
现,而不是用程序实现。
另外,在二维中断结构中,除了有中断优先级排队电路确定
优先响应中断级外,还要确定优先响应的中断源,一般通过链
式查询的硬件逻辑来实现。显然,这里采用了独立请求方式与
链式查询方式相结合的方法决定首先响应哪个中断源。
计算机组成原理 138
④ 和单级中断情况类似,在多级中断中也使用中断堆栈保存
现场信息。使用堆栈保存现场的好处是:
a.控制逻辑简单,保存和恢复现场的过程按先进后出顺序
进行。
b.每一级中断不必单独设置现场保护区,各级中断现场可
按其顺序放在同一个栈里。
计算机组成原理 139
(3)多级中断源的识别
在多级中断中,每一级均有一根中断请求线送往 CPU的
中断优先级排队电路,对每一级赋予了不同的优先级。
显然这种结构就是 独立请求方式 的逻辑结构。
?
在多级中断中,如果每一级请求线上还连接有多个中断
源设备,那么在识别中断源时,还需要进一步用 串行链
式方式查询 。
?
这意味着要用二维方式来设计中断排队逻辑。
计算机组成原理 140
独立请求方式的中断优先级排队与中断向量产生的逻辑结构
计算机组成原理 141
处理一个中断的过程,就是妥善处理以下一些基本
问题的过程:
1) 何时检查中断输入信号及其处理办法 。
2) 如何把控制转给中断服务程序 。
3) 如何保护和恢复中断的现场 。
4) 如何识别中断源 。
5) 如何识别优先级较高的中断 。
6) 如何开放和关闭中断 。
计算机组成原理 142
中断方式的特点:
1,CPU与外设能并行工作
2、能处理异常事件
3,I/O操作仍然经过 CPU,在程序控制下完成 I/O
4,CPU利用率仍然不太好
5、实时性好
计算机组成原理 143
例
高 优先权 低
计算机组成原理 144
(1)在中断情况下,CPU和设备的优先级如何考虑?请按降序排
(2)若 CPU现执行设备 B的中断服务程序,IM2,IM1,IM0的状
态是什么?如果 CPU执行设备 D的中断服务程序,IM2,
IM1,IM0的状态又是什么?
(3)每一级的 IM能否对某个优先级的个别设备单独进行屏蔽?
如果不能,采取什么办法可达到目的?
(4)假如设备 C一提出中断请求,CPU立即进行响应,如何调整
才能满足此要求?
计算机组成原理 145
(1)在中断情况下,CPU的优先级最低。各设备的优先次序是:
A→B→C→ D→E→F→G→H→I→CPU 。
(2)执行设备 B的中断服务程序时 IM2IM1IM0=111;执行设备 D
的中断服务程序时,IM2IM1IM0=011
(3)每一级的 IM标志不能对某个优先级的个别设备进行单独屏
蔽。可将接口中的 EI(中断允许 )标志清, 0”,它禁止设备
(4)要使设备 C的中断请求及时得到响应,可将设备 C从第 2级
取出来,单独放在第 3级上,使第 3级的优先级最高,即令
IM3=0即可。
解:
计算机组成原理 146
6.中断控制器 (8259)
计算机组成原理 147
8259的中断优先级选择方式有四种:
(1)完全嵌套方式,是一种固定优先级方式,连至 IR0设备优先
级最高,IR7的优先级最低。这种固定优先级方式对级别低的
中断不利,在有些情况下最低级别的中断请求可能一直不能被
处理。
(2)轮换优先级方式 A,每个级别的中断保证有机会被处理,将
给定的中断级别处理完后,立即把它放到最低级别的位置上去。
(3) 轮换优先级方式 B,要求 CPU可在任何时间规定最优优先级,
然后顺序地规定其他 IR线上的优先级。
(4)查询方式,由 CPU访问 8259的中断状态寄存器,一个状态字
能表示出正在请求中断的最高优先级 IR线,并能表示出中断请
求是否有效。
计算机组成原理 148
8259提供了两种屏蔽方式:
(1)简单屏蔽方式,提供 8位屏蔽字,每位对应着各自的 IR线。
被置位的任一位则禁止了对应 IR线上的中断。
(2)特殊屏蔽方式,允许 CPU让来自低优先级的外设中断请求
去中断高优先级的服务程序。当 8位屏蔽位的某位置,0”时,
例如屏蔽字为 11001111,说明 IR4和 IR5线上的中断请求可中
断任何高级别的中断服务程序。
8259中断控制器的不同工作方式是通过编程来实现的。
CPU送出一系列的初始化控制字和操作控制字来执行选定的
操作。
计算机组成原理 149
7.奔腾中断机制
(1)中断类型
中断 通常称为外部中断,它是由 CPU的外部硬件信号引
发的。有两种情况,
①可屏蔽中断:
CPU的 INTR引脚收到中断请求信号,如果 CPU中标志寄
存器 IF=1时,可引发中断; IF=0时,中断请求信号在 CPU
内部被禁止。
②非屏蔽中断:
CPU的 NMI引脚收到的中断请求信号而引发的中断,这
计算机组成原理 150
异常 通常称为异常中断,它是由指令执行引发的。有两种情
况:
①执行异常:
CPU执行一条指令过程中出现错误、故障等不正常条件引
发的中断;
②执行软件中断指令:
如执行 INT 0,INT 3,INT n等指令,执行时产生异常中断。
异常中断
软件中断
外部非屏蔽中断
外部可屏蔽中断
优
先
级
递
增
计算机组成原理 151
当有一个以上的异常或中断发生时,CPU以一个预先确
定的优先顺序为它们先后进行服务。
pentium共有 256种中断和异常。每种中断给予一个编号,
称为 中断向量号 (0—255),以便发生中断时,程序转向相应
的中断服务子程序入口地址。
计算机组成原理 152
中断服务子程序的入口地址信息存于中断向量号检索表内。
实模式为中断向量表 IVT,保护模式为中断描述符表 IDT
CPU识别中断类型取得中断向量号的途径有三种:
①指令给出,如软件中断指令 INT n 中的 n即为中断向量号。
②外部提供,可屏蔽中断是在 CPU接收到 INTR信号时产生一
个中断识别周期,接收外部中断控制器由数据总线送来的中
断向量号;非屏蔽中断是在接收到 NMI信号时中断向量号固
定为 2。
③ CPU识别错误、故障现象,根据异常和中断产生的条件自
动指定向量号。
(2)中断服务子程序进入过程
计算机组成原理 153
实模式下:
使用中断向量表
CPU依据中断向量号获取中断服务子程序入口地址,但在实
模式下和保护模式下采用不同的途径,
中断向量表 IVT位于内存地址 0开始的 1KB空间。
实模式是 16位寻址,中断服务子程序入口地址 (段,偏移 )
的段寄存器和段内偏移量各为 16位。
计算机组成原理 154
00000H
00004H
003FCH
0型中断向量
1型中断向量
255型中断向量
n型中断向量
…
…
4*n
4n
4n+2
n型 ISP首指令的有效地址
n型 ISP代码段的段基址
计算机组成原理 155
计算机组成原理 156
00000
0000C 0001
3C
1F
1F3C:0100
(1F4C0)
PUSH AX
PUSH BX
003FF
中
断
向
量
表
INT 3中
断
服
务
程
序
中断向量
计算机组成原理 157
保护模式下
使用中断描述符表
? 保护模式下采用中断描述符表 IDT管理各级中断;
? IDT中最多可以有 256个描述符,对应于 256个中断 /异常源;
? IDT表中的描述符包括了中断服务程序的入口地址信息;
? 这些门描述符为 8字节长,对应 256个中断向量号,IDT表长为
2KB。
IDT可置于内存的任意区域,其起始地址由中断描述符表寄存
器 (IDTR)设置;
? 中断门和陷阱门 必须设在 IDT表中,中断门对应外部硬件中断,
陷阱门对应内部软件中断或异常。
概述
计算机组成原理 158
中断门、陷阱门描述符
P位,P=0,该段不在内存中
P=1,该段在内存中
DPL,取值 0~3,确定段的特权级
00为 0级;
01为 1级;
10为 2级;
11位 3级。
Type, 1110 —中断门;
1111—陷阱门。
m+7
m+6目标段偏移量 16~31位
中断 /异常中断处理程序的
代码段描述符的选择符 0~15位
m+5
m+4
m+3
m+2
m+1
m+0
目标段偏移量 0~15位
未使用
P DPL 0 Type
访问权限字节
计算机组成原理 159
计算机组成原理 160
① 当中断处理的 CPU控制权转移涉及到特权级改变时,必须把
当前的 SS和 ESP两个寄存器的内容压入系统堆栈予以保存。
② 标志寄存器 EFLAGS
③ 清除标志触发器 TF和 IF
④ 当前的代码段寄存器 CS和指令指针 EIP
⑤
⑥ 完成上述中断现场保护后,从中断向量号获取的中断服务子
程序入口地址 (段,偏移 )分别装入 CS和 EIP,开始执行中断
⑦ 中断服务子程序最后的 IRET指令使中断返回。保存在堆栈中
的中断现场信息被恢复,并由中断点继续执行原程序。
中断处理过程
计算机组成原理 161
DMA方式
1.DMA的基本概念
直接内存访问 (DMA)是一种完全由硬件执行 I/O交换的
工作方式。在这种方式中,DMA控制器从 CPU完全接管对
总线的控制,数据交换不经过 CPU,而直接在内存和 I/O设
备之间进行 。
DMA方式一般用于高速传送成组数据。 DMA控制器将
向内存发出地址和控制信号,修改地址,对传送的字的个
数计数,并且以中断方式向 CPU报告传送操作的结束。
计算机组成原理 162
DMA能执行以下一些基本操作:
(1) 从外围设备发出 DMA
(2) CPU响应请求,把 CPU工作改成 DMA操作方式,DMA控
制器从 CPU
(3) 由 DMA控制器对内存寻址,即决定数据传送的内存单元地
(4) 向 CPU报告 DMA
注意
在 DMA方式中,一批数据传送前的准备工作,以及传送结
束后的处理工作,均由管理程序承担,而 DMA控制器仅负责
数据传送的工作。
计算机组成原理 163
2.基本的 DMA控制器
(1)DMA控制器的基本组成
计算机组成原理 164
内存地址计数器
用于存放内存中要交换的数据的地址。在 DMA传送前,须
通过程序将数据在内存中的起始位置 (首地址 )送到内存地址计
数器。而当 DMA传送时,每交换一次数据,将地址计数器加
,1”,从而以增量方式给出内存中要交换的一批数据的地址。
字计数器
用于记录传送数据块的长度 (多少字数 )。其内容也是在数据
传送之前由程序预置,交换的字数通常以补码形式表示。在
DMA传送时,每传送一个字,字计数器就加,1”,当计数器
溢出即最高位产生进位时,表示这批数据传送完毕,于是引
起 DMA控制器向 CPU
计算机组成原理 165
数据缓冲寄存器
用于暂存每次传送的数据 (一个字 )。当输入时,由设备 (如
磁盘 )送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送
到内存。反之,输出时,由内存通过数据总线送到数据缓冲
,DMA请求”标志
每当设备准备好一个数据字后给出一个控制信号,使
,DMA请求” 标志置,1”。该标志置位后向“控制 /状态”
逻辑发出 DMA请求,后者又向 CPU发出总线使用权的请求
(HOLD),CPU响应此请求后发回响应信号 HLDA,“控制 /状
态”逻辑接收此信号后发出 DMA响应信号,使,DMA请求”
计算机组成原理 166
“控制 /状态”逻辑
由控制和时序电路以及状态标志等组成,用于修改内存地
址计数器和字计数器,指定传送类型 (输入或输出 ),并对
,DMA请求”信号和 CPU响应信号进行协调和同步。
中断机构
当字计数器溢出时 (全 0),意味着一组数据交换完毕,由溢
出信号触发中断机构,向 CPU提出中断报告。这里的中断与
上一节介绍的 I/O中断所采用的技术相同,但中断的目的不同,
前面是为了数据的输入或输出,而这里是为了报告一组数据
传送结束。因此它们是 I/O系统中不同的中断事件。
计算机组成原理 167
DMA控制器结构
控制逻辑
D S RS RD W R BR BG
中断机构
标志寄存器
字计数器
数据寄存器
地址计数器
系统总线
IG
IR
计算机组成原理 168
DMA与 CPU的连接
DS
RS
BR
BG
IR
外设
D M A 响应
D M A 请求
D M A
R A MC P U
R D W R A dd da t a
R D W R A dd da t a
R D W R A dd da t a
BR
BG
IR
地址选择
计算机组成原理 169
计算机组成原理 170
当某个外围设备请求 DMA服务时,操作过程如下:
1.DMA控制器接到设备发出的 DMA请求时,将请求转送到 CPU。
2.CPU在适当的时刻响应 DMA请求。若 CPU不需要占用总线则
继续执行指令;若 CPU需要占用总线,则 CPU进入等待状态。
3.DMA控制器接到 CPU的响应信号后,进行以下工作:
① 对现有 DMA请求中优先权最高的请求给予 DMA响应;
② 选择相应的地址寄存器的内容驱动地址总线;
③ 根据所选设备操作寄存器的内容,向总线发读、写信号;
④ 外围设备向数据总线传送数据,或从数据总线接收数据;
⑤ 每个字节传送完毕后,DMA控制器使相应的地址寄存器和
长度寄存器加, 1”或减, 1”。
计算机组成原理 171
3.DMA传送方式
(1)停止 CPU
当外围设备要求传送一批数据时,由 DMA控制器发一个
停止信号给 CPU,要求 CPU放弃对地址总线、数据总线和有
关控制总线的使用权。 DMA控制器获得总线控制权以后,
开始进行数据传送。在一批数据传送完毕后,DMA控制器
通知 CPU可以使用内存,并把总线控制权交还给 CPU。在这
种 DMA传送过程中,CPU基本处于不工作状态或者说保持
状态。
计算机组成原理 172
缺点,在 DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内
存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间
隔一般总是大于内存存储周期,即使高速 I/O设备也是如此。
优点,控制简单,它适用于数据传输率很高的设备进行成组传送。
计算机组成原理 173
(2)周期挪用
当 I/O设备没有 DMA请求时,CPU按程序要求访问内存;
一旦 I/O设备有 DMA请求,则由 I/O设备挪用一个或几个内
存周期。
计算机组成原理 174
② I/O设备要求访内时 CPU也要求访内,这就产生了访内冲突,
在这种情况下 I/O设备访内优先,因为 I/O访内有时间要求,
前一个 I/O数据必须在下一个访内请求到来之前存取完毕。
显然,在这种情况下 I/O设备挪用一二个内存周期,意味着
CPU延缓了对指令的执行,或者更明确地说,在 CPU执行
访内指令的过程中插入 DMA请求,挪用了一二个内存周期。
I/O设备要求 DMA传送时可能遇到两种情况:
① 此时 CPU不需要访内,如 CPU正在执行乘法指令。由于
乘法指令执行时间较长,此时 I/O访内与 CPU访内没有冲
突,即 I/O设备挪用一二个内存周期对 CPU执行程序没有
任何影响。
计算机组成原理 175
周期挪用的方法既实现了 I/O传送,又较好地发挥了内存
和 CPU的效率,是一种广泛采用的方法。
但是 I/O设备每一次周期挪用都有申请总线控制权、建立
总线控制权和归还总线控制权的过程,所以传送一个字对内
存来说要占用一个周期,但对 DMA控制器来说一般要 2—5
个内存周期 (视逻辑线路的延迟而定 )。
因此,周期挪用的方法适用于 I/O设备读写周期大于内存
存储周期的情况。
优缺点:
计算机组成原理 176
(3)DMA与 CPU交替访内(透明 DMA方式)
如果 CPU的工作周期比内存存取周期长很多,此时采用交
替访内的方法可以使 DMA传送和 CPU同时发挥最高的效率。
假设 CPU工作周期为 1.2?s,内存存取周期小于 0.6?s,那么一个 CPU周
期可分为 C1和 C2两个分周期,其中 C1供 DMA控制器访内,C2专供 CPU访内。
计算机组成原理 177
这种方式不需要总线使用权的申请、建立和归还过程,总
线使用权是通过 C1和 C2分时进行的。 CPU和 DMA控制器各自
有自己的访内存地址寄存器、数据寄存器和读 /写信号等控制
寄存器。在 C1周期中,如果 DMA控制器有访内请求,可将地
址、数据等信号送到总线上。在 C2周期中,如 CPU有访内请
求,同样传送地址、数据等信号。
事实上,对于总线,这是用 C1,C2控制的一个多路转换器,
这种总线控制权的转移几乎不需要什么时间,所以对 DMA传
送来讲效率是很高的。
优缺点:
硬件逻辑复杂。
计算机组成原理 178
(2)DMA数据传送过程
DMA的数据块传送过程可分为三个阶段:
传送前预处理; 正式传送; 传送后处理。
传送前预处理阶段
由 CPU执行几条输入输出指令,测试设备状态,向 DMA
控制器的设备地址寄存器中送入设备号并启动设备,向内存
地址计数器中送入起始地址,向字计数器中送入交换的数据
字个数。
在这些工作完成后,CPU继续执行原来的主程序。
计算机组成原理 179
正式传送阶段
停止 CPU访内方式的 DMA传送数据的流程图
计算机组成原理 180
一旦 DMA的中断请求得到响应,CPU停止主程序的执行,
转去执行中断服务程序做一些 DMA的结束处理工作。这些
工作包括校验送入内存的数据是否正确;决定继续用 DMA
方式传送下去,还是结束传送;测试在传送过程中是否发
传送后处理阶段
计算机组成原理 181
(3)DMA控制器与系统的连接
基本 DMA控制器与系统的连接方式:
( 1)公用的 DMA请求方式;
( 2)独立的 DMA请求方式。
计算机组成原理 182
4.选择型和多路型 DMA控制器
(1)选择型 DMA控制器
选择型 DMA控制器在物理上可以连接多个设备,而在
逻辑上只允许连接一个设备。换句话说,在某一段时间内
只能为一个设备服务。
选择型 DMA控制器只增加少量硬件达到了为多个外围
设备服务的目的,它特别适合数据传输率很高以至接近
内存存取速度的设备。在很快地传送完一个数据块后,
控制器又可为其他设备服务。
计算机组成原理 183
计算机组成原理 184
(2)多路型 DMA控制器
选择型 DMA控制器不适用于慢速设备。但多路型 DMA
控制器适合于同时为多个慢速外围设备服务。
计算机组成原理 185
多路型 DMA不仅在物理上可以连接多个外围设备,而且
在逻辑上也允许这些外围设备同时工作,各设备以字节交叉
方式通过 DMA控制器进行数据传送。
计算机组成原理 186
中断方式与 DMA方式哪些不同?
1、实现方式不同:
中断主动通知,硬件、软件结合,信息交换在软件控制下完成
DMA中 CPU不介入交换过程,不影响 CPU的状态
2,CPU响应中断和 DMA请求的时机不同:
中断:一条指令的最后一个机器周期最后一个 T状态
DMA,CPU在每一个机器周期的最后一个 T状态
3、二者优先权不同:
CPU首先检测有无 DMA请求,再检测有无中断请求
4、应用不同:
中断适用于随机出现的服务,具有处理异常事件的能力
DMA适用于高速外设间成组数据交换
计算机组成原理 187
例 下图中假设有磁盘、磁带、打印机三个设备同时工作。磁盘
以 30?s的间隔向控制器发 DMA请求,磁带以 45 ?s的间隔发
DMA请求,打印机以 150 ?s间隔发 DMA请求。根据传输速率,
磁盘优先权最高,磁带次之,打印机最低,图中假设 DMA控
制器每完成一次 DMA传送所需的时间是 5 ?s。若采用多路型
DMA控制器,请画出 DMA控制器服务三个设备的工作时间图。
解:
计算机组成原理 188
例 下图所示为微型机中软盘控制器的系统接口电路,请进行
分析说明。
计算机组成原理 189
CPU和软盘控制器之间的接口电路包括 DMA控制 和 总线控制
两部分。
? 8257DMA控制器提供 4个独立的 DMA通路 (CH0,CH1,CH2,CH3)。
每个通路各有 2个 16位寄存器 (DMA地址寄存器、字节计数寄
存器 ),它们必须在通路使用前加以预置:
DMA地址寄存器存放被寻址的主存首地址;
字节计数寄存器存放本次 DMA传送的字节数;
此外还包含工作方式 (读、写、校验 )和状态寄存器。
解: