JP4593220B2 - Memory access control method and method, and shared memory access control method and method - Google Patents
Memory access control method and method, and shared memory access control method and method Download PDFInfo
- Publication number
- JP4593220B2 JP4593220B2 JP2004282865A JP2004282865A JP4593220B2 JP 4593220 B2 JP4593220 B2 JP 4593220B2 JP 2004282865 A JP2004282865 A JP 2004282865A JP 2004282865 A JP2004282865 A JP 2004282865A JP 4593220 B2 JP4593220 B2 JP 4593220B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bank
- request
- busy
- access control
- 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
Links
Images
Description
本発明はメモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法に関し、特に、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法に関する。 The present invention relates to a memory access control method and method, and a shared memory access control method and method, and in particular, a memory access control method and method for controlling a plurality of banks divided into several groups. And a shared memory access control method and method.
共有メモリ型マルチプロセッサシステムにおける共有主記憶メモリにおいて、共有メモリに使用する記憶素子は、大容量かつ安価であるSDRAM(Synchronous
Dynamic RAM)が主流である。
In a shared main memory in a shared memory multiprocessor system, a storage element used for the shared memory is a large capacity and inexpensive SDRAM (Synchronous).
Dynamic RAM) is the mainstream.
しかし、プロセッサの共有メモリアクセス命令発行レートと前記記憶素子とのスピード差は大きい。 However, the speed difference between the shared memory access instruction issue rate of the processor and the storage element is large.
特に、プロセッサ数が多くなると、前記差は大きくなりシステム上の性能のネックとなる。 In particular, as the number of processors increases, the difference increases and becomes a bottleneck in system performance.
そのため、メモリシステム側でメモリリクエストをバッファリングし、選択したリクエストがアクセスするバンクのビジーをチェックし、ビジーであれば、これとは排他的なメモリアクセス命令によるリクエストについて、前記リクエストを追い越してアクセスするメモリアクセス制御方式がある(特許文献1参照。)。 Therefore, the memory request is buffered on the memory system side, the busy of the bank accessed by the selected request is checked, and if it is busy, the request by the exclusive memory access instruction is overtaken and accessed. There is a memory access control system (see Patent Document 1).
一方近年、RAM素子単体内部において、複数のバンクグループを同時にアクセス可能な構成を持つタイプのRAM素子がある。 On the other hand, in recent years, there is a type of RAM element having a configuration in which a plurality of bank groups can be accessed simultaneously within a single RAM element.
複数CPUと共有主記憶メモリ(以下共有MMU)を含むコンピュータシステムにおいて、上記のバンクチェック及び追い越し制御を含むメモリアクセス方式と、前記タイプのRAM素子で構成したメモリモジュールとを結合した場合、前記アクセス上の差は多少改善される。 In a computer system including a plurality of CPUs and a shared main memory (hereinafter referred to as a shared MMU), when the memory access method including the bank check and the overtaking control described above is combined with a memory module composed of the RAM element of the type, the access The above difference is somewhat improved.
しかしながら共有MMUスループットを更に改善する余地がある。 However, there is room to further improve the shared MMU throughput.
即ち、上記のバンクチェック及び排他的な命令追い越しによるメモリアクセス方式では、メモリ制御部へのリクエスト出力ラインを1リクエスト分しか持たない。 That is, the memory access method using the bank check and exclusive instruction overtaking has only one request output line to the memory control unit.
図8に示す通り、メモリ制御部において、物理的に制御LSIとRAMを複数信号ラインで接続(以下、この物理単位をチャネルと呼ぶ)するバンク構成の場合、リクエストバッファ内に複数のバンクアクセス待ちリクエストが滞留する。 As shown in FIG. 8, in the case of a bank configuration in which a control LSI and a RAM are physically connected by a plurality of signal lines (hereinafter, this physical unit is referred to as a channel) in the memory control unit, a plurality of bank access waits are placed in the request buffer. The request stays.
言い換えれば、複数チャネルのそれぞれに並行して出力可能な複数のリクエストがあるケースにおいて、別メモリチャネルに対するアクセスを同時並行して行うことができないという課題がある。 In other words, in the case where there are a plurality of requests that can be output in parallel to each of a plurality of channels, there is a problem that access to different memory channels cannot be performed in parallel.
即ち、メモリへのアクセス頻度を向上させメモリアクセス効率を改善する余地があるといえる。 That is, it can be said that there is room for improving the memory access efficiency by increasing the access frequency to the memory.
ここで、別チャネルに同時アクセスを実現する手段として、単純にメモリ制御ポートを分割することによりチャネル単位に、前記、バンクチェック、排他的な命令追い越し制御回路を備え、且つ、CPUからMMUにデータ転送するクロスバスイッチの構成を、CPU台数*メモリポート数分にする構成が考えられる。 Here, as means for realizing simultaneous access to different channels, the bank check and exclusive instruction overtaking control circuits are provided for each channel by simply dividing the memory control port, and data is transferred from the CPU to the MMU. A configuration in which the configuration of the crossbar switch to be transferred is the number of CPUs * the number of memory ports is conceivable.
しかしながらこの様な構成では、ハードウエア量増加によるコスト増に繋がる。 However, such a configuration leads to an increase in cost due to an increase in the amount of hardware.
また、共有主記憶装置に限らず、高頻度のアクセス要求を受ける主記憶装置にも同様の課題がある。 Further, not only the shared main storage device but also a main storage device that receives a high-frequency access request has the same problem.
本発明の第1のメモリアクセス制御方式は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。 A first memory access control system according to the present invention is a memory access control system in which a memory module has a plurality of banks, and the plurality of banks are divided into several groups for control, and the memory control means for each bank group And a request buffer that stores a memory request in which the access destination bank is busy, and a bank to be accessed is busy for each bank group with respect to a memory request stored in the request buffer and a newly received memory request. And a means for selecting a memory request that is no longer in a state and issuing it to the corresponding memory control means.
本発明の第2のメモリアクセス制御方式は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。 A second memory access control system according to the present invention is a memory access control system in which a memory module has a plurality of banks, and the plurality of banks are divided into several groups for control, and the memory control means for each bank group A bank busy counter for each bank that manages the busy state of each bank, a request buffer that stores a memory request that does not meet a predetermined selection condition, or whether the access destination bank is busy, or the request Bank check means for checking the busy status of the access destination bank by referring to the bank busy counter for the memory request stored in the buffer and the newly received memory request, and the access destination checked by the bank check means Bank is busy One memory request that is no longer in condition to select for each of the bank group, characterized by comprising a means for issuing to the corresponding memory control unit.
本発明の第3のメモリアクセス制御方式は、前記第2のメモリアクセス制御方式に於いて、前記バンクビジーカウンタは、対応するバンクにアクセスするメモリリクエストが各メモリ制御手段に発行されるとカウントを開始してビジー状態とし、リクエストの種類に対応した所定の値になると該カウンタのビジー状態を解除することを特徴とする。 According to a third memory access control method of the present invention, in the second memory access control method, the bank busy counter counts when a memory request for accessing a corresponding bank is issued to each memory control means. A busy state is started, and when the predetermined value corresponding to the type of request is reached, the busy state of the counter is released.
本発明の第4のメモリアクセス制御方式は、前記第2のメモリアクセス制御方式に於いて、前記選択条件は、前記リクエストバッファ手段に格納された前記メモリリクエスト及び新たに受信したメモリリクエストを、アクセス先のバンクの前記グループで分け、それぞれのグループでメモリリクエストに優先順位を持たせ、最も優先度の高い前記メモリリクエストを選択することを特徴とする。 According to a fourth memory access control method of the present invention, in the second memory access control method, the selection condition is to access the memory request stored in the request buffer means and a newly received memory request. The memory request is divided into the groups in the previous bank, the memory requests are given priority in each group, and the memory request having the highest priority is selected.
本発明の第5のメモリアクセス制御方式は、前記第2のメモリアクセス制御方式に於いて、前記リクエストバッファが、それぞれに、一つのリクエスト情報を格納し、その番号がリクエスト発行上の優先順位となる複数のワード記憶部と、新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶部に格納する手段と、格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする。 According to a fifth memory access control method of the present invention, in the second memory access control method, each of the request buffers stores one piece of request information, and the number is a priority on request issuance. A plurality of word storage units, and a means for storing newly received memory requests that are not to be issued at that time in the youngest word storage unit among the word storages that are free or are expected to be free in the next cycle And, when issuing a request during storage, for each word storage unit storing request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. If so, specify the number of request information sequences stored in the word storage unit that is older than the word storage unit and not to be issued. Characterized in that it comprises a means for transferring the request information at the position in the word storage unit to be.
本発明の第6のメモリアクセス制御方式は、前記第1乃至第5の何れかのメモリアクセス制御方式に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。 The sixth memory access control system of the present invention is characterized in that, in any of the first to fifth memory access control systems, the bank group is divided into two groups, an odd bank group and an even bank group. And
本発明の第1のメモリアクセス制御方法は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。 A first memory access control method according to the present invention is a memory access control method in which a memory module has a plurality of banks, and the plurality of banks are divided into several groups for control, and the memory control procedure for each bank group And a procedure for temporarily storing a memory request in which an access destination bank is busy, and a bank to be accessed is busy for each bank group with respect to the temporarily stored memory request and a newly received memory request. And a procedure for selecting a memory request that has disappeared and passing it to a corresponding memory control procedure.
本発明の第2のメモリアクセス制御方法は、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御するメモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。 A second memory access control method of the present invention is a memory access control method in which a memory module has a plurality of banks and the plurality of banks are divided into several groups for control, and the memory control procedure for each bank group And a procedure for counting the elapsed cycles from the start of access to each bank to the period according to the access type and managing the busy state of each bank, and whether the bank to be accessed is busy or predetermined Check the busy status of the access destination bank by referring to the result of the managing procedure for the temporary storage of the memory request that does not match the selection condition and the temporarily stored memory request and the newly received memory request. Bank check procedure and the bank check procedure One memory request access destination bank is no longer busy, select for each of the bank group, and having a procedure to be passed to the corresponding memory control procedure.
本発明の第3のメモリアクセス制御方法は、前記第1、又は第2のメモリアクセス制御方法に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。 A third memory access control method according to the present invention is characterized in that, in the first or second memory access control method, the bank groups are two groups of an odd bank and an even bank. .
本発明の第1の共有メモリアクセス制御方式は、複数のプロセッサにアクセスされる共有メモリでメモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。 A first shared memory access control system according to the present invention is a shared memory access control system in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled. A memory control unit for each bank group, a request buffer for storing a memory request in which an access destination bank is busy, a memory request stored in the request buffer, and a newly received memory request And a means for selecting, for each bank group, a memory request in which a bank to be accessed is no longer busy, and issuing the selected memory request to a corresponding memory control means.
本発明の第2の共有メモリアクセス制御方式は、複数のプロセッサにアクセスされる共有メモリでメモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方式であって、前記バンクグループ毎のメモリ制御手段と、各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする。 A second shared memory access control system according to the present invention is a shared memory access control system in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled. The memory control unit for each bank group, the bank busy counter for each bank that manages the busy state of each bank, and the access destination bank is busy or meets a predetermined selection condition. A request buffer for storing a memory request not to be executed, and a bank check means for checking a busy state of an access destination bank by referring to the bank busy counter for a memory request stored in the request buffer and a newly received memory request And the bank check One memory request checked accessed bank is no longer busy by means selects for each of the bank group, characterized by comprising a means for issuing to the corresponding memory control unit.
本発明の第3の共有メモリアクセス制御方式は、前記第2の共有メモリアクセス制御方式に於いて、前記バンクビジーカウンタは、対応するバンクにアクセスするメモリリクエストが各メモリ制御手段に発行されるとカウントを開始してビジー状態とし、リクエストの種類に対応した所定の値になると該カウンタのビジー状態を解除することを特徴とする。 According to a third shared memory access control method of the present invention, in the second shared memory access control method, the bank busy counter issues a memory request for accessing a corresponding bank to each memory control means. Counting is started to be in a busy state, and the busy state of the counter is canceled when a predetermined value corresponding to the type of request is reached.
本発明の第4の共有メモリアクセス制御方式は、前記第2の共有メモリアクセス制御方式に於いて、前記選択条件は、前記リクエストバッファに格納された前記メモリリクエスト及び新たに受信したメモリリクエストを、アクセス先のバンクの前記グループで分け、それぞれのグループでメモリリクエストに優先順位を持たせ、最も優先度の高い前記メモリリクエストを選択することを特徴とする。 According to a fourth shared memory access control method of the present invention, in the second shared memory access control method, the selection condition includes the memory request stored in the request buffer and a newly received memory request. The access request bank is divided into the groups, the priority is given to the memory requests in each group, and the memory request having the highest priority is selected.
本発明の第5の共有メモリアクセス制御方式は、前記第2の共有メモリアクセス制御方式に於いて、前記リクエストバッファが、それぞれに、一つのリクエスト情報を格納でき、その番号がリクエスト発行上の優先順位となる複数のワード記憶と、新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶に格納する手段と、格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする。 According to a fifth shared memory access control system of the present invention, in the second shared memory access control system, each of the request buffers can store one request information, and the number is a priority in issuing a request. Means for storing a plurality of word storages in order and a memory request that is newly received and not issued at that time in the youngest word storage among the word storages that are free or are expected to be free in the next cycle And, when issuing a request during storage, for each word storage unit storing request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. If so, the number of request information sequences stored in the word storage unit on the older side than the word storage unit and not to be issued Characterized in that it comprises a means for transferring the request information in the location specified in the word storage unit.
本発明の第6の共有メモリアクセス制御方式は、前記第1乃至第5の何れかの共有メモリアクセス制御方式に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。 According to a sixth shared memory access control system of the present invention, in any of the first to fifth shared memory access control systems, the bank group is divided into an odd bank group and an even bank group. It is characterized by.
本発明の第1の共有メモリアクセス制御方法は、複数のプロセッサにアクセスされる共有メモリで、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。 A first shared memory access control method according to the present invention is a shared memory accessed by a plurality of processors, and a memory module has a plurality of banks, and the plurality of banks are divided into several groups and controlled. A memory control procedure for each bank group, a procedure for temporarily storing a memory request in which an access destination bank is busy, and the temporarily stored memory request and a newly received memory request. For each bank group, there is a procedure for selecting a memory request in which a bank to be accessed is no longer busy and passing it to a corresponding memory control procedure.
本発明の第2の共有メモリアクセス制御方法は、複数のプロセッサにアクセスされる共有メモリで、メモリモジュールを複数バンク構成とし、その複数のバンクを幾つかのグループに分けて制御する共有メモリアクセス制御方法であって、前記バンクグループ毎のメモリ制御手順と、各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする。 A second shared memory access control method according to the present invention is a shared memory accessed by a plurality of processors, wherein the memory module has a plurality of banks, and the plurality of banks are divided into several groups and controlled. A memory control procedure for each bank group, a procedure for counting elapsed cycles from the start of access to each bank to a period according to the access type, and managing the busy state of each bank, The procedure for temporarily storing a memory request that is in a busy state or not satisfying a predetermined selection condition, and the busy state of the access destination bank with respect to the temporarily stored memory request and the newly received memory request Check the bank check by referring to the result of the managing procedure And a procedure for selecting, for each bank group, one of the memory requests whose access destination bank checked by the bank check procedure is no longer busy and passing it to the corresponding memory control procedure. Features.
本発明の第3の共有メモリアクセス制御方法は、前記第1、又は第2の共有メモリアクセス制御方法に於いて、前記バンクグループを奇数バンクのグループと偶数バンクのグループの2つとすることを特徴とする。 A third shared memory access control method according to the present invention is characterized in that, in the first or second shared memory access control method, the bank group is divided into an odd bank group and an even bank group. And
本発明によれば、リクエストバッファに滞留した複数チャネルにアクセス可能なリクエストを同時にメモリモジュール(記憶素子)にアクセスすることにより、バンク追い越し回路を完全に多重化することなく、即ちハードウエア量の増加を抑えつつ、メモリモジュールに対するアクセス効率を高めシステム性能を向上させることが出来る。 According to the present invention, requests that can access a plurality of channels staying in the request buffer are simultaneously accessed to the memory module (storage element), so that the bank overtaking circuit is not completely multiplexed, that is, the amount of hardware is increased. While suppressing this, it is possible to increase the access efficiency to the memory module and improve the system performance.
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
図1は、本発明のメモリアクセス制御方式を含む主記憶装置のブロック図である。 FIG. 1 is a block diagram of a main storage device including a memory access control system according to the present invention.
主記憶装置は複数メモリバンク構成からなるメモリモジュール3を含む。 The main storage device includes a memory module 3 having a plurality of memory bank configurations.
メモリモジュール3は複数のメモリチャネルを有し、それぞれのメモリチャネルは、SDRAM等の記憶素子自体が複数バンク構成の記憶素子で構成する。 The memory module 3 has a plurality of memory channels, and each memory channel is constituted by a memory element such as an SDRAM having a plurality of banks.
図1ではバンク00〜バンクiの(i+1)個のバンクを、偶数バンクのグループと奇数バンクのグループに分け、それぞれメモリモジュール(CH0)3−1、メモリモジュール(CH1)3−2とする。
In FIG. 1, (i + 1) banks of
図1のバンク追い越し回路1は、各メモリバンクのバンクビジー制御を行うと共にバンク間の排他的メモリアクセス命令追い越し制御を実現するためのバンク追い越し制御回路である。
The
バンク追い越し回路1は、同時に複数(図では2つ)のリクエストをメモリ制御部2−1、2−2へ出力可能である。
The
メモリ制御部2−1、2−2は、それぞれ複数バンクにより構成するメモリモジュールにCH0、CH1として接続し、記憶素子制御のためのコマンド信号、アドレス信号を生成する。 The memory control units 2-1 and 2-2 are connected as CH0 and CH1 to memory modules each composed of a plurality of banks, and generate command signals and address signals for controlling the memory elements.
一方、ライトデータおよびリードデータは、データ制御部4−1、4−2を介して記憶素子と接続する。 On the other hand, the write data and the read data are connected to the storage element via the data control units 4-1 and 4-2.
図2にバンク追い越し回路1の詳細ブロック図を示す。
FIG. 2 shows a detailed block diagram of the
上位装置からメモリアクセスリクエストを受信リクエストとして入力する。あるメモリアクセスリクエストにより、メモリアクセスが行われると、アクセスしたメモリバンクに対応するバンクビジーカウンタ142に、ライト、リード等のアクセス命令毎のバンクビジー時間(アクセス禁止時間)を設定する。 A memory access request is input as a reception request from the host device. When a memory access is performed by a certain memory access request, a bank busy time (access prohibited time) for each access instruction such as a write or read is set in the bank busy counter 142 corresponding to the accessed memory bank.
バンクビジー期間中のメモリバンクへのリクエストを受信した場合には、(m+1)個のリクエストを保持可能なリクエストバッファ11へリクエストを格納する。
When a request to the memory bank is received during the bank busy period, the request is stored in the
リクエスト格納の順番はワード(ワード記憶)00、01、・・、mの順番で行い、リクエストバッファ11に格納されたアクセス待ちリクエストは、バッファの各ワード毎にバンクチェック回路15によりメモリアクセス可能となるタイミングまでリクエストバッファ内に滞留する。
The request is stored in the order of words (word storage) 00, 01,..., M, and the access waiting request stored in the
リクエストバッファ11のリクエスト格納制御方式は、全ワードにリクエストが格納されているケースにおいて、例えば、ワード03のメモリリクエストが解除され出力された場合、ワード00〜02のリクエストはホールド状態とし、ワード04〜ワードmのリクエストが、それぞれワード03〜ワードm−1にシフトして格納される。
In the request storage control method of the
ここで、各メモリチャネルに同時に2つのリクエストがバンクビジー解除により、出力された場合も同様に、リクエスト出力により空きとなったバッファへリクエストをシフトする。 Here, when two requests are simultaneously output to each memory channel by releasing the bank busy, the requests are similarly shifted to a buffer that is vacant by the request output.
例えば、ワード03のメモリリクエスト、ワード04のメモリリクエストが同時に解除され出力された場合、ワード00〜02のリクエストはホールド状態とし、ワード05〜ワードmのリクエストが、それぞれワード03〜ワードm−2にシフトして格納される。
For example, when the memory request for
即ち、ワード00〜mの各ワードにおいて、そのワード及びそれより若番側のワードに含まれる発行されるリクエスト個数が1以上であれば、そのワードより老い番側のワードに格納され且つ発行対象でないリクエスト列の、前記個数で指定される位置にあるリクエスト情報をそのワードに移す。 That is, in each word 00-m, if the number of requests issued in the word and the younger word is 1 or more, it is stored in the older word and is issued The request information at the position specified by the number in the non-request sequence is moved to the word.
メモリモジュールへのアクセスビジー時間は、メモリモジュール内のバンク間やリード、ライト、リフレッシュアクセスにより、予めシステム側で決められた異なるビジー時間が設定されるため、リクエストバッファ11に滞留するリクエスト間で同時に、CH0,CH1へのアクセスが可能となるタイミングが発生する。 The access busy time to the memory module is set between different busy times determined in advance by the system side between banks in the memory module or by read, write, and refresh access. , The timing at which access to CH0 and CH1 becomes possible occurs.
リクエストバッファ11に滞留しているリクエストを、図1のCH0メモリ制御部2−1,CH1メモリ制御部2−2に出力するためのリクエストセレクタを2個備えることにより、CH0,CH1のバンクビジーが同時に解除となった場合に対し、同時にRAMアクセスリクエスト発行が可能となる。
By providing two request selectors for outputting requests staying in the
バンクビジー回路14は、各バンクがビジーであることを示す(i+1)個のカウンターと、バンクアドレス信号12−3、12−4を同時に並行してデコードし、デコード結果の対応するビット同士がORされたデコーダ141とを含む。
The bank busy circuit 14 simultaneously decodes (i + 1) counters indicating that each bank is busy and the bank address signals 12-3 and 12-4 in parallel, and the corresponding bits of the decoding result are ORed. The
バンクアドレス信号12−3はリクエストセレクタ12−1の出力の内、バンクアドレス部分であり、例えばi=15であれば4ビットである。 The bank address signal 12-3 is a bank address portion of the output of the request selector 12-1. For example, if i = 15, it is 4 bits.
同様に、バンクアドレス信号12−4はリクエストセレクタ12−2の出力の内のバンクアドレス部分であり、4ビットの信号である。 Similarly, the bank address signal 12-4 is a bank address portion of the output of the request selector 12-2 and is a 4-bit signal.
上記バンクアドレス信号がデコードされ、対応するバンクビジーカウンタにアクセス種類(リード、ライト、リフレッシュ等)に応じたタイマ値がセットされる。 The bank address signal is decoded, and a timer value corresponding to the access type (read, write, refresh, etc.) is set in the corresponding bank busy counter.
バンクビジーカウンタは数ビットのカウンタで、値が0でなければビジーを表すものとする。 The bank busy counter is a counter of several bits, and if the value is not 0, it represents busy.
バンクチェック回路15は、受信リクエスト及びバッファ滞留中リクエスト各ワードのアクセスバンクがビジー状態であるかどうかの判定を行うための回路である。
The
バンクチェック回路15の詳細ブロック図を図4に示す。
A detailed block diagram of the
バンクチェック回路15には、リクエストバッファ11のバッファ各ワード及び受信リクエストのアクセス先のバンクアドレス信号11−0(B)〜11−m(B)、11−r(B)が供給され、セレクタ151−0〜151−m、151−rにおいて、指定されるバンクビジー回路14の値を参照し、各リクエストがメモリモジュールへ出力可能であるかどうかの判定を行なう。
The
バンクビジーでなく、リクエスト有り(各ワードのバリディティビットや受信リクエスト要求信号)であれば、バンクパス信号をアクティブにし、リクエスト選択回路16に送出する。 If it is not bank busy and there is a request (validity bit of each word or reception request request signal), the bank pass signal is activated and sent to the request selection circuit 16.
リクエスト選択回路16の詳細ブロック図を図3に示す。 A detailed block diagram of the request selection circuit 16 is shown in FIG.
リクエスト選択回路16は、バンクチェック回路15の出力結果より、アクセス可能なリクエストが複数存在するケースにおいて、アクセス排他制御を前提とした、アクセス優先順位決定を行うための選択回路である。
The request selection circuit 16 is a selection circuit for determining an access priority order based on the exclusive access control in the case where there are a plurality of accessible requests based on the output result of the
CH番号デコーダ161の各回路は受信リクエスト及びリクエストバッファ各ワードのリクエストの行き先チャネルを決定する。例えば、受信リクエスト及び前記各ワードにおけるバンクアドレスの最下位1ビットが「0」であればCH0、「1」であればCH1と決定する。
Each circuit of the
CHセレクト回路162は、各リクエストがアクセス可能であることを示す各ワードのバンクパス信号をCH0用、CH1用に展開し、前記決定されたチャネル対応の信号をアクティブにし、ワードセレクト回路163に供給する。
The CH
ワードセレクト回路163は、前記CHセレクト回路162で各CH毎に出力可能なリクエストを分離し、実際にメモリアクセスするリクエストの優先順位付けを行う。
The word
即ち、同一メモリアドレス(バンク)に対する排他制御を実現するための回路である。 That is, this is a circuit for realizing exclusive control for the same memory address (bank).
具体的な優先順位付けはワード00、01、02、・・、m、受信リクエストの順とすることにより、異なるバンク間のリクエスト追い越しを行う一方で同一バンクへのアクセス順序は保証される。
The specific prioritization is performed in the order of the
ワードセレクト回路163で生成したCH0ワードセレクト信号16−1はCH0へのアクセスリクエストをセレクトするためのリクエストセレクタ12−1、CH1ワードセレクト信号16−2はCH1へのアクセスリクエストをセレクトするためのリクエストセレクタ12−2における選択指示となる。
The CH0 word select signal 16-1 generated by the word
リクエストバッファ11に示す各ワード及び受信リクエストよりアクセスリクエストをリクエスト出力CH0、リクエスト出力CH1として、それぞれ図1に示すCH0メモリ制御部2−1、CH1メモリ制御部2−2に対しリクエストを発行する。
An access request is issued as a request output CH0 and a request output CH1 from each word and reception request shown in the
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。 Next, the operation of the best mode for carrying out the present invention will be described with reference to the drawings.
本発明のメモリアクセス制御方式の動作を、図5及び図6のタイムチャートに基づき、又図1、2、3も参照しながら説明する。 The operation of the memory access control system of the present invention will be described based on the time charts of FIGS. 5 and 6 and with reference to FIGS.
受信リクエストはマシンサイクル(以下Tと記す)毎に、バンク追い越し回路1に入力されるものとする。
It is assumed that the reception request is input to the
簡潔に説明するため、各メモリバンクに対するライトアクセス時の同一バンクビジー時間を5T、リードアクセス時の同一バンクビジー時間を4Tとし、バンク00とバンク01にアクセスが集中したケースを想定して説明する。
For the sake of brevity, it is assumed that the same bank busy time at the time of write access to each memory bank is 5T, and the same bank busy time at the time of read access is 4T, assuming that access is concentrated in the
また、バンク追い越し回路1にリクエストを入力(受信リクエスト)してから、出力にかかる時間を1Tとする。
Also, the time required for output after inputting a request (reception request) to the
図5の時刻T1において、リクエストR00−0(バンク00ライト)へのライトアクセス、T2において、リクエストR01−0(バンク01リード)、T3においてリクエストR00−1(バンク00ライト)、T4においてR01−1(バンク01リード)、T5においてリクエストR00−2(バンク00ライト)、T6においてR01−2(バンク01リード)の順でリクエストを受信したとする。
At time T1 in FIG. 5, write access to request R00-0 (
先ず、リクエストR00−0とR01−0は、図2のバンクチェック回路15、リクエスト選択回路16により出力が許可され、リクエスト出力CH0及びリクエスト出力CH1から対応するメモリ制御部へ出力される。
First, the requests R00-0 and R01-0 are permitted to be output by the
一方、図2のバンクビジー回路14には、バンク00ビジー情報およびバンク01ビジー情報がセットされる。
On the other hand,
後続のメモリアクセスリクエストは、バンクビジーのため、バンク追い越し回路1内のリクエストバッファ11に格納される。
Subsequent memory access requests are stored in the
タイムチャートのT6において、バンク0、バンク1のビジーが解除となり、バンクチェック回路15では、リクエストR00−1、リクエストR01−1、リクエストR00−2、リクエストR01−2の全リクエストについて、アクセス可能であることを示すワードバンクパス信号がイネーブルになる。
At T6 of the time chart, busy of the
リクエスト選択回路16にて若番ワードに格納されているリクエストを優先的に通過させる制御を行うので、ワード00に格納されたリクエストR00−1とワード01に格納されたリクエストR01−1が、レジスタを介し、T7でリクエスト出力CH0及びリクエスト出力CH1より出力されることになる。
Since the request selection circuit 16 performs control to preferentially pass the request stored in the young word, the request R00-1 stored in the
T7において出力されたリクエストR00−1とリクエストR01−1により、再び図2のバンクビジー回路14には、バンク00ビジー情報およびバンク01ビジー情報が共にセットされる。
With the request R00-1 and the request R01-1 output at T7, both the
図6に移り、T10では、バンク01のビジーが解除され、ワード01に格納されているリクエストR01−2がワード00に格納されているリクエストR00−2を追い越して出力可能となり、レジスタを介してT11でリクエストR01−2が出力され、以下、同様にメモリアクセス動作を繰り返す。
Turning to FIG. 6, at T10, the busy state of the
図5及び図6のタイムチャートには、参考のため従来のバンクアクセス制御方式による、動作も併記している。 The time charts of FIGS. 5 and 6 also show the operation by the conventional bank access control method for reference.
従来方式では、リクエストR01−1がT8、リクエストR01−2がT13で出力されているのに対し、本発明では、リクエストR01−1がT7、リクエストR01−2がT11で出力されることにより、記憶素子に対するアクセス効率を高めることを実現していることが解る。 In the conventional method, the request R01-1 is output at T8 and the request R01-2 is output at T13, whereas in the present invention, the request R01-1 is output at T7 and the request R01-2 is output at T11. It can be seen that the access efficiency to the storage element is improved.
尚、本発明のメモリアクセス制御方式の他の実施例では、リクエストバッファ11の例えば、ワード03のメモリリクエスト、ワード04のメモリリクエストが同時に解除され出力された場合、ワード00〜02のリクエストはホールド状態とし、最初のサイクルでワード3は空き(歯抜け)ワードとなり、ワード05〜ワードmのリクエストが、それぞれワード04〜ワードm−1にシフトして格納される。
In another embodiment of the memory access control system according to the present invention, for example, when the memory request for
次のサイクルで、ワード04〜ワードm−1の各リクエストがワード03〜ワードm−2にシフトして格納される。
In the next cycle, each request from
この様な実施例では、図2のリクエストバッファ11のワード00、01の入力は、受信リクエストとワード01のリクエスト、受信リクエストとワード02のリクエストという様に最大2入力で済む。
In such an embodiment, the input of the
次に、本発明の共有メモリアクセス制御方式について図面を参照して詳細に説明する。 Next, the shared memory access control system of the present invention will be described in detail with reference to the drawings.
図7は、本発明の共有メモリアクセス制御方式を含む共有メモリ型マルチプロセッサシステムのブロック図である。 FIG. 7 is a block diagram of a shared memory multiprocessor system including the shared memory access control system of the present invention.
共有メモリ型マルチプロセッサシステムは、複数のプロセッサ10−1〜10−nと、これらが共有する共有記憶装置8とこれらを接続する接続装置9を含む。 The shared memory multiprocessor system includes a plurality of processors 10-1 to 10-n, a shared storage device 8 shared by them, and a connection device 9 for connecting them.
接続装置9はプロセッサが共有記憶装置8にメモリリクエスト情報(リクエストコマンド、アドレス)やライトデータを転送するための上り方向バス91と、共有記憶装置8がプロセッサにリードデータを返送するための下り方向バス92と制御部93を含む。
The connection device 9 includes an
共有記憶装置8は共有メモリ制御部7と、メモリモジュール3から構成される。
The shared storage device 8 includes a shared
共有メモリ制御部7は、バンク追い越し回路1とCH0メモリ制御部2−1とCH1メモリ制御部2−2とCH0データ制御部4−1とCH1データ制御部4−2と選択回路5と接続装置I/F部(接続装置インタフェース部)6を含む。
The shared
接続装置I/F部6は、接続装置9からメモリリクエスト情報等を受信するためのレジスタ61と、接続装置9へのリードデータ等の返送データを保持するためのレジスタ62と、メモリリクエストの要求元識別を一時格納する制御データバッファ63を含む。
The connection device I / F unit 6 includes a
他の制御部や回路及びメモリモジュール3については、前記メモリアクセス制御方式と同様である。 Other control units and circuits and the memory module 3 are the same as in the memory access control method.
次に、共有メモリ型マルチプロセッサシステムの動作について図面を参照して説明する。 Next, the operation of the shared memory multiprocessor system will be described with reference to the drawings.
プロセッサは上り方向バスの使用許可を受け、メモリリクエスト情報(リクエストコマンド、アドレス)やライトデータを上り方向バス91に送出する。
The processor receives permission to use the upstream bus and sends memory request information (request command, address) and write data to the
一つのプロセッサがメモリリクエストのリプライを待たずに次ぎのリクエストを送出する場合はプロセッサ内識別情報も送出する。 When one processor sends the next request without waiting for the reply of the memory request, the identification information within the processor is also sent.
接続装置I/F部6では、要求元プロセッサ番号、或いはこれとプロセッサ内識別情報を制御データバッファの1エントリに書込み、メモリリクエスト情報をレジスタ61に受信する。
The connection device I / F unit 6 writes the requesting processor number or this and the in-processor identification information in one entry of the control data buffer, and receives the memory request information in the
メモリリクエスト情報をバンク追い越し回路1に送信する。この際、制御データバッファに前記書込みを行ったアドレス(エントリ番号)もリクエスト情報に含めて送る。
Memory request information is transmitted to the
以降メモリリクエストのバンクビジーチェックと追い越しの制御やメモリアクセスを、前記と同様に行う。 Thereafter, bank busy check of memory request, overtaking control and memory access are performed in the same manner as described above.
CH0データ制御部4−1、CH1データ制御部4−2からのリードデータ等をデータが確定した順で、選択回路5で選択し、リードデータはレジスタ62に保持し、持ち回られた前記エントリー番号で、制御データバッファ63より、要求元プロセッサ番号、或いはこれとプロセッサ内識別情報を読み出す。
The read data from the CH0 data control unit 4-1 and the CH1 data control unit 4-2 are selected by the selection circuit 5 in the order in which the data is determined, the read data is held in the
要求元プロセッサ番号は接続装置9への制御信号とし、プロセッサ内識別情報はリードデータに付加し下り方向バスに載せる。 The requesting processor number is a control signal to the connection device 9, and the in-processor identification information is added to the read data and placed on the downstream bus.
1 バンク追い越し回路
10−1〜10−n プロセッサ
11 リクエストバッファ
11−0(B)〜11−m(B) アクセスバンクアドレス信号
12−1、12−2 リクエストセレクタ
12−3、12−4 バンクアドレス信号
14 バンクビジー回路
141 デコーダ
142 バンクビジーカウンタ
15 バンクチェック回路
151−0〜151−m、151−r セレクタ
16 リクエスト選択回路
16−1 CH0ワードセレクト信号
16−2 CH1ワードセレクト信号
161 CH番号デコーダ
162 CHセレクト回路
163 ワードセレクト回路
2−1 CH0メモリ制御部
2−2 CH1メモリ制御部
3 メモリモジュール
3−1 メモリモジュール(CH0)
3−2 メモリモジュール(CH1)
4−1 CH0データ制御部
4−2 CH1データ制御部
5 選択回路
6 接続装置I/F部
61 レジスタ
62 レジスタ
63 制御データバッファ
7 共有メモリ制御部
8 共有記憶装置
9 接続装置
91 上り方向バス
92 下り方向バス
93 制御部
1 bank overtaking circuit 10-1 to 10-
3-2 Memory module (CH1)
4-1 CH0 Data Control Unit 4-2 CH1 Data Control Unit 5 Selection Circuit 6 Connection Device I /
Claims (18)
前記バンクグループ毎のメモリ制御手段と、
アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とするメモリアクセス制御方式。 A memory access control method in which a memory module is configured as a plurality of banks, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A request buffer for storing memory requests in which the bank being accessed is busy;
For the memory request stored in the request buffer and the newly received memory request, for each bank group, a memory request in which the bank to be accessed is no longer busy is selected and issued to the corresponding memory control unit; A memory access control system comprising:
前記バンクグループ毎のメモリ制御手段と、
各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、
前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とするメモリアクセス制御方式。 A memory access control method in which a memory module is configured as a plurality of banks, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A bank busy counter for each bank that manages the busy status of each bank;
A request buffer for storing a memory request that is not busy or the access destination bank is busy, or
Bank check means for checking the busy state of the access destination bank by referring to the bank busy counter for the memory request stored in the request buffer and the newly received memory request;
Selecting one of the memory requests whose access destination bank checked by the bank check unit is no longer busy for each bank group, and issuing the selected memory request to the corresponding memory control unit. Memory access control method.
それぞれに、一つのリクエスト情報を格納し、その番号がリクエスト発行上の優先順位となる複数のワード記憶部と、
新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶部に格納する手段と、
格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする請求項2記載のメモリアクセス制御方式。 The request buffer is
A plurality of word storage units each storing one piece of request information, the number of which is a priority in issuing requests,
Means for storing a newly received memory request that is not to be issued at that time in the youngest word storage section of the word storage that is free or is expected to be free in the next cycle;
When issuing a request being stored, for each word storage unit storing the request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. A request information sequence stored in the word storage unit older than the word storage unit and not to be issued, and means for transferring the request information at the position specified by the number to the word storage unit. The memory access control system according to claim 2, wherein:
前記バンクグループ毎のメモリ制御手順と、
アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とするメモリアクセス制御方法。 A memory access control method for controlling a memory module in a plurality of banks and dividing the plurality of banks into several groups,
A memory control procedure for each bank group;
A procedure to temporarily store a memory request when the bank to be accessed is busy;
For the temporarily stored memory request and the newly received memory request, for each bank group, there is a procedure for selecting a memory request in which the bank to be accessed is not busy and passing it to the corresponding memory control procedure. A memory access control method.
前記バンクグループ毎のメモリ制御手順と、
各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、
前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とするメモリアクセス制御方法。 A memory access control method for controlling a memory module in a plurality of banks and dividing the plurality of banks into several groups,
A memory control procedure for each bank group;
A procedure for counting the elapsed cycles from the start of access to each bank to the period according to the access type and managing the busy state of each bank;
A procedure for temporarily storing a memory request that does not meet a predetermined selection condition, or whether the bank to be accessed is busy;
A bank check procedure for checking the busy state of the access destination bank by referring to the result of the managing procedure for the temporarily stored memory request and the newly received memory request;
And selecting one of the memory requests whose access destination bank checked by the bank check procedure is no longer busy for each bank group, and passing the selected memory request to a corresponding memory control procedure. Access control method.
前記バンクグループ毎のメモリ制御手段と、
アクセス先のバンクがビジー状態であったメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする共有メモリアクセス制御方式。 A shared memory access control method in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A request buffer for storing memory requests in which the bank being accessed is busy;
For the memory request stored in the request buffer and the newly received memory request, for each bank group, a memory request in which the bank to be accessed is no longer busy is selected and issued to the corresponding memory control unit; A shared memory access control system comprising:
前記バンクグループ毎のメモリ制御手段と、
各バンクのビジー状態を管理するバンク毎のバンクビジーカウンタと、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを格納するリクエストバッファと、
前記リクエストバッファに格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記バンクビジーカウンタを参照することによってチェックするバンクチェック手段と、
前記バンクチェック手段によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手段に発行する手段とを具備したことを特徴とする共有メモリアクセス制御方式。 A shared memory access control method in which a memory module is configured in a plurality of banks with a shared memory accessed by a plurality of processors, and the plurality of banks are divided into several groups and controlled.
Memory control means for each bank group;
A bank busy counter for each bank that manages the busy status of each bank;
A request buffer for storing a memory request that is not busy or the access destination bank is busy, or
Bank check means for checking the busy state of the access destination bank by referring to the bank busy counter for the memory request stored in the request buffer and the newly received memory request;
Selecting one of the memory requests whose access destination bank checked by the bank check unit is no longer busy for each bank group, and issuing the selected memory request to the corresponding memory control unit. Shared memory access control method.
それぞれに、一つのリクエスト情報を格納でき、その番号がリクエスト発行上の優先順位となる複数のワード記憶と、
新たに受信し、その時に発行対象とならないメモリリクエストを、空いている或いは次サイクルで空きが見込まれるワード記憶の内の最も若番のワード記憶に格納する手段と、
格納中のリクエストを発行する際に、リクエスト情報が格納された各ワード記憶部について、そのワード記憶部及びそれより若番側のワード記憶部に含まれる発行されるリクエスト情報個数が1以上であれば、そのワード記憶部より老い番側のワード記憶部に格納され且つ発行対象でないリクエスト情報列の、前記個数で指定される位置にあるリクエスト情報をそのワード記憶部に移す手段とを含むことを特徴とする請求項11記載の共有メモリアクセス制御方式。 The request buffer is
Each of them can store one request information, a plurality of word storage whose number is a priority in issuing requests,
Means for storing a newly received memory request that is not to be issued at that time in the youngest word memory among the word memories that are free or are expected to be free in the next cycle;
When issuing a request being stored, for each word storage unit storing the request information, the number of request information issued included in the word storage unit and the word storage unit on the lower number side is one or more. A request information sequence stored in the word storage unit older than the word storage unit and not to be issued, and means for transferring the request information at the position specified by the number to the word storage unit. 12. The shared memory access control method according to claim 11, wherein:
前記バンクグループ毎のメモリ制御手順と、
アクセス先のバンクがビジー状態であったメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、前記バンクグループ毎に、アクセスするバンクがビジー状態でなくなったメモリリクエストを選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする共有メモリアクセス制御方法。 In a shared memory accessed by a plurality of processors, a memory module is configured in a plurality of banks, and the plurality of banks are divided into several groups and controlled.
A memory control procedure for each bank group;
A procedure to temporarily store a memory request when the bank to be accessed is busy;
For the temporarily stored memory request and the newly received memory request, for each bank group, there is a procedure for selecting a memory request in which the bank to be accessed is not busy and passing it to the corresponding memory control procedure. A shared memory access control method.
前記バンクグループ毎のメモリ制御手順と、
各バンクへのアクセス開始から、アクセス種類に応じた期間までの経過サイクルを計数し各バンクのビジー状態を管理する手順と、
アクセス先のバンクがビジー状態であるか、或いは予め定められた選択条件に合致しないメモリリクエストを一時格納する手順と、
前記一時格納されたメモリリクエスト及び新たに受信したメモリリクエストについて、アクセス先バンクのビジー状態を、前記管理する手順の結果を参照することによってチェックするバンクチェック手順と、
前記バンクチェック手順によってチェックされたアクセス先バンクがビジー状態でなくなったメモリリクエストの一つを、前記バンクグループ毎に選択し、それぞれ対応するメモリ制御手順に渡す手順とを有することを特徴とする共有メモリアクセス制御方法。 In a shared memory accessed by a plurality of processors, a memory module is configured in a plurality of banks, and the plurality of banks are divided into several groups and controlled.
A memory control procedure for each bank group;
A procedure for counting the elapsed cycles from the start of access to each bank to the period according to the access type and managing the busy state of each bank;
A procedure for temporarily storing a memory request that does not meet a predetermined selection condition, or whether the bank to be accessed is busy;
A bank check procedure for checking the busy state of the access destination bank by referring to the result of the managing procedure for the temporarily stored memory request and the newly received memory request;
And a procedure for selecting, for each bank group, one of the memory requests whose access destination bank checked by the bank check procedure is no longer busy and passing the selected memory request to the corresponding memory control procedure. Memory access control method.
18. The shared memory access control method according to claim 16, wherein the bank group includes two groups of an odd bank and an even bank.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004282865A JP4593220B2 (en) | 2004-09-29 | 2004-09-29 | Memory access control method and method, and shared memory access control method and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004282865A JP4593220B2 (en) | 2004-09-29 | 2004-09-29 | Memory access control method and method, and shared memory access control method and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006099295A JP2006099295A (en) | 2006-04-13 |
JP4593220B2 true JP4593220B2 (en) | 2010-12-08 |
Family
ID=36239064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004282865A Expired - Fee Related JP4593220B2 (en) | 2004-09-29 | 2004-09-29 | Memory access control method and method, and shared memory access control method and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4593220B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6237945B1 (en) * | 2017-02-20 | 2017-11-29 | 日本電気株式会社 | Memory control device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108476A (en) * | 1991-10-18 | 1993-04-30 | Fujitsu Ltd | Main storage controller |
JPH10260895A (en) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | Semiconductor storage device and computer system using the same |
JPH10333979A (en) * | 1997-05-28 | 1998-12-18 | Kofu Nippon Denki Kk | Bank access control system |
JPH11110289A (en) * | 1997-09-30 | 1999-04-23 | Hitachi Ltd | Buffer control method |
JP2000194601A (en) * | 1998-12-24 | 2000-07-14 | Nec Corp | Memory access control system |
JP2000259494A (en) * | 1999-03-04 | 2000-09-22 | Matsushita Electric Ind Co Ltd | Memory controller |
-
2004
- 2004-09-29 JP JP2004282865A patent/JP4593220B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108476A (en) * | 1991-10-18 | 1993-04-30 | Fujitsu Ltd | Main storage controller |
JPH10260895A (en) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | Semiconductor storage device and computer system using the same |
JPH10333979A (en) * | 1997-05-28 | 1998-12-18 | Kofu Nippon Denki Kk | Bank access control system |
JPH11110289A (en) * | 1997-09-30 | 1999-04-23 | Hitachi Ltd | Buffer control method |
JP2000194601A (en) * | 1998-12-24 | 2000-07-14 | Nec Corp | Memory access control system |
JP2000259494A (en) * | 1999-03-04 | 2000-09-22 | Matsushita Electric Ind Co Ltd | Memory controller |
Also Published As
Publication number | Publication date |
---|---|
JP2006099295A (en) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8099567B2 (en) | Reactive placement controller for interfacing with banked memory storage | |
US7337293B2 (en) | Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices | |
KR100724557B1 (en) | Out of order dram sequencer | |
KR100716950B1 (en) | Bus system | |
US20150046642A1 (en) | Memory command scheduler and memory command scheduling method | |
US6842821B2 (en) | DDR SDRAM memory controller with multiple dependency request architecture and intelligent requestor interface | |
US7543114B2 (en) | System and controller with reduced bus utilization time | |
US20050210185A1 (en) | System and method for organizing data transfers with memory hub memory modules | |
JP2007183816A (en) | Memory control device | |
US7366854B2 (en) | Systems and methods for scheduling memory requests utilizing multi-level arbitration | |
JP2008276391A (en) | Memory access control device | |
US9390017B2 (en) | Write and read collision avoidance in single port memory devices | |
US6502173B1 (en) | System for accessing memory and method therefore | |
US9620215B2 (en) | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode | |
US8667199B2 (en) | Data processing apparatus and method for performing multi-cycle arbitration | |
US20050177674A1 (en) | Configurable embedded processor | |
US9798492B2 (en) | Semiconductor device including a plurality of function blocks | |
US8995210B1 (en) | Write and read collision avoidance in single port memory devices | |
EP2280349B1 (en) | Processor and data transfer method | |
JP4593220B2 (en) | Memory access control method and method, and shared memory access control method and method | |
KR101022473B1 (en) | Memory bank interleaving method and apparatus in the multi-layer bus system | |
KR20240000773A (en) | Pim computing system and memory controller therof | |
JP2004355271A (en) | Data transfer system | |
JP3235578B2 (en) | Memory access control method | |
JPH10301897A (en) | Method and device for arbitration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070126 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070813 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080616 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100823 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100831 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4593220 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |