• 请不要在回答技术问题时复制粘贴 AI 生成的内容
acgt
V2EX  ›  程序员

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

  •  
  •   acgt · Apr 25, 2023 · 6166 views
    This topic created in 1289 days ago, the information mentioned may be changed or developed.

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

    31 replies  •  2023-04-25 18:07:47 +08:00
    trn4
    trn4
    Apr 25, 2023❤️4
    1
    呃,一般 CPU 的缓存都是不能直接操作的,对于 CPU 来说访问缓存是透明的。
    Quarter
    Quarter
    Apr 25, 2023 via iPhone
    2
    好像没什么必要👀
    shakoon
    shakoon
    Apr 25, 2023
    3
    正如 1 楼所说,cpu cache 的读写是比指令集还低层级的操作,这事除了 cpu 厂家可能没人办得到
    jwangkun
    jwangkun
    Apr 25, 2023
    4
    刚看到一个视频,把系统装在内存里,已经实现了,高达 2G 的 IO
    DawnMoon
    DawnMoon
    Apr 25, 2023
    5
    @xiadong1994 有部分架构的三级缓存是可以像内存一样使用的(似乎是某些 ARM ,记不清了)

    但我还是想吐槽 OP 的标题党,我还以为他实现了这种功能呢。
    twor2
    twor2
    Apr 25, 2023
    6
    改个名字就能实现
    把 CPU+内存封装在一起,就叫叫 CPU
    yyzh
    yyzh
    Apr 25, 2023 via Android
    7
    @twor2 GPU 就是这样干的 HBM 和核心放一起.
    unnamedhao
    unnamedhao
    Apr 25, 2023 via iPhone
    8
    回忆一下,为何当初冯大爷要设计分级呢?
    lhbc
    lhbc
    Apr 25, 2023 via Android
    9
    你什么业务只跑 OS ?应用不耗 CPU 吗?
    lisxour
    lisxour
    Apr 25, 2023
    10
    cpu 缓存你就别想了,但是你可以用内存弄虚拟盘,把系统装进去
    sadfQED2
    sadfQED2
    Apr 25, 2023 via Android
    11
    不可能,
    第一是 cpu cache 不是你能操作
    第二,就算你能操作,cpu cache 跟内存不一样,运行逻辑都不一样,你放进去怎么用啊
    banmuyutian
    banmuyutian
    Apr 25, 2023
    12
    确实是疯了,就算能操作 cpu cache 你往里面存满那计算机也不用运行了,总不能说人不吃饭不行就全身长满消化系统吧
    cxh116
    cxh116
    Apr 25, 2023 via Android
    13
    单片机。
    israinbow
    israinbow
    Apr 25, 2023 via Android
    14
    imtel 的新架构引入了 l4 缓存,兴许能让内核加载进去。
    LXGMAX
    LXGMAX
    Apr 25, 2023
    15
    已经在挖沙子准备做脸盆这么大的 SRAM 块了
    Symbo1ic
    Symbo1ic
    Apr 25, 2023
    16
    这种情况感觉还是看平台吧,还得看 cpu 组成。首先容量得够,还得保证 os 的任何一部分代码进 cache 不会引起强制失效,这玩意都是 cpu 的事情,对我们程序员是透明的。
    wtsamuel
    wtsamuel
    Apr 25, 2023
    17
    你这是嫌 cpu 不够贵, 是吧
    zhaoyta
    zhaoyta
    Apr 25, 2023
    18
    烧多少晶体管进去
    clannadmk
    clannadmk
    Apr 25, 2023
    19
    阿里 UC 震惊部每年输送到社会的人 cai
    shijingshijing
    shijingshijing
    Apr 25, 2023
    20
    CPU 内部 Cache 用的 SRAM ,一个 Cell 需要四个晶体管实现;内存用的 DRAM ,一个 Cell 只需要一个电容,这就注定了 Cache 再怎么做都赶不上 DRAM ,此外 SRAM 的功耗和发热比 DRAM 要高多了,即使 DRAM 需要定时刷新。
    iamqk
    iamqk
    Apr 25, 2023
    21
    @xiadong1994 只要系统足够小,就可以把数据永远保留在缓存😏
    Nazz
    Nazz
    Apr 25, 2023
    22
    x3d 能加载进去吗
    idealhs
    idealhs
    Apr 25, 2023
    23
    符合我对非计算机专业的刻板印象
    artnowben
    artnowben
    Apr 25, 2023
    24
    性能是一方面,操作系统要提供易用的接口
    duke807
    duke807
    Apr 25, 2023 via Android
    25
    可以的,我亲自试过

    平台是 ingenic xburst mips cpu

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

    rom 代码或者由 rom 加载到很小的 sram 的第一阶段启动代码,会访问一下指定且连续的 ddr 内存地址,虽然 ddr 还没初始化,但是 cache line 会因此移动到该地址区域,接下来读写这一段 ddr 内存,实际上都是在读写 cache ,要注意的是,千万不能访问超出 cache 大小的 ddr 内存区域就没事
    acidsweet
    acidsweet
    Apr 25, 2023
    26
    一个最大的阻碍:缓存是 core 独享或者是 cluster 独享的,咋存系统
    CQdake
    CQdake
    Apr 25, 2023
    27
    CPU 缓存不是只有几 M 大小吗?怎么运行系统?
    cs8425
    cs8425
    Apr 25, 2023
    28
    广义上的"系统"还是有的
    @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
    darkengine
    Apr 25, 2023
    29
    把 CPU 缓存搞得跟现在主流内存那么大是吧,带 16GB cache 的 CPU 不知道价格多高了。
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Apr 25, 2023
    30
    缓存做不大的,小了才能快
    lakehylia
    lakehylia
    Apr 25, 2023
    31
    不行,存储的延时跟存储与 cpu 的距离有关。负距离的只能是 L1 / L2 ,内存都要靠边站,进不去。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4949 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 143ms · UTC 07:18 · PVG 15:18 · LAX 23:18 · JFK 02:18
    ♥ Do have faith in what you're doing.