我觉得龙芯的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,也没啥浮点运算。别的我不懂,但我做过视频编解码,这个懂一点。龙芯 12nm, 共16MB 三级cache。

Ryzen 5 3600 vs Core i5-9500 PassMark CPU Mark (Multi-Thread) Benchmarks - CPUAgent  i5-9500和那些怪兽们比起来不快。

LoongArch的二进制翻译系统支持Windows下翻译x86,效率会降低到70%. So what? 打7折依然比i3-370M快。[补充:这句话可能是文科生写的。他们还把操作系统翻译成Operation System. 我还以为LoongArch开机后进Hypervisor,然后可以选择安装x86 Windows, ARM Android等。Linux下跑Windows应用,还得wine吧,会不会被MS+Intel找麻烦?]

现在好像到了这么一种情况:性能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),而这个编译器就给优化掉了。add bx, ax; add cx, bx就是难以同时执行。像for(i=0;i<10000;i++); Linux kernel会试图告诉CPU哪个分支高频。

龙芯当初为啥不用x86指令集?龙芯又不是美国的AMD

龙芯当初为啥用MIPS,不自己设计个全新的指令集?当初能把CPU造出来就很不容易了。改gcc,linux kernel,一大堆应用程序,不现实。谁不服气请写个GNU Chess源代码剖析出来,我立刻拜他为师。我只会弄点皮毛,把它搞到9000行。如Debian就有一大堆现成的、经过严格测试的、使用MIPS指令集的包,可不是开个鉴定会跑个demo,你好我好大家好,有个成果就拉倒。

为啥现在叫Arch不叫ISA(指令集, Instruction Set Architecture)? 恐怕重点不在于自己搞个指令集出来,而在于把翻译搞得更好。再加点电路应该可以支持RISC-V. 要现实,别人可能历史更悠久更有号召力,不可能逼gcc/linux等支持新指令集。LoongArch在gcc注册成功了。

这么多电路不费电吗?现在CPU应该都是Verilog写的,去掉些功能应该和我们删掉C语言中不被调用的函数类似。当然可能删成个嵌入式和专门优化t的嵌入式相比,也许前者200uWatt,后者180uWatt,但电池容量大了呢?比如前者10年不用换电池,后者12年?差别很大吗?Intel的CPU好像是1000颗起算"批发",龙芯不可能按需定制到1颗起造:-),但应该可以有仅翻译x86的,仅翻译arm的吧?

二进制翻译是个啥?CPU很复杂,但和庞大的软件相比功能又相对单一,各种指令集无非都是从内存取和存数,把寄存器里的数算来算去(基本的、共性的),复杂的、更花式的运算要写C函数。CPU把指令机器码拆解成微码执行。那么理论上可以把各种指令集求个并集,为这个并集设计一套微码系统,用硬件来加速,比如不用一堆if语句或switch,而是电路实现。龙芯把理论变成了现实,而且速度很快。[想的太简单太美说错了,请看 和 链接2] 我的意思是:有条指令叫eval mem_addr; mem_addr处放一串x86代码,像python的eval/exec. :-) eval遇到特权指令时"返回"该指令的偏移量。

How ARM Makes Money - The ARM Diaries, Part 1: How ARM’s Business Model Works (anandtech.com)

QEMU要不要给ARM交钱?硬件加速的QEMU呢?我爸爸又不是律师,我没有拿高额退休金,我操那么多心?:-)

The never-ending story of X86 patents expiration (blopeur.com)

why hasn't intel's x86 patent expired yet ? | AnandTech Forums: Technology, Hardware, Software, and Deals

microprocessor含义很广,DSP也算。好奇mov eax, [ebx]之类一样, MMX, SSE, AVX等不一样,算不算侵权?我的意思是:插一块扩展卡,卡上有块兼容x86的东东,反正不叫CPU. 我觉得龙芯弄个和x86兼容,性能接近或够用的CPU出来不是问题;问题是这样会被告,起码卖到国外很成问题。

至于跑PhotoShop,我认为很多人只是会安装,其实并不(太会)用。与其让它跑起来,不如换个图像处理软件,如GIMP, 甚至做个。龙芯好像和美图秀秀合作了,后者好像有一键抠图。Photoshop Elements可以看成是PS的简化版。它有PS的一些基本功能,同时添加了一些强大的(人工智能)功能。但它还是不够专业,只能进行一些基础且便捷的操作。"虽然我只会抠图,但装个巨大的软件显得专业"也是松鼠病:-)。再说一个部门10个人,可以8台linux台式,两台windows笔记本,谁需要用PS谁去用一下。信息系统优先开发BS架构,或者linux下跑.net也行。微软好像也不再死抱着客户端要卖钱不放了,而是要靠云挣钱。

