该架构的非常早期版本(8008,8080)是使用极少量的晶体管/逻辑门实现的.
那时,我确信设计人员以易于解码的方式选择操作码和指令格式(例如,最小数量的门).说明书往往很简单,而且格式规则.
(我知道我在20世纪70年代设计了一个16位CPU.英特尔可能做得更好但是他们总是匆忙.我的CPU坚持4位操作码0000和1111无效并导致陷阱;这阻止了在大多数情况下,由于积分值倾向于全部为零或在其顶部位中的1,因此数据不会被意外执行.
成功和竞争需要发展和增加新功能.发明/添加新指令一直存在压力,使CPU能够更快更好地完成任务:浮点数,32位数据,更多寄存器,SIMD操作,加密......
随着新一代处理器的出现,随着晶体管预算的增加,设计师试图添加新指令时会发生两件事:
通过十几代CPU重复这个过程,直到你达到现代,拥有数十亿晶体管芯片.现在添加的指令更具异国情调,模式变得更加复杂.它看起来很随意; 它不是,但也没有干净的设计.
现代x86芯片使用指令格式的功能非常令人惊叹,但它确实有效.