JPH0749782A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0749782A JPH0749782A JP19715593A JP19715593A JPH0749782A JP H0749782 A JPH0749782 A JP H0749782A JP 19715593 A JP19715593 A JP 19715593A JP 19715593 A JP19715593 A JP 19715593A JP H0749782 A JPH0749782 A JP H0749782A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- instruction word
- arithmetic unit
- time
- 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
- 230000010365 information processing Effects 0.000 claims description 16
- 230000007423 decrease Effects 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】 分岐命令処理の際CPUにおける処理を高速
化する。 【構成】 CPU11は演算ユニット12及び13と命
令語キャッシュ14及び15を備えている。演算ユニッ
ト12で分岐命令を実行する際、演算ユニット13で分
岐命令判断が行われる。さらに、命令語キャッシュ14
には分岐条件不成立の際の命令語がロードされ、命令語
キャッシュ15には分岐条件成立の際の命令語がロード
される。その後、演算ユニット12における処理結果及
び演算ユニット13における判断結果に基づいていずれ
かの命令語キャッシュにロードされた命令語が実行され
る。
化する。 【構成】 CPU11は演算ユニット12及び13と命
令語キャッシュ14及び15を備えている。演算ユニッ
ト12で分岐命令を実行する際、演算ユニット13で分
岐命令判断が行われる。さらに、命令語キャッシュ14
には分岐条件不成立の際の命令語がロードされ、命令語
キャッシュ15には分岐条件成立の際の命令語がロード
される。その後、演算ユニット12における処理結果及
び演算ユニット13における判断結果に基づいていずれ
かの命令語キャッシュにロードされた命令語が実行され
る。
Description
【0001】
【産業上の利用分野】本発明は情報処理装置に関し、特
に、情報処理装置において中央演算処理装置(CPU)
の高速化を図るための方式に関する。
に、情報処理装置において中央演算処理装置(CPU)
の高速化を図るための方式に関する。
【0002】
【従来の技術】一般に、パイプライン制御が行われる情
報処理装置において条件付き分岐命令を実行する際、条
件成立と不成立とで次に実行する命令語のアドレスが異
なる関係上、パイプライン制御が乱れ、この結果、CP
Uの処理速度が低下することがある。このようなCPU
処理速度の低下に対処するための技術として、例えば、
特開昭60−181931号公報に記載された技術が知
られており、ここでは、CPUにおいて実行された処理
の履歴情報に基づいて分岐条件が成立するか否かを予測
して、これによって、CPU処理速度の低下に対処して
いる。
報処理装置において条件付き分岐命令を実行する際、条
件成立と不成立とで次に実行する命令語のアドレスが異
なる関係上、パイプライン制御が乱れ、この結果、CP
Uの処理速度が低下することがある。このようなCPU
処理速度の低下に対処するための技術として、例えば、
特開昭60−181931号公報に記載された技術が知
られており、ここでは、CPUにおいて実行された処理
の履歴情報に基づいて分岐条件が成立するか否かを予測
して、これによって、CPU処理速度の低下に対処して
いる。
【0003】ここで、図2に分岐命令を含むプログラム
のフローチャートを示し、図3に図2に示すプログラム
を命令語列で表現した例を示す。図2及び図3を参照し
て、CPUでは内蔵プログラムカウンタの値に従って図
2及び図3に示す命令語列を順次実行する。この例で
は、命令1を実行した後分岐命令を実行することにな
る。分岐条件が成立すると、CPUでは順次命令4及び
命令5を実行し、分岐条件不成立の場合には、CPUは
順次命令2及び3を実行する。
のフローチャートを示し、図3に図2に示すプログラム
を命令語列で表現した例を示す。図2及び図3を参照し
て、CPUでは内蔵プログラムカウンタの値に従って図
2及び図3に示す命令語列を順次実行する。この例で
は、命令1を実行した後分岐命令を実行することにな
る。分岐条件が成立すると、CPUでは順次命令4及び
命令5を実行し、分岐条件不成立の場合には、CPUは
順次命令2及び3を実行する。
【0004】図4を参照して、実行履歴によって分岐先
が命令2以降である場合、つまり、分岐条件不成立であ
ると予測される場合について説明する。
が命令2以降である場合、つまり、分岐条件不成立であ
ると予測される場合について説明する。
【0005】CPUでは時刻t1で命令1を実行した
後、時刻t2で分岐命令を実行する。この際、CPUで
は時刻t2以前の実行履歴によって分岐予測先を命令2
以降であると判断する。従って、CPUでは時刻t2に
おいて分岐命令の実行に並行して命令2のロードを実行
する。時刻t3において分岐条件判断結果によってCP
Uは命令2を実行することになるが、すでに時刻t2に
おいて命令2のロードが完了しているから、CPUでは
処理時間の損失を伴うことなく処理を継続できる。
後、時刻t2で分岐命令を実行する。この際、CPUで
は時刻t2以前の実行履歴によって分岐予測先を命令2
以降であると判断する。従って、CPUでは時刻t2に
おいて分岐命令の実行に並行して命令2のロードを実行
する。時刻t3において分岐条件判断結果によってCP
Uは命令2を実行することになるが、すでに時刻t2に
おいて命令2のロードが完了しているから、CPUでは
処理時間の損失を伴うことなく処理を継続できる。
【0006】次に、図5を参照して、分岐予測が失敗し
た場合について説明する。
た場合について説明する。
【0007】図5において時刻t2までにおける処理は
図4に示す例と同様である。CPUは時刻t2において
実行履歴に基づいて分岐先が命令2以降であると予測し
ているが、ここで、実際の分岐先が命令4以降である
と、つまり、分岐条件が成立すると、CPUは時刻t3
において命令3を実行する必要がある。その結果、時刻
t3においては命令4のロードが行われ、時刻t4で命
令4が実行されることになる。つまり、命令4の実行が
1マシンサイクルだけ遅れることになってしまう。
図4に示す例と同様である。CPUは時刻t2において
実行履歴に基づいて分岐先が命令2以降であると予測し
ているが、ここで、実際の分岐先が命令4以降である
と、つまり、分岐条件が成立すると、CPUは時刻t3
において命令3を実行する必要がある。その結果、時刻
t3においては命令4のロードが行われ、時刻t4で命
令4が実行されることになる。つまり、命令4の実行が
1マシンサイクルだけ遅れることになってしまう。
【0008】
【発明が解決しようとする課題】このように、従来の方
式では単に実行履歴に基づいて分岐条件が成立するか否
かを予測しているので、予測が外れて、その結果、処理
速度が低下するばかりでなく実行履歴にない分岐命令に
ついては予測不可能であるという問題点がある。
式では単に実行履歴に基づいて分岐条件が成立するか否
かを予測しているので、予測が外れて、その結果、処理
速度が低下するばかりでなく実行履歴にない分岐命令に
ついては予測不可能であるという問題点がある。
【0009】本発明の目的はCPUにおける命令処理速
度が低下することのない情報処理装置を提供することに
ある。
度が低下することのない情報処理装置を提供することに
ある。
【0010】
【課題を解決するための手段】本発明によれば、第1及
び第2の演算ユニットを備えるCPUと、分岐命令を有
する命令語列が格納されたメインメモリとを有する情報
処理装置において、前記分岐命令を実行する際前記第1
の演算ユニットに分岐条件不成立の際のアドレスに応じ
た命令語を第1の先読み命令語として先読みする第1の
手段と、前記分岐命令を実行する際前記第2の演算ユニ
ットに分岐条件成立の際のアドレスに応じた命令語を第
2の先読み命令語として先読みする第2の手段とを有す
ることを特徴とする情報処理装置が得られる。
び第2の演算ユニットを備えるCPUと、分岐命令を有
する命令語列が格納されたメインメモリとを有する情報
処理装置において、前記分岐命令を実行する際前記第1
の演算ユニットに分岐条件不成立の際のアドレスに応じ
た命令語を第1の先読み命令語として先読みする第1の
手段と、前記分岐命令を実行する際前記第2の演算ユニ
ットに分岐条件成立の際のアドレスに応じた命令語を第
2の先読み命令語として先読みする第2の手段とを有す
ることを特徴とする情報処理装置が得られる。
【0011】
【実施例】以下本発明について実施例によって説明す
る。
る。
【0012】図1を参照して、図示の情報処理装置は中
央処理装置(CPU)11を備えており、このCPU1
1には演算ユニット12及び13が備えられている。こ
れら演算ユニット12及び13によってそれぞれ命令語
キャッシュ14及び15が管理され、命令語キャッシュ
14及び15はバス16を介してメインメモリ17に接
続されている。なお、演算ユニット12と命令語キャッ
シュ14との組みは演算ユニット13と命令語キャッシ
ュ15との組みと同一の機能を有する。
央処理装置(CPU)11を備えており、このCPU1
1には演算ユニット12及び13が備えられている。こ
れら演算ユニット12及び13によってそれぞれ命令語
キャッシュ14及び15が管理され、命令語キャッシュ
14及び15はバス16を介してメインメモリ17に接
続されている。なお、演算ユニット12と命令語キャッ
シュ14との組みは演算ユニット13と命令語キャッシ
ュ15との組みと同一の機能を有する。
【0013】演算ユニット12及び13は通常実行モー
ド及び分岐条件判断モードを交互に実行する。つまり、
ある時点で演算ユニット12が通常実行モードである
と、演算ユニット13は分岐条件判断モードを行い、他
の時点で演算ユニット12が分岐条件判断モードである
と、演算ユニット13は通常実行モードを行うことにな
る。
ド及び分岐条件判断モードを交互に実行する。つまり、
ある時点で演算ユニット12が通常実行モードである
と、演算ユニット13は分岐条件判断モードを行い、他
の時点で演算ユニット12が分岐条件判断モードである
と、演算ユニット13は通常実行モードを行うことにな
る。
【0014】ここで、図6に図2に示すプログラム例の
実行の際のタイミングチャートを示す(図6では分岐条
件不成立の際のタイミングチャートが示されている)。
実行の際のタイミングチャートを示す(図6では分岐条
件不成立の際のタイミングチャートが示されている)。
【0015】図1及び図6を参照して、時刻t1で演算
ユニット12が命令1を実行している(この際メインメ
モリ17から命令語キャッシュ14へ分岐命令がロード
される)と、演算ユニット12では命令1の次の命令が
分岐命令か否かを判断する。次に、時刻t2において演
算ユニット12は分岐命令を実行することになる。この
際、命令語キャッシュ14へは分岐命令の次のアドレス
の内容である命令2がロードされる。さらに、時刻t2
において命令語キャッシュ15には時刻t1における演
算ユニット13の処理結果に応じて分岐条件が成立した
場合の分岐先に格納された命令4がロードされる。
ユニット12が命令1を実行している(この際メインメ
モリ17から命令語キャッシュ14へ分岐命令がロード
される)と、演算ユニット12では命令1の次の命令が
分岐命令か否かを判断する。次に、時刻t2において演
算ユニット12は分岐命令を実行することになる。この
際、命令語キャッシュ14へは分岐命令の次のアドレス
の内容である命令2がロードされる。さらに、時刻t2
において命令語キャッシュ15には時刻t1における演
算ユニット13の処理結果に応じて分岐条件が成立した
場合の分岐先に格納された命令4がロードされる。
【0016】時刻t2における演算ユニット12の処理
結果で分岐条件不成立と判断され、この結果、演算ユニ
ット12は時刻t3において命令2を実行するとともに
メインメモリ17から命令語キャッシュ14に命令3を
ロードする。つまり、演算ユニット12は通常実行モー
ドを継続する。一方、演算ユニット13は分岐命令判断
モードを継続する。なお、図6において、破線部は演算
ユニットが分岐命令判断モードであることを表す。
結果で分岐条件不成立と判断され、この結果、演算ユニ
ット12は時刻t3において命令2を実行するとともに
メインメモリ17から命令語キャッシュ14に命令3を
ロードする。つまり、演算ユニット12は通常実行モー
ドを継続する。一方、演算ユニット13は分岐命令判断
モードを継続する。なお、図6において、破線部は演算
ユニットが分岐命令判断モードであることを表す。
【0017】次に、図7に分岐条件成立の際のタイミン
グチャートが示す。図1及び図7を参照して、図7にお
いて時刻t1及びt2における演算ユニット12及び1
3での処理は図7に示す例と同一であるが、図7では時
刻t2において演算ユニット12の処理結果によって分
岐条件が成立すると判断され、時刻t3において演算ユ
ニット12は分岐命令判断モードとなる。さらに、演算
ユニット13は時刻t2における分岐命令判断に基づい
て時刻t3で通常実行モードとなり、命令4を実行する
とともにメインメモリ17から命令語キャッシュ15に
命令語5をロードする。なお、図7において、破線部は
演算ユニットが分岐命令判断モードであることを表す。
グチャートが示す。図1及び図7を参照して、図7にお
いて時刻t1及びt2における演算ユニット12及び1
3での処理は図7に示す例と同一であるが、図7では時
刻t2において演算ユニット12の処理結果によって分
岐条件が成立すると判断され、時刻t3において演算ユ
ニット12は分岐命令判断モードとなる。さらに、演算
ユニット13は時刻t2における分岐命令判断に基づい
て時刻t3で通常実行モードとなり、命令4を実行する
とともにメインメモリ17から命令語キャッシュ15に
命令語5をロードする。なお、図7において、破線部は
演算ユニットが分岐命令判断モードであることを表す。
【0018】
【発明の効果】以上説明したように本発明では分岐命令
を実行する際、一方の演算ユニットに対して分岐条件不
成立の際のアドレスに対応する命令語を先読みし、他方
の演算ユニットに対して分岐条件成立の際のアドレスに
対応する命令語を先読みするようにしたから、分岐条件
の結果如何にかかわらず直ちに命令語を実行することが
でき、その結果、CPUにおける処理時間の損失を防止
できるという効果がある。
を実行する際、一方の演算ユニットに対して分岐条件不
成立の際のアドレスに対応する命令語を先読みし、他方
の演算ユニットに対して分岐条件成立の際のアドレスに
対応する命令語を先読みするようにしたから、分岐条件
の結果如何にかかわらず直ちに命令語を実行することが
でき、その結果、CPUにおける処理時間の損失を防止
できるという効果がある。
【図1】本発明による情報処理装置の一実施例を示すブ
ロック図である。
ロック図である。
【図2】分岐命令を含むプログラムの一例をフローチャ
ートで示す図である。
ートで示す図である。
【図3】図2に示すプログラム例を命令語列で示す図で
ある。
ある。
【図4】従来の情報処理装置において分岐命令処理時に
おける分岐予測成功の際の動作を説明するためのタイミ
ングチャートである。
おける分岐予測成功の際の動作を説明するためのタイミ
ングチャートである。
【図5】従来の情報処理装置において分岐命令処理時に
おける分岐予測失敗の際の動作を説明するためのタイミ
ングチャートである。
おける分岐予測失敗の際の動作を説明するためのタイミ
ングチャートである。
【図6】図1に示す情報処理装置において分岐条件不成
立の際の動作を説明するためのタイミングチャートであ
る。
立の際の動作を説明するためのタイミングチャートであ
る。
【図7】図1に示す情報処理装置において分岐条件成立
の際の動作を説明するためのタイミングチャートであ
る。
の際の動作を説明するためのタイミングチャートであ
る。
11 中央処理装置(CPU) 12,13 演算ユニット 14,15 命令語キャッシュ 16 バス 17 メインメモリ
Claims (2)
- 【請求項1】 第1及び第2の演算ユニットを備えるC
PUと、分岐命令を有する命令語列が格納されたメイン
メモリとを有する情報処理装置において、前記分岐命令
を実行する際前記第1の演算ユニットに分岐条件不成立
の際のアドレスに応じた命令語を第1の先読み命令語と
して先読みする第1の手段と、前記分岐命令を実行する
際前記第2の演算ユニットに分岐条件成立の際のアドレ
スに応じた命令語を第2の先読み命令語として先読みす
る第2の手段とを有することを特徴とする情報処理装
置。 - 【請求項2】 請求項1に記載された情報処理装置にお
いて、前記第1の手段は第1の命令語キャッシュを備
え、前記第2の手段は第2の命令語キャッシュを備えて
おり、該第1及び該第2の命令語キャッシュにそれぞれ
前記第1及び第2の先読み命令語がロードされるように
したことを特徴とする情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19715593A JPH0749782A (ja) | 1993-08-09 | 1993-08-09 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19715593A JPH0749782A (ja) | 1993-08-09 | 1993-08-09 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0749782A true JPH0749782A (ja) | 1995-02-21 |
Family
ID=16369687
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19715593A Pending JPH0749782A (ja) | 1993-08-09 | 1993-08-09 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0749782A (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| JPS63172343A (ja) * | 1987-01-12 | 1988-07-16 | Hitachi Ltd | 命令先取り方式 |
-
1993
- 1993-08-09 JP JP19715593A patent/JPH0749782A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| JPS63172343A (ja) * | 1987-01-12 | 1988-07-16 | Hitachi Ltd | 命令先取り方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4858104A (en) | Preceding instruction address based branch prediction in a pipelined processor | |
| JP2875909B2 (ja) | 並列演算処理装置 | |
| JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
| JPH11345121A (ja) | プログラム制御ユニット用の命令取り出し装置および方法 | |
| JPH0749782A (ja) | 情報処理装置 | |
| JP2002014868A (ja) | メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法 | |
| JPH0342723A (ja) | データ処理装置 | |
| JP2503223B2 (ja) | 先行制御方式 | |
| JP3199035B2 (ja) | プロセッサ及びその実行制御方法 | |
| JP3102846B2 (ja) | ロードアドレスキャッシュ装置及び方法 | |
| JP2591325B2 (ja) | 分岐制御装置 | |
| US20080005545A1 (en) | Dynamically shared high-speed jump target predictor | |
| US20040103267A1 (en) | Data processor having cache memory | |
| JP2001022577A (ja) | 情報処理装置 | |
| JP2000357090A (ja) | マイクロコンピュータおよびキャッシュ制御方法 | |
| JP5679263B2 (ja) | 情報処理装置及びマイクロ命令処理方法 | |
| JPH10154072A (ja) | パイプライン処理装置 | |
| JPH0248733A (ja) | 情報処理装置 | |
| JPH08286914A (ja) | メモリ制御装置 | |
| JPH10187531A (ja) | キャッシュメモリのプリフェッチ方式 | |
| JPH04213727A (ja) | 情報処理装置 | |
| JPH027128A (ja) | 情報処理装置 | |
| JPH1165843A (ja) | 情報処理装置 | |
| JPH06161750A (ja) | 命令フェッチ制御方法及び命令処理装置 | |
| JPH0553807A (ja) | 条件分岐命令先行制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970304 |