系统管理员必须会linux. X Window天然就可以程序在服务器上运行,显示在客户端,Windows下老早就有VNC还是啥的了,X Window in Browser恐怕都行。Windows不就是系统设置是GUI? 工作稳定就懒得连linux/字符界面都不想学,只愿意在Windows下按鼠标?真是没吃过内卷的苦。

调试器可能会改代码,在linux下跑Visual Studio,还能Edit and Continue,可能很难。

Loongson releases new self-reliant instruction set architecture · TechNode

Nested Virtualization With Binary Translation: Back to the Future (oracle.com)

When the Intel architecture first came out, it was not virtualizable according to Goldberg and Popek. This is because there were a whopping 17 instructions that were sensitive, but not privileged. What the Intel and AMD hardware virtualization features do, is to offer a way to to make these sensitive instructions privileged. [我又简单地认为就是多了个标志位] Simple isn't it? [Yes, yes, I agree with you. :-)] Intel calls these instructions "VT-x" while AMD calls them "AMD-V". For brevity, we'll simply call them "VT" from now on.

0. 在Bing里搜VT-x,几乎都云萦雾绕,高深莫测,呵呵。1. 嵌套式虚拟化就是虚拟机里跑虚拟机。2. 不知道8086和8087浮点协处理器咋配合,MIPS好像(曾经)是浮点指令算非法指令; 3. 上文主要描述的是同一种CPU跑同种/不同OS; 4. MIPS跑x86,显然不能把每条指令都当非法指令来trap,那太慢了。5. 反正我已经说错了很多,再错一句又何妨:-) 从MMX到AVX都没啥大意思,Desktop下用它们的场景并不多,没有它们纯软件来算也不要紧。[OpenWrt Wiki] Cryptographic Hardware Accelerators

 without AES-NI support (slower).

The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 202163.16k 229954.22k 236317.61k 239714.30k 240650.92k 240599.04k

Again, 仍然比我并不觉得慢的快很多了。照俺这逻辑,成箱进口洋垃圾CPU就够用,如i5-3xxx,这显然不对。

二进制翻译( binary translation )有没有成熟的现实应用?请介绍一下实现方式与性能瓶颈。? - 知乎 (zhihu.com)

国产CPU看得我晕头转向。 甘当20年备胎的龙芯能有什么坏心思呢 - 知乎 

RISC-V的"超集"如何呢?比如openssh代码很长,用到AVX指令的是很少一部分,ffmpeg代码很长,用到SIMD的也是很少一部分。用这些指令的函数可以用汇编来写。这些指令的机器码可以很长。听说MIPS可以自定义指令,要是RISC-V也支持就好了,例如标准指令永不以FF开始。ld和gdb可能需要对非标准指令有点了解,知道它有多长(多少个字节)。比如FF 06 00 01 02 03 04 05. 06表示用户指令有6个字节,接下来一个mov cx, _a_global_var,ld要修改机器码里的地址,要知道FF 06后跳过6个字节是mov cx... 哦,SIMD指令也要访问内存的,也许可以划出FF 00 00 00到FF FF FF FF为用户扩展指令的op code,后面必然跟着8个字节的mem addr, ld等可在不知道指令具体干啥的情况下重定位。内存对齐用户自己保证。这样一条用户指令有12个字节长,但so what? 它可能处理的是512位的64个uint8,效率损失不大。只有极少代码用汇编写的,程序也不会变长很多。

Linux还真需要个比较好用的输入法。1万多的笔记本,某几个按键比较涩,用起来也难受。Linux下输入法的主要问题是词库小,尤其是热词少。还有用户观念/买账问题。mac os下输入法也很少不怎么好用,但有些人就是愿意花1万元(历史数据)买个11"的苹果笔记本缩着脖子和颈椎较劲,而不是8000买个更快的Windows笔记本,6000买个台式机+显示器。某些输入法厂商,为linux出个版本上回报纸,就拉倒了,后续不更新了。我觉得应该有点大厂范,开源可能过了,捐个带拼音的10万词左右的词库很难吗?税负低了很多年啊。

如果用户接受了linux,那么CPU就不必支持x86和ARM指令集。某些用户对Windows的需求是伪需求,说不定是为了把笔记本拿回家打游戏(比上班打强)。What if配备linux台式机+报销一部分买手机的钱? 某种意义上说手游倒是好事。更细地,买进口手机报销x,买国产手机报销1.2x, 1.5x, 2x之类。

还有网银。那么大的银行,掏不起开发Linux下网银的那点钱?跟Meta倒挺积极,what's the problem?

posted @   Fun_with_Words  阅读(567)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix









 和6张牌。

点击右上角即可分享
微信分享提示