<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi All,</div><div><br></div><div>Some 30-odd years ago Chuck Moore, developer of Forth, turned his attention to chip design. He wrote his own chip-design CAD system in Forth and, subsequently designed and brought to silicon an impressive list of successful chips:</div><div><br></div><a href="https://en.m.wikipedia.org/wiki/Charles_H._Moore">https://en.m.wikipedia.org/wiki/Charles_H._Moore</a><div><br></div><div>Chuck’s latest inspirations can be seen here:</div><div><br><div><a href="http://www.greenarraychips.com/">http://www.greenarraychips.com/</a></div><div><br></div><div>The key to Chuck’s genius: Pare the problem-at-hand down to it’s essence; seek starkest simplicity. This has kept him out of step with the computing mainstream throughout this career.</div><div><br></div><div>Best wishes,</div><div><br></div><div>LRP<br><br><div id="AppleMailSignature">Sent from my iPad</div><div><br>On Sep 2, 2018, at 6:17 AM, Mikael Pettersson <<a href="mailto:mikpelinux@gmail.com">mikpelinux@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><span>On Sat, Sep 1, 2018 at 10:33 PM, joe mcguckin <<a href="mailto:joe@via.net">joe@via.net</a>> wrote:</span><br><blockquote type="cite"><span>Does anyone know if the BEAM vm has ever been implemented directly in hardware (e.g. in an FPGA)?</span><br></blockquote><span></span><br><span>Not the BEAM that I know of, but Ericsson has had at least one project</span><br><span>to implement an "Erlang processor" (via different presumably simpler</span><br><span>VMs).</span><br><span></span><br><span>Apart from the usual problems of synthesizing a processor, you also</span><br><span>have to consider:</span><br><span>- there's a lot of implicit state and semantics in the BEAM</span><br><span>instructions, so you'd have to duplicate things like processes,</span><br><span>dynamic memory allocation, garbage collection, exception handling,</span><br><span>message passing, process links, etc</span><br><span>- the BIFs, without which you can't do much, at a minimum you'd need</span><br><span>networking support</span><br><span></span><br><span>Microcoded HW implementations of LISP and Smalltalk were popular in</span><br><span>the 70s and early 80s, but were quickly replaced by SW running on</span><br><span>RISCs with higher performance, lower cost, and quicker updates.</span><br><span></span><br><span>I'm not sure for what use case a HW Erlang makes sense (except as an</span><br><span>intellectual exercise).</span><br><span>_______________________________________________</span><br><span>erlang-questions mailing list</span><br><span><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a></span><br><span><a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a></span><br></div></blockquote></div></div></body></html>