提起多核与多线程,许多人首要会想到手机中的多核大战,而忘记了多线程技能,从单核到双核到四核再到8核,好像多核才是处理器开展的王道,可是为什么到了8核之后多核之战就打住了呢?多线程技能究竟有没有优势?
从英特尔1971年推出第一款商用微处理器4004到现在,处理器现已走过了三十多年的进程,现在,CPU处理器现已从服务器、PC开展到嵌入式、工控、消费、医疗等各个范畴,可是从全体架构上来看,CPU的架构并没有太大改进,不过也有一些新的架构打破,作为一个一向跟CPU打交道的工程师,感觉许多人被一些概念误导,这儿谈谈5个被误解的CPUGPU概念。
1、多核与多线程
提起多核与多线程,许多人首要会想到手机中的多核大战,而忘记了多线程技能,从单核到双核到四核再到8核,好像多核才是处理器开展的王道,可是咱们想过没有?为什么到了8核之后多核之战就打住了呢?多线程技能究竟有没有优势?
其实多核有个的缺点便是跟着内核数量的提高,功用的提高并不跟核数添加成正比,依照阿姆达规律:一个程序存在两部分,只能串行核算的部分S,和能够并行核算地部分P。两部分之和是整个程序,因而S+P=1。这个程序假如在一个具有N个中心的处理器上运转,那么和它在一个单核处理器上运转比较,速度的提高是1/(S + P/N)。当N趋近于无量大时(即假定咱们有无量多个中心),速度提高的上限是1/S,即速度提高的上限取决于程序不能被并行核算的部分。
这个规律的成果便是,即使咱们能够有用地并行核算一个程序的 95%,剩余 5% 只能串行核算的部分约束了这个程序的运转速度最多能提高 1/5%=20 倍。而现有的程序中很少能够做到 95% 以上部分的并行核算。这张图显现了关于4种不同类型的程序(别离有50%,75%,90%,95%的部分能够并行处理)的速度提高相关于处理器中心数量的联系,纵轴是相关于单核处理器速度提高的倍数,横轴是处理器中心的数量。能够看到4条曲线跟着处理器中心数量的添加逐步趋于平整。
现在的多核处理器还远远没到具有 1,000 个中心的时分。可是未来的某一天,不管是软件仍是硬件工程师们或许会满头大汗地向客户解说这个问题:为什么最新的 1,000 核处理器比旧的 100 核处理器快不了多少?
所以多核的开展路子是有约束的,再来看看多线程技能,多线程(英语:multithreading),是指从软件或许硬件上完结多个线程并发履行的技能。具有多线程才能的核算机因有硬件支撑而能够在同一时间履行多于一个线程,从而提高全体处理功用。其实这个技能是十分好的,现在英特尔在PC处理器范畴根本是走的多线程的路子。它最新的CPU都是四核8线程。
多线程技能能够在不明显添加功耗和面积的条件下供给功用的安稳添加,举例来说,双核和单核双线程,每添加一个线程有50%安稳线性添加,可是关于多核来说,双核比单核有50%提高,可是三核只要30%提高,而四核只要20%的提高了。
并且从开发难度来说,多线程开发难度要弱于多核,多核是需求许多人工优化的,后期需求芯片厂商和体系厂商投入许多的人力物力,而得益于英特尔的遍及,软件体系对多线程的支撑现已很成熟了,Linux早就支撑多线程了,并且多线程开发是CPU主动分派使命不必人工参加,这样能够提高开发功率。
所以,未来CPU的开展除了从32位升级到64位,在多核多线程的使用上不应该割裂开,多核多线程能够提高CPU的能效,处理功用和功耗的对立。
2、MIPS CPU内核与ARM CPU内核
现在ARM处理器名望很大,许多人以为必定是ARM CPU内核强于MIPS CPU内核,其实这是个错误认识,有时商业挑选中技能要素并不是主导要素,往往其他要素才是主导要素。
在2000年前后,MIPS处理器在我国的名声也是十分大,究竟它是RISC处理器架构的发明者,可是,ARM处理器在2000年头进入我国后,经过生态体系打败了MIPS内核。其时把ARM带入我国的谭军博士在高校推行ARM处理器,开发许多教程,还处处举行培训和讲座,别的,针对我国IC规划公司缺少规划才能的现状,ARM推出了针对我国IC半导体公司的授权战略和硬核形式,大大降低了CPU的开发难度。
曾经,CPU规划都是居高临下皇冠上的明珠,ARM把CPU规划变成了搭积木时的规划,许多我国半导体IC规划公司选用了ARM内核,并且ARM也构建了比较好的生态体系,凭借手机大开展起来。而MIPS其时在我国的生态体系做的不行好,也不调整自己的授权形式,因而失利是必定的。
不过,自从MIPS被Imagination收买后,反而有了大开展,我剖析一个原因是Imagination强化了生态体系建造,例如和包含博通、Cavium、Ikanos、Ineda Systems、Ingenic Semiconductor、Lantiq、Nevales Networks、PMC和高通等一起建立prpl基金会。这也是强化生态体系的节奏,并且有许多大牌公司参加。
Imagination除了强壮的GPU外,还供给CPU,ISP、VPU、zigbee蓝牙wifi,4G LTE等多种内核,并且供给了针对物联网,云核算的IP产品,能够算是供给最全IP的公司,MIPS内核一向以低功耗着称,跟着生态体系构建好,未来物联网大迸发,Imagination时机许多啊。
3、安全性谁家强?
自从“棱镜门”曝光后,安全现已成为移动通讯设备和其他便携式电子设备最重视的焦点,怎样提高设备的安全防护水准?明显,从芯片就开端供给设备的安全防护是最有用的行动。ARM公司于2003年提在嵌入式范畴出了TrustZone技能,为硬件体系供给安全维护,这个技能安全吗?
我看过Imagination Technologies公司CEO HosseinYassaie在承受媒体采访时说“打个比方说,这个TrustZone技能就像是银行的一个保险柜,你能够把以为安全的使用都放进去,在曾经,使用都比较单一,这样的安全防护或许有必定的效果,可是现在,手机等移动设备都集成了许多使用,这些都放在一个保险柜中明显安全危险就增大了许多。”
在CPU内核的规划中集成体系安全性扩展,是TrustZone在ARMv6内核架构下的重要扩展特性之一,TrustZone分离了两个并行履行的环境:非安全的“一般”履行环境;安全可信任的“安全”环境,可是问题来了,假如一个使用伪装成“可信任的”进入到你的安全区会怎样样?其他使用和数据还会安全吗?
因而大局硬件虚拟化(Virtualization-VZ)技能才是一个真实安全的技能,Hypervisor之于操作体系类似于操作体系之于进程。它们为使用履行供给独立的VZ虚拟硬件渠道,而VZ虚拟硬件渠道反过来又供给对底层机器的虚拟的完好拜访。Imaginaition将把Hypervisor VZ大局硬件虚拟化技能从传统服务器范畴带入现代嵌入式范畴的每一个旮旯。
大局虚拟化便是每个使用都是独立的沙箱操作,两个不同窗口都是不同的沙箱
这样一来,黑客攻破难度大许多许多,攻破一个彻底虚拟的是十分难的,你都知道到它的原理去怎样攻破?
4、GPU未来拼什么?
PC年代,GPU根本都是完结3D图形加快,而移动互联年代,跟着智能化的提高,GPU强壮的并行才能能够把它的使用拓宽到更多范畴,GPU应该是其未来的开展方向,现在安卓现已能够支撑GPU通用核算。
我看许多评测组织也在看GPU在手机平板等产品上的重要效果,GPU不只游戏体会,在照相处理、UI显现、滑动处理乃至安全方面都在发挥巨大效果,我看许多杂乱使用CPU也就开到2、3个核而GPU是使用的主力军,所以,未来GPU的位置会提高许多。特别跟着ARVR使用的遍及,更需求强壮的GPU来支撑的。
5、缓存、乱序和流水线的隐秘
其实看到自从CPU诞生到现在,一向在处理CPU和内存的瓶颈问题,并且这个问题一向没有得处处理所以业界是经过添加缓存来处理,许多移动处理器现已添加了一级缓存二级缓存乃至三级缓存,所以咱们在比较CPU功用的时分,别光看CPU的主频,还要看CPU的缓存面积以及带来的DDR功耗问题,要看全体功耗。
怎样衡量CPU的功用?其实很简单,履行相同使命时功耗越低越好。并且要多比较,采纳不同常用的场景来测验SOC功耗。
还有CPU常用的流水线、乱序等概念,流水线理论上是级数越多跑的越快,比方9级比7级流水线跑的快,可是假如履行不行,CPU就会空跑,形象地比方便是吃饭时噎住了。
我觉得CPU未来处理功用问题有几个方向:
一个是,单核添加流水线,添加发射,从单发射到双发射到四发射(发射越多履行指令越多),但这个开展方向好像走不通。
另一个方向便是添加多核多线程,添加并行度,这儿再提提MIPS内核,其实这个内核架构很好,没有多核数量的约束,一些网络设备都有上百个内核的产品。
还有是能够乱序履行,这是提高功率的办法,一般高端CPU有乱序履行功用。
我个人以为CPU的年代现已过去了,未来是异构SOC的年代,协处理器会大开展,什么VPU、DPU、ISP、无线IP等等会选用更多,比方联发科6595中的4K视频编解码器便是一颗协处理器,它完结了十分杂乱的功用。