2.2总线的性能指标

本文涉及的产品
数据传输服务 DTS,同步至DuckDB 3个月
简介: 2.2总线的性能指标

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

一、总线传输周期

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

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

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

<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的时钟信号。

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


:red_car:注意

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

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

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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.注意点

:red_car: 注意

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

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

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

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


3.案例分析

:books:案例

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

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

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

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

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


:question: 突发传输方式?

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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.总结补充

:bookmark:总结

一个总线的时钟周期内可能传送多次数据(这个题目是上升沿和下降沿分别传送一次,每次传送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,有缘再会~
请添加图片描述

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
3月前
|
人工智能 搜索推荐 算法
Geo优化:两大核心+四轮驱动评分体系的权威实践与落地应用
本文深度解析Geo专家于磊首创的“两大核心+四轮驱动”Geo优化评分体系,涵盖人性化Geo、内容交叉验证、E-E-A-T原则等六大维度,助力企业提升AI搜索下的内容可信度与获客效率,提供可量化、可落地的AI时代内容战略指南。
410 3
|
消息中间件 Java 微服务
构建高性能微服务架构:Java后端实践
【4月更文挑战第8天】 在当今互联网应用的快速迭代与高并发挑战下,微服务架构以其灵活性和扩展性成为众多企业技术选型的宠儿。本文将深入探讨在Java后端开发中,如何构建一个高性能的微服务系统,涵盖从基础架构设计、关键技术选型到性能优化策略的全方位分析。我们将透过实际案例,剖析微服务实践中的最佳模式与常见陷阱,为后端开发人员提供一份实操指南。
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
1931 4
|
安全 Windows
【红队APT】钓鱼篇&Office-CVE&RLO隐藏&压缩包释放&免杀打包捆绑
【红队APT】钓鱼篇&Office-CVE&RLO隐藏&压缩包释放&免杀打包捆绑
401 1
|
安全 网络协议 测试技术
安全开发实战(4)--whois与子域名爆破
本文介绍了在网络安全渗透测试中,如何使用Whois查询和子域名爆破来收集目标组织的信息。Whois查询可以获取域名的注册者联系信息、注册时间、DNS服务器等关键数据,而子域名爆破则能发现未公开的网络资产。Whois查询可以通过Python的`python-whois`库实现,它能返回大量关于域名的详细信息。子域名爆破通常涉及创建自定义字典,使用Python的`socket`模块将字典中的字符串与主域名组合,然后尝试解析IP地址,找到有效子域名。
|
负载均衡 Java 测试技术
性能测试与负载均衡:保证Java应用的稳定性
性能测试与负载均衡:保证Java应用的稳定性
|
JavaScript Java 测试技术
基于微信小程序的在线点餐+springboot+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序的在线点餐+springboot+vue.js附带文章和源代码设计说明文档ppt
238 0
|
数据可视化 数据挖掘
大学生外卖市场需求状况调查数据可视化报告
大学生外卖市场需求状况调查数据可视化报告
|
Cloud Native Go TensorFlow
如何评估开源项目的活跃度和可持续性?
如何评估开源项目的活跃度和可持续性?
426 0
|
存储 算法 C语言
3.9.3Cache替换算法
计算机组成原理之Cache替换算法
685 0

热门文章

最新文章