一、基本概念
定义
数字计算机由多个系统功能部件组成,这些系统功能部件可以一起工作形成一个完整的计算机系统。
计算机的多个功能部件不能采用全互联的形式。
有公共信息通道,即总线。
它构成了计算机系统,在多个系统功能部件之间公共通道。在总线连接的帮助下,计算机在系统功能部件之间交换地址、数据和控制信息在工作的基础上。
分类
CPU连接寄存器和运算器部件之间的总线
外部总线或板级总线(数据总线)DB、地址总线AB、控制总线CB),CPU同计算机系统例如,连接到存储器和通道的总线构成一个完整的微机系统
相互连接的总线
特征
物理连接方式(根数、插头、插座形状、引脚排列等)
每条线的功能(数据、地址、控制等)
每个在线信号的传输方向和有效电平范围(单向、双向、高/低电平)
规定每条总线何时有效。规定了总线各信号的有效时序关系,CPU正确区分和使用
性能指标
的根数(bit)
总线本身能达到的最高水平,单位为每秒兆字节(MB/s),实际带宽会受到总线布线长度和驱动性能的影响
同步(所有互联部件或设备通过时钟同步)、异步(依靠部件或设备内部的定时操作)
数据和地址在同一条总线上传输
数据线、地址线和控制线的总和
串行链接(按物理位置排优先级),定期搜索(计数改变优先级顺序),独立请求
例题:
假设总线周期等于总线时钟周期,总线时钟频率为33MHz,总线带宽是多少?
解:4B × 33MHz = 132MB/s
如果64位数据在总线周期中并行传输,总线时钟频率为66MHz,总线带宽是多少?
解:(64b ÷ 8)× 66MHz = 528MB/s
总线标准
本标准规定了总线的机械结构、功能结构和电气规范,按总线标准设计的接口可视为通用接口。
正式标准:由国际标准化组织指定
工业标准:由行业和大公司提出
二、总线连接方式
单总线结构
连接单个系统总线CPU、内存和I/O设备
要求连接到总线的部件,否则,可能会导致很大的时间延迟
CPU取一个指令时,程序计数器PC地址和控制信息一起发送到总线。地址不仅添加到主存储器中,还添加到总线上的所有外围设备中。只有与总线上地址相对应的设备才能进行数据传输操作
取出指令后,CPU检查操作码。操作码规定了数据要执行什么操作,数据流入CPU还是流出CPU
如果该指令地址字段对应的是外围设备地址,则外围设备译码器予以响应,从而在CPU数据传输发生在与地址对应的外围设备之间,数据传输的方向由指令操作码决定
单总线结构容易扩展CPU系统
结构简单,成本低,易于接入新设备
带宽低,负载重,多个部件只能使用唯一的总线,不支持和传输操作
双总线结构
在CPU一组高速存储总线专门设置在主存储器之间,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担
三总线结构
在双总线系统的基础上增加I/O总线,IOP(I/O处理器)可以可以共享CPU实现外设与主存之间的统一管理和数据传输
I/O处理器可以存储数据
多总线结构
多总线结构采用多条总线
连接CPU和cache
连接CPU与主存
连接高速LAN(100Mb/s局域网)、视频接口、图形接口SCSI接口(支持本地磁盘驱动器等外设)Firewire接口(支持大容量I/O设备)。通过扩展总线接口连接到扩展总线,扩展总线可以串联工作I/O设备
它是一种具有缓冲、转换和控制功能的逻辑电路。不同类型的桥梁扩展不同层次的总线,分别连接高速、中速和低速设备。
同时连接到不同的总线,以提高总线的效率和吞吐量,处理器结构的变化不影响高速总线
-
HOST总线
- HOST总线不仅可以连接主存,还可以连接多个主存CPU
- HOST连接北桥芯片的总线CPU信息通4位数据线和32位地址线之间的同步总线
- 32位的地址线可支持处理器4GB存储寻址空间
- 总线也连接L2级cache,主存与cache控制器芯片。CPU 对主存和cache的存取操作
- CPU拥有HOST总线控制权,但必要时可放弃总线控制权。
-
PCI总线
- 连接各种高速公路PCI设备。PCI与处理器无关的高速外围总线, 它也是一条重要的层间总线。采用同步时序协议和集中仲裁策略 授权主方启动总线周期 总线周期由一个地址期和一个或多个数据期组成
-
在PCI总线体系结构有三种桥梁
- HOST桥:连接HOST总线与PCI总线使彼此相互通信
- PCI/PCI桥:一个PCI桥把一个PCI总线连接在一个PCI作为插槽PCI设备 如CPU通过“HOST-PCI桥与一条PCI总线相连,成为主线PCI当通过总线时 PCI桥扩展PCI在总线上,扩展总线成为从PCI总线”
- PCI/LEGACY桥:实现对ISA,EISA连接等低速设备
-
PCI总线标准
- 信号线:PCI按功能可分为以下五组
- 系统信号:包括时钟(CLK)和复位线(RST)
- 地址和数据信号:包括32个分时复用地址/数据线、4个分时复用总线命令/字节能量线和36个信号线奇偶校验的校验信号线
- 接口控制信号:定期控制总线事务,协调事务发起人与响应者之间的协调
- 裁决信号:与其他信号不同,并非所有设备共享相同的信号线,但每个总线的主控设备都有一对仲裁线独立要求和总线允许。PCI所有设备的仲裁线都连接到一个总线裁决器
- 错误报告信号:用于报告奇偶验错等错误
- PCI命令
- 总线活动以总线主控设备与设备之间的总线事务形式进行
- 总线主控设备是事务的发起者,从设备到事务的响应者,即目标
- 当总线主控设备获得总线使用权时,信号线可以在事务地址周期通过分时总线命令/字节使用C/BE发布总线命令,即事务类型
- PCI总线周期的操作过程具有以下特点
- 主方确定总线周期长度。
- 当主方启动总线周期时,要求目标方确认。
- 主方结束一总线周期时不要求目标方确认。
- 一个总线周期由一个地址期或多个数据期组成。
- 信号线:PCI按功能可分为以下五组
三、总线的内部结构
早期总线结构
实际上是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。
按功能可分为:地址线、数据线、控制线
当代总线结构
CPU和它私有的cache一起作为一个模块与总线相连。系统中允许多个这样的处理器模块
总线控制器完成多个总线请求者之间的协调与仲裁
整个系统分为四个部分
总线结构示例
南桥、北桥:连接总线,作用是信号速度缓冲、电平转换和控制协议的转换
CPU总线:包含64位数据线和32位地址线的同步总线,(传统观点看)可看作CPU引脚的延伸
PCI总线:32位(或64位)的同步总线,地址线和数据线分时复用,连接高速的I/O模块,如图形显示适配器、硬盘控制器等,采用集中式仲裁方式
ISA总线:连接低速I/O设备,还通过片级总线和时钟/日历、ROM、键盘鼠标等芯片连接
有一个核心逻辑芯片组
四、总线接口
I/O功能模块通常简称为I/O接口,也叫适配器
I/O接口是CPU和主存、外设之间通过总线进行连接的逻辑部件
通过适配器可以实现高速CPU与低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间所有的数据传送和控制。适配器通常简称接口
信息传送方式
基本有三种:串行传送、并行传送、分时传送
早期出于速度和效率上的考虑,系统总线采用并行传送方式
-
串行传送:使用一条传输线,采用脉冲传送;低位在前,高位在后
-
优点:只需要一条传送线,成本低廉,对长距离传输优点较为明显
-
缺点:频率较低时,相对并行传送速度慢
-
-
并行传送:每一位数据一条传输线,一般采用电位传送
- 优点:传输速度快
- 缺点:存在信号干扰
-
分时传送:同一部件总线复用 或 共享总线的部件分时使用
总线接口
两个接口:
- 与系统总线相连
- 控制寄存器发送命令 状态寄存器获取外设或I/O设备状态信息
- 与外围设备相连
- 通过I/O控制器来和外设进行数据交换
- I/O端口:I/O控制器中CPU能够访问的各类寄存器
接口功能:
- 控制:接口模块靠指令信息来控制外围设备的动作,如启动、关闭设备等
- 缓冲:接口模块在外围设备和计算机系统其他部件之间用作为一个缓冲器,以补偿各 种设备在速度上的差异
- 状态:接口模块监视外围设备的工作状态并保存状态信息。状态信息包括“准备就 绪”、“忙”等,供CPU询问外围设备时进行分析
- 转换:接口模块可以完成任何要求的数据转换,如串并、并串、模拟数字信号转换等
- 整理:接口模块可以完成一些特别的功能,例如:修改字计数器、内存地址寄存器
- 程序中断:每当外围设备向CPU请求某种动作时,接口模块发出中断请求信号到CPU
接口模块分为并行数据接口和串行数据接口两大类
总线仲裁
每次总线操作,只能有一个主方占用总线控制权,但同一时间内可以有多个从方。
主方:可以启动一个总线周期,如CPU模块,可以做主方也可以做从方;
从方:只能响应主方的请求,如存储器模块只能用作从方。
为了解决多个主设备同时竞争总线控制权的文体,必须有总线仲裁部件。
一般采用优先级或公平策略进行仲裁。
优先级:I/O模块通常采用优先级策略
公平策略:多处理器系统中对各CPU模块的总线请求采用公平的原则来处理
仲裁方式:
-
集中式仲裁
每个功能模块中有两条线连接到总线控制器:总线请求BR(bus request)、总线授权信号线BG(bus grant)
-
链式查询方式:总线授权信号BG串行地从一个I/O接口传送到下一个I/O接口。若BG到达的接口无请求,则继续向下查询,若有请求,停止查询
-
离中央仲裁器最近的设备具有最高优先权,离总线控制器越远, 优先权越低
• 优点:只用很少几根线就能按一定优先次序实现总线控制,并且这种链式结构 很容易扩充设备
• 缺点:对询问链的电路故障很敏感,优先级固定
-
-
计数器定时查询方式:设备通过BR发送请求,总线仲裁接收到请求后,在BS(bus busy)为0的情况下计数器开始计数,计数器数值和设备地址一致时,BS置1,中止计数器查询。
- 每次计数可以从 “ 0 ”开始 ,也可以从中止点开发始 。 如 果从 “ 0 ”开始 ,各设备的优先次序与链式查询法相同 ,优先级的顺序是固定的 。如果从中止点开始 ,则每个设备 使用总线的优级相等
- 计数器的初值也可用程序来设置 ,这可以方便地改变优先 次序 ,但这种灵活性是以增加线数为代价的
-
独立请求方式:每一个共享总线的设备均有一对总线请求线BRi和总线授权线BGi。当设备要求使用总线时,便发出该设备 的请求信号
- 总线仲裁器中有一个排队电路,它根据一定的优先次序决定首先响应哪个设备的请求,给设备以授权信号 BGi。独立请求方式的优点是响应时间快
- 当代总线标准普遍采用独立请求方式
-
-
分布式仲裁
- 不需要中央仲裁器,而是多个仲裁器竞争使用总线。
- 当有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较 如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上
- 分布式仲裁是以优先级仲裁策略为基础
总线定时
总线的信息传送过程分为5个阶段:请求总线、总线仲裁、寻址、信息传送、状态返回
为了同步主、从双方的操作,必须置顶定时协议。定时是指时间出现在总线上的时序关系
- 同步定时:事件出现在总线上的时刻由总线时钟信号来确定,总线中包含时钟信号线
- 同步定时适用于总线长度较短、各功能模块在存取时间上相近的情况。同步定时对于任何两个功能模块的通信都给予相同的时间安排,按照最慢的模块来设置公共时钟,因此差别大时,会损失总线效率
- 异步定时:后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制的基础上
- 异步定时的优点是总线周期长度可变,允许快速和慢速的功能模块都能连接到同一总线上,但这以增加总线的复杂性和成本为代价。
- 异步通信的三种方式:
- 非互锁:主模块发出请求信号后,不等待接到从模块的回答信号,而是经过一段时间,便撤消其请求信号;从设备接到请求信号后,在条件允许时发出回答信号,并且经过一段时间,自动撤消回答信号
- 半互锁:主模块发出请求信号,待接到从模块的回答信号后再撤消其请求信号,存在着简单的互锁关系:而从模块发出回答信号后,不等待主模块回答,在一段时间后便撤消其回答信号,无互锁关系
- 全互锁:主模块发出请求信号,待从模块回答后再撤其请求信号;从 模块发出回答信号,待主模块获知后,再撤消其回答信号
- 半同步总线定时协定:
- 整体上仍采用同步操作方式,其总线周期是时钟周期的整数倍。不同处在于增加一根联络信号线,由此信号决定时都需要增加时钟周期
总线的数据传送模式
- 读、写操作
- 读操作是由从方到主方的数据传送
- 写操作是由主方到从方的数据传送
- 一般地,主方先以一个总线周期发出命令和从方地址,经过一 定的延时再开始数据传送总线周期。为了提高总线利用率,减 少延时损失,主方完成寻址总线周期后可让出总线控制权,以 使其他主方完成更紧迫的操作。然后再重新竞争总线,完成数 据传送总线周期
- 块传送操作
- 只需给出块的起始地址,然后对固定块长度的数据一个接 一个地读出或写入
- 对于CPU(主方)存储器(从方)而言的块传送,常称为猝发式传送。其块长一般固定为数据线宽度(存储器字长) 的4倍 例如一个64位数据线的总线,一次猝发式传送可达256位
- 写后读、读修改写操作
- 这是两种组合操作,只给出地址一次(表示同一地址), 或进行先写后读操作,或进行先读后写操作
- 前者用于校验目的,后者用于多道程序系统中对共享存储 资源的保护
- 这两种操作和猝发式操作一样,主方掌管总线直到整个操作完成
- 广播、广集操作
- 一般而言,数据传送只在一个主方和一个从方之间进行。 但有的总线允许一个主方对多个从方进行写操作,这种操作称为广播
- 与广播相反的操作称为广集,它将选定的多个从方数据在总线上完成AND或OR操作,用以检测多个中断源
五、常见的总线标准
目前,典型的总线标准有ISA,EISA,VESA,PCI,PCI-Express,AGP,RS-232C, USB等
它们的主要区别是总线宽度,带宽,时钟频率,寻址能力,是否支持突发传送等
- ISA(Industry Standard Architecture) 工业标准体系结构,是IBM公司为PC/AT电脑而制定的总线标准,为16位体系结构, 只能支持16位的I/O设备
- EISA(Extended Industry Standard Architecture) 扩展工业标准结构,是EISA集团为配合32位CPU而设计的总线扩展标准。它吸收了 IBM微通道总线的精华,并且兼容ISA总线
- VESA(Video Electronics Standard Association) 32位标准的计算机局部总线,是针对多媒体PC要求高速传送活动图像的大量数据应运而生
- PCI(Peripheral Component Interconnect) 外设部件互连标准,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有 这种插槽
- PCI-E(PCI-Express) 一种通用的总线规格,它由Intel所提倡和推广,其最终的设计目的是为了取代现有电脑系统内 部的总线传输接口
- AGP(Accelerated Graphics Port) 加速图像接口,是英特尔推出的一种3D标准图像接口,它能够提供四倍于PCI的效率
- USB(Universal Serial Bus) 通用串行总线,是由Intel、 Compaq、Digital、IBM、Microsoft、NEC、Northern Telecom等7家世界著名的计算机和通信公司共同推出的一种新型接口标准。它基于通用 连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围 的目的
- SCSI(Small Computer System Interface) 小型计算机系统接口,是种较为特殊的接口总线,具备与多种类型的外设进行通信(硬盘, 光驱,打印机等)
- SATA(Serial Advanced Technology Attachment) 串行高级技术附件,一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、 APT、Maxtor和Seagate公司共同提出的硬盘接口规范