小编BMC*_*BMC的帖子

硬件是否将多个代码操作合并为一个物理CPU操作?

我读过一篇2006年的文章,关于CPU如何在整个l1缓存行上进行操作,即使在你只需要用l1行包含的一小部分内容做的事情的情况下(例如,加载整个l1行来写入布尔值)变量显然是矫枉过正的).本文通过以l1缓存友好的方式管理内存来鼓励优化.

假设我有两个int恰好在内存中连续的变量,在我的代码中,我连续写入两个变量.

硬件是否将我的两个代码操作合并到单个l1行上的一个物理操作中(授予CPU具有足以容纳两个变量的l1高速缓存行),或者不是?

有没有办法在C++或C中向CPU提出这样的建议?

如果硬件没有以任何方式进行整合,那么如果在代码中实现这样的东西,你认为它可以产生更好的性能吗?分配一个大小为l1行的内存块并用尽可能多的热数据变量填充它?

c c++ optimization consolidation cpu-cache

3
推荐指数
1
解决办法
149
查看次数

标签 统计

c ×1

c++ ×1

consolidation ×1

cpu-cache ×1

optimization ×1