当年全美达处理器算256位么?

反对 @yang leonier的回答,处理器的性能并不能作为其是否采用某种技术的判断依据,或者说回答对于题主的提问没有帮助。那么TM8000系列到底是不是256位处理器呢?结论为:不是。首先纠正一个现实错误:不论从哪点来说,全美达Crusoe也不是一个256bit的处理器,它是128位VLIW的……真正使用256位VLIW架构的处理器是全美达的Efficeon,也就是Crusoe的下一代。题主看到的“Crusoe TM8000”估计是早期的新闻稿,那时候全美达还没有公布Efficeon这一品牌。然后我们详细分析,先看一条关于64位CPU的定义,摘自维基百科:64位CPU是指CPU内部的通用寄存器的宽度为64比特,拥有64位寛度的数据总线,支持整数的64比特宽度的算术与逻辑运算。再来看Efficeon的运行方式:在实际运算的时候,Efficeon为了兼容x86架构,实际的运作方式为将x86指令转换为多个微指令(全美达称之为atoms),这里每个atom都是32bit的,然后将8个微指令合并成一个256bit的指令(全美达称之为molecule),交给VLIW核心来运行,假如出现atom数量不够填不满molecule的时候,就会用NOP(空指令)补齐,于是大量的性能被浪费了,这也就是全美达处理器实际性能并不理想的原因之一。联系之前我们对于64位cpu的定义,Efficeon虽然有个256bit VLIW架构的核心,但实际上它在处理的时候是将8个32位指令合并成一个256位来运行的,也就是:寄存器宽度256位、数据总线宽度256位、但不支持256位的整数算术与逻辑运算,仅能支持到32位。这一点就决定了Efficeon其实仅仅是一个32位处理器,与之类似的还有当年SONY在PS2上使用的Emotion Engine处理器,Emotion Engine虽然具备128bit的宽度,最大可同时处理4个32bit整数运算,但也仅仅就是能处理到32bit而已,并不能一次处理一个128bit整数运算,所以依然是一颗32bit处理器。
■网友
看怎么定义了。因为很多人认为它只是8个32位运算单元,不是256位的内存总线,通用寄存器,算数单元。所以不是256位机器,但你说它就是256位,我觉得也没问题。指令就是这么宽。大概2000年到之后的7-8年,对于VLIW的执着发展到了顶峰。因为人们觉得处理器只要做得宽,每周期指令就一定会增加,从而提高Throughput。但是最后证明行不通,因为编译器不够好,最后NOP多得不得了。所以这种一般用在精心调整的DSP处理器上,那个上面代码比较固定,可以堆工程师去优化代码。降低NOP概率。插一句,因为内存借口太细,寄存器借口太细,所以ALU很少有足够数据进行计算,所以一直在等待,在NOP。有人会问,那为什么不加宽那些地方呢?那样其实就是多核了...这其实也是多核过去15年很火的原因。回到VLIW,反倒是后来OoO的超标量架构成了同样计算的主流,因为很多编译器的工作都由硬件完成,软件和编译器工程师可以思考些其他更有价值的应用层问题。但是,目前很多硬件加速器都是vliw的,比如加密,多媒体,网络信道编码解码,以及现在火的人工智能处理器。想必大家可以自己分析这个的原因了。
■网友
如图,系统是win8 32位 【当年全美达处理器算256位么?】 当年全美达处理器算256位么?


■网友
tm8800的机器我有一台,1.6ghz 象棋才1.25 远不如pm dothan,虽然比一代933mhz下象棋才0.42 好多了第二代全美达主要是采用了ht总线,cms部分支持sse和sse2,cms的效果并没有好多少。尤其是全美达一直配ali或者uli的破南桥,拖慢了整个系统的效率


    推荐阅读