JP2011232917A - Semiconductor integrated circuit and request control method - Google Patents
Semiconductor integrated circuit and request control method Download PDFInfo
- Publication number
- JP2011232917A JP2011232917A JP2010101863A JP2010101863A JP2011232917A JP 2011232917 A JP2011232917 A JP 2011232917A JP 2010101863 A JP2010101863 A JP 2010101863A JP 2010101863 A JP2010101863 A JP 2010101863A JP 2011232917 A JP2011232917 A JP 2011232917A
- Authority
- JP
- Japan
- Prior art keywords
- request
- queue
- semiconductor integrated
- integrated circuit
- queues
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
- Memory System (AREA)
Abstract
Description
本発明は、半導体集積回路、及びリクエスト制御方法に関し、特に複数のバスマスタと外部デバイスとの間のリクエスト制御方法に関する。 The present invention relates to a semiconductor integrated circuit and a request control method, and more particularly to a request control method between a plurality of bus masters and an external device.
図1は、従来技術における半導体集積回路(LSI:Large Scale Integration)の構成の一例を示す図である。図1を参照して、LSIは、システムバス40を介して相互に接続されたCPU10、DMAコントローラ20、複数のスレーブ60−1、60−2、アドレス依存比較器70を具備する。CPU10やDMA(Direct Memory Access)コントローラ20は、システムバス40のバスマスタとして機能し、外部バスブリッジ回路に例示されるスレーブ60−1、60−2を介して、外部デバイス(例示:メモリ、入出力インタフェース(I/O)、図示なし)に対してリクエストを発行する。アドレス依存比較器70は、外部デバイスに発行されるリクエストと、それに先行するリクエストとのアドレス依存関係を確認する。アドレス依存比較器70は、バスマスタからのリクエストと同一アドレスにアクセスする先行リクエストが完了しない場合、当該バスマスタからのリクエストの発行を待機させる。
FIG. 1 is a diagram illustrating an example of a configuration of a semiconductor integrated circuit (LSI: Large Scale Integration) in the related art. Referring to FIG. 1, the LSI includes a
以上のようなアドレス依存比較器70を利用したリクエスト制御を行う技術が、例えば特開2008−9763に記載されている(特許文献1参照)。
A technique for performing request control using the address-
図2は、従来技術による半導体集積回路の構成の他の一例を示す図である。図2に示す半導体集積回路は、図1に示すスレーブ60として、外部デバイス50(例示:メモリ、I/O)に接続する外部バスブリッジ30を具備する。外部バスブリッジ30は、システムバスリクエスト受信回路31、システムバスリクエスト送信回路32、コマンドキュー33、及びレスポンスキュー32を備える。
FIG. 2 is a diagram showing another example of the configuration of the semiconductor integrated circuit according to the prior art. The semiconductor integrated circuit shown in FIG. 2 includes an
システムバス40のバスマスタとなるCPU10、DMAコントローラ20から発行されたリクエストは、コマンドキュー33に一旦格納される。この際、コマンドキュー33への格納制御は、システムバスリクエスト受信回路31によって制御される。コマンドキュー33にはシステムバス40からのリクエストがインオーダに格納される。コマンドキュー33に格納された(積まれた)リクエストは、格納順に外部デバイス50に対して発行されて処理される。一方、外部デバイス50からのリクエスト完了通知は、レスポンスキュー34に格納され、システムバスリクエスト送信部32による制御によってCPU10やDMA20に発行される。
Requests issued from the
外部デバイス50に対するリクエストのオーダは、スレーブ(外部バスブリッジ30)へのリクエストの到着順で守られる。例えば、本一例では、先行リクエスト(例えばライトリクエスト)の外部デバイス50への発行を待ってから、後続のリクエスト(例えばリードリクエスト)が発行されることになる。この場合、リードリクエストに対するレスポンス応答が悪くなることがある。特に、QoSが必要な処理を行わせる場合に問題が顕著化する。
The order of requests to the
このような問題を解決するため、図3に示す半導体集積回路のように、コマンドキューとしてリードキュー35とライトキュー36を備える構成が知られている。
In order to solve such a problem, a configuration including a
図3に示す半導体集積回路では、リードとライトのリクエストを別々に発行できるため、図2に示す一例に比べて処理性能は向上する。しかし、メモリの排他制御を行うような場合においては、リードとライトのリクエスト発行オーダを保証する必要がある。例えば、CPU10が、アドレス“0X4000”にライトリクエストを発行し、その後に当該アドレスに対してリードリクエストを発行する場合、ライトがリードよりも先に完了する必要がある。この場合、リードキュー35とライトキュー36に格納されたリクエストのどちらを先に外部デバイス50に発行するかを判定するための機構(データ依存関係の判定機構)を、リードキュー35とライトキュー36との間に設ける必要がある。
In the semiconductor integrated circuit shown in FIG. 3, since read and write requests can be issued separately, the processing performance is improved as compared with the example shown in FIG. However, in cases where exclusive memory control is performed, it is necessary to guarantee the request issue order for read and write. For example, when the
このため、図3に示す半導体集積回路では、性能向上のためにキューの段数を増加させる場合、増加した段数に応じたエントリのデータ依存性関係を比較する必要がある。この場合、半導体集積回路の論理規模が大きくなり、動作周波数を上げることができない等の実装上の問題が顕著化する。 For this reason, in the semiconductor integrated circuit shown in FIG. 3, when the number of queue stages is increased in order to improve performance, it is necessary to compare the data dependency relationship of entries according to the increased number of stages. In this case, the logic scale of the semiconductor integrated circuit becomes large, and mounting problems such as the inability to increase the operating frequency become prominent.
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。 In order to solve the above problems, the present invention employs the means described below. In the description of technical matters constituting the means, in order to clarify the correspondence between the description of [Claims] and the description of [Mode for Carrying Out the Invention] The number / symbol used in [Form] is added. However, the added numbers and symbols should not be used to limit the technical scope of the invention described in [Claims].
本発明による半導体集積回路(100)は、複数のキュー(330)と、複数のバスマスタ(1、2)から発行されたリクエストのアクセス先のアドレスに基づいて、リクエストを複数のキュー(330)のいずれかに振り分けるリクエスト振り分け部(301)と、複数のキュー(330)から選択したキュー内のリクエストを、外部デバイス(5)に発行するリクエストセレクタ(302)とを具備する。 The semiconductor integrated circuit (100) according to the present invention sends requests to a plurality of queues (330) based on addresses of access destinations of requests issued from a plurality of queues (330) and a plurality of bus masters (1, 2). A request distribution unit (301) that distributes to any of the above, and a request selector (302) that issues a request in the queue selected from the plurality of queues (330) to the external device (5).
本発明によるリクエスト制御方法は、複数のキュー(330)を用意するステップと、複数のバスマスタ(1、2)から発行されたリクエストのアクセス先のアドレスに基づいて、リクエストを複数のキュー(330)のいずれかに振り分けるステップと、複数のキュー(330)から選択したキュー内のリクエストを外部デバイス(5)に発行するステップとを具備する。 According to the request control method of the present invention, a request is prepared based on the steps of preparing a plurality of queues (330) and the access destination addresses of requests issued from the plurality of bus masters (1, 2). And a step of issuing a request in the queue selected from the plurality of queues (330) to the external device (5).
本発明では、リクエストアドレスに基づいてバスマスタからのリクエストを複数のキューのいずれかに振り分けているため、キューに格納された時点で、キュー間(リクエスト間)のアドレス依存関係は解消される。すなわち、本発明では、キュー間のアドレス依存関係を比較する論理を必要としない。 In the present invention, since requests from the bus master are distributed to any of a plurality of queues based on the request address, the address dependency between the queues (between requests) is canceled when the requests are stored in the queue. That is, the present invention does not require logic for comparing the address dependency between queues.
従って、本発明によれば、論理規模の増大を抑制しつつ、複数のバスマスタからのリクエスト発行数を増加させることができる。 Therefore, according to the present invention, it is possible to increase the number of requests issued from a plurality of bus masters while suppressing an increase in logical scale.
又、複数のバスマスタから発行されたリクエストのアドレス依存関係及び優先処理を保証しつつ、リクエスト発行数を増加させることができる。 It is also possible to increase the number of requests issued while guaranteeing the address dependency and priority processing of requests issued from a plurality of bus masters.
更に、複数のバスマスタから発行されたリクエストのアドレス依存関係及びQoS制御を保証しつつ、リクエスト発行数を増加させることができる。 Furthermore, it is possible to increase the number of requests issued while guaranteeing the address dependency and QoS control of requests issued from a plurality of bus masters.
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。 Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the drawings, the same or similar reference numerals indicate the same, similar, or equivalent components.
図4から図9A、Bを参照して、本発明による半導体集積回路の実施の形態を説明する。図4は、本発明による半導体集積回路の構成の一例を示す図である。図4を参照して、本発明による半導体集積回路は、LSIに例示され、システムバス4を介して相互に接続されたCPU1、DMAコントローラ2、及び外部バスブリッジ3を具備する。
An embodiment of a semiconductor integrated circuit according to the present invention will be described with reference to FIGS. FIG. 4 is a diagram showing an example of the configuration of a semiconductor integrated circuit according to the present invention. Referring to FIG. 4, the semiconductor integrated circuit according to the present invention includes a
CPU1、DMAコントローラ2は、システムバス4のバスマスタとして機能し、外部バスブリッジ3を介して外部デバイス5(複数の外部デバイス5−1〜5−3)に対してリクエストを発行する。外部デバイス5は外部バスを介して外部バスブリッジ3に接続され、USB(Universal Serial Bus)やPCI Expressに例示されるI/Oインタフェースや、RAM(Random Access Memory)に例示されるメモリである。
The
外部バスブリッジ3は、システムバス4と外部デバイス5(外部バス)との間の接続を制御し、システムバス4のスレーブとして機能する。外部バスブリッジ3は、バスマスタ(CPU1、DMAコントローラ2)が外部デバイス5に対して発行するリクエスト(リクエストコマンド、リクエストアドレス(アクセス先のアドレス))やデータを、外部デバイス5に転送する。又、外部バスブリッジ3は、外部デバイス5から発行されるリクエスト(リクエストコマンド、リクエストアドレス)やデータをバスマスタ(CPU1、DMAコントローラ2)に転送する。
The
本発明による外部バスブリッジ3は、リクエスト優先処理機構を有する。図5を参照して、本発明による外部バスブリッジ3の構成の詳細を説明する。
The
外部バスブリッジ3は、システムバスリクエスト受信回路として機能するリクエスト振り分け部301、送信用キュー群330、リクエストセレクタ302、受信部303、受信用キュー群320、及びシステムバスリクエスト送信回路304を具備する。
The
リクエスト振り分け部301は、システムバス4を介してバスマスタ(例示:CPU1、以下、バスマスタとしてCPU1を例に説明する)から発行されるリクエストをデコードし、そのデコード結果(転送アドレスやコマンドタイプ)に従って当該リクエストを、後段の送信用キュー群330に振り分けて格納(エンキュー)する。
The
送信用キュー群330は、複数のキュー331、332、333を備える。複数のキュー331、332、333にはそれぞれ異なる優先度が付与されていることが好ましい。この場合、リクエストセレクタ302は、優先度の高いキューを優先して選択し、選択したキューからリクエストを抽出して外部デバイス5に発行する。
The
送信用キュー群330のうち、いくつかのキューは、リクエストの完了通知を待たずに次のリクエストを発行可能なリクエストを格納する第1キュー(以下、高優先キューと称す)に設定されることが好ましい。例えば、メモリへのアクセスのためのリクエストは、リクエストの完了(例えばリードリクエストに対するリードデータ)を待たずに発行できる。このため、メモリアクセスのためのリクエストを、高優先キューに格納するようにリクエスト振り分け部301に設定することが好ましい。又、送信用キュー群330のうちの他のキューは、次のリクエストを発行するために前のリクエストの完了通知を受ける必要があるリクエストを格納する第2キュー(以下、シーケンシャルキューと称す)に設定されることが好ましい。例えば、I/Oインタフェースへのリクエストは、リクエストの完了を待ってから次のリクエストを発行する必要がある。このため、I/Oインタフェースに発行するリクエストを、シーケンシャルキューに格納するようにリクエスト振り分け部301に設定することが好ましい。
Some queues in the
ここで、高優先キューは、シーケンシャルキューよりも優先的に外部デバイス5に発行される。又、複数のキューが高優先キューに設定された場合、それぞれに異なる優先度が付与されることが好ましい。本実施の形態では、キュー331、332が高優先キューとして設定され、キュー331に優先度“0”が付与され、キュー332に優先度“1”が付与されるものとする。尚、優先度“0”は優先度“1”よりも高い優先度であるものとする。又、本実施の形態では、キュー333がシーケンシャルキューに設定されるものとする。
Here, the high priority queue is issued to the
図6は、本発明によるリクエスト振り分け部301の構成とウインドウの構造の一例を示す図である。図6を参照して、リクエスト振り分け部301の構成の詳細を説明する。
FIG. 6 is a diagram showing an example of the configuration of the
図6(b)を参照して、リクエスト振り分け部301は、ウインドウレジスタ310と振り分け回路314を備える。
With reference to FIG. 6B, the
振り分け回路314は、システムバス4から入力されたリクエストをデコードし、デコード結果がリクエストウインドウ300にヒットする場合、ヒットしたウインドウに設定された格納先キューに当該リクエストをエンキュー(格納)する。リクエストウインドウ300は、リクエストアドレスに対応するアドレスが割り当てられた複数のウインドウを有し、それぞれにコマンド種、格納先のキューを指定する情報が設定される。
The
デコードされたリクエストにはリクエストアドレス(アクセス先のアドレス)やリクエストコマンドが含まれており、リクエストアドレスに一致するアドレスが設定されたウインドウが存在(ヒット)した場合や、リクエストコマンドと同じコマンド種が設定されたウインドウが存在(ヒット)する場合、ヒットしたウインドウに設定された格納先キューに当該リクエストが格納される。 The decoded request includes a request address (access destination address) and a request command. If a window with an address that matches the request address exists (hits), or the same command type as the request command When the set window exists (hits), the request is stored in the storage destination queue set in the hit window.
ウインドウレジスタ310は、ベースレジスタ311、サイズレジスタ312、リクエストレジスタ313を備え、それぞれのレジスタに設定された値によって図6(a)に示すリクエストウインドウ300を設定する。ベースレジスタ311、サイズレジスタ312、リクエストレジスタ313のそれぞれは、リクエストウインドウ300に設定する複数のウインドウに対応する数だけ用意される。例えば、複数のウインドウ#0、#1、#2を有するリクエストウインドウ300を設定する場合、それぞれ3つのベースレジスタ311、サイズレジスタ312、リクエストレジスタ313が用意される。
The
ウインドウ#0、#1、#2のアドレス範囲は、ベースレジスタ311及びサイズレジスタ312によって設定される。
The address ranges of the windows # 0, # 1, and # 2 are set by the
ベースレジスタ311には、ウインドウの先頭アドレスを指定する値が設定される。すなわち、ベースレジスタ311によって、ウインドウ#0、#1、#2のそれぞれの先頭アドレスが設定される。例えば、ウインドウ#0の先頭アドレスは“0X0000”、ウインドウ#1の先頭アドレスは“0X1000”、ウインドウ#2の先頭アドレスは“0X2000”に設定される。
The
サイズレジスタ312には、ウインドウのサイズを指定する値が設定される。すなわち、サイズレジスタ312によって、ウインドウ#0、#1、#2のそれぞれのサイズが設定される。例えば、ウインドウ#0、#1、#2のそれぞれのサイズが“0X1000”に設定される。
The
リクエストレジスタ313には、システムバス4からのリクエストがウインドウにヒットした場合、どのキューにエンキューするかを決める情報(格納先キュー)や、ウインドウに設定するリクエストタイプ(コマンド種)が設定される。すなわち、リクエストレジスタ313によって、ウインドウ#0、#1、#2のそれぞれにヒットしたリクエストの格納先となるキューが設定されるとともに、ウインドウのリクエストタイプ(コマンド種)が設定される。
When the request from the system bus 4 hits the window, the
図7は、本発明によるウインドウ#0、#1、#2の構造の一例を示す図である。図7を参照して、リクエストウインドウ300に基づいたリクエストの振り分け処理の詳細を説明する。
FIG. 7 is a diagram showing an example of the structure of windows # 0, # 1, and # 2 according to the present invention. Details of the request distribution process based on the
図7(a)に示す一例では、アドレス範囲が“0x0000”〜“0x0FFF”及び格納先キューが“キュー331”のウインドウ#0、アドレス範囲が“0x1000”〜“0x1FFF”及び格納先キューが“キュー331”のウインドウ#1、アドレス範囲が“0x2000”〜“0x2FFF”及び格納先キューが“キュー332”のウインドウ#2がリクエストウインドウ300として設定される。本一例では、ウインドウ#0、#1、#2のいずれにもコマンド種は設定されていない。
In the example shown in FIG. 7A, the address range is “0x0000” to “0x0FFF” and the storage destination queue is “
図7(a)のように、リクエストウインドウ300にコマンド種が設定されていない場合、振り分け回路314は、デコードしたリクエストアドレスが一致するウインドウを検索し、ヒット(一致)したウインドウに基づいてリクエストの格納先を決定する。例えば、リクエストアドレスが“0X1005である場合、リクエストはウインドウ#1にヒットする。この場合、振り分け回路314は、ウインドウ#1の格納先キューに設定されているキュー331(優先度“0”)に当該リクエストをエンキュー(格納)する。あるいは、リクエストアドレスが“0X2010である場合、リクエストはウインドウ#2にヒットする。この場合、振り分け回路314は、ウインドウ#2の格納先キューに設定されているキュー332(優先度“1”)に当該リクエストをエンキュー(格納)する。更に、リクエストアドレスがリクエストウインドウ300に設定されていないアドレスである場合(例えば“0X3000”)、リクエストにヒットするウインドウは存在しない。この場合、振り分け回路314は、リクエストをキュー333(シーケンシャルキュー)にエンキュー(格納)する。
As shown in FIG. 7A, when the command type is not set in the
ウインドウにヒットするか否かの判定は、ウインドウ番号の若い順から行われる。例えば、誤って、複数のウインドウ#0、#1に同じアドレスが設定されていても、アドレスが小さいウインドウ#0から順に判定されるため、リクエストが複数のウインドウに重複してヒットすることはない。すなわち、リクエストがヒットするウインドウの検索順に優先順位をつけることで、ウインドウの設定ミスによる誤動作を防止することができる。 Whether the window is hit or not is determined from the smallest window number. For example, even if the same address is set in a plurality of windows # 0 and # 1, the requests are judged in order from the window # 0 having the smallest address, so that the request does not hit multiple windows in duplicate. . In other words, by giving priority to the search order of the windows hit by the request, it is possible to prevent malfunction due to a window setting error.
図7(b)に示す一例では、コマンド種が“メモリリード”、アドレス範囲が“0x0000”〜“0x0FFF”及び格納先キューが“キュー331”のウインドウ#0、コマンド種が“I/Oアクセス”、アドレス範囲が“0x1000”〜“0x1FFF”及び及び格納先キューが“キュー332”のウインドウ#1、
アドレス範囲が“0x2000”〜“0x2FFF”及び格納先キューが“キュー333”のウインドウ#2がリクエストウインドウ300として設定される。
In the example shown in FIG. 7B, the command type is “memory read”, the address range is “0x0000” to “0x0FFF”, the storage destination queue is “
A
図7(b)のように、振り分け回路314は、デコードしたリクエストアドレス又は/及びコマンド種と一致するウインドウを検索し、ヒット(一致)したウインドウに基づいてリクエストの格納先を決定する。例えば、リクエストアドレスが“0X0100であり、コマンド種がメモリアクセスである場合、リクエストはウインドウ#0にヒットする。この場合、振り分け回路314は、ウインドウ#0の格納先キューに設定されているキュー331(優先度“0”)に当該リクエストをエンキュー(格納)する。ウインドウ#0やウインドウ#1にヒットするためには、アドレス及びコマンド種が一致しなければならない。一方、リクエストアドレスが“0X2010である場合、コマンド種に関係なくリクエストはウインドウ#2にヒットする。この場合、振り分け回路314は、ウインドウ#2の格納先キューに設定されているキュー333(シーケンシャルキュー)に当該リクエストをエンキュー(格納)する。
As shown in FIG. 7B, the
更に、リクエストアドレスがリクエストウインドウ300に設定されていないアドレス(例えば“0X3000”)の場合、アドレスが一致してもコマンド種がリクエストウインドウ300に設定されたコマンドと異なる場合、あるいは、コマンド種が一致してもリクエストアドレスがリクエストウインドウ300に設定されたアドレスと異なる場合は、リクエストにヒットするウインドウは存在しないと判定される。この場合、振り分け回路314は、リクエストをキュー333(シーケンシャルキュー)にエンキュー(格納)する。例えば、リクエストのアドレスが0x0100でI/Oアクセスの場合、ヒットするウインドウは存在せず、当該リクエストはキュー333に格納される。
Further, when the request address is an address not set in the request window 300 (for example, “0X3000”), even if the addresses match, the command type is different from the command set in the
図7(c)に示す一例では、アドレス範囲が“0x0000”〜“0x0FFF”及び格納先キューが“キュー331”のウインドウ#0、コマンド種が“メモリリード”及び格納先キューが“キュー332”のウインドウ#1、コマンド種が“I/Oアクセス”及び格納先キューが“キュー333”のウインドウ#2がリクエストウインドウ300として設定される。本一例では、ウインドウ#1、#2にアドレス範囲は設定されない。
In the example shown in FIG. 7C, window # 0 having an address range of “0x0000” to “0x0FFF” and a storage destination queue of “
図7(c)のように、振り分け回路314は、デコードしたリクエストアドレス又はコマンド種と一致するウインドウを検索し、ヒット(一致)したウインドウに基づいてリクエストの格納先を決定する。例えば、リクエストアドレスが“0X0100である場合、リクエストはウインドウ#0にヒットする。この場合、振り分け回路314は、ウインドウ#0の格納先キューに設定されているキュー331(優先度“0”)に当該リクエストをエンキュー(格納)する。あるいは、リクエストアドレスが任意であり、コマンド種がメモリリードである場合、リクエストはウインドウ#1にヒットする。この場合、振り分け回路314は、ウインドウ#1の格納先キューに設定されているキュー332(優先度“1”)に当該リクエストをエンキュー(格納)する。更に、リクエストアドレスがリクエストウインドウ300に設定されていないアドレス(例えば“0X3000”)の場合、リクエストにヒットするウインドウは存在しない。この場合、振り分け回路314は、リクエストをキュー333(シーケンシャルキュー)にエンキュー(格納)する。リクエストがリクエストウインドウ300にヒットするか否かが、コマンド種(例えばメモリアクセス、I/Oアクセス)でしか判断できない場合、当該リクエストの転送先アドレスとして、システムバス4からのリクエストアドレスが割り当てられる。
As shown in FIG. 7C, the
以上のように、ウインドウに設定するアドレスやコマンド種を、実行するプロセスに応じて設定することで、アクセス先のアドレスや実行するコマンドに応じた格納先キューを変更することができる。尚、ウインドウにヒットしないリクエストがある場合、エラーを返しても良いし、当該リクエストを破棄しても良い。 As described above, by setting the address and command type to be set in the window according to the process to be executed, the storage destination queue corresponding to the access destination address and the command to be executed can be changed. When there is a request that does not hit the window, an error may be returned or the request may be discarded.
本発明によるリクエスト振り分け部301は、リクエスト間のアドレスを比較することなく、入力されたリクエストアドレスやコマンド種に応じて格納先のキューを決定することができる。すなわち、本発明では、各キューにエンキューされた時点で、アドレス依存関係は解消されている。このため、後段のリクエストセレクタ302は、アドレス依存関係や、コマンドの発行順を気にすることなく処理対象のキューを選択することができる。
The
リクエストセレクタ302は、送信用キュー群330から選択したキュー内のリクエストを外部デバイス5に発行する。リクエストセレクタ302は、優先度の高いキューを優先的に選択し、選択したキュー内のリクエストを外部デバイス5に発行することが好ましい。
The
リクエストセレクタ302は、高優先キュー(キュー331、332)からリクエストを抽出して発行する場合、外部デバイス5に発行したリクエストの完了通知を受けることなく、高優先キューから次のリクエストを抽出して発行することが好ましい。詳細には、リクエストセレクタ302は、高優先キュー(キュー331、332)内のリクエストを発行する際、受信部303に高優先リクエストの発行を通知する。受信部303は、高優先リクエストの発行通知に応じてACK信号(コマンドアクノリッジ)を返却する。リクエストセレクタ302は、受信部303からのACK信号に応じて次のリクエストを高優先キューから抽出して発行する。これにより、高優先キューに格納された次のリクエストは、前に発行されたリクエストの完了を待たずに発行され得る。例えば、リクエストセレクタ302は、リードコマンドに対するリードレスポンス(リードデータ)が返却される前に、高優先キュー内の次のリクエストを発行することができる。
When the
一方、リクエストセレクタ302は、シーケンシャルキュー(キュー333)からリクエストを抽出して発行する場合、発行したリクエストの受信完了通知を受けてから次ぎのリクエストを発行する。詳細には、リクエストセレクタ302は、シーケンシャルキュー(キュー333)内のリクエストを通常通り発行する。受信部303は、外部デバイス5から当該リクエストの完了通知を受け取るとリクエストセレクタ302にACK信号(コマンドアクノリッジ)を出力する。リクエストセレクタ302は、受信部303からのACK信号に応じて次のリクエストをシーケンシャルキューから抽出して発行する。これにより、シーケンシャルキューに格納された次のリクエストは、前に発行されたリクエストの完了に応じて発行されることになる。例えば、リクエストセレクタ302は、リードコマンドに対するリードレスポンス(リードデータ)が受信部303に返却されるまで、シーケンシャルキュー内の次のリクエストを発行せずに待機する。
On the other hand, when the
図8は、本発明によるリクエストセレクタ302の構成の一例を示す図である。図8を参照して、リクエストセレクタ302は、FULL判定用フラグ321、優先処理判定回路322、セレクタ323を備える。
FIG. 8 is a diagram showing an example of the configuration of the
優先処理判定回路322は、優先処理判定回路322は、各キューにエンキュー(格納)されたリクエスト数に応じて優先処理判定を行い、処理対象となるキューを決定する。この際、優先処理判定回路322は、優先度の高いキューから順に格納状況を確認し、高い優先度のキュー331にリクエストが格納されていない場合、次に優先度の高いキューを処理対象としてセレクタ323に指定する。尚、シーケンシャルキューは最も優先度が低いものとする。又、優先処理判定回路322は、高優先キューがリクエストによって満たされた(FULLとなる)場合、当該キュー内のリクエストを全て発行した後、次に優先度の高いキューを処理対象としてセレクタ323に指定する。
The priority
FULL判定用フラグ321は、高優先キューがリクエストによってFULLとなったか否かを示すフラグである。FULL判定用フラグ321は、高優先キューに設定されたキュー331、332のそれぞれに対応して設けられる。例えば、リクエストによってFULLとなったキューのFULL判定用フラグ321に“1”がセットされる。優先処理判定回路322は、FULL判定用フラグ321によってFULLとなったキューを確認できる。
The
セレクタ323は、優先処理判定回路322によって処理対象として指定されたキューからリクエストを抽出し、リクエストの内容に応じた外部デバイス5に当該リクエストを発行する。
The
以上のような構成により、リクエストセレクタ302は、高優先キューがリクエストによって満たされる(FULLになる)まで当該高優先キューを処理する。本発明では、高優先のキューがFULLになったことをトリガとして、優先度の低いキューが処理される。これにより、優先度の低いキューに格納されたリクエストが発行されずに、システムがライブロックとなることを防止することができる。
With the configuration described above, the
図9A及び図9Bを参照して、リクエストセレクタ302による優先処理制御方法の詳細を説明する。図9A及び図9Bは、本発明によるリクエスト制御動作の一例を示すフロー図である。
Details of the priority processing control method by the
リクエストセレクタ302は、先ず、用意された送信用キュー群330の中で最も優先度の高いキュー331(優先度“0”)にリクエストが積まれている(格納されている)か否かを確認する(ステップS101)。キュー331にリクエストが積まれている(格納されている)場合、リクエストセレクタ302は、キュー331のリクエストを外部デバイス5に発行する(ステップS101Yes、S102)。
The
次に、リクエストセレクタ302は、FULL判定用フラグ321を参照して、キュー331がリクエストによってFULLになったかを確認する(ステップS103)。ここで、キュー331がFULLでない場合、ステップS101に移行する(ステップS103No)。一方、キュー331がFULLとなった場合、キュー331に対応するFULL判定用フラグ321にFULLを示す“1”がセットされ、リクエストセレクタ302は、その時点でキュー331内に格納されたリクエストを全て外部デバイス5に発行するまで処理を続ける(ステップS103Yes、S104、S105No)。
Next, the
優先処理キュー331にリクエストが積まれていない場合(ステップS101No)、あるいは、FULLとなったキュー331内の全てのリクエストを処理した場合(ステップS105Yes)、リクエストセレクタ302は、次に優先度の高いキュー332(優先度“1”)にリクエストが積まれている(格納されている)か否かを確認する(ステップS201)。
If no requests are stacked in the priority processing queue 331 (No in step S101), or if all requests in the
キュー332にリクエストが積まれている場合、リクエストセレクタ302は、キュー332のリクエストを外部デバイス5に発行する(ステップS201Yes、S202)。
When requests are accumulated in the
次に、リクエストセレクタ302は、FULL判定用フラグ321を参照して、キュー332より優先度の高いキュー331のFULL判定用フラグ321にFULLを示す“1”がセットされているかを確認する(ステップS203)。ここで、キュー331のFULL判定用フラグ321にFULLを示す“1”がセットされていない場合、ステップS101に移行する(ステップS203No)。すなわち、優先度の高いキュー331にリクエストがないことをトリガとしてキュー332を処理する場合、リクエストセレクタ302は、キュー332の処理後、優先度の高いキュー331を優先的に処理するように制御される。
Next, the
ステップS203において、FULLを示す“1”がセットされている場合、リクエストセレクタ302は、FULL判定用フラグ321を参照して、キュー332がFULLになったかを確認する(ステップS203Yes、S204)。
If “1” indicating FULL is set in step S203, the
ステップS204において、キュー332がFULLでない場合、ステップS201に移行する(ステップS204No)。すなわち、優先度の高いキュー331がFULLとなったことをトリガとしてキュー332を処理する場合、リクエストセレクタ302は、キュー332の処理又はキュー332より低い優先度の処理を継続する。
If the
一方、キュー332がFULLとなった場合、キュー332に対応するFULL判定用フラグ321にFULLを示す“1”がセットされ、リクエストセレクタ302は、その時点でキュー332内に格納されたリクエストを全て外部デバイス5に発行するまで処理を続ける(ステップS204Yes、S205、S206No)。
On the other hand, when the
優先処理キュー332にリクエストが積まれていない場合(ステップS201No)、あるいは、FULLとなったキュー332内の全てのリクエストを処理した場合(ステップS206Yes)、リクエストセレクタ302は、次に優先度の高いキュー(ここではシーケンシャルキュー(キュー333))にリクエストが積まれているか否かを確認する(ステップS301)。
If no requests are stacked in the priority processing queue 332 (No in step S201), or if all requests in the
キュー333にリクエストが積まれている場合、リクエストセレクタ302は、キュー333のリクエストを外部デバイス5に発行する(ステップS301Yes、S302)。一方、キュー333にリクエストが積まれていない場合、ステップS101に以降する(ステップS301No)。
If there are requests in the
ステップS302においてキュー333に対する処理を行ったリクエストセレクタ302は、FULL判定用フラグ321を参照して、キュー333より優先度の高いキュー331、332のFULL判定用フラグ321にFULLを示す“1”がセットされているかを確認する(ステップS303、S304)。ここで、キュー331、332のFULL判定用フラグ321にFULLを示す“1”がセットされていない場合、ステップS101に移行する(ステップS303No、S304No)。すなわち、高優先キュー(キュー331、332)にリクエストがないことをトリガとしてシーケンシャルキュー(キュー333)を処理する場合、リクエストセレクタ302は、キュー333の処理後、最も優先度の高いキュー331を優先的に処理するように制御される。
The
ステップS303、S304において、キュー331、332のFULL判定用フラグ321の両方にFULLを示す“1”がセットされている場合、リクエストセレクタ302は、キュー333内にリクエストが格納されていない(empty)ことを確認する(ステップS303Yes、S304Yes、S305)。
In steps S303 and S304, when “1” indicating FULL is set in both the FULL determination flags 321 of the
ステップS305において、キュー332がemptyでない場合、ステップS302に移行する(ステップS305No)。すなわち、優先度の高いキュー331、332がFULLとなったことをトリガとしてキュー333を処理する場合、リクエストセレクタ302は、キュー333内の全てのリクエストを発行するまで、キュー333に対する処理を継続する。
If the
一方、キュー333がemptyとなった場合、リクエストセレクタ302は、全ての高優先キュー(キュー331、332)のFULL判定用フラグ321に設定された“1”を“0”にクリアする(ステップS305Yes、S306)。FULL判定用フラグ321をクリア後、ステップS101に移行し、リクエストセレクタ302は、再度、優先度の高いキューを優先して処理を行う。
On the other hand, when the
以上のように、本発明では、複数のキューのうち、どのキューからリクエストを選択するかを、優先処理判定回路322によって決定している。このため、各キュー間のリクエストは、アウトオブオーダーで発行される。ただし、キュー内のリクエストは、リクエストに積まれた順(エンキュー順)に処理されるためインオーダで発行される。
As described above, according to the present invention, the priority
優先処理判定回路322は、FULL判定用フラグ321を利用することで、高優先キューがFULLとなったことをトリガとして、低優先キューやシーケンシャルキューを処理対象として選択する。これにより、優先度の低いキューに格納されたリクエストが発行されずに、システムがライブロックとなることを防止することができる。
The priority
受信部303は、外部デバイス5からのリクエスト(リクエストコマンド、リクエストアドレス)を受信し、受信用キュー群320に格納する。受信用キュー群320は、ライトリクエストを格納するライトキュー341と、リードリクエストを格納するリードキュー342を備える。受信部303は、外部デバイス5からのライトリクエストをライトキュー341に格納し、外部デバイス5からのリードリクエストをリードキュー342に格納する。ライトキュー341内のリクエストは、リードキュー342に優先してシステムバスリクエスト送信回路304に出力される。これは、一般的なPCIで規定された機能であるため、詳細な説明は省略する。
The
システムバスリクエスト送信回路304は、ライトキュー341又はリードキュー342の一方から出力されたリクエストを、システムバス4を介してバスマスタであるCPU1、又はDMAコントローラ2に発行する。
The system bus
本発明によるリクエスト振り分け部301は、リクエスト間のアドレス依存関係をキューにエンキューする前に解決し、複数のキューに振り分けている。このため、キュー間のアドレス依存関係を比較する必要がなくなり、システムバス4からのリクエストを直ぐにエンキューすることができる。又、複数のキューにエンキューされたリクエストは、既にアドレス依存関係が解消されているため、処理対象となるキュー任意に選択しても、アクセス先が競合することなくリクエストを発行することができる。このため、実装上の問題を気にすることなくスケーラブルにキューの段数を増やすことが可能となる。
The
更に、各キューに優先度が付与されており、リクエストセレクタ302はその優先度に従って処理対象となるキューを選択する。これにより、発行元のリクエストやコマンド種に優先順位を付与することが可能となり、優先処理させたいリクエストを外部バスブリッジ3に留めることなく、発行することが可能となる。例えば、リードリクエストを優先度の高いキューに格納し、ライトリクエストを優先度の低いキューに格納することで、先にマスタから発行されたライトリクエストよりも先に、リードリクエストを外部デバイス5に発行することできる。従って本発明によれば、従来構成で問題となっていたリードレイテンシを改善することができる。
Furthermore, a priority is assigned to each queue, and the
又、コマンド種として、特定処理(例えば、音声処理や画像処理)に阿智するリクエストを優先度の高いキューにエンキューすることで、特定処理に対する優先処理が可能となる。I/Oリクエスト等、発行オーダの保証が必要なリクエストは、シーケンシャルキュー(キュー333)に格納することで、従来と同様に発行オーダを保証することができる。 In addition, by enqueueing a request for a specific process (for example, voice process or image process) as a command type into a queue having a high priority, a priority process for the specific process can be performed. Requests that require issue order guarantees, such as I / O requests, are stored in a sequential queue (queue 333), so that issue orders can be guaranteed in the same manner as in the prior art.
本発明では、複数のキューにリクエストを格納する前にアドレス依存関係を解消しているため、従来技術のように論理規模を増大させることなく、複数のバスマスタからのリクエスト発行数を増加させることができる。 In the present invention, since the address dependency is canceled before the requests are stored in a plurality of queues, the number of requests issued from a plurality of bus masters can be increased without increasing the logical scale as in the prior art. it can.
又、複数のバスマスタから発行されたリクエストのアドレス依存関係及び優先処理を保証しつつ、リクエスト発行数を増加させることができる。 It is also possible to increase the number of requests issued while guaranteeing the address dependency and priority processing of requests issued from a plurality of bus masters.
更に、複数のバスマスタから発行されたリクエストのアドレス依存関係及びQoS制御を保証しつつ、リクエスト発行数を増加させることができる。 Furthermore, it is possible to increase the number of requests issued while guaranteeing the address dependency and QoS control of requests issued from a plurality of bus masters.
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。上述の実施の形態では、送信用キューとして3つのキュー331、332、333を備える外部バスブリッジ3を一例に説明したが、その数や優先度やシーケンシャルキューの設定はこれに限らない。
The embodiment of the present invention has been described in detail above, but the specific configuration is not limited to the above-described embodiment, and changes within a scope not departing from the gist of the present invention are included in the present invention. . In the above-described embodiment, the
1 :CPU
2 :DMAコントローラ
3 :外部バスブリッジ
4 :システムバス
5 :外部デバイス
100:半導体集積回路
300:リクエストウインドウ
301:リクエスト振り分け部
302:リクエストセレクタ
303:受信部
304:システムバスリクエスト送信回路
310:ウインドウレジスタ
311:ベースレジスタ
312:サイズレジスタ
313:リクエストレジスタ
314:振り分け回路
320:受信用キュー群
321:FULL判定用フラグ
322:優先処理判定回路
323:セレクタ
330:送信用キュー群
331〜333:キュー
341:ライトキュー
342:リードキュー
1: CPU
2: DMA controller 3: External bus bridge 4: System bus 5: External device 100: Semiconductor integrated circuit 300: Request window 301: Request distribution unit 302: Request selector 303: Reception unit 304: System bus request transmission circuit 310: Window register 311: Base register 312: Size register 313: Request register 314: Distribution circuit 320: Reception queue group 321: FULL determination flag 322: Priority processing determination circuit 323: Selector 330: Transmission queue group 331-333: Queue 341 Write queue 342: Read queue
Claims (21)
複数のバスマスタから発行されたリクエストのアクセス先のアドレスに基づいて、前記リクエストを前記複数のキューのいずれかに振り分けるリクエスト振り分け部と、
前記複数のキューから選択したキュー内のリクエストを、外部デバイスに発行するリクエストセレクタと
を具備する
半導体集積回路。 Multiple queues,
A request distribution unit that distributes the request to one of the plurality of queues based on an access destination address of a request issued from a plurality of bus masters;
A semiconductor integrated circuit comprising: a request selector that issues a request in a queue selected from the plurality of queues to an external device.
前記リクエスト振り分け部は、前記リクエストのコマンド種に基づいて、前記リクエストを前記複数のキューのいずれかに振り分ける
半導体集積回路。 The semiconductor integrated circuit according to claim 1,
The request distribution unit distributes the request to one of the plurality of queues based on a command type of the request. Semiconductor integrated circuit.
前記振り分け部は、それぞれが、所定のアドレス範囲が設定されるともに、前記複数のキューのいずれかに対応付けられた複数のウインドウと、リクエストアドレスに一致するアドレスが設定されたウインドウを、前記複数のウインドウから検索する振り分け回路とを備え、
前記振り分け回路は、リクエストアドレスに一致するアドレスが設定されたウインドウに対応するキューに、前記リクエストを格納する
半導体集積回路。 The semiconductor integrated circuit according to claim 1 or 2,
The distribution unit includes a plurality of windows each having a predetermined address range, a plurality of windows associated with any of the plurality of queues, and a window in which an address matching a request address is set. And a sorting circuit for searching from the window of
The distribution circuit stores the request in a queue corresponding to a window in which an address that matches the request address is set.
前記複数のウインドウのそれぞれは、所定のコマンド種が設定され、
前記振り分け回路は、リクエストコマンドに一致するコマンド種が設定されたウインドウを、前記複数のウインドウから検索する
前記振り分け回路は、リクエストコマンドに一致するコマンド種が設定されたウインドウに対応するキューに、前記リクエストを格納する
半導体集積回路。 The semiconductor integrated circuit according to claim 3,
A predetermined command type is set for each of the plurality of windows,
The distribution circuit searches the plurality of windows for a window in which a command type that matches a request command is set.The distribution circuit includes a queue corresponding to a window in which a command type that matches a request command is set. A semiconductor integrated circuit that stores requests.
前記振り分け回路は、複数のウインドウを所定の順で検索し、前記リクエストに最初にヒットしたウインドウに基づいて、リクエストの格納先のキューを決定する
半導体集積回路。 The semiconductor integrated circuit according to claim 3 or 4,
The distribution circuit searches a plurality of windows in a predetermined order, and determines a queue for storing a request based on a window that first hits the request. Semiconductor integrated circuit.
前記複数のキューのそれぞれには、異なる優先度が付与され、
前記リクエストセレクタは、前記優先度の高いキュー内のリクエストを優先して選択して外部デバイスに発行する
半導体集積回路。 The semiconductor integrated circuit according to any one of claims 1 to 5,
Each of the plurality of queues is given a different priority.
The request selector preferentially selects and issues a request in the queue with a high priority to an external device.
前記リクエスト振り分け部は、トランザクションの完了を待たずに出力可能なリクエストを第1キューに格納し、トランザクションの完了を待ってから出力するリクエストを前記第1キューより優先度の低い第2キューに格納する
半導体集積回路。 The semiconductor integrated circuit according to claim 6,
The request distribution unit stores a request that can be output without waiting for completion of the transaction in the first queue, and stores a request that is output after waiting for completion of the transaction in the second queue having a lower priority than the first queue. Semiconductor integrated circuit.
前記リクエスト振り分け部は、メモリへのアクセスリクエストを前記第1キューに格納する
半導体集積回路。 The semiconductor integrated circuit according to claim 7,
The request distribution unit stores a memory access request in the first queue.
前記リクエスト振り分け部は、外部インタフェースへのアクセスリクエストを前記第2キューに格納する
半導体集積回路。 The semiconductor integrated circuit according to claim 7 or 8,
The request distribution unit stores an access request for an external interface in the second queue.
前記第1キューから選択されて発行されたリクエストに応じて第1応答信号を出力する受信部を更に具備し、
前記リクエストセレクタは、前記第1応答信号に応じて前記第1キューから次のリクエストを抽出して、外部デバイスに発行する
半導体集積回路。 The semiconductor integrated circuit according to any one of claims 7 to 9,
A receiver that outputs a first response signal in response to a request selected and issued from the first queue;
The request selector extracts a next request from the first queue in response to the first response signal, and issues the next request to an external device.
前記受信部は、前記第2キューから選択されて発行されたリクエストの完了通知を外部デバイスから受信し、前記完了通知に応じて第2応答信号を出力し、
前記リクエストセレクタは、前記第2応答信号に応じて前記第2キューから次のリクエストを抽出して、外部デバイスに発行する
半導体集積回路。 The semiconductor integrated circuit according to claim 10,
The receiving unit receives a completion notification of a request selected and issued from the second queue from an external device, and outputs a second response signal in response to the completion notification,
The request selector extracts a next request from the second queue in response to the second response signal, and issues the next request to an external device.
前記リクエストセレクタは、前記優先度の高いキュー内にリクエストが格納されている場合、前記優先度の高いキュー内のリクエストがなくなるまで、前記優先度の高いキュー内のリクエストを選択して外部デバイスに発行する
半導体集積回路。 The semiconductor integrated circuit according to any one of claims 6 to 11,
When a request is stored in the high priority queue, the request selector selects a request in the high priority queue until there is no request in the high priority queue, and sends the request to an external device. Issued semiconductor integrated circuit.
前記リクエストセレクタは、前記優先度の高いキューの全てにリクエストが格納されている場合、前記格納されたリクエストの全てを発行した後、前記優先度の高いキューより低い優先度のキュー内のリクエストを選択して外部デバイスに発行する
半導体集積回路。 The semiconductor integrated circuit according to claim 12, wherein
When requests are stored in all of the high priority queues, the request selector issues all of the stored requests, and then requests requests in a queue with a lower priority than the high priority queues. A semiconductor integrated circuit that is selected and issued to an external device.
複数のバスマスタから発行されたリクエストのアクセス先のアドレスに基づいて、前記リクエストを複数のキューのいずれかに振り分けるステップと、
前記複数のキューから選択したキュー内のリクエストを外部デバイスに発行するステップと
を具備する
リクエスト制御方法。 Preparing multiple queues;
Allocating the request to one of a plurality of queues based on an access destination address of a request issued from a plurality of bus masters;
Issuing a request in a queue selected from the plurality of queues to an external device.
前記振り分けるステップは、前記リクエストのコマンド種に基づいて、前記リクエストを前記複数のキューのいずれかに振り分けるステップを備える
リクエスト制御方法。 The request control method according to claim 14,
The distribution step includes a step of distributing the request to any of the plurality of queues based on a command type of the request.
前記複数のキューのそれぞれには、異なる優先度が付与され、
前記リクエストを外部デバイスに発行するステップは、前記優先度の高いキュー内のリクエストを優先して選択して外部デバイスに発行するステップを備える
リクエスト制御方法。 The request control method according to claim 14 or 15,
Each of the plurality of queues is given a different priority.
The step of issuing the request to an external device includes a step of preferentially selecting a request in the queue having a high priority and issuing the request to the external device.
前記振り分けるステップは、トランザクションの完了を待たずに出力可能なリクエストを第1キューに格納するステップと、トランザクションの完了を待ってから出力するリクエストを前記第1キューより優先度の低い第2キューに格納するステップとを備える
リクエスト制御方法。 The request control method according to claim 16, wherein
The distributing step stores a request that can be output without waiting for completion of the transaction in the first queue, and a request that is output after waiting for completion of the transaction in the second queue having a lower priority than the first queue. A request control method comprising the step of storing.
受信部が、前記第1キューから選択されて発行されたリクエストに応じて第1応答信号を出力するステップと、
前記第1応答信号に応じて前記第1キューから次のリクエストを抽出して、外部デバイスに発行するステップと
を更に具備する
リクエスト制御方法。 The request control method according to claim 17,
A receiving unit outputting a first response signal in response to a request selected from the first queue and issued;
Extracting the next request from the first queue in response to the first response signal and issuing the next request to an external device; and a request control method.
前記受信部が、前記第2キューから選択されて発行されたリクエストの完了通知を外部デバイスから受信するステップと、
前記受信部が、前記完了通知に応じて第2応答信号を出力するステップと、
前記第2応答信号に応じて前記第2キューから次のリクエストを抽出して、外部デバイスに発行するステップと
を更に具備する
リクエスト制御方法。 The request control method according to claim 18, wherein
Receiving the notification of completion of a request selected and issued from the second queue from an external device;
The receiving unit outputting a second response signal in response to the completion notification;
Extracting a next request from the second queue in response to the second response signal and issuing the next request to an external device; and a request control method.
前記優先度の高いキュー内にリクエストが格納されている場合、前記優先度の高いキュー内のリクエストがなくなるまで、前記優先度の高いキュー内のリクエストを選択して外部デバイスに発行するステップを更に具備する
リクエスト制御方法。 The request control method according to any one of claims 16 to 19,
If a request is stored in the high priority queue, further selecting and issuing a request in the high priority queue to an external device until there are no more requests in the high priority queue. A request control method provided.
前記優先度の高いキューの全てにリクエストが格納されている場合、前記格納されたリクエストの全てを発行した後、前記優先度の高いキューより低い優先度のキュー内のリクエストを選択して外部デバイスに発行するステップを更に具備する
リクエスト制御方法。 The request control method according to claim 20, wherein
When requests are stored in all of the high priority queues, after issuing all of the stored requests, select a request in a queue with a lower priority than the high priority queue and select an external device A request control method further comprising the step of:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010101863A JP2011232917A (en) | 2010-04-27 | 2010-04-27 | Semiconductor integrated circuit and request control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010101863A JP2011232917A (en) | 2010-04-27 | 2010-04-27 | Semiconductor integrated circuit and request control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011232917A true JP2011232917A (en) | 2011-11-17 |
Family
ID=45322180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010101863A Withdrawn JP2011232917A (en) | 2010-04-27 | 2010-04-27 | Semiconductor integrated circuit and request control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011232917A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013065065A (en) * | 2011-09-15 | 2013-04-11 | Ricoh Co Ltd | Access control device, image forming device, and access control method |
JP2013242766A (en) * | 2012-05-22 | 2013-12-05 | Denso Corp | Request processing apparatus |
WO2017043140A1 (en) * | 2015-09-08 | 2017-03-16 | ソニー株式会社 | Memory controller, memory system, and method for controlling memory controller |
JP2017054483A (en) * | 2015-09-08 | 2017-03-16 | ソニー株式会社 | Memory controller, memory system, and control method of memory controller |
JP2021507361A (en) * | 2017-12-15 | 2021-02-22 | シー−スカイ マイクロシステムズ カンパニー,リミテッド | Memory protection device for indirect access memory controllers |
JP2021083068A (en) * | 2019-11-14 | 2021-05-27 | キヤノン株式会社 | Image processing apparatus, image processing system, and method for controlling image processing apparatus |
-
2010
- 2010-04-27 JP JP2010101863A patent/JP2011232917A/en not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013065065A (en) * | 2011-09-15 | 2013-04-11 | Ricoh Co Ltd | Access control device, image forming device, and access control method |
JP2013242766A (en) * | 2012-05-22 | 2013-12-05 | Denso Corp | Request processing apparatus |
WO2017043140A1 (en) * | 2015-09-08 | 2017-03-16 | ソニー株式会社 | Memory controller, memory system, and method for controlling memory controller |
JP2017054483A (en) * | 2015-09-08 | 2017-03-16 | ソニー株式会社 | Memory controller, memory system, and control method of memory controller |
JP2021507361A (en) * | 2017-12-15 | 2021-02-22 | シー−スカイ マイクロシステムズ カンパニー,リミテッド | Memory protection device for indirect access memory controllers |
JP7213879B2 (en) | 2017-12-15 | 2023-01-27 | シー-スカイ マイクロシステムズ カンパニー,リミテッド | Memory protection device for indirect access memory controller |
US11726675B2 (en) | 2017-12-15 | 2023-08-15 | C-Sky Microsystems Co., Ltd. | Memory protective apparatus for indirect access memory controller |
JP2021083068A (en) * | 2019-11-14 | 2021-05-27 | キヤノン株式会社 | Image processing apparatus, image processing system, and method for controlling image processing apparatus |
JP7493954B2 (en) | 2019-11-14 | 2024-06-03 | キヤノン株式会社 | Image processing device and method for controlling image processing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9280290B2 (en) | Method for steering DMA write requests to cache memory | |
US8683126B2 (en) | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory | |
US8656071B1 (en) | System and method for routing a data message through a message network | |
US7865647B2 (en) | Efficient resource arbitration | |
US20100095036A1 (en) | Priority Based Bus Arbiters Avoiding Deadlock And Starvation On Buses That Support Retrying Of Transactions | |
KR20140048186A (en) | A memory controller and method of operation of such a memory controller | |
JP2011232917A (en) | Semiconductor integrated circuit and request control method | |
US9213545B2 (en) | Storing data in any of a plurality of buffers in a memory controller | |
US8489851B2 (en) | Processing of read requests in a memory controller using pre-fetch mechanism | |
US20180276128A1 (en) | Methods for performing a memory resource retry | |
US9984014B2 (en) | Semiconductor device | |
EP2447851A1 (en) | Transmission device, transmission method, and transmission program | |
JP5057360B2 (en) | Semiconductor device, data processing device, and access method to storage device | |
CN114003168A (en) | Storage device and method for processing commands | |
US8458406B2 (en) | Multiple critical word bypassing in a memory controller | |
US7000060B2 (en) | Method and apparatus for ordering interconnect transactions in a computer system | |
US7509482B2 (en) | Orderly processing ready entries from non-sequentially stored entries using arrival order matrix reordered upon removal of processed entries | |
US7228362B2 (en) | Out-of-order servicing of read requests with minimal additional storage | |
US8560784B2 (en) | Memory control device and method | |
JP2010044645A (en) | Data transfer device, and data transfer method | |
US8996772B1 (en) | Host communication device and method with data transfer scheduler | |
JP2011028343A (en) | Processor and data transfer method | |
US9110856B2 (en) | Interface control apparatus, data storage apparatus and method for interface control | |
US20140136796A1 (en) | Arithmetic processing device and method for controlling the same | |
JP6992616B2 (en) | Data transfer device, data transfer method, 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: 20130702 |