JPH02301830A - Information processing system - Google Patents

Information processing system

Info

Publication number
JPH02301830A
JPH02301830A JP12315589A JP12315589A JPH02301830A JP H02301830 A JPH02301830 A JP H02301830A JP 12315589 A JP12315589 A JP 12315589A JP 12315589 A JP12315589 A JP 12315589A JP H02301830 A JPH02301830 A JP H02301830A
Authority
JP
Japan
Prior art keywords
data
priority
processing
unit
units
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP12315589A
Other languages
Japanese (ja)
Inventor
Hitoshi Ishida
仁志 石田
Shigeyuki Kazama
風間 成行
Minoru Shiga
稔 志賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP12315589A priority Critical patent/JPH02301830A/en
Priority to US07/478,196 priority patent/US5226166A/en
Publication of JPH02301830A publication Critical patent/JPH02301830A/en
Priority to US08/076,023 priority patent/US5293500A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To improve the memory access processing speed of the system by simultaneously executing plural memory access in a logically consistent extent. CONSTITUTION:A register file 404 stores operands necessary for arithmetic operations and a priority score board 103 detects register conflict between plural processing units 1 and 2 and avoids the conflict in accordance with their priority. Data units 102 and 105 make data readout/writing processes between a memory and the register file 404 and a controller 104 detects memory address conflict between the data units 102 and 105 and decides executing order of the units 102 and 105 in accordance with their priority. Therefore, memory access is independently executed at the data unit corresponding to the each processing unit in a logically consistent extent. Thus the processing speed can be improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は並列又は直列にデータ処理を行なう情報処理
方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing system that performs data processing in parallel or serially.

〔従来の技術〕[Conventional technology]

第4図はこの種の従来の情報処理方式を採用した情報処
理装置の要部構成を示すブロック図である。この第4図
はCarl Dobbs、Paul Reed and
Tommy Ng  著:Supercomputin
g on Chip、VLSISYSTEMS DES
IGN Vol、 IX、No、5.May 1988
.pp24−33に示されたものに基づくもので、図に
おいて、401は整数演算を行なう整数ユニット、40
2は浮動小動点演算を行なう浮動小数点ユニッ1−14
03はメモリとレジスタ間でデータの読み出し/書き込
み処理を行うデータユニット、404はデータ処理を行
なうための情報を格納するレジスタファイル、405は
レジスタ競合の検出と回避を行うスコアボード、40G
は命令のフェッチ、復号そして機能ユニットへの転送を
行う命令ユニット、407゜408.409は内部ハス
である。
FIG. 4 is a block diagram showing the main part configuration of an information processing apparatus that employs this kind of conventional information processing method. This figure 4 was created by Carl Dobbs, Paul Reed and
Written by Tommy Ng: Supercomputing
g on Chip, VLSI SYSTEMS DES
IGN Vol, IX, No, 5. May 1988
.. It is based on what is shown in pp. 24-33, and in the figure, 401 is an integer unit that performs integer operations;
2 is a floating point unit 1-14 that performs floating point operations.
03 is a data unit that performs data read/write processing between memory and registers, 404 is a register file that stores information for data processing, 405 is a scoreboard that detects and avoids register conflicts, 40G
is an instruction unit that fetches, decodes, and transfers instructions to functional units, and 407, 408, and 409 are internal hashes.

次に動作について説明する。命令ユニット406は命令
のフェッチ、復号、転送の3つのステージにパイプライ
ン化されていて、1クロツクサイクルでフェッチを完了
した後、命令を復号ステージに渡す。復号ステージで命
令を部分的に復号し、演算に必要なオペランドを命令に
対応する機能ユニソ1〜にレジスタファイル404から
プリフェッチしてあげるためにスコアボード405にレ
ジスタ要求を出す。レジスタファイル404の各レジス
タはスコアボード・ピッI・を持っていて、そのスコア
ボード・ビットばそのレジスタがストールされている時
はセットされ、データ操作が完了したらクリアされる。
Next, the operation will be explained. The instruction unit 406 is pipelined into three stages: instruction fetch, decode, and transfer, and passes the instruction to the decode stage after completing the fetch in one clock cycle. In the decoding stage, the instruction is partially decoded and a register request is issued to the scoreboard 405 in order to prefetch the operands necessary for the operation from the register file 404 to the functions UNISO 1 to corresponding to the instruction. Each register in register file 404 has a scoreboard bit that is set when that register is stalled and cleared when the data operation is complete.

