我很惊讶没有人提到 Java 硬件。它应该是我们通过创建更高级别的处理器来进一步发展硬件的灵感。
我刚刚发现了另一个名为“ Pycorn ”的项目。
如果有一个 Python 字节码处理器,那么用 100% Python 制作一个快速的操作系统是可行的。处理器可以实现整个 CPython 字节码,或者任何与 Python 语言兼容的东西(但不是 C 模块!)。处理器必须处理引用计数、类和对象。dicts 的本机散列非常有用,Python 目前在软件中需要的所有复杂数据结构操作都应该完全在硬件中完成。不会有指针的概念,我认为这是构建这样一个处理器的主要动机,因为不可能破坏堆栈。
一切都将是对象!内核本身会调用内存对象上的方法,尽管您不需要太多接触它,因为无论如何硬件都会处理分配和垃圾收集。中断处理程序可以简单地设置为 python 方法。MSR、高速缓存、调试寄存器和 I/O 端口都是对象。
这里有一个关于在 FPGA 上实现 Python 的有趣讨论。
另一方面,(与非 Python 处理器上的 Python O/S 相关)对于声称您无法制作 Pythonic 内联汇编的人来说,仅从抽象中发出汇编非常简单,例如:
asm = MetaASM()
asm.r1 = 1234
asm.r2 = r1 + 5
asm.io.out(r1)
您可以在必要时切换到特定于架构的程序集以满足性能需求或特定于架构的操作/寄存器:
asm = ASM("IA-32")
asm.xor(asm.eax, asm.eax)
asm.cr0 = asm.eax
asm.invtlb
asm.fs.0x00123456 = asm.eax
asm.al = 123
asm.dword.ptr.eax = 1234 # mov dword ptr [eax], 1234
asm.push(asm.eax)
CorePy对这个话题产生了兴趣。