CPU或微控制器的硬件微体系结构(x86,x86_64,ARM,...)。
为什么在多个线程上运行时快速内存写入比在单个线程上运行时花费更多时间?
我有一个程序,它分配一些内存(2亿个整数),进行一些快速计算,然后将数据写入分配的内存。 当在单线程上运行时,该过程大约需要 1 ...
我有一个 risc v 多周期核心 picorv32,每条指令都经过 3 个阶段获取、加载寄存器和执行,这是三个主要的其他操作也在执行,所以我想要管道...
有什么方法可以影响编写 C# 代码的指令级并行性吗?换句话说,有没有一种方法可以“帮助”编译器生成最能利用 ILP 的代码?我问这个...
根据我的理解,最近的架构中引入了 syscall/sysenter 指令及其同伴,以作为进入内核的更短路径。但我不明白它是如何实现的...
我正在用cpp制作32位MIPS模拟器只是为了学习。 但我无法理解基准程序如何在模拟器上运行。 另外,我不知道基准程序的代码是如何构造的。 钙...
我目前正在调查我的 CA 课程之前的一些考试。 有一个问题让我感到非常困惑,这是要使用的数据: 考虑 32 位地址(标签 20 位,...
为什么 GCC 再次使用 movzbl 对已经零扩展的寄存器进行零扩展?
我想知道为什么这段代码: size_t hash_word(const char* c, size_t 大小) { size_t 哈希 = uchar(c[0]); 哈希 ^= uchar(c[大小 - 1]); 哈希 ^= uchar(c[大小 - 2]); 返回哈希值; } 当
我想知道为什么这段代码: size_t hash_word(const char* c, size_t 大小) { size_t 哈希 = uchar(c[0]); 哈希 ^= uchar(c[大小 - 1]); 哈希 ^= uchar(c[大小 - 2]); 返回哈希值; } 当
假设我有一个具有多个线程的应用程序需要访问一些共享数据。 我知道可以使用互斥锁(关键部分)来确保一次最多有一个线程可以访问
为了评估嵌入式架构的性能增益,我尝试搜索可以在 Core 2 的单个内核上执行的浮点乘法的数量,并且...
说,在下面的拆解说明中: 磅: ldaxr x8,[x9] 添加 x8, x8, #1 stlxr wip0, x8, [x9] cbnz wip0, lbl wip0是什么?
我目前使用的是 Windows 8 Pro 操作系统,处理器为:Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz,RAM 8 GB。 我想知道我的 S 有多少个物理处理器和多少个实际核心...
我需要一些帮助来理解 GPU 内核与 CPU 内核的概念,以便进行并行计算。 当谈到 CPU 的核心时,它看起来非常简单。我有一个苏...
已经有人问为什么 StoreLoad 屏障很昂贵,答案解释说它很昂贵,因为 StoreLoad 屏障阻塞了 Load,直到(可能很昂贵)Store
有没有办法检查 Docker 注册表中的清单是否是多架构的?
当您从 Docker 注册表中提取多架构清单时,它会自动选择与您的计算机架构相匹配的单个映像并提取该映像(如果可能);从c...
考虑在伪汇编中经过昂贵的计算后寄存器的经典重用: r2 = cos(r1) *(r3) = r2 r2 = r5 + r6 *(r4) = r2 为了能够充分使用算术单位,
像 F 这样的 RISC-V 扩展到底是如何在流水线处理器中实现的
我知道典型的浮点运算比典型的整数运算要慢得多,所以我不太确定哪种方法(es?)适合实现 RV32IF 处理器...
我目前正在阅读两本:帕特森的《计算机组织和设计》和亨尼西的《计算机体系结构:定量方法》,并且想知道如何转发。 书上是这样的
我正在阅读 Vijay Nagarajan 等人撰写的《内存一致性和缓存一致性入门》第二版。我对他们对 TSO 的正式定义有些困惑。它们分为三个部分
嗨我的问题很简单: 如果您有 4 字节指令并且您的操作系统使用分页。是否有可能进行多次地址转换来获取这个 4 字节指令...