命令ユニット406からレジスタ要求を受は取ったスコ
アボード405はスコアボード・ビットを調べ、クリア
状態である場合だけ命令ユニット406に利用可能のシ
グナルを送る。スコアボード405から利用可能のシグ
ナルを受けた命令ユニソl−406は命令を対応する機
能ユニットに転送する。各機能ユニットも数段のパイプ
ラインステージを持ち、プリフェッチされたオペランド
を用いて命令を実行する。
Scoreboard 405, which receives the register request from instruction unit 406, examines the scoreboard bit and signals available to instruction unit 406 only if it is in the clear state. Upon receiving the availability signal from the scoreboard 405, the instruction unit 406 forwards the instruction to the corresponding functional unit. Each functional unit also has several pipeline stages and executes instructions using prefetched operands.

データユニット403も1つの機能ユニットrあり、3
つのステージにパイプライン化されている。
The data unit 403 also has one functional unit r, 3
pipelined into two stages.

ステージ1では、プリフェッチされたオペランドを使っ
てアドレス計算を行い、計算結果を次のステージに渡す
。ステージ2では、送られてきたアドレスに基づいて外
部データアドレスバスを駆動する。送られてきた命令が
ストア命令の場合、このステージでス1−アされるデー
タをレジスタファイル404からフェッチして外部ハス
にアドレスとデータをのせる。ステージ3では、メモリ
システムの反応を監視する。ロード命令の場合このステ
ージでデータバスを読みレジスタにデータを取り込む。
In stage 1, address calculation is performed using prefetched operands, and the calculation result is passed to the next stage. In stage 2, the external data address bus is driven based on the sent address. If the sent instruction is a store instruction, the data to be stored at this stage is fetched from the register file 404 and the address and data are placed in the external lot. Stage 3 monitors the response of the memory system. In the case of a load instruction, the data bus is read at this stage and the data is taken into the register.

従来方式は、このような手順でデータ処理が行なわれる
In the conventional method, data processing is performed using such a procedure.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ところが、従来の情報処理方式は上述したように命令ユ
ニットが1クロソクザイクルで1つの命令しか復号する
ことができないため、1り1コツクサイクルで高々1つ
の演算結果しか得られなく、メモリアクセス処理速度の
向上を図ることが難しいという問題点があった。
However, in conventional information processing systems, as mentioned above, the instruction unit can only decode one instruction in one cross cycle, so only one operation result can be obtained in each cross cycle, and memory access processing There was a problem in that it was difficult to improve the speed.

この発明は上記のような問題点を解決するためになされ
たもので、複数のメモリアクセスを論理的に矛盾しない
範囲で同時に実行することができるようにし、処理速度
の向上を図れる情報処理方式を提供することを目的とす
る。
This invention was made in order to solve the above-mentioned problems, and it is an information processing method that can simultaneously execute multiple memory accesses within a logically consistent range and improve processing speed. The purpose is to provide.

〔課題を解決するための手段〕[Means to solve the problem]

