Forum Topic: Metadata

Talk by Ivan Godard – 2013-12-11 at the
SFBay Association of C/C++ Users

Slides: metadata.02 (.pptx)

Metadata in the Mill CPU
Smarter data for performance and power

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 talk describes these and other technical aspects of metadata and speculation in the Mill design.

Speaker bio

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 Mill Computing, a startup now emerging from stealth mode. Mill Computing has developed the Mill, a clean-sheet rethink of general-purpose CPU architectures. The Mill is the subject of this talk.