问题标签 [computer-architecture]

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 投票
1 回答
2630 浏览

computer-science - MIPS 立即指令 ori/addi/lui 等需要寄存器写入?

我正在学习 MIPS 中的流水线。我有一个关于即时指令及其指令过程的问题。我一直在阅读那个 ori/addi/lui 并且是即时指令或 I-type。我还不断发现 I 型指令只需要 MIPS 5 阶段过程的前三个阶段。如下图所示

我的问题是首先,这张表是否正确?我觉得奇怪的是这些指令不需要寄存器写入来更改寄存器的内容。如果这张桌子不正确,有人可以帮我看看正确的桌子是什么样的吗?

0 投票
5 回答
1439 浏览

binary - 什么是 w 位字?

  1. 计算机体系结构中的 w-bit 字是什么?
  2. 对于两个 7 位字

10010100110011 ?

这些不涉及简单的二进制乘法吗?请举个例子。

0 投票
2 回答
16094 浏览

computer-architecture - 8086中物理地址的计算

我了解到物理地址是通过将段地址(16 位)左移 4 次并将其与 16 位偏移地址相加来计算的。8086架构的内存是1M。我的问题是,如果段寄存器和偏移值都是 FFFFH 和 FFFFH,那么结果将大于 FFFFH,即大于 1M。

FFFF0

+ FFFF

----------

10FFEF

它实际上是如何计算的......??

0 投票
1 回答
185 浏览

architecture - 计算标签地址

我坚持解决我的任务。这是它所说的,

考虑以下 MIPS 汇编语言代码片段:

a) 如果标签 start 的值为 100(所有数字均为十进制),标签 middle、q_final 和 final 指定的地址是什么?我对如何进行感到困惑。我在想,在每个语句中添加 4 会给出其他标签的值。还有另一种更好的方法吗?

提前致谢。

0 投票
3 回答
81 浏览

architecture - 评估汇编代码的操作

这是我的家庭作业。

尽可能简洁地描述以下 MIPS 代码实现了什么?假设寄存器 $8 保存数组 A 的基地址。

现在我想出的答案是,

如果 A[0] 包含小于或等于 0 的值,则循环将继续无限运行。如果我错了,请指导我。

提前致谢。

0 投票
1 回答
59 浏览

architecture - 寄存器值问题

我试图解决这个家庭作业,但无法提出解决方案。下面是问题,

将此代码翻译成 MIPS 机器

现在我面临的问题是我不知道这个问题中寄存器的值应该是什么(我只研究了$t0-$t7(8-15)和$s0-$s7(16-23)值)。任何人都可以帮助我了解这些寄存器的值吗?提前致谢。

0 投票
1 回答
418 浏览

architecture - 从 MIPS 转换为 C 的问题

我试图解决这个家庭作业,但无法提出解决方案。下面是问题,

将以下 MIPS 代码翻译成高级语言程序。假设 $t0、$t1 和 $t2 分别包含数组 A、B 和 C 的基地址。

操作说明。

这是我尝试过的,但我还没有找到256.

0 投票
6 回答
313 浏览

c++ - 0和128的区别

一个signed integer(使用 8 位)--- Range==> -128 to 127

如果我们考虑 2 的补码表示:

所以在某种程度上它是negative零。

现在对于一个signed整数,128 是1000 00002 的补码也是1000 0000,所以我们难道没有0使用这种表示形式的 [ 负数形式 ​​] 的副本吗?或者我错过了什么?

抱歉打错了。是的,范围是 -128 to 127

但是 8 位可以在内存中表示这个数字10000000。如果这个数字CAN存储在内存中,那么它的值是多少?

0 投票
3 回答
1195 浏览

hardware - 片外内存?

我今天正在分析一个程序,它执行大量缓冲网络活动,该程序大部分时间都在 memcpy 中,只是在库管理的网络缓冲区和它自己的内部缓冲区之间来回移动数据。

这让我想到,为什么英特尔没有“memcpy”指令允许 RAM 本身(或非 CPU 内存硬件)在不接触 CPU 的情况下移动数据?因为每个字都必须一直传送到 CPU,然后再推回,此时整个事情都可以由内存本身异步完成。

是否有一些架构上的原因导致这不切实际?显然,有时副本会介于物理内存和虚拟内存之间,但如今这些情况随着 RAM 的成本而减少。有时处理器最终会等待复制完成,以便它可以使用结果,但肯定并非总是如此。

0 投票
1 回答
21074 浏览

mips - $ra 是返回当前指令的地址还是下一条指令的地址?

我对 $ra 返回地址的概念很困惑。它是返回当前正在执行的指令的地址还是下一条要执行的指令的地址?如需解释,请使用以下代码,

  1. 考虑一个调用三个函数 func_A、func_B 和 func_C 的代码片段。指令 1 位于地址 1996。当调用这三个函数中的每一个时,将在寄存器 $ra 中加载什么?

提前致谢。