2010-01-22 64 views
4

该公司拥有以惊人的速度运行的an interesting CPU。会模仿C还是内存太小?是否可以在GA144上运行仿真的C代码?

+2

哈,查克·摩尔还是踢!他不会喜欢你的想法。 – 2010-01-22 09:36:25

+0

[A C翻译](http://www.asu.ru/files/documents/00002991.pdf)可用于SEAforth40芯片。只需下载,将文件扩展名更改为.zip并解压缩。用户指南在这里:[C翻译者用户指南](http://www.asu.ru/files/documents/00002989.pdf)。如果您需要帮助,请询问:) – diver 2010-10-29 13:24:12

+1

我是如何到达这里并认为这是一个好主意的? – meawoppl 2013-09-27 07:41:01

回答

2

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

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

+0

uhhhhhhh,不是真的 – TheDoctor 2014-03-07 15:17:41

1

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

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

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

1

它可以做到,但是他们的解释器应该处理并行任务,负载分配等。如果用他们的Forth解释器,它可能是最好的。

0

您将需要使用外部存储器,但除此之外,它肯定是可行的,根据这white paper通过Greg Bailey

它不会是很难建立一个虚拟机支持C, 并有许多人和公司在美国ALO ne为他们建造这样一台机器并完成C语言 编译器和库的“端口”到虚拟机将只是他们以前做过的事情的一个重复。一旦完成了 ,GreenArray芯片就可以运行任何适合外部存储器的C程序,并且将满足通过生成的执行速度满足 的任何C应用程序要求。

- 摘自4页

他还讨论了该文件的实施eForth虚拟机。

1

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

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

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

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

+0

这些网址已死。花了一点时间追踪更新的链接:http://pl.eecs.berkeley.edu/projects/chlorophyll/和https://github.com/mangpo/chlorophyll – 2016-01-29 12:24:00

相关问题