0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

站在CPU的角度看世界

传感器技术 来源:未知 作者:胡薇 2018-08-12 11:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

经常听到有人说磁盘很慢、网络很卡,这都是站在人类的感知维度去表述的,比如拷贝一个文件到硬盘需要几分钟到几十分钟,够我去吃个饭啦;而从网络下载一部电影,有时候需要几个小时,我都可以睡一觉了。然而,从CPU的角度去看的话,事情就会朝着截然不同的方向去发展。

最为我们熟知的关于计算机不同组件速度差异的图表,是下面这种金字塔形式:越往上速度越快,容量越小,而价格越高。

注:所有的数据都是来自网络。所有的数据会因为机器配置不同,或者硬件的更新而有出入,但是不影响我们直觉的感受。

这张图只是给了我们一个直观地感觉,并没有对各个速度和性能做出量化的说明和解释。而实际上,不同层级之间的差异要比这张图大的多。这篇文章就让你站在 CPU 的角度看这个世界,说说到底它们有多慢。希望你看完这篇文章能明白两件事情:磁盘和网络真的很慢,性能优化是个复杂的系统性的活。

数据

先来看看 CPU 的速度,就拿我的电脑来说,主频是 2.6G,也就是说每秒可以执行 2.6*10^9个指令,每个指令只需要 0.38ns(现在很多个人计算机的主频要比这个高,配置比较高的能达到 3.0G+)。我们把这个时间当做基本单位 1s,因为 1s 大概是人类能感知的最小时间单位。

一级缓存读取时间为 0.5ns,换算成人类时间大约是 1.3s,大约一次或者两次心跳的时间。这里能看出缓存的重要性,因为它的速度可以赶上 CPU,程序本身的 locality 特性加上指令层级上的优化,cache 访问的命中率很高,这最终能极大提高效率。

分支预测错误需要耗时 5ns,换算成人类时间大约是 13s,这个就有点久了,所以你会看到很多文章分析如何优化代码来降低分支预测的几率,比如这个得分非常高的 stackoverflow 问题。

二级缓存时间就比较久了,大约在 7ns,换算成人类时间大约是 18.2s,可以看到的是如果一级缓存没有命中,然后去二级缓存读取数据,时间差了一个数量级。

我们继续,互斥锁的加锁和解锁时间需要 25ns,换算成人类时间大约是 65s,首次达到了一分钟。并发编程中,我们经常听说锁是一个很耗时的东西,因为在微波炉里加热一个东西需要一分钟的话,你要在那傻傻地等蛮久了。

然后就到了内存,每次内存寻址需要 100ns,换算成人类时间是 260s,也就是4分多钟,如果读一些不需要太多思考的文章,这么久能读完2-3千字(这个快阅读的时代,很少人在手机上能静心多这么字了)。

看起来还不算坏,不多要从内存中读取一段数据,需要的时候很更多。到了内存之后,时间就变得一个量级,CPU 和内存之间的速度瓶颈被称为冯诺依曼瓶颈

一次 CPU 上下文切换(系统调用)需要大约 1500ns,也就是 1.5us(这个数字参考了其他文章)。

在 1Gbps 的网络上传输 2K 的数据需要 20us,换算成人类时间是 14.4小时,这么久都能把《星球大战》六部曲看完了!可以看到网络上非常少数据传输对于 CPU 来说,已经很漫长。而且这里的时间还是理论最大值,实际过程还要更慢一些。

SSD 随机读取耗时为 150us,换算成人类时间大约是 4.5天。换句话说,SSD 读点数据,CPU 都能休假,报团参加周边游了。虽然我们知道 SSD 要比机械硬盘快很多,但是这个速度对于 CPU 来说也是像乌龟一样。I/O 设备 从硬盘开始速度开始变得漫长,这个时候我们就想起内存的好处了。

尽量减少 IO 设备的读写,把最常用的数据放到内存中作为缓存是所有程序的通识。像 memcached 和 redis 这样的高速缓存系统近几年的异军突起,就是解决了这里的问题。

