Multicore Forth,有吗?

时间:2011-04-11 07:46:44

标签: multicore forth

是否存在允许您充分利用多核处理器的Forth实现?

4 个答案:

答案 0 :(得分:4)

我最近意识到colorForth这是摩尔先生的最新发明(不符合ANS)并用于他的新多核chips

它在单个芯片上安装了144台小型计算机(没有时钟!),效率很高。

编辑: 实际上,colorForth是用于芯片的IDE。在芯片上运行的(颜色)Forth的味道称为arrayForth。

答案 1 :(得分:3)

有一些Forth实现在裸机上运行,​​可以编译机器代码,如果你在开始输入之前做了一些研究,你会看到事实:

  1. Forth是Chuck Moore自1958年以来使用的个人系统
  2. Forth是一种语言,一种编译器和操作系统,一种交互式调试器(在这里你可以理解它被“解释”)当你考虑到这种情况时,一个像金属一样的Chuck预期的Forth系统会变得更好整个WORLD只需要2个寄存器,ALU和一个程序计数器就可以运行。 Forth中的编程与您的操作系统可能产生的东西完全不同,所以我认为应该真正看看“裸机”甚至原生(是的,有原生堆栈机器处理器)在判断什么是什么之前。
  3. 正是这些“裸机”Forth实现几十年来一直使用,并且今天仍然在您的桌面操作系统可能永远不会使用的嵌入式设备中得到高度使用。

答案 2 :(得分:2)

显然。我对此并不了解,请参阅 Multicore processors, FORTH programming, and the relationship between software and silicon (2008-09-24发布)。

您希望充分利用多核处理器。多核编程的借口是你需要性能(你可以用一个CPU做多线程)。

在这种情况下,我认为我不会使用Forth,因为它基本上是一个解释器(是的,一个相当快的解释器)。 更糟糕的是,对于现代处理器,每个Forth字调度都是间接调用,可能是管道中断,这实际上会扼杀处理器性能,而Forth字执行则在堆栈元素而不是寄存器上运行。因此,通过使用Forth,与C或C ++甚至Fortran相比,您放弃了计算优势。这意味着您几乎必须使用多个具有Forth的CPU来匹配传统编码和编译语言的性能。为什么从缺点开始?

那些想用Python做MP的人因为同样的原因困扰我。

答案 3 :(得分:2)

使用iForth可以实现多核Forth编程。在Win7,Linux和OS X上有32/64位实现.iForth生成本机代码:http://home.iae.nl/users/mhx/i4faq.html