This interoffice memorandum from Mike Uhler (April 20, 1983) discusses "Thoughts on the FPA functional interface," aiming to provoke discussion on various interaction points for the Floating Point Accelerator (FPA) rather than present a final design.
Key discussion points include:
- Operand Prefetch: The current assumption is that the Instruction Box (IBOX) does not significantly prefetch operands for the FPA, leading to the FPA having a "standing start" on instructions. This might impact performance and increase operand conflict likelihood, warranting further study.
- Unbiased Rounding: The FPA is to implement only unbiased rounding for applicable instructions, following an Architecture Committee decision, differentiating it from the EBOX's current dual-rounding scheme.
- XCT and EXTEND Instructions: Handling "Execute Instruction" (XCT) and EXTEND G float conversion instructions poses challenges. A proposed solution involves the IBOX fully processing these instructions and loading the ultimate opcode into the instruction register, treating EXTEND similarly to XCT. However, the mechanism for signaling the FPA (and EBOX) that an instruction is ready still needs thought.
- G Floating-Point Usage: Despite low current usage data, G floating-point instructions are deemed architecturally important and their future use is expected to be significant, as they address competitive disadvantages and have recently gained FORTRAN support.
- EBOX Synchronization: Two options for the EBOX to store FPA results are presented: the EBOX waiting for the FPA (less efficient due to microcode waste) or the EBOX pausing its clocks until the FPA is almost finished (preferred for a sharper interface, but more complex logic).
- FPA as a Subroutine: The memo suggests the FPA could handle certain slow integer multiply/divide operations (ADJBP, EXTENDed CVTDBx/CVTBDx) as subroutines for performance, but the overall system performance gain needs further investigation.
- Storing Results and Flags: The interface for storing results on the ABUS and managing flags via direct control lines to the SCA flags logic is considered well-understood.
An Appendix A provides "FPA DATA FROM OPHIST," detailing post-processed operational history data from various sites. This data lists FPA-processed instructions, their typical execution times ("KL time" and "KL run time" in microseconds), and their percentage of total KL10 processing time, offering empirical context to the discussions.