Patent GB-809727-A (GB)
Title: System for merging pre-arranged data
IPC: G06F7/32
Filed: 1956-05-09
Abstract: 809,727. Merging digital data; electric digital - data - storage apparatus. NATIONAL CASH REGISTER CO. May 9, 1956 [May 19, 1955], No. 14472/56. Class 106 (1). In an electrical system for merging groups of data entries (serial arrays of binary coded information) stored in a cyclical memory of a digital computer, the entries in each group being previously separately arranged in sequence in accordance with the relative magnitude of selected data items in the entries, including two recirculatory registers synchronized with the memory, the selected data from an entry in one group is set up in one register, a complete entry from another group is set up in the other register, the selected data items set up in the register are compared, and the complete entry set up in the second register is transferred to the memory when a predetermined comparison relationship exists between the items. The system described forms part of a computer similar to that described in Specification 770,952, comprising a magnetic storage drum 101, Fig. 1, having a clock pulse channel 108 controlling binary and octal digit-perioddefining counters 117, 118, an arc address channel 109 (see Fig. 16) containing 64 successive octal numbers 0-77 each defining the address of the word next to be read from a main memory channel 111, and channels forming with the arithmetic unit 114 one-word recirculation registers E, F, G, H, and a further register J having four selectively operable read heads enabling 1, 2, 4 or 8 words to be stored. The unit 114 comprises bistable hard valve trigger circuits (called " flip-flops ") and a logical diode gating network. The operating sequence is determined by program counter 115 controlled by flip-flop K1 so as either to step on to the next value, or to skip or stay in the same condition, at the end of each word period. The operation example described comprises merging the groups of 4-word entries on main memory channels 10 and 12, Fig. 16, and recording the merged data on the channel 15. The entries relate to sales transactions in retail chain stores and may be initially obtained from tapes, the control data being 3-octal-digit stock numbers recorded in the second word in each entry. The entries in each channel (10 and 12) have previously been arranged in order of magnitude of these numbers. Fig. 10 shows an example of a " merge " command ; the words at the specified addresses m1, m2 and m3, which give respectively the entry length (1, 2, 4 or 8 words), control digits, and " terminal " addresses for channels 10, 12 and 15, are entered in registers E, F and G. Also, the word at an address adjacent to m3 which gives " initial " addresses, is entered in H, Figs. 13 and 14 showing the contents of registers G and H for the example of Fig. 16. In operation, the entry length code is passed to a cyclic shift register (flip-flops A1-A6, not shown), and sets flip-flops V1, V2 to select via gate 116 the read head which makes register J of corresponding length. Register E receives the first control word (261) in channel 10 whose address is given in the m1 position in H, Fig. 14. The first 4-word entry in channel 12 is then entered in register J, and the control numbers in E and J are compared. In the example, the number in J is less and the entry in J is therefore recorded in channel 15 commencing at the address given at the m3 position in H. The value " 4 " (number of words in an entry) is then added to the m3 address in H, and to the m1 or m2 address according to whether the last recorded entry came from channel 10 or 12 as indicated by the setting of a flip-flop A7 (not shown). The next entry in channel 10 or 12 (second entry in 12, in the example) is passed to register J and the control numbers in E and J (261 and 270) again compared. Since, in this instance, the number in E is less, the entry corresponding to this number is passed to J to be subsequently recorded as the second entry in channel 15, and the control word in J is transferred to E. After the second recording, " 4 " is added to m3 and ml in H and the second entry in channel 10 is passed to J. The compared control numbers are now equal (both 270), and in such cases the entry on channel 10 is recorded first as shown. Operations continue until one of the addresses in H equals the corresponding address in G (Figs. 14 and 13), when the merge routine is terminated. In the example illustrated, Fig. 16, this will cause the last entry in each channel 10 and 12 to be excluded, but this can be avoided by inserting larger terminal addresses in G.