JP3030297B2 - コンピュ―タ・システム - Google Patents
コンピュ―タ・システムInfo
- Publication number
- JP3030297B2 JP3030297B2 JP11114756A JP11475699A JP3030297B2 JP 3030297 B2 JP3030297 B2 JP 3030297B2 JP 11114756 A JP11114756 A JP 11114756A JP 11475699 A JP11475699 A JP 11475699A JP 3030297 B2 JP3030297 B2 JP 3030297B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- format
- cycle
- base
- 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
- 238000006073 displacement reaction Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 235000019987 cider Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【0001】
【発明の属する技術分野】この発明は、コンピュータお
よびコンピュータ・システム、特に、アドレス生成のた
めの値を得るためのレジスタ番号を含む命令フォーマッ
トを有するプロセッサに関する。
よびコンピュータ・システム、特に、アドレス生成のた
めの値を得るためのレジスタ番号を含む命令フォーマッ
トを有するプロセッサに関する。
【0002】
【従来の技術】System/390のアーキテクチャ
は、1964年4月に発表されたSystem/360
が発展したものである。この34年間の革新的な期間中
に、多くの新しい機能および命令フォーマットが加えら
れ、同時に、最初のSystem/360のために書か
れた大半のプログラムに対して、互換性が維持されてき
た。拡張の多くは、命令デコード中の追加の1または2
サイクルが重大な性能問題でない複雑な機能についての
ものである。
は、1964年4月に発表されたSystem/360
が発展したものである。この34年間の革新的な期間中
に、多くの新しい機能および命令フォーマットが加えら
れ、同時に、最初のSystem/360のために書か
れた大半のプログラムに対して、互換性が維持されてき
た。拡張の多くは、命令デコード中の追加の1または2
サイクルが重大な性能問題でない複雑な機能についての
ものである。
【0003】しかし、1または2サイクルの性能差が非
常に重大となりうる特定のケースが存在する。特に、新
しい浮動小数点フォーマットに対するサポートは、RX
(レジスタと指標付き記憶域との間の操作を示す)フォ
ーマットでの20個以上の新しい命令を必要とする。R
Xフォーマットには、多くのスペア1バイト・オペレー
ション・コードは存在しない。したがって、これらの新
しい命令に対して、拡張されたオペレーション・コード
を与えることが必要であると思われる。System/
360の命令セットに新しい命令を加えるためのすべて
の従前の拡張は、命令の次の連続バイトで、4ビットま
たは8ビットの拡張オペレーション・コードによってい
た。
常に重大となりうる特定のケースが存在する。特に、新
しい浮動小数点フォーマットに対するサポートは、RX
(レジスタと指標付き記憶域との間の操作を示す)フォ
ーマットでの20個以上の新しい命令を必要とする。R
Xフォーマットには、多くのスペア1バイト・オペレー
ション・コードは存在しない。したがって、これらの新
しい命令に対して、拡張されたオペレーション・コード
を与えることが必要であると思われる。System/
360の命令セットに新しい命令を加えるためのすべて
の従前の拡張は、命令の次の連続バイトで、4ビットま
たは8ビットの拡張オペレーション・コードによってい
た。
【0004】
【発明が解決しようとする課題】浮動小数点に対して
は、RS/6000は、32ビット命令フォーマット内
に、不連続なオペレーション・コードを有している。E
SA/390のRIフォーマットは、また、不連続オペ
レーション・コードを、命令の最初の16ビット内に有
している。新しいRX命令についての拡張オペレーショ
ン・コードをどのようにすれば、高周波動作をサポート
できるかが問題である。
は、RS/6000は、32ビット命令フォーマット内
に、不連続なオペレーション・コードを有している。E
SA/390のRIフォーマットは、また、不連続オペ
レーション・コードを、命令の最初の16ビット内に有
している。新しいRX命令についての拡張オペレーショ
ン・コードをどのようにすれば、高周波動作をサポート
できるかが問題である。
【0005】
【課題を解決するための手段】RXタイプの新しいフォ
ーマットについての好適な実施例は、オペレーション・
コードの拡張を、命令フォーマットの最初の4バイトの
外に配置して、マシンがオペレーション・コードの最初
の8ビットのみから、命令の正確なフォーマットを決定
できるように、オペレーション・コードを割当てる。
ーマットについての好適な実施例は、オペレーション・
コードの拡張を、命令フォーマットの最初の4バイトの
外に配置して、マシンがオペレーション・コードの最初
の8ビットのみから、命令の正確なフォーマットを決定
できるように、オペレーション・コードを割当てる。
【0006】この解決手段によれば、新しいマシンは、
後述されるアーキテクチャについて、この発明の新しい
フォーマット・バージョンを使用するように書かれたプ
ログラムを実行することができる。
後述されるアーキテクチャについて、この発明の新しい
フォーマット・バージョンを使用するように書かれたプ
ログラムを実行することができる。
【0007】
【発明の実施の形態】好適な実施例を詳細に説明する前
に、直面しなければならなかったいくつかの問題につい
て説明することは、意味があるであろう。他のアーキテ
クチャでは、命令テキストの一定部分内に、プレフィッ
クス・フォーマットまたはサフィックス・フォーマット
を用いているが、System/360のX−B−Dフ
ォーマットは、いくつかの固有の問題を生じる。X−B
−Dアドレス生成は、当然に、クリティカル・パスであ
り、したがって命令のレイアウトに特別の注意を払う必
要があることは、必ずしも認識されていない。Syst
em/360の可変長命令フォーマット(命令を、2,
4,6バイト長とすることができる)が、ハードウェア
をさらに複雑にし、拡張および最適性能に対する解決
を、より困難な問題にすることに留意すべきである。
に、直面しなければならなかったいくつかの問題につい
て説明することは、意味があるであろう。他のアーキテ
クチャでは、命令テキストの一定部分内に、プレフィッ
クス・フォーマットまたはサフィックス・フォーマット
を用いているが、System/360のX−B−Dフ
ォーマットは、いくつかの固有の問題を生じる。X−B
−Dアドレス生成は、当然に、クリティカル・パスであ
り、したがって命令のレイアウトに特別の注意を払う必
要があることは、必ずしも認識されていない。Syst
em/360の可変長命令フォーマット(命令を、2,
4,6バイト長とすることができる)が、ハードウェア
をさらに複雑にし、拡張および最適性能に対する解決
を、より困難な問題にすることに留意すべきである。
【0008】さらに、RXEフォーマットを、後述する
ように、代替フォーマット、例えばRXEaltフォー
マットと比較することができる。見掛け上、これら2つ
のフォーマットは、同等であると思われる。しかし、2
つのフォーマットを実施することが要求される回路を詳
細に調べると、RXEフォーマットについてのクリティ
カル・パスには、代替フォーマットについてのクリティ
カル・パスよりも、存在するステージは少ないことがわ
かる。
ように、代替フォーマット、例えばRXEaltフォー
マットと比較することができる。見掛け上、これら2つ
のフォーマットは、同等であると思われる。しかし、2
つのフォーマットを実施することが要求される回路を詳
細に調べると、RXEフォーマットについてのクリティ
カル・パスには、代替フォーマットについてのクリティ
カル・パスよりも、存在するステージは少ないことがわ
かる。
【0009】さらに、性能上の理由から、S/390ハ
ードウェアの大半の構成は、専用的に用いられる独立の
加算器を備えて、X−B−Dアドレス生成を実行する。
この加算器と、関連するゲート回路とは、プロセッサの
サイクル・タイムを決定するクリティカル・パス内にあ
る。命令フォーマット内に種々のオフセットでX,B,
Dフィールドを配置する新しい命令フォーマットが導入
されるならば、このことは、追加のゲート回路を必要と
し、このクリティカル・パス内の回路レベルの数を増大
させる。したがって、RXタイプの命令のための新しい
フォーマットは、オペレーションを許容しなければなら
ず、X−B−Dアドレス演算のための追加のサイクルま
たはCPU全体のサイクル・タイムの増大を招いてはな
らない。
ードウェアの大半の構成は、専用的に用いられる独立の
加算器を備えて、X−B−Dアドレス生成を実行する。
この加算器と、関連するゲート回路とは、プロセッサの
サイクル・タイムを決定するクリティカル・パス内にあ
る。命令フォーマット内に種々のオフセットでX,B,
Dフィールドを配置する新しい命令フォーマットが導入
されるならば、このことは、追加のゲート回路を必要と
し、このクリティカル・パス内の回路レベルの数を増大
させる。したがって、RXタイプの命令のための新しい
フォーマットは、オペレーションを許容しなければなら
ず、X−B−Dアドレス演算のための追加のサイクルま
たはCPU全体のサイクル・タイムの増大を招いてはな
らない。
【0010】RXタイプの新しいフォーマットについて
の好適な実施例は、オペレーション・コードの拡張を、
命令フォーマットの最初の4バイトの外に配置して、オ
ペレーション・コードを次のように割当てる。すなわ
ち、オペレーション・コードの最初の8ビットのみか
ら、以下に説明するように、マシンが命令の正確なフォ
ーマットを決定することができる。
の好適な実施例は、オペレーション・コードの拡張を、
命令フォーマットの最初の4バイトの外に配置して、オ
ペレーション・コードを次のように割当てる。すなわ
ち、オペレーション・コードの最初の8ビットのみか
ら、以下に説明するように、マシンが命令の正確なフォ
ーマットを決定することができる。
【0011】図1は、種々の命令フォーマットを示す。
RRおよびRXフォーマットは、最初のSystem/
360の命令フォーマットであり、8ビットのオペレー
ション・コードを有している。最初の拡張の1つであっ
たSフォーマットは、16ビットのオペレーション・コ
ードを用いており、最初のRXフォーマットのB2 およ
びD2 フィールドと同じビット位置にあるB2 およびD
2 が続いている。初期の拡張であったRREフォーマッ
トは、16ビットのオペレーション・コードを用いてお
り、R1 およびR2 フィールドが続いているが、これら
フィールドは、RRフォーマットのR1 およびR2 フィ
ールドと同じ位置にない。このフォーマットについての
Rフィールドの配置は、問題ではない。というのは、こ
れらレジスタをアクセスするためのパスが、特に、クリ
ティカル・パスでないからである。
RRおよびRXフォーマットは、最初のSystem/
360の命令フォーマットであり、8ビットのオペレー
ション・コードを有している。最初の拡張の1つであっ
たSフォーマットは、16ビットのオペレーション・コ
ードを用いており、最初のRXフォーマットのB2 およ
びD2 フィールドと同じビット位置にあるB2 およびD
2 が続いている。初期の拡張であったRREフォーマッ
トは、16ビットのオペレーション・コードを用いてお
り、R1 およびR2 フィールドが続いているが、これら
フィールドは、RRフォーマットのR1 およびR2 フィ
ールドと同じ位置にない。このフォーマットについての
Rフィールドの配置は、問題ではない。というのは、こ
れらレジスタをアクセスするためのパスが、特に、クリ
ティカル・パスでないからである。
【0012】かなり最近の拡張のRIフォーマットは、
12ビットのオペレーション・コードを示している。こ
のオペレーション・コードでは、4ビットの拡張は、命
令の第2バイト内にあるが、オペレーション・コードの
最初の8ビットには連続していない。
12ビットのオペレーション・コードを示している。こ
のオペレーション・コードでは、4ビットの拡張は、命
令の第2バイト内にあるが、オペレーション・コードの
最初の8ビットには連続していない。
【0013】この発明の内容であるRXEフォーマット
は、RXフォーマットと同じ位置に、R1 ,X2 ,
B2 ,D2 フィールドを配置している。オペレーション
・コードの割当ては、RXEフォーマットの実現に対し
て非常に重要である。マシンは、オペレーション・コー
ドの最初8ビットのみから、これが実際にはRXEフォ
ーマット命令であることを決定し、この情報を用いて、
正しい情報をX−B−Dアドレス加算器へゲートできな
ければならない。
は、RXフォーマットと同じ位置に、R1 ,X2 ,
B2 ,D2 フィールドを配置している。オペレーション
・コードの割当ては、RXEフォーマットの実現に対し
て非常に重要である。マシンは、オペレーション・コー
ドの最初8ビットのみから、これが実際にはRXEフォ
ーマット命令であることを決定し、この情報を用いて、
正しい情報をX−B−Dアドレス加算器へゲートできな
ければならない。
【0014】図1は、新規なRXEフォーマットの好適
な実施例と、比較のための他のフォーマットとを示して
いる。図2には、パイプラインが示されている。パイプ
ラインにおける第1のサイクルの前に、命令テキストが
フェッチされる。特定の命令についての第1のサイクル
中に、命令がデコードされ(1)、アドレス生成に用い
るために、基底(B)および指標(X)レジスタが読取
られる(2)。第2のサイクル中に、B+X+変位
(D)のアドレス加算(3)が実行され、キャッシュに
送られる。第3および第4のサイクル中に、キャッシュ
がアクセスされ(4),(5)、データが戻される
(6)。サイクル5では、実行(7)が行われ、サイク
ル6では、結果を保持する(8)。したがって、Bおよ
びXフィールドについてのクリティカル・パスは、命令
デコードおよびレジスタ・アレイの読取りが行われる第
1のサイクルである。命令実行パイプライン・タイミン
グは、図3に示されている。図3では、AGENロジッ
クが、X2 およびB2 の内容を変位に加算し、これはデ
コード直後のサイクルで行われることがわかる。このこ
とは、アドレス生成のためのレジスタの仕様が、実行の
ためのデータ読取りよりも、何故により重要なのかを示
している。
な実施例と、比較のための他のフォーマットとを示して
いる。図2には、パイプラインが示されている。パイプ
ラインにおける第1のサイクルの前に、命令テキストが
フェッチされる。特定の命令についての第1のサイクル
中に、命令がデコードされ(1)、アドレス生成に用い
るために、基底(B)および指標(X)レジスタが読取
られる(2)。第2のサイクル中に、B+X+変位
(D)のアドレス加算(3)が実行され、キャッシュに
送られる。第3および第4のサイクル中に、キャッシュ
がアクセスされ(4),(5)、データが戻される
(6)。サイクル5では、実行(7)が行われ、サイク
ル6では、結果を保持する(8)。したがって、Bおよ
びXフィールドについてのクリティカル・パスは、命令
デコードおよびレジスタ・アレイの読取りが行われる第
1のサイクルである。命令実行パイプライン・タイミン
グは、図3に示されている。図3では、AGENロジッ
クが、X2 およびB2 の内容を変位に加算し、これはデ
コード直後のサイクルで行われることがわかる。このこ
とは、アドレス生成のためのレジスタの仕様が、実行の
ためのデータ読取りよりも、何故により重要なのかを示
している。
【0015】図4において、命令テキストは、命令デコ
ードのために命令レジスタ(10)にロードされる。基
底および指標のフィールドは、RXEaltフォーマッ
トでは複数の位置に存在し得るので、組合せロジック
(11)は、BおよびXフィールドが、命令中のどこに
あるかを調べなければならない。これは、指標(1
2),基底(13),変位(14)のためのマルチプレ
クサ(MUX)を制御するために用いられる。基底およ
び指標のためのマルチプレクサからの出力値は、GPR
レジスタ・ファイル(15)をアクセスするために用い
られる。このファイルは、ESA/390については、
16エントリである。GPRレジスタ・ファイルの出力
および変位情報は、次のサイクルでアドレス加算器(1
6)によって用いるためにラッチに保持される。図4か
らわかるように、命令テキストのオペレーション・コー
ド部分からのパスは、組合せロジック(11),基底マ
ルチプレクサ(13)および指標マルチプレクサ(1
2),ならびにGPRファイル(15)を経て、アドレ
ス加算器(16)に至る。このパスは、サイクル・タイ
ムに影響する。
ードのために命令レジスタ(10)にロードされる。基
底および指標のフィールドは、RXEaltフォーマッ
トでは複数の位置に存在し得るので、組合せロジック
(11)は、BおよびXフィールドが、命令中のどこに
あるかを調べなければならない。これは、指標(1
2),基底(13),変位(14)のためのマルチプレ
クサ(MUX)を制御するために用いられる。基底およ
び指標のためのマルチプレクサからの出力値は、GPR
レジスタ・ファイル(15)をアクセスするために用い
られる。このファイルは、ESA/390については、
16エントリである。GPRレジスタ・ファイルの出力
および変位情報は、次のサイクルでアドレス加算器(1
6)によって用いるためにラッチに保持される。図4か
らわかるように、命令テキストのオペレーション・コー
ド部分からのパスは、組合せロジック(11),基底マ
ルチプレクサ(13)および指標マルチプレクサ(1
2),ならびにGPRファイル(15)を経て、アドレ
ス加算器(16)に至る。このパスは、サイクル・タイ
ムに影響する。
【0016】図5において、命令テキストは、命令デコ
ードのために命令レジスタ(10)にロードされる。同
時に、命令フォーマットのBおよびXの初期位置からの
データは、また、指標(17)および基底(18)のた
めのレジスタにロードされる。また、新しい命令が命令
レジスタ(10)にロードされると、マルチプレクサ・
セレクタ(19)は、0にセットされる。指標レジスタ
(17)は、GPRレジスタ・ファイル(15)に直接
に接続されている。基底レジスタ(18)については、
マルチプレクサ・セレクタ(19)は、基底マルチプレ
クサ(20)を直接に制御して、デフォルト基底位置を
選んで、GPRレジスタ・ファイル(15)に送る。マ
ルチプレクサ・セレクタ(19)は、また、変位マルチ
プレクサ(14)を制御する。基底および指標レジスタ
の値は、変位値と共に、アドレス加算器(16)に用い
るためにラッチされる。ESA/390SSフォーマッ
ト命令の場合、第2の基底レジスタは、第1のサイクル
中に、命令テキストから、基底レジスタ(18)内のB
プライム・スロットへゲートされ、マルチプレクサ・セ
レクタ(19)は、1にセットされる。したがって、ク
リティカル・パスは、基底レジスタ(18)から、セレ
クタ(19)によって制御されるマルチプレクサ(2
0)、GPRファイル(15)を経て、アドレス加算器
(16)のためのレジスタに至る。このようにして、ク
リティカル・パスから、組合わせロジック(11)を排
除する。このことは、好適な実施例が、RXフォーマッ
トと同じRXEフォーマットの位置にBおよびXフィー
ルドを有するが故に、可能である。このクリティカル・
パスは、プロセッサのサイクル・タイムの目標の実現を
可能にする。
ードのために命令レジスタ(10)にロードされる。同
時に、命令フォーマットのBおよびXの初期位置からの
データは、また、指標(17)および基底(18)のた
めのレジスタにロードされる。また、新しい命令が命令
レジスタ(10)にロードされると、マルチプレクサ・
セレクタ(19)は、0にセットされる。指標レジスタ
(17)は、GPRレジスタ・ファイル(15)に直接
に接続されている。基底レジスタ(18)については、
マルチプレクサ・セレクタ(19)は、基底マルチプレ
クサ(20)を直接に制御して、デフォルト基底位置を
選んで、GPRレジスタ・ファイル(15)に送る。マ
ルチプレクサ・セレクタ(19)は、また、変位マルチ
プレクサ(14)を制御する。基底および指標レジスタ
の値は、変位値と共に、アドレス加算器(16)に用い
るためにラッチされる。ESA/390SSフォーマッ
ト命令の場合、第2の基底レジスタは、第1のサイクル
中に、命令テキストから、基底レジスタ(18)内のB
プライム・スロットへゲートされ、マルチプレクサ・セ
レクタ(19)は、1にセットされる。したがって、ク
リティカル・パスは、基底レジスタ(18)から、セレ
クタ(19)によって制御されるマルチプレクサ(2
0)、GPRファイル(15)を経て、アドレス加算器
(16)のためのレジスタに至る。このようにして、ク
リティカル・パスから、組合わせロジック(11)を排
除する。このことは、好適な実施例が、RXフォーマッ
トと同じRXEフォーマットの位置にBおよびXフィー
ルドを有するが故に、可能である。このクリティカル・
パスは、プロセッサのサイクル・タイムの目標の実現を
可能にする。
【0017】この発明の好適な実施例を説明したが、現
在および将来において、この発明の範囲内で種々の改良
を行うことができる。例えば、この発明は、固定小数点
処理および浮動小数点処理の両方に用いることができ
る。
在および将来において、この発明の範囲内で種々の改良
を行うことができる。例えば、この発明は、固定小数点
処理および浮動小数点処理の両方に用いることができ
る。
【0018】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)特定のフォーマットの命令を受け取る命令レジス
タと、指標値、基底値および変位値を加算することによ
ってアドレスを生成する加算器とを含むプロセッサを備
えたコンピュータ・システムであって、前記特定のフォ
ーマットは、オペレーション・コード、前記指標値およ
び前記基底値を含むレジスタの番号、並びに前記変位値
を所定のフィールドに有する第1のフォーマットと、オ
ペレーション・コードの第1部分、前記レジスタの番号
および前記変位値を前記第1のフォーマットと同じ所定
のフィールドに有し、オペレーション・コードの拡張部
分を前記所定のフィールドを超えた部分に有する第2の
フォーマットとを含み、前記プロセッサは、前記オペレ
ーション・コードの第1部分をデコードすることによ
り、当該命令が前記第2のフォーマットであることを決
定し、それに基づいてアドレス生成に必要な情報を前記
加算器にゲートする、コンピュータ・システム。 (2)命令が6サイクル・パイプラインで処理され、こ
のパイプラインの第1のサイクルの前に、命令テキスト
がフェッチされ、およびフェッチされた特定の命令につ
いて第1のサイクル中に、命令がデコードされ、前記レ
ジスタの番号が、アドレス生成に用いるために読取ら
れ、第2のサイクル中に、前記加算器によるアドレス加
算が実行され、メモリに送られ、第3および第4のサイ
クル中に、前記メモリがそれぞれアクセスされ、データ
が戻され、第5サイクル中に、フェッチされた命令が実
行され、第6サイクル中に、結果が保持されることを特
徴とする上記(1)に記載のコンピュータ・システム。 (3)前記プロセッサによる命令の処理の前に、前記命
令テキストがデコードのために前記命令レジスタにロー
ドされ、同時に、命令フォーマット内の前記レジスタの
番号が、指標および基底のためのレジスタにロードさ
れ、新しい命令が前記命令レジスタにロードされると、
マルチプレクサ選択信号が0にセットされて、前記指標
レジスタが、汎用レジスタ・ファイルに直接に接続さ
れ、前記基底レジスタのデフォルト基底位置が選択され
て、前記汎用レジスタ・ファイルに送られ、前記変位値
が、マルチプレクサを介して前記加算器に送られること
を特徴とする上記(1)に記載のコンピュータ・システ
ム。 (4)前記プロセッサは、また、第2の基底値を含む第
2のレジスタ番号を所定のフィールドに有する第3のフ
ォーマットの命令を処理し、該第3のフォーマットの命
令テキストが、前記命令レジスタにロードされると、前
記第2のレジスタ番号が、第1サイクル中に、前記基底
レジスタ内の第2の位置へゲートされ、前記マルチプレ
クサ選択信号は、1にセットされ、前記第2の位置を選
択してその内容を前記汎用レジスタ・ファイルへ送るこ
とを特徴とする上記(2)に記載のコンピュータ・シス
テム。
の事項を開示する。 (1)特定のフォーマットの命令を受け取る命令レジス
タと、指標値、基底値および変位値を加算することによ
ってアドレスを生成する加算器とを含むプロセッサを備
えたコンピュータ・システムであって、前記特定のフォ
ーマットは、オペレーション・コード、前記指標値およ
び前記基底値を含むレジスタの番号、並びに前記変位値
を所定のフィールドに有する第1のフォーマットと、オ
ペレーション・コードの第1部分、前記レジスタの番号
および前記変位値を前記第1のフォーマットと同じ所定
のフィールドに有し、オペレーション・コードの拡張部
分を前記所定のフィールドを超えた部分に有する第2の
フォーマットとを含み、前記プロセッサは、前記オペレ
ーション・コードの第1部分をデコードすることによ
り、当該命令が前記第2のフォーマットであることを決
定し、それに基づいてアドレス生成に必要な情報を前記
加算器にゲートする、コンピュータ・システム。 (2)命令が6サイクル・パイプラインで処理され、こ
のパイプラインの第1のサイクルの前に、命令テキスト
がフェッチされ、およびフェッチされた特定の命令につ
いて第1のサイクル中に、命令がデコードされ、前記レ
ジスタの番号が、アドレス生成に用いるために読取ら
れ、第2のサイクル中に、前記加算器によるアドレス加
算が実行され、メモリに送られ、第3および第4のサイ
クル中に、前記メモリがそれぞれアクセスされ、データ
が戻され、第5サイクル中に、フェッチされた命令が実
行され、第6サイクル中に、結果が保持されることを特
徴とする上記(1)に記載のコンピュータ・システム。 (3)前記プロセッサによる命令の処理の前に、前記命
令テキストがデコードのために前記命令レジスタにロー
ドされ、同時に、命令フォーマット内の前記レジスタの
番号が、指標および基底のためのレジスタにロードさ
れ、新しい命令が前記命令レジスタにロードされると、
マルチプレクサ選択信号が0にセットされて、前記指標
レジスタが、汎用レジスタ・ファイルに直接に接続さ
れ、前記基底レジスタのデフォルト基底位置が選択され
て、前記汎用レジスタ・ファイルに送られ、前記変位値
が、マルチプレクサを介して前記加算器に送られること
を特徴とする上記(1)に記載のコンピュータ・システ
ム。 (4)前記プロセッサは、また、第2の基底値を含む第
2のレジスタ番号を所定のフィールドに有する第3のフ
ォーマットの命令を処理し、該第3のフォーマットの命
令テキストが、前記命令レジスタにロードされると、前
記第2のレジスタ番号が、第1サイクル中に、前記基底
レジスタ内の第2の位置へゲートされ、前記マルチプレ
クサ選択信号は、1にセットされ、前記第2の位置を選
択してその内容を前記汎用レジスタ・ファイルへ送るこ
とを特徴とする上記(2)に記載のコンピュータ・シス
テム。
【図1】RR,RX,S,PRE,RI,RXE,RX
Ealt命令について好適な実施例の命令フォーマット
を示す図である。
Ealt命令について好適な実施例の命令フォーマット
を示す図である。
【図2】ESA/390のG4(第4世代)およびG5
(第5世代)シリーズ・プロセッサにおいて用いられる
パイプライン・シーケンスを示す図である。
(第5世代)シリーズ・プロセッサにおいて用いられる
パイプライン・シーケンスを示す図である。
【図3】命令実行パイプラインのタイミングを示す図で
ある。
ある。
【図4】RXEaltフォーマットについて、その限界
を説明するための基本的なフローを示す図である。
を説明するための基本的なフローを示す図である。
【図5】好適なRXEフォーマットの実施例について、
問題の解決を示すための基本的なフローを示す図であ
る。
問題の解決を示すための基本的なフローを示す図であ
る。
10 命令レジスタ 11 組合せロジック 12 指標マルチプレクサ 13 基底マルチプレクサ 14 変位マルチプレクサ 15 GPRレジスタ・ファイル 16 アドレス加算器 17 指標レジスタ 18 基底レジスタ 19 レジスタ・マルチプレクサ選択コントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロナルド・エム・スミス アメリカ合衆国 12590 ニューヨーク 州 ワッピンガーズ フォールズ サイ ダー ミル ループ 15 (72)発明者 ジョン・エス・リプティ アメリカ合衆国 12572 ニューヨーク 州 ラインベック トロイ ドライブ 1 (72)発明者 エリック・エム・シュワーツ アメリカ合衆国 12525 ニューヨーク 州 ガーディナー ティナ ドライブ 5 (72)発明者 ティモシィ・ジェイ・スリーガル アメリカ合衆国 12580 ニューヨーク 州 スターツバーグ コネリィ ドライ ブ 19 (72)発明者 チャールズ・エフ・ウェブ アメリカ合衆国 12603 ニューヨーク 州 ポウキープシー メイネッティ ド ライブ 4 (56)参考文献 特開 平2−277130(JP,A) 特開 昭64−1031(JP,A) 特開 昭62−97039(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/355
Claims (4)
- 【請求項1】特定のフォーマットの命令を受け取る命令
レジスタと、指標値、基底値および変位値を加算するこ
とによってアドレスを生成する加算器とを含むプロセッ
サを備えたコンピュータ・システムであって、 前記特定のフォーマットは、 オペレーション・コード、前記指標値および前記基底値
を含むレジスタの番号、並びに前記変位値を所定のフィ
ールドに有する第1のフォーマットと、 オペレーション・コードの第1部分、前記レジスタの番
号および前記変位値を前記第1のフォーマットと同じ所
定のフィールドに有し、オペレーション・コードの拡張
部分を前記所定のフィールドを超えた部分に有する第2
のフォーマットとを含み、 前記プロセッサは、前記オペレーション・コードの第1
部分をデコードすることにより、当該命令が前記第2の
フォーマットであることを決定し、それに基づいてアド
レス生成に必要な情報を前記加算器にゲートする、 コンピュータ・システム。 - 【請求項2】命令が6サイクル・パイプラインで処理さ
れ、このパイプラインの第1のサイクルの前に、命令テ
キストがフェッチされ、およびフェッチされた特定の命
令について第1のサイクル中に、命令がデコードされ、
前記レジスタの番号が、アドレス生成に用いるために読
取られ、第2のサイクル中に、前記加算器によるアドレ
ス加算が実行され、メモリに送られ、第3および第4の
サイクル中に、前記メモリがそれぞれアクセスされ、デ
ータが戻され、第5サイクル中に、フェッチされた命令
が実行され、第6サイクル中に、結果が保持されること
を特徴とする請求項1記載のコンピュータ・システム。 - 【請求項3】前記プロセッサによる命令の処理の前に、
前記命令テキストがデコードのために前記命令レジスタ
にロードされ、同時に、命令フォーマット内の前記レジ
スタの番号が、指標および基底のためのレジスタにロー
ドされ、新しい命令が前記命令レジスタにロードされる
と、マルチプレクサ選択信号が0にセットされて、前記
指標レジスタが、汎用レジスタ・ファイルに直接に接続
され、前記基底レジスタのデフォルト基底位置が選択さ
れて、前記汎用レジスタ・ファイルに送られ、前記変位
値が、マルチプレクサを介して前記加算器に送られるこ
とを特徴とする請求項1記載のコンピュータ・システ
ム。 - 【請求項4】前記プロセッサは、また、第2の基底値を
含む第2のレジスタ番号を所定のフィールドに有する第
3のフォーマットの命令を処理し、該第3のフォーマッ
トの命令テキストが、前記命令レジスタにロードされる
と、前記第2のレジスタ番号が、第1サイクル中に、前
記基底レジスタ内の第2の位置へゲートされ、前記マル
チプレクサ選択信号は、1にセットされ、前記第2の位
置を選択してその内容を前記汎用レジスタ・ファイルへ
送ることを特徴とする請求項2記載のコンピュータ・シ
ステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/070,359 US6105126A (en) | 1998-04-30 | 1998-04-30 | Address bit decoding for same adder circuitry for RXE instruction format with same XBD location as RX format and dis-jointed extended operation code |
US09/070359 | 1998-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000029684A JP2000029684A (ja) | 2000-01-28 |
JP3030297B2 true JP3030297B2 (ja) | 2000-04-10 |
Family
ID=22094823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11114756A Expired - Lifetime JP3030297B2 (ja) | 1998-04-30 | 1999-04-22 | コンピュ―タ・システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6105126A (ja) |
JP (1) | JP3030297B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101754199B1 (ko) * | 2015-06-26 | 2017-07-06 | 한국철도기술연구원 | 접이식 컨테이너 개폐장치 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421744B1 (en) * | 1999-10-25 | 2002-07-16 | Motorola, Inc. | Direct memory access controller and method therefor |
EP1369774A1 (fr) * | 2002-06-06 | 2003-12-10 | CSEM Centre Suisse d'Electronique et de Microtechnique SA Recherche et Développement | Dispositif d'élaboration d'adresses pour un processeur de signaux numériques |
JP3862642B2 (ja) * | 2002-09-17 | 2006-12-27 | 株式会社日立製作所 | データ処理装置 |
US7103754B2 (en) * | 2003-03-28 | 2006-09-05 | International Business Machines Corporation | Computer instructions for having extended signed displacement fields for finding instruction operands |
US7269711B2 (en) * | 2003-12-29 | 2007-09-11 | Intel Corporation | Methods and apparatus for address generation in processors |
CN101894010B (zh) * | 2009-08-24 | 2013-04-17 | 威盛电子股份有限公司 | 微处理器及适用于微处理器的操作方法 |
US20160132332A1 (en) * | 2013-06-18 | 2016-05-12 | Freescale Semiconductor, Inc. | Signal processing device and method of performing a bit-expand operation |
US9552209B2 (en) * | 2013-12-27 | 2017-01-24 | Intel Corporation | Functional unit for instruction execution pipeline capable of shifting different chunks of a packed data operand by different amounts |
US20170185402A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Instructions and logic for bit field address and insertion |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59174948A (ja) * | 1983-03-25 | 1984-10-03 | Toshiba Corp | 情報処理装置 |
US5345567A (en) * | 1991-06-10 | 1994-09-06 | International Business Machines Corporation | System and method for modifying program status word system mask, system access key, and address space code with overlap enabled |
GB2263986B (en) * | 1992-02-06 | 1996-03-13 | Intel Corp | Rotators in machine instruction length calculation |
US5694617A (en) * | 1995-03-31 | 1997-12-02 | International Business Machines Corporation | System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation |
-
1998
- 1998-04-30 US US09/070,359 patent/US6105126A/en not_active Expired - Lifetime
-
1999
- 1999-04-22 JP JP11114756A patent/JP3030297B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101754199B1 (ko) * | 2015-06-26 | 2017-07-06 | 한국철도기술연구원 | 접이식 컨테이너 개폐장치 |
Also Published As
Publication number | Publication date |
---|---|
US6105126A (en) | 2000-08-15 |
JP2000029684A (ja) | 2000-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4839797A (en) | Microprocessor compatible with any software represented by different types of instruction formats | |
US4591972A (en) | Data processing system with unique microcode control | |
US5694587A (en) | Specialized millicode instructions for test PSW validity, load with access test, and character translation assist | |
US4569018A (en) | Digital data processing system having dual-purpose scratchpad and address translation memory | |
US20090198986A1 (en) | Configurable Instruction Sequence Generation | |
JPS6339931B2 (ja) | ||
JP3203401B2 (ja) | データ処理装置 | |
JP3030297B2 (ja) | コンピュ―タ・システム | |
JP2001092662A (ja) | プロセッサコア及びこれを用いたプロセッサ | |
US5819067A (en) | Computer system configured to translate a computer program into a second computer program prior to executing the computer program | |
KR930005766B1 (ko) | 가변장 명령열을 해독하고 실행하는 데이타 처리장치 | |
US4597041A (en) | Method and apparatus for enhancing the operation of a data processing system | |
EP1143333B1 (en) | Microprocessor for supporting reduction of program codes in size | |
US5564030A (en) | Circuit and method for detecting segment limit errors for code fetches | |
US7003651B2 (en) | Program counter (PC) relative addressing mode with fast displacement | |
US5504923A (en) | Parallel processing with improved instruction misalignment detection | |
US7853773B1 (en) | Program memory space expansion for particular processor instructions | |
JP3030298B2 (ja) | コンピュ―タ・システム | |
JP3578267B2 (ja) | マイクロ命令をもとにプログラマブル命令を実行するハードウェア装置 | |
JP2000137612A (ja) | 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法 | |
US5396610A (en) | Register address specifying circuit for simultaneously accessing two registers | |
US7631166B1 (en) | Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation | |
US6968430B1 (en) | Circuit and method for improving instruction fetch time from a cache memory device | |
US6005502A (en) | Method for reducing the number of bits needed for the representation of constant values in a data processing device | |
US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed |