【问题标题】:Instructions loading into registers指令加载到寄存器
【发布时间】:2010-12-11 04:43:23
【问题描述】:

在指令集架构中,各种指令R-Type、I-Type、J-Type是加载到同一个通用寄存器中还是不同种类的指令根据操作码加载到不同的寄存器中?如果寄存器不同,那么处理器如何知道将哪条指令加载到哪个寄存器?并且在编译器的设计中是否允许加载指令的寄存器数量是固定的?

处理器如何区分不同类型的指令R-Type、I-Type、J-Type,是不是基于第一个初始操作码?

【问题讨论】:

    标签: opcode instructions cpu-registers


    【解决方案1】:

    在Instruction Set Architecture中,各种指令R-Type、I-Type、J-Type是加载到同一个通用寄存器中还是不同种类的指令根据操作码加载到不同的寄存器中?

    你似乎很困惑。指令不会加载到寄存器中(除非您正在编写反汇编程序)。指令被处理和执行——这可能会导致其他数据被复制到寄存器中或从寄存器中复制出来。

    如果寄存器不同,那么处理器如何知道将哪条指令加载到哪个寄存器?并且在编译器的设计中是否允许加载指令的寄存器数量是固定的?

    不知道你的意思。

    处理器如何区分不同类型的指令R-Type、I-Type、J-Type,是不是基于第一个初始操作码?

    R/I/J 之间的区别(这似乎是 MIPS 约定?)似乎有些武断。在许多架构中,它们不能被如此整齐地划分。每条指令都是decoded,它可能涉及从内存加载、从立即数加载或更改PC。

    【讨论】:

    • 是的,这个问题有点令人困惑,对此深表歉意。那么数据和指令有什么区别呢?指令存储在哪里?数据和指令是否分别存储在主存中?
    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 2019-01-02
    • 2018-10-15
    • 1970-01-01
    相关资源
    最近更新 更多