Patent GB-895637-A (GB)
Title: Improvements in data processing systems
IPC: G06F7/24
Filed: 1959-08-06
Abstract: 895,637. Sorting digital data. INTERNATIONAL BUSINESS MACHINES CORPORATION. Aug. 6, 1959 [Aug. 6, 1958 (3)], No. 26918/59. Class 106 (1)' Data is read from a record medium such as a magnetic tape 11, sorted according to the relative magnitude of the data, and re-recorded on to the medium. The data is recorded in blocks Ra . . . Rj . . . in parallel-by-bit, and is read by heads 22, 24, 27, and 29 spaced apart distances increasing in arithmetic progression (unit length being the length of a record block). Thus, heads 22 and 24 are one record block length apart, heads 24 and 27 two record block lengths, and so on. Downstream of the read heads are write heads 21, 23, 26 and 28. In operation heads 31 read start-of-record marks and actuate an impulse emitter 32 which starts clocks 33, 34 emitting A-pulses and intervening B-pulses respectively. Since the length of a record block is 80 characters, each clock emits 80 pulses. Each A-pulse cycles 8-stage counters 36. The data signals from the read heads are passed to a parallel-to-serial converter 37 from which the bits pass under the timing of the counters 36 to a compare unit 38. The sort is made on the first data character in each block and the compare unit issues signals defining the magnitude relationship of each first character from each block with each other first character. These signals are translated in the sort unit 39 into signals defining each character as first highest, second highest, ... , lowest, which signals are applied to data switch means 40 to connect the output lines of the parallel-to-serial converters 37 to the appropriate serial-toparallel converters 42 and thus to the write head. A two-way compare unit is shown in Fig. 7. Bit signals appear on lines 746, 747 the greater magnitude signal emerging on line 748, the lesser on 749. Flip-flops 759, 760 are switched off by reset signals on line 758 at the end of each record block and in this state condition gate 761 to pass timing pulses to gates 762, 764. Flip-flop 760 also conditions gates 751, 753, to connect lines 746, 747 to 748, 749 respectively. Should signal pulses appear on both lines 746 and line 747 no change in this condition takes place. If there is a pulse on line 746 but not on line 747, gate 762 opens, due to the action of inverter 763 connected to line 747, and flip-flop 759 is switched on, closing gate 761 and thus gates 762, 764 which are insensitive to any further input signals. Thus line 746 is latched to line 748, and line 747 to line 749 until a reset signal appears on line 758. If there is a pulse on line 747 but not 746, flip-flop 760 is switched on, closing gates 751, 753 and 761 and opening gates 752, 754. Lines 746 and 747 are thus latched to lines 749, 748 respectively until the reset signal on line 758. One method of utilizing two-way compare units to order four input signals A to D is described with reference to Fig. 12 (not shown). A and B, and C and D are compared, then the two highest and the two lowest, and finally the higher of the two low signals and the lower of the two high signals, using five compare units. In the preferred method however each input is compared with the other three, using six compare units the output lines being the pairs 85 to 90. If signal A is greater than signal B (C, D) it will appear on the left-hand line 85 (86, 87) otherwise on the right-hand line. Gate 101 is opened if A is less than B, C and D i.e. if A signals appear on the right-hand lines 85, 86, 87. A gate 102 or 103 is opened if A is greater than one of the signals B, C, D. A gate 109 or 111 is opened if A is greater than any two of the signals and gate 112 is opened if A is the greatest of the four signals. The signals B, C, D are similarly ordered relative to the other three signals by switches 92 to 94 respectively. Corresponding output lines e.g. 96, 196, 296, 396 are connected to sets of gates passing the record block distinguished by the e.g. lowest magnitude first character to the appropriate serial-to-parallel converter (in Fig. 1 the lines 96 and 396 are connected to output 228). The number N of heads required to sort a set of R record blocks in one pass is given by N = the lowest digit not less than ¢(1 + #8R - 7) The record blocks may be sorted with fewer heads in more than one pass of the tape if the heads when used in later passes are relocated to continue the arithmetic progression defined by the earlier passes. So, if four heads are being used, on the first pass the third and fourth heads are spaced two record blocks apart while on the second pass the first and second heads must be spaced three record blocks apart, the second and third four record blocks apart and so on.