JP2885166B2 - 高速メモリ制御装置 - Google Patents

高速メモリ制御装置

Info

Publication number
JP2885166B2
JP2885166B2 JP4598996A JP4598996A JP2885166B2 JP 2885166 B2 JP2885166 B2 JP 2885166B2 JP 4598996 A JP4598996 A JP 4598996A JP 4598996 A JP4598996 A JP 4598996A JP 2885166 B2 JP2885166 B2 JP 2885166B2
Authority
JP
Japan
Prior art keywords
speed memory
request
data
write
access request
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
JP4598996A
Other languages
English (en)
Other versions
JPH09237219A (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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4598996A priority Critical patent/JP2885166B2/ja
Publication of JPH09237219A publication Critical patent/JPH09237219A/ja
Application granted granted Critical
Publication of JP2885166B2 publication Critical patent/JP2885166B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、先頭アドレスとカ
ウント数を指定することによって複数のワードを連続し
て読み書きすることのできる高速メモリへの読み書きを
制御する高速メモリ制御回路に係わり、特に高速メモリ
内のセンスアンプキャッシュメモリにアクセスすべきデ
ータが存在しないとき、所定の待ち時間が経過してから
再度アクセスする必要のある高速メモリへの読み書きを
制御する高速メモリ制御回路に関する。
【0002】
【従来の技術】メモリへのデータの書き込み動作あるい
はデータの読み出し動作の高速化を図る技術の1つとし
て、データのアクセスをブロック単位に行うものがあ
る。このようなメモリでは、アクセスすべきデータの先
頭アドレスと、連続してアクセスするワード数とを指定
して、データの読み書きが行われる。ブロック単位に読
み書きを行う高速メモリでは、1つのビットの情報を格
納するメモリセルをアレイ状に配置したメモリセルアレ
イと、メモリセルアレイの一列分の記憶容量を備えたセ
ンスアンプキャシュメモリを備えている。そしてメモリ
セルアレイへのアクセスは1列単位にセンスアンプキャ
ッシュ経由で行われる。
【0003】たとえば、ブロック単位の読み出し要求を
受けたとき、該当するデータがセンスアンプキャッシュ
に存在するときは、センスアンプキャッシュからすぐに
データの送出を行う。一方、要求を受けたデータがセン
スアンプキャッシュに存在しないときは、要求のあった
データをメモリセルアレイからセンスアンプキャッシュ
に一旦読み出してから要求元にブロック転送するように
なっている。したがって、要求されたデータがセンスア
ンプキャッシュに無い場合には、これをメモリセルアレ
イか読み出すまでの間、要求元の装置が待たされること
になる。
【0004】読出要求を行った装置がこのような待ち時
間の間に他の処理を実行することができるようにするた
めに、すぐに読出要求に応じることができるか否かを表
わした応答を返すようにした高速メモリがある。このよ
うな高速メモリでは、メモリをアクセスするためのプロ
トコルを定め、これに従い、読み書きの要求やこれに対
する応答、さらには読み書きするデータを各種のパケッ
トによって転送することが行われている。転送プロトコ
ルを定め、データをパケットによりブロック転送する高
速メモリとしては、たとえば、ラムバス(RAMBU
S)インターフェイスを用いたラムバス・ダイナミック
メモリ(RDRAMと表わす。)がある。
【0005】ラムバスインタフェースでは、読み書きの
要求はリクエストパケットにより、読み書きするデータ
はデータパケットにより転送される。またリクエストパ
ケットに対する応答は応答パケットにより通知される。
これら3種類のパケットが組み合わされることにより、
高速メモリにアクセスする1つのトラザクションが形成
される。トランザクションには、メモリセルアレイ内の
データを読み出すメモリ空間読み込みトランザクショ
ン、メモリセルアレイ内にデータを書き込むメモリ空間
書き込みトランザクションがある。また、動作モードレ
ジスタなど高速メモリ内部のレジスタを読み出すレジス
タ空間読み込みトランザクション、内部レジスタに書き
込むレジスタ空間書き込みトランザクションおよびレジ
スタ空間同報書き込みトランザクションがある。
【0006】図5は、リクエストパケットのビット構成
の一例を表わしたものである。リクエストパケット20
1は、10ビット×6行の構成になっている。各行の1
0ビット分のデータは高速メモリとバスマスタとの間で
並列に転送される。各行を転送する周期はインターバル
と呼ばれており、1つのリクエストパケットは6つのイ
ンターバルで転送される。図中、各行の先頭ビット20
2は、バスコントロールと呼ばれる信号ラインにより転
送される。残りの9ビット203は、バスデータと呼ば
れる信号ラインにより転送される。
【0007】スタートビット203は、リクエストパケ
ットの先頭を表わす情報である。オプション“0”から
オプション“3”までの4ビットは、要求するデータ転
送の種類を指定するための操作コードである。アドレス
は、転送される先頭バイトのアドレスを指定するもので
あり、36ビット分用意されている。カウントは、1回
のトランザクションで転送するデータのバイト数を表わ
している。カウントは8ビット分用意されており、最大
256バイトまで指定することができる。リザーブは未
使用のビットである。このようなリクエストパケットを
受け取った高速メモリは、その要求に直ちに応じること
が可能か否かを表わした応答パケットをバスマスタに返
送する。
【0008】図6は、応答パケットのビット構成の一例
を表わしたものである。応答パケット211は、10ビ
ット幅の信号のうちバスコントロール信号ラインを通じ
て転送される各先頭ビット部分であり、2インターバル
で転送される2つのビットから構成される。10ビット
幅の信号のうちバスデータ信号ラインを通じて転送され
る残りの9ビット212を用いて、応答パケットと同時
にデータパケットを転送することもできる。
【0009】図7は、応答パケットの2つのビットの値
とそれらによって示される応答パケットの通知内容を表
わしたものである。応答パケットの2つのビットの値が
“00”のときは、リクエストパケットの送信先に対応
するスレーブ(高速メモリ)が存在しないことを示して
いる。“01”のときは、リクエストパケットの要求に
すぐに応じられることを示した許可応答である。“1
0”のときは、リクエストに応答出来ないことを示した
否定応答である。否定応答を受けた場合には、一定時間
の経過後にバスマスタはリクエストパケットを再度送出
してリトライすることになる。“11”は、未定義であ
る。
【0010】図8は、データパケットの構成の一例を表
わしたものである。データパケッ221はバスデータ信
号ラインを通じて9ビット幅で転送される。1つのデー
タパケットには、9ビット幅のデータバイトを1から2
56の間の任意の個数含むことができる。データパケッ
トの転送と並行して応答パケットをバスコントロール信
号ライン222をにより送ることができる。
【0011】図9は、読込トランザクションにおける各
パケットの転送手順を表わしたものである。この図は、
バスコントロール信号ラインによって転送されるデータ
231と、バスデータ信号ラインによって転送されるデ
ータ232とを転送手順に従って示してある。図中、斜
線を施した箇所では、データの転送は行われない。ま
ず、バスコントロール信号ラインとバスデータ信号ライ
ンの双方を用いて読込要求パケット233がバスマスタ
から高速メモリに向けて出力される。読込リクエストが
出力されてからACK(アクノリッジ)遅延234だけ
経過した後に、高速メモリからバスマスタに向けて応答
パケット235が返送される。
【0012】応答パケット235がリクエスト許可を表
わしている場合には、読込要求パケット233を送出
後、読込遅延236の経過した後に高速メモリは要求さ
れたリードデータ237をバスマスタに転送する。AC
K遅延234および読込遅延236の長さは、予めシス
テムの初期化時に全デバイスの内部レジスタに設定され
る。1つのトランザクション238と次のトランザクシ
ョン239との間には、データの転送の行われない読込
パイプ遅延241が設けられる。
【0013】読込パイプ遅延241は、高速メモリなど
のラムバス・デバイスが、次のトランザクションの処理
を始める前に、前回のトランザクションに対応する処理
を完了させるための時間を確保するものである。読込パ
イプ遅延241の経過後に、バスマスタは次のトランザ
クションについての読込要求パケット242を送出する
ことができる。
【0014】図10は、書込トランザクションにおける
各パケットの転送手順を表わしたものである。図9と同
様にバスコントロール信号ラインにより転送されるデー
タ251およびバスデータ信号ラインにより転送される
データとを書込トランザクションにおける転送手順に従
って示してある。また、斜線部分は、データの転送の行
われない箇所である。バスマスタは、バスコントロール
信号ラインとバスデータ信号ラインの双方を用いて高速
メモリに対し書込要求パケット253を送出する。その
後、ACK遅延254の経過後に高速メモリから応答パ
ケット255が戻される。
【0015】書込トランザクションの場合には、書込要
求パケット253を送出してから書込遅延256の経過
後であれば、応答パケットの戻される前であってもバス
マスタはライトデータ257の送出を開始することがで
きる。高速メモリからの応答パケットが許可応答を表わ
しているときは、ライトデータ257の転送を続ける。
高速メモリからの応答が否定応答の場合には、応答パケ
ットを受ける前に先行して送出したライトデータ257
は、高速メモリ側で破棄される。ACK遅延254およ
び書込遅延256の長さは、読込トランザクションの場
合と同様に予めシステムの初期化時に全デバイスの内部
レジスタに設定される。
【0016】1つのトランザクション258と次のトラ
ンザクション259との間には、データの転送の行われ
ない書込パイプ遅延2461設けられる。書込パイプ遅
延261は、読込パイプ遅延と同様にラムバス・デバイ
スが、次のトランザクションの処理を始める前に、前回
のトランザクションに対応する処理を完了させるための
時間を確保するものである。バスマスタは、読込パイプ
遅延261の経過後に、次の書込要求パケット262を
送出することができる。
【0017】次に、このようなプロトコルに従ってデー
タの読み書きを行う高速メモリの構成について説明す
る。
【0018】図11は、高速メモリの構成の概要を表わ
したものである。高速メモリ271は、データを記憶す
るアプリケーション層272と、高速メモリ内での読み
書きを制御する論理層273と、バスマスタとの間で信
号の送受を行う物理層274を備えている。アプリケー
ション層272には、第0のDRAM(ダイナミックメ
モリ)アレイ275と、第1のDRAMアレイ276が
設けられている。DRAMアレイ275、276は、そ
れぞれ9メガビットの記憶容量を備えたメモリセルアレ
イである。
【0019】第0のDRAMアレイ275には、9ビッ
ト幅のデータを2キロワード分記憶することのできる第
0のセンスアンプキャッシュ277が接続されている。
また、第1のDRAMアレイ276には、同様の記憶容
量を備えた第1のセンスアンプキャッシュ278が接続
されている。これらセンスアンプキャッシュ277、2
78は、DRAMアレイ275、276の一列分のデー
タを記憶することができる。
【0020】論理層273は、高速メモリ271の動作
モードを設定するためのモードレジスタ281と、制御
情報を格納するための制御レジスタ群282と、動作モ
ードに従って高速メモリ271の動作を制御する制御回
路283を備えている。物理層273は、ラムバス28
4を通じてバスマスタから送られてくるバスイネーブル
信号、バスコントロール信号、バスデータ信号を受信す
るレシーバ285と、ラムバス285を通じてバスコン
トロール信号、バスデータ信号をバスマスタに送出する
トランスミッタ286を備えている。トランスミッタ2
86からは、バスコントロール信号とバスデータ信号を
合わせた10ビット幅のデータが出力される。また、レ
シーバ285には、これにバスエネーブル信号を加えた
11ビット幅のデータが入力される。
【0021】物理層274は、バスマスタからデータを
受信する際に用いるクロック信号287がバスマスタ側
から入力される。またバスマスタにデータを送信する際
のクロック信号288を生成するクロック発生回路28
9を備えている。クロック信号287、288はそれぞ
れ1ビット幅で転送される。
【0022】次に、高速メモリに対するデータの読み書
きを制御する高速メモリ制御回路について説明する。
【0023】図12は、従来から使用されている高速メ
モリ制御回路の構成の概要を表わしたものである。高速
メモリ制御回路291は、高速メモリ292と、データ
の読み書きを行うCPU(中央処理装置)293との間
に配置される。高速メモリ制御回路291は、CPU2
93から読み書き指示を受けて、高速メモリ292との
間で先に説明したプロトコルによりパケットの送受を行
うインタフェース回路である。
【0024】CPU293から高速メモリ制御回路29
1には、アクセスするデータのアドレスを表わしたアド
レス信号294と、各信号の有効なタイミングや動作モ
ードなどの各種制御情報を表わしたCPU制御信号29
5が入力される。また、高速メモリ292に読み書きす
るデータを表わしたデータ信号296が高速メモリ制御
回路291とCPU293との間で送受される。
【0025】CPU293には、高速メモリへの読み書
き動作の終了を表わすレディ信号297と、同期クロッ
ク298が高速メモリ制御回路291から入力される。
高速メモリ292と高速メモリ制御回路291との間に
は、バスコントロール信号やバスデータ信号を伝送する
バスとしてのラムバス299が設けられ、これを通じて
各種パケットの転送が行われる。
【0026】高速メモリ制御回路291は、リクエスト
パケットを生成するリクエストパケット発生器301
と、ミスディレイ遅延の長さなど初期設定される各種動
作条件を記憶する内部レジスタ302と、レディ信号2
96を出力するCPU制御器303を備えている。リク
エストパケット発生器301には、CPU293からア
ドレス信号294およびCPU制御信号295が入力さ
れる。これらの信号を基にリクエストパケット発生器3
01は、高速メモリ292に転送するリクエストパケッ
ト305を生成する。
【0027】送信セレクタ304には、リクエストパケ
ット発生器301の出力するリクエストパケット305
と、データ信号296と、無信号としてのレベル信号3
06が入力される。送信セレクタ305はこれら入力信
号のうちのいずれか1つを高速メモリへ送出する送信デ
ータ(TData)および送信制御信号(TCtrl)
307として選択する回路である。インタフェース回路
308は、高速メモリ制御回路291内のTTLレベル
と、ラムバス299で用いられるラムバス信号レベルと
の間で、信号レベルの変換を行う物理的インタフェース
回路である。
【0028】ステート制御回路311は、高速メモリ制
御回路291の動作の状態遷移を管理する回路である。
アック判定器312は、高速メモリ292からの応答パ
ケットの内容を解析し、許可応答あるいは否定応答を表
わしたアック信号313を出力する。受信ゲート314
は、高速メモリ292から読み込んだデータをCPU2
93に転送する際にバッファリングする回路である。
【0029】図13は、図12に示したステート制御器
で管理される状態遷移を表わしたものである。システム
の初期化後、何らトランザクションの行われていないと
きはアイドル331のステートにある。この状態でCP
U293から読み込みまたは書き込みのトランザクショ
ンの要求を受けると、CPU制御器303からスタート
信号315がステート制御器311に入力される。スタ
ート信号315を受けると、バスイネーブル信号をロウ
レベルにするバスイネーブル332のステートに移行す
る。これにより、ラムバス299を通じて各種パケット
の転送が可能になる。
【0030】次に、リクエストパケット発生器301で
生成されたリクエストパケットを送出するリクエスト3
33のステートに遷移する。その後、高速メモリ292
から応答パケットの到来するのを待つアック待ち334
のステートに移行する。アック待ち334では、ラムバ
ス299を通じてパケットの送受は行われない。ACK
遅延時間の経過後アック判定335のステートに遷移
し、高速メモリ292から送られてきた応答パケットの
内容を解析する。書込トランザクションの場合には、ア
ック判定335において高速メモリ292へ書込データ
の転送が行われる。
【0031】応答パケットの内容がリクエストを許可す
る許可応答であるときアック判定器312からその旨を
表わすアック信号313が出力され、これがステート制
御器311に入力される。高速メモリ292から許可応
答を受けたときは、フィニッシュデータ336のステー
トに移行する。フィニッシュデータ336では、データ
パケットにより書き込みデータあるいは読み込みデータ
の転送が行われる。フィニッシデータ336のステート
では、転送データ数をチェックし、残データ転送数が
“0”になるとアックCPU337のステートに遷移す
る。
【0032】アックCPU337において、ステート制
御器311は、完了(Done)信号316をアクティ
ブにする。これを受けたCPU制御器303は、レディ
信号297をCPU293に送出する。これにより1つ
のトランザクションの動作が終了し、ステート制御器3
11は、そのステートを再びアイドル331に戻す。
【0033】一方、アック判定335のステートにて否
定応答を受けた場合には、ミスディレイ338のステー
トに移行する。ミスディレイ338では、否定応答時の
待ち時間に応じて初期化時に設定されたミスディレイカ
ウントの値をクロック297に従って減算し、その値が
“0”になったときバスイネーブル332のステートに
移行し、再びバスイネーブル332から順にリクエスト
パケットの送出等が行われる。このように否定応答を受
けたときは、ミスディレイ338にて一定時間待ってか
ら否定されたものと同一内容のリクエストパケットの送
出が再度行われる。
【0034】高速メモリ292から否定応答が戻される
ときは、リクエストパケットでアドレス指定したデータ
が高速メモリ292のセンスアンプキャッシュに存在し
ないときである。このとき高速メモリ292は応答パケ
ットを送出した後、リクエストパケットで要求されたデ
ータをDRAMアレイからセンスアンプキャッシュに読
み出すことを行う。ミスディレイ338のステートは、
センスアンプキャッシュに必要なデータが読み出される
のを待つためのものである。
【0035】図14は、トランザクションが行われる際
にCPUと高速メモリ制御回路の間で送受される各種信
号の一例を表わしたものである。この図では、読込トラ
ンザクションを1回行った後に書込トランザクションを
1回行っている。CPU293は、時刻T11においてア
クセスするデータの高速メモリ上でのアドレスを示すア
ドレス信号(同図c)としてリードアドレス341を出
力する。これと同時にアドレス信号が有効であることを
示すアドレスストローブ信号(同図a)と、読出動作と
書込動作の区別を示すリードライト信号(同図b)をハ
イレベルにして読出トランザクションであることを示
す。
【0036】アドレスストローブ信号が入力されると、
高速メモリ制御回路のCPU制御器303は、スタート
信号(同図f)315をロウレベルのアクティブ状態に
する。スタート信号315が入力されるとステート制御
器311は、そのステートをアイドル331から順に遷
移させ、読出シーケンスを行う。時刻T12に高速メモリ
からリードデータパケットの受信が終了すると、アック
CPU337に移行してステート制御器311は完了信
号(同図g)316をロウレベルのアクティブ状態にす
る。
【0037】CPU制御器303は完了信号316がア
クティブになったことを受けてCPU293に向けてロ
ウレベルのレディ信号(同図e)を時刻T13から時刻T
14にかけて出力する。また、高速メモリ292から受信
したリードデータ342をデータ信号(同図d)297
によりCPU293に向けて送出する。時刻T14には完
了信号およびレディ信号がロウレベルからハイレベルに
戻る。これにより、CPU293は読込トランザクショ
ンの終了を認識する。
【0038】読込トランザクションの終了した後の時刻
15にCPU293は、アドレス信号としてライトアド
レス343を出力する。またこれと同時にアドレススト
ローブ信号を出力しさらにリードライト信号をローレベ
ルにして書込動作であることを示す。アドレスストロー
ブ信号を出力すると同時に、CPU293は、ライトデ
ータ344の送出を開始する。アドレスストローブ信号
が入力されると、高速メモリ制御回路291のCPU制
御器303は、トランザクションの開始を示すスタート
信号(同図f)315をアクティブ状態にする。
【0039】これを受けてステート制御器311は、そ
のステートをアイドル331から順に遷移させ、書込シ
ーケンスを行う。時刻T16にライトデータパケットの送
信が終了すると、ステート制御器311は完了信号(同
図g)316をアクティブ状態にする。CPU制御器3
03は完了信号316がアクティブになったことを受け
てCPU293に向けてロウレベルのレディ信号(同図
e)を時刻T17に出力する。その後完了信号およびレデ
ィ信号がローレベルからハイレベルに戻り、書込トラン
ザクションが終了する。
【0040】図15は、図14に示したシーケンスによ
ってトランザクションの行われる際の高速メモリ制御回
路と高速メモリとの間で送受信される各種信号の波形の
一例を表わしたものである。また、図14で示したトラ
ンザクションの行われる際の高速メモリ制御回路291
と高速メモリ291との間で送受される信号波形ととも
に、ステート制御器311における状態遷移の様子を表
わしている。図中に示した時刻T11、T12、T14、T15
およびT16はそれぞれ図14に示したこれらの符号によ
って示される時刻と対応している。また、図14に示し
た波形との対応付けを容易にするために、図14fのス
タート信号を図15aに、図14gの完了信号を図15
bにそれぞれ示してある。
【0041】ここでは、1回のトランザクションにより
アクセスするデータの数を示すデータカウント値を
“1”、ミスディレイカウントを“4”に設定してい
る。また、1回目のトランザクションが否定応答で2回
目のトランザクションにてリクエスト許可となる場合を
示してある。読込トランザクションにおいてCPU制御
器303からのスタート信号(図15a)が時刻T11
アクティブとなると、ステート制御器311のステート
(同図e)は、アイドル351から、バスイネーブル3
52、リクエスト353、アック待ち354、アック判
定355へと順次移行する。図では、アイドルを
“I”、バスイネーブルを“B”、リクエストを
“R”、アック待ちを“W”、アック判定を“E”、ミ
スディレイを“D”、フィニッシュデータを“F”、ア
ックCPUを“C”として示してある。
【0042】ラムバス上でのデータの転送レートはバス
クロック(同図c)に同期して行われる。また、ステー
トの遷移は、同期クロック(同図d)に同期して行われ
る。バスイネーブル352のステートでは、バスイネー
ブル信号(同図f)がロウレベルに変化しアクティブに
なる。リクエスト353のステートでは、バスコントロ
ール信号(同図g)およびバスデータ信号(同図h)を
通じて高速メモリ制御回路291から高速メモリ292
に向けて第1回目のリクエストパケット356が送出さ
れる。アック待ち353のステートでは何もせず、バス
コントロール信号およびバスデータ信号は変化しない。
【0043】アック判定355のステートでは、バスコ
ントロール信号を通じて応答パケット357が高速メモ
リ292から高速メモリ制御回路に転送され、その内容
の解析が行われる。この例では、第1回目の応答パケッ
ト357は否定応答を表わしているので、ミスディレイ
358へ移行する。ミスディレイカウント値が“4”で
あるのでその値が“0”になるまでの5ステート分、ミ
スディレイの状態が繰り返される。その後、再びバスイ
ネーブル359のステートに戻り、第2回目のリクエス
トパケット361が送出されるこれに対応する応答パケ
ット362は許可応答であるので、アック判定363の
ステートの次にフィニッシュデータ364のステートに
移行する。
【0044】フィニッシュデータ364のステートで
は、リードデータパケット365を受信するまで4回、
同一のステートを繰り返す。その後アックCPU366
のステートにおいて、完了信号(同図b)を出力する。
これにを受けてCPU制御器303は、図14に示した
ように時刻T13にレディ信号をCPU293に送出す
る。アックCPU366のステートを終えた後、アイド
ル367に戻る。
【0045】レディ信号を受けたCPU293は、時刻
15において書込トランザクションを開始し、CPU制
御器303は、スタート信号をアクティブにする。読込
トランザクションの場合と同様に、ステートは、アイド
ル(I)、バスイネーブル(B)、リクエスト(R)、
アック待ち(W)、アック判定(E)へと順に移行す
る。リクエスト368のステートにおいて、リクエスト
パケット369が出力される。アック判定371のステ
ートにおいて、書き込みデータをライトデータパケット
372によって高速メモリ292に転送する。これと同
時に高速メモリ292からバスコントロール信号を通じ
て応答パケット373が返送される。
【0046】ここでは、応答パケット373が許可応答
を表わしているので、フィニッシュデータ374のステ
ートに移行する。ライトデータが1バイトであり、かつ
これは既にアック判定372のステートで転送済である
ので、フニッシュデータのステートではデータカウント
が既に“0”になっている。その結果、ステートはすぐ
にアックCPU375、アイドル376へと遷移する。
アックCPU375のステートでは、完了信号がアクテ
ィブにされる。これを受けてCPU制御器303からレ
ディ信号がCPU291に送出され、書込トランザクシ
ョンが終了する。
【0047】
【発明が解決しようとする課題】このように高速メモリ
のセンスアンプキュッシュに読み書きすべきデータが存
在せず、否定応答を受けた場合には、ミスディレイのス
テートにおいて一定時間待ってから、再度リクエストパ
ケットを送出している。このため、ミスディレイのステ
ートの間、高速メモリへのアクセスが行われず、その分
だけデータの転送効率が低下するという問題がある。
【0048】そこで本発明の目的は、高速メモリへのデ
ータの読み書きを効率良く行うことのできる高速メモリ
制御装置を提供することにある。
【0049】
【課題を解決するための手段】請求項1記載の発明で
は、データの読出要求と書込要求のうちのいずれか一方
を表わしたアクセス要求を受けたとき所定の待ち時間の
経過するまでその要求に応じられない場合には否定応答
を返送し、直ちに応じられる場合には許可応答を返送す
る高速メモリに対してアクセス要求を送出する要求送出
手段と、送出したアクセス要求に対して高速メモリから
否定応答を受けたとき高速メモリに送出すべき他のアク
セス要求が存在するか否かを判別する判別手段と、この
判別手段により他のアクセス要求が存在すると判別され
たときそのアクセス要求を高速メモリに送出する他要求
送出手段と、判定手段により他のアクセス要求が存在し
ないと判別されたとき否定応答を受けたアクセス要求を
所定の待ち時間の経過後に高速メモリに再送する再送手
段と、送出したアクセス要求に対して高速メモリから許
可応答を受けたときそのアクセス要求に応じたデータの
読み書きを高速メモリとの間で行うデータ読み書き手段
とを高速メモリ制御装置に具備させている。
【0050】すなわち請求項1記載の発明では、送出し
たアクセス要求に対して高速メモリから否定応答を受け
たとき、高速メモリに送るべき他のアクセス要求が存在
する場合には、待ち状態に入らず当該他のアクセス要求
を高速メモリに送出する。これにより、否定応答を受け
たアクセス要求を再送するまでの待ち時間の間に、他の
アクセス要求に対応する読み書き動作を進めることがで
き、アクセス効率を向上させることができる。
【0051】請求項2記載の発明では、データの読出要
求と書込要求のうちのいずれか一方を表わしたアクセス
要求を受けたとき所定の待ち時間の経過するまでその要
求に応じられない場合には否定応答を返送し、直ちに応
じられる場合には許可応答を返送する高速メモリに対し
てアクセス要求を送出する要求送出手段と、送出したア
クセス要求に対して高速メモリから否定応答を受けたと
き高速メモリに送出すべき他のアクセス要求が存在する
か否かを判別する判別手段と、この判別手段により他の
アクセス要求が存在すると判別されたときそのアクセス
要求を高速メモリに送出する第1の他要求送出手段と、
判別手段によって他のアクセス要求が存在しないと判別
されかつ否定応答を受けてから所定の待ち時間よりも短
い一定時間の経過前に高速メモリに送出すべき他のアク
セス要求が発生したときこれを高速メモリに送出する第
2の他要求送出手段と、判別手段によって他のアクセス
要求が存在しないと判別されかつ否定応答を受けてから
一定時間の経過前に他のアクセス要求が発生しないとき
否定応答を受けたアクセス要求を否定応答を受けてから
所定の待ち時間の経過後に高速メモリへ再送する再送手
段と、送出したアクセス要求に対して高速メモリから許
可応答を受けたときそのアクセス要求に応じたデータの
読み書きを高速メモリとの間で行うデータ読み書き手段
とを高速メモリ制御装置に具備させている。
【0052】すなわち請求項2記載の発明では、送出し
たアクセス要求に対して高速メモリから否定応答を受け
たとき、高速メモリに送るべき他のアクセス要求が存在
する場合には、待ち状態に入らずにこのアクセス要求を
高速メモリに送出する。また、否定応答を受けた時点で
他のアクセス要求が存在しなくても、待ち状態の間の一
定時間内に新たなアクセス要求が発生したときには、そ
れを高速メモリに送出する。これにより、待ち時間の間
に発生した新たなアクセス要求についてもすぐに処理を
開始できるので、高速メモリへのアクセス効率をさらに
向上させることができる。
【0053】請求項3記載の発明では、要求送出手段
は、高速メモリに書き込むべきデータを一時的に保持す
るバッファメモリを具備している。
【0054】すなわち請求項3記載の発明では、高速メ
モリに書き込むべきデータをバッファメモリに一時的に
格納している。これにより、読出トランザクションの実
行中に生じた書込トランザクションに対応するライトデ
ータを保持しておくことができる。
【0055】請求項4記載の発明では、他のアクセス要
求は、データの読出要求と書込要求のうちの前回送出さ
れたアクセス要求と異なる種類のアクセス要求である。
【0056】すなわち請求項4記載の発明では、書き込
みのアクセス要求に対して否定応答を受けた場合には、
読み出しのアクセス要求が存在するか否かを調べる。一
方、読み出しのアクセス要求に対して否定応答を受けた
場合には、書き込みのアクセス要求の有無を調べてい
る。
【0057】
【発明の実施の形態】
【0058】
【実施例】図1は、本発明の一実施例における高速メモ
リ制御回路の構成の概要を表わしたものである。高速メ
モリ制御回路11は、高速メモリ12と、データの読み
書きを行うCPU13との間に配置されている。高速メ
モリ制御回路11は、CPU13から送られてくる読み
書き指示を受けて、高速メモリ12との間で各種パケッ
トの送受を行う。各パケットの構成は、従来技術の項で
示したものと同一でありそれらの説明を省略する。
【0059】高速メモリ制御回路11は、バスマスタと
してのCPU13から読込トランザクションと書込トラ
ンザクションの指示を並行して受け付けることが可能に
なっている。読み込みあるいは書き込みのうち、一方の
トランザクションに対して高速メモリ12から否定応答
が返送されてきたときで、かつ他方のトランザクション
の要求がバスマスタ13から到来しているときは、待ち
状態に入らずその他方のトランザクションを実行するよ
うになっている。
【0060】CPU13は、書込トランザクションある
いは読込トランザクションの指示を出力してからその完
了通知を高速メモリ制御回路11から受け取るまでの間
であっても、他方のトランザクションの指示を高速メモ
リ制御回路11に送出することができるものである。こ
のような機能を単一のCPUに備えさせることもできる
が、たとえば、高速メモリ制御回路11がマルチCPU
システムやマルチバスシステムのように2以上のCPU
(バスマスタ)からトランザクションの指示を受ける場
合であってもよい。
【0061】図1に示した高速メモリ12の構成は、図
11に示したものと同様に、第0バンクおよび第1バン
クのDRAMアレイを備え、またそれぞれに個別にセン
スアンプキャッシュが設けられている。これらは独立し
て動作することができる。このため、たとえば、一方の
センスアンプキャッシュメモリと高速メモリ制御回路1
1との間でデータパケットの授受が行われている間にこ
れと並行して他方のセンスアンプキャッシュとそれに対
応するDRAMアレイとの間で読み書きを行うことがで
きるようになっている。
【0062】高速メモリ回路11と高速メモリ12との
間に設けられたバスは1つだけであるので、同時に書込
トランザクションと読込トランザクションのパケットを
転送することはできない。しかしながら、高速メモリ1
2内部でDRAMアレイからセンスアンプキャッシュに
必要なデータを読み出している間に、他方のセンスアン
プキャッッシュに格納されているデータを高速メモリ制
御回路11がアクセスすることができる。このため、高
速メモリ12が否定応答を返送した後該当するデータを
DRAMアレイからセンスアンプキャッシュに読み出し
ている待ち時間の間に、高速メモリ制御回路11は他方
のセンスアンプキャッシュに対して読込あるいは書込ト
ランザクションを実行することができる。
【0063】CPU13から高速メモリ制御回路11に
は、アクセスするデータのアドレスを表わしたアドレス
信号14と、信号の有効なタイミングや動作モードなど
を表わしたCPU制御信号15が入力される。また、高
速メモリ12に読み書きすべきデータがデータ信号16
を通じて高速メモリ制御回路11とCPU13との間で
送受信される。高速メモリ制御回路11からCPU13
には、高速メモリ12からのデータの読込動作の終了を
表わす読込レディ信号17と、書込動作の終了を表わす
書込レディ信号18と、同期クロック19が入力され
る。
【0064】高速メモリ12と高速メモリ制御回路11
との間には、バスコントロール信号やバスデータ信号を
伝送するバスとしてのラムバス21が設けられ、これを
通じて各種パケットの転送が行われる。
【0065】高速メモリ制御回路11は、書込リクエス
トパケットを生成する書込リクエストパケット発生器3
1と、読込リクエストパケットを生成する読込リクエス
トパケット発生器32と、書込トランザクションの際に
CPU13から送られてくるライトデータを一時的にバ
ッファリングする送信ラッチ33を備えている。読込ト
ランザクションの実行中にCPU13から書込トランザ
クションの指示を受けた場合であっても、CPU13か
らのライトデータは送信ラッチに格納される。これによ
り、高速メモリ制御回路11は、書込トランザクション
と読込トランザクションの指示をCPU13から並行し
て受け付けることができる。
【0066】また高速メモリ制御回路11は、初期設定
されるミスディレイ遅延の長さなど各種動作条件を記憶
する内部レジスタ34と、CPU13への制御信号の出
力およびCPU13からの指示に応じて高速メモリへの
アクセス動作を起動するCPU制御器35を備えてい
る。書込リクエスト発生器31および読込リクエストパ
ケット発生器32には、CPU13からアドレス信号1
4およびCPU制御信号15が入力される。これらの信
号が入力されることにより書込リクエストパケット発生
器31は書込リクエストパケット36を、読込リクエス
トパケット発生器32は読込リクエストパケット37を
それぞれ生成する。
【0067】送信セレクタ38には、書込リクエストパ
ケット36、読込リクエストパケット37、送信ラッチ
33から読み出されるライトデータ39および無信号と
してのレベル信号41が入力されている。送信セレクタ
38はこれら入力信号のうちのいずれか1つを高速メモ
リ12へ送出する送信データ(TData)および送信
制御信号(TCtrl)42として選択する回路であ
る。
【0068】インタフェース回路43は、高速メモリ制
御回路11内のTTLレベルの信号をラムバス21で用
いられるラムバス信号レベルとの間で相互に信号レベル
の変換を行う物理的インタフェース回路である。ステー
ト制御回路44は、高速メモリ制御回路11におけるス
テートを管理する回路である。アック判定器45は、高
速メモリ12からの応答パケットの内容を解析して許可
応答あるいは否定応答を表わしたアック信号46を出力
する。受信ゲート47は、高速メモリ12から読み出し
たデータをCPU13に転送する際にバッファリングす
る回路である。
【0069】CPU制御器35は、CPU13から書込
トランザクションの指令を受けたとき、書込シーケンス
の開始を指示する書込スタート信号51を、また読込ト
ランザクションの指令を受けたとき、読込シーケンスの
開始を指示する読込スタート信号52を出力する。これ
らの信号51、52は、ステート制御器44に入力され
る。ステート制御器44は、高速メモリ12への書込動
作が終了したときその旨を表わした書込完了信号53
を、高速メモリからの読込動作が終了したときその旨を
表わした読込完了信号54をそれぞれ出力する。これら
完了信号53、54は、CPU制御器35に入力され
る。
【0070】CPU制御器35は、書込完了信号53が
入力されたとき、書込レディ信号18を送出し、CPU
13に書込トランザクションの終了を通知する。また、
CPU制御器35は、読込完了信号54が入力されたと
き、読込レディ信号17を送出し、CPU13に読込ト
ランザクションの終了を通知する。CPU制御器35
は、書込トランザクションの指示を受けてCPU13か
らデータ信号16を通じてライトデータが送られてくる
ときそのデータを保持することを表わしたロード信号5
5を出力する。送信ラッチ33は、ロード信号55が入
力されているときCPU13からのライトデータを内部
に格納する。
【0071】図2は、図1に示したステート制御器の管
理するステートの遷移を表わしたものである。アイドル
61のステートを起点として読込トランザクションを行
う遷移経路と、書込トランザクションを行う遷移経路が
ある。そして、高速メモリからの応答パケットが否定応
答でかつ、他方のトランザクションの実行要求が有る場
合には、ミスディレイのステートでの待ち動作を行う代
わりに他方のトランザクションの遷移経路に移動するよ
うになっている。
【0072】読込トランザクションの遷移経路は、アイ
ドル61から、バスイネーブルリード62、リードリク
エスト63、リードアック待ち64、リードアック判定
65、フィニッシュデータリード66、アックCPUリ
ード67を経由してアイドル61に戻るものである。書
込トランザクションの遷移経路は、アイドル61から、
バスイネーブルライト72、リードリクエスト73、リ
ードアック待ち74、リードアック判定75、フィニッ
シュデータライト76、アックCPUライト77を経由
して再びアイドル61に戻るものである。
【0073】リードアック判定65およびライトアック
判定75のステートで、高速メモリ12からの応答パケ
ットが否定応答を示している場合には、リードフィニッ
シュデータ66あるいはライトフィニッシュデータ76
のステートに移行しない。否定応答のときであって、他
方のトランザクションのスタート要求が有るときは、他
方のトランザクションの遷移経路のバスイネーブルのス
テートに移行する。
【0074】すなわち、リードアック判定65のステー
トで、否定応答を受けかつ書込スタート信号51がCP
U制御器35か入力されているときは、バスイネーブル
ライト72のステートに遷移する。同様に、ライトアッ
ク判定75のステートで、否定応答を受けかつ読込スタ
ート信号52が到来しているときは、バスイネーブルリ
ード62のステートに移行する。
【0075】否定応答を受けても、他方のトランザクシ
ョンのスタート要求が無いときは、ミスディレイリード
68、あるいはミスディレイライト78のステートに移
行して、ミスディレイカウント値が“0”になるまで待
ち状態に入る。その後、元の遷移経路上のバスイネーブ
ルのステートに戻り、再度同一のトランザクションを試
みる。
【0076】システムの初期化後は、ステート制御器4
4のステートはアイドル61になる。CPU13から書
込トランザクションあるいは読込トランザクションの指
示が到来すると、CPU制御器35は、書込スタート信
号51あるいは読込スタート信号52を出力する。これ
を受けてステート制御器44は、図2に示した状態遷移
にしたがって、順次トランザクションを実行する。
【0077】たとえば、読込スタート信号52がアクテ
ィブになった場合には、アイドル61からバスイネーブ
ルリード62のステートに移行する。バスイネーブル6
2のステートにおいて、ステート制御器44は送信許可
信号(TEnable)をアクティブにする。これによ
りインタフェース回路43は、ラムバス21上のバスイ
ネーブル信号をローレベルにする。こうしてラムバス2
1を通じてパケットを転送を行うことのできる状態にな
る。
【0078】バスイネーブル信号をロウレベルのアクテ
ィブとした後、ステート制御器44は、そのステートを
リクエストリード63に遷移させる。リクエストリード
63のステートでは、読込リクエストパケット発生器3
2によって生成されたリードリクエストパケットをラム
バス21を通じて高速メモリ12に送出する。リードア
ック待ち64のステートでは、何もせず、アック遅延時
間の経過を待つ。アック遅延時間の経過後、ステートは
リードアック判定65に移行する。リードアック判定6
5のステートでは、高速メモリ12から返送されてくる
応答パケットを受信し、その内容を解析する。
【0079】応答パケットが許可応答を表わしていると
きは、フィニッシュデータリード66のステートに移行
する。フィニッシュデータリードのステートでは、転送
データ数をチェックしながら高速メモリ12から送られ
てくるデータパケットを受信する。残データ転送数が
“0”になるとアックCPUリード67のステートに移
行する。アックCPUリード67のステートにおいてス
テート制御器44は、読込完了信号54を出力する。こ
れを受けたCPU制御器35は、CPU13に向けて読
込レディ信号17を出力する。
【0080】ステート制御器44は、リードアック判定
65のステートにおいて否定応答の応答パケットを受け
ると、書込スタート信号51がCPU制御器35から入
力されているか否かを判別する。書込スタート信号51
が入力されていない場合には、ミスディレイリード68
のステートに移行する。ミスディレイリード68のステ
ートでは、初期化時に予め設定されているミスディレイ
カウントの値を同期クロック19を基に順次減算し、そ
の値が“0”になるまで、ミスディレイリードのステー
トに留まる。ミスディレイカウント値が“0”になる
と、バスイネーブルリード62のステートに移行して、
再度読込トランザクションを行う。
【0081】リードアック判定65のステートにおいて
否定応答を受けるとともに、書込スタート信号51が入
力されているときは、リードアック判定65からバスイ
ネーブルライト72のステートに移行し、書込トランザ
クションを行う。このようにミスディレイのステートで
の待ち時間を利用して、書込トランザクションを実行す
るので、高速メモリのアクセス効率を向上させることが
できる。
【0082】これと同様にアイドル61のステートにあ
る状態で、書込スタート信号51がアクティブになる
と、バスイネーブルライト72のステートに移行して送
信許可信号(TEnable)をアクティブにする。そ
の後、リクエストライト73のステートに移行し、書込
リクエストパケット発生器31で生成されたライトリク
エストパケットを高速メモリ12に送出する。ライトア
ック待ち74のステートでアック遅延時間の経過を待っ
た後、ライトアック判定75に移行して高速メモリから
返送されてくる応答パケットの内容を解析する。
【0083】応答パケットがリクエストの許可を表わし
ているときは、フィニッシュデータライト76のステー
トに移行する。書込トランザクションの場合には、ライ
トアック判定75のステートにおいてバスデータ信号ラ
インを通じてライトデータパケットを高速メモリに転送
することができる。リクエスト許可の応答パケットを受
けたとき高速メモリ12に転送すべきライトデータがま
だ存在するときはフィニッシュデータライト76のステ
ートで残りのデータの転送を行う。残データ転送数が
“0”になるとアックCPUライト77のステートに移
行し、書込完了信号53を出力する。これを受けたCP
U制御器35は、CPU13に向けて書込レディ信号1
8を出力する。
【0084】ライトアック判定75のステートで否定応
答を受け、かつ読込スタート信号52が非アクティブの
ときは、ミスディレイライト78のステートに移行す
る。そしてミスディレイカウントの値が“0”になるま
で待ってからバスイネーブルライト72のステートに遷
移し、再度書込トランザクションを行う。ライトアック
判定75のステートで否定応答を受けかつ読込スタート
信号52が入力されているときは、ライトアック判定7
5からバスイネーブルリード62のステートに移行し、
読込トランザクションを行う。
【0085】図3は、CPUと高速メモリ制御回路の間
で送受信される各種信号の波形の一例を表わしたもので
ある。この図では、CPU13から読込トランザクショ
ンの指示を受けた後、続けて書込トランザクションの指
示を受ける場合を示してある。CPU13は、時刻T21
にアドレス信号(同図c)にリードアドレス81を出力
するとともに、リードライト信号(同図b)をハイレベ
ルにし、アドレスストローブ信号(同図a)をアクティ
ブにする。これにより読込トランザクションの指示が高
速メモリ制御回路11に送られる。
【0086】これらの信号を受信した高速メモリ回路1
1のCPU制御器35は、読込スタート信号(同図g)
を時刻T21にロウレベルのアクティブ状態にする。ま
た、読込リクエストパケット発生器32は、CPU13
からの指示に応じた内容の読込リクエストパケット37
を生成する。ステート制御器44は、図2に示した状態
遷移に従い、CPU13から指示されたアドレスのデー
タを指定されたバイト数分だけ高速メモリ12から読み
出す処理を行う。
【0087】このような動作の行われている間に、CP
U13は、時刻T22に書込トランザクションの指示を高
速メモリ制御回路11に送出する。すなわち、時刻T22
にCPU13は、リードライト信号(同図b)をロウレ
ベルとしかつライトアドレス82と、データ信号(同図
d)としてライトデータ83を出力する。さらにこれら
と同時にアドレスストローブ信号をアクティブにする。
CPU制御器35は、CPU13から書込トランザクシ
ョンの指示を受けた時刻T22にステート制御器44に向
けて書込スタート信号(同図i)を出力する。また、書
込リクエストパケット発生器31は、時刻T22に書込リ
クエストパケット36を生成する。さらに、CPU13
から送られてくるライトデータ83は送信ラッチ33に
一時的に格納される。
【0088】ここで、先にCPU13から指示を受けた
読込トランザクションの実行過程において、高速メモリ
制御回路11の送出したリクエストパケットに対して高
速メモリ12から否定応答の応答パケットが返送された
ものとする。ステート制御器44は、リードアック判定
のステート65(図2)にて、否定応答を受けかつ書込
スタート信号51がCPU制御器35から入力済である
ので、バスイネーブルライト72のステートに移行す
る。
【0089】これにより、書込トランザクションのリク
エストパケットが送出される。また、送信ラッチ33に
格納されているライトデータが読み出され高速メモリ1
2にライトデータパケットとして送出される。ライトリ
クエストパケットに対する高速メモリ12からの応答パ
ケットがリクエストの許可を示すものであるとする。こ
の場合には、図2に示した状態遷移に従い、ライトアッ
ク判定75からフィニッシュデータライト76、アック
CPUライト77へとステートが遷移する。
【0090】アックCPUライト77のステートを実行
した時刻T23においてステート制御器44は、書込完了
信号(図3j)53を出力し、これを受けて時刻T24
CPU制御器35は、書込レディ信号(同図f)18を
CPU13に向けて出力する。このようにして、先に指
示した読込トランザクションに対して高速メモリから否
定応答が返送された場合には、そのミスディレイ待ちの
間に、後から指示を受けた書込トランザクションが行わ
れる。
【0091】ステート制御器44は、先に受けた読込ト
ランザクションの指示によりCPU制御器35から読込
スタート信号が出力済であることを記憶している。これ
により書込トランザクションを終えてアイドル61の状
態に戻った後、ステート制御器44は、バスイネーブル
リード62、リードリクエスト63の順に読込トランザ
クションを実行する。2回目のリードリクエストパケッ
トに対する応答パケットがリクエストの許可を示してい
る場合には、リードアック判定65のステートからフィ
ニッシュデータリード66に移行して、高速メモリ12
からリードデータパケットの受信が行われる。データカ
ウントが“0”になるまでデータの受信を終えた時刻T
25に、アックCPUリード67のステートに遷移し、ス
テート制御器44から読込完了信号(図3h)が出力さ
れる。
【0092】これを受けてCPU制御器35は、時刻T
26に読込レディ信号(同図e)をロウレベルのアクティ
ブ状態にし、高速メモリ12から読み込んだデータ84
を受信ゲート47を介してCPU13に転送する。この
よにして1回目のアクセスにより否定応答を受けかつ、
他のトランザクションの要求があるときはそれを先に処
理してから2回目のトランザクションが実行される。
【0093】図4は、高速メモリ制御回路と高速メモリ
との間で送受信される各種信号の波形の一例を表わした
ものである。この図は、図3に示したトランザクション
の行われる際の高速メモリ制御回路11と高速メモリ1
2との間で送受される信号およびステート制御器33に
おける状態遷移の様子を表わしている。図中に示した時
刻T21、T22、T23およびT25はそれぞれ図3に示した
これらの符号によって示される時刻と対応している。ま
た、図3に示した波形との対応付けを容易にするため
に、図3g〜jに示した信号を図4a〜dにそれぞれ示
してある。
【0094】ここでは、1回のトランザクションにより
アクセスするデータの数、すなわちデータカウント値を
“1”としている。1回目の読込トランザクションは否
定応答であり、2回目の読込トランザクションにてリク
エストが許可となる。また、書込トランザクションは1
回目でリクエストの許可を得る場合を示してある。読込
トランザクションにおいてCPU制御器35からの読込
スタート信号(同図a)が時刻T21にアクティブになる
と、ステート制御器44のステート(同図j)は、アイ
ドル61のステートから、バスイネーブルリード62、
リードリクエスト63、リードアック待ち64、リード
アック判定65へと順次移行する。
【0095】図4jでは、アイドルを“I”、リードバ
スイネーブルを“B”、リードリクエストを“R”、リ
ードアック待ちを“W”、リードアック判定を“E”、
フィニッシュデータリードを“F”、アックCPUリー
ド状態を“C”と表わしている。またライトバスイネー
ブルを“b”、ライトリクエストを“r”、ライトアッ
ク待ちを“w”、ライトアック判定を“e”、フィニッ
シュデータライトを“f”、アックCPUライト状態を
“c”と表わしている。
【0096】ラムバス21上でのデータの転送レートは
バスクロック(同図e)に同期して行われる。また、ス
テートの遷移は、同期クロック(同図f)に同期して行
われる。リードバスイネーブル91のステートでは、バ
スイネーブル信号(同図h)がロウレベルに変化しアク
ティブになる。リードリクエスト92のステートでは、
バスコントロール信号(同図i)およびバスデータ信号
(同図j)を通じて高速メモリ制御回路11から高速メ
モリ12に向けて第1回目のリクエストパケット93が
送出される。リードアック待ち94のステートでは何も
しない。
【0097】この例では、第1回目のリクエストに対し
ては否定応答が返されるので、リードアック判定95に
おいて否定応答の応答パケット96を受け取る。このと
き、CPU13からは既に書込トランザクションの指示
が出され、時刻T22においてCPU制御器35から書込
スタート信号(同図c)が出力されている。したがっ
て、ミスディレイリード68ではなく、バスイネーブル
ライト97のステートに移行し、バスイネーブル信号が
再びアクティブになり、その後ライトリクエスト98の
ステートにおいてライトリクエストパケット99が送出
される。
【0098】ステート制御器44は、アック判定ライト
101のステートで高速メモリ12からリクエストの許
可を示す応答パケット102を受け取る。また、アック
判定ライト101のステートにおいて高速メモリ制御回
路11は、バスデータ信号を通じてライトデータパケッ
ト103を送出する。許可の応答を受けたので、ステー
ト制御器44は、フィニッシュデータライト104以降
のステートを順次実行する。ここでは、データカウント
値が“1”であり、全てのライトデータがアック判定ラ
イト101のステートで転送済なので、フィニッシュデ
ータライト104のステートではライトデータパケット
の転送は行われない。
【0099】その後、アックCPUライト105のステ
ートに移行した時刻T23において書込完了信号(同図
d)が出力される。アイドルステート106に一旦戻っ
た後、読込トランザクションがリトライされる。2回目
の読込トランザクションにおけるリードアック判定10
6では、高速メモリ12から許可応答の応答パケット1
07を受信する。
【0100】このため、フィニッシュデータリード10
8に移行して、リードデータパケット109を受け取る
までこのステートが繰り返される。リードデータパケッ
ト109の受信が終了するとアックCPUリードのステ
ート111に移行し、時刻T 25に読込完了信号(同図
b)が出力される。その後は、図3に示したようにCP
U制御器35から読込レディ信号が出力されCPU13
へのリードデータの転送を終えると読込トランザクショ
ンが終了する。
【0101】たとえば、読込トランザクションと書込ト
ランザクションが同時に発生し、いずれかのトランザク
ションで否定応答を受け、ミスディレイ時間分だけ単に
待ち処理を行う場合には、2つのトランザクションを終
えるまでに26クロックを要していた。これを否定応答
を受けた後の待ち時間の間に他方のトランザクションを
行うことで、20クロックで実行することが可能になっ
た。
【0102】以上説明した実施例では、リードアック判
定、ライトアック判定のステートからのみ他方のトラン
ザクションのバスイネーブルに遷移するようにしたが、
ミスディレイリード、ミスディレイライトのステートか
らも移行可能にしてもよい。
【0103】たとえば、リードアック判定のステートに
おいて否定応答を受け取った際に、書込スタートの指示
が無い場合には、一旦、ミスディレイリードのステート
に移行する。ミスディレイリードのステートを実行して
いる間に、書込スタート信号が発生したときは、ただち
に、バスイネーブルライトのステートに移行して書込ト
ランザクションを行う。このようにミスディレイのステ
ートで他方のトランザクションのスタート信号が到来し
たときに、要求のあったトランザクションに移行してス
テートを進めるようにすれば、より効率良く高速メモリ
をアクセスすることができる。
【0104】さらに、ミスディレイのステートを抜ける
までの残り時間が一定値以下の場合には、たとえ他方の
スタート信号が到来してもそのトランザクションへの移
行を禁止するようにしてもよい。たとえば、ミスディレ
イカウントの初期値が“4”であってその値が“2”以
下のには、他方のトランザクションに移行しないように
する。このようにすると、先に否定応答を受けたトラン
ザクションの実行が他方のトランザクションの実行時間
に2クロック分の長さを加えた以上に待たされることが
なくなる。制限しない場合には他方のトランザクション
の実行時間に加えて4クロック分待たされることにな
る。
【0105】また、実施例では書込トランザクションと
読込トランザクションのうち否定応答を受けたトランザ
クションと異なる種類のトランザクションの有無を調べ
るようにしたが、同一の種類のトランザクションの有無
を調べるものであってもよい。たとえば、リードリクエ
ストパケットに対して否定応答を受けた場合に、他の読
込要求が有る場合には、それに対応するリードリクエス
トパケットを送出するようにしてもよい。この場合に
は、書き込み用の遷移経路と読み込み用の遷移経路のよ
うに動作の種類によって状態遷移を区別するのではな
く、第1のトランザクション、第2のトランザクション
のようにトランザクション別にステートの遷移を管理す
ることになる。
【0106】そして、各トランザクションが書き込みで
あるか読み込みであるかを所定のレジスタに記憶して管
理する。また、同一種類のリクエストパケットが2つ生
成されるが、生成されたリクエストパケットをバッファ
メモリに蓄積すればよい。
【0107】
【発明の効果】このように請求項1記載の発明によれ
ば、高速メモリから否定応答を受けたときに他のアクセ
ス要求が存在する場合には、待ち状態に入らず当該他の
アクセス要求を高速メモリに送出した。これにより、否
定応答を受けたアクセス要求を再度送出するまでの待ち
時間の間に、他のアクセス要求に対応する読み書き動作
を進めることができ、データのアクセス効率を向上させ
ることができる。
【0108】また請求項2記載の発明によれば、否定応
答を受けた時点で他のアクセス要求が存在しなくても、
一定時間内に新たなアクセス要求が発生したときにはそ
れを高速メモリに送出している。これにより、高速メモ
リへのアクセス効率をより一層向上させることができ
る。また、新たなアクセス要求の発生を待つ時間を否定
応答を受けてからの待ち時間よりも短い一定時間にすれ
ば、他のトランザクションの実行により否定応答を受け
たトランザクションの終了までにかかる時間が長くなり
過ぎることを防止することができる。
【0109】さらに請求項3記載の発明によれば、ライ
トデータを一時的に記憶するバッファメモリを設けたの
で、たとえば、バスマスタ装置からの書き込み指示と読
み出し指示の双方を並行して受け付けることができる。
【0110】また請求項4記載の発明によれば、書き込
み動作と読み込み動作だけを並行して処理可能としたの
で、ステートの管理が容易になるとともに、回路構成の
複雑化を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の一実施例における高速メモリ制御回路
の構成の概要を表わしたブロック図である。
【図2】図1に示したステート制御器の管理するステー
トの遷移を表わした状態遷移図である。
【図3】CPUと高速メモリ制御回路の間で送受信され
る各種信号の波形の一例を表わした波形図である。
【図4】高速メモリ制御回路と高速メモリとの間で送受
信される各種信号の波形の一例を表わした波形図であ
る。
【図5】リクエストパケットのビット構成の一例を表わ
した説明図である。
【図6】応答パケットのビット構成の一例を表わした説
明図である。
【図7】応答パケットの2つのビットの値とそれらによ
って示される応答パケットの通知内容を表わした真理値
表である。
【図8】データパケットの構成の一例を表わした説明図
である。
【図9】読込トランザクションにおける各パケットの転
送手順を表わした説明図である。
【図10】書込トランザクションにおける各パケットの
転送手順を表わした説明図である。
【図11】高速メモリの構成の概要を表わしたブロック
図である。
【図12】従来から使用されている高速メモリ制御回路
の構成の概要を表わしたブロック図である。
【図13】図12に示したステート制御回路で管理され
る状態遷移を表わした状態遷移図である。
【図14】トランザクションが行われる際にCPUと高
速メモリ制御回路に間で送受される各種信号の波形の一
例を表わした波形図である。
【図15】図14に示したシーケンスによってトランザ
クションの行われる際の高速メモリ制御回路と高速メモ
リとの間で送受信される各種信号の波形の一例を表わし
た波形図である。
【符号の説明】 11 高速メモリ制御回路 12 高速メモリ 13 CPU 14 アドレス信号 15 CPU制御信号 16 データ信号 17 読込レディ信号 18 書込レディ信号 19 クロック信号 21 ラムバス 31 書込リクエストパケット発生器 32 読込リクエストパケット発生器 33 送信ラッチ 34 内部レジスタ 35 CPU制御器 38 送信セレクタ 43 インタフェース回路 44 ステート制御器 45 アック判定器 47 受信ゲート

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 データの読出要求と書込要求のうちのい
    ずれか一方を表わしたアクセス要求を受けたとき所定の
    待ち時間の経過するまでその要求に応じられない場合に
    は否定応答を返送し、直ちに応じられる場合には許可応
    答を返送する高速メモリに対して前記アクセス要求を送
    出する要求送出手段と、 送出したアクセス要求に対して前記高速メモリから前記
    否定応答を受けたとき高速メモリに送出すべき他のアク
    セス要求が存在するか否かを判別する判別手段と、 この判別手段により他のアクセス要求が存在すると判別
    されたときそのアクセス要求を前記高速メモリに送出す
    る他要求送出手段と、 前記判定手段により他のアクセス要求が存在しないと判
    別されたとき前記否定応答を受けたアクセス要求を前記
    所定の待ち時間の経過後に前記高速メモリに再送する再
    送手段と、 送出したアクセス要求に対して前記高速メモリから前記
    許可応答を受けたときそのアクセス要求に応じたデータ
    の読み書きを高速メモリとの間で行うデータ読み書き手
    段とを具備することを特徴とする高速メモリ制御装置。
  2. 【請求項2】 データの読出要求と書込要求のうちのい
    ずれか一方を表わしたアクセス要求を受けたとき所定の
    待ち時間の経過するまでその要求に応じられない場合に
    は否定応答を返送し、直ちに応じられる場合には許可応
    答を返送する高速メモリに対して前記アクセス要求を送
    出する要求送出手段と、 送出したアクセス要求に対して前記高速メモリから前記
    否定応答を受けたとき前記高速メモリに送出すべき他の
    アクセス要求が存在するか否かを判別する判別手段と、 この判別手段により他のアクセス要求が存在すると判別
    されたときそのアクセス要求を前記高速メモリに送出す
    る第1の他要求送出手段と、 前記判別手段によって他のアクセス要求が存在しないと
    判別されかつ前記否定応答を受けてから前記所定の待ち
    時間よりも短い一定時間の経過前に前記高速メモリに送
    出すべき他のアクセス要求が発生したときこれを前記高
    速メモリに送出する第2の他要求送出手段と、 前記判別手段によって他のアクセス要求が存在しないと
    判別されかつ前記否定応答を受けてから前記一定時間の
    経過前に他のアクセス要求が発生しないとき前記否定応
    答を受けたアクセス要求を否定応答を受けてから前記所
    定の待ち時間の経過後に前記高速メモリへ再送する再送
    手段と、 送出したアクセス要求に対して前記高速メモリから前記
    許可応答を受けたときそのアクセス要求に応じたデータ
    の読み書きを高速メモリとの間で行うデータ読み書き手
    段とを具備することを特徴とする高速メモリ制御装置。
  3. 【請求項3】 前記要求送出手段は、前記高速メモリに
    書き込むべきデータを一時的に保持するバッファメモリ
    を具備することを特徴とする請求項1または請求項2記
    載の高速メモリ制御装置。
  4. 【請求項4】 前記他のアクセス要求は、データの読出
    要求と書込要求のうちの前回送出されたアクセス要求と
    異なる種類のアクセス要求であることを特徴とする請求
    項1または請求項2記載の高速メモリ制御装置。
JP4598996A 1996-03-04 1996-03-04 高速メモリ制御装置 Expired - Fee Related JP2885166B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4598996A JP2885166B2 (ja) 1996-03-04 1996-03-04 高速メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4598996A JP2885166B2 (ja) 1996-03-04 1996-03-04 高速メモリ制御装置

Publications (2)

Publication Number Publication Date
JPH09237219A JPH09237219A (ja) 1997-09-09
JP2885166B2 true JP2885166B2 (ja) 1999-04-19

Family

ID=12734562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4598996A Expired - Fee Related JP2885166B2 (ja) 1996-03-04 1996-03-04 高速メモリ制御装置

Country Status (1)

Country Link
JP (1) JP2885166B2 (ja)

Also Published As

Publication number Publication date
JPH09237219A (ja) 1997-09-09

Similar Documents

Publication Publication Date Title
CA2050129C (en) Dynamic bus arbitration with grant sharing each cycle
WO2023160192A1 (zh) 一种用于总线的互联装置
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
US5067075A (en) Method of direct memory access control
US6085261A (en) Method and apparatus for burst protocol in a data processing system
JPH0626336B2 (ja) 制御リンク
JP4215417B2 (ja) プロセッサ・ローカル・バス・システムでのバス最適化の方法および装置
JP2885166B2 (ja) 高速メモリ制御装置
JP4104939B2 (ja) マルチプロセッサシステム
CN109145397A (zh) 一种支持并行流水访问的外存仲裁结构
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
JPH10307787A (ja) バッファメモリ装置
KR20040066311A (ko) 직접 메모리 접근매체의 데이터 전송 장치 및 방법
JPH07271654A (ja) コントローラ
JPH11282749A (ja) 高速メモリ制御装置
JP3586603B2 (ja) データ転送装置及びデータ転送方法
JP4125933B2 (ja) 共通メモリを備えたプロセッサシステム
JP3356110B2 (ja) 機能拡張システム及びそれに用いるデータ転送方法
JP2000285087A (ja) ノード間データ通信方法
JP2000029823A (ja) バスアクセス制御回路
KR0170742B1 (ko) 엠버스를 이용한 데이터 전송 방법
JPH11328102A (ja) バス制御システムおよびバス制御方法
JP3947223B2 (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
JP2803616B2 (ja) 入出力バスインタフェース制御方式
JP3458037B2 (ja) スプリットバス制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080212

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090212

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100212

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100212

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110212

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110212

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120212

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120212

Year of fee payment: 13

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120212

Year of fee payment: 13

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120212

Year of fee payment: 13

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees