JPH06332700A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH06332700A
JPH06332700A JP5122524A JP12252493A JPH06332700A JP H06332700 A JPH06332700 A JP H06332700A JP 5122524 A JP5122524 A JP 5122524A JP 12252493 A JP12252493 A JP 12252493A JP H06332700 A JPH06332700 A JP H06332700A
Authority
JP
Japan
Prior art keywords
register
instruction
unit
shared
file
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
JP5122524A
Other languages
English (en)
Inventor
Kozo Kimura
浩三 木村
Hiroaki Hirata
博章 平田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5122524A priority Critical patent/JPH06332700A/ja
Publication of JPH06332700A publication Critical patent/JPH06332700A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 複数のレジスタファイルを有するプロセッサ
において、レジスタファイルの一部を共用することで、
ハードウェア量を削減しコストを低減でき、高速通信機
能を有し高性能化を図れる情報処理装置を提供すること
を目的とする。 【構成】 複数の解読ユニット11,13と、複数の演算実
行を行なうロードストアユニット20、整数演算ユニット
21、浮動小数点ユニット部22と、各命令流に対応してア
クセスできるレジスタファイル25,26と、どの命令流か
らでもアクセスできるレジスタ27を備え、命令を解読ユ
ニット11,13で解読する際に、レジスタの番号によって
命令流独自のレジスタ25,26にアクセスするか共用レジ
スタ27にアクセスするかを決定し、それに応じて演算ユ
ニットに対応するデータを出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数の命令ストリームの
命令を並列に発行することによって、複数の演算ユニッ
トを効率よく使用する情報処理装置に関する。
【0002】
【従来の技術】従来の情報処理装置の例としては、一つ
のプロセッサ内で複数の命令流を同時に処理するマルチ
スレッド・プロセッサがある。この方式については、
「ア マルチスレテッド プロセッサー アーキテクチ
ャー ウイズ シマルテイニアスインストラクション
イシュイング」( "A Multithreaded Processor Arch
itecture with Simultaneous Instruction Issuing," I
n Proc. of ISS'91:International Symposium on Super
computing, Fukuoka, Japan, pp.87-96, November 1991
)に詳細に述べられている。
【0003】この従来の情報処理装置の構成を図3に示
す。図3において、200は命令キャッシュ、201は
命令フェッチユニット、202は解読ユニット、203
はスタンバイステーション、204は命令スケジュール
ユニット、205は機能ユニット、206はレジスタセ
ットである。以上のように構成された従来例の情報処理
装置について、その動作を説明する。
【0004】まず、命令フェッチユニット201はそれ
ぞれ異なる命令流の命令を命令キャッシュ200から読
み込む。解読ユニット202はそれぞれの命令流の命令
を解読し、命令を処理可能な機能ユニット205に接続
されているスタンバイステーション203に格納する。
命令スケジューリングユニット204はスタンバイステ
ーション203から適当な命令を選択し、機能ユニット
205に送る。機能ユニット205はレジスタセット2
06を用いて実行する。このプロセッサの特徴は複数の
命令流を演算器を共有して実行することである。
【0005】既存のスーパースカラ処理方式のプロセッ
サは機能ユニットのみの多重化(複数化)のため、同時
に処理可能な命令ストリームは1つで、命令間の依存関
係によりパイプラインインタロックが頻繁に発生する。
その結果、機能ユニットの使用効率は上がらず性能向上
が困難であった。従来例のプロセッサでは複数の命令ス
トリームの命令を並列に実行することにより命令レベル
の並列性を増加し、各機能ユニットの使用効率を上げ、
性能向上を実現できる。
【0006】
【発明が解決しようとする課題】しかしながら上記従来
の構成では、下記の問題点を有していた。まず第1に
は、各命令流に対応するレジスタファイルが独立に存在
するため、ハードウェア量が大きくプロセッサの面積が
巨大化してしまうことである。これよりLSI製造時の
歩留まりが下がりプロセッサのコストが増加してしま
う。例えば、画像生成において、画面を複数に分割して
同時に生成しようとする場合、このプロセッサの命令流
に同じ画像生成のプログラムを走らせ、データはそれぞ
れ分割した画面用のデータを割り付けることが可能で有
る。この時、各命令流で共通なデータを各レジスタに持
つような場合、各命令流に対応するレジスタに共通して
同じデータを格納するのは無駄である。
【0007】第2に各命令流間で高速な通信ができない
ことである。もちろん、外部メモリを使用した場合には
可能であるが、メモリアクセスに伴うオーバーヘッドを
生じてしまう。
【0008】本発明は上記問題点に鑑み、複数の命令流
を同時実行するため、またはコンテキストの切り替えを
高速にするため複数のレジスタファイルを有するプロセ
ッサにおいて、ハードウェア量を削減しコストを低減す
る、および命令流間の高速通信機能を有し高性能化を実
現する情報処理装置を提供することを目的とする。
【0009】
【課題を解決するための手段】上記目的を達するため、
第1の発明の情報処理装置は、コンテキストが独立であ
る複数のレジスタファイルの一部を共用することを特徴
としている。
【0010】第2の発明の情報処理装置は、一部を共用
する複数のレジスタファイルと、演算ユニットと複数の
レジスタファイルを接続するオペランド用スイッチを備
え、オペランド用スイッチは、レジスタファイルからデ
ータを読み出す際に、レジスタ番号によって共用してい
る部分か否かを判断し、それに応じて演算ユニットとレ
ジスタファイルを接続することを特徴としている。
【0011】第3の発明の情報処理装置は、一部を共用
する複数のレジスタファイルと、演算ユニットと複数の
レジスタファイルを接続するオペランド用スイッチを備
え、オペランド用スイッチは、レジスタファイルからデ
ータを書き込む際に、レジスタ番号によって共用してい
る部分か否かを判断し、それに応じて演算ユニットとレ
ジスタファイルを接続することを特徴としている。
【0012】第4の発明の情報処理装置は、一部を共用
する複数のレジスタファイルと、演算ユニットと複数の
レジスタファイルを接続するオペランド用スイッチと、
レジスタ読み出しアービターを備え、レジスタ読み出し
アービターは、レジスタファイルからデータを読み出す
際に、レジスタ番号によって共用している部分か否かを
判断し、共用レジスタのポート数以上に読み出し要求が
ある場合には、ポート数の範囲で実行できるように命令
発行を制御すると共に、オペランド用スイッチに対して
演算ユニットとレジスタファイルを接続させることを特
徴としている。
【0013】第5の発明の情報処理装置は、一部を共用
する複数のレジスタファイルと、演算ユニットと複数の
レジスタファイルを接続するオペランド用スイッチと、
レジスタ書き込みアービターを備え、レジスタ書き込み
アービターは、演算ユニットからレジスタファイルにデ
ータを書き込む際に、レジスタ番号によって共用してい
る部分か否かを判断し、共用レジスタのポート数以上に
書き込み要求がある場合には、ポート数の範囲で実行で
きるように演算ユニットを制御すると共に、オペランド
用スイッチに対して演算ユニットとレジスタファイルを
接続させる構成である。
【0014】
【作用】第1、第2、第3の発明に係る情報処理装置に
おいては、レジスタの一部を共用することにより、ハー
ドウェア量を削減しコストを低減できる、とともに各命
令流で同一のレジスタをアクセスできることにより、高
速通信機能を有し高性能化を実現できる。
【0015】第4、第5の発明に係る情報処理装置にお
いては、レジスタに対して書き込みおよび読み出しアー
ビターを設けることにより、共用レジスタのポート数を
削減でき、よりハードウェア量を削減できる。また、レ
ジスタを共用する場合としない場合をプログラム毎に自
由に使い分けることが可能になり、高性能化を図ること
が可能になる。
【0016】
【実施例】以下本発明に係る情報処理装置の一実施例に
ついて、図面を参照しながら説明する。図1は本発明の
第1の実施例における情報処理装置の構成を示すもので
ある。
【0017】図1において、10はフェッチしてくる命
令のアドレス計算およびアドレス管理を行なう命令フェ
ッチ制御部、11及び13は命令を解読する解読ユニッ
ト、12及び14は解読ユニット11及び13と対応し
て解読中の命令のアドレスを格納する解読プログラムカ
ウンタ(以下解読PCと略)である。20、21および
22は、演算部を構成する演算ユニットである。演算ユ
ニットの機能は特に限定する必要はないが、説明を簡単
にするため、かつ一般的な構成を考えると、20は、メ
モリアクセス命令を処理するロードストアユニット、2
1は、整数演算を処理する整数演算ユニット、22は、
浮動小数点の四則や整数と浮動小数点間の変換を行なう
浮動小数点ユニットである。演算ユニットは命令流のI
D番号も保持している。
【0018】23は、命令の解読結果であるオペレーシ
ョン及び即値などを処理対象の演算ユニットに接続する
オペレーション用スイッチ、24はレジスタファイル2
5、26および27から出力されたオペランドを演算ユ
ニット20、21、および22に接続するオペランドス
イッチ、25、26および27はレジスタファイルであ
る。レジスタファイルA25は解読ユニットA11に対
応し、レジスタファイルB26は解読ユニットB13に
対応する。共用レジスタ27は解読ユニットA11およ
び解読ユニットB13の両方に対応する。
【0019】28は演算結果を対応するレジスタに接続
する書き込み用スイッチ、29はスコアボード30の状
態と命令よりデータ依存が発生しているか否かを調べる
データ依存チェック部、30は命令実行中でデータが確
定していないレジスタの番号を示すスコアボードであ
る。
【0020】説明を分かりやすくするために、同じ機能
を持つ機構(命令バッファや解読ユニットなど)につい
ては図1に示すように名前の最後に適当なアルファベッ
トを付加して区別する。同じアルファベットが付加され
たものは、同一の命令流を扱うと考えてよい。命令解読
ユニット11および13をそれぞれ解読ユニットA1
1、解読ユニットB13とする。レジスタファイル25
および26については、それぞれレジスタファイルA2
5、レジスタファイルB26とする。
【0021】まず、動作を説明する前に、データ(命令
も含む)や構成に関する前提条件について述べる。命令
流(スレッド)は2個とし説明を分かりやすくするため
に、命令流A、命令流Bとする。それに対応する解読ユ
ニットを解読ユニットA、解読ユニットBおよび対応す
るレジスタファイルをレジスタファイルA、レジスタフ
ァイルBとする。従って、同時実行の可能な命令流は2
個である。各命令流はそれぞれ32本のレジスタ(R0〜
R31とする)をコンテクストとして持つが、そのうち命
令流に独立に持つものは16本(R16〜R31)、命令流に
共通に持つものが共用レジスタ16本(R0〜R15)とす
る。
【0022】演算ユニットはパイプライン化されている
が、パイプライン段数を始め詳細な構成等については本
発明とは直接関係しないので特に規定しない。また、命
令解読ユニットは命令流1個につき1命令を解読し、一
度に発行できる命令も1個とする。ロードストアユニッ
ト20および命令フェッチ制御部10はメモリに接続さ
れている。
【0023】演算ユニットでは命令流Aまたは命令流B
の命令が実行されており、処理する命令が無い場合には
アイドル状態になっている。スコアボード30では実行
中により結果が確定していないレジスタ番号が命令流毎
に管理されている。但し、スレッドに共用されている共
用レジスタ27については、スコアボード30も共用で
あり、命令流Aおよび命令流Bどちらからもセットリセ
ット可能である。詳細な内容については実施例の動作で
も機能を説明する。
【0024】以上のように構成された本実施例の情報処
理装置において、まずレジスタA、レジスタBを使用す
る場合について、以下図1を用いて、その動作を説明す
る。命令フェッチ制御部10は命令流Aおよび命令流B
の命令をフェッチし、解読ユニットA11、解読ユニッ
トB13に転送する。この命令フェッチはそれぞれの命
令流を交互に取りに行き、バッファリングしておけばよ
い。この機能およびバッファ等は本発明とは特に関係し
ないので省略する。また、分岐が発生した場合には分岐
先命令のアドレス計算や分岐先命令のフェッチなどの動
作もあるが、本発明とは特に関係しないので省略する。
【0025】解読ユニットA11および解読ユニットB
13より以下のステージの説明は動作を判り易くするた
めに、命令流Aおよび命令流Bの命令から動作を説明す
る。解読ユニットA11は命令フェッチ制御部10から
LOAD命令(メモリからレジスタへのロード命令:ME
M(R19)→R20)を取り出し、解読ユニットB13は命令
フェッチ制御部10からADD命令(レジスタ間加算命
令:R20 + R21→R22)を取り出し、それぞれ解読しオペ
レーションを作成するとともに、そのオペレーションを
処理すべき演算ユニットを決定する。
【0026】同時に同一命令流内でデータ依存関係が発
生していないかをチェックする。依存関係のチェック
は、スコアボード30とデータ依存チェック部29が行
なう。具体的には現在実行中のためにレジスタの値が確
定していないレジスタ番号がスコアボードに登録されて
おり、解読ユニットからこれから読み出すレジスタ番号
と比較し、一致すればデータ依存発生を解読ユニットに
返す。これから実行する命令が、結果を反映していない
レジスタの値を使用することを防ぐためである。レジス
タ番号の登録は解読ユニット11および13が命令を演
算部に発行するときに登録し、レジスタ番号の解除は各
演算ユニット20、21および22が命令実行の終了と
ともに行なう。データ依存関係については信学技報CP
SY−90−54(’90.7)「SIMP(単一命令
流/多重命令パイプライン)方式に基づくスーパースカ
ラ・プロセッサの改良方針」に詳細に解説されている。
【0027】データ依存が発生している場合には依存関
係が解除されるまで命令の発行を停止し、発生していな
い場合には、解読ユニットはオペレーションを演算部に
発行すると同時に、レジスタファイルへ読みだし要求を
出す。命令流AはレジスタファイルAに対応しており、
かつ読みだすレジスタ番号はR16〜R31なので、解読ユニ
ットA11はレジスタファイルA25へレジスタ番号を
送出する。命令流BはレジスタファイルB26に対応し
ており、かつレジスタ番号はR16〜R31なので、解読ユニ
ットB13はレジスタファイルB26へ送出する。
【0028】オペランド用スイッチ24はレジスタファ
イルA25とロードストアユニット25を、レジスタフ
ァイルB26と整数演算ユニット21を接続する。オペ
レーション用スイッチ23は解読結果より解読ユニット
と演算ユニットを接続する。本実施例の場合は、解読ユ
ニットA11からLOAD命令が、解読ユニットB13
からADD命令が発行されるので、オペレーション用ス
イッチ23は解読ユニットA11とロードストアユニッ
ト20、解読ユニットB13と整数演算ユニット21を
接続する。
【0029】ロードストアユニット20にはレジスタフ
ァイルA25から読み出したオペランド値を、整数演算
ユニット21にはレジスタファイルB26から読み出し
たオペランド値を格納する。そして解読ユニットA11
が発行したオペレーションをロードストアユニット20
に、解読ユニットB24が発行したオペレーションを整
数演算ユニット21に、それぞれ格納する。
【0030】以下、各演算ユニットはオペレーションや
オペランドを使用して実行し、結果をそれぞれレジスタ
やメモリ等に格納する。ロードストアユニット20にお
いては、命令流AのLOAD命令が実行される。命令流
AはレジスタファイルA25に対応しており、かつ書き
込み先のレジスタ番号はR16〜R31なので、計算したメモ
リアドレスでメモリからデータをフェッチし、レジスタ
ファイルA25内のレジスタR20に格納する。整数演算
ユニット21においては、ADD命令が実行される。
【0031】命令流BはレジスタファイルB26に対応
しており、かつ書き込み先のレジスタ番号はR16〜R31な
ので、加算結果をレジスタファイルB26内のレジスタ
R22に格納する。ロードストアユニット20とレジスタ
ファイルA25を、整数演算ユニット21とレジスタフ
ァイルB26を接続するように書き込み用スイッチ28
は制御される。各演算ユニットは演算が終了しレジスタ
への書き込みが終了すると、スコアボード30に登録さ
れたレジスタ番号をクリアする。
【0032】また、命令解読ユニットから発行されたオ
ペレーションが同じ演算ユニットを使用する場合、本実
施例の構成ではどちらか一方のオペレーションが待たせ
るための機構が必要になるが、本発明とは直接関係無い
ので、その機構は省略する。演算ユニットの構成が変わ
った場合には待ち合わせ機構も不要になる可能性もあ
る。同様に、同じ命令流の2命令が同時に演算が終了し
た場合には、レジスタへの書き込みを待たせる、または
レジスタファイルの書き込みポートを複数設けるなどの
対策が必要であるが、本発明とは直接関係無いのでその
説明は省略する。
【0033】続いて、共用レジスタ27を使用する場合
について動作を説明する。命令フェッチ制御部10から
命令を読み込む部分は前述したので省略する。解読ユニ
ットA11は命令フェッチ制御部10からLOAD命令
(メモリからレジスタへのロード命令:MEM(R19)→R
5)を、解読ユニットB13は命令フェッチ制御部10
からADD命令(レジスタ間加算命令:R6+ R21→R
22)を取り出し、それぞれ解読しオペレーションを作
成するとともに、そのオペレーションを処理すべき演算
ユニットを決定する。同時に同一命令流内でデータ依存
関係が発生していないかをチェックする。
【0034】依存関係のチェックは、スコアボード30
とデータ依存チェック部29が行なう。具体的には現在
実行中のためにレジスタの値が確定していないレジスタ
番号がスコアボード30に登録されており、解読ユニッ
トからこれから読み出すレジスタ番号と比較し、一致す
ればデータ依存発生を解読ユニットに返す。これから実
行する命令が、結果を反映していないレジスタの値を使
用することを防ぐためである。レジスタ番号の登録は解
読ユニット11および13が命令を演算部に発行すると
きに登録し、レジスタ番号の解除は各演算ユニット2
0、21および22が命令実行の終了とともに行なう。
【0035】データ依存が発生している場合には依存関
係が解除されるまで命令の発行を停止し、発生していな
い場合には、解読ユニットはオペレーションを演算部に
発行すると同時に、レジスタファイルへ読みだし要求を
出す。命令流AはレジスタファイルA25に対応してお
り、かつ読みだすレジスタ番号はR16〜R31なので、解読
ユニットA11はレジスタファイルA25へレジスタ番
号を送出する。命令流BはレジスタファイルB26に対
応しており、一方のレジスタ番号はR0〜R15であり、
もう一方のレジスタ番号はR16〜R31なので、解読ユ
ニットB13は共用レジスタ27にレジスタ番号R6
を、レジスタファイルB26へはR21を送出する。
【0036】オペランド用スイッチ24はレジスタファ
イルA25とロードストアユニット20を、整数演算ユ
ニット21にはレジスタファイルB26と共用レジスタ
27の両方を接続する。オペレーション用スイッチ23
は解読結果より解読ユニットと演算ユニットを接続す
る。本実施例の場合は、解読ユニットA11からLOA
D命令が、解読ユニットB13からADD命令が発行さ
れるので、オペレーション用スイッチ23は解読ユニッ
トA11とロードストアユニット20、解読ユニットB
13と整数演算ユニット21を接続する。
【0037】ロードストアユニット20にはレジスタフ
ァイルA25から読み出したオペランド値を、整数演算
ユニット21にはレジスタファイルB26と共用レジス
タ27から読み出したオペランド値を格納する。そして
解読ユニットA11が発行したオペレーションをロード
ストアユニット20に、解読ユニットB24が発行した
オペレーションを整数演算ユニット21に、それぞれ格
納する。
【0038】以下、各演算ユニットはオペレーションや
オペランドを使用して実行し、結果をそれぞれレジスタ
やメモリ等に格納する。ロードストアユニット20にお
いては、命令流AのLOAD命令が実行される。命令の
書き込み先のレジスタ番号はR0〜R15なので、計算し
たメモリアドレスでメモリからデータをフェッチし、共
用レジスタ27内のレジスタR5に格納する。整数演算
ユニット21においてはADD命令が実行される。命令
流BはレジスタファイルB26に対応しており、かつ書
き込み先のレジスタ番号はR16〜R31なので、加算結果を
レジスタファイルB26内のレジスタR22に格納す
る。ロードストアユニット20と共用レジスタ27を、
整数演算ユニット21とレジスタファイルB26を接続
するように書き込み用スイッチ28は制御される。各演
算ユニットは演算が終了しレジスタへの書き込みが終了
すると、スコアボード30に登録されたレジスタ番号を
クリアする。
【0039】続いて、以下本発明に係る情報処理装置の
他の実施例について、図面を参照しながら説明する。図
2は本発明の他の実施例における情報処理装置のレジス
タファイルの構成図を示すものである。
【0040】図2において、40及び41は命令を解読
する解読ユニットである。50、51及び52は、演算
ユニットである。演算ユニットの機能は特に限定する必
要はないので特に詳しい説明は付けない。57はレジス
タファイル53、54および55から出力されたオペラ
ンドを演算ユニット50、51、および52に接続する
オペランドスイッチ、53、54および55は読み出し
2書き込み1の3ポートのレジスタファイルである。レ
ジスタファイルのレジスタA53は解読ユニットA40
に対応し、レジスタB54は解読ユニットB41に対応
する。
【0041】共用レジスタ55は解読ユニットA40お
よび解読ユニットB41の両方に対応する。50は演算
結果を対応するレジスタに接続する書き込み用スイッ
チ、58はレジスタファイルのうちどのデータを読みだ
すかを決定する読み出しアービター、59は演算ユニッ
トの結果のうちどれをレジスタに書き込むかを決定する
書き込みアービターである。それ以外の構成の部分およ
び接続関係については図1に示されているため、省略す
る。
【0042】以上のように構成された本実施例の情報処
理装置において、以下図2を用いてその動作を説明す
る。なお、前述した動作と同じ部分は省略し、異なる部
分だけを説明する。
【0043】まず、レジスタを読み出す場合について、
解読ユニットA40はLOAD命令(メモリからレジス
タへのロード命令:MEM(R0+R1)→R18)を、解読ユ
ニットB41はADD命令(レジスタ間加算命令:R2
+ R3→R22)を解読することにする。読み出しレジ
スタのレジスタ番号はすべてR0〜R15なので、すべて
のデータは共用レジスタ55から用意する必要がある。
ところが、共用レジスタ55は読み出しポートが2つし
かないためすべてを読みだすわけには行かない。
【0044】そこで、読み出しアービター58は命令解
読ユニット40および41から読み出すレジスタ番号を
受け取り、もし、共用レジスタ55から3種類以上のレ
ジスタの読み出し要求がある場合には、2種類に限定で
きるよう解読ユニットに実行可能性を返すと共に、対応
するレジスタを共用レジスタ55から読み出す。同時に
読み出しアービター58は共用レジスタから読みだした
内容を対応する演算ユニットに出力できるようオペラン
ド用スイッチ57を制御する。
【0045】逆に、レジスタに書き込む場合について、
解読ユニットA40はLOAD命令(メモリからレジス
タへのロード命令:MEM(R0+R17)→R0)を、解読ユ
ニットB41はADD命令(レジスタ間加算命令:R2
+ R18→R1)を解読することにする。書き込みレジ
スタのレジスタ番号はすべてR0〜R15なので、すべて
のデータは共用レジスタ55に書き込む必要がある。と
ころが、共用レジスタ55は書き込みポートが1つしか
ないためすべてを書き込むわけには行かない。
【0046】そこで、書き込みアービター59は演算ユ
ニットから読み出すレジスタ番号を受け取り、もし、共
用レジスタ55から2種類以上のレジスタへの書き込み
要求がある場合には、1種類に限定できるよう演算ユニ
ットに実行可能性を返すと共に、共用レジスタ55ない
の対応するレジスタに書き込む。同時に書き込みアービ
ター59は演算ユニットから共用レジスタに書き込める
よう書き込み用スイッチ56を制御する。
【0047】なお、本実施例では、レジスタファイルは
2セットで説明したが、3以上でもよい。また、本実施
例では、複数の命令流が同時並列に実行するプロセッサ
を用いて説明したが、同時に実行される命令流は単一で
あるが複数のレジスタファイルを有するプロセッサでも
かまわない。
【0048】さらに、本実施例では、レジスタファイル
は32本としたが特に制限はなく、共用するレジスタの
本数も制限はない。また、汎用レジスタとして共有レジ
スタを持たなくてもよい。
【0049】
【発明の効果】以上のように、本発明は、以下の優れた
効果を奏することができる。 (1)レジスタの1部を共用することにより、ハードウ
ェア量の削減しコストを低減できる。 (2)各命令流で同一のレジスタをアクセスできること
により、高速通信機能を有し高性能化を実現できる。 (3)レジスタに対して書き込みおよび読み出しアービ
ターを設けることにより、上記(1)(2)の効果以外
にも共用レジスタのポート数を削減でき、よりハードウ
ェア量を削減できる。 (4)レジスタを共用する場合としない場合をプログラ
ム毎に自由に使い分けることが可能になり、高性能化を
図ることが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例における情報処理装置の構成
【図2】本発明の他の実施例におけるレジスタの構成図
【図3】従来の情報処理装置の構成図
【符号の説明】
10 命令フェッチ制御部 11、13 解読ユニット 12、14 プログラムカウンタ(PC) 20 ロードストアユニット 21 整数演算ユニット 22 浮動小数点ユニット 23 オペレーション用スイッチ 24 オペランド用スイッチ 25 レジスタファイルA 26 レジスタファイルB 27 共用レジスタ 28 書き込み用スイッチ 29 データ依存チェック部 30 スコアボード

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】一部を共用した複数のレジスタファイルを
    有することを特徴とする情報処理装置。
  2. 【請求項2】複数の演算ユニットと、一部を共用する複
    数のレジスタファイルと、前記演算ユニットと複数のレ
    ジスタファイルを接続するオペランド用スイッチを備
    え、前記オペランド用スイッチは、前記レジスタファイ
    ルからデータを読み出す際に、レジスタ番号によって共
    用している部分か否かを判断し、それに応じて前記演算
    ユニットと前記レジスタファイルを接続することを特徴
    とする情報処理装置。
  3. 【請求項3】複数の演算ユニットと、一部を共用する複
    数のレジスタファイルと、前記演算ユニットと複数のレ
    ジスタファイルを接続するオペランド用スイッチを備
    え、前記オペランド用スイッチは、前記レジスタファイ
    ルからデータを書き込む際に、レジスタ番号によって共
    用している部分か否かを判断し、それに応じて前記演算
    ユニットと前記レジスタファイルを接続することを特徴
    とする情報処理装置。
  4. 【請求項4】複数の演算ユニットと、一部を共用する複
    数のレジスタファイルと、前記演算ユニットと複数のレ
    ジスタファイルを接続するオペランド用スイッチと、レ
    ジスタ読み出しアービターを備え、前記レジスタ読み出
    しアービターは、前記レジスタファイルからデータを読
    み出す際に、レジスタ番号によって共用している部分か
    否かを判断し、共用レジスタのポート数以上に読み出し
    要求がある場合には、ポート数の範囲で実行できるよう
    に命令発行を制御すると共に、前記オペランド用スイッ
    チに対して前記演算ユニットと前記レジスタファイルを
    接続させることを特徴とする情報処理装置。
  5. 【請求項5】複数の演算ユニットと、一部を共用する複
    数のレジスタファイルと、前記演算ユニットと複数のレ
    ジスタファイルを接続するオペランド用スイッチと、レ
    ジスタ書き込みアービターを備え、前記レジスタ書き込
    みアービターは、前記演算ユニットから前記レジスタフ
    ァイルにデータを書き込む際に、レジスタ番号によって
    共用している部分か否かを判断し、共用レジスタのポー
    ト数以上に書き込み要求がある場合には、ポート数の範
    囲で実行できるように前記演算ユニットを制御すると共
    に、前記オペランド用スイッチに対して前記演算ユニッ
    トと前記レジスタファイルを接続させることを特徴とす
    る情報処理装置。
JP5122524A 1993-05-25 1993-05-25 情報処理装置 Pending JPH06332700A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122524A JPH06332700A (ja) 1993-05-25 1993-05-25 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122524A JPH06332700A (ja) 1993-05-25 1993-05-25 情報処理装置

Publications (1)

Publication Number Publication Date
JPH06332700A true JPH06332700A (ja) 1994-12-02

Family

ID=14837990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122524A Pending JPH06332700A (ja) 1993-05-25 1993-05-25 情報処理装置

Country Status (1)

Country Link
JP (1) JPH06332700A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472258B2 (en) 2003-04-21 2008-12-30 International Business Machines Corporation Dynamically shared group completion table between multiple threads
JP2011522325A (ja) * 2008-05-30 2011-07-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ローカル及びグローバルのデータ共有
WO2011155097A1 (ja) * 2010-06-11 2011-12-15 パナソニック株式会社 命令発行制御装置及び方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472258B2 (en) 2003-04-21 2008-12-30 International Business Machines Corporation Dynamically shared group completion table between multiple threads
JP2011522325A (ja) * 2008-05-30 2011-07-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ローカル及びグローバルのデータ共有
US9619428B2 (en) 2008-05-30 2017-04-11 Advanced Micro Devices, Inc. SIMD processing unit with local data share and access to a global data share of a GPU
US10140123B2 (en) 2008-05-30 2018-11-27 Advanced Micro Devices, Inc. SIMD processing lanes storing input pixel operand data in local register file for thread execution of image processing operations
WO2011155097A1 (ja) * 2010-06-11 2011-12-15 パナソニック株式会社 命令発行制御装置及び方法
JP2011258147A (ja) * 2010-06-11 2011-12-22 Panasonic Corp 命令発行制御装置及び方法
US9436464B2 (en) 2010-06-11 2016-09-06 Socionect Inc. Instruction-issuance controlling device and instruction-issuance controlling method

Similar Documents

Publication Publication Date Title
CN109213522B (zh) 远程原子操作指令
US5758176A (en) Method and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system
JP3547482B2 (ja) 情報処理装置
US4740893A (en) Method for reducing the time for switching between programs
EP0782071B1 (en) Data processor
US6829697B1 (en) Multiple logical interfaces to a shared coprocessor resource
KR100208889B1 (ko) 병렬처리장치 및 병렬처리방법
US5727227A (en) Interrupt coprocessor configured to process interrupts in a computer system
CN104798033B (zh) 用于混合等待时间‑吞吐量处理器的装置和方法
JPH0769818B2 (ja) デ−タ処理装置
US5428811A (en) Interface between a register file which arbitrates between a number of single cycle and multiple cycle functional units
JPH06161779A (ja) データ処理装置の割込み制御方式
JP4444305B2 (ja) 半導体装置
JPH06332700A (ja) 情報処理装置
US6988121B1 (en) Efficient implementation of multiprecision arithmetic
JPH02211534A (ja) 並列処理装置
CN101689110A (zh) 指令执行控制装置以及指令执行控制方法
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JPH08263289A (ja) 複数命令流パイプライン計算機
EP1235139A2 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JPH0440524A (ja) 演算装置
JP3568737B2 (ja) 条件実行命令を備えるマイクロプロセッサ
JP3102399B2 (ja) データ処理装置及び方法
JP3147884B2 (ja) 記憶装置及び情報処理装置
JP3532026B2 (ja) 演算装置