8.1 概述
8.2 ISA总线
8.3 PCI总线
第八章 总线
8.1 概述
总线 是计算机中连接各部件的一组公共通信线。
?总线的基本概念
1970年 DEC公司 PDP-11小型计算机首次采用总线技术。
总线结构的优点:
?便于采用模块化结构设计方法,简化系统设计
?标准总线得到各厂商的支持,便于开发相互兼容
的硬件板卡和软件
?模块结构便于系统的扩充和升级
?便于故障诊断和维修
?…...
?总线的基本概念
微型计算机自诞生以来一直采用总线结构
总线速度是微机性能的主要指标之一
目前在微型计算机系统中常把总线作为一个独立的
部件看待
微机系统中的 I/O接口本质上是 I/O设备与微机系统
总线的接口
?总线的基本概念
按总线传送信息的类别,可以把总线分成控制总线、
地址总线和数据总线。
总线也包括电源线和地线。
?总线的基本概念
控制总线
控制总线上传送一个部件对另一个部件的控制信号。
在总线上,可以控制其他部件的部件称为总线主控
或 主控 (bus master),被控部件称为 从控 (slave)
根据不同的使用意义,有的为双向,有的为三态,
有的非三态
?总线的基本概念
地址总线
地址总线上传送地址信号,总线主控用地址信号
指定其需要访问的部件(如外设、存储器单元)。
总线主控发出地址信号后,总线上的所有部件均
感受到该地址信号,但只有经过译码电路选中的
部件才接收主控的控制信号,并与之通信。
地址总线是单向的,即地址信号只能由总线主控
至从控。地址总线也是三态的,非主控部件不能
驱动地址总线。
?总线的基本概念
数据总线
数据总线上传送数据信息,数据总线是双向的,
数据信息可由主控至从控(写),也可由从控至
主控(读)。
数据总线是三态的,未被地址信号选中的部件,
不驱动数据总线(其数据引脚为高阻)。
数据总线的根数称为总线的宽度。 16位总线,指
其数据总线为 16根。
?总线的层次结构
计算机的总线系统由处于计算机系统不同层次上的若
干总线组成,CPU总线、系统总线、局部总线、外部
总线。
CPU总线
CPU,RAM,ROM、控制芯片组等芯片之间的
信号连接关系称为 CPU总线,包括控制总线、地
址总线和数据总线
CPU总线实现了 CPU与主存储器,Cache、控制
芯片组、以及多个 CPU之间的连接,并提供了与
系统总线的接口
?总线的层次结构
CPU总线
CPU总线针对具体处理器设计,因此没有统一的
规范。
系统总线
系统总线为主机系统与外围设备之间的通信通道。
在主板上,系统总线表现为与扩展插槽相连接的
一组逻辑电路和导线,所以系统总线也叫 I/O通道
总线
系统总线必须有统一的标准,以便按标准设计各
类适配卡
ISA,EISA,MCA,VESA,PCI,AGP
?总线的层次结构
系统总线
ISA:Industry Standard Architecture—— 工业标准体
系结构,16位标准总线,数据传输率 8MB/s
MCA:Micro Channel Architecture—— 微通道体系结
构,32位标准总线,数据传输率 40MB/s
EISA:Extended Industry Standard Architecture——
扩展工业标准体系结构,32位标准总线,数据传输率
33MB/s
VESA:Video Electronic Standard Association—— 视频
电子标准协会。 VESA总线也称为 VL-bus(VESA
Local Bus),32位标准总线,数据传输率 133MB/s
?总线的层次结构
系统总线
PCI:Peripheral Component—— 外部设备互连。 32/64
位标准总线,数据传输率 132MB/s
AGP:Accelerated Graphics Port—— 加速图形接口,
专为提高视频带宽而设计的总线规范。它是点对点连
接,连接控制芯片组和 AGP显示卡,因此严格说 AGP
不能称为总线,而是一种接口标准
?总线的层次结构
局部总线
用于主机内部特定子系统之间的紧密连接,设置局部
总线的目的是为了提高 CPU与高带宽占用部件(如显
卡)之间的数据传输速率
PCI,VESA,AGP为局部总线
?总线的层次结构
外部总线
用来提供 I/O设备与系统中其他部件间的公共通信通路。
外部总线标准化程度最高,适用各种处理器。
SCSI—— 小型计算机系统互连
USB—— 通用串行总线
外部总线本质上应该算作主机与外设的接口
?总线的层次结构
?总线的层次结构
82439TX System
Controller (MTXC)
82371AB PCI ISA
IDE Xcelerator
(PIIX4)
?总线的层次结构
8.2 ISA总线
支持 8位 ISA卡和 16位 ISA卡
?8位 ISA总线接口
8位 ISA总线也称为 PC总线或 XT总线
共有 62引脚,其中,数据线 8根、地址线 20根、控
制线 21根、状态线 2根,还有时钟、电源、地线
?8位 ISA总线接口
地址线 A19~A0
存储器地址 A19~A0,最大存储器 1M。
I/O地址 A15~A0,最大 64K,在 PC及 XT机上实际使
用 A9~A0,I/O范围为 0000~03FFH。
?8位 ISA总线接口
数据线 D7~D0
控制线 21条
?8位 ISA总线接口
AEN,Address Enable,地址允许信号
PC总线可由 CPU或 DMA控制器控制,当 DMAC控制
总线时,它产生 AEN信号,用于禁止 CPU控制总线。
即:
控制线 21条
?8位 ISA总线接口
ALE,Address Latch Enable,地址锁存允许
在 ALE的下降沿锁存来自 CPU的地址信号
读 /写信号
控制线 21条
?8位 ISA总线接口
IRQ7~IRQ2:中断请求信号
总线上的设备通过 IRQ7~IRQ2向主板上的中断控制
器 8259发出中断请求,IRQ7~IRQ2对应 8259的引脚
IR7~IR2。
8259的 8个请求输入端 IR7~IR0中 IRQ0被主板上的系
统定时器占用,IRQ1被键盘占用,因此,IRQ0和
IRQ1不在 PC总线上出现
控制线 21条
?8位 ISA总线接口
DRQ3~DRQ1,DMA请求信号
DMA控制器 8237有四个通道,允许四个设备请求进行
DMA传送,但通道 0用于 DRAM刷新,因此,DRQ0和
不在 PC总线上出现
,DMA响应信号
控制线 21条
?8位 ISA总线接口
T/C:计数结束信号
一次 DMA请求可传送多个字节,当任一 DMA通道传送
结束时,T/C上出现高电平。
Reset Drv:系统总清信号
控制线 21条
?8位 ISA总线接口
I/O通道奇偶校验信号。当 I/O通道上的设
备或存储器的奇偶校验有错时,该信号有效。
I/O通道准备好信号。该信号为低电平时
(未准备好),使 CPU或 DMA插入等待周期。
?16位 ISA总线接口
在 IBM PC/AT( 80286)机上首先使用,故又称为 AT
总线,在 8位 PC总线上扩展而成
?16位 ISA总线接口
16位 ISA总线在扩展 PC总线时,保留了原 62芯 PC总
线信号的大部分定义,仅做了少量更改
?16位 ISA总线接口
在扩展的 36芯插座上,ISA重新定义了部分信号
24位地址信号,允许最大存储器 16M
SD15~SD0,16位数据信号
SBHE:总线高字节允许
IRQ15,IRQ14,IRQ12,IRQ11,IRQ10
AT机上使用 2片中断控制器 8259(主片和从
片),可有 15级中断请求
?16位 ISA总线接口
DMA请求 /响应线
?16位 ISA总线接口
存储器读 /写信号
16位访问周期信号
指出当前传送的是 16位总线周期
总线主控
当 DMA控制器使用总线期间,为低电平
8.3 PCI总线
?PCI总线的引脚
PCI总线支持 32位和 64位接口卡,64位卡有 94个接插
点,32位卡仅有接插点 1~62
----------------------------------------------------------------
| PCI Component Side (side B) |
| |
| |
| optional |
| ____ mandatory 32-bit pins 64-bit pins _____|
|___| ||||||||||||||||||||||||||--|||||||--||||||||||||||
^ ^ ^ ^ ^ ^ ^ ^
b01 b11 b14 b49 b52 b62 b63 b94
微机系统采用 98+22边缘接插件
8.3 PCI总线
?PCI总线的引脚
系统信号
CLK:系统时钟信号。为所有处理提供定时,
在时钟的上升沿采样总线上各信号线的信号。 CLK
的频率称为 PCI总线的工作频率,为 33MHz。
RST #,复位信号。用来使 PCI所有的特殊寄存
器、定序器和信号恢复初始状态。
8.3 PCI总线
?PCI总线的引脚
地址和数据信号
AD[31:00] 地址和数据共用相同的 PCI引脚。
一个 PCI总线传输事务包含了一个地址信号期和
接着的一个 (或多个 )数据期。 PCI总线支持猝发读
写功能。
C/BE[3::00] 总线命令和字节使能信号。在地
址期,C/BE[3:0]#定义总线命令 ;在数据
期,C/BE[3::0]#用作字节使能。
PAR 奇偶校验信号。它通过 AD[31::00] 和
C/BE[3::0]进行奇偶校验
8.3 PCI总线
?PCI总线的引脚
接口控制信号
FRAME#:当一个主控设备请求总线时,采样
FRAME#,IRDY#,若均为无效电平,并且同一时钟
的上升沿 GNT#为有效电平,就认定以获得总线控制权。
在主控设备发起传输时,将 FRAME#驱动为有效电
平,并一直保持,直到开始传输最后一个数据时将
FRAME#驱动为无效电平。
IRDY#,主设备准备好信号。当与 TRDY# 同时有
效时,数据能完整传输。在写周期,IRDY# 指出数据已在
AD[31::00]上 ;在读周期,IRDY#指示主控器准备接收数
据。
接口控制信号
TRDY#,从设备准备好信号。预示从设备准备完成
当前的数据传输。在读周期,TRDY#指示数据变量已在
AD[31::0]中 ;在写周期,指示从设备准备好接收数据
STOP#,从设备要求主设备停止当前数据传送。
LOCK#,锁定信号。用于锁定目标存储器地址。
IDSEL,初始化设备选择。在参数配置读写传输期
间,用作设备配置寄存器的片选信号。
DEVSEL:设备选择信号。该信号有效时,表明总线
上某设备被选中。
8.3 PCI总线
?PCI总线的引脚
仲裁信号
REQ#,总线占用请求信号。任何主控器都有它自
己的 REQ#信号。
SERR#,总线占用允许信号,指明总线占用请求已
被响应。任何主设备都有自己的 GNT#。
8.3 PCI总线
?PCI总线的引脚
?总线命令
总线命令在地址期 C/BE[3::0]#线有效时被译码,表
明事务的类型
0000 中断确认 中断识别命令
0001 特殊周期 提供在 PCI上的简单广播机制
0010 I/O读 从 I/O口地址中读数据
0011 I/O写 向 I/O地址空间写数据
0110 存储器读 从内存空间中读出数据
0111 存储器写 向内存空间写入数据
1100 多重存储器读 只要 FRAME#有效,就应保持存器
管道连续,以便大量传输数据
?数据传输
数据传输由启动方(主控)和目标方(从控)共同完成
所有事件在时钟下降沿同步,在时钟上升沿对信号线采样
?数据传输
a,总线主控设备获得总线控制权后,将 FRAME#驱动至
有效电平,开始此次传输。同时启动方将目标设备的地
址放在 AD总线上,命令放在 C/BE#线上
b,目标设备从地址总线上识别出
c,启动方停止启动 AD总线,同时改变 C/BE#线上的信
号,并驱动 IRDY#至有效电平,表示已作好接收数据的
准备
?数据传输
d,目标设备将 DEVSEL#驱动至有效电平,将被请求的
数据放在 AD总线上,并将 TRDY#至有效电平,表示总线
上的数据有效
e,启动方读数据
f.目标设备未准备好传送第二个数据块,因此将 TRDY#
驱动 至无效电平
?数据传输
g,第 6个时钟,目标方已将第三个 数据块放到数据总线
上,但启动方未准备好,故因此将 IRDY#驱动 至无效电

i,启动方知道 第三个 数据块是要传输的最后一个,将
FRAME驱动 至无效电平,停止目标方,同时将 IRDY#
驱动 至有效电平,完成接收
j.启动方将 IRDY#驱动 至无效电平,总线回到空闲状态
?配置空间
PCI总线实现了参数自动设置功能。每个 PCI设备必
须提供 256字节的空间结构,软件利用这一结构可以
测定什么板插入了 PCI插槽,从而使软件能够自动地
为 PCI接口设置系统。
—— PnP=Plug and Play即插即用
?配置空间
识别码包含单元识别码(高 16位)和厂商识别码(低 16位)
单元识别码用来区分 PCI接口的类型
?配置空间
04H为状态寄存器(高 16位)和命令寄存器(低 16位)
命令寄存器用来产生 PCI总线命令。命令寄存器的每一
位都有确切的含义。
设备状态寄存器用来记录与 PCI总线有关事件的信息。