[erlang-questions] BEAM in hardware

Miles Fidelman mfidelman@REDACTED
Sun Sep 2 00:56:14 CEST 2018


On 9/1/18 6:30 PM, Dmytro Lytovchenko wrote:

>
>
> On Sat, 1 Sep 2018 at 23:44, Miles Fidelman 
> <mfidelman@REDACTED <mailto:mfidelman@REDACTED>> wrote:
>
>
>
>     On 9/1/18 5:06 PM, Dmytro Lytovchenko wrote:
>     > There is no known hardware implementation because the original BEAM
>     > 158-instruction set is quite complex to load, parse and
>     interpret, and
>     > the runtime part of hardware to support built-ins and data types
>     would
>     > be pretty massive. But it might be possible if you simplify the
>     opcode
>     > set, simplify the memory structure (to save on bit manipulations)
>     > similar to Python or Java memory model, and shrink it to something
>     > that is possible to hard-wire.
>
>     Is it really any more complex than, implementing a CISC processor, or
>     something funky like a GPU or the old BBN Butterfly?  For that
>     matter,
>     the old DG Nova had a pretty funky instruction set - looked a lot
>     more
>     like microcode than a traditional ISA.
>
> That is my point. Of course anything that is implemented can be 
> re-implemented, but there are resource limits to this complexity. To a 
> large team with experience in chip design and production or even FPGA 
> experience this might be totally possible, like "we just finished 
> designing this beautiful Core i9 chip let's now take a break for a 
> year and make a BEAM chip". But in real life such teams are rare, and 
> I'm thinking of 1-3 person team and a _very_ limited budget, there's 
> never enough time or working hands. Here to succeed one must take a 
> lot of simplifications and considerations.

Of course, in the old days - when we were talking ECL chips, and 
wire-wrapped prototypes, a 2-3 person team could do a LOT.  (Back in the 
early 1980s, I was on a team that designed & built high-performance 
avionic computers.  We had a number of small projects, funded by 
internal IR&D money, and some small research grants from the Air Force.

These days, when we're talking building chips, it's another story.

Though... I wonder what could be accomplished if one started with a chip 
that supported writeable microcode - like a Core2.  Hmmm.....

>     What about if you allow for microcode?  I remember working on
>     microcode
>     to extend a MIL-STD-1750 processor, to do pulse train
>     manipulation, for
>     electronic warfare applications (back in the day when 4mips was
>     blinding
>     fast).  Or what about the LISP machines?
>
>     It doesn't seem out of the range of possibility - given a
>     sufficiently
>     resourced team.  Now whether it makes economic sense, is a separate
>     question.
>
>
> Making these two meet: The price of implementation vs. the available 
> resources.

Might make a good PhD project, at a university that has access to 
military R&D funds.

Might also be worthwhile to a company that needs high-performance, 
massively concurrent processing.

Miles


-- 
In theory, there is no difference between theory and practice.
In practice, there is.  .... Yogi Berra

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20180901/182bc205/attachment.htm>


More information about the erlang-questions mailing list