WO1981001892A1 - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
WO1981001892A1
WO1981001892A1 PCT/JP1980/000333 JP8000333W WO8101892A1 WO 1981001892 A1 WO1981001892 A1 WO 1981001892A1 JP 8000333 W JP8000333 W JP 8000333W WO 8101892 A1 WO8101892 A1 WO 8101892A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
vector
group
instructions
wait
Prior art date
Application number
PCT/JP1980/000333
Other languages
English (en)
French (fr)
Inventor
Keiichiro Uchida
Tetsuro Okamoto
Original Assignee
Fujitsu Ltd
Keiichiro Uchida
Tetsuro Okamoto
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Keiichiro Uchida, Tetsuro Okamoto filed Critical Fujitsu Ltd
Priority to DE8181900086T priority Critical patent/DE3071919D1/de
Priority to AU66450/81A priority patent/AU528849B2/en
Publication of WO1981001892A1 publication Critical patent/WO1981001892A1/ja
Priority to US08/469,769 priority patent/US5499350A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Definitions

  • the present invention relates to an information processing system, especially for scientific and technical calculations.
  • Vector computing units that execute vector instructions are so-called
  • -A series of data can be converted into multiple operation stages connected in series.
  • a scalar computing unit is a computing unit that processes one data with one instruction.
  • the data processing unit that forms the center of the information processing system is, for example, as described above. Including both scalar and vector arithmetic units, these scalar and vector arithmetic units are operated under the management of a shared instruction controller. .
  • the instruction controller exchanges data with the main memory attached to the information processing system. Since the vector arithmetic unit handles a large amount of data, the instruction controller does not directly exchange data with the above main memory, but via a so-called vector * register. It is common to do this.
  • This vector register is considered to be a kind of cache memory, but it differs from cache memory in that the amount of data held is a vector. The fact that the truss and the registor are much larger, and that the vector regis- ter is that the ° program is recognizable.
  • a program is set up according to the purpose of planting, but in ii above, a scalar computing unit is included in it.
  • program steps that are oriented to the vector and those that are oriented to the vector computing unit.
  • program steps and vector functions for these scalar operations are performed. Arithmetic program steps and power; executed one by one in order.
  • the execution time of these programs is considerably shorter than that of general-purpose computing units. This is because vector computing units are used.
  • both the vector operation unit and the scalar operation unit exist independently in the information processing system. This is a shortened answer.
  • a program step for scalar operation is extracted from a different program, and a program step for scalar operation is extracted. Then, the scalar operation unit and the vector operation unit may process the corresponding programs at the same time. In other words, parallel processing is performed. As a result, the execution time of the above program is further reduced.
  • parallel processing that takes into account the conflicts between the Scalar immersion and the vector operation is considered.
  • ⁇ . ⁇ small It is to provide an information processing system that can be used. Furthermore, not only scalar operation instructions and vector operation instructions, but also instructions expressed by a series of program steps are executed by a plurality of operation units according to the execution order. When operating independently, the presence or absence of a conflict in the instruction operand can be specified by the ° program so that the instruction operator can operate at high speed.
  • An object of the present invention is to provide an information processing system capable of realizing parallel processing that guarantees the conflict of the code.
  • a special instruction newly adopted is inserted in advance into a series of scalar operation instructions and a vector operation instruction, and the special instruction or the special instruction group is inserted.
  • the execution order of the pop-up dram group based on the above-mentioned instruction group is serialized or parallelized.
  • FIG. 1 is a block diagram showing a general configuration of an information processing system to which the present invention is applied;
  • FIG. 2 is a block diagram showing an example of the configuration of the vector computing unit 14 shown in FIG. 1;
  • FIG. 3A is a schematic diagram showing a general mode of data processing in the information processing system 10 shown in FIG. 1.
  • FIG. 3B is an information processing system shown in FIG. Flow chart showing the parallel processing mode of data processing for item 10 Bird
  • FIG. 3 is a flowchart showing an example of a processing mode based on the present invention for data processing in the information processing system 10 of FIG. 1;
  • Fig. 4 is a block diagram showing an embodiment of the vector computing unit 14 shown in Fig. 1 according to the present invention.
  • Fig. 5 is a sequence diagram used to explain the operation of the circuit in Fig. 4;
  • Fig. 6 shows the bit instruction detection circuit shown in Fig. 4.
  • FIG. 7 is a diagram schematically showing the operation to be performed by each of the mouth-storage units 21-0 to 21-n in FIG. 2;
  • FIG. 8 is a diagram showing the load Z in FIG.
  • FIG. 6 is a diagram schematically illustrating an operation mode when the load instruction by the store unit and the store address coincide with each other when the load instruction of the present invention is used. Case diagram;
  • Fig. 9 is a schematic diagram showing the case where the load Z store process for vector operation A and the load / store process for vector operation B overlap.
  • FIG. 10 shows the serialization start instruction (POST) and deserialization
  • FIG. 11 is a sequence diagram showing an example of a vector calculation process using a discrimination number (ID) based on the present invention.
  • FIG. 12 is a block diagram showing an example of a control circuit capable of executing the sequence as shown in FIG. 11;
  • Fig. 13 is a block diagram showing an example of a circuit for serializing between vector instructions with different identifiers (ID-1) attached to the vector instructions themselves. It is a lock diagram.
  • FIG. 1 is a block diagram showing a general configuration of an information processing system to which the present invention is applied.
  • reference numeral 10 denotes an information processing system.
  • the 1.1 includes a scalar operation unit 13, a vector operation unit 14, and an instruction controller 15.
  • the instruction controller 15 fetches the instruction 1ST from the main memory unit 12, decodes it, and distributes it to the scalar operation unit 13 or the vector operation unit. Do.
  • the scalar operation unit 13 which has received the scalar operation instruction IST S from the instruction controller 15 performs predetermined processing by executing the main memory unit 12 and the data D]? o a ⁇ controller 1 5 or Labeling click preparative Le computation instruction I Bae click preparative Le calculator 1 4 which has received the ST V for the run Shume mode Li section 1 2 and the data D of Ya]) and ! )
  • the instruction is a scalar operation instruction or a vector operation instruction can be identified by an instruction code.
  • the operation to be performed by the scalar computing unit 13 is, taking a simple example,
  • 3 ⁇ 4 means the operation of the vector amount.
  • Fig. 1 A specific example of the vector computing unit 14
  • Fig. 2 shows one of the vector computing units 14 shown in Fig. 1.
  • FIG. 2 is a block diagram showing a configuration example.
  • Fig. 2
  • Reference numeral 12 denotes the main memory shown in FIG. 2 1-0,
  • the data in the main memory section 12 is loaded into the vector register 22 independently, or the vector register is loaded independently.
  • the data in the data 22 is stored in the main memory 12.
  • the vector operation unit 23 is connected to the vector register 22 by scanning.
  • An operation is performed by touching the stored data, and the result of the operation is stored in the vector register 22.
  • the data to be processed is always in the vector register 22.
  • vector registers 22 store large amounts of data.
  • the number of memory block sizes reaches 100 times or more.
  • the cache memory can be recognized by the program, but the vector register can be recognized by the program.
  • the configuration of the vector computing unit 14 ′ (FIG. 1) shown in FIG. 2 is an example, and the configuration shown by “The CRAY-1 Computer System” is also an example. (See Communications of the ACM, January 1978, Volume 21 ". Number 1, Page 6 6» by Richard M. Russell of Cray Researeh, Inc.). .
  • FIG. 3A is a flowchart showing a general mode of data processing in the information processing system 10 of FIG. In the figure, VI, V2, V3... Indicate the first, second, third... Vector operation instructions, respectively.
  • SC1, SC2, SC3 indicate the first, second, third ... scalar operation instructions, respectively.
  • the instruction controller 15 shown in FIG. 1 sends instructions one by one as shown in FIG.
  • the scalar operation unit 13 that executes the program based on the scalar operation instruction and the program based on the vector operation instruction Run the Ram ⁇ . ⁇ ⁇ ⁇
  • Fig. 3B shows the information processing system .10 of Fig. 1.
  • the above-mentioned problems arise.
  • the problem is that vector operations
  • vector data A The information processing system 10 in the figure; vector data A,
  • the vector operation unit 14 (Fig. 1) uses the above-mentioned control register to perform vector operation. In this mode, parallel processing is disabled when execution of step 4 is completed, and control is returned to the parallel processing mode again after the execution of the vector immersion instruction V5 is completed. .
  • control is performed for inputting information to the control register and rewriting the information. It is cumbersome and causes a drawback that the processing speed of the entire information processing system is reduced.
  • a special instruction is inserted at about the arrow SYNC in FIG. 3A. This special order is
  • FIG. 3C shows the data processing in the information processing system 10 of FIG. 1 based on the present invention.
  • the execution step WAIT of the ⁇ ⁇ instruction is the special instruction described above.
  • the information processing system 10 is allowed to operate in the 9-parallel processing mode according to the above-mentioned control register.
  • the instruction controller 15 (FIG. 1) mainly stores a series of instructions in the form of a weight command inserted at the arrow SYNC in the step group of FIG. 3A.
  • the set vector calculation% (V1 to V4 :) is sent to the vector calculator 14.
  • a set of scalar operation instructions SC1
  • FIG. 4 is a block diagram showing one embodiment of the vector operation unit 14 shown in FIG. 1 based on the present invention. In this figure, the main memory unit 12, the vector operation unit 14 and the instruction controller 15 have already been described. The operation is as follows ).
  • First instruction controller 1 5 or these Bae click preparative Le instructions (IST V) is sequentially be sampled A once instruction Les Soo motor 4 0 1. Further, the instruction is transferred to the decoder 402, and the instruction is decoded. The instruction is executed by the pipeline processing unit.
  • This 0- ipline M processing unit corresponds to one of the pipeline units (24-0, 24-1 :) shown in FIG. 2, and is actually shown in FIG.
  • a high-line operation control unit 403 and a vector instruction operation unit 404 are used. Under the control of the high-plane operation control unit 403, the vector instruction operation unit 404 latches the input data Din from the main memory unit 12 and outputs the data. The output data Dout, which is the processing result, is restored to the main memory unit 12 again.
  • the 0- plane processing section (403, 404) may not be able to complete the processing. For this reason, the vector instruction group transmitted from one to the next is temporarily held in the instruction buffer section 406 via the input gate 405 and waits until the serial number comes. From the output gate 407 Up to 402.
  • the previously described control register is shown in FIG. 4 as the upper control register 411.
  • the outlet register 4 is
  • control register 411 is a test signal from the outside when the vector computing unit 14 is diagnosed.
  • the instruction controller 15 When the instruction controller 15 finishes transmitting the set of vector operation instructions, the instruction controller 15 terminates the transfer of the set of vector operation instructions.
  • the operation end information OPEND shown is sent to the operation end receiving section 412.
  • the vector computing unit 14 stores the operation end information in the reception unit 4 12.
  • FIG. 5 is a sequence diagram used for explaining the operation of the circuit in FIG. As mentioned above, information
  • the signal passes through the OR gate 414, the AND gate 415, and the OR gate 416, and becomes a signal VIS of logic "0" (a vector operation instruction can be transmitted) ( In this case, the other input of the AND gate 415 and the AND gate 17 has a logic "0" (described later).
  • Instruction system city unit 1 5 that has received the signal VIS of logic "0" or Ku to again sends the next pair click preparative Le operation instruction IST V to vector preparative Le calculator 1 4.
  • the one OMPI precedes the operation end information OPEND following the vector operation instruction V4.
  • WAIT wait instruction
  • the signal VIS is briefly output as shown in column C) of FIG.
  • the logic "1" vector command cannot be sent
  • changes to logic "0” vector command can be sent. Therefore, column C) represents parallel processing, ⁇ :: f mode.
  • the signal VIS is switched from logic "1" to "0" when the execution of one set of vector operation instructions is completed. See ISTEND (C in Fig. 5): ).
  • the P-bit instruction detection circuit 421 of FIG. 4 detects this.
  • a weight signal WS of logic "1” is output to the AND gate 417, and at this time, the PZS bit of the control register 41 1 is output. Is a logical "1" (parallel processing is possible), the AND gate 417 is opened, and the logical "1" is an OR gate 414 and an AND gate 415 (vector operation). Until the execution of the instruction group is completed (ISTEND), the output of the NAND gate 432 is logical "1" and the signal VIS of the logical "1" through the OR gate 416 ( ⁇ (Cutle command cannot be sent).
  • the instruction end detection circuit 43-1 outputs the instruction end signal IES of logic "1"
  • the output logic of the ND gate 415 is set to “0” via the above-mentioned NAD gate 432, and the OR gate 416 is connected to the ND gate 415.
  • a signal vis of logic "0" (the next vector operation instruction group may be transmitted) is supplied to the instruction controller 15 via the instruction controller 15, and the next processing is started again.
  • the instruction end detecting circuit 43 1 determines that the instruction register 401 is empty (line 44 2) and that the instruction buffer section 46 is empty ( ⁇ Ha on gastric emissions 4 4 1), c 0 plug Lee down processing unit (4 0 3, 4 0 4) the process and the end lower child of (La Lee down 4 4 3) main Note Li section 1 2.
  • the signal IES also resets (RST) the P-bit instruction detection circuit 421 so that it can accept a new P-bit instruction.
  • the instruction controller 15 stores the P-bit instruction
  • the instruction controller 15 also transmits the scalar operation instruction SC5 (see FIG. 3C) after the ⁇ it instruction (WAIT). Then, the execution of the previous set of scalar instructions SC1 to SC4 in the scalar operation unit 13 (FIG. 1) is completed.
  • the instruction controller 15 confirms that the signal VIS has become logic "0" (a vector operation instruction can be sent)
  • the instruction controller 15 for the first time causes the vector controller to execute. 1 to 4 and the scalar operation unit 1 to 3, respectively:
  • the scalar operation unit 13 also has a circuit similar to the weight PD instruction detection circuit 421, but is not shown. In general, the time required for vector operation processing is the time required for scalar operation processing.]?
  • Instruction controller 5 outputs the signal VIS of the vector operation unit.
  • u means to prohibit processing (see Fig. 3) and perform serial processing (see Fig. 3). Then, the AND gate 4 17 in FIG. 4 will be closed regardless of the presence or absence of the light instruction signal WS.
  • the logic "1" of 24 is OR gate 414, AND gate 415 And, through the OR gate 416, the signal VIS is set to logic "1" (vector operation instruction cannot be sent). Then, the operation end information OPEND is received from the instruction controller 15 by the reception unit 4 12 (this is returned to the controller 15 via the line 4 46). And the logic "1" of the signal VIS is determined by the instruction execution end signal IES] ?, through the NAD gate 432, the AND gate 415, and the OR gate 416. Then, when the logic is changed to "0", the instruction controller 15 sends the next instruction group (see column B in FIG. 5). Boxes)) and B) indicate the serial processing mode.
  • the OR gate 416 in FIG. 4 transmits the buffer full signal FS (logic “1”) from the run-time buffer section 406 via the line 445. And receive. This is because when the instruction buffer section 406 becomes full, it is possible to receive successive instructions from the instruction controller 15. ⁇
  • FIG. 6 is a block diagram showing a specific example of the bit instruction detection circuit 421 shown in FIG.
  • the circuit 421 is composed of a wait instruction (WAIT) from the instruction register 401 (FIG. 4) and an instruction end detection circuit 431 (FIG. 4).
  • the reset signal RST (same as the instruction end signal IES) is received and the ⁇ -bit signal WS (FIG. 4) to be output to the AND gate 417 (FIG. 4) is formed. I do.
  • the received wait instruction WAIT is
  • Number W is held by flip flop 62.
  • FIG. Fig. 2 shows the base shown in Fig. 1.
  • FIG. 3 is a block diagram showing a detailed configuration example of the vector arithmetic unit 14] 3, the description of which has already been made.
  • FIG. 2 when the load / store is executed by the load / store section 21-0 to 21-n, the mouth and the store are the first and the second. This is done as shown in Figure 7.
  • FIG. 7 is a diagram schematically showing an operation to be performed by each of the Z storage units 21-0 to 21- ⁇ in FIG. In this figure, VL indicates that the load store section loads (fetches) data from the main memory section 12 (FIG. 2). It is a vector load.
  • VST indicates that the load store section stores data in the main memory section 12. So-called vectors and stores.
  • t represents the elapsed time.
  • the vector load VL described above is performed at the address @ of the main memory unit 12, and the vector store is performed at the address of the main memory unit 12. This is done in Les®.
  • these address ⁇ and the address ⁇ are sometimes the same. In this case, if you load the address ® data and then process the data to store it on the address ®, you must follow the order of ⁇ Naturally, logical contradictions arise. It is very effective to introduce the above-mentioned wait instruction to resolve such a logical contradiction. This is illustrated in Fig. 8.
  • Fig. 8 shows the load Z of Fig. 2.
  • VL, VST, and WAIT are as described above.
  • VA and VM mean the contents of vector operations, for example, vector at (+) and vector multiply (X :).
  • Vector load
  • the vector store VS is executed after the processing of the vector operation groups VL, VA, and M is completed. That is, the vector operation groups VL, VA, and VM are processed from time t1 to time t2, and thereafter, execution of the vector store VST is performed at time t'3]. Start. Therefore, the period T between times t.1 and t2 is a waiting time. Thus, the occurrence of the above-described logical inconsistency is avoided.
  • the load / storage unit 21-1 (Fig. 2) performs ⁇ -do / store processing
  • the vector calculation A disadvantage arises when the load store section 21-n (Fig. 2) for B overlaps with the load Z store processing.
  • Figure 9 shows the loadstore processing and vector operation B for vector operation A.
  • FIG. 9 is a sequence diagram schematically showing a case where a load store process is duplicated.
  • VL (A), VA (A) and VM (A) mean the above-mentioned operation group for vector operation A
  • VL (B), VA (B) and VM (B) means the above-mentioned operation group regarding vector operation B.
  • WAIT wait run
  • the present invention introduces a sub-byte instruction SUB-WAIT in addition to the above-mentioned byte instruction WAIT.
  • the sub-wait instruction SUB-WAIT is used together with the post instruction POST.
  • Post instruction here POST is a serialization start instruction, J9
  • sub- G Instruction SUB-WAIT is a deserialization instruction.
  • Figure 10 is a sequence diagram for explaining the serialization activation instruction (POST) and the deserialization instruction (SUB-WAIT :).
  • this figure generally describes the vector operation group used in the above-mentioned “Description of FIG. 9—FIG. 9”. That is, it is assumed that the vector operation instructions V 1, V 2 ′, V 3,... Have been transmitted, and the serialization start instruction POST (A) and the deserialization instruction SUB-WAIT (A) is related to vector operation A after vector operation instruction VI and
  • a serialization instruction POST (B) and a deserialization instruction SUB-WAI (B) are inserted for the vector operation B as necessary. If it is inserted after vector operation instruction 2 and before V7, respectively (see the left column in Fig. 10), these vector operation instructions will be Serialized and parallelized as shown in the column. These are all executed by the time the above-mentioned bit instruction WAIT appears, and the other instructions V 3, V 4 and
  • V 6 finds an empty vector calculator and is processed in parallel. Therefore, in order to reduce the waiting time T in Fig. 9, a serialization start instruction (POST) is inserted after VM (A), and a deserialization instruction (SUB-WAIT) is inserted before VST. The ⁇ -bit instruction WAIT can be shifted after that VST.
  • POST serialization start instruction
  • SUB-WAIT deserialization instruction
  • the ⁇ -bit instruction WAIT can be shifted after that VST.
  • the one related to the vector operation A and the one related to the vector operation B are classified into (A) and (B).
  • the present invention further introduces an identification number. This identification number is referred to as an ID (Identification) number.
  • FIG. 11 is a sequence diagram showing an example of a vector calculation process using an identification number (ID) based on the present invention.
  • ID identification number
  • FIG. 11 it is first assumed that the following conditions are satisfied. That is, prior to executing the vector store VST (instruction F), the vector load VL (instruction A) and the vector load VL (instruction B) are connected. It must be performed. Also, the vector store (instruction C :) is executed prior to the execution of the vector load VL (instruction G).
  • each vector port * instruction and vector store instruction are different c.
  • the processing unit will give the identification number ID 2. Or Ku of ⁇ . Wards, identification number (IDi, ID 2) Bruno Lee flops la Lee emission processing unit which is applied during we leave for executing the corresponding instruction, and issues a busy signal. And given the instruction SUB-WAIT (I)
  • FIG. 12 is a block diagram showing an example of a control circuit capable of executing the sequence as shown in FIG. In this figure, the meanings of the reference numbers 12, 21-0, 21-1-21-n and 22 are as described above.
  • the instruction transmission control unit 124 detects this, and discriminates the vector and row before that.
  • the serialization start instruction POST (2) is set to the instruction register 12 1, the same applies.
  • the control unit 124 sets the identification number ID 2 in the defraud register (125-0 to: 125-n), and then executes the deserialization instruction SUB-WAIT
  • the control unit 12 Reference numeral 4 denotes an identification number ID, which indicates whether or not the bus signal is present in the pipeline processing unit. Find out. If a bi-cool signal is issued from one of the high-line processing units, the next instruction F to be set in the instruction register 12 21 is a standby instruction. Set it in the register 122-0 or 122-1 and wait for inspection. Wait for the signal to disappear, and then set the contents of instruction register 1 2 2.-0 or 1 2-2-1 to Lun instruction register 12 3. .
  • the instruction SUB-WAIT C 2) is set in the instruction register 12 1, the operation is the same as that for the instruction SUB-WAIT (l).
  • serialization start instruction POST and the deserialization instruction SUB-WAIT are each one independent module.
  • the command code of the vector command and the command of the vector and store were added to the ID (or ID). 1) may be included. However, the same identification numbers are used for these instructions for vector operation A.
  • the above-mentioned identification number (for the vector operation A) and another identification number are used.
  • FIG. 9 is a block diagram showing an example of a circuit for serializing between related vector instructions with (identification code) added. That is, the last serialization (instruction
  • reference numeral 131 denotes an instruction control unit]), which receives a vector operation instruction from the instruction controller 15 (FIG. 1). Then, among the registers 1332-0, 132-1, 132-2-2, etc. of the waiting instruction, the vectors are stored in the empty waiting register. Store the operation instruction.
  • the instruction input determiner 1333 stores the vector operation instructions stored in the registers 1332-0, 132-1, 132-2-2,. Check whether or not one vector instruction arithmetic unit (see 404 in Fig. 4) corresponding to each is inactive. Also, check if a collision has occurred in the operand data (see Din in Fig. 4).
  • the PP processing unit performs processing according to the vector operation instruction.
  • Vector store VST (2) VR-G A to G indicate vector data, respectively.
  • These vector instructions (VL (1), VL (2), VA, VST (l), VL (3), VL (4), VM and VST (2) are Registers 1332-0, 1332-1, 1332-2 ...
  • the vector load instruction VL (1) is executed and the vector is stored.
  • the data A is flushed from the main memory section 12 and written into the vector register 22 (FIG. 2), and then the vector port
  • the command VL (2) is executed, and the vector data B is flushed to the main memory section 12!), And written to the vector register.
  • the vector-at instruction VA is executed.
  • the vector data which is the operation result, is written to the vector register VR. Since the vector multiply instruction M does not use the vector data C, the vector multiply instruction M can be executed in parallel with the execution of the vector and at least instructions. . And vector and end instructions
  • the vector load instruction (VL) is empty because the corresponding load store (see 21-0 to 21- ⁇ in Fig. 2) is empty. (3) and VL (4) are executed successively, and vector data E and F are main memory sections.) Fetched and vector register VR Stored in
  • the vector-store instruction VST (l) is executed, and the vector data that is the result of the operation is loaded into the z-store. The data is written to the main memory via the memory unit, and at the same time, it acts on any of the paused vector instruction arithmetic units to copy the vector data E and F. A multiply run is performed.
  • the vector data G which is the operation result, is transferred to the main memory via the load Z store.
  • the registers (1 3 2 — 0, 1 3 2-1, 1 3 2-2 ...), the instruction input decision unit 13 3, and the registers (1 3 4-0, 1 3-4-1, 1 3 4-2 ⁇ )]) a program that is predetermined according to the designation of identification numbers (1), (2), (3)... Execution order (see Fig. 3A)
  • the instruction execution can be performed without being restricted by the instruction.

