JPS6028015B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS6028015B2 JPS6028015B2 JP55118628A JP11862880A JPS6028015B2 JP S6028015 B2 JPS6028015 B2 JP S6028015B2 JP 55118628 A JP55118628 A JP 55118628A JP 11862880 A JP11862880 A JP 11862880A JP S6028015 B2 JPS6028015 B2 JP S6028015B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- address
- storage device
- detection circuit
- 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
- 230000010365 information processing Effects 0.000 title claims description 18
- 238000001514 detection method Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 2
- FGRBYDKOBBBPOI-UHFFFAOYSA-N 10,10-dioxo-2-[4-(N-phenylanilino)phenyl]thioxanthen-9-one Chemical compound O=C1c2ccccc2S(=O)(=O)c2ccc(cc12)-c1ccc(cc1)N(c1ccccc1)c1ccccc1 FGRBYDKOBBBPOI-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013519 translation 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- 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
-
- 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
- G06F9/3834—Maintaining memory consistency
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
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の命令の処理サイクルを表し、演算レジスタの
データとメモリのデータを加算して演算レジスタに移送
する命令で実行には2マシンサイクルが必要である。
データとメモリのデータを加算して演算レジスタに移送
する命令で実行には2マシンサイクルが必要である。
Yは第2の命令の処理サイクルを表し、演算レジスタの
データをメモ川こ格納する命令で実行には1マシンサイ
クルが必要である。
データをメモ川こ格納する命令で実行には1マシンサイ
クルが必要である。
Aは命令語からオペランドの仮想アドレスを生成する命
令の処理サイクルのうちの仮想アドレス生成サイクル、
Cは仮想アドレスを実アドレスに変換しキャッシュメモ
リからオペランドを読み出す命令の処理サイクルのうち
のオペランドフェツチサィクル、E,は第1の命令を実
行する命令の処理サイクルのうちの実行サイクル、E2
は第2の命令を実行する命令の処理サイクルのうちの実
行サイクルである。
令の処理サイクルのうちの仮想アドレス生成サイクル、
Cは仮想アドレスを実アドレスに変換しキャッシュメモ
リからオペランドを読み出す命令の処理サイクルのうち
のオペランドフェツチサィクル、E,は第1の命令を実
行する命令の処理サイクルのうちの実行サイクル、E2
は第2の命令を実行する命令の処理サイクルのうちの実
行サイクルである。
第1図において第1の命令の処理サイクルXがタイミン
グLより始つてA→C→E,と処理されていくのに対し
て第2の命令の処理サイクルYはタイミングらより始つ
てA→C→E2と逐次処理されていく。ただし命令のな
かの実行サイクルは重なり合うことが許されず第1の命
令の実行サイクルE,が終了するタイミングt5より第
2の命令の実行サイクルE2が開始され、第2の命令の
終了するタイミングt6になる。すなわち、第1の命令
の実行サイクルE,と第2の命令の実行サイクルE2は
逐次直列に行われる。このように、従来の情報処理装置
は各命令の実行サイクルを常に直列的に逐次行うため命
令全体を処理し終る命令処理時間が長くなるという欠点
がある。本発明の目的は命令処理時間が短縮された情報
処理装置を提供することにある。
グLより始つてA→C→E,と処理されていくのに対し
て第2の命令の処理サイクルYはタイミングらより始つ
てA→C→E2と逐次処理されていく。ただし命令のな
かの実行サイクルは重なり合うことが許されず第1の命
令の実行サイクルE,が終了するタイミングt5より第
2の命令の実行サイクルE2が開始され、第2の命令の
終了するタイミングt6になる。すなわち、第1の命令
の実行サイクルE,と第2の命令の実行サイクルE2は
逐次直列に行われる。このように、従来の情報処理装置
は各命令の実行サイクルを常に直列的に逐次行うため命
令全体を処理し終る命令処理時間が長くなるという欠点
がある。本発明の目的は命令処理時間が短縮された情報
処理装置を提供することにある。
本発明の第1の装置は、命令の同じサイクルが重複しな
いように時間的にずらせて一連の複数個の命令を重なる
ようにして処理していく情報処理装置において、演算結
果を演算レジスタに移送する動作を含む第1の命令およ
び前記演算レジスタのデータを記憶装置に格納する第2
の命令が連続することを検出する検出回路と、前記第1
の命令および第2の命令を含む一連の命令を逐次処理し
前記検出回路が前記第1の命令および第2の命令が連続
して生じることを検出した場合に前記第1の命令動作の
うちの演算結果を前記演算レジスタに移送する動作およ
び前記第2の命令実行により格納される前記記憶装置の
アドレスに前記第1の命令が扱う演算結果を格納する動
作を並行して行う演算回路とを含んで構成される。
いように時間的にずらせて一連の複数個の命令を重なる
ようにして処理していく情報処理装置において、演算結
果を演算レジスタに移送する動作を含む第1の命令およ
び前記演算レジスタのデータを記憶装置に格納する第2
の命令が連続することを検出する検出回路と、前記第1
の命令および第2の命令を含む一連の命令を逐次処理し
前記検出回路が前記第1の命令および第2の命令が連続
して生じることを検出した場合に前記第1の命令動作の
うちの演算結果を前記演算レジスタに移送する動作およ
び前記第2の命令実行により格納される前記記憶装置の
アドレスに前記第1の命令が扱う演算結果を格納する動
作を並行して行う演算回路とを含んで構成される。
本発明の第2の装置は、命令の同じサイクルが重複しな
いように時間的にずらせて一連の複数個の命令を重なる
ようにして処理していく情報処理装置において、演算結
果を演算レジスタに移送する動作を含む第1の命令およ
び前記演算レジスタのデータを記憶装置に格納する第2
の命令が連続することを検出しまた前記第1の命令およ
び前記第2の命令および前記記憶装置から前記演算レジ
スタにデータを読み出す第3の命令が連続することを検
出する検出回路と「前記第2の命令実行により格納され
る前記記憶装置のアドレスと前記第3の命令実行により
読み出すべき前記記憶装置のアドレスが一致することを
検出するアドレス一致検出回路と、前記第1の命令およ
び第2の命令および第3の命令を含む一連の命令を逐次
処理し前記検出回路が前記第1の命令および第2の命令
が連続して生じることを検出した場合に前記第1の命令
動作のうちの演算結果を前記演算レジス外こ移送する動
作および前記第2の命令実行により格納される前記記憶
装置のアドレスに前記第1の命令が扱う演算結果を格納
する動作を並行して行いまた前記検出回路が前記第1の
命令および第2の命令および第3の命令が連続して生じ
ることを検出しかつ前記アドレス一致検出回路が前記第
2の命令および第3の命令でそれぞれ扱う前記記憶装置
のアドレスの一致を検出しない場合には前記第1の命令
動作のうちの演算結果を前記演算レジスタに格納する動
作を抑止するとともに前記第2の命令実行により格納さ
れる前記記憶装置のアドレスに前記第1の命令が扱う演
算結果を格納する動作および前記第3の命令動作のうち
の前記記憶装置から演算レジス外こデータを読み出す動
作を並行して行う演算回路とを含んで構成される。
いように時間的にずらせて一連の複数個の命令を重なる
ようにして処理していく情報処理装置において、演算結
果を演算レジスタに移送する動作を含む第1の命令およ
び前記演算レジスタのデータを記憶装置に格納する第2
の命令が連続することを検出しまた前記第1の命令およ
び前記第2の命令および前記記憶装置から前記演算レジ
スタにデータを読み出す第3の命令が連続することを検
出する検出回路と「前記第2の命令実行により格納され
る前記記憶装置のアドレスと前記第3の命令実行により
読み出すべき前記記憶装置のアドレスが一致することを
検出するアドレス一致検出回路と、前記第1の命令およ
び第2の命令および第3の命令を含む一連の命令を逐次
処理し前記検出回路が前記第1の命令および第2の命令
が連続して生じることを検出した場合に前記第1の命令
動作のうちの演算結果を前記演算レジス外こ移送する動
作および前記第2の命令実行により格納される前記記憶
装置のアドレスに前記第1の命令が扱う演算結果を格納
する動作を並行して行いまた前記検出回路が前記第1の
命令および第2の命令および第3の命令が連続して生じ
ることを検出しかつ前記アドレス一致検出回路が前記第
2の命令および第3の命令でそれぞれ扱う前記記憶装置
のアドレスの一致を検出しない場合には前記第1の命令
動作のうちの演算結果を前記演算レジスタに格納する動
作を抑止するとともに前記第2の命令実行により格納さ
れる前記記憶装置のアドレスに前記第1の命令が扱う演
算結果を格納する動作および前記第3の命令動作のうち
の前記記憶装置から演算レジス外こデータを読み出す動
作を並行して行う演算回路とを含んで構成される。
次に本発明の第1の実施例について図面を参照して説明
する。第2図は本発明の第1の実施例を示すブロック図
ならびに第3図は第2図に示す実施例の一動作を説明す
るタイミング図である。
する。第2図は本発明の第1の実施例を示すブロック図
ならびに第3図は第2図に示す実施例の一動作を説明す
るタイミング図である。
第2図においてキャッシュメモリ17から取り出された
一連の命令が命令先取りバッファ5にスタツクされてお
り、逐次第1命令レジスタ6へ取り出されていく。
一連の命令が命令先取りバッファ5にスタツクされてお
り、逐次第1命令レジスタ6へ取り出されていく。
第1命令レジスタ6に入力される任意の命令xのオペレ
ーションコードは次のマシンサイクルで第2命令レジス
タ7と第2デコーダ9へ入力され、第1デコーダ8にあ
る1マシンサイクル前の命令Wに対して第2の命令とし
て検出回路10で検査される。次に命令Xに対して1マ
シンサイクル遅れて命令先取りバッファ5から第1命令
レジスタ6と第2デコーダ9へ取り出された命令yのオ
ペレーションコードは、第1デコーダにある今や第1の
命令となった命令xに対して第2の命令として検出回路
10で検出される。検出回路10では、第1の命令が「
演算結果を演算レジスタに移送する動作を含む一命令で
あるか否か、第2の命令が「演算レジスタのデータを記
憶装置に格納する一命令であるか否かが検査され、両命
令とも該検査をパスしなければ、第1図に示す一般の場
合と同じように第1の命令xの処理サイクル×のうちの
実行サイクルE,と第2の命令yの処理サイクルYのう
ちの実行サイクルE2は逐次直列に行なわれる。反対に
、パスすればレジススタ11を第1のセット状態にして
制御回路12に通知する。一方、第1命令レジスタ6へ
取り出された第1の命令xのアドレス部はアドレス生成
回路14へ入力され該回路においてオペランドの仮想ア
ドレスが生成されて仮想アドレスレジスタ15へ入力さ
れる。
ーションコードは次のマシンサイクルで第2命令レジス
タ7と第2デコーダ9へ入力され、第1デコーダ8にあ
る1マシンサイクル前の命令Wに対して第2の命令とし
て検出回路10で検査される。次に命令Xに対して1マ
シンサイクル遅れて命令先取りバッファ5から第1命令
レジスタ6と第2デコーダ9へ取り出された命令yのオ
ペレーションコードは、第1デコーダにある今や第1の
命令となった命令xに対して第2の命令として検出回路
10で検出される。検出回路10では、第1の命令が「
演算結果を演算レジスタに移送する動作を含む一命令で
あるか否か、第2の命令が「演算レジスタのデータを記
憶装置に格納する一命令であるか否かが検査され、両命
令とも該検査をパスしなければ、第1図に示す一般の場
合と同じように第1の命令xの処理サイクル×のうちの
実行サイクルE,と第2の命令yの処理サイクルYのう
ちの実行サイクルE2は逐次直列に行なわれる。反対に
、パスすればレジススタ11を第1のセット状態にして
制御回路12に通知する。一方、第1命令レジスタ6へ
取り出された第1の命令xのアドレス部はアドレス生成
回路14へ入力され該回路においてオペランドの仮想ア
ドレスが生成されて仮想アドレスレジスタ15へ入力さ
れる。
次いでアドレス変換回路16において仮想アドレスを実
アドレスに変換しキャッシュメモリ17からオペランド
を読み出してキャシュ読み出しレジス夕18へ入力する
。第2の命令yのアドレス部についても第1の命令xに
1マシンサイクル遅れて上述の第1の命令xのアドレス
部と同様なプロセスでオペランドがキャシュメモリから
読み出される。第3図のAおよびCがここまでの説明に
当るサイクルである。さて、レジスタ11が第1の状態
にセットされていれば制御回路12は従来の情報処理装
置とは異なる制御方式を探ることになり、演算回路20
に、第3図に示すように第1の命令の処理サイクルのう
ちの実行サイクルE,のタイミングらより開始される後
半部分と代替動作サイクルE,2を並行して行わせる。
アドレスに変換しキャッシュメモリ17からオペランド
を読み出してキャシュ読み出しレジス夕18へ入力する
。第2の命令yのアドレス部についても第1の命令xに
1マシンサイクル遅れて上述の第1の命令xのアドレス
部と同様なプロセスでオペランドがキャシュメモリから
読み出される。第3図のAおよびCがここまでの説明に
当るサイクルである。さて、レジスタ11が第1の状態
にセットされていれば制御回路12は従来の情報処理装
置とは異なる制御方式を探ることになり、演算回路20
に、第3図に示すように第1の命令の処理サイクルのう
ちの実行サイクルE,のタイミングらより開始される後
半部分と代替動作サイクルE,2を並行して行わせる。
すなわち、第1の命令の実行サィクルE,では演算回路
20においてキャッシュ読み出しレジスタ18の内容と
演算レジスター9の内容を加算して演算レジスター9へ
移送するのであるが、該実行サイクルE,のタィミング
しより開始される後半部である演算結果を演算レジスタ
ー9へ移送する部分と並行して、演算回路20のなかに
ある演算結果をキャシュメモリ17の第2の命令で格納
すべきアドレスに格納する代替動作実行サイクルE,2
を行うのである。レジスタ1 1が第1の状態にセット
されている場合には、第2の命令でキヤシュメモリ17
へ格納すべき演算レジスタ19のデータとはとりもなお
さす演算回路20のなかにある演算結果そのものである
から第1の命令と前記代替動作を行うことが結果的に第
1の命令と第2の命令を行うことになるのは自明である
。したがって第1の命令と第2の命令を行ったのと等価
な結果がタイミングらで得られることになり、従来の情
報処理装置により1マシンサイクルだけ命令処理時間が
短縮したことになる。
20においてキャッシュ読み出しレジスタ18の内容と
演算レジスター9の内容を加算して演算レジスター9へ
移送するのであるが、該実行サイクルE,のタィミング
しより開始される後半部である演算結果を演算レジスタ
ー9へ移送する部分と並行して、演算回路20のなかに
ある演算結果をキャシュメモリ17の第2の命令で格納
すべきアドレスに格納する代替動作実行サイクルE,2
を行うのである。レジスタ1 1が第1の状態にセット
されている場合には、第2の命令でキヤシュメモリ17
へ格納すべき演算レジスタ19のデータとはとりもなお
さす演算回路20のなかにある演算結果そのものである
から第1の命令と前記代替動作を行うことが結果的に第
1の命令と第2の命令を行うことになるのは自明である
。したがって第1の命令と第2の命令を行ったのと等価
な結果がタイミングらで得られることになり、従来の情
報処理装置により1マシンサイクルだけ命令処理時間が
短縮したことになる。
第4図は本発明の第2の実施例を示すブロック図、第5
図は第4図に示す実施例のうちの点線で囲まれた部分の
詳細プ。
図は第4図に示す実施例のうちの点線で囲まれた部分の
詳細プ。
ック図ならびに第6図は一般の他の動作を説明するタイ
ミング図および第7図は第4図に示す実施例の一動作を
説明するタイミング図である。第4図においては、任意
の連続する3つの命令x,y,zのオペレーションコー
ドが検出回路10で検査されるとともに、命令x,y,
zのアドレス部はアドレス一致検出回路22において連
続する2命令づつが一致するか否か検査される。
ミング図および第7図は第4図に示す実施例の一動作を
説明するタイミング図である。第4図においては、任意
の連続する3つの命令x,y,zのオペレーションコー
ドが検出回路10で検査されるとともに、命令x,y,
zのアドレス部はアドレス一致検出回路22において連
続する2命令づつが一致するか否か検査される。
先ず命令xが先に述べたように「演算結果を演算レジス
タに移送する動作を含む一命令であり、かつ命令yが先
に述べたように「演算レジスタのデータを記憶装置に格
納する一命令であるか杏かの検査をパスしない場合には
、第6図に示す一般の場合と同じように第1の命令xの
処理サイクル×のうちの実行サイクルE,と第2の命令
yの処理サイクルYのうちの実行サイクルE2と第3の
命令zの処理サイクルZのうちの実行サイクルE3は逐
次直列に行われ、3つの命令の処理が終了するのはタイ
ミングらとなる。第1の命令xと第2の命令yとが上述
の要件を満すが、第3の命令zが「記憶装置から演算レ
ジスタにデータを読み出す一命令でない場合には、レジ
スタ11は先に説明した第2図に示す本発明の第1の実
施例と同じように第1のセット状態となり、第3図に示
すのと同じように第1の命令xの実行サイクルE,と、
代替動作実行サイクルE,2とが並行して行われ、第3
の命令Zの実行サイクルE3はその後タイミングkより
直列的に開始されることになる。
タに移送する動作を含む一命令であり、かつ命令yが先
に述べたように「演算レジスタのデータを記憶装置に格
納する一命令であるか杏かの検査をパスしない場合には
、第6図に示す一般の場合と同じように第1の命令xの
処理サイクル×のうちの実行サイクルE,と第2の命令
yの処理サイクルYのうちの実行サイクルE2と第3の
命令zの処理サイクルZのうちの実行サイクルE3は逐
次直列に行われ、3つの命令の処理が終了するのはタイ
ミングらとなる。第1の命令xと第2の命令yとが上述
の要件を満すが、第3の命令zが「記憶装置から演算レ
ジスタにデータを読み出す一命令でない場合には、レジ
スタ11は先に説明した第2図に示す本発明の第1の実
施例と同じように第1のセット状態となり、第3図に示
すのと同じように第1の命令xの実行サイクルE,と、
代替動作実行サイクルE,2とが並行して行われ、第3
の命令Zの実行サイクルE3はその後タイミングkより
直列的に開始されることになる。
また第1の命令xと第2の命令yと第3の命令zのいず
れもが上述の要件を満すと、レジスタ11は第2のセッ
ト状態にセットされる。
れもが上述の要件を満すと、レジスタ11は第2のセッ
ト状態にセットされる。
しかしながら、第2の命令yにおいて演算レジスタのデ
ータを格納すべき記憶装置のアドレスと第3の命令zに
おいて読み出すべき記憶装置のアドレスとが一致するこ
とがアドレス一致検出回路22において検出されると、
レジスタ11の第1のセット状態と同じように第1の命
令xの実行サイクルE,と代替動作実行サイクルE,2
とは並行して行われるが、第3の命令zの実行サイクル
E3はその後タイミングらより直列的に開始される。次
にレジスタ11が第2のセット状態にセットされかつア
ドレス一致検出回路22が第2の命令yのアドレスと第
3の命令zのアドレスの一致を検出しない場合には、第
7図に示すように第1の命令xの実行サイクルのうちの
タイミングt5から始まるべき演算結果を演算レジスタ
ー9に移送する動作サイクルE″,は制御回路12によ
って抑止され、第2の命令yにおいて格納すべきキャッ
シュメモリー7のアドレスに第1の命令xが扱う演算結
果を格納する代替動作実行サイクルE,2および第3の
命令zにおいてキャッシュメモリ17から演算レジスタ
19に読み出す実行サイクルE3がタイミングらより並
行して行われる。
ータを格納すべき記憶装置のアドレスと第3の命令zに
おいて読み出すべき記憶装置のアドレスとが一致するこ
とがアドレス一致検出回路22において検出されると、
レジスタ11の第1のセット状態と同じように第1の命
令xの実行サイクルE,と代替動作実行サイクルE,2
とは並行して行われるが、第3の命令zの実行サイクル
E3はその後タイミングらより直列的に開始される。次
にレジスタ11が第2のセット状態にセットされかつア
ドレス一致検出回路22が第2の命令yのアドレスと第
3の命令zのアドレスの一致を検出しない場合には、第
7図に示すように第1の命令xの実行サイクルのうちの
タイミングt5から始まるべき演算結果を演算レジスタ
ー9に移送する動作サイクルE″,は制御回路12によ
って抑止され、第2の命令yにおいて格納すべきキャッ
シュメモリー7のアドレスに第1の命令xが扱う演算結
果を格納する代替動作実行サイクルE,2および第3の
命令zにおいてキャッシュメモリ17から演算レジスタ
19に読み出す実行サイクルE3がタイミングらより並
行して行われる。
上述の各実行サイクルが行われるようすを第5図のブロ
ック図を用いて説明する。
ック図を用いて説明する。
制御回路12はタイミングはこおいて切換回路24と切
換回路25を並行して起動させる。切襖回路24は入力
線aより入力される演算器23のなかの演算結果を出力
線eによってキャッシュメモリ17に格納するという代
替動作実行サイクルE.2を行うのと並行して、切換回
路25はキャッシュメモリ17からキャッシュ読み出し
レジスタ18に読み出され入力線dより入力されるデー
タを出力線fによって演算レジスタ19に移送するとい
う第3の命令zの実行サイクルE,を行うのである。代
替動作実行サイクルE,2は、演算器23のなかにある
演算結果を入力線cより切襖回路25に入力し出力線f
によって演算レジスター9に移送するという第1の命令
xの実行サイクルの一部分E″,と、演算レジスタ19
のなかにある演算結果を入力線bより切襖回路24に入
力し出力線eによってキャッシュメモリ17に格納する
という第2の命令の実行サイクルE2に等価であること
は自明である。したがって、第1の命令xと第2の命令
yと第3の命令zを行ったのと等価な結果がタイミング
tで得られることになり、従来の情報処理装置より2マ
シンサイクルだけ命令処理時間が短縮したことになる。
換回路25を並行して起動させる。切襖回路24は入力
線aより入力される演算器23のなかの演算結果を出力
線eによってキャッシュメモリ17に格納するという代
替動作実行サイクルE.2を行うのと並行して、切換回
路25はキャッシュメモリ17からキャッシュ読み出し
レジスタ18に読み出され入力線dより入力されるデー
タを出力線fによって演算レジスタ19に移送するとい
う第3の命令zの実行サイクルE,を行うのである。代
替動作実行サイクルE,2は、演算器23のなかにある
演算結果を入力線cより切襖回路25に入力し出力線f
によって演算レジスター9に移送するという第1の命令
xの実行サイクルの一部分E″,と、演算レジスタ19
のなかにある演算結果を入力線bより切襖回路24に入
力し出力線eによってキャッシュメモリ17に格納する
という第2の命令の実行サイクルE2に等価であること
は自明である。したがって、第1の命令xと第2の命令
yと第3の命令zを行ったのと等価な結果がタイミング
tで得られることになり、従来の情報処理装置より2マ
シンサイクルだけ命令処理時間が短縮したことになる。
本発明の第1の情報処理装置には、以上のように一連の
命令を常に逐次直列に実行していく代りに、演算結果を
演算レジス外こ移送する動作を含む出現頻度の高い第1
の命令と演算レジスタのデータを記憶装置に格納すると
いう出現頻度の高い第2の命令が連続する場合には、第
2の命令において格納すべき記憶装置のアドレスに第1
の命令が扱う演算結果を格納する代替動作と第1の命令
において演算結果を演算レジス夕に移送する動作を並行
して行うことができる構成の採用によって、結果的に第
1の命令の実行時間内に第1の命令と第2の命令の実行
を終了できるようになり、一連の命令の実行時間を短縮
できるため、命令処理時間を短縮できるという効果があ
る。
命令を常に逐次直列に実行していく代りに、演算結果を
演算レジス外こ移送する動作を含む出現頻度の高い第1
の命令と演算レジスタのデータを記憶装置に格納すると
いう出現頻度の高い第2の命令が連続する場合には、第
2の命令において格納すべき記憶装置のアドレスに第1
の命令が扱う演算結果を格納する代替動作と第1の命令
において演算結果を演算レジス夕に移送する動作を並行
して行うことができる構成の採用によって、結果的に第
1の命令の実行時間内に第1の命令と第2の命令の実行
を終了できるようになり、一連の命令の実行時間を短縮
できるため、命令処理時間を短縮できるという効果があ
る。
本発明の第2の実施例には、本発明の第1の実施例によ
り期待される効果の他に、前記第1の命令と前記第2の
命令の後に記憶装置から演算レジスタにデータを読み出
すという出現頻度の高い第3の命令が連続し前記第2の
命令において演算レジスタのデータを格納すべき記憶装
置のアドレスと前記第3の命令において演算レジス外こ
読み出すべき記憶装置のアドレスが一致しない場合には
、第1の命令における演算結果を演算レジスタに移送す
る動作を抑止し、前記第2の命令において格納すべき記
憶装置のアドレスに前記第1の命令が扱う演算結果を格
納する代替動作と前記第3の命令において記憶装置から
演算レジスタにデー夕を読み出す動作を並行して行うこ
とができる構成の採用によって、結果的に第1の命令の
実行時間内に第1の命令と第2の命令と第3の命令の実
行を終了できるようになり、一連の命令の実行時間を短
縮できるという効果がある。
り期待される効果の他に、前記第1の命令と前記第2の
命令の後に記憶装置から演算レジスタにデータを読み出
すという出現頻度の高い第3の命令が連続し前記第2の
命令において演算レジスタのデータを格納すべき記憶装
置のアドレスと前記第3の命令において演算レジス外こ
読み出すべき記憶装置のアドレスが一致しない場合には
、第1の命令における演算結果を演算レジスタに移送す
る動作を抑止し、前記第2の命令において格納すべき記
憶装置のアドレスに前記第1の命令が扱う演算結果を格
納する代替動作と前記第3の命令において記憶装置から
演算レジスタにデー夕を読み出す動作を並行して行うこ
とができる構成の採用によって、結果的に第1の命令の
実行時間内に第1の命令と第2の命令と第3の命令の実
行を終了できるようになり、一連の命令の実行時間を短
縮できるという効果がある。
第1図は従来のこの種装置の一例の動作を説明するタイ
ミング図、第2図は本発明の第1の実施例を示すブロッ
ク図、第3図は第2図に示す実施例の一動作を説明する
タイミング図、第4図は本発明の第2の実施例を示すブ
ロック図、第5図は第4図に示すブロック図のうちの点
線で囲まれた部分の詳細ブロック図、第6図は従来の他
の動作を説明するタイミング図および第7図は第4図に
示す実施例の一動作を説明するタイミング図である。 図において、×,X′……第1の命令の処理サイクル、
Y・・・・・・第2の命令の処理サイクル、Z・・・・
・・第3の命令の処理サイクル、XY・・・・・・代替
動作の処理サイクル、A・・・・・・仮想アドレス生成
サイクル、C……オペランドフヱツチサイクル、E,…
…第1の命令の実行サイクル、E2……第2の命令の実
行サイクル、E3……第3の命令の実行サイクル、E,
2・・・…代替動作の実行サイクル、E′,,E″,…
…第1の命令の実行サイクルの一部分、し,t2,ら,
t4,ち,t6,ら,t8・…”タイミング、5・・…
・命令先取りバッファ、6・・・・・・第1命令レジス
タ、7・・・・・・第2命令レジスタ、8・・・・・・
第1デコーダ、9・・・・・・第2デコーダ、10…・
・・検出回路、11・・…・レジスタ、12・・・・・
・制御回路、13・・・・・・インデックスレジスタ、
14…・・・アドレス生成回路、15・・・・・・仮想
アドレスレジス夕、16・・・・・・アドレス変換回路
、17・・・・・・キャッシュメモリ、18……キャッ
シュ読み出しレジスタ、19・・・・・・演算レジスタ
、20・・・・・・演算回路、21・・・・・・第2仮
想アドレスレジスタ、22・・・・・・アドレス一致検
出回路、23…・・・演算器、24,25・・・・・・
切換回路、a,b,c,d・・・・・・入力線、e,f
・・・・・・出力線。 麦ら ナ 図 第3図 弟フ図 多っ 2 図 鰭5図 第) 4 図 第6図
ミング図、第2図は本発明の第1の実施例を示すブロッ
ク図、第3図は第2図に示す実施例の一動作を説明する
タイミング図、第4図は本発明の第2の実施例を示すブ
ロック図、第5図は第4図に示すブロック図のうちの点
線で囲まれた部分の詳細ブロック図、第6図は従来の他
の動作を説明するタイミング図および第7図は第4図に
示す実施例の一動作を説明するタイミング図である。 図において、×,X′……第1の命令の処理サイクル、
Y・・・・・・第2の命令の処理サイクル、Z・・・・
・・第3の命令の処理サイクル、XY・・・・・・代替
動作の処理サイクル、A・・・・・・仮想アドレス生成
サイクル、C……オペランドフヱツチサイクル、E,…
…第1の命令の実行サイクル、E2……第2の命令の実
行サイクル、E3……第3の命令の実行サイクル、E,
2・・・…代替動作の実行サイクル、E′,,E″,…
…第1の命令の実行サイクルの一部分、し,t2,ら,
t4,ち,t6,ら,t8・…”タイミング、5・・…
・命令先取りバッファ、6・・・・・・第1命令レジス
タ、7・・・・・・第2命令レジスタ、8・・・・・・
第1デコーダ、9・・・・・・第2デコーダ、10…・
・・検出回路、11・・…・レジスタ、12・・・・・
・制御回路、13・・・・・・インデックスレジスタ、
14…・・・アドレス生成回路、15・・・・・・仮想
アドレスレジス夕、16・・・・・・アドレス変換回路
、17・・・・・・キャッシュメモリ、18……キャッ
シュ読み出しレジスタ、19・・・・・・演算レジスタ
、20・・・・・・演算回路、21・・・・・・第2仮
想アドレスレジスタ、22・・・・・・アドレス一致検
出回路、23…・・・演算器、24,25・・・・・・
切換回路、a,b,c,d・・・・・・入力線、e,f
・・・・・・出力線。 麦ら ナ 図 第3図 弟フ図 多っ 2 図 鰭5図 第) 4 図 第6図
Claims (1)
- 【特許請求の範囲】 1 命令の同じサイクルが重複しないように時間的にず
らせて一連の複数個の命令を重なるようにして処理して
いく情報処理装置において、演算結果を演算レジスタに
移送する動作を含む第1の命令および前記演算レジスタ
のデータを記憶装置に格納する第2の命令が連続するこ
とを検出する検出回路と、前記第1の命令および第2の
命令を含む一連の命令を逐次処理し前記検出回路が前記
第1の命令および第2の命令が連続して生じることを検
出した場合に前記第1の命令動作のうちの演算結果を前
記演算レジスタに移送する動作および前記第2の命令実
行により格納される前記記憶装のアドレスに前記第1の
命令が扱う演算結果を格納する動作を並行して行う演算
回路とを含むことを特徴とする情報処理装置。 2 命令の同じサイクルが重複しないように時間的にず
らせて一連の複数個の命令を重なるようにして処理して
いく情報処理装置において、演算結果を演算レジスタに
移送する動作を含む第1の命令および前記演算レジスタ
のデータを記憶装置に格納する第2の命令が連続するこ
とを検出しまた前記第1の命令および前記第2の命令お
よび前記記憶装置から前記演算レジスタにデータを読み
出す第3の命令が連続することを検出する検出回路と、
前記第2の命令実行により格納される前記記憶装置のア
ドレスと前記第3の命令実行により読み出すべき前記記
憶装置のアドレスが一致することを検出するアドレス一
致検出回路と、前記第1の命令および第2の命令および
第3の命令を含む一連の命令を逐次処理し前記検出回路
が前記第1の命令および第2の命令が連続して生じるこ
とを検出した場合に前記第1の命令動作のうちの演算結
果を前記演算レジスタに移送する動作および前記第2の
命令実行により格納される前記記憶装置のアドレスに前
記第1の命令が扱う演算結果を格納する動作を並行して
行いまた前記検出回路が前記第1の命令および第2の命
令および第3の命令が連続して生じることを検出しかつ
前記アドレス一致検出回路が前記第2の命令および第3
の命令でそれぞれ扱う前記記憶装置のアドレスの一致を
検出しない場合には前記第1の命令動作のうちの演算結
果を前記演算レジスタに格納する動作を抑止するととも
に前記第2の命令実行により格納される前記記憶装置の
アドレスに前記第1の命令が扱う演算結果を格納する動
作および前記第3の命令動作のうちの前記記憶装置から
演算レジスタにデータを読み出す動作を並行して行う演
算回路とを含むことを特徴とする情報処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55118628A JPS6028015B2 (ja) | 1980-08-28 | 1980-08-28 | 情報処理装置 |
US06/292,849 US4476525A (en) | 1980-08-28 | 1981-08-14 | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously |
FR8116379A FR2489555A1 (fr) | 1980-08-28 | 1981-08-27 | Systeme de traitement de donnees a commande par pipeline |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55118628A JPS6028015B2 (ja) | 1980-08-28 | 1980-08-28 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5743247A JPS5743247A (en) | 1982-03-11 |
JPS6028015B2 true JPS6028015B2 (ja) | 1985-07-02 |
Family
ID=14741232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55118628A Expired JPS6028015B2 (ja) | 1980-08-28 | 1980-08-28 | 情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4476525A (ja) |
JP (1) | JPS6028015B2 (ja) |
FR (1) | FR2489555A1 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58189738A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
JPS6015746A (ja) * | 1983-07-08 | 1985-01-26 | Hitachi Ltd | デ−タ処理装置 |
US4710866A (en) * | 1983-09-12 | 1987-12-01 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
US4757445A (en) * | 1983-09-12 | 1988-07-12 | Motorola, Inc. | Method and apparatus for validating prefetched instruction |
JPS60120439A (ja) * | 1983-12-05 | 1985-06-27 | Nec Corp | 演算処理装置 |
US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
US5185870A (en) * | 1987-04-10 | 1993-02-09 | Tandem Computers, Inc, | System to determine if modification of first macroinstruction to execute in fewer clock cycles |
JPH081599B2 (ja) * | 1988-02-24 | 1996-01-10 | 三菱電機株式会社 | データ処理装置 |
US5202967A (en) * | 1988-08-09 | 1993-04-13 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
US5099421A (en) * | 1988-12-30 | 1992-03-24 | International Business Machine Corporation | Variable length pipe operations sequencing |
US4985825A (en) * | 1989-02-03 | 1991-01-15 | Digital Equipment Corporation | System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer |
US5167026A (en) * | 1989-02-03 | 1992-11-24 | Digital Equipment Corporation | Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers |
EP0394624B1 (en) * | 1989-04-24 | 1997-06-18 | International Business Machines Corporation | Multiple sequence processor system |
CA2016068C (en) * | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
JP2550213B2 (ja) * | 1989-07-07 | 1996-11-06 | 株式会社日立製作所 | 並列処理装置および並列処理方法 |
US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
JP2816248B2 (ja) * | 1989-11-08 | 1998-10-27 | 株式会社日立製作所 | データプロセッサ |
JP2507638B2 (ja) * | 1989-12-01 | 1996-06-12 | 三菱電機株式会社 | デ―タ処理装置 |
US5203002A (en) * | 1989-12-27 | 1993-04-13 | Wetzel Glen F | System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle |
AU629007B2 (en) * | 1989-12-29 | 1992-09-24 | Sun Microsystems, Inc. | Apparatus for accelerating store operations in a risc computer |
US5295249A (en) * | 1990-05-04 | 1994-03-15 | International Business Machines Corporation | Compounding preprocessor for cache for identifying multiple instructions which may be executed in parallel |
JP2532300B2 (ja) * | 1990-10-17 | 1996-09-11 | 三菱電機株式会社 | 並列処理装置における命令供給装置 |
GB9027853D0 (en) * | 1990-12-21 | 1991-02-13 | Inmos Ltd | Multiple instruction issue |
JPH04340145A (ja) * | 1991-05-17 | 1992-11-26 | Nec Corp | キャッシュメモリ装置 |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
US5283874A (en) * | 1991-10-21 | 1994-02-01 | Intel Corporation | Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee |
EP0544083A3 (en) * | 1991-11-26 | 1994-09-14 | Ibm | Interleaved risc-type parallel processor and processing methods |
US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
WO1993020505A2 (en) | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Superscalar risc instruction scheduling |
JP3637920B2 (ja) | 1992-05-01 | 2005-04-13 | セイコーエプソン株式会社 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
EP0663083B1 (en) * | 1992-09-29 | 2000-12-20 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
EP0849665B1 (en) | 1992-12-31 | 2001-10-04 | Seiko Epson Corporation | System and method for register renaming |
US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
US5870581A (en) * | 1996-12-20 | 1999-02-09 | Oak Technology, Inc. | Method and apparatus for performing concurrent write operations to a single-write-input register file and an accumulator register |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3840861A (en) * | 1972-10-30 | 1974-10-08 | Amdahl Corp | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
JPS5466048A (en) * | 1977-11-07 | 1979-05-28 | Hitachi Ltd | Information processor |
US4179736A (en) * | 1977-11-22 | 1979-12-18 | Honeywell Information Systems Inc. | Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit |
US4305124A (en) * | 1978-06-09 | 1981-12-08 | Ncr Corporation | Pipelined computer |
US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
-
1980
- 1980-08-28 JP JP55118628A patent/JPS6028015B2/ja not_active Expired
-
1981
- 1981-08-14 US US06/292,849 patent/US4476525A/en not_active Expired - Lifetime
- 1981-08-27 FR FR8116379A patent/FR2489555A1/fr active Granted
Also Published As
Publication number | Publication date |
---|---|
FR2489555B1 (ja) | 1984-04-06 |
US4476525A (en) | 1984-10-09 |
JPS5743247A (en) | 1982-03-11 |
FR2489555A1 (fr) | 1982-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6028015B2 (ja) | 情報処理装置 | |
US4745547A (en) | Vector processing | |
EP0378830B1 (en) | Method and apparatus for handling multiple condition codes as for a parallel pipeline computer | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
US4631672A (en) | Arithmetic control apparatus for a pipeline processing system | |
JPS58149541A (ja) | デ−タ処理装置 | |
US5819081A (en) | Method of executing a branch instruction of jumping to a subroutine in a pipeline control system | |
JPS5890247A (ja) | 情報処理装置のパイプライン制御方式 | |
JPH0248733A (ja) | 情報処理装置 | |
JPH0452488B2 (ja) | ||
JPS5922142A (ja) | デ−タ処理装置 | |
JP3278441B2 (ja) | ベクトル処理装置 | |
JPS5844569A (ja) | 命令処理同期制御方式 | |
JPH0238966B2 (ja) | ||
JPS6028014B2 (ja) | マイクロプロセツサ | |
JPH0234058B2 (ja) | ||
JP2583614B2 (ja) | ベクトル演算装置 | |
JPH052485A (ja) | パイプライン制御方式 | |
JPS58154045A (ja) | 情報処理装置 | |
JPS6120907B2 (ja) | ||
JPS61148533A (ja) | 情報処理装置 | |
JPS5896346A (ja) | 階層型演算方式 | |
JPH02206836A (ja) | データ処理装置 | |
JPS59220844A (ja) | 命令再実行制御方式 | |
JPH03154929A (ja) | 中央処理装置 |