问题标签 [instruction-set]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - 68k寄存器地址
这个问题是在乞求一堆“你为什么要这样做?” 回应。
我无法在68k Programmer's Reference Manual中找到此信息,但这可能是因为我不确定要搜索什么措辞。
这是 68kADD
操作码的指令格式。
位 0-2 和 9-11 指定寄存器。68k 寄存器的二进制表示是什么?它们是“地址”吗?
是的,我知道我可以编写一个 68k 的汇编程序并对其进行调试以查找此信息。我正在寻找参考。谢谢!
instructions - 简单的流水线和超标量架构
考虑这个指令流程图......
指令提取->指令解码->操作数提取->指令执行->回写
假设一个处理器支持
cisc 和 risc ......就像英特尔 486
现在,如果我们发出一条 risc 指令,它需要一个时钟周期来执行,所以没有问题……但是如果发出一条 cisc 指令,它的执行将需要时间……
因此,让执行 cisc 指令需要三个时钟周期,每个执行之前的阶段需要一个时钟周期....
现在在超标量结构中,在处理第一个指令时发出的两条指令被转移到其他可用的功能单元中……但是在简单的流水线中不可能进行这种转移,因为只有一个功能单元可用于执行指令……
那么在简单的流水线案例中如何避免指令拥塞呢?
mips - MIPS架构的指令集模拟器(SystemC)
有人知道是否有开源 MIPS 指令集模拟器(最好在 C++ 或 SystemC 中)?
我用谷歌搜索了几十个链接,但没有打开 MIPS cpu 的 ISS。然后只有我现在知道的是
Plasma CPU,只实现了有限数量的 mips 指令,因此无法模拟一些应用程序代码。
Gem5,我无法使用它来启动 linux 映像(尽管遵循其网络上的每条指令)
那么,你有这方面的经验吗?
assembly - 为什么不存在 MIPS 的子操作码?
我对汇编语言很陌生。我正在阅读有关MIPS架构的信息,并开始知道您有addi
操作码但没有subi
操作码。为什么我们没有subi
操作码?
assembly - itte 在臂组件
以下行在手臂装配中做了什么:
我得到了第一行(将 r1 与 22 进行比较),但第二行呢(我以前从未见过 itte 命令,谷歌搜索什么也没返回)
mips - $ra 是返回当前指令的地址还是下一条指令的地址?
我对 $ra 返回地址的概念很困惑。它是返回当前正在执行的指令的地址还是下一条要执行的指令的地址?如需解释,请使用以下代码,
- 考虑一个调用三个函数 func_A、func_B 和 func_C 的代码片段。指令 1 位于地址 1996。当调用这三个函数中的每一个时,将在寄存器 $ra 中加载什么?
提前致谢。
mips - 无法从图表中建立关系
我得到了带有文本的下图。笔者指的是AND
成为控制信号的门PCSrc
。但我无法从图中得出这种关系。这里是正文,
ALU 在分支指令中执行寄存器比较,并在其零输出上产生高逻辑。该零输出与控制信号 Branch 相与,用于指示采用的分支。这个与门的输出是控制信号PCSrc,它控制一个多路复用器,该多路复用器在下一个顺序地址的地址(当不采用分支时)和BTA(当采用分支时)之间进行选择。BTA 由专用加法器计算。
mips - 为什么我们只需要将 J 类型指令位扩展为 2 位?
请Single Cycle Data Path
在MIPS
. 的26 bits
被J type instruction
位扩展为28
. 我不明白这一点。不应该将它扩展到 31 以便32
整体生成位。请帮我弄清楚这个概念。
谢谢
mips - 为什么我们在加载字指令中签名扩展?
我正在学习 MIPS 32 位。我想问一下,在存储字的情况下,为什么我们在将 16 位偏移量(在单周期数据路径中)发送到 ALU 之前要对其进行签名?
mips - 在向 MIPS 单周期数据路径添加更多功能时需要帮助
我正在尝试将 jal 功能添加到以下内容,但我不知道它是如何工作的。我知道它将旧PC+4
值存储在$ra
寄存器中,然后将控制权转移到函数,该函数通过返回将控制权传回,$ra
但我如何在硬件中实现它?