FP11 floating point
FP11 floating point is the term used for the floating point data types and instructions supported by most PDP-11s which had hardware support for floating point. (Some supported a simpler, less capable floating point capability, the FIS floating point.) It was tightly integrated with the CPU, so that the CPU processed a mix of 'regular' and floating point instructions.
Architecture
FP11-type floating point supported short (32 bit) and long (64 bit) floating point numbers; both forms used an 8 bit exponent (in 'excess 0200' notation, giving an exponent range of +127. to -128.), a sign bit, and the remaining bits were the fractional part. It also supported short (16 bit) and long (32 bit) integers. State bits controlled whether it operated in short or long mode for each, and whether floating results were rounded, or 'chopped' (DEC's term for truncated, to avoid confusion with series truncation).
It provided the usual range of arithmetic operations, as well as conversion to and fro between floating point and integer representations. Checking for underflow. overflow, and a variety of other situations (e.g. division by zero) was performed in hardware, and optionally could cause an interrupt if they happened; condition code bits, analagous to those for integer operations in the main CPU, recorded the outcome of operations.
It contained 6 internal registers, each capable of holding either a short or long floating point value. The instruction format resembled other PDP-11 instructions, in that all the usual addressing modes could be used with the normal registers to load and store floating point data from/to memory.
Implementations
The initial implementation was the FP11-B Floating-Point Processor for the KB11-A CPU for the PDP-11/45; it was later used in the KB11-B CPU of the PDP-11/70. Later implementations included:
- FP11-C, used in the KB11-D CPU and KB11-C CPU of the later-production PDP-11/45 and PDP-11/70, respectively
- FP11-A, used in the KD11-EA CPU of the PDP-11/34
- FP11-E, used in the KD11-K CPU of the PDP-11/60
- FP11-F, used in the KD11-Z CPU of the PDP-11/44
- KEF11-A, used in the KDF11 CPUs
- FPF11 floating point board (M8188), a higher performance alternative for the KDF11 CPUs
- FPJ11, used in the KDJ11 CPUs
v • d • e PDP-11 Computers and Peripherals |
---|
UNIBUS PDP-11s - PDP-11/20 • PDP-11/15 • PDP-11/35 • PDP-11/40 • PDP-11/45 • PDP-11/50 • PDP-11/55 • PDP-11/70 PDP-11/05 • PDP-11/10 • PDP-11/04 • PDP-11/34 • PDP-11/60 • PDP-11/44 • PDP-11/24 • PDP-11/84 • PDP-11/94 QBUS PDP-11s - PDP-11/03 • PDP-11/23 • PDP-11/23+ • MicroPDP-11/73 • MicroPDP-11/53 • MicroPDP-11/83 • MicroPDP-11/93 QBUS CPUs: LSI-11 • LSI-11/2 • KDF11-A • KDF11-B • KDJ11-A • KDJ11-B • KDJ11-D • KDJ11-E Buses: UNIBUS • UNIBUS map • SPC • MUD • EUB • QBUS • CD interconnect • PMI Also: PDP-11 architecture • PDP-11 Extended Instruction Set • FP11 floating point • PDP-11 Memory Management |
UNIBUS CPUs: KA11 • KC11 • KB11-A • KB11-B • KB11-C • KB11-D • KD11-A • KD11-B • KD11-D • KD11-E • KD11-EA • KD11-K • KD11-Z • KDF11-U
Co-processors: FP11-A • FP11-B • FP11-C • FP11-E • FP11-F • KE44-A • FPF11 Chips: LSI-11 • KEV11-A • KEV11-B • KEV11-C • F-11 • KEF11-A • KTF11-A • T-11 • J-11 • FPJ11 CPU options: KE11-E • KE11-F • KJ11-A • KT11-C • KT11-D • KK11-A • KK11-B • KT24 • KTJ11-B Rare CPU options: KS11 Memory Protection and Relocation option • KT11-B Paging Option • KUV11 Writeable Control Store Front panels: KY11-A • KY11-D • KY11-J • KY11-LA • KY11-LB • KY11-P More on buses: UNIBUS and QBUS termination • Bus Arbitration on the Unibus and QBUS • CTI BUS PDT-11s - PDT-11/110 • PDT-11/130 • PDT-11/150 CTI PDP-11s - PRO-325 • PRO-350 • PRO-380 Other: FIS floating point • PDP-11 Commercial Instruction Set • PDP-11 stacks • PDP-11 family differences |