JPH04236643A - メモリ予測アクセス装置 - Google Patents

メモリ予測アクセス装置

Info

Publication number
JPH04236643A
JPH04236643A JP3016884A JP1688491A JPH04236643A JP H04236643 A JPH04236643 A JP H04236643A JP 3016884 A JP3016884 A JP 3016884A JP 1688491 A JP1688491 A JP 1688491A JP H04236643 A JPH04236643 A JP H04236643A
Authority
JP
Japan
Prior art keywords
address
memory
line
holding means
read
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.)
Granted
Application number
JP3016884A
Other languages
English (en)
Other versions
JP3189282B2 (ja
Inventor
Masayuki Tanaka
昌幸 田中
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
Original Assignee
NEC Corp
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 filed Critical NEC Corp
Priority to JP01688491A priority Critical patent/JP3189282B2/ja
Publication of JPH04236643A publication Critical patent/JPH04236643A/ja
Application granted granted Critical
Publication of JP3189282B2 publication Critical patent/JP3189282B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は情報処理装置機器等で一
般的に用いられるメモリ機構のアクセス方式に関し、特
に、ランダムにアドレスを指定してアクセスするメモリ
について連続するリクエスト間の指定アドレスの相関関
係を利用して後方リクエストの指定するアドレスを予測
することによりメモリアクセスの効率化を図るメモリ予
測アクセス方式に関する。
【0002】
【従来の技術】従来、ランダムにアドレスを指定してア
クセスを行なうメモリアクセス方式に於いては、メモリ
読み出し時には、リクエスト元がメモリに対してアドレ
ス及びその他の必要なリクエスト情報を送ってメモリか
らの読み出しを行ない、読み出しデータが確定し、これ
らがリクエスト元に返却されて初めてリクエスト元は次
のメモリアクセスを起動することができた。
【0003】図6は従来例のブロック図であり、リクエ
スト元300がメモリ330をアクセスする装置を示し
たものである。
【0004】リクエスト元300はライト時、線302
よりリクエストアドレスを、線303よりライト指定値
として“1”を、線304より当該ライトデータを送出
する。また、リクエスト元300はリード時、線302
よりリクエストアドレスを、線303よりライト指定値
として“0”を送出し、線351より当該リードデータ
を受け取る。
【0005】ライト指定フラグ320は1ビットのレジ
スタで構成され、線303からライト指定値を受け、線
321に中継している。ライトデータレジスタ325は
線304からライトデータを受け、線326に中継して
いる。
【0006】メモリユニット310はメモリ330,ア
ドレスレジスタ345,リードデータレジスタ350を
含んでいる。メモリ330は線346でアドレスを、線
321でリード/ライトを指定され、リード時には指定
されたアドレスから読み出しを行なって線331にリー
ドデータを出力し、ライト時には線326から受けたラ
イトデータを指定されたアドレスに書き込む。アドレス
レジスタ345は線302からのリクエストアドレスを
受けて保持し、線346を介してメモリ330に対して
アドレスを指定している。リードデータレジスタ350
は線331からのリードデータを受け、線351に中継
している。尚、各レジスタ320,325,345,3
50は各タイミングを指定する単相のクロックに同期し
て動作するものである。
【0007】次に図6に示した従来例の動作を説明する
。今、例えば、リクエスト元300が図7に示すように
、アドレスAへのリードアクセス,アドレスA+1への
リードアクセス,アドレスA+2へのリードアクセス,
アドレスBへのライトアクセス,アドレスA+4へのラ
イトアクセス,アドレスCへのリードアクセスを順次行
なったとする。この時、実行されることになるアクセス
のアドレス,リード/ライト,アクセス順は図8に示す
ものとなる。
【0008】この一連のアクセスが実行された場合、図
6の各部は図9のタイミングチャートに示すように動作
する。即ち、タイミングt0に於いてはリクエスト元3
00から線302にアドレスAが、線303にライト指
定値として“0”が送出され、タイミングt1に於いて
はライト指定フラグ320に“0”が、アドレスレジス
タ345にアドレスAが保持され、タイミングt2に於
いてはリードデータレジスタ350にリードデータ(A
)が保持され、リクエスト元300に線351を介して
リードデータ(A)が取り込まれる。続く、タイミング
t3に於いてはリクエスト元300は線302にアドレ
スA+1を、線303にライト指定値として“0”を送
出する。タイミングt4に於いてはライト指定フラグ3
20に“0”が、アドレスレジスタ345にアドレスA
+1が保持され、タイミングt5に於いてはリードデー
タレジスタ350にリードデータ(A+1)が保持され
、保持されたリードデータ(A+1)がリクエスト元3
00に取り込まれる。タイミングt7に於いてはリクエ
スト元300から線302にアドレスA+2が、線30
3にライト指定値として“0”が送出され、タイミング
t8に於いてはライト指定フラグ320に“0”が、ア
ドレスレジスタ345にアドレスA+2が保持され、タ
イミングt9に於いてはリードデータレジスタ350に
データ(A+2)が保持され、保持されたリードデータ
(A+2)がリクエスト元300に取り込まれる。
【0009】タイミングt10に於いてはリクエスト元
300は線302にアドレスBを、線303にライト指
定値として“1”を、線304にライトデータW(B)
を送出し、ライト指定フラグ320に“1”を、アドレ
スレジスタ345にアドレスBを、ライトデータレジス
タ325にライトデータW(B)を保持させる。タイミ
ングt11に於いては、メモリ330のアドレスBへの
ライトデータW(B)の書き込みが行なわれると共に、
リクエスト元300から線302にアドレスA+4が、
線303にライト指定値として“1”が、線304にラ
イトデータW(A+4)が送出され、ライト指定フラグ
320に“1”が、アドレスレジスタ345にアドレス
A+4が、ライトデータレジスタ325にライトデータ
W(A+4)が保持される。タイミングt12に於いて
は、メモリ330のアドレスA+4へのライトデータW
(A+4)の書き込みが行なわれると共に、リクエスト
元300から線302にアドレスCが、線303にライ
ト指定値として“0”が送出される。続くタイミングt
13ではライト指定フラグ320に“0”が、アドレス
レジスタ345にアドレスCが保持され、次のタイミン
グt14でリードデータレジスタ350にリードデータ
(C)が保持され、リクエスト元300は線351より
リードデータ(C)を取り込む。ここで、リクエスト元
300はライトアクセス時には次のアクセスを直ちに開
始できるが、リードアクセス時にはリードデータが返る
まで、次のアクセスを開始できない点に着目する必要が
ある。以上が従来例の動作説明である。
【0010】
【発明が解決しようとする課題】上述した従来例は、ラ
ンダムにアドレスを指定してアクセスを行なう機能を実
現するため、アクセス毎にリクエスト元から供給される
メモリアドレスを適当な経路で中継してメモリアドレス
指定に用いる方式を採っている。一方、実際のメモリア
クセスはキャッシュメモリ方式の普及、各種DMA転送
,各種ブロック転送等により連続したアドレスを順番に
読み出す形式のアクセスが非常に高い頻度で生じており
、後続のリクエストアドレスが先行のリクエストアドレ
スの次のアドレスになる相関関係は非常に強く、その意
味で次のアドレスを高い確率で予測可能といえよう。 しかし、上述した従来方式では、次のアドレスを非常に
高い確率で予測できるにもかかわらず、如何なるアドレ
ス指定にも対処しなければならない必要性から、如何な
る場合に於いてもリクエストアドレスの到着を待ってか
らそのリクエストアドレスを用いてメモリアクセスを開
始していた。ここで、従来例にも示したように、通常リ
クエスト元がリクエストアドレスを送出し、次のリクエ
スト処理に移行するのは、早くてもリードデータを受け
取ってからというのが一般的で、これを考え合わせると
、メモリのアクセス動作は図9のタイミングチャートに
示したように常に離散的になってしまい、アクセス速度
を高速化することが難しいという問題があった。また、
このような問題点に対処するため、単純に高速のメモリ
素子でメモリ部を構成して強引に高速化を図ったり、キ
ャッシュメモリ方式を採用するということが従来より行
なわれている。しかしながら、これらの方法に於いては
、そのハードウェアが非常に高価であったり、大量の付
加機構を必要としたり、制御が非常に難解であったりす
るという新たな問題に直面する。
【0011】本発明の目的は簡単,安価なハードウェア
構成でアクセス速度を高速化できるようにすることにあ
る。
【0012】
【課題を解決するための手段】本発明は上記目的を達成
するため、ランダムにメモリのアドレスを指定してアク
セスを行なう形式のメモリ装置に於いて、リクエスト元
からのメモリアドレスを保持する機能と該保持したメモ
リアドレスをインクリメントする機能とを備えたアドレ
ス保持手段と、該アドレス保持手段に保持されているメ
モリアドレスによって読み出された前記メモリの内容を
保持するリードデータ保持手段と、前記リクエスト元か
らのメモリアドレスと前記アドレス保持手段のメモリア
ドレスとを比較する比較手段とを含み、リードアクセス
時、前記比較手段が前記アドレス保持手段に保持されて
いるメモリアドレスが前記リクエスト元からのリードア
ドレスの次のメモリアドレスであることを示すヒット報
告を出力した場合は前記リクエスト元に前記リードデー
タ保持手段に保持されているデータを取り込ませ、更に
、前記リードデータ保持手段に前記アドレス保持手段が
保持しているメモリアドレスが示すデータを取り込ませ
、その後、前記アドレス保持手段が保持しているメモリ
アドレスをインクリメントし、前記比較手段が前記アド
レス保持手段に保持されているメモリアドレスが前記リ
クエスト元からのリードアドレスの次のメモリアドレス
でないことを示すミスヒット報告を出力した場合は前記
アドレス保持手段に前記リクエスト元からのメモリアド
レスを取り込ませ、更に、前記リードデータ保持手段に
前記アドレス保持手段が保持しているメモリアドレスが
示すデータを取り込ませ、その後、前記アドレス保持手
段が保持しているメモリアドレスをインクリメントする
ようにしたものである。また、本発明は、ライトアクセ
ス時、前記リクエスト元からのアドレスを前記アドレス
保持手段に取り込ませ、該アドレス保持手段が取り込ん
だアドレスに従って前記メモリへの書き込みを行なうよ
うにしたものである。また、更に、本発明はブロック読
み出しを高速化するため、前記アドレス保持手段は上位
部分と下位部分とから構成され、インクリメント時には
該下位部分のみを歩進し、前記比較手段は前記アドレス
保持手段に保持されているアドレスが前記リクエスト元
からのアドレスの前記下位部分に相当する部分を歩進さ
せた結果と一致する場合はヒット報告を出力し、不一致
の場合はミスヒット報告を出力するようにしたものであ
る。
【0013】
【作用】リードアクセス時、比較手段がアドレス保持手
段に保持されているメモリアドレスがリクエスト元から
のリードアドレスの次のアドレスであることを示すヒッ
ト報告を出力している場合はリクエスト元にリードデー
タ保持手段が保持しているデータを取り込ませ、更に、
リードデータ保持手段にアドレス保持手段が保持してい
るメモリアドレスが示すデータを取り込ませ、その後、
アドレス保持手段の内容をインクリメントする。従って
、次のリードアクセスに於いて、前回アクセスしたメモ
リアドレスの次のアドレスがアクセスされた場合は、既
にリードデータ保持手段に今回アクセスするリードデー
タが保持されていることになるので、アクセスを高速化
することができる。また、ライトアクセス時にはリクエ
スト元からのアドレスをアドレス保持手段に取り込ませ
、アドレス保持手段が取り込んだアドレスに基づいてメ
モリへの書き込みを行なう。アドレス保持手段は上位部
分と下位部分とから構成され、インクリメント時には下
位部分のみが歩進される。従って、アドレス保持手段に
或るブロックの末尾のアドレスが保持されている時にイ
ンクリメントが行なわれると、アドレス保持手段は上記
或るブロックの先頭のアドレスを示すものとなる。また
、比較手段はアドレス保持手段に保持されているアドレ
スがリクエスト元からのアドレスの下位部分に相当する
部分を歩進させた結果と一致する場合はヒット報告を出
力し、不一致の場合はミスヒット報告を出力する。従っ
て、上記或るブロックの末尾のアドレスの次に上記或る
ブロックの先頭のアドレスをリードアクセスする場合も
、リードデータ保持手段にはブロックの末尾のアドレス
に対するアクセスが完了した時点で上記或るブロックの
先頭のアドレスのデータが保持されていることになるの
で、連続するアドレスをアクセスする場合と同様にアク
セスを高速化することができる。
【0014】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。図1は本発明の一実施例のブロック図
であり、リクエスト元100がメモリ130をアクセス
する装置の構成を示したものである。
【0015】リクエスト元100はメモリアクセス開始
時、線101よりアクセス開始指定値として“1”を出
力する。ライト時には、更に、線102よりリクエスト
アドレスを、線103よりライト指定値として“1”を
、線104より当該ライトデータを送出する。リード時
には、更に、線102よりリクエストアドレスを、線1
03よりライト指定値として“0”を送出し、その後、
線161からヒット報告を受けたら、線151より当該
リードデータを受取る。また、アクセス開始時でない場
合は、線101よりアクセス開始指定値として“0”を
送出すると共に、線102よりライト指定値として“0
”を送出する。
【0016】ライト指定フラグ120は1ビットのレジ
スタから構成され、線103からのライト指定値を受け
、線121に中継する。ライトデータレジスタ125は
線104からライトデータを受け、線126に中継する
。尚、ライト指定フラグ120,ライトデータレジスタ
125はタイミング調整用のレジスタである。
【0017】メモリユニット110はメモリ130,ア
ドレスレジスタ部140,リードデータレジスタ150
,比較器160,ライト指定履歴フラグ170,論理和
ゲート180を含んでいる。
【0018】メモリ130は線146からアドレスを、
線121からライト,リードの指定を受け、リード時に
は指定されたアドレスから読み出しを行なって線131
にリードデータを出力し、ライト時には線126から受
けたライトデータを指定されたアドレスに書き込む。
【0019】アドレスレジスタ部140は内部に線14
6を介してメモリ130に対して指定するアドレスを保
持するアドレスレジスタ145を有している。そして、
線101からアクセス開始指示を受けた時点(アクセス
開始指定値が“1”になった時点)で、線103からラ
イト指定値として“1”を受けている場合または線16
1からミスヒット報告を受けている場合には線102か
らアドレスレジスタ145にリクエストアドレスを取り
込ませ、線161からヒット報告を受けている場合はア
ドレスレジスタ145をインクリメントする。また、線
101からアクセス開始指示を受けた時点で、線103
からライト指定値として“1”を受けておらず、線16
1からのミスヒット報告に起因してアドレスレジスタ1
45に線102からのリクエストアドレスを取り込ませ
た場合は、そのタイミングで線147よりアドレス再格
納報告として“1”を出力し、次のタイミングで当該ア
ドレスレジスタ145をインクリメントする。
【0020】リードデータレジスタ150は線181か
らのメモリ読み出し指示によりストローブされ、線13
1からのリードデータを線151に中継する。比較器1
60は線146上のメモリアドレスと線102上のメモ
リアドレスとの比較を行ない、線146上のメモリアド
レスが線102上のメモリアドレスの次のメモリアドレ
スとなっていることに関し、肯定的な結果を検出した場
合はヒット報告の値“1”を、否定的な結果を検出した
場合はヒット報告の値“0”を、ヒット情報として線1
61に出力する。但し、線171からイネーブル情報と
して“1”が入力されていない場合は必ずヒット情報と
して値“0”即ちミスヒット報告を出力する。ライト指
定履歴フラグ170は1ビットのレジスタで構成され、
線181からのメモリ読み出し指示によりストローブさ
れて線121からライト指定を受け、この極性を反転さ
せた値を線171に出力する。論理和ゲート180は線
147からのアドレス再格納報告か、線101からのア
クセス開始指定の何れかが有効化した場合に線181よ
りメモリ読み出し指示を出力する。従って、アドレスレ
ジスタ145に保持されているアドレスが、リードデー
タレジスタ150に保持されているデータが格納されて
いたアドレスの次のアドレスである場合、ライト指定履
歴フラグ170の出力はイネーブルとなる。尚、各レジ
スタ120,125,145,150,170はタイミ
ングを指定する単相のクロックに同期して動作する。
【0021】次に本実施例の動作を説明する。ここでは
、前述した従来例との比較のため、リクエスト元100
が図7に示すアクセスを順次行なった場合の動作を説明
する。この時、実行されることになるアクセスのアドレ
ス,リード/ライト,アクセス順が図8に示すものとな
るのは、前述の通りである。
【0022】この一連のアクセスが実行された場合には
図1の各部は図2のタイミングチャートに示す動作を行
なう。尚、図2のタイミングチャートは説明を判り易く
するため、上記した一連のアクセス実行の開始時点に於
いては、ライト指定フラグ120には“0”が保持され
、線147にもアドレス再格納報告はないものとし、ア
ドレスレジスタ145,リードデータレジスタ150及
びライト指定履歴フラグ170は、前アクセスがアドレ
スA−1からの読み出しで、これを完了した時点での値
を引き継ぎ、それぞれアドレスA+1,アドレスAから
読み出したデータ(A)及び“0”を保持しているもの
とする。
【0023】先ず、リクエスト元100がタイミングt
0でアドレスAからの読み出しを開始し、アクセス開始
指定値,リクエストアドレス値及びライト指定値として
線101,102,103にそれぞれ“1”,アドレス
A及び“0”を出力する。これを受けて、比較器160
は線146上のアドレスレジスタ145が保持している
アドレスと線102からのリクエストアドレスとの比較
を行なう。この場合、線146,102上のアドレスは
それぞれA+1,Aで、線146上のアドレスが線10
2上のアドレスの次のアドレスになっており、また、ラ
イト指定履歴フラグ170の出力であるイネーブル情報
も“1”を示しているので、比較器160はヒット報告
を線161に出力する。線161にヒット報告が出力さ
れることにより、リクエスト元100はリードデータレ
ジスタ150に保持されているデータがメモリ130の
アドレスAから読み出されたデータであることを検出す
る。
【0024】タイミングt0からタイミングt1への変
化時、単相のクロックに同期して、リクエスト元100
は線151から所望のリードデータ(A)を取込み、リ
ードデータレジスタ150は線181にメモリ読み出し
指示が出力されていることから、それまでメモリ130
のアドレスA+1から読み出されていたリードデータ(
A+1)を取込み、ライト指定履歴フラグ170は線1
81にメモリ読み出し指示が出力されていることからそ
れまでメモリ130に対してリードを指定していた線1
21上の値“0”を取り込み、ライト指定フラグ120
は線103上のライト指定値“0”を取り込み、アドレ
スレジスタ部140は線161にヒット報告が出力され
ていることからアドレスレジスタ145の内容をインク
リメントしてA+2にする。
【0025】タイミングt1に於いては、リクエスト元
100は次のアクセスとしてのアドレスA+1からの読
み出しを開始し、アクセス開始指定値,リクエストアド
レス及びライト指定値として線101,102及び10
3にそれぞれ“1”,アドレスA+1及び“0”を出力
する。これにより、タイミングt0と同様な、比較器1
60による比較が行なわれ、比較結果がリクエスト元1
00へ線161により報告される。リクエスト元100
は線161からの報告に基づいてリードデータレジスタ
150に保持されている内容がメモリ130のアドレス
A+1から読み出されたデータであるか否かの検出を行
なうが、ここでもやはり肯定的な結果を検出する。
【0026】タイミングt1からタイミングt2への変
化時、単相のクロックに同期して、リクエスト元100
はタイミングt1に於いて開始されたアクセスに対する
リードデータ(A+1)を取り込み、リードデータレジ
スタ150は線181にメモリ読み出し指示が出力され
ていることからそれまでメモリ130のアドレスA+2
から読み出されていたリードデータ(A+2)を取り込
み、ライト指定履歴フラグ170は線181にメモリ読
み出し指示が出力されていることからそれまでメモリ1
30に対してリードを指定していた線121上の値“0
”を取り込み、ライト指定フラグ120は線103上の
ライト指定値“0”を取り込み、アドレスレジスタ部1
40は線161にヒット報告が出力されていることから
アドレスレジスタ145の内容をインクリメントしてA
+3にする。
【0027】次のタイミングt2に於いてはアクセスを
行なわないので、リクエスト元100は線101にアク
セス開始指定値として“0”を、線103にライト指定
値として“0”を送出する。
【0028】タイミングt2からタイミングt3への変
化時は、アクセス開始指定値が“0”であることから、
アドレスレジスタ145の内容,リードデータレジスタ
150の内容は変化しない。
【0029】また、タイミングt3に於いてはタイミン
グt0,t1と同様の動作が行なわれる。
【0030】タイミングt3からタイミングt4への変
化時に於いては、タイミングt0からタイミングt1へ
の変化時と同様の動作が行なわれる。
【0031】タイミングt4に於いてはアドレスBに対
する書き込みが開始され、リクエスト元100がアクセ
ス開始指定値,リクエストアドレス値,ライト指定値及
びライトデータ値として線101,102,103及び
104へ“1”,B,“1”,W(B)を出力する。
【0032】タイミングt4からタイミングt5への変
化時、アドレスレジスタ部140は線103からのライ
ト指定値が“1”であるので、アドレスレジスタ145
に線102からのアドレスBを取り込ませる。また、こ
れと同時に、ライト指定フラグ120,ライトデータレ
ジスタ125及びライト指定履歴フラグ170には、そ
れぞれ線103からのライト指定値“1”,線104か
らのライトデータW(B)及びそれまでライト指定フラ
グ120が保持していたライト指定値“0”が格納され
る。
【0033】次のタイミングt5に於いてはリクエスト
元100はメモリ130のアドレスBに対する書き込み
が行なわれている間に、次のアクセスであるアドレスA
+4に対する書き込みを開始する。即ち、リクエスト元
100はアクセス開始指定値,リクエストアドレス,ラ
イト指定値及びライトデータとして線101,102,
103及び104へ“1”,A+4,“1”,W(A+
4)を出力する。
【0034】タイミングt5からタイミングt6への変
化時、線103からのライト指定値が“1”であるので
、アドレスレジスタ部140はアドレスレジスタ145
に線102からのアドレスA+4を取り込ませる。また
、これと同時に、ライト指定フラグ120,ライトデー
タレジスタ125及びライト指定履歴フラグ170には
、それぞれ線103からのライト指定値,線104から
のライトデータW(A+4)及びそれまでライト指定フ
ラグ120に保持されていたライト指定値“1”が格納
される。また、リードデータレジスタ150にも或るデ
ータが取り込まれる。
【0035】タイミングt6に於いては、リクエスト元
100がアドレスCからの読み出しを開始し、タイミン
グt0,t1,t3と同様にアクセス開始指定値,リー
ドアドレス及びライト指定値として線101,102及
び103にそれぞれ“1”,C及び“0”を出力する。 比較器160は線171からイネーブル情報が加えられ
ていないので、ミスヒット報告を線161に出力する。 この時点でリクエスト元100は線161からのミスヒ
ット報告により、リードデータレジスタ150に保持さ
れているデータ(タイミングt5からタイミングt6へ
の変化時に取り込まれたデータ)がメモリ130のアド
レスCから読み出されたデータでないことを検出すると
、リードデータの取り込みは行なわず、線161からヒ
ット報告が返されるまで、線102及び線103にリク
エストアドレス値C及びライト指定値“0”を出力した
状態で待ち状態になる。
【0036】タイミングt6からタイミングt7への変
化時に於いては、アドレスレジスタ部140は線161
からミスヒット報告を受けているので、線102からの
リクエストアドレス値Cを単相のクロックに同期してア
ドレスレジスタ145に取り込ませる。このリクエスト
アドレス値Cの取り込みはミスヒット報告に起因するも
のであるので、アドレスレジスタ部140はそのタイミ
ングt7で線147よりアドレス再格納報告として“1
”を出力し、次のタイミングt8で当該アドレスレジス
タ145をインクリメントするよう動作する。
【0037】タイミングt7に於いては、リクエスト元
100は線161からヒット報告が返らないため、待ち
状態を続行する。即ち、リクエスト元100はアクセス
開始指定値,リクエストアドレス値及びライト指定値と
して線101,102及び103へ“0”,C,“0”
を送出する。尚、この時、ライト指定履歴フラグ170
の出力は“0”であり、比較器160はミスヒット報告
を出力するので、リクエスト元100はリードデータレ
ジスタ150に格納されているデータは無効であると判
断し、それを取り込むことはない。
【0038】タイミングt7からタイミングt8への変
化点では、アドレスレジスタ部140は前タイミングか
ら引き継いだ一連の手順として前述の通りアドレスレジ
スタ145をインクリメントするよう動作する。また、
アドレスレジスタ部140から線147へ出力されてい
るアドレス再格納報告が“1”となっていることにより
論理和ゲート180から出力されているメモリ読み出し
指示によってリードデータレジスタ150及びライト指
定履歴フラグ170はストローブされ、線131に読み
出されていたアドレスCからのリードデータ(C)及び
線121に出力されていたライト指定値“0”を取り込
む。
【0039】次のタイミングt8に於いては、リクエス
ト元100はタイミングt7と同様にアクセス開始指定
値,リクエストアドレス及びライト指定値として線10
1,102及び103にそれぞれ“0”,C,“0”を
出力する。この状態はタイミングt0,t1,t3での
状態と同様の状態であり、比較器160による比較以下
同様の動作が行なわれる。後は、タイミングt8からタ
イミングt9への変化時にリクエスト元100がリード
データレジスタ150に保持されている内容を取り込め
ば、図7に示した一連のアクセスが完了する。
【0040】次に図1,図3〜図5を参照して本発明の
他の実施例を説明する。図3は本実施例を実施する際に
使用するアドレスレジスタ145の構成例を示すブロッ
ク図、図4は本実施例を実施する際に使用する比較器1
60の構成例を示すブロック図、図5は本実施例の動作
説明図である。
【0041】本実施例はキャッシュメモリ方式等に於け
るブロック読み出しを想定している。キャッシュメモリ
方式に於いては、リード時にミスヒットが発生すると、
主記憶装置からミスヒットしたアドレスを含むブロック
の読み出しを行なう。ここで、方式によってはブロック
の先頭からではなく、図5に示すように、ミスヒットし
たアドレスから巡回的にブロックを読み出すものがある
。これは、一刻も早く必要なデータをリクエスト側に返
却するためである。本実施例はこのようなブロック読み
出しを高速に行なうことができるようにするものである
【0042】アドレスレジスタ145は図3に示すよう
に、上位部分145−1と下位部分145−2とに分か
れ、上位部分145−1にはブロック読み出しを行なう
ブロックのブロックアドレスEが、下位部分145−1
にはブロック内アドレスが格納される。そして、インク
リメント時、下位部分145−2のみを歩進するよう構
成されている。尚、下位部分145−2のビット数nは
キャッシュメモリのブロックサイズによって定まる。下
位部分145−2はその内容がオール“1”の時(ブロ
ックの末尾のアドレスの時)に歩進されると、その内容
をオール“0”(ブロックの先頭アドレス)にするもの
である。尚、図1と同一符号は同一部分を表している。
【0043】比較器160は図4に示すように、リクエ
スト元100から線102に送出されたリクエストアド
レスの下位nビットを+1して線991に出力する歩進
器900と、線911上のアドレスとアドレスレジスタ
145の出力である線146上のアドレスとが一致した
場合、その出力信号を“1”とする一致検出器910と
、一致検出器910の出力信号とライト指定履歴フラグ
170から線171に出力されるイネーブル情報との論
理積をとり、線161にヒット情報を出力するアンドゲ
ート920とから構成されている。尚、歩進器900は
線102上のリクエストアドレスの下位nビットがオー
ル“1”の場合は、下位nビットをオール“0”にする
ものである。
【0044】リクエスト元100はキャッシュメモリの
リード時にミスヒットが発生すると、先ず、線101,
102及び103にアクセス開始指定値,リクエストア
ドレス,ライト指定値としてそれぞれ“1”,ミスヒッ
トしたアドレスα及び“0”を出力し、ミスヒットした
アドレスαからのデータの読み出しを開始する。
【0045】これを受けて比較器160がヒット報告を
線161に出力した場合は、リードデータレジスタ15
0にはアドレスαから読み出したデータが格納されてい
ることになるので、リクエスト元100は線151から
リードデータ(α)を読み出す。また、リードデータレ
ジスタ150は前述したと同様にメモリ130のアドレ
スα+1から読み出されているデータ(α+1)を取り
込み、アドレスレジスタ部140はアドレスレジスタ1
45の下位部分145−2の内容を歩進し、α+2にす
る。その後、リクエスト元100は線101,102及
び103にアクセス開始指定値,リクエストアドレス,
ライト指定値としてそれぞれ“1”,α+1,“0”を
出力し、ミスヒットしたアドレスの次のアドレスα+1
からのデータの読み出しを開始する。
【0046】また、比較器160がミスヒット報告を出
力した場合はリクエスト元100はリードデータレジス
タ150に格納されているデータはアドレスαから読み
出したデータではないと判断してデータの取り込みは行
なわず、線161からヒット報告が返されるまで、線1
02及び線103にリクエストアドレスα及びライト指
定値として“0”を出力した状態で待ち状態となる。ま
た、アドレスレジスタ部140は比較器160からミス
ヒット報告を受けているので、線102上のリクエスト
アドレスαをアドレスレジスタ145に取り込ませる。 このリクエストアドレスαの取込みはミスヒット報告に
起因するものであるので、アドレスレジスタ部140は
そのタイミングで線147よりアドレス再格納報告とし
て“1”を出力し、次のタイミングでアドレスレジスタ
145の下位部分145−2をインクリメントするよう
動作する。線147よりアドレス再格納報告として“1
”が出力されると、論理和ゲート180からメモリ読み
出し指示が出力され、これにより、リードデータレジス
タ150はメモリ130のアドレスαから線131に読
み出されているリードデータ(α)を取り込む。その後
、アドレスレジスタ部140は前タイミングから引き継
いだ一連の手順としてアドレスレジスタ145の下位部
分145−2をインクリメントし、その内容をα+1に
する。これにより、比較器160はヒット報告を線16
1に出力し、ヒット報告を受けることにより、タクエス
ト元100は線151よりリードデータ(α)を取り込
み、その後、線101,102及び103にアクセス開
始指定値,リクエストアドレス,ライト指定値としてそ
れぞれ“1”,α+1,“0”を出力し、ミスヒットし
たアドレスの次のアドレスα+1からのデータの読み出
しを開始する。
【0047】以下前述したと同様にしてメモリ130か
らアドレスα+1,α+2,…の内容が順次読み出され
る。そして、リクエスト元100が線101,102及
び103にそれぞれアクセス開始指定値,リクエストア
ドレス値及びライト指示値としてそれぞれ“1”,ミス
ヒットしたアドレスを含むブロックの末尾のアドレスβ
の1つ前のアドレスβ−1及び“0”を出力し、アドレ
スβ−1に対するデータの読み出しを開始すると、線1
46,102上のアドレスはそれぞれβ,β−1である
ので、線146上のアドレスと線102上のアドレスを
+1した線911上のアドレスとが一致した場合、その
出力信号を“1”とする一致検出器910はその出力信
号を“1”とする。即ち、比較器160からヒット報告
が出力されることになる。
【0048】比較器160からヒット報告が出力される
と、リクエスト元100はメモリ130のアドレスβ−
1から読み出されたリードデータ(β−1)を読み取る
。また、リードデータレジスタ150は前述したと同様
にメモリ130のアドレスβから読み出されているリー
ドデータ(β)を取り込み、アドレスレジスタ部140
はアドレスレジスタ145の下位部分145−2を歩進
する。ここで、アドレスレジスタ145は下位部分14
5−2がオール“1”の場合、歩進時、それをオール“
0”にするものであるので、アドレスレジスタ145の
内容はミスヒットしたアドレスを含むブロックの先頭ア
ドレスγとなる。
【0049】次にリクエスト元100は線101,10
2及び103にアクセス開始指定値,リクエストアドレ
ス及びライト指示値としてそれぞれ“1”,β及び“0
”を出力し、アドレスβに対する読み出しを開始する。 この場合も、アドレスレジスタ145の内容がブロック
の先頭アドレスγ、線102上のリクエストアドレスが
ブロックの末尾アドレスとなっていることから、比較器
160から線161にヒット報告が出力され、リクエス
ト元100はメモリ130のアドレスβから読み出され
たリードデータ(β)を取り込む。また、リードデータ
レジスタ150も前述したと同様にメモリ130のアド
レスγから読み出されているリードデータ(γ)を取り
込み、アドレスレジスタ部140はアドレスレジスタ1
45の下位部分145−2を歩進してその内容をγ+1
にする。
【0050】次にリクエスト元100は線101,10
2及び103にアクセス開始指定値,リクエストアドレ
ス及びライト指示値としてそれぞれ“1”,γ,“0”
を出力し、ブロックの先頭アドレスγに対する読み出し
を開始する。この場合も、アドレスレジスタ145の内
容がγ+1、線102上のリクエストアドレスがγとな
っていることから、比較器160からヒット報告が出力
され、リクエスト元100はメモリ130のアドレスγ
から読み出されたリードデータ(γ)を線151を介し
て取り込む。以下、リクエスト元100はミスヒットし
たアドレスの1つ前のアドレスβ−1に対する読み出し
が完了するまで、前述したと同様の動作を行なう。この
ように、本実施例によれば、ブロックの末尾のアドレス
の次にブロックの先頭のアドレスをリードアクセスする
場合も、連続したアドレスをリードアクセスする場合と
同様に、末尾のアドレスに対するリードアクセスが完了
した時点で次にアクセスする先頭のアドレスのデータが
リードデータレジスタ150に保持されているので、ア
クセスを高速化できる。
【0051】
【発明の効果】以上説明したように、本発明は、リード
アクセス時、比較手段がアドレス保持手段に保持されて
いるメモリアドレスがリクエスト元からのリードアドレ
スの次のアドレスであることを示すヒット報告を出力し
ている場合はリクエスト元にリードデータ保持手段が保
持しているデータを取り込ませ、更に、リードデータ保
持手段にアドレス保持手段が保持しているメモリアドレ
スが示すデータを取り込ませ、その後、アドレス保持手
段の内容をインクリメントするようにしたものであり、
前回アクセスしたメモリアドレスの次のアドレスをアク
セスする場合は、既にリードデータ保持手段に今回アク
セスするリードデータが保持されていることになるので
、後続リードアドレスが先行リードアドレスの次のアド
レスになる可能性が非常に高いことを考えれば、非常に
高い確率で見掛け上、メモリアクセスタイムを殆ど0と
し、メモリアクセスの高速化を図ることができる効果が
ある。また、本発明は高速のメモリ素子でメモリ部を構
成して強引に高速化を図ったり、キャッシュメモリ方式
をとったりする従来例に迫る、或いは場合によってはそ
れらを凌駕する性能を、比較手段を設けたり、アドレス
保持手段にインクリメント機能を設けたりするといった
簡単なハードウェアを追加するだけで実現できるので、
ハードウェアをそれらとは比べ物にならないほど経済的
に実現できると共に制御ロジックを単純なものにするこ
とができる効果がある。また、更に、本発明は、アドレ
ス保持手段を上位部分と下位部分とに分け、インクリメ
ント時には下位部分のみをインクリメントし、比較手段
はアドレス保持手段に保持されているアドレスがリクエ
スト元からのアドレスの上記下位部分に相当する部分を
歩進させた結果に一致した場合、ヒット報告を出力する
ものであるので、或るブロックの末尾のアドレスの次に
ブロックの先頭のアドレスをアクセスする場合、連続し
たアドレスをアクセスする場合と同様に、見掛け上、メ
モリアクセスタイムをなくし、高速アクセスを行なうこ
とができる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】図1の動作を示すタイミングチャートである。
【図3】本発明の他の実施例を実施する際に使用するア
ドレスレジスタの構成例を示すブロック図である。
【図4】本発明の他の実施例を実施する際に使用する比
較器の構成例を示すブロック図である。
【図5】本発明の他の実施例の動作説明図である。
【図6】従来例のブロック図である。
【図7】一連のアクセスを示す図である。
【図8】図7のアクセスをアドレス空間上で表現した図
である。
【図9】従来例のタイミングチャートである。
【符号の説明】
100,300…リクエスト元 110,310…メモリユニット 120,320…ライト指定フラグ 125,325…ライトデータレジスタ130,330
…メモリ 140…アドレスレジスタ部 145,345…アドレスレジスタ 150,350…リードデータレジスタ160…比較器 170…ライト指定履歴フラグ 180…論理和ゲート 900…歩進器 910…一致検出器 920…アンドゲート

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  ランダムにメモリのアドレスを指定し
    てアクセスを行なう形式のメモリ装置に於いて、リクエ
    スト元からのメモリアドレスを保持する機能と該保持し
    たメモリアドレスをインクリメントする機能とを備えた
    アドレス保持手段と、該アドレス保持手段に保持されて
    いるメモリアドレスによって読み出された前記メモリの
    内容を保持するリードデータ保持手段と、前記リクエス
    ト元からのメモリアドレスと前記アドレス保持手段のメ
    モリアドレスとを比較する比較手段とを含み、リードア
    クセス時、前記比較手段が前記アドレス保持手段に保持
    されているメモリアドレスが前記リクエスト元からのリ
    ードアドレスの次のメモリアドレスであることを示すヒ
    ット報告を出力した場合は前記リクエスト元に前記リー
    ドデータ保持手段に保持されているデータを取り込ませ
    、更に、前記リードデータ保持手段に前記アドレス保持
    手段が保持しているメモリアドレスが示すデータを取り
    込ませ、その後、前記アドレス保持手段が保持している
    メモリアドレスをインクリメントし、前記比較手段が前
    記アドレス保持手段に保持されているメモリアドレスが
    前記リクエスト元からのリードアドレスの次のメモリア
    ドレスでないことを示すミスヒット報告を出力した場合
    は前記アドレス保持手段に前記リクエスト元からのメモ
    リアドレスを取り込ませ、更に、前記リードデータ保持
    手段に前記アドレス保持手段が保持しているメモリアド
    レスが示すデータを取り込ませ、その後、前記アドレス
    保持手段が保持しているメモリアドレスをインクリメン
    トすることを特徴とするメモリ予測アクセス方式。
  2. 【請求項2】  ライトアクセス時、前記リクエスト元
    からのアドレスを前記アドレス保持手段に取り込ませ、
    該アドレス保持手段が取り込んだアドレスに従って前記
    メモリへの書き込みを行なうことを特徴とする請求項1
    記載のメモリ予測アクセス方式。
  3. 【請求項3】  前記アドレス保持手段は上位部分と下
    位部分とから構成され、インクリメント時には該下位部
    分のみを歩進し、前記比較手段は前記アドレス保持手段
    に保持されているアドレスが前記リクエスト元からのア
    ドレスの前記下位部分に相当する部分を歩進させた結果
    と一致する場合はヒット報告を出力し、不一致の場合は
    ミスヒット報告を出力することを特徴とする請求項1ま
    たは2記載のメモリ予測アクセス方式。
JP01688491A 1991-01-18 1991-01-18 メモリ予測アクセス装置 Expired - Fee Related JP3189282B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01688491A JP3189282B2 (ja) 1991-01-18 1991-01-18 メモリ予測アクセス装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01688491A JP3189282B2 (ja) 1991-01-18 1991-01-18 メモリ予測アクセス装置

Publications (2)

Publication Number Publication Date
JPH04236643A true JPH04236643A (ja) 1992-08-25
JP3189282B2 JP3189282B2 (ja) 2001-07-16

Family

ID=11928599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01688491A Expired - Fee Related JP3189282B2 (ja) 1991-01-18 1991-01-18 メモリ予測アクセス装置

Country Status (1)

Country Link
JP (1) JP3189282B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4166926B2 (ja) 2000-06-14 2008-10-15 本田技研工業株式会社 自動二輪車のブレーキホースの配管構造

Also Published As

Publication number Publication date
JP3189282B2 (ja) 2001-07-16

Similar Documents

Publication Publication Date Title
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
JPS6331813B2 (ja)
US6700582B2 (en) Method and system for buffer management
JP2001290706A (ja) Tlbキャッシュのためのプリフェッチ
US5829010A (en) Apparatus and method to efficiently abort and restart a primary memory access
KR100282118B1 (ko) 하이스루풋단일포트다중갱신유니트태그제어기
US4800490A (en) Buffer storage control system having a priority circuit
US5012410A (en) Data processor with instruction cache memory
JPH04236643A (ja) メモリ予測アクセス装置
US6192424B1 (en) Bus arbiter for facilitating access to a storage medium in enhanced burst mode using freely specifiable address increments/decrements
US5802384A (en) Vector data bypass mechanism for vector computer
JP3372873B2 (ja) 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ
EP0943998B1 (en) Cache memory apparatus
JPH02110646A (ja) メモリの先行読出し装置
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
US6223257B1 (en) Instruction cache address generation technique having reduced delays in fetching missed data
JPH03241442A (ja) ストアバッファ制御方式
JP3188042B2 (ja) ディジタル計算機におけるテーブル検索装置
JPH0535583A (ja) メモリアクセス方式
JPH05210571A (ja) メモリアクセス方式
JP2550493B2 (ja) 入出力制御装置
JP2677706B2 (ja) メモリアクセス制御回路
JP2594567B2 (ja) メモリアクセス制御装置
JPH09244989A (ja) バスアクセス方式
JPH03293837A (ja) バス転送制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees