JPWO2010122607A1 - 記憶制御装置及びその制御方法 - Google Patents
記憶制御装置及びその制御方法 Download PDFInfo
- Publication number
- JPWO2010122607A1 JPWO2010122607A1 JP2011510094A JP2011510094A JPWO2010122607A1 JP WO2010122607 A1 JPWO2010122607 A1 JP WO2010122607A1 JP 2011510094 A JP2011510094 A JP 2011510094A JP 2011510094 A JP2011510094 A JP 2011510094A JP WO2010122607 A1 JPWO2010122607 A1 JP WO2010122607A1
- Authority
- JP
- Japan
- Prior art keywords
- request
- memory access
- access request
- storage unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
優先度制御レジスタ104は、メモリ要求発行可否信号生成部106内から得られるメモリ要求の発行可否状況と各#2〜#5の各判定回路105より得られるREQ_BUF102内のメモリ要求の滞留状況とに基づいて、内部の遷移状態を動的に制御する。これにより、DRAMモジュール109のアクセス規定に対応した優先順位の飛び越し制御が可能となる。
Description
本発明は、記憶制御装置及びその制御方法に関する。
SDRAM(Synchronous Dynamic Random Access Memory)などの複数のバンクを有するマルチバンクメモリに対するメモリアクセス制御において、複数のCPUや入出力装置からのメモリ要求の命令を調停するために、優先度制御レジスタを用いた調停回路が用いられることがある。この回路では、複数のメモリ要求が要求先のバンク毎にリクエストバッファと呼ばれるキューに振り分けて保持される。そして、各リクエストバッファから読み出されて優先度制御レジスタに格納されるメモリ要求の優先順位に基づいて、優先順位の高いリクエストバッファからメモリ要求が読み出されて実行される。この制御方式では、或るリクエストバッファのメモリ要求の優先順位が最も高くなって実行されると、次の命令実行サイクルではそのリクエストバッファの優先順位は最も低くされる。一方、次の命令実行サイクルにおいて、最も過去に命令読出しが実行された、即ち最近最も命令読出しが実行されていないリクエストバッファの優先順位が最高順位に上げられ、そのリクエストバッファから読み出されているメモリ要求が実行される。この制御方式は、いわゆるLRU(Least Recently Used)による制御方式である。
ここで、DRAMには、アクセス規定が存在する。アクセス規定とは例えば、或る命令実行サイクルでDRAMに対してデータリード要求が実行された場合において、その次にデータライド要求(異種命令)が実行されるときには、例えば7サイクル待たなければならないといった規定をいう。或いは、或る命令実行サイクルでDRAMの或るバンクに対してデータリード要求が実行された場合において、その次に他のバンクに対してデータリード要求(同種命令)が実行されるときには、例えば2サイクル待たなければならないといった規定をいう。
今、優先度制御レジスタを用いたメモリアクセス制御の従来技術において、優先度制御レジスタに格納されるメモリ要求の優先順位に基づいて選択された1つのリクエストバッファから読み出されたメモリ要求Aが、DRAMのアクセス規定を満足していない場合を想定する。この場合には、メモリ要求Aは、アクセス規定が満足する命令実行サイクルまで、その実行が待たされることになる。
しかし、優先度制御レジスタに格納されるメモリ要求の優先順位に基づいて選択されなかったリクエストバッファ中には、アクセス規定を満足するメモリ要求が読み出されているリクエストバッファが存在し得る。例えば、現在実行中のメモリ要求がデータリード要求であった場合に、次の命令実行サイクルで選択されたメモリ要求がデータライド要求であった場合には、そのデータライド要求は先行するデータリード要求の実行開始から例えば7サイクル待たなければならない。ここで、上記先行するデータリード要求の実行バンクとは異なる実行バンクに対する他のデータリード要求が、優先度制御レジスタによって選択されなかったリクエストバッファ中に存在するとする。この場合には、同種命令に対する待ちサイクルは異種命令に対する待ちサイクルよりも短くて済むため、上記他のデータリード要求は、先行するデータリード要求の実行開始から例えば3サイクル後には実行可能になる。
このようなケースにおいて、優先度制御レジスタによってリクエストバッファから現在読み出されているメモリ要求A(異種命令)が実行された後でないと、他のリクエストバッファ中に存在するアクセス規定を満足しているメモリ要求Bは、実行できなかった。即
ち、優先度制御レジスタを用いたメモリアクセス制御の従来技術では、上述のようなケースにおいて、メモリ要求の実行効率が低下してしまうという問題点を有していた。
特開平6−161941号公報
特開平11−272567号公報
特開2005−173859号公報
特開2008−503808号公報
ち、優先度制御レジスタを用いたメモリアクセス制御の従来技術では、上述のようなケースにおいて、メモリ要求の実行効率が低下してしまうという問題点を有していた。
そこで、本発明の1つの側面では、DRAM等の記憶装置のアクセス規定を満足するリクエストバッファの優先順位が高くなるような優先順位制御を可能とすることを目的とする。
態様の一例では、演算処理装置と第1のメモリバンクに対応する第1及び第2のメモリバンクを有する記憶装置に接続されるとともに、前記演算処理装置から受信するメモリアクセス要求を前記の記憶装置に発行する記憶制御装置として実現され、以下の構成を有する。
第1の要求記憶部は、第1のメモリバンクに対するメモリアクセス要求を保持する。
第2の要求記憶部は、第2のメモリバンクに対するメモリアクセス要求を保持する。
デコード部は、演算処理装置から受信するメモリアクセス要求を、メモリアクセス要求に含まれるバンクアドレスに応じて、第1の要求記憶部又は第2の要求記憶部に振り分ける。
第2の要求記憶部は、第2のメモリバンクに対するメモリアクセス要求を保持する。
デコード部は、演算処理装置から受信するメモリアクセス要求を、メモリアクセス要求に含まれるバンクアドレスに応じて、第1の要求記憶部又は第2の要求記憶部に振り分ける。
選択部は、第1の要求記憶部と第2の要求記憶部に接続され、第1の要求記憶部又は第2の要求記憶部に保持されるメモリアクセス要求を、選択信号に基づいて選択して出力する。
第1の判定回路は、第1の要求記憶部に保持されるメモリアクセス要求が、第1のメモリバンクに既に発行したメモリアクセス要求との関係により、第1のメモリバンクに発行できるか否かの第1の判定結果を出力する。
第2の判定回路は、第2の要求記憶部に保持されるメモリアクセス要求が、第2のメモリバンクに既に発行したメモリアクセス要求との関係により、第2のメモリバンクに発行できるか否かの第2の判定結果を出力する。
第3の判定回路は、選択回路が選択したメモリアクセス要求が、記憶装置に既に発行したメモリアクセス要求との関係により、記憶装置に発行できるか否かの第3の判定結果を出力する。
優先順位制御回路は、第1の判定回路と第2の判定回路に接続されるとともに、第1乃至第3の判定結果に基づいて、第1の判定回路に保持されるメモリアクセス要求又は第2の判定回路に保持されるメモリアクセス要求を選択する選択信号を出力する。
以上の構成により、既に発行したメモリアクセス要求の発行可否状況と各要求記憶部内のメモリアクセス要求の滞留状況とに基づいて、優先順位の遷移状態を動的に制御することが可能となり、記憶装置のアクセス規定に対応した優先順位の飛び越し制御が可能となる。この制御は、簡単な構成の判定回路と、簡単な構成の優先順位制御回路とによって実現することが可能である。
このようにして、記憶制御装置と記憶装置、又はこれらを結ぶバスを、効率的に使用す
ることが可能となる。
ることが可能となる。
以下、開示の記憶制御装置及びその制御方法を実施するための形態について図面を参照しながら詳細に説明する。
図1は、メモリ制御装置の実施形態を示す構成図である。
図1は、メモリ制御装置の実施形態を示す構成図である。
メモリ制御装置100は、1個以上のCPU107(#0〜#x)又はIO(入出力)装置108(#0〜#y)と、1枚以上のDRAMモジュール109と接続する。
メモリ制御装置100において、メモリ要求振分け回路101は、図2に示されるように、バンクアドレスデコード回路201を含む。このバンクアドレスデコード回路201は、図1のCPU107又はIO装置108からDRAMモジュール109へのデータリードやデータライトのメモリ要求を受け取る。バンクアドレスデコード回路201は、メモリ要求から認識されるDRAMモジュール109を構成するN個のバンクに対応するバンクアドレスに従って、送出先をN個のリクエストバッファ(REQ_BUF)102群から選択する。そして、バンクアドレスデコード回路201は、選択したREQ_BUF102に、メモリ要求をセットする。図1及び図2の例では、DRAMモジュール109を構成するバンクは#0〜#3の4バンクから構成され(N=4)、それに対応して、REQ_BUF102も#0〜#3の4個が設置される。REQ_BUF102は、例えばFIFO(First In First Out:先入れ先出し)等のバッファ回路によって実現される。
メモリ制御装置100において、メモリ要求振分け回路101は、図2に示されるように、バンクアドレスデコード回路201を含む。このバンクアドレスデコード回路201は、図1のCPU107又はIO装置108からDRAMモジュール109へのデータリードやデータライトのメモリ要求を受け取る。バンクアドレスデコード回路201は、メモリ要求から認識されるDRAMモジュール109を構成するN個のバンクに対応するバンクアドレスに従って、送出先をN個のリクエストバッファ(REQ_BUF)102群から選択する。そして、バンクアドレスデコード回路201は、選択したREQ_BUF102に、メモリ要求をセットする。図1及び図2の例では、DRAMモジュール109を構成するバンクは#0〜#3の4バンクから構成され(N=4)、それに対応して、REQ_BUF102も#0〜#3の4個が設置される。REQ_BUF102は、例えばFIFO(First In First Out:先入れ先出し)等のバッファ回路によって実現される。
セレクタ回路103は、メモリ要求が存在するREQ_BUF102のうち、優先度制御レジスタ104が示す優先順位が最も高いを選択する。
判定回路105(#1)は、セレクタ回路103にて選択されたメモリ要求が発行可能であるか否かを、メモリ要求発行可否信号生成部106が生成するメモリ要求発行可否信号に基づいて検査する。そして、判定回路105(#1)は、上記メモリ要求が発行可能であると判定した場合のみ、DRAMモジュール109に対してセレクタ回路103にて選択されたメモリ要求を発行する。
判定回路105(#1)は、セレクタ回路103にて選択されたメモリ要求が発行可能であるか否かを、メモリ要求発行可否信号生成部106が生成するメモリ要求発行可否信号に基づいて検査する。そして、判定回路105(#1)は、上記メモリ要求が発行可能であると判定した場合のみ、DRAMモジュール109に対してセレクタ回路103にて選択されたメモリ要求を発行する。
判定回路105(#1)は、例えば図3に示される回路で実現される。図3において、デコード部301は、セレクタ回路103にて選択されたメモリ要求をデコードする。この結果、デコード部301は、バンク#0リード、バンク#1リード、バンク#2リード、バンク#3リード、バンク#0ライト、バンク#1ライト、バンク#2ライト、バンク#3ライトのうちの1つの出力のみを“1”とし、他の出力は“0”とする。換言すると、デコード部301は、1ホット(1−hot)デコーダである。例えば、デコード部301は、メモリ要求がDRAMモジュール109のバンク#0にアクセスするデータリード要求の命令である場合には、バンク#0リードの出力のみを“1”とする。同様に、デコード部301は、メモリ要求がDRAMモジュール109のバンク#0にアクセスするデータライト要求の命令である場合には、バンク#0ライトの出力のみを“1”とする。
他のバンクについても同様である。
他のバンクについても同様である。
AND(論理積)回路302は、例えばバンク#0リードとメモリ要求発行可否信号生成部106が出力するバンク#0可を示すメモリ要求発行可否信号とのAND論理を演算する。同様に、バンク#1リードとバンク#1リード可、バンク#2リードとバンク#2リード可、バンク#3リードとバンク#3リード可、バンク#0ライトとバンク#0ライト可、バンク#1ライトとバンク#1ライト可、バンク#2ライトとバンク#2ライト可、バンク#3ライトとバンク#3ライト可能の各AND論理が演算される。AND回路302からの各AND論理演算結果は、OR(論理和)回路303を介してメモリ要求発行可能信号を出力される。OR回路303は、すべてのAND回路302の出力について、OR論理の演算を行う。図1の判定回路105は、このメモリ要求発行可能信号が出力された場合に、セレクタ回路103が選択したメモリ要求をDRAMモジュール109に対して発行する。例えば、メモリ要求がバンク#0リードの命令であった場合において、メモリ要求発行可否信号生成部106がバンク#0可を示すメモリ要求発行可否信号を出力していれば、メモリ要求発行可否信号が出力される。一方、メモリ要求がバンク#0リードの命令であった場合において、メモリ要求発行可否信号生成部106がバンク#0可を示すメモリ要求発行可否信号を出力していなければ、メモリ要求発行可否信号は出力されない。他のバンク及びデータライト要求の命令に関しても同様である。
図1に示される#2〜#5の判定回路105も、図3に例示される判定回路105(#1)とほぼ同様の機能を有するが、それぞれ担当するバンクのメモリ要求のみを監視すればよい。例えば、判定回路105(#2)は、REQ_BUF102(#0)からバンク#0リード又はバンク#0ライトが出力されるか否かを監視し、それぞれメモリ要求発行可否信号生成部106からバンク#0リード可又はバンク#0ライト可が入力している場合に、バンク#0に関するメモリ要求発行可否信号を出力する。判定回路105(#3)は、REQ_BUF102(#1)からバンク#1リード又はバンク#1ライトが出力されるか否かを監視し、それぞれメモリ要求発行可否信号生成部106からバンク#1リード可又はバンク#1ライト可が入力している場合に、バンク#1に関するメモリ要求発行可否信号を出力する。判定回路105(#4)は、REQ_BUF102(#2)からバンク#2リード又はバンク#2ライトが出力されるか否かを監視し、それぞれメモリ要求発行可否信号生成部106からバンク#2リード可又はバンク#2ライト可が入力している場合に、バンク#2に関するメモリ要求発行可否信号を出力する。判定回路105(#5)は、REQ_BUF102(#3)からバンク#3リード又はバンク#3ライトが出力されるか否かを監視し、それぞれメモリ要求発行可否信号生成部106からバンク#3リード可又はバンク#3ライト可が入力している場合に、バンク#3に関するメモリ要求発行可否信号を出力する。
図1のメモリ要求発行可否信号生成部106は、例えば図4に示される回路で実現される。図4において、多段構成のフリップフロップ回路401は、発行済メモリアクセス情報(発行済みのメモリ要求)を順次保持する。フリップフロップ回路401の段数は、DRAMモジュール109のアクセス規約を判定できる分の過去の発行済メモリアクセス情報の保持数に対応する。制御回路402は、フリップフロップ回路401に保持された発行済メモリアクセス情報群に基づいてDRAMモジュール109のアクセス規約を判定する。この結果、制御回路402は、バンク#0リード可、バンク#1リード可、バンク#2リード可、バンク#3リード可、バンク#0ライト可、バンク#1ライト可、バンク#2ライト可、バンク#3ライト可のメモリ要求発行可否信号を出力する。例えば、現在DRAMモジュール109に対して発行されているメモリ要求がバンク#0に対するデータリード要求である場合を考える。この場合、現在の命令実行サイクルから例えば7サイクル後にバンク#0ライト可、バンク#1ライト可、バンク#2ライト可、バンク#3ライト可の各メモリ要求発行可否信号が“1”となる。また、現在の命令実行サイクルから例えば2サイクル後にバンク#1リード可、バンク#2リード可、バンク#3リード可の各メモリ要求発行可否信号が“1”となる。制御回路402は、このようなアクセス規則のアルゴリズムを実行する回路である。
図1の優先度制御レジスタ104は、#1〜#5の各判定回路105の出力に基づいて、以下に示されるように動作する。
まず、優先度制御レジスタ104は、判定回路105が、セレクタ回路103が選択したREQ_BUF102から読み出されたメモリ要求をDRAMモジュール109に発行した場合に、次の命令実行サイクルではそのREQ_BUF102の優先順位が最下位になるように内部の遷移状態を更新する。
まず、優先度制御レジスタ104は、判定回路105が、セレクタ回路103が選択したREQ_BUF102から読み出されたメモリ要求をDRAMモジュール109に発行した場合に、次の命令実行サイクルではそのREQ_BUF102の優先順位が最下位になるように内部の遷移状態を更新する。
また、優先度制御レジスタ104は、#2〜#5の何れかの判定回路105が#0〜#3の何れかのREQ_BUF102についてメモリ要求を発行可能と判定した場合に、そのREQ_BUF102の優先順位が高くなるように内部の遷移状態を更新する。
優先度制御レジスタ104は、図5に示されるように、その内部に優先度制御レジスタ_01、優先度制御レジスタ_02、優先度制御レジスタ_03、優先度制御レジスタ_12、優先度制御レジスタ_13、優先度制御レジスタ_23の6個の回路を有する。
優先度制御レジスタ_01は、REQ_BUF102(#0)とREQ_BUF102(#1)の優先順位を保持する。図5に示されるように、優先度制御レジスタ_01が保持する値が“0”のときには、REQ_BUF102(#0)の優先順位がREQ_BUF102(#1)の優先順位よりも高いことを示す。優先度制御レジスタ_01が保持する値が“1”のときには、REQ_BUF102(#1)の優先順位がREQ_BUF102(#0)の優先順位よりも高いことを示す。
優先度制御レジスタ_02は、REQ_BUF102(#0)とREQ_BUF102(#2)の優先順位を保持する。図5に示されるように、優先度制御レジスタ_02が保持する値が“0”のときには、REQ_BUF102(#0)の優先順位がREQ_BUF102(#2)の優先順位よりも高いことを示す。優先度制御レジスタ_02が保持する値が“1”のときには、REQ_BUF102(#2)の優先順位がREQ_BUF102(#0)の優先順位よりも高いことを示す。
優先度制御レジスタ_03は、REQ_BUF102(#0)とREQ_BUF102(#3)の優先順位を保持する。図5に示されるように、優先度制御レジスタ_03が保持する値が“0”のときには、REQ_BUF102(#0)の優先順位がREQ_BUF102(#3)の優先順位よりも高いことを示す。優先度制御レジスタ_03が保持する値が“1”のときには、REQ_BUF102(#3)の優先順位がREQ_BUF102(#0)の優先順位よりも高いことを示す。
優先度制御レジスタ_12は、REQ_BUF102(#1)とREQ_BUF102(#2)の優先順位を保持する。図5に示されるように、優先度制御レジスタ_12が保持する値が“0”のときには、REQ_BUF102(#1)の優先順位がREQ_BUF102(#2)の優先順位よりも高いことを示す。優先度制御レジスタ_12が保持する値が“1”のときには、REQ_BUF102(#2)の優先順位がREQ_BUF102(#1)の優先順位よりも高いことを示す。
優先度制御レジスタ_13は、REQ_BUF102(#1)とREQ_BUF102(#3)の優先順位を保持する。図5に示されるように、優先度制御レジスタ_13が保持する値が“0”のときには、REQ_BUF102(#1)の優先順位がREQ_BUF102(#3)の優先順位よりも高いことを示す。優先度制御レジスタ_13が保持する値が“1”のときには、REQ_BUF102(#3)の優先順位がREQ_BUF102(#1)の優先順位よりも高いことを示す。
優先度制御レジスタ_23は、REQ_BUF102(#2)とREQ_BUF102(#3)の優先順位を保持する。図5に示されるように、優先度制御レジスタ_23が保持する値が“0”のときには、REQ_BUF102(#2)の優先順位がREQ_BUF102(#3)の優先順位よりも高いことを示す。優先度制御レジスタ_23が保持する値が“1”のときには、REQ_BUF102(#3)の優先順位がREQ_BUF102(#2)の優先順位よりも高いことを示す。
優先度制御レジスタ104は、上記6つの優先度制御レジスタにて得られる各優先順位を比較することにより優先順位が最も高いREQ_BUF102を決定し、その情報をセレクタ回路103に通知する。セレクタ回路103は、その通知されたREQ_BUF102から出力されるメモリ要求を選択する。
図6は、優先度制御レジスタ104を構成する優先度制御レジスタ_01、優先度制御レジスタ_02、優先度制御レジスタ_03、優先度制御レジスタ_12、優先度制御レジスタ_13、優先度制御レジスタ_23の各回路を実現する回路構成例を示す図である。ここで、1つの優先度制御レジスタを優先度制御レジスタ_ijとする。即ち、ijの組合せは、(01)、(02)、(03)、(12)、(13)及び(23)である。図6は、優先度制御レジスタ_ijの実現例を示す図である。
図6において、OR回路601の第1の入力としては、図3の構成例を有する判定回路105(#1)のバンク#iリードが入力するAND回路302の出力及びバンク#iライトが入力するAND回路302の出力をOR演算して得られる出力が入力する。OR回路601の第2の入力としては、OR回路607の出力が入力する。
OR回路601の出力はAND回路602の第1の入力とされる。AND回路602の第2の入力としては、図3の構成例を有する判定回路105(#1)のバンク#jリードが入力するAND回路302の出力及びバンク#jライトが入力するAND回路302の出力をOR演算して得られる出力の反転出力が入力する。
AND回路602の出力は、フリップフロップ回路603に入力する。
NAND回路604の第1の入力としては、図3の構成例を有する判定回路105(#i+2)のバンク#iリードが入力するAND回路302の出力及びバンク#iライトが入力するAND回路302の出力をOR演算して得られる出力が入力する。NAND(否定的論理積)回路604の第2の入力としては、図3の構成例を有する判定回路105(#i+3)のバンク#jリードが入力するAND回路302の出力及びバンク#jライトが入力するAND回路302の出力をOR演算して得られる出力の反転出力が入力する。
NAND回路604の第1の入力としては、図3の構成例を有する判定回路105(#i+2)のバンク#iリードが入力するAND回路302の出力及びバンク#iライトが入力するAND回路302の出力をOR演算して得られる出力が入力する。NAND(否定的論理積)回路604の第2の入力としては、図3の構成例を有する判定回路105(#i+3)のバンク#jリードが入力するAND回路302の出力及びバンク#jライトが入力するAND回路302の出力をOR演算して得られる出力の反転出力が入力する。
AND回路605の第1の入力としては、図3の構成例を有する判定回路105(#i+2)のバンク#iリードが入力するAND回路302の出力及びバンク#iライトが入力するAND回路302の出力をOR演算して得られる出力の反転出力が入力する。AND回路605の第2の入力としては、図3の構成例を有する判定回路105(#i+3)のバンク#jリードが入力するAND回路302の出力及びバンク#jライトが入力するAND回路302の出力をOR演算して得られる出力が入力する。
AND回路606の第1の入力としてはNAND回路604の出力が入力する。AND回路606の第2の入力としてはフリップフロップ回路603の出力が入力する。
OR回路607の第1の入力としてはAND回路606の出力が入力する。OR回路607の第2の入力としてはAND回路605の出力が入力する。OR回路607の出力は、OR回路601の第2の入力とされる。
OR回路607の第1の入力としてはAND回路606の出力が入力する。OR回路607の第2の入力としてはAND回路605の出力が入力する。OR回路607の出力は、OR回路601の第2の入力とされる。
フリップフロップ回路603の出力が、優先度制御レジスタ_ijの出力値となる。フリップフロップ回路603の出力値が“0”のときには、REQ_BUF102(#i)の優先順位がREQ_BUF102(#j)の優先順位よりも高いことを示す。フリップフロップ回路603の出力値が“1”のときには、REQ_BUF102(#j)の優先順位がREQ_BUF102(#i)の優先順位よりも高いことを示す。
今、(ij)=(01)であるとする。そして、セレクタ回路103において、REQ_BUF102(#i=#0)からのバンク#0に対するメモリ要求が選択されており、判定回路105(#1)からのバンク#0に対応するAND回路302(図3)の出力が“1”になっているとする。この結果、図6のOR回路601の出力が“1”となる。この場合には、判定回路105(#1)からの他のREQ_BUF102(#j=#1)に対応するAND回路302の出力は“0”である。このため、AND回路602の出力が“1”となり、フリップフロップ回路603に“1”がセットされる。この結果、次以降の命令実行サイクルでは、優先度制御レジスタ_01の出力値は“1”となって、REQ_BUF102(#i=#0)の優先順位はREQ_BUF102(#j=#1)の優先順位よりも下がる。REQ_BUF102(#i=#0)が関わる他の優先度制御レジスタ_ijでも同様に動作して、結局、REQ_BUF102(#i=#0)の優先順位は最も低くなる。
その後例えば、判定回路105(#j+2=#3)においてREQ_BUF102(#j=#1)のメモリ要求が実行可能と判定されて、バンク#1に対応するAND回路302(図3)の出力が“1”になっているとする。一方、判定回路105(#i+2=#2)においてREQ_BUF102(#i=#0)のメモリ要求は実行不可と判定されて、バンク#0に対応するAND回路302(図3)の出力は“0”になっているとする。この結果、AND回路605の出力が“1”となって、その値がOR回路607及び601を介してAND回路602に入力する。ここで、セレクタ回路103はREQ_BUF102(#i=#0)の出力を選択したままの状態となっていれば、判定回路105(#1)からのREQ_BUF102(#j=#1)に対応するAND回路302の出力は“0”のままである。この結果、AND回路602の出力が“1”となってフリップフロップ回路603の出力は“1”となる。従って、REQ_BUF102(#j=#1)の優先順位が高くなる。REQ_BUF102(#j=#1)が関わる他の優先度制御レジスタ_ijでも同様に動作して、結局、REQ_BUF102(#j=#1)の優先順位は最も高くなる。このようにして、アクセス規定が判定された結果、実行可能と判定されたメモリ要求については、本実施形態の優先度制御レジスタ104によって、優先順位が高くなって該当するREQ_BUF102からのメモリ要求が早く選択されるように動作する。
一方例えば、REQ_BUF102(#0)からのメモリ要求の発行により優先度制御レジスタ_01にてフリップフロップ回路603の出力値が1となって、REQ_BUF102(#i=#0)の優先順位が低い状態になった後、次のようなケースを考える。即ち、判定回路105(#i+2=#2)においてREQ_BUF102(#i=#0)のメモリ要求が連続して実行可能(例えば同種命令)と判定されてバンク#0に対応するAND回路302(図3)の出力が“1”になっているとする。このとき、判定回路105(#j+2=#3)においてREQ_BUF102(#j=#1)のメモリ要求は実行不可と判定されて、バンク#1に対応するAND回路302(図3)の出力は“0”になっているとする。この結果、NAND回路604の出力が“0”となって、AND回路606の出力が“0”となる。一方、AND回路605の出力も“0”となる。この結果、OR回路607の出力が“0”となる。また、セレクタ回路103での選択状態の変化により、判定回路105(#1)からのバンク#0に対応するAND回路302(図3)の出力は“0”に変化しているとする。これにより、OR回路601の出力が“0”となりAND回路602の出力も“0”となる結果、フリップフロップ回路603の出力が“0”に変化する。このようにして、メモリ要求の発行により優先順位がいったん下がったREQ_BUF102(#0)について、発行可能なメモリ要求があれば再び優先順位を上げるような動作が実行される。
このようにして、メモリ要求発行可否信号生成部106からのメモリ要求の発行可否状況と#2〜#5の各判定回路105からの各REQ_BUF102内のメモリ要求の滞留状況に基づき、優先度制御レジスタ104内の各優先度制御レジスタ_ijの遷移状態が制御される。これにより、DRAMモジュール109のアクセス規定に対応した優先順位の飛び越し制御が可能となる。この制御は、#2〜#5の簡単な構成の判定回路105と、図6に例示されるような簡単な構成の優先度制御レジスタ_ijとによって実現することが可能である。
以上の図1〜図6の構成を有するメモリ制御装置100の実施例の具体的な動作について、以下に説明する。
REQ_BUF102(#0)にバンク#0宛てのデータライト要求が1個、REQ_BUF102(#1)にバンク#1宛てのデータリード要求が1個、REQ_BUF102(#2)にバンク#2宛てのデータライト要求が1個保持されているとする。また、REQ_BUF102(#3)にはメモリ要求は保持されていないとする。また、優先順位の制御は、基本的にLRU(Least Recently Used)に従うとする。
REQ_BUF102(#0)にバンク#0宛てのデータライト要求が1個、REQ_BUF102(#1)にバンク#1宛てのデータリード要求が1個、REQ_BUF102(#2)にバンク#2宛てのデータライト要求が1個保持されているとする。また、REQ_BUF102(#3)にはメモリ要求は保持されていないとする。また、優先順位の制御は、基本的にLRU(Least Recently Used)に従うとする。
今、優先度制御レジスタ104により、優先順位がREQ_BUF102(#0)>REQ_BUF102(#1)>REQ_BUF102(#2)>REQ_BUF102(#3)を示しているケースで説明する。
はじめに、セレクタ回路103は、優先度制御レジスタ104からREQ_BUF102(#0)が通知されていることにより、優先順位が最も高いREQ_BUF102(#0)から読み出されるバンク#0宛てのデータライト要求を選択する。判定回路105(#1)において、メモリ要求発行可否信号生成部106からのメモリ要求発行可否信号に基づいて、バンク#0に対するデータライト要求が発行可能であると判定され、DRAMモジュール109に上記メモリ要求が発行される。このとき優先度制御レジスタ104内の図6の構成例を有する各優先度制御レジスタ_ijに保持される値に対して論理演算を行うことにより、REQ_BUF102(#0)の優先順位を最低にする。この結果、優先順位が、REQ_BUF102(#1)>REQ_BUF102(#2)>REQ_BUF102(#3)>REQ_BUF102(#0)に更新される。
次の命令実行サイクルにて、セレクタ回路103は、優先度制御レジスタ104からREQ_BUF102(#1)が通知されていることにより、優先順位が最も高いREQ_BUF102(#1)から読み出されるバンク#1宛てのデータリード要求を選択する。この場合に通常は、DRAMモジュール109では、データライト要求の発行後にデータリード要求が発行できるまでには、数サイクル(例えば7サイクル)の時間を空けなければならないアクセス規定が規定されている。このため、直前に発行されたバンク#0宛てのデータライト要求が発行されてから例えば7サイクル間は、メモリ要求発行可否信号生成部106が出力するメモリ要求発行可否信号におけるバンク#1リード可を示す情報(図4参照)が“0”であることより、判定回路105(#3)の出力は“0”となる。一方、DRAMモジュール109では、或るバンクへのデータライト要求の発行後、他のバンクへのデータライト要求は連続して発行できることが規定されている。このため、直前に発行されたバンク#0宛てのデータライト要求が発行されてから2サイクル程度で、メモリ要求発行可否信号生成部106が出力するメモリ要求発行可否信号におけるバンク#2ライト可を示す情報(図4参照)が“1”となって、判定回路105(#4)の出力が“1”となる。この結果、優先度制御レジスタ104内の図6の構成を有する各優先度制御レジスタ_ijに保持される値に対して論理演算を行うことにより、REQ_BUF102(#2)の優先順位を最高にされる。この結果、優先順位が、REQ_BUF102(#2)>REQ_BUF102(#1)>REQ_BUF102(#3)>REQ_BUF102(#0)に更新される。
更に次の命令実行サイクルにて、セレクタ回路103は、優先度制御レジスタ104からREQ_BUF102(#2)が通知されているため、優先順位が最も高いREQ_BUF102(#2)から読み出されるバンク#2宛てのデータライト要求を選択する。そして、メモリ要求発行可否信号生成部106が出力するメモリ要求発行可否信号におけるバンク#2ライト可を示す情報(図4参照)が“1”であることより、判定回路105(#1)から出力されるメモリ要求発行可能信号は“1”となる。この結果、DRAMモジュール109にバンク#2宛てのデータライト要求が発行される。その後、優先度制御レジスタ104での優先順位は、REQ_BUF102(#1)>REQ_BUF102(#3)>REQ_BUF102(#0)>REQ_BUF102(#2)に更新される。
その後、セレクタ回路103はREQ_BUF102(#1)を選択する。そして、判定回路105(#1)は、メモリ要求発行可否信号生成部106が出力するメモリ要求発行可否信号におけるバンク#1リード可を示す情報(図4参照)が“1”となって自身が出力するメモリ要求発行可能信号が“1”となるまで待つ。メモリ要求発行可能信号が“1”となったら、判定回路105(#1)は、バンク#1宛てのデータリード要求をDRAMモジュール109に発行する。その結果、優先度制御レジスタ104での優先順位は、REQ_BUF102(#3)>REQ_BUF102(#0)>REQ_BUF102(#2)>REQ_BUF102(#1)に更新される。
以上の動作を、図7の動作タイミングチャートを用いた更に詳しく説明する。ここではデータライト要求の発行後にデータリード要求を発行可能となるまでの間隔を7サイクル、データライト要求の発行後にバンクの異なるデータライト要求を発行可能となるまでの間隔を2サイクルと仮定する。
図7(b)〜(f)中の「valid」は、”1”のとき有効なリクエストが存在し、”0”のとき有効なリクエストが存在しない又は保持されているリクエストが無効であることを示す有効信号である。図7(b)〜(f)の#1〜#5の各判定回路105の出力において、それぞれに対応するREQ_BUF102からのメモリ要求を発行可能と判定したとき“○”、発行不可能と判定したときに”דとなる。
上述した実施形態によれば、サイクル番号1の命令実行サイクルで、セレクタ回路103はREQ_BUF102(#0)を選択し、判定回路105(#1)はREQ_BUF102(#0)からのメモリ要求を発行可能と判定している(図7(b)、(c))。このため、判定回路105(#1)は、サイクル番号2、3の各命令実行サイクルで、DRAMモジュール109にバンク#0宛てのデータライト要求を発行する(図7(m))。
サイクル番号2の命令実行サイクルでは、優先制御レジスタ_01、優先制御レジスタ_02、優先制御レジスタ_03が”1”に更新され、REQ_BUF102(#0)の優先順位が一番低くなる。
サイクル番号3の命令実行サイクルでは、判定回路105(#1)発行不可(図7(b))、判定回路105(#4)が発行可能(図7(e))と判定される。このため、サイクル番号4で優先度制御レジスタ_12が”1”に更新され、REQ_BUF102(#2)の優先順位が最も高くなる。
この結果、サイクル番号4の命令実行サイクルでは、セレクタ回路103は、REQ_BUF102(#2)からのメモリ要求を選択する。このメモリ要求は、判定回路105(#1)で発行可能と判定される(図7(b))。この結果、サイクル番号5,6の命令実行サイクルで、DRAMモジュール109にバンク#2宛てのデータライト要求が発行される(図7(m))。
サイクル番号5では、優先度制御レジスタ_02、優先度制御レジスタ_12が”0”に、優先度制御レジスタ_23が”1”に更新され、REQ_BUF102(#2)の優先順位が最も低くなる。
サイクル番号5から11までの命令実行サイクルにて、セレクタ回路103は、REQ_BUF102(#1)を選択する。そして、サイクル番号11の命令実行サイクルで、判定回路105(#1)が、REQ_BUF102(#1)からのメモリ要求を発行可能と判定する。このため、サイクル番号12、13の命令実行サイクルで、バンク#1宛てのデータリード要求が発行される(図7(m))。
そして、サイクル番号12の命令実行サイクルで、優先度制御レジスタ_01が”0”、優先度制御レジスタ_12、優先度制御レジスタ_13が”1”に更新される。
上述の実施形態により、メモリ制御装置100とDRAMモジュール109、又はこれらを結ぶバスを、効率的に使用することが可能となる。
上述の実施形態により、メモリ制御装置100とDRAMモジュール109、又はこれらを結ぶバスを、効率的に使用することが可能となる。
図8は、メモリ制御装置がDRAMモジュール109のアクセス規定が考慮されない優先順位制御により制御される場合の動作を示す動作タイミングチャートである。図7で説明しように、バンク#0宛てのデータライト要求の発行後に、REQ_BUF102(#2)内に2命令実行サイクル毎に実行可能となるバンク#2宛てのデータリード要求が保持されている。しかし、図8では、バンク#2宛てのデータリード要求が実行可能となるのは、バンク#0宛てのデータライト要求の発行後7サイクル後となってしまう。これにより、本実施形態の優位性が明らかである。
図9は、図1の構成を有する実施形態を適用可能なコンピュータシステムの構成例を示す図である。図9において、CMU(CPU Memory Unit:CPUメモリユニット)と呼ばれる制御装置904内に、図1のメモリ制御装置100に対応するMAC(Memory Access Controller:メモリアクセスコントローラ)901が配置される。このMAC901が、CPU902(図1のCPU107に対応)からDIMM(Dual Inline Memory Module)903(図1のDRAMモジュール109に対応)に発行されるメモリ要求の優先順位を制御する。また、MAC901は、IO筐体907内の入出力装置(図1のIO装置108に対応)からIOU(Input Output Unit:入出力ユニット)906、及びBP(Back Plane:バックプレーン)905を介して入力する、DIMM903に対するメモリ要求の優先順位も制御する。
Claims (10)
- 演算処理装置と第1のメモリバンクに対応する第1及び第2のメモリバンクを有する記憶装置に接続されるとともに、前記演算処理装置から受信するメモリアクセス要求を前記の記憶装置に発行する記憶制御装置において、
前記第1のメモリバンクに対するメモリアクセス要求を保持する第1の要求記憶部と、
前記第2のメモリバンクに対するメモリアクセス要求を保持する第2の要求記憶部と、
前記演算処理装置から受信するメモリアクセス要求を、前記メモリアクセス要求に含まれるバンクアドレスに応じて、前記第1の要求記憶部又は前記第2の要求記憶部に振り分けるデコード部と、
前記第1の要求記憶部と前記第2の要求記憶部に接続され、前記第1の要求記憶部又は前記第2の要求記憶部に保持されるメモリアクセス要求を、選択信号に基づいて選択して出力する選択部と、
前記第1の要求記憶部に保持されるメモリアクセス要求が、前記第1のメモリバンクに既に発行したメモリアクセス要求との関係により、前記第1のメモリバンクに発行できるか否かの第1の判定結果を出力する第1の判定回路と、
前記第2の要求記憶部に保持されるメモリアクセス要求が、前記第2のメモリバンクに既に発行したメモリアクセス要求との関係により、前記第2のメモリバンクに発行できるか否かの第2の判定結果を出力する第2の判定回路と、
前記選択回路が選択したメモリアクセス要求が、前記記憶装置に既に発行したメモリアクセス要求との関係により、前記記憶装置に発行できるか否かの第3の判定結果を出力する第3の判定回路と、
前記第1の判定回路と前記第2の判定回路に接続されるとともに、前記第1乃至第3の判定結果に基づいて、前記第1の判定回路に保持されるメモリアクセス要求又は前記第2の判定回路に保持されるメモリアクセス要求を選択する前記選択信号を出力する優先順位制御回路とを含むことを特徴とする記憶制御装置。 - 前記優先順位制御回路は、
前記第1又は第2の要求記憶部のうち、最後に選択されたメモリアクセス要求に対するメモリアクセスが完了した場合には、前記最後に選択された要求記憶部に保持されるメモリアクセス要求の優先順位を下げるとともに、前記第1乃至第3の判定回路の何れかから前記第1乃至第3の判定結果が前記第1の記憶装置又は第2の記憶装置に発行できない旨の判定結果を受信した場合には、当該判定結果を出力した要求記憶部の優先順位を上げることを特徴とする請求項1記載の記憶制御装置。 - 前記記憶制御装置は更に、入出力制御装置に接続され、
前記デコード部はさらに、記演算処理装置から受信するメモリアクセス要求に加えて、前記入出力制御装置から受信するメモリアクセス要求を、前記メモリアクセス要求に含まれるバンクアドレスに応じて、前記第1の要求記憶部又は前記第2の要求記憶部に振り分けることを特徴とする請求項1又は2記載の記憶制御装置。 - 前記第1及び第2の要求記憶部は、
先入れ先出しバッファであることを特徴とする請求項1〜3の何れか1項に記載の記憶制御装置。 - 演算処理装置と、第1のメモリバンクに対応する第1及び第2のメモリバンクを有する記憶装置と、前記記憶装置に接続される記憶制御装置を有する情報処理装置において、
前記制御装置は、
前記第1のメモリバンクに対するメモリアクセス要求を保持する第1の要求記憶部と、
前記第2のメモリバンクに対するメモリアクセス要求を保持する第2の要求記憶部と、
前記演算処理装置から受信するメモリアクセス要求を、前記メモリアクセス要求に含まれるバンクアドレスに応じて、前記第1の要求記憶部又は前記第2の要求記憶部に振り分けるデコード部と、
前記第1の要求記憶部と前記第2の要求記憶部に接続され、前記第1の要求記憶部又は前記第2の要求記憶部に保持されるメモリアクセス要求を、選択信号に基づいて選択して
出力する選択部と、
前記第1の要求記憶部に保持されるメモリアクセス要求が、前記第1のメモリバンクに既に発行したメモリアクセス要求との関係により、前記第1のメモリバンクに発行できるか否かの第1の判定結果を出力する第1の判定回路と、
前記第2の要求記憶部に保持されるメモリアクセス要求が、前記第2のメモリバンクに既に発行したメモリアクセス要求との関係により、前記第2のメモリバンクに発行できるか否かの第2の判定結果を出力する第2の判定回路と、
前記選択回路が選択したメモリアクセス要求が、前記記憶装置に既に発行したメモリアクセス要求との関係により、前記記憶装置に発行できるか否かの第3の判定結果を出力する第3の判定回路と、
前記第1の判定回路と前記第2の判定回路に接続されるとともに、前記第1乃至第3の判定結果に基づいて、前記第1の判定回路に保持されるメモリアクセス要求又は前記第2の判定回路に保持されるメモリアクセス要求を選択する前記選択信号を出力する優先順位制御回路を含むことを特徴とする情報処理装置。 - 前記優先順位制御回路は、
前記第1又は第2の要求記憶部のうち、最後に選択されたメモリアクセス要求に対するメモリアクセスが完了した場合には、前記最後に選択された要求記憶部に保持されるメモリアクセス要求の優先順位を下げるとともに、前記第1乃至第3の判定回路の何れかから前記第1乃至第3の判定結果が前記第1の記憶装置又は第2の記憶装置に発行できない旨の判定結果を受信した場合には、当該判定結果を出力した要求記憶部の優先順位を上げることを特徴とする請求項5記載の情報処理装置。 - 前記記憶制御装置はさらに、入出力制御装置に接続され、
前記デコード部はさらに、記演算処理装置から受信するメモリアクセス要求に加えて、前記入出力制御装置から受信するメモリアクセス要求を、前記メモリアクセス要求に含まれるバンクアドレスに応じて、前記第1の要求記憶部又は前記第2の要求記憶部に振り分けることを特徴とする請求項5又は6記載の情報処理装置。 - 前記第1及び第2の要求記憶部は、
先入れ先出しバッファであることを特徴とする請求項4〜7の何れか1項に記載の情報処理装置。 - 演算処理装置と第1のメモリバンクに対応する第1及び第2のメモリバンクを有する記憶装置に接続されるとともに、前記演算処理装置から受信するメモリアクセス要求を前記の記憶装置に発行する記憶制御装置の制御方法において、
前記記憶制御装置が有する第1の要求記憶部が、前記第1のメモリバンクに対するメモリアクセス要求を保持するステップと、
前記記憶制御装置が有する第2の要求記憶部が、前記第2のメモリバンクに対するメモリアクセス要求を保持するステップと、
前記記憶制御装置が有するデコード部が、前記演算処理装置から受信するメモリアクセス要求を、前記メモリアクセス要求に含まれるバンクアドレスに応じて、前記第1の要求記憶部又は前記第2の要求記憶部に振り分けるステップと、
前記記憶制御装置が有する選択部が、前記第1の要求記憶部と前記第2の要求記憶部に接続され、前記第1の要求記憶部又は前記第2の要求記憶部に保持されるメモリアクセス要求を、選択信号に基づいて選択して出力するステップと、
前記記憶制御装置が有する第1の判定回路が、前記第1の要求記憶部に保持されるメモリアクセス要求が、前記第1のメモリバンクに既に発行したメモリアクセス要求との関係により、前記第1のメモリバンクに発行できるか否かの第1の判定結果を出力するステップと、
前記記憶制御装置が有する第2の判定回路が、前記第2の要求記憶部に保持されるメモリアクセス要求が、前記第2のメモリバンクに既に発行したメモリアクセス要求との関係により、前記第2のメモリバンクに発行できるか否かの第2の判定結果を出力するステップと、
前記記憶制御装置が有する第3の判定回路が、前記選択回路が選択したメモリアクセス要求が、前記記憶装置に既に発行したメモリアクセス要求との関係により、前記記憶装置に発行できるか否かの第3の判定結果を出力するステップと、
前記記憶制御装置が有する優先順位制御回路が、前記第1の判定回路と前記第2の判定回路に接続されるとともに、前記第1乃至第3の判定結果に基づいて、前記第1の判定回路に保持されるメモリアクセス要求又は前記第2の判定回路に保持されるメモリアクセス要求を選択する前記選択信号を出力するステップを含むことを特徴とする記憶制御装置の制御方法。 - 前記優先順位制御回路は、
前記第1又は第2の要求記憶部のうち、最後に選択されたメモリアクセス要求に対するメモリアクセスが完了した場合には、前記最後に選択された要求記憶部に保持されるメモリアクセス要求の優先順位を下げるとともに、前記第1乃至第3の判定回路のいずれかから前記第1乃至第3の判定結果が前記第1の記憶装置又は第2の記憶装置に発行できない旨の判定結果を受信した場合には、当該判定結果を出力した要求記憶部の優先順位を上げることを特徴とする請求項9記載の記憶制御装置の制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/001885 WO2010122607A1 (ja) | 2009-04-24 | 2009-04-24 | 記憶制御装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010122607A1 true JPWO2010122607A1 (ja) | 2012-10-22 |
JP5382113B2 JP5382113B2 (ja) | 2014-01-08 |
Family
ID=43010745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011510094A Expired - Fee Related JP5382113B2 (ja) | 2009-04-24 | 2009-04-24 | 記憶制御装置及びその制御方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8560784B2 (ja) |
EP (1) | EP2423820A4 (ja) |
JP (1) | JP5382113B2 (ja) |
KR (1) | KR101306670B1 (ja) |
CN (1) | CN102405466B (ja) |
WO (1) | WO2010122607A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5259755B2 (ja) * | 2011-02-25 | 2013-08-07 | 株式会社東芝 | マルチチャネルを有するメモリ装置及び同装置におけるメモリアクセス方法 |
JP6146128B2 (ja) * | 2013-05-20 | 2017-06-14 | ヤマハ株式会社 | データ処理装置 |
CN104866238B (zh) * | 2015-05-25 | 2018-12-14 | 华为技术有限公司 | 访问请求调度方法及装置 |
CN112231254B (zh) * | 2020-09-22 | 2022-04-26 | 深圳云天励飞技术股份有限公司 | 存储器仲裁方法及存储器控制器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04237347A (ja) * | 1991-01-22 | 1992-08-25 | Nec Eng Ltd | メモリ制御装置 |
JP3068718B2 (ja) | 1992-11-19 | 2000-07-24 | 株式会社日立製作所 | 記憶制御装置およびそのアクセス要求優先順位決定方法 |
JP4081843B2 (ja) | 1998-03-25 | 2008-04-30 | 松下電器産業株式会社 | メモリ制御装置 |
JP4237347B2 (ja) | 1999-09-21 | 2009-03-11 | 日本テキサス・インスツルメンツ株式会社 | D/a変換方法及びd/aコンバータ |
US7194561B2 (en) * | 2001-10-12 | 2007-03-20 | Sonics, Inc. | Method and apparatus for scheduling requests to a resource using a configurable threshold |
JP2004310394A (ja) * | 2003-04-07 | 2004-11-04 | Sharp Corp | Sdramアクセス制御装置 |
JP2005173859A (ja) | 2003-12-10 | 2005-06-30 | Matsushita Electric Ind Co Ltd | メモリアクセス制御回路 |
US20050289306A1 (en) | 2004-06-28 | 2005-12-29 | Sridhar Muthrasanallur | Memory read requests passing memory writes |
US7277982B2 (en) | 2004-07-27 | 2007-10-02 | International Business Machines Corporation | DRAM access command queuing structure |
US7698498B2 (en) * | 2005-12-29 | 2010-04-13 | Intel Corporation | Memory controller with bank sorting and scheduling |
JP5034551B2 (ja) * | 2007-02-26 | 2012-09-26 | 富士通セミコンダクター株式会社 | メモリコントローラ、半導体メモリのアクセス制御方法およびシステム |
US8327057B1 (en) * | 2007-04-16 | 2012-12-04 | Juniper Networks, Inc. | Ordering write bursts to memory |
-
2009
- 2009-04-24 KR KR1020117021771A patent/KR101306670B1/ko not_active IP Right Cessation
- 2009-04-24 JP JP2011510094A patent/JP5382113B2/ja not_active Expired - Fee Related
- 2009-04-24 EP EP09843607A patent/EP2423820A4/en not_active Withdrawn
- 2009-04-24 WO PCT/JP2009/001885 patent/WO2010122607A1/ja active Application Filing
- 2009-04-24 CN CN200980158610.1A patent/CN102405466B/zh not_active Expired - Fee Related
-
2011
- 2011-09-21 US US13/238,190 patent/US8560784B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102405466B (zh) | 2014-09-03 |
US20120079216A1 (en) | 2012-03-29 |
EP2423820A4 (en) | 2012-10-17 |
WO2010122607A1 (ja) | 2010-10-28 |
JP5382113B2 (ja) | 2014-01-08 |
US8560784B2 (en) | 2013-10-15 |
KR101306670B1 (ko) | 2013-09-10 |
CN102405466A (zh) | 2012-04-04 |
EP2423820A1 (en) | 2012-02-29 |
KR20110127707A (ko) | 2011-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8095744B2 (en) | Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages | |
JP6146128B2 (ja) | データ処理装置 | |
US20120311266A1 (en) | Multiprocessor and image processing system using the same | |
JP5360061B2 (ja) | マルチプロセッサシステム及びその制御方法 | |
JP4007483B2 (ja) | 高位合成装置および高位合成方法 | |
JP2009015832A (ja) | アクセス間調停回路、半導体装置およびアクセス間調停方法 | |
JP5382113B2 (ja) | 記憶制御装置及びその制御方法 | |
JPH06266615A (ja) | 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム | |
JP4985452B2 (ja) | ベクトル処理装置 | |
JP4789269B2 (ja) | ベクトル処理装置及びベクトル処理方法 | |
JP2006268753A (ja) | Dma回路及びコンピュータシステム | |
JPWO2007110906A1 (ja) | データ処理装置 | |
US9262348B2 (en) | Memory bandwidth reallocation for isochronous traffic | |
JP2011028343A (ja) | 演算処理装置、およびデータ転送方法 | |
JP5058116B2 (ja) | ストリーミングidメソッドによるdmac発行メカニズム | |
US20140013148A1 (en) | Barrier synchronization method, barrier synchronization apparatus and arithmetic processing unit | |
CN110647357B (zh) | 同步多线程处理器 | |
EP2189909B1 (en) | Information processing unit and method for controlling the same | |
JP5393289B2 (ja) | メモリ制御回路、メモリシステム及び制御方法 | |
JP2004326633A (ja) | 階層型メモリシステム | |
CN118427119A (zh) | 缓存资源的分配方法、装置和电子设备 | |
JP4593220B2 (ja) | メモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法 | |
JP2013073297A (ja) | 時分割方式による割り込み制御回路および割り込み制御方法 | |
JP2000259497A (ja) | メモリコントローラ | |
JP2000066946A (ja) | メモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130330 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130916 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |