JPS63153638A - パイプライン処理方法 - Google Patents
パイプライン処理方法Info
- Publication number
- JPS63153638A JPS63153638A JP29890086A JP29890086A JPS63153638A JP S63153638 A JPS63153638 A JP S63153638A JP 29890086 A JP29890086 A JP 29890086A JP 29890086 A JP29890086 A JP 29890086A JP S63153638 A JPS63153638 A JP S63153638A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch instruction
- address
- branch
- instructions
- 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
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 4
- 230000005764 inhibitory process Effects 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
パイプライン処理方法であって、分岐命令とその分岐命
令の実行結果の分岐先命令との間の命令が上記分岐命令
の条件設定に影響を与えない命令である場合に、上記分
岐命令を高速分岐命令とし、高速分岐命令実行中はこれ
に後続する命令の実行を禁止しないでパイプライン処理
を行ない、命令実行の処理効率を上げる。
令の実行結果の分岐先命令との間の命令が上記分岐命令
の条件設定に影響を与えない命令である場合に、上記分
岐命令を高速分岐命令とし、高速分岐命令実行中はこれ
に後続する命令の実行を禁止しないでパイプライン処理
を行ない、命令実行の処理効率を上げる。
本発明はパイプライン処理方法に係り、さらに詳しくは
、分岐命令の実行方法に関する。
、分岐命令の実行方法に関する。
パイプライン処理を行なうプログラム蓄積方式の周知プ
ロセッサの一例を第3図に示す。第3図において、30
はプログラムカウンタ、31は命令を格納するROM、
32及び33はパイプライン処理のための2つの命令レ
ジスタ、34及び35は命令デコーダである0図面では
省略しであるが、命令デコーダ34及び35に接続され
たアドレス計算用の演算論理装置、計算されたアドレス
を格納するアドレスレジスタ、指定されたアドレスにオ
ペランドを格納しているRAM等が存在する。
ロセッサの一例を第3図に示す。第3図において、30
はプログラムカウンタ、31は命令を格納するROM、
32及び33はパイプライン処理のための2つの命令レ
ジスタ、34及び35は命令デコーダである0図面では
省略しであるが、命令デコーダ34及び35に接続され
たアドレス計算用の演算論理装置、計算されたアドレス
を格納するアドレスレジスタ、指定されたアドレスにオ
ペランドを格納しているRAM等が存在する。
パイプライン処理は処理速度を上げるためのものであり
、処理効率の低下は避けなければならない。
、処理効率の低下は避けなければならない。
従来のパイプライン処理を第2図によって説明する。第
2図において、i II + tn+I + j、l+
2 + ・・・の各々は1マシンサイクルを示しており
、プログラムカウンタ(PC)30から読出された、命
令ROM 31の読出しアドレスのn番地、n+1番地
、n+2番地、・・・の命令が、マシンサイクルの【7
゜js、、+ Ln+t + ・・・のそれぞれの期
間に続出される。読出された命令は、次のマシンサイク
ルt、。1゜Ln−2,・・・で命令レジスタ32に入
力され、オペランド格納RAMの読出しアドレスの計算
に用いられる。RAMから読出されたオペランドは、次
のマシンサイクルt□2.・・・で命令レジスタ33に
人力され、これが命令デコーダ35により解読されて指
定された宛先にデータが転送される。命令ROM 31
のn番地をアクセス時には、命令レジスタ32に格納さ
れているn−1番地の命令に基づいてオペランド格納R
AMのアドレス計算が行なわれ、命令レジスタ33に格
納されている(n −2)番地の命令実行により得られ
たアドレスでRAMがアクセスされてデータの転送が行
われる。
2図において、i II + tn+I + j、l+
2 + ・・・の各々は1マシンサイクルを示しており
、プログラムカウンタ(PC)30から読出された、命
令ROM 31の読出しアドレスのn番地、n+1番地
、n+2番地、・・・の命令が、マシンサイクルの【7
゜js、、+ Ln+t + ・・・のそれぞれの期
間に続出される。読出された命令は、次のマシンサイク
ルt、。1゜Ln−2,・・・で命令レジスタ32に入
力され、オペランド格納RAMの読出しアドレスの計算
に用いられる。RAMから読出されたオペランドは、次
のマシンサイクルt□2.・・・で命令レジスタ33に
人力され、これが命令デコーダ35により解読されて指
定された宛先にデータが転送される。命令ROM 31
のn番地をアクセス時には、命令レジスタ32に格納さ
れているn−1番地の命令に基づいてオペランド格納R
AMのアドレス計算が行なわれ、命令レジスタ33に格
納されている(n −2)番地の命令実行により得られ
たアドレスでRAMがアクセスされてデータの転送が行
われる。
このように、複数の命令レジスタを用いて命令を時分割
的に処理するパイプライン処理はよく知られている。
的に処理するパイプライン処理はよく知られている。
ところで、第3図に示した従来例において、命令ROM
31のn番地の命令かに番地への分岐命令である場合
、分岐先にジャンプする迄は後続する命令の実行を禁止
しなければならない。なぜなら、分岐命令が実行できる
タイミング、すなわち、少なくとも分岐命令がマシンサ
イクルt7.1で命令レジスタ32に入力された時点で
は、プログラムカウンタ(PC)30の値は先に進んで
しまっており、その値に対応する命令をパイプライン処
理することにより、分岐命令における条件設定に影響を
与えることがあるからである。
31のn番地の命令かに番地への分岐命令である場合
、分岐先にジャンプする迄は後続する命令の実行を禁止
しなければならない。なぜなら、分岐命令が実行できる
タイミング、すなわち、少なくとも分岐命令がマシンサ
イクルt7.1で命令レジスタ32に入力された時点で
は、プログラムカウンタ(PC)30の値は先に進んで
しまっており、その値に対応する命令をパイプライン処
理することにより、分岐命令における条件設定に影響を
与えることがあるからである。
このため、従来は図に斜線で示すように、マシンサイク
ルi +s*1及びt7.で命令ROM 31から読み
取られて命令レジスタ32に入力された命令のすべての
実行を禁止している。
ルi +s*1及びt7.で命令ROM 31から読み
取られて命令レジスタ32に入力された命令のすべての
実行を禁止している。
上記の如く、従来の技術によれば、分岐命令の後のすべ
ての命令の実行を禁止する制御を行っていたので、高速
処理を目的とするパイプライン処理であるにもかかわら
ず、分岐命令実行中は処理効率が低下するという問題点
がある。この処理効率の低下は、パイプラインの段数、
たとえば命令レジスタの数、が増加する程大きくなる。
ての命令の実行を禁止する制御を行っていたので、高速
処理を目的とするパイプライン処理であるにもかかわら
ず、分岐命令実行中は処理効率が低下するという問題点
がある。この処理効率の低下は、パイプラインの段数、
たとえば命令レジスタの数、が増加する程大きくなる。
本発明は上記の問題点にかんがみて創作されたものであ
り、その目的は、通常の分岐命令以外に、分岐命令の条
件設定に影響を与えない命令の前に高速分岐命令を設け
、高速分岐命令実行中でも他の命令のパイプライン処理
の禁止はしないという構想に基づき、パイプライン処理
方法において、分岐命令実行中の処理効率の低下を防止
することにある。
り、その目的は、通常の分岐命令以外に、分岐命令の条
件設定に影響を与えない命令の前に高速分岐命令を設け
、高速分岐命令実行中でも他の命令のパイプライン処理
の禁止はしないという構想に基づき、パイプライン処理
方法において、分岐命令実行中の処理効率の低下を防止
することにある。
第1図は本発明によるパイプライン処理方法の原理を説
明する図面である。本発明に用いるプロセッサは、第3
図に示したものと同様であり、命令を格納するROM
31と複数の命令レジスタ32 、33を備えていて、
プログラム蓄積方式でパイプライン処理を行なう。
明する図面である。本発明に用いるプロセッサは、第3
図に示したものと同様であり、命令を格納するROM
31と複数の命令レジスタ32 、33を備えていて、
プログラム蓄積方式でパイプライン処理を行なう。
第1図において、n番地の命令は分岐命令であり、k番
地の命令はこの分岐命令の実行結果の分岐先命令である
。n番地の分岐命令とに番地の分岐先命令との間のn+
1番地及びn+2番地の命令が、n番地の分岐命令の条
件設定に影響を与えない命令である場合、n番地の分岐
命令を高速分岐命令としてROM 31に格納する。
地の命令はこの分岐命令の実行結果の分岐先命令である
。n番地の分岐命令とに番地の分岐先命令との間のn+
1番地及びn+2番地の命令が、n番地の分岐命令の条
件設定に影響を与えない命令である場合、n番地の分岐
命令を高速分岐命令としてROM 31に格納する。
そして、高速分岐命令以外の分岐命令は通常分岐命令と
してROM 31に格納する。
してROM 31に格納する。
n番地の分岐命令が高速分岐命令の場合、その命令の実
行中は、これに後続する(n+1)番地及び(n+2)
番地の命令もパイプライン処理をする。
行中は、これに後続する(n+1)番地及び(n+2)
番地の命令もパイプライン処理をする。
n番地の分岐命令が通常分岐命令の場合、その通常分岐
命令に後続する(n+1)番地及び(n+2)番地の命
令の実行は禁止する。
命令に後続する(n+1)番地及び(n+2)番地の命
令の実行は禁止する。
分岐命令に後続する命令がその分岐命令の条件設定に影
響を与えない命令であることがあらかじめわかっている
ときは、その分岐命令を高速分岐命令として通常の分岐
命令と区別し、高速分岐命令実行時はこれに後続する命
令の実行も禁止することなくパイプライン処理をするの
で、処理効率は向上する。
響を与えない命令であることがあらかじめわかっている
ときは、その分岐命令を高速分岐命令として通常の分岐
命令と区別し、高速分岐命令実行時はこれに後続する命
令の実行も禁止することなくパイプライン処理をするの
で、処理効率は向上する。
再び第1図を用いて本発明の詳細な説明する。
第1図において、n番地の命令は高速分岐命令であり、
したがって(n+1)番地及び(n + 2)番地の命
令はn番地の分岐命令に影響を与えないものであるとす
る。マシンサイクルtnではROM 31からn番地の
高速分岐命令が読出されて、次のマシンサイクルj n
+1で命令レジスタ32に入力される。そしてその次の
マシンサイクルt7.2で分岐先のアドレスに番地が演
算され、次のマシンサイクルtkでに番地の命令が読出
される。これと平行して、マシンサイクルj n+1で
は(n+1)番地の命令が読出され、次のマシンサイク
ルt7,2及びtkでこの命令が実行される。
したがって(n+1)番地及び(n + 2)番地の命
令はn番地の分岐命令に影響を与えないものであるとす
る。マシンサイクルtnではROM 31からn番地の
高速分岐命令が読出されて、次のマシンサイクルj n
+1で命令レジスタ32に入力される。そしてその次の
マシンサイクルt7.2で分岐先のアドレスに番地が演
算され、次のマシンサイクルtkでに番地の命令が読出
される。これと平行して、マシンサイクルj n+1で
は(n+1)番地の命令が読出され、次のマシンサイク
ルt7,2及びtkでこの命令が実行される。
また、マシンサイクルt□2では(n+2)番地の命令
が読出され、後続するマシンサイクルで実行される。(
n+1)番地及び(n+2)番地の命令は、n番地の高
速分岐命令の分岐条件の設定には影響しないので、実行
しても何らさしつかえない。
が読出され、後続するマシンサイクルで実行される。(
n+1)番地及び(n+2)番地の命令は、n番地の高
速分岐命令の分岐条件の設定には影響しないので、実行
しても何らさしつかえない。
(n+1)番地及び(n+1)番地の命令がn番地の分
岐命令の分岐条件設定に影響を及ぼす場合は、n番地の
分岐命令は通常の分岐命令として、その分岐命令の実行
中は(n+1)番地及び(n+2)番地の命令の実行を
従来通り禁止する。
岐命令の分岐条件設定に影響を及ぼす場合は、n番地の
分岐命令は通常の分岐命令として、その分岐命令の実行
中は(n+1)番地及び(n+2)番地の命令の実行を
従来通り禁止する。
以上の説明では命令レジスタの段数を2段としたが、本
発明はこれに限らず、2以上の任意の段数の命令レジス
タを用いてパイプライン処理を行う場合にも適用可能で
ある。パイプライン処理の段数が深くなる程、処理効率
の低下の悪影響は少なくなる。
発明はこれに限らず、2以上の任意の段数の命令レジス
タを用いてパイプライン処理を行う場合にも適用可能で
ある。パイプライン処理の段数が深くなる程、処理効率
の低下の悪影響は少なくなる。
以上説明したように、本発明によれば、分岐命令の分岐
条件設定に影響を与えない命令の前に高速分岐命令を設
け、高速分岐命令実行中は他の命令のパイプライン処理
は禁止しないこととしたので、パイプライン処理におい
て、分岐命令実行中の処理効率の低下は防止できる。
条件設定に影響を与えない命令の前に高速分岐命令を設
け、高速分岐命令実行中は他の命令のパイプライン処理
は禁止しないこととしたので、パイプライン処理におい
て、分岐命令実行中の処理効率の低下は防止できる。
【図面の簡単な説明】
第1図は本発明の原理及び実施例を説明するタイムチャ
ート、 第2図は従来のパイプライン処理を説明するタイムチャ
ート、 第3図は周知のパイプライン処理用プロセッサの一例で
あって本発明に適用されるものを示すブロック図である
。 第1図において、 nはに番地ヘジャンプさせる分岐命令、n+1及びn+
2は分岐命令に後続する命令である。
ート、 第2図は従来のパイプライン処理を説明するタイムチャ
ート、 第3図は周知のパイプライン処理用プロセッサの一例で
あって本発明に適用されるものを示すブロック図である
。 第1図において、 nはに番地ヘジャンプさせる分岐命令、n+1及びn+
2は分岐命令に後続する命令である。
Claims (1)
- 【特許請求の範囲】 命令を格納するROM(31)と複数のレジスタ(32
、33)を備え、プログラム蓄積方式でかつパイプライ
ン処理を行なうプロセッサにおいて、分岐命令(n番地
)と該分岐命令の実行結果の分岐先命令(k番地)との
間の命令が該分岐命令の条件設定に影響を与えない命令
である場合に、該分岐命令を高速分岐命令として該RO
M(31)に格納し、 該高速分岐命令以外の分岐命令を通常分岐命令として該
ROMに格納し、 該高速分岐命令の実行中は、該高速分岐命令に後続する
命令もパイプライン処理し、 該通常分岐命令の実行中は、該通常分岐命令に後続する
命令の実行を禁止することを特徴とするパイプライン処
理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29890086A JPS63153638A (ja) | 1986-12-17 | 1986-12-17 | パイプライン処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29890086A JPS63153638A (ja) | 1986-12-17 | 1986-12-17 | パイプライン処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63153638A true JPS63153638A (ja) | 1988-06-27 |
Family
ID=17865611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29890086A Pending JPS63153638A (ja) | 1986-12-17 | 1986-12-17 | パイプライン処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63153638A (ja) |
-
1986
- 1986-12-17 JP JP29890086A patent/JPS63153638A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2943464B2 (ja) | プログラム制御方法及びプログラム制御装置 | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
JPS63153638A (ja) | パイプライン処理方法 | |
JPH0512751B2 (ja) | ||
JPS59158441A (ja) | パイプライン制御方式 | |
JP2597744B2 (ja) | 分岐制御方法 | |
JPS61173345A (ja) | 計算機システム | |
JPS6259829B2 (ja) | ||
JPS6242301B2 (ja) | ||
JP2721610B2 (ja) | プログラマブルコントローラ | |
JP2979108B2 (ja) | データ処理装置における非同期処理の同期化方式 | |
JPH03240131A (ja) | 情報処理装置 | |
JP2833259B2 (ja) | プログラムリピート制御方法及びプログラムリピート制御装置 | |
JP3431503B2 (ja) | 情報処理装置およびプログラム制御方法 | |
JPH0353322A (ja) | 情報処理装置 | |
JPS5896346A (ja) | 階層型演算方式 | |
JPH04218834A (ja) | 条件分岐制御回路 | |
JPS6329839A (ja) | デ−タ処理装置 | |
JPS6074023A (ja) | 変数チエツク方式 | |
JPH09146769A (ja) | パイプライン処理装置 | |
JPS6132698B2 (ja) | ||
JPH01119829A (ja) | レジスタ干渉防止方法 | |
JPS62288940A (ja) | 情報処理装置 | |
JPS61226839A (ja) | イベント処理方式 | |
JPH04205149A (ja) | マイクロプロセツサ |