Architecture
The base Model 44 lacks the storage-to-storage character and decimal instruction sets of a standard System/360, however an "extended instruction set" feature was available to provide the missing instructions. A unique feature of the Model 44 is "variable-length precision floating point arithmetic". It has the same short floating-point instructions and long floating-point instructions as the other models in the System/360 line, but it also has a rotary switch on the front panel which can be used to set the precision of long floating-point numbers. The mantissa portion of long floating-point numbers can be chosen as 32, 40, 48, or 56 bits, with 56 bits being the standard value. Whatever the setting, long floating-point numbers still occupy 64 bits in memory (the first eight bits are the sign and the exponent); the setting only leads, when it was less than 56 bits, to long floating-point operations ignoring some of the least significant bits of these numbers. This provides an improvement in speed when greater precision is not needed. Write Direct Word ('B4'x): WRDW D1(B1),I2 Read Direct Word ('B5'x): RDDW D1(B1),I2 The direct data channel feature provides a fast, simple data transfer capability. Controlled by standard System/360 I/O instructions and commands, it allows the connection of external devices that perform word-by-word data transfers with the Model 44 CPU at transfer rates up to 4 MiB/s. The priority interrupt feature adds thirty-two interrupt levels to the standard five. This uses locations '800'x to '9FF'x for the old and new program status word locations. An eight bit interrupt description from the interrupting device is stored in bit positions 24 to 31 of the corresponding old PSW. Bits 16-23 of the new PSW are used as a mask which is XORed with the interrupt description to modify the address from the new PSW, effectively allowing indexing into a jump table for the interrupt according to data sent by the device. The interrupts are numbered from 0 (highest priority) to 31 (lowest); a higher priority interrupt can interrupt processing of a lower priority. A 32 bit Priority Mask Register, set by the Change Priority Mask instruction, can be used to selectively mask interrupts to keep them in pending status until the mask is reset. The instruction can enable levels tagged by 1 bits, disable levels tagged by 0 bits cancel levels tagged by 1 bits, or cancel and enable levels tagged by 1 bits depending on the value of the I2 field. The Load PSW Special instruction is used to exit an interrupt routine resume the next highest priority routine or non-interrupt code. Load PSW Special ('B2'x): LPSX D1(B1),I2 I2 is reserved and should be zero. Change Priority Mask ('B3'x): CHPM D1(B1),I2 The high order two bits of the I2 field are called the mask bit and the cancel bit.The remainder of the I2 field is reserved and should be zero. (mask bit) (cancel bit) Function 1 0 Enable levels tagged by 1 bits 0 0 Disable levels tagged by 0 bits 0 1 Cancel levels tagged by 1 bits 1 1 Cancel and enable levels tagged by 1 bits ==Peripherals==