RISC-V是一种新的指令集架构(ISA),最初设计用于支持计算机体系结构研究和教育,现在已成为RISC-V Foundation治理下的行业实现的标准开放架构。
康奈尔的thingamajiggy中的这个RISC-V解释器代码有什么问题吗?
考虑: 添加 t0, 零, 3 阿迪 a6, 零, 3 快速乘法: 添加a0,零,零 下一个数字: 安迪 a1, a6, 1 SRAI a6, a6, 1 BEQ a1,零,跳过 添加a0、a0、t0 跳过: 斯利...
考虑: 添加 t0, 零, 3 阿迪 a6, 零, 3 快速乘法: 添加a0,零,零 下一个数字: 安迪 a1, a6, 1 SRAI a6, a6, 1 BEQ a1,零,跳过 添加a0、a0、t0 跳过: 斯利...
我在GitHub上找到了一个RISCV项目(这里是项目),并尝试用verilator运行这个项目的testbench.v文件。但是,在这个过程中我遇到了错误。 我的工作空间是: ../ ├──
这可能有一个非常明显的答案,但我无法找出为什么,当在 risc-v 中的函数内初始化数组时,分配给数组的内存是(项目数)*(项目大小)+15。 ..
这是一个关于RISC-V中向量扩展的问题。 目前,我正在考虑调整我的自定义 RTOS 以支持矢量扩展。 在查看矢量扩展的规范后,我...
//阶乘.c #包括 //计算阶乘的函数 无符号长长阶乘(无符号整数n){ 如果(n==0) 返回1; 别的 返回 n * 阶乘(n...
卡在一些 RiscV 作业上,我知道问题出在哪里,但不知道问题是什么
我正在为我的班级编写代码,尽管我认为我已经接近目标,但我一直在努力地奋斗。每当我到达 lh 命令时它就会终止。我确定(至少我认为我是...
在 C 中使用 jmp_buf 数组进行线程处理(在 xv6 中测试)
你们有没有尝试过将一堆jmp_buf放在一起并按顺序触发它? 我试图使用 jmp_buf 数组来调度线程。下面是一个简单的例子。 我正在跑步,
我想在我的机器上安装并构建 riscv gnu 工具链。我已尝试以下步骤。我的机器运行的是 Fedora Linux 发行版。 1.安装依赖项/先决条件 须藤百胜安装...
sb、sh等risc-v指令是否允许访问缓存?还是直接与主存通信?我在主内存结构中见过 Wstrb 事件,但一般没有...
如何在Risc-V“10000”中存储大于4095的数字:操作数超出范围
嗨,我正在尝试存储一个数字用于除法目的,但当我尝试汇编程序时出现此错误 “10000”:操作数超出范围 有问题的代码看起来像...
请提供各种方法来使用 Spike 模拟器生成 C 代码执行指令的跟踪。 我创建了一个简单的“Hello World”C 文件并生成了 hello.elf 和...
编译 linux 内核时出现 riscv csr 无法识别的操作码错误
我正在尝试为 riscv64 安装 linux 内核 5.15。我收到以下消息 - ./arch/riscv/include/asm/vdso/gettimeofday.h:71:错误:无法识别的操作码“csrr a5,0xc01”,扩展名“zicsr”需要...
我正在尝试在汇编中实现 put 。我已经编写了一个 putchar 函数来将一个字符写入 STDOUT,但我正在努力使用它来创建一个循环,通过调用 putch 来打印整个字符串...
我有一个作业,必须将值加载到寄存器 s7 中,一切正常,直到达到 -2999。` xor s7, s7, s7 # Clear s7 addi s7, s7, 29 # 将 29 添加到 s7 # b. -214 异或...
我的 RISCV 机器中需要 GCC10,因此我想知道是否更推荐下载源代码并 1)在同一个 RISCV 中编译它们,或 2)从 .. .
我的任务:编写一个汇编程序,使用递归将数字 42 添加到总和 𝑛 次,其中 𝑛 由输入给出。 我遇到的问题是,每次输入一个值,都是一样的...
如何在没有 UB 的情况下检索 risc-v32 上的 sp?
我的目标是 riscv32-unknown-elf (piccolo32),所以它有一个堆栈。因此编译器可以并且将会使用它。 具有 volatile 的代码如下所示: void* 易失性 sd = nullptr; // 易变到上一个...
第 76 行中的 RISC-V 汇编错误:0x004000bc 处的运行时异常:地址超出范围 0x00000000
我已经研究这个代码好几天了,但我完全没有修复它的想法。无论我做什么,这个运行时异常都不会发生任何变化。我该如何修复它? 对于上下文我正在尝试...
以下引用摘自 riscv-debug-spec 版本 0.132。 异常不会更新任何寄存器。其中包括 Cause、epc、tval、dpc 和 mstatus。 他们确实结束了程序增益的执行...