首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多核Forth,有吗?

多核Forth,有吗?
EN

Stack Overflow用户
提问于 2011-04-11 15:46:44
回答 4查看 3.7K关注 0票数 9

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

EN

回答 4

Stack Overflow用户

发布于 2011-08-24 17:44:31

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

它在一块芯片上集成了144台小型机(而且没有时钟!)以获得高效率。

编辑:实际上,colorForth是用于芯片的集成开发环境。在芯片上运行的(颜色)Forth的味道被称为arrayForth。

票数 6
EN

Stack Overflow用户

发布于 2011-04-11 16:25:12

很明显。我不太了解它,参见 (发布于2008-09-24)。

您希望“充分利用”多核处理器。多核编程的理由是你需要性能(你可以只用一个CPU进行多线程编程)。

在这种情况下,我不认为我会使用Forth,因为它基本上是一个解释器(是的,一个相当快的解释器)。更糟糕的是,对于现代处理器来说,每一个Forth字调度都是一次间接调用,很可能是流水线中断,这确实会严重影响处理器的性能,而且Forth字的执行是在堆栈元素而不是寄存器上操作的。因此,通过使用Forth,您放弃了与C或C++甚至Fortran相比的计算优势。这意味着您几乎必须在Forth中使用多个CPU,才能与更传统的编码和编译语言的性能相匹配。为什么要从劣势开始呢?

那些想用Python做MP的家伙出于同样的原因困扰着我。

票数 3
EN

Stack Overflow用户

发布于 2011-06-30 09:42:55

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

  1. Forth是自1958年以来一直由Chuck Moore使用的个人系统
  2. Forth是一种语言,编译器和操作系统,一个交互式调试器(在那里你可以得到它被“解释”的想法)当你考虑到整个世界只需要2个寄存器,算术逻辑单元和一个程序计数器来运行时,裸机作为Chuck的目的Forth系统会变得更好。在Forth中编程与你的操作系统可能使用的东西是完全不同的,所以我认为在判断什么是什么之前,你真的应该看看“裸机”,甚至本机(是的,有本机堆栈机器处理器) Forth。
  3. 正是这些“裸机”Forth实现被使用了几十年,今天在嵌入式设备中仍然高度使用,你的桌面操作系统可能永远不会被使用。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5618297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档