疯了!把系统完全加载入 cpu 缓存,吊打 ramos

2023-04-25 02:07:06 +08:00
 acgt

请问这个设想有实现的吗? 只要功率足够、散热足够就可以一直稳定运行下去???

4574 次点击
所在节点    程序员
31 条回复
iamqk
2023-04-25 10:05:17 +08:00
@xiadong1994 只要系统足够小,就可以把数据永远保留在缓存😏
Nazz
2023-04-25 10:23:36 +08:00
x3d 能加载进去吗
idealhs
2023-04-25 10:26:39 +08:00
符合我对非计算机专业的刻板印象
artnowben
2023-04-25 10:31:23 +08:00
性能是一方面,操作系统要提供易用的接口
duke807
2023-04-25 10:49:19 +08:00
可以的,我亲自试过

平台是 ingenic xburst mips cpu

系统启动的时候,ddr 还没有初始化,所以不能使用

rom 代码或者由 rom 加载到很小的 sram 的第一阶段启动代码,会访问一下指定且连续的 ddr 内存地址,虽然 ddr 还没初始化,但是 cache line 会因此移动到该地址区域,接下来读写这一段 ddr 内存,实际上都是在读写 cache ,要注意的是,千万不能访问超出 cache 大小的 ddr 内存区域就没事
acidsweet
2023-04-25 11:14:02 +08:00
一个最大的阻碍:缓存是 core 独享或者是 cluster 独享的,咋存系统
CQdake
2023-04-25 11:17:06 +08:00
CPU 缓存不是只有几 M 大小吗?怎么运行系统?
cs8425
2023-04-25 11:29:31 +08:00
广义上的"系统"还是有的
@duke807 #25 提到的应该类似这种: CAR: Using Cache as RAM in LinuxBIOS

另外 microkernel 是很有可能全部塞进 cache 的
seL4 在 64-bit RISC-V 上只有 138kB
https://docs.sel4.systems/projects/sel4/frequently-asked-questions.html#what-is-the-size-of-sel4
darkengine
2023-04-25 12:37:35 +08:00
把 CPU 缓存搞得跟现在主流内存那么大是吧,带 16GB cache 的 CPU 不知道价格多高了。
mxT52CRuqR6o5
2023-04-25 12:39:10 +08:00
缓存做不大的,小了才能快
lakehylia
2023-04-25 18:07:47 +08:00
不行,存储的延时跟存储与 cpu 的距离有关。负距离的只能是 L1 / L2 ,内存都要靠边站,进不去。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/935211

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX