JPS6235949A - メモリ−装置 - Google Patents

メモリ−装置

Info

Publication number
JPS6235949A
JPS6235949A JP60176100A JP17610085A JPS6235949A JP S6235949 A JPS6235949 A JP S6235949A JP 60176100 A JP60176100 A JP 60176100A JP 17610085 A JP17610085 A JP 17610085A JP S6235949 A JPS6235949 A JP S6235949A
Authority
JP
Japan
Prior art keywords
address
data
memory
read
register
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
JP60176100A
Other languages
English (en)
Other versions
JPH0731627B2 (ja
Inventor
Noboru Murayama
村山 登
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP60176100A priority Critical patent/JPH0731627B2/ja
Priority to US06/892,869 priority patent/US5007011A/en
Publication of JPS6235949A publication Critical patent/JPS6235949A/ja
Publication of JPH0731627B2 publication Critical patent/JPH0731627B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の分野] 本発明はメモリー装置に関し、特にアクセス時間の長い
メモリーユニットを用いてデータ読み出しの高速アクセ
スを可能にしたメモリー装置に関する。
[従来の技術] メモリーの読み出し制御又は書き込み制御を開始してか
ら実際にデータの読み書きが行なわれるまでに必要とさ
れる時間が、アクセスタイムと呼ばれている。最近の半
導体メモリー(RAM等)においては、アクセスタイム
は標準的なもので、約200ナノ秒程度である。
一般に、コンピュータは、メモリからプログラム又はデ
ータを順次読み出して、その情報に応じた動作を行なう
ので、コンピュータのデータ処理速度は、メモリアクセ
スの時間によって大きく左右される。そこで、高速処理
を行なうコンピュータにおいては、アクセスタイムが短
い特別なメモリーを採用している。しかしながら、この
種の高速タイプのメモリーは、非常に高価である。
[発明の目的] 本発明は、アクセスタイムの長いメモリーユニットを用
いて、データ読み出しの高速アクセスを可能にすること
を目的とする。
[発明の構成] 上記目的を達成するため、本発明においては、=3− 過去の指定アドレスの変化の傾向から未来の指定アドレ
スを予測し、メモリが外部(例えば中央処理装置)から
アクセスされない時に、予測したアドレスのデータを読
み出してそれを内部のレジスタに格納しておく。そして
、外部からメモリ読み出し指示がある時に、その指定ア
ドレスと予測アドレスとが一致したら、その予測アドレ
スのデータを格納しであるレジスタからデータを読み出
して、それを外部のデータラインに出力する。
マイクロプロセッサの場合、一般に、命令の読取り、命
令解析および命令実行の各処理を順次行なって1つのマ
シンサイクルを実行するので、実際にメモリのアクセス
が行なわれる期間に比較してメモリがアクセスされない
期間の割合いはかなり大きい。従って、メモリがアクセ
スされない期間に、中央処理装置等とは別に、メモリ装
置の内部で独立してデータ読み出し制御を行なうことが
可能である。
一方、プログラムデータにおいては、各命令データが順
次配置されているので、マイクロプロセラサが、ジャン
プ令令、サブルーチンコール命令等の特殊な命令を実行
する場合を除き、プログラム読み出し指定アドレスの変
化は連続的である。従って、マイクロプロセッサがもし
プログラム読み込み以外のメモリ読み出し動作を行なわ
ないものと仮定すれば、メモリ読み出し指定アドレスは
、n。
fi + 1 、n +2 、 n + 3 、  ・
・・というように所定値ずつ更新されることになる。メ
モリ読み出し動作には、実際には、プログラム中で割り
当てたデータ領域からのデータ読み出しや、スタックか
らのデータ読み出しなどが含まれるが、それらの場合で
も所定値ずつ指定アドレスを更新しながらデータ読み出
しを繰り返す場合が多い。メモリ読み出し動作の指定ア
ドレスが規則的に変化しない割合いは、10%以下であ
る。
従って、メモリ読み出し指定アドレスが規則的に変化す
るものと仮定すれば、過去の指定アドレスの変化から、
未来の指定アドレスを予測することができる。そこで、
メモリが外部からアクセスされない期間を利用して、メ
モリ装置内部で予測したアドレスからメモリのデータを
読み出して、それを高速読み出し可能なレジスタ(例え
ばラッチ)に格納しておけば、外部からメモリアクセス
があった時に、レジスタに格納しであるデータを出力す
ることで、中央処理装置側から見たメモリ装置全体とし
てのデータ読み出しのアクセスタイムを大幅に短縮でき
る。指定アドレスの予測が外れた場合には、従来のよう
に直接メモリをアクセスすればよい。しかし、予測が外
れる割合いは前記のように10%以下であるので1本発
明によって、例えばアクセスタイムが200ナノ秒のメ
モリを用いて550〜55ナノ秒のアクセスタイムを実
現できる。
本発明の他の目的及び特徴は、以下の図面を参照した実
施例説明によって明らかになろう。
[実施例コ 以下1図面を参照して本発明の一実施例を説明する。
第1図に、メモリー装置の一実施例の構成概略を示す。
第1図を参照すると、この装置にはレジスタ10,20
.減算器30.制御ユニット40゜メモリユニット50
.バラフッ601選択回路70、シフトレジスタ80等
々が備わっている。このメモリ装置は、コンピュータの
システムバスに接続される。
レジスタ10は、システムバスから得られるアドレス情
報をデータ読み出しタイミングで保持する。
レジスタ20は、レジスタ10が出力する情報をデータ
読み出しタイミングで保持する。従って、2回のデータ
読み出しを行なうと、第1回目のデータ読み出しアドレ
スの値はレジスタ10を介してレジスタ20に保持され
、第2回目のデータ読み出しアドレスの値はレジスタ1
0に保持される。
つまり、レジスタ10の値とレジスタ20の値との差は
、第1回目と第2回目との指定アドレスの更新量と一致
する。この更新量が、減算器30の出力に得られる。
制御ユニッj−40は、減算器30が出力する指定アド
レス更新量と現アドレス(レジスタ10の出力)から未
来の指定アドレスを予測し、システムバス側からメモリ
アクセス指示がない時に、予測したアドレスでメモリユ
ニット50をアクセスし、読み出したデータをシフトレ
ジスタ80にセットする。システムバス側からのアクセ
スが無ければ、更に次のアドレスを予測して、メモリユ
ニット50をアクセスし、読み出したデータをシフトレ
ジスタ80に格納し、以後上記動作を繰り返し、シフト
レジスタ80内に、多数の予測データを格納する。
システムバス側からメモリ読み出し指示があると、制御
ユニット40は、その時の指定アドレスと。
予測した1つ又は複数のアドレスとが一致するかどうか
を判定し、−Mする場合には、そのアドレスから読んで
あるデータの、シフトレジスタ内位置に応じて、選択信
号を生成し、それを選択回路70及びバッファ60に与
えて、目的のデータを、シフトレジスタ80から、選択
回路70及びバッファ60を介して、システムバスのデ
ータラインに出力する。
第1図のメモリー装置の回路を具体化した回路=8− を、第2a図、第2b図、第2c図及び第2d図に示す
。なお、各回に示すオーバラインを付した記号は、その
信号がロウ・アクティブであることを示しているが、明
細書の説明においては特に区別を表示しない。各図を参
照して説明する。
第2a図のラッチ105,1.06及び減算器104は
、第1図のレジスタ10.20及び減算器30に、それ
ぞれ対応している。ラッチ1.05のデータ入力端子に
は、システムバスのアドレス端子ADR5が接続されて
いる。ランチ106のデータ入力端子には、ラッチ10
5の出力端子が接続されている。ラッチ105及び10
6の各ラッチ制御端子(cp)には、システムバスから
得られる読み出しストローブRDとIQリクエスト信号
l0R(1との論理積を演算したメモリリード信号MR
Dが印加される。
従って、システムバスに接続される図示しない中央処理
装置がメモリからデー多を読み出す時に、システムバス
のアドレス情報がラッチ105に保持され、ラッチ10
5の保持データがラッチ106に保持さ九る。従って、
ラッチ105に保持されるデータが第n回目のデータ読
み出し時のアドレス情報であるとすわば、ラッチ106
のデータは第n−1回目のデータ読み出し時のアドレス
情報になる。
ラッチ105の出力データ及びラッチ106の出力デー
タは5それぞれ、減算器104の入力端子A及びBに印
加される。減算器104の出力端子A−Hには、ラッチ
105の出力データとラッチ106の出力データとの差
の値、即ち、システムバスからのデータ読み出し制御に
おける指定アドレス更新量の最新値(以下ΔADで示す
)が出力される。
マルチプレクサ101.加算器102及びラッチ103
で楕成される回路が、予測アドレスを生成する。マルチ
プレクサ101は、最初は入力端子Bのデータ、即ち前
回データ読み出し時アドレス情報(以下A D oで示
す)を出力端子OUTに出力する。従って、加算器10
2はA D o+ΔADの値を出力する。この値が次回
の予測アドレスである。
即ち、システムバスに接続されるマイクロプロセッサが
連続するアドレスから順次データを読み出す動作を繰り
返している場合、アドレスの更新量は+1で一定である
から、アドレスはn−1,n。
n+1.n+2.  ・・・・と変化する。アドレスn
のデータを読んだ直後は、ラッチ105にnがセットさ
れ、ラッチ106にn−1がセットされているから、A
Doはnになり、ΔADは1シニなり、予測アドレス(
以下ADgで示す)はn+1になるから、次回の読み出
しアドレスとADgとが一致する。
マルチプレクサLotの選択制御端子SELに印加する
信号は、フリップフロップ113及び114が生成する
。フリップフロップ113の出力端子Qは、通常は低レ
ベルしてあるがメモリ読み出し動作を終了する時、即ち
メモリリードストローブMRDの立ち上がりエツジで高
レベルHにセットされる。フリッププロップ114の出
力端子Qは、通常は低レベルLであるが、フリッププロ
ップ113の出力端一11= 子Qが高レベルHにセットされた後でクロックパルスG
K2が印加されると、そのパルスの立ち下がりエツジで
高レベルHにセットされる。フリップフロップ114の
出力端子Qが高レベルHになると、ブリップフロップ1
13及び114のクリア制御端子CLRが高レベルHに
なり、フリッププロップ113及び114はクリアされ
る。従って、マルチプレクサ101の選択制御端子SE
Lは、メモリ読み出し動作を行なった直後の短時間だけ
Hになる。但し信号TSTがHになるとLのままである
。マルチプレクサ101は、端子SELがHの時に入力
端子Bの信号を出力端子OUTに出力し、端子Sl!L
がLの時に入力端子Aの信号を出力端子OUTに出力す
る。
マルチプレクサ101が入力端子Bを選択している時に
、その直前の読み出し指定アドレスADoとアドレス更
新量ΔADとを加算した値、即ちその直後の予測アドレ
スが生成され、それがクロックパルスCK2に同期して
ラッチ103に保持される。そのクロックパルスCK2
の立ち下がりで。
マルチプレクサ101が入力端子Aを選択する状=12
= 態に切り換わるので、更に次のクロックパルスCK2が
現われると、加算器の出力には第2番目の予測アドレス
(ADo+2ΔAD)が呪われ、それがラッチ103に
保持される。同様に、クロックパルスCK2が現われる
毎に、新しい予測アドレスが順次生成される。
メモリユニット50のアドレス指定端子にはマルチプレ
クサ107の出力端子が接続され、マルチプレクサ10
7の入力端子A及びBには、それぞれ、現アドレスAD
R8及び予測アドレスADgが印加される。マルチプレ
クサ107の選択制御端子SELにはメモリ読み出しス
トローブとメモリ書込みストローブとの論理和が印加さ
れる。こわにより、マルチプレクサ107は、システム
バスからメモリアクセス指示がある時には、システムバ
ス上の指定アドレスADR5をメモリユニット50のア
ドレス端子に印加し、システムバスがメモリアクセスを
要求しない時には、ラッチ103が出力する予測アドレ
スADgをメモリユニット50のアドレス端子に印加す
る。
なお、システムバスから得られるI○リクエスト信号l
0RQは、高レベルHの時にメモリを選択し、低レベル
Lの時に入出力装置(10)を選択する。
従って、この信号l0RQが高レベルHの時に、メモリ
読み出しストローブMRD及びメモリ書き込みストロー
ブMWRがアクティブになる。
メモリユニット50のデータ出力端子D○から出力され
る出力データD outは、第2b図のマルチプレクサ
121及びラッチ122の入力端子に印加される。ラッ
チ122の出力端子には、ラッチ123.124,12
5,126及び127が直列に接続されている。従って
、これらのラッチ122〜127で、6段のシフトレジ
スタを構成している。このシフトレジスタは、第1図の
シフトレジスタ80に対応する。このシフトレジスタは
、クロックパルスCK3が印加されると、読み出しデー
タDaubをラッチし、内部データをシフトする。
ラッチ122,123,124,125,126及び1
27の出力端子は、マルチプレクサ121の入力端子B
、C,D、E、F及びGにそれぞれ接続されている。こ
のマルチプレクサ121は、第1図の選択回路70に対
応する。マルチプレクサ121の出力端子OUTは、バ
ッファ120を介して、システムバスのデータラインD
ATAに接続されている。なお、バッファ120はスリ
ーステート出力になっている。バッファ120の出力許
可制御端子OEに、メモリ読み出しストローブMRDが
印加される。
第2c図に示す回路は、予測アドレスADgと指定アド
レスADR8との比較を行なう。予測アドレスADHは
、ラッチ139の入力端子に印加される。ラッチ139
の出力端子には、ラッチ140.141,142,14
3及び144が直列に接続されている。従って、これら
のラッチ139〜144が、6段のシフトレジスタを構
成している。このシフトレジスタは、第2bllのシフ
トレジスタ(122〜127)と同様にクロックパルス
CK3が印加されると、予測アドレスADgをラッチし
、内部データをシフトする。従って、各ラッチ139〜
144には、ラッチ122〜127に保持されるデータ
(Dout)に対応するメモリアドレス(予測アドレス
)が、それぞれ保持される。
ラッチ139,140,141,142,143及び1
44の各出力端子は、それぞれ、デジタル比較器133
,134,1.35,136,137及び138の各入
力端子Bに接続されている。デジタル比較器133〜1
38の入力端子Aには、指定アドレスADR8が印加さ
れる。デジタル比較器133〜138の各出力端子A=
Bは、入力端子Aの値と入力端子Bの値とが一致すると
高レベルHを出力し、そうでなければ低レベルLを出力
する。
つまり、それまでに予測した1つ又は複数(6以下)の
予測アドレスの中に、指定アドレスADR8と同一のも
のが存在する場合には、それに応じた1つのデジタル比
較器から、高レベルHが出力される。予測が全て外れた
場合には、デジタル比較器133〜138の出力端子は
、全て低レベルLになる。
デジタル比較器133〜138の出力端子は、エンコー
ダ131及びオアゲート132に接続されている。オア
ゲート132は、デジタル比較器133〜138のいず
れか1つが高レベルHを出力すると信号TSTを高レベ
ルHにセットし、そうでなければ信号TSTを低レベル
Lにセットする。
エンコーダ131が出力するデータDsは、デジタル比
較器133〜138の全てが低レベルLを出力する時に
0になり、各デジタル比較器133゜134.135,
136,137及び138が高レベルHを出力する時に
、それぞれ1,2,3゜4.5及び6になる。
エンコーダ131の出力データDsは、第2b[のマル
チプレクサ121の選択制御端子SELに印加される。
マルチプレクサ121は、選択制御端子SELにOp 
1+ 2+ 3p 4+ 5及び6が印加されると、そ
れぞれ、入力端子A; B、C,D。
E、F及びGの信号を出力端子OUTに出力する。
従って、予測アドレス(シフトレジスタに保持されたA
Dg)の中に指定アドレスADR3と一致するものが存
在すると、そのアドレスに対応するデータを保持するラ
ッチ(123〜127のいずれか)の保持データを、バ
ッファ120を介して選択的にシステムバスに出力する
次に第2d図を参照する。発振器162は常時所定周期
のクロックパルスCKIを出力する。カウンタ]、 5
1のパルス入力端子CPには、アンドゲート152が接
続されている。アンドゲート152の4つの入力端子に
は、それぞれ、メモリ読み出しス1−ローブMRD、メ
モリ書き込みストローブMWR,クロックパルスCKI
及びインバータ153の出力信号が印加さ九る。
従って、システムバスがメモリアクセスを要求しない場
合、クロックパルスCKIがカウンタ151に印加され
、カウンタ151はそれを計数する。
計数値は、カウンタ151の出力端子OUTに出力され
る。この端子は、デジタル比較器150の入力端子Bに
接続されている。デジタル比較器150のもう1つの入
力端子Aには、予め定めた固定値Rmax  (この例
では7)が、常時印加さ九ている。
デジタル比較器150の出力端子A=Bに現われる信号
CTRLは、入力端子Aの値と入力端子Bの値とが一致
すると高レベルHになり、そうでなければ低レベル乙に
なる。信号CTRLが高レベルHになると、インバータ
153を介してアンドゲート152の1つの入力端子が
低レベルLになり、アンドゲート152の出力端子は常
時りになる。即ち、クロックパルスがカウンタ151に
印加されなくなるので、カウンタ151の計数はRma
xの値で停止する。
制御信号CTRLは、アンドゲート115の一方の入力
端子に印加される。アンドゲート115のもう一方の入
力端子には、メモリ読み出しストローブMRDが印加さ
れる。アンドゲート115の出力信号は、メモリユニッ
ト50の読み出し制御端子RDに印加される。従って、
制御信号CTRLが低レベルLの時、即ちカウンタ15
1が計数を行なっている間、メモリユニット50からの
データ読み出しが行なわれる。
第2d図に示すように、クロックパルスGK2を遅延回
wi154で少し遅らせた信号がクロックパルスCK3
になっている。従って、カウンタ151が計数を行なう
間、即ち最大でクロックパルスCK2が6個現われるま
での間、クロックパルス(CK3)がシフトレジスタ(
122〜127)に印加されることになる。このシフト
レジスタは、クロックパルスが現われる毎に、メモリユ
ニット50の出力データDoutをラッチし、ラッチ済
みのデータを各々シフトするので、6個のクロックパル
スが印加されると、6つのデータがシフトレジスタ (
122〜127)内に蓄えられる。
一方、クロックパルスCK2の各パルスが発生する毎に
、ラッチ103が、新しい予測アドレスADHを生成し
てそれをメモリユニット50に印加するので、シフトレ
ジスタ(122〜127)に蓄えられる各データは、予
測アドレスのデータである。つまり、この例では最大で
6つの予測アドレスからのデータを、実際に読み出しが
行なわれ一20= る前にシフトレジスタ(122〜127)に保持する。
クロックパルスCK2が7つ出力される前であっても、
システムバスからメモリアクセス要求があると、メモリ
読み出しストローブMRD又はメモリ書込みストローブ
MWRが低レベルLになるため、そわ以上のパルスの出
力は禁止され、カウンタ151の計数動作は停止する。
1つの例をあげて説明する。予めメモリユニット50か
らの予測データ読み出しを行なった後で、システムバス
からメモリ読み出し要求があった時に、指定アドレスA
DR3と一致する予測アドレスデータがラッチ143に
格納されていれば、デジタル比較器137の出力端子高
レベルHになる。
この時、エンコーダ131から出力されるデータDsの
値は5になる。
R,て、マルチプレクサ121は、ラッチ126に保持
されたデータを選択的に出力する。この場合、ラッチか
らのデータ読み出しなので、メモリアクセス時間は非常
に短くなる。またこの時、工ンツーダ131の出力デー
タDsがカウンタ151のデータ端子DATに印加され
、メモリ読み出しストローブMRDがカウンタ151の
プリセット制御端子PSTに印加されるので、それによ
ってカウンタ151の計数値が5にプリセットされる。
従って、システムバスからのメモリアクセスが終了する
と、カウンタ151の計数は5からスタートし、7でス
トップする。その間にクロックパルスCK2は2つ出力
されるので、新しいデータは2つだけ読み出される。2
回の予測データ読み出しが行なわれると、それまでラッ
チ122,123.124及び125に格納されていた
データは、それぞれラッチ124,125,126及び
127に転送され、新しいデータがラッチ123及び1
22に格納される。
つまり、今回読み出したラッチ126のデータより先の
予測データは、シフトレジスタ内に保存される。予測が
当たると、信号TSTが高レベルHになるので、インバ
ータ117の出力が低レベルLになり、アンドゲート1
16の出力端子は低レベルLの状態を維持する。従って
、この場合には、予測アドレスの演算に利用する前回読
み出しアドレスA D oの値は、その時の指定アドレ
スADR8に更新されず、それまでに予測した最も未来
の予測アドレス(ラッチ103の出力)になる。即ち、
ラッチ126に格納されていたデータを第n番目のデー
タと仮定すれば、データを読み出した時点で、既にn+
1番目、n+2番目、n+3番目及びn+4番目の未来
の予測データが各ラッチ125.124,123及び1
22に格納さ九ているので、それらを再び読み出す必要
はなく、それらに続くn+5番目のデータから予測アド
レスを生成すればよい。
このような制御を行なうことにより、システムバスのメ
モリアクセスの周期が一時的に短くなった場合でも、そ
れ以前に予測データ読み出しを完了していればそのデー
タを出力できる。
もし予測が外れた場合には、エンコーダ131がデータ
Dsとして0を出力するので、マルチプレフサ121は
メモリユニット50からの直接の出力データDou七を
システムバスに出力する。この場合、メモリユニット5
0のアドレス端子はADR3になる。また、信号TST
が低レベルLのままなので、メモリ読み出し終了のタイ
ミングで、フリッププロップ113から出力されるパル
スによって、マルチプレクサ101がその時の読み出し
アドレス(ラッチ105の出力)を、予測アドレス演算
用の前回アドレスADoとして選択し、その直後のクロ
ックパルスGK2によって、次回の第1の予測アドレス
が生成される。
つまり、予測が外れた場合には、前回アドレスADOを
最新のものに更新し、新たに予測動作を開始する。この
場合、エンコーダ出力のデータDsは0なので、カウン
タ151には0がプリセットされ、これによってラッチ
122〜127は全てクリアされる。
この例では、システムバス側から見たメモリ読み出しの
アクセス時間が、予測が当たった場合と外わた場合とで
大きく変わるので、この実施例では、=24− システムバス側に接続されるマイクロプロセッサのため
に、同期信号READYを出力する。この信号を生成す
る回路は第2d図に示されている。
第2d図を参照すると、この信号READYは、遅延回
路155,156.インバータ157.ナントゲート1
58.オアゲート159,160及びアンドゲート16
1を用い、制御信号TST及びMRDをもとにして生成
されている。
遅延回路155は比較的長い遅延時間TL(この例では
約200ナノ)を有し、遅延回路156は比較的短い遅
延時間TS(この例では約50ナノ秒)を有している。
従って、予測が当たった場合には、メモリ読み出しスト
ローブMRDが出力されてから50ナノ秒経過した時に
信号READYが出力され、予測が外れた場合には、2
00ナノ秒を経過した時に出力される。
従って、システムバスに接続される中央処理装置等は、
信号READYが出力されるまで、ストローブ信号RD
の出力時間を引き延ばせばよい。これにより、予測が当
たった場合には短時間で読み出しを完了でき、予測が外
れた場合でも従来と同様のアクセス時間で読み出しでき
る。
第3図、第4a図及び第4b図に5この実施例の各信号
のタイミングの例が示しであるので参照されたい。なお
、第3図のTaccが、読み出しアクセス時間である。
第5図に、この実施例のメモリー装置の動作の概略(一
部省略)をフローチャートとして示しである。
第5図を参照して全体の動作を説明する。まず、データ
保持数カウンタCN(第2d図の151に対応)をクリ
アし、メモリアクセス要求の有無をチェックする。メモ
リアクセス要求がなければ、カウンタCNをチェックし
、CNが最大値を越えてなければ、以下の動作を行なう
まず、前回読み出しアドレスA D oにアドレス更新
量ΔADを加算し、その結果を予測アドレスADgにす
る。そしてカウンタCNを+1し、生成した予測アドレ
スADgでメモリをアクセスする。
それによって読み出されたデータ(Dout)を、シフ
トレジスタ(122)に保持し、それまでのシフトレジ
スタのデータはシフトする。
メモリアクセス要求があるか、又はカウンタCNが最大
値を越えるまで、上記処理を繰り返す。
メモリアクセス要求があると、最新の2つのアドレス値
を保持するレジスタ(105,106)の内容を新しい
ものに更新し、その結果に応じてアドレス更新量ΔAD
も更新する。
次に指定されたアドレスと1つ又は複数の予測アドレス
とを比較し、予測が成功かどうかを判定する。成功の場
合には、指定アドレスと一致する予測アドレスから読ん
だデータをシフトレジスタから読み出して、それをデー
タバスに出力する。予測が失敗した場合には、システム
バスの指定アドレスADR8をメモリに与えて、メモリ
から読み出したデータを直接、システムバスのデータバ
スに出力する。
そして、データを読み出した位置に応じて、カウンタC
Nの値をプリセットする。
以後、上記動作を繰り返し行なう。
なお、上記実施例ではアクセスタイムが200ナノ秒程
度のRAMをメモリユニットとして用いているが、アク
セスタイムがもつと短いメモリやアクセスタイムの非常
に長いメモリも利用でき、また半導体メモリに限らず様
々な記憶ユニットを用いることができる。勿論、読み出
し専用メモリを利用してもよい。
[効果コ 以上のとおり本発明によれば、アクセスタイムの長いメ
モリユニットを用いて、そのアクセスタイムよりも遥か
に短い時間で、データの読み出しができる。これにより
、メモリー装置の大幅なコス1−ダウンが可能である。
【図面の簡単な説明】
第1図は、本発明の一実施例の構成の概略を示すブロッ
ク図である。 第2a図、第2b図、第2C図及び第2d図は、第1図
の装置を具体的に示すブロック図である。 第3図、第4a図及び第4b図は、実施例の装置各部の
信号タイミングの一例を示すタイミングチャートである
。 第5図は、実施例装置の動作の概略を示すフローチャー
トである。 50:メモリユニット(メモリ手段) 122、1.23.124.1.25.126,127
 jランチ(レジスタ)102:加算器(アドレス予測
手段) 101.107,121:マルチプレクサ105.10
6:ラッチ 131:エンコーダ 1133.134J35,1.36,137,138 
:デジタル比較器139.140,141,1/12,
143,144 :ラッチ151:カウンタ

Claims (4)

    【特許請求の範囲】
  1. (1)アドレス指定端子; データ端子; 複数のアドレスに各々データを格納する領域を備えるメ
    モリ手段; 前記メモリ手段から読み出したデータを一時的に保持す
    る、複数のレジスタ; 前記アドレス指定端子に現われた過去の信号変化の傾向
    から、その先に現われるアドレス信号を予測して生成す
    るアドレス予測手段; 外部からのメモリアクセスがない時に、前記アドレス予
    測手段が予測したアドレスを順次指定して前記メモリ手
    段をアクセスし、該メモリ手段から読み出したデータを
    前記レジスタに格納する先読み制御手段;および 外部からのメモリ読み出し指示がある時に、前記アドレ
    ス指定端子に現われた信号を参照し、それが前記レジス
    タに格納されているデータのアドレスと一致するかどう
    か判定し、一致したらそのアドレスのデータを保持する
    レジスタのデータを前記データ端子に出力し、一致しな
    ければ前記メモリ手段をアクセスして読み出したデータ
    を前記データ端子に出力する、データ読み出し制御手段
    ; を備えるメモリー装置。
  2. (2)アドレス予測手段は、メモリ読み出し指示がある
    時に前記アドレス端子に現われる信号を保持する第1の
    アドレス保持手段、該第1のアドレス保持手段の出力信
    号を保持する第2のアドレス保持手段、第1のアドレス
    保持手段の出力信号と第2のアドレス保持手段の出力信
    号との差を出力する第1の演算手段、第1の演算手段の
    出力信号に基づいてアドレス情報を生成する第2の演算
    手段、を備える、前記特許請求の範囲第(1)項記載の
    メモリー装置。
  3. (3)データ読み出し制御手段は、前記レジスタと同数
    のアドレス保持手段を備え、各々のアドレス保持手段に
    、前記レジスタに予測データを格納する時に生成される
    予測アドレスの値を各々格納する、前記特許請求の範囲
    第(1)項記載のメモリー装置。
  4. (4)先読み制御手段は、カウンタを備え、該カウンタ
    の計数値が所定値になるまで、前記レジスタに予測アド
    レスのデータ格納を行ない、外部からのデータ読み出し
    指示がある時にアドレスの予測と指定アドレスが一致す
    ると、その一致したアドレスのデータを保持するレジス
    タの位置に応じて前記カウンタの計数値を更新する、前
    記特許請求の範囲第(1)項、第(2)項又は第(3)
    項記載のメモリー装置。
JP60176100A 1985-08-10 1985-08-10 メモリ−装置 Expired - Fee Related JPH0731627B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60176100A JPH0731627B2 (ja) 1985-08-10 1985-08-10 メモリ−装置
US06/892,869 US5007011A (en) 1985-08-10 1986-08-04 Data storage device including data address predicting function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60176100A JPH0731627B2 (ja) 1985-08-10 1985-08-10 メモリ−装置

Publications (2)

Publication Number Publication Date
JPS6235949A true JPS6235949A (ja) 1987-02-16
JPH0731627B2 JPH0731627B2 (ja) 1995-04-10

Family

ID=16007694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60176100A Expired - Fee Related JPH0731627B2 (ja) 1985-08-10 1985-08-10 メモリ−装置

Country Status (2)

Country Link
US (1) US5007011A (ja)
JP (1) JPH0731627B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488534A (ja) * 1990-08-01 1992-03-23 Canon Inc メモリアクセス制御装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210838A (en) * 1990-05-15 1993-05-11 Sun Microsystems, Inc. Method and apparatus for predicting the effective addresses of future memory load operations in a microprocessor
US5485589A (en) * 1991-12-31 1996-01-16 Dell Usa, L.P. Predictive addressing architecture
JPH07506921A (ja) * 1992-03-06 1995-07-27 ランバス・インコーポレーテッド コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取り
US5778447A (en) * 1992-04-30 1998-07-07 Alcatel Network Systems, Inc. System and method for fast memory access using speculative access in a bus architecture system
US5715421A (en) * 1992-10-16 1998-02-03 Seiko Epson Corporation Apparatus and method of addressing paged mode memory including adjacent page precharging
US5442767A (en) * 1992-10-23 1995-08-15 International Business Machines Corporation Address prediction to avoid address generation interlocks in computer systems
JPH06149662A (ja) * 1992-11-02 1994-05-31 Toshiba Corp Romバースト転送の連続読みだし拡大方式およびその方式を用いたrom内蔵型マイクロコンピュータシステム
US6604190B1 (en) * 1995-06-07 2003-08-05 Advanced Micro Devices, Inc. Data address prediction structure and a method for operating the same
US5666485A (en) * 1995-06-07 1997-09-09 Samsung Electronics Inc. Software driver for a system bus
EP1197867A3 (en) * 1996-06-06 2005-12-14 Freescale Semiconductor, Inc. Method for accessing memory
DE10027205A1 (de) * 2000-05-31 2002-01-03 Fujitsu Siemens Computers Gmbh Datenverarbeitungsanordnung mit einem Systembus, einem Speicherinterface, einem Speicherbus und einem Speicher, sowie ein Verfahren zu ihrem Betrieb
US7058823B2 (en) * 2001-02-28 2006-06-06 Advanced Micro Devices, Inc. Integrated circuit having programmable voltage level line drivers and method of operation
DE10116863A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Schnittstelle
US6912611B2 (en) * 2001-04-30 2005-06-28 Advanced Micro Devices, Inc. Split transactional unidirectional bus architecture and method of operation
US6813673B2 (en) * 2001-04-30 2004-11-02 Advanced Micro Devices, Inc. Bus arbitrator supporting multiple isochronous streams in a split transactional unidirectional bus architecture and method of operation
US6785758B1 (en) 2001-06-01 2004-08-31 Advanced Micro Devices, Inc. System and method for machine specific register addressing in a split transactional unidirectional bus architecture
US6763415B1 (en) * 2001-06-08 2004-07-13 Advanced Micro Devices, Inc. Speculative bus arbitrator and method of operation
EP1326169A3 (de) * 2002-01-08 2004-07-28 Siemens Aktiengesellschaft PreFetch-Schaltungsanordnung für ein CPU-Speicher-System mit Ready-Signal-Steuerung
JP2004318252A (ja) * 2003-04-11 2004-11-11 Renesas Technology Corp システムlsiにおけるデータ転送制御回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840699A (en) * 1972-05-25 1974-10-08 W Bowerman Television system for enhancing and tracking an object
US3928857A (en) * 1973-08-30 1975-12-23 Ibm Instruction fetch apparatus with combined look-ahead and look-behind capability
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
GB1505603A (en) * 1976-07-07 1978-03-30 Ibm Data processing systems
US4371924A (en) * 1979-11-09 1983-02-01 Rockwell International Corp. Computer system apparatus for prefetching data requested by a peripheral device from memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488534A (ja) * 1990-08-01 1992-03-23 Canon Inc メモリアクセス制御装置

Also Published As

Publication number Publication date
US5007011A (en) 1991-04-09
JPH0731627B2 (ja) 1995-04-10

Similar Documents

Publication Publication Date Title
JPS6235949A (ja) メモリ−装置
US4430706A (en) Branch prediction apparatus and method for a data processing system
US4733346A (en) Data processor with multiple register blocks
EP0054243A2 (en) Memory controlling apparatus
EP0409285B1 (en) Method and apparatus for data transfer between processor elements
US4631668A (en) Storage system using comparison and merger of encached data and update data at buffer to cache to maintain data integrity
EP0149900A2 (en) Data storage apparatus
US4949242A (en) Microcomputer capable of accessing continuous addresses for a short time
US4047245A (en) Indirect memory addressing
EP0282248A2 (en) Block access system using cache memory
EP0220990A2 (en) Buffer storage control system
KR100249536B1 (ko) 다수의 버스를 서로 독립적으로 제어하기 위한 버스콘트롤러를 가진 데이터 처리기
JPS6285343A (ja) メモリ読み出し回路
JPH03147157A (ja) 情報処理装置
EP0410382A2 (en) Data transfer controller using direct memory access method
EP0177712A2 (en) Masked data fetch and modifying device
JPH0795269B2 (ja) 命令コードのデコード装置
JP2595992B2 (ja) 電子楽器
US5151982A (en) Data processing system
JP2570271B2 (ja) 半導体メモリ制御装置
JP2892375B2 (ja) パルス入力装置
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPH0273747A (ja) 交換処理待ちキュー優先制御回路
JPH0376505B2 (ja)
JPH02146842A (ja) シリアルインタフェース回路

Legal Events

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