JPH02239330A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH02239330A
JPH02239330A JP5979489A JP5979489A JPH02239330A JP H02239330 A JPH02239330 A JP H02239330A JP 5979489 A JP5979489 A JP 5979489A JP 5979489 A JP5979489 A JP 5979489A JP H02239330 A JPH02239330 A JP H02239330A
Authority
JP
Japan
Prior art keywords
instruction
address
store
buffer
memory
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
Application number
JP5979489A
Other languages
English (en)
Inventor
Shuichi Hanatani
花谷 修一
Mayumi Kitsuta
橘田 真裕美
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Computertechno Ltd
Original Assignee
NEC Corp
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP5979489A priority Critical patent/JPH02239330A/ja
Publication of JPH02239330A publication Critical patent/JPH02239330A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、先行制御方式の情報処理装置に関する。
[従来の技術] 先行制御方式の情報処理装置は、命令読出しの為のメモ
リへのアクセスが前の命令の実行と並列処理され、実効
的に命令の実行時間を短縮するように、通常、現在実行
中の命令の他にこれに続く命令を予めメモリからいくつ
か読み出して命令先取りバッファにバッファしておき、
現在実行中の命令が終了した後、次の命令を該命令先取
リバッファから取り出して実行処理している。
このとき、一般に、メモリから命令先取りバッファへの
読み出しは、命令以外にオペランドとしてのデータも読
み出され得る。もし、先行命令が、メモリにストア動作
を行ない、命令やデータを変更し、そのストアされた領
域がすでに命令先取りバッファへ読み出されていた場合
、メモリと命令先取リバッファとの間に不一致が生じる
この問題を解決する為に、命令先取リバッファへ読み出
されている内容がメモリ上で変更された場合、その時点
で先取りしたオペランドを捨てて、改めてメモリから命
令先取りバッファへの読み出しを実行している。
命令の実行に先行して命令をメモリから先取りする方法
として、従来は、アドレス順にシーケンシャルに先取り
する方法が一般的に行われていた。
このとき、実行中のストアのストアアドレスがすでに先
取りしてメモリからの読み出しをも完了したワードに対
して行われた時、これを険出する手段は下記によって比
較的簡単に行われていた。
実行中の命令アドレスくストアアドレスく先取り命令ア
ドレス しかしながら、近年、分岐命令の処理技術として、その
高速化を図る為に、分岐予Il)Jの技術が使われるよ
うになってきた。
このことについては、米国特許第3559183号明細
書、特開昭55−99055号公報、及び特開昭59−
91552号公報に開示されている。
このとき、先取りがアドレス順にシーケンシャルには行
われない為、先取りした命令語に対応した命令アドレス
をバッファリングする命令アドレスバッファをもち、実
行中のストアのメモリに格納する直前のストアアドレス
に応答して、命令ア′ドレスバッファ内に該当ストアア
ドレスが存在するか否かを検出してきた。
これは、一致が検出されれば、すでに先取りした命令語
を、その命令が実行されるか否かにかかわらず凡てを無
効化し、ストアを生成する次の命令から再び命令語を取
出していた。
ところが、変更された命令やデータの前に分岐命令があ
り、分岐成功により分岐を行なったような場合や、変更
されたのが命令でなくデータの場合、変更された内容が
命令として全く実行されないことがある。このような場
合、命令先取リバッファ内の脊効な命令を含めて全て無
効化し、メモリから再読み出しすることは、命令処理効
率上望ましくない。
〔課題を解決するための手段] 本発明による情報処理装置は、命令の実行に先行して、
命令をメモリから命令先取りバッファに読出してバッフ
ァする先行制御方式の情報処理装置において、前記命令
先取リバツブア内にある命令語のアドレスを格納する命
令先取りアドレスバッファと、実行中の命令のアドレス
が生成された時点におけるストアアドレスに応答して、
前記命令先取りアドレスバッファ内に該当のストアアド
レスの存在の有無を検出する第1のストアチェック検出
手段と、前記アドレス生成時点におけるストアアドレス
をメモリに格納するまでバッファリングするストアアド
レスバッファと、命令先取りの為のメモリからの読み出
しアドレスに応答して、該当の読み出しアドレスが前記
ストアアドレスバソファ内に存在するか否かを検出する
第2のストアチェック検出手段とを有する。
本発明の第1の態様では、第2のストアチェック検出手
段で検出された時、命令語の読み出しをストアが実行さ
せるまで抑止する。
本発明の第1の態様の特徴としては、 ■ 分岐予測による命令先取りにより、先取りされた命
令語に対するストアの検出を行う。
■ ストアの検出を、 l,すでにメモリから取り出してしまった命令語に対す
るストアの検出 2.未だ、メモリへ格納されていないストアの検出 の2段階にすることによって、ストアアドレスバッファ
による第2のストアチェック検出手段で検出されたとき
、命令語の読み出しをストアが実行されるまで待たせる
があげられる。
本発明の第2の態様では、第2のストアチェック検出手
段で検出されたとき、その検出した命令語に一致結果を
付加して例外処理として処置する。
本発明の第2の態様の特徴としては、 ■ 分岐予測による命令先取りにより、先取りされた命
令語に対するストアの検出を行えるようにする。
■ ストアの検出を、 l、すでにメモリから取り出してしまった命令語に対す
るストアの検出 2.未だ、メモリへ格納されていないストアの検出 の2段階にすることによって、ストアアドレスノくッフ
ァしている第2のストアチェック検出手段で検出された
とき、その検出した命令語に、検出結果を付加して命令
先取リバッファに格納しておき、該命令語が実行されよ
うとしたときのみ、該当命令語を無効化する。
があげられる。
[実施例] 次に、本発明について図面を参照して説明する。
第1図は、本発明の第1の実施例による情報処理装置の
構成を示すブロック図である。
第1図において、1は先取りした命令のアドレスを保持
するレジスタ(以後、IARと呼ぶ)である。このIA
R1にセットされたアドレスにより、命令キャッシュメ
モリ(これは、メインメモリ上の命令語の写しである)
4が索引される。このアドレスは、同時に命令先取りア
ドレスバッファ2に格納され、又ストアアドレスバツフ
73をも索引する。
命令キャッシュメモリ4から読み出されたデータは、命
令先取りバッファ5に格納される。ここには、先取りさ
れた命令語が実行順に格納されており、実行順に出力さ
れていく。その、実行順にに出力された命令は、命令レ
ジスタ(以後、IRと呼ぶ)6によって保持される。
IR6のデータは、命令デコードアドレス生成回路7に
送られる。その結果、オペランドアドレスレジスタ(以
後、OARと呼ぶ)8に命令のオペランドナドレスが、
ストア命令フラグフリップ・フロツブ9にはストア命令
であるか否かを示すビットが保持される。
OAR8に保持されたアドレスは、オペランドキャッシ
ュメモリ10を索引する他、ストア命令フラグフリップ
・フロップ9の内容と共に、ストアアドレス検出回路1
1に入る。このストアアドレス検出回路11により、ス
トアアドレスであるとされたアドレスは、ストアアドレ
スバッファ3に格納されると同時に、命令先取りアドレ
スバッファ2を索引するアドレスとなる。
ストア命令以外の命令が先取りされた時は、OAR8に
保持されたアドレスにより、オペランドキャッシュメモ
リ10が索引され、演算実行回路部12により実行され
ていく。
先取りされた命令がストア命令であった時、オペランド
キャッシュメモリ10が索引されるだけでなく、命令先
取りアドレスバッファ2も索引される。命令先取りアド
レスバッファ2には、命令キャッシュメモリ4から命令
先取りバッファ5に命令が取り出されるのと同タイミン
グで、命令キャッシュメモリ4の索引アドレスが書き込
まれている。つまり、ストア命令であった時、すでに、
命令先取りバッファ5に取り込まれている命令がストア
命令先であるか否かを検出することが出来る。
これを検出する部分がACMヒット検出回路14である
。すでに、命令先取りバッファ5に取り込まれている命
令がストア命令のストア先(以後、この状態をACMビ
ットと呼ぶ)であった場合、その情報は、命令カウンタ
(以後、ICと呼ぶ)13に送られ、該当のストアを発
行した命令の次の命令を用意し、IARIに保持する。
また、ストアアドレスバッファ3には、未だ実行されて
いないストア命令のストアアドレスが格納されている。
これを、命令キャッシュメモリ4の索引アドレスである
IARIによって、同タイミングで索引することにより
、未だ実行されていないストアアドレスに対して命令キ
ャッシュメモリ4の読み出しが発生しているか否かを検
出することが出来る。
この検出を行う部分が、SCMヒット検出回路15であ
る。未だ実行されていないストアアドレスに対して命令
キャッシュメモリ4の読み出しが検出されている場合(
以後、この状態をSCMヒットと呼ぶ)、その情報はI
ARIのセット信号として用い、命令語の読み出しを該
当ストア命令のストアが実行されるまで待たせる。
本発明の第2の実施例では、SCMヒットの場合、SC
Mヒットは、検出した命令語に付加して、命令先取りバ
ッファ5に送られ、格納される。そして該当命令が実行
されようとしたときのみ、該当命令を無効化する。
なお、衆知のごとく、命令先取りバッファ5:;は、命
令キャッシュメモリ4からの読み出し幅、例えば8バイ
ト単位に有効フラグを有し、8バイトが読み出されると
、対応のフラグがリセットされて空きを表示する。無効
化は、例えばこのフラグをリセットすることにより行わ
れる。
[発明の効果] 以上説明したように本発明は、 ■ 分岐予測による命令先取りにより、先取りされた命
令語に対するストアの検出を行えるようになった。
■ ストアの検出を、 ■.すでにメモリから取り出してしまった命令語に対す
るストアの検出 2.未だ、メモリへ格納されていないストアの検出 の2段階にすることによって、ストアアドレスバッファ
による第2のストアチェック検出手段で検出されたとき
、命令語の読出しをストアが実行されるまで待たせ、全
て命令を無効化しなくて済む効果がある。
又、ストアアドレスバッファによる第2のストアチェッ
ク検出手段で検出されたとき、その検出した命令語に一
致結果を付加して命令先取りバッファに格納しておき、
該当命令語が実行されようとしたときのみ、該当命令語
を無効化し、余分な無効動作をなくすことが出来る効果
がある。
以下余白
【図面の簡単な説明】
第1図は本発明による情報処理装置の構成を示すブロッ
ク図である。 1・・・先取り命令アドレスレジスタ(IAR)、6・
・・命令レジスタ(IR)、8・・・オペランドアドレ
スレジスタ(OAR) 、9・・・ストア命令フラグフ
リップ・フロップ、11・・・ストアアドレス検出回路
、13・・・命令カウンタ(IR)、14・・・ACM
ヒット検出回路、15・・・SCMヒット検出回路。

