Patent GB-1265006-A (GB)
IPC: G06F3/00
Filed: 1968-11-08
Abstract: 1,265,006. Digital computer. INTERNATIONAL COMPUTERS Ltd. 6 Nov., 1969 [8 Nov., 1968], No. 52949/68. Headings G4A and G4C. A data processing system comprises means for storing a set of first (Facts) statements, means for storing a set of second (Criteria) statements, means for comparing a Fact and a Criteria statement (each statement comprising a hierarchically arranged group of items) item by item so that, if the statements disagree, a further Fact statement is selected for comparison with the Criteria statement and, if they do agree, an operation specified in an item of the Criteria statement is carried out. A core storage memory 10 stores a file of fact statements (e.g. chemical data, Table I, page 7, not shown) and a file of Criteria statements (e.g. information retrieval requests, Table II, page 8, not shown). Each statement comprises several items and each item may have five sections, lengths (S) level (L), data name (N), logical relationship (R) and data value (V). It is stated that this format breaks down the distinction between problem data and programme instructions. Operation.-The first Facts statement is loaded into an associative memory AM by just storing the data name (N) of each item and the address of that item in memory MM. The first item of the first criteria statement is taken and the memory AM is inspected to see if it contains a data name (N) corresponding to the data name of the criteria item. If it does, the rest of that Fact item is looked up from the store 10 and compared with the Criteria item to see if their values (V) match. If they do the next criteria of the criteria statement is taken and the process repeated for each successful comparison until the last criteria item (which is indicated) when print out or other suitable action occurs. If the comparison does not agree, the remaining items of the current Criteria statement are passed over and any further Criteria statements including the item at the same or lower level (L) are passed over (Level (L) being indicated by indentation on Tables I and II where items included in more than one statement are shown only once). A new fact statement goes to memory AM and the process is repeated. Hardware.-Sequencing is carried out by a micro-programme unit (not shown), and also provided are a fact control unit (FCU), a criteria control unit (CCU) and a comparator (CMP). To load the first Fact statement into the memory AM, a fact address register F1 is loaded with the first item address which causes the item to be read into register FR. The first register of the memory AM is selected by the level (L) of the item and the name (N) and address (from register F1) are stored in the N and A parts respectively. If the fact item is not the last in the statement the lengths (S) section is added to the contents of register F1 in adder 20 to produce a new F1 address and the contents of the level (L) section stored in register FLX. The next item is brought from the memory MM and the cycle repeated until the end of the statement. To look up the first criteria item the address in register C1 brings the item (without data value V) to register CR. If the item is the end of a criteria statement it sets unit 22 but otherwise the name (N) is fed to the memory AM to search for the corresponding fact item as previously described. If one is found the fact item address is read into register 42 and causes the fact item to be sent to register FR. The value (V) sections of the respective items are read from memory MM into registers FV, CV under control of address registers 42 and C1  (both incrementing counters) where they are compared. If they agree, register CLX is increased by one and the cycle repeated. Other features.-The names (N) may be binary coded or alphanumeric and the system modified (Fig. 2, not shown) to include a push down store and a working store for storing items before print out. The level section (L) may be divided into two parts, the normal level as described and the adjectival level which describes the depth of the item within a nested series of adjectival clauses. The data is stored on magnetic tape.