JP2010079536A - Memory access control circuit and memory access control method - Google Patents
Memory access control circuit and memory access control method Download PDFInfo
- Publication number
- JP2010079536A JP2010079536A JP2008246163A JP2008246163A JP2010079536A JP 2010079536 A JP2010079536 A JP 2010079536A JP 2008246163 A JP2008246163 A JP 2008246163A JP 2008246163 A JP2008246163 A JP 2008246163A JP 2010079536 A JP2010079536 A JP 2010079536A
- Authority
- JP
- Japan
- Prior art keywords
- write
- request information
- read
- request
- 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
Abstract
Description
画像処理等を行うブロックのメモリアクセス制御技術に関する。 The present invention relates to a memory access control technique for a block that performs image processing and the like.
画像処理等を行う機能ブロック(画像処理マクロ)を搭載したシステムでは、複数の画像処理マクロが、SDRAMコントローラ1105を介して1つのSDRAM(Synchronous Dynamic Random Access Memory)1104を共有する構成が、よく採用される。
In a system equipped with a functional block (image processing macro) for performing image processing or the like, a configuration in which a plurality of image processing macros share one SDRAM (Synchronous Dynamic Random Access Memory) 1104 via the
図11は、画像処理マクロを搭載したシステムの構成例を示した図である。
画像処理マクロ1101は、画像処理を実行するコア部分である画像処理部1102と、SDRAM1104上に記憶された画像データへのメモリアクセスを制御するメモリアクセス制御部1103を含み、同時の#A,#B,・・・,#Xというように、複数の画像処理マクロ1101が搭載され得る。
FIG. 11 is a diagram illustrating a configuration example of a system including an image processing macro.
The image processing macro 1101 includes an
各画像処理マクロ1101のメモリアクセス制御部1103が接続される画像バス1109には、SDRAMコントローラ1105を介してSDRAM1104が接続される。
SDRAMコントローラ1105は、複数の画像処理マクロ1101からのリクエストに対して、該当する画像処理マクロ1101とハンドシェイク制御を実行し、各リクエストを調停しながら、SDRAM1104に対して各リクエストに基づくメモリアクセスを実行する。
The SDRAM 1104 is connected via the
The
SDRAMコントローラ1105はまた、CPUマクロ1106、カードインタフェースマクロ1107、周辺マクロ1108等の各機能部が接続されるシステムバス710にも接続され、これらの部分とSDRAM1104との間で通信される制御プログラムや制御データに対する調停も行う。
The
ここで、画像処理マクロ1101において、複数の画素データに対する並列処理等を実現するために、画像処理部1102からSDRAM1104に対して複数のライトリクエスト又はリードリクエストが同様のタイミングで発行される場合が多い。
Here, in the image processing macro 1101, a plurality of write requests or read requests are often issued from the
この場合、SDRAM1104上の同一のアドレスに対する複数のリクエストは、データの整合性を保つためにリクエスト順序を変えることができない。このため、リクエストは、それに先行するリクエストのRAMアクセスの完了を待たないといけない。
In this case, a plurality of requests for the same address on the
一方、先行リクエストと異なるアドレスにアクセスするリクエストは、データの整合性を崩すことはないため、当該リクエストは、それに先行するリクエストのRAMアクセスの完了を待つ必要がない。 On the other hand, a request that accesses an address different from the preceding request does not destroy the data consistency, and therefore the request does not need to wait for the RAM access of the preceding request to be completed.
従来、例えば下記特許文献1に示されるように、上述の特性を利用したリクエストの追越し制御を行う技術が知られており、この従来技術によりRAMアクセスのレイテンシ(リクエストの発行から応答までの処理遅延)を改善できる。
図11に示されるような画像処理マクロ1101を搭載したシステムにおける従来のメ
モリアクセス制御方式では、画像処理マクロ1101内のメモリアクセス制御部1103が、画像処理部1102にて発行されるライトリクエストとリードリクエストのアクセス先アドレスを比較し、一致ならば当該リードリクエストを待たせ、不一致ならば先行して実行中のライトリクエストを追い越して当該リードリクエストをSDRAM1104に対して発行している。
In a conventional memory access control method in a system equipped with an image processing macro 1101 as shown in FIG. 11, the memory access control unit 1103 in the image processing macro 1101 performs a write request and a read issued by the
今、一例として、図12に示されるように、画像処理部1102からSDRAM1104上のA〜Dで示される各宛先RAM領域に対して、複数のリクエストが下記の順序で発行された場合を考える。
1)A領域にライトリクエストが発行される。
2)A領域にリードリクエストが発行される。
3)D領域にリードリクエストが発行される。
4)B領域にライトリクエストが発行される。
5)B領域にリードリクエストが発行される。
As an example, as shown in FIG. 12, consider a case where a plurality of requests are issued in the following order from the
1) A write request is issued to area A.
2) A read request is issued to area A.
3) A read request is issued to the D area.
4) A write request is issued to area B.
5) A read request is issued to area B.
メモリアクセス制御部1103は、上記1)で示されるA領域へのライトリクエストが未完了である情報を保持していることにより、上記2)で示される同一アクセス先であるA領域へのリードリクエストを受け付けない。 The memory access control unit 1103 holds information indicating that the write request to the A area indicated in 1) above is incomplete, so that a read request to the A area that is the same access destination indicated in 2) above is stored. Will not accept.
その結果、後続の異なるアクセス先であるB領域やD領域への待つ必要のないリードリクエスト等も、SDRAM1104に発行できなくなる。
このように従来技術では、メモリアクセス制御部1103は、画像処理部1102にて発行されたライトリクエストとリードリクエストのアドレスの比較結果が一致を示した場合、現リードリクエストは、先行ライトリクエストによるSDRAM1104に対するライト動作が終了するまで待つ必要があり、更に画像処理部1102から発行される後続のリクエストは、上記一致アドレスと同一アドレスへのアクセスでなくても先行リクエストの処理完了を待たなければならず、RAMアクセスのレイテンシの改善に限界があるという問題点を有していた。
As a result, a read request or the like that does not need to wait for the B area and D area, which are different access destinations, cannot be issued to the
As described above, in the prior art, when the comparison result between the address of the write request issued by the
また、従来、たとえリクエストの順序の入替えができた場合であっても、リクエストの発行の都度メモリアクセス制御部1103とSDRAMコントローラ1105との間でハンドシェイク制御が発生するため、RAMアクセス時のオーバーヘッドを軽減することが難しいという問題点を有していた。
Conventionally, even if the order of requests can be changed, handshake control is generated between the memory access control unit 1103 and the
第1の課題は、複数リクエストの同時発行時におけるレイテンシを改善することにある。また、第2の課題は、メモリアクセス時のハンドシェイクによるオーバーヘッドを軽減することにある。 The first problem is to improve the latency when multiple requests are issued simultaneously. A second problem is to reduce overhead due to handshaking during memory access.
以下の態様は、例えば画像処理を行うデータ処理部(画像処理部1102)とメモリアクセス制御部(101)とを含む少なくとも1つのデータ処理装置(画像処理マクロ1101)と、メモリ素子(SDRAM1104)とメモリアクセス制御部から発行されるリードリクエスト情報(110)又はライトリクエスト情報(109)を調停してそのメモリ素子へのアクセスを制御するメモリコントローラ(SDRAMコントローラ1105)とを含むメモリ装置とを含むデータ処理システムを前提とする。 In the following aspect, for example, at least one data processing device (image processing macro 1101) including a data processing unit (image processing unit 1102) that performs image processing and a memory access control unit (101), a memory element (SDRAM 1104), Data including a memory device including a memory controller (SDRAM controller 1105) that arbitrates read request information (110) or write request information (109) issued from the memory access control unit and controls access to the memory element A processing system is assumed.
そして、メモリアクセス制御部内に、以下に示されるリクエスト管理テーブル部(103)、リードリクエスト出力判定&ラッチ部(202)、ライトリクエスト受付判定&ラッチ部(201)、及びテーブルエントリ無効化部(204)を含む。 In the memory access control unit, a request management table unit (103), a read request output determination & latch unit (202), a write request reception determination & latch unit (201), and a table entry invalidation unit (204) are shown below. )including.
リクエスト管理テーブル部は、データ処理部から要求されたリードリクエスト情報又はライトリクエスト情報を格納する。
リードリクエスト出力判定&ラッチ部は、データ処理部からリードリクエスト情報を要求されたときに、そのリードリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なライトリクエスト情報がリクエスト管理テーブル部に登録されている場合に、そのリードリクエスト情報を受け付けて未発行状態でリクエスト管理テーブル部に登録し、そのリードリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なライトリクエスト情報がリクエスト管理テーブル部に登録されていない場合に、そのリードリクエスト情報をメモリ装置内のメモリコントローラに対して発行すると共に、そのリードリクエスト情報をリクエスト管理テーブル部に登録する。
The request management table unit stores read request information or write request information requested from the data processing unit.
When the read request output determination & latch unit requests read request information from the data processing unit, it requests valid write request information indicating the same destination memory area as the destination memory area indicated by the read request information. When registered in the management table part, the read request information is accepted and registered in the request management table part in an unissued state, and the same destination memory area as the destination memory area indicated by the read request information is indicated When valid write request information is not registered in the request management table section, the read request information is issued to the memory controller in the memory device, and the read request information is registered in the request management table section.
ライトリクエスト受付判定&ラッチ部は、データ処理部からライトリクエスト情報を要求されたときに、そのライトリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なリードリクエスト情報がリクエスト管理テーブル部に登録されていない場合に、そのライトリクエスト情報をリクエスト管理テーブル部に登録する。 When the write request acceptance determination & latch unit requests write request information from the data processing unit, it requests valid read request information indicating the same destination memory area as the destination memory area indicated by the write request information. If it is not registered in the management table part, the write request information is registered in the request management table part.
テーブルエントリ無効化部は、メモリ装置内のメモリコントローラからライトリクエスト情報によるメモリ装置へのライトアクセスの完了を示すメモリライト完了信号(RAMライト完了信号111)又はリードリクエスト情報によるメモリ装置へのリードアクセスの完了を示すリードデータ受信信号(112)を受信し、そのリードデータ受信信号に対応するリクエスト管理テーブル部に登録されているリードリクエスト情報又はライトリクエスト情報を無効化又は削除し、その無効化又は削除されたテーブルエントリがライトリクエスト情報である場合に、そのライトリクエスト情報と同じ宛先メモリ領域を有する未発行のリードリクエスト情報のテーブルエントリをリクエスト管理テーブル部から検索し、検索されたテーブルエントリに対応するリードリクエスト情報の発行指示をリードリクエスト出力判定&ラッチ部に対して行う。 The table entry invalidation unit reads a memory write completion signal (RAM write completion signal 111) indicating the completion of a write access from the memory controller in the memory device to the memory device based on the write request information or a read access to the memory device based on the read request information. The read data reception signal (112) indicating completion of the read data is received, the read request information or the write request information registered in the request management table corresponding to the read data reception signal is invalidated or deleted, and the invalidation or When the deleted table entry is write request information, the table entry of the unissued read request information having the same destination memory area as the write request information is searched from the request management table section, and the searched table entry Issuing an instruction of the corresponding read request information to the read request output determination and latch unit.
上述の態様の構成において、ライトリクエスト情報に対応するライトデータをバッファリングするライトデータバッファ(104)と、ライトリクエスト受付判定&ラッチ部から引き渡されるライトリクエスト情報を保持し、ライトデータバッファに保持されたライトデータが所定量以上になったときに、保持していた1つ以上のライトリクエスト情報を取りまとめて1つのライトリクエスト情報としてメモリ装置内のメモリコントローラに対して発行すると共に、ライトデータバッファに保持されていたライトデータをメモリコントローラに対して出力するライトリクエスト出力判定部とを更に含み、ライトリクエスト受付判定&ラッチ部は、データ処理部からライトリクエスト情報を要求されたときに、そのライトリクエスト情報をライトリクエスト出力判定部に保持させ、ライトリクエスト情報に対応してデータ処理部から出力されるライトデータをライトデータバッファに保持させるように構成することができる。 In the configuration of the above-described aspect, the write data buffer (104) for buffering the write data corresponding to the write request information and the write request information delivered from the write request acceptance determination & latch unit are held and held in the write data buffer. When the write data exceeds a predetermined amount, the held one or more pieces of write request information are collected and issued as one piece of write request information to the memory controller in the memory device, and in the write data buffer. A write request output determination unit that outputs the held write data to the memory controller, and the write request reception determination & latch unit receives the write request information when requested by the data processing unit. Information Is held in the request output determination unit may be configured so as to hold the write data corresponding to the write request information output from the data processing unit to the write data buffer.
このとき、ライトリクエスト出力判定部は更に、リクエスト管理テーブルに登録されている有効なテーブルエントリが所定量以上になったときに、保持していた1つ以上のライトリクエスト情報を取りまとめて1つのライトリクエスト情報としてメモリ装置内のメモリコントローラに対して発行すると共に、ライトデータバッファに保持されていたライトデータをメモリコントローラに対して出力するように構成することができる。 At this time, the write request output determination unit further collects one or more pieces of write request information held when the number of valid table entries registered in the request management table exceeds a predetermined amount. It can be configured to issue the request information to the memory controller in the memory device and to output the write data held in the write data buffer to the memory controller.
リクエスト順序の入れ替え制御によりリクエストのメモリへのアクセス待ち時間を低減させ、メモリアクセスの効率を向上させることができる。
また、ライトリクエストのメモリへの実行数を減らすことで、メモリハンドシェイクによるバス占有率を低減させることができる。よってメモリアクセス時の性能向上に寄与するところが大きい。
By changing the order of requests, it is possible to reduce the waiting time for accessing the memory of requests and improve the efficiency of memory access.
Also, by reducing the number of write requests executed to the memory, the bus occupancy rate due to memory handshake can be reduced. Therefore, it greatly contributes to the performance improvement during memory access.
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
図1及び図2は、本実施形態のシステム構成図である。このシステムは、前述した図11のシステム構成を前提としている。図1において、図11の場合と同じ番号が付された部分は、図11の場合と同じ動作を実現する。なお、図1において、図11に示される画像バス1109は省略されている。図1に示されるメモリアクセス制御部101は、図11に示されるメモリアクセス制御部1103に対応している。
Hereinafter, the best embodiment will be described in detail with reference to the drawings.
1 and 2 are system configuration diagrams of the present embodiment. This system is based on the system configuration shown in FIG. In FIG. 1, the same reference numerals as those in FIG. 11 realize the same operation as in FIG. In FIG. 1, the
図1において、メモリアクセス制御部1103は、画像処理部1102からのリクエストを処理するリクエスト制御部102、待合せを必要とするリクエストを管理するリクエスト管理テーブル103、ライトデータ107を保持するライトデータバッファ104を有する。
In FIG. 1, a memory access control unit 1103 includes a
図2は、図1の更に詳細な構成図である。図2のリクエスト制御部102は、画像処理部1102からのライトリクエスト109を受け付けるか否かの判定を行ってラッチするライトリクエスト受付判定&ラッチ部201と、画像処理部1102からのライトリクエスト109を受け付けるか否かの判定を行ってラッチするリードリクエスト出力判定&ラッチ部202と、画像処理部1102からのライトリクエスト109を取りまとめてSDRAM1104(実際にはSDRAMコントローラ1105)に対して発行する判断処理を行うライトリクエスト出力判定部203と、SDRAMコントローラ1105からRAMライト完了信号111又はリードデータ受信信号112を受信してリクエスト管理テーブル103内の対応するテーブルエントリを無効化するテーブルエントリ無効化部204とを有する。
FIG. 2 is a more detailed configuration diagram of FIG. The
図3は、従来技術の問題点の説明における図12の場合のケースと同じケースにおける本実施形態の動作概要を示す図である。即ち、画像処理部1102からSDRAM1104上のA〜Dで示される各宛先RAM領域に対して、複数のリクエストが下記の順序で発行された場合を考える。
1)A領域にライトリクエストが発行される。
2)A領域にリードリクエストが発行される。
3)D領域にリードリクエストが発行される。
4)B領域にライトリクエストが発行される。
5)B領域にリードリクエストが発行される。
FIG. 3 is a diagram showing an outline of the operation of this embodiment in the same case as the case of FIG. 12 in the description of the problems of the prior art. That is, consider a case where a plurality of requests are issued in the following order from the
1) A write request is issued to area A.
2) A read request is issued to area A.
3) A read request is issued to the D area.
4) A write request is issued to area B.
5) A read request is issued to area B.
本実施形態では、SDRAM1104に対して、上記1)で示されるA領域へのライトリクエスト109が発行されているときに、まず、そのアクセス状態がリクエスト管理テーブル103に保持される。そして、同じA領域に対して上記2)で示されるリードリクエスト110が発行された場合に、リクエスト制御部102内のリードリクエスト出力判定&ラッチ部202が、そのリードリクエスト110を画像処理部1102から一旦受け付けた後、リクエスト管理テーブル103にライトリクエスト109のA領域へのアクセス情報が保持されていることを検出することにより、上記2)で示されるリードリクエスト110をリクエスト管理テーブル103に登録して未発行状態で待合せをさせる。そして、リードリクエスト出力判定&ラッチ部202やライトリクエスト受付判定&ラッチ部201が、画像処理部1102からの後続する異なる宛先RAM領域DやBに対する上記3)〜5)で示されるリードリクエスト110又はライトリクエスト109等を受け付けて、上記2)で示されるリードリクエスト110を追い越して、SDRAM1104に対して発行する。
In the present embodiment, when a write request 109 to the A area indicated by 1) above is issued to the
このようにして、本実施形態では、メモリアクセス制御部101が、画像処理部1102からのリードリクエスト110を全て受け付けた上で必要に応じて待合せを行わせることにより、待合せを行うべきリードリクエスト110に続いて画像処理部1102から発行を要求される他の宛先RAM領域宛のリードリクエスト110については、それを受け付けた上で追越し発行がなされるため、それらの後続リードリクエスト110がメモリアクセス制御部101にて受付けを拒否されて画像処理部1102内に滞留してしまうことを防ぐことが可能となる。そして、先行ライトリクエスト109と同じ宛先RAM領域宛の後続リードリクエスト110については、データの整合性を保つためにリクエストの順序通りにSDRAM1104に発行する制御を行うことができる。
In this way, in this embodiment, the memory
図4は、上述の動作を実現するためのリクエスト管理テーブル103のデータ構成例を示す図である。
バリッドフィールド401には、それが含まれるテーブルエントリの管理データが有効であるか否かを判別する値が登録される。
FIG. 4 is a diagram illustrating a data configuration example of the request management table 103 for realizing the above-described operation.
In the
通し番号フィールド402には、それが含まれるテーブルエントリに対応するリクエストの発行順序を示す通し番号が登録される。
宛先RAM領域フィールド403には、それが含まれるテーブルエントリに対応するリクエストのSDRAM1104上でのアクセスバンクを示すバンクアドレス情報が登録される。
In the
In the destination
リード/ライト区別フィールド404には、それが含まれるテーブルエントリに対応するリクエストが、リードリクエスト110であるかライトリクエスト109であるかの区別を示す値が登録される。
In the read / write
リクエスト管理テーブル103には、上述の構成を有するテーブルエントリを複数エントリ分登録することができる。
上記データ構成例を有するリクエスト管理テーブル103を使った、本実施形態の詳細な動作について、以下に順次説明する。
A plurality of table entries having the above-described configuration can be registered in the request management table 103.
Detailed operations of the present embodiment using the request management table 103 having the above data configuration example will be sequentially described below.
まず、図5は、図2のリードリクエスト出力判定&ラッチ部202が実行する制御を動作を示す動作フローチャートである。
まず、画像処理部1102からリードリクエスト110が受信されたか否かが判定され待機される(ステップS501の繰返し処理)。
First, FIG. 5 is an operation flowchart showing an operation of the control executed by the read request output determination &
First, it is determined whether or not the read
ここで、リードリクエスト110が受信されると、ステップS501の判定がYESとなって次に、受信されたリードリクエスト110に対応するリードリクエストアドレス106と、リクエスト管理テーブル103をアクセスして得られる各バンクのRAMライト完了信号待ちリクエスト有無信号205とに基づいて、宛先RAM領域フィールド403の内容が受信されたリードリクエスト110がアクセスするバンクアドレスと同じでバリッドフィールド401の値が1(=有効)でリード/ライト区別フィールド404の値がライトを示しているテーブルエントリがリクエスト管理テーブル103に登録されているか否か、即ち、未完了でRAMライト完了信号111を待っている同じバンクアドレス宛のライトリクエスト109が登録されているか否かが判定される(ステップS502)。
Here, when the read
未完了で同じバンクアドレス宛のライトリクエスト109が登録されていない(ステップS502の判定がNOである)場合には、受信されたリードリクエスト110がSDRAM1104に対して発行される(ステップS503)。
If the write request 109 addressed to the same bank address has not been registered (NO in step S502), the received
そして、発行されたリードリクエスト110が、リクエスト管理テーブル103の空きエントリ又はバリッドフィールド401の値が0(=無効)であるエントリに登録される。この場合、バリッドフィールド401には値1が、通し番号には最新を示すテーブル内の最大値が、宛先RAM領域フィールド403にはリードリクエストアドレス106が示すバンクアドレスが、リード/ライト区別フィールド404にはリードを示す値が、それぞれ登録される(以上、ステップS504)。
The issued read
未完了で同じバンクアドレス宛のライトリクエスト109が登録されている(ステップS502の判定がNOである)場合には、リードリクエスト出力判定&ラッチ部202にて、受信されたリードリクエスト110がひとまず受け付けられ、未発行状態として保持される(ステップS505)。
If the write request 109 that has not been completed and is addressed to the same bank address is registered (NO in step S502), the read request output determination &
そして、受け付けられたリードリクエスト110が、リクエスト管理テーブル103の空きエントリ又はバリッドフィールド401の値が0(=無効)であるエントリに登録される。この場合、バリッドフィールド401には値1が、通し番号には最新を示すテーブル内の最大値が、宛先RAM領域フィールド403にはリードリクエストアドレス106が示すバンクアドレスが、リード/ライト区別フィールド404にはリードを示す値が、それぞれ登録される(以上、ステップS506)。
Then, the accepted read
上記ステップS504又はS506の処理の後は、他のリードリクエスト110の受信待ちの状態に戻る(ステップS504又はS506→ステップS501)。
次に、図6は、図2のライトリクエスト受付判定&ラッチ部201が実行する制御を動作を示す動作フローチャートである。
After the process of step S504 or S506, the process returns to a state of waiting for reception of another read request 110 (step S504 or S506 → step S501).
Next, FIG. 6 is an operation flowchart showing the control executed by the write request acceptance determination &
まず、画像処理部1102からライトリクエスト109が受信されたか否かが判定され待機される(ステップS601の繰返し処理)。
ここで、ライトリクエスト109が受信されると、ステップS601判定がYESとなって次に、受信されたライトリクエスト109に対応するライトリクエストアドレス105と、リクエスト管理テーブル103をアクセスして得られる各バンクのリードデータ受信待ちリクエスト有無信号204とに基づいて、宛先RAM領域フィールド403の内容が受信されたライトリクエスト109がアクセスするバンクアドレスと同じでバリッドフィールド401の値が1(=有効)でリード/ライト区別フィールド404の値がリードを示しているテーブルエントリがリクエスト管理テーブル103に登録されているか否か、即ち、未完了でリードデータ受信信号112を待っている同じバンクアドレス宛のリードリクエスト110が登録されているか否かが判定される(ステップS602)。
First, it is determined whether or not the write request 109 has been received from the
Here, when the write request 109 is received, the determination in step S601 becomes YES, and then each bank obtained by accessing the write request address 105 corresponding to the received write request 109 and the request management table 103 is obtained. Based on the read data reception wait request presence / absence signal 204, the contents of the destination
未完了で同じバンクアドレス宛のリードリクエスト110が登録されていない(ステップS602の判定がNOである)場合には、受信されたライトリクエスト109がライトリクエスト出力判定部203にひとまず保存される(ステップS603)。
If the
同時に、受信されたライトリクエスト109と共に受信されるライトデータ107がラバにバッファリングされる(ステップS604)。
そして、受信されたライトリクエスト109が、リクエスト管理テーブル103の空きエントリ又はバリッドフィールド401の値が0(=無効)であるエントリに登録される。この場合、バリッドフィールド401には値1が、通し番号には最新を示すテーブル内の最大値が、宛先RAM領域フィールド403にはライトリクエストアドレス105が示すバンクアドレスが、リード/ライト区別フィールド404にはライトを示す値が、それぞれ登録される(以上、ステップS605)。
At the same time, the write data 107 received together with the received write request 109 is buffered in a rubber (step S604).
The received write request 109 is registered in an empty entry in the request management table 103 or an entry in which the value of the
未完了で同じバンクアドレス宛のリードリクエスト110が登録されている(ステップS602の判定がNOである)場合には、ライトリクエスト受付判定&ラッチ部201は、画像処理部1102に対して、受信したライトリクエスト109を待たせる(ステップS606)。
If the
上記ステップS605又はS606の処理の後は、他のライトリクエスト109の受信待ちの状態に戻る(ステップS605又はS606→ステップS601)。
続いて、図7は、メモリアクセス制御部101内のテーブルエントリ無効化部204が、SDRAMコントローラ1105(図1参照)から、SDRAM1104に対して発行されたライトリクエスト109に対応するライトアクセス動作の完了を示すRAMライト完了信号111、又はSDRAM1104に対して発行されたリードリクエスト110に対応に対応するリードアクセス動作の完了を示すリードデータ受信信号112を受信した場合の制御動作を示す動作フローチャートである。
After the process of step S605 or S606, the process returns to the state of waiting for reception of another write request 109 (step S605 or S606 → step S601).
7 shows that the table entry invalidation unit 204 in the memory
まず、RAMライト完了信号111が受信されたか否かが判定される(ステップS701)。RAMライト完了信号111が受信されておらずステップS701の判定がNOならば、次に、リードデータ受信信号112が受信されたか否かが判定される(ステップS702)。リードデータ受信信号112が受信されておらずステップS702の判定もNOならば、再びステップS701の処理に戻る。 First, it is determined whether or not the RAM write completion signal 111 has been received (step S701). If the RAM write completion signal 111 has not been received and the determination in step S701 is NO, it is next determined whether or not the read data reception signal 112 has been received (step S702). If the read data reception signal 112 is not received and the determination in step S702 is NO, the process returns to step S701 again.
上記受信待機状態において、RAMライト完了信号111が受信されステップS701の判定がYESとなると、当該RAMライト完了信号111が示す1つ以上の宛先RAM領域に対するライトアクセスに対応するリクエスト管理テーブル103上の1つ以上の削除対象テーブルエントリが検索される(ステップS703)。具体的には、バリッドフィールド401の値が1(=有効)であり、宛先RAM領域フィールド403に当該RAMライト完了信号111が示す1つのバンクアドレスが登録され、リード/ライト区別フィールド404にライトを示す値が登録されているテーブルエントリが検索される。
When the RAM write completion signal 111 is received in the reception standby state and the determination in step S701 is YES, the request management table 103 corresponding to the write access to one or more destination RAM areas indicated by the RAM write completion signal 111 is displayed. One or more deletion target table entries are searched (step S703). Specifically, the value of the
後述するように、ライトリクエスト出力判定部203は、画像処理部1102からの複数のライトリクエスト109に対応する複数のライトデータ107をライトデータバッファ104に所定量まで蓄積し、当該複数のライトリクエスト109を1つのライトリクエスト109に取りまとめた上で、SDRAM1104に発行する。このため、RAMライト完了信号111は、当該複数のライトリクエスト109に対応する複数の宛先RAM領域に対するライトアクセスの完了を示している可能性がある。そこで、ステップS703では、これら1つ以上のライトアクセスに対応してリクエスト管理テーブル103に登録されている1つ以上の削除対象テーブルエントリが検索され、そのうちの1つが選択される。
As will be described later, the write request
次に、検索された1つのテーブルエントリのバリッドフィールド401の値が0(=無効)にされる(ステップS704)。これにより、当該テーブルエントリは解放され、他のリクエストを登録可能となる。
Next, the value of the
続いて、バリッドフィールド401の値が1で、宛先RAM領域フィールド403の値
が上記削除されたテーブルエントリの宛先RAM領域フィールド403の値と同じで、リード/ライト区別フィールド404の値がリードを示しており、通し番号フィールド402の値が最も小さい(=最も古い)、上記対象ライトリクエスト109を待ち合わせていたリードリクエスト110のテーブルエントリがリクエスト管理テーブル103に登録されているか否かが検索される(ステップS705)。
Subsequently, the value of the
該当するテーブルエントリが存在しステップS705の判定がYESの場合には、テーブルエントリ無効化部204は、そのテーブルエントリに対応する未発行のリードリクエスト110の発行指示を、リードリクエスト出力判定&ラッチ部202に出す(ステップS706)。これにより、リードリクエスト出力判定&ラッチ部202から、当該リードリクエスト110が、SDRAM1104に対して発行される。
If the corresponding table entry exists and the determination in step S705 is YES, the table entry invalidation unit 204 issues an instruction to issue an
ステップS706の処理の後又はステップS705の判定がNOの場合には、ステップS703の処理に戻り、受信されたRAMライト完了信号111が示す1つ以上の宛先RAM領域に対するライトアクセスに対応する他の削除対象テーブルエントリがリクエスト管理テーブル103から検索される。 After the process of step S706 or when the determination in step S705 is NO, the process returns to the process of step S703, and another process corresponding to the write access to one or more destination RAM areas indicated by the received RAM write completion signal 111 is performed. A deletion target table entry is retrieved from the request management table 103.
ステップS703からS706までの繰返し処理により、受信されたRAMライト完了信号111に対応する削除対象テーブルエントリがリクエスト管理テーブル103から検索されなくなり、ステップS703の判定がNOとなったら、ステップS701の処理に戻り、他のRAMライト完了信号111又はリードデータ受信信号112の受信待ちの状態に戻る。 If the deletion target table entry corresponding to the received RAM write completion signal 111 is not retrieved from the request management table 103 by the repeated processing from step S703 to S706, and the determination in step S703 is NO, the processing in step S701 is performed. The process returns to a state of waiting for reception of another RAM write completion signal 111 or read data reception signal 112.
一方、ステップS701とステップS702の繰返し処理による待機状態において、リードデータ受信信号112が受信されステップS702の判定がYESとなると、当該リードデータ受信信号112が示す宛先RAM領域に対するリードアクセスに対応するリクエスト管理テーブル103上の削除対象テーブルエントリが検索される。具体的には、バリッドフィールド401の値が1(=有効)であり、宛先RAM領域フィールド403に当該リードデータ受信信号112が示すバンクアドレスが登録され、リード/ライト区別フィールド404にリードを示す値が登録されているテーブルエントリが検索される。そして、検索されたテーブルエントリのバリッドフィールド401の値が0(=無効)にされる(以上、ステップS707)。これにより、当該テーブルエントリは解放され、他のリクエストを登録可能となる。
On the other hand, when the read data reception signal 112 is received and the determination in step S702 is YES in the standby state by the repeated processing of step S701 and step S702, the request corresponding to the read access to the destination RAM area indicated by the read data reception signal 112 A deletion target table entry on the management table 103 is searched. Specifically, the value of the
図8は、上記図5〜図7の動作フローチャートに基づくリクエスト管理テーブル103の状態遷移例を示す図である。
今、SDRAM1104上の宛先RAM領域であるA領域に対してライトリクエスト109が発行されているとする。この場合、リクエスト管理テーブル103には、図8(a)に示されるように、バリッドフィールド401の値が1、通し番号フィールド402の値が1、宛先RAM領域フィールド403の値がA領域、リード/ライト区別フィールド404の値がライト(W)であるテーブルエントリが登録されている。このエントリの状態は、リクエストが発行済みであるが未完了の状態である。
FIG. 8 is a diagram showing a state transition example of the request management table 103 based on the operation flowcharts of FIGS.
Assume that a write request 109 has been issued to the A area that is the destination RAM area on the
この状態で、A領域宛のリードリクエスト110が受信されると、リクエスト管理テーブル103に同じA領域宛の未完了のライトリクエスト109が登録されているため、図5のステップS502の判定がYESとなって、当該リードリクエスト110が未発行状態で受け付けられた後(図5のステップS505)、リクエスト管理テーブル103に、図8(c)に示されるように、バリッドフィールド401の値が1、通し番号フィールド402の値が2、宛先RAM領域フィールド403の値がA領域、リード/ライト区別フィールド404の値がリード(R)であるテーブルエントリが登録される(図5のステップS506)。
In this state, when the read
続いて、B領域宛のリードリクエスト110が受信されると、図8(a)に示されるように、リクエスト管理テーブル103には同じB領域宛のリクエストは登録されていないため、図5のステップS502の判定がNOとなって、当該リードリクエスト110がSDRAM1104に対して先行する未発行状態のA領域宛のリードリクエスト110を追い越して発行され(図5のステップS503)、リクエスト管理テーブル103に、図8(b)に示されるように、バリッドフィールド401の値が1、通し番号フィールド402の値が3、宛先RAM領域フィールド403の値がB領域、リード/ライト区別フィールド404の値がリード(R)であるテーブルエントリが登録される(図5のステップS504)。
Subsequently, when the read
その後、A領域宛の発行済みのライトリクエスト109のライトアクセスが完了しメモリアクセス制御部101にてSDRAMコントローラ1105からRAMライト完了信号111が受信されると、図8(b)の状態のリクエスト管理テーブル103上で宛先RAM領域がA領域となっているテーブルエントリのバリッドフィールド401の値が0に落とされてそのエントリが無効化される(図7のステップS704)。続いて、図8(b)の状態のリクエスト管理テーブル103上で同じA領域宛のリードリクエスト110のテーブルエントリが検索され、そのエントリに対応するリードリクエスト110がSDRAM1104に対して発行される(図7のステップS706)。この結果、リクエスト管理テーブル103は、図8(c)の状態に遷移する。
Thereafter, when the write access of the issued write request 109 addressed to the area A is completed and the memory
以上のようにして、先行する未完了のライトリクエスト109が存在するA領域宛の後続するリードリクエスト110に対しては待合せが行われ、一方、B領域宛の後続するリードリクエスト110は上記リードリクエスト110を追い越してSDRAM1104に対して発行される。
As described above, waiting is performed for the
次に、本実施形態では、リードリクエスト110のレイテンシが長いことから、リードリクエスト110がSDRAM1104のアクセス権を取りやすくするために、ライトリクエスト出力判定部203が、複数のライトリクエスト109に対応する複数組のライトデータ107をライトデータバッファ104へバッファリングし、データ量が規定分たまってから、SDRAM1104に対して1個に取りまとめライトリクエスト109を発行し、ライトアクセス回数を減らす制御を行う。
Next, in this embodiment, since the latency of the read
従来は、図9(a)に示されるように、画像処理部(画像コア)1102から発行されるライトリクエスト109(図中、ライト1、ライト2、ライト3)毎に、SDRAM1104への発行が行われていた。この結果、同図に示されるように、ライトリクエスト109毎に、メモリアクセス制御部1103(図11参照)とSDRAMコントローラ1105との間で、調停の上での通信を確立するためのハンドシェイク制御が行われた上で、各リクエストが発行されていた。このため、画像処理部1102から発行されるライトリクエスト109毎にハンドシェイク制御が必要となり、その都度画像バス1109(図11参照)が専有され、他の画像処理マクロ1101がSDRAMコントローラ1105と通信できない期間が長くなっていた。
Conventionally, as shown in FIG. 9A, for each write request 109 (
本実施形態では、図9(b)に示されるように、ライトリクエスト出力判定部203が、画像処理部(画像コア)1102から発行される複数のライトリクエスト109(図中、ライト1、ライト2、ライト3)に対応する複数組のライトデータ107をライトデータバッファ104に溜め込み、そのバッファ量が規定量に達した場合又はリクエスト管理テーブル103における有効な(バリッドフィールド401の値が1である)リクエストの保持数が限度数に達した場合の何れかの場合に、それらのライトリクエスト109を取りまとめて1つのライトリクエスト109とし、それをSDRAM1104に対して発行し、ライトデータバッファ104に溜め込まれていたライトデータ107を画像バス1109(図11参照)に出力する。この結果、ライトリクエスト出力判定部203とSDRAMコントローラ1105との間で交わされるハンドシェイク処理は、図9(b)に示されるように、1回のみで済むため、画像バス1109が専有され期間が短くなり、ライトリクエスト109のレイテンシが向上する。
In the present embodiment, as shown in FIG. 9B, the write request
図10は、上述のライトリクエスト109の取りまとめ制御を実現するための図2のライトリクエスト出力判定部203の制御処理を示す動作フローチャートである。
まず、ライトデータバッファ104のバッファ量が規定量に達したか否かが判定される(ステップS1001)。
FIG. 10 is an operation flowchart illustrating a control process of the write request
First, it is determined whether or not the buffer amount of the
この判定がNOの場合には、更に、リクエスト管理テーブル103からのテーブルフル検出信号206に基づいて、リクエスト管理テーブル103におけるバリッドフィールド401の値が1(=有効)であるリクエストの保持数が限度数に達したか否かが判定される(ステップS1002)。
If this determination is NO, the number of requests held for which the value of the
この判定もNOの場合には、ステップS1001の処理に戻り、上記と同様の処理が繰り返される。
ライトデータバッファ104のバッファ量が規定量に達してステップS1001の判定がYESとなった場合、又はリクエスト管理テーブル103における有効リクエストの保持数が限度数に達してステップS1002の判定がYESとなった場合には、ライトリクエスト出力判定部203は、保存していたライトリクエスト109を1つのライトリクエスト109に取りまとめてSDRAM1104に対して発行する(ステップS1003)。
If this determination is also NO, processing returns to step S1001 and the same processing as described above is repeated.
When the buffer amount of the
そして、ライトリクエスト出力判定部203は、ライトデータバッファ104に、データ出力指示207を出し、そこに滞留していたライトデータ107を画像バス1109(図11参照)に出力する。
Then, the write request
その後、ステップS1001の処理に戻り、バッファ量とリクエスト量の監視状態に戻る。
以上説明した実施形態では、リクエストの待ち受け又は追越し発行の判定において、リードリクエストアドレス106又はライトリクエストアドレス105によって指定されるSDRAM1104上でのバンクアドレス同士が比較されたが、バンクアドレス以外のアドレス単位で比較が行われてもよい。
Thereafter, the process returns to step S1001 to return to the monitoring state of the buffer amount and the request amount.
In the embodiment described above, the bank addresses on the
また、ライトデータバッファ104に或る宛先RAM領域宛のライトリクエスト109が滞留しているときに、同じ宛先RAM領域宛の後続するリードリクエスト110が画像処理部1102からメモリアクセス制御部101に要求された場合には、メモリアクセス制御部101は、当該リードリクエスト110の待合せを行わずに、メモリアクセス制御部101内のライトデータバッファ104に滞留しているライトデータ107をそのまま画像処理部1102に返すような制御が実施されてもよい。
Further, when a write request 109 addressed to a certain destination RAM area remains in the
更に、ライトリクエスト出力判定部203において取りまとめられるライトリクエスト109は、一般的には異なる宛先RAM領域に対するリクエストであるが、同じ宛先RAM領域(バンクアドレス)に対してライトリクエスト109が連続して発行され、それらがバッファリングされるような構成が採用されてもよい。
Further, the write request 109 compiled by the write request
加えて、ライトリクエスト受付判定&ラッチ部201は、画像処理部1102からライ
トリクエスト109が要求されたときに、それが指定する宛先RAM領域と同じ宛先RAM領域宛の先行する未完了のリードリクエストがリクエスト管理テーブル103に存在した場合には、画像処理部1102に対してそのライトリクエスト109を待たせる制御を行ったが(図6のステップS606)、当該ライトリクエスト109を未発行状態でひとまず受け付けてそれに対応するライトデータ107をライトデータバッファ104にバッファリングするような制御が実施されてもよい。この場合には例えば、ライトリクエスト出力判定部203は、ライトリクエスト109を1つのリクエストに取りまとめて発行する際に、発行指示が出ているライトデータ107のみをライトデータバッファ104から出力する制御を実施する。
In addition, when a write request 109 is requested from the
画像処理を行う画像処理マクロ1101以外のデータ処理装置がSDRAM1104に対してアクセスを行うシステムの実施形態が適用されてもよい。
An embodiment of a system in which a data processing apparatus other than the image processing macro 1101 that performs image processing accesses the
101 メモリアクセス制御部
102 リクエスト制御部
103 リクエスト管理テーブル
104 ライトデータバッファ
105 ライトリクエストアドレス
106 リードリクエストアドレス
107 ライトデータ
108 リードデータ
109 ライトリクエスト
110 リードリクエスト
111 RAMライト完了信号
112 リードデータ受信信号
201 ライトリクエスト受付判定&ラッチ部
202 リードリクエスト出力判定&ラッチ部
203 ライトリクエスト出力判定部
204 各バンクのリードデータ受信待ちリクエスト有無信号
205 各バンクのRAMライト完了信号待ちリクエスト有無信号
206 テーブルフル検出信号
207 データ出力指示
208 テーブルエントリ無効化部
401 バリッドフィールド
402 通し番号フィールド
403 宛先RAM領域フィールド
404 リード/ライト区別フィールド
1101 画像処理マクロ
1102 画像処理部
1103 メモリアクセス制御部
1104 SDRAM1104
1105 SDRAMコントローラ
1106 CPUマクロ
1107 カードインタフェースマクロ
1108 周辺マクロ
1109 画像バス
1110 システムバス
101 Memory
1105
Claims (7)
前記メモリアクセス制御部内に、
前記データ処理部から要求された前記リードリクエスト情報又は前記ライトリクエスト情報を格納するリクエスト管理テーブル部と、
前記データ処理部から前記リードリクエスト情報を要求されたときに、該リードリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なライトリクエスト情報が前記リクエスト管理テーブル部に登録されている場合に、該リードリクエスト情報を受け付けて未発行状態で前記リクエスト管理テーブル部に登録し、該リードリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なライトリクエスト情報が前記リクエスト管理テーブル部に登録されていない場合に、該リードリクエスト情報を前記メモリ装置内のメモリコントローラに対して発行すると共に、該リードリクエスト情報を前記リクエスト管理テーブル部に登録するリードリクエスト出力判定&ラッチ部と、
前記データ処理部から前記ライトリクエスト情報を要求されたときに、該ライトリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なリードリクエスト情報が前記リクエスト管理テーブル部に登録されていない場合に、該ライトリクエスト情報を前記リクエスト管理テーブル部に登録するライトリクエスト受付判定&ラッチ部と、
前記メモリ装置内のメモリコントローラから前記ライトリクエスト情報による前記メモリ装置へのライトアクセスの完了を示すメモリライト完了信号又は前記リードリクエスト情報による前記メモリ装置へのリードアクセスの完了を示すリードデータ受信信号を受信し、該リードデータ受信信号に対応する前記リクエスト管理テーブル部に登録されている前記リードリクエスト情報又は前記ライトリクエスト情報を無効化又は削除し、該無効化又は削除されたテーブルエントリがライトリクエスト情報である場合に、該ライトリクエスト情報と同じ宛先メモリ領域を有する未発行のリードリクエスト情報のテーブルエントリを前記リクエスト管理テーブル部から検索し、検索されたテーブルエントリに対応するリードリクエスト情報の発行指示を前記リードリクエスト出力判定&ラッチ部に対して行うテーブルエントリ無効化部と、
を含むことを特徴とするメモリアクセス制御回路。 Control at least one data processing device including a data processing unit and a memory access control unit, and read access information or write request information issued from the memory device and the memory access control unit to control access to the memory device In a data processing system including a memory device including a memory controller,
In the memory access control unit,
A request management table unit for storing the read request information or the write request information requested from the data processing unit;
When the read request information is requested from the data processing unit, valid write request information indicating the same destination memory area as the destination memory area indicated by the read request information is registered in the request management table unit. Valid read request information in which the read request information is received and registered in the request management table portion in an unissued state, and the same destination memory area as the destination memory area indicated by the read request information is indicated Is not registered in the request management table part, the read request information is issued to the memory controller in the memory device, and the read request information is registered in the request management table part. & Latch part,
When the write request information is requested from the data processing unit, valid read request information indicating the same destination memory area as the destination memory area indicated by the write request information is registered in the request management table unit. A write request reception determination & latch unit for registering the write request information in the request management table unit,
A memory write completion signal indicating completion of write access to the memory device by the write request information from a memory controller in the memory device or a read data reception signal indicating completion of read access to the memory device by the read request information; The read request information or the write request information registered in the request management table unit corresponding to the read data reception signal is invalidated or deleted, and the invalidated or deleted table entry is the write request information. If the request management table part is searched for a table entry of unissued read request information having the same destination memory area as the write request information, an issue instruction of the read request information corresponding to the retrieved table entry is retrieved. And table entry invalidation unit which performs relative to the read request output determining & latch unit,
A memory access control circuit comprising:
前記ライトリクエスト受付判定&ラッチ部から引き渡される前記ライトリクエスト情報を保持し、前記ライトデータバッファに保持された前記ライトデータが所定量以上になったときに、前記保持していた1つ以上のライトリクエスト情報を取りまとめて1つのライトリクエスト情報として前記メモリ装置内のメモリコントローラに対して発行すると共に、前記ライトデータバッファに保持されていた前記ライトデータを前記メモリコントローラに対して出力するライトリクエスト出力判定部と、
を更に含み、
前記ライトリクエスト受付判定&ラッチ部は、前記データ処理部から前記ライトリクエスト情報を要求されたときに、該ライトリクエスト情報を前記ライトリクエスト出力判定部に保持させ、前記ライトリクエスト情報に対応して前記データ処理部から出力されるライトデータを前記ライトデータバッファに保持させる、
ことを特徴とする請求項1に記載のメモリアクセス制御回路。 A write data buffer for buffering write data corresponding to the write request information;
The write request acceptance determination & latch unit holds the write request information, and when the write data held in the write data buffer exceeds a predetermined amount, the held one or more writes Write request output judgment that collects request information and issues it as one write request information to the memory controller in the memory device and outputs the write data held in the write data buffer to the memory controller And
Further including
The write request acceptance determination & latch unit holds the write request information in the write request output determination unit when the write request information is requested from the data processing unit, and corresponds to the write request information. Holding the write data output from the data processing unit in the write data buffer;
The memory access control circuit according to claim 1.
ことを特徴とする請求項1又は2の何れか1項に記載のメモリアクセス制御回路。 The write request output determination unit further collects the held one or more write request information when the number of valid table entries registered in the request management table exceeds a predetermined amount. Issuing to the memory controller in the memory device as request information, and outputting the write data held in the write data buffer to the memory controller,
The memory access control circuit according to claim 1, wherein the memory access control circuit is a memory access control circuit.
ことを特徴とする請求項1乃至3の何れか1項に記載のメモリアクセス制御回路。 The data processing unit executes image processing;
The memory access control circuit according to claim 1, wherein the memory access control circuit is a memory access control circuit.
前記データ処理部から前記リードリクエスト情報を要求されたときに、該リードリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なライトリクエスト情報がリクエスト管理テーブル部に登録されている場合に、該リードリクエスト情報を受け付けて未発行状態で前記リクエスト管理テーブル部に登録し、該リードリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なライトリクエスト情報が前記リクエスト管理テーブル部に登録されていない場合に、該リードリクエスト情報を前記メモリ装置内のメモリコントローラに対して発行すると共に、該リードリクエスト情報を前記リクエスト管理テーブル部に登録するリードリクエスト出力判定&ラッチステップと、
前記データ処理部から前記ライトリクエスト情報を要求されたときに、該ライトリクエスト情報が指示する宛先メモリ領域と同じ宛先メモリ領域が指示されている有効なリードリクエスト情報が前記リクエスト管理テーブル部に登録されていない場合に、該ライトリクエスト情報を前記リクエスト管理テーブル部に登録するライトリクエスト受付判定&ラッチステップと、
前記メモリ装置内のメモリコントローラから前記ライトリクエスト情報による前記メモリ装置へのライトアクセスの完了を示すメモリライト完了信号又は前記リードリクエスト情報による前記メモリ装置へのリードアクセスの完了を示すリードデータ受信信号を受信し、該リードデータ受信信号に対応する前記リクエスト管理テーブル部に登録されている前記リードリクエスト情報又は前記ライトリクエスト情報を無効化又は削除し、該無効化又は削除されたテーブルエントリがライトリクエスト情報である場合に、該ライトリクエスト情報と同じ宛先メモリ領域を有する未発行のリードリクエスト情報のテーブルエントリを前記リクエスト管理テーブル部から検索し、検索されたテーブルエントリに対応するリードリクエスト情報の発行指示を行うテーブルエントリ無効化ステップと、
該発行指示されたリードリクエスト情報を発行するリードリクエスト情報発行ステップと、
を含むことを特徴とするメモリアクセス制御方法。 Control at least one data processing device including a data processing unit and a memory access control unit, and read access information or write request information issued from the memory device and the memory access control unit to control access to the memory device A memory access control method in a data processing system including a memory device including a memory controller,
When the read request information is requested from the data processing unit, valid write request information indicating the same destination memory area as the destination memory area indicated by the read request information is registered in the request management table unit. If the read request information is received and registered in the request management table section in an unissued state, valid write request information indicating the same destination memory area as the destination memory area indicated by the read request information is present. When not registered in the request management table unit, the read request information is issued to the memory controller in the memory device, and the read request information is registered in the request management table unit. A latch step;
When the write request information is requested from the data processing unit, valid read request information indicating the same destination memory area as the destination memory area indicated by the write request information is registered in the request management table unit. If not, a write request acceptance determination & latch step for registering the write request information in the request management table unit;
A memory write completion signal indicating completion of write access to the memory device by the write request information from a memory controller in the memory device or a read data reception signal indicating completion of read access to the memory device by the read request information; The read request information or the write request information registered in the request management table unit corresponding to the read data reception signal is invalidated or deleted, and the invalidated or deleted table entry is the write request information. If the request management table part is searched for a table entry of unissued read request information having the same destination memory area as the write request information, an issue instruction of the read request information corresponding to the retrieved table entry is retrieved. And table entries invalidated step of performing,
A read request information issuing step for issuing the read request information instructed to issue;
A memory access control method comprising:
前記ライトデータバッファに保持された前記ライトデータが所定量以上になったときに、前記ライトリクエスト受付判定&ラッチステップが保持していた1つ以上のライトリクエスト情報を取りまとめて1つのライトリクエスト情報として前記メモリ装置内のメモリ
コントローラに対して発行すると共に、前記ライトデータバッファに保持されていた前記ライトデータを前記メモリコントローラに対して出力するライトリクエスト出力判定ステップを更に含む、
ことを特徴とする請求項5に記載のメモリアクセス制御方法。 The write request acceptance determination & latch step includes a valid read request in which the same destination memory area as the destination memory area indicated by the write request information is indicated when the write request information is requested from the data processing unit. When the information is not registered in the request management table unit, the write request information is held, the write data output from the data processing unit corresponding to the write request information is held in the write data buffer,
When the write data held in the write data buffer exceeds a predetermined amount, one or more write request information held by the write request acceptance determination & latch step is collected as one write request information. A write request output determination step for issuing to the memory controller in the memory device and outputting the write data held in the write data buffer to the memory controller;
6. The memory access control method according to claim 5, wherein:
ことを特徴とする請求項5又は6の何れか1項に記載のメモリアクセス制御回路。 The write request output determination step further includes one or more write requests held by the write request reception determination & latch step when the number of valid table entries registered in the request management table exceeds a predetermined amount. The request information is collected and issued as one write request information to the memory controller in the memory device, and the write data held in the write data buffer is output to the memory controller.
The memory access control circuit according to claim 5, wherein the memory access control circuit is a memory access control circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008246163A JP2010079536A (en) | 2008-09-25 | 2008-09-25 | Memory access control circuit and memory access control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008246163A JP2010079536A (en) | 2008-09-25 | 2008-09-25 | Memory access control circuit and memory access control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010079536A true JP2010079536A (en) | 2010-04-08 |
Family
ID=42209916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008246163A Withdrawn JP2010079536A (en) | 2008-09-25 | 2008-09-25 | Memory access control circuit and memory access control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010079536A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639861B1 (en) * | 2011-03-31 | 2014-01-28 | Emc Corporation | Pseudo writing system and method |
WO2014068620A1 (en) | 2012-10-31 | 2014-05-08 | Hitachi, Ltd. | Storage system and access arbitration method |
US8732342B1 (en) * | 2011-03-31 | 2014-05-20 | Emc Corporation | I/O scheduling system and method |
-
2008
- 2008-09-25 JP JP2008246163A patent/JP2010079536A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639861B1 (en) * | 2011-03-31 | 2014-01-28 | Emc Corporation | Pseudo writing system and method |
US8732342B1 (en) * | 2011-03-31 | 2014-05-20 | Emc Corporation | I/O scheduling system and method |
US8819308B1 (en) | 2011-03-31 | 2014-08-26 | Emc Corporation | Pseudo writing system and method |
US8886845B1 (en) | 2011-03-31 | 2014-11-11 | Emc Corporation | I/O scheduling system and method |
WO2014068620A1 (en) | 2012-10-31 | 2014-05-08 | Hitachi, Ltd. | Storage system and access arbitration method |
US9195410B2 (en) | 2012-10-31 | 2015-11-24 | Hitachi, Ltd. | Storage system and access arbitration method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7555597B2 (en) | Direct cache access in multiple core processors | |
TW200301438A (en) | Method and apparatus to reduce memory latency | |
CN106095604A (en) | The communication method between cores of a kind of polycaryon processor and device | |
JP2010134627A (en) | Bus relay device | |
JP2006293927A (en) | Direct memory access controller and system lsi including direct memory access controller | |
US20100306421A1 (en) | Dma transfer device | |
JP2008234059A (en) | Data transfer device and information processing system | |
JP2006113689A (en) | Bus bridge device and data transfer method | |
JP2010079536A (en) | Memory access control circuit and memory access control method | |
US20070101032A1 (en) | Bus arbitration circuit and bus arbitration method | |
JP4097883B2 (en) | Data transfer apparatus and method | |
US20080320176A1 (en) | Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units | |
JP2006251923A (en) | Look-ahead control method | |
US7296109B1 (en) | Buffer bypass circuit for reducing latency in information transfers to a bus | |
JP2002149591A (en) | Method and device for optimizing bus in processor local bus system | |
US8239652B2 (en) | Data processing system | |
US20050135402A1 (en) | Data transfer apparatus | |
JP5569598B2 (en) | Data write control device, data write control method, and information processing device | |
CN112214434A (en) | Processing circuit, information processing apparatus, and information processing method | |
WO2017216892A1 (en) | Data transfer device and data transfer method | |
US20100153610A1 (en) | Bus arbiter and bus system | |
CN116974963B (en) | Device for accessing memory, method, chip and storage medium thereof | |
JP6565729B2 (en) | Arithmetic processing device, control device, information processing device, and control method for information processing device | |
JP2001229074A (en) | Memory controller and information processor and memory control chip | |
JP5549179B2 (en) | Data access device, data access control method, and data access control program |
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: 20111206 |