この発明に係る情報処理方式においては、複数個の処理
ユニット1,2に共有でデータ処理を行なうための情報
を格納するレジスタファイル404と、複数個の処理ユ
ニット1.2間で生じるレジスタ競合を検出し優先度に
従って回避する機能を持ったレジスタ競合回避手段(優
先スコアボード103)と、メモリとレジスタファイル
404間でデータの読み出し/書き込み処理を行なう各
処理ユニット1.2対応のデータユニソ) 102.1
05と、該データユニット102.105間で生じるメ
モリアドレス競合を検出し上記優先度に従って上記デー
ター5= ユニット102. ]05の実行順序を決定する機能を
持った制御装置104 とを備え、複数のメモリアクセ
スが上記命令ユニソIdol、106から同時に出され
た時、データユニソI−102,105は上記優先度に
従って並列にデータ処理を行なうことを特徴とするもの
である。
In the information processing method according to the present invention, a register file 404 that stores information for shared data processing in a plurality of processing units 1 and 2, and a register conflict that occurs between the plurality of processing units 1 and 2 are provided. 102. Register conflict avoidance means (priority scoreboard 103) that has a function of detecting and avoiding according to priority, and a data unit compatible with each processing unit 1.2 that performs data read/write processing between memory and register file 404. 1
05 and the data unit 102.105 is detected, and the data 5=unit 102.105 is assigned according to the priority. ]05, and when a plurality of memory accesses are simultaneously issued from the instruction unit Idol, 106, the data unit I-102, 105 is executed in parallel according to the priority. It is characterized by performing data processing.

〔作用〕[Effect]

レジスタファイル404ば、複数個の処理ユニット1,
2に共有であり、データ処理を行なうための情報を格納
する。レジスタ競合回避手段(優先スコアボード103
)は複数個の処理ユニット1゜2間で生じるレジスタ競
合を検出し優先度に従って回避する。データユニソl−
102,105はメモリとレジスタファイル404間で
データの読み出し/書き込み処理を行なう。制御装置1
04は、データユニメト102,1.05間で生しるメ
モリアドレス競合を検出し、優先度に従ってデータユニ
ット102.105の実行順序を決定する。したがって
、複数のメモリアクセスが命令ユニソl−101,10
6から同時に出された時、データユニソh 102.1
05では優先度に=6− 従って並列にデータ処理が行なわれる。
The register file 404 includes a plurality of processing units 1,
2 is shared and stores information for data processing. Register conflict avoidance means (priority scoreboard 103
) detects register conflicts occurring between a plurality of processing units 1 and 2 and avoids them according to priority. data unisol l-
102 and 105 perform data read/write processing between the memory and the register file 404. Control device 1
04 detects a memory address conflict that occurs between data units 102 and 1.05, and determines the execution order of data units 102 and 105 according to their priorities. Therefore, multiple memory accesses are
When issued simultaneously from 6, data Uniso h 102.1
In 05, data processing is performed in parallel according to the priority=6-.

〔発明の実施例〕[Embodiments of the invention]

第1図はこの発明の一実施例に係る情報処理方式を採用
した情報処理装置の要部構成を示すブロック図である。
FIG. 1 is a block diagram showing the main part configuration of an information processing apparatus employing an information processing method according to an embodiment of the present invention.

第1図において、第4図に示す構成要素に対応するもの
には同一の符号を付し、その説明を省略する。第1図に
おいて、101はN番目(N=0.1.・・・)の命令
をフェッチし、復号し、他の機能ユニットに転送する命
令ユニット、〕06は(N+1)番目の命令をフェッチ
し、復号し、他の機能ユニットに転送する命令ユニット
、102は命令ユニソl□101からロード/ストア命
令を受は取りメモリアクセスを行なうデータユニット、
105は命令ユニット105からロード/ストア命令を
受は取りメモリアクセスを行なうデータユニット、10
3は2つの命令ユニット101.]、06間で生じるレ
ジスタ競合を検出し優先度に従って回避するレジスタ競
合回避手段としての優先スコアボード、104は2つの
データユニット102.105間で生じるメモリアドレ
ス競合を検出し上記優先度に従ってデータユニット10
2.105の実行順序を決定する制御装置である。処理
ユニット1は整数ユニット401、浮動小数点ユニット
402、命令ユニット10】及びデータユニット102
を備えている。処理ユニット2は整数ユニット401、
浮動小数点ユニッ)402、データユニット105及び
命令ユニット106を備えている。
In FIG. 1, components corresponding to those shown in FIG. 4 are designated by the same reference numerals, and their explanations will be omitted. In FIG. 1, 101 is an instruction unit that fetches the Nth (N=0.1...) instruction, decodes it, and transfers it to other functional units, and 06 fetches the (N+1)th instruction. 102 is a data unit that receives and receives load/store instructions from the instruction unit 101 and performs memory access;
105 is a data unit that receives load/store instructions from the instruction unit 105 and performs memory access;
3 has two instruction units 101.3. ], 104 is a priority scoreboard as a register conflict avoidance means that detects a register conflict occurring between two data units 102 and 105 and avoids it according to the priority, and 104 detects a memory address conflict that occurs between two data units 102 and 105 and avoids it according to the priority. 10
This is a control device that determines the execution order of 2.105. The processing unit 1 includes an integer unit 401, a floating point unit 402, an instruction unit 10, and a data unit 102.
It is equipped with The processing unit 2 is an integer unit 401,
A floating point unit) 402, a data unit 105, and an instruction unit 106 are provided.

