JPH06309225A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH06309225A
JPH06309225A JP5100902A JP10090293A JPH06309225A JP H06309225 A JPH06309225 A JP H06309225A JP 5100902 A JP5100902 A JP 5100902A JP 10090293 A JP10090293 A JP 10090293A JP H06309225 A JPH06309225 A JP H06309225A
Authority
JP
Japan
Prior art keywords
data
unit
instruction
cache memory
load instruction
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
JP5100902A
Other languages
English (en)
Inventor
Ryuichi Yamaguchi
龍一 山口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5100902A priority Critical patent/JPH06309225A/ja
Publication of JPH06309225A publication Critical patent/JPH06309225A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 通常のロード命令によるデータ転送が投機的
ロード命令に妨げられることなく実行できる情報処理装
置を提供する。 【構成】 主記憶装置10とキャッシュメモリ14から
の第1の命令19を解読して投機的、非投機的ロード命
令であるかという第1の転送条件105を生成する命令
デコード部102と、第1の転送条件105を複数サイ
クル保持した後第2の転送条件106として出力する転
送条件保持部104と、第1の転送条件105が投機的
ロード命令であり、第2の転送条件106が非投機的ロ
ード命令である場合、無効信号18を生成する命令比較
部103と、第2の転送条件106で実行される主記憶
部10とキャッシュメモリ14間のデータ転送を無効信
号18により中止するデータ転送部13とを備えた情報
処理装置である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データを記憶する主記
憶部からシステムバスを介して前記データのロード動作
の際に、キャッシュメモリに前記データを供給し、演算
レジスタにはデータを供給しない投機的ロード命令を実
行する情報処理装置に関するものである。
【0002】
【従来の技術】計算機処理の高速化の一方法に、キャッ
シュメモリを使用するでメモリアクセス時間の短縮を図
る方法がある。本方法では、遅い主記憶部と演算部との
間に高速のキャッシュメモリを置き、主記憶部にデータ
アクセスする代わりに高速のキャッシュメモリに利用す
ることでメモリアクセス時間の短縮を図る。キャッシュ
メモリによるデータアクセス時間短縮を実現するために
は、アクセスするデータがキャッシュメモリ中に存在す
ること(キャッシュヒットと呼ぶ)が必要である。この
際、キャッシュヒットする割合(ヒット率と呼ぶ)が低
いと、高速のキャッシュメモリの代わりに遅い主記憶部
からデータを持ってくることになり、計算機の高速実行
が妨げられる。このためヒット率を向上させて計算機の
高速実行を実現する方法として、投機的ロード命令によ
る投機的ロードがある。
【0003】通常のロード命令は、主記憶部あるいはキ
ャッシュメモリから演算に必要なデータを演算レジスタ
にロードして演算を実行する。この際、演算に必要なデ
ータがキャッシュメモリにない場合は、主記憶部から読
み込んだデータをキャッシュメモリに格納する。一方、
投機的ロード命令は主記憶部からキャッシュメモリにデ
ータを転送するだけで、演算レジスタにはデータをロー
ドしない。この場合、将来的に演算すると予想されるデ
ータをキャッシュメモリにあらかじめ格納しておき、必
要になった時点でロード命令によりキャッシュメモリか
ら演算レジスタに読み込むことにより高速なロード動作
を実現する。また、投機的ロード動作では演算レジスタ
にデータを書き込まないので、後続する命令は投機的ロ
ード動作の終了を待たずに並行して演算の実行を行なう
ことができる。
【0004】以下図面を参照しながら、上記した従来の
情報処理装置の一例について説明する。
【0005】図7は従来の情報処理装置の投機的ロード
処理のブロック図を示すものである。図7において、1
0はデータを記憶する主記憶部である。13はデータ転
送部である。14は高速の記憶装置であるキャッシュメ
モリである。15は主記憶部10からキャッシュメモリ
14に転送されるデータである。
【0006】図8は従来の情報処理装置のキャッシュメ
モリにデータを格納するフロー図である。図8におい
て、31、32、33、35、36、39は処理であ
る。
【0007】図9は従来の情報処理装置のキャッシュメ
モリからデータを読み出すフロー図である。図9におい
て、40、41、44、45は処理である。
【0008】図10は従来の情報処理装置のキャッシュ
メモリの1個のデータを保持する1エントリの構成図で
ある。図10において、51はデータのアドレスを保持
するタグ部である。52はデータ15を格納するデータ
部である。53はデータ部52の利用履歴をしめすLRU
フラグ部である。
【0009】図11は情報処理装置で実行するプログラ
ムである。図11において、P1、P2はプログラムで
ある。
【0010】以上のように構成された情報処理装置につ
いて、以下その動作を説明する。キャッシュメモリ14
は、図10に示すように個々のデータを格納するための
エントリから構成される。各エントリは、データを格納
するためのデータ部52と、データ部52に格納された
データが主記憶部10のどのデータと対応しているかを
示すためにデータの主記憶部10でのアドレスを保持す
るタグ部51と、データ部52の参照履歴を保持するLR
Uフラグ部53から構成される。LRUフラグ部53は各エ
ントリの利用履歴を示し、データ部52が参照される度
に更新される。キャッシュメモリ14の容量は主記憶部
10より通常小さいので、主記憶部10のすべてのデー
タをキャッシュメモリ14に格納することはできない。
そのために、データを格納するためのエントリに空きが
ない場合、LRUフラグ部53を参照して、参照履歴が最
も古いデータをキャッシュメモリ14から取り除いて新
しいデータを格納する。
【0011】投機的ロード命令の実行では、図7に示す
ようにデータ転送部13から主記憶部10にデータ15
の転送を要求する。データ転送部13からの読み込み要
求に従って、主記憶部13に格納されているデータ15
は、システムバスを介してデータ転送部13に送られ
て、キャッシュメモリ14に書き込まれる。
【0012】キャッシュメモリ14への書き込みは図8
の手順で実行される。処理31でデータ15を格納する
ための空いているエントリがあるか探索する。空きエン
トリがある場合は、処理32で空きエントリをデータ1
5書き込み用のエントリとする。空きエントリがない場
合は、処理39でLRUフラグを参照して最も古いエント
リを選択する。処理33では、選択されたLRUフラグを
更新し、処理35でデータ15の主記憶部10でのアド
レスをタグ部51に書き込む。さらに処理36で、デー
タ15をデータ部52に書き込む。
【0013】また、キャッシュメモリ14から演算レジ
スタへの読み込みは図9の手順で実行される。処理40
で、読み込むアドレスとキャッシュメモリ14にある各
エントリのタグ部51を比較し、一致するものがあるか
検索する。一致するものがない場合キャッシュミスとな
り、処理45で低速な主記憶10からデータを読み込む
処理を実行する。また、一致した場合はキャッシュヒッ
トとなり、処理41でタグ部51の一致したエントリの
LRUフラグ部53を更新し、処理44でデータ部52か
らデータを読み出す。
【0014】図11のプログラムP1の実行例を示す。
プログラムP1において、100番地のpload命令は投
機的ロード命令でありデータAをキャッシュメモリ14
に格納する。101番地のadd命令は加算命令であり、
データBとデータCを加算する。102番地のshift命
令はシフト命令であり、データBをシフトする。103
番地のload命令は非投機的なロード命令であり、データ
Aを演算レジスタに格納する。104番地のadd命令は
加算命令であり、データAとデータDを加算する。主記
憶部10からデータを読みだし時間は3サイクル、キャ
ッシュメモリからの読みだし時間は1サイクルとして、
この場合の実行にかかる時間を計算する。100番地の
pload命令では実際に終了するのは3サイクルである
が、後続命令が実行を開始できるので見かけ上は1サイ
クルしかかからない。101番地、102番地、104
番地の命令実行はそれぞれ1サイクルである。103番
地のload命令は100番地の投機的ロード命令により、
データAがキャッシュメモリ14に存在するので1サイ
クルでデータAがロードできる。したがって、合計で5
サイクルである。100番地の投機的ロード命令がない
場合は、103番地のロード動作に3サイクルかかり合
計で6サイクルかかる。以上のように、投機的ロード命
令によりプログラムの高速実行が可能になる。
【0015】しかし図11のプログラムP2の実行例で
は、100番地の投機的ロード命令の実行後に、101
番地の非投機的ロード命令が存在する。そのため、投機
的ロード命令終了後に101番地の命令は開始される。
そのため、100番地、101番地、102番地、10
3番地、104番地の命令実行に合計9サイクル必要に
なる。投機的ロード命令がない場合は、103番地のロ
ード命令の実行に3サイクルかかるようになるが、合計
では8サイクルである。
【0016】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、投機的ロード命令によりデータを転送す
る際にシステムバスが占有される。そのため、投機的ロ
ード命令によるデータ転送中に、通常のロード命令、す
なわち演算レジスタに送って演算するのに必要なデータ
がキャッシュミスした場合、必要なデータの転送が妨げ
られて演算器での演算処理が停止する。またキャッシュ
メモリの容量が小さい場合は、投機的ロード命令により
データをキャッシュメモリに転送しても、ロードされた
データが演算レジスタに転送されて演算されることなく
別のデータ書き込みにより消去される。そのため、消去
されたデータは演算に必要な場合再度転送しなければな
らず、高速に読み込みできないという問題点を有してい
た。
【0017】したがって本発明は上記問題点に鑑み、通
常のロード命令によるデータ転送が投機的ロード命令に
妨げられることなく実行でき、さらに投機的ロード命令
でキャッシュメモリに格納されたデータが演算レジスタ
に転送されるまで消去されることのない情報処理装置を
提供するものである。
【0018】
【課題を解決するための手段】上記問題点を解決するた
めに本発明の第1の情報処理装置は、主記憶装置とキャ
ッシュメモリから第1の命令を読み込む命令読み込み部
と、前記第1の命令を解読して投機的ロード命令か非投
機的ロード命令であるかという第1の転送条件を生成す
る命令デコード部と、前記第1の転送条件を1サイクル
以上複数サイクル保持した後第2の転送条件として出力
する転送条件保持部と、前記第1の転送条件が投機的ロ
ード命令であり、前記第2の転送条件が非投機的ロード
命令である場合、無効信号を生成する命令比較部と、前
記第2の転送条件で実行される前記主記憶部と前記キャ
ッシュメモリ間のデータ転送を前記無効信号により中止
するデータ転送部とを備えたものである。
【0019】本発明の第2の情報処理装置は、システム
バスがデータ転送状態であることを示すビジー信号を取
り出して前記ビジー信号の加算を行なうビジー信号加算
部と、前記加算の結果が規定値以上である場合は無効信
号を出力する比較部と、投機的ロード命令で実行される
主記憶部とキャッシュメモリ間のデータ転送を前記無効
信号により中止するデータ転送部とを備えたものであ
る。
【0020】本発明の第3の情報処理装置は、キャッシ
ュメモリに保持されたデータが参照されたことを示すキ
ャッシュのヒット信号を取り出して前記ヒット信号の加
算を行なうヒット信号加算部と、前記加算の結果が規定
値以下である場合は無効信号を出力する比較部と、投機
的ロード命令で実行される主記憶部とキャッシュメモリ
間のデータ転送を前記無効信号により中止するデータ転
送部とを備えたものである。
【0021】本発明の第4の情報処理装置は、主記憶部
から読み出された第1のデータを記憶するデータ部と前
記データ部に対応する読みだしフラグを持つキャッシュ
メモリと、前記キャッシュメモリに前記第1のデータが
収納されると読みだしフラグをリセットするリセット部
と、前記第1のデータが前記演算レジスタに転送される
と前記読みだしフラグをセットするセット部と、前記キ
ャッシュメモリのリプレースには、前記読みだしフラグ
がセットされている第2のデータがある場合は前記第2
のデータを置き換えて、前記第2のデータがない場合は
前記読みだしフラグがセットされていない第3のデータ
を置き換える置換え部とを備えたものである。
【0022】
【作用】本発明の第1の情報処理装置は上記した構成に
よって、投機的ロード命令に後続する非投機的ロード命
令を検出し、投機的ロード動作を中止することにより、
通常のロード命令によるデータ転送が投機的ロード命令
に妨げられることなく実行できる。
【0023】本発明の第2の情報処理装置は上記した構
成によって、システムバスのビジー信号を取り出して保
持し、過去複数サイクル分のビジー信号を加算すること
により、システムバスの混雑度を測定する。システムバ
スが混雑している場合投機的ロード動作を中止すること
により、通常のロード命令によるデータ転送が投機的ロ
ード命令に妨げられることなく実行できる。
【0024】本発明の第3の情報処理装置は上記した構
成によって、キャッシュメモリのヒット信号を取り出し
て保持し、過去複数サイクル分のヒット信号を加算する
ことにより、キャッシュメモリのヒット率を測定する。
キャッシュメモリのヒット率が低い場合、主記憶部への
データアクセスが頻発しシステムバスが混雑するので、
投機的ロード動作を中止することにより通常のロード命
令によるデータ転送が投機的ロード命令に妨げられるこ
となく実行できる。
【0025】本発明の第4の情報処理装置は上記した構
成によって、投機的ロード命令でキャッシュメモリに格
納されたデータが演算レジスタに転送されるまで消去さ
れず、演算に際して再転送することなく高速に演算が実
行できる。
【0026】
【実施例】以下本発明の一実施例の情報処理装置につい
て、図面を参照しながら説明する。
【0027】(実施例1)図1は本発明の第1の実施例
における情報処理装置の投機的ロード処理のブロック図
である。図1において、15は転送するデータである。
19は命令である。105は第1の転送条件である。1
06は第2の転送条件である。10はデータ15を記憶
する主記憶部である。13はデータ転送部である。14
はキャッシュメモリである。101は命令19を読み込
む命令読み込み部である。102は命令デコード部であ
る。103は命令比較部である。104は転送条件保持
部である。
【0028】以上のように構成された情報処理装置につ
いて、以下その動作を説明する。命令読み込み部101
では主記憶装置10あるいはキャッシュメモリ14から
命令19を読み込む。命令デコード部102では、命令
19を解読して投機的ロード命令か非投機的ロード命令
であるかという第1の転送条件105を生成する。転送
条件保持部104では、第1の転送条件105を1サイ
クル以上複数サイクル保持した後、第2の転送条件10
6として出力する。命令比較部103では、第1の転送
条件105が非投機的ロード命令であり、第2の転送条
件106が投機的ロード命令である場合、無効信号18
を生成する。さらに、データ転送部13では、第2の転
送条件106で実行される主記憶部10とキャッシュメ
モリ14間の投機的ロード命令によるデータ転送を無効
信号により中止する。
【0029】以上のように本実施例によれば、投機的ロ
ード命令に後続する非投機的ロード命令を検出し、投機
的ロード動作を中止することにより、通常のロード命令
によるデータ転送が投機的ロード命令に妨げられること
なく実行できる。
【0030】(実施例2)図2は本発明の第2の実施例
における情報処理装置の投機的ロード処理のブロック図
である。図2において、15は転送するデータである。
16はシステムバスのビジー信号である。17はビジー
信号の加算値である。18は無効信号である。10はデ
ータ15を記憶する主記憶部である。11はビジー信号
16を保持し、保持された複数サイクル分のビジー信号
の加算を実行するビジー信号加算部である。12はビジ
ー信号の加算値と規定値の比較を行なう比較部である。
13はデータ転送部である。14は高速の記憶装置であ
るキャッシュメモリである。
【0031】以上のように構成された情報処理装置につ
いて、以下その動作を説明する。投機的ロード命令の実
行に先だって、ビジー信号加算部11ではシステムバス
がデータ転送中であることを示すビジー信号16を取り
出す。さらに、過去複数サイクルのビジー信号16を保
持し、保持された複数サイクル分のビジー信号16の加
算を実行して、加算値17を生成する。比較部12で
は、規定値(これ以上の値だとシステムバスが混雑して
いると想定する値)と加算値17を比較する。そして、
加算値17が小さい場合は無効信号18を出力しない
が、加算値17の方が規定値より大きい場合はシステム
バスが混雑していると判断して無効信号18を出力す
る。
【0032】投機的ロード命令の実行では、比較部12
から無効信号18が出ていない場合、データ転送部13
から主記憶部10にデータ15の転送を要求する。デー
タ転送部13からの読み込み要求に従って、主記憶部1
3に格納されているデータ15は、システムバスを介し
てデータ転送部13に送られて、キャッシュメモリ14
に書き込まれる。しかしながら、比較部12から無効信
号18が出ている場合、データ転送部13は投機的ロー
ド命令によるデータ転送要求を無視する。その結果、主
記憶部10へのデータ15のアクセスとキャッシュメモ
リ14への転送は無効化される。
【0033】以上のように本実施例によれば、システム
バスが混雑している場合投機的ロード動作を中止するこ
とにより、通常のロード命令によるデータ転送が投機的
ロード命令に妨げられることなく実行できる。
【0034】(実施例3)図3は本発明の第3の実施例
における情報処理装置の投機的ロード処理のブロック図
である。図3において、15は転送するデータである。
22はキャッシュメモリのヒット信号である。23はヒ
ット信号の加算値である。18は無効信号である。10
はデータ15を記憶する主記憶部である。20はヒット
信号22を保持し、保持された複数サイクル分のヒット
信号の加算を実行するヒット信号加算部である。21は
ヒット信号の加算値と規定値の比較を行なう比較部であ
る。13はデータ転送部である。14は高速の記憶装置
であるキャッシュメモリである。
【0035】以上のように構成された情報処理装置につ
いて、以下その動作を説明する。投機的ロード命令の実
行に先だって、ヒット信号加算部20ではキャッシュメ
モリ14に保持されたデータが参照されたことを示すヒ
ット信号22を取り出す。さらに、過去複数サイクルの
ヒット信号22を保持し、保持された複数サイクル分の
ヒット信号22の加算を実行して、加算値23を生成す
る。比較部21では、規定値(これ以下の値だとキャッ
シュミスが多発していると想定する値)と加算値23を
比較する。そして、加算値23が大きい場合は無効信号
18を出力しないが、加算値23の方が規定値より小さ
い場合はキャッシュメモリのヒット率が低いと判断して
無効信号18を出力する。
【0036】投機的ロード命令の実行では、比較部21
から無効信号18が出ていない場合、データ転送部13
から主記憶部10にデータ15の転送を要求する。デー
タ転送部13からの読み込み要求に従って、主記憶部1
3に格納されているデータ15は、システムバスを介し
てデータ転送部13に送られて、キャッシュメモリ14
に書き込まれる。しかしながら、比較部21から無効信
号18が出ている場合、データ転送部13は投機的ロー
ド命令によるデータ転送要求を無視する。その結果、主
記憶部10へのデータ15のアクセスとキャッシュメモ
リ14への転送は無効化される。
【0037】以上のように本実施例によれば、キャッシ
ュメモリのヒット率が低い場合、主記憶部へのデータア
クセスが頻発しシステムバスが混雑するので、投機的ロ
ード動作を中止することにより通常のロード命令による
データ転送が投機的ロード命令に妨げられることなく実
行できる。
【0038】(実施例4)図4は本発明の第4の実施例
における情報処理装置のキャッシュメモリにデータを格
納するフロー図である。図4において、31、32、3
3、34、35、36、37、38、39は処理であ
る。
【0039】図5は本発明の第4の実施例における情報
処理装置のキャッシュメモリからデータを読み出すフロ
ー図である。図5において、40、41、43、44、
45は処理である。
【0040】図6は本発明の第4の実施例における情報
処理装置のキャッシュメモリの1個のデータを保持する
1エントリの構成図である。図6において、51はデー
タのアドレスを保持するタグ部である。52はデータを
格納するデータ部である。53はデータ部52の利用履
歴をしめすLRUフラグ部である。54はデータ部52に
格納されたデータが演算レジスタに転送されたことを示
すUフラグ部である。
【0041】以上のように構成された情報処理装置につ
いて、以下その動作を説明する。キャッシュメモリ14
は、図6に示すように個々のデータを格納するためのエ
ントリから構成される。各エントリは、データを格納す
るためのデータ部52と、データ部52に格納されたデ
ータが主記憶部10のどのデータと対応しているかを示
すためにデータの主記憶部10でのアドレスを保持する
タグ部51と、データ部52の参照履歴を保持するLRU
フラグ部53と、データ部52のデータが演算レジスタ
に転送されたことを示すUフラグ部54から構成され
る。LRUフラグ部53は各エントリの利用履歴を示し、
データ部52が参照される度に更新される。キャッシュ
メモリ14の容量は主記憶部10より通常小さいので、
主記憶部10のすべてのデータをキャッシュメモリ14
に格納することはできない。そのために、データを格納
するためのエントリに空きがない場合、LRUフラグ部5
3を参照して、参照履歴が最も古いデータをキャッシュ
メモリ14から取り除いて新しいデータを格納する。ま
た、Uフラグ部は、データ部52に格納されたデータが
演算レジスタに転送されたことを示し、投機的ロード命
令ではなく、通常のロード命令によりデータが演算レジ
スタに転送された場合にセットされる。
【0042】キャッシュメモリ14への書き込みは図4
の手順で実行される。処理31でデータ15を格納する
ための空いているエントリがあるか探索する。空きエン
トリがある場合は、処理32で空きエントリをデータ1
5書き込み用のエントリとする。空きエントリがない場
合は、処理37でUフラグがセットされたエントリを探
索する。Uフラグのセットされたエントリがある場合
は、処理38で、Uフラグがセットされ、かつLRUフラグ
を参照して最も古いエントリを選択する。Uフラグのセ
ットされたエントリがない場合は、処理39でLRUフラ
グを参照して最も古いエントリを選択する。処理33で
は、選択されたLRUフラグを更新し、処理34でUフラグ
をリセットし、処理35でデータ15の主記憶部10で
のアドレスをタグ部51に書き込む。さらに処理36
で、データ15をデータ部52に書き込む。
【0043】また、キャッシュメモリ14からの演算レ
ジスタへの読み込みは図5の手順で実行される。処理4
0で、読み込むアドレスとキャッシュメモリ14にある
各エントリのタグ部51を比較し、一致するものがある
か検索する。一致するものがない場合キャッシュミスと
なり、処理45で低速な主記憶10からデータを読み込
む処理を実行する。また、一致した場合はキャッシュヒ
ットとなり、処理41でタグ部51の一致したエントリ
のLRUフラグ部53を更新し、処理43でUフラグをセッ
トし、処理44でデータ部52からデータを読み出す。
【0044】以上のように本発明によれば、投機的ロー
ド命令でキャッシュメモリに格納されたデータが演算レ
ジスタに転送されるまで消去されず、演算に際して再転
送することなく高速に演算が実行できる。
【0045】図11のプログラムP2の実行例では、1
00番地の投機的ロード命令の実行後に、101番地の
非投機的ロード命令が存在する。そのため、100番地
の投機的ロード命令がキャンセルされる。また、システ
ムバスが混雑しているか、キャッシュヒット率が低い場
合、同様にキャンセルされる。したがってプログラムP
2の実行時間は、100番地の命令のキャンセルにより
投機的ロード命令がない場合と同様に合計で8サイクル
となる。また、システムバスが混雑することなく、キャ
ッシュヒット率が高く、ロード命令が連続しない場合、
投機的ロード命令による高速化が実現できる。
【0046】
【発明の効果】以上のように本発明の第1の情報処理装
置によれば、主記憶装置とキャッシュメモリから第1の
命令を読み込む命令読み込み部と、前記第1の命令を解
読して投機的ロード命令か非投機的ロード命令であるか
という第1の転送条件を生成する命令デコード部と、前
記第1の転送条件を1サイクル以上複数サイクル保持し
た後第2の転送条件として出力する転送条件保持部と、
前記第1の転送条件が投機的ロード命令であり、前記第
2の転送条件が非投機的ロード命令である場合、無効信
号を生成する命令比較部と、前記第2の転送条件で実行
される前記主記憶部と前記キャッシュメモリ間のデータ
転送を前記無効信号により中止するデータ転送部とを備
えることにより、投機的ロード命令に後続する非投機的
ロード命令を検出し、投機的ロード動作を中止すること
により、通常のロード命令によるデータ転送が投機的ロ
ード命令に妨げられることなく実行できる。
【0047】本発明の第2の情報処理装置によれば、シ
ステムバスがデータ転送状態であることを示すビジー信
号を取り出して前記ビジー信号の加算を行なうビジー信
号加算部と、前記加算の結果が規定値以上である場合は
無効信号を出力する比較部と、投機的ロード命令で実行
される主記憶部とキャッシュメモリ間のデータ転送を前
記無効信号により中止するデータ転送部を備えることに
より、システムバスが混雑している場合投機的ロード動
作を中止することにより、通常のロード命令によるデー
タ転送が投機的ロード命令に妨げられることなく実行で
きる。
【0048】本発明の第3の情報処理装置によれば、キ
ャッシュメモリに保持されたデータが参照されたことを
示すキャッシュのヒット信号を取り出して前記ヒット信
号の加算を行なうヒット信号加算部と、前記加算の結果
が規定値以下である場合は無効信号を出力する比較部
と、投機的ロード命令で実行される主記憶部とキャッシ
ュメモリ間のデータ転送を前記無効信号により中止する
データ転送部とを備えることにより、キャッシュメモリ
のヒット率が低く、主記憶部へのデータアクセスが頻発
しシステムバスが混雑している場合、投機的ロード動作
を中止することにより通常のロード命令によるデータ転
送が投機的ロード命令に妨げられることなく実行でき
る。
【0049】本発明の第4の情報処理装置によれば、主
記憶部から読み出された第1のデータを記憶するデータ
部と前記データ部に対応する読みだしフラグを持つキャ
ッシュメモリと、前記キャッシュメモリに前記第1のデ
ータが収納されると読みだしフラグをリセットするリセ
ット部と、前記第1のデータが前記演算レジスタに転送
されると前記読みだしフラグをセットするセット部と、
前記キャッシュメモリのリプレースには、前記読みだし
フラグがセットされている第2のデータがある場合は前
記第2のデータを置き換えて、前記第2のデータがない
場合は前記読みだしフラグがセットされていない第3の
データを置き換える置換え部を備えることにより、投機
的ロード命令でキャッシュメモリに格納されたデータが
演算レジスタに転送されるまで消去されず、演算に際し
て再転送することなく高速に演算が実行できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における情報処理装置の
投機的ロード処理のブロック図
【図2】本発明の第2の実施例における情報処理装置の
投機的ロード処理のブロック図
【図3】本発明の第3の実施例における情報処理装置の
投機的ロード処理のブロック図
【図4】本発明の第4の実施例における情報処理装置の
キャッシュメモリにデータを格納するフロー図
【図5】本発明の第4の実施例における情報処理装置の
キャッシュメモリからデータを読み出すフロー図
【図6】本発明の第4の実施例における情報処理装置の
キャッシュメモリの1個のデータを保持する1エントリ
の構成図
【図7】従来の情報処理装置の投機的ロード処理のブロ
ック図を示す図
【図8】従来の情報処理装置のキャッシュメモリにデー
タを格納するフロー図
【図9】従来の情報処理装置のキャッシュメモリからデ
ータを読み出すフロー図
【図10】従来の情報処理装置のキャッシュメモリの1
個のデータを保持する1エントリの構成図
【図11】情報処理装置で実行するプログラム図
【符号の説明】
10 主記憶部 11 ビジー信号加算部 12 比較部 13 データ転送部 14 キャッシュメモリ 15 データ 16 ビジー信号 17 加算値 18 無効信号 19 命令 20 ヒット信号加算部 21 比較部 22 ヒット信号 23 加算値 31、32、33、34、35、36、37、38、3
9 処理 40、41、43、44、45 処理 51 タグ部 52 データ部 53 LRUフラグ部 54 Uフラグ部 101 命令読み込み部 102 命令デコード部 103 命令比較部 104 転送条件保持部 105 第1の転送条件 106 第2の転送条件 P1 プログラム P2 プログラム

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】命令とデータを記憶する主記憶部からシス
    テムバスを介して前記データのロード動作の際に、キャ
    ッシュメモリに前記データを供給して演算レジスタには
    データを供給しない投機的ロード命令を実行する情報処
    理装置において、前記主記憶装置と前記キャッシュメモ
    リから第1の命令を読み込む命令読み込み部と、前記第
    1の命令を解読して投機的ロード命令か非投機的ロード
    命令であるかという第1の転送条件を生成する命令デコ
    ード部と、前記第1の転送条件を1サイクル以上複数サ
    イクル保持した後第2の転送条件として出力する転送条
    件保持部と、前記第1の転送条件が投機的ロード命令で
    あり、前記第2の転送条件が非投機的ロード命令である
    場合、無効信号を生成する命令比較部と、前記第2の転
    送条件で実行される前記主記憶部と前記キャッシュメモ
    リ間のデータ転送を前記無効信号により中止するデータ
    転送部とを備えた情報処理装置。
  2. 【請求項2】命令とデータを記憶する主記憶部からシス
    テムバスを介して前記データのロード動作の際に、キャ
    ッシュメモリに前記データを供給して演算レジスタには
    データを供給しない投機的ロード命令を実行する情報処
    理装置において、前記システムバスがデータ転送状態で
    あることを示すビジー信号を取り出して前記ビジー信号
    の加算を行なうビジー信号加算部と、前記加算の結果が
    規定値以上である場合は無効信号を出力する比較部と、
    前記投機的ロード命令で実行される前記主記憶部と前記
    キャッシュメモリ間のデータ転送を前記無効信号により
    中止するデータ転送部とを備えた情報処理装置。
  3. 【請求項3】請求項2記載のビジー信号加算部は、過去
    2個以上複数サイクルの前記ビジー信号を保持し、保持
    された複数サイクル分のビジー信号の加算を実行するこ
    とを特徴とする情報処理装置。
  4. 【請求項4】命令とデータを記憶する主記憶部からシス
    テムバスを介して前記データのロード動作の際に、キャ
    ッシュメモリに前記データを供給して演算レジスタには
    データを供給しない投機的ロード命令を実行する情報処
    理装置において、前記キャッシュメモリに保持されてい
    るデータが参照されたことを示すキャッシュのヒット信
    号を取り出して前記ヒット信号の加算を行なうヒット信
    号加算部と、前記加算の結果が規定値以下である場合は
    無効信号を出力する比較部と、前記投機的ロード命令で
    実行される主記憶部とキャッシュメモリ間のデータ転送
    を前記無効信号により中止するデータ転送部とを備えた
    情報処理装置。
  5. 【請求項5】請求項4記載のヒット信号加算部は、過去
    2個以上複数サイクルの前記ヒット信号を保持し、複数
    サイクル分のヒット信号の加算を実行することを特徴と
    する情報処理装置。
  6. 【請求項6】命令とデータを記憶する主記憶部からシス
    テムバスを介して前記データのロード動作の際に、キャ
    ッシュメモリに前記データを供給して演算レジスタには
    データを供給しない投機的ロード命令を実行する情報処
    理装置において、前記主記憶部から読み出された第1の
    データを記憶するデータ部と前記データ部に対応する読
    みだしフラグを持つキャッシュメモリと、前記キャッシ
    ュメモリに前記第1のデータが収納されると読みだしフ
    ラグをリセットするリセット部と、前記第1のデータが
    前記演算レジスタに転送されると前記読みだしフラグを
    セットするセット部と、前記キャッシュメモリのリプレ
    ースには、前記読みだしフラグがセットされている第2
    のデータがある場合は前記第2のデータを置き換えて、
    前記第2のデータがない場合は前記読みだしフラグがセ
    ットされていない第3のデータを置き換える置換え部と
    を備えた情報処理装置。
