
Software Pipelining on the Mill CPU [video] - signa11
http://millcomputing.com/topic/pipelining/
======
nkurz
Almost everything posted here about the Mill CPU has been in video form. I'm
very interested in _reading_ more about it, but don't have the patience for
videos. I like to be able to skim, and to choose my own pace. As a result of
this personal preference/failing, I know very little about the CPU or the
company.

Clearly the Mill team likes the video format, but are there written
expositions for people like me? I have to think I'm not the only one who is
video-averse. The very sparse FAQ on the website
([http://millcomputing.com/category/faq/general/](http://millcomputing.com/category/faq/general/))
says that there are a few white papers in process. Are any of these available
yet?

~~~
willvarfar
We have an intro here:

[http://millcomputing.com/topic/introduction-to-the-mill-
cpu-...](http://millcomputing.com/topic/introduction-to-the-mill-cpu-
programming-model-2/)

(Although it doesn't cover things in as much depth as the talks)

We are working on a public facing wiki, and do actually have some white papers
drafted.

But these talks are not your average talks, and well worth trying even if you
don't normally ;)

~~~
dkersten
_But these talks are not your average talks, and well worth trying even if you
don 't normally ;)_

For me its not that I don't watch videos, its just that either I don't have
time to watch a video (whereas reading I can do as fast or slow as I want and
I can skim), or it happens that I'm unable to watch a video for whatever
reason but would be ok with reading (this happens a lot while I'm travelling -
also the most likely time where I would like to read something like this).

------
hahainternet
I have yet to go through this talk but I have been waiting for this for a
while. Mill is possibly the most interesting thing in all of computing right
now.

~~~
RyanMiller
I see this posted every time Mill gets linked. Could someone simply explain
the significance of the Mill architecture?

~~~
willvarfar
(Mill team, so biased; thanks for the chance to pitch ;)

We are a DSP that can run general purpose code.

Traditionally, to run general purpose code fast you needed an out-of-order
superscalar architecture, as all the x86 and RISC cores are these days.

DSPs have substantially better performance and substantially better
efficiency, but have traditionally been ineffective executing general purpose
code (such as the web browser you are using to read this).

The Mill is a synergy of lots of small breakthroughs that together deliver
significant improvements to general purpose _single threaded_ code.

Its been held that cores have stopped getting faster. We're faster.

And we have similar as yet not filed improvements for multicore too.

~~~
tomjen3
Normally I am a cynically old bastard, but if that is true then you really are
the most important thing happening in hardware right now (or possible HPs the
Machine if it isn't vaporware).

One crucial question - are you compatible with X86?

~~~
ema
The mill is not compatible with x86, but the goal is to not require more than
a recompile.

~~~
alex-g
The Mill certainly raises a lot of interesting code generation and
optimization issues. I'm sure there's plenty of scope for figuring out good
optimization strategies, as a lot seems to depend on the ability of the
compiler to make good choices about instruction scheduling and belt slot
allocation. Sure, that's the case for traditional architectures as well, but
there's more prior art there too. There may also be ingenious algorithms which
work better on the Mill architecture specifically. I'd love to know if there's
any theory on the hardness of allocating positions on the belt, compared to
traditional register allocation.

~~~
willvarfar
Actually, as its co-designed by a compiler writer (read the bio we paste with
the talks:

> Ivan Godard has designed, implemented or led the teams for 11 compilers for
> a variety of languages and targets, an operating system, an object-oriented
> database, and four instruction set architectures. He participated in the
> revision of Algol68 and is mentioned in its Report, was on the Green team
> that won the Ada language competition, designed the Mary family of system
> implementation languages, and was founding editor of the Machine Oriented
> Languages Bulletin. He is a Member Emeritus of IFIPS Working Group 2.4
> (Implementation languages) and was a member of the committee that produced
> the IEEE and ISO floating-point standard 754-2011.

), its actually designed to be _easy_ to write a compiler for. It's he polar
opposite of the "sufficiently smart compiler syndrome" :)

I keep suggesting we do a "sufficiently dumb compiler syndrome" talk, but it'd
contain nothing novel; the art is well established by all the VLIW machines
that have come before.

------
Lai0chee
/me has a deja vu.

Looks like this is Transmeta v2. :-)

~~~
ema
Their risk profile is quite different from Transmeta. Transmeta was more of an
all or nothing thing. Either they were better at running x86 in which case
they easily could capture big segments of the market, or they were not in
which case no segment of the market would be interested in them.

The Mill on the other hand can just start with the segment of the market that
is the least inconvenienced by having to recompile their code and expand from
there. So basically it's easier for the Mill to gain a foothold (build the
best cpu for one segment) but harder to climb up from there.

~~~
ktsmith
Thanks for that differentiator, Transmeta kept popping into my thoughts every
time I would read about Mill as well.

------
viggity
the long hair and beard makes me think this is legit.

joking aside, seeing this talk makes me nostalgic for college and the long
nights spent in the CprE labs. I ended up not in hardware/firmware because
4/5GL are so much more fun to work with and let me be so much more expressive.
However, this shit is seriously cool. Can't wait to learn more.

edit: also wanted to say the presentation is a perfect example of awesome UX.
The animations are not superfluous as in most presentations and are quite
meaningful and help the audience better understand the material. It is also an
example of something with great UX, but poor aesthetics. Green/yellow text on
a blue background, eck. Could have been worse though :)

------
holoiii
Dude looks like Gandalf

