第 7章 总线及总线互连结构
● 部件之间的两种互连方式:
? 各部件之间通过单独的连线互连,称为 分散连接方式 。
? 各个部件连接到一组公共信息传输线上,称为 总线连接方式 。
● 总线结构的两个主要优点是 灵活 和 成本低 。
? 灵活性体现在新部件可以很容易地加到总线上,且部件可以
在使用相同总线的计算机系统之间互换。
? 一组单独的连线可被多个部件共享,所以总线的性价比高。
? 现代计算机普遍使用的是总线互连结构。
● 总线的主要缺点是它可能产生 通信瓶颈 。
● 本章着重介绍总线的基本概念、总线设计中的几个
因素、总线标准及其现代计算机的总线互连结构。
第 7章 总线及总线互连结构
● 部件之间的两种互连方式:
? 各部件之间通过单独的连线互连,称为 分散连接方式 。
? 各个部件连接到一组公共信息传输线上,称为 总线连接方式 。
● 总线结构的两个主要优点是 灵活 和 成本低 。
? 灵活性体现在新部件可以很容易地加到总线上,且部件可以
在使用相同总线的计算机系统之间互换。
? 一组单独的连线可被多个部件共享,所以总线的性价比高。
? 现代计算机普遍使用的是总线互连结构。
● 总线的主要缺点是它可能产生 通信瓶颈 。
● 本章着重介绍总线的基本概念、总线设计中的几个
因素、总线标准及其现代计算机的总线互连结构。
7,1 总线的基本概念
■ 计算机内部进行信息交换,必须在部件之
间构筑通信线路,通常把连接各部件的通
路的集合称为 互连结构 。
■ 互连结构从分散结构发展到总线结构。
■ 总线是连接两个或多个功能部件的一组共享的信息
传输线,它的主要特征就是多个部件 共享传输介质 ;
一个部件发出的信号可以被连接到总线上的其他所
有部件所接收。
7.1.1 总线的特性和分类
(1) 物理特性:
▲ 总线的物理特性是指总线在机械物理连接上的特
性。包括:连线类型、数量、接插件的几何尺寸
和形状以及引脚线的排列等。
▲ 从连线的类型来看,总线可分为电缆式、主板式
和底板式。
▲ 连线的数量来看,总线一般分为串行总线和并行
总线。在并行传输总线中,按数据线的宽度分 8位、
16位,32位,64位总线等。
? 总线的特性
(2) 电气特性:
▲ 总线的电气特性是指总线的每一条信号线的信号传
递方向、信号的有效电平范围。
△ 总线的电平表示方式有两种,单端方式 和 差分方式 。
? 在单端电平方式中,用一条信号线和一条公共接地
线来传递信号;采用正逻辑。
? 差分电平方式采用一条信号线和一个参考电压比
较来互补传输信号,一般采用负逻辑。
△ CPU发出的信号为输出信号,送入 CPU的信号为
输入信号。
▲ 一般串行总线用于长距离的数据传送,并
行总线用于短距离的高速数据传送。
(3) 功能特性:
▲ 总线功能特性是指总线中每根传输线的功能。如地
址线用来传输地址信息,数据线用来传输数据信息,
控制线用来发出控制信息,不同的控制线其功能不
同。
(4) 时间特性:
▲ 总线时间特性是指总线中任一根传输线在什么时间
内有效,以及每根线产生的信号之间的时序关系。
用信号时序图来说明。
? 根据所连接部件的不同,总线通常被分成三
种类型,
(1) 内部总线:
▲ 指芯片内部连接各元件的总线。如 CPU芯片内部,
在各个寄存器,ALU、指令部件等各元件之间也有
总线相连。
(2) 系统总线:
▲ 指连接 CPU、存储器和各种 I/O模块等主要部件的
总线。有主板式和底板式总线。
? 主板式总线是一种板级总线,主要连接主机系统印
刷电路板中的 CPU和主存等部件,也被称为处理
器 -主存总线。
? 底板式总线通常用于连接系统中的各个功
能模块,实现系统中的各个电路板的连接。
典型的有 PCI总线,Multibus总线,VME
总线等。
(3) 通信总线:
▲ 这类总线用于主机和 I/O设备之间或计算机系统之
间的通信。
▲ 由于这类连接涉及到许多方面,包括:距离远近、
速度快慢、工作方式等,差异很大,所以通信总
线的种类很多。
7.1.2 系统总线的组成
? 系统总线通常由一组控制线、一组数据线
和一组地址线构成 ;也有数据线和地址线复
用。
? 数据线用来承载在源部件和目的部件之间传输的信
息,这个信息可能是数据、命令、或地址(数据线
和地址线复用时)。如写磁盘。
? 地址线用来给出源数据或目的数据所在的主存单元
或 I/O端口的地址。
? 控制线用来控制对数据线和地址线的访问和使用;
控制线用来传输定时信号和命令信息。
? 典型的控制信号包括:
? 时钟( Clock):用于总线同步。
? 复位( Reset):初始化所有设备。
? 总线请求( Bus Request):表明发出该请求信号
的设备要使用总线。
? 总线允许( Bus Grant):表明接收到该允许信号
的设备可以使用总线。
? 中断请求( Interrupt Request):表明某个中断
正在请求。
? 中断回答( Interrupt Acknowledge):表明某个
中断请求已被接受。
? 存储器读( Memory Read):从指定的主
存单元中读数据到数据总线上。
? 存储器写( Memory Write):将数据总线
上的数据写到指定的主存单元中。
? I/O读( I/O Read):从指定的 I/O端口中读
数据到数据总线上。
? I/O写( I/O Write):将数据总线上的数据
写到指定的 I/O端口中。
? 传输确认( Transfer ACK):表示数据已
被接收或已被送到总线上。
7.1.3 总线的数据传输方式
? 计算机总线中,数据传输有两种基本方式:
串行传输、并行传输。
1.串行传输
▲ 串行总线的数据在数据线上按位进行传输,只需要
一根数据线,线路成本低,适合于远距离的数据
传输。
▲ 在计算机中普遍使用串行通信总线连接慢速设备,
象键盘、鼠标和终端设备等。近年来出现一些中
高速的串行总线,可连接各种类型的外设,可传
送多媒体信息,如 P1394串行总线。
▲ 串行传输中的数据转换
? 发送部件中并行数据到串行数据的转换,称为 拆
卸 ;
? 接收部件中串行数据转换成并行数据,称为 装配 。
▲ 串行传输中的数据传输速率
? 在信息传输通道中,携带数据信息的信号单元叫码
元;
? 每秒钟通过信道传输的码元数称为码元传输速率,
简称波特率。反映了每秒钟传输数据的位数。
? 每秒钟通过信道传输的信息量称为位传输速率,简
称比特率。反映了在传输介质上每秒钟传输的所有
信息位数。
? 波特率、比特率的单位都是位 /秒( bps);比特率
可以大于或等于波特率
▲ 串行传输方式有 同步传输方式 和 异步传输方
式 两种。
? 在异步传输方式中,每个字符要用一位起
始位和若干停止位作为字符传输的开始和
结束标志,需占用一定的时间。
? 同步传输方式要求有时钟来实现发送端和接收端的
同步,传输速度较快;但接口的硬件较复杂。
? 数据块传输时,只在数据块的开始和结尾处用一个
或若干个同步字符作标志。这种传输方式称为同步
串行传输方式。
2.并行传输
▲ 并行总线的数据在数据线上同时有多位一
起传送,每一位要有一根数据线。并行传
输比串行传输速度要快得多,但需要更多
的传输线。
▲ 并行传输中的数据传输速率
? 衡量并行总线速度的指标是最大数据传输率,即
单位时间内在总线上传输的最大信息量。一般用
每秒多少兆字节( MB/s)来表示。
? 总线的工作频率为 66MHz,总线宽度为 32位,则
它的最大数据传输率为,66 × 32/8 = 264MB/s;
这里 1M=106 。
▲ 将并行方式和串行方式结合起来进行数据传输。
7,2 总线设计的要素
总线设计时要考虑的基本要素包括:
1)信号线类型:专用信号线 / 复用信号线
2)仲裁方法:集中式裁决 / 分布式裁决
3)定时方式:同步通信 / 异步通信
4)事务类型:总线所支持的各种数据传输类型和其
他总线操作类型
5)总线带宽:单位时间内在总线上传输的有效数据
7.2.1 信号线类型
? 专用信号线就是指这种信号线专门用来传送
某一种信息。
? 采用数据和地址专用线,主存单元地址和数据可以
同时送到总线上。
? 复用信号线就是指一种信号线在不同的时间传输不
同的信息。
? 信号线的分时复用,可以使用较少的线传输更多的
信息,从而节省了空间和成本。
? 挂接的每个部件的电路变得更复杂了;还潜在地降
低了性能。
7.2.2 总线裁决
? 总线上连接的各个部件,根据其对总线有无
控制能力被分为主控设备和从设备两种。
? 从设备只能响应主控设备发来的总线命令。
? 系统可以只有一个总线主控设备,所有总线操作都
必须由处理器控制。
? 总线主控设备控制对总线的访问,它能够发起并控
制所有总线请求。
? 另一种选择是采用多个总线主控设备,每个
主控设备都能启动数据传送。
? 必须提供一种机制用来决定在某个时刻哪个
设备具有总线使用权。
? 决定哪个总线主控设备将在下次得到总线使用权的
过程称为总线裁决。
? 两类总线裁决方式:集中式和分布式
? 集中式裁决方式是将控制逻辑做在一个专门
的总线控制器或总线裁决器中,将所有的总
线请求集中起来,利用一个特定的裁决算法
进行裁决。
? 裁决方案:
一是“等级性”,即:每个主控设备有一个总线优
先级,具有最高优先级的设备应该先被服务;
二是“公平性”,即:任何设备,即使是具有最低
优先权的设备也不能永远得不到总线使用权。
? 分布式的裁决方式,没有专门的总线控制器,其控
制逻辑分散在各个部件或设备中。
1.集中裁决方式( 3种 )
(1) 菊花链查询方式
▲ 优先级由主控设备在总线上的位置来决定,
要求拥有总线使用权的高优先级设备简单地拦截
总线允许信号,不让其更低级的设备收到该信号。
BG
数据线
地址线
总
线
控
制
部
件
设备 0 设备 1 设备 n……
BR
BS
图 7.1 菊花链查询方式
▲ 菊花链总线的优点是简单,只需很少几根
线就能按一定优先次序实现总线裁决,
而且易扩充设备。
▲ 缺点是不能保证公正性,也即一个低优先
级请求可能永远得不到允许;
? 对电路故障较敏感,一个设备的故障会影响
到后面设备的操作;
? 菊花链的使用也限制了总线速度。
(2) 计数器定时查询方式
▲ 此方案比菊花链查询方式多了一组设备线,少了一
根总线允许线 BG。 (图 7.2)
▲ 总线请求的设备号与计数值一致时,该设备便获得
总线使用权,此时终止计数查询,同时该设备建立总
线忙 BS信号。
数据线
地址线
总
线
控
制
部
件
设备 0 设备 1 设备 n
……
BR
BS
设备线
图 7.2 计数器定时查询方式
▲ 设备的优先级通过设置不同的计数初始值来
改变
? 计数总是从 0开始,此时设备的优先次序是
固定的;
? 计数的初值总是上次得到控制权设备的设备
号,那么所有设备的优先级是相等的,是循
环优先级方式。
▲ 计数器定时查询方式具有灵活的优先级,
它对电路故障也不如菊花链查询那样敏感。
? 这种方式增加了一组设备线,每个设备要对
设备线的信号进行译码处理,因而控制也变复杂了。
(3) 独立请求方式
▲ 这种方案使用一个中心裁决器从请求总线
的一组设备中选择一个。(图 7.3)
▲ 每个设备都有一对总线请求线 BRi和总线允许
线 BGi00
▲ 总线控制器可以给各个请求线以固定的优先级,也
可以设置可编程的优先级。
? 裁决算法由硬件来实现,可采用固定的并行判优算
法、平等的循环菊花链算法、动态优先级算法(如:
最近最少用算法、先来先服务算法)等。
▲ 这种方法的优缺点:
? 响应速度快,若是可编程的总线控制器,优先级
设置灵活。
数据线
地址线总
线
控
制
部
件
设备 0 设备 1 设备 n
BR 0
BG 0
BR 1
BG 1
……
BR 2
BG 2
图 7.3 独立请求方式
? 控制逻辑很复杂,控制线数量多。
? 若 n表示允许挂接的最大设备数,三种裁决方式所需裁决线
分别为,2根,log2n根,2n根。
2.分布式裁决方式( 3种)
(1) 自举分布式裁决
▲ 使用多个请求线,不需要中心裁决器,每个设备独
立地决定自己是否是最高优先级请求者。(图 7.4)
▲ BR0为总线忙信号线,BRi为设备 i的总线请求线。
BR0
设备 0 设备 1 设备 3
BR1
BR2
设备 2
BR3
图 7.4 自举分布式裁决
▲ 一般优先级是固定的
? 总线裁决期间每个设备将有关请求线上的信
号合成后取回分析,根据这些请求信号确定自
己能否拥有总线控制权。
▲ 这种方案需要较多的连线用于请求信号,所以,许
多总线用数据线 DB作为总线请求线。
? 每个设备通过取回的合成信息能够检测出其他设
备是否发出了总线请求。
? NuBus是在 MacintoshII 中的底板式总线,就采用
该方案; SCSI总线也采用该方案。
(2) 冲突检测分布式裁决
▲ 这种方案中,每个设备独立地请求总线,多
个同时使用总线的设备会产生冲突,这时冲
突被检测到,按照某种策略在冲突的各方选
择一个设备。
▲ 当冲突发生时,两个设备都会停止传输,延迟一个
随机时间后再重新使用总线。
▲ 这种方案一般用在网络通信总线上。
(3) 并行竞争分布式裁决
▲ 需要使用总线的主控设备把自己的仲裁号发送到仲
裁线上,每个设备根据并行竞争算法决定在一定时
间以后占用总线还是撤销仲裁号。
厎
cn7 cn6 cn0
比
较
得胜
仲裁号
AB7 AB6 AB0
总线
仲裁线
设备
图 7.5 并行竞争分布式裁决
▲ 图 7.5是总线中有8根仲裁线 AB0~ AB7例子
▲ 两个设备同时要求使用总线,仲裁号分别是
00000101和 00001010;最终留在仲裁线上的
号为 00001010。
裁决号 1 裁决号 2
裁决线电平 裁决线逻辑
0
0
0
0
0
1
0
1
高
高
高
高
高
高
高
高
0
0
0
0
1
0
1
0
高
高
高
高
低
高
低
高
高
高
高
高
低
高
低
高
0
0
0
0
1
0
1
0
cn AB ABcn
表 7.1 并行竞争裁决逻辑举例分析结果
▲ 并行竞争方式与自举分布式裁决算法比较,
它可以用很少的裁决线挂接大量的设备。
? 例如,假定是8位仲裁号,自举分布式裁决
只能表示 8个优先级;
? 这种方式可以表示 256个优先级,仲裁号为
255的设备优先级最高,而0最低。
? Futurebus+总线标准使用这种裁决方案。
▲ 选择 不同裁决方案的因素包括:
? 总线在 I/O设备的数量和总线长度的可扩充性方面
如何?
? 总线裁决应该多快?
? 需要什么程度的公正性等。
7.2.3 定时方式
? 一个取得了总线控制权的设备如何控制总线
进行总线操作呢?即如何来定义总线事务中
的每一步何时开始、何时结束呢?这就是总
线通信的定时问题。
? 总线通信的定时方式有四种:
? 同步协议
? 异步协议
? 半同步协议
? 分离事务协议
1.同步协议方式
▲ 如果一个总线是同步的,它的控制线中就有
一个时钟信号线,挂接在总线上的所有设备
都从这个公共的时钟线上获得定时信号。
? 一定频率的时钟信号线定义了等间隔的时间段,这
个固定时间段为一个时钟周期,也称一个总线周期。
? 该时钟信号有一个固定的通信协议。
▲ 图 7.6表示一个处理器 -主存总线,执行存储器读操作。
时钟
读命令
地址
数据
时钟周期
总线传输周期
主
设
备
从设备
图 7.6 同步通信协议(读操作)
▲ 同步总线有两个缺点:
? 第一,在总线上的每个设备必须以同样的时钟速
率进行工作;
▲ 这种类型的协议能够很容易地用一个有限状
态机实现,是预先确定的,只涉及到非常少
的逻辑,所以这种总线非常快,并且接口逻
辑很少。
▲ 处理器 -主存总线一般都是同步的,因为通信的设
备靠得很近,而且数量又少。
? 第二,由于时钟偏移问题,同步总线如果要快的话
就不能很长。
2,异步协议方式
▲ 为了协调在发送和接收者之间的数据传送,一个异
步总线必须使用一种握手协议。
▲ 考虑一个设备请求从存储器中读一个字。
△ 假定存在以下三个控制线。
▲ 异步总线是非时钟定时,一个异步总线能够
连接带宽范围很大的各种设备。总线能够加
长而不用担心时钟偏移或同步问题。
? 握手协议由一系列步骤组成,在每一步中,只有当
双方都同意时,发送者或接收者才会进入到下一步 ;
? 协议是通过一组附加的控制线来实现的。
(1) ReadReq (读请求 ):用于指示一个读请求,
假定在送出该信号时,地址同时被放到地址
线上;
(3) Ack(回答):用于回答另一方送过来的 ReadReq
或 Ready信号。
? 在一个 I/O读事务中,该信号将由 I/O设备驱动有效,
因为是 I/O设备提供数据。
? 在一个存储器读事务中,该信号将由存储器驱动有
效,因为是存储器提供数据;
(2) Ready(数据就绪 ):用于指示数据字已在数据
线上准备好。
△ 图 7.7给出异步通信协议示意图;主设备从存储器
中读一个字。
Read Req
A ddre ss
D at a
A ck
Ready
1
2
3
4
5
6
2
4
6
7
图 7.7 异步通信协议
① 存储器接收到 ReadReq信号后,就从地址线上读取地
址信息,然后送出 Ack信号,表示它已接受了读请求
和地址信息。
② 主设备收到 Ack信号后,就释放 ReadReq信号和地址
线。
③ 存储器发现 ReadReq信号被释放后,就跟着也降下
Ack信号。
④ 当存储器完成数据的读出后,就将数据放到数据线上
,并送出数据就绪信号 Ready 。
⑤ 主设备接收到存储器送出的 Ready信号后,就从数据
线上开始读,并送出回答信号 Ack,告诉存储器数据
已经被读。
⑥ 存储器接收到 Ack信号后,就得知数据已被成功地读
取。此时它就降下 Ready信号,并释放数据线。
⑦ 主设备发现 Ready线降下后,也就跟着降下回答信号
Ack。
? 又一次握手过程完成。在这个过程中完成了一次数据
信息的交换
▲ 根据握手信号的相互作用方式,异步通信
有非互锁、半互锁和全互锁三种可能的方
式。(图 7.8)
Ready
Ack
(a)非互锁方式 (b)半互锁方式 (c)全互锁方式
Ready
Ack
Ready
Ack
图 7.8 异步通信的三种互锁方式
3,半同步协议方式
时钟
地址
数据
时钟周期
总线传输周期
读命令
就绪
回答
主
设
备
从
设
备
▲
所
有
事
件
都
由
时
钟
定
时
,
而
信
息
的
交
换
由
就
绪
和
应
答
等
信
号
控
制
的
通
信
方
式
称
为
半
同
步
通
信
方
式
。
图 7.9 半同步通信协议
▲ 半同步通信同时具有同步和异步通信的优点,既保
持了, 所有信号都由时钟定时, 的同步总线的特点
,又有, 不同速度的设备共存, 的异步总线的特点
。
▲ 就绪和应答等信号都在时钟的上升沿有效,
这样信号的有效时间仅限制在时钟到达的
时刻,而不受其他时间的信号干扰。
4,分离事务协议方式
▲ 有多个总线主控设备在总线上存在时,增
加有效总线带宽的另一个方法就是在总线
事务执行过程中,如果不需要使用总线时
立即释放总线,在其他设备获得总线进行
数据传输的同时,原来释放总线的事务在
做数据准备等非总线数据传输的操作。这
种类型的协议被称为分离事务协议( Split
transaction protocol)。
? 基本思想是将一个传输操作事务过程分成两个
子过程
主控 ( M )
地址
数据
S M
总线空闲
( 其它 主控
器可用 )
地 址, 命
令
SM
数据
从 ( S)
时钟
子周期 1 子周期 2
图 7.10 分离事务通信协议
▲ 分离通信方式的优点:
? 通过在不传送数据期间释放总线,使得其
他申请者能使用总线,实现一个总线为多
个主从设备间进行交叉并行式的信息传送。
这样可改进整个系统的总有效带宽。
▲ 分离通信方式的不足,
? 事务的分离使得完成一个事务的时间可能会增加
? 请求者的身份必须被传送并被从设备保存
? 从设备准备数据的过程相当复杂需要重叠多个事务
时,效果更明显。
? 这种方式控制相当复杂,一般在大型计算机系统和
高档微机系统中使用,普通微机系统中很少使用。
5,同步和异步的性能比较
▲ 同步总线通常比异步总线要快。因为异步
通信需要进行握手,增加了开销。
▲ 举例:比较同步和异步总线的最大带宽。
? 假定同步总线的时钟周期为 50ns,每次总线传输花 1个时钟
周期,异步总线每次握手需要 40ns,两种总线的数据都是 32
位宽,存储器的存储周期为 200ns。要求求出从该存储器中
读出一个字时两种总线的带宽。
? 同步总线具有 50ns的总线周期,其所需的步骤和时间为:
( 1)发送地址和读命令到存储器,50ns
( 2)存储器读数据,200ns
( 3)传送数据到设备,50ns
? 总时间为 300ns。最大总线带宽为 4B/300ns,即,13.3MB/s。
? 异步总线所需的步骤和时间为:( 图 7.7)
第①步为 40ns;
第②、③、④步为 Max(3× 40ns,200ns)=200ns;
第⑤、⑥、⑦步为 3 × 40ns=120ns。
总时间为 360ns。故产生的最大带宽为 4B/360ns=11.1MB/s。
? 同步总线仅比异步快大约 20%。
? 包括可以连到总线上的设备的个数与总线的物理距离;
? 异步总线能更好地适应技术的改变,并能支持更大范围内
的 响应速度;
? 尽管异步总线增加了开销,但 I/O总线大都采用异步通信。
▲ 尽管同步总线可能更快一点,但是在同步和异步之
间进行选择时,要考虑的不仅是数据带宽,而且要
考虑 I/O系统的能力。
▲,分离事务”协议方式,可按如下步骤进行:
( 1) 总线主控设备向存储器发出信号,送出地址
和请求类型。
( 2) 当存储器回答完请求后,主控设备释放所有
控制线。
( 4) 存储器向主控设备发出信号表示数据已经可用。
( 5) 主控设备通过总线接收数据,并向存储器指示它
已获取数据,所以存储系统可以从总线上撤消信
息。
( 3) 存储器访问开始,总线被释放为空闲以便在存储
器访问期间其他总线主控设备能使用总线。
7.2.4 总线事务类型
? 通常把在总线上一对设备之间的一次信息交
换过程称为一个“总线事务”;
? 把发出事务请求部件称为主控设备,也称请
求代理;
? 另一个部件称为从设备,也称响应代理。
? Pentium Pro处理器总线的事务类型有以下 11种。
? 延迟回答,当一个响应代理需要花很长时间才能完成某个事
务时,就通过发出该“延迟回答”事务以“分离事务”方式
来处理该事务。
? 中断响应,当处理器响应从 8259中断控制器送来的中断请求
而要去读中断向量时,处理器就发出该“中断响应”事务。
? 特殊事务,当处理器要广播一条与某个内部事件(如:
shutdown,halt等)有关的消息时,就产生该“特殊事务”
。
? 存储器读并无效,处理器产生该“存储器读并无效
”事务,主要是为了对一个 Cache行进行独占访问
。
? 存储器代码读,当处理器要从存储器中取指令时产
生该“存储器代码读”事务。
? 存储器数据读,当执行到某指令要从存储器中取数
据时,产生该“存储器数据读”事务。
? 分支跟踪消息,在指令执行过程中当一个转移目标的
条件被满足时,处理器就生成该“分支跟踪消息”事
务。它将送出转移指令的地址和转移到的目标指令的
地址。
? I/O读,当处理器执行 IN或 INS指令,要从某个 I/O设备读取
数据或状态时,处理器就发出该,I/O读”事务。
? I/O写,当处理器执行 OUT或 OUTS指令,要将数据或命令
写到某个 I/O设备上时,处理器就发出该,I/O写”事务。
? 存储器写(不可重试),当处理器要写回一个更新的
Cache行到存储器(淘汰)以便为一个新行腾出空间时
,由处理器发出该事务。
? 存储器写(可重试),当处理器执行到某指令需写数
据到存储器中去时,由处理器发出该事务。
? Pentium Pro处理器每个总线事务包含五个操作阶段
1)请求阶段(地址阶段)
2)检错阶段
3)侦听阶段
4)响应阶段
5)数据阶段
? 数据阶段,送数据到数据总线上,或从数据总线上取数据。
? 请求阶段,送出地址信息和事务类型信息、以及
有关事务的其他信息。
? 检错阶段,对请求阶段送出的地址和请求信息所对
应的奇偶校验信号进行检测。
? 侦听阶段,对请求阶段送出地址中所对应的数据检查其在各
个 Cache中的命中状态,确定以后阶段如何处理该事务。
? 响应阶段,根据请求的事务类型、检错和侦听结果,确定如
何响应当前事务。返回的响应结果可以是重试事务、延迟事
务、硬件错、无数据传送事务、回写( Writeback)事务或
正常数据传送事务等。对于前四种情况,事务在响应阶段就
可结束。
7.2.5 总线带宽
? 影响总线带宽的其他几个因素有:
(1) 数据总线宽度
增加数据总线的宽度可使总线一次传输更多数据位。
? 一个总线的带宽主要由总线定时方式所用的
协议决定的。
(2) 信号线是专用还是分时复用
将地址线和数据线单独设置可使写操作的性能更高,因为
地址和数据可在同一个总线周期内传送出去。
(3) 是否允许大数据块传送
允许总线以背靠背总线周期连续传送多个字而不发送地址信
息或释放总线,可以减少传送一个大数据块所需的时间,提
高总线带宽。这就是前面讲的串并结合的方式,也称突发数
据传送方式。
? 提高上述三个方面总线性能需要
更多的总线条数、增加复杂性或当一个长
数据块传送发生时会因为等待而增加响应
时间。
? 快速总线访问和高带宽是相互矛盾的两种设计要求
? 为了得到总线操作快速响应时间,必须通过简化通信路径
来使一次总线访问的时间降到最小;
? 为了获得较高的数据速率,又必须使总线带宽最大化,总
线带宽可以通过使用更多的缓冲和通过传送较大的数据块
两种方式来提高,它们都会增加完成总线操作的时延。
? 要求支持大范围内具有不同等待时间和数据传输率
的设备的需求也使总线设计面临挑战。
7,3 总线接口单元
■ 总线上的信号必须与连到总线上的各部件
所产生的信号相协调,起协调作用的控制
逻辑就是总线接口,
? CPU、存储器,I/O模块中都有与系统总线或其他
I/O总线的接口。
? 它是挂接在总线上的部件与总线之间的连接界面;
■ 总线接口单元的基本功能是:
(1) 定时和通信:在同步通信方式下,提供或接收时钟信号,
在时钟信号的控制下驱动或采样相应的信号线。在异步方
式下,按照握手协议对相应的信号线进行驱动、复位或采
样。
(2) 总线请求和仲裁:根据需要发出总线请求信号。
有些部件的总线接口具有集中方式下的总线控制
器,此时还要进行总线裁决。对于分布式裁决,
每个总线接口都要参与裁决过程。
(3) 控制操作:提供命令译码等控制逻辑,以根据总线传送过来
的命令启动总线部件进行相应的操作。
(4) 提供数据缓冲:当总线连接的部件之间有速度差异时,可以
在接口中设置一些数据缓冲寄存器,利用这些寄存器使不同
速度的部件得到匹配。
(6) 记录状态信息:有些接口还必须能够记录接口本身以及它所
挂接的设备的状态。例如接口中数据缓冲的使用情况等。
(7) 数据传送控制:有些接口还要对数据传送过程进行控制,例
如,对传输过程中的字计数器进行更新。
(5) 数据格式转换:当总线连接的部件之间数据格式
不同时,可以通过接口进行数据格式转换。例如
,串 并转换,8位 32位转换等。
(8) 中断请求和响应:根据需要发出中断请求信号或接
收中断请求并给出响应信号。例如,在外设的总线
接口中,当外设需要向处理器请求某种服务时,它
通过总线接口向 CPU发中断请求信号。而处理器的
总线接口则接收中断请求信号,并给出中断回答信
号。
■ 根据总线的数据传输方式,总线接口单元分
为串行总线接口和并行总线接口两类。
7,4 总线标准
■ 主板上的“处理器 -主存”总线经常是特定
的专用总线,而用于连接各种 I/O模块的 I/O
总线和底板式总线(通常是标准总线)可在
不同的计算机中互用。
■ 计算机工业界已经开发出了各种总线标准
? 使机器的扩充和新设备的连接更加方便
? 为计算机制造商和外围设备制造商提供了一种规范
? 按照同样的标准和规范生产各种不同功能的芯片、模块和整
机
? 这样可使芯片级、模块级、设备级等各级别的产品都具有兼
容性和互换性
? 使整个计算机系统的可维护性和可扩充性得到充分保证
■ 总线标准的形成有多种途径
? 第一种途径是由流行而自然形成的标准。有些机
器如此流行以致于它们的 I/O总线最终变成了事实
上的标准。例如,IBM PC-AT总线。
? 第二个途径是为了解决共性问题而提出一种标准,这种情
况下,标准往往会由一个小组来制定。 SCSI总线和
Ethernet就是由多个制造商合作提出的标准总线的例子。
? 第三种途径是通过标准化组织制定的。象 ANSI或 IEEE等
组织会提出一些总线标准。 PCI总线标准就是由 Intel发起、
后来由一个工业委员会发展起来的。
■ 现在的标准总线规范越来越复杂
? 通常包含信号分类、数据宽度、地址空间、传输速率、总
线仲裁、握手协议、总线定时、事务类型等内容。
7.4.1 ISA总线
? ISA( Industrial Standard Architecture)总
线是 IBM公司 1984年为推出 PC/AT机而建立
的系统总线标准。所以也叫 AT总线。
? ISA总线的主要特点:
( 1)能支持 64K I/O地址空间,16M主存地址空间的寻址,可进
行8位或 16位数据访问,支持 15级硬中断、7级 DMA通道。
( 3)支持8种总线事务类型:存储器读、存储器写,I/O读、
I/O写、中断响应,DMA响应、存储器刷新、总线仲裁。
( 2)是一种简单的多主控总线。除了 CPU外,DMA控制器、
DRAM刷新控制器和带处理器的智能接口控制卡都可成为
总线主控设备。
7.4.2 EISA总线
( 5)使用独立于 CPU的总线时钟,因此 CPU可以采用
比总线频率更高的时钟。它的时钟频率为8 MHz;
最大数据传输率为 16MB/s。
( 4)具有分立的数据线和地址线。
( 6) ISA总线共有 98根信号线,在原 PC/XT总线的 62根线的基
础上扩充了 36根线,与原 PC/XT总线完全兼容。
? 它从 CPU中分离出了总线控制权,是一种具有智能
化的总线,支持多总线主控和突发传输方式。
? EISA(Extended Industrial Standerd Architecture)
总线是一种在 ISA总线基础上扩充的开放总线标准。
( 1) EISA总线的时钟频率为 8.33MHz。
? EISA总线的主要特点:
( 6) CPU或 DMA控制器等这些主控设备能够对 4G范围的主存
地址空间进行访问。
( 5)地址线的宽度为 32位,所以寻址能力达 232。
( 4)数据线宽度为 32位,具有 8位,16位,32位数据传输能力,
所以最大数据传输率为 33MB/s。
( 3)具有分立的数据线和地址线。
( 2) EISA总线共有 198根信号线,在原 ISA总线的 98根线的基
础上扩充了 100根线,与原 ISA总线完全兼容。
7.4.3 VL总线( VESA总线)
? VL( VESA Local Bus)总线是 VESA
( Video Electronic Standard Association视频
电子标准协会)与 60余家公司联合推出的一
种通用的全开放局部总线标准,也叫 VESA
总线。
? 它的推出为微机系统总线结构的革新奠定了基础;
有效解决总线传输速率这一瓶颈问题。在此之前,
PC系列机一直采用单一慢速的系统总线体系结构。
? VL总线作为一种局部总线,它不是一个单独使用
的总线体系结构,而是对 ISA,EISA等系统 I/O总
线的补充,它需要和其他总线共存于一个系统中,
形成 ISA/VL或 EISA/VL等总线体系结构。
? VESA总线的主要特点:
( 1) VL总线的主要设计目标是支持 CPU直接与高速视
频控制器挂接;
( 2)其他外设如硬盘控制器,LAN控制卡以及其他高
速接口所连的外设,也可使用 VL总线;
( 3)它直接采用 CPU的时钟,最高主频可达 66MHz(实际上受
制于 VL总线扩充槽的性能,不能超过 40MHz),一般为
33MHz;
( 4)数据总线的宽度为 32位,可扩展到 64位;
( 5)当使用双倍时钟的 CPU(如 386类 CPU)时,必须将 CPU
时钟分频才能驱动 VL总线时钟。因此最大数据传输率为
132MB/s;
( 6) VL总线扩充槽是一种标准的 16位微通道型扩充槽。
E(ISA)总线连
接器
CPU 32位 VL总线连接器
64位 VL总线扩展
连接器
图 7.11 VL总线物理布局
7.4.4 PCI总线
? PCI( Peripheral Component Interconnect)
总线是继 VL总线之后推出的又一种高性能
的 32位局部总线。
? PCI规范是公开的,它受到许多微处理器和外围设
备生产商的支持,因此不同厂家生产的 PCI产品是
相互兼容的。
? PCI是一种高带宽、独立于处理器的总线。主要用
于高速外设的 I/O接口和主机相连;如:图形显示
适配器、网络接口控制卡、磁盘控制器等。
? PCI总线的主要特点:
( 3)它比 VL总线的速度更快。
? 第一,它支持无限突发传输方式;而 VL 仅支持有限的突发
数据传送,所以 VL总线速度不如 PCI总线。
? 第二,PCI总线支持并发工作,即挂接在 PCI总线上的外设
能与 CPU并发工作。
( 1)它与 CPU的时钟频率无关,采用自身 33MHz的总线
频率。
( 2)数据线宽度为 32位,可扩充到 64位;所以数据传输率可达
132MB/s~ 264 MB/s。
( 4)一个或多个 PCI总线通过 PCI桥( PCI控制器)和处理器总
线相连;而处理器总线只连接处理器 /Cache、主存储器和
PCI桥。
( 5) PCI桥的使用使 PCI总线独立于处理器,并且 PCI桥
提供了数据缓冲功能。
( 6)高速的 PCI总线和低速的 E(ISA)总线之间通过 PCI桥
相连接,使得系统中的高速设备挂接在 PCI总线上,
而低速设备仍然通过 ISA,EISA等这些低速 I/O总线
支持。
( 7)可以有多个 PCI总线,PCI总线之间也是用相应的 PCI桥连
接。
? PCI总线支持广泛的基于微处理器的配置
? PCI总线可以用在单处理器系统中,也可用于多处理器系
统中。
? 图 7.12(a)和 7.12(b)分别给出了在一个单处理器系统和多处
理器系统中使用 PCI总线的典型例子。
处理器
Cache
DRAM桥 /存储器控 制器
显示
控制器声频
LAN 图形PCI/E(ISA)
桥 基本 I/O设备
SCSI
E(ISA)总线
PCI总 线
图 7.12 (a) 典型的单处理器系统
处理器 /Cache DRAM
存储器
控 制器
系统总 线
处理器 /Cache
LAN PCI/PCI桥PCI/E(ISA)
桥
基本 I/O设备
SCSI
Host/PCI
桥
Host/PCI
桥
PCI总 线 PCI总 线
E(ISA)总 线
LAN SCSI
PCI总 线
图 7.12 (b) 典型的多处理器系统
? PCI总线的信号线
系统信号
CLK in (1) 定时用的时钟信号,在时钟信号的上升
沿每个设备对相应的输入信号进行采样
。其最大时钟频率为 33MHz。
RST# in (1) 复位信号。使总线上的所有 PCI专用的寄
存器、定序器和信号转为初始化状态。
地址和数据信号
A/D[31∷ 0] t/s (32) 复用的地址和数据线。
C/BE[3∷ 0]# t/s (4) 复用的总线命令线和字节允许线。地址阶段
表示总线命令;数据阶段表示数据线上 4个字节中
对应的那个字节是否有效。
PAR t/s (1) 32根 A/D线和 4根 C/BE线的偶校验信号线。地址阶
段和写数据阶段由主设备驱动 PAR信号线;在读
数据阶段则由目标设备驱动 PAR信号线。
接口控制信号
FRAME# s/t/s (1) 由主设备驱动,表示一次总线传输
已开始并在持续进行中。在总线传输的开始
(即:地址阶段之初)使该信号有效,而在进
行总线传输的最后一个数据交换之前撤消该信
号。
IRDY# s/t/s (1) 发送端就绪信号, 由主设备驱动 。
读操作中表示主设备准备好接受数据;写操作
中表示主设备已把有效数据放到 A/D线上 。
TRDY# s/t/s (1) 接受端就绪信号, 由从设备驱动 。
写操作中表示从设备准备好接受数据;读操作
中表示从设备已把有效数据放到 A/D线上 。
IDSEL in(1) 设备选择初始化信号。在配置读和配置写事务中
用作片选信号。
DELSEL# in(1) 设备选择信号。如果某个目标识别出地址线上
给定的是自己的地址的话,那么该设备就使这根线有效
。主控设备接受到该信号后就知道已由设备被选中。
仲裁线
REQ# t/s (1) 总线请求线 。 由需要申请总线使用权的主控设备
发出 。 这是一根与设备有关的点对点信号线 。
GNT# t/s (1) 总线允许线 。 接受到该信号的设备将获得总线使
用权 。 这也是一根与设备有关的点对点信号线 。
STOP# s/t/s (1) 由从设备驱动 。 表示希望主设备
停止当前的总线传输操作 。
LOCK# s/t/s(1) 表示正在进行的总线操作不可被
打断。即锁定总线。
? PCI命令;通过分时复用的总线命令 /字节允许信号
线 C/BE发出总线命令;
? 中断响应:它是一条读取中断向量的命令。用于对 PCI总线
上的中断控制器提出的中断请求进行响应。在该事务的地
址周期地址线不起作用。而在数据周期,则从中断控制器
读取一个中断向量,此时 C/BE信号线用于表示读取的中断
向量的长度。
? 特殊周期:用于一个总线主控设备向一个或多个目标广播
一条消息。
错误报告信号
PERR# s/t/s (1) 奇偶校验错 。 表示一个目标在写
数据阶段或一个主控设备在读数据阶段检测到
一个奇偶校验错 。
SERR# 0/d (1) 系统错误 。 可由任何一个设备发出 。 用以报
告地址校验错或除校验错以外的其他严重错误 。
? 存储器读:突发传送半个或不到一个 Cache行(支持 Cache的内
存)突发传送两个数据周期或更少(不支持 Cache的内存)
? 存储器写、存储器写并无效:用于总线主控设备向存储器写
数据,它们将占用一个或多个数据周期。其中存储器写并无
效命令用于回写一个 Cache行到存储器,所以它必须保证至
少有一个 Cache行被写回。
? 存储器行读:突发传送半个以上到 3个 Cache行(支持 Cache的
内存)突发传送 3个到 12个数据周期(不支持 Cache的内存)
? 存储器多行读:突发传送 3个以上 Cache行(支持 Cache的内存
)突发传送 12个以上数据周期(不支持 Cache的内存)
? I/O读和 I/O写,I/O读写命令,用于在事务发起者和一
个 I/O控制器之间进行数据传送。
? 双地址周期:由一个事务发起者用来表明它将使用 64
位地址来寻址。
? 数据传送过程
? PCI总线上的数据传送由一个地址周期和一个或多
个数据周期组成。
? 图 7.13显示了一个读操作的时序。写操作的过程与
读操作类似。
? 所有事件在时钟下降沿同步,即在时钟周期的中
间;总线设备在一个时钟周期开始的上升沿采样
总线信号。
? 配置读,配置写:用于一个总线主控设备对连接
到 PCI总线上的设备中的配置参数进行读或更新。
每个 PCI设备都有一个寄存器组(最多可有 256个
寄存器),这个寄存器用于系统初始化时对本设
备进行配置。
图 7.13 PCI读操作过程
? 总线裁决
? PCI采用独立请求式的集中总线裁决方式。
每个总线主设备都有两个独立的请求线 REQ
和允许线 GNT。
? PCI总线规范没有规定具体的仲裁算法。总线仲裁
器可以使用静态的固定优先级法、循环优先级法或
先来先服务法等仲裁算法。
? PCI必须为它的每个总线事务进行仲裁。
? PCI可以在总线进行数据传送的时候进行总线仲裁,
所以仲裁不会浪费总线周期。这种方式称为隐式仲裁。
? 图 7.14给出两个设备 A和 B在 PCI上进行总线仲裁时序
图 7.14 PCI总线裁决作过程
7.4.5 SCSI总线
? SCSI( Small Computer System Interface
小型计算机系统接口)总线从 1984年开始
广泛用在 Macintosh机上,目前已非常普遍
地用在了 IBM PC兼容系统和许多工作站上。
? SCSI总线主要用于光驱、音频设备、扫描仪、打
印机、以及象硬盘驱动器这样的大容量存储设备等
的连接。
? 是一种直接连接外设的并行 I/O总线,挂接在 SCSI
总线上的设备以菊花链的方式相连。每个 SCSI设
备有两个连接器,一个用于输入,一个用于输出。
终端器 (可
在内部)终端器
磁盘
ID=6
扫描仪
ID=2
CD-
ROM
ID=3
CPU
ID=7
? 若干设备连接在一起,一端用一个终结器
连接,另一端通过一块 SCSI卡连到主机上。
图 7.15 SCSI设备的配置
? SCSI设备的配置(图 7.15)
? SCSI总线事务中经历的阶段有:
? 总线空闲阶段:表示没有设备使用总线,总线可用。
? 仲裁阶段:用来使一个设备获得总线使用权。
? 命令阶段:传送命令信息。使目标设备从请求方得到命令。
? 数据阶段:目标设备请求数据传送。在该阶段可以进行数据输
入(目标方到请求方)或数据输出 (请求方到目标方 )操作。
? 状态阶段:目标设备向请求方发送状态信息。
? 选择阶段:用来让一个请求方选择一个目标设备来执行某个
功能。
? 重新选择阶段:允许目标设备重新连接请求方,以恢复原先
由请求方启动而被目标挂起的操作。
? 消息阶段:目标设备请求传送一个或多个消息。在该阶段可
以进行消息输入(目标方到请求方)或消息输出 (请求方到
目标方 )。
? SCSI总线阶段状态转换(图 7.16)
总线
空闲期
仲裁期
(多个设备 )
选择或
再选择
命令、数据
状态 和
消息期
加电或复位 信息传送期
图 7.16 SCSI总线阶段状态转换图
? 最早的 SCSI规范 SCSI-1只提供8位数据线,采用
异步通信或5 MHz的同步通信,最多允许7个设备
以菊花链方式连接到主机上。
? SCSI规范及发展
? 1991年出版了修改后的规范 SCSI-2,数据线可选择扩展到 16
位或 32位,采用同步通信,时钟速度增加到 10MHz,所以最
大数据传输率为 20MB/s或 40MB/s。
? 正在开发中的 SCSI-3将支持更高的速度。
? SCSI-1规范规定了总线的信号系统共有 50条信号线,采用 50
针扁平电缆或双绞线,称为 SCSI A电缆。
? 其中有9条数据线( 8条数据和一条奇偶校验)和9条控制
线,其余为地线或电源线。
? SCSI-1规范的 9根控制信号线及含义
BSY:由使用总线的设备来设置,表示自己使总线处于
忙状态。
SEL:发起者选择目标时设置,或目标重新选择发起者时设置。
C/D:目标用来标识数据线上是控制信息 (命令、状态或消息 )还
是数据信息。
I/O:目标用来标识数据传送的方向。
MSG:目标用来标识正在向发起者传送的是消息。
REQ:目标用来请求数据传送。此时,发起者将接受来自总线
的数据(数据输入阶段),或把数据传送到总线(数据输
出阶段)。
ACK:发起者用来应答目标的 REQ请求。表示正在进行相应的
数据传送操作。
ATN:发起者用来通知目标,它将有消息可传送。
RST:使总线复位。
? SCSI-2增加了 24位数据线和相应的 3个奇偶校验信号线,
以及其他控制线和地线及电源线,因而 SCSI-2在 SCSI
A电缆的基础上增加了 68针 B电缆。
? 总线通过相应的控制线来区别数据线上传输的信息
类型。其定义如下:
阶段 C/D I/O MSG DB7-0,P 传送方向
数据输出 0 0 0 数据 发起者 =>目标
数据输入 0 1 0 数据 发起者 <=目标
命令 1 0 0 命令 发起者 =>目标
状态 1 1 0 状态 发起者 <=目标
* 0 0 1 *
* 0 1 1 *
消息输出 1 0 1 消息 发起者 =>目标
消息输入 1 1 1 消息 发起者 <=目标
? SCSI总线的裁决采用自举分布式方案
? 需要使用总线的设备在仲裁阶段启动一根与该设备
的 ID对应的数据线,每个设备通过查看相关的数据
线来确定是否将获得总线的使用权;标识号 ID就是
设备对应的优先级。
? 图 7.17给出了一个常用的 SCSI总线时序。它描述了
从目标设备读取数据到发起设备的总线事务过程。
图 7.17 SCSI时序举例
① 开始时,总线处于空闲状态;
② 仲裁阶段:要求使用总线的设备在相应的数据线上置
请求信号。各设备通过查看有无优先级比自己高的设
备的请求,确定自己是否能占用总线。
③ 选择阶段:使自己和目标对应的数据线上 ID有效,并
在一定延迟后,使 BSY信号无效。当目标检测到 SEL信
号有效,而 BSY 和 I/O无效,并识别 ID以后,它使 BSY
信号有效。当发起者检测到 BSY信号时,释放数据线,
并取消 SEL信号。
④ 命令阶段:目标通过启动 C/D线有效,表示已进入
命令阶段。命令用 REQ/ACK握手信号来传送。
⑤ 数据输入(出)阶段:目标接收和解释命令后,
取消 C/D信号,使进入数据输入 (出 )阶段,数据传送的
方向由信号 I/O标识。通过 REQ/ACK握手信号进行数据
传送。
⑥ 状态阶段:目标使 C/D信号有效,结束数据阶段而
进入状态阶段(此时,I/O信号有效)。
⑦ 消息阶段:目标使 MSG线有效, 以进入消息阶段 。
? SCSI总线的通信定时方式,
? 缺省为异步方式,即,每个字节的传送都由 REQ/
ACK 握手信号定时。
? 可设置为同步方式,仅用于数据输入阶段和数据输出阶段。
? 通过, 同步数据传送 (SDTR)”消息来设置是否采用同步方式
。如表 7.5:
0 01 H 扩展消息指示
1 0 3 H 扩展消息长度
2 01 H S D T R 消息代码
3 m 最小传输时间 (4 xm 纳秒 )
4 x 最大 R E Q / A C K 偏移 (若 x = 0, 则为异步 )
字节 值 含义
表 7.5 SDTR消息的格式
7.4.6 EIA-232-D总线
? 一个广泛使用的串行总线标准
? 美国电子工业协会( EIA) 1987年制定的 EIA-232-D标准,
它的前身是 EIA在 1969年制定的推荐标准 RS-232-C。
? EIA-232-D接口由 25条信号线构成,其中有一条数据发送线,
一条数据接收线,在接口对接时,这两条线交叉连接。
? 标准提供主要几条控制线是:
? 定义了按位串行传输的数据终端设备 (DTE)和数据通信设备
(DCE)之间的接口信息。
? 当计算机和通信设备(如 MODEM和数字传真机)连接时,
计算机的串行接口地位等同于数据终端设备。
(1) 请求发送 RTS( Request To Send)
当发送方准备发送数据时,向对方发出一个 RTS信号,
以询问接收方是否准备好。
(2) 允许发送 CTS(Clear To Send)
当接收方收到发送方送来的 RTS信号时,如果接收方已准备
好接收数据,则向发送方回送一个 CTS信号作为回答。
(3) 数据终端准备好 DTR(Data Terminal Ready)
接收方做好了接收数据的准备后,就主动向发送方发送一个
DTR信号,以通知发送方进行数据发送。
(4) 数据集就绪 DSR(Data Set Ready)
发送方收到接收方送来的 DTR信号后,如果作好了发送准备,
就向接收方送出一个 DSR信号作为回答。
(5) 载波检测 CD(Carry Detect)
用于检测是否建立了连接。
7,5 多总线分级结构
■ 一个计算机系统中采用两个以上总线的情况
就是多总线分层结构。
7.5.1 单总线结构
? 早期的计算机采用单总线结构方式。
? 它将 CPU、主存,I/O模块都挂接在一个总线上,
? CPU与主存,CPU与 I/O模块、主存与 I/O模块之间的传送都
通过一组总线进行。
? PDP-11和国产 DJS183机采用这种单总线结构。
? 单总线结构如图 7.18
C P U
MM I/O
……
I/O
图 7.18 单总线结构
? 单一总线体系结构简单、便于扩充。
? 总线上挂接了大量的高速设备(如:视频和图形控制器、
LAN控制器等)后,单一总线就再也无法满足系统的要求。
? 所有传送都共享一组总线,极易使总线成为整个系
统的瓶颈。
? 大量设备接到总线上后,性能就会急剧下降
7.5.2 双总线结构
? 在单总线的基础上再开辟一条 CPU与主存之间
的通路,形成以主存储器为中心的双总线结构。
C P U
MM
I / O ……
系统总线
I / O I / O
主存总线
图 7.19 (a) 以主存为中心的双总线结构
? CPU与主存间的通路称为主存总线。
? 主存总线的速度较高,由于只在主存与 CPU之间传
输信息,因而速度快,效率高,又减轻了系统总线的
负担。
? 主存与 I/O之间能直接传送,而不需通过 CPU。
? 国产 DJS184机采用该总线结构。
? 采用 IOP方式的双总线结构
? 主要用在采用输入 /出处理器( IOP)方式进行 I/O传送的计
算机系统中;
? 基本思想是将 I/O设备从单总线上分离出来,将原先的单总
线分成主存总线和 I/O总线。
? CPU、主存和输入 /出处理器之间的信息传送在主存总线上进
行;
? I/O设备与主机之间的信息交换通过 I/O总线和主存总线进行。
? 通过 IOP将 CPU和 I/O分离开来。减轻了 CPU参与 I/O的负担。
? 输入 /出处理器是一种专门用于进行输入 /出控制的特
殊处理器,它将 CPU中大部分 I/O控制任务接管过来,
从而具有对各种 I/O设备进行统一管理的功能。
? 这种总线结构是一种分层的总线结构,会将不同特性的外设分
类挂接在输入 /出处理器的不同通道上。
C P U
MM
I / O
……
I O P
I / O 总线
主存总线
I / O I / O
图 7.19 (b) 采用 IOP方式的双总线结构
7.5.3 三总线结构
? 在主存和高速的磁盘等设备之间引入一个
DMA总线,那么系统可构造一种三总线结构。
(图 7.20)
? 在三总线结构中,主存总线用于 CPU和主存之间的信息传送;
? I/O总线用于 CPU和各个 I/O之间进行信息传输;
? DMA总线用于高速外设和主存之间的信息交换;
? 在三总线结构中,DMA总线和主存总线不能同时用于访问主存。
C P U
MM
I /O ……
I /O 总线
D M A 总线
主存总线
高速
I/O
I /O I /O
图 7.20 三总线结构
? 传统的总线结构采用处理器 -Cache总线、
主存总线,I/O总线三级总线结构。( 图
7.21)
? 处理器和高速缓存之间通过专门的局部总线相连,并且可
将其他靠近 CPU的局部设备连接到该总线。
? 高速缓存同时还与主存储器一起连接到主存总线上,它们
之间通过主存总线进行数据传输。
? 这种结构引入了一条或多条扩充 I/O总线 (如 ISA、
EISA,MCA总线等 ),主存总线和扩充 I/O总线上
I/O设备之间的数据传送可以通过扩充总线接口来缓
冲,将 I/O设备 -主存间的通信与处理器的活动隔离
开来。
? 传统总线结构在 I/O设备性能都相差不大的情况下比较有效;
? 高速的视频图形设备,LAN和 SCSI 设备等如果还和低速的
串行接口、打印机等连在同一个总线上的话,势必会影响系
统的效率。
CPU Cache
局部总线
局部 I/O 控制器
主存
主存总线
扩展总线接口LAN SCSI FAX 串口
扩展总线
图 7.21 传统的三级总线结构
? 高性能多级总线结构
? 在主存总线和扩充 I/O总线之间引入一种高速总线
(如 VL总线,PCI总线等 ),将那些高速的大容量
I/O设备挂接在这种高速总线上。而低速 I/O设备
仍然由扩充 I/O总线支持。(图 7.22)
CPU
Ca c h e / 桥
局部总线
SCSI
高速
总线
扩展总线接口M o d e m F A X 串口
扩展
主存
L A N 图形设备
主存
总线
线
图 7.22 高性能多级总线结构
7.5.4 多总线分级结构举例
? 典型的多处理器系统的 PCI配置(图 7.23)
? Host/PCI桥,常称为北桥( North Bridge),用于
连接主处理器总线和第一级 PCI总线。
? PCI/ E(ISA)桥常称为南桥( South Bridge),用于
连接 PCI总线和 E(ISA)总线。南桥中通常含有中断控
制器,IDE控制器,USB主控制器和 DMA控制器。
? 北桥和南桥构成一个芯片组。在 PCI总线和 PCI总
线之间可以嵌入一个或多个 PCI/PCI桥。
CPU CPU
N or t h
Bri dge
M ai n
M em or y
A G P
G ra phi cs
A cc el er at or
AGP
Por t
V i deo
BIO S
Loc al
V i deo
M em or y
D
V
D
H os t P or t
V i de o P or t
M oni t or
V M I
( V i de o M od ul e I / F )
CCI R60 1
Et her n et SC SI
H B A
Sout h
Bri dge
I nt er r up t
co nt r ol l er
I D E
H ar d
D r i v e
PCI Sl ot s
I D E C D RO M
I RQ s
U S B
IO
A PI C
PCI I RQ s
Super
IO
I SA Bu s
Sys t em
BIO S
I SA Sl ot s
Soun d
C l i p s et
CO M 2
CO M 1
软盘
打印机
键盘
鼠标
麦克风音箱
耳机
R T C
PCI Bu s
图
7.
23
典
型
的
多
处
理
器
系
统
的PC
I
配
置
? 一种典型的多总线分级结构( Pentium Pro
服务器系统体系结构框图)
E(I SA ) 总线
P e ni t um P r o 总线
A P I C 总线
PCI 总线
PCI 总线
CP U 3
( B S P
)
主存
P C I /E( I S A ) 桥
I O A P I C
M odu l e
辅助 PB
H ost/P CI 桥
CP U 2
( AP )
CP U 1
( AP )
CP U 0
( AP )
H ost/P CI 桥
兼容 PB
图
7.
24P
en
tiu
m
Pr
o
服
务
器
系
统
体
系
结
构
框
图
? 图 7.24所示结构简要说明
1.何为处理器簇?
?,处理器簇 (Processor Cluster)”是指挂接在 Pentium Pro处理
器总线上的所有处理器的集合,它由一个到四个处理器组成。
2.什么是 BSP处理器?
? BSP处理器 (BootStrap processor)是指系统启动时读取并执行
POST( Power-On Self-Test)程序的那个处理器。
3,BSP如何启动其他处理器?
? 在 BSP中执行的代码中有部分代码是用来检测存在的其他处
理器的。检测到的这个信息以 MP表(多处理器表)的形式被
存储到一个非易失性存储器中,一个多处理器操作系统用这个
信息来确定可用的处理器及其类型和特征;
? MP OS会指示一个总线主控设备(即:磁盘控制器)
装入一个任务到主存;
? 在 BSP中执行的 OS内核就会让 BSP的内部 APIC通过 APIC总
线向其他某个处理器发出一个 StartupIPI( Intel-Processor
Interrupt)中断或消息,在这个消息包中包含了刚装入到主
存中的程序的起始地址;
? 接收到 StartupIPI消息的处理器立即退出等待 IPI状态,开始
读取并执行主存中的程序。
4.处理器和主存的关系
? 处理器都含有 L2 Cache以及 L1 Data Cache和 L1 Code Cache ;
? 一旦软件使处理器的 Cache处于使能状态,那么 Cache就开始
从主存储器复制信息;
? 在从主存复制信息时,处理器总是每次传送 32个字节的数据
块;每个数据块称为一页。
▲ 在处理器的 L2 Cache和 L1 Data Cache中的
每一页必须是以下四种状态之一
? I( Invalid)态,表明该页无效或在 Cache中不存在相应副
本。
? S(Shared)态,表明该页数据与主存中一样,并且在其他
Cache中有同样的副本。
? E(Exclusive)态,表明该页数据与主存中一样,并且在其他
Cache中没有同样的副本。
? M(Modified)态,表明该该页数据中已有一个或多个字节被
修改,并且只在本 Cache有效。该页对应的主存数据是陈旧
的(即:过时的)。
▲ 在 L1 Code Cache中行的状态只有两种情况,I
( Invalid)态或 S( Shared 或 Valid)态。
5.处理器之间的关系
? 处理器从主存中把信息读到自己的 Cache中,在一页
数据取到 Cache以后,程序可能会执行一个存储器写操作
来修改这页数据中的某一个或几个字节,这页副本数据就和
主存中的原数据不同。
? 如果采用一种回写 (Write-back)方式,那么处理器就将这些
新的数据字节写到这页中,然后对这一页置 M态表示已被修
改过。因为修改在处理器内部而不通过总线进行,所以主存
中的这页数据不被更新。
? 当一个设备在处理器总线上执行一个存储器读或写事务时,
所有的处理器必须在它们各自的 Cache中侦听这个主存单元
的地址,并向事务的发起者和主存控制器报告该主存单元在
Cache中的副本的状态,这样事务发起者才能根据侦听的结
果决定下一步该如何做。
6,Host/PCI桥
(1) 桥与处理器的关系
? Host/PCI桥是介于处理器总线和一个 PCI总线之间的桥。当
处理器发出一个总线事务后,Host/PCI桥必须根据事务的性
质进行相应的动作。
? Host/PCI桥必须知道从它开始的所有下级总线上挂接的存储
器空间的地址范围;
? Host/PCI桥在 PCI总线上作为其主控设备请求总线使用权,
在 PCI总线上重新发起事务。
(2) 桥与 PCI 主控设备及主存的关系
? 当一个 PCI主控设备在 PCI总线上发起一个事务时,Host/PCI
桥将根据不同情况进行动作。
? Host/PCI桥也必须知道主存空间的地址范围;
? 当事务是一个 I/O读或写时,采用不同芯片组桥的做法不同;
? 若在 PCI主控设备访问的桥中不存在要访问的 I/O端口,有的
就忽略它,有的就通过桥将该 I/O事务传递到处理器总线上。
(3) 桥与 EISA或 ISA 从设备的关系
? 桥必须知道是否有 EISA或 ISA总线挂接在它的下面。如果有
的话,那么当处理器发出一个对可能落在 EISA或 ISA目标范
围内的存储空间或 I/O地址空间的访问时,桥就必须作为一个
目标参与到处理器发出的事务中。
(4) 桥与桥之间的关系
? 如果系统中有两个 Host/PCI桥,那么它们将共享使用一个
BPRI#信号来请求对处理器总线的使用权,某一时刻只能允
许一个桥使用该信号。
(5) 桥与 EISA或 ISA 主控设备及 DMA的关系
? 当一个 EISA或 ISA 主控设备或在 E(ISA)桥中的 DMA通道要访
问主存时, E(ISA)桥就会在 PCI总线上发出一个主存读或写
的总线事务;
? 这样处在 E(ISA)桥和主存之间的 Host/PCI桥就必须申请处理
器总线的使用权, 控制对主存进行访问;
? 因为 EISA或 ISA主控设备和 DMA通道对存储器访问时间非常
敏感, 所以一般情况下, 介于 E(ISA) 桥和主存之间的
Host/PCI桥 ( 兼容 PB) 比其他 Host/PCI桥 ( 辅助 PB) 的优
先级要高 。
第 8章 输入输出设备
● 输入输出设备(又称外围设备)是计算机
系统与人或其它机器之间进行信息交换的装置。
? 输入设备的功能是把数据、命令、字符、图形、图象、声音
或电流、电压等信息,变成计算机可以接收和识别的二进制
数字代码,供计算机进行运算处理。
? 输出设备的功能是把计算机处理的结果,变成人最终可以识
别的数字、文字、图形、图像或声音等信息,打印或显示出
来,以供人们分析与使用。
● 计算机技术的迅速发展与应用的不断扩大,输入输
出设备种类日益增多,所处理的信息类型也不断增
加。输入输出设备智能化程度越来越高,使得输入
输出的速度、精度、质量、可靠性以及应用的灵活
性,方便性不断提高。
8,1 输入输出设备的分类与特点
8.1.1 分类
? 按信息的传输方向来分可以分成输入、输出与
输入 /输出三类设备。
1.输入设备,键盘、鼠标、光笔、触屏、跟综球、控制杆、数
字化仪、扫描仪、语言输入、手写汉字识别、以及纸带输入
机、卡片输入机、光学字符阅读机( OCK)等。
? 采用媒体输入设备如纸带输入机、卡片输入机、光学字符阅
读机等,这些设备把记录在各种媒体上的信息送入计算机。
一般成批输入,输入过程中使用者不作干预。
? 交互式设备有键盘、鼠标、触屏、光屏、跟踪对球等。这些
设备由使用者通过操作直接输入信息,不借助于记录信息的
媒体。输入信息可立即显示在屏幕上,操作员可以即时进行
删除、修改、移动等等操作。
2.输出设备:
? 显示器、打印机、绘图仪、语音输出设备,以及卡片
穿孔机、纸带穿孔机等。
? 将计算机输出的数字信息转换成模拟信息,送往自动控制系
统进行过程控制,这种数模转换设备也视为一类输出设备。
3.输入输出设备,磁盘机、磁带、可读 /写光盘,CRT终端、
通信设备等。这类设备既可以输入信息,又可以输出信息。
? 按功能分,输入输出设备也可以分成以下三类:
1.用于人机接口:
? 如键盘、鼠标、显示器、打印机等。这类设备用于人机交互
信息,且操作员往往可以直接加以控制;
? 这类设备又可以称为字符型设备,即输入输出设备与主机交
换信息以字符为单位,这时主机对外设的控制方法往往不同
于其它类型设备。
2.用于存储信息:
? 为磁盘、光盘、磁带机等;这类设备用于存储大容量
数据,作为计算机的外存储器使用;
? 这类设备又可以称为面向信息块的设备,即主机与外设交换
信息时不以字符为单位,而以由几十或几百个字节组成的信
息块为单位,这时主机对外设的控制也不同于字符型设备。
3.机 —机联系:
? 为通信设备(包括调制解调器)、数 /模、模 /数转换设备,
主要用于机 —机通信。
? 输入输出设备如果按所处理信息的形态来分,又可
以分成处理数字和文字的设备、处理图形与图像的
设备、以及处理声音与视频的设备等。
8.1.2 特点
1,异步性:
? 输入输出设备相对于 CPU来说是异步工作的,两者之间
( CPU与外设)无统一的时钟;
? 保证在连续两次 CPU和输入输出设备交往的时刻之间, CPU
仍能高速地运行它自己的程序或者外设管理程序, 以达到
CPU与外设之间, 以及外设与外设之间能并行工作 。
2.实时性:
? 计算机系统中,可能联接各种各样类型的很多外设,且这些外
设中有慢速设备,也有快速设备;
? CPU必须及时按传输速率和传输方式接收来自多个外设的信息
或向外设发送信息,否则高速设备可能有丢失信息的危险。
8,2 输入设备
8.2.1 键盘
3.多样性:
? 外设的物理特性差异很大,信息类型与结构格式
多种多样,这就造成了主机与外设之间连接的复杂性;
? 为简化控制,计算机系统中往往提供一些标准接口,以便各
类外设通过自己的设备控制器与标准接口相连,主机无需了
解各特定外设的具体要求,可以通过统一的命令控制程序来
实现对外设的控制。
? 键盘是由一组按键和相应的键盘控制器组成的输入
设备,其功能是使用者可通过击键向计算机输入数
据、程序和命令等,是计算机不可缺少的最常用输
入设备。
? 按键开关可归纳成触点式按键开关和非触点
按键式开关,计算机中基本上使用非触点按
键式开关(利用电压、电流或电磁场的变化
产生输出信号)。
? 键盘所采用的字符以及它们在键盘上的位置均有国
际标准和国家标准,如 ISO2530和 GB2787。
? 键盘可以分成三个区:
? 计算机键盘的键数,少的有 83个,多的可达 105个。
? 中央为打字键区,包括字母、数字、符号及一些如回车、换
档等特殊的功能键。
? 右侧为数字键区或光标移动键,由 Num lock功能键控制。
? 左侧或最上方是 10-12个特殊功能键,其功能由使用者定义。
? 键盘控制器由一些逻辑电路或单片机组成,
其功能是进行扫描, 判断按键的位置, 然后
将键盘上的位置码转换成相应的 ASCⅡ 码,
送入计算机 。
? 键盘可分成编码键盘和非编码键盘两类。
▲ 编码键盘,
? 按键排列成一个 m× n的二维阵列,每个按键对应该阵列中的
一个相关位置;
? 按下该键,由单片机或一些开关电路组成的编码器将该位置
进行译码,然后转换成相应的 ASCⅡ 码送入主机;
? 由于编码器由硬件构成,所以键盘响应速度快,当然硬件结
构也要复杂一些。
▲ 非编码键盘,
? 按下某键,该键在 m× n阵列中的位置码转换成
ASCⅡ 码的过程由软件来完成(主机执行键盘驱动程
序,进行查表);
? 这种键盘控制器构成简单;当然其速度会慢一些;由
于主机速度远比人按键速度快,且这种键盘上某些键
的功能可以通过软件来重定义,使用灵活。
? 键盘上也可以输入如汉字等非西文字符,这由各种汉字输入
法自行定义。
? 键盘位置码送入计算机,经过汉字输入软件的处理,转换成
该汉字所对应的内码,再进行显示、存储等其它操作。
8.2.2 鼠标器
? 鼠标器( mouse)是一种相对定位设备。它不
像键盘那样能进行字符或数字的输入,主要
是在屏幕上定位或画图用。
? 鼠标器在计算机上的应用要比键盘晚,随着计算机图形学与
图像处理技术的发展,鼠标得以广泛应用。
? 鼠标器是由于其外形如老鼠而得名,通过电缆与主机相连。
? 鼠标器在桌上移动,其底部的传感器检测出运动方向和相对
距离,送入计算机,控制屏上鼠标光标作相应移动,对准屏
幕上的图标或命令,按下鼠标上相应按纽,完成指定的操作。
? 根据鼠标器所采用传感器技术的不同,鼠标
器可以分成两类:机械式与光电式。
▲ 机械式鼠标器,
? 其底部有一个圆球,鼠标移动时,圆球滚动带动与球相连的
圆盘。圆盘上编码器把运动方向与距离送给主机,经软件处
理,控制光标作相应移动。
? 该类鼠标器简单,使用方便,但也容易磨损,且精度差。
▲ 光电式鼠标器,
? 其底部无圆球,而是由光敏元件和光源组成。使用时,必须
在网格板上移动,光源发射光线在网格上反射后为光敏器件
所接收,测出移动方向和距离,送入计算机,控制光标的移
动。
? 这类鼠标器精度高,可靠性好,但要专门的网格板。
▲ 机械光电式鼠标器
? 底部虽有圆球,但其带动的是光学编码盘,避免了机械磨损
,也不需专用网格板。
? 鼠标器与主机的连接:
? 通过总线接口或通信接口连接。总线接口需要鼠标接口板,
通信接口则是把鼠标器接在通信口上;目前大部分个人计算
机把鼠标器接在串行通信口 COM1或 COM2上。
8,3 打印机
8.3.1 打印机的种类
? 以其印字原理来分可以分成击打式打印机和
非击打式打印机两类,以其输出方式又可分
为串行打印机和并行打印机两种。
1.击打式打印机:
? 以机械力量击打字锤从而使字模隔着色带在纸上打印出字来的
设备,是最早研制成功的计算机打印设备。
? 按字锤或字模的构成方式来分,又可以分成整字形击打印设备
和点阵打印设备两类。
? 整字形击打印设备,印字美观自然,可同时复印数份;缺点是
噪音大,印字速率低,字符种类少,无法打印汉字或图形,且
易磨损。
? 点阵打印设备,结构简单,印字速度快,噪声比整
字形击打印设备小,成本低,且可以打印汉字或图
形、图像,是目前仍在广泛使用的一类打印设备。
2.非击打式印字机:
? 利用物理的(光、电、热、磁)或化学的方法实现印刷输出
的设备。
? 这类设备的印字头不与纸或其它媒体接触,或虽接触但无击
打动作。
? 这类设备打印无噪声,印字速度快,可以打印汉字、图形与
▲ 非击打式印字机还可以分成多种类型:
? 激光印字机,是利用激光来打印出精美文字和图片的一种输
出设备。印刷速度快,印字质量好,噪音低,分辨率高,印
刷输出成本低,是目前应用最广泛的一种非击打式印字机。
? 喷墨打印机,是利用喷墨头喷射出可控的墨滴从而在
打印纸上形成文字或图片的一种设备。也是目前应用较
多一种打印输出设备。
? 热敏打印机,有热印纸式和热转印式两种。
· 利用印字头上多个电热元件在特殊的热敏纸上瞬时加热形成
字符的设备叫热敏纸打印机;
· 利用转印色带将字符转印到纸上的设备叫热转印打印机,热
敏打印机可以印刷出色彩精美逼真的图像;
· 还有电灼式印字机、静电印字机、离子沉积印字机和电子照
相印刷机等。
8.3.2 点阵打印机
? 驱动印针的电磁铁受字符点阵内容的控制,
有点的地方即打印,无点的地方不打印。每
完成一列打印,印字头右移一个点距。如此
一列一列地打印,直到一行打印结束,打印
机走纸一行距,印字头再返回起始位置重新
开始打印。
1,输出数据与打印针的对应关系 (图 8.1)
? 读出内存中的输出点阵数据,经过变换后送到打印缓冲。每
读出 3个字节,对应 24针一列打印数据,一列一列地读输出数
据送打印缓冲,直到一行读出完毕,主机发回车或换行命令,
打印机才真正把打印缓冲中的一行数据在纸上打印出来。
? 必须注意的是输出字符点阵或图形点阵与打印针之间的对应
关系,包括高 /低字节的按排,不同类型的打印机,其排列是
有差别的。
70...70...7 0...
7
7
0
7
0
0
1st 2nd 3rd
内存排列输出数据
Msb
Lsb
1st byte
2nd byte
3rd byte
输出数据 印针排列
1st 8针
3rd 8针
2nd 8针
...
...
...
图 8.1 数据与印针的对应关系
..
..
..
..
..
..
..
..
..
..
..
..
2.打印机与打印控制器之间的连接
CPU
数据锁存器
命令译码
控制锁存器
总线缓冲
数据 0-7
初始化、选通、自动输纸
忙、缺纸、联机、认可、出错
图 8.2 打印控制器与打印机的连接
数 据
地 址
INT 打印机
打印控制器
▲ 打印控制器由以下基本部件组成:
? 数据锁存器,暂存 CPU送来的打印数据 。 该数据可以
送打印机缓冲器准备打印, 也可以回送 CPU以便进行检测用;
? 命令译码,对 CPU送来的命令进行译码, 产生打印控制器内部
使用的几个命令, 如数据传输方向, 读数据, 写数据, 读控制
,写控制和读状态等;
? 控制锁存器,锁存 CPU送来的控制命令, 如初始化, 选通, 自
动输纸等 。 这些命令也可以回送 CPU以便检测用;
? 总线缓冲,保存打印机送来的五个状态信息:打印机忙, 缺纸
,联机, 认可和出错等, 以供 CPU随时检测用 。
? 打印控制器与 CPU的连接有数据线, 地址线 ( 寄存器的地址 )
和中断信息 INT。
3.工作流程
▲ 以微机程序
查问方式为
例,输出一
个字符(和
一行字符)
的流程 (图
8.3)。
1,打印机初始化
2,输出一个打印字节
3,读打印机状态
4,打印机 "忙 "吗?
5,发 "选通 "信号
6,读打印状态
7,有错吗?
8,输出一行完了吗?
9,送回车键
10,结 束
图 8.3 打印机输出一行字符的流程
Yes
NO
Yes
Yes
NO
NO
4.打印机命令序列
设定点阵图形打印方式下
进入图形打印方式
输出点阵信息
满由 n 1n2 指定的列了吗?
取下一行信息输出
満 一帧信息完了吗?
结束图形方式,恢复字符
No
Yes No
流 程 对应的命令序列
ESC 2
ESC A n0 (走纸宽度由参数 n0指定 )
ESC K n 1 n2
走纸宽
输出点阵
ESC 2
方式下走纸宽 ESC A n 3 (走纸宽由 n3指定 )
图 8.4 点阵图形打印流程与命令序列
打印列数由 n 1 n2指定
Yes
8.3.3 激光印字机
? 激光印字机具有高速性( 20-80ppm)、高质量(分辨
率可达 300-600dpi,甚至更高)、低噪声(小于
55dB)、多种印字模式(配有 PCL语言或 PostScript
语言),价格日益降低。
1.激光印字机的组成与工作原理
▲ 激光印字机由打印机控制器和打印装置两部分组成 。
? 打印装置是一组电子与机械相结合的系统, 负责把打印机控制
器生成的点阵数据打印出来;由光学扫描装置, 感光鼓, 硒鼓
,显象装置, 输纸机构和粘合装置等组成;
? 打印机控制器由功能较强的处理器、缓冲存储器以及相应的辅
助电路构成,负责与主机的通信,解释主机送来的打印命令,
格式化打印内容,光栅化处理,送打印装置进行输出;
? 整个印字过程可以分成下面几步来完成:感光体充电 生成潜
像 显像 转印 固定 感光体清除。
F-透镜
纸
稳速电机
图 8.5 激光印字机原理图
2.打印机语言
▲ 打印机语言是一组控制打印机工作的命令,打印机按照这些
命令来处理主机送来的打印数据,打印出复杂的文字与图像。
▲ 打印机语言可分成两类:一类是页面描述语言( PDL),其
中以 Adobe公司的 PostScript语言最有名;另一类是 Escape码
语言,其中以 HP公司的 PCL语言最有名。
? PostScript语言,诞生于 80年代中期,目前已有 PostScript1,2
,3三种版本;有很强的图形、图像、文字和彩色处理功能,
目前广泛应用于高档彩色激光印字机。
? PCL语言,目前已有 PCL3,4,5,6多种版本,它是
一种 Escape码语言,点阵打印机中的 Ese命令序列实
际上是一种低版本的 PCL语言。
? PCL语言版本的不断升级,其处理图形、图像、文字与彩色
的功能日趋增强,它比 PostScript语言简单一些,解释速度快,
所以目前广泛安装在激光印字机、喷墨打印机等设备中。
8,4 显示器
■ 显示器是用来显示数字、字符、图形和图像
的设备,它由监视器和显示控制器组成。
8.4.1 监视器
1.监视器工作原理
▲ 监视器由阴极射线管( CRT)、亮度控制电路(控制
栅)、以及扫描偏转电路(水平 /垂直扫描偏转线圈)
等部件构成(图 8.6)。
聚焦系统 垂直偏转
水平偏转
电子束
荧光层
灯丝
图 8.6 监视器的构成
栅 极
(亮度控制 )
▲ CRT控制器( CRTC)接口有两种方式:
? 将 CRT的水平 /垂直同步信号( HSYNC/VSYNC)以
及亮度控制信号( R,G,B)分别接监接器的相应
输入端,这种控制方式图像好,分辨率高;
? 水平 /垂直同步信号和亮度控制信号全部复合在一起,送监视
器,这种控制方式成本低,但质量差些。
1,CRT时序控制
▲ 帧频, 行频以及分辨率的关系
? 图像必须以 50帧 /秒以上的速度进行刷新;
? 当分辨率为 640× 480时, 且假定水平回扫期和垂直回扫期各
占水平扫描周期和垂直扫描周期的 20%;
? 行频为 480线 ÷ 80/100× 50帧 /秒 =30KHZ;
? 水平扫描周期 HC=1/30KHZ=33μS。
? 每一象素读出时间为 33μS× 80%÷ 640=40~ 50nS
显示区
垂直回扫期
行数
/每帧
垂直扫描总时间
水平
回扫
VSYNC
图 8.7 CRT 时序
HC,水平扫描周期
(水平扫描总时间 )
VC,垂直扫描周期
(垂直扫描总时间 )
HSYNC,水平同步信号
VSYNC,垂直同步信号
水平显示宽HSYNC
VC
HC
? 若分辨率提高到 1024× 768,帧频为 60帧 /秒,则行频
提高为 57.6KHZ,水平扫描周期 HC=17.4μS,每象素
读出时间减少到 13.6μS。
? 可以清楚看到,分辨率越高,为保证图像不闪烁,则
时间要求越高(每一象素读出、显示时间越短),成
本也随之迅速上升。
▲ 光栅扫描显示器的扫描方式还可以分成逐行扫描与隔行扫描
方式两种。
8.4.2 光栅扫描显示器工作原理
1.字符显示工作原理
▲ 显示器显示字符时有两种模式。
? 一种是字符模式,显示存储器中存放的是字符的编码 (ASCⅡ
码或汉字代码 )及其属性(如加亮、闪烁等),其字形信息存
放在字符发生器中。
? 另一种是图形模式,此时每一字符的点阵信息直接存储在显
示存储器中,字符在屏幕上的显示位置可以定位到任意点。
▲ 字符模式
(1) 组成,由显示控制器 CRTC、显示存储器和字符发生器组成。
? CRTC形成行、列地址信号以选择字符存贮器对应的 ASCⅡ
码值,在光栅计数信号控制下,读出点阵信息;
? CRTC产生 HSYNC,VSYNC同步信号。显示存储
器由字符存储器 (存储字符的 ASC Ⅱ 码值 )和属性存
储器 (存储字符的亮度、颜色等属性 )构成。
(2) 显示字符的过程,(图 8.8)
? CRTC给出了字符存贮器的地址去选择光标对应位置的字符
代码,读出代码值送字符发生器;
? 在光栅计数信号的控制下,读出相应字符的点阵信息,送移
位电路进行并 /串变换,再结合属性控制,送视频控制电路;
? 监视器在 HSYNC和 VSYNC的控制下,在屏幕相应的行、列
位置显示出对应的字符;
? 字符存贮器和属性存储器的内容一般是在 CRTC的回扫期由
CPU写入。
CPU CRTC
属性
存储器
字符
发生器
字符
存储器
属性译码
移位电路 + CRT
Addrss
Date
光栅计数 (RA0- RA4)
并 /串 变换
图 8.8 字符显示过程
HSYNC,VSYNC
2.彩色或多级灰度图象的显示原理
▲ 彩色或单色多级灰度图象显示,每一个象素需要
使用多个二进位来表示,图形存储器有两种组织方
式:多个位平面方式和组合型象素格式。
(1) 多个位平面方式( planes_pixel format)
? 显示存储器由多个位平面(如 R,G,B,I)组成 (图 8.9)。
CRTC除了完成以前介绍的二个基本功能外,还能实现画图
功能 ; CRTC目前在微机系统中又称为图形卡。
CPU CRTC
Data
显存
D/A
32
1
0
I
R
BG
移位寄存器
Address
R,G,B
亮度信号
图 8.9 位平面方式图形显示
R
(2) 组合型象素格式( packed_pixel format)(图 8.10)
? 用显存中一个字的若干位 (称为象素深度)来代表一
个象素。
CPU CRTC
8位,
..,..,..
28=256
个单元
彩色表
图 8.10 组合型象素格式图形显示
88 8
CRT
显示存储器
R G B
? 如 8bit/象素,可以有 256色。若为 24bit/象素,可达
16M种颜色 (称为真彩色 )。
? 每次画图操作,同时对 8位进行读 /写。
? 其优点是象素操作速度快,彩色能力强,但对显存读出速度
要求更快了,因此引进了一次读出多个字节的方案。
(3) 彩色表功能( color table或 video-lookup table)
? 从显存读出的象素值不直接送 CRT亮度信号,而是
去查一张表(彩色表),从表中读出的内容(有 R、
G,B三个分量值)才去控制 CRT的亮度。
? 彩色表功能:
1) 扩大彩色范围,如从 8位共 256色扩大到 24位共 16M种不同颜
色,但是在一幅图上仍只能同时出现 256色;
2) 彩色表是 RAM,可以由 CPU直接改写。当写入内容变化而显
存内容不变,则屏幕上显示色也就改变了。利用彩色表还可
以实现高速清屏和简单的动画功能。
8.4.3 IBM PC图形显示器
? 随着显示控制器(或称图形卡)性能的逐步改
进和提高,出现多种类型的字符 /图形显示器。
表 8.1 IBM PC显示器基本性能
显示器型号 CRTC 分辨率 颜 色
MDA MC6845 720× 350 单色 (仅字符显示 )
CGA MC6845 640× 200 单色
320× 200 4色
EGA VLSI 640× 350 16/64色 (彩色表为 64色 )
VGA VLSI 640× 480 16/218色 (彩色表为 218)
320× 200 256色
TVGA VLSI 1024× 768 16/218
640× 480 256色
AGC HD63484 1024× 768 256/224色
SGA TMS34010 1280× 1024 256色
640× 480 216色
● 部件之间的两种互连方式:
? 各部件之间通过单独的连线互连,称为 分散连接方式 。
? 各个部件连接到一组公共信息传输线上,称为 总线连接方式 。
● 总线结构的两个主要优点是 灵活 和 成本低 。
? 灵活性体现在新部件可以很容易地加到总线上,且部件可以
在使用相同总线的计算机系统之间互换。
? 一组单独的连线可被多个部件共享,所以总线的性价比高。
? 现代计算机普遍使用的是总线互连结构。
● 总线的主要缺点是它可能产生 通信瓶颈 。
● 本章着重介绍总线的基本概念、总线设计中的几个
因素、总线标准及其现代计算机的总线互连结构。
第 7章 总线及总线互连结构
● 部件之间的两种互连方式:
? 各部件之间通过单独的连线互连,称为 分散连接方式 。
? 各个部件连接到一组公共信息传输线上,称为 总线连接方式 。
● 总线结构的两个主要优点是 灵活 和 成本低 。
? 灵活性体现在新部件可以很容易地加到总线上,且部件可以
在使用相同总线的计算机系统之间互换。
? 一组单独的连线可被多个部件共享,所以总线的性价比高。
? 现代计算机普遍使用的是总线互连结构。
● 总线的主要缺点是它可能产生 通信瓶颈 。
● 本章着重介绍总线的基本概念、总线设计中的几个
因素、总线标准及其现代计算机的总线互连结构。
7,1 总线的基本概念
■ 计算机内部进行信息交换,必须在部件之
间构筑通信线路,通常把连接各部件的通
路的集合称为 互连结构 。
■ 互连结构从分散结构发展到总线结构。
■ 总线是连接两个或多个功能部件的一组共享的信息
传输线,它的主要特征就是多个部件 共享传输介质 ;
一个部件发出的信号可以被连接到总线上的其他所
有部件所接收。
7.1.1 总线的特性和分类
(1) 物理特性:
▲ 总线的物理特性是指总线在机械物理连接上的特
性。包括:连线类型、数量、接插件的几何尺寸
和形状以及引脚线的排列等。
▲ 从连线的类型来看,总线可分为电缆式、主板式
和底板式。
▲ 连线的数量来看,总线一般分为串行总线和并行
总线。在并行传输总线中,按数据线的宽度分 8位、
16位,32位,64位总线等。
? 总线的特性
(2) 电气特性:
▲ 总线的电气特性是指总线的每一条信号线的信号传
递方向、信号的有效电平范围。
△ 总线的电平表示方式有两种,单端方式 和 差分方式 。
? 在单端电平方式中,用一条信号线和一条公共接地
线来传递信号;采用正逻辑。
? 差分电平方式采用一条信号线和一个参考电压比
较来互补传输信号,一般采用负逻辑。
△ CPU发出的信号为输出信号,送入 CPU的信号为
输入信号。
▲ 一般串行总线用于长距离的数据传送,并
行总线用于短距离的高速数据传送。
(3) 功能特性:
▲ 总线功能特性是指总线中每根传输线的功能。如地
址线用来传输地址信息,数据线用来传输数据信息,
控制线用来发出控制信息,不同的控制线其功能不
同。
(4) 时间特性:
▲ 总线时间特性是指总线中任一根传输线在什么时间
内有效,以及每根线产生的信号之间的时序关系。
用信号时序图来说明。
? 根据所连接部件的不同,总线通常被分成三
种类型,
(1) 内部总线:
▲ 指芯片内部连接各元件的总线。如 CPU芯片内部,
在各个寄存器,ALU、指令部件等各元件之间也有
总线相连。
(2) 系统总线:
▲ 指连接 CPU、存储器和各种 I/O模块等主要部件的
总线。有主板式和底板式总线。
? 主板式总线是一种板级总线,主要连接主机系统印
刷电路板中的 CPU和主存等部件,也被称为处理
器 -主存总线。
? 底板式总线通常用于连接系统中的各个功
能模块,实现系统中的各个电路板的连接。
典型的有 PCI总线,Multibus总线,VME
总线等。
(3) 通信总线:
▲ 这类总线用于主机和 I/O设备之间或计算机系统之
间的通信。
▲ 由于这类连接涉及到许多方面,包括:距离远近、
速度快慢、工作方式等,差异很大,所以通信总
线的种类很多。
7.1.2 系统总线的组成
? 系统总线通常由一组控制线、一组数据线
和一组地址线构成 ;也有数据线和地址线复
用。
? 数据线用来承载在源部件和目的部件之间传输的信
息,这个信息可能是数据、命令、或地址(数据线
和地址线复用时)。如写磁盘。
? 地址线用来给出源数据或目的数据所在的主存单元
或 I/O端口的地址。
? 控制线用来控制对数据线和地址线的访问和使用;
控制线用来传输定时信号和命令信息。
? 典型的控制信号包括:
? 时钟( Clock):用于总线同步。
? 复位( Reset):初始化所有设备。
? 总线请求( Bus Request):表明发出该请求信号
的设备要使用总线。
? 总线允许( Bus Grant):表明接收到该允许信号
的设备可以使用总线。
? 中断请求( Interrupt Request):表明某个中断
正在请求。
? 中断回答( Interrupt Acknowledge):表明某个
中断请求已被接受。
? 存储器读( Memory Read):从指定的主
存单元中读数据到数据总线上。
? 存储器写( Memory Write):将数据总线
上的数据写到指定的主存单元中。
? I/O读( I/O Read):从指定的 I/O端口中读
数据到数据总线上。
? I/O写( I/O Write):将数据总线上的数据
写到指定的 I/O端口中。
? 传输确认( Transfer ACK):表示数据已
被接收或已被送到总线上。
7.1.3 总线的数据传输方式
? 计算机总线中,数据传输有两种基本方式:
串行传输、并行传输。
1.串行传输
▲ 串行总线的数据在数据线上按位进行传输,只需要
一根数据线,线路成本低,适合于远距离的数据
传输。
▲ 在计算机中普遍使用串行通信总线连接慢速设备,
象键盘、鼠标和终端设备等。近年来出现一些中
高速的串行总线,可连接各种类型的外设,可传
送多媒体信息,如 P1394串行总线。
▲ 串行传输中的数据转换
? 发送部件中并行数据到串行数据的转换,称为 拆
卸 ;
? 接收部件中串行数据转换成并行数据,称为 装配 。
▲ 串行传输中的数据传输速率
? 在信息传输通道中,携带数据信息的信号单元叫码
元;
? 每秒钟通过信道传输的码元数称为码元传输速率,
简称波特率。反映了每秒钟传输数据的位数。
? 每秒钟通过信道传输的信息量称为位传输速率,简
称比特率。反映了在传输介质上每秒钟传输的所有
信息位数。
? 波特率、比特率的单位都是位 /秒( bps);比特率
可以大于或等于波特率
▲ 串行传输方式有 同步传输方式 和 异步传输方
式 两种。
? 在异步传输方式中,每个字符要用一位起
始位和若干停止位作为字符传输的开始和
结束标志,需占用一定的时间。
? 同步传输方式要求有时钟来实现发送端和接收端的
同步,传输速度较快;但接口的硬件较复杂。
? 数据块传输时,只在数据块的开始和结尾处用一个
或若干个同步字符作标志。这种传输方式称为同步
串行传输方式。
2.并行传输
▲ 并行总线的数据在数据线上同时有多位一
起传送,每一位要有一根数据线。并行传
输比串行传输速度要快得多,但需要更多
的传输线。
▲ 并行传输中的数据传输速率
? 衡量并行总线速度的指标是最大数据传输率,即
单位时间内在总线上传输的最大信息量。一般用
每秒多少兆字节( MB/s)来表示。
? 总线的工作频率为 66MHz,总线宽度为 32位,则
它的最大数据传输率为,66 × 32/8 = 264MB/s;
这里 1M=106 。
▲ 将并行方式和串行方式结合起来进行数据传输。
7,2 总线设计的要素
总线设计时要考虑的基本要素包括:
1)信号线类型:专用信号线 / 复用信号线
2)仲裁方法:集中式裁决 / 分布式裁决
3)定时方式:同步通信 / 异步通信
4)事务类型:总线所支持的各种数据传输类型和其
他总线操作类型
5)总线带宽:单位时间内在总线上传输的有效数据
7.2.1 信号线类型
? 专用信号线就是指这种信号线专门用来传送
某一种信息。
? 采用数据和地址专用线,主存单元地址和数据可以
同时送到总线上。
? 复用信号线就是指一种信号线在不同的时间传输不
同的信息。
? 信号线的分时复用,可以使用较少的线传输更多的
信息,从而节省了空间和成本。
? 挂接的每个部件的电路变得更复杂了;还潜在地降
低了性能。
7.2.2 总线裁决
? 总线上连接的各个部件,根据其对总线有无
控制能力被分为主控设备和从设备两种。
? 从设备只能响应主控设备发来的总线命令。
? 系统可以只有一个总线主控设备,所有总线操作都
必须由处理器控制。
? 总线主控设备控制对总线的访问,它能够发起并控
制所有总线请求。
? 另一种选择是采用多个总线主控设备,每个
主控设备都能启动数据传送。
? 必须提供一种机制用来决定在某个时刻哪个
设备具有总线使用权。
? 决定哪个总线主控设备将在下次得到总线使用权的
过程称为总线裁决。
? 两类总线裁决方式:集中式和分布式
? 集中式裁决方式是将控制逻辑做在一个专门
的总线控制器或总线裁决器中,将所有的总
线请求集中起来,利用一个特定的裁决算法
进行裁决。
? 裁决方案:
一是“等级性”,即:每个主控设备有一个总线优
先级,具有最高优先级的设备应该先被服务;
二是“公平性”,即:任何设备,即使是具有最低
优先权的设备也不能永远得不到总线使用权。
? 分布式的裁决方式,没有专门的总线控制器,其控
制逻辑分散在各个部件或设备中。
1.集中裁决方式( 3种 )
(1) 菊花链查询方式
▲ 优先级由主控设备在总线上的位置来决定,
要求拥有总线使用权的高优先级设备简单地拦截
总线允许信号,不让其更低级的设备收到该信号。
BG
数据线
地址线
总
线
控
制
部
件
设备 0 设备 1 设备 n……
BR
BS
图 7.1 菊花链查询方式
▲ 菊花链总线的优点是简单,只需很少几根
线就能按一定优先次序实现总线裁决,
而且易扩充设备。
▲ 缺点是不能保证公正性,也即一个低优先
级请求可能永远得不到允许;
? 对电路故障较敏感,一个设备的故障会影响
到后面设备的操作;
? 菊花链的使用也限制了总线速度。
(2) 计数器定时查询方式
▲ 此方案比菊花链查询方式多了一组设备线,少了一
根总线允许线 BG。 (图 7.2)
▲ 总线请求的设备号与计数值一致时,该设备便获得
总线使用权,此时终止计数查询,同时该设备建立总
线忙 BS信号。
数据线
地址线
总
线
控
制
部
件
设备 0 设备 1 设备 n
……
BR
BS
设备线
图 7.2 计数器定时查询方式
▲ 设备的优先级通过设置不同的计数初始值来
改变
? 计数总是从 0开始,此时设备的优先次序是
固定的;
? 计数的初值总是上次得到控制权设备的设备
号,那么所有设备的优先级是相等的,是循
环优先级方式。
▲ 计数器定时查询方式具有灵活的优先级,
它对电路故障也不如菊花链查询那样敏感。
? 这种方式增加了一组设备线,每个设备要对
设备线的信号进行译码处理,因而控制也变复杂了。
(3) 独立请求方式
▲ 这种方案使用一个中心裁决器从请求总线
的一组设备中选择一个。(图 7.3)
▲ 每个设备都有一对总线请求线 BRi和总线允许
线 BGi00
▲ 总线控制器可以给各个请求线以固定的优先级,也
可以设置可编程的优先级。
? 裁决算法由硬件来实现,可采用固定的并行判优算
法、平等的循环菊花链算法、动态优先级算法(如:
最近最少用算法、先来先服务算法)等。
▲ 这种方法的优缺点:
? 响应速度快,若是可编程的总线控制器,优先级
设置灵活。
数据线
地址线总
线
控
制
部
件
设备 0 设备 1 设备 n
BR 0
BG 0
BR 1
BG 1
……
BR 2
BG 2
图 7.3 独立请求方式
? 控制逻辑很复杂,控制线数量多。
? 若 n表示允许挂接的最大设备数,三种裁决方式所需裁决线
分别为,2根,log2n根,2n根。
2.分布式裁决方式( 3种)
(1) 自举分布式裁决
▲ 使用多个请求线,不需要中心裁决器,每个设备独
立地决定自己是否是最高优先级请求者。(图 7.4)
▲ BR0为总线忙信号线,BRi为设备 i的总线请求线。
BR0
设备 0 设备 1 设备 3
BR1
BR2
设备 2
BR3
图 7.4 自举分布式裁决
▲ 一般优先级是固定的
? 总线裁决期间每个设备将有关请求线上的信
号合成后取回分析,根据这些请求信号确定自
己能否拥有总线控制权。
▲ 这种方案需要较多的连线用于请求信号,所以,许
多总线用数据线 DB作为总线请求线。
? 每个设备通过取回的合成信息能够检测出其他设
备是否发出了总线请求。
? NuBus是在 MacintoshII 中的底板式总线,就采用
该方案; SCSI总线也采用该方案。
(2) 冲突检测分布式裁决
▲ 这种方案中,每个设备独立地请求总线,多
个同时使用总线的设备会产生冲突,这时冲
突被检测到,按照某种策略在冲突的各方选
择一个设备。
▲ 当冲突发生时,两个设备都会停止传输,延迟一个
随机时间后再重新使用总线。
▲ 这种方案一般用在网络通信总线上。
(3) 并行竞争分布式裁决
▲ 需要使用总线的主控设备把自己的仲裁号发送到仲
裁线上,每个设备根据并行竞争算法决定在一定时
间以后占用总线还是撤销仲裁号。
厎
cn7 cn6 cn0
比
较
得胜
仲裁号
AB7 AB6 AB0
总线
仲裁线
设备
图 7.5 并行竞争分布式裁决
▲ 图 7.5是总线中有8根仲裁线 AB0~ AB7例子
▲ 两个设备同时要求使用总线,仲裁号分别是
00000101和 00001010;最终留在仲裁线上的
号为 00001010。
裁决号 1 裁决号 2
裁决线电平 裁决线逻辑
0
0
0
0
0
1
0
1
高
高
高
高
高
高
高
高
0
0
0
0
1
0
1
0
高
高
高
高
低
高
低
高
高
高
高
高
低
高
低
高
0
0
0
0
1
0
1
0
cn AB ABcn
表 7.1 并行竞争裁决逻辑举例分析结果
▲ 并行竞争方式与自举分布式裁决算法比较,
它可以用很少的裁决线挂接大量的设备。
? 例如,假定是8位仲裁号,自举分布式裁决
只能表示 8个优先级;
? 这种方式可以表示 256个优先级,仲裁号为
255的设备优先级最高,而0最低。
? Futurebus+总线标准使用这种裁决方案。
▲ 选择 不同裁决方案的因素包括:
? 总线在 I/O设备的数量和总线长度的可扩充性方面
如何?
? 总线裁决应该多快?
? 需要什么程度的公正性等。
7.2.3 定时方式
? 一个取得了总线控制权的设备如何控制总线
进行总线操作呢?即如何来定义总线事务中
的每一步何时开始、何时结束呢?这就是总
线通信的定时问题。
? 总线通信的定时方式有四种:
? 同步协议
? 异步协议
? 半同步协议
? 分离事务协议
1.同步协议方式
▲ 如果一个总线是同步的,它的控制线中就有
一个时钟信号线,挂接在总线上的所有设备
都从这个公共的时钟线上获得定时信号。
? 一定频率的时钟信号线定义了等间隔的时间段,这
个固定时间段为一个时钟周期,也称一个总线周期。
? 该时钟信号有一个固定的通信协议。
▲ 图 7.6表示一个处理器 -主存总线,执行存储器读操作。
时钟
读命令
地址
数据
时钟周期
总线传输周期
主
设
备
从设备
图 7.6 同步通信协议(读操作)
▲ 同步总线有两个缺点:
? 第一,在总线上的每个设备必须以同样的时钟速
率进行工作;
▲ 这种类型的协议能够很容易地用一个有限状
态机实现,是预先确定的,只涉及到非常少
的逻辑,所以这种总线非常快,并且接口逻
辑很少。
▲ 处理器 -主存总线一般都是同步的,因为通信的设
备靠得很近,而且数量又少。
? 第二,由于时钟偏移问题,同步总线如果要快的话
就不能很长。
2,异步协议方式
▲ 为了协调在发送和接收者之间的数据传送,一个异
步总线必须使用一种握手协议。
▲ 考虑一个设备请求从存储器中读一个字。
△ 假定存在以下三个控制线。
▲ 异步总线是非时钟定时,一个异步总线能够
连接带宽范围很大的各种设备。总线能够加
长而不用担心时钟偏移或同步问题。
? 握手协议由一系列步骤组成,在每一步中,只有当
双方都同意时,发送者或接收者才会进入到下一步 ;
? 协议是通过一组附加的控制线来实现的。
(1) ReadReq (读请求 ):用于指示一个读请求,
假定在送出该信号时,地址同时被放到地址
线上;
(3) Ack(回答):用于回答另一方送过来的 ReadReq
或 Ready信号。
? 在一个 I/O读事务中,该信号将由 I/O设备驱动有效,
因为是 I/O设备提供数据。
? 在一个存储器读事务中,该信号将由存储器驱动有
效,因为是存储器提供数据;
(2) Ready(数据就绪 ):用于指示数据字已在数据
线上准备好。
△ 图 7.7给出异步通信协议示意图;主设备从存储器
中读一个字。
Read Req
A ddre ss
D at a
A ck
Ready
1
2
3
4
5
6
2
4
6
7
图 7.7 异步通信协议
① 存储器接收到 ReadReq信号后,就从地址线上读取地
址信息,然后送出 Ack信号,表示它已接受了读请求
和地址信息。
② 主设备收到 Ack信号后,就释放 ReadReq信号和地址
线。
③ 存储器发现 ReadReq信号被释放后,就跟着也降下
Ack信号。
④ 当存储器完成数据的读出后,就将数据放到数据线上
,并送出数据就绪信号 Ready 。
⑤ 主设备接收到存储器送出的 Ready信号后,就从数据
线上开始读,并送出回答信号 Ack,告诉存储器数据
已经被读。
⑥ 存储器接收到 Ack信号后,就得知数据已被成功地读
取。此时它就降下 Ready信号,并释放数据线。
⑦ 主设备发现 Ready线降下后,也就跟着降下回答信号
Ack。
? 又一次握手过程完成。在这个过程中完成了一次数据
信息的交换
▲ 根据握手信号的相互作用方式,异步通信
有非互锁、半互锁和全互锁三种可能的方
式。(图 7.8)
Ready
Ack
(a)非互锁方式 (b)半互锁方式 (c)全互锁方式
Ready
Ack
Ready
Ack
图 7.8 异步通信的三种互锁方式
3,半同步协议方式
时钟
地址
数据
时钟周期
总线传输周期
读命令
就绪
回答
主
设
备
从
设
备
▲
所
有
事
件
都
由
时
钟
定
时
,
而
信
息
的
交
换
由
就
绪
和
应
答
等
信
号
控
制
的
通
信
方
式
称
为
半
同
步
通
信
方
式
。
图 7.9 半同步通信协议
▲ 半同步通信同时具有同步和异步通信的优点,既保
持了, 所有信号都由时钟定时, 的同步总线的特点
,又有, 不同速度的设备共存, 的异步总线的特点
。
▲ 就绪和应答等信号都在时钟的上升沿有效,
这样信号的有效时间仅限制在时钟到达的
时刻,而不受其他时间的信号干扰。
4,分离事务协议方式
▲ 有多个总线主控设备在总线上存在时,增
加有效总线带宽的另一个方法就是在总线
事务执行过程中,如果不需要使用总线时
立即释放总线,在其他设备获得总线进行
数据传输的同时,原来释放总线的事务在
做数据准备等非总线数据传输的操作。这
种类型的协议被称为分离事务协议( Split
transaction protocol)。
? 基本思想是将一个传输操作事务过程分成两个
子过程
主控 ( M )
地址
数据
S M
总线空闲
( 其它 主控
器可用 )
地 址, 命
令
SM
数据
从 ( S)
时钟
子周期 1 子周期 2
图 7.10 分离事务通信协议
▲ 分离通信方式的优点:
? 通过在不传送数据期间释放总线,使得其
他申请者能使用总线,实现一个总线为多
个主从设备间进行交叉并行式的信息传送。
这样可改进整个系统的总有效带宽。
▲ 分离通信方式的不足,
? 事务的分离使得完成一个事务的时间可能会增加
? 请求者的身份必须被传送并被从设备保存
? 从设备准备数据的过程相当复杂需要重叠多个事务
时,效果更明显。
? 这种方式控制相当复杂,一般在大型计算机系统和
高档微机系统中使用,普通微机系统中很少使用。
5,同步和异步的性能比较
▲ 同步总线通常比异步总线要快。因为异步
通信需要进行握手,增加了开销。
▲ 举例:比较同步和异步总线的最大带宽。
? 假定同步总线的时钟周期为 50ns,每次总线传输花 1个时钟
周期,异步总线每次握手需要 40ns,两种总线的数据都是 32
位宽,存储器的存储周期为 200ns。要求求出从该存储器中
读出一个字时两种总线的带宽。
? 同步总线具有 50ns的总线周期,其所需的步骤和时间为:
( 1)发送地址和读命令到存储器,50ns
( 2)存储器读数据,200ns
( 3)传送数据到设备,50ns
? 总时间为 300ns。最大总线带宽为 4B/300ns,即,13.3MB/s。
? 异步总线所需的步骤和时间为:( 图 7.7)
第①步为 40ns;
第②、③、④步为 Max(3× 40ns,200ns)=200ns;
第⑤、⑥、⑦步为 3 × 40ns=120ns。
总时间为 360ns。故产生的最大带宽为 4B/360ns=11.1MB/s。
? 同步总线仅比异步快大约 20%。
? 包括可以连到总线上的设备的个数与总线的物理距离;
? 异步总线能更好地适应技术的改变,并能支持更大范围内
的 响应速度;
? 尽管异步总线增加了开销,但 I/O总线大都采用异步通信。
▲ 尽管同步总线可能更快一点,但是在同步和异步之
间进行选择时,要考虑的不仅是数据带宽,而且要
考虑 I/O系统的能力。
▲,分离事务”协议方式,可按如下步骤进行:
( 1) 总线主控设备向存储器发出信号,送出地址
和请求类型。
( 2) 当存储器回答完请求后,主控设备释放所有
控制线。
( 4) 存储器向主控设备发出信号表示数据已经可用。
( 5) 主控设备通过总线接收数据,并向存储器指示它
已获取数据,所以存储系统可以从总线上撤消信
息。
( 3) 存储器访问开始,总线被释放为空闲以便在存储
器访问期间其他总线主控设备能使用总线。
7.2.4 总线事务类型
? 通常把在总线上一对设备之间的一次信息交
换过程称为一个“总线事务”;
? 把发出事务请求部件称为主控设备,也称请
求代理;
? 另一个部件称为从设备,也称响应代理。
? Pentium Pro处理器总线的事务类型有以下 11种。
? 延迟回答,当一个响应代理需要花很长时间才能完成某个事
务时,就通过发出该“延迟回答”事务以“分离事务”方式
来处理该事务。
? 中断响应,当处理器响应从 8259中断控制器送来的中断请求
而要去读中断向量时,处理器就发出该“中断响应”事务。
? 特殊事务,当处理器要广播一条与某个内部事件(如:
shutdown,halt等)有关的消息时,就产生该“特殊事务”
。
? 存储器读并无效,处理器产生该“存储器读并无效
”事务,主要是为了对一个 Cache行进行独占访问
。
? 存储器代码读,当处理器要从存储器中取指令时产
生该“存储器代码读”事务。
? 存储器数据读,当执行到某指令要从存储器中取数
据时,产生该“存储器数据读”事务。
? 分支跟踪消息,在指令执行过程中当一个转移目标的
条件被满足时,处理器就生成该“分支跟踪消息”事
务。它将送出转移指令的地址和转移到的目标指令的
地址。
? I/O读,当处理器执行 IN或 INS指令,要从某个 I/O设备读取
数据或状态时,处理器就发出该,I/O读”事务。
? I/O写,当处理器执行 OUT或 OUTS指令,要将数据或命令
写到某个 I/O设备上时,处理器就发出该,I/O写”事务。
? 存储器写(不可重试),当处理器要写回一个更新的
Cache行到存储器(淘汰)以便为一个新行腾出空间时
,由处理器发出该事务。
? 存储器写(可重试),当处理器执行到某指令需写数
据到存储器中去时,由处理器发出该事务。
? Pentium Pro处理器每个总线事务包含五个操作阶段
1)请求阶段(地址阶段)
2)检错阶段
3)侦听阶段
4)响应阶段
5)数据阶段
? 数据阶段,送数据到数据总线上,或从数据总线上取数据。
? 请求阶段,送出地址信息和事务类型信息、以及
有关事务的其他信息。
? 检错阶段,对请求阶段送出的地址和请求信息所对
应的奇偶校验信号进行检测。
? 侦听阶段,对请求阶段送出地址中所对应的数据检查其在各
个 Cache中的命中状态,确定以后阶段如何处理该事务。
? 响应阶段,根据请求的事务类型、检错和侦听结果,确定如
何响应当前事务。返回的响应结果可以是重试事务、延迟事
务、硬件错、无数据传送事务、回写( Writeback)事务或
正常数据传送事务等。对于前四种情况,事务在响应阶段就
可结束。
7.2.5 总线带宽
? 影响总线带宽的其他几个因素有:
(1) 数据总线宽度
增加数据总线的宽度可使总线一次传输更多数据位。
? 一个总线的带宽主要由总线定时方式所用的
协议决定的。
(2) 信号线是专用还是分时复用
将地址线和数据线单独设置可使写操作的性能更高,因为
地址和数据可在同一个总线周期内传送出去。
(3) 是否允许大数据块传送
允许总线以背靠背总线周期连续传送多个字而不发送地址信
息或释放总线,可以减少传送一个大数据块所需的时间,提
高总线带宽。这就是前面讲的串并结合的方式,也称突发数
据传送方式。
? 提高上述三个方面总线性能需要
更多的总线条数、增加复杂性或当一个长
数据块传送发生时会因为等待而增加响应
时间。
? 快速总线访问和高带宽是相互矛盾的两种设计要求
? 为了得到总线操作快速响应时间,必须通过简化通信路径
来使一次总线访问的时间降到最小;
? 为了获得较高的数据速率,又必须使总线带宽最大化,总
线带宽可以通过使用更多的缓冲和通过传送较大的数据块
两种方式来提高,它们都会增加完成总线操作的时延。
? 要求支持大范围内具有不同等待时间和数据传输率
的设备的需求也使总线设计面临挑战。
7,3 总线接口单元
■ 总线上的信号必须与连到总线上的各部件
所产生的信号相协调,起协调作用的控制
逻辑就是总线接口,
? CPU、存储器,I/O模块中都有与系统总线或其他
I/O总线的接口。
? 它是挂接在总线上的部件与总线之间的连接界面;
■ 总线接口单元的基本功能是:
(1) 定时和通信:在同步通信方式下,提供或接收时钟信号,
在时钟信号的控制下驱动或采样相应的信号线。在异步方
式下,按照握手协议对相应的信号线进行驱动、复位或采
样。
(2) 总线请求和仲裁:根据需要发出总线请求信号。
有些部件的总线接口具有集中方式下的总线控制
器,此时还要进行总线裁决。对于分布式裁决,
每个总线接口都要参与裁决过程。
(3) 控制操作:提供命令译码等控制逻辑,以根据总线传送过来
的命令启动总线部件进行相应的操作。
(4) 提供数据缓冲:当总线连接的部件之间有速度差异时,可以
在接口中设置一些数据缓冲寄存器,利用这些寄存器使不同
速度的部件得到匹配。
(6) 记录状态信息:有些接口还必须能够记录接口本身以及它所
挂接的设备的状态。例如接口中数据缓冲的使用情况等。
(7) 数据传送控制:有些接口还要对数据传送过程进行控制,例
如,对传输过程中的字计数器进行更新。
(5) 数据格式转换:当总线连接的部件之间数据格式
不同时,可以通过接口进行数据格式转换。例如
,串 并转换,8位 32位转换等。
(8) 中断请求和响应:根据需要发出中断请求信号或接
收中断请求并给出响应信号。例如,在外设的总线
接口中,当外设需要向处理器请求某种服务时,它
通过总线接口向 CPU发中断请求信号。而处理器的
总线接口则接收中断请求信号,并给出中断回答信
号。
■ 根据总线的数据传输方式,总线接口单元分
为串行总线接口和并行总线接口两类。
7,4 总线标准
■ 主板上的“处理器 -主存”总线经常是特定
的专用总线,而用于连接各种 I/O模块的 I/O
总线和底板式总线(通常是标准总线)可在
不同的计算机中互用。
■ 计算机工业界已经开发出了各种总线标准
? 使机器的扩充和新设备的连接更加方便
? 为计算机制造商和外围设备制造商提供了一种规范
? 按照同样的标准和规范生产各种不同功能的芯片、模块和整
机
? 这样可使芯片级、模块级、设备级等各级别的产品都具有兼
容性和互换性
? 使整个计算机系统的可维护性和可扩充性得到充分保证
■ 总线标准的形成有多种途径
? 第一种途径是由流行而自然形成的标准。有些机
器如此流行以致于它们的 I/O总线最终变成了事实
上的标准。例如,IBM PC-AT总线。
? 第二个途径是为了解决共性问题而提出一种标准,这种情
况下,标准往往会由一个小组来制定。 SCSI总线和
Ethernet就是由多个制造商合作提出的标准总线的例子。
? 第三种途径是通过标准化组织制定的。象 ANSI或 IEEE等
组织会提出一些总线标准。 PCI总线标准就是由 Intel发起、
后来由一个工业委员会发展起来的。
■ 现在的标准总线规范越来越复杂
? 通常包含信号分类、数据宽度、地址空间、传输速率、总
线仲裁、握手协议、总线定时、事务类型等内容。
7.4.1 ISA总线
? ISA( Industrial Standard Architecture)总
线是 IBM公司 1984年为推出 PC/AT机而建立
的系统总线标准。所以也叫 AT总线。
? ISA总线的主要特点:
( 1)能支持 64K I/O地址空间,16M主存地址空间的寻址,可进
行8位或 16位数据访问,支持 15级硬中断、7级 DMA通道。
( 3)支持8种总线事务类型:存储器读、存储器写,I/O读、
I/O写、中断响应,DMA响应、存储器刷新、总线仲裁。
( 2)是一种简单的多主控总线。除了 CPU外,DMA控制器、
DRAM刷新控制器和带处理器的智能接口控制卡都可成为
总线主控设备。
7.4.2 EISA总线
( 5)使用独立于 CPU的总线时钟,因此 CPU可以采用
比总线频率更高的时钟。它的时钟频率为8 MHz;
最大数据传输率为 16MB/s。
( 4)具有分立的数据线和地址线。
( 6) ISA总线共有 98根信号线,在原 PC/XT总线的 62根线的基
础上扩充了 36根线,与原 PC/XT总线完全兼容。
? 它从 CPU中分离出了总线控制权,是一种具有智能
化的总线,支持多总线主控和突发传输方式。
? EISA(Extended Industrial Standerd Architecture)
总线是一种在 ISA总线基础上扩充的开放总线标准。
( 1) EISA总线的时钟频率为 8.33MHz。
? EISA总线的主要特点:
( 6) CPU或 DMA控制器等这些主控设备能够对 4G范围的主存
地址空间进行访问。
( 5)地址线的宽度为 32位,所以寻址能力达 232。
( 4)数据线宽度为 32位,具有 8位,16位,32位数据传输能力,
所以最大数据传输率为 33MB/s。
( 3)具有分立的数据线和地址线。
( 2) EISA总线共有 198根信号线,在原 ISA总线的 98根线的基
础上扩充了 100根线,与原 ISA总线完全兼容。
7.4.3 VL总线( VESA总线)
? VL( VESA Local Bus)总线是 VESA
( Video Electronic Standard Association视频
电子标准协会)与 60余家公司联合推出的一
种通用的全开放局部总线标准,也叫 VESA
总线。
? 它的推出为微机系统总线结构的革新奠定了基础;
有效解决总线传输速率这一瓶颈问题。在此之前,
PC系列机一直采用单一慢速的系统总线体系结构。
? VL总线作为一种局部总线,它不是一个单独使用
的总线体系结构,而是对 ISA,EISA等系统 I/O总
线的补充,它需要和其他总线共存于一个系统中,
形成 ISA/VL或 EISA/VL等总线体系结构。
? VESA总线的主要特点:
( 1) VL总线的主要设计目标是支持 CPU直接与高速视
频控制器挂接;
( 2)其他外设如硬盘控制器,LAN控制卡以及其他高
速接口所连的外设,也可使用 VL总线;
( 3)它直接采用 CPU的时钟,最高主频可达 66MHz(实际上受
制于 VL总线扩充槽的性能,不能超过 40MHz),一般为
33MHz;
( 4)数据总线的宽度为 32位,可扩展到 64位;
( 5)当使用双倍时钟的 CPU(如 386类 CPU)时,必须将 CPU
时钟分频才能驱动 VL总线时钟。因此最大数据传输率为
132MB/s;
( 6) VL总线扩充槽是一种标准的 16位微通道型扩充槽。
E(ISA)总线连
接器
CPU 32位 VL总线连接器
64位 VL总线扩展
连接器
图 7.11 VL总线物理布局
7.4.4 PCI总线
? PCI( Peripheral Component Interconnect)
总线是继 VL总线之后推出的又一种高性能
的 32位局部总线。
? PCI规范是公开的,它受到许多微处理器和外围设
备生产商的支持,因此不同厂家生产的 PCI产品是
相互兼容的。
? PCI是一种高带宽、独立于处理器的总线。主要用
于高速外设的 I/O接口和主机相连;如:图形显示
适配器、网络接口控制卡、磁盘控制器等。
? PCI总线的主要特点:
( 3)它比 VL总线的速度更快。
? 第一,它支持无限突发传输方式;而 VL 仅支持有限的突发
数据传送,所以 VL总线速度不如 PCI总线。
? 第二,PCI总线支持并发工作,即挂接在 PCI总线上的外设
能与 CPU并发工作。
( 1)它与 CPU的时钟频率无关,采用自身 33MHz的总线
频率。
( 2)数据线宽度为 32位,可扩充到 64位;所以数据传输率可达
132MB/s~ 264 MB/s。
( 4)一个或多个 PCI总线通过 PCI桥( PCI控制器)和处理器总
线相连;而处理器总线只连接处理器 /Cache、主存储器和
PCI桥。
( 5) PCI桥的使用使 PCI总线独立于处理器,并且 PCI桥
提供了数据缓冲功能。
( 6)高速的 PCI总线和低速的 E(ISA)总线之间通过 PCI桥
相连接,使得系统中的高速设备挂接在 PCI总线上,
而低速设备仍然通过 ISA,EISA等这些低速 I/O总线
支持。
( 7)可以有多个 PCI总线,PCI总线之间也是用相应的 PCI桥连
接。
? PCI总线支持广泛的基于微处理器的配置
? PCI总线可以用在单处理器系统中,也可用于多处理器系
统中。
? 图 7.12(a)和 7.12(b)分别给出了在一个单处理器系统和多处
理器系统中使用 PCI总线的典型例子。
处理器
Cache
DRAM桥 /存储器控 制器
显示
控制器声频
LAN 图形PCI/E(ISA)
桥 基本 I/O设备
SCSI
E(ISA)总线
PCI总 线
图 7.12 (a) 典型的单处理器系统
处理器 /Cache DRAM
存储器
控 制器
系统总 线
处理器 /Cache
LAN PCI/PCI桥PCI/E(ISA)
桥
基本 I/O设备
SCSI
Host/PCI
桥
Host/PCI
桥
PCI总 线 PCI总 线
E(ISA)总 线
LAN SCSI
PCI总 线
图 7.12 (b) 典型的多处理器系统
? PCI总线的信号线
系统信号
CLK in (1) 定时用的时钟信号,在时钟信号的上升
沿每个设备对相应的输入信号进行采样
。其最大时钟频率为 33MHz。
RST# in (1) 复位信号。使总线上的所有 PCI专用的寄
存器、定序器和信号转为初始化状态。
地址和数据信号
A/D[31∷ 0] t/s (32) 复用的地址和数据线。
C/BE[3∷ 0]# t/s (4) 复用的总线命令线和字节允许线。地址阶段
表示总线命令;数据阶段表示数据线上 4个字节中
对应的那个字节是否有效。
PAR t/s (1) 32根 A/D线和 4根 C/BE线的偶校验信号线。地址阶
段和写数据阶段由主设备驱动 PAR信号线;在读
数据阶段则由目标设备驱动 PAR信号线。
接口控制信号
FRAME# s/t/s (1) 由主设备驱动,表示一次总线传输
已开始并在持续进行中。在总线传输的开始
(即:地址阶段之初)使该信号有效,而在进
行总线传输的最后一个数据交换之前撤消该信
号。
IRDY# s/t/s (1) 发送端就绪信号, 由主设备驱动 。
读操作中表示主设备准备好接受数据;写操作
中表示主设备已把有效数据放到 A/D线上 。
TRDY# s/t/s (1) 接受端就绪信号, 由从设备驱动 。
写操作中表示从设备准备好接受数据;读操作
中表示从设备已把有效数据放到 A/D线上 。
IDSEL in(1) 设备选择初始化信号。在配置读和配置写事务中
用作片选信号。
DELSEL# in(1) 设备选择信号。如果某个目标识别出地址线上
给定的是自己的地址的话,那么该设备就使这根线有效
。主控设备接受到该信号后就知道已由设备被选中。
仲裁线
REQ# t/s (1) 总线请求线 。 由需要申请总线使用权的主控设备
发出 。 这是一根与设备有关的点对点信号线 。
GNT# t/s (1) 总线允许线 。 接受到该信号的设备将获得总线使
用权 。 这也是一根与设备有关的点对点信号线 。
STOP# s/t/s (1) 由从设备驱动 。 表示希望主设备
停止当前的总线传输操作 。
LOCK# s/t/s(1) 表示正在进行的总线操作不可被
打断。即锁定总线。
? PCI命令;通过分时复用的总线命令 /字节允许信号
线 C/BE发出总线命令;
? 中断响应:它是一条读取中断向量的命令。用于对 PCI总线
上的中断控制器提出的中断请求进行响应。在该事务的地
址周期地址线不起作用。而在数据周期,则从中断控制器
读取一个中断向量,此时 C/BE信号线用于表示读取的中断
向量的长度。
? 特殊周期:用于一个总线主控设备向一个或多个目标广播
一条消息。
错误报告信号
PERR# s/t/s (1) 奇偶校验错 。 表示一个目标在写
数据阶段或一个主控设备在读数据阶段检测到
一个奇偶校验错 。
SERR# 0/d (1) 系统错误 。 可由任何一个设备发出 。 用以报
告地址校验错或除校验错以外的其他严重错误 。
? 存储器读:突发传送半个或不到一个 Cache行(支持 Cache的内
存)突发传送两个数据周期或更少(不支持 Cache的内存)
? 存储器写、存储器写并无效:用于总线主控设备向存储器写
数据,它们将占用一个或多个数据周期。其中存储器写并无
效命令用于回写一个 Cache行到存储器,所以它必须保证至
少有一个 Cache行被写回。
? 存储器行读:突发传送半个以上到 3个 Cache行(支持 Cache的
内存)突发传送 3个到 12个数据周期(不支持 Cache的内存)
? 存储器多行读:突发传送 3个以上 Cache行(支持 Cache的内存
)突发传送 12个以上数据周期(不支持 Cache的内存)
? I/O读和 I/O写,I/O读写命令,用于在事务发起者和一
个 I/O控制器之间进行数据传送。
? 双地址周期:由一个事务发起者用来表明它将使用 64
位地址来寻址。
? 数据传送过程
? PCI总线上的数据传送由一个地址周期和一个或多
个数据周期组成。
? 图 7.13显示了一个读操作的时序。写操作的过程与
读操作类似。
? 所有事件在时钟下降沿同步,即在时钟周期的中
间;总线设备在一个时钟周期开始的上升沿采样
总线信号。
? 配置读,配置写:用于一个总线主控设备对连接
到 PCI总线上的设备中的配置参数进行读或更新。
每个 PCI设备都有一个寄存器组(最多可有 256个
寄存器),这个寄存器用于系统初始化时对本设
备进行配置。
图 7.13 PCI读操作过程
? 总线裁决
? PCI采用独立请求式的集中总线裁决方式。
每个总线主设备都有两个独立的请求线 REQ
和允许线 GNT。
? PCI总线规范没有规定具体的仲裁算法。总线仲裁
器可以使用静态的固定优先级法、循环优先级法或
先来先服务法等仲裁算法。
? PCI必须为它的每个总线事务进行仲裁。
? PCI可以在总线进行数据传送的时候进行总线仲裁,
所以仲裁不会浪费总线周期。这种方式称为隐式仲裁。
? 图 7.14给出两个设备 A和 B在 PCI上进行总线仲裁时序
图 7.14 PCI总线裁决作过程
7.4.5 SCSI总线
? SCSI( Small Computer System Interface
小型计算机系统接口)总线从 1984年开始
广泛用在 Macintosh机上,目前已非常普遍
地用在了 IBM PC兼容系统和许多工作站上。
? SCSI总线主要用于光驱、音频设备、扫描仪、打
印机、以及象硬盘驱动器这样的大容量存储设备等
的连接。
? 是一种直接连接外设的并行 I/O总线,挂接在 SCSI
总线上的设备以菊花链的方式相连。每个 SCSI设
备有两个连接器,一个用于输入,一个用于输出。
终端器 (可
在内部)终端器
磁盘
ID=6
扫描仪
ID=2
CD-
ROM
ID=3
CPU
ID=7
? 若干设备连接在一起,一端用一个终结器
连接,另一端通过一块 SCSI卡连到主机上。
图 7.15 SCSI设备的配置
? SCSI设备的配置(图 7.15)
? SCSI总线事务中经历的阶段有:
? 总线空闲阶段:表示没有设备使用总线,总线可用。
? 仲裁阶段:用来使一个设备获得总线使用权。
? 命令阶段:传送命令信息。使目标设备从请求方得到命令。
? 数据阶段:目标设备请求数据传送。在该阶段可以进行数据输
入(目标方到请求方)或数据输出 (请求方到目标方 )操作。
? 状态阶段:目标设备向请求方发送状态信息。
? 选择阶段:用来让一个请求方选择一个目标设备来执行某个
功能。
? 重新选择阶段:允许目标设备重新连接请求方,以恢复原先
由请求方启动而被目标挂起的操作。
? 消息阶段:目标设备请求传送一个或多个消息。在该阶段可
以进行消息输入(目标方到请求方)或消息输出 (请求方到
目标方 )。
? SCSI总线阶段状态转换(图 7.16)
总线
空闲期
仲裁期
(多个设备 )
选择或
再选择
命令、数据
状态 和
消息期
加电或复位 信息传送期
图 7.16 SCSI总线阶段状态转换图
? 最早的 SCSI规范 SCSI-1只提供8位数据线,采用
异步通信或5 MHz的同步通信,最多允许7个设备
以菊花链方式连接到主机上。
? SCSI规范及发展
? 1991年出版了修改后的规范 SCSI-2,数据线可选择扩展到 16
位或 32位,采用同步通信,时钟速度增加到 10MHz,所以最
大数据传输率为 20MB/s或 40MB/s。
? 正在开发中的 SCSI-3将支持更高的速度。
? SCSI-1规范规定了总线的信号系统共有 50条信号线,采用 50
针扁平电缆或双绞线,称为 SCSI A电缆。
? 其中有9条数据线( 8条数据和一条奇偶校验)和9条控制
线,其余为地线或电源线。
? SCSI-1规范的 9根控制信号线及含义
BSY:由使用总线的设备来设置,表示自己使总线处于
忙状态。
SEL:发起者选择目标时设置,或目标重新选择发起者时设置。
C/D:目标用来标识数据线上是控制信息 (命令、状态或消息 )还
是数据信息。
I/O:目标用来标识数据传送的方向。
MSG:目标用来标识正在向发起者传送的是消息。
REQ:目标用来请求数据传送。此时,发起者将接受来自总线
的数据(数据输入阶段),或把数据传送到总线(数据输
出阶段)。
ACK:发起者用来应答目标的 REQ请求。表示正在进行相应的
数据传送操作。
ATN:发起者用来通知目标,它将有消息可传送。
RST:使总线复位。
? SCSI-2增加了 24位数据线和相应的 3个奇偶校验信号线,
以及其他控制线和地线及电源线,因而 SCSI-2在 SCSI
A电缆的基础上增加了 68针 B电缆。
? 总线通过相应的控制线来区别数据线上传输的信息
类型。其定义如下:
阶段 C/D I/O MSG DB7-0,P 传送方向
数据输出 0 0 0 数据 发起者 =>目标
数据输入 0 1 0 数据 发起者 <=目标
命令 1 0 0 命令 发起者 =>目标
状态 1 1 0 状态 发起者 <=目标
* 0 0 1 *
* 0 1 1 *
消息输出 1 0 1 消息 发起者 =>目标
消息输入 1 1 1 消息 发起者 <=目标
? SCSI总线的裁决采用自举分布式方案
? 需要使用总线的设备在仲裁阶段启动一根与该设备
的 ID对应的数据线,每个设备通过查看相关的数据
线来确定是否将获得总线的使用权;标识号 ID就是
设备对应的优先级。
? 图 7.17给出了一个常用的 SCSI总线时序。它描述了
从目标设备读取数据到发起设备的总线事务过程。
图 7.17 SCSI时序举例
① 开始时,总线处于空闲状态;
② 仲裁阶段:要求使用总线的设备在相应的数据线上置
请求信号。各设备通过查看有无优先级比自己高的设
备的请求,确定自己是否能占用总线。
③ 选择阶段:使自己和目标对应的数据线上 ID有效,并
在一定延迟后,使 BSY信号无效。当目标检测到 SEL信
号有效,而 BSY 和 I/O无效,并识别 ID以后,它使 BSY
信号有效。当发起者检测到 BSY信号时,释放数据线,
并取消 SEL信号。
④ 命令阶段:目标通过启动 C/D线有效,表示已进入
命令阶段。命令用 REQ/ACK握手信号来传送。
⑤ 数据输入(出)阶段:目标接收和解释命令后,
取消 C/D信号,使进入数据输入 (出 )阶段,数据传送的
方向由信号 I/O标识。通过 REQ/ACK握手信号进行数据
传送。
⑥ 状态阶段:目标使 C/D信号有效,结束数据阶段而
进入状态阶段(此时,I/O信号有效)。
⑦ 消息阶段:目标使 MSG线有效, 以进入消息阶段 。
? SCSI总线的通信定时方式,
? 缺省为异步方式,即,每个字节的传送都由 REQ/
ACK 握手信号定时。
? 可设置为同步方式,仅用于数据输入阶段和数据输出阶段。
? 通过, 同步数据传送 (SDTR)”消息来设置是否采用同步方式
。如表 7.5:
0 01 H 扩展消息指示
1 0 3 H 扩展消息长度
2 01 H S D T R 消息代码
3 m 最小传输时间 (4 xm 纳秒 )
4 x 最大 R E Q / A C K 偏移 (若 x = 0, 则为异步 )
字节 值 含义
表 7.5 SDTR消息的格式
7.4.6 EIA-232-D总线
? 一个广泛使用的串行总线标准
? 美国电子工业协会( EIA) 1987年制定的 EIA-232-D标准,
它的前身是 EIA在 1969年制定的推荐标准 RS-232-C。
? EIA-232-D接口由 25条信号线构成,其中有一条数据发送线,
一条数据接收线,在接口对接时,这两条线交叉连接。
? 标准提供主要几条控制线是:
? 定义了按位串行传输的数据终端设备 (DTE)和数据通信设备
(DCE)之间的接口信息。
? 当计算机和通信设备(如 MODEM和数字传真机)连接时,
计算机的串行接口地位等同于数据终端设备。
(1) 请求发送 RTS( Request To Send)
当发送方准备发送数据时,向对方发出一个 RTS信号,
以询问接收方是否准备好。
(2) 允许发送 CTS(Clear To Send)
当接收方收到发送方送来的 RTS信号时,如果接收方已准备
好接收数据,则向发送方回送一个 CTS信号作为回答。
(3) 数据终端准备好 DTR(Data Terminal Ready)
接收方做好了接收数据的准备后,就主动向发送方发送一个
DTR信号,以通知发送方进行数据发送。
(4) 数据集就绪 DSR(Data Set Ready)
发送方收到接收方送来的 DTR信号后,如果作好了发送准备,
就向接收方送出一个 DSR信号作为回答。
(5) 载波检测 CD(Carry Detect)
用于检测是否建立了连接。
7,5 多总线分级结构
■ 一个计算机系统中采用两个以上总线的情况
就是多总线分层结构。
7.5.1 单总线结构
? 早期的计算机采用单总线结构方式。
? 它将 CPU、主存,I/O模块都挂接在一个总线上,
? CPU与主存,CPU与 I/O模块、主存与 I/O模块之间的传送都
通过一组总线进行。
? PDP-11和国产 DJS183机采用这种单总线结构。
? 单总线结构如图 7.18
C P U
MM I/O
……
I/O
图 7.18 单总线结构
? 单一总线体系结构简单、便于扩充。
? 总线上挂接了大量的高速设备(如:视频和图形控制器、
LAN控制器等)后,单一总线就再也无法满足系统的要求。
? 所有传送都共享一组总线,极易使总线成为整个系
统的瓶颈。
? 大量设备接到总线上后,性能就会急剧下降
7.5.2 双总线结构
? 在单总线的基础上再开辟一条 CPU与主存之间
的通路,形成以主存储器为中心的双总线结构。
C P U
MM
I / O ……
系统总线
I / O I / O
主存总线
图 7.19 (a) 以主存为中心的双总线结构
? CPU与主存间的通路称为主存总线。
? 主存总线的速度较高,由于只在主存与 CPU之间传
输信息,因而速度快,效率高,又减轻了系统总线的
负担。
? 主存与 I/O之间能直接传送,而不需通过 CPU。
? 国产 DJS184机采用该总线结构。
? 采用 IOP方式的双总线结构
? 主要用在采用输入 /出处理器( IOP)方式进行 I/O传送的计
算机系统中;
? 基本思想是将 I/O设备从单总线上分离出来,将原先的单总
线分成主存总线和 I/O总线。
? CPU、主存和输入 /出处理器之间的信息传送在主存总线上进
行;
? I/O设备与主机之间的信息交换通过 I/O总线和主存总线进行。
? 通过 IOP将 CPU和 I/O分离开来。减轻了 CPU参与 I/O的负担。
? 输入 /出处理器是一种专门用于进行输入 /出控制的特
殊处理器,它将 CPU中大部分 I/O控制任务接管过来,
从而具有对各种 I/O设备进行统一管理的功能。
? 这种总线结构是一种分层的总线结构,会将不同特性的外设分
类挂接在输入 /出处理器的不同通道上。
C P U
MM
I / O
……
I O P
I / O 总线
主存总线
I / O I / O
图 7.19 (b) 采用 IOP方式的双总线结构
7.5.3 三总线结构
? 在主存和高速的磁盘等设备之间引入一个
DMA总线,那么系统可构造一种三总线结构。
(图 7.20)
? 在三总线结构中,主存总线用于 CPU和主存之间的信息传送;
? I/O总线用于 CPU和各个 I/O之间进行信息传输;
? DMA总线用于高速外设和主存之间的信息交换;
? 在三总线结构中,DMA总线和主存总线不能同时用于访问主存。
C P U
MM
I /O ……
I /O 总线
D M A 总线
主存总线
高速
I/O
I /O I /O
图 7.20 三总线结构
? 传统的总线结构采用处理器 -Cache总线、
主存总线,I/O总线三级总线结构。( 图
7.21)
? 处理器和高速缓存之间通过专门的局部总线相连,并且可
将其他靠近 CPU的局部设备连接到该总线。
? 高速缓存同时还与主存储器一起连接到主存总线上,它们
之间通过主存总线进行数据传输。
? 这种结构引入了一条或多条扩充 I/O总线 (如 ISA、
EISA,MCA总线等 ),主存总线和扩充 I/O总线上
I/O设备之间的数据传送可以通过扩充总线接口来缓
冲,将 I/O设备 -主存间的通信与处理器的活动隔离
开来。
? 传统总线结构在 I/O设备性能都相差不大的情况下比较有效;
? 高速的视频图形设备,LAN和 SCSI 设备等如果还和低速的
串行接口、打印机等连在同一个总线上的话,势必会影响系
统的效率。
CPU Cache
局部总线
局部 I/O 控制器
主存
主存总线
扩展总线接口LAN SCSI FAX 串口
扩展总线
图 7.21 传统的三级总线结构
? 高性能多级总线结构
? 在主存总线和扩充 I/O总线之间引入一种高速总线
(如 VL总线,PCI总线等 ),将那些高速的大容量
I/O设备挂接在这种高速总线上。而低速 I/O设备
仍然由扩充 I/O总线支持。(图 7.22)
CPU
Ca c h e / 桥
局部总线
SCSI
高速
总线
扩展总线接口M o d e m F A X 串口
扩展
主存
L A N 图形设备
主存
总线
线
图 7.22 高性能多级总线结构
7.5.4 多总线分级结构举例
? 典型的多处理器系统的 PCI配置(图 7.23)
? Host/PCI桥,常称为北桥( North Bridge),用于
连接主处理器总线和第一级 PCI总线。
? PCI/ E(ISA)桥常称为南桥( South Bridge),用于
连接 PCI总线和 E(ISA)总线。南桥中通常含有中断控
制器,IDE控制器,USB主控制器和 DMA控制器。
? 北桥和南桥构成一个芯片组。在 PCI总线和 PCI总
线之间可以嵌入一个或多个 PCI/PCI桥。
CPU CPU
N or t h
Bri dge
M ai n
M em or y
A G P
G ra phi cs
A cc el er at or
AGP
Por t
V i deo
BIO S
Loc al
V i deo
M em or y
D
V
D
H os t P or t
V i de o P or t
M oni t or
V M I
( V i de o M od ul e I / F )
CCI R60 1
Et her n et SC SI
H B A
Sout h
Bri dge
I nt er r up t
co nt r ol l er
I D E
H ar d
D r i v e
PCI Sl ot s
I D E C D RO M
I RQ s
U S B
IO
A PI C
PCI I RQ s
Super
IO
I SA Bu s
Sys t em
BIO S
I SA Sl ot s
Soun d
C l i p s et
CO M 2
CO M 1
软盘
打印机
键盘
鼠标
麦克风音箱
耳机
R T C
PCI Bu s
图
7.
23
典
型
的
多
处
理
器
系
统
的PC
I
配
置
? 一种典型的多总线分级结构( Pentium Pro
服务器系统体系结构框图)
E(I SA ) 总线
P e ni t um P r o 总线
A P I C 总线
PCI 总线
PCI 总线
CP U 3
( B S P
)
主存
P C I /E( I S A ) 桥
I O A P I C
M odu l e
辅助 PB
H ost/P CI 桥
CP U 2
( AP )
CP U 1
( AP )
CP U 0
( AP )
H ost/P CI 桥
兼容 PB
图
7.
24P
en
tiu
m
Pr
o
服
务
器
系
统
体
系
结
构
框
图
? 图 7.24所示结构简要说明
1.何为处理器簇?
?,处理器簇 (Processor Cluster)”是指挂接在 Pentium Pro处理
器总线上的所有处理器的集合,它由一个到四个处理器组成。
2.什么是 BSP处理器?
? BSP处理器 (BootStrap processor)是指系统启动时读取并执行
POST( Power-On Self-Test)程序的那个处理器。
3,BSP如何启动其他处理器?
? 在 BSP中执行的代码中有部分代码是用来检测存在的其他处
理器的。检测到的这个信息以 MP表(多处理器表)的形式被
存储到一个非易失性存储器中,一个多处理器操作系统用这个
信息来确定可用的处理器及其类型和特征;
? MP OS会指示一个总线主控设备(即:磁盘控制器)
装入一个任务到主存;
? 在 BSP中执行的 OS内核就会让 BSP的内部 APIC通过 APIC总
线向其他某个处理器发出一个 StartupIPI( Intel-Processor
Interrupt)中断或消息,在这个消息包中包含了刚装入到主
存中的程序的起始地址;
? 接收到 StartupIPI消息的处理器立即退出等待 IPI状态,开始
读取并执行主存中的程序。
4.处理器和主存的关系
? 处理器都含有 L2 Cache以及 L1 Data Cache和 L1 Code Cache ;
? 一旦软件使处理器的 Cache处于使能状态,那么 Cache就开始
从主存储器复制信息;
? 在从主存复制信息时,处理器总是每次传送 32个字节的数据
块;每个数据块称为一页。
▲ 在处理器的 L2 Cache和 L1 Data Cache中的
每一页必须是以下四种状态之一
? I( Invalid)态,表明该页无效或在 Cache中不存在相应副
本。
? S(Shared)态,表明该页数据与主存中一样,并且在其他
Cache中有同样的副本。
? E(Exclusive)态,表明该页数据与主存中一样,并且在其他
Cache中没有同样的副本。
? M(Modified)态,表明该该页数据中已有一个或多个字节被
修改,并且只在本 Cache有效。该页对应的主存数据是陈旧
的(即:过时的)。
▲ 在 L1 Code Cache中行的状态只有两种情况,I
( Invalid)态或 S( Shared 或 Valid)态。
5.处理器之间的关系
? 处理器从主存中把信息读到自己的 Cache中,在一页
数据取到 Cache以后,程序可能会执行一个存储器写操作
来修改这页数据中的某一个或几个字节,这页副本数据就和
主存中的原数据不同。
? 如果采用一种回写 (Write-back)方式,那么处理器就将这些
新的数据字节写到这页中,然后对这一页置 M态表示已被修
改过。因为修改在处理器内部而不通过总线进行,所以主存
中的这页数据不被更新。
? 当一个设备在处理器总线上执行一个存储器读或写事务时,
所有的处理器必须在它们各自的 Cache中侦听这个主存单元
的地址,并向事务的发起者和主存控制器报告该主存单元在
Cache中的副本的状态,这样事务发起者才能根据侦听的结
果决定下一步该如何做。
6,Host/PCI桥
(1) 桥与处理器的关系
? Host/PCI桥是介于处理器总线和一个 PCI总线之间的桥。当
处理器发出一个总线事务后,Host/PCI桥必须根据事务的性
质进行相应的动作。
? Host/PCI桥必须知道从它开始的所有下级总线上挂接的存储
器空间的地址范围;
? Host/PCI桥在 PCI总线上作为其主控设备请求总线使用权,
在 PCI总线上重新发起事务。
(2) 桥与 PCI 主控设备及主存的关系
? 当一个 PCI主控设备在 PCI总线上发起一个事务时,Host/PCI
桥将根据不同情况进行动作。
? Host/PCI桥也必须知道主存空间的地址范围;
? 当事务是一个 I/O读或写时,采用不同芯片组桥的做法不同;
? 若在 PCI主控设备访问的桥中不存在要访问的 I/O端口,有的
就忽略它,有的就通过桥将该 I/O事务传递到处理器总线上。
(3) 桥与 EISA或 ISA 从设备的关系
? 桥必须知道是否有 EISA或 ISA总线挂接在它的下面。如果有
的话,那么当处理器发出一个对可能落在 EISA或 ISA目标范
围内的存储空间或 I/O地址空间的访问时,桥就必须作为一个
目标参与到处理器发出的事务中。
(4) 桥与桥之间的关系
? 如果系统中有两个 Host/PCI桥,那么它们将共享使用一个
BPRI#信号来请求对处理器总线的使用权,某一时刻只能允
许一个桥使用该信号。
(5) 桥与 EISA或 ISA 主控设备及 DMA的关系
? 当一个 EISA或 ISA 主控设备或在 E(ISA)桥中的 DMA通道要访
问主存时, E(ISA)桥就会在 PCI总线上发出一个主存读或写
的总线事务;
? 这样处在 E(ISA)桥和主存之间的 Host/PCI桥就必须申请处理
器总线的使用权, 控制对主存进行访问;
? 因为 EISA或 ISA主控设备和 DMA通道对存储器访问时间非常
敏感, 所以一般情况下, 介于 E(ISA) 桥和主存之间的
Host/PCI桥 ( 兼容 PB) 比其他 Host/PCI桥 ( 辅助 PB) 的优
先级要高 。
第 8章 输入输出设备
● 输入输出设备(又称外围设备)是计算机
系统与人或其它机器之间进行信息交换的装置。
? 输入设备的功能是把数据、命令、字符、图形、图象、声音
或电流、电压等信息,变成计算机可以接收和识别的二进制
数字代码,供计算机进行运算处理。
? 输出设备的功能是把计算机处理的结果,变成人最终可以识
别的数字、文字、图形、图像或声音等信息,打印或显示出
来,以供人们分析与使用。
● 计算机技术的迅速发展与应用的不断扩大,输入输
出设备种类日益增多,所处理的信息类型也不断增
加。输入输出设备智能化程度越来越高,使得输入
输出的速度、精度、质量、可靠性以及应用的灵活
性,方便性不断提高。
8,1 输入输出设备的分类与特点
8.1.1 分类
? 按信息的传输方向来分可以分成输入、输出与
输入 /输出三类设备。
1.输入设备,键盘、鼠标、光笔、触屏、跟综球、控制杆、数
字化仪、扫描仪、语言输入、手写汉字识别、以及纸带输入
机、卡片输入机、光学字符阅读机( OCK)等。
? 采用媒体输入设备如纸带输入机、卡片输入机、光学字符阅
读机等,这些设备把记录在各种媒体上的信息送入计算机。
一般成批输入,输入过程中使用者不作干预。
? 交互式设备有键盘、鼠标、触屏、光屏、跟踪对球等。这些
设备由使用者通过操作直接输入信息,不借助于记录信息的
媒体。输入信息可立即显示在屏幕上,操作员可以即时进行
删除、修改、移动等等操作。
2.输出设备:
? 显示器、打印机、绘图仪、语音输出设备,以及卡片
穿孔机、纸带穿孔机等。
? 将计算机输出的数字信息转换成模拟信息,送往自动控制系
统进行过程控制,这种数模转换设备也视为一类输出设备。
3.输入输出设备,磁盘机、磁带、可读 /写光盘,CRT终端、
通信设备等。这类设备既可以输入信息,又可以输出信息。
? 按功能分,输入输出设备也可以分成以下三类:
1.用于人机接口:
? 如键盘、鼠标、显示器、打印机等。这类设备用于人机交互
信息,且操作员往往可以直接加以控制;
? 这类设备又可以称为字符型设备,即输入输出设备与主机交
换信息以字符为单位,这时主机对外设的控制方法往往不同
于其它类型设备。
2.用于存储信息:
? 为磁盘、光盘、磁带机等;这类设备用于存储大容量
数据,作为计算机的外存储器使用;
? 这类设备又可以称为面向信息块的设备,即主机与外设交换
信息时不以字符为单位,而以由几十或几百个字节组成的信
息块为单位,这时主机对外设的控制也不同于字符型设备。
3.机 —机联系:
? 为通信设备(包括调制解调器)、数 /模、模 /数转换设备,
主要用于机 —机通信。
? 输入输出设备如果按所处理信息的形态来分,又可
以分成处理数字和文字的设备、处理图形与图像的
设备、以及处理声音与视频的设备等。
8.1.2 特点
1,异步性:
? 输入输出设备相对于 CPU来说是异步工作的,两者之间
( CPU与外设)无统一的时钟;
? 保证在连续两次 CPU和输入输出设备交往的时刻之间, CPU
仍能高速地运行它自己的程序或者外设管理程序, 以达到
CPU与外设之间, 以及外设与外设之间能并行工作 。
2.实时性:
? 计算机系统中,可能联接各种各样类型的很多外设,且这些外
设中有慢速设备,也有快速设备;
? CPU必须及时按传输速率和传输方式接收来自多个外设的信息
或向外设发送信息,否则高速设备可能有丢失信息的危险。
8,2 输入设备
8.2.1 键盘
3.多样性:
? 外设的物理特性差异很大,信息类型与结构格式
多种多样,这就造成了主机与外设之间连接的复杂性;
? 为简化控制,计算机系统中往往提供一些标准接口,以便各
类外设通过自己的设备控制器与标准接口相连,主机无需了
解各特定外设的具体要求,可以通过统一的命令控制程序来
实现对外设的控制。
? 键盘是由一组按键和相应的键盘控制器组成的输入
设备,其功能是使用者可通过击键向计算机输入数
据、程序和命令等,是计算机不可缺少的最常用输
入设备。
? 按键开关可归纳成触点式按键开关和非触点
按键式开关,计算机中基本上使用非触点按
键式开关(利用电压、电流或电磁场的变化
产生输出信号)。
? 键盘所采用的字符以及它们在键盘上的位置均有国
际标准和国家标准,如 ISO2530和 GB2787。
? 键盘可以分成三个区:
? 计算机键盘的键数,少的有 83个,多的可达 105个。
? 中央为打字键区,包括字母、数字、符号及一些如回车、换
档等特殊的功能键。
? 右侧为数字键区或光标移动键,由 Num lock功能键控制。
? 左侧或最上方是 10-12个特殊功能键,其功能由使用者定义。
? 键盘控制器由一些逻辑电路或单片机组成,
其功能是进行扫描, 判断按键的位置, 然后
将键盘上的位置码转换成相应的 ASCⅡ 码,
送入计算机 。
? 键盘可分成编码键盘和非编码键盘两类。
▲ 编码键盘,
? 按键排列成一个 m× n的二维阵列,每个按键对应该阵列中的
一个相关位置;
? 按下该键,由单片机或一些开关电路组成的编码器将该位置
进行译码,然后转换成相应的 ASCⅡ 码送入主机;
? 由于编码器由硬件构成,所以键盘响应速度快,当然硬件结
构也要复杂一些。
▲ 非编码键盘,
? 按下某键,该键在 m× n阵列中的位置码转换成
ASCⅡ 码的过程由软件来完成(主机执行键盘驱动程
序,进行查表);
? 这种键盘控制器构成简单;当然其速度会慢一些;由
于主机速度远比人按键速度快,且这种键盘上某些键
的功能可以通过软件来重定义,使用灵活。
? 键盘上也可以输入如汉字等非西文字符,这由各种汉字输入
法自行定义。
? 键盘位置码送入计算机,经过汉字输入软件的处理,转换成
该汉字所对应的内码,再进行显示、存储等其它操作。
8.2.2 鼠标器
? 鼠标器( mouse)是一种相对定位设备。它不
像键盘那样能进行字符或数字的输入,主要
是在屏幕上定位或画图用。
? 鼠标器在计算机上的应用要比键盘晚,随着计算机图形学与
图像处理技术的发展,鼠标得以广泛应用。
? 鼠标器是由于其外形如老鼠而得名,通过电缆与主机相连。
? 鼠标器在桌上移动,其底部的传感器检测出运动方向和相对
距离,送入计算机,控制屏上鼠标光标作相应移动,对准屏
幕上的图标或命令,按下鼠标上相应按纽,完成指定的操作。
? 根据鼠标器所采用传感器技术的不同,鼠标
器可以分成两类:机械式与光电式。
▲ 机械式鼠标器,
? 其底部有一个圆球,鼠标移动时,圆球滚动带动与球相连的
圆盘。圆盘上编码器把运动方向与距离送给主机,经软件处
理,控制光标作相应移动。
? 该类鼠标器简单,使用方便,但也容易磨损,且精度差。
▲ 光电式鼠标器,
? 其底部无圆球,而是由光敏元件和光源组成。使用时,必须
在网格板上移动,光源发射光线在网格上反射后为光敏器件
所接收,测出移动方向和距离,送入计算机,控制光标的移
动。
? 这类鼠标器精度高,可靠性好,但要专门的网格板。
▲ 机械光电式鼠标器
? 底部虽有圆球,但其带动的是光学编码盘,避免了机械磨损
,也不需专用网格板。
? 鼠标器与主机的连接:
? 通过总线接口或通信接口连接。总线接口需要鼠标接口板,
通信接口则是把鼠标器接在通信口上;目前大部分个人计算
机把鼠标器接在串行通信口 COM1或 COM2上。
8,3 打印机
8.3.1 打印机的种类
? 以其印字原理来分可以分成击打式打印机和
非击打式打印机两类,以其输出方式又可分
为串行打印机和并行打印机两种。
1.击打式打印机:
? 以机械力量击打字锤从而使字模隔着色带在纸上打印出字来的
设备,是最早研制成功的计算机打印设备。
? 按字锤或字模的构成方式来分,又可以分成整字形击打印设备
和点阵打印设备两类。
? 整字形击打印设备,印字美观自然,可同时复印数份;缺点是
噪音大,印字速率低,字符种类少,无法打印汉字或图形,且
易磨损。
? 点阵打印设备,结构简单,印字速度快,噪声比整
字形击打印设备小,成本低,且可以打印汉字或图
形、图像,是目前仍在广泛使用的一类打印设备。
2.非击打式印字机:
? 利用物理的(光、电、热、磁)或化学的方法实现印刷输出
的设备。
? 这类设备的印字头不与纸或其它媒体接触,或虽接触但无击
打动作。
? 这类设备打印无噪声,印字速度快,可以打印汉字、图形与
▲ 非击打式印字机还可以分成多种类型:
? 激光印字机,是利用激光来打印出精美文字和图片的一种输
出设备。印刷速度快,印字质量好,噪音低,分辨率高,印
刷输出成本低,是目前应用最广泛的一种非击打式印字机。
? 喷墨打印机,是利用喷墨头喷射出可控的墨滴从而在
打印纸上形成文字或图片的一种设备。也是目前应用较
多一种打印输出设备。
? 热敏打印机,有热印纸式和热转印式两种。
· 利用印字头上多个电热元件在特殊的热敏纸上瞬时加热形成
字符的设备叫热敏纸打印机;
· 利用转印色带将字符转印到纸上的设备叫热转印打印机,热
敏打印机可以印刷出色彩精美逼真的图像;
· 还有电灼式印字机、静电印字机、离子沉积印字机和电子照
相印刷机等。
8.3.2 点阵打印机
? 驱动印针的电磁铁受字符点阵内容的控制,
有点的地方即打印,无点的地方不打印。每
完成一列打印,印字头右移一个点距。如此
一列一列地打印,直到一行打印结束,打印
机走纸一行距,印字头再返回起始位置重新
开始打印。
1,输出数据与打印针的对应关系 (图 8.1)
? 读出内存中的输出点阵数据,经过变换后送到打印缓冲。每
读出 3个字节,对应 24针一列打印数据,一列一列地读输出数
据送打印缓冲,直到一行读出完毕,主机发回车或换行命令,
打印机才真正把打印缓冲中的一行数据在纸上打印出来。
? 必须注意的是输出字符点阵或图形点阵与打印针之间的对应
关系,包括高 /低字节的按排,不同类型的打印机,其排列是
有差别的。
70...70...7 0...
7
7
0
7
0
0
1st 2nd 3rd
内存排列输出数据
Msb
Lsb
1st byte
2nd byte
3rd byte
输出数据 印针排列
1st 8针
3rd 8针
2nd 8针
...
...
...
图 8.1 数据与印针的对应关系
..
..
..
..
..
..
..
..
..
..
..
..
2.打印机与打印控制器之间的连接
CPU
数据锁存器
命令译码
控制锁存器
总线缓冲
数据 0-7
初始化、选通、自动输纸
忙、缺纸、联机、认可、出错
图 8.2 打印控制器与打印机的连接
数 据
地 址
INT 打印机
打印控制器
▲ 打印控制器由以下基本部件组成:
? 数据锁存器,暂存 CPU送来的打印数据 。 该数据可以
送打印机缓冲器准备打印, 也可以回送 CPU以便进行检测用;
? 命令译码,对 CPU送来的命令进行译码, 产生打印控制器内部
使用的几个命令, 如数据传输方向, 读数据, 写数据, 读控制
,写控制和读状态等;
? 控制锁存器,锁存 CPU送来的控制命令, 如初始化, 选通, 自
动输纸等 。 这些命令也可以回送 CPU以便检测用;
? 总线缓冲,保存打印机送来的五个状态信息:打印机忙, 缺纸
,联机, 认可和出错等, 以供 CPU随时检测用 。
? 打印控制器与 CPU的连接有数据线, 地址线 ( 寄存器的地址 )
和中断信息 INT。
3.工作流程
▲ 以微机程序
查问方式为
例,输出一
个字符(和
一行字符)
的流程 (图
8.3)。
1,打印机初始化
2,输出一个打印字节
3,读打印机状态
4,打印机 "忙 "吗?
5,发 "选通 "信号
6,读打印状态
7,有错吗?
8,输出一行完了吗?
9,送回车键
10,结 束
图 8.3 打印机输出一行字符的流程
Yes
NO
Yes
Yes
NO
NO
4.打印机命令序列
设定点阵图形打印方式下
进入图形打印方式
输出点阵信息
满由 n 1n2 指定的列了吗?
取下一行信息输出
満 一帧信息完了吗?
结束图形方式,恢复字符
No
Yes No
流 程 对应的命令序列
ESC 2
ESC A n0 (走纸宽度由参数 n0指定 )
ESC K n 1 n2
走纸宽
输出点阵
ESC 2
方式下走纸宽 ESC A n 3 (走纸宽由 n3指定 )
图 8.4 点阵图形打印流程与命令序列
打印列数由 n 1 n2指定
Yes
8.3.3 激光印字机
? 激光印字机具有高速性( 20-80ppm)、高质量(分辨
率可达 300-600dpi,甚至更高)、低噪声(小于
55dB)、多种印字模式(配有 PCL语言或 PostScript
语言),价格日益降低。
1.激光印字机的组成与工作原理
▲ 激光印字机由打印机控制器和打印装置两部分组成 。
? 打印装置是一组电子与机械相结合的系统, 负责把打印机控制
器生成的点阵数据打印出来;由光学扫描装置, 感光鼓, 硒鼓
,显象装置, 输纸机构和粘合装置等组成;
? 打印机控制器由功能较强的处理器、缓冲存储器以及相应的辅
助电路构成,负责与主机的通信,解释主机送来的打印命令,
格式化打印内容,光栅化处理,送打印装置进行输出;
? 整个印字过程可以分成下面几步来完成:感光体充电 生成潜
像 显像 转印 固定 感光体清除。
F-透镜
纸
稳速电机
图 8.5 激光印字机原理图
2.打印机语言
▲ 打印机语言是一组控制打印机工作的命令,打印机按照这些
命令来处理主机送来的打印数据,打印出复杂的文字与图像。
▲ 打印机语言可分成两类:一类是页面描述语言( PDL),其
中以 Adobe公司的 PostScript语言最有名;另一类是 Escape码
语言,其中以 HP公司的 PCL语言最有名。
? PostScript语言,诞生于 80年代中期,目前已有 PostScript1,2
,3三种版本;有很强的图形、图像、文字和彩色处理功能,
目前广泛应用于高档彩色激光印字机。
? PCL语言,目前已有 PCL3,4,5,6多种版本,它是
一种 Escape码语言,点阵打印机中的 Ese命令序列实
际上是一种低版本的 PCL语言。
? PCL语言版本的不断升级,其处理图形、图像、文字与彩色
的功能日趋增强,它比 PostScript语言简单一些,解释速度快,
所以目前广泛安装在激光印字机、喷墨打印机等设备中。
8,4 显示器
■ 显示器是用来显示数字、字符、图形和图像
的设备,它由监视器和显示控制器组成。
8.4.1 监视器
1.监视器工作原理
▲ 监视器由阴极射线管( CRT)、亮度控制电路(控制
栅)、以及扫描偏转电路(水平 /垂直扫描偏转线圈)
等部件构成(图 8.6)。
聚焦系统 垂直偏转
水平偏转
电子束
荧光层
灯丝
图 8.6 监视器的构成
栅 极
(亮度控制 )
▲ CRT控制器( CRTC)接口有两种方式:
? 将 CRT的水平 /垂直同步信号( HSYNC/VSYNC)以
及亮度控制信号( R,G,B)分别接监接器的相应
输入端,这种控制方式图像好,分辨率高;
? 水平 /垂直同步信号和亮度控制信号全部复合在一起,送监视
器,这种控制方式成本低,但质量差些。
1,CRT时序控制
▲ 帧频, 行频以及分辨率的关系
? 图像必须以 50帧 /秒以上的速度进行刷新;
? 当分辨率为 640× 480时, 且假定水平回扫期和垂直回扫期各
占水平扫描周期和垂直扫描周期的 20%;
? 行频为 480线 ÷ 80/100× 50帧 /秒 =30KHZ;
? 水平扫描周期 HC=1/30KHZ=33μS。
? 每一象素读出时间为 33μS× 80%÷ 640=40~ 50nS
显示区
垂直回扫期
行数
/每帧
垂直扫描总时间
水平
回扫
VSYNC
图 8.7 CRT 时序
HC,水平扫描周期
(水平扫描总时间 )
VC,垂直扫描周期
(垂直扫描总时间 )
HSYNC,水平同步信号
VSYNC,垂直同步信号
水平显示宽HSYNC
VC
HC
? 若分辨率提高到 1024× 768,帧频为 60帧 /秒,则行频
提高为 57.6KHZ,水平扫描周期 HC=17.4μS,每象素
读出时间减少到 13.6μS。
? 可以清楚看到,分辨率越高,为保证图像不闪烁,则
时间要求越高(每一象素读出、显示时间越短),成
本也随之迅速上升。
▲ 光栅扫描显示器的扫描方式还可以分成逐行扫描与隔行扫描
方式两种。
8.4.2 光栅扫描显示器工作原理
1.字符显示工作原理
▲ 显示器显示字符时有两种模式。
? 一种是字符模式,显示存储器中存放的是字符的编码 (ASCⅡ
码或汉字代码 )及其属性(如加亮、闪烁等),其字形信息存
放在字符发生器中。
? 另一种是图形模式,此时每一字符的点阵信息直接存储在显
示存储器中,字符在屏幕上的显示位置可以定位到任意点。
▲ 字符模式
(1) 组成,由显示控制器 CRTC、显示存储器和字符发生器组成。
? CRTC形成行、列地址信号以选择字符存贮器对应的 ASCⅡ
码值,在光栅计数信号控制下,读出点阵信息;
? CRTC产生 HSYNC,VSYNC同步信号。显示存储
器由字符存储器 (存储字符的 ASC Ⅱ 码值 )和属性存
储器 (存储字符的亮度、颜色等属性 )构成。
(2) 显示字符的过程,(图 8.8)
? CRTC给出了字符存贮器的地址去选择光标对应位置的字符
代码,读出代码值送字符发生器;
? 在光栅计数信号的控制下,读出相应字符的点阵信息,送移
位电路进行并 /串变换,再结合属性控制,送视频控制电路;
? 监视器在 HSYNC和 VSYNC的控制下,在屏幕相应的行、列
位置显示出对应的字符;
? 字符存贮器和属性存储器的内容一般是在 CRTC的回扫期由
CPU写入。
CPU CRTC
属性
存储器
字符
发生器
字符
存储器
属性译码
移位电路 + CRT
Addrss
Date
光栅计数 (RA0- RA4)
并 /串 变换
图 8.8 字符显示过程
HSYNC,VSYNC
2.彩色或多级灰度图象的显示原理
▲ 彩色或单色多级灰度图象显示,每一个象素需要
使用多个二进位来表示,图形存储器有两种组织方
式:多个位平面方式和组合型象素格式。
(1) 多个位平面方式( planes_pixel format)
? 显示存储器由多个位平面(如 R,G,B,I)组成 (图 8.9)。
CRTC除了完成以前介绍的二个基本功能外,还能实现画图
功能 ; CRTC目前在微机系统中又称为图形卡。
CPU CRTC
Data
显存
D/A
32
1
0
I
R
BG
移位寄存器
Address
R,G,B
亮度信号
图 8.9 位平面方式图形显示
R
(2) 组合型象素格式( packed_pixel format)(图 8.10)
? 用显存中一个字的若干位 (称为象素深度)来代表一
个象素。
CPU CRTC
8位,
..,..,..
28=256
个单元
彩色表
图 8.10 组合型象素格式图形显示
88 8
CRT
显示存储器
R G B
? 如 8bit/象素,可以有 256色。若为 24bit/象素,可达
16M种颜色 (称为真彩色 )。
? 每次画图操作,同时对 8位进行读 /写。
? 其优点是象素操作速度快,彩色能力强,但对显存读出速度
要求更快了,因此引进了一次读出多个字节的方案。
(3) 彩色表功能( color table或 video-lookup table)
? 从显存读出的象素值不直接送 CRT亮度信号,而是
去查一张表(彩色表),从表中读出的内容(有 R、
G,B三个分量值)才去控制 CRT的亮度。
? 彩色表功能:
1) 扩大彩色范围,如从 8位共 256色扩大到 24位共 16M种不同颜
色,但是在一幅图上仍只能同时出现 256色;
2) 彩色表是 RAM,可以由 CPU直接改写。当写入内容变化而显
存内容不变,则屏幕上显示色也就改变了。利用彩色表还可
以实现高速清屏和简单的动画功能。
8.4.3 IBM PC图形显示器
? 随着显示控制器(或称图形卡)性能的逐步改
进和提高,出现多种类型的字符 /图形显示器。
表 8.1 IBM PC显示器基本性能
显示器型号 CRTC 分辨率 颜 色
MDA MC6845 720× 350 单色 (仅字符显示 )
CGA MC6845 640× 200 单色
320× 200 4色
EGA VLSI 640× 350 16/64色 (彩色表为 64色 )
VGA VLSI 640× 480 16/218色 (彩色表为 218)
320× 200 256色
TVGA VLSI 1024× 768 16/218
640× 480 256色
AGC HD63484 1024× 768 256/224色
SGA TMS34010 1280× 1024 256色
640× 480 216色