问题标签 [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.
computer-architecture - 阿姆达尔定律示例
有人可以帮我做这个例子,并告诉我如何工作第二部分吗?
问题是 :
如果天气预报算法的三分之一本质上是串行的,其余是可并行的,那么保证比单核实现提高 150% 所需的最小内核数是多少?
ii. 你的老板将这个数字修改为 200%。你的新答案是什么?
首先十分感谢 !!
c - c中矩阵转置中的缓存利用率
此代码以四种方式转置矩阵。第一个执行顺序写入,非顺序读取。第二个是相反的。接下来的两个是相同的,但缓存跳过写入。似乎发生的是顺序写入更快,跳过缓存更快。我不明白的是,如果缓存被跳过,为什么顺序写入仍然更快?
编辑:输出是
android - Dalvik VM 如何在方法调用之间保存和恢复其寄存器?
从语义上讲,Dalvik VM 对每个方法都有一组新的寄存器,并且没有访问调用堆栈的指令。但就其实现而言,寄存器应该在方法调用时以某种方式保存,并在方法返回时恢复。Dalvik(谷歌的实现)如何做到这一点?
computer-architecture - 如何查找进程的缓存访问跟踪?
我想知道特定进程正在执行时缓存的内容,假设当前只有这个进程正在运行。有什么工具可以帮助我吗?还是一些 y.mechanism?提前致谢。
operating-system - 为什么在内核模式下调试很困难?
我了解内核模式和用户模式的目的,以及从前者到后者的转换是如何发生的。然而,许多消息来源指出,内核模式下发生的崩溃很难调试,应该远程完成,例如通过 telnet 连接(这里是一个示例)。
为什么调试这么难?为什么不能将(内核)调试器附加到其中一个内核线程并以通常的方式使用它?
multithreading - 指令流水线的 By Pass 方法
嗨假设以下指令:
现在我们将在不绕过的情况下创建如下管道:[XXX : bubble]
我们将创建一个带有旁路的管道,如下面的管道:[XXX : bubble]
我们应该等到 WB1 和 WB2 完成,然后我们可以执行指令 3。所以在绕过方法中,我们将在 EX1 和 EX2 电平之后将 R1 和 R2 值存储到缓冲区中。
但是......在绕过方式,EX1之后,我们怎样才能得到寄存器R1的值??我们还没有达到 WB1 值。为什么我们需要一个缓冲区,为什么不直接读取 R1 呢?
c++ - 学习 MPI 和 Pthread
我必须为并行计算架构课程学习 MPI 和 pthread。本课程的前半部分将基于并行编程。我不是CS专业的,也没有像CS人那样严谨的编程经验。所以,我有点担心,想从从事这些主题的其他人那里得到一些反馈。
我有 C 语言背景,我从上个月开始学习 C++ 和 oop。那么,如果我想了解 MPI、pthread 等,这个背景会是一个大问题吗?
谢谢
assembly - 优化这个汇编代码
我现在正在学习计算机体系结构课程,我们正在学习基本的 R 型和 I 型指令(另外,这是一个RISC体系结构)等。我似乎无法弄清楚如何优化它代码。
说明:此代码将单词添加到数字数组(由 $s1 指向)中,直到达到零。结果存储在 $t1 中。$t0 保存当前单词。
我很难优化代码。我觉得beq $t1, $t1, again
(因为它总是正确的)是不必要的,但我不知道如何删除它。这是我的尝试,但我现在意识到我的代码不会终止。
我从不检查终止零并跳到完成。但是如果我再添加一个检查,那么代码不会和以前一样吗?
binary - 为什么二进制用八位字节表示?
我一直在谷歌上寻找答案,但似乎找不到。但二进制以字节/八位字节表示,8 位。所以字符 a(我认为)是01100010,
,单词 hey 是
所以我的问题是,为什么是 8?这只是计算机可以使用的一个好数字吗?而且我注意到 32 位/62 位计算机都是 8 的倍数……那么这是否与第一台计算机的制造方式有关?
抱歉,如果这个问题不符合 Q/A 标准……它与代码无关,但我想不出还有其他地方可以问它。
compiler-optimization - 指令流水线 - 架构模拟器和流水线可视化工具
我正在开发一个编译器,并编写了一个优化,实际上让我的代码变慢了!在调查它时,我发现代码生成器决定在我的优化关闭时使用句柄(在我们的编译器的情况下是双重引用),并在我的优化开启时使用指向句柄的指针!这导致在第二种情况下,每当访问数组时,就会产生一条更多的取消引用指令。
但是这条单条指令导致代码运行时间惊人地降低了 32%。我怀疑这与指令流水线有关,因为这种额外的取消引用会导致 3 个依赖指令,这可能解释了速度下降。
我需要演示同样的内容,并试图获得更多关于流水线的信息,如果有人能推荐一些关于指令流水线、有用的架构模拟器和流水线可视化器的好材料,那就太好了。