Description

明 細 書
発明の名称
情報処理シ ス テ ム
技術分野
本発明は情報処理シ ス テ ム 、 特に科学技術計算用
の情報処理の如 く 大量のデータ を高速で処理する シ
ス テ ム 、 いわばス ー ハ。 一 · コ ン ヒ。 ュ 一タ に属する情
報処理シ ス テ ム に関する。
背景技術
科学技術計算用の情報処理の如 く 大量のデー タ を
高速で処理する シ ス テ ム を実現する場合、 一般的な
汎用演算器 ( 汎用コ ン ビ ユ ー タ ) を寄せ集めただけ
では該シ ス テ ム の実現は殆ど不可能である。 そこで
近年、 ベ ク ト ル命令な る も のが提案され、 その よ う
なシ ス テ ム を経済的且つ高効率で実現でき る よ う に
った。 こ こにべク ト ル侖令 とは、 大量のデータ を
1 つの命令で処理する こ との で き る命令を意味 し、
ぺク ト ル命令を実 する べク ト ル演算器はいわゆる
ハ°ィ プ ラ イ ン 処 Sと い う考え方を基礎と している こ
とが多い。 こ のハ°ィ プ ラ イ ン処理は既に周知であ j? .
- 連のデー タ群を、 直列接続された複数の演算ス テ
ー ジの中に次か ら次へと違続 して送出 し、 連続的に
処理結果を得る も のである。 上述のぺク ト ル演算器
は、 又、 ス カ ラ演算器に対比 して観念される も ので
ΟΜΡΙ
ゝ WIPO― .
7 ノ ある。 ス カ ラ演算器と は 1 つのデ ー タ を 1 つの命令 で処理する演算器の こ と である 。
本発明において言及する情報処理シ ス テ ム は、 大 量のデ ー タ を高速処理する も のであるか ら、 該情報 処理シ ス テ ム の中心を ¾すデー タ処理部は例えば、 前述 したス カ ラ演算器と べク ト ル演算器の.双方を含 み、 これらス カ ラ演算器およ びベ ク ト ル演算器は、 共有の命令制御器の管理の も とに動作せしめ られる。 該命令制御器は前記情報処理シ ス テ ム に付帯する主 メ モ リ とデー タ 交換を行な う.。 なお、 べク ト ル演算 器は大量のデータ 'を扱 う ため、 前記命令制御器は前 記主メ モ リ と直接データ 交換を行なわず、 いわゆる ぺク ト ル * レ ジ ス タ を介 して行な う のが普通である。 こ の べ ク ト ル · レ ジ ス タ は一種のキ ヤ ッ シ ュ · メ モ リ と考え られるが、 キ ヤ ッ シ ュ · メ モ リ と異なるの は、 保持する デー タ量がべ ク ト ル , レ ス タ の方が 非常に大であ る こ と、 ベ ク ト ル · レ ジス タ は;° ロ グ ラ ム が認識可能である こ と、 である。
と こ ろで、 上記情報処理シ ス テ ム の中では植々 の 計算目的に応 じてプ ロ グ ラ ム が組まれるわけである が、 上記の iiではその中にはス カ ラ演算器を指向 し たプ ロ グ ラ ム ス テ ッ プと べク ト ル演算器を指向 した プ ロ グ ラ ム ス テ ッ プが混然 と存在する。 そ して これ ら ス カ ラ演算用 の プ ロ グ ラ ム ス テ ッ プ と べク ト ル演 算用のプロ グ ラ ム ス テ ツ プと力; 1 つ 1 つ順番に実行 されて行 く 。 これ らプ ロ グ ラ ム の実行時間は一般の 汎用演算器に比 して相当短縮されている。 なぜな ら べク ト ル演算器が利用されているか らである。 と こ ろ が こ の ベ ク ト ル演算器と ス カ ラ演算器の双方が 該情報処理シ ス テ ム 内に独立に存在する.こ と に着目 すればそのプロ グ ラ ム実行時間は も つ と短縮される 答である。 すなわち、 一違のプ ロ グ ラ ム の う ちス カ ラ演算用のプ ロ グ ラ ム ス テ ッ プを抽出 し、 又、 べク ト ル演算用のプ 口 グ ラ ム ス テ ッ プを抽出 レて、 それ ぞれス カ ラ演算器 と べク ト ル演算器が同時に対応す る プ ロ グ ラ ム を処理すれば よ い。 つま ])並列処理を 行なわせるのであ る。 カゝ く して前記のプロ グ ラ ム の 実行時間はさ らに短縮される こ と になる。
と こ ろが前記並列処理には問題があ る。 こ の並列 処理ではス カ ラ演算用 の プ ロ グ ラ ム ス テ ツ プ と ぺク ト ル演算用のプ ロ グ ラ ム ステ ツ プが分離して実行さ れるが、 これ らプ ロ グ ラ ム ス テ ッ プの間には命令ォ ペ ラ ン ドに関する コ ン フ リ ク 卜 が生じている可能性 がある。 この命令オ ペ ラ ン ド の コ ン フ リ ク ト を無視 したのでは所期の結果が得られな く な る と い う 問題 である。 そこでこの問題を解決するために、 本出願 入は次の手法を試みた。 先ず、 コ ン ト ロ ール · レジス タ を該情報シ ス テ ム 内に導入する 。 こ の コ ン ル · レ ジ ス タ は並列処理を実行 して も 良いか又はこ れを禁止すべき かの情報を保持する 。 そ して前記べ ク ト ル演算用のプ ロ グ ラ ム ス テ ッ プを指示する一連 のべク ト ル演算命令群の終 ]? にォペ レ 一 シ ョ ン · ェ ン ド情報-を付加 してお く 。 こ の オ ペ レ ー シ ョ ン , ェ ン ド情報が発生した と き に、 前記コ ン ト ロ ー ル · レ 'クス タ の情報をチ - ッ ク し、 も し該情報が、 並列処 理を続行 して も 良い とい う 内容を示 していれば引続 き 次のベ ク ト ル演算命令の実行に移る。 も し該情報 が、 並列処理を禁止 しなければな ら いと い 内容 を示 していれば、 引続 く 次のぺク ト ル演算侖令の実 行を、 許可がある ま で、 停止する と い う も のである 然 し上記の本出願人の試みは好ま しい結果を も た らさ なかった。 こ の理由は、 前記コ ン ト ロ ー ル . レ ジ ス タへの情報の入力な らびに該情報の書換えのた め処理がかな ]? 煩雑 と ]3 、 情報処理シ ス テ ム 全体 の処理速度を遅 く する こ とに な つ て しま ったか らで ある
発明の開示
本発明の 目 的は前記コ ン ト ロ ー ル · レ ジ ス タ の情 報に直接左右される こ と な く 、 従 って情報処理シ ス テ ム 全体の処理速度を遅 く する こ と る しに、 ス カ ラ 漬算侖令と べク ト ル演算侖令 と の才ペ ラ ン ドの コ ン フ リ ク ト を考慮 した並列処理を実現させる こ と ので
Ο. ρι 小 き る情報処理シ ス テ ム を提供する こ とである。 さ ら に、 ス カ ラ演算命令、 べク ト ル演算命令に限 らず、 一連のプ ロ グ ラ ム ス テ ッ プに よ 表わされる命令を, 複数の演算器がその実行順序に よ らず、 独立に動作 している時、 命令オ ペ ラ ン ド の コ ン フ リ ク ト の有無 を:° ロ グラ ム で指定で き る よ う に し、 高.速に命令ォ ペ ラ ン ドの コ ン フ リ ク ト を保証 した並列処理を実現 させる こ とのでき る情報処理シ ス テ ム を提供する こ とであ る。
本発明に よれば、 新たに採用された特別の命令を. —連のスカ ラ演算命令群 よ びべク ト ル演算命令群 の中に予め挿入 し、 該特別の命令又は該特別の命令 群に よ つて上記命令群に基づ く プ 口 ダラ ム群の実行 順序を直列化又は並列化する よ う に している。
図面の簡単 ¾説明 - 第 1 図は本発明が適用される情報処理シ ス テ ム の —般的な構成を示すプ ロ ッ ク 図 ;
第 2 図は第 1 図に示したべク ト ル演算器 1 4 の一 構成例を示すブ ロ ッ ク図 ;
第 3 A 図は第 1 図の情報処理シ ス テ ム 1 0 におけ るデータ処理の一般的なモ 一 ドを示すフ 口 一 チ ヤ 一 第 3 B 図は第 1 図の情報処理シ ス テ ム 1 0 に け るデータ処理の並列処理モ ー ドを示すフ ロ ー チ ヤ 一 卜
第 3 図は第 1 図の情報処理シ ス テ ム 1 0 における データ処理の本発明に基づ く 処理モ ー ド の 一例を示 すフ ロ ー チ ャ ー ト ;
第 4 図は第 1 図に示 したべク ト ル演算器 1 4 ·の本 発明に基づ く 一実施例を示すプ ロ ッ ク 図.;
第 5 図は第 4 図の回路の動作説明に用いる シーケ ン ス図 ;
第 6 図は第 4 図に示 したゥ - ィ ト 命令検出回路
4 2 1 の具体例を示すブ ロ ッ ク 図 ;
第 7 図は第 2 図における 口 一 ド ス ト ァ部 2 1 - 0 〜 2 1 - n の各 々 がなすべき動作を図解的に示す図; 第 8 図は第 2 図の ロ ー ド Z ス ト ァ部に よ る ロ ー ド およ びス ト ァのァ ド レ ス が一致 した場合に本発明の ゥ - ィ ト 命令を利用 した と き の動作モー ドを図解的 に示すシ ー ケ ン ス図 ;
第. 9 図はべク ト ル演算 A に関する ロ ー ド Z ス ト ァ 処理と べク ト ル演算 B に関する ロ ー ド/ ス ト ァ処理 とが重複 した場合を図^的に示すシ ー ケ ン ス図 ;
第 1 0 図は直列化起動命令 ( POST ) と直列化解除 ム
叩令 ( SUB - WAIT ) について説明するための シーケ ン ス図 ;
第 1 1 図は本発明に基つ' く 讒別番号 ( ID ) を利用 した場合のべク ト ル演算処理の 1 例を示すシ 一 ケ ン
0:ήΡΙ _
、 νηρο" ス図 ;
第 1 2 図は第 1 1 図に示 した如 き シ ー ケ ン スを実 行する こ とので き る制御回路の一例を示すプロ ッ ク 図 ;
第 1 3 図はぺク ト ル命令その も のに識別香号 (ID一) を付 して関違のあ る べク ト ル命令相互間で直列化を 図るための一回路例を示すブ ロ ッ ク 図である。
発明を実施するための最良の形態
以下添付図面を参照 しながら本発明の好実施例を 説明する。 .
第 1 図は本発明が適用される情報処理シ ス テ ム の 一般的な構成を示すブロ ッ ク図である。 本図におい て 1 0 は情報処理シ ス テ ム であ 、 データ処理部
1 1 と主メ モ リ 部 1 2 と か ら る る。 データ処理部
1 .1 内は、 ス カ ラ演算器 1 3 と ベ ク ト ル演算器 1 4 と 命令制御器 1 5 か ら構成される 。 命令制御器 1 5 は主メ モ リ 部 1 2 か ら命令 1 ST を フ ヱ ツ チ してこれ を解読 したのちス カ ラ演算器 1 3 又はべク ト ル演算 器に分配するための制御を行な う 。 命令制御器 1 5 か らス カ ラ演算命令 I ST S を受けたス カ ラ演算器 1 3 は主メ モ リ 部 1 2 と デー タ D のや と ]? を行る つ て 所定の処理を実行する o A叩令制御器 1 5 か ら べク ト ル演算命令 I STV を受けたぺク ト ル演算器 1 4 は主メ モ リ 部 1 2 と デー タ D のや ]) と !) を行 つ て所定の
o;. pi ミ^ ^ 処理を実行する 。 ス カ ラ演算命令かべク ト ル演算命 令かは、 命令コー ド、に よ っ て識別で き る。
こ こに ス カ ラ 演算器 1 3 の なすべき演算は、 単純 例を採れば、
a. + b → c
a X b → c
の よ う ¾ ス カ ラ量の演算を意味 し、 一方、 ベ ク ト ル 演算器 1 4 の ¾すべき 演算は、 単純な例を採れば、
A + B - C
A X B C
ただ し、
:クトル ,データ Aは、 A
:クトル ·データ Bは、 B
ぺク トル ·デ一タ Cは、 C
の よ う ¾ べク ト ル量の演算を意味する。 第 1 図にお ける べク ト ル演算器 1 4 の具体的る一例について第
2 図に示す。
第 2 図は第 1 図に示 したべク ト ル演算器 1 4 の一
構成例を示すプ ロ ッ ク 図である。 第 2 図にお い て
1 2 は第 1 図に示 した主メ モ リ 部である。 2 1 - 0,
2 1 - 1 - 2 1 - n は複数の ロ ー ド Zス ト ア部
( LDZST :) であ 、 2 2 はベ ク ト ル ' レ ジ ス タ (VR) であ 、 2 3 はベ ク ト ル命令演算部である。 ぺク ト
ル命令演算部 ( ALU .) 2 3 は複数のハ。 ィ プ ラ イ ン処
理部 ( PL0 , PL1 ) ( 本図で 2 つ ^場合を示す )
2 4 - 0 およ び 2 4 - 1 を含んで ¾る 。
複数の ロ ー ド Zス ト ア部 2 1 - 0 〜 2 1 - n はそ
れぞれ独立に主 メ モ リ 部 1 2 内のデー タ をベ ク ト ル · レ ジ ス タ 2 2 に ロ ー ド し、 又は、 ベ ク ト ル · レ ジス
タ 2 2 内のデー タ を主 メ モ リ 部 1 2 へス ト アする 。
ぺ ク ト ル演算部 2 3 はぺク ト ル · レ ジス タ 2 2 に ス
ト ァされている デー タ を フ - ツ チ して演算を実行し、 その演算の結果をべク ト ル · レ 'クス タ 2 2 にス ト ァ
する。 か く して、 ぺク ト ル命令演算部 2 3 において
処理されるデー タ は常にぺク ト ル · レ ジ ス タ 2 2 に
確保されている 。 従って、 このぺク ト ル · レ ジ ス タ
2 2 は周知のキ ャ ッ シ ュ · メ モ リ と良 く 似ている。
然 し、 ベ ク ト ル · レ ジ ス タ 2 2 は、 大量のデータ を
取扱 う 力 ら 1 ベ ク ト ル レ ジ ス タ の容量はキ ャ ッ シ ュ ·
_0' PI 、 WPO -、、 メ モ リ のブ ロ ッ クサ イ ズの数 1 0 0 倍以上に及ぶ。
又、 キ ャ ッ シ ュ · メ モ リ はプ ロ グ ラ ム に よ っ て認識 し得 ¾いが、 ベ ク ト ル · レ ジ ス タ はプ ロ グ ラ ム に よ つて認識可能である。 第 2 図に示 したべク ト ル演算 器 1 4 ' ( 第 1 図 ) の構成は一例であ って、 この他に " The CRAY-1 Computer Sys t em ,, によって示される よ う 構成も る ( Commun ications o f the ACM , January 1 9 7 8 , Volume 2 1 ". Number 1 , Page 6 6 » by Ri chard M. Russell of Cray Re s e a r eh , I n c ·参照 ) 。 .
既に述べた よ う に、 ス カ ラ演算器 1 3 お よびべク ト ル演算器 1 4 を併有する こ と に よ ]? 、 情報処理シ ス テ ム 1 0 は大量のデー タ を高速に処理で き る。 第 3 A 図は第 1 図の情報処理シ ス テ ム 1 0 におけるデ ー タ 処理の一般的なモ ー ドを示すフ ロ ー チ ヤ 一 ト で ある。 本図にお いて 、 V I , V 2 , V 3 …はそれぞ れ第 1 , 第 2 , 第 3 … の べ ク ト ル演算命令を示す。
SC1 , SC2 , SC3 …はそれぞれ第 1 , 第 2 , 第 3 … の ス カ ラ演算命令を示す。 通常、 第 1 図の命令制御 器 1 5 は、 本図に示す とお j? l つ 1 つ順番に命令を 送出する。
と こ ろが第 1 図に示すとお 、 ス カ ラ演算侖令に 基づ く プ ロ グ ラ ム を実行する ス カ ラ演算器 1 3 と べ ク ト ル演算命令に基づ く プ ロ グ ラ ム を実行するべク ο.ν·ρι
ViPO ト ル演算器 1 4 とが独立に存在するのであるか ら、
べク ト ル演算命令 V 1 , V 2 , V 3 … と ス カ ラ演算
命令 SCI , SC2 , SC3 … と を別 々 に同時に実行すれ
ば処理時間は大幅 短縮される。 す わち既述の並
列処理を行な う の である 。
第 3 B 図は第 1 図の情報処理シ ス テ ム .1 0 におけ
るデータ処理の並列処理モ 一 ドを示すフ ロ ー チ ヤ 一 ト である。 本図に示すとお ]) 、 ベク ト ル演算命令
V I , V 2 , V 3 … と ス カ ラ演算命令 SCI , SC2 ,
SC3 … とは並列的に実行される。'従っ て処理時間は、 第 3 A 図に示 した一般的 ¾直列処理モ ー ド の場合に
大幅に短縮される こ とにな る。
然 しながら第 3 B 図に示 レた並列処理モ ー ドでは
既述 した問題が生ずる。 こ の問題は、 ベ ク ト ル演算
命令と ス カ ラ演算命令 との間に密接 関連があるに
もかかわ らず、 これを無視 したこ と に よ J9生ずる も
のである。 単純な一例を採っ て説明する。 今、 第 1
図の情報処理シ ス テ ム 1 0 ;、 ベ ク ト ル · デー タ A ,
B よ びス カ ラ · デー タ c , d , ί お よ び g を も と
に、
{ ( A + B ) + ( c + d ) } X E + ( f -h )
る演算をする も の とする と、 ( A + B ) , ( c +
d ) およ び ( ί + g ) ¾る演算は独立 してそれぞれ
並列処理 して も 良い。 然 し が ら、
OMPI
pQ~ * { ( A + B ) + C c + d ) } X E る演算をするに 際 してはそれ以前に ( + :) の演算 と ( c + d ) の演算は共に完了 していなければ らない。 これが 前述 したぺク ト ル演算命令 と ス カ ラ演算命令と の間 の密接な関連を意味する。- '
第 3 A 図において、 仮 ]? に、 ベ ク ト ル.演算命令 V 5 を実行するに際 して、 ク ト ル演算命令 V I 〜 V と ス カ ラ演算命令 SC1 〜 SC4 と が共にその実行 を完了 してい ¾ければ ら ¾い とする と ( 矢印
SYNC : Synchror i sm参照 )、 従来は、 前述のコ ン ト ロ ー ル · レ ス タ を利用 して、 ベ ク ト ル演算器 1 4 ( 第 1 図 ) はベ ク ト ル演算.命令 V 4 を実行し終った 時点で並列処理を禁止するモ ー ドに し、 ぺク ト ル漬 算命令 V 5 の実行が終了 した後に再び並列処理モー ドに戻すとい う 制御を行な っていた。 然 しなが ら こ の よ う 制御は、 既述 した よ う に、 該コ ン ト ロ ー ル · レ ジ ス タ への情報の入力な らびに該情報の書換えの ため処理がか ])煩雑と ¾ 、 情報処理シ ス テ ム 全 体の処理速度を遅 く する と い う欠点を生じさせる。
そこで本発明に よ る情報処理シ ス テ ム においては、 第 3 A 図の矢印 SYNCのと.ころに特別の命令を揷入す る こ と とする。 この特別の命令はゥ - ィ ト ^令
(WAIT 命令) と名づける。 第 3 C 図は第 1 図の情報 処理シ ス テ ム 1 0 におけるデータ処理の本発明に基 づ く 処理モ ー ドの一例を示すフ ロ ー チ ャ ー ト である。 本図において ゥ ヱ イ ト 命令の実行ステツプ WAIT が、 前述の特別の命令である。 この ゥ : ィ ト 命令が到来 する と、 情報処理シ ス テ ム 1 0 が前記.コ ン ト ロ ー ル · レ ジ ス タ に よ ]9並列処理モ ー ド で動作する こ とが許 されて るに も かかわ らず、 その ウ ェ イ .ト 命令の到 来時点でス カ ラ演算器 1 3 の演算実行順序 と ぺク ト ル演算器 1 4 の演算実行順序 と の間で同期化を図る よ う にする。 命令制御器 1 5 ( 第 1 図 ) は、 第 3 A 図のス テ ッ プ群中の矢印 SYNCのところに ウ エ イ ト ム 叩 令を揷入 した形の一連の命令群を主メ モ リ 部 1 2 ( 第 1 図 ) よ J9 7 ヱ ツ チ した後、 1 セ ッ ト のべク ト ル演算 % ( V 1 〜 V 4 :) はべク ト ル演算器 1 4 に 送出 し、 一方、 1 セ ッ ト のス カ ラ 演算命令群 ( SC1
〜 SC4 :) はス カ ラ演算器 1 3 に送出する。 これら命 令群に従っ て、 ス カ ラ演算器 1 3 が対応する ス カ ラ ム
PD令 SCI 〜 SC4 を実行 し終了 した と き にその終了通 知を命令制御器 1 5 に返送すれば次のス カ ラ 命令 SC5 , SC6 … ( 次の ゥ ヱ イ ト 命令ま で ) が新たに供 給される。 同様に、 ベ ク ト ル演算器 1 4 が対応する ぺク ト ル命令 VI 〜 V4 を実行 し終了 したと き にその 終了通知を命令制御器 1 5 に返送すれば次のべク ト ル命令 V 5 … ( 次の ウ ェ イ ト 命令ま で ) が新たに供 給される。 第 4 図は第 1 図に示したべク ト ル演算器 1 4 の本 発明に基づ く 一実施例を示すプ ロ ッ ク図であ る。 本 図において、 主 メ モ リ 部 1 2 、 ベ ク ト ル演算器 1 4 およ び命令制御器 1 5 については既に説明済みであ る。 動作は次の と お !) である 。 先ず命令制御器 1 5 か ら の ぺク ト ル命令群 ( ISTV ) は一旦命令 レ ジス タ 4 0 1 に順次ス ト アされる。 さ らにデ コ ー ダ 4 0 2 に転送されその命令が解読される。 その命令は °ィ プ ラ イ ン処理部に よ っ て実行される 。 こ の 0 ィ プ ラ ィ ン M理部は第 2 図において示す °ィ プラ イ ^処理 部 ( 2 4 - 0 , 2 4 - 1 :) の 1 つに相当 し、 実際に は第 4 図に示す如 く 、 ハ°ィ プラ イ ン演算制御部 403 と ぺク ト ル命令演算部 4 0 4 とか らる る ··。 ぺク ト ル 命令演算部 4 0 4 は、 ハ°ィ プラ イ ン演算制御部 403 の制御の も とに、 主メ モ リ 部 1 2 か ら入力デー タ Din を フ - ッ チ し、 その処理結果である出力データ Dout を再び主メ モ リ 部 1 2 ヘス ト ァする。
令 レ ヅス タ 4 0 1 か ら、 次か ら次へと ベク ト ル
0D令 V V 2 V 3 …が送出される と、 0ィ プラ イ ン処理部 ( 4 0 3 , 4 0 4 ) は処理 し切れ く な る こ とがある。 このため、 次か ら次へと送出される べク ト ル命令群は、 入力ゲー ト 4 0 5 を介 して命令 パ ッ フ ァ 部 4 0 6 に一旦保持され頓番が来るのを待 つてか ら、 出力ゲー ト 4 0 7 を介 して、 デコ ー ド 4 0 2 へ至る。
既に述べたコ ン ト ロ ー ル · レ ジ ス タ は第 4 図中、 上方の コ ン ト ロ ー ル · レ ジ ス タ 4 1 1 と して示され て る 。 こ の コ ン ト 口 一 ノレ · レ ジス タ 4 は、 ム
PP
令レ ジ ス タ 4 0 1 の内容を監視 し、 その PZS ビ ッ ト を論理 " 1 " 又は " 0 " とする。 、 本発明 とは 関係 ;^、 該コ ン ト ロ ー ル · レ ジ ス タ 4 1 1 は、 ぺク ト ル演算器 1 4 の診断時に外部か ら試験信号
TSを受信する。 前記 PZS ビ ッ ト における P は並列処 理を意味 し、 S は直列処理を意味する。 も し、. 今、 ぺク ト ル演算器 1 4 が並列処理を実行 して も 良い状 態にあ る な らば、 並列処理を許すモ ー ドを示すべ く P は論理 " 1 " と る。 この場合、 命令制御器 1 5 が 1 セ ッ ト の ベ ク ト ル演算命令 V I 〜 V 4 ( 第 3 B 図参照 ) 送出する も の とする ( 従っ てこの中にはゥ ェ ィ ト 命令 WAI Tは含まれていない ) 。 そして ム
令 制御器 1 5 が該 1 セ ッ ト の べク ト ル演算命令群を送 出 し終える と、 該命令制御器 1 5 は、 1 セ ッ ト のベ ク ト ル演算命令群の転送終了を示すオ ペ レ ー シ ョ ン ' ェ ン ド情報 OPEND をォペ レ 一 シ ョ ン · ェ ン ド受け付 け部 4 1 2 に送出する。 ベ ク ト ル演算器 1 4 は、 受 け付け部 4 1 2 にオ ペ レ ー シ ョ ン · ェ ン ド情報
OPEND が入 ]? 、 し ^も PZS ビ ッ ト 力;論理 " 1 ,, ( 並 列処理を しても 良い ) 、 さ らに ウ ェ イ ト 侖令 WAITが
O.V.PI '
、 , ΡΟ — 存在 し い こ と を検知し、 べク ト ル命令送出禁止信 号 vis の論理を " 0 " とする。 信号 vis の論理 " 0" は、 命令制御器 1 5 に対 して引続き べク ト ル命令群 をべク ト ル演算器 1 4 に送出 して も 良い こ と を表示 する。 従って、 逆に論理 " 1 " は、 引続いてべク ト ル命令群 ISTV を送出しては ら い ( 送出禁止 ) こ と を表示する。 第 5 図は第 4 図の回路の動作説明-に 用いる シ ー ケ ン ス図である 。 前述の如 く 、 情報
OPEND が入 、 P/S ビ ッ ト が論理 " 1 " ( 並列処理 可 ) で、 ウ ェ イ ト 命令が存在 し い と き は、 第 5 図 の A) 欄のシ ー ケ ン スを採る。 つま j? A) 欄は並列処 理モ ー ドを表わす。 上述のモ ー ドでは、 PZS ビ ッ ト の論理 " 1 " ( 並列処理可 ) は第 4 図の NANDゲ― ト 4 1 3 を通っ て論理 " 0 " と ]? 、 この論理 " 0 " はさ らに ORゲー ト 4 1 4 、 AND ゲー ト 4 1 5 およ び ORゲー ト 4 1 6 を通っ て、 論理 " 0 " の信号 VIS ( べク ト ル演算命令送出可 ) と な る (第 5 図 A) 欄) , この場合、 前言己 AND ゲー ト 4 1 5 および AND ゲ一 ト 1 7 の各他方の入力はそれぞれ論理 " 0 " と る つ ている ( 後述 ) 。 か く して論理 " 0 " の信号 VIS を 受信した命令制街器 1 5 は、 再び次のぺク ト ル演算 命令 ISTV をベク ト ル演算器 1 4 に送出する。
と ころが、 前記ベ ク ト ル演算命令 V 4 に引続 く 前 記オペ レ ー シ ョ ン · ェ ン ド情報 OPEND に先行して該 一 OMPI ベ ク ト ル演算命令 V 4 の後に ウ ェ イ ト 命令 ( WAIT ) が入る と ( 第 3 C 図参照 ) 、 信号 VI S は、 第 5 図の C)欄に示す如 く 、 しば ら く してか ら、 論理 " 1 " ( べク ト ル命令送出不可 ) か ら論理 " 0 " ( ぺク ト ル命令送出可 ) に切 ]?換わる。 従って、 C) 欄は並列 処理 , ゥ ヱ : f ト モー ドを表わす。 信号 VIS が論理 " 1 " か ら " 0 " に切 ]?換ゎるのは、 1 セ ッ ト の ベ ク ト ル演算命令群の実行が終了 した時点 ISTEND (第 5 図 C)欄参照:) である。 この よ う な ゥ - ィ ト 命令が 入ったと き、 第 4 図の ゥ - ィ ト 命令検出回路 4 2 1 がこれを検出する。 そ して、 前記 AND グー ト 4 1 7 に論理 " 1 " の ウ ェ イ ト 信号 WS を出力し、 こ の時、 コ ン ト ロ ー ル ' レ ジ ス タ 4 1 1 の PZS ビ ッ ト は論理 " 1 " ( 並列処理可 ) であるか ら該 AND ゲ一 ト 417 は開成し、 こ の論理 " 1 " は ORゲー ト 4 1 4 、 AND ゲー ト 4 1 5 ( べク ト ル演算命令群の実行が終了 ( ISTEND ) する ま で NANDゲー ト 4 3 2 の出力は論 理 " 1 " であ る ) およ び前記 ORゲー ト 4 1 6を通して 論理 " 1 " の信号 VIS ( ぺク ト ル命令送出不可 ) と る。 その後、 既に送出されたぺク ト ル演算命令群 ( V 1 〜 V 4 :) の実行が終了する と、 命令終了検出 回路 4 3— 1 は論理 " 1 " の命令終了信号 IES を出力 し、 前記 NA Dゲー ト 4 3 2 を介 して、 ND ゲ一 ト 4 1 5 の出力論理を " 0 " と し、 ORゲー ト 4 1 6 を 介 して、 論理 " 0 " の信号 vis ( 次のべク ト ル演算 命令群を送出 して も 良い ) を命令制御器 1 5 に与え、 再び次の処理が開始される。 前記命令終了検出回路 4 3 1 は、 命令レ ジス タ 4 0 1 が空である こ と ( ラ イ ン 4 4 2 ) 、 命令パ ッ'フ ァ 部 4 0 6 が空である こ と ( ラ イ ン 4 4 1 ) 、 ハ0ィ プラ イ ン処理部 ( 4 0 3, 4 0 4 ) の処理が終了 したこ と ( ラ イ ン 4 4 3 ) 主メ モ リ 部 1 2 に対する該ハ。ィ プ ラ イ ン処理部
( 0 3 , 4 0 4 ) か らの演算結果データ Dout のス ト ァが完了 した こ と ( ラ イ ン 4 4 4 ) の 4 条件が満 足 した と き、 前述 した論理 " 1 " の命令終了信号
IES を出力する。 該信号 IES は又、 ゥ - ィ ト 命令検 出回路 4 2 1 を リ セ ッ ト ( RST ) し、 新た ゥ ヱ イ ト 侖令を受け付け得る よ う にする。
か く して、 命令制御器 1 5 は、 ゥ - ィ ト 命令
( WAIT ) 以後の ぺク ト ル演算命令 V 5 ( 第 3 C 図参 照 ) をぺク ト ル演算器 1 4 に送出 して も 良いこ とを 知る。 然 し、 す ぐにはこの命令 V 5 は送出 しない。
第 4 図の信号 VIS が論理 " 1 " であ った とい う こ と は、 第 4 図の AND ゲー ト 4 1 7 が論理 " 1 " であつ た とい う こ とであ ]9、 並列処理で且つウ ェ イ ト 命令 があ る とい う こ とである力 ら、 第 3 C 図のベク ト ル . 演算命令 V 1 〜 V 4 と ス カ ラ演算命令 SC1 〜 SC4 と の間で、 それぞれの命令実行順序について同期化し
O.V.PI なければる ら ない とい う こ と にな る。 従って命令制 御器 1 5 は、 ゥ ヱ イ ト 命令 ( WAI T ) 以後のス カ ラ演 算命令 SC5 ( 第 3 C 図参照 ) も送出 し 。 そ して、 ウ ェ イ ト 命令 (WAI T ) ¾前の 1 セ ッ ト の ス カ ラ 命令 群 SC1 〜 S C4 がス カ ラ演算器 1 3 ( 第' 1 図 ) におい て実行終了 した こ と を命令制御器 1 5 が確認 し且つ 信号 VI S が論理 " 0 " ( ぺク ト ル演算命令送出可 ) と な った と き、 初めて命令制御器 1 5 はベ ク ト ル演 算器 1 4.と ス カ ラ演算器 1 3 に、 それぞれゥ : ィ ト
1 0 命令以後の命令 V 5 …および S C5 … を送出する と と にな る。 お、 ス カ ラ演算器 1 3 内に も ウ ェ イ ト ム PD 令検出回路 4 2 1 と類似の回路を有 しているが、 図 示 しない。 一般には、 べク ト ル演算処理に要する時 間は、 ス カ ラ演算処理に要する時間 よ ]? も 長いか ら
1 5 命令制御器 5 は、 ベ ク ト ル演算器側の信号 VI S の
0 " を確認 して、 ウ ェ イ ト 命令後の命令送出 をする よ う に して も 問題ない。
第 4 図の コ ン ト ロ ー ル · レ ジ ス タ 4 1 1 の P/S ビ ッ ト が論理 " 0 " と な っ ている と き、 これは並列処 n
u 理 ( 第 3 Β 図参照 ) を禁止 し、 直列処理すべき こ と ( 第 3 Α 図参照 ) を意味する。 する と、 第 4 図の AND ゲー ト 4 1 7 はゥ イ ト 命令信号 WS の有無に拘 らず閉成されて しま う ―方、 NANDゲー ト 4 1 3 か
24 らの論理 " 1 " が ORゲ ト 4 1 4 、 AND ゲ一 ト 415 およ び ORゲ一 ト 4 1 6 を通 して、 信号 VIS を論理 " 1 " ( べク ト ル演算命令送出不可 ) とする。 そし て命令制御器 1 5 か らオペレ ー シ ョ ン · ェ ン ド情報 OPEND を受け付け部 4 1 2 に受信 していて ( これは ラ イ ン 4 4 6 を介して、 制御器 1 5 へ返送する ) 且 ' つ、 信号 VIS の論理 " 1 " が、 命令実行終了信号 IES に よ ]?、 NA Dゲー ト 4 3 2 、 AND ゲー ト 4 1 5 およ び ORゲー ト 4 1 6 を通 して論理 " 0 " に変わつ た と き、 命令制御器 1 5 は次の命令群を送出する ( 第 5 図の B)欄参照) 。 つま ])、 B)欄は直列処理モ ー ドを表わす。 お、 第 4 図の ORゲ一 ト 4 1 6 は侖 令パ ッ フ ァ 部 4 0 6 か らの、 パ ッ フ ァ 満杯信号 FS ( 論理 " 1 " ) を ラ イ ン 4 4 5 を介 して受信する。 命令バ ッ フ ァ 部 4 0 6 が満杯にな っ て しま った ら、 引続 く 命令群を命令制御器 1 5 か ら受け取る こ とが で き ¾ く ¾るか らである。 ―
第 6 図は第 4 図に示 したゥ - ィ ト 命令検出回路 4 2 1 の具体例を示すブ ロ ッ ク図である。 本図にお いて、 回路 4 2 1 は、 命令レ ジス タ 4 0 1 ( 第 4 図) か らの ウ ェ イ ト 命令 (WAIT ) 、 命令終了検出回路 4 3 1 ( 第 4 図 ) か らの リ セ ッ ト 信号 RST ( 命令終 了信号 IES と同 じ ) と を受信 し、 AND ゲー ト 4 1 7 ( 第 4 図 ) へ出力すべき ゥ - ィ ト 信号 WS (第 4 図 ) を形成する。 受信した ウ ェ イ ト 命令 WAITは、 ゥ - ィ
' ト 命令デコ ーダ 6 1 に よ ってデコ ー ドされ、 フ リ ッ
プ ' フ ロ ッ プ 6 2 をセ ッ ト し、 その Q 出力 " 1 " を
OR ゲー ト 6 3 よ ]? 、 信号 WS と して出力する。 ゥ ヱ
イ ト 命令 WAITは 1 クロ ッ ク長 しかないか ら、 最初の
ゥ ヱ イ ト 命令は ラ イ ン 6 4 を通 して ORゲー ト 6 3 よ
]) 出力 し、 その後の 2 ク ロ ッ ク 目 以後の ゥ - ィ ト 信
号 Wはフ リ ッ プ · フ ロ ッ プ 6 2 に よ っ て保持する。
力 く の如 く 、 コ ン ト ロ ー ル · レ ジ ス タ 4 1 1 に よ
つ て並列処理モ ー ド又は直列処理モ ー ドのいずれが
指定されていよ う と も 、 特別の侖令、 すなわち ゥ ェ
イ ト 命令 (WAIT ) を揷入する こ と に よ ]? 、 その揷入
時点において、 ス カ ラ演算器 1 3 と ベ ク ト ル演算器
1 4 との間でそれぞれの実行順序に関 して同期を採
る こ とができ る。 す ¾わち、 例えば、 - { ( A + B ) + ( c + d ) } X E + ( f + g )
なるスカ ラおよ びベ ク ト ル演算を、 論理矛盾を生じ
させる こ と な く 、 並列処理可能と る。
以上本発明に よ る情報処理シ ステム の大要につ い
て述べたが、 実際には前記ゥ - ィ ト 命令の導入のみ
では も っ と細かい制御が要求された場合に不都合が
生 じる こ とが しば しばある。 以下、 こ の細かい制御
について述べる。 細かい制御であるか ら、 上記第 1
図を参照 したのでは不便である。 従っ て上記第 2 図
を参照 して説明する。 第 2 図は、 第 1 図に示 したベ
' a '.ν, ク ト ル演算器 1 4 の詳細な一構成例を示すプ ロ ッ ク 図であ ]3 、 その説明は既に なされている。 第 2 図に いて、 ロ ー ド / ス ト ア部 2 1 - 0 〜 2 1 - n によ つて ロ ー ドぉ よ びス ト ァを実行する場合、 その 口 一 ド 、 ス ト アは第 7 図の如 く なされる。 第 7 図は第 2 図におけ'る 口 一 ド Zス ト ァ部 2 1 - 0 〜·2 1 - η の 各々が すべき動作を図解的に示す図である。 本図 において、 VLはロー ド Ζス ト ア部が主メ モ リ 部 1 2 ( 第 2 図 ) か らデー タ を ロ ー ドする ( フ エ ツ チする) こ と を表わす。 いわゆ.る、 ベ ク ト ル · ロ ー ドである。
VST はロ ー ド Ζ ス ト ア部が主メ モ リ 部 1 2 にデー タ をス ト ア する こ と を表わす。 いわゆる、 ベ ク ト ル , ス ト ア である。 本図中の t は経過時間を表わす。 前 記のべク ト ル · ロ ー ド VLは主メ モ リ 部 1 2 のァ ド レ ス @においてなされ、 前記ベ ク ト ル · ス ト アは該主 メ モ リ 部 1 2 のァ ド レ ス ®においてなされる。 と こ ろが、 これらァ ド レ ス ©と ァ ド レ ス ©がたま たま 同 じである場合が生ずる。 この場合、 ア ド レ ス ®のデ ータ を ロ ー ド してか ら、 そのデー タ に処理を加えて ァ ド レ ス ® に ス ト ァする § とい う順香を守 ら い と、 当然に論理矛盾が生じて しま う 。 この よ う な 論理矛盾を解決するために、 前述の ウ ェ イ ト 命令を 導入する こ とは非常に有効である 。 この様子を図示 する と第 8 図の如 く な る。 第 8 図は第 2 図のロード Z
-BU EA 0- .pi ス ト ァ部に よ る ロ ー ドおよ びス ト ァ の ァ ド レ ス が一 致 した場合に本発明の ゥ - ィ ト 命令を利用 した と き の動作モ ー ドを図解的に示すシー ケ ン ス図である。
本図において VL , VST , WAIT の意味は前述の と
]? である。 VA およ び VMは、 ベ ク ト ル演算の内容、 例えばべク ト ル · ア ツ ド ( + ) お よ びべ'ク ト ル · マ ル チ プラ イ ( X :) を意味する。 ぺク ト ル · ロ ー ド
VL を行ない、 ベ ク ト ル · ア ツ ド VA およびベ ク ト ル マ ル チ プ ラ イ Mを実行 した後に、 ゥ - ィ ト 命令
WAI Tが存在するか ら、 以上のベ ク ト ル操作群 VL ,VA および Mの処理が終わってか ら、 ベ ク ト ル · ス ト ア VS が実行される。 すなわち時刻 t 1 カゝ ら時刻 t 2 ま での間にぺ ク ト ル操作群 VL , VAおよび VMが処理 され、 その後時刻 t ' 3 よ ]? ベ ク ト ル ' ス ト ア VST の 実行が開始する。 従って時刻 t .1 およ び t 2 間の期 間 T は待ち時間 と なる。 か く して、 前述 した論理矛 盾の発生は回避される。
と ころが、 ベ ク ト ル演算 A に関 して ロ ー ド / ス ト ァ部 2 1 - 1 ( 第 2 図 ) が π — ド / ス ト ァ処理する 場合 と、 ぺ ク ト ル漬算 B に関 して ロ ー ド ス ト ァ部 2 1 - n ( 第 2 図 ) がロ ー ド Z ス ト ア処理する場合 とが重複 した と き、 不利る問題が生ずる。 これにつ
て、 図を参照 して説明する。 第 9 図はぺク ト ル演 算 A に関する ロ ー ド ス ト ァ処理 と べク ト ル演算 B
ΟΛ1ΡΙ ■■ ―— 0 ^ に関する ロ ー ド ス ト ァ処理とが重複 した場合を図 解的に示すシ ー ケ ン ス図である。 本図にお い て VL(A) , VA(A) およ び VM(A) はべク ト ル演算 A に関 する 前述の操作群を意味 し、 VL(B) , VA(B) および VM(B) はぺク' ト ル演算 B に関する前述の操作群を意 味する。 この場合、 ウ ェ イ ト 侖令 WAITの存在に よ ]) ベク ト ル · ス ト ア VST の処理は、 経過時間 t に対し 図中右側へシ フ ト される。 つ ½ 、 べク ト ル · ス ト ァ VST の処理が遅 く なる d これは、 ベ ク ト ル操作群 VL(A) , VA(A) , VM(A) , VL(B) , VA(B) およ び - VM(B) を全て実行終了 した後にべク ト ル · ス ト ァ VST が開始するか らである。 このよ う な場合におい て、 も しベ ク ト ル ' ス ト ア VST がべク ト ル演算 Α·に 関 してのみ実行されるべき も のであ る と した ら、 第 9 図の待ち時間 T は余 に も 長過 ぎる。 す ¾わち、 ぺ ク ト ル演算 B に関する操作群 VL(B) , VA(B) およ び VM(B) に対 しては、 これ らの実行を全て完了する まで、 ベ ク ト ル · ス ト ア VST の実行を遅 らせる必要 はない。
そこで本発明は、 前記ゥ - ィ ト 命令 WAITの他にサ ブ · ゥ ヱ イ ト 命令 SUB - WAIT を導入する。 そ して、 この サ ブ · ウ ェ イ ト 命令 SUB -WAIT はボ ス ト 命令 POST と一体にな って使用される。 こ こにい う ポ ス ト 命令 POST とは直列化起動命令であ J9 、 サ ブ ゥ イ ト 命令 SUB - WAIT とは直列化解除命令であ る。 これ らの侖令を図で説明する。 第 1 0 図は直列化起動侖 令 ( POST ) と直列化解除命令 ( SUB - WAIT :) につい て説明するためのシ ー ケ ン ス図である。 ただ し、 本 図は前述 した第 9—図の説明'に用いたぺク ト ル操作群 をも つ と一般的に表わ して説明する も のである。 す わち、 ベ ク ト ル演算命令群 V 1 , V 2' , V 3 …が 送出された も の と し、 且つ直列化起動命令 POST(A) およ び直列化解除命合 SUB - WAIT(A)が、 ぺク ト ル演 算 A に関 して、 ベ ク ト ル演算命令 V I の後およ び
V 5 の前にそれぞれ揷入され、 又、 必要に応 じて直 列化命令 POST(B) よ び直列化解除命令 SUB - WAI (B) が、 ベ ク ト ル演算 B に関 して、 ベ ク ト ル演算命令 2 の後 よ び V 7 の前にそれぞれ揷入された とす る と ( 第 1 0 図の左欄参照 ) 、 これ ら一連のぺ ク ト ル演算命令は同図右欄の様に直列化 らびに並列化 される。 これ らは前記ゥ c ィ ト 命令 WAITが現われる ま でに全て実行完了 し、 他の命令 V 3 , V 4 および
V 6 は空いている べク ト ル演算器を見つけて並列処 理される。 従っ て、 第 9 図の待ち時間 T を短縮する ためには、 VM(A) の後に直列化起動命令 POST ) を 入れ、 VST の前に直列化解除命令 ( SUB - WAIT ) を 入れて、 本来の ゥ - ィ ト 命令 WAITはその VST の後に ず らせば良い。 第 1 0 図の例に よれは、 べク ト ル演算 A に関する も の と、 ベク ト ル演算 B に関する も の と を (A) およ び (B) と で区分 した。 然 し実際には も つ と沢山のベ ク ト ル演算の種類が並列処理される こ とがあるか ら、 適当 ¾方法で、 異る る べク ト ル演算相互間の区別を 明確につける必要がある。 このために本発明はさ ら に識別番号を導入する。 この識別番号の こ と を ID ( Identif ication )番号 と名づける こ と にする。 そ して同一の ID番号 IDk ( k = 1 , 2 , 3 ·-· ) を付し た直列化起動命令 ( POST ) と直列化解除命.令 ( SUB -WAIT :) と を 1 ペア と して扱 う 。 つま ]9、 第 1 0 図 の場合、 POST(A) の ID番号を ID とすれば、 SUB - WAIT(A)の ID番号も ID である。 、 POST と
SUB - WAI T のペア力 S 1 つ しかない場合は、 ID番号は 不要である。 上記 ID番号を利用 した場合の動作は次 の と お ]? である。 第 1 1 図は本発明に基づ く 識別番 号 ( ID ) を利用 した場合のぺク ト ル演算処理の 1 例 を示すシ ー ケ ン ス図である 。 本図において、 先ず次 の よ う ¾条件がある も の と仮定する。 すなわち、 ベ ク ト ル · ス ト ア VST ( 命令 F ) を実行するに先立つ てべク ト ル · ロ ー ド VL (命令 A ) と べク ト ル · 口 一 ド VL (命令 B ) と を実行する必要がある も の とする。 そして又、 ベク ト ル · ロ ー ド VL (命令 G ) を実行す るに先立ってべク ト ル · ス ト ア ( 命令 C :) を実行す
ΟΛΡΙ る必要がある も の とする。 この よ う : ¾条件がある場
合次の よ う にプ ロ グ ラ ム を組む。 すなわち、 命令 A お よ び B の後に識別番号 ID を付した直列化起動侖
令 POST(l) を揷入 し、 命令 C の後に識別香号 ID2
付した直列化起動命令 POST(2) を揷入する。 これと 共に、 命令 F の前に識別番号 を付 した直列化解
除命令 SUB -WAIT (1) を揷入 し、 又、 命令 G の前に ID2 を付した直列化解除侖令 SUB - WAIT(2) を揷入す る o
図において、 各べク ト ル · 口 ト *命令や ク ト ル · ス ト ァ命令がそれぞれ別のハ。ィ プ ラ イ ン処
理部 1 , + 2 〜寺 η に よ って実行でき る も の と し
ている。 そ して、 侖令 POST(l ) が与え られた と き、
少な く と も それ以前の未終了で且つ識別番号 ( ID ) の付されて ないべク ト ル · 口 一 ド命令ゃぺク ト ル ' ス ト ァ命令を実行 しているハ。 ィ プ ラ イ ン処理部に対
しては識別番号 ID を与えてお く 。 又、 命令 POS (2) が与え られたと き、 それ以前の未終了で且つ識別番
号 ( ID ) の付されてい いぺク ト ル p 一 Fム
叩令や
ぺク ト ル · ス ト ァ 命令を実行 して るハ。 ィ プ ラ イ ン
処理部には識別番号 ID2 を与えて く 。 か く の如.く、 識別番号 ( IDi , ID2 ) が与え られたノ イ プ ラ イ ン 処理部は、 対応する命令を実行 して る 間、 ビ ジー 信号を発している 。 そ して命令 SUB-WAIT(I) が与え
-BOREAS
ΟΛ',ΡΙ
、 V!PO一 . , られた と き は、 識別番号 が与え られている全て のハ。 ィ プ ラ イ ン処理部は、 その ビ ジ一信号が消滅し てか ら命令 F を実行開始する。 又、 侖令 SUB- WAIT(2) が与え られた と き、 識別番号 ID2 が与え られて る 全てのハ。ィ プラ イ ン処理部は、 ぞの ビ 'クー信号が消 滅 してか ら命令 G を実行開始する。
第 1 2 図は第 1 1 図に示した如き シー ケ ン スを実 行する こ とのでき る制御回路の一例を示すプロ ッ ク 図であ る。 本図におい て、 参照番号 1 2 , 2 1 - 0 , 2 1 - 1 - 2 1 - n およ び 2 2 の意味は既に述べた と お ]? である ロロ -"Π レ ジス タ 2 1 に対して前記直 列化起動命令 POST(I:) がセ ッ ト される と、 命令発信 制御部 1 2 4 は これを検知 したの ち判別 し、 それ以 前のベ ク ト ル , ロ ー ド命令およ びベ ク ト ル · ス ト ア 命令が与え られているハ°ィ プ ラ イ ン処理部 ( 2 1 - 0 〜 2 1 - n :) の識別レ ジス タ ( ID ) ( 1 2 5 - 0 〜 1 2 5 - n :) に識別番号 ID をセ ッ ト する。 その後、 直列化起動命令 POST (2) が 命令レ ジ ス タ 1 2 1 に セ ッ 卜 される と、 同様に、 制御部 1 2 4 は讒別レ ジス タ ( 1 2 5 - 0 〜 : 1 2 5 - n ) に識別番号 ID2 をセ ッ ト する。 さ らにその後、 直列化解除命令 SUB - WAIT(l) が ^令レ ジス タ 1 2 1 にセ ッ ト される と、 制御部 1 2 4 は識別番号 ID の与え られて るハ。ィ プ ラ イ ン処理部における 前記の ビ ジ一信号の有無を 調べる。 そして ずれか 1 つのハ°ィ プ ラ イ ン処理部 か ら ビ 'クー信号が発せ られている と、 次に命令レ ジ ス タ 1 2 1 にセ ッ ト されるべき 命令 F を待機命令レ ジス タ 1 2 2 - 0 又は 1 2 2 - 1 にセ ッ ト して待檢 させる。 そ して前記ビ ジ一信号が消滅する のを'待つ て、 命令レ ジス タ 1 2 2. - 0 又は 1 2 2 - 1 の内容 を侖令レ ジ ス タ 1 2 3 に セ ッ ト する 。 前記命令 SUB - WAIT C 2 ) が命令 レ ジ ス タ 1 2 1 にセ ッ ト された場 合も、 上記命令 SUB -WAI T ( l ) に関する動作と 同 じで る o
お以上の説明では直列化起動命令 POSTおよび直 列化解除命令 SUB - WAI T がそれぞれ 1 つ の独立 した ム
ΡΠ令 と して存在する よ う に したが、 ベ ク ト ル ド侖令およ びぺク ト ル , ス ト ア命令の命令コ 一 ドに さ らに識別番号 ( ID ) ( あるいは識別 コ一 ド ) を含 ませてお く よ う に して も 良 。 ただ し、 べク ト ル演 算 A に関する これ ら命令に対しては同一の識別番号
( 識別コ 一 ド ) を与え、 しか も 同一のハ0ィ ° ラ イ ン 処理部にお て処理する よ う にする。 又、 ベ ク ト ル 演算 B に関する これ らム
叩令に対 しては前述の識別香 号 ( ベ ク ト ル演算 A に関する も の ) と別の識別香号
( 識別コ ー ド ) を与え、 しか も、 前記のべク ト ル漬 算 A について処理をするハ。ィ プラ イ ン処理部 とは別 のハ0 ィ プラ イ ン処理部を違択する。 第 1 3 図はべク ト ル命令その も のに識別番号 (ID)
( 識別コ ー ド ) を付して関連のある べク ト ル命令相 互間で直列化を図るための一回路例を示すプロ ッ ク 図である。 すなわち、 上述 した最後の直列化 ( 命令
POST , SU - WAI T を用いるい ) を実行するための IT 路例を示す。 本図において、 1 3 1 は命令制御部で あ ])、 命令制御器 1 5 ( 第 1 図 ) か らのべク ト ル演 算命令を受信する。 そ して、 実行待ち命令用レ ジス タ 1 3 2 - 0 , 1 3 2 - 1 , 1 3 2 - 2 ···の う ち空 の実行待ち侖令用レ ジス タ にそのぺク ト ル演算命令 をス ト アする。 命令投入決定部 1 3 3 は、 実行待ち 命令用レ ジス タ 1 3 2 - 0 , 1 3 2 - 1 , 1 3 2 - 2 …にそれぞれス ト ァされたぺク ト ル演算命令群の各 各に対応する 1 つのぺク ト ル命令演算器 ( 第 4 図の 4 0 4 参照 ) が休止中であるか否かのチ - ッ ク をす る 。 又、 オ ペ ラ ン ド · デー タ ( 第 4 図の Din 参照 ) に衝突が発生しているか否か も チ - ッ クする。 そし て、 これ らチ ェ ッ クの結果、 対応する ベク ト ル命令 演算器が休止中であ ]5且つオペ ラ ン ド · デー タ の衝 突が発生して ないこ とが判明する と、 そのぺク ト ル演算命令を、 そのべク ト ル命令漬算器に対応する 実行中命令レ ジス タ ( 1 3 4 A , 1 3 4 - 1 , 1 3 4 - 2 … :) に転送する。 これに よ 当該べク ト ム
ノレ PP令演算器は、 そのべク ト ル演算命令に従って処
Ο ΙΡΙ 理を開始する。
具体例で説明する と、 今、 実行すべき プ ロ グ ラ ム が
① べ ク ト ノレ F VL( 1 ) A
② ぺ ク ト ノレ F VL(2) B
⑤ べ ク ト ル ア ツ F VA A + B C ④ ベ ク ト ノレ ス ト ア VST(l) VR — C
( VRは第 2図のべク トル · レジスタ 2 2 )
⑤ ぺク ト ノレ 口 ― ド VL(3) E
(④6) ベベ クク トト ノノレレ , ロ ー ド VL( 4) F
⑦ べ ク ト ノレ マ ル チプ ラ イ · VM E X F → G ⑥ べ ク ト ル ス ト ア VST(2) VR - G である とする ( A〜 G はそれぞれべク ト ル · データ を示す ) 。 これ らべク ト ル命令 ( VL(1) , VL(2) , VA , VST(l) , VL(3) , VL(4) , VMおよ び VST(2) は、 実行待ち用命令レ ジス タ 1 3 2 - 0 , 1 3 2 - 1 , 1 3 2 - 2 ···にそれぞれス ト ァされる。 ぺク ト ル · ロ ー ド命令 VL(1) が実行され、 ベ ク ト ル · デ一 タ A が主メ モ リ 部 1 2 か ら フ ヱ ツ チされてべク ト ル レ ジ ス タ 2 2 ( 第 2 図 ) に書込まれ、 次にベ ク ト ル 口 ― ド VL(2) が実行されてぺク ト ル · データ B が主 メ モ リ 部 1 2 よ !) フ ヱ ツ チされ、 ベ ク ト ル · レ ジス タ に書込まれる。 才ペ ラ ン ド · データ Aおよ び B が フ ヱ ツ チされた後、 ベク ト ル · アツ ド命令 VAが実行
、 W:FO され 演算結果である べク ト ル · デー タ ίがべク ト ル · レジスタ VR に書込まれる。 べク ト ル · マ ル チプ ラ イ 命令 Mはそのべク ト ル · データ C を用 ないか ら、 ベ ク ト ル , ア ツ ド命令の実行中でも、 これと並 列的に実行で き る。 そしてぺク ト ル · 了 ッ ド命令
VAの実行中は、 対応する ロ ー ド Ζス ト ァ部 ( 第 2 図 の 2 1 - 0 〜 2 1 - η 参照 ) が空 き であるか ら、 ベ ク ト ル · ロ ー ド命令 VL(3) およ び VL(4) が続けて実 行されぺク ト ル · デー タ E およ び F が主メ モ リ 部よ ]) フ ヱ ツ チされ、 ベ ク ト ル · レジスタ VR にス ト アさ れる。 べク ト ル · アツ ド命令 VA の実行が終了する と、 ベク ト ル · ス ト ア命令 VST(l) が実行され、 その演算 結果である べク ト ル · データ がロ ー ド zス ト ア部を 介して主メ モ リ 部へ書込ま れ、 これと同時に、 休止 中の ずれかのべク ト ル命令演算器に作用 してぺク ト ル · デー タ E お よ び F の マ ル チ プ ラ イ が実行され る。 ベ ク ト ル · ス ト ア命令 VST(2) の実行が開始され る と演算結果であ るべク ト ル · デー タ Gがロ ー ド Z ス ト ア部を介 して主メ モ リ 部へス ト アされる。 か く して、 レ ジス タ ( 1 3 2 — 0 , 1 3 2 - 1 , 1 3 2 - 2 ··· ) 、 命令投入決定部 1 3 3 、 レ ジス タ ( 1 3 4 - 0 , 1 3 4 - 1 , 1 3 4 - 2 ··· ) の助けに よ ]) 、 識別番号 (1) , (2) , (3) …の指定に沿っ て、 予め 定め られたプ ロ グ ラ ム の実行順序 ( 第 3 A 図参照 ) に拘束される こ と る く 、 命令実行を行 ¾ う と とがで き る。
以上説明 した よ う に本発明に よれば、 各種ス カ ラ
ΡΠ令群およ びベ ク ト ル命令群を、 任意に直列化 し又 同時に並列化でき るの で、 論理矛盾を生 じさせる こ と ¾ く 、 並列処理を行な う こ とがで き、 ス カ ラ演算 器と べク ト ル演算器の双方を含む高速演算能力を備 えた情報処理シ ス テ ム が実現される。
-BU R EA U

