英特尔|说人话系列:英特尔酷睿12代详解(3): 英特尔是怎么提高CPU性能的

英特尔|说人话系列:英特尔酷睿12代详解(3): 英特尔是怎么提高CPU性能的

文章图片

英特尔|说人话系列:英特尔酷睿12代详解(3): 英特尔是怎么提高CPU性能的

文章图片

英特尔|说人话系列:英特尔酷睿12代详解(3): 英特尔是怎么提高CPU性能的

文章图片

英特尔|说人话系列:英特尔酷睿12代详解(3): 英特尔是怎么提高CPU性能的


不言而喻 , 一目了然
首先认识一个基本概念 。 计算机是用二进制计算的 , 就是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架构的研究 。
【英特尔|说人话系列:英特尔酷睿12代详解(3): 英特尔是怎么提高CPU性能的】
世界第一款1GHZ处理器当然是我AMD哒
但是问题来了 , 计算并不是简单的通断电路 。 比如最简单的两个不同长度的算式加法 , 计算机处理它们的速度是不同的:

计算机只认识0101不认识野兽先辈(恼)
在处理1+2的加法计算上 , 计算机前后只用通断12次电路就能获得结果 。 而在处理1415161718+114514这种恶臭又长的计算指令时候 , 计算机需要通断120次才能获得结果 。 效率差距是整整10倍 。 这仅仅是简单的计算 。 实际上1415161718这个数字已经超过了当时计算机最大的地址范围 , 内存不够了亲会报错的 。 如果考虑到申请不同容量的内存 , 不同的寻址时间 , 以当时CPU的性能 , 效率差距应该在几十倍以上 , 如果是加法跟乘法相比呢?如果加个小数点呢?这个性能差距是数万倍的 。 这说明了啥 , 频率不是越高越好 。 这就有了奔腾4的大失败 。

大火炉奔腾4
众所周知 , 高频低能成了奔腾4的代名词 , 高达3.4GHZ频率 , 处理复杂工作时候却力不从心 , 特别大量小数计算时候恐怖的发热量让英特尔印象深刻 , 以至于英特尔CEO当场下跪谢罪 。 英特尔在2002年宣布以后再不参加频率战争 , 迈向架构进步来提升性能 , 保证不再让英特尔产品因为频率过高带来显著的功耗发热问题 。 但是没事 , 后面英特尔还是会多次强行超频或者强行增加规模的 , 带来的温度发热不比奔腾4小 。
那如何提升CPU性能呢?答案就是提升晶体管规模 , 说人话系列不掉书袋 , 就是说CPU不断增加计算电路 , 不断增加计算规模 。 比如1979年的8086处理器有4万个晶体管 , 4位16条电路只能计算1个8位整数的加减法 , 不能处理更长的整数或者所有小数;而2000年的奔腾3具备950万晶体管 , 能一次处理80位长度的小数或者64长度的整数(绝对够用) , 更高的频率 , 搭配更多的晶体管计算单元 , 才是CPU性能进步的秘密 。

50年来晶体管数量翻了6万倍
但是问题又来了 。 像视频 , 游戏 , 纯小数计算或者长小数这种非通用计算的编码方式 , 提高频率或者增加通用计算晶体管 , 效率提高还是不大 。 那就引入了新的计算单元 , 指令集 , 可以认为指令集是消耗晶体管数量用集成方式整合的计算单元 。 比如专门处理多媒体视频的MMX指令集 , 音频指令集RISC-V , SSES跟SIMD用于提高浮点计算性能 , 等等 。 在现代手机上 , 很多指令集被芯片化也被称为DSP 。 下表为一些常见指令集添加的年代跟功能 。