从内存中读取 1MB 的连续数据,耗时大约为 250us,换算成人类时间是 7.5天,这次假期升级到国庆七天国外游了。

同一个数据中心网络上跑一个来回需要 0.5ms,换算成人类时间大约是 15天,也就是半个月的时间。如果你的程序有段代码需要和数据中心的其他服务器交互,在这段时间里 CPU 都已经狂做了半个月的运算。减少不同服务组件的网络请求,是性能优化的一大课题。

从 SSD 读取 1MB 的顺序数据,大约需要 1ms,换算成人类时间是 1个月。也就是说 SSD 读一个普通的文件,如果要等你做完,CPU 一个月时间就荒废了。尽管如此,SSD 已经很快啦,不信你看下面机械磁盘的表现。

磁盘寻址时间为 10ms,换算成人类时间是 10个月,刚好够人类创造一个新的生命了。如果 CPU 需要让磁盘泡杯咖啡,在它眼里,磁盘去生了个孩子,回来告诉它你让我泡的咖啡好了。机械硬盘使用 RPM(Revolutions Per Minute/每分钟转速) 来评估磁盘的性能:RPM 越大,平均寻址时间更短,磁盘性能越好。寻址只是把磁头移动到正确的磁道上,然后才能读取指定扇区的内容。换句话说,寻址虽然很浪费时间,但其实它并没有办任何的正事(读取磁盘内容)。

从磁盘读取 1MB 连续数据需要 20ms,换算成人类时间是 20个月。IO 设备是计算机系统的瓶颈,希望读到这里你能更深切地理解这句话!如果还不理解,不妨想想你在网上买的东西,快递送了将近两年,你的心情是怎么样的。

而从世界上不同城市网络上走一个来回,平均需要 150ms(参考世界各地 ping 报文的时间CDN)。

虚拟机重启一次大约要 4s 时间,换算成人类的时间是 3百多年。对于此,我想到了乔布斯要死命优化 Mac 系统开机启动时间。

物理服务器重启一次需要 5min,换算成人类时间是 2万5千年,快赶上人类的文明史了。5 分钟人类都要等一会了,更别提 CPU 了,所以没事不要乱重启服务器啊,分分钟终结一个文明的节奏。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IO
    IO
    +关注

    关注

    0

    文章

    512

    浏览量

    43039
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11377

    浏览量

    226438

原文标题:CPU的一秒就是你的一生

