WO1998048357A1 - Procede et dispositif de transfert de donnees - Google Patents

Procede et dispositif de transfert de donnees Download PDF

Info

Publication number
WO1998048357A1
WO1998048357A1 PCT/JP1998/001857 JP9801857W WO9848357A1 WO 1998048357 A1 WO1998048357 A1 WO 1998048357A1 JP 9801857 W JP9801857 W JP 9801857W WO 9848357 A1 WO9848357 A1 WO 9848357A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
data
transfer
memory access
direct memory
Prior art date
Application number
PCT/JP1998/001857
Other languages
English (en)
French (fr)
Inventor
Yasuyuki Yamamoto
Original Assignee
Sony Computer Entertainment Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to DE69837377T priority Critical patent/DE69837377T2/de
Priority to US09/214,084 priority patent/US6282588B1/en
Priority to AU70796/98A priority patent/AU748435B2/en
Priority to EP98917635A priority patent/EP0927938B1/en
Publication of WO1998048357A1 publication Critical patent/WO1998048357A1/ja
Priority to US09/801,946 priority patent/US6453368B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Definitions

  • the present invention relates to a data transfer method and apparatus for transferring data between device memories connected to two different buses, respectively.
  • the present invention relates to a data transfer method and a device capable of diagnosing whether it is functioning normally.
  • BACKGROUND ART Conventionally, different buses such as a main bus and a sub-bus are connected via a bus repeater such as a gateway, and these are controlled by a DMA (direct memory access) controller provided on a main bus. It is known to perform overnight DMA transfer between buses.
  • DMA direct memory access
  • the main bus 101 and the subbus 102 are respectively connected to a bus repeater 103 such as a bus gateway.
  • the main bus 101 is connected to devices 104 such as CPU and various interface and DMA controller 105, and the sub-bus 102 is connected to devices 106 and memory such as ROM. 1 0 7 is connected.
  • the DMA controller 105 on the main bus 101 also controls the sub-bus 102 via the bus repeater 103.
  • DMA transfer between the device 104 and the device 106 is realized.
  • the access time of each bus is about the same, there is no unnecessary waiting time and efficient data transfer can be performed efficiently. it can.
  • the bus width and the access speed often differ.
  • the main bus 101 has a high speed of 32 bits.
  • the sub bus 102 is 16 bits wide and slow.
  • the DMA controller changes the transfer source address and the transfer destination address each time data is transferred.
  • a list of the transfer source address and the transfer amount is prepared, and the DMA controller prepares the list.
  • DMA transfer is performed in accordance with the list every time, but the transfer specification table must be prepared by the CPU, and there is a drawback in that an overhead for checking the transfer specification is generated every time.
  • the bus width is often different.
  • the main bus 101 is 32 bits wide, high-speed, 102 is 16 bits wide and slow.
  • surplus data can be truncated or another data can be inserted between the transferred data rows.
  • DISCLOSURE OF THE INVENTION The present invention has been made in view of such a situation.
  • Another object of the present invention is to improve the working efficiency by easily changing the size of the transfer data tab port without burdening the CPU when transferring data between two different buses. It is an object of the present invention to provide a data transfer method and device which can be achieved.
  • the present invention provides a first bus and a second bus, and a bus having a buffer memory respectively connected to the first bus and the second bus.
  • Relay means ; first DMA (direct memory access) control means connected to the first bus; and first data processing means (CPU) connected to the first bus.
  • the bus relay means has a function of issuing a DMA request to the first DMA control means, and a function of masking the DMA request by the first data processing means.
  • the data processing means masks the DMA request from the bus relay means, and directly accesses the buffer memory in the bus relay means.
  • the second bus is connected to a second DMA (direct memory access) control means and a second data processing means (CPU).
  • the first and second DMA control means perform data transfer between the first and second buses by reading and writing data to and from a buffer memory in the bus relay means
  • the bus relay means has a function of issuing a DMA request to the second DMA control means, and a function of masking the DMA request by the second data processing means.
  • the data processing means may mask the DMA request from the bus relay means and directly access the buffer memory in the bus relay means.
  • one of the first and second data processing means (CPU) masks a DMA request on the other bus in the bus repeater, and transfers the DMA request from the other bus in the bus repeater. Accessing the buffer memory is mentioned.
  • the present invention provides a method in which a first bus and a second bus which are different from each other are connected via bus relay means having a buffer memory, and a first DMA (direct memory access) is connected to the first bus.
  • the control means is connected to the second bus and the second DMA control means, respectively.
  • the first and second DMA control means connect the memory and the device connected to the first bus to the second DMA control means. DMA transfer between the memory and the device connected to the first bus through the buffer memory, and a DMA request from the bus relay unit to the first or second DMA control unit. Is masked by a data processing means (CPU), and the buffer memory in the bus relay means is directly accessed by the data processing means.
  • CPU data processing means
  • the first bus is provided with first data processing means
  • the second bus is provided with second data processing means.
  • the first data processing means masks the first DMA processing request
  • the second data processing means masks the direct memory access request on the second bus
  • the first and second data processing means For example, the buffer memory in the bus repeater is directly accessed under the same transfer conditions as the first and second direct memory access control means on each bus.
  • the first data processing means masks the DMA request on the second bus, and the first data processing means reads the buffer memory in the bus repeater from the second bus side. Direct access.
  • Each of the DMA control means on the first and second buses performs a DMA transfer between a memory device on each bus and a buffer memory of the bus relay means. DMA transfer between each memory and device.
  • the DMA request on each bus is masked by the data processing means (CPU) on each bus, and the DMA function can be checked by directly accessing the buffer memory.
  • the data processing means on the first bus masks the DMA request on the second path and checks the DMA function of the second bus by accessing the buffer memory from the second bus side. can do.
  • the present invention connects a first bus and a second bus which are different from each other via bus relay means having a buffer memory, and connects the first bus and the second bus to each other.
  • Data transfer to and from the bus via the buffer memory in the bus relay means, and the bus relay means adds dummy data at the time of the data transfer. It is characterized in that the size of the transfer data block is increased, or that the bus relay means reduces the size of the transfer data block by omitting some data during data transfer.
  • the first direct memory access control means connected to the first bus controls data transfer between the first bus and a buffer memory in the bus relay means
  • Data transfer between the second bus and the buffer memory in the bus relay means may be controlled by the second direct memory access control means connected to the second bus.
  • the bus relay means increases the size of the transfer data tab by outputting dummy data when an output request is received even if there is no data in the buffer memory at the time of data transfer.
  • the size of the transfer data block is discarded by discarding the remaining data. Is to be reduced.
  • FIG. 1 is a block diagram showing a conventional example of a system using two buses.
  • FIG. 2 is a block diagram showing a schematic configuration of an embodiment of the present invention.
  • FIG. 3 shows the internal configuration of the bus repeater used in the embodiment of the present invention.
  • FIG. 4 is a block diagram showing an example of the above.
  • FIG. 4 is a flowchart for explaining an example of the operation of the exemplary embodiment of the present invention.
  • FIG. 5 is a flowchart for explaining another example of the operation of the embodiment of the present invention.
  • FIG. 6 is a diagram showing a specific example of the data sequence before transfer.
  • FIG. 7 is a diagram showing a specific example of a data sequence obtained by omitting a part at the time of transfer.
  • FIG. 8 is a diagram showing a specific example of a data sequence obtained by adding another data at the time of transfer.
  • FIG. 9 is a diagram illustrating an example of a data area to be transferred on a texture image.
  • FIG. 10 is a diagram showing a data arrangement on the memory of FIG.
  • FIG. 11 is a diagram showing an example in which a header is added to some data strings.
  • FIG. 12 is a diagram showing a specific example of the header added in FIG.
  • FIG. 13 is a block diagram showing an example of a system to which the embodiment of the present invention is applied.
  • FIG. 2 is a block diagram showing a system configuration to which the data transfer method according to the embodiment of the present invention is applied.
  • a first bus 11 and a second bus 12 are connected to a bus repeater 13 using a buffer memory such as FIF 0, respectively. 1-1 and 1-2 can transfer data to each other.
  • the first bus 11 is connected to a CPU 21, a DMA (direct memory access) controller 22, a device 23, a memory 24 and the like, and the second bus 12 is connected to a CPU 26, DMA controller 27, device 28, memory 29, etc. are connected.
  • the device 23 can issue a DMA request to the DMA controller 22 and the device 28 can issue a DMA request to the DMA controller 27.
  • These devices 23 and 28 include, for example, encoders and decoders for images and sounds, graphics engines for graphic processing, image processing and sound processing ICs, and the respective interfaces. Peripheral devices such as a hard disk device, a magneto-optical disk device, a floppy disk device, and a CD-ROM device can be used.
  • the bus repeater 13 can issue a DMA request (DREQ: DMA request) to the DMA controllers 22 and 27, respectively. These DMA requests can specify which DMA channel of the multiple DMA channels.
  • bus repeater 13 issues, for example, a request for the right to use the bus 12 (BREQ: bus request) to the CPU 26 on the bus 12 and responds to the bus use permission from the CPU 26 (BREQ: bus request).
  • BACK Bus acknowledgment can be received.
  • FIG. 3 shows an example of the configuration of the bus repeater 13 used in the system shown in FIG.
  • the first bus 11 of FIG. Is divided into a data bus 11a and an address / control bus 11b
  • the second bus 12 is divided into a data bus 12b and an address / control bus 12b.
  • the bus repeater 13 has an internal bus 31 connected to the first bus 11a of the first bus 11 and an internal bus 31 connected to the first bus 12a of the second bus 12.
  • a bus 32 is provided, and a FIFO (First In First Out) memory 33 is connected to these internal buses 31 and 32. Further, the buffer control unit 34 may be connected to these internal buses 31 and 32.
  • FIFO First In First Out
  • the buffer control unit 34 is also connected to the address control bus 11 b of the first bus 11 and the address control bus 12 b of the second bus 12. Further, a control signal line for performing a DMA request (DREQ) and a channel designation with the DMA controllers 22 and 27 shown in FIG. 2 is connected to the transfer control unit 34.
  • the mask flag 35 is a flag for disabling DMA on the bus 11 side. When the flag is set to ON or “1” by the control of the CPU 21 in FIG.
  • the DMA request (DREQ) from the control unit 34 to the DMA controller 22 in FIG. 2 is not output.
  • the mask flag 36 is a flag for disabling DMA on the bus 12 side. When this flag is turned on or "1" by the CPU 26 in FIG. 2, the buffer control unit 34
  • the DMA request (DREQ) to the DMA controller 27 in FIG. 2 is not output.
  • DREQ bits 37 and 38 are flags that indicate ON / OFF (or "1" / "0") of DMA requests for buses 11 and 12, respectively, and can be read from either CPU 21 or 22. Can be. These DREQ bits 37 and 38 flags are The status of the DMA request that does not appear in the DMA request (DREQ) from the bus repeater 13 to each of the DMA controllers 22 and 27 is not masked even if the bits 35 and 36 are 0N. It can be read by each CPU 21 and 26.
  • the bus gateway 39 connects the internal buses 31 and 32 so that the CPU 21 on the bus 11 side in FIG. 2 accesses the bus 12.
  • the mask flags 35 and 36, the DREQ bits 37 and 38, and the bus gateway 39 are connected to a computer and software control unit 34.
  • the FIF memory 33 is a memory serving as a buffer, and is connected to the buses 11 and 12, that is, connected to them by the The input / output of the data is controlled with respect to the internal buses 31 and 32 that have been set.
  • the buffer control unit 34 controls the bus access operation of the FIFO memory 33, issues a DMA request (DREQ) to the DMA controllers 22 and 27 of the buses 11 and 12, and responds (DACK) : DM Acknowledgment) is received.
  • DMA request can be issued by specifying one of several DMA channels.
  • DMA channel selection information from the DMA controllers 22 and 27 is also sent to the buffer control unit 34.
  • the buffer control unit 34 of the bus repeater 13 requests the CPU 26 of the bus 12 to request the right of use of the bus 12 (BREQ: bus request). Out).
  • the CPU 26 sends a response (BACK: bus acknowledge) for permitting use of the bus 12 to the buffer control unit 34 of the bus repeater 13.
  • BACK bus acknowledge
  • the DMA settings of the DMA controllers 22 and 27 (For example, data size) must be compatible with each other.
  • the CPU 21 sets the DMA on the bus for the DMA controller 22
  • the CPU 26 sets the DMA on the bus for the DMA controller 27.
  • the DMA controller 22 of the first bus 11 is Is the same for the DMA from the memory 24 to the bus repeater 13 and the DMA for the DMA controller 27 of the second bus 12 is the same for the DMA from the bus repeater 13 to the memory 29. It is necessary to set the channel to be the corresponding DMA channel at (delay time). The processing procedure after these settings are as shown in Figure 4.
  • the bus repeater 13 issues a DMA request (DREQ) to the DMA controller 22.
  • the DMA controller 22 requests the right to use the bus 11 (BREQ) from the CPU 21 and obtains the right to use the bus, and the DMA transfer from the memory 24 to the bus repeater 13 is performed. I do.
  • the bus repeater 13 issues a DMA request (DREQ) to the DMA controller 27.
  • the DMA controller 27 issues a request for the right to use the bus 12 (BREQ) to the CPU 26, and transmits the request to the CPU 26. The transfer right is used, and DMA transfer from the bus repeater 13 to the memory 29 is performed.
  • the DMA controller 27 when transferring data from the device 28 on the second bus 12 to the device 23 on the first bus 11 by DMA, the DMA controller 27 has the device 2 For DMA from 8 to bus repeater 13 and for DMA controller 22 to DMA from bus repeater 13 to device 23, set them to be the same DMA channel with the same data size. Need to be done. The processing procedure after these settings are made is as shown in Figure 5.
  • the device 28 on the second bus 12 issues a DMA request (DREQ) to the DMA controller 27.
  • the bus repeater 13 issues a DMA request (DREQ) to the DMA controller 27.
  • the DMA controller 27 requests the CPU 26 to request the right to use the bus 12 (BREQ ) To obtain the right to use the bus, and perform a DMA transfer from the device 28 to the bus repeater 13.
  • BREQ bus in response to the bus request
  • DACK DMA acknowledge
  • the bus repeater 13 issues a DMA request (DREQ) to the DMA controller 22 on the first bus 11 and in step S75, the device 23 issues a DMA request. Makes a DMA request (DREQ) to controller 22.
  • the DMA controller 22 receives each D from the device 23 and the bus repeater 13. In response to receiving the MA request, the CPU 21 requests the right to use the bus 11 (BREQ) to obtain the right to use the bus, and performs a DMA transfer from the bus repeater 13 to the device 23. .
  • BREQ right to use the bus 11
  • the DMA between the different buses can be performed without generating a wasteful waiting time.
  • the processing of the CPU can be simplified, realizing simple programming and low overhead.
  • the buffer of the repeater between the buses can be used efficiently. In addition, you can easily write multithreaded programs.
  • the bus repeater 13 issues a request for the right to use the bus 12 (BREQ) to the CPU 26 and receives the response (BACK). Access the DMA controller 27, device 28, memory 29, etc. on the bus 12.
  • BREQ bus 12
  • BACK response
  • Condition # 5 There is no device on the bus 12 side, or no device on the bus 12 side is used.
  • the bus 11 side is DMA by the DMA controller 22, and the bus 12 side is the CPU 21. Transfer data by I / 0 access.
  • Condition # 6 There is no device on the bus 12 side, or no device on the bus 12 side is used, and CPU 21 transfers data via I / O access to both the bus 11 and the bus 12 side.
  • Mask flag 35 offf
  • Mask flag 36 offf Transfer direction *
  • Mask flag 35 on, mask flag 36 off Transfer direction: bus 1 1 bus 1 2 Transfer instruction to CPU 26 DMAC 27
  • CPU 2 1 DREQ HI waits for the ON of the switch 37 and writes the data in the bus repeater 13,,,-Transfer direction Bus 1 2 ⁇ Bus 1 1
  • Mask flag 35 o f f
  • Mask flag 36 o n
  • CPU 26 Write DREQ to the bus repeater 13 waiting for the on of the DREQ 38,-
  • Mask flag 35 on, Mask flag 36: on
  • Mask flag 35 o f fs
  • Mask flag 36 o n
  • Mask flag 35 on, Mask flag 36: on
  • CPU 2 1 Wait for DREQ 37 on, write to bus repeater 13,,-Write: DREQ, wait for 3 8 on, te from bus repeater 13,- Read the evening
  • CPU 21 DREQ HI, wait for the switch 38 to turn on, write to the bus repeater 13- By checking which of the six types of conditions causes an abnormality, the fault location or problem can be diagnosed. The data transferred to the bus 12 can be confirmed by the CPU 21 test program when the CPU 21 accesses the bus 12 directly.
  • a bus relay means having a buffer memory is provided between the first bus and the second bus, and the first direct memory is provided on the first bus.
  • the access (DMA) control means is connected to the second bus, and the second direct memory access control means is connected to the second bus.
  • the first and second direct memory access control means connect the first bus to the first bus.
  • the direct memory access transfer between the memory or device connected to the second bus and the memory / device connected to the second bus is performed via the buffer memory, and the first or the second memory is transferred from the bus relay means.
  • the direct memory access request to the second direct memory access control means is masked by the data processing means (CPU), and the bus relay is performed by the data processing means.
  • direct memory access transfer can be performed between the respective memory devices on different buses via the buffer memory.
  • direct memory access requests on each bus are masked by the data processing means (CPU) on each bus, and the buffer memory is accessed directly to check the direct memory access function.
  • the data processing means on the first bus masks the direct memory access request on the second bus, and accesses the buffer memory from the second bus side, thereby enabling the second bus to access the buffer memory. You can check the direct memory access function.
  • the direct memory access transfer function between different buses and to identify a problematic location.
  • the function can be confirmed only by the data processing means on the main bus, and debugging other than the direct memory access function can be performed by directly accessing the other bus.
  • the bus repeater 13 changes the block size by adding dummy data or omitting some data during data transfer.
  • the bus repeater 13 has a function of performing the following processing when the amount of data entering the software and the amount of data leaving the bus differ (FIF 033). .
  • the dummy data is output if an output request is received.
  • the configuration of the data stream to be transferred can be changed.
  • the composition of this day and night As a change of the composition of this day and night,
  • data strings S 1A , SS 1C , S... As shown in FIG. 6 are developed in the memory 29 of FIG.
  • the subscripts A, B, and C of the data sequence S 1A , SS ic, S ... represent different data types, respectively, and the types of B and C in these three data sequences. It is assumed that only the data is transferred to the device 23 in FIG. At this time, it is necessary to write a data sequence as shown in FIG.
  • the subscript numbers 1, 2, 3,... in the sub-strings S 1A , SSS... indicate the number of the data block which is one transfer unit.
  • the DMA controller 22 is set so as to transfer only two types of B and C described above, that is, transfer three blocks with 24 bytes as one block. According to this,
  • a data string in the format shown in FIG. 7 is output from the device 23 in FIG. 2 and is expanded into, for example, the memory 29, and as shown in FIG. Suppose that you are going to buy D night.
  • the DMA controller 27 is set to transfer 36 blocks with 36 bytes as one block.
  • 12 bytes of dummy data are written after the above-mentioned 24 bytes of data of types B and C, so that the CPU 26 in FIG.
  • the above-mentioned type D data string can be directly written into the memory. That is, the CPU 26 can save the trouble of shifting the data on the memory 29.
  • the DMA controller 2 7 is set to transfer 3 blocks with 36 bytes from the beginning of the data stream as one block, and DMA controller 27 is set to transfer 3 blocks with 24 bytes as one block. Should be set to.
  • FIG. 9 shows a texture image area for texture matching in image processing such as computer graphics, and a part of this wide texture area, for example, an area T indicated by a hatched portion in the figure.
  • TTT 4 is transferred.
  • This texture image is expanded on the memory as shown in Fig. 10, for example.
  • TTT 4 on this memory, the extra data may be cut off. Needed.
  • a header is added to some data strings, for example, polygon data as shown in FIG.
  • polygon data has a different data string size depending on the number of vertices, shading, the presence or absence of texture, and the like.
  • a header (GP UIFtag) is used to distinguish it from texture data and transfer destinations. May be added.
  • GP U Graphic Processor Unit interface
  • the data transferred by the GP UIF is called a primitive consisting of a header at the beginning (GPUIFtag) and the following data.
  • a set of overnight is used as a basic unit, and a plurality of primitives that are collectively processed are collectively referred to as a GPU packet.
  • FIG. 12 shows an example of the configuration of the above header (GPUIFtag), which consists of, in order from the MSB, the register descriptor REGS, the number of register descriptors NREG, and the data FLG.
  • GUIFtag consists of, in order from the MSB, the register descriptor REGS, the number of register descriptors NREG, and the data FLG.
  • the bus relay means having the buffer memory between the first bus and the second bus.
  • Data transfer between the first bus and the second bus is performed via a buffer memory in the bus relaying means, and the bus relaying means transfers data during data transfer.
  • the bus relaying means transfers data during data transfer.
  • a first direct memory access control means is connected to the first bus, and data transfer is controlled between the first bus and the buffer memory in the bus relay means.
  • a second direct memory access control means is connected to the second bus, and data transfer control is performed between the second bus and a buffer memory in the bus relay means.
  • the function is to output the dummy data when the output request is received even if the data in the buffer memory is exhausted at the time of data transfer, and when the data transfer on the output side is completed at the time of data transfer.
  • FIG. 13 shows an example of a system to which the embodiment of the present invention as described above is applied.
  • a main bus 111 for performing high-speed image processing and a CD are provided.
  • the sub-bus 112 connected to a low-speed peripheral device such as a ROM drive is connected via a bus repeater 113 having a buffer memory such as FIF0.
  • the high-speed main bus 111 has a main CPU 121, a DMA controller 122, a graphic engine 123 for high-speed image processing, and a main memory 124.
  • the sub-bus 122 which is relatively slow, has a sub CPU 126, a DMA controller 127, a data recording medium 128 such as a CD-ROM, and a sub memory 122. 9 is connected.
  • the main bus 111 and the sub-bus 112 are connected via a bus repeater 113 having a buffer memory such as FIF 0 as described above, and this bus repeater 113 is A plurality of types of DMA requests corresponding to a plurality of DMA channels, for example, three types of DMA requests can be issued to the DMA controllers 122 and 127.
  • the specific configuration and operation of the bus repeater 113 may be the same as those of the bus repeater 13 of the embodiment described with reference to FIGS.
  • the present invention is not limited to only the above-described embodiment.
  • an example in which bidirectional DMA transfer is performed between the first bus and the second bus has been described.
  • the present invention can also be applied to a case where only DMA transfer from the first bus to the second bus or only DMA transfer from the second bus to the first bus is performed.
  • the number of DMA channels, circuits connected to each bus, and the like are not limited to the embodiment.