Claims (1)

  1. 【特許請求の範囲】 1、命令の実行に先行して、命令をメモリから命令先取
    りバッファに読出してバッファする先行制御方式の情報
    処理装置において、 前記命令先取りバッファ内にある命令語のアドレスを格
    納する命令先取りアドレスバッファと、実行中の命令の
    アドレスが生成された時点におけるストアアドレスに応
    答して、前記命令先取りアドレスバッファ内に該当のス
    トアアドレスの存在の有無を検出する第1のストアチェ
    ック検出手段と、 前記アドレス生成時点におけるストアアドレスをメモリ
    に格納するまでバッファリングするストアアドレスバッ
    ファと、 命令先取りの為のメモリからの読み出しアドレスに応答
    して、該当の読み出しアドレスが前記ストアアドレスバ
    ッファ内に存在するか否かを検出する第2のストアチェ
    ック検出手段とを有する情報処理装置。 2、命令の実行に先行して、命令をメモリから命令先取
    りバッファに読出してバッファする先行制御方式の情報
    処理装置において、 前記命令先取りバッファ内にある命令語のアドレスを格
    納する命令先取りアドレスバッファと、実行中の命令の
    アドレスが生成された時点におけるストアアドレスに応
    答して、前記命令先取りアドレスバッファ内に該当のス
    トアアドレスの存在の有無を検出する第1のストアチェ
    ック検出手段と、 前記アドレス生成時点におけるストアアドレスをメモリ
    に格納するまでバッファリングするストアアドレスバッ
    ファと、 命令先取りの為のメモリからの読み出しアドレスに応答
    して、該当の読み出しアドレスが前記ストアアドレスバ
    ッファ内に存在するか否かを検出する第2のストアチェ
    ック検出手段とを有し、第2のストアチェック検出手段
    で検出された時、命令語の読み出しをストアが実行させ
    るまで抑止することを特徴とする情報処理装置。 3、命令の実行に先行して、命令をメモリから命令先取
    りバッファに読出してバッファする先行制御方式の情報
    処理装置において、 前記命令先取りバッファ内にある命令語のアドレスを格
    納する命令先取りアドレスバッファと、実行中の命令の
    アドレスが生成された時点におけるストアアドレスに応
    答して、前記命令先取りアドレスバッファ内に該当のス
    トアアドレスの存在の有無を検出する第1のストアチェ
    ック検出手段と、 前記アドレス生成時点におけるストアアドレスをメモリ
    に格納するまでバッファリングするストアアドレスバッ
    ファと、 命令先取りの為のメモリからの読み出しアドレスに応答
    して、該当の読み出しアドレスが前記ストアアドレスバ
    ッファ内に存在するか否かを検出する第2のストアチェ
    ック検出手段とを有し、第2のストアチェック検出手段
    で検出されたとき、その検出した命令語に一致結果を付
    加して例外処理として処置することを特徴とする情報処
    理装置。
