【问题标题】:Difference between MIPS and ARM datapathsMIPS 和 ARM 数据路径之间的区别
【发布时间】:2017-09-18 23:12:19
【问题描述】:

我刚刚在课堂上学习了 MIPS 架构。我正在阅读其他指令集架构(目前为 ARM),发现 ARM 和 MIPS 之间存在一些差异。两者都有不同的指令格式、寄存器集等。

ARM 的数据路径与 MIPS 有什么不同吗?因为数据路径涉及获取、解码和执行指令,并且对于所有指令集架构都必须相同。

我在阅读本文时找不到有关 ARM 数据路径的信息。

【问题讨论】:

  • ARM 和 MIPS 都可以用不同的微架构实现(而且它们已经实现了),因此根据您比较的哪一对实现,您可以有尽可能多的差异。
  • 一个重要的区别是ARM有很多条件执行,而MIPS有延迟槽。此外,ARM 有一个条件寄存器,需要对其进行特殊处理才能获得良好的性能。 ARM 还具有相当复杂的寻址、预移位算术运算和顺序加载/存储操作。 OTOH,MIPS 有一个可怕的乘法/除法单元,需要特殊的外壳。
  • @azharbaloch 可能是因为没有一个“数据路径”。您有一个指定程序员模型的 ISA 规范,并且您有使用具有(大量)数据路径的微架构的实现
  • @azharbaloch 您可能被教导了一个标量有序流水线(五阶段?)MIPS 的简化模型。最初的 ARM1 是标量有序流水线(三阶段)设计,但比 MIPS 复杂一些。
  • @EOF 最后一个问题(抱歉分发),如果我们考虑标量有序流水线 MIPS 和 ARM 流水线设计的简化模型,数据路径会有什么不同?假设我们只考虑基本指令,例如 ADD、LDR、SDR 和分支指令。

标签: assembly arm mips cpu-architecture instruction-set


【解决方案1】:

您学到的 MIPS 无疑是来自教科书(Patterson 和 Hennessey)的教育。真正的 MIPS 内核以及 ARM 内核可以/确实因内核而异,您可以拥有多个 armv7-m 内核,它们在流水线阶段具有不同的实现。注意 ARM 和 MIPS 和 RISC 一般都不是微编码的,不要让 x86 实现影响你的理解。

因此没有一个答案,对于 MIPS 处理器使用哪些数据路径,ARM 处理器在获取、解码、执行、写回方面使用哪些数据路径,也没有一个答案......

CONCEPTS fetch, decode, execute, ... 是否被所有处理器 RISC 使用,只是它们如何以及何时使用各不相同,它们可以将这些步骤分解为更小的步骤并在更长的管道中实现这些步骤,或者使它们平行并具有更宽的管道。

对于 MIPS,任何东西都可以转到 MIPS 并下载他们的文档。 for arm go to arm 你想要架构参考手册和你感兴趣的特定架构系列和特定内核的技术参考手册。他们有一些新的程序员手册或开发人员手册,跳过那个,或者理解它是上面两个手册里面有洞。您可能还想获取 amba/axi 文档以了解总线的工作原理,您可以设计具有不同总线的手臂,但如果您学习了传统的地址双向数据、写入选通、读取选通、芯片启用,这很有教育意义类型总线(它仍然存在于叉骨中,一种在开放核心和其他地方使用的流行总线,有点复杂但更接近旧校车)。

【讨论】:

  • ARM32 今天被大量微编码。您只需查看架构手册即可看到许多指令,这些指令由于修改多个寄存器等原因不适合超标量/OoO 范例。 Aarch64 清除了最差的(LDM/STM、SMULL/UMULL、VTRN/VZIP/VUZP/VSWP...)。
  • define:今天,您认为这是从哪个架构开始的? ldm/stm 对状态机来说是微不足道的,乘法,对于那些很容易实现的不需要微编码。
  • 没有意义将是对房地产的巨大浪费,多个寄存器,超标器不需要微编码......
【解决方案2】:

两者都是 RISC(精简指令集架构)。

根据 D.Patterson 和 L.Hennessy

主要区别是 MIPS 有更多的寄存器,而 ARM 有更多的寻址模式。 MIPS 和 ARM 的算术逻辑和数据传输指令也有类似的指令集核心。

与 MIPS 不同,ARM 不保留包含 0 的寄存器。虽然 MIPS 只有三种简单的数据寻址模式,但 ARM 有九种。

条件分支

MIPS 使用寄存器的内容来评估条件分支。 ARM 使用 存储在程序状态字中的传统四个条件码位:否定进位溢出。它们可以设置在任何算术或逻辑指令上; 与早期架构不同,此设置在每条指令上都是可选的。一个 显式选项导致流水线实现中的问题更少。 ARM 使用 条件分支测试条件代码以确定所有可能的无符号 并签署了关系。[D.Patterson 和 L.Hennessey 的计算机组织和设计]

我在阅读本文时找不到有关 ARM 数据路径的信息?

我向您推荐 D.Patterson 和 L.Hennessey ARM 版的Computer Organization and design一书。

【讨论】:

    猜你喜欢
    • 2014-12-29
    • 1970-01-01
    • 2014-09-25
    • 2018-06-17
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    相关资源
    最近更新 更多