有没有办法创建一个硬件实现的高级语言解释器?

问题描述 投票:4回答:3

一些随机的想法引起了我的注意,我无法理解。我在想,因为现代处理器只是不同类型汇编语言的解释器,无论如何都要创建一些直接用硬件实现的高级语言解释器,使用一些HDL甚至直接使用逻辑门设计?同时我在想为什么还没有这样做,我现在想到的一些原因是:

  • 理论上的原因 - 理论上是不可能的,虽然在我看来这是可能的,因为我们已经拥有的cpus或者我们所谈论的机器只是图灵机的一个变种,所以它们的性质没有区别,但我不是100对此确定无疑。
  • 设计复杂性 - 创建这样一台复杂的机器通常太困难了。
  • 速度缺陷 - 即使它设计和实施得当,它仍然无法获胜,因为它们的速度将是它的缺点。

我对这个问题一般都很好奇。

compiler-construction programming-languages hardware interpreter hdl
3个回答
3
投票

曾经听说过LISP machinesSymbolics公司。

我知道答案很简短,主要是链接,但答案是自成一体的。


2
投票

这已经完成了The Java processor

这不是一个非常复杂的指令集计算机(VCISC),它导致物理上大的处理器。该语言的某些部分不像其他部分那样频繁使用,这导致很少使用处理器部分,浪费硅片面积。

处理器的较大芯片尺寸会增加产量损失,从而增加最终用户的价格。这种经济学有利于更小的简单处理器。

低功耗处理器设计倾向于支持RISC而不是CISC架构。像Deep Blue这样的超级计算机使用了许多RISC核心。大多数移动通信设备使用ARM RISC内核。


2
投票

Burroughs有着名的“硬件中的Algol”(see B5500)

鲜为人知的是Burroughs美丽的 B1700,它让每个进程定义微代码来解释进程代码使用的HLL。因此,每个进程可以有不同的HLL指令集;硬件交换微码设置在上下文切换上。

RISC世界的一个教训是,构建传统指令集更经济(并且您获得更大的市场),并将您的语言代码编译为这些指令。 DEC VAX尝试使用特定于语言的指令;事实证明,使用更传统的VAX指令而不是特定指令更快。

如果你坚持,使用FPGA实现HLL指令集可能相对容易。 (我可以想象这是一个EE设计课程的研究生项目)。它与x86或其他现代RISC芯片的性能竞争力不大。

© www.soinside.com 2019 - 2024. All rights reserved.