当前位置: 首页 > news >正文

2.2总线的性能指标

文章目录

  • 一、总线传输周期
  • 二、总线时钟周期
  • 三、总线工作频率
  • 四、总线时钟频率
  • 五、总线宽度
  • 六、总线带宽
    • 1.概念
    • 2.注意点
    • 3.案例分析
    • 4.总结补充
  • 七、总线复用
  • 八、信号线数
  • 九、总结

这一节我们一起学习评价 总线性能的指标,这些指标很可能在选择题或者大题第一小题出现。

一、总线传输周期

总线的传输周期,又叫总线周期

一个总线周期就是指我们要利用总线传输一组数据所需要的时间。

通常一个总线周期会被分为以下四个阶段

<1> 申请阶段

这个阶段做总线的仲裁,关于总线仲裁如何实现,下一个小节讲解。

就是决定是否要把总线分配给某一个设备使用。

<2> 寻址阶段

两个设备要通过总线进行数据的交互,主设备会通过地址总线,把它想要读(或者写)的地址单元传递给从设备。

<3> 传输阶段

主设备指明了要读或者写的地址之后,就进入了传输阶段。

主设备通过数据总线,往从设备里面写入数据或者读出数据。

<4> 结束阶段

数据传输完成之后,就进入了结束阶段。

即释放总线的使用权,把总线让给其他设备使用。

经过一个总线周期时候,就可以完成一组数据的传送。

比如一组数据总线的宽度是32bit,那么就意味着经过一个总线周期,它可以传输32bit的信息。

一个总线周期,通常由若干个总线时钟周期构成。

二、总线时钟周期

总线的时钟周期,就是机器的时钟周期。

稍微解释一下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I5rktuXN-1673852218404)(D:\Typora图片\image-20230116110232923.png)]

计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。

对于早期的计算机来说,时钟信号是由CPU发出的。

CPU发出的节拍信号决定了总线时钟周期的长短,但是现代计算机中,总线时钟周期也有可能由桥接器提供。就是上一小节提到的四总线结构里边,如下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7USYmjW4-1673852218405)(D:\Typora图片\image-20230116112431748.png)]

这里的桥接器也会发出时钟信号,这个时钟信号的频率和CPU时钟信号的频率是不一样的。

有可能CPU时钟信号的频率是3.0GHz,比较快。那么CPU总线的时钟周期就是3.0GHz,由CPU控制。

但是对于其他速度更慢的总线来说,可能跟不上CPU的时钟信号。

所以,桥接器会往高速总线里面的控制总线上发出时钟更慢的时钟信号。


🚗注意

虽然总线周期通常由若干个总线时钟周期构成,但是总线周期总线时钟周期的关系比较魔幻。

它们的关系可能是一对多或者一对一或者多对一的关系。

①大多数情况下,一个总线周期包含多个总线时钟周期。

②有的时候,一个总线周期就是一个总线时钟周期。

③有的时候,一个总线时钟周期可以包含多个总线周期。

在有的总线中,当时钟部件发出如下时钟信号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OknXF78l-1673852218406)(D:\Typora图片\339823039034479700.jpg)]

如果检测到上升沿(电信号由低电平变为高电平),可以进行一次总线的数据传输。如果检测到下降沿(电信号由高电平变为低电平),此时又会传送一组总线的数据。

在这样的时钟周期内,上升沿和下降沿都进行了一次总线的数据传输。

这就意味着一个时钟周期里面,包含了两个总线周期

三、总线工作频率

总线的工作频率,就是总线上各种操作的频率,为总线周期的倒数

若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。

实际上指总线在一秒内传送几次数据

四、总线时钟频率

总线的时钟频率,就是机器的时钟频率。为时钟周期的倒数

若时钟周期为T,则时钟频率为1/T。

实际上指总线在一秒内有多少个总线时钟周期

五、总线宽度

总线宽度,又称为总线位宽。它是总线上同时能够传输的数据位数

通常指数据总线的根数,如32根称为32位(bit)总线。

当在题目里面看到,某一个计算机的总线宽度是32bit,通常是指计算机里面数据总线的宽度,而没有包含地址总线和控制总线的宽度。

六、总线带宽

1.概念

总线带宽可以理解为总线的数据传输率,即单位时间内总线上可传输数据的位数

通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示,也可以用比特/秒(b/s)。(B=b/8)

如果题目告诉了总线的工作频率(反映了总线每秒可以传送多少次数据),还有总线宽度(反映了每次传送可以并行地传送多少bit的数据),一相乘就可以得到总线的带宽

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcJSeFXt-1673852218407)(D:\Typora图片\image-20230116114630677.png)]

又由于总线工作频率总线周期互为倒数,如果题目中告诉了总线周期,那么也可以用总线宽度除以总线周期得到总线带宽。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KzAEUyDC-1673852218407)(D:\Typora图片\image-20230116114901724.png)]


2.注意点

🚗 注意

总线带宽是指总线本身所能达到的最高传输速率

然而,在总线传输的信息中。也许不是所有的信息位都是有效信息,比如可能会有校验位或者一些开头结尾的标志。

有的题目可能会让我们计算有效数据的传输率。这时候就需要把上述附加冗余的信息给去除,只计算实际传输的有效信息位。

