JPH11272544A - フェッチデータバッファリング回路 - Google Patents

フェッチデータバッファリング回路

Info

Publication number
JPH11272544A
JPH11272544A JP10077258A JP7725898A JPH11272544A JP H11272544 A JPH11272544 A JP H11272544A JP 10077258 A JP10077258 A JP 10077258A JP 7725898 A JP7725898 A JP 7725898A JP H11272544 A JPH11272544 A JP H11272544A
Authority
JP
Japan
Prior art keywords
data
fetch
address
buffer
cpu
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
JP10077258A
Other languages
English (en)
Inventor
Tadahiro Ushiro
忠広 後呂
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP10077258A priority Critical patent/JPH11272544A/ja
Publication of JPH11272544A publication Critical patent/JPH11272544A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 小消費電力のワンチップマイコンによりCP
Uの1ck内で低速オンチップメモリをより高確率でア
クセスし高速フェッチ動作を可能とするバッファリング
回路を提供する。 【解決手段】 オンチップメモリ101の入力ポートに
はアドレスバスからの値にメモリバス幅分加算を行うア
ドレス値加算器102を通過させた上位22ビットを入
力する。CAM106の保持アドレス(バッファメモリ
格納データに対応)と現CPUフェッチアドレスをアド
レス比較器107で比較し、一致の場合、hit 信号をロ
ーとし、アドレス加算器を動作させ、次のフェッチ予測
データをオンチップメモリに対しフェッチ開始し、ライ
トモード動作のバッファブロックへ格納し、CPUへの
フェッチデータ出力は他のバッファブロックから出力さ
れる。不一致の場合、hit 信号はハイでオンチップメモ
リはCPUのアドレスになり、同メモリの出力データは
バッファアレイへ格納される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フェッチデータバ
ッファリング回路に関し、より詳細には、CPUとプロ
グラムメモリやデータメモリを同一チップ上で使用す
る、例えば、ワンチップマイコンにおいて、メモリとし
て低速のオンチップメモリを使用する場合の当該メモリ
回路に関する。
【0002】
【従来の技術】従来、ワンチップマイコンでは、オンチ
ップのメモリ、例えば、マスク ROMや SRAM などのアク
セスは、ノンウェイトで行うことが、一般的であった。
しかし、内部クロックが高速なCPUをワンチップマイ
コンで使用する場合、従来から使われてきたオンチップ
メモリでは、アクセススピードが追従しないため、ノン
ウェイト動作を実現するためには、従来よりも高速動作
可能なオンチップメモリを使用する必要があった。しか
しながら、高速動作可能なメモリをワンチップマイコン
に使用する場合、ワンチップマイコンの用途が、バッテ
リ駆動が前提の機器においては、その電力消費の増大が
につながるという問題点を生じる。
【0003】この問題点に対し、特開平6−25998
6号公報開示の「半導体装置」では、高速モードにおい
ては、制御電圧の電位を高くしてリードアンプを高速動
作させ、低速モードにおいては、制御電圧の電位を低く
してリードアンプの消費電力を削減するという手法で、
対応している。この手法であれば、低消費電力と、高速
処理の両方を実現しているように見えるが、当然のこと
ながら、低消費電力が実現するのは低速モード時のみで
ある。また、この技術を使用したチップを機器へ組み込
む場合、高速、低速の各モードを切り替える場合を想定
しなければならない。しかも、2つのモード分の回路を
持つことによりチップの回路も増加してしまいチップ自
身の設計も難しくなり、チップ面積も増加する。
【0004】また、特開平9−62562号公報開示の
「メモリの処理回路」では、低速なメモリを前提にした
発明であり、読み出し時の先頭データの出力をCPUの
読み出し要求とは無関係にその準備をあからじめ完了
し、CPUの読み出し要求後に順次読み出すデータにつ
いても、読み出し要求後に順次読み出すデータについて
も、読み出し要求の入力前に出力データを決定し、出力
データをラッチ回路へラッチすることにより、メモリの
動作速度には依存せずに入力データを定まった出力デー
タとし、読み出し要求のタイミングでラッチしたデータ
の転送を行うといったものである。しかしながら、一般
的な RISC アーキテクチャのCPUでは、CPUのクロ
ックサイクル毎にメモリへフェッチ要求が発生し、この
手法では、連続したCPUの読みだし要求に十分に対応
できない。
【0005】
【発明が解決しようとする課題】上記のように従来、高
速動作可能なオンチップメモリを使用することにより、
オンチップメモリへのノンウェイト動作が可能になる
が、そのチップサイズ、消費電力共に増大してしまう。
高速なオンチップメモリを使う方法以外で、CPUのメ
モリシステムに対する高速アクセスを実現する方法とし
て、ラッチ回路を設けて予めメモリアクセスをしておき
データをバッファリングしておくことが考えられるが、
メモリアクセスの頻度が該当メモリのメモリサイクルと
同等である場合、この手法の効果はまったく期待できな
い。本発明は、上記した従来技術における問題点に鑑み
てなされたもので、従来技術に比べてより消費電力の小
さいワンチップマイコン化した回路構成とし、CPUの
1クロック内で低速のオンチップメモリをアクセスする
動作をより高い確率で行うようにして高速なフェッチ動
作を可能とすることを目的としたバッファリング回路を
提供することをその解決課題とする。
【0006】
【課題を解決するための手段】請求項1の発明は、高速
のCPUのフェッチ要求に応じ低速のオンチップメモリ
へのフェッチに用いるフェッチデータバッファリング回
路において、低速のオンチップメモリのデータバスと同
じバス幅aの入力専用データバスと、高速のCPUのデ
ータバスと同じバス幅bの入出力データバスとを介して
接続されるバッファメモリブロックであり、前記CPU
のデータバスのバス幅bと同じビット数のデータを保持
し、該CPUの内部サイクルにてアクセス可能な高速の
a/b個のバッファアレイを有し、該バッファアレイの
各々に前記入力専用データバスから入力されるaビット
のデータ列をa/b分割したデータを格納する構成とし
た該バッファメモリブロックと、該バッファメモリブロ
ックのバッファリング動作制御手段とを備えることを特
徴とし、高速動作可能なオンチップメモリを使用する必
要がなく、アクセススピードよりも低消費電力化と小チ
ップサイズに重点を置いて設計された低速なオンチップ
メモリを使用可能な構成のため、消費電力、チップサイ
ズの低減が実現できるようにしたものである。
【0007】請求項2の発明は、請求項1の発明におい
て、前記バッファリング動作制御手段は、前記CPUの
フェッチ要求が、データ領域かインストラクション領域
かにより、前記バッファメモリブロックへのアクセスの
許可、不許可の選択を行うようにしたものである。
【0008】請求項3の発明は、請求項1又は2の発明
において、前記バッファリング動作制御手段は、バッフ
ァメモリブロックに含まれるバッファアレイ中から選ば
れるデータの読み出し、書き込みを行うバッファアレイ
の選択を、前記CPUへ供給するクロックの分周信号及
び該CPUが出力するフェッチアドレスに基づいて行う
ことを特徴とし、バッファメモリブロック、バッファア
レイの選択を1CPUクロック内に行うため、フェッチ
データのバッファリング操作が短時間で処理可能にな
り、高速なメモリアクセスが実現できるようにしたもの
である。
【0009】請求項4の発明は、請求項1ないし3のい
ずれか1つの発明において、前記バッファリング動作制
御手段は、前記CPUからリードフェッチ要求が発生し
たとき、そこに含まれるフェッチアドレス値及び該フェ
ッチアドレス値に前記オンチップメモリのデータバス幅
だけフェッチポイントを移動するのに必要な値を加算
し、得た前記オンチップメモリ上のアドレス値を格納
し、格納したアドレス値のいずれかを前記バッファメモ
リブロックに現在書き込まれているデータのアドレス値
として保持するCAMと、該CAMが保持するアドレス
値と前記CPUのフェッチアドレス値の比較を行うアド
レス比較回路を備え、該アドレス比較回路で一致の比較
結果が得られた場合、前記バッファメモリブロックに含
まれるバッファアレイのデータを読み出し、前記CPU
のデータバスへ出力することを特徴としたものである。
【0010】請求項5の発明は、請求項4の発明におい
て、前記バッファメモリブロックと並列に該バッファメ
モリブロックと同一手段からなる他のバッファメモリブ
ロックを備え、前記バッファリング動作制御手段は、前
記アドレス比較回路で一致の比較結果が得られた場合、
さらに、前記CPUが要求する前記オンチップメモリの
フェッチアドレス値に該オンチップメモリのデータバス
幅だけフェッチポイントを移動するのに必要な値を加算
したアドレス値によりフェッチされた前記オンチップメ
モリのデータを前記他のバッファメモリブロックのバッ
ファアレイへ書き込むことを特徴としたものである。
【0011】請求項6の発明は、請求項1ないし3のい
ずれか1の発明において、前記バッファリング動作制御
手段は、前記CPUからリードフェッチ要求が発生した
とき、そこに含まれるフェッチアドレス値及び該フェッ
チアドレス値に前記オンチップメモリのデータバス幅だ
けフェッチポイントを移動するのに必要な値を加算し、
得た前記オンチップメモリ上のアドレス値を格納し、格
納したアドレス値のいずれかを前記バッファメモリブロ
ックに現在書き込まれているデータのアドレス値として
保持するCAMと、該CAMが保持するアドレス値と前
記CPUのフェッチアドレス値の比較を行うアドレス比
較回路を備え、該アドレス比較回路で不一致の比較結果
が得られた場合、前記バッファメモリブロックに含まれ
る1つのバッファアレイをスルーモードにし、前記オン
チップメモリをフェッチして出力されたデータを該バッ
ファアレイより前記CPUのデータバスへ出力すること
を特徴としたものである。
【0012】請求項7の発明は、請求項6の発明におい
て、前記バッファメモリブロックと並列に該バッファメ
モリブロックと同一手段からなる他のバッファメモリブ
ロックを備え、前記バッファリング動作制御手段は、前
記アドレス比較回路で不一致の比較結果が得られた場
合、さらに、前記CPUが要求するフェッチアドレス値
によりフェッチされた前記オンチップメモリのデータを
前記他のバッファメモリブロックのバッファアレイへ書
き込むことを特徴としたものである。
【0013】請求項4〜請求項8の発明によると、CP
Uが要求するフェッチアドレスとCAMの内容とバッフ
ァアレイ中のデータ内容を表わすアドレスの比較、CA
Mへのフェッチアドレス(必要ならば定数加算後)の格
納、バッファアレイまたはオンチップメモリへのアクセ
ス選択及びバッファアレイからのデータ読みだしを1C
PUクロック内に行うが、この一連の動作を数回繰り返
しているうちに、近い将来フェッチすることが予測され
るオンチップメモリのデータをバッファアレイへの書き
込む動作を完了するため、フェッチデータがバッファ内
に存在する確率が高くなり、高速なメモリアクセスが実
現できる。また、請求項5の発明のアドレス比較回路に
おいて、例えば、通常のキャッシュ回路のアドレス比較
回路でコンパレータを使用するのに対し、例えば、CMOS
構成の回路でアドレス比較を行うようにすると、より低
消費電力化が可能となる。
【0014】
【発明の実施の形態】本発明によるフェッチデータバッ
ファリング回路の一実施形態を添付図にもとづいて以下
に説明する。ここに、図1は、本実施形態の全体を示す
ブロック図である。図2は、図1中に示すバッファメモ
リブロック103,104に関する部分をより詳細に示
す回路図である。図3は、図1中に示すバッファメモリ
アドレスデコーダ105を詳細に示す回路図である。図
4は、図1中に示すCAM106、及びアドレス比較器
107に関する部分をより詳細に示す回路図である。図
5は、図1中に示すバッファメモリブロック103中
の、バッファアレイ108〜111と、図1中128b
it オンチップメモリ101のデータバスの接続の詳
細な説明図である。図6は、図2の回路の動作を同回路
図中に示すバッファ108の入出力信号を例として説明
したタイミングチャートである。図7は、図6のタイミ
ングチャートで示される動作中の図4の回路の信号の様
子を説明したタイミングチャートである。まず、オンチ
ップメモリとバッファメモリブロックとの間のデータバ
スインターフェイスについて説明すると、図5に示すよ
うに、オンチップメモリ101は、そのアドレシングに
おいて、4つずつインクリメントされて32×4ビット
のデータを持つ構成になっている。そのデータビットを
4分割したものを4つのバッファアレイ(1−1)10
8からバッファアレイ(1−4)111のデータ入力ポ
ート data in にそれぞれ32ビットずつ入力してい
る。また、各々のバッファアレイ(1−1〜4)は、C/
S、through、r/w の3つの入力により制御されており、
内部バッファに格納されたデータを data out から読み
だすリードモード、data in からの入力データの内部バ
ッファへ書き込むライトモード、data in からの入力デ
ータをそのまま data out から出力するスルーモードの
3つの動作モードに切り替えられる。
【0015】更に詳細に説明すると、図2において、バ
ッファメモリブロック(1,2)103,104には、
それぞれ4つずつのバッファアレイ(1−1〜4)10
8〜111,バッファアレイ(2−1〜4)112〜1
15を内蔵するが、個々のバッファアレイには、C/S、t
hrough、r/w の制御信号が入力され、各々の入力信号
と、バッファアレイの動作の関係は次のようになる。r/
w がハイレベルのとき、C/S、through の入力値に関わ
りなく、バッファアレイは、data in から入力されるデ
ータをバッファに書き込むライトモードとなる。r/w が
ローレベルのとき、through がローレベルで、なおかつ
C/S がハイレベルつまりチップセレクトされている状
態ならば、 data out からバッファ内容を出力するリー
ドモードとなる。r/w がローレベルのとき、through が
ハイレベルならば、 C/S の入力値にかかわりなく data
in から入力されたデータを data out から出力するス
ルーモードとなる。
【0016】更に、図2において、バッファメモリブロ
ック(1)103,バッファメモリブロック(2)10
4中のバッファアレイ(1−1〜4)108〜111,
バッファアレイ(2−1〜4)112〜115の C/S
入力に対して、Chip Select control 0〜3が入力され
ているが、この信号によりライトモード、リードモード
時のバッファアレイの選択を行う。また、この control
0〜3信号は、図1のバッファメモリアドレスデコー
ダ105により生成されるが、具体的には、図3に示す
ように、入力の一部がインバータ化された3入力 AN
D 301〜304により、アドレスバスの下位2ビッ
ト、すなわち、Address 0、Address 1をデコードした
値である。また、複数のオンチップメモリを使用する場
合、対応するバッファメモリを追加すると共にデコード
の回路を追加する。つまり、Address 23の入力は、本
デコード回路のイネーブル信号に相当し、Address 23
=1の場合、デコード可能になる。一方追加するデコー
ド回路では Address 23=0でデコード可能にすれ
ば、2つのアドレスデコーダが切り替え可能になり、2
つのメモリデバイスで2つの独立したアドレス空間のバ
ッファリングシステムが構築可能になる。
【0017】図2の回路全体の動作について説明する
と、まず、bufclk 信号(以下、信号の表記省略)によ
り2つのバッファメモリブロック103,104のどち
らをライトモード、リードモードにするかを決定してい
る。これら2つのモードは、2つのバッファメモリブロ
ック103,104に対してトグルに変化する。ただ
し、hit 信号がハイレベルの場合、リードモードのメモ
リブロックは、強制的にスルーモードになる。リードモ
ード時では、図3の入力の一部がインバータ化された3
入力 AND301〜304により、Select control 0
〜3のうちどれか1つだけハイレベルになり、バッファ
メモリブロック中1つのバッファアレイを選択し、選択
されたバッファアレイの data out 出力信号が data bu
s の信号になる。スルーモードでは、リードモード時と
同じく、control 0〜3で選択される1つのバッファア
レイの data in に入力されるオンチップメモリ101
のデータ出力をそのまま data out から出力し、そのデ
ータが、data bus の信号になる。ライトモードのメモ
リブロックは、Chip Select control 0〜3を無視し、
128bit オンチップメモリ101に接続されたデータ
バスのデータを各バッファアレイのバッファへ書き込
む。
【0018】図1、さらに図2において、128bit オ
ンチップメモリ101のアドレスポートでは、0〜23
ビット、合計24ビットのアドレスバスの上位22ビッ
トのみ入力し、上記128bit オンチップメモリ101
のアドレッシングの仕様に適応させるが、そのとき、ア
ドレスバスからのアドレス値への加算を行う同図中のア
ドレス値加算器102を通過させる。一方、CAM10
6に内蔵されている値と現在のアドレス値とをアドレス
比較器107(詳細は後述)で比較し、一致の結果を得
た場合、hit 信号がアドレス比較器からローレベルで出
力され、上記アドレス値加算器102の BEN 入力に入
力され、それにより、128bit オンチップメモリ10
1のアドレッシング値を4だけプラスされる。こうし
て、上記128bit オンチップメモリ101からは、次
のメモリアクセス時にフェッチされることが予測される
データを予めフェッチ開始し、これを上記、図2の回路
でライトモードのバッファメモリブロックの各バッファ
へ格納する。このとき、CPUのデータフェッチに対す
るデータ出力は、一致アドレスに相当するデータを格納
したバッファメモリブロックから出力される。また、ア
ドレス比較器107の比較結果が、一致していない場
合、hit 信号はハイレベルとなり、128bit オンチッ
プメモリ101のアドレッシング値は、現在CPUが出
力している値と同じになり、同メモリの出力データは、
メモリバッファブロック中の各バッファアレイへ格納さ
れる。
【0019】上記バッファリングについて、図1におけ
るCAM及びアドレス比較器に関する部分を示す図4に
もとづき、更に詳細に説明する。図4において、2つの
CAM427,458は、バッファメモリブロックのデ
ータの状態を表わすアドレス値を保持し、出力するもの
で、CPUのプログラムカウンターと同期する clk 信
号を、3分周 binary-counter 466で3分周した buf
clk 信号のレベルによりかかるアドレス値の保持,出力
動作を行うためのリード、ライトモードが切り替えられ
る。これにより、各CAM427,458がデータライ
ト時のライトデータを現在CPUがデータフェッチする
ために出力しているアドレス、Address 2〜23か、C
PUが次のサイクルにデータフェッチするために使用す
ると予測される4だけプラスしたアドレス、4+Addres
s 2〜23かを切り替えている。ただし、比較結果が不
一致の場合では、ライトデータは強制的に、現在CPU
がデータフェッチするために出力しているアドレス、Ad
dress 2〜23に決められてしまう。
【0020】具体的には、3分周 binary-counter 46
6の出力信号 bufclk と、その信号を図中465で示さ
れるデータ遅延のためシリーズ接続された複数のバッフ
ァにより遅延させた信号を論理反転させた信号の OR を
バッファにより実現されたCAM458の R/W 切り替
えポートへ入力する。このポートへの入力レベルは、上
記 bufclk が最初ローレベルであるとき、ローレベルだ
が、上記シリーズ接続された複数のバッファ465で遅
延されてその出力がローレベルになるとき、ハイレベル
になる。つまり、このCAM458は、R/W 切り替えポ
ートのレベルがローでリード、ハイでライトなので、上
記シリーズ接続された複数のバッファ465の遅延時間
だけリード、そのあとライトに切り替わることになる。
bufclk がハイレベルになるとき、シリーズ接続された
複数のバッファ465の遅延時間に関わりなく、CAM
427は、3分周 binary-counter 466の出力信号 b
ufclk を論理反転させた信号と、その信号をシリーズ接
続された複数のバッファ465により遅延させた信号の
OR 信号を R/W 切り替えポートへ入力することによ
り、CAM458と、bufclk のレベルにおいて、逆の
モードに切り替わる。つまり、一方が、上記のリードモ
ードからライトモードに切り替わるモードの場合、もう
一方はライトモードからリードモードに切り替わるとい
うことである。
【0021】また、bufclk と、上記シリーズ接続され
た複数のバッファ465により遅延させた信号の NOR
を、バッファ460のゲートへ、bufclk をバッファ4
56のゲートへ入力することにより、シリーズ接続され
た複数のバッファ465の遅延時間だけリード、そのあ
とライトに切り替わる場合では、ライトモードになった
ときにCAM458へ入力されるデータは、現在、CP
Uが出力しているアドレス値 Address 2〜23にな
る。また、最初からライトモードの場合、つまり、bufc
lk がハイレベルになるときでは、CPUが次のサイク
ルにデータフェッチするために使用すると予測される4
だけプラスしたアドレス4+ Address 2〜23がデー
タとして、CAM458に入力される。ただし、hit 信
号がハイレベルつまり後述されるロジックで実現される
比較結果が不一致の場合、CAMに入力されるデータ
は、AND471と、 OR 472により、現在CPU
データフェッチするために出力しているアドレス、Addr
ess 2〜23に固定される。また、CAM427のライ
トモード時のデータは、バッファ426,430のゲー
ト入力を生成しているロジックにより、その各モード毎
の入力データの選択において同等な選択がされる。
【0022】更に、22個の EXNOR 432〜45
4により、CAM458がリードサイクル時のデータ出
力と現在、CPUが出力しているアドレス値 Address
2〜23との比較を行い、一致している場合、AND
431出力がハイレベルになり、EXOR 467の出
力が立ち上がるときに、ラッチ機能付き NOR 401
の出力はローレベルになる。またこのとき、リードサイ
クル中のため、インバータ461の出力はハイレベルに
なり、上記のような動作が可能になる。ライトサイクル
中では、このインバータ461の出力はローレベルで、
比較結果は、常に不一致となる。また、AND 402
についても bufclk のレベルが逆の場合において同等な
動作をする。
【0023】EXOR 467の出力変化を更に詳細に
説明すると、その入力は、bufclk を、シリーズ接続さ
れた複数のバッファ465により遅延させた信号と、そ
の信号をインバータ464で論理反転させたものであ
る。これにより、EXOR 467の出力は、bufclk を
シリーズ接続された複数のバッファ465により遅延さ
せた信号のレベル変化がある毎にその2入力の NOR 信
号を出力することになる。これにより、CAM427,
458がリードモード時に、現在、CPUが出力してい
るアドレス値との比較結果をライトモードに変化した後
も維持することができる。また、前述の hit 信号は、
CPUのメモリアクセス時の wait 付加の制御に用い
る。同信号がハイレベルの場合、CPUは遅いメモリを
アクセスする場合のwait を付加したメモリサイクルで
メモリアクセスを行い、同信号がローレベルの場合、C
PUはメモリアクセス時の wait を付加しない。
【0024】更に、図2,図4の回路の動作を図6(図
2のバッファメモリブロックのバッファ108の入出力
信号),図7(図6の動作に応じた図4の回路の信号状
態)のタイミングチャートで説明する。まず、図4の回
路でCAM458の R/W がローレベルになり、リード
モードになる(図7(c))。この時、CAM427
は、 R/W がハイレベルになり、ライトモードになる(図
7(b))。CAM458から読み出されるデータとア
ドレス比較器107の EXNOR432〜454に直
接入力されるアドレスビット Address 2〜23が比較
され、結果が不一致の場合、hit 信号がハイレベルにな
る(図7(i),図6(c))。また、この時の前提条
件として、bufclk 信号はローレベル、Chip Select con
trol 0信号をハイレベルとする(図6(b))と、図
2の回路のバッファ108は、スルーモードになるため
(図6(f))、data out ,data in 信号は、現在の
CPUのフェッチアドレスを Address 1とすると、低
速なオンチップメモリの Address 1に格納されている
データの信号になり、バッファ108をスルーしてCP
Uのデータバスへ出力される(図6(d),図6
(e))。また、バッファ112〜115は、この間ラ
イトモードとなる。
【0025】次に、図4のCAM458は、R/W 入力が
ハイレベルになり、ライトモードになるがラッチ付き
NOR 401のラッチ信号が立ち上がる(図7
(h))ため、hit 信号状態はハイレベルが維持される
(図7(i))。また、CPUのフェッチサイクルは w
ait が付加され、アドレス出力期間が延長されるため、
結果として Chip Select control 0信号の出力期間も
延長される。
【0026】図2において、Chip Select control 0で
セレクトされているスルーモードのバッファ108と、
ライトモードのバッファ112には、前述の低速なオン
チップメモリの Address 1に格納されているデータが
各々の data in から入力されライトする(図6「Addre
ss 1's data」)。そして、スルーモードのバッファ1
08では、data in から入力されているデータを data
out から出力し(図6(d),図6(e))、それがC
PUのデータバスのデータになる。また、図4におい
て、CAM427,458における R/W 信号がいずれ
もハイレベル(図7(b),図7(c))のためライト
モード中の各バッファへ、OR ゲート470,472
のハイレベル信号出力(図7(e),図7(g))によ
り選択されるバッファ430,460から出力される現
在CPUから出力されているアドレスがデータとして書
き込まれる。
【0027】次に、bufclk 信号がハイレベルになり
(図7(a))、CAM427が、リードサイクルにな
り(図7(b))そのバッファに格納された内容と E
XNOR 403〜425に直接入力されるアドレスビ
ット Address 2〜23が比較されるが、CAM427
のバッファに格納されている内容は、上記バッファ43
0から出力されたそのときCPUから出力されていたア
ドレスを格納したものであり、これらが一致すると hit
信号がローレベルになり(図7(i))、R/W 入力が
ハイレベルになり、ライトモードになったあとも、ラッ
チ付き NOR 401のラッチ信号が立ち上がる(図7
(h))ため、hit 信号状態はローレベルが維持され
る。
【0028】CAM427の R/W 信号がハイレベルに
なり、CAM427がライトモードになるとき(図7
(b))、そのバッファに書き込まれるデータは、OR
470により選択される(図7(e))バッファ43
0の出力、つまり現在CPUから出力されているアドレ
スになる。このとき、ライトモードのCAM458(図
7(c))のバッファへ AND471により、選択さ
れる(図7(f))バッファ456から出力される現在
CPUから出力されているアドレスに4加算した値がデ
ータとして書き込まれる。
【0029】この時、図2のバッファ108はライトモ
ードになっており(図6(f))、アドレス値加算機1
02の BEN 入力はローレベル(図6(c))のため、
低速なオンチップメモリへのアドレス入力は4加算され
たものになる。そのため、バッファ108へ、低速なオ
ンチップメモリの現在のCPUが出力しているアドレス
に4加算したアドレスに格納されたデータが書き込まれ
る(図6(e)の「Address 1+4's data」)。この
時、バッファ112は、リードモードになるため、data
out 信号から、このバッファに先のライトモードで格
納されたAddress1+のデータが出力され、それがCP
Uのデータバスのデータになる。
【0030】再び、bufclk 信号がローレベルになり
(図7(a))、図4の回路でCAM458の R/W が
ローレベルになり、リードモード(図7(c))、CA
M427は、R/W がハイレベルになり(図7(b))、
ライトモードなる。図2のバッファ108は、リードモ
ード(図6(f))、バッファ112はライトモードに
なる。図4のCAM458から読み出されるデータは、
前述のライト時にCPUから出力されていたアドレスに
4加算した値であり(図7(f))、これと EXNO
R 432〜454に直接入力される現在のアドレスビ
ット Address 2〜23が比較され一致が確認される場
合、hit 信号がローレベルになる(図7(i))。その
後、CAM458の R/W 入力がハイレベルになり、ラ
イトモードになったあとも、ラッチ付き NOR 401
のラッチ信号が立ち上がる(図7(h))ため、hit 信
号状態はローレベルが維持される(図7(i))。
【0031】CAM458の R/W 信号がハイレベルに
なりCAM458がライトモードになるとき、そのバッ
ファに書き込まれるデータは、OR 472により選択
されるバッファ460の出力(図7(g))、つまり現
在CPUから出力されているアドレスになる。このと
き、ライトモードのCAM427のバッファへ、AND
469により選択される(図7(d))バッファ426
から出力される現在CPUから出力されているアドレス
に4加算した値がデータとして書き込まれる。
【0032】この時、図2のバッファ112はライトモ
ードになっており、アドレス値加算機102の BEN 入
力はローレベル(図6(c))のため、低速なオンチッ
プメモリへのアドレス入力は4加算されたものになる。
そのため、バッファ112へ、低速なオンチップメモリ
の現在のCPUが出力しているアドレスに4加算したア
ドレスに格納されたデータが書き込まれる。この時、バ
ッファ108は、リードモードになるため、data out
信号からこのバッファに格納されている先のライトモー
ドで格納された Address 1+4のデータが出力され、
それがCPUのデータバスのデータになる。
【0033】
【発明の効果】請求項1の発明に対応する効果:ワンチ
ップマイコンで、高速のバッファアレイを有するバッフ
ァメモリブロックにより低速なオンチップメモリをバッ
ファリングしてアクセス動作を行うことにより、従来の
比の種のワンチップマイコンに比べて消費電力、チップ
サイズの低減化を実現できる。
【0034】請求項2,3の発明に対応する効果:請求
項1の発明に対応する効果に加えて、1CPUクロック
内に行われるバッファメモリブロックとバッファアレイ
の選択により、高速なメモリアクセスを実現できる。
【0035】請求項4ないし7の発明に対応する効果:
請求項1ないし3に対応する効果に加えて、フェッチア
ドレスとCAMの内容の比較、CAMへのフェッチアド
レス(必要ならば、定数加算後)の格納、バッファアレ
イまたはオンチップメモリへのアクセス選択及びバッフ
ァアレイからのデータ読み出しを1CPUクロック内に
行い、この一連の動作を数回繰り返しているうちに、近
い将来フェッチすることが予測されるオンチップメモリ
のデータをバッファアレイへ書き込む動作を完了するた
め、フェッチデータがバッファ内に存在する確率が高く
なり、高速なメモリアクセスが実現できる。また、CP
Uが要求するフェッチアドレスとCAMが格納するアド
レスデータの比較を CMOS 構成の回路で行うことによ
り、低消費電力化が実現できる。
【図面の簡単な説明】
【図1】本発明によるフェッチデータバッファリング回
路の実施形態の全体を示すブロック図である。
【図2】図1におけるバッファブロックおよびデータバ
ス選択のためのブロックの要部をより詳細に示す回路図
である。
【図3】アドレスバスの内容からバッファアレイ選択信
号を生成するためのデコーダ(バッファメモリアドレス
デコーダ)を示す回路図である。
【図4】図1におけるCAM及びアドレス比較器に関す
る部分を示し、CAM内容と現在のアドレスバスの値を
比較するための回路図である。
【図5】図1におけるオンチップメモリと、バッファメ
モリブロックとの間のデータバスインターフェイス回路
を示す図である。
【図6】図2の回路図の動作を説明するもので、バッフ
ァの入出力信号に関するタイミングチャートである。
【図7】図4の回路図の動作を説明するもので、図6の
動作に応じた回路の信号状態を示すタイミングチャート
である。
【符号の説明】
101…128bit オンチップメモリ、102…アドレ
ス値加算器、103…バッファメモリブロック1、10
4…バッファメモリブロック2、105…バッファメモ
リアドレスデコーダ、106…CAM、107…アドレ
ス比較器、108〜111…バッファアレイ1−1〜
4、112〜115…バッファアレイ2−1〜4、30
1〜304,402,431,455,469,471
…AND、401…ラッチ機能付きNOR、403〜4
25,432〜454…EXNOR、426,430,
456,460…ゲート端子つきバッファ、427,4
58…CAM(リードライト切り替え可能バッファ)、
428,459,470,472…OR、429,45
7,461,463,464…インバータ、462…N
OR、465…遅延バッファ、466…3分周 binary-
counter、467…EXOR。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 高速のCPUのフェッチ要求に応じ低速
    のオンチップメモリへのフェッチに用いるフェッチデー
    タバッファリング回路において、低速のオンチップメモ
    リのデータバスと同じバス幅aの入力専用データバス
    と、高速のCPUのデータバスと同じバス幅bの入出力
    データバスとを介して接続されるバッファメモリブロッ
    クであり、前記CPUのデータバスのバス幅bと同じビ
    ット数のデータを保持し、該CPUの内部サイクルにて
    アクセス可能な高速のa/b個のバッファアレイを有
    し、該バッファアレイの各々に前記入力専用データバス
    から入力されるaビットのデータ列をa/b分割したデ
    ータを格納する構成とした該バッファメモリブロック
    と、該バッファメモリブロックのバッファリング動作制
    御手段とを備えることを特徴とするフェッチデータバッ
    ファリング回路。
  2. 【請求項2】 前記バッファリング動作制御手段は、前
    記CPUのフェッチ要求が、データ領域かインストラク
    ション領域かにより、前記バッファメモリブロックへの
    アクセスの許可、不許可の選択を行うことを特徴とする
    請求項1記載のフェッチデータバッファリング回路。
  3. 【請求項3】 前記バッファリング動作制御手段は、バ
    ッファメモリブロックに含まれるバッファアレイ中から
    選ばれるデータの読み出し、書き込みを行うバッファア
    レイの選択を、前記CPUへ供給するクロックの分周信
    号及び該CPUが出力するフェッチアドレスに基づいて
    行うことを特徴とする請求項1又は2記載のフェッチデ
    ータバッファリング回路。
  4. 【請求項4】 前記バッファリング動作制御手段は、前
    記CPUからリードフェッチ要求が発生したとき、そこ
    に含まれるフェッチアドレス値及び該フェッチアドレス
    値に前記オンチップメモリのデータバス幅だけフェッチ
    ポイントを移動するのに必要な値を加算し、得た前記オ
    ンチップメモリ上のアドレス値を格納し、格納したアド
    レス値のいずれかを前記バッファメモリブロックに現在
    書き込まれているデータのアドレス値として保持するC
    AMと、該CAMが保持するアドレス値と前記CPUの
    フェッチアドレス値の比較を行うアドレス比較回路を備
    え、該アドレス比較回路で一致の比較結果が得られた場
    合、前記バッファメモリブロックに含まれるバッファア
    レイのデータを読み出し、前記CPUのデータバスへ出
    力することを特徴とする請求項1ないし3のいずれか1
    記載のフェッチデータバッファリング回路。
  5. 【請求項5】 前記バッファメモリブロックと並列に該
    バッファメモリブロックと同一手段からなる他のバッフ
    ァメモリブロックを備え、前記バッファリング動作制御
    手段は、前記アドレス比較回路で一致の比較結果が得ら
    れた場合、さらに、前記CPUが要求する前記オンチッ
    プメモリのフェッチアドレス値に該オンチップメモリの
    データバス幅だけフェッチポイントを移動するのに必要
    な値を加算したアドレス値によりフェッチされた前記オ
    ンチップメモリのデータを前記他のバッファメモリブロ
    ックのバッファアレイへ書き込むことを特徴とする請求
    項4記載のフェッチデータバッファリング回路。
  6. 【請求項6】 前記バッファリング動作制御手段は、前
    記CPUからリードフェッチ要求が発生したとき、そこ
    に含まれるフェッチアドレス値及び該フェッチアドレス
    値に前記オンチップメモリのデータバス幅だけフェッチ
    ポイントを移動するのに必要な値を加算し、得た前記オ
    ンチップメモリ上のアドレス値を格納し、格納したアド
    レス値のいずれかを前記バッファメモリブロックに現在
    書き込まれているデータのアドレス値として保持するC
    AMと、該CAMが保持するアドレス値と前記CPUの
    フェッチアドレス値の比較を行うアドレス比較回路を備
    え、該アドレス比較回路で不一致の比較結果が得られた
    場合、前記バッファメモリブロックに含まれる1つのバ
    ッファアレイをスルーモードにし、前記オンチップメモ
    リをフェッチして出力されたデータを該バッファアレイ
    より前記CPUのデータバスへ出力することを特徴とす
    る請求項1ないし3のいずれか1記載のフェッチデータ
    バッファリング回路。
  7. 【請求項7】 前記バッファメモリブロックと並列に該
    バッファメモリブロックと同一手段からなる他のバッフ
    ァメモリブロックを備え、前記バッファリング動作制御
    手段は、前記アドレス比較回路で不一致の比較結果が得
    られた場合、さらに、前記CPUが要求するフェッチア
    ドレス値によりフェッチされた前記オンチップメモリの
    データを前記他のバッファメモリブロックのバッファア
    レイへ書き込むことを特徴とする請求項6記載のフェッ
    チデータバッファリング回路。
JP10077258A 1998-03-25 1998-03-25 フェッチデータバッファリング回路 Pending JPH11272544A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10077258A JPH11272544A (ja) 1998-03-25 1998-03-25 フェッチデータバッファリング回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10077258A JPH11272544A (ja) 1998-03-25 1998-03-25 フェッチデータバッファリング回路

Publications (1)

Publication Number Publication Date
JPH11272544A true JPH11272544A (ja) 1999-10-08

Family

ID=13628839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10077258A Pending JPH11272544A (ja) 1998-03-25 1998-03-25 フェッチデータバッファリング回路

Country Status (1)

Country Link
JP (1) JPH11272544A (ja)

Similar Documents

Publication Publication Date Title
US6327188B1 (en) Synchronous random access memory
JP3532932B2 (ja) 時間重複メモリ・アクセスを有するランダムにアクセス可能なメモリ
US6175893B1 (en) High bandwidth code/data access using slow memory
JP2538067B2 (ja) 条件書き込み手段を有するランダム・アクセス・メモリ回路
US7263023B2 (en) Semiconductor memory device having memory architecture supporting hyper-threading operation in host system
EP1238339B1 (en) Interface for a memory unit
US7277983B1 (en) Method and apparatus for smoothing current transients in a content addressable memory (CAM) device
KR100377708B1 (ko) 저소비 전력화가 가능한 파이프라인 방식의 반도체 기억장치
US7603510B2 (en) Semiconductor device and storage cell having multiple latch circuits
JP3583844B2 (ja) キャッシュメモリ方式
JP3096576B2 (ja) メモリ制御回路とその回路を内蔵した集積回路素子
JPH11272544A (ja) フェッチデータバッファリング回路
US6901490B2 (en) Read/modify/write registers
US7047363B2 (en) Cache memory and control method thereof
KR100328329B1 (ko) 명령 메모리 회로
KR0184633B1 (ko) 씨피유코어
US6847640B1 (en) High speed physical circuits of memory interface
JPH08241296A (ja) 半導体集積回路
JPH11134256A (ja) アドレス変換回路
JP4498705B2 (ja) キャッシュシステム
JP3242474B2 (ja) データ処理装置
JP2001100992A (ja) マイクロコンピュータ
JPH11260067A (ja) 半導体記憶装置
JPH08241249A (ja) 記憶装置
JPH03214275A (ja) 半導体集積回路