Description

明 細 書 データ転送方法及び装置 技 術 分 野 本発明は、 2つの異なるバスにそれぞれ接続されたデバイスゃメ モリの間でデータを転送するためのデータ転送方法及び装置に関し、 特に、 データ転送が正常に機能しているか否かの診断が行えるデー 夕転送方法及び装置に関する。 背 景 技 術 従来において、 メイ ンバスとサブバスのような異なるバスをゲ一 トウェイ等のバス中継器を介して接続し、 メインバスに設けられた D M A (ダイ レク トメモリアクセス) コン トローラによりこれらの バス間でデ一夕の D M A転送を行うものが知られている。
例えば、 図 1に示すような構成において、 メインバス 1 0 1 とサ ブバス 1 0 2とはそれぞれバスゲ一トウエイ等のバス中継器 1 0 3 に接続されている。 メインバス 1 0 1には、 C P Uや各種ィン夕ー フエース等のデバィス 1 0 4、 D M Aコン トローラ 1 0 5が接続さ れ、 サブバス 1 0 2には、 デバイス 1 0 6、 R O M等のメモリ 1 0 7が接続される。
この図 1の例では、 メィンバス 1 0 1上の D M Aコントロ一ラ 1 0 5がバス中継器 1 0 3を介してサブバス 1 0 2も制御することに より、 例えばデバイス 1 0 4とデバイス 1 0 6との間の D M A転送 を実現している。 このように、 異なるバス 1 0 1、 1 0 2間であつ ても、 それぞれのバスのアクセス時間が同じ程度であれば、 無駄な 待ち時間がなく、 効率の良いデ一夕転送を行うことができる。
ところで、 1つのシステム内で異なるバスが共存する場合には、 バス幅ゃデ一夕アクセス速度が異なることが多く、 例えば図 1の例 では、 メィンバス 1 0 1が 3 2ビヅ ト幅で高速、 サブバス 1 0 2が 1 6ビッ ト幅で低速となっている。
このように、 バス幅ゃデ一夕アクセス速度が異なるバス間で D M A転送を行わせる場合には、 高速のバス、 例えば図 1のメインバス 1 0 1上で無駄な待ち時間を生じさせてしまうという欠点がある。 そこで、 2つの異なるバス間をバッファメモリを介して接続し、 このバッファメモリを介して D M A転送を行うことが考えられるが、 D M A転送が正常に機能しているか否かを診断しょうとすると、 そ れそれのバスの C P Uをデバッグモードで走らせなければならず面 倒である。
また、 デ一夕転送が正常に行われなかった場合、 双方のバスの C P Uや診断プログラムに欠陥があることが想定されるので、 原因の 発見が非常に困難になることが多い。
特に、 1つの L S I内に C P Uや D M Aコン トローラ等を設ける 場合には、 長い開発期間がかかり、 診断のスケジュール等も大きな 問題となる。
実際に L S Iを設計試作する前には周辺機器を含んだソフ トウェ ァシミュレーショ ンを行い、 可能な限り多くの機能を確認するわけ であるが、 シミュレーションには時間がかかることから、 十分な検 証ができず、 試作 S I等ができてから短時間に問題点を洗い出さ なければならないという実情もあり、 上述したようなデバッグの困 難性が製品開発のネックとなることが多い。
さらに、 デバイス間でデータ転送を行う場合には、 それぞれのデ バイスにとって都合のよいデ一夕の並びかたがあり、 これに対応す るために、 余分なデ一夕を切り捨てたり、 転送されたデ一夕列の間 に別のデータを挿入したりすることが必要とされる。
メモリ上に展開されたデータ列に対して、 上述のような操作を C P Uが行おうとすると、 一旦 C P Uのレジス夕に読み込んだ後、 ま た書かなければならないことから、 非常に効率が悪く、 これは C P Uが他の作業を行おうとする時間を削減することにもなり、 好まし くない。
ここで、 D M Aコン トローラがデータ転送時に転送元ァドレスや 転送先アドレスを毎回変更することも考えられ、 この場合には、 転 送元のアドレスと転送量のリス トを用意し、 D M Aコン トローラが 毎回そのリス トに従って D M A転送を行うわけであるが、 転送仕様 テーブルを C P Uが用意しなければならず、 毎回転送仕様をチエツ クするためのオーバーへッ ドが生ずる等の難点がある。
また、 上述したような 1つのシステム内で異なるバスが共存する 場合には、 バス幅が異なることが多く、 例えば図 1の例では、 メイ ンバス 1 0 1が 3 2 ビッ ト幅で高速、 サブバス 1 0 2が 1 6 ビヅ ト 幅で低速となっている。 このように、 バス幅が異なるバス間で D M A転送を行わせる場合にも、 余分なデータを切り捨てたり、 転送さ れたデ一夕列の間に別のデ一夕を挿入したりすることがあり、 この 場合にも簡単にデータ構造ゃァ ドレスの区切りの変更が行えること が望ましい。 発 明 の 開 示 本発明は、 このような実情に鑑みてなされたものであり、 異なる
2つのバス間での D M A転送機能の診断が容易に行え、 問題のある 場所の特定が短時間で行えるようなデータ転送方法及び装置の提供 を目的とする。
また、 本発明の他の目的は、 異なる 2つのバス間でのデータ転送 の際に、 C P Uに負担をかけずに簡単に転送デ一タブ口ヅクのサイ ズを変更でき、 作業効率の向上を図ることができるようなデ一夕転 送方法及び装置を提供することである。
すなわち、 本発明は、 上述した課題を解決するために、 第 1のバ ス及び第 2のバスと、 これらの第 1のバス及び第 2のバスにそれぞ れ接続されたバッファメモリを有するバス中継手段と、 上記第 1の バスに接続された第 1の DMA (ダイレク トメモリアクセス) 制御 手段と、 上記第 1のバスに接続された第 1のデータ処理手段 (C P U) とを有し、 上記バス中継手段は、 上記第 1の DMA制御手段に 対して DM A要求を出す機能と、 この DM A要求を上記第 1のデー 夕処理手段によりマスクする機能とを有し、 上記第 1のデータ処理 手段により、 上記バス中継手段の D M A要求をマスクし、 上記バス 中継手段内の上記バッファメモリを直接アクセスすることを特徴と している。
ここで、 上記第 2のバスには、 第 2の DMA (ダイ レク 卜メモリ アクセス) 制御手段と、 第 2のデータ処理手段 (C PU) とが接続 され、 上記第 1、 第 2の DMA制御手段は、 上記バス中継手段内の バヅファメモリに対してデ一夕の読み書きを行うことで上記第 1、 第 2のバス間のデ一夕転送を行い、 上記バス中継手段は、 上記第 2 の DM A制御手段に対して D M A要求を出す機能と、 この DM A要 求を上記第 2のデータ処理手段によりマスクする機能とを有し、 上 記第 2のデータ処理手段により、 上記バス中継手段の DMA要求を マスクし、 上記バス中継手段内の上記バッファメモリを直接ァクセ スすることが挙げられる。
この場合、 上記第 1、 第 2のデータ処理手段 ( C PU) の一方に より、 上記バス中継器における他方のバス上の D M A要求をマスク し、 上記他方のバス上から上記バス中継器内の上記バッファメモリ をアクセスすることが挙げられる。
また、 本発明は、 互いに異なる第 1のバスと第 2のバスとの間を バッファメモリを有するバス中継手段を介して接続し、 第 1のバス に第 1の DM A (ダイ レク トメモリアクセス) 制御手段を、 第 2の バスに第 2の DMA制御手段をそれぞれ接続し、 これらの第 1、 第 2の D MA制御手段により、 第 1のバスに接続されたメモリやデバ イスと第 2のバスに接続されたメモリゃデバイスとの間の DMA転 送を、 上記バッファメモリを介して行わせると共に、 上記バス中継 手段からの上記第 1又は上記第 2の DM A制御手段への D M A要求 をデータ処理手段 (C PU) によりマスクし、 上記デ一夕処理手段 により上記バス中継手段内の上記バッファメモリを直接アクセスす ることを特徴としている。
この場合、 上記第 1のバスに第 1のデ一夕処理手段を、 上記第 2 のバスに第 2のデータ処理手段をそれぞれ設け、 上記第 1のバス上 の D M A要求を上記第 1のデータ処理手段がマスクし、 上記第 2の バス上のダイレク トメモリアクセス要求を上記第 2のデータ処理手 段がマスクし、 上記第 1、 第 2のデータ処理手段は、 それぞれのバ ス上の第 1、 第 2のダイレク トメモリアクセス制御手段と同じ転送 条件で上記バス中継器内の上記バッファメモリを直接アクセスする ことが挙げられる。
さらに、 上記第 2のバス上の D M A要求を上記第 1のデータ処理 手段がマスクし、 上記第 1のデ一夕処理手段は、 第 2のバス側から 上記バス中継器内の上記バッファメモリを直接アクセスすることが 挙げられる。
第 1、 第 2のバス上の各 D M A制御手段により、 各バス上のメモ リゃデバイスとバス中継手段のバッファメモリとの間で D M A転送 することにより、 このバッファメモリを介して、 異なるバス上の各 メモリやデバイスの間での D M A転送が行える。 このとき、 各バス 上の D M A要求をそれぞれのバス上のデ一夕処理手段 ( C P U ) が マスクし、 直接上記バッファメモリをアクセスすることによって、 D M A機能をチェックすることができる。 また、 第 1のバス上のデ —夕処理手段が第 2のパス上の D M A要求をマスクし、 第 2のバス 側から上記バヅファメモリをアクセスすることによって、 第 2のバ スの D M A機能をチェックすることができる。
また、 本発明は、 上述した課題を解決するために、 互いに異なる 第 1のバスと第 2のバスとをバッファメモリを有するバス中継手段 を介して接続し、 上記第 1のバスと上記第 2のバスとの間でのデ一 夕転送を上記バス中継手段内のバッファメモリを介して行い、 上記 バス中継手段はデ一夕転送時にダミーデータを付加することにより 転送データブロックのサイズを大きくすること、 又は、 上記バス中 継手段はデータ転送時に一部のデータを省略することにより転送デ 一夕ブロックのサイズを小さくすることを特徴とする。
ここで、 上記第 1のバスに接続された第 1のダイ レク トメモリア クセス制御手段により、 上記第 1のバスと上記バス中継手段内のバ ッファメモリとの間でデ一夕転送制御し、 上記第 2のバスに接続さ れた第 2のダイ レク トメモリアクセス制御手段により、 上記第 2の バスと上記バス中継手段内のバッファメモリ との間でデ一夕転送制 御することが挙げられる。 また、 上記バス中継手段は、 デ一夕転送 時に上記バッファメモリ内のデ一夕がなくなっても出力要求がきて いるときにダミーデータを出力することにより転送デ一タブ口ヅク のサイズを大きく したり、 デ一夕転送時に出力側のデータ転送が終 了した時点で上記バヅファメモリ内のデータが残存しているときに、 該残存デ一夕を破棄することにより転送デ一タブ口ックのサイズを 小さくすることが挙げられる。
転送を仲介するバス中継器に、 転送データのプロックサイズを大 きく したり、 小さく したりする機能を付加することにより、 デ一夕 転送時に簡単なデータ構成の変更を行うことができる。 図面の簡単な説明 図 1は、 2バスを用いるシステムの従来例を示すブロック図であ 図 2は、 本発明の実施の形態の概略構成を示すプロック図である。 図 3は、 本発明の実施の形態に用いられるバス中継器の内部構成 の一例を示すブロック図である。
図 4は、 本発明の実施の形態の動作の一例を説明するためのフロ —チャートである。
図 5は、 本発明の実施の形態の動作の他の例を説明するためのフ ローチヤ—トである。 図 6は、 転送前のデ一夕列の具体例を示す図である。
図 7は、 転送の際に一部を省略して得られたデ一夕列の具体例を 示す図である。
図 8は、 転送の際に別のデ一夕を追加して得られたデ一夕列の具 体例を示す図である。
図 9は、 テクスチャ画像上の転送すべきデータ領域の一例を示す 図である。
図 1 0は、 図 9のメモリ上でのデ一夕配列を示す図である。 図 1 1は、 いくつかのデータ列にヘッダを付加した一例を示す図 である。
図 1 2は、 図 1 1で付加されるヘッダの具体例を示す図である。 図 1 3は、 本発明の実施の形態が適用されたシステムの一例を示 すプロック図である。
発明を実施するための最良の形態
以下、 本発明に係る実施の形態について、 図面を参照しながら説 明する。
図 2は、 本発明に係る実施の形態となるデ一夕転送方法が適用さ れるシステム構成をを示すブロック図である。 この図 2において、 第 1のバス 1 1及び第 2のバス 1 2は、 F I F 0等のバヅファメモリを用いて成るバス中継器 1 3にそれぞれ接 続され、 このバス中継器 1 3を介してバス 1 1、 1 2間で互いにデ —夕の転送を行うことができる。 第 1のバス 1 1には、 C P U 2 1、 DMA (ダイレク トメモリアクセス) コン トローラ 22、 デバイス 23、 メモリ 2 4等が接続されており、 第 2のバス 1 2には、 C P U 2 6、 DMAコン トローラ 2 7、 デバイス 2 8、 メモリ 29等が 接続されている。
デバイス 2 3は DMAコン トローラ 2 2に対して、 デバイス 2 8 は DMAコン ト口一ラ 2 7に対して、 それぞれ DMA要求を出すこ とができる。 これらのデバイス 2 3, 2 8としては、 例えば、 画像 や音声のエンコーダ、 デコーダ、 グラフィ ック処理のためのグラフ イ ツクエンジン、 画像処理や音声処理 I C等、 あるいは、 それぞれ のインターフエ一スを介してのハードディスク装置、 光磁気ディス ク装置、 フロ ッピィディスク装置、 CD— R OM装置等の周辺機器 を挙げることができる。 バス中継器 1 3は、 DMAコン トローラ 2 2、 2 7に対してそれぞれ D M A要求 (DREQ: DMAリクエス ト) を出すことができる。 これらの DM A要求は、 複数の DM Aチヤネ ルの内のどの D M Aチャネルかを指定することができる。 また、 バ ス中継器 1 3は、 例えばバス 1 2上の C P U 2 6に対してバス 1 2 の使用権の要求 (BREQ: バスリクエス ト) を出し、 C P U 2 6から のバス使用許可の応答 (BACK: バスァクノ リ ッジ) を受け取ること ができる。
このような図 2のシステムに用いられるバス中継器 1 3の構成の 一例を図 3に示す。 この図 3において、 上記図 2の第 1のバス 1 1 はデータバス 1 1 aとア ドレス ·制御バス 1 1 bとに分けて、 上記 第 2のバス 1 2はデ一夕バス 12 bとア ドレス ·制御バス 12 bと に分けて示されている。 バス中継器 13内には、 第 1のバス 1 1の デ一夕バス 1 1 aに接続される内部バス 3 1と、 第 2のバス 12の デ一夕バス 1 2 aに接続される内部バス 32とが設けられ、 これら の内部バス 3 1 , 32には、 F I FO (First In First Out: 先入 れ先出し) メモリ 33が接続されている。 さらにバッファ制御ュニ ヅ ト 34をこれらの内部バス 3 1, 32に接続するようにしてもよ い。 ノ ッファ制御ュニッ ト 34は、 第 1のバス 1 1のア ドレス '制 御バス 1 1 b、 及び第 2のバス 1 2のア ドレス ·制御バス 12 bと も接続されている。 また、 ノ ヅファ制御ユニッ ト 34には、 上記図 2の DMAコン トロ一ラ 22, 27との間で DMA要求 (DREQ) や チャネル指定等を行うための制御信号ラインが接続されている。 マスクフラグ 35は、 バス 1 1側の DM Aを禁止するためのフラ グであり、 図 2の C P U 2 1の制御によって、 このフラグが ONあ るいは " 1 " になっているときは、 バヅファ制御ュニッ ト 34から 図 2の DMAコン トローラ 22への DMA要求 (DREQ) は出力され ない。 マスクフラグ 36は、 バス 1 2側の DM Aを禁止するための フラグであり、 図 2の CPU 26によってこのフラグが ONあるい は " 1 " になっているときは、 バッファ制御ュニッ ト 34から図 2 の DMAコン トローラ 27への D M A要求 (DREQ) は出力されない。
DREQビッ ト 37及び 38は、 それぞれのバス 1 1及び 12に 対するDMA要求のON/OFF (あるいは " 1 " / " 0 " ) を表 すフラグで、 CPU 2 1、 22のいずれからも読むことができる。 これらの DREQビッ ト 37及び 38のフラグは、 上記マスクフラ グ 3 5 , 3 6が 0 Nであってもマスクされず、 バス中継器 1 3から 各 DMAコン トローラ 2 2 , 2 7への D MA要求 (DREQ) に現れな い DM A要求の状態を各 C P U 2 1 , 2 6で読み取ることができる。 バスゲ一トウエイ 3 9は、 図 2のバス 1 1側の C P U 2 1が、 バ ス 1 2をアクセスするために内部バス 3 1と 3 2とを接続するもの である。 これらのマスクフラグ 3 5, 3 6、 DRE Qビッ ト 3 7 , 38、 及びバスゲ一トウエイ 3 9は、 パ、ソ ファ制御ュニヅ ト 34と 接続されている。
この図 3に示すバス中継器 1 3において、 F I F〇メモリ 3 3は、 バッファの役割を果たすメモリであり、 ノ ヅファ制御ュニヅ ト 34 によって、 アクセスされるバス 1 1, 1 2、 すなわちこれらに接続 された内部バス 3 1, 3 2に対してデ一夕の入出力を制御される。 バッファ制御ュニヅ ト 34は、 F I F Oメモリ 3 3のバスァクセス 動作を制御すると共に、 各バス 1 1, 1 2の DMAコン トローラ 2 2, 2 7に対して DMA要求 (DREQ) を出し、 その応答 (DACK: D MAァクノ リ ッジ) を受け取る。 この DMA要求は、 複数の DMA チャネルの 1つを指定して出すことができる。 DMAコン トローラ 22 , 2 7からの DM Aチャネル選択情報もこのバヅファ制御ュニ ッ ト 34に送られる。
また、 例えば C P U 2 1がバス 1 2のアドレスをアクセスすると、 バス中継器 1 3のバッファ制御ュニッ ト 34がバス 1 2の CPU 2 6に対してバス 1 2の使用権の要求 (BREQ: バスリクエス ト) を出 す。 C PU 2 6は、 このバス要求に応じてバス 1 2の使用を許可す る応答 (BACK: バスァクノ リ ッジ) をバス中継器 1 3のバッファ制 御ュニヅ ト 34に送る。 この後、 C P U 2 1はバス中継器 1 3の内 部バス 3 2側のマスクフラグ 3 6、 F I F O 3 3、 及びバス 1 2上 の DMAコン トローラ 2 7、 デバイス 2 8、 メモリ 2 9等をァクセ スすることができる。
ところで、 第 1のバス 1 1 と第 2のバス 1 2との間で、 バス中継 器 1 3を介して DM A転送を行う場合には、 DMAコン トローラ 2 2及び 2 7の D M Aの設定 (例えばデータサイズ等) が矛盾なく対 応している必要がある。 C P U 2 1は DMAコン トローラ 2 2に対 して、 また C P U 2 6は DMAコン トローラ 2 7に対して、 それぞ れのバス上の D M Aの設定を行う。
例えば、 第 1のバス 1 1のメモリ 24から第 2のバス 1 2のメモ リ 28に DM Aによるデ一夕転送を行う場合、 第 1のバス 1 1の D MAコン トロ一ラ 2 2にはメモリ 24からバス中継器 1 3への D M Aについて、 また第 2のバス 1 2の DM Aコントローラ 2 7にはバ ス中継器 1 3からメモリ 2 9への D M Aについて、 それぞれ同じデ —夕サイズ (デ一夕量) で対応する DM Aチャネルとなるように設 定されることが必要である。 これらの設定がされた後の処理手順は、 図 4のようになる。
この図 4において、 最初のステップ S 6 1で、 バス中継器 1 3か ら DMAコン トローラ 22に対して DMA要求 (DREQ) を行う。 次 のステップ S 6 2で、 DMAコン トローラ 2 2は C P U 2 1にバス 1 1の使用権の要求 (BREQ) を行ってバス使用権をもらい、 メモリ 24からバス中継器 1 3への D M A転送を行う。 次のステツプ S 6 3では、 バス中継器 1 3は DMAコントローラ 2 7に対して DMA 要求 ( DREQ) を行う。 次のステップ S 64では、 DMAコン ト口一 ラ 27は CP U 2 6にバス 1 2の使用権の要求 (BREQ) を行ってバ ス使用権をもらい、 バス中継器 1 3からメモリ 29への D M A転送 を行う。
また、 第 2のバス 1 2上のデバィス 2 8から第 1のバス 1 1上の デバイス 2 3にデ一夕を DM A転送する場合には、 DMAコン ト口 ーラ 2 7にはデバイス 2 8からバス中継器 1 3への D M Aについて、 また DMAコン トローラ 2 2にはバス中継器 1 3からデバイス 2 3 への D M Aについて、 それぞれ同じデ一夕サイズで対応する DMA チャネルとなるように設定されることが必要である。 これらの設定 がされた後の処理手順は、 図 5のようになる。
この図 5の最初のステップ S 7 1において、 第 2のバス 1 2上の デバイス 2 8は DMAコン トローラ 2 7に対して DMA要求 (DREQ) を行う。 次のステップ S 7 2で、 バス中継器 1 3は DMAコン ト口 —ラ 2 7に対して DMA要求 (DREQ) を行う。 ステップ S 73で、 D M Aコン トローラ 2 7は、 デバイス 2 8及びバス中継器 1 3から の各 DM A要求を受けたことに応じて、 C P U 2 6にバス 1 2の使 用権の要求 (BREQ) を行ってバス使用権をもらい、 デバイス 2 8か らバス中継器 1 3への D M A転送を行う。 このとき、 CP U 2 6が バス要求 (BREQ) に応じてバスを開放したときの応答を DM Aコン トローラ 2 7に返し、 DMAコン トロ一ラ 2 7は DMAァクノ リ ッ ジ (DACK) をバス中継器 1 3等に返すことは、 通常の DMA転送と 同様である。 次のステヅプ S 74で、 バス中継器 1 3が第 1のバス 1 1上の DMAコン トローラ 2 2に対して DMA要求 (DREQ) を行 い、 ステップ S 7 5で、 デバイス 2 3が D M Aコン トローラ 2 2に 対して DMA要求 (DREQ) を行う。 次のステップ S 7 6で、 DMA コン トローラ 2 2は、 デバイス 2 3及びバス中継器 1 3からの各 D MA要求を受けたことに応じて、 C P U 2 1にバス 1 1の使用権の 要求 (BREQ) を行ってバス使用権をもらい、 バス中継器 1 3からデ バイス 2 3への D M A転送を行う。
なお、 バス中継器 1 3の F I F O等のメモリ容量は有限なので、 それを超える大きさのデ一夕を転送する場合には、 DM Aコン ト口 ーラ 2 2、 2 7に分割転送の設定をして、 上記ステップ S 6 1から S 64まで、 あるいはステツプ S 7 1から S 7 6までを繰り返せば よい。 この分割転送の際の 1回の転送単位 (ブロック) は、 バス中 継器 1 3のメモリ容量によって決まる。
従って、 バス中継器 1 3のバッファメモリを介して 2つのバス 1 1 , 1 2間で DMA転送を行わせることにより、 異なるバス間の D M Aを無駄な待ち時間を発生させることなく行うことができる。 ま た、 複数の DM Aチャネルを同時に動作可能にすることにより、 C P Uの処理を簡素化し、 平易なプログラミングと少ないオーバーへ ッ ドを実現できる。 また、 バス間の中継器のバッファを効率よく活 用することができる。 さらに、 マルチスレッ ドのプログラムを簡単 に書く ことができる。
ところで、 例えば C P U 2 1がバス 1 2をアクセスするとき、 バ ス中継器 1 3が C P U 2 6に対してバス 1 2の使用権の要求 (BREQ) を出し、 その応答 (BACK) を受け取って、 バス 1 2上の DMAコン トローラ 2 7、 デバイス 28、 メモリ 29等をアクセスする。
このとき、 図 3の F I F 03 3は、 マスクフラグ 3 5, 3 6によ り各 DMAコン トローラ 2 2, 2 7への DM A要求 (DREQ) の出力 を禁止したときに、 それぞれのバス 1 1 , 1 2で I /Oアクセスが 可能となるわけであるが、 この I/Oアクセスは、 DM Aの処理と 矛盾なく同等に行われなければならない。 従って、 任意にアクセス できるわけではなく、 D M Aのアクセスと同じ条件で許可されるこ とになる。 この I /0アクセスの条件の一例を次の表 1に示す。 表 1
Figure imgf000017_0001
この表 1の 「信号及びフラグの状態」 の欄の 「*」 は、 任意(Don't care) の状態を表している。
ここで、 DM A機能を診断する条件としては、 以下のような場合 が考えられる。
条件 # 1 : パス 1 1 , バス 1 2共に、 DMAコン トローラ 22,
27を用いてデータ転送する。
条件 # 2 : パス 1 1側だけ、 C P U 2 1が I / 0アクセスでデー 夕の授受を行う。
条件 # 3 : バス 1 2側だけ、 C P U 2 6が I / 0アクセスでデー 夕の授受を行う。
条件 # 4 : バス 1 1, バス 1 2側共に、 C P U 2 1, 2 6が I /
0アクセスでデ一夕の授受を行う。
条件 # 5 : バス 1 2側のデバイスが存在せず、 あるいはバス 1 2 側のデバイスを用いず、 バス 1 1側は DMAコント口 —ラ 2 2による D M Aで、 バス 1 2側は C P U 2 1が I /0アクセスでデータ転送する。
条件 # 6 : バス 1 2側のデバイスが存在せず、 あるいはバス 1 2 側のデバイスを用いず、 バス 1 1, バス 1 2側共に C P U 2 1が I /0アクセスでデ一夕転送する。
なお、 現実のデバッグの順序としては、 条件 # 6から逆の順に D M A機能の診断を行うことが想定される。
上述した各条件 # 1〜# 6の下で、 次のような手順でデ一夕転送 を行い、 どの条件下で問題が起こるかを調べることによって、 不完 全なあるいは問題のある機能ュニッ トを特定することができる。 条件 # 1
マスクフラグ 3 5 : o f f 、 マスクフラグ 3 6 : o f f 転送方向 *
CPU 2 1 DMAC2 2に転送の指示
CPU 2 6 DMAC2 7に転送の指示,
条件 # 2
マスクフラグ 3 5 : o n 、 マスクフラグ 3 6 o f f 転送方向 : バス 1 1 バス 1 2 CPU 2 6 DMAC2 7に転送の指示
CPU 2 1 DREQヒ、、ツト 37の onを待ってバス中継器 1 3にテ、、 -タを書く 転送方向 バス 1 2→バス 1 1
CPU 2 6 DMAC2 7に転送の指示
CPU 2 1 DREQ ット 3 7の onを待ってバス中継器 1 3からテ'、-夕を s¾む。
条件 # 3
マスクフラグ 3 5 : o f f , マスクフラグ 3 6 : o n
転送方向 バス 1 1→バス 1 2
CPU 2 1 D AC2 2に転送の指示
CPU 2 6 DREQヒ、、ツト 3 8の onを待ってバス中継器 1 3からテ、、 -タを 読む
転送方向 : バス 1 2 バス 1 1
CPU 2 1 : DMAC2 2に転送の指示
CPU 2 6 : DREQヒ、、ット 38の onを待ってバス中継器 1 3にテ、、 -タを書く ' 条件 # 4
マスクフラグ 3 5 : o n 、 マスクフラグ 3 6 : o n
転送方向 バス 1 1 バス 1 2
CPU 2 1 DREQヒ、、ツト 37の onを待ってバス中継器 1 3にテ、、 -タを書く CPU 2 6 DREQヒ、、ット 3 8の onを待ってバス中継器 1 3からテ、、 -タを 読む
転送方向 バス 1 2 バス 1 1
CPU 2 6 DREQ ット 38の onを待ってバス中継器 1 3にテ タを書く CPU 2 1 DREQヒ、、ット 3 7の onを待ってバス中継器 1 3からテ、、 -タを 読む。 条件 # 5
マスクフラグ 3 5 : o f f s マスクフラグ 3 6 : o n
転送方向 : バス 1 1 バス 1 2
CPU 2 1 : DMAC 2 2に転送の指示
: DREQヒ、、ット 3 8の onを待ってバス中継器 1 3からテ、、 -夕を 読む
転送方向 : バス 1 2→バス 1 1
CPU 2 1 : DMAC2 2に転送の指示
: DREQビット 38の onを待ってバス中継器 1 3にテ、'-タを書く( 条件 # 6
マスクフラグ 3 5 : o n 、 マスクフラグ 3 6 : o n
転送方向 : バス 1 1 バス 1 2
CPU 2 1 : DREQ ット 37の onを待ってバス中継器 1 3にテ、、 -タを書く : DREQヒ、、ット 3 8の onを待ってバス中継器 1 3からテ、、 -夕を 読む
転送方向 : バス 1 2 バス 1 1
CPU 2 1 : DREQヒ、、ツト 38の onを待ってバス中継器 1 3にテ、、 -タを書く : DREQヒ、、ット 3 7の onを待ってバス中継器 1 3からテ、'-タを これらの 6種類の条件の内のいずれの条件で異常が生じるかを確 認することにより、 故障個所や問題点の診断をするわけである。 な お、 バス 1 2上に転送されたデ一夕は、 C P U 2 1がバス 1 2を直 接アクセスすることにより、 C P U 2 1のテス トプログラムで確認 することができる。
従って、 このような本発明の実施の形態によれば、 異なるバス 1 1, 1 2間の D M A転送機能を容易にデバッグし、 問題のある場所 を特定することができる。 また、 主体となるバス 1 1上の C P U 2 1だけで、 機能確認を行うことができ、 さらに、 他方のバス 1 2に 直接アクセスすることにより D M A機能以外のデバッグを行うこと もできる。
以上の説明をまとめると、 本発明の実施の形態によれば、 第 1の バス及び第 2のバスの間にバッファメモリを有するバス中継手段を 設け、 第 1のバスに第 1のダイレク トメモリアクセス (D M A ) 制 御手段を、 第 2のバスに第 2のダイ レク トメモリアクセス制御手段 をそれぞれ接続し、 これらの第 1、 第 2のダイレク トメモリアクセ ス制御手段により、 第 1のバスに接続されたメモリやデバイスと第 2のバスに接続されたメモリゃデバイスとの間のダイレク トメモリ アクセス転送を、 上記バッファメモリを介して行わせると共に、 上 記バス中継手段からの上記第 1又は上記第 2のダイ レク トメモリア クセス制御手段へのダイレク トメモリアクセス要求をデータ処理手 段 ( C P U ) によりマスクし、 上記デ一夕処理手段により上記バス 中継手段内の上記バッファメモリを直接アクセスすることにより、 このバヅファメモリを介して、 異なるバス上の各メモリゃデバイス の間でのダイレク トメモリアクセス転送が行える。 このとき、 各バ ス上のダイ レク トメモリアクセス要求をそれぞれのバス上のデータ 処理手段 ( C P U ) がマスクし、 直接上記バッファメモリをァクセ スすることによって、 ダイ レク トメモリアクセス機能をチェックす ることができる。 また、 第 1のバス上のデータ処理手段が第 2のバ ス上のダイレク トメモリアクセス要求をマスクし、 第 2のバス側か ら上記バッファメモリをアクセスすることによって、 第 2のバスの ダイ レク トメモリアクセス機能をチェックすることができる。
従って、 異なるバス間のダイ レク トメモリアクセス転送機能を容 易にデバッグし、 問題のある場所を特定することができる。 また、 主体となるバス上のデータ処理手段だけで機能確認を行うことがで き、 さらに、 他方のバスに直接アクセスすることによりダイ レク ト メモリアクセス機能以外のデバヅグを行うこともできる。
次に、 異なるバス間でバヅ ファを介して DMA転送するシステム の転送デ一夕のプロックサイズを簡単に変更可能とする例について 説明する。
この例において、 バス中継器 13は、 データ転送時にダミ一デー 夕を付加したり、 一部のデータを省略することにより、 ブロックサ ィズを変更している。
すなわち、 上記図 2〜図 5と共に説明したような DM A転送の際 に、 転送元からの連続したデ一夕列を全て転送先にそのまま書き込 む場合、 1回の転送単位 (プロヅク) は、 DMAコントローラ 22 , 27共にバス中継器 1 3内の F I F033のサイズと等しく設定す ることによって最も効率のよい転送が行われる。
バス中継器 1 3は、 ノ ソ フ ァ ( F I F 033 ) に入ってくるデ一 夕量と出て行くデ一夕量とが異なる場合に、 次のような処理を行う 機能を有している。
すなわち、 第 1に、 入力されたデータがバッファ (F I FO 33) からなくなってもさらに出力要求がきている場合にはダミーデータ を出力する。
第 2に、 入力されたデ一夕が出力側の DM Aが終了した時点でバ ヅファ (F I F 033 ) に残っている場合には、 残ったデ一夕を破 棄する。
このようなバス中継器 1 3の機能によって、 転送するデ一夕列の 構成を変えることができる。 このデ一夕列の構成の変更としては、
DMA転送時にダミ一データを追加することによりデ一夕ブロック のサイズを大きくすることと、 DM A転送時に一部のデ一夕を省略 することによりデータブロックのサイズを小さくすることが挙げら れる。
以下、 バス中継器 1 3のバヅファ (F I F 033 ) の容量が 64 バイ トである場合の具体例について説明する。
例えば、 図 6に示すようなデータ列 S 1A, S S 1C, S … が、 図 2のメモリ 2 9に展開されているものとする。 このデ一夕列 S 1A, S S ic, S …の添字の A, B , Cは、 それぞれ種類 の異なるデ一夕を表し、 これらの 3種類のデ一夕の内の B, Cの種 類のデ一夕だけを図 2のデバイス 2 3に転送する場合を想定する。 このときデバイス 23には、 図 7に示すようなデ一夕列を書き込む 必要がある。 なお、 デ一夕列 S 1A, S S S …の添字の 数字 1, 2 , 3 , …は、 1回の転送単位であるデ一夕ブロックの番 号を示す。
D M Aコントローラ 2 7には、 上記デ一夕 S 1A, S S ic, S …の全ての種類 (A, B , C) 、 すなわち 3 2バイ トを 1ブ ロックとして、 デ一夕列 S 1Bから 3プロック分を転送するような D MA転送の設定を行う。 これに対して、 DMAコン トローラ 2 2に は、 上記 B , Cの 2種類だけ、 すなわち 24バイ トを 1ブロックと して 3ブロック分を転送するように設定する。 これによつて、 種類
Cのデ一夕列 ( S , C , S 2C) に続く 8バイ ト (デ一夕列 S 2A, S 3A) は破棄されるから、 結果として、 図 7に示すようなデ一夕列をデバ イス 2 3に書き込むことができる。
次に、 図 2のデバイス 2 3から図 7に示すような書式のデ一夕列 を出力し、 これを例えばメモリ 2 9に展開すると共に図 8に示すよ うに種類 Cのデータ列の後に種類 Dのデ一夕列を揷入しょうとする 場合を想定する。
この場合には、 D M Aコン トローラ 2 7には、 3 6バイ トを 1 ブ ロックとして 3ブロック転送するように設定を行う。 このとき、 D M A転送の結果、 上記種類 B , Cの 2 4バイ トのデ一夕列の後に 1 2バイ 卜のダミ一データが書き込まれるため、 図 2の C P U 2 6は、 このダミーデータ領域に上記種類 Dのデータ列を直接書き込むこと ができる。 すなわち、 C P U 2 6は、 メモリ 2 9上でデ一夕をシフ 卜させる手間を省くことができる。
なお、 図 2の例えばデバイス 2 8が図 8のようなデータ列を出力 し、 その内の B , Cの種類だけのデータ列をデバイス 2 3に書き込 むような場合には、 D M Aコン トローラ 2 7にはデ一夕列の先頭か ら 3 6バイ トを 1ブロックとして 3プロック転送するように設定し、 D M Aコン トローラ 2 7には 2 4バイ トを 1ブロックとして 3プロ ック転送するように設定すればよい。
このように、 転送を仲介するバス中継器 1 3に上述した機能を付 加するだけで、 簡単なデータ構成の変換をデータ列の転送時に行う ことができ、 システムのパフォーマンスを向上させることができる。 ここで、 上述したような余分のデータを切り捨てたり、 デ一夕列 の間に別のデータを揷入する場合の具体例について、 図面を参照し ながら説明する。 図 9は、 コンピュータグラフィ ックス等の画像処理におけるテク スチヤマツビングのためのテクスチャ画像領域を示しており、 この 広いテクスチャ領域内の一部、 例えば図中の斜線部で示す領域 T
T T T4を転送することを想定する。 このテクスチャ画像は、 メモリ上で例えば図 1 0のように展開され、 このメモリ上での一部 領域 T !, T T T4のデ一夕を転送するときに、 余分なデ一夕 を切り捨てることが必要とされる。
また、 デ一夕付加の例としては、 図 1 1に示すようにいくつかの データ列、 例えばポリゴンデ一夕にヘッダを付加する場合が挙げら れる。 すなわち、 ポリゴンデータは、 頂点数、 シェーディ ング、 テ クスチヤの有無などによってデータ列の大きさが異なり、 また、 テ クスチヤデ一夕との区別や転送先の区別などのために、 ヘッダ (GP UIFtag) を付けることがある。 GP U (グラフィ ックプロセッサュ ニッ ト) のイン夕一フェース GP U I Fにより転送されるデ一夕は、 先頭のヘッダ (GPUIFtag) と、 後続するデ一夕とで構成されるプリ ミティ ブと称されるデ一夕の一まとまりを基本単位とし、 また一括 処理される複数のプリ ミティ ブをまとめて GPUパケヅ トという。 図 1 2は、 上記ヘッダ (GPUIFtag) の構成例を示しており、 MS B から順に、 レジス夕記述子 REGS、 レジス夕記述子数 NREG、 デ一夕形 式 FLG 等から成っている。 このように、 ポリゴンデ一夕にヘッダ (GPUIFtag) を付加する場合に、 デ一夕列の間に別のデ一夕を挿入 することが必要とされる。
以上のような簡単なデ一夕構成の変換を必要とする場合に、 上述 した本発明の実施の形態を用いることにより、 メモリ上に DMA転 送されたデ一夕列あるいはメモリ上の DM A転送されようとしてい るデータ列を C P Uが並べ替えるといった効率の悪い作業を省く こ とができ、 システムのパフォーマンスが向上する。 また、 異なるデ
—夕フォーマツ 卜のデバイス間の D M A転送を行うことができる。 さらに、 特別な仕様の転送元ァドレスや転送量のテーブルを用意し たり、 テ一ブルを参照したりする作業を省略できる。
以上の説明から明らかなように、 本発明の実施の形態の図 6〜図 1 1 と共に説明した例によれば、 第 1のバス及び第 2のバスの間に バッファメモリを有するバス中継手段を設け、 上記第 1のバスと上 記第 2のバスとの間でのデータ転送を上記バス中継手段内のバッフ ァメモリを介して行い、 上記バス中継手段は、 データ転送時にダミ —デ一夕を付加することにより転送デ一タブ口ックのサイズを大き くすること、 又は、 デ一夕転送時に一部のデータを省略することに より転送デ一タブ口ックのサイズを小さくすることにより、 デ一夕 転送時に簡単なデータ構成の変更を行うことができ、 システムのパ フォーマンスを向上させることができる。
また、 上記第 1のバスに第 1のダイ レク トメモリアクセス制御手 段を接続して、 上記第 1のバスと上記バス中継手段内のバッファメ モリ との間でデ一夕転送制御し、 上記第 2のバスに第 2のダイレク トメモリアクセス制御手段を接続して、 上記第 2のバスと上記バス 中継手段内のバッファメモリ との間でデ一夕転送制御するようにし、 上記バス中継手段としては、 デ一夕転送時に上記バッファメモリ内 のデータがなくなっても出力要求がきているときにダミーデ一夕を 出力する機能と、 データ転送時に出力側のデ一夕転送が終了した時 点で上記バッファメモリ内のデータが残存しているときに該残存デ 一夕を破棄する機能とを持たせることにより、 デ一夕転送されたあ るいはデ一夕転送されようとしているメモリ上のデ一夕を C PU等 が並べ替え処理するような効率の悪い作業を省く ことができ、 また デ一夕転送のための転送元ァドレスや転送量等の特別の転送仕様テ 一ブルを用意したり参照したりする手間が省ける。 また、 異なるデ 一夕フォ一マッ トのデバイス間のデータ転送を行うことができる。 次に、 図 1 3は、 上述したような本発明の実施の形態が適用され るシステムの 例を示し、 このシステムにおいては、 高速の画像処 理を行うためのメインバス 1 1 1と、 CD— ROMドライプ等の低 速な周辺デバイスが接続されるサブバス 1 1 2とを、 F I F 0等の バヅフ ァメモリを有するバス中継器 1 1 3を介して接続している。 すなわち、 図 1 3において、 高速のメインバス 1 1 1には、 メィ ン C P U 1 2 1と、 DMAコントローラ 1 2 2と、 高速画像処理の ためのグラフィ ックエンジン 1 2 3と、 メインメモリ 1 2 4とが接 続され、 比較的低速のサブバス 1 2 2には、 サブ C P U 1 2 6と、 DMAコン トローラ 1 2 7と、 C D— R OM等のデータ記録媒体 1 2 8と、 サブメモリ 1 2 9とが接続されている。 これらのメインバ ス 1 1 1とサブバス 1 1 2とは、 上述したような F I F 0等のバヅ フ ァメモリを有するバス中継器 1 1 3を介して接続され、 このバス 中継器 1 1 3は、 D M Aコン トローラ 1 2 2、 1 2 7に複数の DM Aチャネルに対応する複数種類の D M A要求、 例えば 3種類の D M A要求を出すことができる。 このバス中継器 1 1 3の具体的な構成 及び動作は、 上記図 2〜図 5と共に説明した実施の形態のバス中継 器 1 3と同様とすればよいため、 説明を省略する。
このように、 高速バスと低速バスとの間で D MA転送する場合に、 高速バス上で無駄な待ち時間を生じさせることなくデ一夕転送が行 え、 C P Uの処理を簡素化できる。 また、 異なるバス間の D M A転 送機能のデバッグを容易に行うことができる。
なお、 本発明は上記実施の形態のみに限定されるものではなく、 例えば、 上記実施の形態では、 第 1のバスと第 2のバスとの間で双 方向の D M A転送を行う例について説明したが、 第 1のバスから第 2のバスへの D M A転送のみ、 あるいは第 2のバスから第 1のバス への D M A転送のみを行う場合にも本発明を適用できる。 また、 D M Aチャネル数、 各バスに接続される回路等は実施の形態に限定さ れないことは勿論である。

Claims

請 求 の 範 囲
1 . 互いに異なる第 1のバスと第 2のバスとをバッファメモリを 有するバス中継手段を介して接続し、
上記第 1のバスに接続された第 1のダイレク トメモリアクセス制 御手段により、 上記第 1のバスと上記バス中継手段内のバッファメ モリとの間でデ一夕転送制御し、
上記第 2のバスに接続された第 2のダイレク トメモリアクセス制 御手段により、 上記第 2のバスと上記バス中継手段内のバッファメ モリとの間でデ一夕転送制御し、
上記バス中継手段からの上記第 1又は上記第 2のダイ レク トメモ リアクセス制御手段へのダイ レク トメモリアクセス要求をデ一夕処 理手段によりマスクし、 上記データ処理手段により上記バス中継手 段内の上記バッファメモリを直接アクセスすること
を特徴とするデータ転送方法。
2 . 上記デ一夕処理手段としては、 上記第 1のバスに第 1のデー 夕処理手段が、 上記第 2のバスに第 2のデータ処理手段がそれぞれ 設けられ、
上記第 1のバス上のダイ レク トメモリアクセス要求を上記第 1の データ処理手段がマスクし、
上記第 2のバス上のダイレク トメモリアクセス要求を上記第 2の デ一夕処理手段がマスクし、
上記第 1、 第 2のデータ処理手段は、 それぞれのバス上の第 1、 第 2のダイ レク トメモリアクセス制御手段と同じ転送条件で上記バ ス中継器内の上記バッファメモリを直接アクセスすること を特徴とする請求の範囲第 1項記載のデ一夕転送方法。
3 . 上記データ処理手段として、 上記第 1のバスに第 1のデ一夕 処理手段が設けられ、
上記第 2のバス上のダイレク トメモリアクセス要求を上記第 1の データ処理手段がマスクし、
上記第 1のデータ処理手段は、 第 2のバス側から上記バス中継器 内の上記バヅファメモリを直接アクセスすること
を特徴とする請求の範囲第 1項記載のデータ転送方法。
4 . 第 1のバス及び第 2のバスと、
これらの第 1のバス及び第 2のバスにそれぞれ接続されたバッフ ァメモリを有するバス中継手段と、
上記第 1のバスに接続された第 1のダイレク トメモリアクセス制 御手段と、
上記第 1のバスに接続された第 1のデ一夕処理手段とを有し、 上記バス中継手段は、 上記第 1のダイ レク トメモリアクセス制御 手段に対してダイレク トメモリアクセス要求を出す機能と、 このダ ィレク トメモリアクセス要求を上記第 1のデータ処理手段によりマ スクする機能とを有し、
上記第 1のデ一夕処理手段により、 上記バス中継手段のダイレク トメモリアクセス要求をマスクし、 上記バス中継手段内の上記バッ ファメモリを直接アクセスすること
を特徴とするデ一夕転送装置。
5 . 上記第 2のバスには、 第 2のダイレク トメモリアクセス制御 手段と、 第 2のデータ処理手段とが接続され、 上記第 1、 第 2のダイ レク トメモリアクセス制御手段は、 上記バ ス中継手段内のバヅファメモリに対してデ一夕の読み書きを行うこ とで上記第 1、 第 2のバス間のデータ転送を行い、
上記バス中継手段は、 上記第 2のダイレク トメモリアクセス制御 手段に対してダイレク トメモリアクセス要求を出す機能と、 このダ ィレク トメモリアクセス要求を上記第 2のデータ処理手段によりマ スクする機能とを有し、
上記第 2のデータ処理手段により、 上記バス中継手段のダイレク トメモリアクセス要求をマスクし、 上記バス中継手段内の上記バッ ファメモリを直接アクセスすること
を特徴とする請求の範囲第 4項記載のデータ転送装置。
6 . 上記第 1、 第 2のデータ処理手段の一方により、 上記バス中 継器における他方のバス上のダイレク トメモリアクセス要求をマス クし、 上記他方のバス上から上記バス中継器内の上記バッファメモ リをアクセスすること
を特徴とする請求の範囲第 5項記載のデ一夕転送装置。
7 . 互いに異なる第 1のバスと第 2のバスとをバッファメモリを 有するバス中継手段を介して接続し、
上記第 1のバスと上記第 2のバスとの間でのデ一夕転送を上記バ ス中継手段内のバッファメモリを介して行い、
上記バス中継手段はデ一夕転送時にダミーデータを付加すること により転送データブロックのサイズを大きくすること
を特徴とするデ一夕転送方法。
8 . 上記第 1のバスに接続された第 1のダイ レク トメモリアクセ ス制御手段により、 上記第 1のバスと上記バス中継手段内のバッフ ァメモリとの間でデータ転送制御し、
上記第 2のバスに接続された第 2のダイレク トメモリアクセス制 御手段により、 上記第 2のバスと上記バス中継手段内のバッファメ モリとの間でデ一夕転送制御し、
上記バス中継手段は、 データ転送時に上記バッフ ァメモリ内のデ —夕がなくなっても出力要求がきているときにダミーデータを出力 すること
を特徴とする請求の範囲第 7項記載のデータ転送方法。
9 . 上記バス中継手段はデータ転送時に一部のデ一夕を省略する ことにより転送データブロックのサイズを小さくすること
を特徴とする請求の範囲第 7項記載のデ一夕転送方法。
1 0 . 互いに異なる第 1のバスと第 2のバスとをバッファメモリ を有するバス中継手段を介して接続し、
上記第 1のバスと上記第 2のバスとの間でのデータ転送を上記バ ス中継手段内のバヅフ ァメモリを介して行い、
上記バス中継手段はデ一夕転送時に一部のデータを省略すること により転送デ一夕ブロックのサイズを小さくすること
を特徴とするデ一夕転送方法。
1 1 . 上記第 1のバスに接続された第 1のダイレク トメモリアク セス制御手段により、 上記第 1のバスと上記バス中継手段内のバッ ファメモリ との間でデ一夕転送制御し、
上記第 2のバスに接続された第 2のダイレク トメモリアクセス制 御手段により、 上記第 2のバスと上記バス中継手段内のバッファメ モリとの間でデ一夕転送制御し、
上記バス中継手段は、 データ転送時に出力側のデ一夕転送が終了 した時点で上記バッファメモリ内のデ一夕が残存しているときに、 該残存データを破棄すること
を特徴とする請求の範囲第 1 0項記載のデータ転送方法。
1 2 . 第 1のバス及び第 2のバスと、
これらの第 1のバス及び第 2のバスにそれぞれ接続されたバッフ ァメモリを有するバス中継手段と、
上記第 1のバスに接続された第 1のダイレク トメモリアクセス制 御手段と、
上記第 2のバスに接続された第 2のダイレク トメモリアクセス制 御手段とを有し、
上記バス中継手段は、 デ一夕転送時に上記バッファメモリ内のデ 一夕がなくなっても出力要求がきているときにダミーデータを出力 すること
を特徴とするデ一夕転送装置。
1 3 . 上記バス中継手段は、 デ一夕転送時に出力側のデ一夕転送 が終了した時点で上記バッファメモリ内のデータが残存していると きに、 該残存データを破棄すること
を特徴とする請求の範囲第 1 2項記載のデ一夕転送方法。
1 4 . 第 1のバス及び第 2のバスと、
これらの第 1のバス及び第 2のバスにそれぞれ接続されたバッフ ァメモリを有するバス中継手段と、
上記第 1のバスに接続された第 1のダイレク トメモリアクセス制 御手段と、
上記第 2のバスに接続された第 2のダイレク トメモリアクセス制 御手段とを有し、 上記バス中継手段は、 データ転送時に出力側のデ一夕転送が終了 した時点で上記バヅフ ァメモリ内のデ一夕が残存しているときに、 該残存デ一夕を破棄すること
を特徴とするデ一夕転送装置。
PCT/JP1998/001857 1997-04-22 1998-04-22 Procede et dispositif de transfert de donnees WO1998048357A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE69837377T DE69837377T2 (de) 1997-04-22 1998-04-22 Datenübertragungssystem und verfahren
US09/214,084 US6282588B1 (en) 1997-04-22 1998-04-22 Data transfer method and device
AU70796/98A AU748435B2 (en) 1997-04-22 1998-04-22 Data transfer method and device
EP98917635A EP0927938B1 (en) 1997-04-22 1998-04-22 Data transfer method and device
US09/801,946 US6453368B2 (en) 1997-04-22 2001-03-07 Adding a dummy data or discarding a portion of data in a bus repeater buffer memory for a second data transfer to a second bus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10497997A JP3602293B2 (ja) 1997-04-22 1997-04-22 データ転送方法及び装置
JP9/104979 1997-04-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/801,946 Division US6453368B2 (en) 1997-04-22 2001-03-07 Adding a dummy data or discarding a portion of data in a bus repeater buffer memory for a second data transfer to a second bus

Publications (1)

Publication Number Publication Date
WO1998048357A1 true WO1998048357A1 (fr) 1998-10-29

Family

ID=14395220

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/001857 WO1998048357A1 (fr) 1997-04-22 1998-04-22 Procede et dispositif de transfert de donnees

Country Status (9)

Country Link
US (2) US6282588B1 (ja)
EP (1) EP0927938B1 (ja)
JP (1) JP3602293B2 (ja)
CN (2) CN1148665C (ja)
AT (1) ATE357697T1 (ja)
AU (1) AU748435B2 (ja)
CA (1) CA2259247A1 (ja)
DE (1) DE69837377T2 (ja)
WO (1) WO1998048357A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US5742840A (en) 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7932911B2 (en) * 1998-08-24 2011-04-26 Microunity Systems Engineering, Inc. Processor for executing switch and translate instructions requiring wide operands
ATE557342T1 (de) 1998-08-24 2012-05-15 Microunity Systems Eng Prozessor und verfahren zur matrixmultiplikation mit einem breiten operand
DE19846913A1 (de) * 1998-10-12 2000-04-20 Oce Printing Systems Gmbh Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
JP3614714B2 (ja) * 1999-06-16 2005-01-26 Necマイクロシステム株式会社 Dma制御装置
JP3696515B2 (ja) 2000-03-02 2005-09-21 株式会社ソニー・コンピュータエンタテインメント カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法
US6658520B1 (en) * 2000-09-26 2003-12-02 Intel Corporation Method and system for keeping two independent busses coherent following a direct memory access
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6492881B2 (en) * 2001-01-31 2002-12-10 Compaq Information Technologies Group, L.P. Single to differential logic level interface for computer systems
JP3846858B2 (ja) * 2001-03-02 2006-11-15 株式会社日立国際電気 ネットワーク対応画像伝送装置
JP4204759B2 (ja) * 2001-03-09 2009-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Dma転送制御方法及び制御装置
US6735654B2 (en) * 2001-03-19 2004-05-11 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
US6826643B2 (en) 2001-03-19 2004-11-30 Sun Microsystems, Inc. Method of synchronizing arbiters within a hierarchical computer system
US6889343B2 (en) 2001-03-19 2005-05-03 Sun Microsystems, Inc. Method and apparatus for verifying consistency between a first address repeater and a second address repeater
US20020133652A1 (en) * 2001-03-19 2002-09-19 Tai Quan Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions
US6877055B2 (en) 2001-03-19 2005-04-05 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
US7047328B1 (en) * 2001-07-13 2006-05-16 Legerity, Inc. Method and apparatus for accessing memories having a time-variant response over a PCI bus by using two-stage DMA transfers
US7315911B2 (en) * 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US7062591B2 (en) * 2001-09-28 2006-06-13 Dot Hill Systems Corp. Controller data sharing using a modular DMA architecture
US7437493B2 (en) * 2001-09-28 2008-10-14 Dot Hill Systems Corp. Modular architecture for a network storage controller
US7340555B2 (en) * 2001-09-28 2008-03-04 Dot Hill Systems Corporation RAID system for performing efficient mirrored posted-write operations
US7143227B2 (en) * 2003-02-18 2006-11-28 Dot Hill Systems Corporation Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US7146448B2 (en) * 2001-09-28 2006-12-05 Dot Hill Systems Corporation Apparatus and method for adopting an orphan I/O port in a redundant storage controller
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US6732243B2 (en) * 2001-11-08 2004-05-04 Chaparral Network Storage, Inc. Data mirroring using shared buses
AU2002361603A1 (en) * 2001-11-09 2003-05-26 Chaparral Network Storage, Inc. Transferring data using direct memory access
JP2003256146A (ja) * 2002-02-26 2003-09-10 Sanyo Electric Co Ltd データ中継制御装置
JP2004094452A (ja) * 2002-08-30 2004-03-25 Fujitsu Ltd Dmaコントローラおよびdma転送方法
JP2005100064A (ja) * 2003-09-24 2005-04-14 Canon Inc 画像処理装置、画像処理方法およびプログラム
CN1703027B (zh) * 2004-05-25 2012-03-14 惠普开发有限公司 传递调试信息
US20060026308A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation DMAC issue mechanism via streaming ID method
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7200693B2 (en) 2004-08-27 2007-04-03 Micron Technology, Inc. Memory system and method having unidirectional data buses
US7523351B2 (en) 2004-09-27 2009-04-21 Ceva D.S.P. Ltd System and method for providing mutual breakpoint capabilities in computing device
US7417883B2 (en) * 2004-12-30 2008-08-26 Intel Corporation I/O data interconnect reuse as repeater
US7543096B2 (en) * 2005-01-20 2009-06-02 Dot Hill Systems Corporation Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory
US7209405B2 (en) * 2005-02-23 2007-04-24 Micron Technology, Inc. Memory device and method having multiple internal data buses and memory bank interleaving
US20070028027A1 (en) * 2005-07-26 2007-02-01 Micron Technology, Inc. Memory device and method having separate write data and read data buses
TWI310501B (en) * 2005-10-06 2009-06-01 Via Tech Inc Bus controller and data buffer allocation method
US7536508B2 (en) * 2006-06-30 2009-05-19 Dot Hill Systems Corporation System and method for sharing SATA drives in active-active RAID controller system
CN101558396B (zh) * 2006-12-15 2011-12-14 密克罗奇普技术公司 直接存储器存取控制器
WO2008081346A1 (en) * 2007-01-02 2008-07-10 Freescale Semiconductor, Inc. Device and method for testing a direct memory access controller
US7681089B2 (en) * 2007-02-20 2010-03-16 Dot Hill Systems Corporation Redundant storage controller system with enhanced failure analysis capability
JP2010033125A (ja) * 2008-07-25 2010-02-12 Hitachi Ltd ストレージ装置及びデータ転送方法
US8417860B2 (en) * 2010-08-05 2013-04-09 Honda Motor Co., Ltd. Hybrid in-vehicle infotainment network
CN104021097A (zh) * 2013-03-01 2014-09-03 中兴通讯股份有限公司 数据传输方法、装置及直接存储器存取
US9785565B2 (en) 2014-06-30 2017-10-10 Microunity Systems Engineering, Inc. System and methods for expandably wide processor instructions
JP2024011462A (ja) * 2022-07-14 2024-01-25 オムロン株式会社 制御システム、制御装置および通信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128049A (ja) * 1991-11-08 1993-05-25 Mitsubishi Electric Corp 入出力制御装置
JPH05173933A (ja) * 1991-12-24 1993-07-13 Oki Electric Ind Co Ltd ダイレクトメモリアクセス転送方式
JPH06348644A (ja) * 1993-06-07 1994-12-22 Sharp Corp Dma回路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01311350A (ja) * 1988-06-10 1989-12-15 Yokogawa Electric Corp チャネル・インターフェイス回路
WO1993004432A2 (en) * 1991-08-16 1993-03-04 Multichip Technology High-performance dynamic memory system
JP3451103B2 (ja) * 1992-11-27 2003-09-29 富士通株式会社 データ通信装置及び方法
US5664223A (en) * 1994-04-05 1997-09-02 International Business Machines Corporation System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
JP3630460B2 (ja) * 1995-01-23 2005-03-16 富士通株式会社 データ長補正システム
JP3426385B2 (ja) * 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置
US5918072A (en) * 1995-09-18 1999-06-29 Opti Inc. System for controlling variable length PCI burst data using a dummy final data phase and adjusting the burst length during transaction
JPH0991230A (ja) * 1995-09-26 1997-04-04 Matsushita Electric Ind Co Ltd データ転送システム
JPH09162877A (ja) * 1995-12-06 1997-06-20 Fujitsu Ltd バッファ制御方式
JP3562126B2 (ja) * 1996-04-09 2004-09-08 株式会社デンソー Dma制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128049A (ja) * 1991-11-08 1993-05-25 Mitsubishi Electric Corp 入出力制御装置
JPH05173933A (ja) * 1991-12-24 1993-07-13 Oki Electric Ind Co Ltd ダイレクトメモリアクセス転送方式
JPH06348644A (ja) * 1993-06-07 1994-12-22 Sharp Corp Dma回路

Also Published As

Publication number Publication date
AU7079698A (en) 1998-11-13
DE69837377D1 (de) 2007-05-03
JPH10301889A (ja) 1998-11-13
EP0927938B1 (en) 2007-03-21
US20010013076A1 (en) 2001-08-09
DE69837377T2 (de) 2007-11-29
US6282588B1 (en) 2001-08-28
AU748435B2 (en) 2002-06-06
ATE357697T1 (de) 2007-04-15
US6453368B2 (en) 2002-09-17
JP3602293B2 (ja) 2004-12-15
EP0927938A1 (en) 1999-07-07
CN100345131C (zh) 2007-10-24
CN1229488A (zh) 1999-09-22
EP0927938A4 (en) 2003-02-19
CN1497461A (zh) 2004-05-19
CA2259247A1 (en) 1998-10-29
CN1148665C (zh) 2004-05-05

Similar Documents

Publication Publication Date Title
WO1998048357A1 (fr) Procede et dispositif de transfert de donnees
EP2256587A1 (en) Apparatus and method for direct memory access in a hub-based memory system
ES2349488T3 (es) Controlador de acceso directo a memoria (dmac) para gestionar transferencias de longitudes desconocidas.
JP2004171209A (ja) 共有メモリデータ転送装置
KR100772287B1 (ko) 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치
KR100567147B1 (ko) 데이터전송방법및장치
US5907691A (en) Dual pipelined interconnect
JP2005190496A (ja) データ転送方法及び装置
JP2006285872A (ja) マルチcpuシステム
JPH10307789A (ja) データ転送方法及び装置
JPH02226842A (ja) クラスタ・インタフエイス・コントローラ
MXPA99000018A (en) Data transfer method and device
JP3678537B2 (ja) データ転送方法及び装置
JPH0246967B2 (ja)
JPH11282888A (ja) システム仕様記述に基づいて設計されるシステムでのデータ通信方法、割込コントローラ合成方法及びインターフェイス回路合成方法
JPH02207363A (ja) データ転送制御方式、デバイスコントローラ、およびメモリ・コントローラ
JPS6162158A (ja) デ−タ授受システム
JPH0553973A (ja) 情報処理システム
JPS61153770A (ja) 画像処理装置
JP2001014270A (ja) データ転送方法、データ転送装置及びその利用システム
JPH0512221A (ja) マルチcpu間データ交換高速化方式
JP2001084182A (ja) バス接続装置、コンピュータ及び記録媒体
JPS5960553A (ja) デイスクデ−タ制御方式
JPH0637768A (ja) 情報処理装置用バスブリッジ
JPS62236061A (ja) Cpu間通信方式

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98800800.9

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA CN KR MX US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 70796/98

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2259247

Country of ref document: CA

Ref document number: 2259247

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1019980710502

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1998917635

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: PA/a/1999/000018

Country of ref document: MX

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09214084

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1998917635

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980710502

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 70796/98

Country of ref document: AU

WWG Wipo information: grant in national office

Ref document number: 1019980710502

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1998917635

Country of ref document: EP