计算机组成原理笔记6-总线
总线概念
定义
总线是一组能为多个部件分时共享的公共信息传送线路。
特点
共享:是总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。在某一时刻只允许有一个部件向总线发送信息,但多个部件可同时从总线上接收相同的信息。
分时:是指同一时刻只允许有一个部件向总线发送信息,如果系统中有很多部件,则它们只能分时地向总线发送信息。
特性
- 机械特性:尺寸、形状、管脚数、排列顺序
- 电气特性:传输方向和有效的电平范围
- 功能特性:每根传输线的功能(地址、数据、控制)
- 时间特性:信号的时序关系
分类
按数据传输格式
-
串行总线: 一位一位进行传输
优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。
缺点:在数据发送和接收的时候要进行拆卸和装配,要考虑串行-并行转换的问题。
-
并行总线: 多位一同传输
优点:总线的逻辑时序比较简单,电路实现起来比较容易。
缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂。
按总线的功能
-
片内总线:
片内总线式芯片内部的总线。
它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。
-
系统总线:
系统总线是计算机系统内各功能部件(CPU、主存、I/0接口)之间相互连接的总线。
按系统总线传输信息内容的不同,游客分为3类:数据总线、地址总线和控制总线。
- 数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关。双向。
- 地址总线用来指出数据总线上源数据或目的数据所在的主存单元或I/0端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关。
- 控制总线传输的是控制信息,一根控制线传输一个信号,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。
-
通信总线:
通信总线是用来计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。
按时序控制方式
- 同步总线
- 异步总线
系统总线的结构
单总线结构
- 结构:CPU、主存、I/O设备(通过I/O接口)都连接在一组总线上,允许I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息。
- 优点:结构简单,成本低,易于接入新的设备。
- 缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。
双总线结构
支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据。
通道是具有特殊功能的处理器,能对I/O设备进行统一管理。通道程序放在主存中。
- 结构:双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。
- 优点:将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离。
- 缺点:需要增加通道等硬件设备。
三总线结构
DMA:Direct Memory Access,.直接内存访问。
- 结构:三总线结构是在计算机系统各部件之间采用三条各自独立的总线来构成信息通路,这3条总线分别位主存总线、I/O总线和直接内存访问DMA总线。
- 优点:提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。
- 缺点:系统工作效率较低。
四总线结构
- 桥接器:用于连接不同的总线,具有数据缓冲、转换和控制功能。
- 靠近CPU的总线速度较快。
- 每级总线的设计遵循总线标准。
总线性能指标
总线传输周期(总线周期)
一次总线操作所需的时间(包括申请阶段(仲裁)、寻址阶段、传输阶段和结束阶段),通常由若干各总线时钟周期构成。
总线时钟周期
即机器的时钟周期。计算机有一个同一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
总线工作频率
总线上的各种操作的频率,为总线周期的倒数。
若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。
实际上指一秒内传送几次数据。
总线时钟频率
即机器的时钟频率,为时钟周期的倒数。
若时钟周期为T,则时钟频率为1/T。
实际上指一秒内有多少个时钟周期。
总线宽度
又称为总线位宽,它是总线上同时能够传输的数据位数.通常是指数据总线的根数,如32根称为32位(bit)总线。
总线带宽
可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。
注:总线带宽是指总线本身所能达到的最高传输速率。在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。
总线复用
总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。
信号线数
地址总线、数据总线和控制总线3种总线数的综合称为信号线数。
总线仲裁*
基本概念
同一时刻只能由一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据。
将总线上所连接的各类设备按其对总线有无控制功能分为:
主设备:获得总线控制权的设备。
从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。
总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争控制权的问题。
总线仲裁定义:多个主设备同时竞争主线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。
分类
集中仲裁方式
工作流程:
- 主设备发出请求信号;
- 若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线;
- 获得总线使用权的主设备开始传送数据。
链式查询方式:
"总线忙"信号的建立者是获得总线控制权的设备。
优先级:离总线控制器越近的部件,其优先级越高;离总线控制器越远的部件,其优先级越低。
优点:只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。
缺点:对硬件短路的故障敏感,并且优先级不能改变。当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。
计数器查询方式
当总线控制器收到总线请求信号,判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件。当地址线的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权。同时,中止计数器的计数及查询。
结构特点:用 一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG;它仍共用一根总线请求线。
优点:
-
计数初始值可以改变优先次序
-计数每次从"0"开始,设备的优先级就按顺序排序,固定不变;
-计数从上一次的终点开始,此时设备使用总线的优先级相等;
-计数器的初值还可以由程序设置
-
对电路的故障没有链式敏感
缺点:
-
增加了控制线数
-若设备有n个,则需\(\lceil log_2n \rceil +2\)条控制线
-
控制相对比链式查询相对复杂
独立请求方式
当总线上的部件需要总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队。当总线控制器按一定的优先次序决定批准某个部件的请求时,则给该部件发送总线响应信号。
结构特点:每一个设备均有一对总线请求线\(BR_i\)和总线允许线\(BG_i\)。
优点:
- 响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或者查询。
- 对优先次序的控制相当灵活。
缺点:
-
控制线数量多
-若设备有n个,则需要2n+1条控制线。
其中+1为BS线,其用处为,用于设备向总线控制部分反馈已经使用完毕总线。
-
总线的控制逻辑更复杂。
小结
对比项目 仲裁方式 | 链式查询 | 计数器定时查询 | 独立请求 |
---|---|---|---|
控制线数 | 3 总线请求:1 总线允许:1 总线忙:1 |
\(\lceil log_2n \rceil +2\) 总线请求:1 总线允许:\(\lceil log_2n \rceil\) 总线忙:1 |
2n+1 总线请求:n 总线允许:n 总线忙:1 |
优点 | 优先级固定 结构简单,扩充容易 |
优先级较灵活 | 响应速度快 优先级灵活 |
缺点 | 对电路故障敏感 优先级不灵活 |
控制线较多 控制相对复杂 |
控制线多 控制复杂 |
总线忙:信号的建立者是获得总线控制权的设备
分布仲裁方式
特点:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁器,多个仲裁器,多个仲裁器竞争使用总线。
当设备有总线请求,它们就把各自唯一的仲裁号发送到共享的仲裁总线省;每个仲裁器将从仲裁总线上得到的仲裁号与自己仲裁号进行比较;如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号;最后,获胜者的仲裁号保留字仲裁总线上。
操作和定时
总线传输的四个阶段
总线周期的四个阶段
- 申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求和总线仲裁两个阶段。
- 寻址阶段:获得使用权的主模块通过总线发出本地要访问的从模块的地址及有关命名,启动参与本次传输的从模块。
- 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
- 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线定时是指总线在双方交换的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则。
同步定时方式(同步通信)
同步定时方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。
时钟产生相等的时间间隔,每个间隔构成一个总线周期。
在一个总线周期,发送方和接收方可进行一次数据传送。
因为采用同一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
异步定时方式(异步通信)
在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的"握手"信号来实现定时控制。
主设备提出交换信息的"请求"信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出"回答"信号。
根据"请求"和"回答"信号的撤销是否互锁,分为以下3种类型。
-
不互锁方式 速度最快,可靠性最差
主设备发出"请求"信号后,不必等到接到从设备的"回答"信号,而是经过一段时间,便撤销"请求"型号。
而从设备在接到"请求"信号后,发出"回答"信号,并经过一段时间,自动撤销"回答"信号。双方不存在互锁关系。
-
半互锁方式
主设备发出"请求"信号后,必须待接到从设备的"回答"信号后,才撤销"请求"信号,有互锁关系。
而从设备在接到"请求"信号后,发出"回答"信号,但不必等待获知主设备的"请求"信号已经撤销,而是隔一段时间自动撤销"回答"信号,不存在互锁关系。
-
全互锁方式 最可靠,速度最慢
主设备发出"请求"信号后,必须待接到从设备的"回答"信号后,才撤销"请求"信号;
主设备发出"回答"信号后,必须待获知主设备"请求"信号已撤销后,再撤销其"回答"信号。双方存在互锁关系。
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。
半同步通信
统一时钟的基础上,增加一个"等待"响应信号\(\overline{WAIT}\)。
分离式通信
分离式通信的一个总线传输周期
- 子周期1: 主模块申请占用总线,使用完后放弃总线的使用权。
- 子周期2: 从模块申请占用总线,将各种信息送至总线上。
特点:
- 各模块均有权申请占用总线
- 采用同步方式通信,不等对方回答
- 各模块准备数据时,不占用总线
- 总线利用率提高
总线标准*
基本概念
系统总线标准:ISA、EISA、VESA、PCI、PCI-Express等。
设备总线标准:IDE、AGP、RS-232C、USB、SATA、SCSI、PCMCIA等。
局部总线标准:在ISA总线和CPU总线之间增加的一级总线或管理层,如PCI、PCI-E、VESA、AGP等,可以节省系统的总带宽
- 即插即用(Plug-and-Play)的作用是自动配置(底层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么。把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。
- 热插拔(hot-plugging或Hot Swap)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬件、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等,例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。
总线标准 | 全称 | 工作频率 | 数据线 | 最大速度 | 特点 |
---|---|---|---|---|---|
ISA | Industry Standard Architexture | 8MHz | 8/16 | 8MB/s | 系统总线 |
EISA | Extended ISA | 8MHz | 32 | 32MB/s | 系统总线 |
PCI | Peripheral Component Interconnect | 33MHz | 32 | 133MB/s | 局部总线 |
AGP | Accelerated Graphics Port | - | - | X1:266MB/s X8:2.1GB/s |
局部总线 |
VESA | Video Electronics Standard Architecture | 33MHz | 32 | 132MB/s | 局部总线 |
PCI-E | PCI-Express(3GIO) | - | - | 10GB/s以上 | 串行 |
USE | Universal Serial Bus | - | - | 1280MB/s | 设备总线、串行 |
RS-232C | Recommended Standard | - | - | 20Kbps | 串行通信总线 |
IDE(ATA) | Integrated Drive Electronics | - | - | 100MB/s | 硬盘光驱接口 |
SATA | Serial Advanced Technology Attachment | - | - | 600MB/s | 串行硬盘接口 |
PCMCIA | PerSonal Computer Memory Card International Association |
- | - | 90MB/s | 便携设备接口 |
SCSI | Small Computer System Interfaces | - | - | 640MB/s | 智能通用接口 |
系统总行标准
ISA/EISA
ISA:数据传送需要CPU或DMA接口来管理。不支持总线仲裁。
EISA:与ISA总线完全兼容;从CPU中分离出了总线控制权,支持多个总线主控器和突发传送。
局部总线标准
PCI:PCI总线是独立于CPU的局部总线。
特点:
- 高性能:不依附于某个具体的处理器,支持突发传送。
- 良好的兼容性。
- 支持即插即用。
- 支持多主设备。
- 具有与处理器和存储器子系统完全并行操作的能力。
- 提供数据和地址奇偶校验的能力。
- 可扩充性好,可采用多层结构提高驱动能力。
- 采用多路复用计数,减少了总线引脚个数。
PCI-E:PCI-Express总线是一种点对点串行连接的设备连接方式。
支持热拔插。
AGP:加速图形接口;这是显示卡专用的局部总线。
VESA:又叫做视频局部总线;是针对多媒体PC要求高速传送活动图像的大量数据应运而生的。
设备总线标准
USB:属于设备总线,是设备和设备控制器之间的接口。
特点:
- 可以热拔插、即插即用。
- 具有很强的连接能力和很好的可扩充性。
- 标准统一。
- 高速传输。
- 连接电缆轻巧,可为低压(5V)外设供电。
RS-232C:是应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)
IDE(ATA):硬盘和光驱通过IDE接口与主板连接。
SATA:即串行高级计数附件,采用串行方式传输数据。
SCSI:是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理及标准。SCSI是一种智能的通用接口标准。
PCMCIA:可分为16位的PCMCIA和32位的CardBus。
CardBus具有:1.32位数据传输和33MHz操作 2.总线自主。 3.3.3V供电
视频线标准简介
VGA:Video Graphics Array 也称为D-sub端口
用于传输模拟信号。
DVI:Digital Visual Interface
用于传输数字。
HDMI:High Definition Multimedia Interface
理论最大传输速度可以Gb/s ;影像数据+8声道的音讯信号;源于DVI技术。