Claims

請 求 の 範 囲
1. 主メ モ リ 部と、 該主メ モ リ 部よ ]? 侖令群を受 け取 ]?且つ所定のデー タ 処理を した後該主メ モ リ 部 に演算結果を返送する データ 処理部と を有 し、 該デ ータ処理部は、 前記主メ モ リ 部よ 前記命令群を受 け取ってこれを分配する命令制御器と、 該侖令制御 器よ ]? 分配された命令群を受け取る複数の演算器と か ら ¾る情報処理シス テ ム に いて、
前記主メ モ リ 部か らの一違の命令群の中に予め同 期化命令 ( WAIT:) を挿入 し、 該同期化命令 ( WAIT ) の出現以後に与え られた後行の命令群は、 該同期化 ム
ΡΠ令 (WAI T ) の出現以前に与え られた先行の命令群 の実行が終了するま でそのま ま 保留され、 該後行の 命令群は該先行の命令群の実行が終了 した後に初め て実行される よ う に した こ と を特徵 とする情報処理 シ ス テ ム 。
2. 前記先行の命令群が、 並列処理可能る命令群 と直列処理すべき 命令群と を含んで組み立て られて いる場合にお て、 該直列処理すべき 命令群の う ち 先行して実行される第 1 の命令の直後に直列化起動 命令 ( POST ) を付加 し、 他方、 該直列処理すべき ム 令群の う ち、 前記先行 して実行される命令の後か ら 実行される第 2 の命令の直前に直列化解除命令
( SUB - WAI T ) を付加 し、 前記第 1 の命令は前記第
一 O. PI 小 vi?o~ 2 の命令の出現以前には、 実行完了される請求の範 囲第 1 項記載の情.報処理シ ス テ ム 。
3. 前記第 1 の命令お よび前記第 2 の命合か ら る対の命令が複数対ある場合、 各該対毎に識別番号 ( Ϊ Ώ ^ , I D 2 … ) を付.して、 該複数対相互間の区別 をつける よ う に した請求の範囲第 2 項記載の情報処 理シ ス テ ム 。
4. 前記同期化命令 ( WA I T ) の出現以前に与え ら れた前記先行の命令群が、 並列処理可能な命令群と 直列処理すべき 命令群と を含んで組み立て られてい る場合において、 該直列処理すべき 命令群の う ち先 行 して実行される第 1 の命令に識別コー ドを付加 し、 他方、 該直列処理すべき 命令群の う ち、 訪記先行し て実行される 命令の後か ら実行される第 2 の命令に 識別コ ー ドを 付加 し、 これ ら識別コ ー ドの付加され た第 1 の命令およ び第 2 の命令か ら ¾る対の命令は、 前記同期化命令 (WA I T ) の出現以前には、 実行完了 される請求の範囲第 1 項記載の情報処理シ ス テ ム 。
5. 前記第 1 の命令および前記第 2 の ^令か ら る対の ^令が複数対ある場合、 各該対毎に識別 コ ー ド番号 ( I D I D 2 :) を付して、 該複数対相互間 の区別をつける よ う に した請求の範囲第 4 項記載の 情報処理シ ス テ ム 。
6. 前記複数の演算器は、 ス カ ラ演算用の命令群 を受取るスカ ラ 演算器 と、 ベク ト ル演算用の 令群 を受取るべク ト ル演算器を含むこ と を特徵 とする請 求の範囲第 1 項ま たは第 2 項記載の情報処理シ ステ ム
7. 前記べク ト ル演算器は同期化制鞭回路 と共慟 してな 、 該同期化制御回路は前記命令制御器か ら 与え られる 前記同期化命令 ( WAIT:) を検出する ゥ - ト 命令検出回路 と、 ぺク ト ル演算用の前記先行の 命令群が全て実行終了 したこ と を検出する命令終了 検出回路と を含んで ])、 該ゥ - ィ ト 命令検出回路 が該同期化命令 (WAI T ) を検出 した と き は、 前記命 令終了検出回路が、 前記先行の命令群が全て実行終 了 した こ と を検出するま で、 前記命令制御器に対し 引続 く べク ト ル演算用の命令群を 前記べク ト ル演算 器に対して送出すべき でないこ と を表示する べク ト ル演算命令送出禁止信号を送出する請求の範囲第 6 項記载の情報処理シ ス テ ム
PCT/JP1980/000333 1979-12-29 1980-12-27 Information processing system WO1981001892A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE8181900086T DE3071919D1 (en) 1979-12-29 1980-12-27 Information processing system
AU66450/81A AU528849B2 (en) 1979-12-29 1980-12-27 Information processing system
US08/469,769 US5499350A (en) 1979-12-29 1995-06-06 Vector data processing system with instruction synchronization

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP54170803A JPS6043535B2 (ja) 1979-12-29 1979-12-29 情報処理装置
JP79/170803 1979-12-29
US08/469,769 US5499350A (en) 1979-12-29 1995-06-06 Vector data processing system with instruction synchronization

