问题标签 [cpu-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 投票
9 回答
40629 浏览

data-structures - 一个字有多少位,并且在不同的体系结构中是恒定的吗?

机器WORD总是相同还是取决于机器架构?单词WORD的含义是上下文敏感的还是普遍适用的?

0 投票
2 回答
409 浏览

low-level - 可以使用寄存器的增量来确定时钟速率吗?

可以使用寄存器的增量(在循环中)来确定(有效)时钟速率吗?我很自然地认为它可以,但有人评论说 Cpu 可能会植入超标量技术,使这种计算变得无用。另外有人告诉我,CPU 上的寄存器的递增可以在不到一个时钟周期内完成。

是真的吗?

0 投票
10 回答
1530 浏览

assembly - 是否有任何语言直接与硬件对话并且不是汇编语言?

只是想知道汇编世界是如何工作的,我正在阅读wiki上的汇编语言,这句话让我印象深刻:

它实现了对特定 CPU 架构进行编程所需的数字机器代码和其他常量的符号表示。

我一直认为汇编是基于您的 CPU 的固定语言(基于所述 CPU 具有不同的编译器和语言),因此对于您的 CPU,您只能使用这种类型的汇编与您的硬件对话。

但是基于该引用,可能有其他语言使用其他符号来表示相同的数字机器代码。

那么,是否有任何其他语言可以直接与非汇编硬件对话?还是我弄错了?

0 投票
2 回答
157 浏览

architecture - 对于阵列密集型计算,一种架构相对于另一种架构有什么优势?

我很想知道是否存在一种可以更快地处理数组密集型计算的架构。例如; 在 MIPS 工作站上运行的一些任意 C 代码会比在 x86 工作站上运行更快吗?我想一个更好的问题是某些架构是否有更快的 FPU

我知道重型阵列和矩阵运算的较新选项之一是 GPU 计算和使用 Nvidia 的 CUDA 等工具,但我对传统 CPU 级别存在的内容更感兴趣。谢谢!

0 投票
4 回答
2805 浏览

c++ - C++ int 操作在 mips 架构上是原子的吗

我想知道我是否可以在不锁定 mips cpu(尤其是亚马逊或多瑙河)的情况下读取或写入共享 int 值。我的意思是如果这样的读取或写入是原子的(其他线程不能中断它们)。需要明确的是 - 我不想阻止线程之间的竞争,但我关心 int 值本身是否没有损坏。

假设编译器在 cpu 字的边界对齐所有 int,应该是可能的。我使用 gcc (g++)。测试还表明它似乎工作正常。但也许有人肯定知道?

0 投票
5 回答
62694 浏览

performance - 每条汇编指令需要多少个 CPU 周期?

我听说网上有英特尔的书,它描述了特定汇编指令所需的 CPU 周期,但我找不到(经过努力)。谁能告诉我如何找到CPU周期?

这是一个例子,在下面的代码中,mov/lock 是 1 个 CPU 周期,xchg 是 3 个 CPU 周期。

顺便说一句:这是我发布的代码的 URL:http: //www.codeproject.com/KB/threads/spinlocks.aspx

0 投票
7 回答
31023 浏览

performance - Intel x86 处理器的 L1 内存缓存记录在哪里?

我正在尝试分析和优化算法,我想了解缓存对各种处理器的具体影响。对于最近的 Intel x86 处理器(例如 Q9300),很难找到有关高速缓存结构的详细信息。特别是,大多数发布处理器规格的网站(包括Intel.com)不包含对 L1 缓存的任何引用。这是因为 L1 缓存不存在还是由于某种原因这些信息被认为不重要?有没有关于消除 L1 缓存的文章或讨论?

[编辑] 在运行各种测试和诊断程序(主要是在下面的答案中讨论的那些)之后,我得出结论,我的 Q9300 似乎有一个 32K L1 数据缓存。我仍然没有找到一个明确的解释来解释为什么这些信息如此难以获得。我目前的工作理论是,L1 缓存的细节现在被英特尔视为商业机密。

0 投票
4 回答
26734 浏览

c# - 针对 x86 和 x64 的设置?

我有一个需要 x64 和 x86 dll 的程序(它会在运行时确定需要哪些),但是在尝试创建设置时,它会抱怨:

以“AMD64”为目标的文件 AlphaVSS.WinXP.x64.dll 与项目的目标平台“x86”
不兼容 以“AMD64”为目标的文件 AlphaVSS.Win2003.x64.dll 与项目的目标平台“x86”
文件不兼容.Win2008.x64.dll 以“AMD64”为目标与项目的目标平台“x86”不兼容

如何使我的设置像我的程序一样针对两个平台?

0 投票
4 回答
1149 浏览

assembly - x86 架构中的“欧盟”是什么?(计算有效地址?)

我在某处读到 x86 指令中的有效地址(如 LEA 指令)是由“EU”计算的。什么是欧盟?计算有效地址究竟涉及什么?

我只了解了 MC68k 指令集(UC Boulder 首先教这个),我无法通过搜索网络找到好的 x86 网页。

0 投票
3 回答
3626 浏览

windows-mobile - Windows Mobile 6 CPU 架构?

Windows Mobile 6 是否可以在多个处理器架构上运行?还是只是 ARM X 代?我问是因为我想知道我是否可以为它编译一个本机二进制程序并确保它可以在所有 Windows Mobile 6 设备上运行。