文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    历史首次!AMD服务器CPU市占率达50%

    英特尔持平。根据AMD的数据显示,自EPYC CPU推出以来,其在服务器领域的市场份额由2018年的2%提升到2024年上半年的34%。在持平之后未来竞争将变得更加激烈。       回每一代AMD
    的头像 发表于 08-11 03:20 1.1w次阅读
    历史首次!AMD服务器<b class='flag-5'>CPU</b>市占率达50%

    变电站在线监测系统:电力智能防线

    ,变电站在线监测系统应运而生,成为保障电力安全的重要技术支撑。系统架构与技术原理该系统采用分层分布式架构,分为过程层、间隔层和站控层。过程层部署高精度传感器网络,如
    的头像 发表于 02-24 11:49 281次阅读
    变电<b class='flag-5'>站在</b>线监测系统:电力智能防线

    2026年,3DGS和世界模型,在自动驾驶仿真中的组合应用

    、流程优化及与“世界模型”互补等角度,给大家带了了行业一线的技术思考。从行业角度来看是一篇难得的务实分享,特此转载,供大家学习交流探讨。大家好呀,我是李慢慢。先说结论
    的头像 发表于 02-03 17:32 3643次阅读
    2026年,3DGS和<b class='flag-5'>世界</b>模型,在自动驾驶仿真中的组合应用

    MangoTree新品剧透:全新PXI形态+最强CPU #PXI #PXIe #测控 #CPU

    cpu
    芒果树数字
    发布于 :2026年01月30日 11:36:11

    Lora基站在物联网应用的重要性

    Lora基站在物联网应用中具有重要的地位。首先,Lora基站可以实现对物联网设备的远程监测和控制,为物联网应用提供了强大的功能支持。其次,Lora基站具有较强的抗干扰能力和较长的电池寿命,可以在恶劣
    发表于 12-03 07:09

    角度传感器原理、技术与实用指南

    在众多的工业控制、机器人技术和航空航天等领域,角度传感器扮演着不可或缺的角色,为精确测量角度变化提供了关键的技术支持。 工 作 原 理  电位器式角度传感器 原理: 通过旋转轴带动滑动触点在电阻体上
    的头像 发表于 11-04 15:14 686次阅读
    <b class='flag-5'>角度</b>传感器原理、技术与实用指南

    中汽中心亮相2025世界NCAP大会

    开幕主题演讲。来自联合国欧洲经济委员会、世界卫生组织,全球各NCAP机构,全球汽车整车及零部件企业等的高层代表,以及媒体代表共500余人出席。中国在汽车强国建设中再一次以推动全球汽车安全“领跑者”的身姿站在世界舞台中央。
    的头像 发表于 10-17 14:12 634次阅读

    角度超声波传感器:精准感知,开启智能时代新维度

    在智能科技浪潮席卷全球的今天,传感器作为连接物理世界与数字世界的“神经末梢”,正以惊人的速度重塑着人类的生产生活方式。而在这场变革中,小角度超声波传感器凭借其“小角度、高精度、强抗扰”
    的头像 发表于 10-10 08:39 524次阅读
    小<b class='flag-5'>角度</b>超声波传感器:精准感知,开启智能时代新维度

    如何从 MCU/MPU 角度保护物联网应用?

    如何从 MCU/MPU 角度保护物联网应用?
    发表于 09-08 07:33

    外置磁编芯片获得的角度数据如何传给电机电角度

    我想用FU6861来做定位控制,外置磁编芯片,想通过FU6861的SPI来获取磁编芯片的角度数据,传给电机的电角度,不只是是哪个寄存器,图片所示的FOC_THETA 寄存器是不是啊,并且外置磁编芯片的方案是否可行?
    发表于 08-05 13:36

    从不同的角度来探讨一次消谐装置存在的价值!

    一、从原理角度 一次消谐装置的主要作用是消除电压互感器(PT)的铁磁谐振。当电力系统中出现铁磁谐振时,会产生过电压和过电流,对设备和系统的安全运行构成威胁。一次消谐装置通过在电压互感器的开口三角
    的头像 发表于 07-24 09:40 761次阅读

    TDK TMR角度传感器的特点与优势

    上周我们讨论了电动汽车电机控制技术和角度传感器挑战,本周将继续深入解析TMR角度传感器相较于其他传感器技术的优势。通过详细的对比表,我们将展示TMR角度传感器如何在成本、尺寸、精度和抗干扰能力等方面超越传统技术,成为电动汽车领域
    的头像 发表于 07-17 16:29 2426次阅读

    单核CPU网关和双核CPU网关有什么区别

    单核CPU网关与双核CPU网关的核心区别在于处理能力、多任务效率、性能表现及适用场景,双核CPU网关在多任务处理、复杂计算和响应速度上具有显著优势,而单核CPU网关则更适合轻量级、低负
    的头像 发表于 07-05 14:37 1419次阅读

    声学世界模型将如何改变我们的生活

    近日,声智科技发表标题为“A Survey on World Models Grounded in Acoustic Physical Information”的声学世界模型综述文章,调研了全球研究
    的头像 发表于 06-27 11:36 1331次阅读

    德州仪器(TI)的工程技术如何构建更美好的世界

    从投资教育和减少对环境的影响,到培养人才和保持业内优秀的安全记录,德州仪器正在加强企业公民影响力,让世界更美好 对 Mohammad Yunus 而言,通过志愿服务助力实现"零饥饿"的世界是他
    的头像 发表于 06-23 14:26 1434次阅读
    <b class='flag-5'>看</b>德州仪器(TI)的工程技术如何构建更美好的<b class='flag-5'>世界</b>?