所以在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。


3.案例分析

📚案例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U6pfHva1-1673852218408)(D:\Typora图片\image-20230116115653553.png)]

❓ 数据线和地址线复用什么意思?

之前说的数据线和地址线是两组独立的总线,有的系统中为了简化系统的根数,会把数据总线和地址总线进行合并,就用一组总线来实现数据和地址信息的传送。

当然,这种方式肯定要分时传送,比如先用它来传送地址信息,然后再用它传送数据信息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ddqQL1sX-1673852218408)(D:\Typora图片\image-20230116120258437.png)]


❓ 突发传输方式?

只需要传送一次地址,接下来就可以连续读出从这个地址往后的多个字的数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QRwLBcYe-1673852218409)(D:\Typora图片\image-20230116122740020.png)]

由于采用了数据线和地址线复用的方式,因此需要先通过32根线传输地址信息。

题目告诉我们。传输一个地址需要1个时钟周期,128位数据需要传输4次(总线宽度是32bit,所以128/32=4次)。

题目又说,一个时钟周期可以传送两次数据,因此这4次的数据传输只需要占用2个时钟周期。

题目又指明,总线时钟频率为66MHz(每秒包含了66M个时钟周期),所以每个时钟周期的长度就是1s/66MHz约等于15ns(纳秒)。

所以完成128位数据的写至少需要花费三个时钟周期(发送首地址1个,128位数据传输占用2个),每个时钟周期15ns(纳秒),那么总共就是45ns的时间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vVC2Bfeg-1673852218409)(D:\Typora图片\image-20230116122717159.png)]


4.总结补充

🔖总结

一个总线的时钟周期内可能传送多次数据(这个题目是上升沿和下降沿分别传送一次,每次传送32bit)

总线带宽:总线每秒钟最多传送多少数据。

既然提到这个问题,我们再来复习一下上一节说到的串行和并行总线

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Jys9g1L-1673852218410)(D:\Typora图片\image-20230116123415653.png)]

串行总线每次只能传送1个bit数据,并行总线每次可以传送多个bit的数据。

乍一看,并行总线的带宽比串行总线的带宽更大,因为并行总线可以传送多位数据。

但是,总线带宽不仅与总线宽度有关,还与总线工作频率有关。

总线带宽=总线工作频率*总线宽度(bit/s)

因此,在探讨串行总线与并行总线速度快慢的时候,一定要考虑它们的工作频率。

上一节说过,由于并行总线数据的传输线都靠的很近,所以它们之间会有一些干扰,可能导致数据的跳变(0变1或1变0)。为了保证数据的正确传输,并行总线的工作频率不能太高。

而串行总线没有数据线之间的干扰,因此串行总线的工作频率可以很高很高

①如果工作频率相同,串行总线传输速度比并行总线慢。(因为串行一次只能传送1bit)

②并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。

七、总线复用

这个概念在上面的例子中提过。

总线复用是指一种信号线在不同的时间传输不同的信息。

比如,一般地址总线和数据总线是独立的两组线,如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-teVvwnZs-1673852218410)(D:\Typora图片\image-20230116125159100.png)]

我们还可以采取这样的方式,用同一组线来分时地传送地址信息与数据信息,如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8tbqeU5R-1673852218411)(D:\Typora图片\image-20230116125254912.png)]

这样就可以使用较少的线传输更多的信息,从而节省总线的布线空间和硬件的成本。

如果CPU要往主存里面写入数据,那么CPU要往这一条黄线发出地址信息,指明要写的地址在什么地方。

主存接收到地址信息之后,CPU再发出数据信息,同样是通过黄线传递给主存,主存再根据刚才传来的地址信息,把这次接收到的信息写入到相应的地址所指的空间里面。

这种方式传递地址数据信息的时候,至少需要2个总线周期,需要进行两次数据的传送。

这种方式虽然节约了成本,但也会使速度有所下降。

八、信号线数

地址总线、数据总线和控制总线3种总线数的总和称为信号线数。(就是传输最小的bit的线)

如果地址总线有32根,数据总线有64根,控制总线有100根,那么信号线数就是它们之和。

九、总结

在这里插入图片描述


OK,有缘再会~
请添加图片描述

相关文章:

  • pod私有库
  • 曲线曲率介绍和python求法
  • Spring之AOP简单讲解
  • 解决Vue3中使用setup如何定义组件的name属性
  • antd 类组件swiper中的指示器和ref
  • 自主异常检测算法(Matlab代码实现)
  • java中的位运算符
  • 二十、解释器模式 ( Interpreter Pattern )
  • SpringMVC视图视图控制器
  • 怎么把两个PDF合并成一个?这几种操作轻松合并
  • 微信小程序——视图与逻辑,页面导航(导航到 tabBar 页面,导航到非 tabBar 页面)
  • 系分 - 案例分析 - 项目管理
  • 产品---竞品分析
  • 第九届蓝桥杯省赛 C++ A组 - 付账问题
  • 从汇编的角度了解C++原理——类的储存结构和函数调用
  • 双向bfs-字串变换
  • 软考报名有没有学历要求?2023年软考报名条件分享
  • linux下调节GPU的功率限制
  • 冥想第六百七十五天
  • 牛客竞赛每日俩题 - 动态规划4