JP3128843B2 - Information processing device - Google Patents
Information processing deviceInfo
- Publication number
- JP3128843B2 JP3128843B2 JP03054504A JP5450491A JP3128843B2 JP 3128843 B2 JP3128843 B2 JP 3128843B2 JP 03054504 A JP03054504 A JP 03054504A JP 5450491 A JP5450491 A JP 5450491A JP 3128843 B2 JP3128843 B2 JP 3128843B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- registers
- file
- instruction
- information processing
- 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.)
- Expired - Lifetime
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は情報処理装置に関するも
のである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus.
【0002】[0002]
【従来の技術】近年、RISCマイクロプロセッサなど
の情報処理装置では、大容量のレジスタ・ファイルを備
えることによってメモリに対するロード/ストアの回数
を減らし、メモリ・アクセスによる命令実行効率の低下
を防いでいる。2. Description of the Related Art In recent years, information processing apparatuses such as RISC microprocessors have a large-capacity register file to reduce the number of times of loading / storing a memory, thereby preventing a decrease in instruction execution efficiency due to memory access. .
【0003】以下図面を参照しながら、上述した従来の
情報処理装置の汎用レジスタの構成の一例について説明
する。本従来例はAMD社のマイクロ・プロセッサAm
29000で採用されている汎用レジスタの構成であ
る。An example of the configuration of a general-purpose register of the above-described conventional information processing apparatus will be described below with reference to the drawings. This conventional example is a microprocessor Am of the AMD company.
This is a configuration of a general-purpose register adopted in the 29000.
【0004】Am29000は汎用レジスタとして、絶
対アドレスを持つ64本のグローバル・レジスタと、相
対アドレスを持つ128本のローカル・レジスタを備え
ている。図13にローカル・レジスタのアドレス機構を
示す。図13において、21は3ポートのレジスタ・フ
ァイル、22、23、24は加算器、25はスタック・
ポインタ・データを記憶する専用レジスタである。As a general-purpose register, the Am29000 has 64 global registers having absolute addresses and 128 local registers having relative addresses. FIG. 13 shows the address mechanism of the local register. In FIG. 13, reference numeral 21 denotes a 3-port register file, 22, 23, and 24 adders, and 25 a stack file.
This is a dedicated register for storing pointer data.
【0005】以上のように構成されたローカル・レジス
タのアドレス機構について、以下その動作について説明
する。The operation of the address mechanism of the local register configured as described above will be described below.
【0006】まず、Am29000における演算命令の
命令フォーマットは図14に示すように、操作コードが
8ビットであり、2つのオペランド・ソースおよびオペ
ランド・デスティネーションにそれぞれ8ビットで汎用
レジスタの指定を行う。オペランド・フィールドの値が
0以上127以下であればローカル・レジスタを、12
8以上であればグローバル・レジスタをアクセスする。First, as shown in FIG. 14, the instruction format of the operation instruction in the Am29000 has an operation code of 8 bits, and a general-purpose register is specified by 8 bits for each of two operand sources and operand destinations. If the value of the operand field is 0 or more and 127 or less, the local register is set to 12
If the number is 8 or more, the global register is accessed.
【0007】128個のローカル・レジスタは、レジス
タ・スタック・ポインタと命令オペランドとして指定し
たレジスタ番号とを加算器で合計し、その結果得られた
値をレジスタ番号としてアクセスする。こうした動的な
レジスタ・アドレス機構により、ローカル・レジスタを
スタックのキャッシュとして用いるスタック・キャッシ
ュ機構を実現している。The 128 local registers add the register stack pointer and the register number specified as the instruction operand by an adder, and access the resulting value as the register number. Such a dynamic register address mechanism realizes a stack cache mechanism using a local register as a stack cache.
【0008】さて、VLIWやスーパスカラ方式の計算
機では、同時には1つのコンテクストのみに対して並列
処理するため、各演算器が汎用レジスタをマルチポート
化するなどによって共有するのが一般的である。これに
対して、複数のコンテクストを並列に処理する従来の並
列計算機では、汎用のレジスタ・セットは各要素プロセ
ッサ毎に用意されており、ある要素プロセッサが他の要
素プロセッサのレジスタに直接アクセスを行うことはな
かった。すなわち、各要素プロセッサがメモリを共有す
ることはあってもレジスタを共有することはなく、従っ
てこのような場合の技術については何等報告されていな
い。Now, in a computer of the VLIW or superscalar system, since only one context is processed in parallel at the same time, it is common that each operation unit shares a general-purpose register by multiporting. On the other hand, in a conventional parallel computer that processes a plurality of contexts in parallel, a general-purpose register set is prepared for each element processor, and one element processor directly accesses registers of another element processor. There was no. That is, although the element processors may share the memory, they do not share the register. Therefore, no technique has been reported in such a case.
【0009】[0009]
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、以下のような課題を有していた。まず、
グローバル・レジスタの個数は64個で固定である。ま
た、複数の環境をグローバル・レジスタ上に保持する場
合、絶対レジスタ番号でレジスタ・アクセスを行うた
め、レジスタ上へのデータの配置に関して、特別の考慮
が必要である。次に、ローカル・レジスタは動的なアド
ッレシングを採用することにより、データのレジスタ上
への動的再配置可能性を獲得しているが、その個数は1
28個に制限されている。レジスタの個数は命令長と密
接な関係があるため、一般には、レジスタ指定に用いる
命令フィールドの長さで、アクセス可能なレジスタの個
数が決められてしまうといった課題があった。However, the above configuration has the following problems. First,
The number of global registers is fixed at 64. In addition, when a plurality of environments are stored in the global register, register access is performed using the absolute register number. Therefore, special consideration must be given to the arrangement of data on the register. Next, the local registers adopt dynamic addressing, thereby obtaining the possibility of dynamically relocating data on the registers, but the number of the registers is one.
It is limited to 28. Since the number of registers is closely related to the instruction length, there has been a problem that the number of accessible registers is generally determined by the length of the instruction field used for register specification.
【0010】本発明は上記課題に鑑み、レジスタ使用の
自由度が大きく、また、利用効率の高い情報処理装置を
提供するものである。SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and provides an information processing apparatus having a high degree of freedom in register use and high use efficiency.
【0011】特に請求項1記載の発明は、命令語長を増
やすことなく大量のレジスタをアクセスすることがで
き、また、レジスタの利用に際してグローバル/ローカ
ルの区別を自由に設定できる情報処理装置を提供するも
のである。In particular, the invention according to claim 1 provides an information processing apparatus capable of accessing a large number of registers without increasing the instruction word length and capable of freely setting global / local discrimination when using registers. Is what you do.
【0012】また請求項2記載の発明は、マルチプロセ
ッサにおいて、複数のコンテクストで効率良く同一のレ
ジスタ空間を共有する機能を有する情報処理装置を提供
するものである。[0012] The invention according to claim 2 provides an information processing apparatus having a function of efficiently sharing the same register space in a plurality of contexts in a multiprocessor.
【0013】また請求項3記載の発明は、若干のハード
ウェア量の増加によって請求項1におけるレジスタ・ア
クセスの回数についての問題を解決した情報処理装置を
提供するものである。According to a third aspect of the present invention, there is provided an information processing apparatus which solves the problem of the number of register accesses in the first aspect by slightly increasing the amount of hardware.
【0014】また請求項4記載の発明は、マルチプロセ
ッサにおいて、レジスタ上のデータを複数のコンテクス
トで効率よく選択的に共有する機能を有する情報処理装
置を提供するものである。According to a fourth aspect of the present invention, there is provided an information processing apparatus having a function of efficiently and selectively sharing data in a register in a plurality of contexts in a multiprocessor.
【0015】[0015]
【課題を解決するための手段】上記課題を解決するため
に請求項1記載の情報処理装置は、複数のレジスタから
なるレジスタ・ファイルと、前記レジスタ・ファイルに
対するレジスタ番号を記憶するレジスタと、前記レジス
タと命令オペランド・フィールドで指定された第1の値
との演算により前記レジスタ・ファイルに対する第1の
レジスタ番号を求める第1の演算手段と、前記レジスタ
・ファイルにおいて、前記第1のレジスタ番号をもつレ
ジスタの内容と前記命令オペランド・フィールド中の第
2の値との演算により前記レジスタ・ファイルに対する
第2のレジスタ番号を求める第2の演算手段とを備え
る。According to a first aspect of the present invention, there is provided an information processing apparatus, comprising: a register file including a plurality of registers; a register for storing a register number for the register file; First operation means for calculating a first register number for the register file by operation of a register and a first value specified in an instruction operand field; and in the register file, Second operation means for obtaining a second register number for the register file by performing an operation on the contents of the register and the second value in the instruction operand field.
【0016】請求項2記載の情報処理装置は、複数のプ
ロセッサによって共有され、複数のレジスタからなるレ
ジスタ・ファイルと、前記プロセッサ毎に用意され、前
記レジスタ・ファイルに対するレジスタ番号を記憶する
レジスタと、前記プロセッサ毎に用意され、前記レジス
タと命令オペランド・フィールドで指定された第1の値
との演算により前記レジスタ・ファイルに対する第1の
レジスタ番号を求める第1の演算手段と、前記プロセッ
サ毎に用意され、前記レジスタ・ファイルにおいて、前
記第1のレジスタ番号をもつレジスタの内容と前記命令
オペランド・フィールド中の第2の値との演算により前
記レジスタ・ファイルに対する第2のレジスタ番号を求
める第2の演算手段と、前記レジスタ2のうちの1つの
レジスタの内容を前記レジスタのうちの他レジスタに複
写する複写手段とを備える。According to a second aspect of the present invention, there is provided an information processing apparatus comprising: a register file shared by a plurality of processors and comprising a plurality of registers; a register prepared for each of the processors and storing a register number for the register file; A first operation means provided for each processor for obtaining a first register number for the register file by performing an operation on the register and a first value specified in an instruction operand field; In the register file, a second register number for the register file is obtained by calculating the contents of the register having the first register number and a second value in the instruction operand field. Arithmetic means and the contents of one of the registers 2 And a copying means for copying the other registers of the serial register.
【0017】請求項3記載の情報処理装置は、複数のレ
ジスタからなるレジスタ・ファイルと、前記レジスタ・
ファイルに対するレジスタ番号を記憶するレジスタ・セ
ットと、 命令オペランド・フィールドで指定された前
記レジスタ・セット中の1つのレジスタの値と前記命令
オペランド・フィールドで指定された値との演算により
前記レジスタ・ファイル1に対するレジスタ番号を求め
る演算手段とを備える。According to a third aspect of the present invention, there is provided an information processing apparatus comprising: a register file including a plurality of registers;
A register set for storing a register number for a file; and a register file obtained by calculating a value of one register in the register set specified by an instruction operand field and a value specified by the instruction operand field. Operation means for obtaining a register number for 1;
【0018】請求項4記載の情報処理装置は、複数のプ
ロセッサによって共有され、複数のレジスタからなるレ
ジスタ・ファイルと、前記プロセッサ毎に用意され、前
記レジスタ・ファイルに対するレジスタ番号を記憶する
レジスタ・セットと、前記プロセッサ毎に用意され、命
令オペランド・フィールドで指定された前記レジスタ・
セット中の1つのレジスタの値と前記命令オペランド・
フィールドで指定された値との演算により前記レジスタ
・ファイルに対するレジスタ番号を求める演算手段と、
前記レジスタ・セットのうちの1つのレジスタ・セット
中のレジスタの内容を他の前記レジスタ・セットのレジ
スタに複写する複写手段とを備える。An information processing apparatus according to claim 4, wherein a register file shared by a plurality of processors and comprising a plurality of registers, and a register set prepared for each processor and storing a register number for the register file And the register, which is prepared for each processor and specified by an instruction operand field.
The value of one register in the set and the instruction operand
Calculating means for calculating a register number for the register file by calculating with a value specified by a field;
Copying means for copying the contents of the registers in one of the register sets to the registers of the other register set.
【0019】[0019]
【作用】本発明は上記した構成によって、レジスタの内
容を用いてアクセスしたいレジスタの番号を計算するよ
うにしたため、命令語中でレジスタ指定を行うフィール
ドのビット数を増加させることなく、大量のレジスタを
効率よく使用することが可能となる。According to the present invention, since the number of a register to be accessed is calculated using the contents of the register according to the above configuration, a large number of registers can be obtained without increasing the number of bits of a field for specifying a register in an instruction word. Can be used efficiently.
【0020】また、セグメント・テーブルをレジスタ上
に配置し、そのテーブルの位置を指し示す専用レジスタ
の内容をプロセッサ間でコピーする機構を設けたため、
高速にセグメント・テーブルを共有するための作業を実
行することができ、従って、複数のコンテクストで同一
のレジスタ空間を共有するためのオーバヘッドを低減す
ることが可能となる。Further, a mechanism is provided in which the segment table is arranged on the register and the contents of the dedicated register indicating the position of the table are copied between the processors.
The task for sharing the segment table at high speed can be performed, and therefore, the overhead for sharing the same register space in a plurality of contexts can be reduced.
【0021】また、汎用レジスタ上に記憶していたセグ
メント・テーブルを専用レジスタに記憶することによっ
て、レジスタ・アクセスの際の汎用レジスタのアクセス
回数を減らしたため、レジスタ番号のアドレス計算が高
速化でき、従って、汎用レジスタへのアクセスをより高
速に行うことが可能となる。Further, by storing the segment table stored in the general-purpose register in the special-purpose register, the number of accesses to the general-purpose register at the time of register access is reduced, so that the address calculation of the register number can be speeded up. Therefore, it is possible to access the general-purpose register at higher speed.
【0022】また、セグメント・テーブル内の情報を選
択的にプロセッサ間でコピーする機構を設けたため、複
数のコンテクストでレジスタ空間を部分共有する作業を
高速に行うことができ、より柔軟かつ効率的に大容量の
レジスタを使用することが可能となる。In addition, since a mechanism for selectively copying information in the segment table between processors is provided, a task of partially sharing the register space between a plurality of contexts can be performed at high speed, and more flexibly and efficiently. It is possible to use a large-capacity register.
【0023】[0023]
【実施例】以下本発明の一実施例の情報処理装置につい
て、図面を参照しながら説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An information processing apparatus according to one embodiment of the present invention will be described below with reference to the drawings.
【0024】図1は本発明の第1の実施例における情報
処理装置の構成を示すものである。図1において、11
は命令フェッチ・ユニット、12は命令解読ユニット、
13はレジスタ・アクセス・ユニット、14は演算ユニ
ット、15はロード/ストア・ユニット、16はプロセ
ッサ、17はレジスタ・ファイルである。FIG. 1 shows the configuration of an information processing apparatus according to a first embodiment of the present invention. In FIG. 1, 11
Is an instruction fetch unit, 12 is an instruction decoding unit,
13 is a register access unit, 14 is an operation unit, 15 is a load / store unit, 16 is a processor, and 17 is a register file.
【0025】以上のように構成された情報処理装置につ
いてその動作を説明する。プロセッサ16は命令フェッ
チ・ユニット11で命令をフェッチし、次にそのフェッ
チした命令を命令解読ユニット12で解読し、この解読
結果を基に、レジスタ・アクセス・ユニット13、演算
ユニット14およびロード/ストア・ユニット15で命
令を実行する。ロード/ストア命令および演算命令にお
いてレジスタ・アクセスを行う場合には、レジスタ・ア
クセス・ユニット13がその制御を行う。The operation of the information processing apparatus configured as described above will be described. The processor 16 fetches an instruction in the instruction fetch unit 11, then decodes the fetched instruction in the instruction decoding unit 12, and, based on the decoded result, the register access unit 13, the operation unit 14, and the load / store. Execute the instruction in unit 15; When register access is performed in a load / store instruction and an operation instruction, the register access unit 13 controls the access.
【0026】図2はレジスタ・アクセス・ユニット13
の詳細な構成を示すものであって、41は3ポートのレ
ジスタ・ファイル、42はマルチプレクサ、43は加算
器、44はラッチ、45はセグメント・テーブル・レジ
スタである。FIG. 2 shows the register access unit 13
In the figure, reference numeral 41 denotes a 3-port register file, 42 denotes a multiplexer, 43 denotes an adder, 44 denotes a latch, and 45 denotes a segment table register.
【0027】以上のように構成されたレジスタ・アクセ
ス・ユニットについてその動作を説明する。The operation of the register access unit configured as described above will be described.
【0028】図3は本発明の情報処理装置における演算
命令の命令フォーマットの一例を示すものであり、各オ
ペランドのレジスタ指定に3ビットのセグメント・テー
ブル・エントリと5ビットのオフセットとを用いて行
う。従って、1つのセグメント・テーブルのエントリ数
は最大8であり、1つのセグメントは32個のレジスタ
で構成される。レジスタ・アッドレッシング機構の概略
を図4に示す。図4は、1つのソース・レジスタ指定の
みに注目した場合の例であり、src1sがセグメント・テ
ーブル・エントリ、src1pがオフセットを表している。
セグメント・テーブル・レジスタ61はレジスタ・ファ
イル62上に設けたセグメント・テーブル63の場所を
記憶しており、src1sをそこからのオフセットとみなす
ことにより、セグメント・テーブル63中のエントリを
読み出す。セグメント・テーブル63中の各エントリ
は、セグメント・ベースを記憶しており、src1sで指定
したエントリのセグメント・ベース値とsrc1pとを合計
した値をレジスタ番号としてデータ・アクセスを行う。FIG. 3 shows an example of an instruction format of an operation instruction in the information processing apparatus according to the present invention, which is performed using a 3-bit segment table entry and a 5-bit offset for register designation of each operand. . Therefore, the maximum number of entries in one segment table is 8, and one segment is composed of 32 registers. FIG. 4 shows an outline of the register addressing mechanism. FIG. 4 shows an example in which attention is paid to only one source register specification, in which src1s represents a segment table entry and src1p represents an offset.
The segment table register 61 stores the location of the segment table 63 provided on the register file 62, and reads an entry in the segment table 63 by regarding src1s as an offset therefrom. Each entry in the segment table 63 stores a segment base, and performs data access using the sum of the segment base value of the entry specified by src1s and src1p as a register number.
【0029】図2に示した本実施例のレジスタ・ファイ
ル41は1024個のレジスタの集合であり、レジスタ
を識別するのに10ビット必要である。セグメント・テ
ーブル・レジスタ45は7ビット長の専用レジスタで、
命令語中の3ビットのセグメント・テーブル・エントリ
番号とのビット連結により、10ビットのレジスタ番号
を得る。このため、セグメント・テーブル(63)はレ
ジスタ・ファイル41(62)上で8語境界に揃えられ
なければならない。こうして得られたレジスタ番号をマ
ルチプレクサ42を通してレジスタ・ファイル41のア
ドレス入力とし、読み出したセグメント・ベース値を一
旦ラッチ44に保持する。次に、このラッチしたセグメ
ント・ベース値と命令語中のオフセットとを加算器43
で合計し、これをレジスタ・ファイルのアドレスとして
演算対象となるレジスタにアクセスする。The register file 41 of this embodiment shown in FIG. 2 is a set of 1024 registers, and requires 10 bits to identify the register. The segment table register 45 is a 7-bit dedicated register.
By bit concatenation with the 3-bit segment table entry number in the instruction word, a 10-bit register number is obtained. For this reason, the segment table (63) must be aligned on an 8-word boundary on the register file 41 (62). The register number thus obtained is used as an address input of the register file 41 through the multiplexer 42, and the read segment base value is temporarily held in the latch 44. Next, the latched segment base value and the offset in the instruction word are added to the adder 43.
, And accesses the register to be operated as the address of the register file.
【0030】以上のように本実施例によれば、レジスタ
・ファイルを論理的なセグメントに分割し、レジスタ上
にそのセグメント管理のためのセグメント・テーブルを
設け、レジスタ・アドレッシング機構を設けることによ
り、以下のことが可能となる。As described above, according to this embodiment, a register file is divided into logical segments, a segment table for managing the segment is provided on a register, and a register addressing mechanism is provided. You can:
【0031】(a)命令語において1つのレジスタを指
定するのに8ビットを使用しており、一度には256個
のレジスタしか使用できないが、セグメント・テーブル
のエントリの内容を書き換えることにより、実装してい
る全レジスタにアクセスすることができる。(A) Although 8 bits are used to designate one register in an instruction word and only 256 registers can be used at a time, the contents can be implemented by rewriting the contents of the entry in the segment table. You can access all the registers you are using.
【0032】(b)セグメント単位で、グローバル/ロ
ーカル・レジスタを自由に設定することができ、レジス
タの有効利用が図れる。(B) The global / local registers can be freely set for each segment, and the registers can be effectively used.
【0033】(c)セグメント同士は互いに重なってい
てもよいため、32個をセットとして用いなければなら
ないという制約はなく、例えば、応用プログラムでロー
カルに必要なレジスタ数が20であれば、残りの12個
のレジスタをグローバル・レジスタとして利用すること
ができる。同様に、セグメント・テーブルには必ずしも
8エントリ分のレジスタを要しているわけではなく、例
えば、セグメント数が3個で充分な場合には、残りの5
個のレジスタは汎用レジスタとして利用することができ
る。(C) Since segments may overlap each other, there is no restriction that 32 segments must be used as a set. For example, if the number of registers required locally in an application program is 20, the remaining Twelve registers can be used as global registers. Similarly, the segment table does not necessarily require eight entries of registers. For example, if three segments are sufficient, the remaining five
These registers can be used as general-purpose registers.
【0034】(d)関数/手続き呼び出しの際にセグメ
ント・テーブルを書き換えることで、スタック・キャッ
シュを実現することができる。(D) By rewriting the segment table at the time of calling a function / procedure, a stack cache can be realized.
【0035】(e)セグメント・テーブル・レジスタを
書き換えることにより、8以上のエントリ数を持つセグ
メント・テーブルを扱うことができる。(E) By rewriting the segment table register, it is possible to handle a segment table having eight or more entries.
【0036】次に本発明の第2の実施例について図面を
参照しながら説明する。図5は、本発明の第2の実施例
におけるレジスタ・アクセス・ユニットの構成図であ
る。図5において、71は6ポートのレジスタ・ファイ
ル、72は加算器、73はセグメント・テーブル・レジ
スタである。動作については前記第1の実施例とほぼ同
様であるが、レジスタ・ファイルを6ポートとすること
により、セグメント・ベース値をラッチする必要はなく
なり、必要なデータのアクセスに要する時間を第1の実
施例に比べて短縮することができる。Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 5 is a configuration diagram of the register access unit in the second embodiment of the present invention. In FIG. 5, reference numeral 71 denotes a 6-port register file, 72 denotes an adder, and 73 denotes a segment table register. The operation is almost the same as that of the first embodiment. However, since the register file has six ports, there is no need to latch the segment base value, and the time required for accessing necessary data is reduced by the first time. It can be shortened compared to the embodiment.
【0037】なお、上記第1の実施例および第2の実施
例において、ビット連結を行う部分は加算器で置き換え
てもよい。この場合には、セグメント・テーブルを8語
境界に揃える必要はなくなる。また、加算器43、72
を取り除いて、この部分をビット連結するものとしても
よい。In the first embodiment and the second embodiment, the portion for performing the bit connection may be replaced by an adder. In this case, there is no need to align the segment table with eight word boundaries. Also, the adders 43 and 72
May be removed and this part may be bit-connected.
【0038】次に、本発明の第3の実施例について図面
を参照しながら説明する。本実施例は、図6に示すよう
に、複数のプロセッサ16が1つの大容量レジスタ・フ
ァイル17を共有する構成方式を採っている。従って、
各プロセッサ16からのレジスタ・アクセス競合の発生
を低減するために、レジスタ・ファイル17はマルチポ
ート化およびマルチバンク化している。Next, a third embodiment of the present invention will be described with reference to the drawings. The present embodiment employs a configuration in which a plurality of processors 16 share one large-capacity register file 17 as shown in FIG. Therefore,
The register file 17 is multi-ported and multi-banked to reduce the occurrence of register access contention from each processor 16.
【0039】以上のように構成された情報処理装置につ
いてその動作を説明する。各プロセッサ16の動作につ
いては、第1の実施例で説明したのと同じである。The operation of the information processing apparatus configured as described above will be described. The operation of each processor 16 is the same as that described in the first embodiment.
【0040】レジスタ・アクセス・ユニット13につい
ても、プロセッサ16個々においては、そのアドレッシ
ング機構および構成は第1の実施例として示したものと
同一のものを使用しているが、図2(または図4)にお
けるセグメント・テーブル・レジスタ45(73)の周
辺の構成が異なっている。As for the register access unit 13, the same addressing mechanism and configuration as those of the first embodiment are used in the individual processors 16 as shown in FIG. 2 (or FIG. 4). ) Differs in the configuration around the segment table register 45 (73).
【0041】以下この異なる構成について説明する。図
7は、プロセッサ数が4台の場合の各レジスタ・アクセ
ス・ユニット中のセグメント・テーブル・レジスタ間の
接続構成を示したものである。図7において、81、8
2、83、84はそれぞれ各プロセッサのセグメント・
テーブル・レジスタ、85はマルチプレクサである。Hereinafter, the different configuration will be described. FIG. 7 shows a connection configuration between segment table registers in each register access unit when the number of processors is four. In FIG. 7, 81, 8
2, 83 and 84 are segments of each processor, respectively.
The table register 85 is a multiplexer.
【0042】図7の構成は、各セグメント・テーブル・
レジスタを完全グラフで接続したものであり、最も高速
・柔軟にセグメント・テーブル・レジスタ間のコピーが
行える。例えば、セグメント・テーブル・レジスタ82
の内容を、セグメント・テーブル・レジスタ81、8
3、84に同時にコピーすることができる。また、セグ
メント・テーブル・レジスタ81の内容をセグメント・
テーブル・レジスタ83にコピーするのと同時に、セグ
メント・テーブル・レジスタ84の内容をセグメント・
テーブル・レジスタ82にコピーすることもできる。The configuration shown in FIG.
Registers are connected in a complete graph, and copying between the segment table and registers can be performed most quickly and flexibly. For example, the segment table register 82
Are stored in the segment table registers 81 and 8
3, 84 can be simultaneously copied. The contents of the segment table register 81 are stored in the segment
At the same time as copying to the table register 83, the contents of the segment table
It can also be copied to the table register 82.
【0043】以上のように本実施例によれば、レジスタ
・ファイル上にレジスタ・セグメント管理のためのセグ
メント・テーブルを設け、さらに各プロセッサのセグメ
ント・テーブル・レジスタ間でその内容をコピーする機
構を備えることにより、以下のことが可能になる。As described above, according to this embodiment, a segment table for register segment management is provided on the register file, and a mechanism for copying the contents between the segment table registers of each processor is provided. Provision makes it possible to:
【0044】(a)異なるプロセッサ上で高速に同一の
レジスタ空間を共有することができる。(A) The same register space can be shared on different processors at high speed.
【0045】(b)プロセッサ間でセグメント・テーブ
ルの共有が可能であり、同一内容のテーブルを複数持つ
ことがないため、レジスタを効率良く使用できる。(B) A segment table can be shared between processors, and a plurality of tables having the same contents are not provided, so that registers can be used efficiently.
【0046】次に本発明の第4の実施例について図面を
参照しながら説明する。本実施例における情報処理装置
の構成は、第3の実施例において、図7に示された各セ
グメント・テーブル・レジスタ間の接続構成を図8に示
した構成に置き換えたものである。図8において、9
1、92、93、94は各プロセッサのセグメント・テ
ーブル・レジスタ、95は制御回路、96は各プロセッ
サの命令解読ユニットである。Next, a fourth embodiment of the present invention will be described with reference to the drawings. The configuration of the information processing apparatus in this embodiment is the same as that of the third embodiment except that the connection configuration between the segment tables and registers shown in FIG. 7 is replaced with the configuration shown in FIG. In FIG. 8, 9
1, 92, 93 and 94 are segment table registers of each processor, 95 is a control circuit, and 96 is an instruction decoding unit of each processor.
【0047】図8において、セグメント・テーブル・レ
ジスタ91、92、93、94は、ハードウェア的には
ラッチで構成されており、制御回路95の信号G0、G
1、G2、G3の値が1か0かによって、それぞれが透
過または保持の状態をとる。制御回路95は、各プロセ
ッサの命令解読ユニット96からの要求信号に基づき、
G0、G1、G2、G3の各信号の値を決定する。図9
に制御回路95のロジックを示す。図9において、各信
号名の添字は4の剰余で表現されるものとする。命令解
読ユニット96からの要求信号Riは、自プロセッサの
セグメント・テーブル・レジスタの内容を他の何個のセ
グメント・テーブル・レジスタにコピーするかを表して
いる。例えば、(R1,R2,R3,R4)=(0,
0,2,0)のとき、(G1,G2,G3,G4)=
(1,0,0,1)となり、セグメント・テーブル・レ
ジスタ93の内容をセグメント・テーブル・レジスタ9
4、91にコピーする。また、(R1,R2,R3,R
4)=(1,0,1,0)のとき、(G1,G2,G
3,G4)=(0,1,0,1)となり、セグメント・
テーブル・レジスタ91の内容をセグメント・テーブル
・レジスタ92にコピーすると同時に、セグメント・テ
ーブル・レジスタ93の内容をセグメント・テーブル・
レジスタ94にコピーする。図9において、同図に示さ
れていない要求信号の組み合わせはエラーとなる。In FIG. 8, the segment table registers 91, 92, 93 and 94 are constituted by latches in hardware, and the signals G0 and G of the control circuit 95 are provided.
Depending on whether the value of 1, G2, G3 is 1 or 0, each of them takes a transmission or holding state. The control circuit 95, based on a request signal from the instruction decoding unit 96 of each processor,
The value of each signal of G0, G1, G2, G3 is determined. FIG.
Shows the logic of the control circuit 95. In FIG. 9, it is assumed that the suffix of each signal name is expressed by a remainder of four. The request signal Ri from the instruction decoding unit 96 indicates how many other segment table registers to copy the contents of the segment table register of the own processor. For example, (R1, R2, R3, R4) = (0,
(0, 2, 0), (G1, G2, G3, G4) =
(1, 0, 0, 1), and the contents of the segment table register 93 are stored in the segment table register 9
4. Copy to 91. Also, (R1, R2, R3, R
4) = (1,0,1,0), then (G1, G2, G
3, G4) = (0, 1, 0, 1) and the segment
The contents of the table register 91 are copied to the segment table register 92, and at the same time, the contents of the segment table register 93 are copied to the segment table register.
Copy to register 94. In FIG. 9, a combination of request signals not shown in FIG. 9 results in an error.
【0048】第3の実施例では、プロセッサ台数を増や
すと接続本数が多くなり、ハードウェア量が増大すると
いう問題があったが、第4の実施例では、以上のよう
に、各セグメント・テーブル・レジスタ間の接続に制限
を加えることにより、少ないハードウェア量でセグメン
ト・テーブル・レジスタ間のコピーを行うことができ
る。In the third embodiment, when the number of processors is increased, the number of connections increases and the amount of hardware increases. However, in the fourth embodiment, as described above, each segment table By limiting the connection between registers, copying between segment table registers can be performed with a small amount of hardware.
【0049】次に、本発明の第5の実施例について図面
を参照しながら説明する。本実施例の情報処理装置は、
図1に示した1つのプロセッサとレジスタ・ファイルと
で構成された装置に相当するものである。Next, a fifth embodiment of the present invention will be described with reference to the drawings. The information processing apparatus of the present embodiment
This corresponds to an apparatus constituted by one processor and a register file shown in FIG.
【0050】図10は本実施例におけるレジスタ・アク
セス・ユニットの構成を示すものであって、111は3
ポートのレジスタ・ファイル、112は加算器、113
はマルチプレクサ、114はセグメント・ベース・レジ
スタである。FIG. 10 shows the configuration of the register access unit in this embodiment.
Port register file, 112 is an adder, 113
Is a multiplexer, and 114 is a segment base register.
【0051】以上のように構成されたレジスタ・アクセ
ス・ユニットについてその動作を説明する。The operation of the register access unit configured as described above will be described.
【0052】第1の実施例の情報処理装置と同様、本実
施例の情報処理装置においても、演算命令の命令フォー
マットは図3に示したものを採用し、各オペランドのレ
ジスタ指定に3ビットのセグメント・テーブル・エント
リと5ビットのオフセットとを用いるものとする。本実
施例の情報処理装置は、セグメント・ベース・レジスタ
114を8個備えており、セグメント・テーブル・エン
トリ指定の3ビットを用いて、マルチプレクサ113で
8個の中から1個を選択する。各セグメント・ベース・
レジスタ114はレジスタ・ファイル上に構成された各
レジスタ・セグメントの最初のレジスタ番号を記憶して
いる。従って、本実施例の情報処理装置では、第1、第
2の実施例の情報処理装置のようにセグメント・テーブ
ルをレジスタ・ファイル上に置くのではなく、専用レジ
スタとして設けた8個のセグメント・ベース・レジスタ
114を用いて実現している。選択されたセグメントの
ベース値とオフセットが加算器112で合計され、アク
セスするレジスタの番号が求まる。Similarly to the information processing apparatus of the first embodiment, the information processing apparatus of this embodiment employs the instruction format of the operation instruction shown in FIG. 3 and uses a 3-bit register for each operand. Assume that a segment table entry and a 5-bit offset are used. The information processing apparatus according to the present embodiment includes eight segment base registers 114, and the multiplexer 113 selects one of the eight segments base registers 114 using three bits for specifying a segment table entry. Each segment base
The register 114 stores the first register number of each register segment configured on the register file. Therefore, in the information processing apparatus according to the present embodiment, the segment table is not stored in the register file as in the information processing apparatuses according to the first and second embodiments. This is realized by using the base register 114. The base value and offset of the selected segment are summed by the adder 112 to determine the number of the register to be accessed.
【0053】以上のように本実施例によれば、レジスタ
・アドレッシングの過程でレジスタ・ファイルに対する
アクセスを行わないため、第1、第2の実施例の情報処
理装置の場合よりも高速にレジスタ・アクセスを行うこ
とができる。As described above, according to this embodiment, since the register file is not accessed in the process of register addressing, the register file is accessed faster than in the information processing apparatuses of the first and second embodiments. Can access.
【0054】なお、上記実施例において、セグメントを
8語境界に揃えるならば、加算器112を取り除いて、
ビット連結を行うものとしてもよい。In the above embodiment, if the segments are aligned on the eight-word boundary, the adder 112 is removed, and
Bit connection may be performed.
【0055】最後に、本発明の第6の実施例について図
面を参照しながら説明する。本実施例の情報処理装置
は、第3の実施例の情報処理装置と同様、図6に示すよ
うな構成を採っている。図6において、各プロセッサ1
6のレジスタ・アクセス・ユニット13は第5の実施例
として示したものと同一のものを使用しているが、図1
0におけるセグメント・ベース・レジスタ114の周辺
の構成が異なっている。Finally, a sixth embodiment of the present invention will be described with reference to the drawings. The information processing apparatus according to the present embodiment has a configuration as shown in FIG. 6, similarly to the information processing apparatus according to the third embodiment. In FIG. 6, each processor 1
6 uses the same register access unit 13 as that shown in the fifth embodiment.
The configuration around the segment base register 114 at 0 is different.
【0056】図11は、プロセッサ数が4台の場合の各
レジスタ・アクセス・ユニット中のセグメント・ベース
・レジスタ間の接続構成を示したものである。図11に
おいて、121はセグメント・ベース・レジスタ、12
2は制御回路、123は命令解読ユニット、124、1
25、126、127はプロセッサである。FIG. 11 shows a connection configuration between segment base registers in each register access unit when the number of processors is four. In FIG. 11, reference numeral 121 denotes a segment base register;
2 is a control circuit, 123 is a command decoding unit, 124, 1
25, 126 and 127 are processors.
【0057】以上のように構成されたセグメント・ベー
ス・レジスタ・コピー機構についてその動作を説明す
る。The operation of the segment base register copy mechanism configured as described above will be described.
【0058】制御回路122は命令解読ユニット123
からの信号に基づき、セグメント・ベース・レジスタの
コピー制御を行う。制御回路122において、R、M、
P、Uは入力信号であり、G、Q、Dは出力信号であ
る。図12に制御回路122のロジックを示す。同図に
おいて、「:」はビット連結、「*」はdon't careを表
す。Rはコピー対象となるプロセッサの個数であり、例
えば、プロセッサ126においてR=2であれば、プロ
セッサ126のセグメント・ベース・レジスタ121の
内容をプロセッサ127および124のセグメント・ベ
ース・レジスタ121にコピーすることになる。ただ
し、このとき、8個あるセグメント・ベース・レジスタ
すべての内容をコピーするのではなく、このコピーはマ
スク信号Mを用いて選択的に行う。Mは8(セグメント
・ベース・レジスタの個数)ビットの信号であり、各ビ
ットが個々のセグメント・ベース・レジスタに対応して
いる。Mにおいて1の立っているビットに対応したセグ
メント・ベース・レジスタのみがコピーの対象となる。
信号PおよびQは、図11に示すようにリング接続され
たプロセッサにおいて、次々とこのMの値を伝播するた
めのものである。信号UおよびDは、コピー要求をプロ
セッサ間で伝えるためのものであり、ともに3(プロセ
ッサ台数−1)ビットの信号である。例えば、プロセッ
サ126においてR=2であったとすると、プロセッサ
126の制御装置はD=110を出力する。プロセッサ
126においては、Dの第1ビット、第2ビット、第3
ビットがそれぞれプロセッサ127、124、125に
対応している。プロセッサ127では、このプロセッサ
126におけるDの値をUとして受け取る。プロセッサ
127にとって重要なのはUの第1ビットであり、第2
ビット以下はプロセッサ124にそのまま伝播する。具
体的には、第2ビット以下の値10に0をビット連結し
て、D=100とする。つまり、プロセッサ127にお
いては、Dの第1ビット、第2ビット、第3ビットはそ
れぞれプロセッサ124、125、126に対応するの
である。信号GおよびQには、信号RまたはUによっ
て、PまたはMのいずれかが出力される。各セグメント
・ベース・レジスタはラッチで構成され、Gにおいて1
の立っているビットに対応したセグメント・レジスタの
みが値を取り込む。図12に示した入力の組み合わせ以
外に他の組み合わせが存在するが、図12以外のものに
ついてはエラーである。The control circuit 122 includes an instruction decoding unit 123
Performs the copy control of the segment base register based on the signal from. In the control circuit 122, R, M,
P and U are input signals, and G, Q and D are output signals. FIG. 12 shows the logic of the control circuit 122. In the figure, “:” indicates bit connection, and “*” indicates don't care. R is the number of processors to be copied. For example, if R = 2 in the processor 126, the contents of the segment base register 121 of the processor 126 are copied to the segment base registers 121 of the processors 127 and 124. Will be. However, at this time, instead of copying the contents of all eight segment base registers, this copying is selectively performed using the mask signal M. M is a signal of 8 (number of segment base registers) bits, each bit corresponding to an individual segment base register. Only the segment base register corresponding to the bit in which 1 is set in M is to be copied.
Signals P and Q are for propagating the value of M one after another in a processor connected in a ring as shown in FIG. Signals U and D are for transmitting a copy request between processors, and are both 3-bit (the number of processors minus 1) bits. For example, if R = 2 in the processor 126, the controller of the processor 126 outputs D = 110. In the processor 126, the first bit, second bit, third bit of D
The bits correspond to the processors 127, 124, and 125, respectively. The processor 127 receives the value of D in the processor 126 as U. Important to the processor 127 is the first bit of U,
The bits and below propagate to the processor 124 as they are. Specifically, 0 is bit-connected to the value 10 that is equal to or less than the second bit, and D = 100. That is, in the processor 127, the first bit, the second bit, and the third bit of D correspond to the processors 124, 125, and 126, respectively. Either P or M is output to the signals G and Q by the signal R or U. Each segment base register consists of a latch,
Only the segment register corresponding to the bit in which the flag is set captures the value. Other combinations exist in addition to the input combinations shown in FIG. 12, but those other than FIG. 12 are errors.
【0059】以上のように本実施例によれば、各プロセ
ッサのセグメント・ベース・レジスタをプロセッサ間で
リング接続し、コピー用の制御回路を設けることによ
り、プロセッサ間の少ない接続線数で高速にセグメント
・ベース・レジスタの選択的なコピーを行うことができ
る。As described above, according to the present embodiment, the segment base register of each processor is ring-connected between the processors, and a control circuit for copying is provided. A selective copy of the segment base register can be made.
【0060】なお、第3、第4、第6の実施例における
情報処理装置は、複数のプロセッサから構成されるもの
として説明したが、これらのプロセッサは物理的に複数
である場合に限定するものではない。複数の並列実行可
能な命令流の各命令をインタリーブし、物理的な1つの
命令パイプラインで処理するパイプライン化MIMD計
算機においても、個々の命令流の処理に注目すれば、論
理的なプロセッサを複数台有しているとみなすことがで
きる。従って、この場合においても本発明は適応でき、
本発明の範囲から排除するものではない。Although the information processing apparatus in the third, fourth, and sixth embodiments has been described as being composed of a plurality of processors, the present invention is limited to the case where these processors are physically plural. is not. Even in a pipelined MIMD computer that interleaves each instruction of a plurality of instruction streams that can be executed in parallel and processes them with one physical instruction pipeline, if attention is paid to the processing of each instruction stream, a logical processor can be realized. It can be regarded as having a plurality. Therefore, the present invention can be applied even in this case,
It is not excluded from the scope of the present invention.
【0061】また、本発明は上記実施例に限定されるも
のではなく、本発明の趣旨に基づいて種々の変形が可能
であり、これらを本発明の範囲から排除するものではな
い。The present invention is not limited to the above-described embodiment, and various modifications can be made based on the gist of the present invention, and these are not excluded from the scope of the present invention.
【0062】[0062]
【発明の効果】以上のように本発明は、レジスタ・セグ
メントを基本としたレジスタ・アドレッシング機構と前
記レジスタ・アドレッシング機構で用いる専用レジスタ
のプロセッサ間コピー制御回路とを設けることにより、
単体または複数のプロセッサで大容量のレジスタ・ファ
イルを効率よく、また、柔軟に使用することができる。As described above, the present invention provides a register addressing mechanism based on a register segment and an inter-processor copy control circuit for dedicated registers used in the register addressing mechanism.
A large-capacity register file can be used efficiently and flexibly by one or more processors.
【図1】本発明の第1の実施例における情報処理装置の
構成図FIG. 1 is a configuration diagram of an information processing apparatus according to a first embodiment of the present invention;
【図2】第1の実施例における情報処理装置のレジスタ
・アクセス・ユニットの構成図FIG. 2 is a configuration diagram of a register access unit of the information processing apparatus according to the first embodiment.
【図3】本発明の実施例における情報処理装置の命令フ
ォーマットの説明図FIG. 3 is an explanatory diagram of an instruction format of the information processing apparatus according to the embodiment of the present invention.
【図4】第1の実施例における情報処理装置のレジスタ
・アドレッシング機構の説明図FIG. 4 is an explanatory diagram of a register addressing mechanism of the information processing apparatus according to the first embodiment.
【図5】本発明の第3の実施例における情報処理装置の
構成図FIG. 5 is a configuration diagram of an information processing apparatus according to a third embodiment of the present invention.
【図6】本発明の第3の実施例における情報処理装置の
レジスタ・アクセス・ユニットの構成図FIG. 6 is a configuration diagram of a register access unit of an information processing apparatus according to a third embodiment of the present invention.
【図7】本発明の第3の実施例におけるセグメント・テ
ーブル・レジスタ間の接続構成図FIG. 7 is a diagram showing a connection configuration between segment table registers according to a third embodiment of the present invention;
【図8】本発明の第4の実施例におけるセグメント・テ
ーブル・レジスタ間の接続構成図FIG. 8 is a connection configuration diagram between segment table registers according to a fourth embodiment of the present invention.
【図9】第4の実施例におけるセグメント・テーブル・
レジスタ間のコピー制御装置のロジックを示す関係図FIG. 9 shows a segment table in the fourth embodiment.
Relationship diagram showing logic of copy control device between registers
【図10】第5の実施例における情報処理装置のレジス
タ・アドレッシング機構の説明図FIG. 10 is an explanatory diagram of a register addressing mechanism of an information processing apparatus according to a fifth embodiment.
【図11】本発明の第6の実施例におけるセグメント・
テーブル・レジスタ間の接続構成図FIG. 11 shows a segment according to a sixth embodiment of the present invention.
Connection diagram between table and register
【図12】第6の実施例におけるセグメント・テーブル
・レジスタ間のコピー制御装置のロジックを示す関係図FIG. 12 is a relationship diagram showing the logic of a copy control device between segment tables and registers in the sixth embodiment.
【図13】従来の情報処理装置のレジスタ・アドレッシ
ング機構の構成図FIG. 13 is a configuration diagram of a register addressing mechanism of a conventional information processing apparatus.
【図14】従来の情報処理装置の命令フォーマットの説
明図FIG. 14 is an explanatory diagram of a command format of a conventional information processing apparatus.
11 命令フェッチ・ユニット 12 命令解読ユニット 13 レジスタ・アクセス・ユニット 14 演算ユニット 15 ロード/ストア・ユニット 16 プロセッサ 17 レジスタ・ファイル 41 レジスタ・ファイル 42 マルチプレクサ 43 加算器 44 ラッチ 45 セグメント・テーブル・レジスタ 61 セグメント・テーブル・レジスタ 62 レジスタ・ファイル 63 セグメント・テーブル 71 レジスタ・ファイル 72 加算器 73 セグメント・テーブル・レジスタ 81、82、83、84 セグメント・テーブル・レジ
スタ 85 マルチプレクサ 91、92、93、94 セグメント・テーブル・レジ
スタ 95 コピー制御回路 96 命令解読ユニット 111 レジスタ・ファイル 112 加算器 113 マルチプレクサ 114 セグメント・ベース・レジスタ 121 セグメント・ベース・レジスタ 122 コピー制御回路 123 命令解読ユニット 124、125、126、127 プロセッサ11 Instruction Fetch Unit 12 Instruction Decoding Unit 13 Register Access Unit 14 Operation Unit 15 Load / Store Unit 16 Processor 17 Register File 41 Register File 42 Multiplexer 43 Adder 44 Latch 45 Segment Table Register 61 Segment Table register 62 Register file 63 Segment table 71 Register file 72 Adder 73 Segment table register 81, 82, 83, 84 Segment table register 85 Multiplexer 91, 92, 93, 94 Segment table register 95 copy control circuit 96 instruction decoding unit 111 register file 112 adder 113 multiplexer 114 segment Base register 121 segment base register 122 copy control circuit 123 instruction decoding unit 124, 125, 126, 127 Processor
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/355 G06F 12/00 - 12/06 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G06F 9/30-9/355 G06F 12/00-12/06
Claims (3)
イルと、 前記レジスタ・ファイル中のレジスタに対するレジスタ
番号を記憶するレジスタと、 前記レジスタ番号を記憶するレジスタと命令オペランド
・フィールドで指定された第1の値との演算により前記
レジスタ・ファイルに対する第1のレジスタ番号を求め
る第1の演算手段と、 前記レジスタ・ファイルにおいて、前記第1のレジスタ
番号と対応するレジスタの内容と前記命令オペランド・
フィールド中の第2の値との演算により前記レジスタ・
ファイルに対する第2のレジスタ番号を求める第2の演
算手段とを備え、 命令オペランドがレジスタ指定の場合には、前記第2の
演算手段によって得られた第2のレジスタ番号をもつ前
記レジスタ・ファイル中のレジスタをアクセスする情報
処理装置。1. A register file including a plurality of registers, a register storing a register number for a register in the register file , a register storing the register number, and a first register specified by an instruction operand field. First operation means for calculating a first register number for the register file by operation with a value; and in the register file, the contents of a register corresponding to the first register number and the instruction operand
An operation with a second value in the field causes the register
Second operation means for obtaining a second register number for the file, wherein when the instruction operand is a register designation, the register file having the second register number obtained by the second operation means register information processing apparatus that accesses the.
数のレジスタからなるレジスタ・ファイルと、 前記プロセッサ毎に用意され、前記レジスタ・ファイル
中のレジスタに対するレジスタ番号を記憶するレジスタ
と、 前記プロセッサ毎に用意され、前記レジスタ番号を記憶
するレジスタと命令オペランド・フィールドで指定され
た第1の値との演算により前記レジスタ・ファイルに対
する第1のレジスタ番号を求める第1の演算手段と、 前記プロセッサ毎に用意され、前記レジスタ・ファイル
において、前記第1のレジスタ番号と対応するレジスタ
の内容と前記命令オペランド・フィールド中の第2の値
との演算により前記レジスタ・ファイルに対する第2の
レジスタ番号を求める第2の演算手段と、 前記レジスタ番号を記憶するレジスタのうちの1つのレ
ジスタの内容を前記レジスタ番号を記憶するレジスタの
うちの他のレジスタに複写する複写手段とを備え、 各プロセッサにおいて実行する命令のオペランドがレジ
スタ指定の場合には、前記第2の演算手段によって得ら
れた第2のレジスタ番号と対応する前記レジスタ・ファ
イル中のレジスタをアクセスする情報処理装置。2. A register file shared by a plurality of processors and comprising a plurality of registers; and a register file prepared for each of the processors,
A register for storing a register number for a register in the memory, and a register prepared for each processor and storing the register number
First operation means for obtaining a first register number for the register file by operation of a register to be executed and a first value specified in an instruction operand field; and a second computing means for obtaining a second register number to said register file by operation of the second value in the first register number and corresponding content with the instruction operand fields of the register, the register and a copying means for copying the contents of one register of the register for storing the number in the other registers of the registers for storing the register number, in the case of operand register specification instruction to be executed in each processor correspond with the second register number obtained by said second arithmetic means Information processing devices that access the registers in the serial register file.
数のレジスタからなるレジスタ・ファイルと、 前記プロセッサ毎に、レジスタ番号を記憶するレジスタ
を用意したレジスタ・セットと、 前記プロセッサ毎に用意され、命令オペランド・フィー
ルドで指定された前記レジスタ・セット中の1つのレジ
スタの値と前記命令オペランド・フィールドで指定され
た値との演算により前記レジスタ・ファイルに対するレ
ジスタ番号を求める演算手段と、 前記レジスタ・セットのうちの1つのレジスタ・セット
中のレジスタの内容を他の前記レジスタ・セット中のレ
ジスタに複写する複写手段とを備え、 各プロセッサにおいて実行する命令のオペランドがレジ
スタ指定の場合には、前記演算手段によって得られたレ
ジスタ番号を持つ前記レジスタ・ファイル中のレジスタ
をアクセスする情報処理装置。3. is shared by multiple processors, the register file comprising a plurality of registers, for each of the processor, stores the register number register
And a register set prepared for each of the processors, and calculating the value of one register in the register set specified by the instruction operand field and the value specified by the instruction operand field. comprising calculating means for determining a register number to the register file, and a copy means for copying the contents of the registers in one register set of the register set in the register in the other of said register set, each processor operand of the instruction to be executed in the in the case of the register specified, register information processing apparatus that accesses the in the register file with register number obtained by said computing means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03054504A JP3128843B2 (en) | 1991-03-19 | 1991-03-19 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03054504A JP3128843B2 (en) | 1991-03-19 | 1991-03-19 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04290128A JPH04290128A (en) | 1992-10-14 |
JP3128843B2 true JP3128843B2 (en) | 2001-01-29 |
Family
ID=12972464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03054504A Expired - Lifetime JP3128843B2 (en) | 1991-03-19 | 1991-03-19 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3128843B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367462B2 (en) * | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
-
1991
- 1991-03-19 JP JP03054504A patent/JP3128843B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04290128A (en) | 1992-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7882332B1 (en) | Memory mapped register file | |
EP0381469B1 (en) | Method and data processing unit for pipeline processing of register and register modifying specifiers within the same instruction | |
US7434024B2 (en) | SIMD processor with register addressing, buffer stall and methods | |
EP0380849B1 (en) | Method and data processing unit for preprocessing implied specifiers in a pipelined processor | |
EP0782071B1 (en) | Data processor | |
CA1324671C (en) | Decoding multiple specifiers in a variable length instruction architecture | |
US6665790B1 (en) | Vector register file with arbitrary vector addressing | |
US7284092B2 (en) | Digital data processing apparatus having multi-level register file | |
KR101371931B1 (en) | Data file storing multiple data types with controlled data access | |
KR100981033B1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
JPH09311786A (en) | Data processor | |
JP2001092662A (en) | Processor core and processor using the same | |
JP3128843B2 (en) | Information processing device | |
GB2402759A (en) | Transferring data files between a register file and a memory | |
EP1050800A1 (en) | A pipelined execution unit | |
USRE41012E1 (en) | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor | |
EP1235139B1 (en) | System and method for supporting precise exceptions in a data processor having a clustered architecture | |
JP3102399B2 (en) | Data processing apparatus and method | |
JP3147884B2 (en) | Storage device and information processing device | |
JP2696578B2 (en) | Data processing device | |
IE901518A1 (en) | Pipeline processing of register and register modifying¹specifiers within the same instruction | |
IE901516A1 (en) | Decoding multiple specifiers in a variable length¹instruction architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071117 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081117 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091117 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 11 |