[go: up one dir, main page]

JPH0210450A - キヤツシユメモリの先行フエツチ制御方式 - Google Patents

キヤツシユメモリの先行フエツチ制御方式

Info

Publication number
JPH0210450A
JPH0210450A JP63159121A JP15912188A JPH0210450A JP H0210450 A JPH0210450 A JP H0210450A JP 63159121 A JP63159121 A JP 63159121A JP 15912188 A JP15912188 A JP 15912188A JP H0210450 A JPH0210450 A JP H0210450A
Authority
JP
Japan
Prior art keywords
processor
data
access
block
address
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
JP63159121A
Other languages
English (en)
Inventor
Osamu Nishii
修 西井
Kunio Uchiyama
邦男 内山
Hirokazu Aoki
郭和 青木
Yasushi Nagashima
永島 靖
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63159121A priority Critical patent/JPH0210450A/ja
Publication of JPH0210450A publication Critical patent/JPH0210450A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプロセッサ、キャッシュメモリ、主記憶装置を
有する情報処理装置におけるブロック先行フェッチ方式
に関する。
〔従来の技術〕
キャッシュメモリについてはコンピューター・サーベイ
第14巻3号473−530ページ(Collpute
r 5urveys、Vol、14.&3.pp473
−530)で詳しく論じられている。キャッシュメモリ
とは主記憶に比べ、容量は小さいが、高速のアクセス(
読み書き)が可能なメモリであり、プロセッサの内部な
いしは近くにおき、プロセッサのアクセスを高速に行う
目的でおかれる。主記憶とプロセッサの間のデータの転
送時間はプロセッサの内部処理時間の数倍になるため、
処理に必要な命令。
データを実行のつと読みだしていたのでは、処理の高速
化は望めない。一方プロセッサは主記憶全体をアクセス
の対象としているが、ごく短時間の間にはそのうちのご
く一部分にアクセスは集中している。そこで主記憶の情
報の一部をキャッシュメモリにコピーし、プロセッサの
アクセスのほとんどをキャッシュメモリとの間で行うよ
うにすると、平均アクセス時間を短縮することが可能と
なる。
キャッシュメモリは記憶をブロックという適当な大きさ
を単位にして管理する。各ブロックはそれぞれ主記憶の
ある箇所と対応し、その箇所のデータの写しを保持して
いる。この記憶部分をデータアレイとよぶ。加えて各ブ
ロックが主記憶のどの箇所に対応しているかはもちろん
動的に変化することが可能であり、その情報もキャッシ
ュメモリに保持されている。この記憶部分をアドレスア
レイとよぶ。
プロセッサのアクセスのほとんどをキャッシュメモリと
の間で行うようにするためには、最近にひんばんにアク
セスされたデータはキャッシュ内におかれるべきである
し、その反対に最近に全くアクセスされていないデータ
は必ずしもキャッシュ内におかれるべきでない、キャッ
シュメモリは上に述べた要求を満たすような制御を行う
。それをリード時を例にとって説明すると次のようにな
る。
キャッシュ内のデータをアクセスしたときにはそのデー
タの属するブロックを保持し続け、キャッシュ内にない
データをアクセスしたときには、その主記憶上のデータ
を含む1ブロツクをキャッシュ内に転送し、その代わり
にキャッシュ内で最近値われていない1ブロツクを追い
出す6次にキャッシュメモリの制御に重要な先行フェッ
チについて説明する。先行フェッチとは、プロセッサが
アクセスしたデータの属するブロックの次ブロックをキ
ャッシュメモリが自動的に主記憶から転送する機能をい
う。近い将来にプロセッサが次ブロックを必要とする可
能性は一般に大きいので、プロセッサの要求を先回りす
ることによって主記憶とのデータ転送のための待ち時間
を短縮し、高速化に役立つものとなる。
〔発明が解決しようとする課題〕
この先行フェッチ機能を使用すると、プロセッサのアク
セスがキャッシュ内にヒツトするヒツト率が高くなり、
主記憶からのデータ転送により発生する時間遅延は減少
するが、同時にデータアレイ周辺のバスの混雑度が上が
り、そのためにプロセッサのアクセスが遅らされ、かえ
って全体の処理速度が低下する場合も起こりうる。とこ
ろで、プロセッサのアクセスは命令であるかないかによ
ってアクセスするアドレスの挙動が異なる。具体的には
命令アクセスのアドレスは直線状に増加する場合が多い
のに対し、命令以外のアクセスについては必ずしも単調
に増大するとは限らない。このような場合には命令アク
セスにのみ先行フェッチを行いたいという要求が考えら
れる。いま述べたように先行フェッチの実施をきめ細か
く行うことは必要であるが、従来、先行フェッチの制御
において、プロセッサのアクセスの内容、すなわち命令
アクセスか命令以外の(データ)アクセスかによって異
なる制御を行う方法は用意されていなかった。
〔課題を解決するための手段〕
そこで、本発明においてはプロセッサからのアクセスの
種類をプロセッサが信号線を使って出力していることを
利用し、その信号をキャッシュメモリが検出し、その検
出結果によって先行フェッチの処理を行うかどうかを選
択する機構を設けた。
〔作用〕
上に述べた手段をとることによって、従来は不可能であ
った命令アクセスのみについての先行フェッチ、または
反対に命令以外のアクセスのみについての先行フェッチ
を行うことが可能となった。
〔実施例〕
以下、図を使用し本発明を実現した例を述べる。
第1図は本情報処理装置の全体図を示す。10は演算を
制御・実行するプロセッサ、11はキャッシュメモリ、
12は主記憶装置である6プロセツサ10の内部は大別
すると命令を読みだし、その命令の意味を解釈する命令
解釈部13と、命令解釈部13の解釈結果に従い命令を
実行する命令実行部14とに分かれる。命令解釈部13
と命令実行部14はいずれもつながれているアドレス線
、データ線を使ってアクセスを行う。
アクセスタイプ線15はその時にアドレス線、データ線
を使ってアクセスを行っている主体が命令解釈部13と
命令実行部14のいずれであるかを示す信号線である。
アクセスタイプ信号15の従来における利用のされ方の
一例を挙げると、同じアドレスを命令とデータの2重の
意味に用い、命令とデータそれぞれに別のメモリを実装
してシステムを構成する場合、その2種類のメモリのい
ずれかを選択する信号線として用いられる使用法がある
キャッシュメモリ素子11の内部の各部分を以下に説明
する。アドレスアレイ16はプロセッサ側アドレス線を
介してプロセッサ10と、主記憶側アドレス線を介して
主記憶装置12とつながっている。データアレイ17は
プロセッサ側データ線を介してプロセッサ10と、主記
憶側データ線を介して主記憶装置12とつながっている
。アドレスアレイ16、データアレイ17は図に示すよ
うに列をなしているが、その列は下位アドレスによって
選択されるように構成されている。特に、下位アドレス
によって特定されるアドレスアレイおよびデータアレイ
が1列でなく複数列となる制御法をセットアソシアティ
ブ方式というが、本実施例においては、4列のセットア
ソシアティブ方式を行う。そのとき、アドレスアレイが
全部でN列あるとすると、−度のアクセスで第1列、第
(i + N / 4 )列、第(i+2N/4)列、
第(i+3N/4)列が同時に選択される。アドレスア
レイ16の各列は上位アドレスA、および2種類の1ビ
ツトのフラグ:有効フラグV、更新フラグUからなり、
データアレイ17の各列は1ブロック分のデータの記憶
部からなる。アドレスアレイ16の各列について上位ア
ドレスと下位アドレスの組合せによって1つのアドレス
が特定でき、主記憶上で該当アドレスから始まる1ブロ
ック分のデータが、対応する列のデータアレイ17に格
納されていることを示す、なお有効フラグVとは該当ア
ドレスについてデータアレイ17の情報は正しいことを
示すフラグであり、更新フラグUとは該当アドレスにつ
いてデータアレイ17の情報は正しいが主記憶12の情
報は正しくないことを示すフラグである。
ブロックバッファ18は主記憶装置12からデータアレ
イ17にデータを転送するとき一時的にデータを蓄える
バッファ記憶であり、データアレイ17へのアクセスが
円滑に行われるようにする効果をもつ。コントロールロ
ジック19はプロセッサ側コントロール線を介してプロ
セッサ10と。
主記憶側コントロール線を介して主記憶装置12とつな
がっている。ここでプロセッサ側コントロール線の中に
アクセスタイプ線15が含まれる。
アクセスタイプ線15がコントロールロジック19に入
力されていることは重要である。20は後述するヒツト
判定を行うための比較器であり、21はアドレスカウン
タである。
コントロールロジック19の内部を説明する。
ここでは本発明を説明する上で重要なもののみを示しで
ある。アクセスタイプ検出部22はアクセスタイプ信号
15を入力とし、プロセッサ10のアクセスの種別を検
出する。先行フェッチ起動コントロール部23は先行フ
ェッチ要求信号28の制御を行う回路である。先行フェ
ッチ起動回路24は先行フェッチ動作の起動を行う回路
であり、命令アクセス検出部22の検出結果27と先行
フェッチ要求信号28とを入力とし、先行フェッチ起動
信号29をメモリアクセスコントロール部25に出力す
る。メモリアクセスコントロール部25はキャッシュメ
モリ11と主記憶装置12との間のアクセスのコントロ
ールを行う回路である。
ビット判定部26は比較器20の比較結果を入力とし、
ヒツト判定の結果を先行フェッチ要求コントロール部2
3とメモリアクセスコントロール部25に通知する。
本装置におけるプロセッサ10からのアクセスの実現方
法について述べる。プロセッサ10がキャッシュメモリ
11に対しアクセス要求を出すと、コントロールロジッ
ク19は当該データがデータアレイ17に保持されてい
るかどうかを調べる。
このとき、保持されている場合をヒツト、保持されてい
ない場合をミスとよぶ、ヒツトかどうかの判定は次のよ
うにして行う、プロセッサ10が出力した下位アドレス
によってアドレスアレイ16のうち検索する4列を定め
、各列でその列から読みだした上位アドレスAと、プロ
セッサ10の出力した上位アドレスを比較する。また、
各列の有効フラグVを調べる。そのとき、上位アドレス
が一致し、かつ有効フラグVが1であるという条件がい
ずれか1列で成立すればヒツトとなる。上位アドレスの
比較は比較器20で行い、その結果をヒツト判定部26
に通知する。
キャッシュメモリを使用した装置において、ライトの方
法にはライトスルー法とコピーパック法の2通りがある
。ライトスルー法はライト時に常に主記憶に書き込む方
法であり、コピーパック法は主記憶には書き込まずデー
タアレイ17に書き込む方法である。コピーパック法で
は主記憶にデータを書き込まないため一時的に記憶内容
に不一致が生じるが、更新フラグUの使用と以下に述べ
る処理手順を行えば最終的にこの不一致は解消されるこ
とが理解できよう0本実施例においてはライトスルー法
とコピーバック法の両方が同時に使用でき、その両方を
アドレスの領域で分けている。
プロセッサ10からのアクセスが発生したときの処理手
順について、第2図のフローチャートに従い説明する。
なお、第2図でMPUはプロセッサ10、DAはデータ
アレイ17、BBはブロックバッファ18、MMは主記
憶袋[12、v、 uはそれぞれアドレスアレイ16内
の有効フラグ、更新フラグを示す。
(スタート):プロセッサ10からのアクセスが発生す
ると処理100へ。
処理100ニアドレスカウンタ21にアドレス線のアド
レスを取り込む。アクセスが リードアクセスならば処理101へ。
ライトアクセスならば処理108へ。
処理101:アクセスがキャッシュにヒツトしたならば
処理102へ。ミスしたなら ば処理103へ。
処理102:データアレイ17がらプロセッサ10にア
クセスされたデータを転送 し終了。
処理103:アクセスされたデータを含む1ブロツクを
主記憶装置12から運んでく るために、代わりにデータアレイ 17の中で追い出さなければならな い1ブロツクを決定する。そのブロ ックの有効フラグVと、更新フラグ Uが共に1ならば処理104へ、そ うでなければ処理105へ。
処理104:追い出すべき1ブロツクをデータアレイ1
7から主記憶装置12へ転送 する。処理105へ。
処理105:アクセスされたデータを含む1ブロツクを
主記憶装置12からブロック バッファ18に転送する。アクセス されたデータをブロックバッファ 18からプロセッサ10に転送する。
アクセスされたデータを含む1ブロ ツクをブロックバッファ18からデ ータアレイ17に転送する。データ アレイ17の転送した箇所に対応す るアドレスアレイ16の有効フラグ ■を1に、更新フラグUを0にする。
処理106へ。
処理106:先行フェッチ起動信号29が1ならば処理
107へ。Oならば終了。
処理107:アドレスカウンタ21の値を当初のアクセ
スアドレスに比べ1ブロツク の大きさだけ増やし処理101へ。
処理108:アクセスがキャッシュにヒツトしたならば
処理109へ。ミスしたなら ば処理112へ。
処理109:アクセスされた領域がコピーパック領域な
ら処理110へ。そうでなけ れば処理111へ。
処理110:プロセッサ10からデータアレイ17のヒ
ツトした箇所にデータを書 き込む。そして該当箇所に対応する アドレスアレイ16の更新フラグU を1にして、終了。
処理111:プロセッサlOからデータアレイ17のヒ
ツトした箇所、および主記 憶12にデータを書き込み、終了。
処理112:アクセスされた領域がコピーパック領域な
ら処理113へ、そうでなけ れば処理116へ。
処理113:アクセスされたデータを含む1ブロツクを
主記憶袋[12から選んでく るために、代わりにデータアレイ 17の中で追い出さなければならな い1ブロツクを決定する。そのブロ ックの有効フラグVと、更新フラグ Uが共に1ならば処理114へ、そ うでなければ処理115八。
処理114:追い出すべき1ブロツクをデータアレイ1
7から主記憶装置12へ転送 する。処理115へ。
処理115:アクセスされたデータを含む1ブロツクを
主記憶装置12からブロック バッファ18に転送する。アクセス されたデータを含む1ブロツクをブ ロックバッファ18からデータアレ イ17に転送する。プロセッサ10 からデータアレイ17の転送した箇 所にデータを書き込む。そして該当 箇所に対応するアドレスアレイ16 の有効フラグV、更新フラグUを共 に1にし、終了。
処理116:プロセッサ10から主記憶装置12にデー
タを書き込み、終了。
なお、先行フェッチのデータはプロセッサ10が直接要
求したデータではないので処理107を行った後の処理
102、処理105に関してはプロセッサ10へのデー
タの転送は行われない。
リードのミス発生時から先行フェッチ動作に至るまでの
コントロールロジック19の内部の動作を説明する。処
理101においてリードのミスが発生したという情報を
ヒツト判定部26から受けると先行フェッチ要求コント
ロール部23は先行フェッチ要求信号28を出力する準
備をする。そして処理105が終了した時点で先行フェ
ッチ要求コントロール部23は先行フェッチ要求信号2
8をアサート(信号を1にすること)する。
先行フェッチの動作は処理106内の先行フェッチ起動
信号によって起動する。本発明において先行フェッチ起
動信号を生成している先行フェッチ起動回路24の回路
図を第3図に示す。30゜31はそれぞれ命令アクセス
、命令以外のアクセスについて先行フェッチを行うこと
を指定するレジスタであり、それらのレジスタの内容は
プロセッサ10から設定することが可能である。アクセ
スタイプ検出結果27は、現在処理中のアクセスが命令
アクセスである間1となっている。32゜33、.34
は2人力のANDゲートであり、その出力値は2人力の
論理積となる。35は2人力のORゲートであり、その
出力値は2人力の論理和となる。36はNOTゲートで
あり、その出力値は入力の論理の反転値となる。
処理中のアクセスが命令アクセスであるときにはレジス
タ30の値が1であるときのみに先行フェッチ要求信号
28のアサートが先行フェッチ起動信号29に伝えられ
る。処理中のアクセスが命令アクセスでないときにはレ
ジスタ31の値が1であるときのみに先行フェッチ要求
信号28のアサートが先行フェッチ起動信号29に伝え
られる。
そして先行フェッチ起動信号29によってメモリアクセ
スコントロール部25は先行フェッチ動作に入る(処理
106→107)、次ブロックのヒツト判定を行い(処
理101)、次ブロックがミスしたという情報をヒツト
判定部26から受けると主記憶装置12に対し先行フェ
ッチアクセスを開始する(処理104または105)。
以上によって先行フェッチの起動をプロセッサのアクセ
スが命令アクセスであるかどうかによって独立に設定す
ることかできることを説明できた。
〔発明の効果〕
この情報処理装置を使用することにより、ソフトウェア
の側から命令アクセスと命令以外のアクセスについて、
直接増加性や反復性といったアクセスの挙動を考慮し、
それぞれについて先行フェッチの適用により利得がある
場合に先行フェッチの実施を行い、それによりプロセッ
サの処理速度を−層高めることが可能となる。
【図面の簡単な説明】
第1図は本発明で用いられる装置の全体図、第2図はプ
ロセッサからのアクセスの処理手順、第3図は第1図の
うち先行フェッチ起動回路の回路図である。 10・・・プロセッサ素子、11・・・キャッシュメモ
リ素子、12・・・主記憶装置、13・・・命令解釈部
、14・・・命令実行部、15・・・アクセスタイプ信
号。 16・・・アドレスアレイ、17・・・データアレイ、
18・・・ブロックバッファ、19・・・コントロール
ロジック、20・・・比較器、21・・・アドレスカウ
ンタ、22・・・アクセスタイプ検出部、23・・・先
行フエット要求コントロール部、24・・・先行フェッ
チ起動回路、25・・・メモリアクセスコントロール部
、26・・・ビット判定部、27・・・アクセスタイプ
検出結果、28・・・先行フェッチ要求信号、29・・
・先行フェッチ起動信号、30・・・命令アクセスにつ
いて先行フェッチを行うことを選択するレジスタ、31
・・・命令以外のアクセスについて先行フェッチを行う
ことを選択するレジスタ、32,33゜34・・・AN
Dゲート、35・・・ORゲート、36・・・第 凹

Claims (1)

    【特許請求の範囲】
  1. 1、主記憶装置とブロック単位で情報の授受を行うキャ
    ッシュメモリをもつ情報処理装置において、プロセッサ
    からアクセスされたデータが属するブロックの次のブロ
    ックがキャッシュメモリに存在しないときに上記次のブ
    ロックを主記憶から転送する先行フェッチ機能をもつ場
    合、プロセッサが信号線を使つて出力したアクセスの種
    類に関する情報を検出し、先行フェッチを行うか行わな
    いかの選択を、プロセッサの要求が命令アクセスである
    か命令以外のアクセスであるかの2種類について、それ
    ぞれ独立に設定する機能をもつことを特徴とするブロッ
    ク先行フェッチ方式。
JP63159121A 1988-06-29 1988-06-29 キヤツシユメモリの先行フエツチ制御方式 Pending JPH0210450A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63159121A JPH0210450A (ja) 1988-06-29 1988-06-29 キヤツシユメモリの先行フエツチ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63159121A JPH0210450A (ja) 1988-06-29 1988-06-29 キヤツシユメモリの先行フエツチ制御方式

Publications (1)

Publication Number Publication Date
JPH0210450A true JPH0210450A (ja) 1990-01-16

Family

ID=15686697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63159121A Pending JPH0210450A (ja) 1988-06-29 1988-06-29 キヤツシユメモリの先行フエツチ制御方式

Country Status (1)

Country Link
JP (1) JPH0210450A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
US6341334B1 (en) 1998-03-24 2002-01-22 Mitsubishi Denki Kabushiki Kaisha Bridge method, bus bridge, and multiprocessor system
JP2007500402A (ja) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド 周辺装置アクセス保護付きデータ処理システム
JP2012533811A (ja) * 2009-07-20 2012-12-27 フリースケール セミコンダクター インコーポレイテッド プリフェッチ・モジュールを備える信号処理システムおよび集積回路、並びにそのための方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
US6341334B1 (en) 1998-03-24 2002-01-22 Mitsubishi Denki Kabushiki Kaisha Bridge method, bus bridge, and multiprocessor system
JP2007500402A (ja) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド 周辺装置アクセス保護付きデータ処理システム
JP2012533811A (ja) * 2009-07-20 2012-12-27 フリースケール セミコンダクター インコーポレイテッド プリフェッチ・モジュールを備える信号処理システムおよび集積回路、並びにそのための方法

Similar Documents

Publication Publication Date Title
US4870565A (en) Parallel transfer type director means
KR100252570B1 (ko) 축소된요구블로킹을갖는캐시메모리
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
US5283883A (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
JP3577331B2 (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
US5845324A (en) Dual bus network cache controller system having rapid invalidation cycles and reduced latency for cache access
US6363460B1 (en) Memory paging control method
US5987570A (en) Performing overlapping burst memory accesses and interleaved memory accesses on cache misses
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
US5737756A (en) Dual bus computer network using dual busses with dual spy modules enabling clearing of invalidation queue for processor with store through cache while providing retry cycles for incomplete accesses to invalidation queue
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US4648033A (en) Look-aside buffer LRU marker controller
US5287483A (en) Prefetched operand storing system for an information processor
JPH0210450A (ja) キヤツシユメモリの先行フエツチ制御方式
US4737908A (en) Buffer memory control system
JPH07234819A (ja) キャッシュメモリ
KR20040047398A (ko) 캐쉬 메모리를 이용한 데이터 억세스 방법
KR920005296B1 (ko) 정보처리장치
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JP2703255B2 (ja) キャッシュメモリ書込み装置
JP3093446B2 (ja) 情報処理装置
JPS5818710B2 (ja) 記憶システム
JPH0421044A (ja) 1チップキャッシュメモリ
JPH02259945A (ja) ストア処理方式