JP5979489A 1989-03-14 1989-03-14 情報処理装置 Pending JPH02239330A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5979489A JPH02239330A (ja) 1989-03-14 1989-03-14 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5979489A JPH02239330A (ja) 1989-03-14 1989-03-14 情報処理装置

Publications (1)

Publication Number Publication Date
JPH02239330A true JPH02239330A (ja) 1990-09-21

Family

ID=13123542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5979489A Pending JPH02239330A (ja) 1989-03-14 1989-03-14 情報処理装置

Country Status (1)

Country Link
JP (1) JPH02239330A (ja)

Similar Documents

Publication Publication Date Title
EP0118828B1 (en) Instruction fetch apparatus and method of operating same
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
JP4417346B2 (ja) 微細粒度変換判別方法及び装置
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
JPH03147022A (ja) 分岐命令処理装置および処理方法
JP2596712B2 (ja) 近接した分岐命令を含む命令の実行を管理するシステム及び方法
US5276825A (en) Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction
EP0398382B1 (en) Pipeline processor and pipeline processing method for microprocessor
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
JP2570859B2 (ja) データ処理装置
KR19990003937A (ko) 프리페치 장치
JPH02239330A (ja) 情報処理装置
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
EP1952235A2 (en) System and method for handling information transfer errors between devices
JP3739556B2 (ja) 情報処理装置
JP2542565B2 (ja) 分岐予測制御方式
JPH0248733A (ja) 情報処理装置
JP2856703B2 (ja) プロセッサ
JPS6150343B2 (ja)
JPS6358552A (ja) マイクロプロセサ
JPS6310451B2 (ja)
JPH027128A (ja) 情報処理装置
JPH0418636A (ja) 情報処理装置
JPH0540629A (ja) 情報処理装置
JPH0342722A (ja) 分岐ヒストリテーブルを用いた分岐予測方式