CPU或微控制器的硬件微体系结构(x86,x86_64,ARM,...)。
我的目标是匹配由执行标量、有序 RISCV pro 的相应指令产生的所有管道值(处理器中微架构状态的所有信号)...
为什么 sstatus 和 mstatus 虽然是同一个寄存器的不同视图,但它们的寄存器地址不同?
sstatus 寄存器是 mstatus 寄存器的子集。 在简单的实现中,读取或写入 sstatus 中的任何字段相当于 读取或写入 ms... 中的同名字段...
根据Intel的手册,预取指令一般不会触发故障或异常,这与常规加载指令不同。 PREFETCH 向硬件提供提示;它确实...
我也遇到过和这个一样的问题。 L2毒是什么意思? 我使用的是AMD CPU。
我读过一篇关于低延迟开发的文章,如下。 “我们总是避免(相对)缓慢的语言功能,例如异常、内存分配和关键虚拟函数调用......
在计算机体系结构课上,我了解到汇编语言执行“if”语句时,涉及到分支预测策略的使用。此外,还强调...
我试图找出 x86 处理器在遇到存储条件指令时会做什么。例如,它是否会停止管道的前端并等待 ROB 缓冲区变为...
如何在 Apple M1 上的 Mac 操作系统中禁用硬件预取器?
在基于 Intel 的 Linux(或 macOS)中,我们可以通过使用 wrmsr 修改 0xa14 寄存器来禁用预取。 我读到在 ARM Cortex-A53 上,CPUACTLR_EL1 寄存器的 L1PCTL 部分可以设置为 0 来禁用...
嘿,我对编码相当陌生,我加入了编码俱乐部,因为我对不断发展的技术世界感兴趣。最近的主题是关于计算机体系结构,在小组中我们有......
想象一个处理器能够使用 128 字节 RAM 寻址 8 位范围(我知道这实际上小得离谱)。并且有一些 8 位设备寄存器映射到地址 100。为了
为什么我们在 MIPS 中将程序计数器增加 4 而不是 32?
在MIPS中,我知道每条指令PC都会增加4。这是因为该字位于 32 位边界(4 个字节)上。这对我来说很有意义,自然我们需要增加 PC b...
尝试实现 Tomasulo,我有一个完全关联的缓存(32 字节),块大小为 16 字节。缓存当前填充有a0、a1(各16b),LRU为a0。我正在使用分支预测,
我可以在不使用 android NDK 的情况下将多个架构的 apk 上传到 Google Play 商店吗?
我需要生成 2 个 apk,一个用于 x86,一个用于 ARM。我用不同版本的人行横道来做到这一点,它内部使用科尔多瓦。创建两个项目时我需要做的就是 ./cordova/...
我有一个关于 Neoverse N1 中 adds with shift (adds x3, x4, x5, lsl #32) 使用的管道的问题,特别是“adds x3, x4, x5, lsl #32”。 根据Neoverse N1软件优化(http...
第一个寄存器是RISC-V ISA中的硬件零。它用于许多情况,例如将零调用到另一个寄存器,以及跳转但不存储地址等。 然而,有很多可能性......
为什么mem_load_retired.l1_hit和mem_load_retired.l1_miss没有添加到加载总数中?
我正在研究缓存对 x86-64 CPU 性能的影响。我一直在使用 Linux 的 perf 来监控缓存命中/未命中率,特别是这些计数器: mem_inst_retired.all_loads
我知道CPI可以通过指令的时钟周期来计算。尽管我在这里陷入了僵局并且需要一些帮助。我正在尝试查找处理器的平均 CPI,其中 25% ...
8086微处理器内存疑问,是外部的,如果是的话,分段实际上是如何发生的
8086是一个16位微处理器,具有20位地址总线,这意味着它最多可以访问2^20字节的数据。所以我的问题是,如果内存存储在微处理器之外,那么
有关 DDR3 时序图中 MRS 命令和 NOP 行为的问题 [已关闭]
我目前正在研究DDR3内存并正在分析其时序图。 我对以红色突出显示的部分特别感兴趣,该部分与 MRS 命令有关。我有一个
x86_64。如何避免内存取消引用占用 390 个处理器周期而不是 3.6 个或最多 10 倍(36 个周期)而不是 100 倍
为了优化并发链表访问,我尝试对 x86_64 中取消引用所需的平均时间进行基准测试(我的特定处理器是 Ryzen)。 虽然我知道过去的美好时光...