Zig*_*ggy 22 memory linux embedded cache memory-management
这可能是一个愚蠢的问题,可能是误解的结果。我现在正在研究 CPU,尤其是内存。我只是在读 SRAM 比 DRAM 快多少但更贵。SRAM 非常昂贵:我购物了一点,发现了一个 16 MB 的电池供电的 SRAM 卡,价格约为 400 美元。
最近一位朋友提到他一直在 RAM 中运行 Puppy Linux,而且速度很快。不过,我注意到,Linux 的小内核甚至可以更小……小至 8 MB!这让我想到:我们可以在 SRAM 中运行 Linux 吗?这个问题甚至格式正确吗?
谷歌搜索这个问题被证明是无效的,但它提出了更多的问题。可以在 L3 缓存中运行 Linux 吗?英特尔酷睿 i7 可以有一个足以容纳 8MB 的 L3 高速缓存……但我是否犯了绝对错误?这与“嵌入式”Linux 有什么区别?
这就是问题所在:我们可以在 SRAM 或 L3 缓存中运行 Linux 吗?有什么更快的吗?我们的 Linux 能有多快!?
Hen*_*nes 20
Linux 或任何其他操作系统不知道 RAM 是如何工作的。只要内存控制器配置正确(例如为非 SRAM 设置刷新率),那么操作系统并不关心它是否运行在普通动态内存(普通 RAM)、快速页面模式 RAM(FP RAM,来自 C64-ish次)、扩展数据输出模式 RAM (EDO)、同步 RAM (SDRAM)、任何双倍数据速率 SDRAMS (DDR 1/2/3) 等等。
所有这些都支持从随机位置读取和写入。一切都会奏效。
现在缓存有点不同。您不必写入内容即可更改内容。那会碍事。不过还是有点用的。我知道在正确配置内存控制器之前,coreboot 在启动期间使用缓存作为一种内存。(有关详细信息,请查看 FOSDEM 2011 期间 coreboot 演讲中的视频)。
所以理论上是的,你可以使用它。
但是:对于实际任务,具有 1 GB“常规”“中速”内存的系统将比仅使用几 MB 超高速内存的系统性能要好得多。这意味着您有三个选择:
除了在极少数情况下,最后一个是不明智的。
是的,您可以,而且这实际上是自动完成的。RAM 中最常用的部分被复制到缓存中。如果您的总 RAM 使用量小于您的缓存大小(如您所想),则现有的缓存机制将复制 RAM 中的所有内容。
将缓存复制回正常 RAM 的唯一时间是 PC 进入 S3 睡眠模式时。这是必要的,因为缓存在 S3 模式下断电。
| 归档时间: |
|
| 查看次数: |
5032 次 |
| 最近记录: |