Binary16 Accumulation

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/29

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 4:54 AM on 9/6/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

30 Terms

1
New cards

FP16 Accumulation

Repeated floating-point addition in which the current FP16 running sum is added to a new FP16 input and the resulting FP16 value becomes the next stored sum.

2
New cards

Sum + X

What calculation does FP16Accumulator perform whenever it is enabled?

3
New cards

Positive zero

To what FP16 value does the Proteus accumulator initialize its running sum on reset?

4
New cards

The previous Sum and its status flags are retained.

What happens to FP16Accumulator when enable = 0?

5
New cards

Each accumulated addition produces an FP16 result before that result becomes the input to the next accumulation step.

Where can repeated rounding enter an ordinary FP16 accumulation sequence?

6
New cards

Repeated FP16 Rounding

The repeated loss of precision that can occur when every intermediate accumulation result is rounded back to FP16 before the next value is added.

7
New cards

A wider accumulator retains more intermediate precision and range before the running result is reduced to a narrower format.

Why can wider floating-point accumulation improve numerical accuracy?

8
New cards

FP32 Wide Accumulation

The Proteus accumulation mode that converts each FP16 input to FP32 and maintains the running sum as a 32-bit floating-point value.

9
New cards

FP16 input, FP32 running sum

What precision relationship is used by the Proteus wide accumulator?

10
New cards

32 bits

How wide is the result produced by the Proteus wide-accumulation path?

11
New cards

ResultIsFP32 = 1

How does FP16ArithmeticEngine indicate that its selected result is the FP32 wide-accumulator output rather than an ordinary FP16 result?

12
New cards

Non-Fused FP16 Multiply-Accumulate

A MAC implementation in which the multiplication is completed and rounded to FP16 before that FP16 product is separately added to the accumulator.

13
New cards

Sum ← Sum + (OperandA × OperandB)

What running calculation does FP16MultiplyAccumulate perform?

14
New cards

The multiplication stage is rounded to FP16 before its result enters the addition stage.

What makes the Proteus FP16 MAC non-fused?

15
New cards

A fused MAC/FMA retains the unrounded product through the addition and performs one final rounding, whereas the Proteus non-fused MAC rounds the multiplication before the addition.

What is the numerical distinction between a fused multiply-add and Proteus's non-fused FP16 MAC?

16
New cards

Two rounding opportunities.

For an ordinary finite Proteus non-fused MAC update, how many separate arithmetic stages can introduce FP16 rounding?

17
New cards

The separately rounded intermediate product can differ from the exact product used by a fused implementation, so the final accumulated result can also differ.

Why can a non-fused MAC and a fused multiply-add produce different FP16 results from the same operands?

18
New cards

MAC Exception Combination

The Proteus policy in which an exception raised by either the multiplication stage or the following addition stage belongs to the complete MAC operation.

19
New cards

Logical OR

How are corresponding multiplication-stage and addition-stage exception flags combined by FP16MultiplyAccumulate?

20
New cards

Either stage may be responsible for an exceptional or inexact result, so discarding one stage's status would lose information about the complete MAC operation.

Why must a non-fused MAC combine status from both arithmetic stages?

21
New cards

Selected-Operation Status

The exception outputs presented by FP16ArithmeticEngine are those belonging to the operation currently selected by the operation code.

22
New cards

Result[15:0]

Where does the complete arithmetic engine place an ordinary FP16 arithmetic result?

23
New cards

Zero

What does the engine place in Result[31:16] for ordinary FP16 arithmetic operations?

24
New cards

Result[0]=Lesser, Result[1]=Equal, Result[2]=Greater, Result[3]=Unordered

How does FP16ArithmeticEngine encode comparison outcomes into its general Result bus?

25
New cards

IterativeBusy

The engine-level signal formed from the busy conditions of the sequential multiplier, divider, and square-root units.

26
New cards

Logical OR of the three iterative DONE signals.

How does the arithmetic engine form IterativeDone?

27
New cards

Only one iterative operation may begin at a time.

What global rule does FP16ArithmeticEngine impose on sequential multiplication, division, and square root?

28
New cards

UnitStartPulse

Which engine control pulse is used to launch iterative FP16 operations such as sequential multiplication, division, and square root?

29
New cards

UnitEnablePulse

Which engine control pulse updates stateful operations such as FP16 accumulation, wide accumulation, and MAC?

30
New cards

Complete FP16 Arithmetic Engine

The integration layer that selects among FP16 add/subtract, comparison, combinational and sequential multiplication, accumulation, wide accumulation, MAC, division, and square root while routing the appropriate result and IEEE-754 status.