| 【発明の名称】 |
メモリ制御装置 |
| 【発明者】 |
【氏名】ブライアン・イー・ジェイ・ラゴイ・ジュニア
|
| 【要約】 |
【課題】システムバス(10)により結合されたリクエスト側エージェント(12)と応答側エージェント(16)とを含むデータ処理システムにおいて用いるメモリ制御装置を提供する。
【解決手段】メモリ制御装置は、リクエスト側エージェントからの応答側エージェントのメモリ(20)に対するアクセス要求を検出するリクエスト検出手段(66)と、リクエスト検出手段に応答し、応答側エージェントのメモリへ順次アクセスするためにメモリバスを通じて複数のメモリアドレス制御信号をアサートする送出手段(66)と、メモリに対するアクセスサイクルの完了を検出するアクセス終了検出手段(66)とを備え、送出手段が、ローアドレスストローブ信号およびコラムアドレスストローブ信号を用いてページモード形式のメモリアクセスを実行する。 |
【特許請求の範囲】
【請求項1】 システムバス(10)により電気的に結合された少なくとも1つのリクエスト側エージェント(12)と応答側エージェント(16)とを有し、前記リクエスト側エージェントは、前記応答側エージェントのメモリ(20、60)に前記システムバスを介してデータを記憶するため及び検索するために前記メモリに対するアクセスを要求し、前記メモリはメモリバス(RAS、CAS)によって前記応答側エージェントに結合されており、前記メモリバスは前記システムバスから分離しているデータ処理システムにおいて使用されるメモリ制御装置であって、前記システムバスに結合され、前記応答側エージェントの前記メモリに対するアクセスサイクルを開始する要求を検出するリクエスト検出手段(66)であって、前記要求は前記システムバスを通じて前記リクエスト側エージェントによって生成される、リクエスト検出手段と、前記メモリバスに結合され、前記リクエスト検出手段に応答し、複数の連続的な読み出しアクセス又は書き込みアクセスを行い、読み出しアクセスに対して前記システムバスへデータを出力し、書き込みアクセスに対して前記システムバスからデータを入力するために前記応答側エージェントの前記メモリへ順次アクセスするために、前記メモリバスを通じて複数のメモリアドレス制御信号をアサートする送出手段(66)であって、前記制御信号が少なくともローアドレスに関連するローアドレスストローブ信号と、コラムアドレスに関連するコラムアドレスストローブ信号とを含む、送出手段と、前記メモリに対するアクセスサイクルの完了を検出するアクセス終了検出手段(66)であって、前記システムバスに結合され、前記システムバスを通じての前記リクエスト側エージェントにより発生されるサイクル終了制御信号の論理状態に応答する、アクセス終了検出手段と、を備え、前記送出手段が、前記メモリ内のデータのページを示すローアドレスとともにローアドレスストローブ信号をアサートすることによってメモリアドレス制御信号をアサートし、その後、前記システムバス上の前記リクエスト側エージェントによっての使用のために前記メモリバスを通じて複数のコラムアドレスとともにコラムアドレスストローブ信号をアサート及びアサート解除してページモード形式のメモリアクセスを実行する、ことを特徴とするメモリ制御装置。 【請求項2】 システムバス(10)により電気的に結合された少なくとも1つのリクエスト側エージェント(12)と応答側エージェント(16)とを有し、前記応答側エージェントが更にメモリバス(RAS、CAS)を通じてメモリ(20、60)に結合され、前記システムバスから分離したアクセス用のバス(68、74)を通じて前記メモリに電気的に結合されたプロセッサ(86)を有するデータ処理システムにおいて使用されるメモリ制御装置であって、前記システムバスに結合され、前記システムバスを通じて行われるリクエスト側エージェントの要求又は前記アクセス用のバスを通じて行われる前記プロセッサの要求に応答し、前記応答側エージェントの前記メモリに対するアクセスサイクルを開始するリクエスト検出手段(66)と、前記メモリバスに結合され、前記リクエスト検出手段に応答し、複数の連続的な読み出しアクセス又は書き込みアクセスを行い、読み出しアクセスに対して前記システムバス又は前記アクセス用のバスへデータを出力し、書き込みアクセスに対して前記システムバス又は前記アクセス用のバスからデータを入力するために前記応答側エージェントの前記メモリへ順次アクセスするために、前記メモリバスを通じて複数のメモリアドレス制御信号をアサートする送出手段(66)であって、前記制御信号が少なくともローアドレスに関連するローアドレスストローブ信号と、コラムアドレスに関連するコラムアドレスストローブ信号とを含む、送出手段と、前記メモリに対するアクセスサイクルの完了を検出するアクセス終了検出手段(66)であって、前記システムバスに結合され、前記システムバスを通じての前記リクエスト側エージェントにより発生されるサイクル終了制御信号の論理状態に応答する、アクセス終了検出手段と、を備え、前記送出手段が、前記メモリ内のデータのページを示すローアドレスとともにローアドレスストローブ信号をアサートすることによってメモリアドレス制御信号をアサートし、その後、前記システムバス上の前記リクエスト側エージェントによる使用のため及び前記アクセス用のバスに結合された前記プロセッサによる使用のために前記メモリバスを通じて複数のコラムアドレスとともにコラムアドレスストローブ信号をアサート及びアサート解除してページモード形式のメモリアクセスを実行する、ことを特徴とするメモリ制御装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は一般にデジタルコンピュータに関し、特に、種々のエージェント(agent)同士を相互に接続するシステムバスと上記エージェント間でデータブロックの転送を行うためのページモードメモリアクセス手段を有するデジタルコンピュータシステムに関する。 【0002】 【従来の技術】現代のコンピュータシステムは機能的に異なるタイプの複数の回路カード又はエージェントが一つのシステムバスにより互いに接続されるという特徴を有している場合が多い。かかる回路カードの設計とこれらカードを活用するために必要なソフトウエアルーチンの作成とを容易にするためかかるコンピュータバスは標準化されているのが普通である。そのようなバスの一つはP1296として知られる32ビット高性能同期バスであって、これはマルチバスIIとしても一般に知られている。 【0003】かかるバスは予め定義された複数の信号線から構成されるのが普通で、それらはメモリアドレスとデータをバスに互いに接続された2つ又はそれ以上の回路ボード間で転送するために使用される。その他の信号線はデータのバス上での転送を制御したり事象に割込んだりエラー状態用に用いられる。同様にしてエージェント間のデータの流れを同期するためにバスに一つもしくはそれ以上のクロックが設けられる。かかるバスはそれに相互接続された少なくとも一つの回路カードを有し同カードはその上部にマイクロプロセッサ装置の如きデータプロセッサを格納することになろう。他の回路カードは大容量記憶装置、CRT、プリンタの如き外部装置のインターフェースとして入出力(I/O)回路から成る。バスに相互接続された他のカードは大容量メモリカードでデータを記憶したり検索するために使用されるダイナミックランダムアクセスメモリ(DRAM)の如き複数のリード/ライトメモリから成る。更に、大容量記憶装置を制御するようにしたカードの如き回路カードも、大容量記憶装置間を行き来するデータを局部的にバッファに記憶するために比較的大きなDRAMを備えると共に、大容量記憶装置を制御するためにローカルマイクロプロセッサ装置を備えることができる。 【0004】 【発明が解決しようとする課題】かかるバス上の回路カード同士の間で比較的大きなデータブロックを転送しあうことが必要な場合には一つの問題が生ずる。 【0005】バスは、当該バスに相互接続された回路カードの全てに共通な共有資源であると考えられるから、かかるデータ転送を迅速に行ってバスの帯域幅の縮小を回避するようにすることが望ましい。 【0006】バスの帯域幅を大きくするためには要求側(リクエスト)エージェントと応答側エージェントの両方に対して先入先出(FIFO)バッファを設ける方法が従来より知られている。例えば、リクエストエージェントは応答側エージェントに対して、応答側エージェントのローカルメモリからデータブロックを読み出してその後にバスを介してリクエストエージェントに伝送してもらいたい旨を通知する。それに応えて応答して応答側エージェントは所望のメモリロケーションにアクセスしその内部に格納されたデータを応答側エージェントのFIFO内にロードし、その後データはFIFOからバスを介してリクエストエージェントのFIFOに伝送され、そこからリクエストエージェントはそのデータを抽出しローカルメモリ内に記憶する。以上より理解できるように、かかるFIFOバッファを使用することによって該システムは余分のコストと複雑さを加えることになる。更に、利用可能なFIFOバッファの記憶容量は所望のデータブロックの大きさを転送する上で不十分となるおそれがあり、その結果FIFOに2倍もしくはそれ以上のデータを十分ロードできるようにする必要が生ずる。 【0007】他のシステムの場合、従来よりメモリインターリーブを活用してバスのデータ転送速度を向上させる方法が知られている。しかしながら、メモリインターリーブ法の場合もシステムコストが大きくなるおそれがある。同時にメモリインターリーブ法はある一定のタイプのデータ転送速度しか向上させることができないという欠点がある。 【0008】高帯域幅のバスを得る若しくは維持する問題はまた、もしメモリ装置がDRAM装置の場合、メモリ装置を周期的にリフレッシュする必要性と関連している。このリフレッシュの必要性のため、リフレッシュを行うためにブロックデータの転送を中断する必要がある。同様に、もしエージェント上にローカルプロセッサが設けられておれば、そのローカルプロセッサもメモリにアクセスする必要があるため、エージェント同士の間でのデータの転送と干渉しあうおそれがある。 【0009】 【課題を解決するための手段】上記問題点とその他の利点は一本のシステムバスにより電気的に共に接続された少なくとも1つの要求する側のエージェント(以下リクエスト側エージェントと称する)と応答(する側の)エージェントを有するデータ処理システム中に使用されるメモリ制御装置によって、克服ないし実現され、上記リクエスト側エージェントは応答側エージェントのメモリにアクセスを要求しその内部のデータをシステムバスを介して記憶及び検索する。メモリ制御装置は、応答側エージェントのメモリに対するアクセスサイクルを開始するためのリクエストを検出する手段と、該リクエスト検出手段に応答して複数のメモリアドレス制御信号を送出(アサート、assert)して応答側エージェントのメモリを順次アクセスする手段と、上記メモリに対するアクセスサイクルの完了を検出する手段とから成り、上記制御信号はロー(行)アドレスに関連する少なくとも一つのローアドレスストローブ(信号)と、コラム(列)アドレスに関連するコラムアドレスストローブ(信号)とから成り、上記完了検出手段がリクエスト側エージェントにより生成されたサイクル終了制御信号の論理状態に応答するようになっている。 【0010】本発明による上記メモリアドレス制御信号送出手段はメモリ内の1ページデータを表わすローアドレスと共にローアドレスストローブ信号を複数回送出(アサート)することによってメモリアドレス制御信号をアサートし、その後、複数のコラムアドレスと共にコラムアドレスストローブ信号をアサートしたり、デアサート(deassert、アサート解除)したりしてページモード形式のメモリアクセスを実行する。 【0011】本発明の方法によれば一本のシステムバスにより共に電気的に接続される少なくとも一つのリクエスト側エージェントと応答側エージェントを有するデータ処理システム内に使用されるメモリ制御方法であって、リクエスト側エージェントが応答側エージェントのメモリにアクセスを要求してその内部のデータをシステムバスを介して記憶及び検索するようになった方法が開示される。上記方法は応答側エージェントのメモリに対するアクセスサイクルを開始するための要求を検出する段階、複数のメモリアドレス制御信号をアサートして応答側エージェントのメモリにアクセスする段階、メモリに対するアクセスサイクルの完了を検出する段階より成る。 【0012】上記制御信号はローアドレスに関連する少なくとも一つのローアドレスストローブ(信号)とコラムアドレスに関連するコラムアドレスストローブ(信号)とから成り、上記完了検出手段はリクエスト側エージェントが発生したサイクル終了制御信号の論理状態に応答する。上記メモリアドレス制御信号アサート段階は、メモリ内の1ページのデータを表示するローアドレスと共にローアドレスストローブ信号をアサートし、その後、複数のコラムアドレスと共にコラムアドレスストローブ信号をアサート及びデアサートしてページモード形式のメモリアクセスを行うことによって行われる。 【0013】 【発明の実施の形態】実施例本発明の方法と装置は本文中ではマルチバスIIの環境の文脈で説明するけれども、本発明はバス上に相互接続された少なくとも2つのエージェント同士の間でデータを転送しあうバスを有する多くのデジタルコンピュータシステムでも実施可能なことを理解すべきである。 【0014】マルチバスIIの動作特性は「高性能32ビットバス標準P1296(High Performance 32-Bit Bus Standard P1296)」と題する文書中に説明されている。上記文書はIEEEマイクロプロセッサ標準委員会P1296作業グループ(theIEEE microprocessor standards committee P1296 working group)により作成されたものであるが(1986年6月20日、草案(draft)2,0)これを本文に採用する。 【0015】図1について述べると、バス10とそれに接続された複数のエージェント12−14から成るデジタルコンピュータシステム1の一部がブロック線図で示してある。図1に示す如く、リクエスト側エージェント12と応答側エージェント14、16とはバス10に対して双方向に接続されている。リクエスト側エージェント12はダイナミックランダムアクセスメモリ(DRAM)から成るローカルメモリ18を有する。応答側エージェント16も同様にDRAMより成るローカルメモリ20を有するように描かれている。応答側エージェント16には大容量記憶装置22も接続されていて、同装置22は良く知られたウインチェスタ若しくはフロッピ磁気ディスクより成り、データとプログラムの情報を大量にストアする。 【0016】図1には、リクエスト側エージェントが1つと応答側エージェント14及び16が2つ示されているが、かかるデジタルコンピュータシステムは複数のリクエスト側エージェントと複数の応答側エージェントをバスに接続できることを理解されたい。更にシステム1の作業中ある時にはリクエスト側エージェント12が応答側エージェントとなり、応答側エージェント16がリクエスト側エージェントとなることができることも理解されたい。一つのエージェントを応答側エージェントとして特徴づけるかリクエスト側エージェントとして特徴づけるかは以下に述べるような一定のバス信号によって行われる。 【0017】かかるシステムの動作例として、もしシステム1がワード処理システムである場合、リクエスト側エージェント12は中央コンピュータボードとし、応答側エージェント16はディスク制御ボードとして、同ボードが大容量記憶装置22からドキュメントデータを記憶及び検索するようにすることができる。かかるシステムにおいて、オペレータはキーボードその他の手段を介して中央コンピュータボード上のプログラムと対話することができる。上記プログラムはオペレータが大容量記憶装置22上に記憶されたドキュメントデータを入力するワード処理プログラムを具体化する。かかるドキュメントデータはデータページとして編成できるけれども、一定のブロックサイズのデータを利用して、2Kバイトデータの如き視覚表示ドキュメントページを表すことができることが判る。かくして、かかるシステムではデータブロックをバス10を介して2Kバイトブロックとして転送してドキュメントデータのページをシステム内で転送しやすくすることが望ましいということも判る。 【0018】バス10は96本の導線より成り、異なる動きを有する群に分割される。中央制御信号群24はリセット信号や初期化制御信号の如きシステム全体にわたる信号を提供する。マルチバスIIには8個の中央制御信号が規定され、そのうちの幾つかはシステムを初期化するための1つのリセット信号と2つのクロック信号、即ちバスクロック(BCLK*)と中央クロック(CCLK*)である。 【0019】然しながら、システムによってはシステムクロック(SCLK*)24a(図5に示す)の如き第3のクロック信号を設けることが望ましいかもしれない。例えば、マルチバスIIはバス内のデータ転送が1BCLK*サイクルを必要とし、CCLK*がBCLK}の周波数の2倍となるような仕様となっている。かくして、もしBCLK*が10MZHであれば、CCLK*は20MHZであり、一つのバスデータ転送は200ナノ(n)秒を要することになる。然しながら、システムによってはBCLK*を5MHZで動作させ、CCLK*を10MHZで動作させることが望ましいが、バスデータ転送を行わせるために1BCLK*サイクルを必要とする。更に、かかるシステムでは、バスに接続された複数のエージェントに高周波バスタイミング信号その他の信号を発生させるために20MHZで動作するSCLK*24aのようなより高周波数のクロック信号を提供することが望ましい。 【0020】調停(arbitration)サイクル信号群26は7つの信号線より成り、一つはバス上の各エージェント間のワイヤOREDであるバス要求(BREQ*)である。バス10にアクセスを要求するエージェントは何れもBREQ*をアサートしてアクセスを許諾される必要がある。アクセスは図1に示していないが調停論理回路により許諾されるのが普通である。バスに対するアクセスを要求するエージェントにより、6個の調停識別信号ARB0*−ARB5*が駆動されるが、これらの信号は調停コントローラに対する入力となる。 【0021】アドレス/データバス信号群28はデータリード/ライトバス転送のためにアドレス信号、データ信号およびパリティ信号を供給する。全部で36個のアドレス/データバス信号があり、そのうち32はマルチプレックスアドレス/データバス信号(AD0*−AD31*)であり、4つはデータのバイトと関連するパリティ信号、即ちPAR0*−PAR3*である。 【0022】エクセプションサイクル信号群30はバス転送サイクルを終了させるために使用されるエラー検出を行う。2つの非常サイクル信号、即ち、バスエラー信号(BUSERR*)及びタイムアウト信号(TIMOUT*)がある。 【0023】システム制御信号群32はバスを通じてアドレス及びデータを転送するために用いられる制御信号を供給する。マルチバスIIには10個のシステム制御信号SC0*−SC9*が存在する。バス転送サイクルの要求フェーズ(相)中、リクエスト側エージェント12は応答側エージェント16の如き応答側エージェントにコマンド情報を提供するためにSC0*ないしSC9*を駆動する。バス転送サイクルの応答相中、リクエスト側エージェントはSC9*とSC0*−SC3*を駆動する一方、応答側エージェントはSC8*とSC4*−SC7*を駆動して、リクエスト側と応答側のエージェントの間のハンドシェーキング及び状態情報を提供する。 【0024】一般に、マルチバスIIはメッセージタイプの如き異なるタイプの複数のデータ転送をサポートする。これらのメッセージタイプは求められなかった複数のメッセージタイプでもよい。 【0025】更にメモリスペースのデータの転送も行うことができる。最大64Kバイトまでのデータ転送がバスによりサポートされる。然しながら、従来の多くのシステムのバスのデータ転送は32バイトパケットに制限される。各エージェントでは先入先出(FIFO)バッファが使用されるのが普通で、応答側エージェントでFIFOバッファにデータが十分ロードされた後、データはバス10へ転送され、そこでリクエスト側エージェントのFIFOバッファにより受け取られる。先に述べた如く、かかるFIFOバッファを使用するとシステムのコストと複雑さが大きくなる。更に、FIFOバッファに十分ロードしたりFIFOバッファからアンロードするには相当な時間が必要である。 【0026】ここで図2、3、4を見ると、データインとデータアウト信号線と複数のアドレス線AD0〜AD8を有する良く知られたDRAMが示されている。DRAM40はまたRas*、CAS*、およびR/Wの信号制御線を有する。最小数の入力信号ピン、従って小パッケージサイズの大容量データ記憶装置を得るために、かかるDRAMはアドレス線を多重化することによって、装置の操作中のある時にはアドレス線がRas*の制御の下にローアドレス線として特徴付けられ、サイクル中の別の時にはCas*の制御の下にコラムアドレス線として特徴付けられるようになっている。図2に示す装置は9個のアドレス信号ピンを有し、全部で18のアドレス入力を有し、全部で256Kビットのメモリロケーションを有する装置を作りだす。もちろん、他のDRAMは64Kや1Mビット装置の如き9アドレス以下もしくは以上の入力を有することができ、他の装置は4ビットデータを同時に記憶したり検索するようになった装置のように、1ビット以上のデータを記憶することができる。 【0027】図3に示すように、かかるDRAMの従来のアドレッシングモードは、RAM内でAD0−AD8上に現れるローアドレス線をラッチするためにRas*が出される結果になる。Ras*のアサートに次いでアドレス線AD0−AD8の状態は所望のコラムアドレスにスイッチされ、Cas*がアサートされる(44)。また、Cas*のアサートは、R/W*の状態に応じて、指定されたローとコラムのアドレスにおけるデータビットを装置内に記憶するか又は装置から読み出すかをするのが典型的である。 【0028】図4にはページモードタイプのアクセスとして知られるもう一つのタイプのアドレス指定ノードが示されている。上記ノードではRas*が46で一度アサートされ、装置内のローアドレスをラッチする。その後、コラムアドレスを繰返し変化させ、Cas*を複数回(48−58)アサートしてデータを記憶もしくは検索する。ローアドレス線は装置内のデータビットページを定義すると考えられるから、Cas*を複数回アサートして従来のRas*−Cas*タイプのサイクルよりも著しく迅速にデータページ内を「スクロール」することができる。かかるページモードアクセスは、データが順次アクセスされる場合、即ちコラムアドレスが各アクセスにつき一つだけ増分もしくは減分される場合に特に便利である。もちろん、非順次ページモードアドレスも可能であり、ある種の用途には望ましいかもしれない。 【0029】本発明の方法と装置によると、このページモードタイプのアクセスサイクルを使用して、少なくともメモリスペースタイプのデータ転送についてシステムバスの帯域幅を大きくする。バス間にデータを転送するために従来のRas*−Cas*タイプのサイクルを活用する方法が知られているから、それぞれのメモリアクセスに対してRas*のアサートによりひき起こされる遅延のために、上記FIFOバッファを使用して一時的にデータをバッファ記憶する必要があることが多い。本発明によれば、ページモードタイプのアクセスを使用して、出入りするデータについてローカルのバッファ記憶の必要を除去して所望のバス帯域幅を維持することにより、より高速のメモリアクセスサイクルを得ることができる。 【0030】図5について見ると、本発明の実施例が示されている。メモリ60はバンク162とバンク2 64として編成したDRAM装置の如きメモリ装置の2つのバンクから構成される。両バンク間の選択はそれぞれバンク1とバンク2に対する入力であるRas0*とRas1*の信号線により行われる。 【0031】バンク62と64はそれぞれバイト編成のメモリ装置の4つのサブバンクより構成される。バンク内の特定バイトの選択はCas0*−Cas3*の信号線の状態により行われる。特定のアドレス指定モードはメモリコントローラ66に対する入力であるA0、A1、W0およびW1の信号線の状態により決定される。これらの信号線は、例えば、各種のメモリアドレスバス68のアドレス信号とシステム制御信号群32の制御信号である。上記信号の状態はメモリコントローラ66と関連するデコーダ70によりデコードされ、メモリ転送の幅と選択されたメモリ装置のコラムを選択する。デコーダ70の動作を記述する真理値表を以下に示す。 【0032】 【表1】
【0033】 【表2】
【0034】また、メモリコントローラ66に対するR0入力はアドレス線とすることができ、その状態はバンク1かバンク2の何れかを選択してRas0*若しくはRas1*を介してアクセスする。 【0035】リクエスト/肯定応答(アクノレッジ)(R/A)入力信号は双方向信号であって、コントローラ66が動作静止状態にある場合にはメモリコントローラ66に対する入力となるのが普通である。メモリ60に対するアクセスの要求が順次データ転送の要求相中にリクエスト側エージェントにより行われた場合、R/A信号線は外部ロジック(図示せず)によりローパルス状態となる。メモリアクセスに対するかかるリクエストを行った後、R/A信号線は外部ロジックにより解放され、メモリリクエスト/肯定応答サイクル中にコントローラ66により駆動される。リクエストに応答してメモリコントローラ66はリード/ライト(RW)入力の状態と共にA0、A1、W0、W1、およびR0ラインの状態に従ってメモリ60にアクセスする。その後、メモリコントローラ66はR/Aを論理ローの信号レベルに駆動してメモリアクセスに対して肯定応答する。メモリアクセスを開始後、メモリコントローラ66は、EOC信号線(バス信号SC2*)がサイクル終了の状態を示すべく信号がアサートされるまで、繰返しメモリをアクセスする。EOCがアサートされると、メモリコントローラ66には現在のメモリアクセスが順次データ転送の応答相の最終的メモリアクセスであることが知らされる。 【0036】ここで図6について述べると、順次データ転送の応答相中にコントローラ66によって行われるメモリ60に対する連続的メモリアクセスの一部を示すタイミング線図が示されている。同図より判る通り、各アクセスにつきR/A信号線はコントローラ66により低(ロー)の方に駆動され、その後に解放される。これらのメモリサイクル中、本発明に従うと、Ras*ラインはアサートされた状態、又はロー(低)状態に維持され、Cas*ラインは繰返しトグルされてページモードメモリアクセスサイクルを実現する。連続ページモードアクセスサイクル中、SC4*信号線がメモリコントローラ66によりアサートされ、リクエスト側のエージェントに、応答者がレディ状態にあること、即ちメモリコントローラ66が要求者のためにデータにアクセス中であることを通知する。メモリコントローラにより出力されるDENO信号線は、データがメモリ60から読出される時に、メモリデータバス74からのデータをシステムバス10上へ配置するためにバッファ72をイネーブルにするために用いられる。 【0037】図6について述べると、本発明の特徴であるページモードタイプのメモリアクセスは高いバス帯域幅を提供するのに有利であることがわかる。Ras*信号線は各メモリアクセスにつき駆動される必要がないから、各Cas*と共にRas*のアサーション(アサート)によりひき起こされる余分の遅れが排除されるため、メモリ60との間のデータブロックの転送全体の速度を増加することができる。 【0038】図2に示したDRAMの場合、所与のデータページはRas*信号と関連する9本のローアドレス線によって特徴付けられる。そのため、DRAMは512のデータページから成ることが判る。同様にして、各ページはCas*信号と関連する9本のコラムアドレス線のために512のメモリロケーションを有する。もし所望のデータブロックサイズが512バイトを超えるならば、装置内で1つの以上のデータページをアクセスする必要がある。本発明の場合、このことは、コラムアドレス線がそれぞれロジック1の状態にあるときにそれを検出するための9個の入力を有するナンド(nand)ゲートであるメモリコラムアドレスデコーダ76により行うことができる。かくして、デコーダ76の出力はメモリコントローラ66に対する入力であるページクロス(ページ横切り)検出(PC)信号となる。このことは図6に時刻T1で示されている。そこではPC*はデコーダ76によりローに駆動される。それに応答してそのメモリアクセスは完了し、Ras*信号線がR/A信号及びSC4*と共にメモリコントローラ66によりハイ(高)の方に駆動される。このメモリコントローラ66の動作は、応答者レディハンドシエーク信号SC4*のデアサートを介して、応答者がすでにレディ状態にないことがデータを受け取るエージェントに対して通知される。Ras*がデアサートされた場合、アドレスラッチ77内のローアドレスは例えば1だけ増進され、メモリ装置内の次の連続するデータページを選択する。その後、時刻T3でRAS*がアサートされることによって新たなローアドレスをメモリ装置内へラッチし、ページモードメモリアクセスサイクルが以前同様開始され、SC4*ラインが再度アサートされ、R/Aが再度ロー状態に駆動される。 【0039】本発明の場合、メモリ60内のDRAMのリフレッシュはブロック化リフレッシング法により行うことができる。タイマ78は13.8マイクロ秒毎に発生されるリフレッシュ要求のように所定間隔でリフレッシュ要求を発生する。リフレッシュ要求はリフレッシュ要求カウンタ80によりカウントされ、コンパレータ82はカウントされたリフレッシュ要求数が例えば24の如き所定閾値と等しいかそれを超える時を判断する。この時コントローラ66は24個の係属する要求の全てをバーストリフレッシュ(burst refresh)しようと試みることになろう。然しながら、もしバス転送が進行中であれば、メモリコントローラ66はバーストリフレッシュを行うことはない。メモリコントローラ66はバス転送が完了するまで、即ちEOCがアサートされる転送が行われるまで待機することになろう。然しながら、もしカウンタ80が最大数のリフレッシュ要求、例えば41のものが係属中であることを表示した場合、バス転送は中断され、バーストリフレッシュが行われる。バス転送が中断されると、係属中のリフレッシュは全て実行される。係属中のリフレッシュの閾値として選んだ特定数と係属中のリフレッシュの最大数とは、閾値と最大値の間の差により表わされる時間量がその時間内に所定データブロックサイズを転送することができる程十分な時間量となるように決定される。例えば、13.8マイクロ秒毎に行われるリフレッシュ要求の場合、24と41のリフレッシュ要求の間の差はほぼ234.5マイクロ秒であって、それは2Kバイト(2048バイト)のバス転送操作を完了するのに十分な量の時間であることが分かっている。 【0040】かくしてもし2Kバイトの順次バス転送操作が、24の係属中のリフレッシュ要求が蓄積される直前に開始されるならば、バス転送は完了するまで実行された後メモリがリフレッシュされることになろう。例えば、最大値がカウンタ80により表示された場合、バースト中には偶数のロー(行)、例えば42個のロー(行)がリフレッシュされることが望ましい。 【0041】メモリ群をバーストリフレッシュするためにはリフレッシュコントローラ83によりリフレッシュ肯定応答(RACK)信号が発生され、RACK信号はリフレッシュカウンタ84をイネーブルにしてリフレッシュローアドレスをメモリアドレスバス上に配置するようにする。RACKは次いで例えば24サイクルの間コントローラ83の制御を受けてハイとローの状態の間をトグルされることによって24のローアドレスをバーストリフレッシュする。リフレッシュ中、RAS0*とRAS1*信号とが共にアサートされることによって両メモリバンクを同時にリフレッシュすることが望ましい。リフレッシュローカウンタ84はRACK信号の立上りにより増分され、各リフレッシュサイクルの完了時にカウンタ84はリフレッシュされる次のローアドレスに相当する値を有するようにされる。 【0042】ローカルプロセッサ86もまたそれぞれ別個のアドレスとデータラッチ88、90を介してメモリ60にアクセスすることができる。同様にしてローカルプロセッサ86はメモリアクセス信号を発生させる働きを行う専用のメモリコントローラ(図示せず)により補助される。ローカルプロセッサがメモリ60に対するアクセスを許されると、AEN1信号が駆動されてローカルプロセッサのアドレス及びデータのラッチをそれぞれメモリアドレス及びメモリデータバス68、74上に対してイネーブルにする。 【0043】本発明の場合、ローカルプロセッサはまたメモリコントローラ66に対する入力となる高優先順位(ハイプライオリティ(HP))信号を与えられ、必要に応じて現在のバス転送を中断する。それ故、HP信号によってローカルプロセッサが現在のバス転送をオーバーライドすることによってメモリに対してアクセスすることが可能になる。HP信号はそれがアサートされている間現在のバス転送をオーバライド(override)し、それによってローカルプロセッサ86が一連の連続的な高優先順位アクセスをメモリ60に対して行うことが可能になる。 【0044】上記ブロック化リフレッシュは、一連の高優先順位ローカルプロセッサによるメモリアクセスが進行中である場合には幾分異なった形で行われる。先に述べたように、メモリコントローラ66は係属中のリフレッシュ要求を41の最大数まで蓄積することになろう。もしこの時高優先順位のアクセスが進行中であれば、高優先順位アクセスは一時的にオーバライドされるが、2つのメモリリフレッシュだけが行われることになろう。かくしてローカルプロセッサによる高優先順位のアクセスはローカルプロセッサが再びメモリ60に対するアクセスを許される前に比較的短時間だけ中断される。勿論、2つのリフレッシュが行われた後、カウンタ80はリフレッシュ要求の蓄積を継続し、カウンタが再び41に達したとき、また高優先順位のアクセスが依然進行中である場合、メモリコントローラは再び次の連続する2つのローアドレスに対するバーストリフレッシュと高優先順位アクセスとを中断することになろう。上記ブロック化されたバーストリフレッシュと高優先順位要求の動作は図7と図8の波形中に示されている。 【0045】メモリコントローラ66とそれに関連する回路の上記説明は例示的であって当業者は一連の異なる実施例を想到できると思われる。例えば、上記メモリコントローラ66の機能は複数の個別の論理デバイスにより実行するか、殊にLSI半導体装置内に具体化することができる。同様にして、メモリコントローラ66と関連する各種要素をかかるLSI装置内に内蔵することもできるし、しなくともよい。例えば、リフレッシュ要求カウンタ80やタイマ74を装置の外部におくこともできる。更に、システムバス10の活動を監視及び制御させるようにした別の装置、例えば、バス10上の或るエージェントがメモリ60に対するアクセス要求を行ったときにR/Aをアサートする働きをする装置のような装置とともにメモリコントローラ66を動作させるようにできることも理解すべきである。また、例として、SC3*とSC4*信号線はバス10からメモリコントローラに直接接続せずに、他の論理素子によりバッファ記憶されるか修正されるようにしてもよい。
|
| 【出願人】 |
【識別番号】596034274 【氏名又は名称】エルジー セミコン カンパニー リミテッド
|
| 【出願日】 |
昭和63年9月17日(1988.9.17) |
| 【代理人】 |
【識別番号】100089705 【弁理士】 【氏名又は名称】社本 一夫 (外5名)
|
| 【公開番号】 |
特開2002−132701(P2002−132701A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2001−270014(P2001−270014) |
|