FPF11 floating point processor

From Computer History Wiki
Jump to: navigation, search

The FPF11 floating point processor is an optional co-processor module which provides high-performance floating point for KDF11 CPUs (which use the F-11 chip set); it implements FP11-compatible floating point.

It is a quad board (the M8188) which plugs into the backplane slot next to the CPU board. It only gets power from the backplane, though; a flat cable connects the FPF11 to the CPU board; it plugs into the chip socket which the KEF11-A floating point chip normally goes into.

That socket gives the FPF11 access to both the data bus and the microinstruction bus on the CPU card. The FPF11 contains microcode to control both the main CPU, and the hardware on the FPF11. The main CPU is sent no-op microinstructions when there is nothing for it to do; e.g. when the FPF11 does not need it to fetch data from, or store it in, main memory.

Control of the main CPU is transferred to the FPF11 in the same way as to the KEF11-A when a floating point instruction is seen; but while the latter uses the hardware on the CPU to perform all its calcuations, the FPF11 has extensive hardware to perform floating point calculations at higher performance, on-board.

The FPF11 has its own clock, which is not synchronized to that of the main CPU; the FPF11 can re-synchronize with the main CPU when control is to be transferred back to it, when the floating point instruction is completed. It also supports clocking for microcycles of shorter duration, which its microcode can select, as needed, to run individual microcycles as fast as possible.

The floating point registers are actually on the FPF11 (probably for performance), unlike those for the KEF11-A, which are in the KTF11-A memory management chip.