【问题标题】:Minimum processor capability to boot Linux启动 Linux 的最低处理器能力
【发布时间】:2020-01-29 22:10:45
【问题描述】:

我正在设计定制处理器。它是一个流水线五级处理器。最终,我们希望在其上启动 Linux。为了启动像 Linux 这样的成熟操作系统,定制处理器必须具备的最低功能是什么?

请注意,此时我并没有询问将 Linux 移植到我的自定义处理器所需的步骤。在这个阶段,我只想知道我的处理器必须支持哪些功能才能启动像 Linux 这样的操作系统。

【问题讨论】:

    标签: linux-kernel operating-system linux-device-driver cpu-architecture instruction-set


    【解决方案1】:

    虚拟内存(分页)和内核与用户权限级别是玩具 CPU 可能没有的主要级别。我认为有些 Linux 端口没有这些端口,比如 8086 或 286(不是 i386),但这些都不是完全正确的 Linux。

    当然还有一个定时器中断,并且可能是至少 32 位整数的原子加载/存储。可能还有原子测试和设置,也可能是其他 RMW 原语,或者至少是 LL/SC。可能如果您的 ISA 只有 16 位,那么您可能只使用 16 位原子性,因为这仍然是指针宽度,但 IDK 是否将依赖于 32 位 volatile 存储或加载是原子的。我认为 Linux 可以使用 SeqLock 从定时器中断发布 64 位或 128 位时间戳更新,诸如此类。

    (至于移植,您需要一个可以针对您的 ISA 的 GCC 兼容的 C 编译器,以及一些手写的 asm。以及某种可以用作控制台的驱动程序,例如串行端口。 )

    【讨论】:

    • ARM7 没有 MMU,它不妨碍在其上运行 Linux。基本上任何微处理器(甚至 8 位)都能够运行 Linux,问题是用户需要哪些功能。问题中没有列出这些要求。
    猜你喜欢
    • 1970-01-01
    • 2016-02-12
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多