Publications (1)

Publication Number Publication Date
WO1981001892A1 true WO1981001892A1 (en) 1981-07-09

Family

ID=26493697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1980/000333 WO1981001892A1 (en) 1979-12-29 1980-12-27 Information processing system

Country Status (6)

Country Link
US (1) US5499350A (ja)
EP (1) EP0042442B1 (ja)
JP (1) JPS6043535B2 (ja)
AU (1) AU528849B2 (ja)
DE (1) DE3071919D1 (ja)
WO (1) WO1981001892A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4617625A (en) * 1981-12-28 1986-10-14 Hitachi, Ltd. Vector processor

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor
JPS58134357A (ja) * 1982-02-03 1983-08-10 Hitachi Ltd ベクトルプロセッサ
DE3379690D1 (en) * 1982-09-03 1989-05-24 Hitachi Ltd Data processing system
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
JP2610821B2 (ja) * 1986-01-08 1997-05-14 株式会社日立製作所 マルチプロセツサシステム
JPS62197819A (ja) * 1986-02-25 1987-09-01 Nec Corp デ−タ転送制御方式
JPS62197818A (ja) * 1986-02-25 1987-09-01 Nec Corp デ−タ転送制御方式
DE3750055T2 (de) * 1986-06-12 1995-01-05 Ibm Ablauffolgesteuerung und zugehörige Methode in einer Befehlsverarbeitungseinheit, um diese Einheit in einen Freigabe-, Ausführungs-, Halte- oder Auflösezustand zu versetzen.
JPS62203852U (ja) * 1986-06-19 1987-12-26
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
IE62074B1 (en) * 1987-03-20 1994-12-14 Digital Equipment Corp Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
JP3137117B2 (ja) * 1987-03-27 2001-02-19 将容 曽和 高速処理計算機
JPH01310445A (ja) * 1988-06-08 1989-12-14 Nippon Telegr & Teleph Corp <Ntt> 並列演算処理装置
DE68927946T2 (de) * 1988-08-02 1997-10-16 Philips Electronics Nv Verfahren und Vorrichtung für die Synchronisierung von parallelen Prozessoren unter Verwendung einer unscharf definierten Sperre
JP2810068B2 (ja) 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5075840A (en) * 1989-01-13 1991-12-24 International Business Machines Corporation Tightly coupled multiprocessor instruction synchronization
JP2677414B2 (ja) * 1989-05-15 1997-11-17 富士通株式会社 命令実行のシリアライズ制御方式
JPH0314025A (ja) * 1989-06-13 1991-01-22 Nec Corp 命令実行制御方式
US5127092A (en) * 1989-06-15 1992-06-30 North American Philips Corp. Apparatus and method for collective branching in a multiple instruction stream multiprocessor where any of the parallel processors is scheduled to evaluate the branching condition
JP2550213B2 (ja) * 1989-07-07 1996-11-06 株式会社日立製作所 並列処理装置および並列処理方法
CA2056356C (en) * 1990-03-19 1998-06-09 Haruhiko Ueno Interruption handling system
JPH06168263A (ja) * 1992-11-30 1994-06-14 Fujitsu Ltd ベクトル処理装置
JPH096614A (ja) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd データ処理装置
JPH0969047A (ja) * 1995-09-01 1997-03-11 Sony Corp Risc型マイクロプロセッサおよび情報処理装置
US5964863A (en) * 1996-04-15 1999-10-12 Motorola, Inc. Method and apparatus for providing pipe fullness information external to a data processing system
US6401194B1 (en) * 1997-01-28 2002-06-04 Samsung Electronics Co., Ltd. Execution unit for processing a data stream independently and in parallel
JPH11134197A (ja) * 1997-10-29 1999-05-21 Fujitsu Ltd Vliw方式計算機用のコンパイル装置及び方法並びにコンパイル実行プログラムを格納した記録媒体
US6099585A (en) * 1998-05-08 2000-08-08 Advanced Micro Devices, Inc. System and method for streamlined execution of instructions
US6449691B1 (en) 1999-07-30 2002-09-10 International Business Machines Corporation Asymmetrical cache properties within a hashed storage subsystem
US6658556B1 (en) * 1999-07-30 2003-12-02 International Business Machines Corporation Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction
US6446165B1 (en) 1999-07-30 2002-09-03 International Business Machines Corporation Address dependent caching behavior within a data processing system having HSA (hashed storage architecture)
US6516404B1 (en) 1999-07-30 2003-02-04 International Business Machines Corporation Data processing system having hashed architected processor facilities
US6470442B1 (en) 1999-07-30 2002-10-22 International Business Machines Corporation Processor assigning data to hardware partition based on selectable hash of data address
US6598118B1 (en) 1999-07-30 2003-07-22 International Business Machines Corporation Data processing system with HSA (hashed storage architecture)
US6823471B1 (en) 1999-07-30 2004-11-23 International Business Machines Corporation Method for providing high availability within a data processing system via a reconfigurable hashed storage subsystem
US6564298B2 (en) 2000-12-22 2003-05-13 Intel Corporation Front end system having multiple decoding modes
US7594095B1 (en) * 2005-11-29 2009-09-22 Nvidia Corporation Multithreaded SIMD parallel processor with launching of groups of threads
US7447873B1 (en) * 2005-11-29 2008-11-04 Nvidia Corporation Multithreaded SIMD parallel processor with loading of groups of threads
US8181001B2 (en) * 2008-09-24 2012-05-15 Apple Inc. Conditional data-dependency resolution in vector processors
US8176299B2 (en) * 2008-09-24 2012-05-08 Apple Inc. Generating stop indicators based on conditional data dependency in vector processors
SE536462C2 (sv) * 2011-10-18 2013-11-26 Mediatek Sweden Ab Digital signalprocessor och basbandskommunikationsanordning
SE1150967A1 (sv) * 2011-10-18 2013-01-15 Mediatek Sweden Ab Digital signalprocessor och basbandskommunikationsanordning
GB2495959A (en) * 2011-10-26 2013-05-01 Imagination Tech Ltd Multi-threaded memory access processor
WO2013166101A1 (en) * 2012-05-02 2013-11-07 Massachusetts Institute Of Technology Managing buffer memory
US9626732B2 (en) * 2013-10-10 2017-04-18 Intel Corporation Supporting atomic operations as post-synchronization operations in graphics processing architectures
US9715386B2 (en) 2014-09-29 2017-07-25 Apple Inc. Conditional stop instruction with accurate dependency detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS505542B1 (ja) * 1968-07-09 1975-03-05

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3560934A (en) * 1969-06-10 1971-02-02 Ibm Arrangement for effecting vector mode operation in multiprocessing systems
US4107773A (en) * 1974-05-13 1978-08-15 Texas Instruments Incorporated Advanced array transform processor with fixed/floating point formats
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
US4365292A (en) * 1979-11-26 1982-12-21 Burroughs Corporation Array processor architecture connection network
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS505542B1 (ja) * 1968-07-09 1975-03-05

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUJII JUN, Suzuki Nobuo "Operating System" (1970-7-31) SANGYO TOSHO KABUSHIKI KAISHA, pages 82 tot 83 *
KATO MASAO, Inamura Kenji "Heiretsu Shori Keisanki Chokosokuka eno Architecture" (1971-6-25) KABUSHIKI KAISHA OHM-SHA SHOTEN, pages 42 tot 43 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4617625A (en) * 1981-12-28 1986-10-14 Hitachi, Ltd. Vector processor

