是否可以仅从CPU缓存运行程序?

时间:2018-09-07 21:30:36

标签: caching architecture cpu

我知道这可能看起来很愚蠢,但请允许我问我,因为我真的很想知道是否可能。

我知道大多数常规的x86架构都不允许您访问CPU缓存,因为它通常对处理器完全透明。 However some ARM architectures seems to be more open to the idea

据我了解,您可以读取缓存标签以获取内存地址,然后访问DRAM中的该内存地址。无法保证DRAM中的地址数据没有在缓存中被修改,但这只是一个开始。

如果我错了,也请纠正我,但是如果执行了指令或正在使用数据并且高速缓存具有可用内存,则应将其存储在高速缓存中以备将来使用。

因此,如果这是真的,您应该能够通过简单地运行那些指令和数据来“添加”指令和数据,“添加”运行程序所需的所有指令。然后运行该程序,一切都应该被缓存命中。

不过有一件事。如果您修改了缓存中的任何数据,CPU将更新DRAM,这将大大增加延迟。

所以总结我的问题

  1. 授予CPU架构允许修改缓存(读/写),是否可能完全在缓存上执行程序?
  2. 是否可以通过从DRAM执行相同的指令来将程序的所有指令添加到高速缓存中?
  3. 如果缓存的容量足够大,是否有可能仅从缓存运行整个操作系统?
  4. 任何RISC架构都支持缓存修改吗?

0 个答案:

没有答案