指令在内存中的位置不清楚

问题描述 投票:-1回答:1

如果我要运行二进制可执行程序,是否所有指令都必须存储在指令缓存中?指令高速缓存是L1,L2或L3 CPU高速缓存之一中的某个位置,还是不同的实体?我不太清楚运行可执行文件时发生的物理情况,任何清晰度都将不胜感激。

hardware
1个回答
0
投票

指令永久存储在大容量存储设备上的二进制可执行文件中。执行程序时,可执行文件的内容将加载到主存储器(RAM)中。一般来说,CPU和RAM之间的所有流量都通过高速缓存;可执行文件中包含的指令也是如此。

高速缓存可以包含指令,数据或两者。对于Intel CPU,有两个L1高速缓存:L1d用于数据,L1i用于指令;而L2和L3是共享的。下图非常清楚地说明了这一点:

Cache hierarchy

Image source

© www.soinside.com 2019 - 2024. All rights reserved.