JP2008117068A - Information processing system - Google Patents
Information processing system Download PDFInfo
- Publication number
- JP2008117068A JP2008117068A JP2006298069A JP2006298069A JP2008117068A JP 2008117068 A JP2008117068 A JP 2008117068A JP 2006298069 A JP2006298069 A JP 2006298069A JP 2006298069 A JP2006298069 A JP 2006298069A JP 2008117068 A JP2008117068 A JP 2008117068A
- Authority
- JP
- Japan
- Prior art keywords
- access
- path
- information processing
- route
- master
- 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
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、システムバスを介して接続されるデバイス間のアクセスを制御可能な情報処理システムに関する。 The present invention relates to an information processing system capable of controlling access between devices connected via a system bus.
従来、車両に搭載されるナビゲーション装置には、ディスプレイに道路地図を表示する地図表示や、表示地図上に走行経路を表示する走行案内、といったナビゲーション装置本来の制御に加えて、車載カメラによる撮像画像やテレビチューナによる受信画像等をディスプリに表示させる表示制御、暗号化された音楽情報を受信する受信装置からの受信信号を復号化して音声信号を生成する音声再生制御、表示画像の切換指令や選局指令等を受け付け車載カメラやテレビチューナ等の他の車載装置に出力する操作制御、…といったナビゲーション装置本来の機能とは異なる機能を実現する制御を実行するものが知られている。 Conventionally, a navigation device mounted on a vehicle includes an image captured by an in-vehicle camera in addition to the original control of the navigation device such as a map display for displaying a road map on a display and a travel guide for displaying a travel route on the display map. Display control that displays received images and television tuners on the display, audio playback control that generates audio signals by decoding received signals from receivers that receive encrypted music information, display image switching commands and selection There is known one that executes a control that realizes a function different from the original function of the navigation device, such as an operation control that receives a station command or the like and outputs it to another in-vehicle device such as an in-vehicle camera or a TV tuner.
そして、この種のナビゲーション装置のように、多機能化に伴い種類の異なる多くの制御を実行する情報処理システムにおいては、図9に例示するように、各種制御のための演算処理(アプリケーションソフト:以下単にアプリケーションともいう)を実行するCPU2が接続されるシステムバス20に、DMAコントローラ4、シリアル通信コントローラ6、暗号エンジン8、MPEGデコーダ10、メモリ12、グラフィックコントローラ14、PCI−Exインターフェース16、…といった多数のデバイスが接続される。
In an information processing system that executes many types of control as multifunctional functions, such as this type of navigation device, arithmetic processing (application software: A
ところで、システムバス20には、システムバス20に接続されたデバイスからの要求に従い、複数のデバイスの一つに対してバスの使用を許可するアービタや、アービタがバスの使用を許可したデバイス(マスタ)からのアクセス先であるデバイス(スレーブ)を選択して、これらマスタ/スレーブ間をデータ転送可能に接続するデコーダが設けられている。
By the way, the
なお、図9において、M0,M1,…は、システムバス20に接続された各デバイス2〜16からのマスタアクセスを表し、S0,S1,…は、各デバイス2〜16へのスレーブアクセスを表わす。
9, M0, M1,... Represent master access from each device 2-16 connected to the
また、アービタは、予め設定された優先順位に従いバスの使用を許可するデバイスを選択するが、優先順位が高いデバイスからのアクセスが頻繁に行われると、優先順位が低いデバイスは、マスタとなって他のデバイス(スレーブ)にアクセスすることができなくなる。 In addition, the arbiter selects a device that permits the use of the bus according to a preset priority, but if a device with a high priority is frequently accessed, the device with the low priority becomes the master. It becomes impossible to access other devices (slave).
そこで、従来、この種の情報処理システムにおいては、各デバイス(マスタ)によるシステムバス20の占有状態を監視して、その占有率がしきい値を越えるデバイスについては、そのデバイスからシステムバス20へのアクセス要求を禁止することで、優先順位が低いデバイス(マスタ)でも、アービタによる制御の下に、システムバス20を使用できるようにすることが提案されている(例えば、特許文献1等参照)。
しかしながら、上記提案の技術は、アービタによりシステムバスの使用が許可されるデバイス(マスタ)が特定のデバイスに集中するのを防止することはできるものの、デコーダにより選択されるスレーブ側のデバイスが特定のデバイスに集中するのを防止することはできない。 However, although the proposed technique can prevent the device (master) permitted to use the system bus by the arbiter from concentrating on a specific device, the slave side device selected by the decoder is not specified. It cannot prevent you from concentrating on the device.
つまり、デコーダにより選択されるスレーブ側のデバイスが特定のデバイスに集中した場合には、そのアクセス経路でのデータの転送速度がボトルネックとなって、システムバスを占有するマスタの切り換えに時間がかかり、上記各アプリケーションの実行に必要なデータ転送を実現できないことがあるが、上記提案の技術では、こうした問題は防止することはできなかった。 In other words, when the slave devices selected by the decoder are concentrated on a specific device, the data transfer speed on the access path becomes a bottleneck and it takes time to switch the master that occupies the system bus. In some cases, the data transfer necessary for executing each application cannot be realized. However, the above-mentioned proposed technique cannot prevent such a problem.
本発明は、こうした問題に鑑みなされたものであり、システムバスを介して複数のデバイス間でのデータ転送がなされる情報処理システムにおいて、システムバスでデータ転送に用いられるアクセス経路を分散させて、データ転送の最適化を図ることを目的とする。 The present invention has been made in view of such problems, and in an information processing system in which data transfer is performed between a plurality of devices via a system bus, an access path used for data transfer by the system bus is distributed, The purpose is to optimize data transfer.
かかる目的を達成するためになされた請求項1に記載の情報処理システムにおいては、各種デバイスが接続されるシステムバスが3以上に分割され、その分割されたシステムバス同士が、相互にアクセス可能なデバイスとして接続されている。
In the information processing system according to
そして、各システムバスには、それぞれ、当該システムバスに接続されたデバイスからの要求に対して、一つのデバイスにシステムバスの使用を許可するアービタと、このアービタが使用を許可したマスタ側デバイスからのアクセス先であるスレーブ側デバイスを選択し、当該システムバスを介してこれら各デバイス間を接続させるデコーダが設けられる。 Each system bus has an arbiter that allows one device to use the system bus in response to a request from a device connected to the system bus, and a master side device that the arbiter has permitted to use. A decoder is provided that selects the slave device that is the access destination of the device and connects these devices via the system bus.
従って、この情報処理システムによれば、情報処理システムを構成するデバイス毎に、そのデバイスがマスタとなって他のデバイス(スレーブ)にアクセスする際のアクセス経路として、3以上のシステムバスを利用して実現可能な複数のアクセス経路の中から選択することができる。 Therefore, according to this information processing system, for each device constituting the information processing system, three or more system buses are used as an access path when the device becomes a master and accesses another device (slave). It is possible to select from a plurality of access paths that can be realized.
よって、本発明の情報処理システムによれば、各デバイスがマスタとなって他のスレーブ側デバイスにアクセスする際のアクセス経路が、システムバス同士を接続する経路を含み、しかも、その経路の一つに集中することのないように、各システムバス内のデコーダがマスタ側デバイスからの要求に従い選択するスレーブ側デバイスを設定することで、各システムバスを含め、システム全体でマスタ及びスレーブとなるデバイスを分散させて、システムバスでのデータ転送の最適化を図ることができるようになる。 Therefore, according to the information processing system of the present invention, the access path when each device becomes a master and accesses another slave device includes the path connecting the system buses, and one of the paths. By setting the slave side device that the decoder in each system bus selects according to the request from the master side device, the device that becomes the master and slave in the entire system, including each system bus, is set. By distributing the data, it is possible to optimize data transfer on the system bus.
ところで、情報処理システムにおいて、アクセス頻度が高くなるデバイスは、マスタ/スレーブ共に、CPUが実行するアプリケーション毎に異なることから、上記のように、各システムデバイスにおいてデコーダが選択するスレーブ側デバイスを予め設定しておいても、CPUが実行するアプリケーションが変化すると、特定の2つのシステムバスがマスタ/スレーブとして頻繁に動作し、そのシステムバス間の経路がボトルネックとなってしまうことが考えられる。 By the way, in the information processing system, the device with high access frequency is different for each application executed by the CPU for both the master and the slave. As described above, the slave device selected by the decoder in each system device is set in advance. Even so, if the application executed by the CPU changes, two specific system buses frequently operate as master / slave, and the path between the system buses may become a bottleneck.
そこで、このような問題を防止するには、請求項2に記載のように、請求項1に記載の情報処理システムにおいて、過負荷経路検出手段が、各システムバス間のアクセス状況を監視して、占有率が設定レベルを越えるアクセス経路を過負荷経路として検出するようにし、この過負荷経路検出手段が過負荷経路を検出した際には、経路変更可能デバイス抽出手段が、その検出された過負荷経路を介してスレーブ側デバイスにアクセスするマスタ側デバイスの中から、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスの一つを抽出し、アクセス経路変更手段が、その抽出したマスタ側デバイスがスレーブ側デバイスにアクセスする際の経路が過負荷経路を利用しない迂回経路となるよう、システムバスに設けられたデコーダの動作を変更するように構成するとよい。
Therefore, in order to prevent such a problem, as described in
つまり、このようにすれば、CPUが実行するアプリケーションの種類によって、各システムバス間に形成されるアクセス経路の一つの使用頻度が高くなったとしても、その経路が過負荷経路として検出されて、その経路を迂回する迂回経路が自動で設定されることになるので、特定のアプリケーションで特定のシステムバス間のアクセス経路がボトルネックとなって、デバイス間のデータ転送を良好に実行できなくなるのを防止することができる。 In other words, in this way, even if the frequency of use of one of the access paths formed between the system buses increases depending on the type of application executed by the CPU, the path is detected as an overload path, Since a detour route that bypasses the route is automatically set, the access route between specific system buses becomes a bottleneck in a specific application, and data transfer between devices cannot be performed well. Can be prevented.
また、この場合、経路変更可能デバイス抽出手段において、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスの一つを正確に抽出できるようにするには、請求項3に記載のように、経路変更可能デバイス抽出手段に対し、各システムバスに接続されたデバイスがマスタ側デバイスとして他のスレーブ側デバイスにアクセスする際に利用可能な経路が予め登録された経路情報記憶手段を設けておき、経路変更可能デバイス抽出手段が、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスを抽出する際には、その経路情報記憶手段に記憶された経路情報を利用するようにすればよい。 Further, in this case, in order to enable the path changeable device extraction unit to accurately extract one of the master side devices that can bypass the overload path and access the slave side device, As described above, the path changeable device extraction means is provided with a path information storage means in which paths that can be used when a device connected to each system bus accesses another slave side device as a master side device are registered in advance. The path changeable device extraction means uses the path information stored in the path information storage means when extracting the master side device that can bypass the overload path and access the slave side device. You can do it.
また、経路変更可能デバイス抽出手段が、過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスを抽出する際、その抽出可能なマスタ側デバイスが複数存在する場合には、その複数のマスタ側デバイスのうち、過負荷経路の占有率が最も大きいマスタ側デバイスを抽出するようにするとよい。 Further, when the path changeable device extraction unit extracts a master device that can bypass the overload route and can access the slave device, if there are a plurality of master devices that can be extracted, Among the master side devices, it is preferable to extract the master side device having the largest occupation rate of the overload path.
そして、このためには、請求項4に記載のように、過負荷経路検出手段を、各システムバス間のアクセス状況に加えて、各システムバスと各システムバスに接続されたデバイスと間のアクセス状況も監視するように構成し、経路変更可能デバイス抽出手段側では、過負荷経路検出手段により検出されたシステムバスとデバイスとの間のアクセス状況に基づき、過負荷経路の占有率が最も大きいマスタ側デバイスを抽出するようにするとよい。
For this purpose, as described in
また次に、請求項2〜請求項4に記載の情報処理システムにおいて、データ転送に利用されるアクセス経路を常時最適に設定できるようにするには、過負荷検出手段を常時動作させればよいが、このようにすると、CPUが特定のアプリケーションを実行しており、各デバイスからのアクセス経路がそのアプリケーションに対応した最適経路に設定されているときに、過負荷検出手段を不必要に動作させてしまうことになる。
Next, in the information processing system according to any one of
そこで、請求項2〜4に記載の情報処理システムには、請求項5に記載のように、更に、当該情報処理システムにて実行可能な複数の情報処理(つまりアプリケーション)を順に実行させ、各情報処理の実行時に、過負荷検出手段、経路変更可能デバイス抽出手段、及び、アクセス経路変更手段をそれぞれ動作させて、各情報処理の実行に適した前記各デコーダの動作条件を設定する動作条件設定手段と、当該情報処理システムにて実行される情報処理が変更される度に、その変更後の情報処理に適した各デコーダの動作条件を、動作条件設定手段にて設定された動作条件の中から選択して、各デコーダの動作条件を変更するデコーダ動作切換手段を設けるようにしてもよい。
Therefore, in the information processing system according to
そして、このようにすれば、過負荷検出手段を常時動作させることなく、当該情報処理システムのCPUにて実行されるアプリケーションが変更された際に、各デコーダの動作条件を、そのアプリケーションの実行に適した動作条件に切り換えることができるようになる。 Then, when the application executed by the CPU of the information processing system is changed without always operating the overload detection means, the operating condition of each decoder is changed to the execution of the application. It becomes possible to switch to suitable operating conditions.
以下に、本発明の実施形態を図面と共に説明する。
図1は、本発明が適用された実施形態の情報処理システム全体の構成を表すブロック図である。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the overall configuration of an information processing system according to an embodiment to which the present invention is applied.
本実施形態の情報処理システムは、図9に例示した従来装置と同様、各種制御のためのアプリケーションを実行するCPU2、DMAコントローラ4、シリアル通信コントローラ6、暗号エンジン8、MPEGデコーダ10、メモリ12、グラフィックコントローラ14、PCI−Exインターフェース16、…といった多数のデバイスを備える。
The information processing system of the present embodiment is similar to the conventional apparatus illustrated in FIG. 9 in that the
一方、これら各デバイスが接続されるシステムバス20は、3つに分割されており、その分割された3つのシステムバス20A、20B、20C同士は、マスタ/スレーブとして相互にアクセス可能なデバイスとして互いに接続されている。
On the other hand, the
また、これら3つのシステムバス20A〜20Cのうち、システムバス20Aには、CPU2及びPCI−Exインターフェース16が接続され、システムバス20Bには、DMAコントローラ4、シリアル通信コントローラ6及び暗号エンジン8が接続され、システムバス20Cには、MPEGデコーダ10、メモリ12及びグラフィックコントローラ14が接続されている。
Of these three
また、図2に示すように、各システムバス20A〜20Cには、それぞれ、当該バスに接続されたデバイスからの要求REQ0、REQ1、REQ2、…に従い、一つのデバイスに対して許可信号ACKn(n:0、1、2、…)を出力して、当該バスの使用を許可するアービタ22と、このアービタ22がバスの使用を許可(換言すれば、許可信号ACKnを出力)したデバイス(マスタMj(j:0、1、2、…))からのアクセス先であるデバイス(スレーブSk(k:0、1、2、…))を選択して、これらマスタ/スレーブ間をデータ転送可能に接続するデコーダ24が設けられている。
Further, as shown in FIG. 2, each
このデコーダ24は、図3に示すように、スレーブS0、S1、S2、…となり得るデバイス毎に設けられた複数のセレクタ26を備え、そのセレクタ26の一つを介して、マスタM0、M1、M2、…となり得る各デバイスからのアクセス信号の一つを選択して、スレーブS0、S1、S2、…となり得るデバイスの一つに出力するものであり、各セレクタ26は、デコーダ制御回路28により駆動される。
As shown in FIG. 3, the
また、デコーダ制御回路28は、アービタ22から出力された許可信号ACKnと、予め設定されたデコーダ24の動作条件とに基づき、アービタ22がバスの使用を許可したデバイス(マスタMj)からのアクセス先となるデバイス(スレーブSk)を特定して、そのスレーブSkに対応したセレクタ26がマスタMjからのアクセス信号を選択し、他のセレクタ26がそのアクセス信号を選択することのないように、各セレクタ26を駆動する。
The
なお、このデコーダ制御回路28が、デコーダ24内の各セレクタ26を駆動するのに用いるデコーダ24の動作条件は、本発明の主要部である調整回路40により設定される。
Note that the operating conditions of the
また、システムバス20A〜20Cには、マスタM0、M1、M2、…となり得る各デバイスから当該バスへのアクセス状態、及び、当該バスからスレーブS0、S1、S2、…となり得る各デバイスへのアクセス状態をそれぞれ監視するバスモニタ回路30が設けられている。
In addition, the
このバスモニタ回路30は、マスタM0、M1、M2、…となり得るデバイス毎に設けられ、各デバイス(マスタM0、M1、M2、…)から当該バスへのアクセス状態を監視する複数のマスタアクセスモニタ部31と、スレーブS0、S1、S2、…となり得るデバイス毎に設けられ、当該バスからこれら各デバイス(スレーブS0、S1、S2、…)へのアクセス状態を監視する複数のスレーブアクセスモニタ部36とから構成されている。
The
そして、マスタアクセスモニタ部31は、図4(a)に例示するように、アービタ22から監視対象となるマスタ側デバイス(図ではマスタM0)へ出力される許可信号ACK0によりセットされてカウンタイネーブル信号CENを出力するフリップフロップ32と、アービタ22から他のマスタ側デバイス(図ではマスタM1、M2、…)へ出力される許可信号ACK1、ACK2、…を受けてフリップフロップ32をリセットさせ、カウンタイネーブル信号CENの出力を停止させるORゲート33と、フリップフロップ32から出力されるカウンタイネーブル信号CENを受けてシステムクロックをカウントすることで、監視対象となるマスタ側デバイスから当該バスへのアクセス時間を計時するカウンタ34とから構成されている。
Then, as illustrated in FIG. 4A, the master access monitor unit 31 is set by a permission signal ACK0 output from the
また、スレーブアクセスモニタ部36は、図4(b)に例示するように、デコーダ24により監視対象となるスレーブ側デバイス(図ではマスタS0)が選択されている場合にアサートされるセレクト信号CS0を受けてシステムクロックをカウントすることで、当該バスから監視対象となるスレーブ側デバイスへのアクセス時間を計時するカウンタ38にて構成されている。
Further, as illustrated in FIG. 4B, the slave access monitor unit 36 receives the select signal CS0 that is asserted when the slave device to be monitored (master S0 in the figure) is selected by the
このため、バスモニタ回路30においては、図4(c)に示すように、各システムバス20A〜20Cにてアービタ22及びデコーダ24(詳しくはデコーダ制御回路28)の制御の下に当該バスを介して接続されるマスタMj及びスレーブSkが切り換えられるたびに、それまで当該バスを占有していたマスタMj及びスレーブSkのアクセス時間t1、t2、t3、…が計時されることになる。なお、バスモニタ回路30は、調整回路40からの指令に従い動作し、通常、一定のモニタ期間Tだけ動作する。
For this reason, in the
次に、調整回路40は、当該情報処理システムを構成するデバイスの一つが他のデバイスにアクセスする際に、各システムバス20A〜20CにてマスタMj及びスレーブSkとして選択されるデバイス若しくはシステムバスのアクセス時間を、各システムバス20A〜20Cに設けられたバスモニタ回路30を介して計時することで、CPU2が実行するアプリケーション毎に、各デバイスとシステムバスとの間若しくはシステムバス間のアクセス経路の占有率を求め、その占有率が各アクセス経路で分散するように、各デバイス間を流れるデータの経路(データフロー)を設定するものであり、例えば、ASIC等からなるロジック回路にて構成されている。
Next, when one of the devices constituting the information processing system accesses another device, the
また、この調整回路40には、図5に示すように、デバイスの一つが他のデバイスにアクセスする際の経路情報として、3つのシステムバス20A〜20Cを適宜選択することにより実現し得る複数の経路情報が、経路情報記憶手段としての図示しないメモリに予め登録されており、調整回路40は、その登録された経路情報に従い、デバイスの一つが他のデバイスにアクセスする際の経路(データフロー)を設定する。
In addition, as shown in FIG. 5, the
つまり、例えば、PCI−Exインターフェース16に接続された情報機器が、PCI−Exインターフェース16を介してメモリ12に直接アクセスする際の経路としては、PCI−Exインターフェース16からシステムバス20A及び20Cを介してメモリ12にアクセスする経路と、PCI−Exインターフェース16からシステムバス20A、20B及び20Cを介してメモリ12にアクセスする経路との何れかを選択できる。
That is, for example, as a path when an information device connected to the PCI-
従って、この場合、そのデバイス間(PCI−Exインターフェース16−メモリ12間)の経路情報として、メモリには、
(1)システムバス20AにおいてマスタM3(つまりPCI−Exインターフェース16)からのメモリ12のアクセス要求に従いデコーダ24にスレーブS2(つまりシステムバス20C)を選択させ、システムバス20CにおいてマスタM0(つまりシステムバス20A)からのメモリ12のアクセス要求に従いデコーダ24にスレーブS3(つまりメモリ12)を選択させる第1の経路情報と、
(2)システムバス20AにおいてマスタM3(つまりPCI−Exインターフェース16)からのメモリ12のアクセス要求に従いデコーダ24にスレーブS1(つまりシステムバス20B)を選択させ、システムバス20BにおいてマスタM4(つまりシステムバス20A)からのメモリ12のアクセス要求に従いデコーダ24にスレーブS3(つまりシステムバス20C)を選択させ、システムバス20CにおいてマスタM1(つまりシステムバス20B)からのメモリ12のアクセス要求に従いデコーダ24にスレーブS3(つまりメモリ12)を選択させる第2の経路情報と、
の2種類の経路情報が登録される。
Therefore, in this case, the path information between the devices (between the PCI-
(1) In the
(2) In the
These two types of route information are registered.
そして、調整回路40は、各アプリケーションの実行時にアクセス経路毎に求めた占有率から、その占有率が特定の経路で大きくなることがないよう、上記2つの経路情報の一つを選択して、各システムバス20A〜20Cのデコーダ24の動作(つまりデコーダ制御回路28の制御動作)を設定する。
Then, the
以下、この調整回路40の動作を説明する。なお、本実施形態の調整回路40は、ロジック回路等で構成されるが、この調整回路40は、CPU2が実行する一つのアプリケーションとして実現することもできることから、以下の説明では、この調整回路40の動作を解りやすく易くするために、図6に示すフローチャートを用いて説明する。
Hereinafter, the operation of the
図6に示すように、調整回路40では、外部から指令を受けて、CPU2にて実行されるアプリケーション毎に、各デバイスとシステムバスとの間若しくはシステムバス間のアクセス経路の占有率を求め、その占有率が各アクセス経路で分散するようにデータフローの設定変更を行うアクセス経路設定処理と、情報処理システムの通常動作時に、CPU2が実行するアプリケーションに応じて、最適なアクセス経路を設定するアクセス経路変更処理との2種類の処理が実行される。
As shown in FIG. 6, the
まず、アクセス経路設定処理では、S110(Sはステップを表す)にて、CPU2に対して予め設定された1番目のアプリケーションを実行させると共に、デコーダ24がそのアプリケーションに対して現在設定されている動作条件で動作するようデコーダ制御回路28の制御動作を設定する。
First, in the access route setting process, in S110 (S represents a step), the
そして、続くS120では、各システムバス20A〜20Cに設けられたバスモニタ回路30を所定のモニタ期間Tだけ動作させ、続くS130にて、そのモニタ期間中に各システムバス20A〜20Cのバスモニタ回路30内でカウントされた各アクセス経路毎のカウント値(つまりアクセス時間)を読み込み、S140にて、その読み込んだ各アクセス時間のモニタ期間Tに対する割合を求めることで、CPU2が1番目のアプリケーションを実行しているときに各システムバス20A〜20Cにてアクセス経路として選択されるマスタ/スレーブの占有率を算出する。
In the subsequent S120, the
この結果、例えば、CPU2が、PCI−Exインターフェース16に接続された外部装置からメモリ12に地図データを転送させ、その地図データに基づき道路地図表示用の演算処理を行って、道路地図を、グラフィックコントローラ14を介してディスプレイに表示させる、道路地図表示用のアプリケーションを実行した際には、図7に示すように、PCI−Exインターフェース16からメモリ12へのアクセス、CPU2からメモリ12へのアクセス、CPU2からグラフィックコントローラ(GC)14へのアクセス、グラフィックコントローラ(GC)14からメモリ12へのアクセス、が順次なされ、これら各アクセス時に各システムバス20A〜20Cでアクセス経路として選択されたマスタ/スレーブの占有率が求められることになる。
As a result, for example, the
このようにS140にて、各システムバス20A〜20Cでアクセス経路として選択されたマスタ/スレーブの占有率が求められると、今度は、S150に移行して、その占有率の演算結果(モニタ結果)に基づき、各システムバス20A〜20C間に形成されて経路変更可能な3つのアクセス経路のうちで、占有率が設定レベル(例えば50%)を越えた過負荷経路があるか否かを判定する、過負荷経路検出手段としての処理を実行する。
As described above, when the occupation ratio of the master / slave selected as the access path in each
そして、S150にて過負荷経路が検出されなければ、後述のS190に移行し、S150にて過負荷経路が検出されると、S160に移行して、その過負荷経路を利用するアクセス処理(データフロー)の中から、その過負荷経路の占有率が最も大きいアクセス処理(データフロー)を抽出する、経路変更可能デバイス抽出手段としての処理を実行する。 If no overload path is detected in S150, the process proceeds to S190, which will be described later. If an overload path is detected in S150, the process proceeds to S160, and access processing (data A process as a path changeable device extraction unit that extracts an access process (data flow) having the largest occupation ratio of the overload path from the flow) is executed.
また、続くS170では、図5に示した経路情報に基づき、S160で選択されたアクセス処理で使用されるアクセス経路(データフロー)を、現在選択されているものとは異なるアクセス経路に変更する、アクセス経路変更手段としての処理を実行し、S180にて、その変更後のアクセス経路を、今回実行させたアプリケーションで使用するアクセス経路として内蔵メモリに記憶する。 In subsequent S170, the access path (data flow) used in the access process selected in S160 is changed to an access path different from the currently selected one based on the path information shown in FIG. Processing as an access route changing unit is executed, and in S180, the changed access route is stored in the built-in memory as an access route used by the application executed this time.
具体的には、例えば、モニタ結果が、図7に示したもので、システムバス20Aからシステムバス20Cへのアクセス経路の占有率(つまりシステムバス20AのスレーブS2及びシステムバス20CのマスタM0の占有率)が設定レベルを越えているときには、S160において、そのアクセス経路を利用するアクセス処理(図7に示すアプリケーションの1番目から3番目に実行されるアクセス処理)の中から、最も占有率が高くなっているCPU2からメモリ12へのアクセス処理が選択される。
Specifically, for example, the monitoring result is as shown in FIG. 7, and the occupation rate of the access path from the
そして、S170では、そのアクセス処理での経路として、図5に示した「CPU→メモリ」間の2つのアクセス経路の中から、今まで設定されていたアクセス経路「1」とは異なるもう一つのアクセス経路「2」が選択され、図8に点線で示すように、そのアクセス経路が変更されることになる。 In S170, another access route different from the access route “1” set up to now is selected from the two access routes between “CPU → memory” shown in FIG. The access route “2” is selected, and the access route is changed as shown by a dotted line in FIG.
またこの場合、図8の表から明らかな如く、システムバス20Aにおいては、スレーブS2へのアクセス時間が減って、スレーブS1へのアクセス時間が増え、システムバス20Bにおいては、マスタM1からのアクセス時間及びスレーブS3へのアクセス時間が増え、システムバス20Cにおいては、マスタM0からのアクセス時間が減って、マスタM1からのアクセス時間が増えることから、結果的に、各システムバス20A〜20C間でデータ転送に使用されるアクセス経路が分散されることになる。
In this case, as is apparent from the table of FIG. 8, in the
次に、S190では、上記S110〜S180の一連の処理を、CPU2が実行可能な全てのアプリケーションに対して行ったか否かを判断する。そして、全アプリケーションに対して上記一連の処理が実行されていれば、当該アクセス経路設定処理を終了し、逆に、全アプリケーションに対して上記一連の処理が実行されていなければ、S200にて、上記一連の処理を実行していないアプリケーションの一つを次回の実行アプリケーションとして選択して、S110に移行することで、S110〜S180の一連の処理を、その選択したアプリケーションに対して実行させる。 Next, in S190, it is determined whether or not the series of processing in S110 to S180 has been performed for all applications that can be executed by the CPU2. If the above-described series of processing is executed for all applications, the access route setting process is terminated. Conversely, if the above-described series of processing is not executed for all applications, in S200, One of the applications that have not executed the series of processes is selected as the next execution application, and the process proceeds to S110, whereby the series of processes of S110 to S180 is executed for the selected application.
従って、本実施形態の情報処理システムによれば、CPU2にて実行されるアプリケーション毎に、各システムバス20A〜20Cでデータ転送に使用されるアクセス経路を分散させることができるようになる。なお、本実施形態においては、S180〜S200の処理が、本発明の動作条件設定手段としての機能が実現される。
Therefore, according to the information processing system of the present embodiment, the access paths used for data transfer on the
一方、情報処理システムの通常動作時に実行されるアクセス経路変更処理は、S310にて、CPU2にて実行されるアプリケーションが変更されたか否かを判断し、S310にて、アプリケーションが変更されたと判断されると、S320に移行して、そのアプリケーションに対応したアクセス経路を、アクセス経路設定処理によって設定された最新のアクセス経路の中から選択し、その選択したアクセス経路に従いシステムバスでのデータ転送が行われるよう、デコーダ制御回路28の制御動作を設定する、といった手順で実行される。
On the other hand, the access path change process executed during normal operation of the information processing system determines whether or not the application executed by the
このため、CPU2が実行するアプリケーションが変更された際に、そのアプリケーションに応じて、システムバス20A〜20Cでのデータの転送経路が適正に変更されることになり、システムバス20A〜20C間を接続する特定のアクセス経路の使用頻度が一時的に多くなって、データの転送効率が悪化するのを防止できる。
Therefore, when the application executed by the
なお、本実施形態においては、図6に示したアクセス経路変更処理が、本発明のデコーダ動作切換手段に相当する。
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて種々の態様をとることができる。
In this embodiment, the access path changing process shown in FIG. 6 corresponds to the decoder operation switching means of the present invention.
As mentioned above, although one Embodiment of this invention was described, this invention is not limited to the said embodiment, A various aspect can be taken in the range which does not deviate from the summary of this invention.
例えば、上記実施形態では、システムバスを3つに分割して、これら各バス間でのデータ転送に使用されるアクセス経路の使用頻度を分散させるようにしたが、システムバスの分割数等は3つに限定されるものではなく、システムバスを4つ又はそれ以上に分割してもよい。 For example, in the above-described embodiment, the system bus is divided into three, and the use frequency of the access path used for data transfer between these buses is distributed. However, the system bus may be divided into four or more.
また、例えば、上記実施形態では、システムバス20Cからメモリ12へのアクセス経路は1つであるので、この経路の占有率が高くなるが、メモリ12へのアクセス経路が複数になるように、バスを分割し、メモリをバンク分けして、各バスからメモリへ同時にアクセスできるようにしてもよい。
Further, for example, in the above embodiment, since there is one access path from the system bus 20C to the
2…CPU、4…DMAコントローラ、6…シリアル通信コントローラ、8…シリアル通信コントローラ、8…暗号エンジン、10…MPEGデコーダ、12…メモリ、14…グラフィックコントローラ、16…PCI−Exインターフェース、20,20A,20B,20C…システムバス、22…アービタ、24…デコーダ、26…セレクタ、28…デコーダ制御回路、30…バスモニタ回路、31…マスタアクセスモニタ部、32…フリップフロップ、33…ORゲート、34…カウンタ、36…スレーブアクセスモニタ部、38…カウンタ、40…調整回路。 2 ... CPU, 4 ... DMA controller, 6 ... serial communication controller, 8 ... serial communication controller, 8 ... cryptographic engine, 10 ... MPEG decoder, 12 ... memory, 14 ... graphic controller, 16 ... PCI-Ex interface, 20, 20A , 20B, 20C ... system bus, 22 ... arbiter, 24 ... decoder, 26 ... selector, 28 ... decoder control circuit, 30 ... bus monitor circuit, 31 ... master access monitor unit, 32 ... flip-flop, 33 ... OR gate, 34 ... Counter, 36 ... Slave access monitor, 38 ... Counter, 40 ... Adjustment circuit.
Claims (5)
該システムバスに接続された複数のデバイスと、
該各デバイスからの要求に対し、一つのデバイスに前記システムバスの使用を許可するアービタと、
該アービタが使用を許可したマスタ側デバイスからのアクセス先であるスレーブ側デバイスを選択し、前記システムバスを介して該デバイス間を接続させるデコーダと、
を備えた情報処理システムにおいて、
前記システムバスを3以上に分割して、各システムバス同士を相互にアクセス可能なデバイスとして互いに接続すると共に、該各システムバスに前記アービタ及び前記デコーダをそれぞれ設けたことを特徴とする情報処理システム。 The system bus,
A plurality of devices connected to the system bus;
An arbiter that permits one device to use the system bus in response to a request from each device;
A decoder that selects a slave-side device that is an access destination from a master-side device that the arbiter is permitted to use, and connects the devices via the system bus;
In an information processing system equipped with
An information processing system in which the system bus is divided into three or more, the system buses are connected to each other as mutually accessible devices, and the arbiter and the decoder are provided in the system buses, respectively. .
該過負荷経路検出手段にて過負荷経路が検出されると、該過負荷経路を介してスレーブ側デバイスにアクセスするマスタ側デバイスの中から、該過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスの一つを抽出する経路変更可能デバイス抽出手段と、
該経路変更可能デバイス抽出手段が抽出したマスタ側デバイスが前記スレーブ側デバイスにアクセスする際の経路が前記過負荷経路を利用しない迂回経路となるよう、前記各システムバスに設けられたデコーダの動作を変更するアクセス経路変更手段と、
を備えたことを特徴とする請求項1に記載の情報処理システム。 Overload path detection means for monitoring the access status between the system buses and detecting as an overload path an access path whose occupation rate exceeds a set level;
When the overload path is detected by the overload path detecting means, the slave side device is accessed by bypassing the overload path from among the master side devices accessing the slave side device via the overload path. Reroutable device extraction means for extracting one of the possible master side devices;
The operation of the decoder provided in each system bus is performed so that the route when the master device extracted by the route changeable device extraction unit accesses the slave device becomes a bypass route that does not use the overload route. An access route changing means to be changed;
The information processing system according to claim 1, further comprising:
前記各システムバスに接続されたデバイスがマスタ側デバイスとして他のスレーブ側デバイスにアクセスする際に利用可能な経路が予め登録された経路情報記憶手段、
を備え、該経路情報記憶手段に記憶された経路情報に基づき、前記過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスを抽出することを特徴とする請求項2に記載の情報処理システム。 The path changeable device extraction means includes:
A path information storage means in which a path that can be used when a device connected to each system bus accesses another slave side device as a master side device;
And extracting a master side device that can bypass the overload route and access the slave side device based on the route information stored in the route information storage means. Processing system.
前記経路変更可能デバイス抽出手段は、前記過負荷経路を迂回してスレーブ側デバイスにアクセス可能なマスタ側デバイスが複数存在する場合には、前記過負荷経路検出手段により検出されたシステムバスとデバイスとの間のアクセス状況に基づき、過負荷経路の占有率が最も大きいマスタ側デバイスを抽出することを特徴とする請求項2又は請求項3に記載の情報処理システム。 The overload path detecting means monitors the access status between the system buses and devices connected to the system buses in addition to the access status between the system buses,
When there are a plurality of master-side devices that can access the slave-side device by bypassing the overload path, the path-changeable device extraction unit includes a system bus and a device detected by the overload path detection unit, 4. The information processing system according to claim 2, wherein the master side device having the largest occupation ratio of the overload path is extracted based on an access state between the two.
当該情報処理システムにて実行される情報処理の種別が変更される度に、該変更後の情報処理に適した前記各デコーダの動作条件を前記動作条件設定手段にて設定された動作条件の中から抽出し、該抽出した動作条件に従い前記各デコーダの動作条件を変更するデコーダ動作切換手段と、
を備えたことを特徴とする請求項2〜請求項4の何れかに記載の情報処理システム。 A plurality of information processing that can be executed in the information processing system is executed in order, and when each information processing is executed, each of the overload detection unit, the route changeable device extraction unit, and the access route change unit is operated, Operation condition setting means for setting operation conditions of each decoder suitable for execution of information processing;
Each time the type of information processing executed in the information processing system is changed, the operating condition of each decoder suitable for the information processing after the change is selected from the operating conditions set by the operating condition setting means. And decoder operation switching means for changing the operation condition of each decoder according to the extracted operation condition;
The information processing system according to any one of claims 2 to 4, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006298069A JP2008117068A (en) | 2006-11-01 | 2006-11-01 | Information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006298069A JP2008117068A (en) | 2006-11-01 | 2006-11-01 | Information processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008117068A true JP2008117068A (en) | 2008-05-22 |
Family
ID=39502942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006298069A Pending JP2008117068A (en) | 2006-11-01 | 2006-11-01 | Information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008117068A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448953B2 (en) | 2012-07-19 | 2016-09-20 | International Business Machines Corporation | Memory subsystem and computer system |
CN110908936A (en) * | 2018-09-18 | 2020-03-24 | 佳能株式会社 | Bus control circuit |
-
2006
- 2006-11-01 JP JP2006298069A patent/JP2008117068A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448953B2 (en) | 2012-07-19 | 2016-09-20 | International Business Machines Corporation | Memory subsystem and computer system |
US10169263B2 (en) | 2012-07-19 | 2019-01-01 | International Business Machines Corporation | Memory subsystem and computer system |
US10223303B2 (en) | 2012-07-19 | 2019-03-05 | International Business Machines Corporation | Memory subsystem and computer system |
CN110908936A (en) * | 2018-09-18 | 2020-03-24 | 佳能株式会社 | Bus control circuit |
JP2020046876A (en) * | 2018-09-18 | 2020-03-26 | キヤノン株式会社 | Bus control circuit |
CN110908936B (en) * | 2018-09-18 | 2023-09-05 | 佳能株式会社 | bus control circuit |
JP7401050B2 (en) | 2018-09-18 | 2023-12-19 | キヤノン株式会社 | bus control circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6950910B2 (en) | Mobile wireless communication device architectures and methods therefor | |
TWI464591B (en) | Method and integrated circuit for transferring data | |
JP4139771B2 (en) | System and method for controlling bus arbitration during a cache memory burst cycle | |
JP5722264B2 (en) | Data processing apparatus and data capacity increase suppressing method | |
US20070162645A1 (en) | Communication system for data transfer between on-chip circuits | |
US5781927A (en) | Main memory arbitration with priority scheduling capability including multiple priorty signal connections | |
US7039737B1 (en) | Method and apparatus for resource arbitration | |
KR101537034B1 (en) | Arbitrating stream transactions based on information related to the stream transaction(s) | |
KR100480605B1 (en) | Method of controlling transmitting buffer and receiving buffer of network controller, and the network controller | |
JP2011175621A (en) | Data transfer control device and data transfer control method | |
JP2008117068A (en) | Information processing system | |
JP7038560B2 (en) | Information processing equipment and information processing method | |
JP2007094649A (en) | Access arbitration circuit | |
US9229895B2 (en) | Multi-core integrated circuit configurable to provide multiple logical domains | |
KR101420290B1 (en) | Bus arbiter capable of grouping transactions, bus device and system including the same | |
US7080176B2 (en) | Bus control device and information processing system | |
US20090235003A1 (en) | Memory control device and memory control method | |
US6701397B1 (en) | Pre-arbitration request limiter for an integrated multi-master bus system | |
JP2001101128A (en) | Data processor | |
JP2011170515A (en) | Memory master device | |
JPH10320349A (en) | Processor and data transfer system using the processor | |
JP3852882B2 (en) | Master-slave device | |
US8347258B2 (en) | Method and apparatus for interfacing multiple dies with mapping for source identifier allocation | |
JP2010271874A (en) | Information processing apparatus and image forming apparatus | |
US7099973B2 (en) | Method and system of bus master arbitration |