第2図は、データユニット102.105間で、■メモ
リアドレス競合が生じていない場合と、■メモリアドレ
ス競合が生じている場合において、各データユニット1
02.105で処理される命令(ロード/ストア命令)
によって2つのデータユニット102、105の動作が
どのように変化するかを表わした図で゛ある。
Figure 2 shows each data unit 102 and 105 in the case where there is no memory address conflict and when there is a memory address conflict.
Instructions processed in 02.105 (load/store instructions)
This is a diagram showing how the operations of two data units 102 and 105 change depending on the situation.

第3図は、制御装置104の働きと2つのデータユニッ
トの動作を示した説明図である。(a)図は、2つのデ
ータユニット102.105間でメモリアドレス競合が
生じていない場合であり、図ではデータユニット102
がロード命令を、データユニ・7ト105がストア命令
を処理している。(b)図は、2つのデータユニット]
、01,103間でメモリアドレス競合が生じている場
合である。(i)はメモリアドレス競合を引き起こして
いる命令が全てロード命令である場合を、(11)は競
合を引き起こしている命令の中に1つ以上ストア命令が
含まれている場合を表わしている(図ではデータユニッ
ト102がロード命令をデータユニット105がストア
命令を処理している)。301はアドレス計算を行うス
テージ1.302は外部データアドレスバスを駆動する
ステージ2.303はメモリシステムの反応を監視する
ステージ3を示している。
FIG. 3 is an explanatory diagram showing the function of the control device 104 and the operation of the two data units. (a) The figure shows a case where there is no memory address conflict between two data units 102 and 105;
is processing load instructions, and data unit 7 105 is processing store instructions. (b) The diagram shows two data units]
, 01, and 103, there is a memory address conflict. (i) represents the case where all the instructions causing the memory address conflict are load instructions, and (11) represents the case where the instructions causing the conflict include one or more store instructions ( In the figure, the data unit 102 processes load instructions and the data unit 105 processes store instructions). 301 is a stage 1 for performing address calculation; 302 is a stage 2 for driving an external data address bus; and 303 is a stage 3 for monitoring the reaction of the memory system.

次に動作について説明する。ロード/ストア命令を除い
て、各処理ユニットは従来例と同様に命令をフェッチ、
復号、転送、実行、格納の順で処理する。
Next, the operation will be explained. Except for load/store instructions, each processing unit fetches instructions as in the conventional example.
Processes in the order of decryption, transfer, execution, and storage.