Also Published As

Publication number Publication date
AU6645081A (en) 1981-07-22
JPS6043535B2 (ja) 1985-09-28
DE3071919D1 (en) 1987-04-09
US5499350A (en) 1996-03-12
EP0042442A4 (en) 1982-07-30
JPS5696367A (en) 1981-08-04
EP0042442A1 (en) 1981-12-30
EP0042442B1 (en) 1987-03-04
AU528849B2 (en) 1983-05-12

Similar Documents

Publication Publication Date Title
WO1981001892A1 (en) Information processing system
EP0328721B1 (en) Dynamic multiple instruction stream multiple data multiple pipeline floatingpoint unit
US4953082A (en) Master processor providing tokens to dataflow processor for controlling instructions execution and data store operation
CA1184311A (en) Peripheral interface adapter circuit for use in i/o controller card having multiple modes of operation
CN1965308B (zh) 具有协作对象的修改后的计算机架构
EP0211614A2 (en) Loop control mechanism for a scientific processor
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
JPH03500461A (ja) データ駆動式計算用のデータ流れ装置
JPS5916053A (ja) パイプライン演算装置
Dennis et al. A computer architecture for highly parallel signal processing
CN101410823A (zh) 异步计算机通信
JP2001092796A (ja) 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット
US5907693A (en) Autonomously cycling data processing architecture
EP0419499B1 (en) Vector tailgating in computers with vector registers
JP2001282765A (ja) 自己同期型転送制御回路およびこれを用いたデータ駆動型情報処理装置
JPS58149555A (ja) 並列処理装置
US20030172248A1 (en) Synergetic computing system
EP0376003A2 (en) Multiprocessing system with interprocessor communications facility
JP2668156B2 (ja) データ駆動型情報処理装置の実行制御方法
JPH0521262B2 (ja)
JPH10283178A (ja) 命令を発行するための方法及びシステム
JPH07200542A (ja) ベクトル処理装置
Lewin et al. Advanced computer architectures
JPH0812661B2 (ja) 命令処理順序制御システム
JPH02188887A (ja) パケット結合・分離方式

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU US

AL Designated countries for regional patents

Designated state(s): DE FR GB

WWE Wipo information: entry into national phase

Ref document number: 1981900086

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1981900086

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1981900086

Country of ref document: EP