我觉得龙芯的LoongArch是个好主意
作者:互联网
我是个爱攒钱的闲人+非穷人,一直用i3-370m码字看视频,我觉得性能完全够用,没必要换,省下钱来多出去旅游几次也是极好的。
i3-370M, Q3'2010首发,32nm, 2 Core 4 Thread, 2.4G主频, 3MB cache; i5-9500, Q2'2019, 14nm, 6C6T, 3~4.4G, 9MB cache.
龙芯3A5000在主频只有2.3G~2.5G的情况下,单核整数性能逼近主频3~4.4G,9MB cache的i5 9500,是很了不起的 [评测]。至于浮点性能只有它的1/3 ~ 1/2么,就算整天编解码视频,就算不用显卡加速纯CPU,也没啥浮点运算。别的我不懂,但我做过视频编解码,这个懂一点。
LoongArch的二进制翻译系统支持Windows下翻译x86,效率会降低到70%. So what? 打7折依然比i3-370M快。
现在好像到了这么一种情况:性能100分满分,Intel 99分,龙芯96分。1. Intel也整不动了; 2. 龙芯够快了; 3. 差距不大了; 4. 更快一般人也用不到。
RISC和CISC,我觉得当初是这样的:比方说CPU总共能塞100万个门电路进去。CISC 80%是CPU, 20%是Cache, RISC CPU和Cache各占50%,一试验效果不错,发了一堆论文。现在制程先进了,大家都可以塞十好几MB Cache进去,RISC也没啥优势了。别看ffmpeg.exe好几十MB,那是因为它支持的格式太多,具体到HEVC编码,反复执行的也就是2MB,全部进Cache了。服务器同时跑64个编码不同格式的ffmpeg? 龙芯也没必要和可能全面开花,在Desktop CPU掰一块下来市场就不小。
流水线多发射啥的。几百条语句全是赋值,没有if和循环?分支预测准确率100%,除非C程序是if(0)或if(1),而这个编译器就给优化掉了。
龙芯当初为啥不用x86指令集?龙芯又不是美国的AMD。
龙芯当初为啥用MIPS,不自己设计个全新的指令集?当初能把CPU造出来就很不容易了。改gcc,linux kernel,一大堆应用程序,不现实。谁不服气请写个GNU Chess源代码剖析出来,我立刻拜他为师。我只会弄点皮毛,把它搞到9000行。如Debian就有一大堆现成的、经过严格测试的、使用MIPS指令集的包,可不是开个鉴定会跑个demo,你好我好大家好,光有科研成果就拉倒。
为啥现在叫Arch不叫ISA(指令集, Instruction Set Architecture)? 恐怕重点不在于自己搞个指令集出来,而在于把翻译搞得更好。再加点电路应该可以支持RISC-V. 要现实,别人可能历史更悠久更有号召力,不可能逼gcc/linux等支持新指令集。
这么多电路不费电吗?现在CPU应该都是Verilog写的,去掉些功能应该和我们删掉C语言中不被调用的函数类似。当然可能删成个嵌入式和专门优化的嵌入式相比,也许前者200uWatt,后者180uWatt,但电池容量大了呢?比如前者10年不用换电池,后者12年?差别很大吗?Intel的CPU好像是1000颗起算"批发",龙芯不可能按需定制到1颗起造:-),但应该可以有仅翻译x86的,仅翻译arm的吧?
二进制翻译是个啥?CPU很复杂,但和庞大的软件相比功能又相对单一,各种指令集无非都是从内存取和存数,把寄存器里的数算来算去(基本的、共性的),复杂的、更花式的运算要写C函数。CPU把指令机器码拆解成微码执行。那么理论上可以把各种指令集求个并集,为这个并集设计一套微码系统,用硬件来加速,比如不用一堆if语句或switch,而是电路实现。龙芯把理论变成了现实,而且速度很快。
标签:翻译,龙芯,Cache,RISC,指令集,主意,CPU,LoongArch 来源: https://www.cnblogs.com/funwithwords/p/15812899.html