X86呢。一般发明指令集的都希望别人来兼容,越多越好,没人兼容说明没人用。想想英特儿凭啥发财?一个CPU的设计和制造中指令集本身只占技术含量的一小部分。主要在逻辑设计和物理设计。逻辑设计是指各种先进的算法和架构设计,比如多发射,超标量指令流水线,分支预测,乱序执行等等,目前的趋势是多核。AMD从K6开始也是把X86的指令在内部翻译成其本身的指令执行。从技术上讲,英特尔AMD巴不得不用兼容旧X86另起炉灶重开张设计指令集呢。因为旧的X86指令编排的不尽合理,使得系统编排的十分复杂。但是,本身一个CPU支持某一种指令集,在技术上讲是很容易实现的。我阅读过ARM11的指令译码器的RTL代码,其本身就是一个巨大的组合逻辑。其代码中标注着:此代码是机器自动生成,不要手动修改。也就是说,他有个软件工具,把指令集SPECIFICATION输入进去,然后此软件工具就自动生成CPU指令译码器的RTL代码。我相信对于一个CPU设计者来说支持一种指令集的开发工作仅是其工作的一小部分。而如何做好架构和算法设计才是主要技术难点。而结构设计和算法跟某种指令集是无关的!
另一个技术难点是物理设计,目前的通用CPU因为强调效率较少用流片厂的标准单元库。都是自己设计自己的晶体管级的电路设计单元库。这是很费时间又需要大量电路设计经验的技术难点。电路设计也是专利产生的大户。龙芯早就在寄存器堆等地方使用全定制电路设计,因为寄存器说白了就是储存器,你优化了一个单元,整个一类储存器的电路就被优化了。而且这样的设计还要对不同的工艺做不同的定制设计。这还关系到耗电和面积等技术指标。谁都是如此做的。后面他们有无全定制电路设计其他部分不知道。
而我上述的所有技术难点跟某种指令集的关系并不大,掌握这样的技术才算掌握CPU设计技术,去兼容获得某个指令集就说是CPU战略的失败纯属无稽之谈。外行妓者就知道瞎TMD扯淡起哄。