第六章:总线(408笔记|王道笔记|计算机组成原理笔记)
| 第一节:总线的概念与分类 |
|---|
| 总线的物理实现 | 每个总线可能由多个信号线组成,如图,4根信号线组成“一根”总线,所有硬件部件都可以通过这根总线传递数据可并行发送4bit数据。同一时刻只能有一个部件发送数据,但是****可有多个部件接受数据 | ![]() |
|---|
| 使用总线原因 | 早期计算机外部设备少时大多采用分散连接方式(专门建立一条线路),不易实现随时增减外部设备。为了更好地解决I/O设备和主机之间连接的灵活性 问题,计算机的结构从分散连接发展为总线连接**【每增加一个外部设备都增加一个专门的线路来链接是极不方便的】** | ||
| 总线的特性 | 机械 特性 | 尺寸、形状、管脚数、排列顺序 | |
| --- | --- | ||
| 电气 特性 | 传输方向和有效的电平范围 | ||
| 功能 特性 | 每根传输线的功能(地址、数据、控制) | ||
| 时间 特性 | 信号的时序关系 |
| --- | --- |
| 缺点 | 在数据发送和接收的时候要进行拆卸 和装配 ,要考虑串行**-**并行转换的问题 |
| --- | --- |
| 缺点 | 信号线数量多,占用更多的布线空间;远距离传输成本高昂 【由于工作频率较高时,并行的信号线之间会产生严重干扰(导致并行总线在发送数据时,对发送频率有上限,不能太高) ,对每条线等长的要求也越高,所以无法持续提升工作频率】 |
||
||
| 按总线功能 ——
(按连接的功能部件****) | | 片内 总线 | 片内总线是芯片内部的总线 。它是CPU芯片内部寄存器与寄存器之间 、寄存器与ALU之间 的公共连接线 |
| --- | --- | ||||
|---|---|---|---|---|---|
| --- | --- |
| 位数
根数 | 位数**(根数)**与机器字长 (CPU可以通过一次的数据读入,就可以取得CPU可以处理的那么多的数据)、存储字长 (每次的主存读或写操作只需用数据总线传输一次数据即可)有关 |
|方向|信息传递方向是双向|
| --- | --- |
| 位数
根数 | 位数(根数)与主存地址空间大小 及设备数量 有关(如新增多个主存或者输入输出设备,那么 地址总线的宽度至少就需要把他们的地址信息全部表示出来 ) |
|方向|信息传递方向是单向|
| --- | --- |
| 位数
根数 | 一根控制总线 包含多根控制线 ,每一根控制线 可以负责传输一个信号 |
|方向|对于单根控制线 来说传输方向肯定是单向 的,对于整根控制总线 来说传输方向是双向 的。有出 :CPU送出的控制命令;有入 :主存(或外设)返回CPU的反馈信号|
||
| --- | --- | ||
| 异步 总线 | 指没有统一的时钟而依靠各部件或设备内部定时操作,所有部件或设备是以信号握手的方式进行 |
||
||
| 系统 总线 的 结构
选择题 | | 单总线结构 | | 结构 | CPU、主存、I/O设备(通过I/O接口)都连接在一组总线 上,允许I/O设备之间、I/O设备和CPU之间或I/O设备与主存之间直接交换信息 |
| --- | --- |
|---|---|
| 注意 | 单总线 并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线 、数据总线 和控制总线 |
| 优点 | 结构简单,成本低,易于接入新的设备 |
| 缺点 | 带宽低、负载重,多个部件 只能争用 唯一的总线,导致带宽低,传输的速度慢,且不支持并发 (应理解为并行)传送操作 【系统总线支持很快的速度传输,但是如果让快速的系统总线 来让慢速的设备 传送数据时,造成性能浪费】 |
| --- | --- | ||
| 图示 | ![]() |
||
| 注意 | 主存总线支持突发** (猝发 )传送** :送出一个地址,收到多个地址连续的数据 通道 是具有特殊功能的** 处理器** ,对I/O设备进行统一管理。通道程序放在主存中 | ||
| 优点 | 将较低速的I/O设备从单总线上分离出来,实现存储器总线和I/O总线分离 | ||
| 缺点 | 需要增加通道等硬件设备 |
| --- | --- | ||
| 图示 | ![]() |
对磁盘的数据读写以块为单位,主存和磁盘通过DMA总线传输这块数据 ,好处是CPU不需要通过慢速的I/O总线和磁盘机进行数据交互,而是先把CPU需要的多块数据先从磁盘通过DMA总线读入主存 ,CPU 直接从快速的主存中取走数据 ,缓和了CPU和磁盘之间的速度矛盾 | |
| --- | --- |
| 缺点 | 三总线结构中,** 任意时刻只能使用一种总线。主存总线和DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才用到,导致 系统工作效率较低** |
||
| 四总线结构 —— 不考
现代计算机更常使用的一种总线结构 | | 图示 |
|
| --- | --- |
|---|
| 注意 | 越靠近CPU的总线速度较快
每级总线的设计遵循总线标准 |
|拓展|“北桥芯片”,和“南桥芯片”就是桥接器|
||
||
| 第二节:评价总线的性能指标 |
|---|
| 总线的 传输周期 —— 总线周期 | 一次总线操作所需的时间 (包括申请阶段 、寻址阶段 、传输阶段 和结束阶段 ),通常由若干个总线时钟周期构成 | 总线周期与总线时钟周期的关系比较魔幻, 多数情况,一个总线周期 包含多个总线时钟周期 (一对多) 有的时候,一个总线周期 就是一个总线时钟周期 (一对一) 有的时候,一个总线时钟周期 包含多个总线周期 (多对一) |
|---|
| 总线的工作频率 | 总线上各种操作的频率,为总线周期的倒数 若总线周期=N*T,若时钟周期时间为T,则总线的工作频率= 时钟频率𝑵=𝟏𝑻×𝑵 实际上指** 一秒内传送几次数据** |
| 总线的时钟频率 | 即机器的时钟频率,为时钟周期的倒数 若时钟周期为T,则时钟频率为1/T 实际上指一秒内有多少个时钟周期 |
| 总线宽度 | 又称为总线位宽 ,它是总线上同时能够传输的数据位数 ,通常是指数据****总线的根数 ,如32根称为32位(bit)总线【如果说一个计算机系统的总线宽度是32bit,通常是指数据总线 的根数为32根】 |
| 总线带宽 | 可理解为总线的数据传输率 ,即单位时间内总线上可传输数据的位数 ,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示
总线带宽**=总线工作频率×总线宽度(bit/s)=总线工作频率×(总线宽度/8)(B/s)**
= 总线宽度总线周期𝑏𝑖𝑡𝑠=总线宽度÷8总线周期𝐵𝑠
| 注意 | ①总线带宽是指总线本身所能达到的**最高传输速率(然而在总线传输的过程当中,并不是所有信息都是有效信息,比如校验位,开头结尾标志)** 。在计算实际的有效数据传输率 时,要用实际传输的数据量除以耗时。 ②串行总线和并行总线不能单凭线的条数来判断总线带宽,还得根据总线工作频率来计算,但是由于并行总线如果工作频率高,会导致信号线之间产生干扰,因此有上限 ,所以得具体问题具体分析,根据:总线带宽**=总线工作频率×**总线宽度 | 1.工作频率相同时,串行总线传输速度比并行总线慢。 2.并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线 |
|---|
||
| 例题 | 某同步总线采用数据线和地址线复用方式,其中地址/数据线有32根,总线时钟频率为66MHz,每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据) 1) 该总线的最大数据传输率(总线带宽)是多少? 2) 若该总线支持突发**(猝发)** 传输方式,传输一个地址占用一个时钟周期,则一次 “主存写”总线事务传输128位数据所需要的时间至少是多少? |
|---|---|
| 答案 | ①每个时钟周期传送两次数据→总线工作频率是时钟频率的两倍 总线工作频率= 2 × 66MHz =132MHz 总线宽度= 32bit = 4B 总线带宽=总线工作频率×总线宽度= 132 × 4 MB/s = 528 MB/s ②突发(猝发)传输方式:一次总线事务中,主设备只需给出一个首地址,从设备就能 从首地址开始的若干连续单元读出或写入多个数据 。 一个时钟周期= 1/66MHz ≈ 15ns 发送首地址占用1个时钟周期,128位数据需传输4次,占用2个时钟周期 总耗时= (1+2) × 15ns =45ns |
| --- | --- |
| 第三节:总线仲裁(如何解决多个设备争用总线的问题)——大纲已删 |
|---|
| 第四节:总线操作 和定时 (占用总线的一对设备如何进行数据传输) |
| 总线传输的四个阶段 | 申请分配阶段 | 由需要使用总线的主模块 (或主设备)提出申请,经总线仲裁机构决定将下一传输周 期的总线使用权授予某一申请者。也可将此阶段细分为传输请求 和总线仲裁 两个阶段 | |
|---|---|---|---|
| 寻址阶段 | 获得使用权的主模块通过总线发出 本次要访问的从模块的地址 及有关命令 ,启动 参与本次 传输的从模块 | ||
| 传输阶段 | 主模块和从模块进行数据交换 ,可单向或双向进行数据传送 | ||
| 结束阶段 | 主模块的有关信息 均从系统总线上撤除 ,让出总线使用权 |
| --- | --- | ||
| 异步通信 | 采用应答方式 ,没有公共时钟标准 | ||
| 半同步通信 | 同步,异步结合 | ||
| 分离式通信 | 充分挖掘 系统总线每瞬间 的潜力 |
- 总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系
- 若干个时钟产生相等的时间间隔,每个间隔构成一个总线周期
- 在一个总线周期中,发送方和接收方可进行一次数据传送
- 因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始
| 优点 | 传送速度快,具有较高的传输速率;总线控制逻辑简单 |
| 缺点 | 主从设备属于强制性同步**,必须按照最慢速度部件来设计公共时钟,严重影响效率;不能及时进行数据通信的有效性检验(没时间),可靠性较差** |
| 适用 | 同步通信适用于总线长度较短 及总线所接部件的存取时间比较接近 的系统 |
| 例子 | ![]() |
- 在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号 来实现定时控制
- 主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
| 根据“请求”和“回答”信号的撤销是否互锁,分为以下3种类型。 1)不互锁方式 2)半互锁方式 3)全互锁方式 |
| 缺点 | 比同步控制方式稍复杂一些,速度比同步定时方式慢 | ||
| 不互锁方式 | 概念 |
- 主设备发出“请求 ”信号后,不必等到接到从设备的“回答 ”信号,而是经过一段时间 ,便自动撤销 “请求 ”信号
- 而从设备在接到“请求 ”信号后,发出“回答 ”信号,并经过一段时间,自动撤销 “回答 ”信号。双方不存在互锁关系
![]() |
|---|
- 主设备发出“请求 ”信号后,必须待接到从设备的“回答 ”信号后,才撤销“请求 ”信号,有互锁的关系。
- 而从设备在接到“请求 ”信号后,发出“回答 ”信号,但不必等待获知主设备的“请求 ”信号已经撤销,而是隔一段时间后自动撤销“回答 ”信号,不存在互锁关系。
~ |
|---|
||
- 主设备发出“请求 ”信号后,必须待从设备“回答 ”后,才撤销“请求 ”信号
- 从设备发出“回答 ”信号,必须待获知主设备“请求 ”信号已撤销后,再撤销其“回答 ”信号。双方存在互锁关系
![]() |
|---|
||
||
| 半同步通信 | | 同步 | 发送方用系统时钟前沿发信号
接收方用系统时钟后沿判断、识别 |
| --- | --- |
|---|---|
| 半同步 | 统一时钟的基础上,增加一个“等待”响应信号𝑾𝑨𝑰𝑻![]() |
![]() |
主设备在T1时间发出地址信号,T2时间发出读命令,按理说后一个节拍T3时间从设备应该把数据准备好,但是有的从设备跟不上这个节奏,就会通过控制线路给总线控制器一个反馈****“等待”相应信号线 𝑾𝑨𝑰𝑻**,让总线控制器****等待 自己几个节拍**![]() |
|---|
- 主模块发地址、命令 使用数据
- 从模块准备数据 不使用数据
- 从模块向主模块发数据 使用总线
||
||
![]() |
|---|
| 第五节:总线标准(已删除) |




实际上指** 一秒内传送几次数据**

~



