问题标签 [risc]

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.

0 投票
0 回答
506 浏览

performance - 如何计算流水线处理器的平均 CPI?

对于练习考试的问题,它会询问:

考虑一个由 100ld条指令组成的程序,其中每条指令都依赖于它之前的指令,例如,

ld x2,0(x1)

ld x3,0(x2)

ld x4,0(x3)

具有转发功能的流水线处理器中的平均 CPI 是多少?

它还说假设的答案是(5 + (99 * 2)) / 100 = 2.03。我知道 5 是每条指令的步骤数,并且每个步骤都有读/写过程,但是我对此有几个问题:

  1. 首先,为什么 5 被加到 99*2 而不是相乘,即使每条指令有 5 个步骤?
  2. 假设没有转发,您将如何计算答案?

谢谢!!

0 投票
1 回答
4237 浏览

assembly - 斐波那契汇编程序

我刚收到一个关于斐波那契数列汇编程序的问题。问题如下: 斐波那契数列F定义为F(1) = F(2) = 1和 对于n ≥ 2F(n + 1) = F(n) + F(n − 1)(n + 1)th值由nth值和(n − 1)th值之和给出。

  1. 编写一个典型的 RISC 机器的汇编程序来计算kthF(k),其中k是一个大于2从内存位置加载的自然数M,并将结果存储在内存位置M

我收到以下答复:

其中# 表示立即寻址,BNE 代表“不相等则分支”。

我不明白为什么...有人可以向我解释一下吗?

0 投票
0 回答
709 浏览

assembly - 如何正确实现 CISC 流水线 CPU?

我正在为我的大学毕业做这个项目。我已经为我的一门课程做了一个流水线 CPU 并在 Logisim 程序中对其进行了模拟,但现在我需要将 CPU 闪存到我的 FPGA 并为这个 CPU 编写游戏。所以我想改进我的架构,也改变了一些功能,因为我真的不知道它应该如何工作。问题在于内存访问,在第一张图片上你可以看到我的第一个 CPU。逻辑是:读取操作码->解码并准备操作数->根据需要读取内存->检查 JMP(CJE,CJNE...)->算术和逻辑计算->将答案写入寄存器或内存(我在这里延迟了如果需要不与读取内存操作冲突 - 避免内存危险),则为所有流水线提供 1 个时钟。

管道1

中央处理器图

现在我想为我的游戏插入一些图形,并添加一个与 PPU(图片处理单元)合作的片段。

管道2

另外,我在互联网上看到很多将内存段放在执行段之后的例子,这对我来说是无法理解的。如果我需要从内存中读取 MEM 变量然后将其添加到 A,我如何实现像 ADD A、MEM 这样的操作码?或者我错过了什么?你能帮我解决这个问题吗?

0 投票
1 回答
71 浏览

memory - RISC 处理器程序的内存占用

如何测试为 RISC 和 CISC 处理器编写的内存占用程序?

哪一个需要更多内存,为什么?

0 投票
1 回答
117 浏览

assembly - 为什么这个 MIPS 循环在请求整数时停止打印字符串

我正在尝试通过用户输入带有一些不错的字符串来输入一个 4x4 矩阵。有些东西使其中一个字符串在第三次迭代时停止打印,然后另一个字符串在第 7 次迭代时停止打印。

我认为这可能是 MARS 模拟器错误或其他问题,我试图重新启动它,但错误仍然存​​在。我确定它必须与我的代码有关,但我找不到错误。

产生错误的 .asm:

产生的输出:

正如我们所看到的,ASCII 块意味着它打印了一些东西......错误(它们被 MARS 抑制并且只能看到将其粘贴到其他地方)(编辑:也被 stackoverflow 抑制......失败)

预期结果应该是 16 条消息,要求用户输入以下格式:

0 投票
1 回答
61 浏览

assembly - 瑞萨 M32R 处理器程序前调用和返回

如何在 Renesas M32R ISA 中创建程序?我该如何称呼它以及如何退货?Internet 上关于此 ISA 的文档并不多。和Arm的过程调用一样吗?

0 投票
1 回答
41 浏览

risc - 哪个程序的规模会更大——RISC 还是 CISC?

假设我有一个 hello world 程序,它打印“Hello World”。现在,我已经为 CISC 处理器编译了这个程序,接下来我为 RISC 处理器编译了这个程序。我的问题是哪个代码量更大,为什么?

0 投票
1 回答
75 浏览

microprocessors - WAW 和 WAR 危害是 RISC 处理器独有的吗?

每当我发现有危险的东西时,我都会在像 MIPS 这样的 RISC 处理器的上下文中找到它。

WAW 和 WAR 危害是 RISC 处理器独有的吗?

或者,CISC 也会遇到这些危险?

0 投票
0 回答
533 浏览

mips - MIPS 中的存储字 (sw) 指令是否同时依赖于 rt 和 rs 字段?

例如,在具有以下指令集的 5 级流水线中:

我不确定 sw 是否同时依赖 rt 和 rs 字段,在这种情况下 rt$t3和 rs 将是$t6。从我了解到的情况来看,将存在$t3依赖关系,因为$t3寄存器内的东西将存储到的地址中4($t6),但我很困惑是否存在依赖关系$t6(因为 add$t6, $t4, $t5指令写入$t6)。

另外,我了解到加载字(lw)指令依赖于 rs 字段,但我不太确定 rt 字段,因为无论其中包含什么,加载字指令都会覆盖 rt 字段?

0 投票
1 回答
170 浏览

cpu-architecture - When does the pipeline take 2 decode stages when there is a RAW dependency in 2 successive instructions

Consider a RISC pipeline having 5 stages, Find how many cycles are required for the instruction given below, assume operand forwarding, branch prediction is used in which the branch is not taken, ACS is the branch instruction and the five stages are Instruction fetch, Decode, Execute, Memory and Write back.

Solution: Solution

In the solution, I coludn't understand why have they neglected 2 DECODE cycles in I6 and I7 although they have a RAW dependency?

Source of the question: Question 41 of https://practice.geeksforgeeks.org/contest-quiz/sudo-gate-2020-mock-iii