问题标签 [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 回答
1310 浏览

spatial - 这是时间局部性还是空间局部性?

我想问一下时空局部性。如果我在一个带有循环变量的循环中,并且我正在遍历一个名为 的数组,那么当我访问 arr[i] 时,根据我的说法,它应该是时间和空间局部性,因为首先我会访问并找出什么是和然后转到该索引。我在这里做两件事,i arr[i]ii

  1. 访问i(时间局部性)。
  2. 访问地址arr[i](空间位置)。

请告诉我我对这种特定情况是否正确。
提前致谢。

0 投票
2 回答
729 浏览

mips - 从代码片段中查找偏移量

我有点坚持以下问题,

考虑以下 MIPS 代码并回答以下问题。

标签循环在条件分支指令中转换为什么值?

现在我知道了分支目标地址的数学公式。但是这里没有完成内存寻址,所以我通过计算目标地址和 PC 之间的行来找出偏移量。这给出的答案是 7(字偏移)。我对这种方法是否正确?

0 投票
1 回答
12822 浏览

mips - 大端和小端

给出的是字节可寻址计算机的内存快照。如果机器是大端和小端,则$16在执行指令后将什么加载到寄存器中。lw $16, 24($17)寄存器$17包含200.

在此处输入图像描述

现在根据我的说法,(224-227)无论是Little Endian还是Big Endian,都会从内存中复制四个字节,然后如果机器是Big Endian,那么它们将按原样复制到寄存器中。

如果机器是Little Endian,则将被反转然后复制到寄存器中。

如果我对这个概念有误,请指导我。

0 投票
3 回答
1634 浏览

computer-science - 最少数量的 D 触发器

我遇到了以下问题,无法确定答案。您有什么建议,任何帮助将不胜感激。

对于所有整数 n>= 3,斐波那契数列 F(n) 由 F(1)=1、F(2)=1 和 Fn=F(n-2) + F(n-1) 定义。什么是设计一个输出前七个斐波那契数(即 F1 到 F7 )然后回绕的计数器电路所需的最小 D 触发器数量(以及组合逻辑)?

(A) 3 (B) 4 (C) 5 (D) 6 (E) 7

提前致谢

0 投票
2 回答
9932 浏览

mips - MIPS 管道转发(双重数据风险)

在帕特森和轩尼诗书中:

但这不能作为 EX 危险处理:

为什么在MEM阶段进行转发?如何?有 1 个档位(对于第二次添加,我需要在下一个 EX 中获得 EX 的结果)?

0 投票
1 回答
872 浏览

memory - CPU 和内存(值、寄存器)

当一个值从一个寄存器复制到另一个寄存器时,源寄存器中的值会发生什么变化?目标寄存器中的值会发生什么变化。

0 投票
2 回答
2326 浏览

memory - MIPS 内存执行预防

我正在对 MIPS 架构进行一些研究,并且想知道如何使用 mips 提供的有限指令和内存保护来实现操作系统。我特别想知道操作系统如何阻止某些地址范围被执行。例如,操作系统如何限制 PC 在特定范围内运行?换句话说,防止诸如从动态分配的内存中执行之类的事情?

首先想到的是 TLB,但 TLB 只提供内存写保护(而不是执行)。

我也不太清楚操作系统如何处理它,因为这意味着每条指令都会导致异常,然后会烧掉许多周期,只是检查 PC 是否在正常的地址范围内。

如果有人知道,它通常是如何完成的?它是否在初始化期间由硬件以某种方式处理(例如,它被赋予了一个地址范围,如果它超出范围,则会遇到异常?)

0 投票
2 回答
2800 浏览

mips - MIPS Pipeline 中的 PCWrite 和 IFWrite 做什么/指的是什么?

从帕特森/轩尼诗书中:

Whats PCWrite 和 IF/DWrite(来自危险检测单元的最左侧控制信号 2 个)

0 投票
1 回答
1716 浏览

caching - 直接映射缓存和缓存未命中

我正在做作业,但我不确定如何计算总缓存未命中数。我一直试图理解它,但它对我来说没有意义。我得到了一些 Mips 代码,我需要计算缓存未命中的数量。这是问题所在:

直接映射缓存。我们得到一个包含 1024 个块的直接映射缓存。每个块是一个 MIPS 字(32 位)。每当发生写未命中时,缓存都会使用回写。主存储器由 2^30 个字组成。最初,缓存是空的。
确定以下指令序列的缓存未命中总数。

我不是在寻找答案。我想学习如何做到这一点,因为我在家庭作业中遇到了更多这样的问题。我想对此进行演练。与此同时,我将研究这个话题,试图找出答案。

0 投票
3 回答
789 浏览

c# - ANDing 无符号二进制表示

我正在尝试 AND 两个不同的二进制数。到目前为止,这是我的代码(我发布到 pastebin,因为我不确定我的布局是否正确) http://pastebin.com/FRT6Qig6

我的问题是我只是不明白我的答案应该是什么。或者即使我的代码做对了。