Load INT8 operands
Signed 8-bit integers use two’s complement. The leading bit has negative weight.
| Operand | Value |
|---|---|
| A[0,0] | 2 |
| B[0,0] | 1 |
These are directly entered integer values. No real-to-integer quantization scale is assumed.
Follow numbers through a systolic array. Each clock moves A one cell right and B one cell down. Their product joins the running total stored in that cell. Change the number format, edit the inputs bit by bit, and inspect any cell.
Click bits or drag the slider. The highest bit is the sign bit for signed formats. Edits recompute the selected cycle.
INT8: signed two’s-complement 8-bit operands, 16-bit products, 32-bit exact accumulation.
INT8 · 48 bits per cell · 432 bits across 9 cells · 1.00× INT8 bit storage
Every square has the same size across all formats. Rows wrap after 16 bits; wider formats add squares and expand the cell. Counts include two operand slots and one accumulator. This represents bit storage, not silicon area or multiplier gate count. Keep zoom at 100% to compare scale. “Fit array” rescales the entire diagram.
The operands are queued. Press Play or Step to begin.
| Representation | Radix | Digits |
|---|---|---|
| Binary | 2 | 0 |
| M16 | 16 | 0 |
Signed 8-bit integers use two’s complement. The leading bit has negative weight.
| Operand | Value |
|---|---|
| A[0,0] | 2 |
| B[0,0] | 1 |
These are directly entered integer values. No real-to-integer quantization scale is assumed.
The entire operand packet moves one neighbor per clock. Decimal and binary labels move together.
A → 0000 0010 B ↓ 0000 0001
The displayed bits are the stored integer representation, not extra clock cycles.
Multiply the signed or unsigned values exactly.
2 × 1 = 2 Product (16 bits) 0000 0000 0000 0010
The 32-bit accumulator keeps all 3 products exactly. Negative products are sign-extended before addition.
Previous: 0 0000 0000 0000 0000 0000 0000 0000 0000 + Product: 2 0000 0000 0000 0000 0000 0000 0000 0010 = Total: 2 0000 0000 0000 0000 0000 0000 0000 0010
A moves to C[0,1]. B moves to C[1,0]. The accumulated total stays inside C[0,0].
A → 2 B ↓ 1 C stays: 2
After 3 operand pairs, this cell holds one element of C. Staggered arrival times complete the full array in 7 cycles.
(2 × 1) + (1 × 3) + (3 × 2) = 11
Widened accumulation avoids overflow for this 3-term dot product, including at the input range limits.
3 × 3 output-stationary array · 7 compute cycles. Binary digits are stored representations, not a bit-serial timing model. Inputs move; partial sums remain in their cells. Video reference Text reference