gpt4 book ai didi

arm - MIPS和ARM的区别

转载 作者:行者123 更新时间:2023-12-04 20:40:49 26 4
gpt4 key购买 nike

我刚刚开始学习体系结构,并且在MIPS和ARM体系结构之间有些困惑。

我知道MIPS主要具有两种指令格式:I和R(以及J)。我了解了这些表示格式,rs,rt,操作码和相关的东西。我还浏览了Patterson的COA书(第IV版),该书着重于ARM ISA。该版本中的指令表示形式有所不同。这些差异是由于体系结构的变化引起的吗?与我与MIPS ISA一起使用的书中的ARM汇编代码略有不同。

例如。帕特森四世说

LDR r5,[r3,#32]
STR r1,[r4,#48]

而我读过的另一个MIPS说
lw r5,[r3,#32]
sw r1,[r4,#48]

差异是由于它们遵循的ISA还是同一ISA的两个不同版本?您还能解释一下MIPS和ARM之间的主要区别吗?

最佳答案

是的,lw和sw是加载并存储mips的单词。 ldr和str加载并存储一个单词arm。对于x86,则使用mov。

Mips通常使用的语法为$ 0- $ 31或什至更恶心的$ v0,等等。Arm和许多其他语法使用r和数字r0-rn,(有些人也尝试使用别名来丑化它)。

ARM和MIPS是竞争对手,它们不是同一家公司,也不是同一体系结构。 MIPS机器编码属于您提到的几类,无论出于何种原因,ARM都有很多优点或缺点,它们在MIPS或ARM文档中都有很好的记录。

因此,就由指令集的发明者基于他们选择的原因(好,坏或其他原因)确定的指令编码而言,他们可以做自己想做的事情。

就汇编语言语法而言,isa发明者通常会创建一个与指令集的文档一起使用,并且他们通常会创建或雇用某人来制作汇编器。但是汇编程序(采用汇编语言并从中生成机器代码的软件)的作者最终决定了汇编语言的语法,而他们不必遵循isa文档中的语法。而且没有理由让任何两个单独创建的汇编器使用相同的语法。例如,随着时间的推移,十六进制数字的美元符号为$ 12或尾随的h为12h,但是现在您经常看到支持C语法或首选0x12的语法。有时您会看到间接加偏移量为12(r3)或[r3,#12]或描述完全相同的事物。

关于arm - MIPS和ARM的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com