JP2007094649A - Access arbitration circuit - Google Patents
Access arbitration circuit Download PDFInfo
- Publication number
- JP2007094649A JP2007094649A JP2005281737A JP2005281737A JP2007094649A JP 2007094649 A JP2007094649 A JP 2007094649A JP 2005281737 A JP2005281737 A JP 2005281737A JP 2005281737 A JP2005281737 A JP 2005281737A JP 2007094649 A JP2007094649 A JP 2007094649A
- Authority
- JP
- Japan
- Prior art keywords
- priority
- access
- access request
- unit
- order
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000452 restraining effect Effects 0.000 abstract 1
- 230000006835 compression Effects 0.000 description 27
- 238000007906 compression Methods 0.000 description 27
- 230000006837 decompression Effects 0.000 description 26
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
- Memory System (AREA)
Abstract
Description
本発明は、複数の演算処理装置からのアクセス要求を調停するアクセス調停回路に関する。 The present invention relates to an access arbitration circuit that arbitrates access requests from a plurality of arithmetic processing units.
従来、複数のCPU(中央演算処理装置)によって、所定の機能を実現する機能回路部、例えばメモリやASIC(Application Specific Integrated Circuit)等のハードウェア資源を共有し、複数のCPUからこれら機能回路部にアクセスするようにしたマルチプロセッサシステムが知られている。 Conventionally, a plurality of CPUs (central processing units) share a functional circuit unit that realizes a predetermined function, for example, hardware resources such as a memory and an ASIC (Application Specific Integrated Circuit). There is known a multiprocessor system configured to access the system.
このようなマルチプロセッサシステムにおいては、複数のCPUから同時にこのような機能回路部にアクセスしようとすると、複数のCPUからのアクセスが競合し、各CPUからメモリ等の機能回路部に正常にアクセスすることができない。そこで、複数のCPUからのアクセスが競合した場合、各CPUが順番にアクセス権が得られるように、機能回路部へのアクセス権を付与するラウンドロビン方式のアクセス調停回路が知られている。 In such a multiprocessor system, when a plurality of CPUs try to access such a functional circuit unit at the same time, accesses from the plurality of CPUs compete and each CPU normally accesses a functional circuit unit such as a memory. I can't. Therefore, a round robin type access arbitration circuit that grants access right to a functional circuit unit is known so that each CPU can obtain access right in order when access from a plurality of CPUs competes.
しかし、ラウンドロビン方式では、処理を急ぐCPUであってもアクセスの順番が回ってこなければアクセス権が与えられるのが他のCPUのアクセスの後に回されてしまうため、優先度の高い処理の実行が遅れてしまうという不都合があった。 However, in the round robin method, even if the CPU rushes the processing, if the access order does not turn, the access right is given after the access of the other CPU, so the execution of the processing with high priority is performed. There was an inconvenience that was delayed.
そこで、各CPUに予め優先順位を付与し、複数のCPUからのアクセスが競合した場合には優先順位の高いCPUからのアクセスを優先して実行させ、優先順位の低いCPUからのアクセスについてはその実行を待機させることにより、複数のCPUからのアクセスを調停するようにしたアクセス調停回路が知られている(例えば、特許文献1参照。)。
しかしながら、上述のようなアクセス調停回路においては、優先順位の高いCPUからのアクセスが連続した場合、優先順位の低いCPUからのアクセスは、優先順位の高いCPUによるアクセスが途切れるまでその実行が待たされるため、優先順位の低いCPUからのアクセスの実行が際限なく待たされ続ける場合があるという不都合があった。 However, in the access arbitration circuit as described above, when access from a CPU with high priority continues, access from a CPU with low priority is awaited until the access by the CPU with high priority is interrupted. For this reason, there is a problem in that execution of access from a CPU having a low priority may be kept waiting indefinitely.
本発明は、このような問題に鑑みて為された発明であり、複数の演算処理装置からのアクセス要求の実行が、際限なく待たされることを抑制することができるアクセス調停回路を提供することを目的とする。 The present invention is an invention made in view of such a problem, and provides an access arbitration circuit capable of suppressing an indefinite wait for execution of access requests from a plurality of arithmetic processing units. Objective.
上述の目的を達成するために、本発明に係るアクセス調停回路は、複数の演算処理装置から送信されたアクセス要求を受信し、当該受信されたアクセス要求を、前記アクセス要求に応じて動作する機能回路部へ送信するアクセス調停回路であって、前記複数の演算処理装置からのアクセス要求を受信する受信部と、前記受信部により受信された複数のアクセス要求を記憶するためのアクセス要求記憶部と、前記受信部により受信された複数のアクセス要求にそれぞれ優先順位を付与して前記アクセス要求記憶部に当該優先順位の順番に記憶させる優先順位付与部と、前記優先順位付与部によって、前記優先順位が付与されたアクセス要求が前記アクセス要求記憶部に新たに記憶される場合、当該新たに記憶されるアクセス要求の優先順位に基づいて、前記アクセス要求記憶部により既に記憶されているアクセス要求の優先順位を動的に変化させる優先順位変更部と、前記複数のアクセス要求を、前記アクセス要求記憶部に記憶されている順に、前記機能回路部へ送信するアクセス要求送信部とを備えることを特徴としている。 In order to achieve the above object, an access arbitration circuit according to the present invention receives an access request transmitted from a plurality of arithmetic processing devices, and operates the received access request in accordance with the access request. An access arbitration circuit for transmitting to the circuit unit, wherein the receiving unit receives access requests from the plurality of arithmetic processing units; and an access request storage unit for storing a plurality of access requests received by the receiving unit; A priority order assigning unit that assigns a priority order to each of the plurality of access requests received by the receiving unit and stores them in the order of the priority order in the access request storage unit; and Is newly stored in the access request storage unit, it is based on the priority order of the newly stored access requests. A priority changing unit that dynamically changes the priority of the access requests already stored in the access request storage unit, and the plurality of access requests in the order stored in the access request storage unit. And an access request transmission unit that transmits to the functional circuit unit.
この構成によれば、複数の演算処理装置から送信されたアクセス要求が、優先順位付与部によって優先順位を付与され、その優先順位の順番で、アクセス要求記憶部に記憶される。そして、新たなアクセス要求が演算処理装置から送信され、優先順位付与部によってそのアクセス要求に優先順位が付与され、その優先順位の順番でアクセス要求記憶部に記憶される場合に、優先順位変更部によって、当該新たに記憶されるアクセス要求の優先順位に基づいてアクセス要求記憶部により既に記憶されているアクセス要求の優先順位が動的に変化される。さらに、アクセス要求記憶部によって記憶されている複数のアクセス要求が記憶されている順に、機能回路部へ送信される。 According to this configuration, the access requests transmitted from the plurality of arithmetic processing devices are given priority by the priority assigning unit, and are stored in the access request storage unit in the order of the priorities. When a new access request is transmitted from the arithmetic processing unit, the priority is given to the access request by the priority assigning unit, and stored in the access request storage unit in the order of the priority, the priority changing unit Thus, the priority of the access request already stored by the access request storage unit is dynamically changed based on the priority of the newly stored access request. Further, a plurality of access requests stored in the access request storage unit are transmitted to the functional circuit unit in the order in which they are stored.
これにより、新たなアクセス要求が演算処理装置から送信され、その優先順位の順番でアクセス要求記憶部に記憶される場合に、当該新たに記憶されるアクセス要求の優先順位に基づいてアクセス要求記憶部により既に記憶されているアクセス要求の優先順位が動的に変化されるので、アクセス要求記憶部により記憶されているアクセス要求の優先順位が低優先順位のまま固定されることがなく、アクセス要求記憶部により既に記憶されているアクセス要求より優先順位が高いアクセス要求が際限なく連続することが抑制される結果、アクセス要求の実行が際限なく待たされることが抑制される。 As a result, when a new access request is transmitted from the arithmetic processing unit and stored in the access request storage unit in the order of priority, the access request storage unit based on the priority of the newly stored access request Since the priority of the access request already stored is dynamically changed by the access request, the priority of the access request stored by the access request storage unit is not fixed at the low priority, and the access request is stored. As a result, it is suppressed that an access request having a higher priority than an access request that is already stored by the unit continues indefinitely, so that the execution of the access request is awaited indefinitely.
また、上述のアクセス調停回路において、前記優先順位変更部は、前記新たに記憶されるアクセス要求より前記優先順位が低いアクセス要求の優先順位を高く変更することを特徴としている。 In the above-described access arbitration circuit, the priority changing unit changes the priority of an access request having a lower priority than the newly stored access request.
この構成によれば、アクセス要求記憶部により既に記憶されているアクセス要求のうち、新たに記憶されるアクセス要求の優先順位より優先順位が低いアクセス要求の優先順位が高く変更される。この場合、より優先順位の高いアクセス要求がその優先順位の順番でアクセス要求記憶部に記憶されることによってアクセス要求記憶部における記憶順、すなわち実行順序が後にされたアクセス要求の優先順位が高く変更されるので、高優先順位のアクセス要求が連続した場合であっても実行順序が後にされたアクセス要求の実行が際限なく待たされることが抑制される。 According to this configuration, among the access requests already stored in the access request storage unit, the priority of the access request having a lower priority than the priority of the newly stored access request is changed higher. In this case, the access request having a higher priority is stored in the access request storage unit in the order of the priority, so that the priority of the access request stored in the access request storage unit, that is, the access request whose execution order has been changed is changed to be higher. Therefore, even when the high priority access requests are consecutive, it is possible to prevent the execution of the access requests whose execution order has been delayed from waiting indefinitely.
また、上述のアクセス調停回路において、前記複数の演算処理装置には、予め優先順位が付与されており、前記優先順位付与部は、前記受信部により受信されたアクセス要求に、当該アクセス要求を送信した前記演算処理装置の優先順位を付与することを特徴としている。 In the access arbitration circuit described above, a priority is assigned in advance to the plurality of arithmetic processing units, and the priority assigning unit transmits the access request to the access request received by the receiving unit. A priority order of the arithmetic processing devices is assigned.
この構成によれば、優先順位付与部によって、受信部により受信されたアクセス要求に、当該アクセス要求を送信した演算処理装置の優先順位が付与されるので、演算処理装置の優先順位の順番で、各演算処理装置のアクセス要求をアクセス要求記憶部により記憶させることができる。 According to this configuration, since the priority order of the arithmetic processing device that has transmitted the access request is given to the access request received by the receiving unit by the priority order assigning unit, The access request of each arithmetic processing unit can be stored in the access request storage unit.
また、上述のアクセス調停回路において、前記アクセス要求は、前記機能回路部におけるアドレス情報を含み、前記優先順位付与部は、前記受信部により受信されたアクセス要求に、当該アクセス要求に含まれるアドレス情報に基づいて、前記優先順位を付与することを特徴としている。 In the access arbitration circuit described above, the access request includes address information in the functional circuit unit, and the priority level assigning unit includes address information included in the access request in the access request received by the receiving unit. Based on the above, the priority is given.
この構成によれば、受信部により受信されたアクセス要求に、当該アクセス要求に含まれるアドレス情報に基づいて優先順位が付与することができるので、アドレス情報に基づく優先順位の順番で、各演算処理装置のアクセス要求をアクセス要求記憶部により記憶させることができる。 According to this configuration, since the priority can be given to the access request received by the receiving unit based on the address information included in the access request, each calculation process is performed in the order of the priority based on the address information. The access request storage unit can store the device access request.
このような構成のアクセス調停回路は、新たなアクセス要求が演算処理装置から送信され、その優先順位の順番でアクセス要求記憶部に記憶される場合に、当該新たに記憶されるアクセス要求の優先順位に基づいてアクセス要求記憶部により既に記憶されているアクセス要求の優先順位が動的に変化されるので、アクセス要求記憶部により記憶されているアクセス要求の優先順位が低優先順位のまま固定されることがなく、アクセス要求記憶部により既に記憶されているアクセス要求より優先順位が高いアクセス要求が際限なく連続することが抑制される結果、アクセス要求の実行が際限なく待たされることを抑制することができる。 The access arbitration circuit having such a configuration is configured so that when a new access request is transmitted from the arithmetic processing unit and stored in the access request storage unit in the order of priority, the priority of the newly stored access request Since the priority order of access requests already stored by the access request storage unit is dynamically changed based on the access request storage unit, the priority order of the access requests stored by the access request storage unit is fixed at the low priority level. As a result, an access request having a higher priority than an access request already stored in the access request storage unit is prevented from continuing indefinitely. it can.
以下、本発明に係る実施形態を図面に基づいて説明する。図1は、本発明の一実施形態に係るアクセス調停回路を用いたマルチプロセッサシステムの構成の一例を示すブロック図である。図1に示すマルチプロセッサシステム1は、CPU21,22,23と、画像処理回路24と、圧縮伸張回路25と、アクセス調停回路3と、メモリコントローラ4と、メモリ5とを備えている。そして、画像処理回路24、圧縮伸張回路25、アクセス調停回路3、及びメモリコントローラ4は、例えば集積化されてASIC6によって構成されている。また、CPU21,22,23は、バス71によって、ASIC6をアクセス可能に接続されている。
Embodiments according to the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of a multiprocessor system using an access arbitration circuit according to an embodiment of the present invention. The
メモリ5は、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25からのアクセス要求に応じて、例えば画像データ等の処理対象となるデータを記憶したり、出力したりする機能回路部の一例であり、例えばRAM(Random Access Memory)やROM(Read Only Memory)等の記憶素子により構成されている。なお、機能回路部は、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25からのアクセス要求に応じて動作するものであればよく、例えばASICや、通信インターフェース回路等の回路部であってもよい。
The
CPU21,22,23、画像処理回路24、及び圧縮伸張回路25は、メモリ5をアクセスすることにより所定の演算処理を実行する演算処理装置の一例であり、例えば、CPU21,22,23は、共通のバス71に接続されてマルチプロセッサシステムを構成し、画像処理回路24はメモリ5に記憶されている画像データに画像処理を施す画像処理回路であり、圧縮伸張回路25はメモリ5に記憶されているデータに圧縮伸張処理を施す画像処理回路である。
The
メモリコントローラ4は、ASIC6の内部バス72を介して画像処理回路24、及び圧縮伸張回路25に接続され、バス71とバス72とを介してCPU21,22,23と接続されている。そして、アクセス調停回路3から出力されたアクセス要求に応じて、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25とメモリ5との間で信号形式の変換を行い、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25からメモリ5をアクセス可能にする制御回路である。
The
アクセス調停回路3は、アクセス順序制御部31と、アクセス要求記憶部32とを備えている。また、アクセス順序制御部31は、優先順位付与部33と、優先順位変更部34とを備えている。そして、優先順位付与部33は、優先順位レジスタ35を備えている。さらに、アクセス調停回路3は、画像処理回路24と圧縮伸張回路25とが接続されて画像処理回路24と圧縮伸張回路25とからメモリ5へのアクセス要求を受け付ける。また、アクセス調停回路3は、バス71とバス72とを介してCPU21,22,23と接続されている。
The
そして、CPU21,22,23は、メモリ5やASIC6をアクセスする際には、予めバス71の使用を要求するバス要求信号RQ1,RQ2,RQ3をそれぞれアクセス順序制御部31へ出力し、アクセス順序制御部31がCPU21,22,23へバス71の使用を許可する旨のバス許可信号AQ1,AQ2,AQ3を出力することで、CPU21,22,23がバス71を介してメモリ5やASIC6をアクセス可能にされている。
Then, when accessing the
また、アクセス調停回路3は、バス要求信号RQ1,RQ2,RQ3や、バス71,72を介したアクセスによって、CPU21,22,23からのアクセス要求を受け付ける。この場合、アクセス順序制御部31におけるバス要求信号RQ1,RQ2,RQ3を受信する信号端子や、アクセス調停回路3と、画像処理回路24及び圧縮伸張回路25との信号接続端子、及びアクセス調停回路3とバス72との信号接続端子が、受信部の一例に相当している。
The
優先順位レジスタ35は、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25の間でメモリ5へのアクセスが競合した際の、優先順位の設定を記憶するレジスタで、例えばCPU21,22,23等から優先順位が書き込まれることで、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25等の演算処理装置の優先順位の設定を記憶する。なお、優先順位レジスタ35は、CPU21,22,23等から優先順位を書き込まれる例に限られず、例えば予め固定的にCPU21,22,23、画像処理回路24、及び圧縮伸張回路25の優先順位が設定されていてもよく、あるいはディップスイッチ等の設定スイッチによって、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25の優先順位が設定される構成であってもよい。
The
優先順位付与部33は、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25からメモリ5へのアクセス要求が出力されると、優先順位レジスタ35に記憶されている優先順位に応じてそのアクセス要求に優先順位を示す優先度情報を関連付けると共にその優先度情報で示される順番でアクセス要求記憶部32に記憶させる。
When an access request to the
優先順位変更部34は、アクセス要求記憶部32によって、優先度情報が関連付けられたアクセス要求が新たに記憶される場合、当該新たに記憶されるアクセス要求の優先度情報に基づいて、アクセス要求記憶部32により既に記憶されているアクセス要求の優先順位を動的に変化させる。
When the access
アクセス要求記憶部32は、例えば5段のFIFO(First-In First-Out)を用いて構成されており、優先順位付与部33により優先度情報が付加されたアクセス要求を、当該優先順位の順番に複数、例えば5個記憶し、その記憶順に従って、すなわち優先順位の高い順に、記憶したアクセス要求をメモリコントローラ4へ出力する。この場合、アクセス要求記憶部32は、アクセス要求送信部としても機能する。
The access
次に、上述のように構成されたアクセス調停回路3の動作について説明する。まず、例えばCPU21によって、優先順位レジスタ35に、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25の優先順位が設定され、各演算処理装置に優先順位が付与される。例えば、優先順位を示す優先度情報を、1から5の数値で表し、その数値が大きいものほど優先度が高いものとする。そして、CPU21によって、例えば、CPU21の優先度情報は「5」、CPU22の優先度情報は「4」、CPU23の優先度情報は「3」、画像処理回路24及び圧縮伸張回路25の優先度情報は「1」に設定される。
Next, the operation of the
次に、複数の演算処理装置、例えば、CPU21、画像処理回路24、及び圧縮伸張回路25から優先順位付与部33へメモリ5へのアクセス要求が出力されると、優先順位付与部33によって、優先順位レジスタ35に記憶されている優先順位に応じてそのアクセス要求に優先順位を示す優先度情報が関連付けられると共にその優先度情報で示される順番でアクセス要求記憶部32に記憶される。
Next, when an access request to the
図2は、アクセス要求記憶部32により記憶されるアクセス要求と優先度情報との状態を示す説明図である。図2において、アクセス要求「A」はCPU21によるメモリ5の読み出し要求を表し、アクセス要求「B」は画像処理回路24によるメモリ5の読み出し要求を表し、アクセス要求「C」は画像処理回路24によるメモリ5の書き込み要求を表し、アクセス要求「D」は圧縮伸張回路25によるメモリ5の読み出し要求を表している。
FIG. 2 is an explanatory diagram showing the status of access requests and priority information stored by the access
そして、アクセス調停回路3へ、CPU21からアクセス要求「A」が出力され、画像処理回路24からアクセス要求「B」及び「C」が出力され、圧縮伸張回路25からアクセス要求「D」が出力されて、アクセス要求「A」,「B」,「C」,「D」が競合すると、まず、優先順位付与部33によって、優先順位レジスタ35に設定された優先度情報に応じて、CPU21から出力されたアクセス要求「A」には優先度情報「5」が関連付けられ、画像処理回路24及び圧縮伸張回路25から出力されたアクセス要求「B」,「C」,「D」には優先度情報「1」が関連付けられてアクセス要求記憶部32に記憶される。
Then, the access request “A” is output from the
この場合、図2に示すように、優先順位付与部33によって、優先順位の高い順にアクセス要求記憶部32に記憶されるので、まず最も優先順位の高いアクセス要求「A」とその優先度情報「5」とが一番目、すなわち最初にアクセス要求記憶部32からメモリコントローラ4へ出力されるように記憶される。次に、アクセス要求「B」,「C」,「D」は優先順位が同じであるので、アクセス調停回路3によって受け付けられた順に、優先順位付与部33によってその優先度情報「1」と共にアクセス要求記憶部32に記憶される。
In this case, as shown in FIG. 2, the priority
次に、CPU23によるメモリ5の読み出し要求を表すアクセス要求「E」がCPU23からアクセス調停回路3へ出力されると、図3(a)に示すように、優先順位付与部33によって、優先順位レジスタ35に設定された優先度情報に応じて、アクセス要求「E」には優先度情報「3」が関連付けられ、さらに図3(b)に示すように優先順位付与部33によって、アクセス要求「E」の優先度情報「3」がアクセス要求記憶部32に記憶されているアクセス要求[A],「B」,「C」,「D」の優先度情報と比較される。
Next, when an access request “E” representing a read request of the
そうすると、アクセス要求「E」の優先度情報「3」は、アクセス要求「A」の優先度情報「5」より小さく、アクセス要求「B」の優先度情報「1」より大きいので、図3(c)に示すように、アクセス要求記憶部32によって、アクセス要求「E」及びその優先度情報「3」はアクセス要求[A]とアクセス要求「B」との間に記憶される。
Then, the priority information “3” of the access request “E” is smaller than the priority information “5” of the access request “A” and larger than the priority information “1” of the access request “B”. As shown in c), the access
なお、例えば、アクセス要求「E」の優先度情報がアクセス要求記憶部32に記憶されているアクセス要求の優先度情報の中で最も優先順位が低い場合には、FIFO形式でアクセス要求記憶部32の一番最後に記憶される。
For example, when the priority information of the access request “E” has the lowest priority among the priority information of the access requests stored in the access
これにより、アクセス要求記憶部32に複数のアクセス要求が優先順位の高い順に記憶され、優先順位の高い順にメモリコントローラ4へ出力されるので、例えばラウンドロビン方式によって競合するアクセスの調停を行った場合のように、優先順位の高い処理が優先度の低い処理より後回しにされることが抑制される。
As a result, a plurality of access requests are stored in the access
次に、優先順位変更部34によって、アクセス要求「E」が新たにアクセス要求記憶部32により記憶されたことが検出され、アクセス要求「E」の優先度情報「3」に基づいて、アクセス要求記憶部32により既に記憶されているアクセス要求[A],「B」,「C」,「D」の優先順位が動的に変化される。
Next, it is detected by the priority changing unit 34 that the access request “E” is newly stored in the access
具体的には、アクセス要求[A]の優先度情報「5」は、アクセス要求「E」の優先度情報「3」より大きく(優先順位が高く)、アクセス要求「B」,「C」,「D」の優先度情報「1」は、アクセス要求「E」の優先度情報「3」より小さい(優先順位が低い)ので、図3(d)に示すように、優先順位変更部34によって、アクセス要求「E」より優先度情報の値が小さいアクセス要求「B」,「C」,「D」の優先度情報が「1」加算されて「2」に変更される。 Specifically, the priority information “5” of the access request [A] is larger (higher priority) than the priority information “3” of the access request “E”, and the access requests “B”, “C”, Since priority information “1” of “D” is smaller than priority information “3” of access request “E” (priority is low), as shown in FIG. Then, the priority information of the access requests “B”, “C”, and “D” whose priority information value is smaller than that of the access request “E” is added to “1” and changed to “2”.
このように、アクセス要求記憶部32により既に記憶されているアクセス要求よりも優先順位の高いアクセス要求がアクセス調停回路3により新たに受け付けられ、新たなアクセス要求が既にアクセス要求記憶部32に記憶されているアクセス要求よりも早い順番に記憶され、すなわち記憶順序の追い越しが発生した場合、新たなアクセス要求より優先順位が低いために優先順位変更部34によって追い越されたアクセス要求の優先度情報が「1」加算され、優先順位が高く変更される。
In this way, an access request having a higher priority than the access request already stored in the access
これにより、優先順位の低いアクセス要求は、優先順位がより高いアクセス要求が新たにアクセス要求記憶部32に記憶されることにより記憶順序が追い越される都度、優先順位が高く変更されるので、より優先順位の高いアクセス要求が連続した場合であっても優先順位の低いアクセス要求は優先順位が低いまま固定されることなく動的に優先順位が高められ、優先順位の低いアクセス要求の実行が際限なく待たされ続けることが抑制される。
As a result, an access request with a lower priority is given a higher priority because the priority is changed higher each time the storage order is overtaken by newly storing an access request with a higher priority in the access
そして、アクセス要求記憶部32から優先順位の最も高いアクセス要求[A]がメモリコントローラ4へ出力され、メモリコントローラ4によって、アクセス要求[A]に応じてCPU21によるメモリ5の読み出し処理が実行される。
Then, the access request [A] having the highest priority is output from the access
なお、優先度情報を1から5の数字により表し、優先順位を5段階とする例を示したが、優先度情報は数字以外の例えばアルファベットその他の記号により表されてもよく、優先順位の段階も適宜増減すればよい。 Although the priority information is represented by a number from 1 to 5 and the priority is set to five levels, the priority information may be represented by, for example, an alphabet or other symbols other than numbers. May be increased or decreased as appropriate.
また、優先順位変更部34は、記憶順序の追い越しが発生した場合、新たに記憶されるアクセス要求より優先順位が低いアクセス要求の優先度情報の値を「1」加算、すなわち優先順位を一段階高める例に限られず、例えば二段階高めたり、予め設定された設定値を新たに記憶されるアクセス要求より優先順位が低いアクセス要求の優先度情報の値に加算したり、あるいは複数回追い越された場合に優先順位を高めるようにしてもよく、優先順位の高め方は適宜設定すればよい。 Further, when overtaking of the storage order occurs, the priority changing unit 34 adds “1” to the priority information value of the access request having a lower priority than the newly stored access request, that is, the priority is changed by one level. It is not limited to an example of increasing, for example, it is increased by two levels, or a preset setting value is added to the priority information value of the access request having a lower priority than the newly stored access request, or it is overtaken multiple times In some cases, the priority may be raised, and the method for raising the priority may be set as appropriate.
例えば、優先順位変更部34は、アクセス要求記憶部32により記憶されているアクセス要求毎に、当該アクセス要求よりも優先順位の高いアクセス要求が新たにアクセス要求記憶部32により記憶された回数を計数し、当該回数が予め設定された設定回数を超えた場合に当該設定回数を超えたアクセス要求の優先順位を高めるようにしてもよい。これにより、複数回追い越されたアクセス要求、すなわち実行されないままアクセス要求記憶部32により記憶されている期間が長いアクセス要求の優先順位を高めることができる。
For example, for each access request stored in the access
また、優先順位変更部34は、新たなアクセス要求がアクセス要求記憶部32に記憶された後に、追い越されたアクセス要求の優先順位を変更する例を示したが、例えば新たなアクセス要求がアクセス要求記憶部32に記憶される前に、例えば優先順位付与部33により優先順位が付与された際にその優先順位に基づいて、アクセス要求記憶部32により既に記憶されているアクセス要求の優先順位を動的に変化させるようにしてもよい。
Moreover, although the priority change part 34 showed the example which changes the priority of the overtaken access request after a new access request is memorize | stored in the access request memory |
また、優先順位レジスタ35には、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25等の演算処理装置における優先順位の設定が記憶され、優先順位付与部33は、演算処理装置から送信されたアクセス要求に、優先順位レジスタ35により記憶された優先順位の設定に基づいて当該アクセス要求を送信した演算処理装置の優先順位を付与する例を示したが、例えば、優先順位レジスタ35には、メモリ5におけるアドレスと、そのアドレスに対する優先順位を示す優先度情報を設定し、優先順位付与部33は、演算処理装置から送信されたアクセス要求に含まれるアドレス情報に基づいて、アクセス要求に優先順位を付与するようにしてもよい。
The priority order register 35 stores priority order settings in arithmetic processing devices such as the
これにより、例えばメモリ5における画像処理に用いられるアドレスを高い優先順位に設定し、例えばメモリ5における作業領域に用いられるアドレスを低い優先順位に設定すれば、画像処理に関するメモリ5へのアクセスを優先的に実行させることができるので、処理内容の優先順位に応じてアクセス要求の優先順位を設定することができる。
Thus, for example, if the address used for image processing in the
この場合、CPU21,22,23からのアクセス対象のアドレスは、バス要求信号RQ1,RQ2,RQ3によって、CPU21,22,23からアクセス順序制御部31へ出力されるようにしてもよい。
In this case, the addresses to be accessed from the
あるいはアクセス順序制御部31によってバス要求信号RQ1,RQ2,RQ3によるバス要求が受け付けられた場合、アクセス順序制御部31は、一時的にCPU21,22,23に対してバスの使用を許可し、メモリ5へのアクセスを開始させることにより、CPU21,22,23によるアクセス対象のアドレスをバス71,72を介して取得するようにしてもよい。この場合、バス要求信号RQ1,RQ2,RQ3によるバス要求と、バス71,72を介して取得されたアドレスとが、請求項におけるアクセス要求に相当している。
Alternatively, when a bus request based on the bus request signals RQ1, RQ2, and RQ3 is received by the access
また、優先順位付与部33は、CPU21,22,23、画像処理回路24、及び圧縮伸張回路25等の演算処理装置の優先順位に基づいてアクセス要求に優先順位を付与する例と、これら演算処理装置のアクセスの対象となるアドレスに基づいてアクセス要求に優先順位を付与する例とを示したが、例えば演算処理装置の優先順位とアドレスとの組合せに基づいてアクセス要求に優先順位を付与するようにしてもよい。例えば、優先順位付与部33は、予め演算処理装置の優先順位とアドレスとの組合せに対する優先順位をLUT(Look Up Table)として記憶しておき、このLUTを参照して演算処理装置の優先順位とアドレスとの組合せに基づいてアクセス要求に優先順位を付与するようにしてもよい。
In addition, the priority
また、メモリコントローラ4を用いて、アクセス要求記憶部32から出力されたアクセス要求をメモリ5に適合した信号形式に変換する例を示したが、メモリ5等の機能回路部がアクセス要求記憶部32から出力されたアクセス要求を直接実行できればメモリコントローラ4を用いなくてもよい。
Further, although an example has been shown in which the
1 マルチプロセッサシステム
3 アクセス調停回路
4 メモリコントローラ
5 メモリ
6 ASIC
21,22,23 CPU
24 画像処理回路
25 圧縮伸張回路
31 アクセス順序制御部
32 アクセス要求記憶部
33 優先順位付与部
34 優先順位変更部
35 優先順位レジスタ
71,72 バス
1
21, 22, 23 CPU
24
Claims (4)
前記複数の演算処理装置からのアクセス要求を受信する受信部と、
前記受信部により受信された複数のアクセス要求を記憶するためのアクセス要求記憶部と、
前記受信部により受信された複数のアクセス要求にそれぞれ優先順位を付与して前記アクセス要求記憶部に当該優先順位の順番に記憶させる優先順位付与部と、
前記優先順位付与部によって、前記優先順位が付与されたアクセス要求が前記アクセス要求記憶部に新たに記憶される場合、当該新たに記憶されるアクセス要求の優先順位に基づいて、前記アクセス要求記憶部により既に記憶されているアクセス要求の優先順位を動的に変化させる優先順位変更部と、
前記複数のアクセス要求を、前記アクセス要求記憶部に記憶されている順に、前記機能回路部へ送信するアクセス要求送信部と
を備えることを特徴とするアクセス調停回路。 An access arbitration circuit that receives an access request transmitted from a plurality of arithmetic processing devices, and transmits the received access request to a functional circuit unit that operates in response to the access request,
A receiving unit that receives access requests from the plurality of processing units;
An access request storage unit for storing a plurality of access requests received by the reception unit;
A priority order assigning unit that assigns a priority order to each of the plurality of access requests received by the receiving unit and stores the priority order in the order of the priority order in the access request storage unit;
When the access request to which the priority is given by the priority order assigning unit is newly stored in the access request storage unit, the access request storage unit is based on the priority order of the newly stored access request. A priority changing unit that dynamically changes the priority of access requests already stored by
An access arbitration circuit comprising: an access request transmission unit configured to transmit the plurality of access requests to the functional circuit unit in the order stored in the access request storage unit.
前記新たに記憶されるアクセス要求より前記優先順位が低いアクセス要求の優先順位を高く変更すること
を特徴とする請求項1記載のアクセス調停回路。 The priority changing unit
The access arbitration circuit according to claim 1, wherein the access request having a lower priority than the newly stored access request is changed to a higher priority.
前記優先順位付与部は、前記受信部により受信されたアクセス要求に、当該アクセス要求を送信した前記演算処理装置の優先順位を付与すること
を特徴とする請求項1又は2記載のアクセス調停回路。 Priorities are given to the plurality of arithmetic processing devices in advance,
3. The access arbitration circuit according to claim 1, wherein the priority level assigning unit gives the priority order of the arithmetic processing unit that has transmitted the access request to the access request received by the receiving unit.
前記優先順位付与部は、前記受信部により受信されたアクセス要求に、当該アクセス要求に含まれるアドレス情報に基づいて、前記優先順位を付与すること
を特徴とする請求項1又は2記載のアクセス調停回路。 The access request includes address information in the functional circuit unit,
3. The access arbitration according to claim 1, wherein the priority level assigning unit gives the priority level to the access request received by the receiving unit based on address information included in the access request. circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005281737A JP2007094649A (en) | 2005-09-28 | 2005-09-28 | Access arbitration circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005281737A JP2007094649A (en) | 2005-09-28 | 2005-09-28 | Access arbitration circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007094649A true JP2007094649A (en) | 2007-04-12 |
Family
ID=37980308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005281737A Pending JP2007094649A (en) | 2005-09-28 | 2005-09-28 | Access arbitration circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007094649A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009095969A1 (en) * | 2008-01-31 | 2009-08-06 | Panasonic Corporation | Data transfer device, data transfer system, and data transfer method |
CN102272744A (en) * | 2009-01-02 | 2011-12-07 | 国际商业机器公司 | Prioritization for conflict arbitration in transactional memory management |
JP2012003654A (en) * | 2010-06-21 | 2012-01-05 | Fujitsu Semiconductor Ltd | Data processing system |
JP2012113531A (en) * | 2010-11-25 | 2012-06-14 | Kyocera Document Solutions Inc | Information processor |
EP2793137A2 (en) | 2013-04-16 | 2014-10-22 | Renesas Mobile Corporation | Semiconductor Device and Processor System including the Same |
JP2017068319A (en) * | 2015-09-28 | 2017-04-06 | 株式会社メガチップス | Data processing apparatus |
CN107908577A (en) * | 2017-11-24 | 2018-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | A kind of multi-path with arbitration function accesses the circuit of storage control |
-
2005
- 2005-09-28 JP JP2005281737A patent/JP2007094649A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009095969A1 (en) * | 2008-01-31 | 2009-08-06 | Panasonic Corporation | Data transfer device, data transfer system, and data transfer method |
CN102272744A (en) * | 2009-01-02 | 2011-12-07 | 国际商业机器公司 | Prioritization for conflict arbitration in transactional memory management |
JP2012514780A (en) * | 2009-01-02 | 2012-06-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method, system, and computer program for prioritization for contention arbitration in transaction memory management (priority for contention arbitration in transaction memory management) |
US9170844B2 (en) | 2009-01-02 | 2015-10-27 | International Business Machines Corporation | Prioritization for conflict arbitration in transactional memory management |
JP2012003654A (en) * | 2010-06-21 | 2012-01-05 | Fujitsu Semiconductor Ltd | Data processing system |
JP2012113531A (en) * | 2010-11-25 | 2012-06-14 | Kyocera Document Solutions Inc | Information processor |
EP2793137A2 (en) | 2013-04-16 | 2014-10-22 | Renesas Mobile Corporation | Semiconductor Device and Processor System including the Same |
US9317219B2 (en) | 2013-04-16 | 2016-04-19 | Renesas Electronics Corporation | Semiconductor device and processor system including the same |
JP2017068319A (en) * | 2015-09-28 | 2017-04-06 | 株式会社メガチップス | Data processing apparatus |
CN107908577A (en) * | 2017-11-24 | 2018-04-13 | 中国航空工业集团公司西安航空计算技术研究所 | A kind of multi-path with arbitration function accesses the circuit of storage control |
CN107908577B (en) * | 2017-11-24 | 2021-03-26 | 中国航空工业集团公司西安航空计算技术研究所 | Multi-channel access memory controller circuit with arbitration function |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011089660A1 (en) | Bus arbitration device | |
US20070233923A1 (en) | Bus arbitration system and method thereof | |
US9471521B2 (en) | Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit | |
JP2009518753A (en) | Arbitration of memory access requests | |
JP2019113917A (en) | Data processing device, and control method of data processing device | |
JP4210303B2 (en) | Memory access bandwidth allocation and latency control in digital cameras | |
US6782433B2 (en) | Data transfer apparatus | |
CN105988968B (en) | Semiconductor device with a plurality of semiconductor chips | |
JP3532533B2 (en) | Arbiter and bus system employing the arbiter | |
JP2007094649A (en) | Access arbitration circuit | |
JPH09153009A (en) | Arbitration method for hierarchical constitution bus | |
US20160154603A1 (en) | Data transfer control device, apparatus including the same, and data transfer control method | |
KR100451722B1 (en) | apparatus for controlling direct memory access | |
JP5417305B2 (en) | Information processing device | |
JP2006277363A (en) | Information transfer system, and image forming device | |
JP3206656B2 (en) | Prefetch device and prefetch method on bus | |
JP4898527B2 (en) | RESOURCE USE MANAGEMENT DEVICE, RESOURCE USE MANAGEMENT SYSTEM, AND RESOURCE USE MANAGEMENT DEVICE CONTROL METHOD | |
JP2000010914A (en) | Arbitration control device and method | |
US20080229030A1 (en) | Efficient Use of Memory Ports in Microcomputer Systems | |
JP2017010220A (en) | Arbitration circuit | |
JP2003036240A (en) | Inter multiprocessor communication device | |
JP2005346211A (en) | Memory controller and information processor using memory controller | |
JP2008090720A (en) | Data transfer system and image forming device | |
JP2000207355A (en) | Data transfer controller | |
JP2000330933A (en) | System for access to common resource |