JPS63157235A - コンピユータ・システムの制御装置 - Google Patents
コンピユータ・システムの制御装置Info
- Publication number
- JPS63157235A JPS63157235A JP25987587A JP25987587A JPS63157235A JP S63157235 A JPS63157235 A JP S63157235A JP 25987587 A JP25987587 A JP 25987587A JP 25987587 A JP25987587 A JP 25987587A JP S63157235 A JPS63157235 A JP S63157235A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- alu
- instructions
- address
- cycle
- 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
Links
- 239000000872 buffer Substances 0.000 claims description 13
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 7
- OFFWOVJBSQMVPI-RMLGOCCBSA-N Kaletra Chemical compound N1([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=2C=CC=CC=2)NC(=O)COC=2C(=CC=CC=2C)C)CC=2C=CC=CC=2)CCCNC1=O.N([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=1C=CC=CC=1)NC(=O)OCC=1SC=NC=1)CC=1C=CC=CC=1)C(=O)N(C)CC1=CSC(C(C)C)=N1 OFFWOVJBSQMVPI-RMLGOCCBSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009396 hybridization Methods 0.000 description 1
- 238000000034 method Methods 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/3824—Operand accessing
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
この発明は、高性能コンピュータ・システムに関し、特
に単一のALU(算術論理ユニット)をもち命令とオペ
ランドをブリフェッチ(prefetch)するような
システムに関するものである。この発明の用途としては
、コントローラとして使用されるコンピュータや、パー
ノナルーコンピュータや、ミニコンピユータや、小型の
媒介システムに使用されるコンピュータに見出されるシ
ステム記憶に対して単ごのインターフェースtもつ比較
的低コストのコンピュータ・システムがある。
に単一のALU(算術論理ユニット)をもち命令とオペ
ランドをブリフェッチ(prefetch)するような
システムに関するものである。この発明の用途としては
、コントローラとして使用されるコンピュータや、パー
ノナルーコンピュータや、ミニコンピユータや、小型の
媒介システムに使用されるコンピュータに見出されるシ
ステム記憶に対して単ごのインターフェースtもつ比較
的低コストのコンピュータ・システムがある。
B、従来技術
従来よりコンピュータは、マシン・サイクル時間と記憶
サイクル時間が等しいように設計されてきたが、記憶ア
クセス時間にはマシン・サイクル時間の何倍もの時間が
かかる。このことは、アドレスが記憶に与えられた後、
数マシン・サイクルの後まではデータが得られないこと
を意味する。
サイクル時間が等しいように設計されてきたが、記憶ア
クセス時間にはマシン・サイクル時間の何倍もの時間が
かかる。このことは、アドレスが記憶に与えられた後、
数マシン・サイクルの後まではデータが得られないこと
を意味する。
尚、そのマシン・サイクルの数は特定の記憶システムと
、それを実施するために使用された技術に依存する。そ
の結果、通常、データを待つ間に時間が浪費される。こ
の浪費される時間あるいは待ち時間は、もしそのデータ
待ちの間に他のタスクを実行することができるなら場合
によっては低減しまたは解消することができる。このと
きもちろん、コンピュータ・システムの順序が破られて
はならず、さもないと事態が混乱する。言いかえると、
命令実行フェーズは依然として順序に従って実行されな
くてはならない。
、それを実施するために使用された技術に依存する。そ
の結果、通常、データを待つ間に時間が浪費される。こ
の浪費される時間あるいは待ち時間は、もしそのデータ
待ちの間に他のタスクを実行することができるなら場合
によっては低減しまたは解消することができる。このと
きもちろん、コンピュータ・システムの順序が破られて
はならず、さもないと事態が混乱する。言いかえると、
命令実行フェーズは依然として順序に従って実行されな
くてはならない。
従来において、別の命令がフェッチされている間に複数
の命令をプリフェッチしその最初の命令をデコードする
ことによっである程度の待ち時間を解消することができ
た。このことは、命令デコード・ハードウェアが、命令
フェッチ処理においてそれ以外には使用されていないの
で実行することができる。しかし、このことはコストを
賢し、そのコストは、命令及び余分な制御ハードウェア
とバッファするためのコストである。デコードされた命
令を直ちに実行できるか否かはその命令のタイプ及びそ
の命令の実行の間に必要なオペランドが利用可能である
かどうかに依存する。レジスタ対レジスタ(RR)命令
などのいくつかの命令の場合、オペランドはその命令デ
コードの時点で中央処理ユニツ) (CPU )に利用
可能である。
の命令をプリフェッチしその最初の命令をデコードする
ことによっである程度の待ち時間を解消することができ
た。このことは、命令デコード・ハードウェアが、命令
フェッチ処理においてそれ以外には使用されていないの
で実行することができる。しかし、このことはコストを
賢し、そのコストは、命令及び余分な制御ハードウェア
とバッファするためのコストである。デコードされた命
令を直ちに実行できるか否かはその命令のタイプ及びそ
の命令の実行の間に必要なオペランドが利用可能である
かどうかに依存する。レジスタ対レジスタ(RR)命令
などのいくつかの命令の場合、オペランドはその命令デ
コードの時点で中央処理ユニツ) (CPU )に利用
可能である。
なぜなら、そ°のオペランドはレジスタ中にあるからで
ある。従ってもしCPUの算術論理ユニット(ALU)
が使用中でないなら、命令はデコード後直ちに実行する
ことができる。ところで、小型のコンピュータ・システ
ムには、ハードウェアのコストを低減するために、AL
Uが命令実行の間の算術論理演算のみならず、アドレス
計算にも使用されるようにしたものがある。このアドレ
ス計算は、命令と、データまたはオペランドの両方のた
めの記憶アドレスを計算するために必要とされる。
ある。従ってもしCPUの算術論理ユニット(ALU)
が使用中でないなら、命令はデコード後直ちに実行する
ことができる。ところで、小型のコンピュータ・システ
ムには、ハードウェアのコストを低減するために、AL
Uが命令実行の間の算術論理演算のみならず、アドレス
計算にも使用されるようにしたものがある。このアドレ
ス計算は、命令と、データまたはオペランドの両方のた
めの記憶アドレスを計算するために必要とされる。
レジスタ対記憶(RS)命令などの命令は、命令と完全
に実行できるようになる前に記憶からオペランドのうち
の1つを検索しなくてはならない。
に実行できるようになる前に記憶からオペランドのうち
の1つを検索しなくてはならない。
オペランドの7エツチにはもちろん記憶の待ち時間が関
与し、以てコンピュータ・システムの性能が制約される
。そこで、IBMテクニカル・ディスクロジャ・プルテ
ィアVo1.27、No、10B。
与し、以てコンピュータ・システムの性能が制約される
。そこで、IBMテクニカル・ディスクロジャ・プルテ
ィアVo1.27、No、10B。
1985年3月、5989ページのG、C,バンドリン
グ(Vand l i ng )による1単−ALUi
もつコンピュータ中にオペランド・プリフェッチtmみ
込むための手段(MEANS FORlNC0RPO
RATING 0PERAND PREFETCH
IN A COMPUTERWITHA 5IN
GLE ALU)”と題する刊行物に示されているオ
ペランド・プリフェッチを用いると、命令n−1が実行
されその後命令n+1の有効アドレスが計算され、これ
ら両方の動作u 命令n用オペランドのフェッチ時間の
間に行なわれるようにシステムを構成することによって
性能の低下を防ぐことができる。
グ(Vand l i ng )による1単−ALUi
もつコンピュータ中にオペランド・プリフェッチtmみ
込むための手段(MEANS FORlNC0RPO
RATING 0PERAND PREFETCH
IN A COMPUTERWITHA 5IN
GLE ALU)”と題する刊行物に示されているオ
ペランド・プリフェッチを用いると、命令n−1が実行
されその後命令n+1の有効アドレスが計算され、これ
ら両方の動作u 命令n用オペランドのフェッチ時間の
間に行なわれるようにシステムを構成することによって
性能の低下を防ぐことができる。
しかし、上述の刊行物に開示された装置はRS命令の性
能を改善するものであるけれども、それはRR命令には
適合しない。すなわち、もしRS命令の後にRR命令が
続くなら、使用されないマシン・サイクルが生じること
になる。本発明は、R3とRR命令の混成をよシ効率化
し、従来では使用されないマシン・サイクルを使用する
ようにALUの使用を最適化するものである。
能を改善するものであるけれども、それはRR命令には
適合しない。すなわち、もしRS命令の後にRR命令が
続くなら、使用されないマシン・サイクルが生じること
になる。本発明は、R3とRR命令の混成をよシ効率化
し、従来では使用されないマシン・サイクルを使用する
ようにALUの使用を最適化するものである。
C0発明が解決しようとする問題点
本発明の主な目的は、命令実行の間に有効アドレスの計
算及び算術論理演算の両方に使用される単−ALUをも
ち、命令とオペランドのプリフェッチを行うコンピュー
タ・システムの性能と改善することにある。
算及び算術論理演算の両方に使用される単−ALUをも
ち、命令とオペランドのプリフェッチを行うコンピュー
タ・システムの性能と改善することにある。
本発明の他の目的は、従来では使用されない処理または
マシン・サイクルと使用するように、最小限のハードフ
ェアの追加によ、j)ALUの使用を最適化することに
ある。
マシン・サイクルと使用するように、最小限のハードフ
ェアの追加によ、j)ALUの使用を最適化することに
ある。
D1問題点を解決するための手段
上述の目的は、特定の命令タイプのシーケンスが検出さ
れたときにRR及びRSの両方のタイプの命令を処理す
る際に、ALUの使用を最大化するとともに依然として
順序的命令実行フェーズを維持するように実行サイクル
の間に有°効アドレス計算サイクルを分散介在(int
ersperse)することによって達成される。有効
アドレスの計算はマシン状態を変更しないが、もし割込
みがあると、計算されたアドレスとプリフェッチされた
命令とオペランドが棄却される。
れたときにRR及びRSの両方のタイプの命令を処理す
る際に、ALUの使用を最大化するとともに依然として
順序的命令実行フェーズを維持するように実行サイクル
の間に有°効アドレス計算サイクルを分散介在(int
ersperse)することによって達成される。有効
アドレスの計算はマシン状態を変更しないが、もし割込
みがあると、計算されたアドレスとプリフェッチされた
命令とオペランドが棄却される。
E、実施例
第1図を参照すると、命令及びデータ、すなわちオペラ
ンドを記憶するための主記憶システム10t−もつコン
ピュータ・システムに組込まれたものとして本発明が説
明される。記憶システム10は、従来の記憶システムと
同様に、第2図に示すサイクル時間とアクセス時間を有
する。記憶フェッチが順次的になされると(この例では
3つの順次的フェッチの後)、命令またはデータはどの
サイクル時間でも利用可能である。
ンドを記憶するための主記憶システム10t−もつコン
ピュータ・システムに組込まれたものとして本発明が説
明される。記憶システム10は、従来の記憶システムと
同様に、第2図に示すサイクル時間とアクセス時間を有
する。記憶フェッチが順次的になされると(この例では
3つの順次的フェッチの後)、命令またはデータはどの
サイクル時間でも利用可能である。
記憶システム10にアドレスするためのアドレスは、A
LU90またはシーケンス制@20のどちらかから来て
、アドレスを記憶10にアドレスするための形式に変換
するアドレス変換器130に加えられる。シーケンス制
御20は、必要な制御信号を発生し、例えば実行すべき
最初の命令?フェッチするための開始(start−u
p)信号を与。
LU90またはシーケンス制@20のどちらかから来て
、アドレスを記憶10にアドレスするための形式に変換
するアドレス変換器130に加えられる。シーケンス制
御20は、必要な制御信号を発生し、例えば実行すべき
最初の命令?フェッチするための開始(start−u
p)信号を与。
えるために、ハード・ワイヤード装置として実施するこ
とができ、あるいはマイクロプロセッサであってもよい
。本発明においては、命令バッファ30が満杯になシ、
あるいは記憶システムが占有されるまで命令フェッチが
行なわれる。しかし、後述するが、オペランドのフェッ
チは命令フェッチに対して優先権をもつことに注意され
たい。命令がフェッチされた後、シーケンス制御20内
の命令フェッチ制御が命令7エツチ・アドレスを更新し
、次のクロック・サイクルに、その更新されたアドレス
t1バス21上でアドレス変換器130に送る。前述し
たように、アドレス変換器150は、変換したアドレス
を記憶システム10に送る。
とができ、あるいはマイクロプロセッサであってもよい
。本発明においては、命令バッファ30が満杯になシ、
あるいは記憶システムが占有されるまで命令フェッチが
行なわれる。しかし、後述するが、オペランドのフェッ
チは命令フェッチに対して優先権をもつことに注意され
たい。命令がフェッチされた後、シーケンス制御20内
の命令フェッチ制御が命令7エツチ・アドレスを更新し
、次のクロック・サイクルに、その更新されたアドレス
t1バス21上でアドレス変換器130に送る。前述し
たように、アドレス変換器150は、変換したアドレス
を記憶システム10に送る。
バッファ30に入力された最初の命令は、バス31t−
介して命令デコーダ60によってアクセスされる。命令
デコーダ30はこの技術分野でよく知られたタイプのも
のであり、命令のタイプ、オペランドのアドレス・オフ
セットまたは変位と、他の制御情報及びデータを決定す
る機能をもつ。
介して命令デコーダ60によってアクセスされる。命令
デコーダ30はこの技術分野でよく知られたタイプのも
のであり、命令のタイプ、オペランドのアドレス・オフ
セットまたは変位と、他の制御情報及びデータを決定す
る機能をもつ。
この制御情報には、動作を制御するためのデータと、オ
ペランド・レジスタ及びアドレス・レジスタとじて使用
される単数または複数の汎用レジスタを指定するための
データがある。デコードされた命令に含まれるデータは
、定数及び実行時間に必要とされる他のデータから成る
。オペランド・データは、命令デコーダ60からバス6
1上で命令オペランド・バッファ40に送られる。デコ
ードされた残シの命令データは命令デコード・バッファ
100に送られ、シーケンス制御20が、その命令がデ
コードされたことを通知される。
ペランド・レジスタ及びアドレス・レジスタとじて使用
される単数または複数の汎用レジスタを指定するための
データがある。デコードされた命令に含まれるデータは
、定数及び実行時間に必要とされる他のデータから成る
。オペランド・データは、命令デコーダ60からバス6
1上で命令オペランド・バッファ40に送られる。デコ
ードされた残シの命令データは命令デコード・バッファ
100に送られ、シーケンス制御20が、その命令がデ
コードされたことを通知される。
本発明においては、どのサイクルでも、記憶から命令が
入手可能となった後、命令のタイプに拘らず、すなわち
命令がRRまたはRSのどち゛らの命令であるかに拘ら
ず、第7図に示すどのサイクルでも命令のデコードを行
うことができる。もちろん、もし命令がRR命令なら、
RS命令の場合のようにオペランドのための有効アドレ
スを計算する必資性はない。RR命令の場合、オペラン
ドは局所記憶70中のレジスタに含まれている。局所記
憶70中のこれらのレジスタのためのアドレスは、RR
命令に由来し、デコード命令バックァ100からバス1
01上でALU制御120及び制御バス121を介して
加えられる。局所記憶70からのオペランドのうちの一
方は、バス71を介してALU90に直接加えられ、他
方のオペランドはバス72上でマルチプレクサ(MUX
) 80に渡され、そこからバス81上でALU90
に渡される。ALU制御120は、バス122上に、マ
ルチプレクサ80i制御するための制御信号を与え、バ
ス123上に、ALU90を制御するための制御信号と
与える。マルチプレクサ80は、ALU制御120から
の信号の制御の下でソースからのデータを選択的に渡す
ための論理回路からなる。
入手可能となった後、命令のタイプに拘らず、すなわち
命令がRRまたはRSのどち゛らの命令であるかに拘ら
ず、第7図に示すどのサイクルでも命令のデコードを行
うことができる。もちろん、もし命令がRR命令なら、
RS命令の場合のようにオペランドのための有効アドレ
スを計算する必資性はない。RR命令の場合、オペラン
ドは局所記憶70中のレジスタに含まれている。局所記
憶70中のこれらのレジスタのためのアドレスは、RR
命令に由来し、デコード命令バックァ100からバス1
01上でALU制御120及び制御バス121を介して
加えられる。局所記憶70からのオペランドのうちの一
方は、バス71を介してALU90に直接加えられ、他
方のオペランドはバス72上でマルチプレクサ(MUX
) 80に渡され、そこからバス81上でALU90
に渡される。ALU制御120は、バス122上に、マ
ルチプレクサ80i制御するための制御信号を与え、バ
ス123上に、ALU90を制御するための制御信号と
与える。マルチプレクサ80は、ALU制御120から
の信号の制御の下でソースからのデータを選択的に渡す
ための論理回路からなる。
ALU90からの出力は、記憶システム10と、局所記
憶70と、アドレス変換器130に加えられる。このよ
うに、ALU90は、アドレスと更新し、新しいオペラ
ンドと計算するために使用することができる。更新され
たアドレスはアドレス変換器130に送られ、新しいオ
ペランドは、命令のタイプに応じて、記憶10に送られ
るか、または局所記憶60に戻される。ALU120は
シーケンス制御20に、バス124を介して制御データ
を与える。
憶70と、アドレス変換器130に加えられる。このよ
うに、ALU90は、アドレスと更新し、新しいオペラ
ンドと計算するために使用することができる。更新され
たアドレスはアドレス変換器130に送られ、新しいオ
ペランドは、命令のタイプに応じて、記憶10に送られ
るか、または局所記憶60に戻される。ALU120は
シーケンス制御20に、バス124を介して制御データ
を与える。
RR命令は、先行する命令のタイプに応じて、デコード
の直後実行されるか、または前にデコードされたRS命
令の実行後実行されるかのどちらかである。こうしても
し最初の命令がRR命令であるか、または連続的なRR
命令が存在するなら、それの実行は、第4図に示すよう
に従来のシステムと同様に行なわれる。もしRS命令の
次にRR命令が続くなら、そのRR命令は第7図に示す
ように、RS命令の実行の直後のサイクルで実行される
が、従来のシステムでは、第6図に示すようにRS命令
の待ち時間が存在するかまたは、第9図で見てとれるよ
うに、RS命令の実行後の2サイクルまでRR命令が実
行されないことになろう。
の直後実行されるか、または前にデコードされたRS命
令の実行後実行されるかのどちらかである。こうしても
し最初の命令がRR命令であるか、または連続的なRR
命令が存在するなら、それの実行は、第4図に示すよう
に従来のシステムと同様に行なわれる。もしRS命令の
次にRR命令が続くなら、そのRR命令は第7図に示す
ように、RS命令の実行の直後のサイクルで実行される
が、従来のシステムでは、第6図に示すようにRS命令
の待ち時間が存在するかまたは、第9図で見てとれるよ
うに、RS命令の実行後の2サイクルまでRR命令が実
行されないことになろう。
RS命令の場合、RS命令tデコードしそれをシーケン
ス制御20の制御の下でデコード命令バッファ100か
ら検索した後に先ずなさなくてはならないことは、記憶
からフェッチしなくてはならないオペランドの有効アド
レスと計算することである。ここで、RS命令の場合、
1つのオペランドが記憶にあり、もう1つのオペランド
が局所記憶70中のレジスタから来ることを思い出され
たい。通常、RS命令は有効オペランド・アドレスを計
算する際に使用すべき変位データを与え、この変位は、
変位レジスタ(DISP)110に入力される。RS命
令はまた通常、記憶オペランドの有効アドレスを計算す
る際に使用すべき残シのデータと含む、局所記[70中
のベースまたはインデックス・レジスタのアドレスを与
える。このレジスタ・アドレスはALU制御120に渡
され、そこから局所記憶70に渡される。この例におい
て有効記憶オペランド・アドレスを計算するためのサイ
クルは、Eサイクルと呼ばれる。Eサイクルは、本発明
でRR命令とRS命令の混成に応じて第7図または第1
0図に示すように生じうるし、従来のシステムでは第5
.6及び9図に示すように生じうる。変位のために変位
バッファを設けることが必要か否かは、本発明分実施す
るために使用されるハードウェア技術に依存する。この
Eサイクルの間に変位はマルチプレクサ80t−介して
ALUに加えられ、一方、選択されたインデックスまた
はペース・レジスタからのデータは経路71t−介して
直接ALU90に加えられる。
ス制御20の制御の下でデコード命令バッファ100か
ら検索した後に先ずなさなくてはならないことは、記憶
からフェッチしなくてはならないオペランドの有効アド
レスと計算することである。ここで、RS命令の場合、
1つのオペランドが記憶にあり、もう1つのオペランド
が局所記憶70中のレジスタから来ることを思い出され
たい。通常、RS命令は有効オペランド・アドレスを計
算する際に使用すべき変位データを与え、この変位は、
変位レジスタ(DISP)110に入力される。RS命
令はまた通常、記憶オペランドの有効アドレスを計算す
る際に使用すべき残シのデータと含む、局所記[70中
のベースまたはインデックス・レジスタのアドレスを与
える。このレジスタ・アドレスはALU制御120に渡
され、そこから局所記憶70に渡される。この例におい
て有効記憶オペランド・アドレスを計算するためのサイ
クルは、Eサイクルと呼ばれる。Eサイクルは、本発明
でRR命令とRS命令の混成に応じて第7図または第1
0図に示すように生じうるし、従来のシステムでは第5
.6及び9図に示すように生じうる。変位のために変位
バッファを設けることが必要か否かは、本発明分実施す
るために使用されるハードウェア技術に依存する。この
Eサイクルの間に変位はマルチプレクサ80t−介して
ALUに加えられ、一方、選択されたインデックスまた
はペース・レジスタからのデータは経路71t−介して
直接ALU90に加えられる。
計算された有効記憶オペランド・アドレスは次に、AL
U90からアドレス変換器130に渡され、そこから記
憶システム10に渡される。
U90からアドレス変換器130に渡され、そこから記
憶システム10に渡される。
そのようにアドレスされたオペランドは、アクセスされ
た後、記憶からオペランド・バッファ50に渡される。
た後、記憶からオペランド・バッファ50に渡される。
オペランドにアクセスするためには記憶の3サイクルが
必要であることに注意されたい。通常は、これらのサイ
クルは第6図に示すようにALU90の活動に関連して
浪費されており、あるいはせいぜい第9図に示す程度に
利用されていたにすぎない。本発明においては、これら
のサイクルは第7図及び第10図に示すように使用され
る。
必要であることに注意されたい。通常は、これらのサイ
クルは第6図に示すようにALU90の活動に関連して
浪費されており、あるいはせいぜい第9図に示す程度に
利用されていたにすぎない。本発明においては、これら
のサイクルは第7図及び第10図に示すように使用され
る。
Eサイクルの後に、記憶オペランドがアクセスされRS
命令のためにオペランド・バッファ50中に配置された
後の所与の命令上の次の動作は実行サイクルである。こ
の実行サイクルの間にALU90が、ALU制御120
に渡されるシーケンス制御20からの制御データによっ
て実行モードに置かれる。バッファされた記憶オペラン
ドはマルチプレクサ80を介してバッファ50からAL
U90に与えられ、もう一方のオペランドは、局所記憶
70中の選択されたオペランド・レジスタから直接AL
U90へ加えられる。RS命令のタイプに応じて、AL
U90は算術的あるいは論理的演算のどちらかを実行す
る。例えばもし、加算が行なわれるべきであるなら、こ
れは1サイクルで達成される。もし演算が乗算または割
算であるなら、例えば、最初のサイクルはALUによっ
て実行され、次にALU制御120が、多重サイクル命
令の動作を完了すべく後のALUサイクルを操作する。
命令のためにオペランド・バッファ50中に配置された
後の所与の命令上の次の動作は実行サイクルである。こ
の実行サイクルの間にALU90が、ALU制御120
に渡されるシーケンス制御20からの制御データによっ
て実行モードに置かれる。バッファされた記憶オペラン
ドはマルチプレクサ80を介してバッファ50からAL
U90に与えられ、もう一方のオペランドは、局所記憶
70中の選択されたオペランド・レジスタから直接AL
U90へ加えられる。RS命令のタイプに応じて、AL
U90は算術的あるいは論理的演算のどちらかを実行す
る。例えばもし、加算が行なわれるべきであるなら、こ
れは1サイクルで達成される。もし演算が乗算または割
算であるなら、例えば、最初のサイクルはALUによっ
て実行され、次にALU制御120が、多重サイクル命
令の動作を完了すべく後のALUサイクルを操作する。
ALU制御120はパス124を介して、シーケンス制
御20に、状況情報と次の命令の順番性は情報を供給す
る。通常、ALU90の出力における結果のオペランド
は、局所記憶70中の選択されたレジスタ中のオペラン
ドと交換するために戻される。
御20に、状況情報と次の命令の順番性は情報を供給す
る。通常、ALU90の出力における結果のオペランド
は、局所記憶70中の選択されたレジスタ中のオペラン
ドと交換するために戻される。
第1図のコンピュータ・システムの順次的動作が第7図
に示されている。第7図において、最初の命令■1のフ
ェッチはサイクル時間0で始まる。
に示されている。第7図において、最初の命令■1のフ
ェッチはサイクル時間0で始まる。
この例では、命令フェッチは、サイクル6時間で命令フ
ェッチを占有することが必要になるまで連続的な各サイ
クル上で継続される。この例では、。
ェッチを占有することが必要になるまで連続的な各サイ
クル上で継続される。この例では、。
最初の命令、すなわち11がサイクル時間3でデコード
される。こうして、3サイクルの命令フェッチ待ち時間
がある。デコードが行なわれ、これには、ALU90
i制御するために制御信号が利用可能となる時間を含む
2サイクルが費される。
される。こうして、3サイクルの命令フェッチ待ち時間
がある。デコードが行なわれ、これには、ALU90
i制御するために制御信号が利用可能となる時間を含む
2サイクルが費される。
11命令はRS命令であシそれは第7図では31として
示されている。デコードされた第2の命令はRR命令で
あり、それはr2として示されている。3及びrは命令
のタイプを示し、1及び2は命令の番号?示す。この規
約は以下の命令についても一貫して使用される。
示されている。デコードされた第2の命令はRR命令で
あり、それはr2として示されている。3及びrは命令
のタイプを示し、1及び2は命令の番号?示す。この規
約は以下の命令についても一貫して使用される。
S1命令がデコードされ、2サイクルが経過した後、す
なわちサイクル時間5で、ALU90が記憶オペランド
有効アドレス計算を実行するようになされる。これはE
lによって示され、Eは動作のタイプを示し、番号1は
その動作に関連する命令番号を示す。このアドレス計算
は1サイクル?要し、時間6で終了する。もし最初の命
令がRR命令であったならば、それを実行できる最も早
い時期は時間5であったろう。
なわちサイクル時間5で、ALU90が記憶オペランド
有効アドレス計算を実行するようになされる。これはE
lによって示され、Eは動作のタイプを示し、番号1は
その動作に関連する命令番号を示す。このアドレス計算
は1サイクル?要し、時間6で終了する。もし最初の命
令がRR命令であったならば、それを実行できる最も早
い時期は時間5であったろう。
デコードされた第2の命令はRR命令である。
これは時間6では実行できない。なぜならそれと実行す
ると、デコードされたS1命令がまだ実行されていない
ので命令実行シーケンスから外れてしまうからである。
ると、デコードされたS1命令がまだ実行されていない
ので命令実行シーケンスから外れてしまうからである。
31命令のために使用すべき記憶オペランドは、サイク
ル時間9まで利用可能とはならない。それゆえ、命令の
デコードは継続するが、ALU90はそのサイクルの間
遊体状態である。ここで、E2が存在しないことに注意
されたい。これは第2の命令がRR命令であって、RR
命令には有効アドレスの計算が必要ないからである。
ル時間9まで利用可能とはならない。それゆえ、命令の
デコードは継続するが、ALU90はそのサイクルの間
遊体状態である。ここで、E2が存在しないことに注意
されたい。これは第2の命令がRR命令であって、RR
命令には有効アドレスの計算が必要ないからである。
ALU90はサイクル時間7で活動状態にすることがで
きる。というのは、命令E3のだめのオペランド記憶ア
ドレスを計算するためになすべき仕事が存在するからで
あシ、これはE3で示される。このALUサイクルの機
会は従来のシステムでは使用することができなかったこ
とに注意されたい。また、シーケンス制御20はE3の
アドレス計算が、この場合r2である第2の命令と衝突
しないことを判断する必要があることに注意されたい。
きる。というのは、命令E3のだめのオペランド記憶ア
ドレスを計算するためになすべき仕事が存在するからで
あシ、これはE3で示される。このALUサイクルの機
会は従来のシステムでは使用することができなかったこ
とに注意されたい。また、シーケンス制御20はE3の
アドレス計算が、この場合r2である第2の命令と衝突
しないことを判断する必要があることに注意されたい。
命令r2が、有効記憶オペランド・アドレスE3を計算
するために使用されるインデックスまたはベース・レジ
スタを変更しないことを保証する必要がある。シーケン
ス制御が衝突が生じると判断したならば、E5は命令、
1及びr2の実行後まで行なわれないことになろう。命
令デコーダ60は、必要な情報を、バス62を介してシ
ーケンス制御20に利用可能とする。シーケンス制御2
0内の蘭単な順序論理機構がデコードされた命令ス)
IJ−ムを検査し、処理の前に衡突を除外する。
するために使用されるインデックスまたはベース・レジ
スタを変更しないことを保証する必要がある。シーケン
ス制御が衝突が生じると判断したならば、E5は命令、
1及びr2の実行後まで行なわれないことになろう。命
令デコーダ60は、必要な情報を、バス62を介してシ
ーケンス制御20に利用可能とする。シーケンス制御2
0内の蘭単な順序論理機構がデコードされた命令ス)
IJ−ムを検査し、処理の前に衡突を除外する。
第7図において、有効記憶オペランド・アドレスは文字
0によって示されている。すなわち、最初のオペランド
・アドレス01はサイクル時間6で記憶に渡され、それ
ゆえ、前述したように、オペランド・フェッチは命令フ
ェッチに対して優先権をもつので、命令フェッチを行う
ことはできない。尚、ALU90で実行される各Eサイ
クルに続いて記憶オペランドが記憶に渡されることに注
意されたい。
0によって示されている。すなわち、最初のオペランド
・アドレス01はサイクル時間6で記憶に渡され、それ
ゆえ、前述したように、オペランド・フェッチは命令フ
ェッチに対して優先権をもつので、命令フェッチを行う
ことはできない。尚、ALU90で実行される各Eサイ
クルに続いて記憶オペランドが記憶に渡されることに注
意されたい。
有効アドレスE5はサイクル時間9で計算されるけれど
も、デコードされたS1命令の実行を開始させることも
可能であった。そのALUサイクルを有効アドレスの計
算または命令の実行のどちらに使用するかについての選
択が存在するときは何時でも、ALUは有効アドレスの
計算を実行す・るように制御される。なぜなら、後には
有効アドレスを計算する機会が失われてしまいALU9
0の利用度が低Tiるからである。それゆえ、デコード
されたS1命令はALU動作として81で示されるよう
にサイクル時間10で実行される。同様に、ALU90
は、デコードされた命令r2が実行される前に有効アド
レスの計’1lE7を実行する。次に命令r2はALU
d作としてr2で示されるサイクル時間12に実行され
る。尚、命令S3は、命令r2が実行される期間である
サイクルのすぐ後のサイクルで実行できることに注意さ
れたい。このように、命令83は、ALU動作としてs
6で示されているサイクル時間13で実行される。その
後命令r4、s5、r6及びs7が順次実行され、これ
によシ各すイクル毎にALU90が使用中の状態に保た
れ、それゆえALU90の利用が極大化される。
も、デコードされたS1命令の実行を開始させることも
可能であった。そのALUサイクルを有効アドレスの計
算または命令の実行のどちらに使用するかについての選
択が存在するときは何時でも、ALUは有効アドレスの
計算を実行す・るように制御される。なぜなら、後には
有効アドレスを計算する機会が失われてしまいALU9
0の利用度が低Tiるからである。それゆえ、デコード
されたS1命令はALU動作として81で示されるよう
にサイクル時間10で実行される。同様に、ALU90
は、デコードされた命令r2が実行される前に有効アド
レスの計’1lE7を実行する。次に命令r2はALU
d作としてr2で示されるサイクル時間12に実行され
る。尚、命令S3は、命令r2が実行される期間である
サイクルのすぐ後のサイクルで実行できることに注意さ
れたい。このように、命令83は、ALU動作としてs
6で示されているサイクル時間13で実行される。その
後命令r4、s5、r6及びs7が順次実行され、これ
によシ各すイクル毎にALU90が使用中の状態に保た
れ、それゆえALU90の利用が極大化される。
第8図では制御待ち時間が1サイクルのみに等しいこと
に注意されたい。このALU動作シーケンスは第7図と
同じであるが、1サイクル進んでいる。このとき、最初
のオペランド・フェッチ01よシも進んだ1つだけ少な
い命令フェッチが存在しているので、記憶アドレス・シ
ーケンスが変えられる。制御待ち時間の相対的な大きさ
は使用される構成に依存する。上述のように、制御回路
は、ハードウェアの論理回路でもよく、マイクロプロセ
ッサでもよい。マイクロプログラム制御の場合、制御の
待ち時間はマイクロ記憶のアクセス時間と含み、従って
制御待ち時間を1サイクルに維持することを非実際的に
しかねない長い制御待ち時間をもたらす。
に注意されたい。このALU動作シーケンスは第7図と
同じであるが、1サイクル進んでいる。このとき、最初
のオペランド・フェッチ01よシも進んだ1つだけ少な
い命令フェッチが存在しているので、記憶アドレス・シ
ーケンスが変えられる。制御待ち時間の相対的な大きさ
は使用される構成に依存する。上述のように、制御回路
は、ハードウェアの論理回路でもよく、マイクロプロセ
ッサでもよい。マイクロプログラム制御の場合、制御の
待ち時間はマイクロ記憶のアクセス時間と含み、従って
制御待ち時間を1サイクルに維持することを非実際的に
しかねない長い制御待ち時間をもたらす。
尚、衝突の存在と無条件分岐はデータあるいは動作の結
果には依存せず、前もって完全に識別し得ることに注意
されたい。このことは条件付き分岐には可能ではなく、
もし分岐に関して正しくない推定がなされるとバッファ
の内容を一掃しなくてはならない。このことは割込みが
生じた場合にもあてはまる。
果には依存せず、前もって完全に識別し得ることに注意
されたい。このことは条件付き分岐には可能ではなく、
もし分岐に関して正しくない推定がなされるとバッファ
の内容を一掃しなくてはならない。このことは割込みが
生じた場合にもあてはまる。
F1発明の詳細
な説明したように、本発明は、ALUの利用を最大限に
するために可能な限り早期に有効アトL/スの計算を行
うことによってコンピュータ・システムの動作を最適化
する。このようにして、従来不使用のまま過ごされてい
たALUサイクルが本発明によれば利用されるのである
。
するために可能な限り早期に有効アトL/スの計算を行
うことによってコンピュータ・システムの動作を最適化
する。このようにして、従来不使用のまま過ごされてい
たALUサイクルが本発明によれば利用されるのである
。
第1図は、本発明の図式的なブロック図、第2図は、記
憶サイクル及びアクセス時間を示す図、 第3図は、霊なシ合いまたはパイプライン化された記憶
アクセスを示す図・ 第4図は、従来のコンピュータ・システムにおけるRR
タイプの命令のサイクル時間を示す図、第5図は、従来
のコンピュータ・システムにおける一対のRSタイプの
命令のサイクル時間を示す図、 第6図は、従来のコンピュータ・システムにおけるRS
/RR/RS命令のシーケンスのサイクル時間を示す図
、 第7図は、本発明に係るコンピュータ・システムにおけ
るRS/RR命令のシーケンスのサイクル時間を示す図
、 第8図は、第7図に類似するがALUシーケンスが1サ
イクル遅延されたサイクル時間番示す図、第9図は、別
の従来のコンピュータ・システムにおけるRSタイプの
シーケンスのサイクル時間を示す図、 第10図は、本発明に係るコンピュータ・システムにお
けるRSタイプの命令のシーケンスのサイクル時間を示
す図である。 a1人 インターナショカル・ビジ木ス・マシーンズ・
コーポレーション代理人 弁理士 山 本
仁 朗(外1名) 時間− 第2図 時間□ 。−工
憶サイクル及びアクセス時間を示す図、 第3図は、霊なシ合いまたはパイプライン化された記憶
アクセスを示す図・ 第4図は、従来のコンピュータ・システムにおけるRR
タイプの命令のサイクル時間を示す図、第5図は、従来
のコンピュータ・システムにおける一対のRSタイプの
命令のサイクル時間を示す図、 第6図は、従来のコンピュータ・システムにおけるRS
/RR/RS命令のシーケンスのサイクル時間を示す図
、 第7図は、本発明に係るコンピュータ・システムにおけ
るRS/RR命令のシーケンスのサイクル時間を示す図
、 第8図は、第7図に類似するがALUシーケンスが1サ
イクル遅延されたサイクル時間番示す図、第9図は、別
の従来のコンピュータ・システムにおけるRSタイプの
シーケンスのサイクル時間を示す図、 第10図は、本発明に係るコンピュータ・システムにお
けるRSタイプの命令のシーケンスのサイクル時間を示
す図である。 a1人 インターナショカル・ビジ木ス・マシーンズ・
コーポレーション代理人 弁理士 山 本
仁 朗(外1名) 時間− 第2図 時間□ 。−工
Claims (2)
- (1)少くともRR(レジスタ対レジスタ)及びRS(
レジスタ対記憶)命令を順次処理するコンピュータ・シ
ステム中で、単一のALUをもつCPUのための制御装
置において、 (a)上記RR及びRS命令をデコードするための命令
デコード手段と、 (b)上記RR及びRS命令のデコードから得られるデ
ータをバッファするためのデコード命令バッファ手段と
、 (c)上記ALUを命令実行モードまたはアドレス計算
モードに設定するためのALU制御手段と、(d)上記
ALU制御手段に接続され、上記命令デコード手段に応
答して上記ALUの動作を最大限にするべく上記ALU
を上記命令実行モード及び上記アドレス計算モードに選
択的に設定するように上記ALU制御手段に作用する制
御手段、とを具備するコンピュータ・システムの制御装
置。 - (2)上記制御手段が、上記ALU制御手段をして、前
もってデコードされた命令の実行を延期するように上記
ALUをアドレス計算モードに設定させる特許請求の範
囲第(1)項に記載のコンピュータ・システムの制御装
置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94124686A | 1986-12-12 | 1986-12-12 | |
US941246 | 1986-12-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63157235A true JPS63157235A (ja) | 1988-06-30 |
Family
ID=25476165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25987587A Pending JPS63157235A (ja) | 1986-12-12 | 1987-10-16 | コンピユータ・システムの制御装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0270873A3 (ja) |
JP (1) | JPS63157235A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011513858A (ja) * | 2008-03-04 | 2011-04-28 | クゥアルコム・インコーポレイテッド | ハードウェア・プリフェッチ・アドレス及び算術演算値を計算するための二重機能加算器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2228116B (en) * | 1989-02-10 | 1993-05-26 | Intel Corp | Pipelined floating-point load instruction for microprocessor |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57168349A (en) * | 1981-04-09 | 1982-10-16 | Mitsubishi Electric Corp | Pipeline computer |
JPS59174948A (ja) * | 1983-03-25 | 1984-10-03 | Toshiba Corp | 情報処理装置 |
-
1987
- 1987-10-16 JP JP25987587A patent/JPS63157235A/ja active Pending
- 1987-11-13 EP EP19870116782 patent/EP0270873A3/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57168349A (en) * | 1981-04-09 | 1982-10-16 | Mitsubishi Electric Corp | Pipeline computer |
JPS59174948A (ja) * | 1983-03-25 | 1984-10-03 | Toshiba Corp | 情報処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011513858A (ja) * | 2008-03-04 | 2011-04-28 | クゥアルコム・インコーポレイテッド | ハードウェア・プリフェッチ・アドレス及び算術演算値を計算するための二重機能加算器 |
Also Published As
Publication number | Publication date |
---|---|
EP0270873A2 (en) | 1988-06-15 |
EP0270873A3 (en) | 1992-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
US4961162A (en) | Multiprocessing system for performing floating point arithmetic operations | |
JPH02130634A (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
JPS63131230A (ja) | 情報処理装置 | |
US5263153A (en) | Monitoring control flow in a microprocessor | |
JP2000222206A (ja) | データ処理装置 | |
JPS5831014B2 (ja) | 命令先取り装置 | |
JP2816624B2 (ja) | 2乗演算を実行する速度改良型データ処理システム及びその方法 | |
US5029073A (en) | Method for fast establishing a co-processor to memory linkage by main processor | |
EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
JP2575219B2 (ja) | データ処理システム及びその命令実行を促進する方法 | |
JP3510729B2 (ja) | 命令実行方法および命令実行装置 | |
US4821231A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
JPH07120284B2 (ja) | データ処理装置 | |
US5768553A (en) | Microprocessor using an instruction field to define DSP instructions | |
GB2200482A (en) | Monitoring control flow in a microprocessor | |
JPH03233630A (ja) | 情報処理装置 | |
US5737562A (en) | CPU pipeline having queuing stage to facilitate branch instructions | |
JPS63157235A (ja) | コンピユータ・システムの制御装置 | |
JP2680828B2 (ja) | ディジタル装置 | |
JPH0512751B2 (ja) | ||
US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
JPS6329292B2 (ja) | ||
JP2668987B2 (ja) | データ処理装置 | |
US5649229A (en) | Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage |