The Mill is a new CPU architecture designed for very high single-thread performance within a very small power envelope. It achieves DSP-like power/performance on general purpose codes, without reprogramming. The Mill is a wide-issue, statically scheduled design with exposed pipeline. High-end Mills can decode, issue, and execute over thirty MIMD operations per cycle, sustained. The pipeline is very short, with a mispredict penalty of only four cycles.
To support such sustained performance, the Mill conveys some of the semantics of execution in the form of metadata attached to the arguments of operations, in addition to that expressed by the operation encodings in the executed code stream. Metadata propagates through execution, following rules specified by the architecture, although it may be altered explicitly by code when needed.
Use of metadata provides a number of advantages to the architecture:
1. Metadata reduces the number of distinct opcodes by a factor of seven.
2. Metadata enables speculative execution without fix-up code.
3. Metadata eliminates flag-control overheads in floating point.
4. Metadata permits vectorizing of while-loops.
The presentation will cover these and other technical aspects of metadata and speculation in the Mill design. Videos and other material about other aspects of the Mill can be found at http://ootbcomp.com/docs
The Mill uses a novel phased-execution model for maximal benefit from the metadata. Phasing and metatdata combine so that such complex code as:
a = b==54792 ? c : d;
compiles to one instruction and executes in one cycle on a Mill, whereas the code would need a minimum of three cycles (load constant; equality; conditional move) on conventional architectures.
The talk describes these and other technical aspects of metadata in the Mill design.
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.
Ivan is currently CTO at Out-of-theBox Computing, a startup now emerging from stealth mode. OOTBC has developed the Mill, a clean-sheet rethink of general-purpose CPU architectures. The Mill is the subject of this talk.