JP5100902A 1993-04-27 1993-04-27 情報処理装置 Pending JPH06309225A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5100902A JPH06309225A (ja) 1993-04-27 1993-04-27 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5100902A JPH06309225A (ja) 1993-04-27 1993-04-27 情報処理装置

Publications (1)

Publication Number Publication Date
JPH06309225A true JPH06309225A (ja) 1994-11-04

Family

ID=14286283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5100902A Pending JPH06309225A (ja) 1993-04-27 1993-04-27 情報処理装置

Country Status (1)

Country Link
JP (1) JPH06309225A (ja)

Similar Documents

Publication Publication Date Title
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US5944815A (en) Microprocessor configured to execute a prefetch instruction including an access count field defining an expected number of access
US8799590B2 (en) System enabling transactional memory and prediction-based transaction execution method
US5297281A (en) Multiple sequence processor system
EP1582980A1 (en) Context switching method, device, program, recording medium, and central processing unit
JPH11212788A (ja) プロセッサのデータ供給装置
CN106897230B (zh) 用于处理原子更新操作的装置和方法
JP3236287B2 (ja) マルチプロセッサシステム
GB2554096A (en) Handling of inter-element address hazards for vector instructions
WO2025138722A1 (zh) 访存失效队列处理方法、装置及电子设备
US6892280B2 (en) Multiprocessor system having distributed shared memory and instruction scheduling method used in the same system
JP2596712B2 (ja) 近接した分岐命令を含む命令の実行を管理するシステム及び方法
CN110291507B (zh) 用于提供对存储器系统的加速访问的方法和装置
US7451274B2 (en) Memory control device, move-in buffer control method
JPH0567976B2 (ja)
US7353341B2 (en) System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches
JPH06309225A (ja) 情報処理装置
CN119336659B (zh) 数据高速缓存访问方法和装置
JPH06230963A (ja) メモリアクセス制御装置
JPH08161226A (ja) データ先読み制御方法,キャッシュ制御装置およびデータ処理装置
JP3221409B2 (ja) キャッシュ制御システム及びその読出し方法並びにその制御プログラムを記録した記録媒体
JP2972451B2 (ja) ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式
JP2001344152A (ja) キャッシュメモリ装置
JPH02259945A (ja) ストア処理方式