ロード/ストア命令に対する制御装置104および2つ
のデータユニソ) 102.105の動作を第3図に基
づいて説明する。ロード/ストア命令が命令ユニット1
01.106からデータユニット102.105に転送
されると((a) 、 (b)図において■)、プリフ
ェ=9− ソチされたオペランド((a) 、 (b)図において
レジスタファイル404からステージ1への■)を使っ
てステージ1でアドレスを計算する。アドレスが決定す
ると、各データユニッ) 102.105は転送された
命令を制御装置104に知らせると同時に、ステージ1
で計算したアドレスを要求する((a) 、 (b)図
において■)。制御装置104は、2つのデータユニッ
ト102,105の各ステージで処理されている全ての
メモリアドレスと命令(ロード/ストア)を保持してい
る。一方または両方のデータユニットからメモリアドレ
ス要求を受けた制御装置104は、該一方のデータユニ
ットから要求されたメモリアドレスと該他方のデータユ
ニットの各ステージで処理されているメモリアドレス(
ベンディングされているメモリアドレスも含む)を比較
する。同一データユニット内でのメモリアドレス競合は
、各データユニットがパイプライン処理されているので
、ベンディングする必要はない。例えばデータユニッl
−102から要求を受けた場合、制御装置104はデー
タユニット102が要求しているメモリアドレスとデー
タユニット105のステージ1.ステージ2.ステージ
3で処理されているメモリアドレスを比較して、メモリ
アドレス競合が生じているか否かを調べる。比較の結果
メモリアドレス競合が生じていなければ(a)図、制御
装置104は要求しているデータユニットに実行許可を
与える((a)図の■)。(a)図の場合、両方のデー
タユニット101,105は並列にメモリアクセスを行
う((a)図の■、■)。
The operation of the control unit 104 and the two data units 102 and 105 for load/store instructions will be explained based on FIG. Load/store instruction is instruction unit 1
When transferred from data unit 01.106 to data unit 102.105 (■ in figures (a) and (b)), prefe = 9 - transferred operand (from register file 404 to stage in figures (a) and (b)) 1 to 1)) is used to calculate the address in stage 1. Once the address is determined, each data unit (102, 105) notifies the controller 104 of the transferred command and at the same time
Request the address calculated in (■ in figures (a) and (b)). The control device 104 holds all memory addresses and instructions (load/store) being processed in each stage of the two data units 102 and 105. The control device 104, which has received a memory address request from one or both data units, uses the memory address requested by the one data unit and the memory address processed at each stage of the other data unit (
(including memory addresses that are being bent). Memory address conflicts within the same data unit do not need to be bent since each data unit is pipelined. For example, data unit
-102, the controller 104 identifies the memory address requested by the data unit 102 and the stage 1. Stage 2. The memory addresses being processed in stage 3 are compared to determine whether a memory address conflict has occurred. As a result of the comparison, if no memory address conflict occurs, the control device 104 grants execution permission to the requested data unit (■ in the diagram (a)). In the case of the figure (a), both data units 101 and 105 perform memory access in parallel (■, ■ in the figure (a)).

データユニット10L105間でメモリアドレス競合が
生じる場合として、2つの命令間で生じる競合と、3つ
の命令間で生じる競合の2つのレベルがある。2つの命
令間での競合には、2つのデータユニット101,10
5に新規に受は付けられた命令間での競合と、新規に受
は付けられた命令と該他方のデータユニットの先行ステ
ージで実行されている命令間での競合がある。3つの命
令の間で生じる競合として、先行ステージで実行中の命
令とベンディングしている命令と新規に受は付けられた
命令間で生じる競合と、データユニット105の先行ス
テージで実行中の命令と新規に受げイ」けられた2つの
命令間での競合がある。いずれの場合でも先ず制御袋W
104は競合を引き起こしている複数の命令が全てロー
ド命令であるか否かを調べ、全部ロード命令の場合は並
列処理が可能なので、制御装置104はメモリアドレス
を要求しているデータユニットに同時に実行許可を出す
((b)図(i))。
When memory address conflict occurs between data units 10L105, there are two levels: conflict occurring between two instructions and conflict occurring between three instructions. A conflict between two instructions requires two data units 101, 10.
There is a conflict between the newly accepted instructions in the data unit 5, and a conflict between the newly accepted instructions and the instructions being executed in the preceding stage of the other data unit. Conflicts that occur between the three instructions include a conflict that occurs between an instruction that is currently being executed in the preceding stage, an instruction that is bending, and a newly accepted instruction, and a conflict that occurs between the instruction that is currently being executed in the preceding stage of the data unit 105, and a newly accepted instruction. There is a conflict between two newly accepted instructions. In either case, first the control bag W
104 checks whether the multiple instructions causing the conflict are all load instructions, and if they are all load instructions, parallel processing is possible, so the control unit 104 simultaneously executes them on the data units requesting the memory address. Issue permission ((b) figure (i)).

全てロード命令の場合は、メモリアドレス競合が生じて
いない場合と同様に両データユニソ1〜102゜105
は並列にメモリアクセスを行う((b)図(i)の■、
■)。競合を引き起こしている複数の命令の中に1つ以
上ストア命令が含まれる場合、並列処理ができないので
、制御装置104はプライオリティ (優先度)に従っ
て実行順序を決定し、実行許可を出す。この実施例にお
いては、 0、先行ステージで既に実行中の命令 ■、ベンディングしている命令 2、デークユニソl−1(1,02)で受りイ=Jりら
れた命令 3、データユニソI−2(105)で受は付けられた命
令 の順でプライオリティが低くなる。2つのデータユニッ
ト102.105に新規に受は付けられた命令間での競
合が生じた場合は、プライオリティ0,1が適用されな
いので、プライオリティ2によりデータユニット102
に受は付けられた命令が優先される。新規に受は付けら
れた命令と該他方のデータユニットの先行ステージで実
行されている命令間の競合は、プライオリティOにより
新規に受は付けられた命令は先行ステージの実行が終了
するまでベンディングしなげればならない。先行ステー
ジで実行中の命令とベンディングしている命令と新規に
受は付けられた命令間での競合は、プライオリティOに
より現在実行中の命令が最優先され、次にプライオリテ
ィ1によりベンディングしている命令が優先される。デ
ータユニット105の先行ステージで実行中の命令と2
つの新規に受は付けられた命令間での競合はプライオリ
ティOにより、現在実行中の命令が最優先され、次にプ
ライオリティ2によりデータユニット102に受は付け
られた命令が優先される。
In the case of all load instructions, both data are uniso 1 to 102°105 as in the case where there is no memory address conflict.
performs memory access in parallel ((b) ■ in figure (i),
■). If one or more store instructions are included in the multiple instructions causing contention, parallel processing is not possible, so the control device 104 determines the execution order according to priority and issues execution permission. In this example, 0, the instruction already being executed in the preceding stage, the instruction 2 that is bending, the instruction 3 received by the data unit I-1 (1,02), the data unit I-2 In step (105), the priority of the received commands decreases in the order of received commands. If a conflict occurs between newly accepted instructions in two data units 102 and 105, priorities 0 and 1 are not applied, so priority 2 is used to transfer instructions to data unit 102.
Priority is given to orders that are marked. If there is a conflict between a newly accepted instruction and an instruction being executed in the preceding stage of the other data unit, the newly accepted instruction will be bent until the preceding stage finishes execution due to priority O. I have to throw it. When there is a conflict between an instruction currently being executed in the preceding stage, an instruction that is bending, and a newly accepted instruction, the currently executing instruction is given top priority with priority O, and then bending is given with priority 1. Orders take priority. Instructions being executed in the preceding stage of data unit 105 and 2
In a conflict between two newly accepted instructions, priority O gives priority to the currently executing instruction, followed by priority 2, which gives priority to the instruction accepted into data unit 102.

実行許可を受は取ったデータユニソI・は従来例と同様
にメモリアクセスを実行する。命令の実行が終了すると
、ステージ3で各データユニット1.02,105は制
御装置104に処理が終了したメモリアドレスを知らせ
る。((a)図の■と(b)図の■。
The data unit I/I, which has received execution permission, executes memory access in the same manner as in the conventional example. When the execution of the instruction is completed, in stage 3 each data unit 1.02, 105 informs the controller 104 of the memory address at which the processing has ended. (■ in (a) figure and (b) ■ in figure.

[相])。そのメモリアドレスを受は取った制御装置1
04 は、保持しているメモリアドレスと命令(ロード
/ストア)を消去する。制御装置104は、次のメモリ
アドレスの要求があれば再びメモリアドレス間でメモリ
アドレス競合の有無を調べ、プライオリティに従って実
行順序を決定したり、メモリアドレスの要求がなければ
ベンディングしている命令に実行許可を出す。
[phase]). Control device 1 that received the memory address
04 erases the held memory address and instructions (load/store). If there is a request for the next memory address, the control device 104 checks again whether there is a memory address conflict between the memory addresses, determines the execution order according to the priority, or executes the bending instruction if there is no request for the memory address. give permission.

このように上記実施例の情報処理方式は、複数の処理ユ
ニットにおいて命令が並列/直列に処理され、優先スコ
アボードにおいて処理ユニット間のレジスタ競合が検出
・回避され、制御装置においてデータユニ71〜間で生
じるメモリアドレス競合を検出しプライオリティに従っ
て実行順序を決定し、各処理ユニット対応のデータユニ
ットにおいて論理的に矛盾しない範囲で独立にメモリア
クセスが実行される。
In this way, the information processing system of the above embodiment processes instructions in parallel/serially in a plurality of processing units, detects and avoids register conflicts between processing units on the priority scoreboard, and processes data between the data units 71 and 71 in the control device. Detects memory address conflict that occurs in the process, determines the execution order according to the priority, and independently executes memory access within a logically consistent range in the data unit corresponding to each processing unit.

〔発明の効果〕〔Effect of the invention〕

以上のようにこの発明によれば、各処理ユニット毎にデ
ータユニットを備え、制御装置においてレジスタ読み出
しは各処理ユニットと各処理ユニット対応のレジスタフ
ァイル間で独立かつ並列に行い、レジスタ書き込みは各
処理ユニットと全てのレジスタファイル間で独立に行う
ので、複数のメモリアクセスを論理的に矛盾しない範囲
で同時に実行することが可能となり、メモリアクセス処
理において処理速度の向上を図れるという効果が得られ
る。
As described above, according to the present invention, a data unit is provided for each processing unit, register reading is performed independently and in parallel between each processing unit and the register file corresponding to each processing unit in the control device, and register writing is performed by each processing unit. Since this is performed independently between the unit and all register files, it is possible to simultaneously execute multiple memory accesses within a logically consistent range, resulting in the effect of improving processing speed in memory access processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例に係る情報処理方式を採用
した情報処理装置の要部構成を示すブロック図、第2図
はこの実施例において2つのデータユニットに転送され
た命令とデータユニット間のメモリアドレス競合の糺み
合わせによる2つのデータユニットの動作を説明するた
めの図、第3図はこの実施例において制御装置の働きと
2つのデータユニットの動作を説明するだめのブロック
図、第4図は従来の情報処理方式を採用した情報処理装
置の要部構成を示すブロック図である。 1.2・・・処理ユニット、1.01,106  ・・
・命令ユニット、102.105  ・・・データユニ
ソI・、103  ・・・優先スコアボード(レジスタ
競合回避手段’) 、104  ・・・制御装置、40
4  ・・・レジスタファイル。 代理人  大  岩  増  1ji、(はが2名)手
続補正書(自発)
FIG. 1 is a block diagram showing the main part configuration of an information processing device that employs an information processing method according to an embodiment of the present invention, and FIG. 2 shows instructions and data units transferred to two data units in this embodiment. FIG. 3 is a block diagram illustrating the operation of the control device and the operation of the two data units in this embodiment. FIG. 4 is a block diagram showing the main part configuration of an information processing apparatus employing a conventional information processing method. 1.2...processing unit, 1.01,106...
・Instruction unit, 102. 105 ... Data Uniso I, 103 ... Priority scoreboard (register conflict avoidance means'), 104 ... Control device, 40
4...Register file. Agent: Masu Oiwa 1ji, (2 people) Procedural amendment (voluntary)

Claims (1)

【特許請求の範囲】[Claims] 命令のフェッチ、復号、転送を行なう命令ユニットを有
しデータ処理を行なう処理ユニットを複数個備えた情報
処理装置において、上記複数個の処理ユニットに共有で
データ処理を行なうための情報を格納するレジスタファ
イルと、複数個の処理ユニット間で生じるレジスタ競合
を検出し優先度に従って回避する機能を持ったレジスタ
競合回避手段と、メモリとレジスタファイル間でデータ
の読み出し/書き込み処理を行なう各処理ユニット対応
のデータユニットと、該データユニット間で生じるメモ
リアドレス競合を検出し上記優先度に従って上記データ
ユニットの実行順序を決定する機能を持った制御装置と
を備え、複数のメモリアクセスが上記命令ユニットから
同時に出された時、上記データユニットは上記優先度に
従って並列にデータ処理を行なうことを特徴とする情報
処理方式。
In an information processing device including an instruction unit that fetches, decodes, and transfers instructions and a plurality of processing units that perform data processing, a register that stores information for data processing to be shared among the plurality of processing units. Register conflict avoidance means that has a function to detect register conflicts that occur between files and multiple processing units and avoid them according to priority, and a control device having a function of detecting a memory address conflict that occurs between the data units and determining the execution order of the data units according to the priority, and a plurality of memory accesses are simultaneously issued from the instruction unit. The information processing system is characterized in that when the data unit is selected, the data units perform data processing in parallel according to the priority.
JP12315589A 1989-02-10 1989-05-17 Information processing system Pending JPH02301830A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP12315589A JPH02301830A (en) 1989-05-17 1989-05-17 Information processing system
US07/478,196 US5226166A (en) 1989-02-10 1990-02-12 Parallel operation processor with second command unit
US08/076,023 US5293500A (en) 1989-02-10 1993-05-27 Parallel processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12315589A JPH02301830A (en) 1989-05-17 1989-05-17 Information processing system

Publications (1)

Publication Number Publication Date
JPH02301830A true JPH02301830A (en) 1990-12-13

Family

ID=14853542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12315589A Pending JPH02301830A (en) 1989-02-10 1989-05-17 Information processing system

Country Status (1)

Country Link
JP (1) JPH02301830A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233286A (en) * 1991-08-26 1993-09-10 Internatl Business Mach Corp <Ibm> Data processing system
JP2013516006A (en) * 2009-12-29 2013-05-09 エンパイア テクノロジー ディベロップメント エルエルシー Shared memory for energy efficient multi-core processors
JP2013532331A (en) * 2010-06-29 2013-08-15 インテル・コーポレーション Apparatus, method and system for improving power performance efficiency by combining first core type and second core type

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233286A (en) * 1991-08-26 1993-09-10 Internatl Business Mach Corp <Ibm> Data processing system
JP2013516006A (en) * 2009-12-29 2013-05-09 エンパイア テクノロジー ディベロップメント エルエルシー Shared memory for energy efficient multi-core processors
US9367462B2 (en) 2009-12-29 2016-06-14 Empire Technology Development Llc Shared memories for energy efficient multi-core processors
JP2013532331A (en) * 2010-06-29 2013-08-15 インテル・コーポレーション Apparatus, method and system for improving power performance efficiency by combining first core type and second core type

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
KR100335785B1 (en) Execution of data processing instructions
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5021991A (en) Coprocessor instruction format
US5226166A (en) Parallel operation processor with second command unit
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0410102B2 (en)
JPH02301830A (en) Information processing system
JP2798121B2 (en) Data processing device
US5574924A (en) Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0769825B2 (en) Parallel processor
JPH0377137A (en) Information processor
JPH0326862B2 (en)
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JP2511063B2 (en) Pipeline control method
JP2806690B2 (en) Microprocessor
JP2535593B2 (en) Information processing device