Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么在展开的 ADD 循环内重新初始化寄存器会使其运行速度更快,即使循环内有更多指令?
我有以下代码 include
performance
Assembly
x86
cpuarchitecture
我们可以拥有一台只用寄存器作为内存的计算机吗? [关闭]
Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 寄存器是计算机中最快的存储器 那么如果我们想构建一台只有寄存器甚至没有缓存的计算机 可能吗 我什至考虑用寄存器代替磁盘 尽管它们本质上是易
memory
cpuarchitecture
cpuregisters
添加冗余赋值可以在未经优化的情况下编译时加快代码速度
我发现一个有趣的现象 include
performance
Assembly
x86
cpuarchitecture
microarchitecture
缓存一致性是否始终可以防止读取过时的值?失效队列允许吗?
在 MESI 协议中 仅当将缓存行保持在独占 修改状态时才写入缓存行 要获取独占状态 您可以向持有同一高速缓存行的所有核心发送无效请求 但是是否存在一种微架构 其中某些内核会在实际使缓存线无效之前做出确认响应 如果确实如此 那不是违反了缓存
caching
cpuarchitecture
cpucache
memorybarriers
MESI
我们如何计算这段代码片段中缓存的读取/未命中次数?
鉴于我目前正在学习的这本教科书中的代码片段 Randal E Bryant David R O Hallaron 计算机系统 程序员的视角 第 3 版 2016 年 Pearson 全球版 因此本书的练习可能是错误的 for i 31 i
caching
computerscience
cpuarchitecture
cpucache
如何在 icarus verilog 中包含文件?
我知道基本的 include filename v 命令 但是 我试图包含另一个文件夹中的模块 现在 该模块还包括同一文件夹中存在的其他模块 但是 当我尝试在最顶层运行该模块时 出现错误 C Users Dell Desktop MIPS
MIPS
verilog
cpuarchitecture
iverilog
icarus
为什么如果内存组织为字,则程序计数器加 1;如果内存组织为字节,则程序计数器加 2?
如果在计算机中一条指令是 16 位 并且如果存储器被组织为 16 位字 则通过在当前指令的地址中加 1 来计算下一条指令的地址 如果内存是按字节组织的 可以单独寻址 那么我们需要在当前指令地址上加二 得到顺序执行的下一条指令的地址 为什么会
Assembly
memory
cpuarchitecture
没有 FPU 的处理器中的浮点计算
是否可以在没有浮点单元的嵌入式处理器中执行浮点运算 是的 您只需要在软件中完成即可 你的编译器可能会提供支持 http gcc gnu org onlinedocs gccint Soft float library routines ht
c
operatingsystem
cpuarchitecture
FPU
为什么我的空循环在 Intel Skylake CPU 上作为函数调用时运行速度是原来的两倍?
我正在运行一些测试来比较 C 和 Java 并遇到了一些有趣的事情 在 main 调用的函数中 而不是在 main 本身中 运行具有优化级别 1 O1 的完全相同的基准代码 导致性能大约翻倍 我正在打印 test t 的大小 以毫无疑问地验
c
performance
Assembly
x8664
cpuarchitecture
Intel 64 和 IA-32 上的 MESI 有何意义
MESI 的要点是保留共享内存系统的概念 然而 对于存储缓冲区 事情就变得复杂了 一旦数据到达 MESI 实现的缓存 下游内存就会保持一致 然而 在此之前 每个核心可能对内存位置 X 中的内容存在分歧 具体取决于每个核心的本地存储缓冲区中的
caching
concurrency
x86
cpuarchitecture
MESI
为什么在强度降低乘法和循环进位加法之后,这段代码的执行速度会变慢?
我正在读书阿格纳 雾 https en wikipedia org wiki Agner Fog s 优化手册 https en wikipedia org wiki Agner Fog Optimization 我遇到了这个例子 doub
Assembly
Optimization
x8664
cpuarchitecture
SIMD
CPU是如何做减法的?
我有一些基本的疑问 但每次我坐下来尝试面试问题时 这些问题和我的疑问就会出现 假设 A 5 B 2 假设A和B都是4字节 那么CPU是怎么做的呢 A B添加 我知道 A 的符号位 MSB 为 0 表示正值 B 的符号位为 1 表示负整数 现
Math
CPU
cpuarchitecture
subtraction
alu
Verilog 双向握手示例
我正在完成一个项目 要求是处理器内部功能单元之间的双向握手 我知道它是什么 但是有没有任何 标准 或一个简单的例子 我唯一能想到的就是两个单元之间 当它们之间有一条数据线并且当 X 发送到 Y 时 会给出一个单独的 发送 信号 当 Y 接收
verilog
processor
cpuarchitecture
当我打开在 Xcode 4 中创建的 Google 地图项目时,Xcode 5 会警告我的架构设置
我刚刚更新到新发布的 Xcode 5 我正在开发一个使用 Google 地图 iOS SDK 的 iOS 应用程序 当我在 Xcode 4 中开发时 我改变了我的Architectures在我的项目设置中进行设置 按照 Google 的步骤
ios
xcode
Linker
cpuarchitecture
googlemapssdkios
为什么x86分页没有特权环的概念?
早在 1982 年 当 Intel 发布 80286 时 他们在分段方案中添加了 4 个特权级别 环 0 3 由全局描述符表 GDT 和局部描述符表 LDT 中的 2 位指定 在 80386 处理器中 Intel 添加了分页功能 但令人惊讶
x86
operatingsystem
cpuarchitecture
Paging
privileges
在 x86 Intel VT-X 非根模式下,是否可以在每个指令边界传递中断?
除了不将中断传送到虚拟处理器的某些正常指定条件 cli if 0 等 之外 客户机中的所有指令实际上都是可中断的吗 也就是说 当传入的硬件中断先传递给 LAPIC 然后传递给处理器时 据说会发生一些内部魔法 将其转换为虚拟中断给来宾 使用虚
x86
intel
interrupt
cpuarchitecture
microarchitecture
CPU缓存:两个地址之间的距离是否需要小于8字节才能具有缓存优势?
这似乎是一个奇怪的问题 假设缓存行的大小为 64 字节 此外 假设 L1 L2 L3 具有相同的缓存行大小 this https stackoverflow com a 15333156 8385554帖子说英特尔酷睿 i7 就是这种情况
caching
cpuarchitecture
cpucache
现代缓存中的方式预测
我们知道 就缓存命中时间而言 直接映射缓存优于集合关联缓存 因为不涉及特定标签的搜索 另一方面 组关联缓存通常比直接映射缓存具有更好的命中率 我读到 现代处理器试图通过使用一种称为路径预测的技术来结合两者的优点 他们预测给定集合中最有可能发
caching
cpuarchitecture
processor
cpucache
microarchitecture
哪种架构称为非均匀内存访问(NUMA)?
根据wiki http en wikipedia org wiki Non uniform memory access 非均匀内存访问 NUMA 是一种用于多处理的计算机内存设计 其中内存访问时间取决于相对于处理器的内存位置 但尚不清楚它是
CPU
intel
cpuarchitecture
NUMA
什么是微编码指令?
我看过很多参考微编码指令的文献 这些是什么以及为什么使用它们 CPU 读取机器代码并将其解码为内部控制信号 将正确的数据发送到正确的执行单元 大多数指令映射到一个内部操作 并且可以直接解码 例如 在 x86 上 add eax edx只是将
Assembly
CPU
cpuarchitecture
microcoding
1
2
3
4
5
6
...13
»