骁龙86骁龙845干的过i5吗吗

虽然你说的是骁龙845但我认为你偠比的应该是CPU,最多再带个GPU的对比至于845相当于Intel哪个处理器,无非就是要跨平台对比一下但是问题在于尽管性能可以使用标准C/C++规范编写楿应的通用计算项目来计算(比如geekbench,比如SPEC)但是由于他们往往运行在不同的平台,所以对于他们的差异民间一直都有各种说法通过个囚体验,模拟器游戏画面来衡量的说法层出不穷,但实际上如果只是理论比较,其实已经没有太大难度

很多人说很难看到结论,所鉯我把结论放在前面A75的845在大的架构设计规模上更接近Nehalem,比如ROB条目128后端执行单元Intel有大量复用端口的计算单元,执行单元规模相比A75互有高低但A75复用的程度低,某些情况效率更高向量计算能力也接近SSE4的Nehalem,也就是一代酷睿i系列在很多细节上有一定改进,某些方面能接近Sandy bridge所以理论上能达到同频率的一代酷睿i或者二代酷睿i系列之间的性能,相比同样是三发射的apollolake和Gemini LakeA75的ROB和后端执行单元也稍有优势,但是某些方媔较差比如APL和Gemini lake都有3个ALU,A75只有2个所以严格地说A75也是Gemini Lake左右的架构产品

X86与ARM真的区别很大吗?

如果你问他们的出身那他们的确有很大区别,佷多人会说CISC或者RISC的区别但事实上X86历经40年,ARM已经30多年了如果会傻到不吸取对方优秀的特性,那他们早就被淘汰了如今X86和ARM在架构和执行單元层面已经有大量相似之处,排除内存模型一个还在用TSO-Modle一个用weak-modle外,ARM和X86已经高度接近IntelCPU从486开始就已经有了RISC的影子,从奔腾开始一个新的複杂译码逻辑电路开始加入到CPU前端它会将CISC指令翻译为RISC风格的指令,这被称为μop之后处理器的前后端就会按一个乱序RISC处理器一样执行,哃样ARM处理器也在A9开始拥有了乱序超标量流水线A8开始有了NEON向量指令集,如今ARM处理器也有了共享式的三级缓存所以,纠结ARM和X86是精简还是复雜意义不大归根结底还是架构设计到底多大规模,执行一些使用标准C/C++语句编译出来的benchmark表现出来的性能说话

A75简单的一个架构流水线框图湔端解码宽度为3,dispatch总计高达9μops(6个标量3个向量),实际乱序重排窗口(ROB)条目数和A72/73一样都是128,后端EU 8个三个向量EU,2个int标量EU和2个内存子系统EU(Load/store)以及一个双倍的分支跳转单元其中两个NEON FP单元(其实应该是执行计算的单元,不仅仅是浮点)实现1X128

那Intel这边的架构呢Intel架构近年演進大致如下

前端解码宽度为5(4简单1复杂),但由于实际执行和分发单元的限制SKL依旧是4发射处理器,乱序重排缓冲区高达224条目后端与A75一樣,8个EU端口但是每个端口挂的计算单元就很多了,比如A75分开挂载的NEON向量单元和标量int单元在Intel这端口0,15具备同时有向量和标量单元的特點,同时Intel SKL的内存子系统端口2.3.4.7,2个可以实现L/S,另外两个分别实现STD(store data)和STA(store address)显示Intel处理器同时会拥有较好的内存性能,同时向量和标量单元夶量复用同一个端口表现Intel认为这样能做到最大化的后端利用率,这一点与之相反的是9810拥有12个后端EU

那接下来我们再看Haswell

类似SKL那样的架构流沝线图我暂时没有那么好的图,但是大致来说相比SKL,ROB条目数从224降为192前端解码宽度从5变成4(3简单1复杂),(依旧4发射)寄存器,allocation深度都有下降,后端EU依旧是8端口0.1.5三个端口依旧同时挂载向量和标量单元,依旧是2.3.4.7四个端口负责内存子系统但是值得注意的是,Haswel开始intel主流處理器开始拥有2个FMA 256bit向量单元(端口0.1)但是与SKL不同的是如果执行向量浮点加法只有端口1才能实现,端口0的FMA单元不能执行向量浮点加法所鉯HSW/BDW的向量浮点加法是1X256峰值,乘法是2X256乘加混合峰值是2X256 FMA,但是SKL则是2个FMA单元所在端口均可执行向量浮点加法

HSW之前的便是SNB架构

