The architecture

M16: sixteen states, one cell

Most computers built in the last sixty years reduce the world to two states. M16 is our answer to the question of what changes when a single physical unit can hold and read information as a spectrum, not a stack of switches.

But first, let's start with the basics: how a binary chip multiplies numbers and why that led us to pursue multi-state computing in the first place.

Since we are going to be talking about MATRIX multiplication...
Live demo · 3×3 systolic arrayMoving operands in a 3 by 3 systolic arrayA moves right and B moves down. Each cell keeps a running total of the products that reach it.B ↓ column queuesA → row queuesC[0,0]Σ 0C[0,1]Σ 0C[0,2]Σ 0C[1,0]Σ 0C[1,1]Σ 0C[1,2]Σ 0C[2,0]Σ 0C[2,1]Σ 0C[2,2]Σ 0→↓→↓↓→↓→↓↓→→A[0,0] →2A[0,1] →1A[0,2] →3A[1,0] →1A[1,1] →4A[1,2] →2A[2,0] →3A[2,1] →2A[2,2] →1B[0,0] ↓1B[1,0] ↓3B[2,0] ↓2B[0,1] ↓2B[1,1] ↓1B[2,1] ↓1B[0,2] ↓1B[1,2] ↓2B[2,2] ↓3
Ready

Each clock moves A one cell right and B one cell down. Their product joins the running total stored in that cell. Open the full lab

Inside the hardware

How a chip multiplies grids of numbers

AI is built on matrix multiplication: multiplying numbers in pairs and adding up the results, over and over. A MAC (multiply-accumulate) unit is the tiny calculator that does this. INT8 means each number is stored as 8 on/off switches. Follow one small calculation through six steps.

Why this matters: Small whole numbers make this look easy. Real AI and physics simulations use decimals, large numbers and enormous grids, so every step of the calculation gets bigger, slower and hungrier for energy. Different number formats trade performance against accuracy. Integer formats are faster but less precise. Floating point handles decimals more precisely, but it is slower.

The trade between work and accuracy is the boundary M16 is built to move.

Explore 16 states

Drag the slider from M0 to M15 to move one stit through its sixteen states. For comparison, binary has no single unit that can do this, so it has to line up separate on/off cells: one cell for the value 0, and four cells by the value 15.

MODE 00 / 15
M16 stateM0
vs
Binary, 1 cell0

A stit is not four bits. It is one unit, in one of sixteen states. Four bits are four separate cells, each on or off, that only mean a number when read together. A stit can tell apart as many values as those four cells can, but it does it alone, as a single new kind of unit.

Binary vs. M16

Not a faster binary chip...
a completely new unit of computation

M16 isn't a marketing wrapper around standard logic. It replaces the bit with the stit, which changes what a single unit can represent and what kinds of problems it's naturally good at.

BinaryM16
States per unit2 (on / off)16 discrete states. We have dubbed this a "Stit"
Best suited forBoolean, Easier component designPhysical simulation, Data dense mathematics
Where this goes

From accelerator to full multi-state compute

The M16 accelerator is the first step, not the destination. Here's how we see the path from here.

Where We Are

M16 accelerator

A dedicated AI inference accelerator built around the 16-state primitives. Our first product, and the proving ground for the architecture.

In development
What Comes Next

General arithmetic multi-state cores

Consumer devices leveraging general arithmetic multi-state cores.

Planned
Where We Are Going

General-purpose computer

The long-term goal: a dynamic multi-state and continuous computing platform.

Vision