JP2007323113A - Memory control circuit - Google Patents
Memory control circuit Download PDFInfo
- Publication number
- JP2007323113A JP2007323113A JP2006149333A JP2006149333A JP2007323113A JP 2007323113 A JP2007323113 A JP 2007323113A JP 2006149333 A JP2006149333 A JP 2006149333A JP 2006149333 A JP2006149333 A JP 2006149333A JP 2007323113 A JP2007323113 A JP 2007323113A
- Authority
- JP
- Japan
- Prior art keywords
- page
- access
- command
- signal
- memory
- 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.)
- Withdrawn
Links
Images
Landscapes
- Dram (AREA)
Abstract
Description
本発明は、ダイナミックメモリのメモリ制御回路に関するものである。 The present invention relates to a memory control circuit of a dynamic memory.
図2は、従来のメモリ制御回路の構成図である。
このメモリ制御回路10は、複数のCPU(中央処理ユニット)等のバスマスタi(但し、i=1〜n)からのアクセスを共通のバスを介さずに、直接メモリ制御回路で受けるマルチポート型の接続形態のメモリ制御回路で、これらのバスマスタiに対応するポートPiを有している。各ポートPiは同一構成で、アクセス先のアドレスを示すADRi、アクセスが書き込みか読み出しかを示すW/Ri、読み出しデータを示すRDTi、メモリ等のスレーブからの応答信号を示すRDYiで構成されている。
FIG. 2 is a configuration diagram of a conventional memory control circuit.
The
各ポートPiには、対応するポート制御部11iが設けられ、ポートPiで受け取ったアクセスが、実際のメモリアクセスを行う信号であるアドレス信号MADi、コマンド信号CMDiに変換されるようになっている。DRAM(ダイナミック・ランダム・アセクセス・メモリ)20を対象とするポート制御部11iでは、バスマスタiからのアドレス信号ADRiを、上位ビットのロウアドレスRAと下位ビットのカラムアドレスCAに分解してアドレス信号MADiとして出力する。また、コマンド信号CMDiには、ロウアドレスRAを有効にするACTコマンド、読み出しサイクルとカラムアドレスCAを有効にするRコマンド、ロウアドレスRAを切り替える前に必要な動作であるプリチャージを指示するPREコマンド等がある。
Each port Pi is provided with a
更に、各ポート制御部11iは、バスマスタiからのアクセス要求を伝えるためのリクエスト信号REQiを出力すると共に、アクセスを許可する旨のグラント信号GRNiを入力するようになっており、このグラント信号GRNiが与えられたときに、DRAM20へのアクセスが可能となるように構成されている。
Further, each
各ポート制御部11iのリクエスト信号REQiはバス調停部12に与えられ、このバス調停部12から各ポート制御部11iにグラント信号GRNiが出力されるようになっている。バス調停部12は、複数のバスマスタiからDRAM20へのアクセス要求が競合したときに、所定の優先順序でアクセスを許可するものである。バス調停部12からセレクタ13に対する選択信号SELが出力されるようになっている。
The request signal REQi of each
セレクタ13は、各ポート制御部11iから出力されるアドレス信号MADiとコマンド信号CMDiを、バス調停部12から与えられる選択信号SELに従って選択してDRAM20に与えるものである。一方、DRAM20から読み出されたデータMDTは、各ポート制御部11iに共通に与えられるようになっている。
The
図3は、図2の動作(1)を示すタイミングチャートである。
図3の時刻T2に、ポートP1からアドレスA0,A1のアクセスが入力されると、ポート制御部111は、バス調停部12にリクエスト信号REQ1を出力する。
FIG. 3 is a timing chart showing the operation (1) of FIG.
At time T2 of FIG. 3, when the port P1 access address A0, A1 are input, the
時刻T3に、バス調停部12ではリクエスト信号REQ1に対して、グラント信号GRN1を出力し、ポートP1にDRAM20へのアクセス許可を与える。
At time T3, the
許可を得たポート制御部111は、時刻T4に、ACTコマンドを出力してロウアドレスRAを有効にする。この時、アドレスA0は、ロウアドレスRAとカラムアドレスCAに分解されている。
ポート制御部111は、ACTコマンドの出力から十分な時間として2クロック後である時刻T6に、カラムアドレスCAと読み出しアクセスを示すRコマンドを出力する。
Rコマンドを受けたDRAM20は、時刻T7から読み出したデータDA0を返す。データDA0を受けたポート制御部111は、時刻T8に、バスマスタ1に対して応答信号RDY1を出力すると共に、データDA0を読み出しデータRDTiとして出力する。
The
時刻T9,T10でも同様に、バスマスタ1に対して応答を返す。時刻T9でポートP1からのアクセスがないので、ポート制御部111は、リクエスト信号REQ1の出力を停止する。
Similarly, responses are returned to the
一方、時刻T4において、ポートP2からロウアドレスRA内のアドレスBのアクセスが入力されると、ポート制御部112は、バス調停部12にリクエスト信号REQ2を出力する。この時点では、バス調停部12は、既にポート制御部111にグラント信号GRN1を出力しているので、このリクエスト信号REQ2に対するグラント信号GRN2の出力は保留される。そして、時刻T9において、ポートP1からの要求がなくなると、時刻T10において、ポートP2にグラント信号GRN2を出力し、DRAM20へのアクセス許可を与える。
On the other hand, at time T4, the address B accesses the row address RA from the port P2 is input, the
グラント信号GRN2を得たポート制御部112は、バスマスタ2からのアクセスが前のロウアドレスRAと同じと判断すると、ACTコマンドを出力せずに、RコマンドとカラムドレスCBを出力し、DRAM20から時刻T12に読み出しデータDBを得る。そして、時刻T13にバスマスタ2に対する応答信号RDY2を出力すると共に、読み出しデータRDT2としてデータDBを返す。
図4は、図2の動作(2)を示すタイミングチャートである。
この動作は、ポートP1からのロウアドレスRA内のアクセス中に、ポートP2からRAとは異なるロウアドレスRBのアクセスが発生した場合のものである。
FIG. 4 is a timing chart showing the operation (2) of FIG.
This operation is performed when an access from the port P2 to the row address RB different from the RA occurs during the access in the row address RA from the port P1.
この場合、時刻T10までは図3と同様の動作が行われる。
時刻T11において、ポート制御部112は、ロウアドレスRBが現在のロウアドレスRAと異なると判断すると、ロウアドレスRAのプリチャージ動作のために、PREコマンドを出力する。その後、DRAM20のプリチャージ完了を待ち、時刻T13で、新たにロウアドレスを設定するために、ACTコマンドとロウアドレスRBを出力する。ACTコマンドから十分な時間を取った後、時刻T15で、RコマンドとカラムアドレスCBを出力し、時刻T16で、読み出しデータDBを得る。そして、時刻T17にバスマスタ2に対する応答信号RDY2を出力すると共に、読み出しデータRDT2としてデータDBを返す。図4と図3を比べると、図4では、ロウアドレスが異なるために、PREコマンドとACTコマンドに要した4クロック分、データDBの読み出しが遅延していることが分かる。
In this case, the same operation as in FIG. 3 is performed until time T10.
At time T11, the
一方、図2のメモリ制御回路10で用いているページヒット(同一ロウアドレスに対する連続アクセス)による高速化手法とは別に、プリチャージコマンドをデータ転送にオーバーラップして使い、プリチャージに要する時間を見かけ上、短縮する高速化手法がある。
On the other hand, apart from the speedup method by page hit (sequential access to the same row address) used in the
このデータ転送にオーバーラップしてプリチャージを行う手法は、プリチャージとデータ転送のオーバラープが可能なSDRAM等の場合で、かつ転送するデータ長が予め分かっているときに、その最後の数バイト前のタイミングでプリチャージコマンドを出力するものである。これにより、データ転送が終了してからプリチャージコマンドを出力する場合に比べて、オーバーラップした分だけ次のデータ転送を早く開始することができる。しかし、プリチャージを行うと、次のアクセス時には必ずロウアドレスを有効にするためにACTコマンドを出力する必要がある。 The method of performing precharge by overlapping with this data transfer is the case of SDRAM or the like capable of precharge and data transfer overlap, and when the data length to be transferred is known in advance, the last few bytes before The precharge command is output at the timing. As a result, compared to the case where the precharge command is output after the data transfer is completed, the next data transfer can be started earlier by the overlapping amount. However, when precharging is performed, it is necessary to output an ACT command in order to validate the row address at the next access.
なお、下記特許文献1には、アクセスの種類やアクセスモードの判別結果に基づいて次の処理においてもプリチャージが必要か否かを予測し、プリチャージを行うかプリチャージを行わずに次の処理へ進かを判断するDRAMアクセス方法が記載されている。
In
しかしながら、図2のメモリ制御回路10では、ページヒットの効果を得るために、データ転送にオーバーラップしたプリチャージは行っていない。このため、ページミス(異なるロウアドレスに対するアクセス)の場合、PREコマンドとACTコマンドに要する時間だけ、アクセスが遅れるという課題があった。一方、プリチャージとデータ転送をオーバーラップして行う手法では、次のアクセスで必ずACTコマンドが必要になるので、ページヒットの場合のACTコマンドからカラムアドレス入力までの時間短縮の恩恵が得られないという課題があった。また。特許文献1のDRAMアクセス方法では、プリチャージを行う場合には、前のアクセスが終了した後、プリチャージを行うので時間短縮ができないという課題があった。
However, the
本発明は、異なるページにまたがる連続アクセスの高速化が可能なメモリ制御回路を目的としている。 An object of the present invention is to provide a memory control circuit capable of increasing the speed of continuous access across different pages.
本発明のメモリ制御回路は、複数のバスマスタに対応して設けられ、対応するバスマスタから与えられる共通のメモリに対するアクセス信号を該メモリに対応するアドレス及び制御コマンドに変換すると共に、アクセス要求信号と該アドレスが該メモリの現在アクセス中のページと同じであるか否かを示す一致検出信号とを出力する複数のポート制御部と、前記複数のポート制御部から出力されるアクセス要求信号に従い、1つのポート制御部にアクセスを許可する第1の選択信号を出力すると共に、次にアクセスを許可するポート制御部を指定する第2の選択信号を出力するバス調停部と、前記複数のポート制御部から出力されるアドレス及び制御コマンドを、前記第1の選択信号に従って選択して前記メモリに与える第1のセレクタと、前記複数のポート制御部から出力される一致検出信号を前記第2の選択信号に従って選択して出力する第2のセレクタと、前記第2のセレクタで選択された一致検出信号に応じて、現在のアクセスが終了する前の所定のタイミングで前記メモリに対してプリチャージコマンドを与えるプリチャージ制御部とを備えたことを特徴としている。 The memory control circuit of the present invention is provided corresponding to a plurality of bus masters, converts an access signal for a common memory given from the corresponding bus master into an address and a control command corresponding to the memory, and an access request signal and the A plurality of port control units that output a match detection signal indicating whether the address is the same as the currently accessed page of the memory, and one access request signal output from the plurality of port control units. From the plurality of port control units, a bus arbitration unit that outputs a first selection signal for permitting access to the port control unit and outputs a second selection signal for designating a port control unit for which access is permitted next. A first selector that selects an output address and a control command according to the first selection signal and gives the selected command to the memory; A second selector that selects and outputs the coincidence detection signals output from the plurality of port control units in accordance with the second selection signal, and a current detection signal selected in accordance with the coincidence detection signal selected by the second selector. And a precharge control unit for giving a precharge command to the memory at a predetermined timing before the access is completed.
本発明では、バスマスタに対応して設けられたポート制御部が、アクセスを要求しているアドレスが現在アクセス中のページと同じか否かを判定した結果の一致検出信号を出力すると共に、バス調停部から次にアクセスを許可するポート制御部を指定する第2の選択信号を出力する。更に、この第2の選択信号によって各ポート制御部から出力される一致検出信号を選択してプリチャージ制御部に与えるようにしている。これにより、プリチャージ制御部では、次のアクセスのアドレスが現在アクセス中のページと一致していないことが示されたときに、現在のアクセスが終了する前の所定のタイミングでメモリに対してプリチャージコマンドを与えることが可能になる。従って、現在ページのアクセス中に、次のページに対するプリチャージを行うことができるので、見かけ上のプリチャージ時間が短縮され、連続アクセスの高速化が可能になるという効果がある。 In the present invention, the port control unit provided corresponding to the bus master outputs a coincidence detection signal as a result of determining whether or not the address requesting access is the same as the currently accessed page, and bus arbitration. A second selection signal for designating a port control unit to which access is permitted next. Further, the coincidence detection signal output from each port control unit is selected by the second selection signal and is supplied to the precharge control unit. As a result, when the precharge control unit indicates that the address of the next access does not match the currently accessed page, the precharge control unit pre-loads the memory at a predetermined timing before the current access is completed. It becomes possible to give a charge command. Accordingly, since the next page can be precharged while the current page is being accessed, the apparent precharge time is shortened, and the speed of continuous access can be increased.
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。 The above and other objects and novel features of the present invention will become more fully apparent when the following description of the preferred embodiment is read in conjunction with the accompanying drawings. However, the drawings are for explanation only, and do not limit the scope of the present invention.
図1は、本発明の実施例1を示すメモリ制御回路の構成図であり、図2中の要素と共通の要素には共通の符号が付されている。 FIG. 1 is a configuration diagram of a memory control circuit showing a first embodiment of the present invention. Elements common to those in FIG. 2 are denoted by common reference numerals.
このメモリ制御回路10Aは、図2と同様のマルチポート型のメモリ制御回路で、複数のバスマスタi(但し、i=1〜n)に対応するポートPiを有している。各ポートPiは同一構成で、アクセス先のアドレスを示すADRi、アクセスが書き込みか読み出しかを示すW/Ri、読み出しデータを示すRDTi、スレーブからの応答信号を示すRDYiで構成されている。 The memory control circuit 10A is a multi-port type memory control circuit similar to that in FIG. 2, and has ports Pi corresponding to a plurality of bus masters i (where i = 1 to n). Each port Pi has the same configuration, and is composed of ADRi indicating the access destination address, W / Ri indicating whether the access is writing or reading, RDTi indicating the read data, and RDYi indicating the response signal from the slave.
各ポートPiには、対応するポート制御部11Aiが設けられ、ポートPiで受け取ったアクセスが、実際のメモリアクセスを行う信号であるアドレス信号MADi、コマンド信号CMDiに変換されるようになっている。各ポート制御部11iでは、バスマスタiからのアドレス信号ADRiを、上位ビットのロウアドレスRAと下位ビットのカラムアドレスCAに分解してアドレス信号MADiとして出力する。また、コマンド信号CMDiは、ロウアドレスRAを有効にするACTコマンド、読み出しサイクルとカラムアドレスCAを有効にするRコマンドなどから構成されている。
Each port Pi is provided with a corresponding port control unit 11A i so that an access received at the port Pi is converted into an address signal MADi and a command signal CMDi, which are signals for actual memory access. . In each
また、各ポート制御部11iは、バスマスタiからのアクセス要求を伝えるためのリクエスト信号REQiを出力すると共に、アクセスを許可する旨のグラント信号GRNiを入力するようになっており、このグラント信号GRNiが与えられたときに、DRAM20へのアクセスが可能となるように構成されている。
Each
更に、各ポート制御部11iには、DRAM20に対してプリチャージが行われたか否かを示すプリチャージ検出信号PDETと、現在選択されているページ(ロウアドレス)を示す現ページ情報CPAGEが与えられ、これに応じてプリチャージが必要か否かを示すプリチャージ要求信号PRQiが出力されるようになっている。即ち、各ポート制御部11iでは、バスマスタiからアクセス要求があったときに、そのアクセス要求で指定されたロウアドレスが、現在選択されているページと同じか否かを判定し、別のページであれば、ページを切り替える前に必要な動作であるプリチャージを行うために、プリチャージ要求信号PRQiを出力するようになっている。
Further, each
各ポート制御部11Aiのリクエスト信号REQiはバス調停部12Aに与えられ、このバス調停部12Aから各ポート制御部11Aiに、アクセスの可否を示すグラント信号GRNiが出力されるようになっている。バス調停部12Aは、複数のバスマスタiからDRAM20へのアクセス要求が競合したときに、所定の優先順序でアクセスを許可するものである。このバス調停部12Aからセレクタ13に対する選択信号SEL1と、セレクタ14に対する選択信号SEL2が出力されるようになっている。選択信号SEL1は、現在アクセスを許可しているバスマスタiを指定するもので、選択信号SEL2は、次にアクセスを許可するバスマスタを指定するものである。
Request signal REQi of each port controller 11A i is supplied to the bus arbitration unit 12A, to each port controller 11A i from the bus arbitration unit 12A, grant signal GRNi indicating whether the access is to be outputted . The bus arbitration unit 12A permits access in a predetermined priority order when access requests from a plurality of bus masters i to the
セレクタ13は、各ポート制御部11Aiから出力されるアドレス信号MADiとコマンド信号CMDiを、バス調停部12Aから与えられる選択信号SEL1に従って選択してDRAM20に与えるものである。
The
セレクタ14は、各ポート制御部11Aiから出力されるプリチャージ要求信号PRQiを、バス調停部12Aから与えられる選択信号SEL2に従って選択し、プリチャージ要求信号PRQとしてプリチャージ検出部15、カレントページレジスタ16、及びプリチャージ制御部17へ出力するものである。
プリチャージ検出部15は、セレクタ14で選択されたプリチャージ要求信号PRQを保持し、プリチャージ検出信号PDETとして出力するものである。カレントページレジスタ16は、セレクタ13で選択されたアドレス信号MADの内のロウアドレスを、プリチャージ要求信号PRQに基づいて保持し、現ページ情報CPAGEとして出力するものである。プリチャージ制御部17は、セレクタ14から出力されるプリチャージ要求信号PRQによって、次のアクセス時にプリチャージが必要であることが示されたときに、所定のタイミングで現在のデータ転送にオーバーラップして、DRAM20に対してプリチャージを指示するPREコマンドを出力するものである。
The
一方、DRAM20から読み出されたデータMDTは、各ポート制御部11Aiに共通に与えられるようになっている。 On the other hand, data MDT read from DRAM20 is adapted to be applied commonly to each port controller 11A i.
図5は、図1の動作を示すタイミングチャートである。以下、この図5を参照しつつ、図1の動作を説明する。 FIG. 5 is a timing chart showing the operation of FIG. The operation of FIG. 1 will be described below with reference to FIG.
図1の時刻t2において、ポートP1からアドレスA0のアクセスが入力されると、ポート制御部11A1は、バス調停部12Aにリクエスト信号REQ1を出力する。 At time t2 in FIG. 1, when the port P1 access address A0 are input, the port control unit 11A 1 outputs the request signal REQ1 to a bus arbitration unit 12A.
時刻t3に、バス調停部12Aではリクエスト信号REQ1に対して、グラント信号GRN1を出力し、ポートP1にDRAM20のアクセス許可を与える。同時に、バス調停部12Aは、選択信号SEL1によってポートP1を選択し、セレクタ13によってポートP1が選択される。
At time t3, the bus arbitration unit 12A outputs a grant signal GRN1 with respect to the request signal REQ1, and grants access permission of the
許可を得たポート制御部11A1は、時刻t4に、ACTコマンドを出力してロウアドレスRAを有効にする。この時、アドレスA0は、ロウアドレスRAとカラムアドレスCAに分解されている。時刻t5には、カレントページレジスタ16にロウアドレスRAが格納され、同時にプリチャージ検出信号PDETは“0”にリセットされる。
Port controller 11A 1 to give a permission, at time t4, to enable the row address RA and outputs the ACT command. At this time, the address A0 is broken down into a row address RA and a column address CA. At time t5, the row address RA is stored in the
ポート制御部11A1は、時刻t6に、カラムアドレスCAと読み出しアクセスを示すRコマンドを出力し、時刻t7から時刻t10までの間、DRAM20から順次DA0,DA1,DA2,DA3のデータMDTを得る。ポート制御部11A1は、これらのデータMDTを読み出しデータRDT1として、時刻t8から時刻t11の間に、“1”に設定した応答信号RDY1と共にバスマスタ1へ出力する。以上の動作は、従来と同様である。
Port controller 11A 1 is the time t6, and outputs the R command indicating a column address CA and a read access, during the period from time t7 to time t10, the obtained sequentially DA0, DA1, DA2, DA3 data MDT from
時刻t4において、ポートP2に現在のロウアドレスとは異なるロウアドレスRBのアクセスが入力されたとする。この場合、このロウアドレスRBにアクセスする前に、プリチャージ動作を行う必要がある。ポート制御部11A2では、カレントページレジスタ16から与えられる現ページ情報CPAGEの内容である現在のロウアドレスRAと、アクセス要求で指定されたロウアドレスRBを比較し、プリチャージ動作が必要なことを判断して、プリチャージ要求信号PRQ2を出力する。 Assume that access at a row address RB different from the current row address is input to the port P2 at time t4. In this case, it is necessary to perform a precharge operation before accessing the row address RB. The port control unit 11A 2, the current row address RA is the content of the current page information CPAGE provided from the current page registers 16, compares the row address RB specified by the access request, the precharge operation is required Determination is made and a precharge request signal PRQ2 is output.
一方、バス調停部12Aでは、時刻t9にポートP1のリクエスト信号REQ1が停止すると、次に選択されるポートがP2で、プリチャージ要求信号PRQ2が“1”で、更に、現在選択されているポートP1のリクエスト信号REQ1が“0”であるので、選択信号SEL2によって次にアクセスを許可するポートP2を設定する。これにより、セレクタ14から出力されるプリチャージ要求信号PRQが“1”となり、プリチャージ検出部15から出力されるプリチャージ検出信号PDETが“1”となる。また、プリチャージ制御部17では、プリチャージ要求信号PRQに従って、DRAM20にPREコマンドを出力する。
On the other hand, in the bus arbitration unit 12A, when the request signal REQ1 of the port P1 is stopped at time t9, the next selected port is P2, the precharge request signal PRQ2 is “1”, and the currently selected port Since the request signal REQ1 of P1 is “0”, the port P2 that is allowed to be accessed next is set by the selection signal SEL2. As a result, the precharge request signal PRQ output from the
バス調停部12Aでは、選択信号SEL2を出力した後、プリチャージ動作の完了待ち時間として、時刻t10にはいずれのポートにもメモリ使用許可であるグラント信号 GRNを与えない。そして、時刻t12でプリチャージ動作が完了することを見越して、時刻t11に、ポート制御部11A2に対するグラント信号GRN2を出力する。 After the selection signal SEL2 is output, the bus arbitration unit 12A does not give the grant signal GRN, which is a memory use permission, to any port at time t10 as the precharge operation completion wait time. Then, in anticipation that the precharge operation is completed at time t12, the on time t11, the outputs a grant signal GRN2 to the port controller 11A 2.
ポート制御部11A2では、グラント信号GRN2が与えられてDRAN20の使用許可が得られたときに、プリチャージ検出信号PDETが“1”になっているので、プリチャージ動作は不要と判断し、時刻t12に、ACTコマンドとロウアドレスRBを出力する。 The port control unit 11A 2, when the grant signal GRN2 permitted for use granted DRAN20 is obtained, since become precharge detection signal PDET is "1", the precharge operation is determined to be unnecessary, time At t12, the ACT command and the row address RB are output.
更に、ポート制御部11A2は、時刻t14にカラムアドレスCBを出力し、時刻t15で、データDBを得る。そして、時刻t16では、応答信号RDY2を“1”にすると共に、読み出しデータRDT2としてデータDBを出力し、ポートP2に対して要求されたアクセスに応答する。 Further, the port control unit 11A 2 outputs the column address CB to the time t14, at time t15, obtain data DB. At time t16, the response signal RDY2 is set to “1” and the data DB is output as the read data RDT2 to respond to the requested access to the port P2.
以上のように、この実施例1のメモリ制御回路は、複数のポートP0〜Pnから与えられるアクセス要求に基づいて、次にアクセスを許可するポートを決定して所定のタイミングで選択信号SEL2を出力するバス調停部12Aと、この選択信号SEL2に従って各ポートP0〜Pnから出力されているプリチャージ要求信号PRQ1〜PRQnの内の該当するものを選択するセレクタ14と、このセレクタ14から出力されるプリチャージ要求信号PRQに従ってDRAM20に対するPREコマンドを出力するプリチャージ制御部17を有している。これにより、異なるページにまたがるアドレスにアクセスする場合でも、現在ページのアクセス中に、次のページに対するプリチャージを行うことができるので、見かけ上のプリチャージ時間が短縮され、連続アクセスの高速化が可能になるという利点がある。
As described above, the memory control circuit according to the first embodiment determines the next port to permit access based on the access request given from the plurality of ports P0 to Pn, and outputs the selection signal SEL2 at a predetermined timing. The bus arbitration unit 12A, the
図6は、本発明の実施例2を示すメモリ制御回路の構成図である。なお、この図6では、読み書きのデータ信号は省略している。
FIG. 6 is a configuration diagram of a memory control
このメモリ制御回路30は、図示しない CPU等からシステムバスを介して与えられるアクセスの制御信号CRT等に基づいてDRAM20に対する各種のコマンドCMDを生成するコマンド生成部31を有している。コマンド生成部31には、制御信号CRLの他、次にアクセスするアドレスが同じページ内にあるか否かを示すページヒット信号HITとロウアドレスの出力を要求するためのロウアドレス要求信号RRQが与えられ、CPU等に対する応答信号RDYを出力するようになっている。コマンド生成部31で生成されたコマンドCMDは、DRAM20の他、ACT検出部32とコマンド検出部33に与えられるようになっている。
The
ACT検出部32は、コマンドCMDの内のACTコマンドが生成されたことを検出して、その検出したタイミングで更新信号UPDTを出力するものである。また、コマンド検出部33は、コマンドの種類とは無関係にコマンドCMDが生成される度に、タイマ34に対するリスタート信号RSTを出力するものである。タイマ34は、リスタート信号RSTによって計時を最初からやり直すように構成され、一定時間を計測した時点でロウアドレス要求信号RRQを出力するものである。即ち、コマンド検出部33とタイマ34によって、DRAM20に対するコマンドCMDが一定時間途絶えたことを検出するようになっている。
The
更に、このメモリ制御回路30は、システムバスを介して与えられるアドレス信号ADRを一時的に保持するアドレス保持部35と、このアドレス信号ADRの内のロウアドレスRAを入力する比較部36を有している。比較部36は、CPU等から与えられるロウアドレスRAと現ページ情報PAGEとを比較し、一致したときにページヒット信号HITを出力するもので、このページヒット信号HITが前述のコマンド生成部31に与えられている。アドレス保持部35に保持されたアドレス信号ADRの内のロウアドレスRAはセレクタ37に、カラムアドレスCAはセレクタ38に、それぞれ与えられている。
Further, the
セレクタ37は、アドレス保持部35に保持されたロウアドレスRAと、後述する予測ページの内のいずれか一方を、ロウアドレス要求信号RRQに従って選択し、セレクタ38と現ページ保持部39に与えるものである。セレクタ38は、アドレス保持部35に保持されたカラムアドレスCAとセレクタ37で選択されたロウアドレスのいずれか一方を、ACT検出部32から出力される更新信号UPDTに従って選択し、DRAM20に対するアドレスMADとして出力するものである。
The
現ページ保持部39は、セレクタ37から出力されるロウアドレスRAを、更新信号UPDTのタイミングで保持し、現ページ情報PAGEとして比較部36と前ページ保持部40に与えるものである。前ページ保持部40は、n段のシフトレジスタで構成され、更新信号UPDTのタイミングで現ページ保持部39の現ページ情報PAGEをシフトして保持することにより、今までにアクセスされた過去n個のページの履歴を保持するものである。
The current
前ページ保持部40の各段のレジスタに保持されたページ情報PAGE1〜PAGEnは、次ページ予測部41とセレクタ42に与えられている。次ページ予測部41は、過去n回にアクセスされたページの内でアクセス回数が一番多かったページを、次にアクセスされるページとして予測するもので、予測したページが保持されているページレジスタの番号が選択信号SEL3として出力されるようになっている。例えば、次ページ予測部41は、各段のページレジスタ毎に、他のページレジスタの内容と比較する比較器を設け、これらの比較器の検出結果を加算器で加算して一致した数を算出してアクセス頻度とし、各ページレジスタに対応する頻度レジスタに保持する。そして、最大レジスタ判定部で、保持されている頻度数が最大の頻度レジスタの番号を判定し、そのレジスタの番号を選択信号SEL3として出力するようになっている。
The page information PAGE1 to PAGEEn held in the registers of each stage of the previous
セレクタ42は、選択信号SEL3に従って前ページ保持部40の該当するページレジスタの内容であるページ情報を選択し、次ページ情報NPAGEとしてセレクタ37に出力するものである。
The
図7は、図6の動作を示すタイミングチャートである。この図5では、システムバスからのアクセスと、それに対応して変化する現ページ保持部39の現ページ情報PAGE、DRAM20へのコマンドCMD、及びタイマ34の動作を示している。
FIG. 7 is a timing chart showing the operation of FIG. FIG. 5 shows the access from the system bus and the operation of the current page information PAGE of the current
先ず、ロウアドレスRA=page0へのアクセス要求がシステムバスから与えられ、それに対応したDRAM20へのACTコマンドとCASコマンドが発行される(a)。
ACTコマンドが発行されると、ACT検出部32は更新信号UPDTを出力し、現ページ保持部39の現ページ情報PAGEはpage0に更新される。前ページ保持部40には、それまで現ページ保持部39に保持されていた前回のアクセスのロウアドレスが前ページ情報PAGE1として格納される。(a)のアクセスに続いて、システムバスからロウアドレス=page0とするアクセスが2回要求されると、比較部36では、現ページ保持部39の現ページ情報PAGEとアクセス要求のロウアドレスが一致しているので、ページヒット信号HITを出力する。コマンド生成部31では、ページヒット信号HITが与えられているので、ACTコマンドの発行は行わず、CASコマンドのみが発行される。
First, an access request to the row address RA = page0 is given from the system bus, and an ACT command and a CAS command corresponding to the
When the ACT command is issued, the
次に、ロウアドレスRA=page1へのアクセス要求がシステムバスから与えられると、比較部36では、現ページ保持部39の現ページ情報PAGEとアクセス要求のロウアドレスが異なるので、ページヒット信号HITの出力を停止する。これにより、コマンド生成部31では、ACTコマンドとCASコマンドを発行する(b)。page1のACTコマンドが発行されると、ACT検出部32から更新信号UPDTが出力され、現ページ保持部39の現ページ情報PAGEはpage1に更新される。更に、前ページ保持部40には、それまで現ページ保持部39に格納されていたロウアドレス(page0)が、新たに格納される。(b)のアクセスに続く同じロウアドレス(=page1)の4回のアクセスでは、(a)のアクセスと同様にACTコマンドの発行は行われず、CASコマンドのみが発行される。
Next, when an access request to the row address RA = page1 is given from the system bus, since the current page information PAGE of the current
次に、ロウアドレスとして、page14,page0,page2へのアクセス要求が、システムバスから与えられ、これに従って、現ページ保持部39の現ページ情報PAGEは、page14→page0→page2の順に更新される。前ページ保持部40では、各ページへのACTコマンドが発行されたタイミングで、順次シフト動作が行われる。これにより、page2における最後のアクセス(c)が行われた時点での前ページ保持部40の各ページレジスタの内容は、最新のものから順番に、page0,page14,page1,page0となる。
Next, an access request to
更に、page2の最後のアクセス(c)が行われた後、システムバスからのアクセス要求が暫く途絶えると、一定時間後に、タイマ34でタイムアウトが発生し、ロウアドレス要求信号RRQが出力される(d)。このとき、次ページ予測部41では、前ページ保持部40のページレジスタの中でアクセス頻度が一番高かったページに対応するレジスタ番号が判定され、選択信号SEL3が出力される。これにより、セレクタ42によって過去に最もアクセス頻度が高かったロウアドレスが次ページ情報NPAGEとして出力される。この場合は、page0が2回で、その他は1回または0回であるので、page0が選択される。次ページ情報NPAGEのpage0は、セレクタ37で選択され、セレクタ38へ出力されると共に、現ページ保持部39に与えられて保持される。また、ロウアドレス要求信号RRQはコマンド生成部31にも与えられ、これにより、ロウアドレス=page0に対してACTコマンドが発行され、現ページ保持部39の現ページ情報PAGEは、page0に更新される。
Furthermore, if the access request from the system bus is interrupted for a while after the last access (c) of page2, a timeout occurs in the
なお、この時点では、システムバスからのアクセス要求は存在しないので、DRAM20に対する実際のアクセスは行われない。その後、システムバスからのアクセス要求が発生したときに、それがロウアドレス=page0に対するものであれば(e)、比較部36からページヒット信号HITが出力されるので、コマンド生成部31ではACTコマンドを発行することなく直ちにCASコマンドが発行される。もしも予測が外れて別のページに対するアクセス要求であれば、比較部36からのページヒット信号HITは出力されないので、コマンド生成部31からACTコマンドが発行される。
At this point, since there is no access request from the system bus, no actual access to the
以上のように、この実施例2のメモリ制御回路は、過去にアクセスしたページの履歴に基づいて、アクセス頻度の一番高いページを、次のアクセスページとして予測する次ページ予測部41と、一定時間アクセスが途絶えたときに、予測した次ページ情報NPAGEを現ページ情報PAGEとして書き換えるためのコマンド検出部33及びタイマ34等を有している。これにより、ACTコマンドの発行回数を削減できる可能性が高くなり、異なるページにまたがる連続アクセスの高速化が可能となるという利点がある。
As described above, the memory control circuit according to the second embodiment includes the next
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
(a) 図1では書き込みのデータ信号を、図6では読み書きのデータ信号をそれぞれ省略しているが、いずれも、読み書きのデータ信号に対して同様に適用可能である。
(b) 図6中の次ページ予測部41の構成は一例であり、同様の機能を有する構成に変更することができる。
In addition, this invention is not limited to the said Example, A various deformation | transformation is possible. Examples of this modification include the following.
(A) Although the write data signal is omitted in FIG. 1 and the read / write data signal is omitted in FIG. 6, both can be similarly applied to the read / write data signal.
(B) The configuration of the next
1〜n バスマスタ
10A,30 メモリ制御回路
11A ポート制御部
12A バス調停部
13,14,37,38,42 セレクタ
15 プリチャージ検出部
16 カレントページレジスタ
17 プリチャージ制御部
31 コマンド生成部
32 ACT検出部
33 コマンド検出部
34 タイマ
35 アドレス保持部
36 比較部
39 現ページ保持部
40 前ページ保持部
41 次ページ予測部
1 to
Claims (2)
前記複数のポート制御部から出力されるアクセス要求信号に従い、1つのポート制御部にアクセスを許可する第1の選択信号を出力すると共に、次にアクセスを許可するポート制御部を指定する第2の選択信号を出力するバス調停部と、
前記複数のポート制御部から出力されるアドレス及び制御コマンドを、前記第1の選択信号に従って選択して前記メモリに与える第1のセレクタと、
前記複数のポート制御部から出力される一致検出信号を前記第2の選択信号に従って選択して出力する第2のセレクタと、
前記第2のセレクタで選択された一致検出信号に応じて、現在のアクセスが終了する前の所定のタイミングで前記メモリに対してプリチャージコマンドを与えるプリチャージ制御部とを、
備えたことを特徴とするメモリ制御回路。 Provided corresponding to a plurality of bus masters, converts an access signal for a common memory given by the corresponding bus master into an address and a control command corresponding to the memory, and the access request signal and the address are currently being accessed by the memory. A plurality of port control units for outputting a coincidence detection signal indicating whether or not the same page as
In accordance with an access request signal output from the plurality of port control units, a first selection signal for permitting access to one port control unit is output, and a second port control unit for permitting access next is specified. A bus arbitration unit that outputs a selection signal;
A first selector that selects an address and a control command output from the plurality of port control units according to the first selection signal and supplies the selected command to the memory;
A second selector for selecting and outputting a coincidence detection signal output from the plurality of port control units according to the second selection signal;
A precharge control unit that gives a precharge command to the memory at a predetermined timing before the end of the current access in accordance with the coincidence detection signal selected by the second selector;
A memory control circuit comprising:
前記メモリのページの内でアクセスが有効に設定されたページ情報を保持する現ページ保持手段と、
前記バスマスタから与えられる前記メモリのアクセス対象のアドレスが前記現ページ保持手段に保持されたページに対応しているか否か比較し、一致しているときには前記一致検出信号を出力する比較手段と、
過去に前記現ページ保持手段に保持されたページの頻度に基づいて次にアクセスされるページを予測して次ページ情報を出力する次ページ予測手段と、
前記コマンド生成手段から出力されるコマンドが一定期間途絶えたときに、前記次ページ予測手段から出力される次ページ情報を前記現ページ保持手段に前記ページ情報として格納する格納手段とを、
備えたことを特徴とするメモリ制御回路。 A control command corresponding to the memory to be accessed is generated based on the access control signal given from the bus master, and when the coincidence detection signal is not given, the generated control command is output, and the coincidence detection signal is given. Command generation means for stopping the output of the command to enable the page to be accessed when
Current page holding means for holding page information in which access is set to be valid among the pages of the memory;
Comparing means for comparing whether or not the address to be accessed of the memory given from the bus master corresponds to a page held in the current page holding means, and outputs a match detection signal when they match.
A next page predicting means for predicting a page to be accessed next based on the frequency of pages held in the current page holding means in the past and outputting next page information;
Storage means for storing next page information output from the next page predicting means as the page information in the current page holding means when a command output from the command generating means is interrupted for a certain period of time;
A memory control circuit comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006149333A JP2007323113A (en) | 2006-05-30 | 2006-05-30 | Memory control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006149333A JP2007323113A (en) | 2006-05-30 | 2006-05-30 | Memory control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007323113A true JP2007323113A (en) | 2007-12-13 |
Family
ID=38855901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006149333A Withdrawn JP2007323113A (en) | 2006-05-30 | 2006-05-30 | Memory control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007323113A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019133657A (en) * | 2018-01-29 | 2019-08-08 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Method for scheduling page size recognition and non-temporary computer readable recording medium |
CN116820344A (en) * | 2023-07-03 | 2023-09-29 | 摩尔线程智能科技(北京)有限责任公司 | Memory access circuit, memory access method, integrated circuit, and electronic device |
-
2006
- 2006-05-30 JP JP2006149333A patent/JP2007323113A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019133657A (en) * | 2018-01-29 | 2019-08-08 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Method for scheduling page size recognition and non-temporary computer readable recording medium |
JP7420472B2 (en) | 2018-01-29 | 2024-01-23 | 三星電子株式会社 | Page size aware scheduling method and non-transitory computer-readable storage medium |
CN116820344A (en) * | 2023-07-03 | 2023-09-29 | 摩尔线程智能科技(北京)有限责任公司 | Memory access circuit, memory access method, integrated circuit, and electronic device |
CN116820344B (en) * | 2023-07-03 | 2024-04-26 | 摩尔线程智能科技(北京)有限责任公司 | Memory access circuit, memory access method, integrated circuit, and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3749732B2 (en) | Fast access to shared resources on the computer bus | |
US20060059320A1 (en) | Memory control device | |
US7373453B2 (en) | Method and apparatus of interleaving memory bank in multi-layer bus system | |
US8458411B2 (en) | Distributed shared memory multiprocessor and data processing method | |
US20080235707A1 (en) | Data processing apparatus and method for performing multi-cycle arbitration | |
US20080052424A1 (en) | Data access system, data access apparatus, data access integrated circuit, and data access method | |
JP4250989B2 (en) | Memory access control device | |
US20050182868A1 (en) | Apparatus and method for controlling memory | |
JP2007323113A (en) | Memory control circuit | |
JPH10228413A (en) | Memory access controlling method device therefor and memory system | |
JP5759276B2 (en) | Processing apparatus and information processing method | |
JP2006251923A (en) | Look-ahead control method | |
JPH0793274A (en) | System and device for transferring data | |
JP4054598B2 (en) | Memory control circuit, DMA request block, and memory access system | |
KR20050075642A (en) | Method for using bus efficiently | |
US10061737B2 (en) | Signal processing device, method of signal processing, storage medium, and electronic musical instrument | |
US20020019895A1 (en) | Bus system and command delivering method thereof | |
JP2001135079A (en) | Memory control device | |
KR100964154B1 (en) | A Dual Port Memory and An Method For Controlling Access of Shared Bank of Dual Port Memory | |
KR100441996B1 (en) | Direct Memory Access(DMA) Controller and control method | |
JP4220258B2 (en) | High-speed memory access method in non-cache area | |
KR20070101805A (en) | Memory access device | |
KR100716947B1 (en) | Command execution scheduling method and apparatus therefor | |
JP2000250852A (en) | Bus arbitrating device, bus system and bus arbitrating method | |
JPH08255241A (en) | Method and device for image display control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090804 |