发布网友 发布时间:2022-10-15 02:48
共1个回答
热心网友 时间:2024-12-15 01:14
首先认识一个基本概念。计算机是用二进制计算的,就是0跟1,一个电路断电为0,通电为1,二进制转换我们熟悉10进制数交给计算机处理,而处理速度很重要。这就有了频率。什么叫频率呐。我一秒钟走4步,我的步行频率就是4。我一秒钟吃10碗饭,我的吃饭频率就是10。频率的单位是HZ,比如我国220V交流电标准是50HZ,就是一秒钟有50次方向切换。如果我腿够快,1秒钟走1百万步,我的频率就是1MHZ。如果更快点一秒钟十亿次就是1GHZ。频率是速度单位,它代表了直接运行效率。长久以来,CPU的性能进步有很多方面就是靠频率不断增加带来的。当然这是理想状态。
如何简单粗暴的快速榨取一款CPU的性能,相必业余玩家也明白,超频嘛。整体架构不动的情况下,频率越高,性能越强,这是基本共识。而这不仅是玩家用户群体的共识,一度也是AMD跟英特尔的共识。
20世纪最后几年,AMD跟英特尔玩起了频率大战。2000年,伴随着黑客帝国电影的计算机世界宣传,AMD抢先推出世界第一款1GHZ频率处理器athlon 1000或者叫雷鸟。英特尔不甘示弱,宣布要在频率上赢一头,而转身迈进了一切为了频率增加的奔腾4架构的研究。
但是问题来了,计算并不是简单的通断电路。比如最简单的两个不同长度的算式加法,计算机处理它们的速度是不同的:
在处理1+2的加法计算上,计算机前后只用通断12次电路就能获得结果。而在处理1415161718+114514这种恶臭又长的计算指令时候,计算机需要通断120次才能获得结果。效率差距是整整10倍。这仅仅是简单的计算。实际上1415161718这个数字已经超过了当时计算机最大的地址范围,内存不够了亲会报错的。如果考虑到申请不同容量的内存,不同的寻址时间,以当时CPU的性能,效率差距应该在几十倍以上,如果是加法跟乘法相比呢?如果加个小数点呢?这个性能差距是数万倍的。这说明了啥,频率不是越高越好。这就有了奔腾4的大失败。
众所周知,高频低能成了奔腾4的代名词,高达3.4GHZ频率,处理复杂工作时候却力不从心,特别大量小数计算时候恐怖的发热量让英特尔印象深刻,以至于英特尔CEO当场下跪*。英特尔在2002年宣布以后再不参加频率战争,迈向架构进步来提升性能,保证不再让英特尔产品因为频率过高带来显著的功耗发热问题。但是没事,后面英特尔还是会多次强行超频或者强行增加规模的,带来的温度发热不比奔腾4小。
那如何提升CPU性能呢?答案就是提升晶体管规模,说人话系列不掉书袋,就是说CPU不断增加计算电路,不断增加计算规模。比如1979年的8086处理器有4万个晶体管,4位16条电路只能计算1个8位整数的加减法,不能处理更长的整数或者所有小数;而2000年的奔腾3具备950万晶体管,能一次处理80位长度的小数或者64长度的整数(绝对够用),更高的频率,搭配更多的晶体管计算单元,才是CPU性能进步的秘密。
但是问题又来了。像视频, 游戏 ,纯小数计算或者长小数这种非通用计算的编码方式,提高频率或者增加通用计算晶体管,效率提高还是不大。那就引入了新的计算单元,指令集,可以认为指令集是消耗晶体管数量用集成方式整合的计算单元。比如专门处理多媒体视频的MMX指令集,音频指令集RISC-V,SSES跟SIMD用于提高浮点计算性能,等等。在现代手机上,很多指令集被芯片化也被称为DSP。下表为一些常见指令集添加的年代跟功能。
本期结束。概括下就是,CPU不断进步的原因是晶体管越来越多,同时频率越来越高,跟指令集的不断增加。回顾一下上一期嘛,芯片面积不能怎么动的情况下,芯片里面晶体管越来越多,几十亿的晶体管密密麻麻无时无刻都在发热。那我们下一期就看,摩尔定律大失败,然后引申到几乎推到重来的英特尔新架构12代的出现