Tilessa

Β TilessaπŸ”—

Every computer you have ever used asks for your trust. Its datasheet describes what the chip is supposed to do; whether it actually does β€” every cycle, every corner case β€” is a promise backed by testing, and testing can only ever sample. The history of hardware lives in the gap between the two: errata sheets, security surprises, processors that computed the wrong answer once in a billion operations.

This book is an experiment in closing that gap. It describes Tilessa, a small parallel computer built for machine-learning workloads β€” and the book itself is written in a language a computer can check. Every definition in it is real, running code; every theorem is machine-verified each time the book is built. If a claim in this book were false, the book would fail to build, and you would not be reading it. We say it shortly: a page that builds cannot lie.

The design has one big idea, borrowed from mosaics. Instead of one large, complicated processor, a Tilessa is a grid of many small identical ones β€” tesserae, the word for the little tiles a mosaic is made of. Small things are easier to build, easier to prove correct, and easy to repeat; the interesting question, which most of this book is spent answering, is how small proved things compose into a big thing without losing what was proved. First the specification β€” the parts list and the rules of the game β€” then the semantics: what every instruction actually does, written as a program you can run. Later chapters will build the pipeline that executes instructions, prove it faithful, and compose elements into the mesh.

Contents

  1. 1. The Shape of the Machine
  2. 2. What Every Instruction Means
  3. 3. The Assembly Line
  4. 4. Composing the Mosaic
  5. 5. The Smart Edge
  6. 6. The Edge of the Chip