This document describes the Jupiter FPA (Floating Point Accelerator), also known as APA, which is an add-on unit for the Jupiter CPU designed to accelerate specific KC1Ø instructions for interactive scientific computing.
Key aspects of the FPA include:
- Accelerated Instructions: It speeds up various floating-point operations (single, double, and extended precision, rounded and unrounded, including addition, subtraction, multiplication, and division), integer multiplication, conversion and scaling, and double-word moves. While most are processed directly, immediate mode instructions require intervention from the EBOX to obtain the effective address.
- EBOX/IBOX/FPA Interface: The FPA receives operand and AC (Accumulator) data from the CPU's MD (Memory Data) or LBUS, storing it in internal buffers. After processing, results are passed back to the EBOX via the ABUS (Address Bus) and subsequently written into memory or ACs.
- Data and Flags Injection: The FPA is responsible for presenting processed data on the ABUS and updating various processor flags (e.g., Floating Point Overflow/Underflow, Integer Overflow, Divide Check, Zero Check) with complex timing across multiple clock cycles, depending on the type of store operation (single/double AC or memory store). It includes specific signals to force these flag updates.