PL165491B1

Circuitry for parallel processing of commands in a digital computer

Abstract

A digital computer system is described capable of processing two or more computer instructions in parallel and having a cache storage unit for temporarily storing machine-level computer instructions in their journey from a higher-level storage unit of the computer system to the functional units which process the instructions. The computer system includes an instruction compounding unit located intermediate to the higher-level storage unit and the cache storage unit for analyzing the instructions and adding to each instruction a tag field which indicates whether or not that instruction may be processed in parallel with one or more neighboring instructions in the instruction stream. These tagged instructions are then stored in the cache unit. The computer system further includes a plurality of functional instruction processing units which operate in parallel with one another. The instructions supplied to these functional units are obtained from the cache storage unit. At instruction issue time, the tag fields of the instructions are examined and those tagged for parallel processing are sent to different ones of the functional units in accordance with the codings of their operation code fields.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Granted
  4. Today

6 claims: 4 independent, 2 dependent

  1. 1
    Patent claims Zastrzeżenia patentowe 1. A system for the parallel processing of orders in a digital computer containing memory circuits, characterized in that it comprises a connecting circuit (11), whose input (11a) is connected to the output (10a) of the first memory circuit (10), preferably of high capacity and low speed, and the output (11b) is connected to the input (12a) of the second memory circuit (12), preferably being a low-capacity and high-speed cache, a circuit for downloading and issuing (16) instructions, whose input (16a) is connected to output (12b) of the second memory circuit (12), and at least two functional processing units (13, 14, 15) of commands whose inputs (13a, 14a, 15a) are connected to output (16b ) a circuit for downloading and issuing (16) orders. 1. Układ do równoległego przetwarzania rozkazów w komputerze cyfrowym zawierający obwody pamięciowe, znamienny tym, że zawiera obwód łączenia (11), którego wejście (11a) jest dołączone do wyjścia (10a) pierwszego obwodu pamięciowego (10), korzystnie o dużej pojemności i małej szybkości, a wyjście (11b) jest dołączone do wejścia (12a) drugiego obwodu pamięciowego (12), korzystnie stanowiącego pamięć podręczną o małej pojemności i dużej szybkości, obwód pobierania i wydawania (16) rozkazów, którego wejście (16a) jest dołączone do wyjścia (12b) drugiego obwodu pamięciowego (12), oraz co najmniej dwie funkcjonalne jednostki przetwarzania (13, 14, 15) rozkazów, których wejścia (13a, 14a, 15a) są dołączone do wyjścia (16b) obwodu pobierania i wydawania (16) rozkazów.
  2. 3
    The system according to claim 2, characterized in that the analyzer (22) of the complexity signals comprises a first instruction compliance detection circuit (30) whose two inputs (30a, 30b) of the instruction operational code 0 (OP0) and the instruction operational code 1 (OP1) are connected to the output ( 21b) of the input register (21) of orders, the second detection compliance circuit (31) of which the two inputs (31a, 31b) of the operational code of the instruction 1 (OP1) and the operational code of the instruction 2 (OP2) are connected to the output (21b) of the input register (21) orders, the first and second detection circuits (32, 33) dependencies of registers whose inputs (32a, 33a) are connected to the output (21b) of the input register (21) of orders, the first element I (34), whose first input (34a) is connected to outputs (30c) of the first detection circuit (30) of compliance of orders, the second input (34b) is connected to the output (32b) of the first detection circuit (32) register dependencies and the output (34c) is connected to the first input (M01a) of the generation circuit (26 ) markers, and the second element I (35), whose first input (35a) is connected to the output (31c) of the second detection circuit (31) of instruction compliance, the second input (35b) is connected to the output (33b) of the second detection circuit (33) of register dependencies and output (35c) is connected to the second input (M12a) of the tag generation circuit (26). 3. Układ według zastrz. 2, znamienny tym, że analizator (22) sygnałów złożoności zawiera pierwszy obwód detekcji (30) zgodności rozkazów, którego dwa wejścia (30a, 30b) kodu operacyjnego rozkazu 0 (OP0) i kodu operacyjnego rozkazu 1 (OP1) są dołączone do wyjścia (21b) rejestru wejściowego (21) rozkazów, drugi obwód detekcji (31) zgodności rozkazów, którego dwa wejścia (31a, 31b) kodu operacyjnego rozkazu 1 (OP1) i kodu operacyjnego rozkazu 2 (OP2) są dołączone do wyjścia (21b) rejestru wejściowego (21) rozkazów, pierwszy i drugi obwód detekcji (32, 33) zależności rejestrów, których wejścia (32a, 33a) są dołączone do wyjścia (21b) rejestru wejściowego (21) rozkazów, pierwszy element I (34), którego pierwsze wejście (34a) jest dołączone do wyjścia (30c) pierwszego obwodu detekcji (30) zgodności rozkazów, drugie wejście (34b) jest dołączone do wyjścia (32b) pierwszego obwodu detekcji (32) zależności rejestrów a wyjście (34c) jest dołączone do pierwszego wejścia (M01a) obwodu generacji (26) znaczników, oraz drugi element I (35), którego pierwsze wejście (35a) jest dołączone do wyjścia (31c) drugiego obwodu detekcji (31) zgodności rozkazów, drugie wejście (35b) jest dołączone do wyjścia (33b) drugiego obwodu detekcji (33) zależności rejestrów a wyjście (35c) jest dołączone do drugiego wejścia (M12a) obwodu generacji (26) znaczników.
  3. 4
    The system according to claim 3, characterized in that the first and second detection compliance circuits (30, 31) contain three decoders (40,41,45), codes with the input (40a) of the operating code of the order 0 (OP0), with the input (41a) of the code, respectively operational order 1 (OP1) and with the input (45a) of the operational order code 2 (OP2) connected to the output (21b) of the input register (21) of the instructions, the third element I (42), whose first input (42a) is connected to the first output ( 40b) the first decoder (40), and the second input (42b) is connected to the first output (41b) of the second decoder (41), the fourth element I (43), whose first input (43a) is connected to the second output (40c) of the first decoder (40), and the second input (43b) is connected to the first output (41b) of the second decoder (41), the fifth element I (46), whose first input (46a) is connected to the first output (41b) of the second 4. Układ według zastrz. 3, znamienny tym, ze pierwszy i drugi obwód detekcji (30, 31) zgodności rozkazów zawierają trzy dekodery (40,41,45), kody odpowiednio z wejściem (40a) kodu operacyjnego rozkazu 0 (OP0), z wejściem (41a) kodu operacyjnego rozkazu 1 (OP1) i z wejściem (45a) kodu operacyjnego rozkazu 2 (OP2) dołączonym do wyjścia (21b) rejestru wejściowego (21) rozkazów, trzeci element I (42), którego pierwsze wejście (42a) jest dołączone do pierwszego wyjścia (40b) pierwszego dekodera (40), a drugie wejście (42b) jest dołączone do pierwszego wyjścia (41b) drugiego dekodera (41), czwarty element I (43), którego pierwsze wejście (43a) jest dołączone do drugiego wyjścia (40c) pierwszego dekodera (40), a drugie wejście (43b) jest dołączone do pierwszego wyjścia (41b) drugiego dekodera (41), piąty element I (46), którego pierwsze wejście (46a) jest dołączone do pierwszego wyjścia (41b) drugiego 165 491 of the decoder (41), and the second input (46b) is connected to the first output (45b) of the third decoder (45), the sixth element I (47), whose first input (47a) is connected to the second output (41c) of the second decoder ( 41), and the second input (47b) is connected to the first output (45b) of the third decoder (45), the first OR element (44), whose first input (44a) is connected to the output (42c) of the third element I (42), the second input (44b) is connected to the output (43c) of the fourth element I (43), and the output (44c) is connected to the first input (M01a) of the generation circuit (26) markers, and the second OR element (48), whose first input (48a) is connected to the output (46c) of the fifth element I (46), the second input (48b) is connected to the output (47c) of the sixth element I (47), and the output (48c) is connected to the second input (M12a) of the circuit generation (26) tags 165 491 dekodera (41), a drugie wejście (46b) jest dołączone do pierwszego wyjścia (45b) trzeciego dekodera (45), szósty element I (47), którego pierwsze wejście (47a) jest dołączone do drugiego wyjścia (41c) drugiego dekodera (41), a drugie wejście (47b) jest dołączone do pierwszego wyjścia (45b) trzeciego dekodera (45), pierwszy element LUB (44), którego pierwsze wejście (44a) jest dołączone do wyjścia (42c) trzeciego elementu I (42), drugie wejście (44b) jest dołączone do wyjścia (43c) czwartego elementu I (43), a wyjście (44c) jest dołączone do pierwszego wejścia (M01a) obwodu generacji (26) znaczników, oraz drugi element LUB (48), którego pierwsze wejście (48a) jest dołączone do wyjścia (46c) piątego elementu I (46), drugie wejście (48b) jest dołączone do wyjścia (47c) szóstego elementu I (47), a wyjście (48c) jest dołączone do drugiego wejścia (M12a) obwodu generacji (26) znaczników
  4. 5
    The system according to claim 2, characterized in that the tag generation circuit (26) includes the first NIE element (52), whose input (52a) is connected to the first output (22b) of the analyzer (22) of complexity signals, and the output is connected to the input (27b) of the register output (27) orders, the second element NIE (55), whose input (55a) is connected to the second output (22c) of the analyzer (22) of complexity signals, the third element OR (54), whose first input (54a) is connected to the first output (22b) of the analyzer (22) of complexity signals, the second input (54b) is connected to the output (55b) of the second element NIE (55), and the output is connected to the input (27c) of the register output (27) orders. 5. Układ według zastrz. 2, znamienny tym, ze obwód generacji (26) znaczników zawiera pierwszy element NIE (52), którego wejście (52a) jest dołączone do pierwszego wyjścia (22b) analizatora (22) sygnałów złożoności, a wyjście jest dołączone do wejścia (27b) rejestru wyjściowego (27) rozkazów, drugi element NIE (55), którego wejście (55a) jest dołączone do drugiego wyjścia (22c) analizatora (22) sygnałów złożoności, trzeci element LUB (54), którego pierwsze wejście (54a) jest dołączone do pierwszego wyjścia (22b) analizatora (22) sygnałów złożoności, drugie wejście (54b) jest dołączone do wyjścia (55b) drugiego elementu NIE (55), a wyjście jest dołączone do wejścia (27c) rejestru wyjściowego (27) rozkazów.