4

This company have an interesting CPU that run at an amazing speed. Will it be possible to emulate C or is the memory too small?

4

6 回答 6

5

SEAforth40芯片有C翻译器(GA144芯片以前的版本)

演示文稿: http ://www.asu.ru/files/documents/00002990.pdf

于 2010-10-29T13:12:39.583 回答
2

对指令集的粗略一瞥表明“colorForth”可以被认为是一种简单的机器语言。鉴于此,可以编写一个 C 编译器,将其编译为 colorForth 作为其目标指令集。

当然,首先在 colorForth 中编写代码可能更容易。

于 2010-01-22T06:51:30.243 回答
1

可以这样做,但他们的解释器应该处理并行任务、负载分配等。可能最好只使用他们的 Forth 解释器。

于 2010-01-22T08:43:38.080 回答
1

叶绿素有一些普遍感兴趣的想法。我也恰好看起来类似于 C:

我们开发了 Chlorophyll,这是一种用于 GreenArrays GA144 的综合辅助编程模型和编译器,这是一种极简的低功耗空间架构,需要将程序划分为不超过 256 条指令和 64 字数据的片段。该处理器的能效是其竞争对手的 100 倍,但目前只能使用基于堆栈的低级语言进行编程。叶绿素编程模型允许程序员通过指定数据和计算的部分分区来提供人类洞察力。Chlorophyll 编译器依赖于综合,回避了开发经典优化的需要,考虑到不寻常的架构,这可能具有挑战性。为了将综合扩展到实际问题,我们将编译分解为更小的综合子问题——分区、布局、和代码生成。我们表明,合成的程序比高度优化的专家编写的程序慢不超过 65%,并且比我们的编译器的启发式、非合成版本生成的程序快。

http://www.eecs.berkeley.edu/~mangpo/www/talks/1311_forthday_handout.pdf

http://www.eecs.berkeley.edu/~nishant/papers/Chlorophyll.pdf

于 2014-10-01T21:10:59.690 回答
1

从表面上看,如果有人写了一个可以输出机器码的编译器(33条指令,不太复杂),你不需要模拟C,你可以直接编译它。

当然,这将是非常有限的,因为看起来每个芯片都有少量的内部 RAM(64 个字不是很多)。其中一个内核连接了一个 18 位内存地址端口,因此您可以拥有 256MB 的外部 RAM,但只能由其中一个内核直接访问,然后需要将其传递给另一个内核.

不同的内核可能用于不同的功能,但这会使编译器相当复杂。

于 2010-01-22T07:18:17.217 回答
0

根据Greg Bailey的这份白皮书,您需要使用外部存储器,但除此之外,这当然是可行的:

构建支持 C 的虚拟机并不难,仅在美国就有很多人和公司,构建这样的机器并完成 C 语言编译器和库到虚拟机的“移植”很简单重复他们以前做过的事情。完成此操作后,GreenArray 芯片可以运行任何适合外部存储器的 C 程序,并将满足由此产生的执行速度满足的任何 C 应用程序要求。

——摘自第 4 页

他还在该论文中讨论了他们对 eForth 虚拟机的实现。

于 2011-08-24T09:57:46.163 回答