JPH0731627B2 - メモリ−装置 - Google Patents

メモリ−装置

Info

Publication number
JPH0731627B2
JPH0731627B2 JP60176100A JP17610085A JPH0731627B2 JP H0731627 B2 JPH0731627 B2 JP H0731627B2 JP 60176100 A JP60176100 A JP 60176100A JP 17610085 A JP17610085 A JP 17610085A JP H0731627 B2 JPH0731627 B2 JP H0731627B2
Authority
JP
Japan
Prior art keywords
address
data
memory
read
output
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.)
Expired - Fee Related
Application number
JP60176100A
Other languages
English (en)
Other versions
JPS6235949A (ja
Inventor
登 村山
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)
  • Advance Control (AREA)
  • Memory System (AREA)
  • Complex Calculations (AREA)

Description

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

Families Citing this family (20)

* 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
JPH0488534A (ja) * 1990-08-01 1992-03-23 Canon Inc メモリアクセス制御装置
US5485589A (en) * 1991-12-31 1996-01-16 Dell Usa, L.P. Predictive addressing architecture
WO1993018459A1 (en) * 1992-03-06 1993-09-16 Rambus Inc. Prefetching into a cache to minimize main memory access time and cache size in a computer system
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

Also Published As

Publication number Publication date
JPS6235949A (ja) 1987-02-16
US5007011A (en) 1991-04-09

Similar Documents

Publication Publication Date Title
JPH0731627B2 (ja) メモリ−装置
EP0180237B1 (en) Data processor system having look-ahead control
US5295252A (en) Data storage device
EP0409285B1 (en) Method and apparatus for data transfer between processor elements
US3984812A (en) Computer memory read delay
JPH0410649B2 (ja)
US3339183A (en) Copy memory for a digital processor
EP0398189A2 (en) Noncacheable address random access memory
JPS61125641A (ja) デ−タ圧縮制御方式
EP0497986B1 (en) Memory access system and method
US4198699A (en) Mass memory access method and apparatus
US3564505A (en) Digital data reordering system
EP0426169A2 (en) Optical data filing system with improved memory read/write control
US5045999A (en) Multi-function timing sequencer for different speed main storage units
USRE31153E (en) Mass memory access method and apparatus
JP2595992B2 (ja) 電子楽器
JP2507634B2 (ja) 情報処理装置
US3538503A (en) Magnetic information retrieval system
JPS633392B2 (ja)
JP2504974B2 (ja) シ−ケンサの高速演算処理方式
JPH05107314A (ja) Ic試験装置
SU1619258A1 (ru) Функциональный преобразователь
JP2570271B2 (ja) 半導体メモリ制御装置
JP2621493B2 (ja) 電子楽器の音源装置
JPS5932819B2 (ja) アドレス制御装置

Legal Events

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