JPS6125166B2 - - Google Patents
Info
- Publication number
- JPS6125166B2 JPS6125166B2 JP56053495A JP5349581A JPS6125166B2 JP S6125166 B2 JPS6125166 B2 JP S6125166B2 JP 56053495 A JP56053495 A JP 56053495A JP 5349581 A JP5349581 A JP 5349581A JP S6125166 B2 JPS6125166 B2 JP S6125166B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- address modification
- register
- prefetch 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
Links
- 230000004048 modification Effects 0.000 claims description 39
- 238000012986 modification Methods 0.000 claims description 39
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 206010016531 fetishism Diseases 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
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)
Description
【発明の詳細な説明】
この発明は命令、データの先取りを行うパイプ
ライン方式の電子計算機における命令の先取り処
理、特にオペランドアドレス計算を高速に行うパ
イプライン計算機に関する。
ライン方式の電子計算機における命令の先取り処
理、特にオペランドアドレス計算を高速に行うパ
イプライン計算機に関する。
一般に命令、データの先取りを行うパイプライ
ン方式の電子計算機は第1図のような構成になつ
ている。この第1図における1は命令やデータが
格納されている主記憶装置、2は主記憶装置1の
内容の一部分を保持する高速バツハア記憶からな
る記憶制御装置、3は記憶制御装置2から命令、
データを受け取り、命令の実行に先立つて命令の
解読、アドレス計算、オペランド準備などを行う
先取り処理装置、4は先取り処理装置3で準備さ
れた命令とオペランドデータを使用して命令を実
行する実行処理装置である。
ン方式の電子計算機は第1図のような構成になつ
ている。この第1図における1は命令やデータが
格納されている主記憶装置、2は主記憶装置1の
内容の一部分を保持する高速バツハア記憶からな
る記憶制御装置、3は記憶制御装置2から命令、
データを受け取り、命令の実行に先立つて命令の
解読、アドレス計算、オペランド準備などを行う
先取り処理装置、4は先取り処理装置3で準備さ
れた命令とオペランドデータを使用して命令を実
行する実行処理装置である。
一方、第2図は一般に採用されている先取り処
理装置での命令の処理の流れを示している。この
第2図の5は第1図の記憶制御装置2から供給さ
れる命令群であり、現在実行中の連続した命令が
格納される命令バツフアである。
理装置での命令の処理の流れを示している。この
第2図の5は第1図の記憶制御装置2から供給さ
れる命令群であり、現在実行中の連続した命令が
格納される命令バツフアである。
命令バツフア5の中から順に命令解読などのた
めに命令レジスタ6により命令が取り出され保持
される。
めに命令レジスタ6により命令が取り出され保持
される。
7は第1図の記憶制御装置2から供給されるオ
ペランドを一時保持するオペランドバツフアであ
り、8はオペランドアドレスを計算する際に使用
されるアドレス修飾レジスタで第2図では、8
a,8b,8cの3個有している。
ペランドを一時保持するオペランドバツフアであ
り、8はオペランドアドレスを計算する際に使用
されるアドレス修飾レジスタで第2図では、8
a,8b,8cの3個有している。
9はオペランド計算用加算器、10は先取り処
理装置3と実行処理装置4との実行時間のばらつ
きを吸収するために準備済みの命令を格納する命
令キユー、11は命令キユーに対応して実行処理
装置に渡されるオペランドデータなどを格納する
オペランドキユーである。
理装置3と実行処理装置4との実行時間のばらつ
きを吸収するために準備済みの命令を格納する命
令キユー、11は命令キユーに対応して実行処理
装置に渡されるオペランドデータなどを格納する
オペランドキユーである。
次に動作について説明する。第1図の先取り処
理装置3は命令バツフア5から命令を順次処理
し、命令キユー10、オペランドキユー11を準
備してゆくが、アドレス修飾レジスタ8aを変更
する命令が先取り処理装置3で処理され、次にア
ドレス修飾レジスタ8aをアドレス修飾用に使用
する命令が続く場合、前の命令が実行処理装置で
処理終了し、アドレスレジスタ8aの内容が確定
するのを待つてこの命令のアドレス計算が始めら
れる。
理装置3は命令バツフア5から命令を順次処理
し、命令キユー10、オペランドキユー11を準
備してゆくが、アドレス修飾レジスタ8aを変更
する命令が先取り処理装置3で処理され、次にア
ドレス修飾レジスタ8aをアドレス修飾用に使用
する命令が続く場合、前の命令が実行処理装置で
処理終了し、アドレスレジスタ8aの内容が確定
するのを待つてこの命令のアドレス計算が始めら
れる。
従来のパイプライン計算機は以上のように構成
されているので、アドレス計算を先取り処理装置
で行う場合、その前にアドレス計算で使用される
アドレス修飾レジスタの内容を変更する命令が存
在する場合、その命令の実行終了によつてアドレ
ス修飾の内容が確定するまでアドレス計算を行え
ず、したがつてそれ以降の命令の解読も行えなく
なり、先取り処理の効率を大幅に低下させるとい
う欠点があつた。
されているので、アドレス計算を先取り処理装置
で行う場合、その前にアドレス計算で使用される
アドレス修飾レジスタの内容を変更する命令が存
在する場合、その命令の実行終了によつてアドレ
ス修飾の内容が確定するまでアドレス計算を行え
ず、したがつてそれ以降の命令の解読も行えなく
なり、先取り処理の効率を大幅に低下させるとい
う欠点があつた。
この発明は、上記のような従来の欠点を除去す
るためになされたもので、アドレス修飾レジスタ
の内容を変更する命令のうち比較的簡単なハード
ウエアを追加してアドレス加算器を演算器とする
ことによつて先取り処理装置で用意されるオペラ
ンドを選択的に先取り処理装置内のアドレス修飾
レジスタに格納し、以後このアドレス修飾レジス
タをアドレス修飾として使用する命令に対してア
ドレス計算を行ない、先取り処理を続行すること
により、先取り処理の効率を大幅に低下させるこ
となく実行できる先取り処理装置を有するパイプ
ライン計算機を提供することを目的とする。
るためになされたもので、アドレス修飾レジスタ
の内容を変更する命令のうち比較的簡単なハード
ウエアを追加してアドレス加算器を演算器とする
ことによつて先取り処理装置で用意されるオペラ
ンドを選択的に先取り処理装置内のアドレス修飾
レジスタに格納し、以後このアドレス修飾レジス
タをアドレス修飾として使用する命令に対してア
ドレス計算を行ない、先取り処理を続行すること
により、先取り処理の効率を大幅に低下させるこ
となく実行できる先取り処理装置を有するパイプ
ライン計算機を提供することを目的とする。
以下、この発明のパイプライン計算機の一実施
例を図について説明する。第3図はこの発明のパ
イプライン計算機における先取り処理装置のブロ
ツク図である。この第3図において第2図と同一
部分に同一符号が付されており、命令バツフア
5、命令レジスタ6、オペランドバツフア7、ア
ドレス修飾レジスタ8a〜8c、命令キユー1
0、オペランドキユー11は第2図と同一であ
る。
例を図について説明する。第3図はこの発明のパ
イプライン計算機における先取り処理装置のブロ
ツク図である。この第3図において第2図と同一
部分に同一符号が付されており、命令バツフア
5、命令レジスタ6、オペランドバツフア7、ア
ドレス修飾レジスタ8a〜8c、命令キユー1
0、オペランドキユー11は第2図と同一であ
る。
20は命令デコーダで命令ごとの先取り制御装
置の動作を指示する。また、21は演算器でセレ
クタ23,24の両入力の加算のみでなく算術演
算、論理演算を行うことができる。22はアドレ
ス修飾レジスタ8a〜8cの内容のいずれか一つ
を選択するセレクタであり、セレクタ22の出力
はセレクタ23,24に送られるようになつてい
る。
置の動作を指示する。また、21は演算器でセレ
クタ23,24の両入力の加算のみでなく算術演
算、論理演算を行うことができる。22はアドレ
ス修飾レジスタ8a〜8cの内容のいずれか一つ
を選択するセレクタであり、セレクタ22の出力
はセレクタ23,24に送られるようになつてい
る。
セレクタ23はアドレス/データフイールドと
セレクタ22の出力のいずれかを選択するもので
あり、セレクタ24はオペランドバツフア7とセ
レクタ22の出力のいずれかを選択するセレクタ
である。
セレクタ22の出力のいずれかを選択するもので
あり、セレクタ24はオペランドバツフア7とセ
レクタ22の出力のいずれかを選択するセレクタ
である。
また、セレクタ25はオペランドキユー11に
格納するデータを選択するセレクタであり、26
は実行処理装置がアドレス修飾レジスタ8a〜8
cの内容を変更するためのデータバス27と演算
器21の出力のいずれかを選択するセレクタであ
る。
格納するデータを選択するセレクタであり、26
は実行処理装置がアドレス修飾レジスタ8a〜8
cの内容を変更するためのデータバス27と演算
器21の出力のいずれかを選択するセレクタであ
る。
第4図は命令の例を示すものであつて30は命
令フイールドとアドレス修飾レジスタの内容を演
算してアドレス修飾レジスタに格納する命令、3
1は命令フイールドとアドレス修飾レジスタの内
容を加算しその結果をオペランドアドレスとして
その主記憶装置1の内容とアドレス修飾レジスタ
の内容を演算してその結果をそのアドレス修飾レ
ジスタに格納する命令である。
令フイールドとアドレス修飾レジスタの内容を演
算してアドレス修飾レジスタに格納する命令、3
1は命令フイールドとアドレス修飾レジスタの内
容を加算しその結果をオペランドアドレスとして
その主記憶装置1の内容とアドレス修飾レジスタ
の内容を演算してその結果をそのアドレス修飾レ
ジスタに格納する命令である。
次に以上のように構成されたこの発明のパイプ
ライン計算機の動作について説明する。まず、第
4図において命令30が命令レジスタ6にセツト
されると、アドレス計算サイクルにおいてセレク
タ23で命令レジスタ6中のI2フイールドが選択
され、セレクタ24でアドレス修飾レジスタ8a
〜8cのうちの一つの内容が選択され、演算器2
1で第4図のOPフイールドで示される演算が施
されR2フイールドで示されるアドレス修飾レジ
スタにその内容を格納する。
ライン計算機の動作について説明する。まず、第
4図において命令30が命令レジスタ6にセツト
されると、アドレス計算サイクルにおいてセレク
タ23で命令レジスタ6中のI2フイールドが選択
され、セレクタ24でアドレス修飾レジスタ8a
〜8cのうちの一つの内容が選択され、演算器2
1で第4図のOPフイールドで示される演算が施
されR2フイールドで示されるアドレス修飾レジ
スタにその内容を格納する。
このため、セレクタ26は演算器21の出力を
選択し、演算結果がアドレス修飾レジスタとオペ
ランドキユー11に格納される。この命令を実行
処理装置4が受け取るとオペランドキユー11の
内容を実行処理装置4内のアドレス修飾レジスタ
にだけ格納する。
選択し、演算結果がアドレス修飾レジスタとオペ
ランドキユー11に格納される。この命令を実行
処理装置4が受け取るとオペランドキユー11の
内容を実行処理装置4内のアドレス修飾レジスタ
にだけ格納する。
次に、命令31が命令レジスタ6にセツトされ
ると、アドレス計算サイクルにおいてセレクタ2
3で命令レジスタ6中の第4図の命令31のD2
フイールドが選択され、セレクタ24でアドレス
修飾レジスタの内容が選択され、演算器21で加
算されその内容がメモリアドレスとしてメモリに
対して要求が出され、オペランドがオペランドバ
ツフア7にセツトされる。
ると、アドレス計算サイクルにおいてセレクタ2
3で命令レジスタ6中の第4図の命令31のD2
フイールドが選択され、セレクタ24でアドレス
修飾レジスタの内容が選択され、演算器21で加
算されその内容がメモリアドレスとしてメモリに
対して要求が出され、オペランドがオペランドバ
ツフア7にセツトされる。
そのオペランドフエツチサイクルの最後にR1
フイールドで選択されるアドレス修飾レジスタの
内容がセレクタ22、セレクタ23で選択され、
セレクタ24はオペランドバツフア7を選択し、
演算器21でOPフイールドで示される演算が施
され、結果が前例と同じくオペランドキユー11
とアドレス修飾レジスタに格納される。
フイールドで選択されるアドレス修飾レジスタの
内容がセレクタ22、セレクタ23で選択され、
セレクタ24はオペランドバツフア7を選択し、
演算器21でOPフイールドで示される演算が施
され、結果が前例と同じくオペランドキユー11
とアドレス修飾レジスタに格納される。
この実施例のように、第1図の先取り処理装置
3内でアドレス修飾レジスタの内容を計算し、格
納することによつて以後の命令の処理でこのアド
レス修飾レジスタがアドレス修飾に用いられた場
合、従来の方式では実行処理装置4で実行される
まで処理が待たされるという欠点を少量のH/W
(ハードウエア)の追加で除去することができ
る。
3内でアドレス修飾レジスタの内容を計算し、格
納することによつて以後の命令の処理でこのアド
レス修飾レジスタがアドレス修飾に用いられた場
合、従来の方式では実行処理装置4で実行される
まで処理が待たされるという欠点を少量のH/W
(ハードウエア)の追加で除去することができ
る。
また、上記演算器21によつて加減算、論理
和、論理積、排他的論理和など多くのオペレーシ
ヨンをカバーできる。
和、論理積、排他的論理和など多くのオペレーシ
ヨンをカバーできる。
実行処理装置4で複雑な処理を行う場合はこの
先取り処理装置3での演算処理は行わず、少量の
H/Wの追加を効果的に使用できるメリツトがあ
る。
先取り処理装置3での演算処理は行わず、少量の
H/Wの追加を効果的に使用できるメリツトがあ
る。
また、途中例外条件が発生した場合、実行処理
装置4内のアドレス修飾レジスタは変更されてい
ないので実行処理装置4のアドレス修飾レジスタ
の内容を先取り処理装置3内のレジスタに移すこ
とによつてバツクアツプレジスタは不要となる。
装置4内のアドレス修飾レジスタは変更されてい
ないので実行処理装置4のアドレス修飾レジスタ
の内容を先取り処理装置3内のレジスタに移すこ
とによつてバツクアツプレジスタは不要となる。
なお、上記実施例では従来のアドレス加算器を
演算器に変更することによつて種々のオペレーシ
ヨンを可能としているが選択的に実行する命令数
を増加させるために、演算器の出力にシフタをつ
けてもよい。
演算器に変更することによつて種々のオペレーシ
ヨンを可能としているが選択的に実行する命令数
を増加させるために、演算器の出力にシフタをつ
けてもよい。
上記実施例ではアドレス修飾レジスタを3個と
したが、このアドレス修飾レジスタの数は限定さ
れるものではない。
したが、このアドレス修飾レジスタの数は限定さ
れるものではない。
以上のように、この発明のパイプライン計算機
によれば、命令先取り処理装置のアドレス加算器
の代わりに演算器を導入し、先取り処理装置でア
ドレス修飾レジスタの変更を行ない、かつその対
象命令を出現頻度が高く演算器の導入で可能とな
るように選択的に実行するので、少量のハードウ
エアの追加でアドレス計算時のアドレス修飾レジ
スタ内容未決定による処理の遅延を回避でき、命
令の流れをより高速に処理できる効果がある。
によれば、命令先取り処理装置のアドレス加算器
の代わりに演算器を導入し、先取り処理装置でア
ドレス修飾レジスタの変更を行ない、かつその対
象命令を出現頻度が高く演算器の導入で可能とな
るように選択的に実行するので、少量のハードウ
エアの追加でアドレス計算時のアドレス修飾レジ
スタ内容未決定による処理の遅延を回避でき、命
令の流れをより高速に処理できる効果がある。
第1図は従来のパイプライン計算機を示す概略
図、第2図は従来の先取り処理装置のブロツク
図、第3図はこの発明のパイプライン計算機の一
実施例における先取り処理装置を示すブロツク
図、第4図はこの発明のパイプライン計算機に適
用され選択的に先取り処理装置で処理される命令
形式の例を示す図である。 1……主記憶装置、2……記憶制御装置、3…
…先取り処理装置、4……実行処理装置、5……
命令バツフア、6……命令レジスタ、7……オペ
ランドバツフア、8a〜8c……アドレス修飾レ
ジスタ、10……命令キユー、11……オペラン
ドキユー、21……演算器、22〜26……セレ
クタ。なお、図中同一符号は同一または相当部分
を示す。
図、第2図は従来の先取り処理装置のブロツク
図、第3図はこの発明のパイプライン計算機の一
実施例における先取り処理装置を示すブロツク
図、第4図はこの発明のパイプライン計算機に適
用され選択的に先取り処理装置で処理される命令
形式の例を示す図である。 1……主記憶装置、2……記憶制御装置、3…
…先取り処理装置、4……実行処理装置、5……
命令バツフア、6……命令レジスタ、7……オペ
ランドバツフア、8a〜8c……アドレス修飾レ
ジスタ、10……命令キユー、11……オペラン
ドキユー、21……演算器、22〜26……セレ
クタ。なお、図中同一符号は同一または相当部分
を示す。
Claims (1)
- 1 命令、データなどを先取りするパイプライン
方式の電子計算機において、先取り処理をつかさ
どる先取り処理装置に、アドレス計算に必要なア
ドレス修飾レジスタ群と演算器を設け、実行中の
命令を保持する命令レジスタとアドレス修飾レジ
スタ群の内容を選択する先取り処理装置にて上記
演算器で計算を行つてその結果を先取り処理装置
内のアドレス修飾レジスタ群に格納し、以後この
アドレス修飾レジスタをアドレス修飾として使用
する命令に対して上記演算器でアドレス計算を行
つて上記先取り処理装置で先取り処理を続行する
ことを特徴とするパイプライン計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5349581A JPS57168349A (en) | 1981-04-09 | 1981-04-09 | Pipeline computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5349581A JPS57168349A (en) | 1981-04-09 | 1981-04-09 | Pipeline computer |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57168349A JPS57168349A (en) | 1982-10-16 |
JPS6125166B2 true JPS6125166B2 (ja) | 1986-06-14 |
Family
ID=12944408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5349581A Granted JPS57168349A (en) | 1981-04-09 | 1981-04-09 | Pipeline computer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57168349A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58189739A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
JPS60186936A (ja) * | 1984-03-05 | 1985-09-24 | Hitachi Ltd | プログラマブルコントロ−ラ |
JPS6174031A (ja) * | 1984-09-19 | 1986-04-16 | Hitachi Ltd | 先行制御方式 |
JPS63157235A (ja) * | 1986-12-12 | 1988-06-30 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | コンピユータ・システムの制御装置 |
JPS63245526A (ja) * | 1987-03-31 | 1988-10-12 | Toshiba Corp | 情報処理装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5141442A (ja) * | 1974-08-12 | 1976-04-07 | Oreal | |
JPS5441641A (en) * | 1977-09-09 | 1979-04-03 | Hitachi Ltd | Data processing system having data producing unit |
-
1981
- 1981-04-09 JP JP5349581A patent/JPS57168349A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5141442A (ja) * | 1974-08-12 | 1976-04-07 | Oreal | |
JPS5441641A (en) * | 1977-09-09 | 1979-04-03 | Hitachi Ltd | Data processing system having data producing unit |
Also Published As
Publication number | Publication date |
---|---|
JPS57168349A (en) | 1982-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4740893A (en) | Method for reducing the time for switching between programs | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
JPH0348536B2 (ja) | ||
JPS6125166B2 (ja) | ||
JP3599499B2 (ja) | 中央処理装置 | |
KR100188374B1 (ko) | 연산처리장치 | |
JPS60178580A (ja) | 命令制御方式 | |
JP2577023B2 (ja) | 情報処理装置のアドレス拡張制御方式 | |
JP2553200B2 (ja) | 情報処理装置 | |
JP3619343B2 (ja) | データ処理装置と方法 | |
WO1984000833A1 (en) | Pre-execution next address calculating mechanism | |
JP2812610B2 (ja) | パイプライン制御方式 | |
JP2924735B2 (ja) | パイプライン演算装置及びデコーダ装置 | |
JPH06103064A (ja) | データ処理装置及びそのデータ処理方法 | |
JP2819733B2 (ja) | 情報処理装置 | |
KR100343459B1 (ko) | 자바 프로세서 | |
JPS5829051A (ja) | 演算処理装置 | |
JPS5896346A (ja) | 階層型演算方式 | |
JP3060917B2 (ja) | プロセッサ | |
JPH01271842A (ja) | 情報処理装置 | |
JPS63205732A (ja) | 情報処理装置 | |
JP2001034603A (ja) | 積和演算処理装置 | |
JPS6373335A (ja) | 情報処理装置 | |
JPS6020245A (ja) | デ−タ処理装置の命令制御回路 | |
JPS63168730A (ja) | 分岐命令処理装置 |