Patent GB-1070427-A (GB)
Title: Data processing system
IPC: G06F7/50
Filed: 1965-06-28
Abstract: 1,070,427. Computers. INTERNATIONAL BUSINESS MACHINES CORPORATION. June 28, 1965 [June 30, 1964], No. 27240/65. Heading G4A. A data processor comprises mode control means for selectively indicating when addresses in stored instructions have numeric portions only and when they have both numeric and zone portions, means for converting zone and numeric address combinations to pure numeric addresses, and instruction-responsive means operable whenever said mode control means is in its " zone and numeric " state for performing compress data handling operations. Data format.-Eight-bit characters are used, each comprising four numeric bits 1, 2, 4, 8, two zone bits A, B, a parity bit C and a word mark bit Wm. In an expanded format, one character represents one alphanumeric character, e.g. a binary-coded decimal digit. In a compressed format (used e.g. for addresses) three characters may represent five binarycoded decimal digits, by using the numeric portions to represent units, tens and hundreds digits and using the zone bits A, B of the units and hundreds characters to give the 4, 8 and 1, 2 bits of a pure binary number between 0 and 15 which can be decoded (Fig. 18, not shown) to give binary-coded thousands and ten-thousands decimal digits, allowing 16,000 memory locations to be selectively addressed. Expanding data.-The numeric portions of three compressed address characters from memory can be passed in turn (in descending order) via a binary to 2/5 code converter to corresponding positions in a register AAR or BAR (Fig. 3, not shown), depending on which of the operands the address relates to, the zone portions of the units and hundreds characters being concurrently passed to a zone register (Fig. 1, not shown). Two extra cycles inserted in the ordinary instruction read-out cycle sequence (Fig. 24, not shown) are then used to pass the zone bits to a conversion circuit (Fig. 18, not shown) twice. In each cycle the 1, 2 bits go direct and the 4, 8 bit via zone adders which do not alter them, and in each cycle the conversion circuit produces binary-coded thousands and tenthousands digits which are passed to the AAR (or BAR) register (not shown) in the first and second cycles respectively. Indexing addresses.-Fifteen memory locations are used as index registers. A compressed format address may be indexed using any one of three of these. If indexing is required in compress mode, at least one of the two zone bits of the tens character is non-zero and these two zone bits constitute two bits of the four-bit register identity, the other two bits being forced ones (Fig. 39, not shown). The address to be indexed is expanded as in "Expand data" above but the expanded address is placed in a register CAR (or DAR) as well as in AAR (or BAR) (Fig. 3, not shown), and the tens zone bits are used to select the index register. The latter stores a three-character compressed increment which is added as follows to the contents of the CAR (or DAR), the result being stored in the AAR (or BAR), during five extra cycles inserted in the instruction read-out cycle sequence (Fig. 24, not shown). The thousands ten-thousands (2 out of 5 coded) decimal digits in the CAR (or DAR) are converted to a single 4-bit binary member the 4 and 8 bits of which are added to the zone bits of the units character from the index register, the result being stored in the 4, 8 bit positions of the zone register. The units digit from CAR (or DAR) is added to the numeric portion of the units indexing character, any carry being saved for the tens addition to follow. Tens and hundreds additions then take place similarly, no zone additions taking place in the tens and those in the hundreds (adding the 1, 2 bits from the thousands and tenthousands CAR or DAR characters to the hundreds indexing zones) providing 1, 2 bits to be stored in the zone register. Any carry from the numeric hundreds addition is incorporated in the 1, 2 zones addition taking place concurrently. Any carry from this zones addition sets a carry latch. The zone register contents are then applied to the conversion circuit mentioned twice in respective cycles, the 1, 2 bits direct and the 4, 8 bits via the zone adders, the carry which set the latch (see above) being added in. The conversion circuit produces thousands and ten-thousands binary-coded decimal digits which are passed to the AAR (or BAR) in the two cycles respectively, being converted to 2/5 coded form on the way. Compressing data.-A five-character expanded address in the BAR may be converted to a three-character compressed address and stored in a memory address specified by the AAR, in the now obvious fashion. Adding two compressed operands.-The units characters of the two operands are read from memory in turn, the zone and numeric portions of the first being stored in the zone register and a Y register (Fig. 2, not shown) respectively until the units character of the second operand is available. The numeric portions and zone portions are then added separately and the results returned to one of the operand locations in memory. Any numeric carry is saved for the tens numeric addition to follow. The tens and hundreds characters are then treated similarly, numeric carries being propagated to the next numeric addition, except that no zone addition takes place with the tens, and any hundreds numeric carry is incorporated in the hundreds zones addition. Any hundreds zones carry sets a latch and necessitates an extra cycle in which the units (result) character is removed from memory and has the carry added to its zone portion. General.-The system is described as a modification of that of Specification 1,070,423 which is referred to. Modifications to format mentioned.-Each character could have four zone bits, or the four zone bits required for the thousands and tenthousands order could come one from each of four characters. Alternatively, the carry from the zone bits (4, 8) of the unit character above could, instead of being ignored, be applied to the low-order numerics of another character set. Also the tens order zones could be used in combination with the units and hundreds zones to represent a binary member.