RISC处理器没有向后兼容性吗



我正在读一本教科书,上面写着:

RISC处理器在嵌入式处理器市场上表现出色,控制着手机、汽车刹车和互联网设备等系统。在这些应用程序中,节省成本和电源比保持向后兼容性更重要。

这是否意味着RISC处理器(如ARM(与旧版本不向后兼容?

这是正确的;例如在真正旧的ARM上,具有非零低位的字加载意味着旋转对齐的字。在现代ARM上,这些位只是地址的一部分,并为您提供未对齐的负载。

因此,ARM一度巧妙地用依赖于该功能的罕见代码破坏了compat,使那些旧的二进制文件在现代ARM上无法使用。大多数ARM二进制文件仍然很好,因为它们完全避免了未对齐的字加载/存储。

另一个例子是MIPS

通常,当引入新的ISA版本时,会添加指令,但为了向后兼容,旧指令仍保留原样。例如,在x86中,许多几十年来没有人使用的指令直到现在仍然有效和受支持。然而,在MIPS III中,删除了一些指令以释放一些操作码。在MIPS V之后,当MIPS Technologies从SGI分离时,引入了一个重大的大修:MIPS32/MIPS64。命名方案被更改,一些更多的指令被删除

  • 一些条件移动
  • 分支可能指令(在早期版本中已弃用(
  • 带16位立即数的整数溢出陷阱指令
  • 整数累加器指令(与HI/LO寄存器一起,移动到DSP应用程序特定扩展(
  • 未对齐的加载指令(LWL和LWR(,(要求大多数普通加载和存储支持未对齐的访问,可能通过捕获和添加新指令(BALIGN((

MIPS32/MIPS64

它也"重新组织了指令编码,为将来的扩展腾出了空间">

其中一个原因可能是MIPS将重点从高性能系统转移到了嵌入式系统

相关内容

  • 没有找到相关文章

最新更新