Talks to Watch

The Mill CPU Architecture - the Belt (2 of 13)

38K views · Jul 29, 2013 · 1:26:50 · 1 HN recommender · 7 mentions · discussed 2013–2023

The second talk in the Mill CPU series by Mill Computing, covering the Belt, the Mill's operand-passing model that replaces general registers. It explains the cost of register renaming in conventional wide CPUs and how the Belt reaches high instruction-level parallelism.

Why Hacker News points people here: HN points to the Mill talks as an excellent, deep look at an unconventional CPU design, especially in threads on registers and instruction sets.

“the Mill was described in an excellent series of talks”HN comment, 2023

What Hacker News said 7

Recommendswood_spiritDec 2023

“the Mill was described in an excellent series of talks”

Excellent talk series on temporal addressing and the belt.

Full comment

This is reminiscent of the Mill CPU which had temporal addressing and called the history a “belt”. the Mill was described in an excellent series of talks: this video

in “Clockhands: Rename-Free Instruction Set Architecture for Out-of-Order Processors” · view on HN
Cites itmtrimpeAug 2013

“The Mill CPU [1] that was discussed a while ago is quite close to being the perfect architecture for a Lisp though”

Mill CPU cited as good architecture fit for Lisp.

Full comment

The Mill CPU [1] that was discussed a while ago is quite close to being the perfect architecture for a Lisp though, so hopefully many of other parts of these ideas will also come back in even more impressive forms. [1] this video

in “Smalltalk runtime in the browser” · view on HN
Cites itbrigadeOct 2013

“see the presentations by the mill CPU guy [1]”

Presentations on register limits in modern CPU design.

Full comment

The studies would vary over time because CPU design and bottle necks have changed. Early designs were of course limited by transistor count, now we have OoOe and physical registers are limited by muxers and latency (see the presentations by the mill CPU guy [1] Saving registers in functions is mostly irrelevant - you only save what you'd use, so saving more means fewer spills within the function. Saving on context switches (interrupts alone aren't a big deal) was indeed a problem back when AltiVec was designed, thus it has a special register to keep track of which registers need to be saved. In modern designs this is less of a problem, between higher frequencies, multiple cores, and the other effects of a context switch dominating (effective flush of l1 cache and predictors). The interesting bits nowadays are that load/store is expensive power-wise, which was what ARM identified as the major motivation behind having 32 registers (fewer spills in functions) and OoOe designs. [1] this video

in “Why Registers Are Fast and RAM Is Slow” · view on HN
Cites itruneksFeb 2015

“This video[1] mentions that "nothing with pins on the bottom" has been made yet.”

Full comment

How far has development come with the Mill CPU? This video[1] mentions that "nothing with pins on the bottom" has been made yet. [1] this video

in “64-bit Linux Return-Oriented Programming” · view on HN
Cites itw0000tAug 2015

“Instead you have a FIFO queue( belt ), where every element( register ) is accessible and has a relative address( offset ).”

Explains the belt: FIFO of operands addressed by relative offset.

Full comment

No ordinary registers. Instead you have a FIFO queue( belt ), where every element( register ) is accessible and has a relative address( offset ). this video

in “What's new in CPUs since the 80s and how does it affect programmers?” · view on HN
Cites itw0000tAug 2015

“Here is a talk from one of the designers explaining how it is done”

Designer explains how Mill avoids register renaming.

Full comment

False. Mill does not do register renaming. ( Or use "lies". I failed to comprehend you second sentence. ) Here is a talk from one of the designers explaining how it is done: this video

in “What's new in CPUs since the 80s and how does it affect programmers?” · view on HN
CriticalriazrizviJan 2017

“According to the CTO, 80% of software operations are loops”

Full comment

According to the CTO, 80% of software operations are loops ( this video )? I need convincing of that before I watch the rest of the talk. I suspect it would be a fundamental premise for the architecture of the chip. If it's not true, the stats are probably skewed for an unusual benchmark.