SNB的情况很明显了の前上面的图也有写SNB和HSW的对比,相比之下寄存器,分发队列深度ROB进一步下降,ROB数目为168(就这样还比A75多)前端依旧为四指令解码,但昰这里可以看出SNB的后端端口只有6了,这样在后端执行效率上A75有了一定机会追赶同时内存子系统下降为3,2个L/STA,1个STD这样来看内存性能并不會比A75高太多,同时Intel一直将branchJMP,shuffle之类的单元与计算单元挂在同一个端口虽然大幅提高了后端端口利用率,但是这样也在某些情况成为瓶颈根据Intel数据,HSW又比SNB高了14-15%的IPC

从intel公布的IPC来看SKL要比SNB IPC高30%以上,如果按GB4 4000分/3.2Ghz换算假设完全符合Intel的数据,且频率对性能影响呈线性SNB 2.8Ghz的GB4成绩大约为分,这样算是很接近A75了我查了一下,2410M(单核2.9Ghz)就是2700分左右说明还是很准的

IPC高11%,这样依旧按GB4来推减去11%,大概的确和A75的GB4成绩很接近而这從架构层面也是大致说得通的

ALU,1个L/S和一个AGUIntel提到ROB会更大,但是并没有说明实际数值

我认为GB4的测试项目不是什么大问题因为他有FFT和GEMM项目,這些项目支持到了AVX-512指令集这足以让一堆古董测试软件汗颜,如果X86派喜欢安慰自己看看GEMM和FFT成绩足以满足你的需要,当然ARM也可以堆SIMD单元蘋果的SIMD成绩依旧不差,从他的编译角度来说Windows使用VS2015编译为windows运行程序(没用X86最快ICC)苹果用Xcode,测试内容从PDFHTML,到ray-trace/FFT/GEMM我认为这些项目是没什么大問题的,

相对来说Geekbench的问题是很多项目测试时间太短,以致于性能超强的处理器重载时间极短甚至没来得及重载就结束了但是项目我认為不是什么问题,很多成绩其实也可以解释的通

Intel官方的IPC变化数据(见右图)SKL相比BDW高10%(见最上面的SKL架构流水线图)

所以从架构角度来说,A75嘚845和NHM/SNB架构比较接近相当于4核NHM-SNB(当然还要看A75四大核全开的频率)而且因为设计的时代A75更晚,高通可以规避很多当初设计的一些问题某些方面效率更高),但是也不代表ARM就没有猛男苹果A11的架构(严格的说A7就是了)和9810的架构就是一个很多方面超过SKL的规模的胖核心,而很多人說那为什么835跑win10那么差这里要提到一个往事,

Transmeta公司曾经对x86指令集的Emulation(Emulation这个词很难翻译)简单地说,Emulation就是把x86指令集看成一个虚拟机的指令集然后用类似JIT编译器的技术

如今最广为人知的Emulator是Qemu,x86、MIPS、PowerPC、Sparc、MC68000它都可以支持一般而言,Emulation会导致性能下降一个甚至若干个数量级根本不足为虑。

1995年Transmeta公司成立,经过艰苦的秘密研发于2000年推出了Crusoe处理器,用Emulation的方式在一款VLIW(超长指令字)风格的CPU上执行x86的程序,这样就规避叻没有x86指令集授权的问题Transmeta的牛X在于,虽然是Emulation但实现了相对接近Intel处理器的性能,同时功耗低很多2000年年底Transmeta的IPO大获成功,其风光程度直箌后来谷歌IPO的时候才被超过。

Transmeta最后还是失败了Intel在渠道上打压它是次要原因,性能不足是主要原因虽然VLIW在90年代中后期被广为推崇,但事實证明它的性能比起乱序执行的超标量架构,还是差一截

而微软也是用了这么一个技术,实现了直接的骁龙835运行原本编译为X86指令集的程序但是这样不可避免性能要下降,而且未经许可翻译别人的ISA做CPU是有违反专利可能的为此,Intel在去年发表博客 Intel's X86: Approaching 40 and Still Going Strong

细数X86扩展的同时也强调专利问题暗指某些公司试图仿真X86 ISA(try to emulate Intel’s proprietary x86 ISA without Intel’s authorization),不过实践证明这样的仿真并没有真正构成侵犯专利,高通和微软这样做造成的性能损失已经仳直接使用虚拟机好很多但是内存模型导致的差异,Emulation造成的性能损失不可避免

部分相关架构图可在上面文章找到并且有更详细架构介紹

我要回帖

更多关于 骁龙845干的过i5吗 的文章

 

随机推荐