JP2005242414A - Information processor and information processing method and program - Google Patents
Information processor and information processing method and program Download PDFInfo
- Publication number
- JP2005242414A JP2005242414A JP2004047330A JP2004047330A JP2005242414A JP 2005242414 A JP2005242414 A JP 2005242414A JP 2004047330 A JP2004047330 A JP 2004047330A JP 2004047330 A JP2004047330 A JP 2004047330A JP 2005242414 A JP2005242414 A JP 2005242414A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- data amount
- master
- master device
- 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)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、例えば、不要なデータ転送を抑制することによりバスのトラフィックを軽減させる等して、システムバスまたはローカルバスの各デバイスがそのバスをより有効に活用することができるようにした情報処理装置および方法、並びにプログラムに関する。 The present invention relates to an information processing apparatus and method, and a program, and in particular, each device of a system bus or a local bus uses the bus more effectively by, for example, reducing bus traffic by suppressing unnecessary data transfer. The present invention relates to an information processing apparatus and method that can be used effectively, and a program.
従来、例えばパーソナルコンピュータ等の情報処理装置において、装置内の各デバイスを接続するシステムバスとして、ISAバス(Industry Standard Architecture bus)やPCIバス(Peripheral Components Interconnect bus)等が用いられている。 Conventionally, in an information processing apparatus such as a personal computer, an ISA bus (Industry Standard Architecture bus), a PCI bus (Peripheral Components Interconnect bus), or the like is used as a system bus for connecting each device in the apparatus.
PCIバスは、PCI SIG(PCI Special Interest Group)により策定されたバス規格であり、長い間業界標準だったISAバスに替わる標準規格として急速に普及している。最初のPCI規格においては、バス幅(1回の転送で送れるデータ量)が32ビット、動作周波数(1秒あたりの転送回数)が33MHz(メガヘルツ)であり、最大データ転送速度は133MB/s(メガバイトパーセカンド)であった。最新のPCI規格においては、バス幅が64ビット、動作周波数が66MHzで、最大データ転送速度が533MB/sの高速な仕様も規定されている。 The PCI bus is a bus standard established by PCI SIG (PCI Special Interest Group), and is rapidly spreading as a standard that replaces the ISA bus, which has long been an industry standard. In the first PCI standard, the bus width (the amount of data that can be sent in one transfer) is 32 bits, the operating frequency (number of transfers per second) is 33 MHz (megahertz), and the maximum data transfer rate is 133 MB / s ( Megabyte second). The latest PCI standard also defines a high-speed specification with a bus width of 64 bits, an operating frequency of 66 MHz, and a maximum data transfer rate of 533 MB / s.
このPCIバスを用いたPCIバスシステムにおいては、PCIバスに複数のPCIデバイスが接続されており、PCIバスを介して互いに通信を行い、データの転送等を行う。PCIバスシステムの場合、データ転送(PCIデータ転送)を行うPCIデバイスの一方がPCIデータ転送を制御する。このPCIデバイスをマスタと称する。またPCIデータ転送において、マスタの通信相手となるPCIデバイスをターゲット称する。ターゲットは、マスタに制御されて、マスタと通信を行い、データ転送を行う。 In a PCI bus system using the PCI bus, a plurality of PCI devices are connected to the PCI bus, and communicate with each other via the PCI bus to perform data transfer and the like. In the case of a PCI bus system, one of the PCI devices that performs data transfer (PCI data transfer) controls PCI data transfer. This PCI device is called a master. In PCI data transfer, a PCI device that is a master communication partner is referred to as a target. The target is controlled by the master to communicate with the master and transfer data.
これらのPCIデバイスは、PCIバスコントローラにより制御され、マスタからの要求に基づいてバスの使用権が割り当てられる。バスの使用権を得たマスタは、ターゲットを制御してデータ転送等を行う。例えば、マスタがターゲットのローカルバスに接続されたローカルメモリよりデータを取得したい場合、マスタは、PCIバスを介してターゲットに対してリード要求を行うとともに、目的のデータが記録されたアドレスをターゲットに通知する。 These PCI devices are controlled by a PCI bus controller, and the right to use the bus is assigned based on a request from the master. The master having the right to use the bus controls the target and performs data transfer and the like. For example, when the master wants to obtain data from the local memory connected to the target local bus, the master makes a read request to the target via the PCI bus and uses the address where the target data is recorded as the target. Notice.
リード要求を取得したターゲットは、同時に取得したアドレスに従い、ローカルメモリにアクセスし、要求されたデータを取得する。ただし、一般的に、システムバスであるPCIバスと、ローカルバスとでは動作周波数等も異なり、転送速度が異なる。また、ローカルメモリがターゲットにデータの読み出しを要求されてから、そのデータを出力するまでの時間であるローカルメモリの応答時間も場合により常に一定であるとは限らない。さらに、ローカルバスにも他のローカルデバイス等が接続されており、それらの間でも通信が行われるので、ローカルバスのトラフィックが変化し、その転送速度が一定であるとは限らない。 The target that has acquired the read request accesses the local memory according to the address acquired at the same time, and acquires the requested data. However, generally, the PCI bus, which is a system bus, and the local bus have different operating frequencies and transfer rates. Also, the response time of the local memory, which is the time from when the local memory is requested to read data by the target to when the data is output, is not always constant in some cases. Further, other local devices are connected to the local bus, and communication is performed between them. Therefore, the traffic of the local bus changes and the transfer speed is not always constant.
そこで、ターゲットは、ローカルメモリより読み出したデータを、一旦、キャッシュメモリ等に蓄積し、要求されたデータが全てキャッシュメモリに蓄積され、すぐにPCIバスを介してマスタに供給できる準備が整うまで、PCIバスを介したデータ転送は行わずに待機する。その間、ターゲットは、マスタに対してリトライを返し、マスタに、PCIバスを他のデバイスに開放させる。 Therefore, the target temporarily stores the data read from the local memory in the cache memory, etc., until all the requested data is stored in the cache memory and is ready to be immediately supplied to the master via the PCI bus. Waits for no data transfer via the PCI bus. Meanwhile, the target returns a retry to the master, causing the master to open the PCI bus to other devices.
マスタは、リトライを検出すると、一旦はPCIバスを他のデバイスに解放するが、実際には、マスタのデータ転送の効率化を考慮し、すぐにまたPCIバスの使用権を確保してしまう。バスの使用権を確保すると、マスタは、再度メモリリード要求をターゲットに供給する。ターゲットは、データ転送の準備が整っている場合、データ転送を開始する。データ転送の準備が整っていない場合、ターゲットは、再度リトライをマスタに返す。 When the master detects a retry, it once releases the PCI bus to another device. In practice, however, the right to use the PCI bus is secured again in consideration of the efficiency of data transfer of the master. When the right to use the bus is secured, the master again supplies a memory read request to the target. When the target is ready for data transfer, it starts data transfer. If the data transfer is not ready, the target returns a retry to the master again.
このように、各PCIデバイスが行うPCIデータ転送は、そのデータ転送処理において、場合によって待機時間が生じることもあるリアルタイム性(即時性)が保障されないデータ転送である。 As described above, the PCI data transfer performed by each PCI device is a data transfer in which the real-time property (immediateness) that may cause a waiting time may occur in the data transfer process.
ところで、この待機時間について、例えば、マスタが1度のアクセス(1回のコマンド発行)により複数ワードのデータを転送させる方法(バースト転送)もある。このようなバースト転送を用いることにより、マスタは、コマンド発行によるバスのトラフィックを軽減させ、PCIバスシステムの利用効率を高めることができる。なお、ワードは、メモリの読み出し単位であり、1ワードは、例えば、2バイトである。 By the way, for this waiting time, for example, there is a method (burst transfer) in which the master transfers data of a plurality of words by one access (one command issuance). By using such burst transfer, the master can reduce the bus traffic due to command issuance and increase the utilization efficiency of the PCI bus system. Note that a word is a memory read unit, and one word is, for example, 2 bytes.
また、マスタの待機時間に関する情報を予め用意したターゲットを用いることにより、リトライによるトランザクションを削減する方法もある(例えば、特許文献1参照)。この場合、ターゲットの所定のレジスタに、予めレイテンシ情報、すなわち、ターゲットが要求を受けてからデータ転送の準備が整うまでの時間に関する情報を保持させておき、マスタからのアクセス要求に応答して、マスタにその情報を供給するようにする。マスタは、その情報を取得すると、そのターゲットに対してPCIデータ転送を要求する場合、リトライを検出後、そのターゲットより供給されたレイテンシ情報により指定された時間待機してから転送要求を行う。すなわち、この場合、ターゲットの準備が整うまでイニシエータは、要求の繰返しを行わない。 In addition, there is a method of reducing transactions due to retries by using a target prepared in advance with information on the standby time of the master (see, for example, Patent Document 1). In this case, the predetermined register of the target holds in advance latency information, that is, information on the time from when the request is received until the target is ready for data transfer, in response to an access request from the master, Supply that information to the master. When the master obtains the information, when requesting PCI data transfer to the target, the master waits for the time specified by the latency information supplied from the target after making a retry, and then makes a transfer request. That is, in this case, the initiator does not repeat the request until the target is ready.
しかしながら、例えば映像機器や放送局用サーバ等におけるバスシステムの場合、映像データや音声データ等の大容量のデータを頻繁に転送させる必要がある。また、このような映像機器においては、例えば外部より取り込んだ映像データ等を記録媒体に記録したり、記録媒体に記録されている映像データ等を再生し、モニタに表示したり、外部に出力したりする処理が主に行われる。従って、バスシステムにおける各データ転送は、即時性を必要とするものが多く、バスのトラフィックが増大した場合、待機時間が長くなりすぎ、記録処理や再生処理等が破綻してしまう恐れがある。従って、このような映像機器や放送局用サーバ等におけるバスシステムの場合、データ転送にリアルタイム性が要求される。 However, for example, in the case of a bus system in a video device or a broadcast station server, it is necessary to frequently transfer a large amount of data such as video data and audio data. In such a video device, for example, video data captured from the outside is recorded on a recording medium, video data recorded on the recording medium is reproduced, displayed on a monitor, or output to the outside. Is mainly performed. Therefore, each data transfer in the bus system often requires immediacy, and when the bus traffic increases, the waiting time becomes too long, and there is a possibility that the recording process, the reproduction process, etc. will fail. Therefore, in the case of such a bus system in a video device, a broadcast station server, etc., real-time performance is required for data transfer.
ところが、このような映像機器や放送局用サーバ等のシステムバスとして、上述したような汎用のPCIバスを用いる場合、それらの製造コストを低減させることができるが、PCIデータ転送においては、リアルタイム性(即時性)が保障されない。そこで、なるべくトラフィックを軽減させ、バスを有効活用させ、待機時間等を削減することが重要になる。 However, when a general-purpose PCI bus such as that described above is used as a system bus for such video equipment or broadcasting station servers, the manufacturing cost can be reduced. (Immediateness) is not guaranteed. Therefore, it is important to reduce traffic as much as possible, to effectively use the bus, and to reduce waiting time and the like.
そこで、上述した特許文献1のように、マスタのレイテンシ時間を調整し、リトライ処理を軽減させる方法が提案されているが、マスタがデータを要求するターゲットのローカルメモリが接続されたローカルバスのトラフィックについては考慮されていない。
Therefore, as in
従来のPCIバスシステムにおいては、例えば上述したように、マスタがターゲットにローカルバスを介して接続されたローカルメモリよりデータを読み出す場合、ターゲットは、マスタに要求されたデータをキャッシュメモリに蓄積する。このとき、上述したように、マスタがバースト転送を用いてデータを要求する場合もあるので、ターゲットは、不要な処理が発生しないように、マスタが必要とする量のデータをキャッシュメモリに蓄積してからマスタに供給するようにする。 In the conventional PCI bus system, for example, as described above, when the master reads data from the local memory connected to the target via the local bus, the target stores the data requested by the master in the cache memory. At this time, as described above, since the master may request data using burst transfer, the target stores the amount of data required by the master in the cache memory so that unnecessary processing does not occur. Then supply to the master.
しかしながら、マスタが一度に要求するデータ量(ワード数)は、各マスタによって異なる。ターゲットは、どのマスタがどの程度のデータ量を連続で読み出すかがわからないので、不要な処理が発生しないように、大量のデータ(例えば、23ワード)をローカルメモリより読み出し、キャッシュに蓄積する。 However, the amount of data (number of words) requested by the master at a time differs depending on each master. Since the target does not know which master continuously reads how much data amount, a large amount of data (for example, 23 words) is read from the local memory and accumulated in the cache so that unnecessary processing does not occur.
また、マスタがシングルワード用のリードコマンド(シングルリード)を発行しながら複数ワードのデータを連続読み出しする(バースト転送を行う)場合もあり、ターゲットは、不要な処理が発生しないように、常に大量のデータをローカルメモリより読み出し、キャッシュに蓄積しなければならない。 In some cases, the master may continuously read multiple words of data (burst transfer) while issuing a single word read command (single read), and the target is always in large quantities so that unnecessary processing does not occur. Must be read from local memory and stored in the cache.
従って、例えば、マスタによってはシングルリードしか実行できないのに、そのマスタにデータを要求されたターゲットは、ローカルメモリより不要なデータを含む大量のデータを読み出し、キャッシュに蓄積してしまい、不要にローカルバスのトラフィックを増大させてしまう恐れがあった。ローカルバスには、通常、ローカルメモリ以外のローカルデバイスも接続されており、それらのローカルデバイスも互いにデータ転送を行い、ローカルバスを利用する。 Thus, for example, some masters can only perform a single read, but a target that has requested data from that master reads a large amount of data including unnecessary data from the local memory, accumulates it in the cache, and unnecessarily local There was a risk of increasing bus traffic. Normally, local devices other than the local memory are also connected to the local bus, and these local devices also transfer data to each other and use the local bus.
そのようなローカルバスであっても、上述したように、例えば映像機器や放送局用サーバ等においては、リアルタイム性(即時性)が要求されるデータ転送が行われることが多く、上述したように、マスタよりリード要求を取得したターゲットが、不要にローカルバスを占有することにより、記録処理や再生処理が破綻してしまう恐れがあるという課題があった。 Even in such a local bus, as described above, for example, in video equipment and broadcast station servers, data transfer that requires real-time performance (immediateness) is often performed. There is a problem that the target that has acquired the read request from the master occupies the local bus unnecessarily, so that the recording process and the reproduction process may fail.
また、ターゲットが不要なデータをキャッシュメモリに蓄積することにより、ターゲットがデータ転送の準備を整える時間が不要に長くなってしまい、マスタの待機時間が増大してしまうという課題もあった。 In addition, by accumulating unnecessary data in the cache memory, there is a problem that the time for the target to prepare for data transfer becomes unnecessarily long and the standby time of the master increases.
これに対して、ターゲットがローカルメモリより1度に読み出すデータ量を削減し、ローカルバスの占有率や、データ転送の準備に必要な時間を低減させる方法も考えられるが、その場合、マスタが、ターゲットが用意したデータ量より多くのデータ量を連続して読み出すとき、ディスコネクトが発生し、データ転送処理の時間が不要に長くなり、転送効率が低下してしまう恐れがあった。 On the other hand, there is also a method of reducing the amount of data that the target reads from the local memory at one time, and reducing the local bus occupancy rate and the time required for preparation of data transfer. When a data amount larger than the data amount prepared by the target is continuously read, a disconnection occurs, and the data transfer processing time becomes unnecessarily long, which may reduce the transfer efficiency.
本発明は、このような状況に鑑みてなされたものであり、システムバスまたはローカルバスの各デバイスがそのバスをより有効に活用することができるようにするものである。 The present invention has been made in view of such a situation, and enables each device of the system bus or the local bus to more effectively utilize the bus.
本発明の第1の情報処理装置は、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第1の転送処理を実行する転送手段と、転送手段により実行される第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量を計測する計測手段と、計測手段により計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量を設定する設定手段と、設定手段により設定された第3のデータ量を記憶する記憶手段とを備え、転送手段は、記憶手段により第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、記憶手段により記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の転送処理を実行することを特徴とする。 The first information processing apparatus according to the present invention has a first data amount that is a predetermined data amount predetermined by a predetermined memory device based on a request of a master device that controls data transfer and performs data transfer. After acquiring the amount of data and holding it in the built-in cache memory, a transfer means for executing a first transfer process for transferring the data to the master device via the system bus, and a first executed by the transfer means In the transfer process, the master device measures the second data amount that is the data amount acquired by one access, and reads from the memory device based on the second data amount measured by the measuring device. A setting unit that sets a third data amount that is a data amount; and a storage unit that stores the third data amount set by the setting unit. After the third data amount is stored by the storage unit, the unit acquires the data corresponding to the third data amount stored by the storage unit from the memory device based on the request of the master device, and incorporates the data. After the data is held in the cache memory, a second transfer process is executed in which the data is transferred to the master device via the system bus.
前記第1のデータ量は、計測手段により計測される最大の第2のデータ量よりも大きいようにすることができる。 The first data amount may be larger than the maximum second data amount measured by the measuring unit.
前記設定手段は、第3のデータ量が第2のデータ量と近似するように、第3のデータ量を設定するようにすることができる。 The setting means may set the third data amount so that the third data amount approximates the second data amount.
前記マスタデバイスを制御してメモリリード要求を発行させる第1の制御手段と、第1の制御手段により制御されて発行されるメモリリード要求に対して、転送手段を制御して第1の転送処理を実行させ、計測手段を制御して第2のデータ量を計測させ、設定手段を制御して第3のデータ量を設定させ、記憶手段を制御して第3のデータ量を記憶させる第2の制御手段とをさらに備えるようにすることができる。 A first control unit for controlling the master device to issue a memory read request; and a first transfer process by controlling a transfer unit for a memory read request controlled and issued by the first control unit. , The second data amount is measured by controlling the measuring means, the third data amount is set by controlling the setting means, and the third data amount is stored by controlling the storage means. The control means may be further provided.
前記第1の制御手段は、マスタデバイスを制御してメモリリード要求を複数回発行させ、第2の制御手段は、転送手段を制御して、第1の制御手段により制御されて発行された複数のメモリリード要求のそれぞれに対して第1の転送処理を実行させ、計測手段を制御して、転送手段により複数回実行された第1の転送処理のそれぞれについて第2のデータ量を計測させ、設定手段を制御して、計測手段による複数回の計測により得られた複数の第2のデータ量に基づいて第3のデータ量を設定させ、記憶手段を制御して、設定手段により設定された第3のデータ量を記憶させるようにすることができる。 The first control unit controls the master device to issue a memory read request a plurality of times, and the second control unit controls the transfer unit to control and issue a plurality of issued by the first control unit The first transfer process is executed for each of the memory read requests, the measurement unit is controlled, and the second data amount is measured for each of the first transfer processes executed a plurality of times by the transfer unit, The setting means is controlled to set a third data amount based on a plurality of second data amounts obtained by a plurality of measurements by the measuring means, and the storage means is controlled and set by the setting means. The third data amount can be stored.
前記設定手段は、計測手段による複数回の計測により得られた複数の第2のデータ量の平均値、最大値、または最小値を第3のデータ量として設定するようにすることができる。 The setting unit may set an average value, a maximum value, or a minimum value of a plurality of second data amounts obtained by a plurality of measurements by the measuring unit as a third data amount.
前記第1の制御手段は、複数のマスタデバイスのそれぞれを制御し、マスタデバイス毎にメモリリード要求を発行させ、第2の制御手段は、転送手段、計測手段、設定手段、および記憶手段を制御して、マスタデバイス毎に第3のデータ量を設定させて記憶させるようにすることができる。 The first control unit controls each of the plurality of master devices and issues a memory read request for each master device, and the second control unit controls the transfer unit, the measurement unit, the setting unit, and the storage unit. Thus, the third data amount can be set and stored for each master device.
前記第1の制御手段は、複数の機能を有するマスタデバイスのそれぞれを制御し、マスタデバイスの機能毎にメモリリード要求を発行させ、第2の制御手段は、転送手段、計測手段、設定手段、および記憶手段を制御して、マスタデバイスの機能毎に第3のデータ量を設定させて記憶させるようにすることができる。 The first control unit controls each of the master devices having a plurality of functions, and issues a memory read request for each function of the master device. The second control unit includes a transfer unit, a measurement unit, a setting unit, In addition, the third data amount can be set and stored for each function of the master device by controlling the storage means.
前記マスタデバイスのデータ転送の相手のデバイスである複数のターゲットデバイスの中から、第2の制御手段が第3のデータ量を設定させて記憶させるように制御するターゲットデバイスを特定するターゲットデバイス特定手段をさらに備えるようにすることができる。 Target device specifying means for specifying a target device to be controlled so that the second control means sets and stores the third data amount from among a plurality of target devices that are devices to which the master device is to transfer data. Can be further provided.
前記転送手段により実行される第1の転送処理または第2の転送処理において要求を発行したマスタデバイスを判別するマスタデバイス判別手段をさらに備えるようにすることができる。 Master device determination means for determining a master device that has issued a request in the first transfer process or the second transfer process executed by the transfer means may be further provided.
前記転送手段により実行される第2の転送処理においてディスコネクト処理の発生を監視するディスコネクト監視手段をさらに備えるようにすることができる。 Disconnection monitoring means for monitoring occurrence of disconnection processing in the second transfer processing executed by the transfer means can be further provided.
本発明の第1の情報処理方法は、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第1の転送処理を実行する第1の転送ステップと、第1の転送ステップの処理により実行される第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量を計測する計測ステップと、計測ステップの処理により計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、設定ステップの処理により設定された第3のデータ量を記憶するように制御する記憶制御ステップと、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の転送処理を実行する第2の転送ステップとを含むことを特徴とする。 According to a first information processing method of the present invention, a first data amount that is a predetermined data amount predetermined from a predetermined memory device based on a request of a master device that is a device that controls data transfer and performs data transfer. A first transfer step for executing a first transfer process for acquiring data of an amount of data and holding the data in a built-in cache memory and then transferring the data to the master device via the system bus; and a first transfer step In the first transfer process executed by the process, the measurement step for measuring the second data amount, which is the data amount acquired by the master device by one access, and the second measured by the process of the measurement step Based on the data amount, a setting step for setting a third data amount, which is a data amount read from the memory device, and a process of the setting step A storage control step for controlling to store the determined third data amount, and a memory based on a request from the master device after the third data amount is stored by being controlled by the processing of the storage control step. A third amount of data controlled and stored by the process of the storage control step is acquired from the device, held in the built-in cache memory, and then transferred to the master device via the system bus. And a second transfer step for executing the second transfer process.
本発明の第1のプログラムは、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第1の転送処理を実行する第1の転送ステップと、第1の転送ステップの処理により実行される第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量を計測する計測ステップと、計測ステップの処理により計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、設定ステップの処理により設定された第3のデータ量を記憶するように制御する記憶制御ステップと、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の転送処理を実行する第2の転送ステップとをコンピュータに実行させる。 The first program of the present invention controls a first data amount that is a predetermined data amount predetermined by a predetermined memory device based on a request from a master device that is a device that controls data transfer and performs data transfer. A first transfer step for executing a first transfer process for transferring the data to the master device via the system bus after the data is acquired and held in the built-in cache memory, and a process of the first transfer step In the first transfer processing executed by the above, a measurement step for measuring a second data amount that is a data amount acquired by the master device by one access, and a second data amount measured by the processing of the measurement step On the basis of the setting step for setting the third data amount, which is the amount of data read from the memory device, and the setting step process. A storage control step for controlling the stored third data amount to be stored, and the memory device based on the request of the master device after the third data amount is stored by being controlled by the processing of the storage control step. Thus, after acquiring the data for the third data amount controlled and stored by the processing of the storage control step and holding it in the built-in cache memory, the data is transferred to the master device via the system bus. And causing the computer to execute the second transfer step of executing the transfer process.
本発明の第2の情報処理装置は、2つのシステムバスに接続され、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、マスタデバイスにデータを転送する第1の中継処理を実行する中継手段と、中継手段により実行される第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量を計測する計測手段と、計測手段により計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定手段と、設定手段により設定された第3のデータ量を記憶する記憶手段とを備え、中継手段は、記憶手段により第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶手段により記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の中継処理を実行することを特徴とする。 The second information processing apparatus of the present invention is a device that controls data transfer and transfers data in data transfer between devices connected to two system buses and connected to different system buses of the two system buses. Based on the request from the master device, the first data amount, which is a predetermined data amount, is acquired from the target device that is the data transfer partner of the master device, and stored in the built-in cache memory Thereafter, in the relay unit that executes the first relay process for transferring data to the master device and the first relay process that is executed by the relay unit, the amount of data that the master device acquires from the cache memory by one access Measuring means for measuring a certain second amount of data, and second data measured by the measuring means And setting means for setting a third data amount, which is a data amount read from the target device, and storage means for storing the third data amount set by the setting means, and the relay means includes storage means After the third data amount is stored by the above, based on the request of the master device, the third data amount stored by the storage unit is obtained from the target device and stored in the built-in cache memory. Then, a second relay process for transferring data to the master device via the system bus is executed.
本発明の第2の情報処理方法は、2つのシステムバスを接続する処理を行い、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、キャッシュメモリを制御して保持させた後、マスタデバイスにデータを転送する第1の中継処理を実行する中継ステップと、中継ステップの処理により実行される第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量を計測する計測ステップと、計測ステップの処理により制御されて計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、設定ステップの処理により設定された第3のデータ量を記憶する様に制御する記憶制御ステップと、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、キャッシュメモリを制御して保持させた後、データを、システムバスを介してマスタデバイスに転送する第2の中継処理を実行する第2の中継ステップとを含むことを特徴とする。 The second information processing method of the present invention performs processing for connecting two system buses, and controls data transfer in data transfer between devices connected to different system buses of the two system buses. Based on a request from a master device that is a device that performs data transfer, a first data amount that is a predetermined data amount is acquired from a target device that is a data transfer partner of the master device, and the cache memory is controlled. In the relay step for executing the first relay process for transferring data to the master device and the first relay process executed by the process of the relay step, the master device caches by one access. A measurement step for measuring a second data amount, which is the amount of data acquired from the memory, and a measurement step A setting step for setting a third data amount, which is a data amount read from the target device, on the basis of the second data amount controlled and measured by the processing of the second step, and a third set by the processing of the setting step Storage control step for controlling to store the amount of data, and after the third data amount is stored by being controlled by the processing of the storage control step, the storage control is performed by the target device based on the request of the master device. The second relay that acquires the data for the third amount of data controlled and stored by the processing of the step, controls and holds the cache memory, and then transfers the data to the master device via the system bus And a second relay step for executing the process.
本発明の第2のプログラムは、2つのシステムバスを接続する処理を行い、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、キャッシュメモリを制御して保持させた後、マスタデバイスにデータを転送する第1の中継処理を実行する中継ステップと、中継ステップの処理により実行される第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量を計測する計測ステップと、計測ステップの処理により制御されて計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、設定ステップの処理により設定された第3のデータ量を記憶する様に制御する記憶制御ステップと、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、キャッシュメモリを制御して保持させた後、データを、システムバスを介してマスタデバイスに転送する第2の中継処理を実行する第2の中継ステップとをコンピュータに実行させる。 The second program of the present invention performs processing for connecting two system buses, and controls data transfer and transfers data in data transfer between devices connected to different system buses of the two system buses. Based on the request of the master device, which is a device, obtains data of a first data amount, which is a predetermined data amount, from a target device that is a data transfer partner of the master device, and controls the cache memory In the relay step for executing the first relay process for transferring the data to the master device after being held, and in the first relay process executed by the process of the relay step, the master device is accessed from the cache memory by one access. A measurement step for measuring a second data amount, which is a data amount to be acquired, and a measurement step A setting step for setting a third data amount, which is a data amount read from the target device, on the basis of the second data amount controlled and measured by the processing of the step, and a third set by the processing of the setting step A storage control step for controlling the amount of data to be stored, and a storage control step from the target device based on a request of the master device after the third data amount is stored by being controlled by the processing of the storage control step. The second relay process for acquiring the data for the third data amount controlled and stored by the above process, transferring the data to the master device via the system bus after controlling and holding the cache memory And causing the computer to execute a second relay step for executing.
本発明の第1の情報処理装置および方法、並びに第1のプログラムにおいては、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータが取得され、内蔵するキャッシュメモリに保持された後、データが、システムバスを介してマスタデバイスに転送される第1の転送処理が実行され、第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量が計測され、計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量が設定され、設定された第3のデータ量が記憶され、第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、第3のデータ量分のデータが取得され、内蔵するキャッシュメモリに保持された後、データが、システムバスを介してマスタデバイスに転送される第2の転送処理が実行される。 In the first information processing apparatus and method and the first program of the present invention, the predetermined information is predetermined from a predetermined memory device based on a request from a master device that controls data transfer and performs data transfer. After a first data amount of data, which is a predetermined data amount, is acquired and held in a built-in cache memory, a first transfer process is executed in which the data is transferred to the master device via the system bus, In the first transfer process, the second data amount that is the data amount acquired by the master device by one access is measured, and the data amount is read from the memory device based on the measured second data amount. After the third data amount is set, the set third data amount is stored, and after the third data amount is stored, the master device A second transfer process in which data corresponding to the third data amount is acquired from the memory device based on the request, held in the built-in cache memory, and then transferred to the master device via the system bus Is executed.
本発明の第2の情報処理装置および方法、並びに第2のプログラムにおいては、2つのシステムバスに接続され、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイスの要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータが取得され、内蔵するキャッシュメモリに保持された後、マスタデバイスにデータが転送される第1の中継処理が実行され、第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量が計測され、計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量が設定され、設定された第3のデータ量が記憶され、第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶された第3のデータ量分のデータが取得され、内蔵するキャッシュメモリに保持された後、データが、システムバスを介してマスタデバイスに転送される第2の中継処理が実行される。 In the second information processing apparatus and method and the second program of the present invention, data transfer is performed in data transfer between devices connected to two system buses and connected to different system buses of the two system buses. Based on a request from a master device that is a device that performs data transfer by controlling the data, a first data amount that is a predetermined data amount is acquired from a target device that is a data transfer partner of the master device. The first relay process in which data is transferred to the master device after being held in the built-in cache memory is executed, and in the first relay process, the data acquired by the master device from the cache memory by one access A second data amount that is a quantity is measured, and based on the measured second data amount The third data amount that is the amount of data read from the target device is set, the set third data amount is stored, and after the third data amount is stored, based on the request of the master device, After the third data amount stored from the target device is acquired and held in the built-in cache memory, the second relay process is executed in which the data is transferred to the master device via the system bus. Is done.
本発明によれば、データ転送を制御することができる。特に、例えば、不要なデータ転送を抑制することによりバスのトラフィックを軽減させる等して、システムバスまたはローカルバスの各デバイスがそのバスをより有効に活用することができる。 According to the present invention, data transfer can be controlled. In particular, for example, each device of the system bus or the local bus can use the bus more effectively by reducing bus traffic by suppressing unnecessary data transfer.
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between constituent elements described in the claims and specific examples in the embodiments of the present invention are exemplified as follows. This description is to confirm that specific examples supporting the invention described in the claims are described in the embodiments of the invention. Therefore, even if there are specific examples that are described in the embodiment of the invention but are not described here as corresponding to the configuration requirements, the specific examples are not included in the configuration. It does not mean that it does not correspond to a requirement. On the contrary, even if a specific example is described here as corresponding to a configuration requirement, this means that the specific example does not correspond to a configuration requirement other than the configuration requirement. not.
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定したりするものではない。 Further, this description does not mean that all the inventions corresponding to the specific examples described in the embodiments of the invention are described in the claims. In other words, this description is an invention corresponding to the specific example described in the embodiment of the invention, and the existence of an invention not described in the claims of this application, that is, in the future, a divisional application will be made. Nor does it deny the existence of an invention added by amendment.
本発明においては、複数のデバイス(例えば、図1のPCIデバイス11−1乃至11−N)が接続されたシステムバス(例えば、図1のPCIバス10)を有し、前記複数のデバイスが前記システムバスを介して互いにデータ転送(例えば、図1のPCIデータ転送12)を行う情報処理装置(例えば、図1の画像処理装置1)が提供される。この情報処理装置では、データ転送を制御してデータ転送を行うデバイスであるマスタデバイス(例えば、図1のイニシエータ13)の要求に基づいて、所定のメモリデバイス(例えば、図1のローカルメモリ21)より予め定められた所定のデータ量である第1のデータ量のデータ(例えば、図2の転送長初期値61)を取得し、内蔵するキャッシュメモリ(例えば、図1のキャッシュメモリ22)に保持した後、データ(例えば、図3の転送データ91)を、システムバスを介してマスタデバイスに転送する第1の転送処理を実行する転送手段(例えば、図3のデータ転送処理部75)と、転送手段により実行される第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量(例えば、図3の転送長計測部73により計測される転送長)を計測する計測手段(例えば、図10のステップS63の処理を実行する図3の転送長計測部73)と、計測手段により計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量(例えば、図3の最適転送長82)を設定する設定手段(例えば、図10のステップS67の処理を実行する図3の転送長計測部73)と、設定手段により設定された第3のデータ量を記憶する記憶手段(例えば、図1のキャッシュメモリ22)とを備え、転送手段は、記憶手段により第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、記憶手段により記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の転送処理を実行する(例えば、図14のデータ転送処理)。
In the present invention, a system bus (for example,
前記マスタデバイスを制御してメモリリード要求を発行させる第1の制御手段(例えば、図2のマスタ別転送長調査制御部56)と、第1の制御手段により制御されて発行されるメモリリード要求に対して、転送手段を制御して第1の転送処理を実行させ、計測手段を制御して第2のデータ量を計測させ、設定手段を制御して第3のデータ量を設定させ、記憶手段を制御して第3のデータ量を記憶させる第2の制御手段(例えば、図3のマスタ別転送長調査部71)とをさらに備えるようにすることができる。
First control means for controlling the master device to issue a memory read request (for example, master-specific transfer length
前記第1の制御手段は、マスタデバイスを制御してメモリリード要求を複数回発行させ(例えば、図7のステップS22)、第2の制御手段は、転送手段を制御して、第1の制御手段により制御されて発行された複数のメモリリード要求のそれぞれに対して第1の転送処理を実行させ、計測手段を制御して、転送手段により複数回実行された第1の転送処理のそれぞれについて第2のデータ量を計測させ、設定手段を制御して、計測手段による複数回の計測により得られた複数の第2のデータ量に基づいて第3のデータ量を設定させ、記憶手段を制御して、設定手段により設定された第3のデータ量を記憶させるようにすることができる。 The first control unit controls the master device to issue a memory read request a plurality of times (for example, step S22 in FIG. 7), and the second control unit controls the transfer unit to perform the first control. The first transfer process is executed for each of the plurality of memory read requests that are controlled and issued by the means, the measuring means is controlled, and each of the first transfer processes executed a plurality of times by the transfer means The second data amount is measured, the setting unit is controlled, the third data amount is set based on a plurality of second data amounts obtained by a plurality of measurements by the measuring unit, and the storage unit is controlled. Thus, the third data amount set by the setting means can be stored.
前記設定手段は、計測手段による複数回の計測により得られた複数の第2のデータ量の平均値、最大値、または最小値を第3のデータ量として設定する(例えば、図10のステップS67)ようにすることができる。 The setting unit sets an average value, a maximum value, or a minimum value of a plurality of second data amounts obtained by a plurality of measurements by the measuring unit as a third data amount (for example, step S67 in FIG. 10). )
前記マスタデバイスのデータ転送の相手のデバイスである複数のターゲットデバイス(例えば、図1のターゲット14)の中から、第2の制御手段が第3のデータ量を設定させて記憶させるように制御するターゲットデバイスを特定するターゲットデバイス特定手段(例えば、図2の調査対象ターゲット特定部53)をさらに備えるようにすることができる。
Control is performed so that the second control means sets and stores a third data amount from among a plurality of target devices (for example, the
前記転送手段により実行される第1の転送処理または第2の転送処理において要求を発行したマスタデバイスを判別するマスタデバイス判別手段(例えば、図3のマスタ判別部75)をさらに備えるようにすることができる。
A master device determining unit (for example,
前記転送手段により実行される第2の転送処理においてディスコネクト処理の発生を監視するディスコネクト監視手段(例えば、図21のディスコネクト監視部401)をさらに備えるようにすることができる。
A disconnect monitoring unit (for example, the
本発明においては、複数のデバイス(例えば、図1のPCIデバイス11−1乃至11−N)が接続されたシステムバス(例えば、図1のPCIバス10)を有し、前記複数のデバイスが前記システムバスを介して互いにデータ転送(例えば、図1のPCIデータ転送12)を行う情報処理装置(例えば、図1の画像処理装置1)の情報処理方法が提供される。この情報処理方法においては、データ転送を制御してデータ転送を行うデバイスであるマスタデバイス(例えば、図1のイニシエータ13)の要求に基づいて、所定のメモリデバイス(例えば、図1のローカルメモリ21)より予め定められた所定のデータ量である第1のデータ量のデータ(例えば、図2の転送長初期値61)を取得し、内蔵するキャッシュメモリ(例えば、図1のキャッシュメモリ22)に保持した後、データ(例えば、図3の転送データ91)を、システムバスを介してマスタデバイスに転送する第1の転送処理を実行する第1の転送ステップ(例えば、図10のステップS62およびステップS65)と、第1の転送ステップの処理により実行される第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量(例えば、図3の転送長計測部73により計測される転送長)を計測する計測ステップ(例えば、図10のステップS63)と、計測ステップの処理により計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量(例えば、図3の最適転送長82)を設定する設定ステップ(例えば、図10のステップS67)と、設定ステップの処理により設定された第3のデータ量を記憶するように制御する記憶制御ステップ(例えば、図10のステップS69)と、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の転送処理を実行する第2の転送ステップ(例えば、図14のデータ転送処理)とを含む。
In the present invention, a system bus (for example,
本発明においては、複数のデバイスが接続されたシステムバスを有し、前記複数のデバイスが前記システムバスを介して互いにデータ転送を行う処理を、コンピュータ(例えば、図4の画像処理装置100)に行わせるプログラムが提供される。このプログラムは、データ転送を制御してデータ転送を行うデバイスであるマスタデバイス(例えば、図1のイニシエータ13)の要求に基づいて、所定のメモリデバイス(例えば、図1のローカルメモリ21)より予め定められた所定のデータ量である第1のデータ量のデータ(例えば、図2の転送長初期値61)を取得し、内蔵するキャッシュメモリ(例えば、図1のキャッシュメモリ22)に保持した後、データ(例えば、図3の転送データ91)を、システムバスを介してマスタデバイスに転送する第1の転送処理を実行する第1の転送ステップ(例えば、図10のステップS62およびステップS65)と、第1の転送ステップの処理により実行される第1の転送処理において、マスタデバイスが1回のアクセスにより取得するデータ量である第2のデータ量(例えば、図3の転送長計測部73により計測される転送長)を計測する計測ステップ(例えば、図10のステップS63)と、計測ステップの処理により計測された第2のデータ量に基づいて、メモリデバイスより読み出すデータ量である第3のデータ量(例えば、図3の最適転送長82)を設定する設定ステップ(例えば、図10のステップS67)と、設定ステップの処理により設定された第3のデータ量を記憶するように制御する記憶制御ステップ(例えば、図10のステップS69)と、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、メモリデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の転送処理を実行する第2の転送ステップ(例えば、図14のデータ転送処理)とを含む。
In the present invention, a process having a system bus to which a plurality of devices are connected, and the plurality of devices transferring data to each other via the system bus is performed on a computer (for example, the image processing apparatus 100 in FIG. 4). A program to be performed is provided. This program is preliminarily stored in a predetermined memory device (for example, the local memory 21 in FIG. 1) based on a request from a master device (for example, the initiator 13 in FIG. 1) that controls data transfer and performs data transfer. After acquiring a first data amount (for example, transfer length initial value 61 in FIG. 2) that is a predetermined predetermined data amount and holding it in a built-in cache memory (for example,
本発明においては、複数のデバイス(例えば、図16のPCIデバイス11−1乃至11−N、並びに、PCIデバイス211−1乃至211−K)が接続された複数のシステムバス(例えば、図1のPCIバス10およびPCIバス210)を有し、前記複数のデバイスが前記システムバスを介して互いにデータ転送を行う情報処理装置(例えば、図16の画像処理装置200)が提供される。この情報処理装置では、2つのシステムバスに接続され、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイス(例えば、図16のイニシエータ13)の要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイス(例えば、図16のターゲット214)より予め定められた所定のデータ量である第1のデータ量(例えば、図2の転送長初期値61)のデータを取得し、内蔵するキャッシュメモリ(例えば、図16のキャッシュメモリ202)に保持した後、マスタデバイスにデータを転送する第1の中継処理を実行する中継手段(例えば、図16のPCI-PCIブリッジ201)と、中継手段により実行される第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量(例えば、図17の転送長計測部73により計測される転送長)を計測する計測手段(例えば、図10のステップS63の処理を実行する図3の転送長計測部73)と、計測手段により計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量(例えば、図17の最適転送長82)を設定する設定手段(例えば、図10のステップS67の処理を実行する図17の転送長計測部73)と、設定手段により設定された第3のデータ量を記憶する記憶手段(例えば、図17の最適転送長82)とを備え、中継手段は、記憶手段により第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶手段により記憶された第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、データを、システムバスを介してマスタデバイスに転送する第2の中継処理を実行する(例えば、図14のデータ転送処理)。
In the present invention, a plurality of system buses (for example, FIG. 1) to which a plurality of devices (for example, PCI devices 11-1 to 11-N and PCI devices 211-1 to 211-K in FIG. 16) are connected. An information processing apparatus (for example, the image processing apparatus 200 in FIG. 16) having the
本発明においては、複数のデバイス(例えば、図16のPCIデバイス11−1乃至11−N、並びに、PCIデバイス211−1乃至211−K)が接続された複数のシステムバス(例えば、図1のPCIバス10およびPCIバス210)を有し、前記複数のデバイスが前記システムバスを介して互いにデータ転送を行う情報処理装置(例えば、図16の画像処理装置200)の情報処理方法が提供される。この情報処理方法においては、2つのシステムバスを接続する処理を行い、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイス(例えば、図16のイニシエータ13)の要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイス(例えば、図16のターゲット13)より予め定められた所定のデータ量である第1のデータ量(例えば、図2の転送長初期値61)のデータを取得し、キャッシュメモリ(例えば、図16のキャッシュメモリ202)を制御して保持させた後、マスタデバイスにデータを転送する第1の中継処理を実行する中継ステップ(例えば、図20のステップS126)と、中継ステップの処理により実行される第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量(例えば、図16の転送長計測部73により計測される転送長)を計測する計測ステップ(例えば、図10のステップS63)と、計測ステップの処理により制御されて計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、設定ステップの処理により設定された第3のデータ量(例えば、図17の最適転送長82)を記憶する様に制御する記憶制御ステップ(例えば、図10のステップS69)と、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、キャッシュメモリを制御して保持させた後、データを、システムバスを介してマスタデバイスに転送する第2の中継処理を実行する第2の中継ステップ(例えば、図14のデータ転送処理)とを含む。
In the present invention, a plurality of system buses (for example, FIG. 1) to which a plurality of devices (for example, PCI devices 11-1 to 11-N and PCI devices 211-1 to 211-K in FIG. 16) are connected. There is provided an information processing method of an information processing apparatus (for example, the image processing apparatus 200 in FIG. 16) having the
本発明においては、複数のデバイスが接続された複数のシステムバスを有し、前記複数のデバイスが前記システムバスを介して互いにデータ転送を行う処理を、コンピュータ(例えば、図4の画像処理装置100)に行わせるプログラムが提供される。このプログラムは、2つのシステムバスを接続する処理を行い、2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、データ転送を制御してデータ転送を行うデバイスであるマスタデバイス(例えば、図16のイニシエータ13)の要求に基づいて、マスタデバイスのデータ転送の相手となるターゲットデバイス(例えば、図16のターゲット13)より予め定められた所定のデータ量である第1のデータ量(例えば、図2の転送長初期値61)のデータを取得し、キャッシュメモリ(例えば、図16のキャッシュメモリ202)を制御して保持させた後、マスタデバイスにデータを転送する第1の中継処理を実行する中継ステップ(例えば、図20のステップS126)と、中継ステップの処理により実行される第1の中継処理において、マスタデバイスが1回のアクセスによりキャッシュメモリより取得するデータ量である第2のデータ量(例えば、図16の転送長計測部73により計測される転送長)を計測する計測ステップ(例えば、図10のステップS63)と、計測ステップの処理により制御されて計測された第2のデータ量に基づいて、ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、設定ステップの処理により設定された第3のデータ量(例えば、図17の最適転送長82)を記憶する様に制御する記憶制御ステップ(例えば、図10のステップS69)と、記憶制御ステップの処理により制御されて第3のデータ量が記憶された後において、マスタデバイスの要求に基づいて、ターゲットデバイスより、記憶制御ステップの処理により制御されて記憶された第3のデータ量分のデータを取得し、キャッシュメモリを制御して保持させた後、データを、システムバスを介してマスタデバイスに転送する第2の中継処理を実行する第2の中継ステップ(例えば、図14のデータ転送処理)とを含む。
In the present invention, a process including a plurality of system buses to which a plurality of devices are connected, and the plurality of devices transferring data to each other via the system bus is performed by a computer (for example, the image processing apparatus 100 in FIG. 4). ) Is provided. This program performs processing for connecting two system buses, and in a data transfer between devices connected to different system buses of the two system buses, a master device which is a device that controls data transfer and performs data transfer First data having a predetermined data amount determined in advance by a target device (for example, the target 13 in FIG. 16) that is a partner of data transfer of the master device based on a request from the master device (for example, the initiator 13 in FIG. 16). A first amount of data (for example, transfer length initial value 61 in FIG. 2) is acquired, and the cache memory (for example,
以下に、本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明を適用した画像処理装置の主な構成例を表している。 FIG. 1 shows a main configuration example of an image processing apparatus to which the present invention is applied.
図1に示される画像処理装置1は、例えば、映像データの記録再生装置等の映像機器であり、システムバスとしてPCIバス(Peripheral Components Interconnect bus)10が適用されている。
An
PCIバス10は、例えば、バス幅(1回の転送で送れるデータ量)が32ビット、動作周波数(1秒あたりの転送回数)が33MHz(メガヘルツ)、最大データ転送速度が133MB/s(メガバイトパーセカンド)のバスである。
For example, the
PCIバス10には、PCIデバイス11−1乃至PCIデバイス11−Nが接続されている。なお、以下において、PCIデバイス11−1乃至PCIデバイス11−Nの各PCIデバイスを区別して説明する必要のない場合は、PCIデバイス11と称する。また、図1においてPCIデバイス11は、PCIバス10に両矢印により接続されているが、実際には、複数の信号線、電源、およびグランド等により接続される。PCIデバイス11としては、PCIバス10を介してデータ転送が相互に可能な様々なデバイスが適用される。例えば、SCSI(Small Computer System Interface)インタフェース、IDE(Integrated Drive Electronics)インタフェース、およびフレキシブルディスクドライブ等の大容量記憶装置コントローラ、イーサネット(登録商標)インタフェースやATM(Asynchronous Transfer Mode)インタフェース等のネットワークコントローラ、ビデオコントローラやオーディオコントローラ等のマルチメディアコントローラ、SDRAM(Synchronous Dynamic Random Access Memory)やフラッシュメモリ等のメモリコントローラ、ISA(Industry Standard Architecture)ブリッジ、PCI-PCIブリッジ、PCMCIA(Personal Computer Memory Card International Association)ブリッジ等の各種ブリッジ、キーボードやマウス等の入力インタフェース、CPU等のプロセッサ、並びに、IEEE(Institute of Electrical and Electronic Engineers)1394やUSB(Universal Serial Bus)等のシリアルバスのコントローラ等が含まれる。もちろん、これ以外のデバイスもPCIデバイス11としてPCIバス10に接続されるようにしてもよい。
The PCI device 11-1 to PCI device 11 -N are connected to the
以下において、PCIバス10を介して行われるデータ転送(PCIデータ転送)を制御するPCIデバイスをマスタと称し、マスタの通信相手となるPCIデバイスをターゲットと称する。また、このようにマスタとして動作可能なPCIデバイス11をマスタデバイスと称し、ターゲットとしてのみ動作するデバイスをターゲットデバイスと称する。
Hereinafter, a PCI device that controls data transfer (PCI data transfer) performed via the
また、1つのPCIデータ転送において、マスタとして動作するPCIデバイス11は1つしか存在せず、このときのマスタをイニシエータと称する。すなわち、1つのPCIデータ転送において、イニシエータはマスタとしてデータ転送を制御し、他のターゲットと通信を行い、データの授受などを行う。なお、マスタデバイスはターゲットとして動作し、他のマスタデバイスとPCIデータ転送を行う場合がある。このときのPCIデータ転送におけるイニシエータは他のマスタデバイスとなる。
In one PCI data transfer, there is only one
図1において、イニシエータ13は、PCIデバイス11の1つであり、同じくPCIデバイスの1つであるターゲット14にアクセスしPCIデータ転送12を行う。すなわち、イニシエータ13は、ターゲット14に対するPCIデータ転送12を制御する。以下において、イニシエータ13およびターゲット14によるPCIデータ転送12について説明するが、PCIデータ転送12は、特定のPCIデバイス間におけるデータ転送を示すものではなく、PCIバス110のPCIバスシステムにおける全てのデータ転送に対して適応可能である。すなわち、イニシエータ13は、PCIデバイス11に含まれる任意のマスタデバイスのことを示し、ターゲット14は、イニシエータ13とPCIデータ転送を行う全てのPCIデバイス11のことを示す。
In FIG. 1, an initiator 13 is one of
ターゲット14は、PCIバス10に接続されるとともに、ローカルバス20を介してローカルメモリ21に接続されており、ローカルメモリ21のデータの入出力を制御するデバイスである。ターゲット14は、内部にキャッシュメモリ22を有している。このキャッシュメモリ22は、データ転送等に用いられ、例えば、PCIバス10とローカルバス20のデータ転送速度の違いを吸収させるため等に用いられる。例えば、イニシエータ13がPCIデータ転送12により、ターゲット14に対してローカルメモリ21のデータのリード要求を行うと、ターゲット14は、まず、ローカルバス20を介してローカルメモリ21にアクセスし、要求されたデータを読み出し、それをキャッシュメモリ22に保持させる。ターゲット14は、後述するように、イニシエータ13が1度のアクセスにより取得するデータ量(ワード数)の情報を予め計測しており、その情報に基づいて、イニシエータ13が1度のアクセスにより取得するデータ量(ワード数)のデータをローカルメモリ21より取得し、それをキャッシュメモリ22に保持させる。
The
以下において、イニシエータ13が1度のアクセスにより取得するデータ量(ワード数)のことを、イニシエータ13に対する転送長と称する。なお、ワードは、メモリの読み出し単位であり、1ワードは、例えば、2バイトである。ターゲット14は、転送させるデータ(イニシエータ13に対する転送長分の転送用データ)をキャッシュメモリ22に保持させ、データ転送の準備が整うと、ターゲット14は、それを、PCIバス10を介してイニシエータ13に供給する。
Hereinafter, the data amount (number of words) acquired by the initiator 13 by one access is referred to as a transfer length for the initiator 13. Note that a word is a memory read unit, and one word is, for example, 2 bytes. The
PCIバス10には、また、PCIバス10とホストバス30を接続するブリッジであるホストPCIブリッジ15も接続されている。ホストPCIブリッジ15は、PCIバス10とホストバス30とのブリッジとして動作するだけでなく、ホストバス30を介して接続されるCPU(Central Processing Unit)31の制御に基づいて、PCIバス10を制御するPCIバスコントローラとしても動作する。
Also connected to the
さらに、PCIバス10には、アービタ16も接続される。アービタ16は、PCIバス10の使用権の調停処理(アービトレーション)を実行する。すなわち、アービタ16は、各マスタデバイスからの要求(リクエスト)を受け付け、同時に2つ以上のマスタデバイスからバス要求を受け付けた場合には、どのマスタデバイスにPCIバス10の使用権を与えるかを選択し、選択したマスタデバイスに対して、PCIバス10の使用権を与え、許可したことを通知する(グラント)。
Further, an
また、上述したターゲット14およびローカルメモリ21が接続されるローカルバス20は、メインシステムバスとなるPCIバス10に対してローカルなバスであり、画像処理装置1の一部のデバイスを互いに接続するバスである。ローカルバス20には、ターゲット14およびローカルメモリ21の他に、ローカルデバイス23−1乃至ローカルデバイス23−Mが接続されている。すなわち、ローカルバス20においては、ターゲット14およびローカルメモリ21もローカルデバイスの1つであり、ターゲット14およびローカルメモリ21、並びに、ローカルデバイス23−1乃至ローカルデバイス23−Mの各デバイス間において、PCIバス10の場合と同様に、データ転送が行われる。
The
ホストバス30には、画像処理装置1全体を制御するCPU31の他にメインメモリ32も接続されている。CPU31は、ホストバス30を介してメインメモリ32にアクセスし、メインメモリ32にロードされたプログラムに従って各種の処理を実行し、画像処理装置1の各部の動作を制御する。メインメモリ32にはまた、CPU31が各種の処理を実行する上において必要なデータなども適宜記憶される。
In addition to the
CPU31には、さらに、CPU31が実行するプログラムやデータが予め記憶されたROM(Read Only Memory)41、書き換え可能なフラッシュメモリ等により構成され、CPU31が実行するプログラムやデータが記憶される記憶部42、および、CPU31に制御されるなどして、装着されたリムーバブルメディア44に記憶されているプログラムやデータを読み出し、CPU31に供給するドライブ43が接続されている。さらに、キーボード等の入力デバイスやモニタ等の出力デバイス(いずれも図示せず)のように上述した以外のデバイスがCPU31に接続されるようにしてももちろんよい。
The
以上のような構成の画像処理装置1において、例えば、電源投入時等のようにPCIバス10がリセットされるとき、CPU31は、PCIバス10のリセット処理を行うが、その際、PCIデータ転送12について、イニシエータ13とターゲット14を制御し、イニシエータ13に対する転送長を調査させる。具体的には、CPU31は、イニシエータ13を制御し、ターゲット14に対してメモリリード要求(例えば、ローカルメモリ21のデータの読み出し要求)を発行させる。また、CPU31は、そのメモリリード要求に対する処理を行うターゲット14に対して、イニシエータ13が1回のメモリリード要求において取得するデータの転送長を計測させる。
In the
このようなCPU31の制御に基づいて、イニシエータ13は、ターゲット14に対してメモリリード要求を発行し、ターゲット14は、そのリード要求に対する処理を行う。このときターゲット14は、転送長として十分に多いデータ量のデータをローカルメモリ21より読み出し、キャッシュメモリ22に蓄積する。ターゲット14が十分なデータ量のデータをキャッシュメモリ22に蓄積すると、イニシエータ13は、ターゲット14よりそのデータの取得を開始する。ターゲット14は、その取得量(ワード数)を計測する。
Based on such control of the
イニシエータ13の取得量を計測したターゲット14は、その取得量をイニシエータ13に対する転送長として保持し、調査処理を終了する。そして、PCIバス10において、通常のデータ転送が開始され、ターゲット14がそのイニシエータ13よりメモリリード要求を発行されると、ターゲット14は、その保持したイニシエータ13に対する転送長分のデータをローカルメモリ21より読み出す。
The
このように各部が動作することにより、画像処理装置1は、PCIデータ転送によるローカルメモリのトラフィックの増大を抑制するとともに、PCIデータ転送において不要なトランザクションの発生や転送効率の低下等を抑制することができ、PCIバス10やローカルバス20を有効に活用することができる。
As each unit operates in this manner, the
図2は、図1のCPU31の内部の詳細な構成例を示すブロック図である。なお、図2において、CPU31は、後述するターゲット14によるイニシエータ13に対する転送長の設定に関する処理部についてのみ示されている。
FIG. 2 is a block diagram showing an example of a detailed configuration inside the
CPU31は、リセット処理部51、PCIコンフィギュレーション処理部52、調査対象ターゲット特定部53、転送長初期値供給部54、転送長初期値記憶部55、マスタ別転送長調査制御部56、およびインタフェース処理部57を有している。
The
リセット処理部51は、PCIコンフィギュレーション処理部52乃至マスタ別転送長調査制御部56を制御して、リセット時におけるPCIバス10の初期化に関する処理を行う。
The
PCIコンフィギュレーション処理部52は、リセット処理部51に制御されて、ホストPCIブリッジ15を介して各PCIデバイス11にアクセスし、各PCIデバイス11に対して、メモリアドレス、I/Oアドレス、割り込みレベル、およびDMA(Direct Memory Access transfer)チャネル等のシステムリソースの割り当て、ドライバのロード/アンロード、および各種パラメータの設定等を行うコンフィギュレーション処理を行う。
The PCI
調査対象ターゲット特定部53は、リセット処理部51に制御されて、マスタデバイスに対する転送長の設定処理について、PCIコンフィギュレーション処理部52によるコンフィギュレーション処理結果に基づいて、処理を行うデバイス(ターゲットデバイス)を特定する。調査対象ターゲット特定部53は、各PCIデバイス11について転送長の設定が可能であるか否かを判定し、調査処理を実行させるターゲットを特定する。
The investigation target
転送長初期値供給部54は、リセット処理部51に制御されて、転送長初期値記憶部55に記憶されている転送長初期値61を読み出し、それを、転送長の設定処理を行うターゲットデバイス(調査対象ターゲット特定部53により特定されたターゲットデバイス)に、インタフェース処理部57を介して供給する。なお、転送長初期値61は、ターゲット14におけるイニシエータ13に対する転送長の初期値であり、予め定められた所定の値である。この転送長初期値61には、後述する転送長の調査処理においてディスコネクト等の不要な処理が発生しないように、イニシエータ13に対する転送長として予想されるデータ量(ワード数)と比較して十分に大きい値、すなわち、計測される最大のイニシエータ13に対する転送長よりも大きくなるように設定される。
The transfer length initial
マスタ別転送長調査制御部56は、リセット処理部51に制御されて、各ターゲット14が調査処理を行うことができるように、各マスタデバイスに対して、調査処理を行うターゲット14に対するリード要求を発行させる。また、マスタ別転送長調査制御部56は、リセット処理部51に制御されて、各ターゲット14に対してマスタ別転送長調査処理を実行させる。
The master-specific transfer length
インタフェース処理部57は、PCIコンフィギュレーション処理部52、調査対象ターゲット特定部53、転送長初期値供給部54、並びにマスタ別転送長調査制御部56等の、ホストバス30に対するインタフェース処理を実行する。インタフェース処理部57は、上述したこれらの各部が発行したコマンドやデータを、ホストバス30を介して、ホストPCIブリッジ15に供給したり、ホストPCIブリッジ15より供給されたコマンドやデータをCPU31内の各部に供給したりする。
The
図3は、図1のターゲット14の、内部の詳細な構成例を示すブロック図である。
FIG. 3 is a block diagram showing a detailed internal configuration example of the
図3において、ターゲット14は、上述したキャッシュメモリ22の他に、マスタ別転送長調査部71、マスタ判別部72、転送長計測部73、マスタ別転送長記憶部74、並びにデータ転送処理部75を有している。
In FIG. 3, in addition to the
マスタ別転送長調査部71は、CPU31のマスタ別転送長調査制御部56に制御され、マスタ判別部72、転送長計測部73、または、データ転送処理部75を制御し、イニシエータ13(ターゲット14とデータ転送を行う全てのマスタデバイス)に対する最適な転送長を調査し、マスタデバイス毎に設定する処理を行う。
The master-specific transfer
上述したように、各マスタデバイスがターゲット14に対してメモリリード要求を発行する場合、ターゲット14は、この要求に対して、各マスタデバイスが1回のアクセスで取得するデータ量(ワード数)である転送長分のデータを、キャッシュメモリ22に一時的に蓄積させるが、各マスタデバイスの転送長は互いに異なることがあり、ターゲット14がキャッシュメモリ22に蓄積させたデータ量(ワード数)、すなわち、ターゲット14が想定していたマスタデバイスの転送長が、実際のマスタデバイスの転送長より大きい場合(すなわち、ターゲット14が、不要なデータをキャッシュメモリ22に蓄積させる場合)、ローカルバス20のトラフィックが不要に増加してしまう。逆に、ターゲット14が想定していたマスタデバイスの転送長が、実際のマスタデバイスの転送長より小さい場合(すなわち、ターゲット14がキャッシュメモリ22に蓄積させたデータ量がデータ転送処理に対して不足している場合)、不要なトランザクションが発生し、ローカルバス20のトラフィックが不要に増加してしまう。
As described above, when each master device issues a memory read request to the
そこで、マスタ別転送長調査部71は、例えば、PCIバス10のリセット時等において、CPU31のマスタ別転送長調査制御部56に制御されて、実際のデータ転送前に、予め、各マスタデバイスに対する最適な転送長を調査する。最適な転送長とは、上述したような不要なトラフィックの増加や不要なトランザクションの増加を最も抑制する転送長のことである。すなわち、最適な転送長とは、通常のデータ転送処理においてマスタデバイスが1回のアクセス(要求)により取得するデータ量(ワード数)に近似する(等しい場合を含む)ように設定されるデータ量のことである。
Therefore, the master-specific transfer
マスタ判別部72は、後述するようにPCIバス10やアービタ16に接続されており、各信号の値に基づいて、リード要求を発行したマスタデバイス(イニシエータ13)を判別する処理を実行する。すなわち、マスタ判別部72は、転送長計測時においては、転送長を計測する対象となるマスタデバイス(イニシエータ13)を特定する。
The
転送長計測部73は、マスタデバイスからのメモリリード処理に対する処理としてデータ転送処理部75が行う、マスタデバイスの1回のアクセスに対するデータの連続転送ワード数を計測し、そのマスタデバイスに対する最適な転送長(最適転送長)を求める。
The transfer
マスタ別最適転送長記憶部74は、転送長計測部73により計測された各マスタデバイスに対する最適転送長82を、それぞれが対応するレジスタに格納し、記憶している。例えば、図3の場合、マスタ別最適転送長記憶部74には、マスタA用最適転送長レジスタ81−1、マスタB用最適転送長レジスタ81−2、および、マスタC用最適転送長レジスタ81−3等が設けられており、各レジスタには、各レジスタが対応するマスタの最適転送長82が格納されている。
The master-specific optimum transfer length storage unit 74 stores the optimum transfer length 82 for each master device measured by the transfer
データ転送処理部75は、PCIバス10のバスコマンド/バイトイネーブル(C/BE[3:0]#)、デバイスセレクション(DEVSEL#)、ターゲットレディ(TRDY#)、およびストップ(STOP#)等を含む各種の信号バスに接続され、イニシエータ13(すなわち、他のPCIデバイス11であるマスタデバイス)とPCIデータ転送処理12の制御を行う。また、データ転送処理部75は、ローカルバス20にも接続されており、ローカルメモリ21やローカルデバイス23−1乃至23−Mとローカルバス20を介したデータ転送の制御も行う。
The data
データ転送処理部75は、例えば、イニシエータ13からのメモリリード要求を受け付けたり、その要求に基づいて、バス20を介してローカルメモリ21にアクセスしたり、リード要求されたアドレスよりデータを読み出してキャッシュメモリ22に保持させるように制御したり、キャッシュメモリ22を制御して、保持させたデータを1ワードずつPCIバス22に出力させたりする。
For example, the data
このとき、データ転送処理部75は、マスタ判別部72の判別処理に基づいて、マスタ別最適転送長記憶部74よりイニシエータ13に対応する最適転送長82をレジスタより読み出し、その情報に基づいて、ローカルメモリ21より読み出すデータ量(ワード数)を制御する。
At this time, the data
また、データ転送処理部75は、マスタ別転送長調査部71に制御されて、イニシエータ13に対する転送長調査時におけるデータ転送処理も行う。このとき、データ転送処理部75は、CPU31より供給された転送長初期値分のデータをローカルメモリ21より読み出し、キャッシュメモリ22に保持させる。また、このデータ転送において、データ転送処理部75により制御されてキャッシュメモリ22がPCIバス20に出力するワード数は転送長計測部73に監視される。
The data
キャッシュメモリ22は、PCIバス20のアドレス/データバス(AD[31:0])等の信号バスに接続されており、データ転送処理部75に制御され、保持している転送データ91をPCIバス20(アドレス/データバス(AD[31:0]))に出力する。出力された転送データ91は、PCIバス20を介してイニシエータ13に供給される。
The
次に、上述したマスタ判別部72のPCIバス20との接続について説明する。図4は、マスタ判別部72とアービタ16の接続関係を示す図である。
Next, connection with the
マスタ判別部72は、図4に示されるように、PCIデバイス11であるL個のマスタデバイス101−1乃至101−Lがアサートおよびディアサートするリクエスト(REQ#)の状態と、アービタ16がアサートおよびディアサートするグラント(GNT#)の状態を監視する。
As shown in FIG. 4, the
PCIバス10は、あるタイミングにおいては、1つのマスタデバイスにより、その使用権が占有される。すなわち、PCIバス10においては、同時に複数のマスタデバイスがデータ転送の制御を行うことはない。このバスの使用権は、アービタ16により管理されており、上述したように、各マスタデバイスからの要求に基づいて、アービタ16がいずれか1つに割り当てる。
The use right of the
例えば、図4に示されるように、L個のマスタデバイス101−1乃至101−L(以下、区別する必要の無い場合、マスタデバイス101と称する)はそれぞれ、バスの使用権を要求する信号線であるリクエスト(REQ#)111−1乃至111−L(以下、区別する必要の無い場合、リクエスト(REQ#)111と称する)によってアービタ16に接続されている。各マスタデバイスは、このリクエスト(REQ#)111をアサートすることにより、アービタ16に対してPCIバス10の使用権を要求する。
For example, as shown in FIG. 4, each of the L master devices 101-1 to 101-L (hereinafter referred to as
また、各マスタデバイス101は、それぞれ、アービタ16がバスの使用権を割り当てたことを通知するための信号線であるグラント(GNT#)112−1乃至112−L(以下、区別する必要の無い場合、グラント(GNT#)112と称する)によってもアービタ16に接続されている。アービタ16は、リクエスト(REQ#)111をアサートさせたマスタデバイス101の中から1つを選択し、そのマスタデバイス101にたいしてグラント(GNT#)112をアサートさせて、PCIバス10の使用権を割り当てたことを通知する。
Each
マスタ判別部72は、図4に示されるように、これらのリクエスト(REQ#)111のそれぞれと、リクエスト(REQ#)121−1乃至121−L(以下、区別する必要の無い場合、リクエスト(REQ#)121と称する)により、接続されており、各リクエスト(REQ#)111の状態を把握することにより、どのマスタデバイス101がPCIバス10の使用権を要求したのかを特定する。
As shown in FIG. 4, the
また、マスタ判別部72は、図4に示されるように、グラント(GNT#)112のそれぞれとも、グラント(GNT#)122−1乃至122−L(以下、区別する必要の無い場合、グラント(GNT#)122と称する)により接続されており、アービタ16がどのマスタデバイス101にバスの使用権を割り当てたのかを特定する。
Further, as shown in FIG. 4, each of the grants (GNT #) 112 is assigned to each of the grants (GNT #) 122-1 to 122-L. GNT #) 122), and the
このように、マスタ判別部72は、これらの信号を監視することにより、現在行われているPCIデータ転送を行っているマスタデバイス101を判別することができる。
In this way, the
ただし、正確には、アービタ16は、PCIバス10の使用権を与えたマスタデバイス101がコマンド発行等の処理を行い、その処理が終了した時点(トランザクションの途中で)で変更可能である。従って、タイミングによっては、実際に処理を行っているマスタデバイス101と、リクエスト(REQ#)121およびグラント(GNT#)122より判別したマスタデバイス101とが異なってしまうことも考えられる。
However, to be exact, the
そこで、マスタ判別部72は、図5に示されるように、PCIバス10のフレーム(FRAME#)131、およびイニシエータレディ(IRDY#)132の状態も監視し、それらの信号値にも基づいて、どのマスタデバイスがイニシエータ13であるかを判別する。
Therefore, as shown in FIG. 5, the
フレーム(FRAME#)131は、イニシエータがトランザクションを開始する際にアサートする信号であり、バースト転送中はアサートされつづけ、最後のデータ転送の直前にディアサートされる。イニシエータレディ(IRDY#)132は、イニシエータがデータ転送可能状態にあるときにアサートする信号である。すなわち、イニシエータがデータ転送する際は、必ず、このイニシエータレディ(IRDY#)132はアサートされている。 The frame (FRAME #) 131 is a signal that is asserted when the initiator starts a transaction. The frame (FRAME #) 131 is continuously asserted during the burst transfer and is deasserted immediately before the last data transfer. The initiator ready (IRDY #) 132 is a signal that is asserted when the initiator is in a data transfer enabled state. That is, when the initiator transfers data, the initiator ready (IRDY #) 132 is always asserted.
従って、フレーム(FRAME#)131またはイニシエータレディ(IRDY#)132のいずれか一方がアサートされている間は、トランザクションが終了しておらず、バスの使用権は他のマスタデバイスに移行していないことを示す。ターゲット14のマスタ判別部72は、これらの信号の状態からこのように判断することにより、バスの使用権を有するマスタデバイス101(イニシエータ13)を判別する。
Therefore, while either the frame (FRAME #) 131 or the initiator ready (IRDY #) 132 is asserted, the transaction has not ended and the right to use the bus has not been transferred to another master device. It shows that. The
図5において、PCIバス10のフレーム(FRAME#)131には、信号線131−1乃至131−Lのように、各マスタデバイス101−1乃至101−Lが接続されている。また、PCIバス10のイニシエータレディ(IRDY#)132にも、信号線132−1乃至132−Lのように、各マスタデバイス101−1乃至101−Lが接続されている。
In FIG. 5, the master devices 101-1 to 101-L are connected to the frame (FRAME #) 131 of the
各マスタデバイス101は、これらの信号線を介して、PCIバス10のフレーム(FRAME#)131、およびイニシエータレディ(IRDY#)132をアサートしたりディアサートしたりする。ターゲット14のマスタ判別部72は、信号線141を介してフレーム(FRAME#)131と接続され、信号線142を介してイニシエータレディ(IRDY#)132に接続されており、これらの信号線を介して、PCIバス10のフレーム(FRAME#)131、およびイニシエータレディ(IRDY#)132の状態を取得する。
Each
次に、このような画像処理装置1における処理の流れについて説明する。
Next, a processing flow in the
例えば、電源投入時等のように、PCIバス10(およびPCIデバイス11)がリセットされる場合、CPU31のリセット処理部51は、リセット処理を開始する。
For example, when the PCI bus 10 (and the PCI device 11) is reset, such as when the power is turned on, the
最初に、ステップS1において、CPU31のPCIコンフィギュレーション処理部52は、リセット処理部51に制御されて、コンフィギュレーション処理を実行し、PCIバス10およびPCIデバイス11を初期化し、各種の設定や割り当てを行う。具体的には、PCIコンフィギュレーション処理部52は、PCIバス10を介して、各PCIデバイス11のコンフィギュレーションレジスタからベンダID、デバイスID、およびクラスコード等の、PCIデバイス111に関する情報を取得する。そして、PCIコンフィギュレーション処理部52は、それらのIDやコードに基づいて各PCIデバイス11を識別し、各デバイスに対して、メモリアドレス、I/Oアドレス、割り込みレベル、およびDMAチャネル等のシステムリソースの割り当て、ドライバのロード/アンロード、および各種パラメータの設定等を行う。
First, in step S1, the PCI
以上のようなコンフィギュレーション処理を行うと、CPU31のPCIコンフィギュレーション処理部52は、リセット処理部51に制御されて、ステップS1のコンフィギュレーション処理を終了しステップS2に処理を進める。
When the configuration processing as described above is performed, the PCI
ステップS2において、調査対象ターゲット特定部53は、リセット処理部51に制御されて、マスタデバイスの最適な転送長を計測するターゲット(調査対象ターゲット)を特定する。ステップS2の処理が終了すると、調査対象ターゲット特定部53は、ステップS3に処理を進める。
In step S <b> 2, the investigation target
ステップS3において、CPU141の転送長初期値供給部54は、リセット処理部51に制御されて、転送長初期値記憶部55に予め記憶されている転送長初期値61を読み出し、インタフェース処理部57を介して、調査対象ターゲット特定部53が特定したターゲットにそれを供給する。転送長初期値を供給すると、転送長初期値供給部54は、リセット処理部51に制御されて、処理をステップS4に進める。
In step S <b> 3, the transfer length initial
ステップS4において、CPU31のマスタ別転送長調査制御部56は、リセット処理部51に制御されて、マスタ別転送長調査制御処理を実行し、マスタ別転送長調査処理を制御する。マスタ別転送長調査制御処理の詳細については、図7のフローチャートを参照して後述する。
In step S4, the master-specific transfer length
ステップS4の処理を終了したマスタ別転送長調査制御処理を終了したマスタ別転送長調査制御部56は、リセット処理部51に制御されて、リセット処理を終了する。
The master-by-master transfer length
次に、図6のステップS4において実行されるマスタ別転送長調査制御処理の詳細について図7のフローチャートを参照して説明する。 Next, details of the master-specific transfer length investigation control process executed in step S4 of FIG. 6 will be described with reference to the flowchart of FIG.
最初に、ステップS21において、マスタ別転送長調査制御部56は、変数iの値を「1」に設定する。
First, in step S21, the master-specific transfer length
ステップS22において、マスタ別転送長調査制御部56は、各マスタデバイス(イニシエータ13)に、i番目の調査対象ターゲットに対するメモリリード処理を所定の回数実行させる。すなわち、各マスタデバイスは、この制御により、今回の調査対象であるターゲットに対して、順番にメモリリード要求を所定の回数ずつ発行する。また、このとき、ターゲット14においては、マスタ別転送長調査処理が実行されている。従って、このようにマスタデバイスを制御してメモリリードアクセスさせることにより、調査対象ターゲットは、そのターゲットと通信可能な全てのマスタデバイスの転送長を、所定の回数ずつ計測することができる。
In step S22, the master-specific transfer length
ステップS22の処理を終了したマスタ別転送長調査制御処理部56は、ステップS23に処理を進め、変数iをインクリメントし、ステップS24において、全ての調査対象ターゲット(調査対象ターゲット特定部53により特定されたターゲット全て)に対して、処理したか否かを判定する。未処理のターゲットが存在すると判定した場合、マスタ別転送長調査制御処理部56は、処理をステップS22に戻し、それ以降の処理を繰り返す。
The master-specific transfer length investigation
ステップS24において、全ての調査対象ターゲットに対して処理をしたと判定した場合、マスタ別転送長調査制御処理部56は、マスタ別転送長調査制御処理を終了し、図6のステップS4に処理を戻す。
If it is determined in step S24 that processing has been performed for all the targets to be investigated, the master-specific transfer length survey
以上のようにして、マスタ別転送長調査制御理部56は、全ての調査対象ターゲットに対して、上述した処理を行い、各マスタデバイスに対する転送長を計測させる。
As described above, the master-by-master transfer length
次に、ターゲット14において実行されるマスタ別転送長調査処理を図8のフローチャートを参照して説明する。
Next, the master-specific transfer length check process executed in the
マスタ別転送長調査部71は、ステップS41において、データ転送処理部75を制御し、転送長初期値61が供給されたか否かを判定する。転送長初期値61が供給されたと判定した場合、マスタ別転送長調査部71は、処理をステップS42に進め、供給された転送長初期値61を所定のレジスタ(図示せず)にセットする。
In step S41, the master-specific transfer
転送長初期値61をレジスタにセットすると、マスタ別転送長調査部71は、処理をステップS43に進める。また、ステップS41において、転送長初期値61が供給されていないと判定した場合、マスタ別転送長調査部71は、ステップS42の処理を省略し、ステップS43に処理を進める。
When the transfer length initial value 61 is set in the register, the master-specific transfer
ステップS43において、マスタ別転送長調査部71は、データ転送処理部75を制御して、イニシエータ13よりメモリリード要求を取得したか否かを判定する。メモリリード要求を取得したと判定した場合、マスタ別転送長調査部71は、ステップS44に処理を進める。ステップS44において、マスタ判別部72は、マスタ別転送長調査部71に制御されて、このときの各信号の状態を取得し、メモリリード要求を発行したマスタを判別し、ステップS45に処理を進める。
In step S43, the master-specific transfer
ステップS45において、データ転送処理部75は、メモリリード要求に対してリトライを返すとともに、ローカルメモリ21にアクセスし、ローカルメモリ21より転送長初期値分のデータを読み出し、それをキャッシュメモリ22に蓄積させる。
In step S <b> 45, the data
図9は、データ転送処理部75がリトライ処理を返す際の、各信号における状態遷移の様子の例を示す図である。
FIG. 9 is a diagram illustrating an example of the state transition in each signal when the data
リトライ処理を返す場合、データ転送処理部75は、デバイスセレクション(DEVSEL#)をアサートしたまま、ストップ(STOP#)をアサートする。ストップ(STOP#)のアサートを確認すると、イニシエータ13は、フレーム(FRAME#)をディアサートし、さらに、リクエスト(REQ#)もディアサートし、PCIバス10を一旦解放する。データ転送処理部75は、フレーム(FRAME#)がディアサートされたことを確認すると、ストップ(STOP#)およびデバイスセレクション(DEVSEL#)をディアサートする。また、これに伴い、イニシエータ13は、イニシエータレディ(IRDY#)もディアサートする。
When returning the retry process, the data
なお、リトライが返されると、イニシエータ13は、上述したようにPCIバス10を一旦解放した後、同じ内容のメモリリード要求を再度発行する。ターゲット14は、データ転送の準備が整うまで、メモリリード要求に対してリトライを返す。すなわち、ターゲット14がデータ転送の準備が整うまで以上のような処理が繰り返される。
When the retry is returned, the initiator 13 once releases the
ステップS45の処理を終了するとデータ転送処理部75は、処理をステップS46に進め、データ蓄積完了後にメモリリード要求を取得したか否かを判定し、取得したと判定した場合、ステップS47に処理を進める。ステップS47において、転送長計測部73は、転送長計測処理を実行する。転送長計測処理の詳細については、図10のフローチャートを参照して説明する。
When the process of step S45 ends, the data
転送長計測処理を終了すると、マスタ別転送長調査部71は、処理をステップS48に進める。また、ステップS43において、メモリリード要求を取得していないと判定した場合、データ転送処理部75は、処理をステップS48に進める。さらに、ステップS46において、データ蓄積完了後にメモリリード要求を取得していないと判定した場合、データ転送処理部75は、ステップS48に処理を進める。
When the transfer length measurement process ends, the master-specific transfer
ステップS48において、マスタ別転送長調査部71は、マスタ別転送長調査処理を終了するか否かを判定し、終了しないと判定したばあい、処理をステップS41に戻し、それ以降の処理を繰り返す。また、マスタ別転送長調査処理を終了すると判定した場合、マスタ別転送長調査部71は、マスタ別転送長調査処理を終了する。
In step S48, the master-by-master transfer
次に、図10のフローチャートを参照して、転送長計測処理を説明する。 Next, transfer length measurement processing will be described with reference to the flowchart of FIG.
転送長計測部73は、ステップS61において、内蔵する転送長カウンタ(図示せず)の値を初期化し、ステップS62に処理を進める。ステップS62において、データ転送処理部75は、キャッシュメモリ22に蓄積した転送データ91の最初の1ワード分をPCIバス10に出力させる。
In step S61, the transfer
ステップS63において、転送長計測部73は、キャッシュメモリ22より出力されたワード数を計測するために、転送長カウンタを1回インクリメントする。ステップS64において、データ転送処理部75は、マスタ(イニシエータ13)よりデータ転送終了が通知されたか否かを判定する。
In step S63, the transfer
メモリリードサイクル(メモリリード要求によるトランザクション)においては、図11に示されるように、イニシエータ13は、最後のデータ(データ3)を取得する(クロック9の)直前にフレーム(FRAME#)をディアサートし、次のデータでトランザクションを終了することを示す。すなわち、イニシエータ13は、フレーム(FRAME#)をディアサートした状態でデータを取得すると、イニシエータレディ(IRDY#)をディアサートし、バスを解放する。また、ターゲット14(データ転送処理部75)は、このフレーム(FRAME#)がディアサートされた場合、データの供給を次のワードで中止する。 In the memory read cycle (transaction by memory read request), as shown in FIG. 11, the initiator 13 deasserts the frame (FRAME #) immediately before the last data (data 3) is acquired (clock 9). And the transaction ends with the next data. That is, when the initiator 13 acquires data in a state where the frame (FRAME #) is deasserted, the initiator 13 deasserts the initiator ready (IRDY #) and releases the bus. Further, when this frame (FRAME #) is deasserted, the target 14 (data transfer processing unit 75) stops supplying data at the next word.
すなわち、図10のステップS64において、データ転送処理部75は、フレーム(FRAME#)の状態を監視し、ディアサートされることにより、データ転送終了が通知されたか否かを判定する。フレーム(FRAME#)がディアサートされておらず、データ転送終了が通知されていないと判定した場合、データ転送処理部75は、処理をステップS65に進め、キャッシュメモリ22の転送データ91の次の1ワード分をPCIバス10に出力させる。ステップS65の処理を終了した、データ転送処理部75は、処理をステップS63に戻し、それ以降の処理を繰り返す。
That is, in step S64 of FIG. 10, the data
また、ステップS64において、フレーム(FRAME#)がディアサートされ、データ転送終了が通知されたと判定した場合、データ転送処理部75は、ステップS66に処理を進め、キャッシュメモリ22を制御してデータの出力を停止させる。データの出力が停止すると、転送長計測部73は、ステップS67において、転送長カウンタの値に基づいて、最適転送長を求める。例えば、複数回データ転送処理が行われ、複数回転送長が計測された場合、転送長計測部73は、それらの計測結果である転送長の平均値を最適転送長とする。なお、転送長計測部73は、最適転送長として、例えば、計測された転送長群の最大値や最小値等、平均値以外の値を最適転送長とするようにしてもよい。
If it is determined in step S64 that the frame (FRAME #) has been deasserted and the end of data transfer has been notified, the data
最適転送長を算出した転送長計測部73は、処理をステップS68に進め、転送長計測処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS61に戻し、それ以降の処理を繰り返す。
The transfer
また、ステップS68において、転送長計測処理を終了すると判定した場合、転送長計測部73は、処理をステップ69に進め、ステップS67において求めた最適転送長を、今回データ転送を行ったイニシエータ13に対応する最適転送長レジスタにセット(格納)し、転送長計測処理を終了し、処理を図8のステップS47に戻す。
If it is determined in step S68 that the transfer length measurement process is to be terminated, the transfer
以上のように転送長計測処理を行うことにより、転送長計測部73は、イニシエータ13に対する転送長を求めることができる。
By performing the transfer length measurement process as described above, the transfer
次に、以上の転送長計測処理において行われるデータ転送をどのマスタデバイスが行っているかを判断するために実行されるマスタ判別処理について図12のフローチャートを参照して説明する。なお、図10のステップS69において、求められた最適転送長をレジスタにセットする際に、転送長計測部73は、このマスタ判別処理の処理結果を利用し、どのマスタデバイスに対応するレジスタにセットするかを判断する。
Next, a master determination process executed to determine which master device is performing the data transfer performed in the above transfer length measurement process will be described with reference to the flowchart of FIG. In step S69 in FIG. 10, when the obtained optimum transfer length is set in the register, the transfer
マスタ判別部72は、ステップS81において、各マスタデバイスに対するグラント(GNT#)のいずれかがアサートされたか否かを判定し、アサートされたと判定するまで待機する。このとき、PCIバス10は、どのマスタデバイスもPCIバス10の使用権を獲得していない(すなわちデータ転送が行われていない)アイドル状態である。グラント(GNT#)のいずれかがアサートされたと判定した場合、マスタ判別部72は、処理をステップS82に進める。
In step S81, the
ステップS82において、マスタ判別部72は、グラント(GNT#)がアサートされたマスタを特定マスタに設定する。また、このとき、グラントがアサートされたマスタデバイスは、フレームFRAME#をアサートする。これによりPCIバス10にはトランザクションが発生し、データ転送に関する処理が開始される。
In step S82, the
ステップS82の処理を終了するとマスタ判別部72は、ステップS83に処理を進め、グラント(GNT#)がアサートされたマスタが変更されたか否かを判定し、変更されたと判定した場合、ステップS84に処理を進め、トランザクションが終了し、バスアイドル状態が発生したか否かを判定し、バスアイドル状態が発生したと判定するまで待機する。
When the process of step S82 is completed, the
PCIバス10は、ドライバの切り替え等のために、前のトランザクションの終了と、次のトランザクションの開始の間に、少なくとも1クロックの待機状態(バスアイドル状態)の区間(例えば、図13のクロック2、クロック5、クロック9、およびクロック11)が必要である。図13においては、マスタaとマスタbとの間で、バスの使用権が切り替えられる様子が示されている。
The
そこで、マスタ判別部72は、アービタ16がトランザクション中にグラント(GNT#)をアサートするデバイスを変更しても(アービタ16が次にバスの使用権を与えるマスタデバイスを、イニシエータ13以外のマスタデバイスの中から選択しても)、すぐにイニシエータ13となるマスタデバイスが変更されたと判断せずに、トランザクションが終了するまで待機する。
Therefore, even if the
そして、ステプS84において、バスアイドル状態が発生したと判定した場合、マスタ判別部72は、トランザクションが終了したと判定し、処理をステップS85に進め、特定マスタを、現在グラント(GNT#)がアサートされているマスタに変更する。
If it is determined in step S84 that the bus idle state has occurred, the
ステップS85の処理を終了したマスタ判別部72は、ステップS86に処理を進める。また、ステップS83においてグラントがアサートされたマスタが変更されていないと判定した場合、マスタ判別部72は、ステップS84およびステップS85の処理を省略し、ステップS86に処理を進める。
After completing the process in step S85, the
ステップS86において、マスタ判別部72は、グラント(GNT#)がディアサートされたか否かを判定し、グラント(GNT#)がディアサートされたと判定した場合、処理をステップS87に進め、バスアイドル状態が発生したか否かを判定し、バスアイドル状態が発生したと判定するまで待機する。
In step S86, the
トランザクション中にグラント(GNT#)がディアサートされ、アービタ16がバスの使用権をどのデバイスにも割り当てないとした場合も、マスタ判別部72は、上述した切り替えの場合と同様に、バスアイドルが発生するまで(トランザクションが終了するまで)待機する。
Even when the grant (GNT #) is deasserted during the transaction and the
ステップS87において、バスアイドル状態が発生し、トランザクションが終了したと判定した場合、マスタ判別部72は、ステップS88に処理を進め特定マスタの設定を空にする。
In step S87, when it is determined that a bus idle state has occurred and the transaction has ended, the
ステップS89に処理を進めると、マスタ判別部72は、マスタ判別処理を終了するか否かを判定し、終了しないと判定した場合、マスタ判別部72は、処理をステップS81に戻し、それ以降の処理を繰り返す。またステップS89において、マスタ判別処理を終了すると判定したマスタ判別部72は、マスタ判別処理を終了する。
When the process proceeds to step S89, the
また、ステップS86において、グラントがディアサートされなかったと判定した場合、マスタ判別部72は、ステップS90に処理を進め、マスタ判別処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS83に戻し、それ以降の処理を繰り返す。また、ステップS90において、マスタ判別処理を終了すると判定した場合、マスタ判別部72は、マスタ判別処理を終了する。
If it is determined in step S86 that the grant has not been deasserted, the
以上のようにして、マスタ判別部72は、イニシエータ13となるマスタデバイスを特定する。これにより、転送長計測部73は、計測した最適転送長をマスタデバイス毎に管理する(マスタ別最適転送長記憶部74に記憶させる)ことができる。
As described above, the
このようにマスタデバイス毎の最適転送長を準備すると、各PCIデバイス11は、通常のPCIデータ転送処理を開始する。その際、ターゲットとなったPCIデバイス(すなわち、ターゲット14)は、1回のメモリリード要求に対して、上述したように準備したイニシエータ13の最適転送長分のデータをローカルメモリ21より読み出し、キャッシュメモリ22に保持する。
Thus, when the optimum transfer length for each master device is prepared, each
次に、以上のように準備されたマスタデバイス毎の最適転送長を用いたデータ転送処理について図14のフローチャートを参照して説明する。 Next, data transfer processing using the optimum transfer length for each master device prepared as described above will be described with reference to the flowchart of FIG.
最初に、ステップS101において、データ転送処理部75は、メモリリード要求を取得したか否かを判定し、取得したと判定した場合、ステップS102に処理を進める。ステップS102において、マスタ判別部72は、データ転送処理部75に制御され、上述した転送長計測時の場合と同様に、各信号に基づいてメモリリード要求を発行したマスタを判別する(イニシエータ13として動作しているマスタデバイスを特定する)。
First, in step S101, the data
ステップS103において、データ転送処理部75は、メモリリード要求に対してリトライを返すとともに、マスタ判別部72が判別したマスタ用の最適転送長をマスタ別最適転送長記憶部74より取得し、ローカルメモリ21よりその最適転送長分のデータを読み出してキャッシュメモリ22に蓄積させる。なおイニシエータ13より同じ内容のメモリリード要求を繰り返し発行された場合、データ転送処理部75は、データが蓄積するまで、各要求に対してリトライを返す。
In step S103, the data
そして、データ蓄積が完了すると、データ転送処理部75はステップS104に処理を進め、データ蓄積完了後にメモリリード要求を取得したか否かを判定し、取得したと判定するまで待機する。取得したと判定した場合、データ転送処理部75は、ステップS105に処理を進め、キャッシュメモリ22を制御して、キャッシュメモリ22に蓄積したデータをPCIバス10に出力させ、マスタ(イニシエータ13)に転送する。
When the data accumulation is completed, the data
データを転送させたデータ転送処理部75は、処理をステップS106に進める。また、ステップS101において、マスタデバイスよりメモリリード要求を取得していないと判定した場合、データ転送処理部101は、ステップS102乃至ステップS105の処理を省略し、ステップS106に処理を進める。
The data
ステップS106において、データ転送処理部75は、データ転送処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS101に戻し、それ以降の処理を繰り返す。また、ステップS106において、データ転送処理を終了すると判定した場合、データ転送処理部75は、データ転送処理を終了する。
In step S106, the data
以上のようにして、データ転送処理部75は、マスタ別最適転送長記憶部74に保持されている、イニシエータ13に対応する最適転送長を取得し、それを用いてデータ転送を行う。このように転送処理を行うことにより、ターゲット14は、どのマスタデバイスに対しても、必要最低限のデータを準備することができる。
As described above, the data
図15は、ターゲット14によるデータ転送の転送長がマスタ毎に異なる場合について説明する図である。
FIG. 15 is a diagram illustrating a case where the transfer length of data transfer by the
図15において、ターゲット14は、マスタデバイスであるマスタA151からのメモリリード要求に対しては、マスタ別最適転送長記憶部74に記憶されているマスタA用最適転送長161分のデータであるマスタA用転送データ171をローカルメモリ21より取得し、マスタデバイスであるマスタB152からのメモリリード要求に対しては、マスタ別最適転送長記憶部74に記憶されているマスタB用最適転送長162分のデータであるマスタB用転送データ172をローカルメモリ21より取得し、マスタデバイスであるマスタC153からのメモリリード要求に対しては、マスタ別最適転送長記憶部74に記憶されているマスタC用最適転送長163分のデータであるマスタC用転送データ173をローカルメモリ21より取得する。
In FIG. 15, the
このように、ターゲット14は、各マスタデバイスに対して最適な転送長のデータを準備するので、マスタの待機時間を増大させることなく、不要なローカルバス20の占有を抑制し、PCIバス10またはローカルバス20の各デバイスがそのバスをより有効に活用することができる。
In this way, the
なお、以上においては、イニシエータ13およびターゲット14が、ホストPCIコントローラ15と同じPCIバス10に接続される場合について説明したが、イニシエータ13またはターゲット14のいずれか一方、または両方が、例えば、PCI−PCIブリッジを介してPCIバス10に接続される他のPCIバスのPCIデバイスであってももちろんよい。
In the above description, the case where the initiator 13 and the
図16は、本発明を適用した画像処理装置の他の構成例を示す図である。 FIG. 16 is a diagram showing another configuration example of the image processing apparatus to which the present invention is applied.
図16に示されるように、画像処理装置200は、画像処理装置1の構成と同様の構成を有しており、さらに、そのPCIバス10にはPCI-PCIブリッジ201を介してPCIバス210が接続されている。
As shown in FIG. 16, the image processing apparatus 200 has a configuration similar to that of the
PCI-PCIブリッジ201は、PCIバス10とPCIバス210とを接続し、互いのバスのデバイス間によるデータ転送の中継処理を行うデバイス(ブリッジデバイス)である。
The PCI-
PCIバス210は、PCIバス10と同様のバスであり、PCIデバイス211−1乃至211−K(以下、区別する必要が無い場合は、PCIデバイス211と称する)のK個のPCIデバイス211が接続されている。また、PCIバス210には、PCIバス210用のアービタ216も接続されている。
The
PCI−PCIブリッジ201は、PCIバス10およびPCIバス210の両方のPCIデバイスとして動作する。例えば、PCIバス10のイニシエータ13がPCIバス210のターゲット214に対して、メモリリード要求を行う場合、イニシエータ10は、PCI-PCIブリッジ201に対してメモリリード要求を行う。すなわち、PCI-PCIブリッジ201は、このとき、PCIバス10においてターゲットとして動作する。
The PCI-
そして、PCI−PCIブリッジ201は、メモリリード要求を受け取ると、次に、PCIバス210においてイニシエータとして動作し、イニシエータ13の代わりに、ターゲット214に対してメモリリード要求を行う。ターゲット214は、この要求に応じて、ローカルバス220を介してローカルメモリ221より要求されたデータを読み出し、キャッシュメモリ222に保持させ、データ転送の準備を行う。そして、データ転送の準備が完了すると、ターゲット214は、その用意したデータをPCI-PCIブリッジに供給する。
When the PCI-
PCIバス210において、PCI−PCIブリッジ201は、PCIバス210に対してイニシエータのように動作し、そのデータを取得するとともに、PCIバス10に対してターゲットのように動作し、取得したデータを内蔵するキャッシュメモリ202に保持し、イニシエータ13に対するデータ転送の準備を行う。そして、データの保持が完了すると、PCI−PCIブリッジ201は、そのデータをPCIバス10に出力し、イニシエータ13に供給する。
In the
つまり、PCIバス210をPCI−PCIブリッジ201のローカルバスと考えると、PCI−PCIブリッジ201は、図1のターゲット14と同様の構成になる。従って、PCI−PCIブリッジ201は、このようなデータ転送において、図1のターゲット14の場合と基本的に同様に動作する。そして、CPU31は、PCI−PCIブリッジ201とターゲット214に対して上述したような制御処理を行う。この場合、PCI−PCIブリッジ201は、PCIバス210に対してイニシエータとして動作するので、ターゲット214は、PCI−PCIブリッジ201に対する最適転送長の計測処理も行う。
That is, when the
なお、以上においては、PCIバス10側にイニシエータが存在し、PCIバス210側にターゲットが存在する場合について説明したが、画像処理装置200は、逆にPCIバス10側にターゲットが存在し、PCIバス210側にイニシエータが存在するようなデータ転送を行うこともできる。
In the above description, the case where the initiator exists on the
その場合、PCI−PCIブリッジ201は、PCIバス210に対してターゲットとして動作し、PCIバス10側に対してイニシエータとして動作する。すなわち、PCI−PCIブリッジ201は、上述したように、PCIバス10に対して図1のターゲット14と同様に動作するが、逆に、PCIバス210に対して図1のターゲット14と同様に動作することもできる。
In that case, the PCI-
図17は、PCI−PCIブリッジ201の内部の構成例を示すブロック図である。上述したように、PCI−PCIブリッジ201は、PCIバス10に対して基本的に同様の構成であるが、マスタ判別部として、PCIバス10用の第1PCIバス用マスタ判別部272−1と、PCIバス210用の第2PCIバス用マスタ判別部272−2の2つのマスタ判別部を有している。また、それらのマスタ判別部の動作を切り替えるために切り替え部271が新たに設けられている。切り替え部271は、PCI−PCIブリッジ201がPCIバス10またはPCIバス210のどちらの側とデータ転送を行うかによって第1PCIバス用マスタ判別部272−1と第2PCIバス用マスタ判別部272−2のいずれか一方を動作させる。さらに、データ転送処理部75およびキャッシュメモリ22は、上述したPCIバス10側と同様に、PCIバス210に接続されている。
FIG. 17 is a block diagram illustrating an internal configuration example of the PCI-
図18に示されるように、第1PCIバス用マスタ判別部272−1と第2PCIバス用マスタ判別部272−2は、それぞれ、上述した図3のマスタ判別部72の場合と同様に、アービタ16またはアービタ216と接続されており、それぞれのPCIバスのマスタデバイスがアサートするリクエスト(REQ#)の状態と、それぞれのアービタがアサートするグラント(GNT#)の状態を監視する。
As shown in FIG. 18, each of the first PCI bus master discriminating unit 272-1 and the second PCI bus master discriminating unit 272-2 is similar to the case of the
具体的には、第1PCIバス用マスタ判別部272−1は、マスタデバイス101−1乃至101−Lとアービタ16が接続される信号バスであるリクエスト(REQ#)111−1乃至111−Lのそれぞれと、信号バスであるリクエスト(REQ#)121−1乃至121−Lにより、接続されており、同様に、第2PCIバス用マスタ判別部272−2は、マスタデバイス301−1乃至301−Lとアービタ216が接続される信号バスであるリクエスト(REQ#)311−1乃至311−Lのそれぞれと、信号バスであるリクエスト(REQ#)321−1乃至321−Lにより、接続されている。
Specifically, the first PCI bus master determination unit 272-1 receives requests (REQ #) 111-1 to 111-L, which are signal buses to which the master devices 101-1 to 101-L and the
また、図19に示されるように、第1PCIバス用マスタ判別部272−1と第2PCIバス用マスタ判別部272−2は、それぞれ、上述した図3のマスタ判別部72の場合と同様に、フレーム(FRAME#)131または331、並びに、イニシエータレディ(IRDY#)132および332と接続されており、それぞれのPCIバスのマスタデバイスがアサートするフレーム(FRAME#)の状態と、イニシエータレディ(IRDY#)の状態を監視する。
Further, as shown in FIG. 19, the first PCI bus master discriminator 272-1 and the second PCI bus master discriminator 272-2 are respectively similar to the
具体的には、第1PCIバス用マスタ判別部272−1は、第1PCIバス10の信号バスであるフレーム(FRAME#)131およびイニシエータレディ(IRDY#)132と、信号線141または142により接続されており、同様に、第2PCIバス用マスタ判別部272−2は、第2PCIバス210の信号バスであるフレーム(FRAME#)331およびイニシエータレディ(IRDY#)332と、信号線341または342により接続されている。
Specifically, the first PCI bus master determination unit 272-1 is connected to the frame (FRAME #) 131 and the initiator ready (IRDY #) 132, which are signal buses of the
このようなPCI−PCIブリッジ201を有する画像処理装置200において、各部の処理は基本的に図1の画像処理装置1と同様に動作するのでその説明は省略する。図20のフローチャートを参照して、PCI−PCIブリッジ201によるマスタ別転送長調査処理について説明する。この場合も、基本的に図8のフローチャートを参照して説明した、図1のターゲット14によるマスタ別転送長調査処理と同様に行われる。
In the image processing apparatus 200 having such a PCI-
すなわち、図20においてステップS121乃至ステップS123は、図8のステップS41乃至ステップS43にそれぞれ対応し、ステップS125乃至ステップS129の処理は、図8のステップS44乃至ステップS48にそれぞれ対応し、同様に実行される。 That is, in FIG. 20, Steps S121 through S123 correspond to Steps S41 through S43 in FIG. 8, respectively, and Steps S125 through S129 correspond to Steps S44 through S48 in FIG. Is done.
すなわち、PCI−PCIブリッジ201のデータ転送処理部75が、図20のステップS123においてメモリリード要求を取得すると、処理をステップS124に進める。このとき切り替え部271は、ステップS124において、メモリリード要求を発行した側を特定し、その側のPCIバス用マスタ判別部が動作するように切り替え処理を行い、処理をステップS125に進める。
That is, when the data
すなわち、動作するように制御された方のマスタ判別部がステップS125の処理を実行する。 That is, the master discriminating unit that is controlled to operate executes the process of step S125.
以上のように、切り替え処理を行うことにより、PCI−PCIブリッジ201は、上述したターゲット14のように動作し、PCIバス10およびPCIバス210の両方のバスのトラフィックの増加を抑制させることができる。
As described above, by performing the switching process, the PCI-
すなわち、複数のPCIバスを有する画像処理装置200は、不要なローカルバスの占有を抑制するだけでなく、各PCIバスの不要な占有を抑制し、さらに、各PCIバスにおけるデータ転送の転送効率の低下を抑制することもできる。従って、画像処理装置200は、複数のシステムバスを有する場合であっても、各システムバスまたはローカルバスの各デバイスがそのバスをより有効に活用するようにすることができる。 That is, the image processing apparatus 200 having a plurality of PCI buses not only suppresses the occupancy of unnecessary local buses, but also suppresses the unnecessary occupancy of each PCI bus, and further improves the transfer efficiency of data transfer in each PCI bus. The decrease can also be suppressed. Accordingly, even when the image processing apparatus 200 has a plurality of system buses, each device of the system bus or the local bus can use the bus more effectively.
なお、以上においては、画像処理装置200が2つのPCIバスと、1つのPCI-PCIブリッジを有する場合について説明したが、これに限らず、例えば、画像処理装置が3つ以上のPCIバスを有するようにし、各PCIバスがPCI-PCIブリッジを介して互いに接続されるようにしてももちろんよい。すなわち、イニシエータとターゲットが複数のPCI-PCIブリッジを介してデータ転送を行うようにしてもよい。 In the above description, the image processing apparatus 200 has two PCI buses and one PCI-PCI bridge. However, the present invention is not limited to this. For example, the image processing apparatus has three or more PCI buses. Of course, the PCI buses may be connected to each other via a PCI-PCI bridge. That is, the initiator and the target may perform data transfer via a plurality of PCI-PCI bridges.
また、以上においては、転送長の調査をPCIバスのリセット時に行うように説明したが、これに限らず、例えば、通常のデータ転送においても、各ターゲットが、イニシエータに対して監視処理を行い、不都合が生じた場合、最適転送長の値の再調整を行うようにしてもよい。 In the above description, the transfer length is investigated when the PCI bus is reset. However, the present invention is not limited to this, and for example, in normal data transfer, each target performs monitoring processing on the initiator, When inconvenience occurs, the value of the optimum transfer length may be readjusted.
図21は、図1のターゲット14の内部の構成の、他の例を示すブロック図である。
FIG. 21 is a block diagram showing another example of the internal configuration of the
図21において、ターゲット14は、図3に示される構成の他に、ディスコネクト監視部401を有している。
In FIG. 21, the
ディスコネクト監視部401は、マスタ判別部72およびデータ転送処理部75を監視しながら、データ転送処理部75によるデータ転送においてディスコネクト処理の発生を監視する。そして、ディスコネクト処理が発生した場合、転送長計測部73およびデータ転送処理部75を制御して、最適転送長の再設定処理を行う。
The
図22のフローチャートを参照して、ディスコネクト監視部401が実行するディスコネクト監視処理を説明する。
The disconnect monitoring process executed by the
ステップS141において、ディスコネクト監視部401は、メモリリード要求を受け付けたか否かを判定し、受け付けたと判定した場合、ステップS142に処理を進め、ディスコネクトの発生を監視する。そして、ディスコネクト監視部401は、ステップS143においてディスコネクトが発生したか否かを判定し、ディスコネクトが発生したと判定した場合、ステップS144において、マスタ判別部72を制御し、メモリリード要求を発行したマスタを判別し、ステップS145において、判別したマスタに対してリード要求を発行させるように要求し、転送長計測部73およびデータ転送処理部75を制御して、判別したマスタに対する転送長調査処理を実行する。転送長調査処理の詳細については、図23のフローチャートを参照して説明する。
In step S141, the
判別したマスタに対する転送長調査処理が終了するとディスコネクト監視部401は、処理をステップS146に進める。また、ステップS141においてメモリリード要求を受け付けていないと判定した場合、ディスコネクト監視部401は、ステップS142乃至ステップS145の処理を省略し、ステップS146に処理を進める。さらに、ディスコネクト監視部401は、ステップS143においてディスコネクトが発生していないと判定した場合、ステップS144およびステップS145の処理を省略し、ステップS146に処理を進める。
When the transfer length check process for the determined master is completed, the
ステップS146においてディスコネクト監視部401は、ディスコネクト監視処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS141に戻し、それ以降の処理を繰り返す。また、ステップS146において、ディスコネクト監視処理を終了すると判定した場合、ディスコネクト監視部401は、ディスコネクト監視処理を終了する。
In step S146, the
次に、図23のフローチャートを参照して、図22のステップS145において実行される転送長調査処理の詳細を説明する。なお、この処理は、基本的に、図8のフローチャートを参照して説明したマスタ別転送長調査処理と同様の処理が実行される。 Next, details of the transfer length checking process executed in step S145 of FIG. 22 will be described with reference to the flowchart of FIG. This process is basically the same as the master-specific transfer length check process described with reference to the flowchart of FIG.
ただし、転送長初期値は、リセット時の処理において既にセットされているので、図8のステップS41およびステップS42に対応する処理は省略される。 However, since the transfer length initial value has already been set in the process at the time of resetting, the processes corresponding to steps S41 and S42 in FIG. 8 are omitted.
ステップS161において、データ転送処理部75は、転送長を計測するマスタよりメモリリード要求を取得したか否かを判定する。この処理は図8のステップS43に対応する。ステップS161において、メモリリード要求を取得したと判定した場合、データ転送処理部75は、ステップS162に処理を進め、メモリリード要求に対してリトライを返すとともに、ローカルメモリ21よりデータを転送長初期値分読み出し、キャッシュメモリ22に蓄積する。この処理は、図8のステップS45に対応する。なお、図23の転送長調査処理においては、転送長を計測するマスタを予め特定してあるので、図8のステップS44に対応する処理は省略される。
In step S161, the data
ステップS162の処理を終了すると、データ転送処理部75は、ステップS163に処理を進め、データ蓄積完了後、メモリリード要求を受け付けたか否かを判定し、受け付けたと判定した場合、ステップS164に処理を進める。ステップS164において、転送長計測部73は、図10を参照して説明したような転送長計測処理を実行する。そして、転送長計測処理を終了すると転送長計測部73は、処理をステップS165に進める。
When the process of step S162 is completed, the data
また、ステップS161において、メモリリード要求を取得していないと判定した場合、または、ステップS163において、データ蓄積完了後、メモリリード要求を受け付けていないと判定した場合、データ転送処理部75は、ステップS165に処理を進める。
If it is determined in step S161 that a memory read request has not been acquired, or if it is determined in step S163 that a memory read request has not been accepted after completion of data storage, the data
ステップS165において、データ転送処理部75は、転送長調査処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS161に戻し、それ以降の処理を繰り返し、終了すると判定した場合、転送長調査処理を終了し、図22のステップS145に処理を戻す。
In step S165, the data
以上のように通常のデータ転送においてディスコネクトの発生を監視し、ディスコネクトが発生した場合、転送長の再設定を行うことにより、ターゲット14は、イニシエータ13に対して常に最適な転送長を得ることができる。このようにすることにより、画像処理装置1は、最適転送長が時間と共に変化するような場合においても、各システムバスまたはローカルバスの各デバイスがそのバスをより有効に活用するようにすることができる。
As described above, the occurrence of a disconnection is monitored in normal data transfer, and when a disconnection occurs, the
なお、上述したように、イニシエータ13およびターゲット14は、PCIバス10に接続された任意のPCIデバイス11(複数のPCIバスが存在する場合はそれらの全てのバスに接続された任意のPCIデバイス)であり、それらによるPCIデータ転送12は、任意のPCIデバイス11間のデータ転送に適用することができる。
As described above, the initiator 13 and the
また、以上においては、PCIバス110を用いたバスシステムについて説明したが、システムバスとしては、これ以外のバスであってももちろんよい。また、そのようなバスであれば、イニシエータとターゲットが、それぞれ、ブリッジで互いに接続された、互いに異なる種類のバスに接続されているようにしてもよい。 In the above description, the bus system using the PCI bus 110 has been described. However, the system bus may be a bus other than this. In such a bus, the initiator and the target may be connected to different types of buses connected to each other by a bridge.
さらに、イニシエータ13が複数のデバイスとしての機能を有している場合(多機能デバイスである場合)、ターゲット14は、イニシエータ13の機能ごとに最適転送長を設定するようにしてもよいし、同じイニシエータ13に対する1つの最適転送長を、1つのPCIデバイス11内で共有するようにしてもよい。逆にターゲット14が複数のデバイスとしての機能を有している場合、ターゲット14は、機能毎に、イニシエータ13に対する最適転送長を計測してもよいし、1つの機能についてのみ計測し、その結果得られた最適転送長を、そのターゲットの全ての機能で共有するようにしてももちろんよい。
Further, when the initiator 13 has a function as a plurality of devices (when it is a multi-function device), the
なお、以上においては、PCIバス10がリセットされると、各ターゲットにおいて、各マスタデバイスに対する最適転送長の計測処理が行われるように説明したが、これに限らず、例えば、ターゲットデバイスの一部または全部が、リセット前に使用されていた各マスタデバイスに対する最適転送長を不揮発性のメモリ等に保持し、リセット後に設定処理を省略してその保持していた最適転送長を流用するようにしてももちろんよい。このようにすることにより、各ターゲットデバイスは、上述したような設定処理や計測処理を省略することができるので、リセット処理の負荷を軽減させることができる。
In the above description, when the
また、以上においては、映像機器である画像処理装置について説明したが、上述したようなバスシステムを有する装置であれば何でもよく、例えば、パーソナルコンピュータやサーバ等の情報処理装置であってもよいし、PDAや携帯電話器等のモバイル機器であってもよいし、テレビジョン受信装置やハードディスクレコーダ等の家庭電化製品であってももちろんよい。 In the above description, the image processing apparatus which is a video device has been described. However, any apparatus having a bus system as described above may be used. For example, an information processing apparatus such as a personal computer or a server may be used. Of course, it may be a mobile device such as a PDA or a mobile phone, or a home appliance such as a television receiver or a hard disk recorder.
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、CPU31が、ドライブ43を介してリムーバブルメディア44より読み出した、各ターゲットデバイスが上述した処理を実行するのに必要なプログラムやデータを、PCIバス10を介して、各マスタデバイス(PCIデバイス11の一部)に供給し、インストールするようにしてもよい。
The series of processes described above can be executed by hardware or can be executed by software. In this case, for example, a program and data required for each target device to execute the processing described above, read from the
そのとき、各マスタデバイスが、そのように供給されたプログラムやデータを取得すると、それらを内蔵する不揮発性のメモリ等の記憶部に記憶し、必要に応じてそれらのプログラムを実行し、上述した処理を実行するようにしてもよい。 At that time, when each master device acquires the program and data supplied in such a manner, the master device stores them in a storage unit such as a non-volatile memory in which they are built, and executes those programs as necessary. You may make it perform a process.
このようにすることにより、例えば、上述した処理に対応していない既存のマスタデバイスも、PCIバス10に接続することにより、CPU31が必要なプログラムやデータをインストールすることができる。従って、画像処理装置1は、どのようなPCIデバイス11が接続されてもPCIバス10を有効に活用させることができる。
By doing so, for example, an existing master device that does not support the above-described processing can also install necessary programs and data by the
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。 When the above-described series of processing is executed by software, a program constituting the software is installed from a network or a recording medium.
この記録媒体は、例えば、図1に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア44により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM41や、記憶部42に含まれるフラッシュメモリなどで構成される。
For example, as shown in FIG. 1, the recording medium is distributed to distribute a program to a user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which a program is recorded, an optical disk (
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。 Further, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses).
1 画像処理装置, 10 PCIバス 11 PCIデバイス, 12 PCIデータ転送, 13 イニシエータ, 14 ターゲット, 15 ホストPCIブリッジ, 16 アービタ, 20 ローカルバス, 21 ローカルメモリ, 22 キャッシュメモリ, 31 CPU, 32 メインメモリ, 41 ROM, 42 記憶部, 43 ドライブ, 44 リムーバブルメディア, 51 リセット処理部, 52 PCIコンフィギュレーション処理部, 53 調査対象ターゲット特定部, 54 転送長初期値供給部, 55 転送長初期値記憶部, 56 マスタ別転送長調査制御部, 57 インタフェース処理部, 61 転送長初期値, 71 マスタ別転送長調査部, 72 マスタ判別部, 73 転送長計測部, 74 マスタ別最適転送長記憶部, 75 データ転送処理部, 82 最適転送長, 91 転送データ, 200 画像処理装置, 201 PCI-PCIブリッジ, 202 キャッシュメモリ, 210 PCIバス, 211−1乃至211−K PCIデバイス, 214 ターゲット, 216 アービタ, 220 ローカルバス, 221 ローカルメモリ, 222 キャッシュメモリ, 271 切り替え部, 272−1 第1PCIバス用マスタ判別部, 272−2 第2PCIバス用マスタ判別部, 401 ディスコネクト監視部, 1 image processing device, 10 PCI bus, 11 PCI device, 12 PCI data transfer, 13 initiator, 14 target, 15 host PCI bridge, 16 arbiter, 20 local bus, 21 local memory, 22 cache memory, 31 CPU, 32 main memory, 41 ROM, 42 storage unit, 43 drive, 44 removable media, 51 reset processing unit, 52 PCI configuration processing unit, 53 target target specifying unit, 54 transfer length initial value supply unit, 55 transfer length initial value storage unit, 56 Transfer length check control unit by master, 57 interface processing unit, 61 transfer length initial value, 71 transfer length check unit by master, 72 master discriminating unit, 73 transfer length measurement unit, 74 optimum transfer length storage unit by master, 75 data transfer Transmission processing unit, 82 optimum transfer length, 91 transfer data, 200 image processing device, 201 PCI-PCI bridge, 202 cache memory, 210 PCI bus, 211-1 to 211-K PCI device, 214 target, 216 arbiter, 220 local Bus, 221 local memory, 222 cache memory, 271 switching unit, 272-1 first PCI bus master determining unit, 272-2 second PCI bus master determining unit, 401 disconnect monitoring unit,
Claims (16)
前記データ転送を制御して前記データ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第1の転送処理を実行する転送手段と、
前記転送手段により実行される前記第1の転送処理において、前記マスタデバイスが1回のアクセスにより取得する前記データ量である第2のデータ量を計測する計測手段と、
前記計測手段により計測された前記第2のデータ量に基づいて、前記メモリデバイスより読み出すデータ量である第3のデータ量を設定する設定手段と、
前記設定手段により設定された前記第3のデータ量を記憶する記憶手段とを備え、
前記転送手段は、前記記憶手段により前記第3のデータ量が記憶された後において、前記マスタデバイスの要求に基づいて、前記メモリデバイスより、前記記憶手段により記憶された前記第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第2の転送処理を実行する
ことを特徴とする情報処理装置。 In an information processing apparatus having a system bus to which a plurality of devices are connected, wherein the plurality of devices transfer data to each other via the system bus.
Based on a request of a master device that is a device that controls the data transfer and performs the data transfer, a predetermined data amount of a predetermined data amount is acquired from a predetermined memory device, and is incorporated. Transfer means for executing a first transfer process for transferring the data to the master device via the system bus after being held in the cache memory
In the first transfer process executed by the transfer unit, a measurement unit that measures a second data amount that is the data amount that the master device acquires by one access;
Setting means for setting a third data amount, which is a data amount read from the memory device, based on the second data amount measured by the measuring means;
Storage means for storing the third data amount set by the setting means,
After the third data amount is stored by the storage unit, the transfer unit receives the third data amount stored by the storage unit from the memory device based on a request from the master device. After the data is acquired and held in a built-in cache memory, a second transfer process is performed in which the data is transferred to the master device via the system bus.
ことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the first data amount is larger than the maximum second data amount measured by the measuring unit.
ことを特徴とする請求項2に記載の情報処理装置。 The information processing apparatus according to claim 2, wherein the setting unit sets the third data amount so that the third data amount approximates the second data amount.
前記第1の制御手段により制御されて発行される前記メモリリード要求に対して、前記転送手段を制御して前記第1の転送処理を実行させ、前記計測手段を制御して前記第2のデータ量を計測させ、前記設定手段を制御して前記第3のデータ量を設定させ、前記記憶手段を制御して前記第3のデータ量を記憶させる第2の制御手段と
をさらに備えることを特徴とする請求項1に記載の情報処理装置。 First control means for controlling the master device to issue a memory read request;
In response to the memory read request issued under the control of the first control unit, the transfer unit is controlled to execute the first transfer process, and the measurement unit is controlled to control the second data. A second control unit that measures the amount, controls the setting unit to set the third data amount, and controls the storage unit to store the third data amount. The information processing apparatus according to claim 1.
前記第2の制御手段は、前記転送手段を制御して、前記第1の制御手段により制御されて発行された複数の前記メモリリード要求のそれぞれに対して前記第1の転送処理を実行させ、前記計測手段を制御して、前記転送手段により複数回実行された前記第1の転送処理のそれぞれについて前記第2のデータ量を計測させ、前記設定手段を制御して、前記計測手段による複数回の計測により得られた複数の前記第2のデータ量に基づいて前記第3のデータ量を設定させ、前記記憶手段を制御して、前記設定手段により設定された前記第3のデータ量を記憶させる
ことを特徴とする請求項4に記載の情報処理装置。 The first control means controls the master device to issue the memory read request a plurality of times,
The second control means controls the transfer means to execute the first transfer processing for each of the plurality of memory read requests that are controlled and issued by the first control means, The measurement means is controlled to cause the second data amount to be measured for each of the first transfer processes executed a plurality of times by the transfer means, and the setting means is controlled to perform a plurality of times by the measurement means. The third data amount is set based on a plurality of the second data amounts obtained by the measurement, and the storage unit is controlled to store the third data amount set by the setting unit. The information processing apparatus according to claim 4, wherein:
ことを特徴とする請求項5に記載の情報処理装置。 The setting means sets, as the third data amount, an average value, a maximum value, or a minimum value of the plurality of second data amounts obtained by a plurality of measurements by the measuring unit. The information processing apparatus according to claim 5.
前記第2の制御手段は、前記転送手段、前記計測手段、前記設定手段、および前記記憶手段を制御して、前記マスタデバイス毎に前記第3のデータ量を設定させて記憶させる
ことを特徴とする請求項4に記載の情報処理装置。 The first control means controls each of the plurality of master devices, causes the memory read request to be issued for each master device,
The second control unit controls the transfer unit, the measurement unit, the setting unit, and the storage unit to set and store the third data amount for each master device. The information processing apparatus according to claim 4.
前記第2の制御手段は、前記転送手段、前記計測手段、前記設定手段、および前記記憶手段を制御して、前記マスタデバイスの機能毎に前記第3のデータ量を設定させて記憶させる
ことを特徴とする請求項4に記載の情報処理装置。 The first control means controls each of the master devices having a plurality of functions, causes the memory read request to be issued for each function of the master device,
The second control unit controls the transfer unit, the measurement unit, the setting unit, and the storage unit to set and store the third data amount for each function of the master device. The information processing apparatus according to claim 4.
ことを特徴とする請求項4に記載の情報処理装置。 Target that specifies a target device to be controlled so that the second control means sets and stores the third data amount from among a plurality of target devices that are counterpart devices of the data transfer of the master device The information processing apparatus according to claim 4, further comprising device specifying means.
ことを特徴とする請求項1に記載の情報処理装置。 The information processing according to claim 1, further comprising: a master device determining unit that determines a master device that has issued a request in the first transfer process or the second transfer process executed by the transfer unit. apparatus.
ことを特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, further comprising a disconnect monitoring unit that monitors occurrence of disconnect processing in the second transfer processing executed by the transfer unit.
前記データ転送を制御して前記データ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第1の転送処理を実行する第1の転送ステップと、
前記第1の転送ステップの処理により実行される前記第1の転送処理において、前記マスタデバイスが1回のアクセスにより取得する前記データ量である第2のデータ量を計測する計測ステップと、
前記計測ステップの処理により計測された前記第2のデータ量に基づいて、前記メモリデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、
前記設定ステップの処理により設定された前記第3のデータ量を記憶するように制御する記憶制御ステップと、
前記記憶制御ステップの処理により制御されて前記第3のデータ量が記憶された後において、前記マスタデバイスの要求に基づいて、前記メモリデバイスより、前記記憶制御ステップの処理により制御されて記憶された前記第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第2の転送処理を実行する第2の転送ステップと
を含むことを特徴とする情報処理方法。 An information processing method of an information processing apparatus having a system bus to which a plurality of devices are connected, wherein the plurality of devices transfer data to each other via the system bus,
Based on a request of a master device that is a device that controls the data transfer and performs the data transfer, a predetermined data amount of a predetermined data amount is acquired from a predetermined memory device, and is incorporated. A first transfer step of executing a first transfer process for transferring the data to the master device via the system bus after being held in the cache memory
In the first transfer process executed by the process of the first transfer step, a measurement step of measuring a second data amount that is the data amount acquired by the master device by one access;
A setting step of setting a third data amount, which is a data amount read from the memory device, based on the second data amount measured by the processing of the measuring step;
A storage control step for controlling to store the third data amount set by the setting step;
After the third data amount is stored by being controlled by the process of the storage control step, the memory device is controlled and stored by the process of the storage control step based on the request of the master device. Second transfer for executing second transfer processing for acquiring the third data amount of data and holding it in a built-in cache memory, and then transferring the data to the master device via the system bus An information processing method comprising: steps.
前記データ転送を制御して前記データ転送を行うデバイスであるマスタデバイスの要求に基づいて、所定のメモリデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第1の転送処理を実行する第1の転送ステップと、
前記第1の転送ステップの処理により実行される前記第1の転送処理において、前記マスタデバイスが1回のアクセスにより取得する前記データ量である第2のデータ量を計測する計測ステップと、
前記計測ステップの処理により計測された前記第2のデータ量に基づいて、前記メモリデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、
前記設定ステップの処理により設定された前記第3のデータ量を記憶する様に制御する記憶制御ステップと、
前記記憶制御ステップの処理により前記第3のデータ量が記憶された後において、前記マスタデバイスの要求に基づいて、前記メモリデバイスより、前記記憶制御ステップの処理により制御されて記憶された前記第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第2の転送処理を実行する第2の転送ステップと
を含むことを特徴とするプログラム。 In a program having a system bus to which a plurality of devices are connected, and causing the plurality of devices to perform data transfer with each other via the system bus.
Based on a request of a master device that is a device that controls the data transfer and performs the data transfer, a predetermined data amount of a predetermined data amount is acquired from a predetermined memory device, and is incorporated. A first transfer step of executing a first transfer process for transferring the data to the master device via the system bus after being held in the cache memory
In the first transfer process executed by the process of the first transfer step, a measurement step of measuring a second data amount that is the data amount acquired by the master device by one access;
A setting step of setting a third data amount, which is a data amount read from the memory device, based on the second data amount measured by the processing of the measuring step;
A storage control step for controlling to store the third data amount set by the processing of the setting step;
After the third data amount is stored by the process of the storage control step, the third data controlled and stored by the process of the storage control step from the memory device based on the request of the master device. A second transfer step of executing a second transfer process of acquiring the amount of data corresponding to the amount of data and holding the data in a built-in cache memory, and then transferring the data to the master device via the system bus; A program characterized by including.
2つのシステムバスに接続され、前記2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、前記データ転送を制御して前記データ転送を行うデバイスであるマスタデバイスの要求に基づいて、前記マスタデバイスの前記データ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、内蔵するキャッシュメモリに保持した後、前記マスタデバイスに前記データを転送する第1の中継処理を実行する中継手段と、
前記中継手段により実行される前記第1の中継処理において、前記マスタデバイスが1回のアクセスにより前記キャッシュメモリより取得するデータ量である第2のデータ量を計測する計測手段と、
前記計測手段により計測された前記第2のデータ量に基づいて、前記ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定手段と、
前記設定手段により設定された前記第3のデータ量を記憶する記憶手段とを備え、
前記中継手段は、前記記憶手段により前記第3のデータ量が記憶された後において、前記マスタデバイスの要求に基づいて、前記ターゲットデバイスより、前記記憶手段により記憶された前記第3のデータ量分のデータを取得し、内蔵するキャッシュメモリに保持した後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第2の中継処理を実行する
ことを特徴とする情報処理装置。 In an information processing apparatus having a plurality of system buses connected to a plurality of devices, wherein the plurality of devices transfer data to each other via the system bus,
In data transfer between devices connected to two system buses and connected to different system buses of the two system buses, based on a request of a master device that is a device that controls the data transfer and performs the data transfer A first data amount that is a predetermined data amount determined in advance from the target device that is the data transfer partner of the master device, and holds the data in a built-in cache memory; Relay means for executing a first relay process for transferring the data;
In the first relay process executed by the relay unit, a measuring unit that measures a second data amount that is a data amount that the master device acquires from the cache memory by one access;
Setting means for setting a third data amount, which is a data amount read from the target device, based on the second data amount measured by the measuring means;
Storage means for storing the third data amount set by the setting means,
After the third data amount is stored by the storage unit, the relay unit receives the third data amount stored by the storage unit from the target device based on a request from the master device. An information processing apparatus that executes a second relay process for transferring the data to the master device via the system bus after the data is acquired and stored in a built-in cache memory.
2つのシステムバスを接続する処理を行い、前記2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、前記データ転送を制御して前記データ転送を行うデバイスであるマスタデバイスの要求に基づいて、前記マスタデバイスの前記データ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、キャッシュメモリを制御して保持させた後、前記マスタデバイスに前記データを転送する第1の中継処理を実行する中継ステップと、
前記中継ステップの処理により実行される前記第1の中継処理において、前記マスタデバイスが1回のアクセスにより前記キャッシュメモリより取得するデータ量である第2のデータ量を計測する計測ステップと、
前記計測ステップの処理により制御されて計測された前記第2のデータ量に基づいて、前記ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、
前記設定ステップの処理により設定された前記第3のデータ量を記憶する様に制御する記憶制御ステップと、
前記記憶制御ステップの処理により制御されて前記第3のデータ量が記憶された後において、前記マスタデバイスの要求に基づいて、前記ターゲットデバイスより、前記記憶制御ステップの処理により制御されて記憶された前記第3のデータ量分のデータを取得し、キャッシュメモリを制御して保持させた後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第2の中継処理を実行する第2の中継ステップと
を含むことを特徴とする情報処理方法。 An information processing method of an information processing apparatus having a plurality of system buses to which a plurality of devices are connected, wherein the plurality of devices transfer data to each other via the system bus,
A process of connecting two system buses, and in data transfer between devices connected to different system buses of the two system buses, a master device that is a device that controls the data transfer and performs the data transfer After acquiring a first data amount of a predetermined data amount from a target device that is a partner of the data transfer of the master device based on the request and controlling and holding the cache memory A relay step for executing a first relay process for transferring the data to the master device;
In the first relay process executed by the process of the relay step, a measurement step of measuring a second data amount that is a data amount that the master device acquires from the cache memory by one access;
A setting step for setting a third data amount, which is a data amount read from the target device, based on the second data amount controlled and measured by the process of the measurement step;
A storage control step for controlling to store the third data amount set by the processing of the setting step;
After the third data amount is stored by being controlled by the process of the storage control step, the target device is controlled and stored by the process of the storage control step based on the request of the master device. A second relay process is executed to acquire data for the third data amount, control and hold the cache memory, and then transfer the data to the master device via the system bus. An information processing method comprising: a relay step.
2つのシステムバスを接続する処理を行い、前記2つのシステムバスの互いに異なるシステムバスに接続されたデバイス間におけるデータ転送において、前記データ転送を制御して前記データ転送を行うデバイスであるマスタデバイスの要求に基づいて、前記マスタデバイスの前記データ転送の相手となるターゲットデバイスより予め定められた所定のデータ量である第1のデータ量のデータを取得し、キャッシュメモリを制御して保持させた後、前記マスタデバイスに前記データを転送する第1の中継処理を実行する中継ステップと、
前記中継ステップの処理により実行される前記第1の中継処理において、前記マスタデバイスが1回のアクセスにより前記キャッシュメモリより取得するデータ量である第2のデータ量を計測する計測ステップと、
前記計測ステップの処理により制御されて計測された前記第2のデータ量に基づいて、前記ターゲットデバイスより読み出すデータ量である第3のデータ量を設定する設定ステップと、
前記設定ステップの処理により設定された前記第3のデータ量を記憶する様に制御する記憶制御ステップと、
前記記憶制御ステップの処理により制御されて前記第3のデータ量が記憶された後において、前記マスタデバイスの要求に基づいて、前記ターゲットデバイスより、前記記憶制御ステップの処理により制御されて記憶された前記第3のデータ量分のデータを取得し、キャッシュメモリを制御して保持させた後、前記データを、前記システムバスを介して前記マスタデバイスに転送する第2の中継処理を実行する第2の中継ステップと
を含むことを特徴とするプログラム。 In a program having a plurality of system buses to which a plurality of devices are connected, and causing the plurality of devices to perform data transfer with each other via the system bus.
A process of connecting two system buses, and in data transfer between devices connected to different system buses of the two system buses, a master device which is a device that controls the data transfer and performs the data transfer After acquiring a first data amount of a predetermined data amount from a target device that is a partner of the data transfer of the master device based on the request and controlling and holding the cache memory A relay step for executing a first relay process for transferring the data to the master device;
In the first relay process executed by the process of the relay step, a measurement step of measuring a second data amount that is a data amount that the master device acquires from the cache memory by one access;
A setting step for setting a third data amount, which is a data amount read from the target device, based on the second data amount controlled and measured by the process of the measurement step;
A storage control step for controlling to store the third data amount set by the processing of the setting step;
After the third data amount is stored by being controlled by the process of the storage control step, the target device is controlled and stored by the process of the storage control step based on the request of the master device. A second relay process is executed to acquire data for the third data amount, control and hold the cache memory, and then transfer the data to the master device via the system bus. A relay program comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004047330A JP2005242414A (en) | 2004-02-24 | 2004-02-24 | Information processor and information processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004047330A JP2005242414A (en) | 2004-02-24 | 2004-02-24 | Information processor and information processing method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005242414A true JP2005242414A (en) | 2005-09-08 |
Family
ID=35024129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004047330A Withdrawn JP2005242414A (en) | 2004-02-24 | 2004-02-24 | Information processor and information processing method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005242414A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011215957A (en) * | 2010-03-31 | 2011-10-27 | Fujitsu Ltd | Storage controller, storage system, and storage control method |
JP4959806B2 (en) * | 2007-10-18 | 2012-06-27 | 株式会社東芝 | Storage device, data transmission method, and transmission control circuit |
JP2015201050A (en) * | 2014-04-08 | 2015-11-12 | 富士通株式会社 | Cache storing program, information processing device, and cache storing method |
JP2016525237A (en) * | 2013-07-26 | 2016-08-22 | インテル・コーポレーション | Nonvolatile memory interface |
-
2004
- 2004-02-24 JP JP2004047330A patent/JP2005242414A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4959806B2 (en) * | 2007-10-18 | 2012-06-27 | 株式会社東芝 | Storage device, data transmission method, and transmission control circuit |
JP2011215957A (en) * | 2010-03-31 | 2011-10-27 | Fujitsu Ltd | Storage controller, storage system, and storage control method |
JP2016525237A (en) * | 2013-07-26 | 2016-08-22 | インテル・コーポレーション | Nonvolatile memory interface |
JP2015201050A (en) * | 2014-04-08 | 2015-11-12 | 富士通株式会社 | Cache storing program, information processing device, and cache storing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6145039A (en) | Method and apparatus for an improved interface between computer components | |
US6289406B1 (en) | Optimizing the performance of asynchronous bus bridges with dynamic transactions | |
WO1999045470A2 (en) | Trigger points for performance optimization in bridges | |
CN110716691B (en) | Scheduling method and device, flash memory device and system | |
US20020019899A1 (en) | Method of bus priority arbitration | |
JP3134819B2 (en) | Data processing device | |
EP1068573B1 (en) | Method and apparatus for arbitrating access to multiple buses in a data processing system | |
US20080052424A1 (en) | Data access system, data access apparatus, data access integrated circuit, and data access method | |
JP2005242414A (en) | Information processor and information processing method and program | |
US6519670B1 (en) | Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter | |
US8209453B2 (en) | Arbiter, a system and a method for generating a pseudo-grant signal | |
US8756356B2 (en) | Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size | |
KR101022472B1 (en) | Method for using bus efficiently | |
CN115794713A (en) | AXI bus read-write transaction balancing method, device, electronic equipment and medium | |
WO2021036329A1 (en) | Data storage method and apparatus | |
KR101260313B1 (en) | Electric apparatus and data sending/receiving method thereof and slave apparatus and communication method between the plural number of apparatuses | |
JP2007507045A (en) | Configuration register access method, setting method, integrated circuit parts, computer system, product | |
US8713205B2 (en) | Data transfer device and data transfer method | |
KR101226389B1 (en) | SYSTEM AND METHOD FOR CONTROLLING EXCLUSIVE ACCESS IN SoC | |
WO2001031460A9 (en) | Method and apparatus for an improved interface between computer components | |
CN115017093B (en) | Method and device for on-chip external bus communication | |
CN101196859B (en) | Direct access memory device and direct access memory operation method | |
US11914536B2 (en) | Device and method for sharing resource via bus | |
US10565137B2 (en) | Non-volatile memory device and controlling apparatus, having extension activating and control parts, where memory device can be operated in an optimum operation mode | |
JP3241034B2 (en) | External storage device |
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: 20070501 |