JP2007072685A - Data transfer device and information processor - Google Patents

Data transfer device and information processor Download PDF

Info

Publication number
JP2007072685A
JP2007072685A JP2005257993A JP2005257993A JP2007072685A JP 2007072685 A JP2007072685 A JP 2007072685A JP 2005257993 A JP2005257993 A JP 2005257993A JP 2005257993 A JP2005257993 A JP 2005257993A JP 2007072685 A JP2007072685 A JP 2007072685A
Authority
JP
Japan
Prior art keywords
data
transfer
bus
host
address
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
Application number
JP2005257993A
Other languages
Japanese (ja)
Inventor
Yoshiaki Hashimoto
良昭 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005257993A priority Critical patent/JP2007072685A/en
Publication of JP2007072685A publication Critical patent/JP2007072685A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently transfer data without increasing a circuit scale when exchanging data between a host CPU connected to a host bus and a peripheral device connected to a slave bus. <P>SOLUTION: This data transfer device 200 includes: a bus bridge circuit 210 connected to the host bus and the slave bus; and a data transfer control circuit 220 controlling data transmission/reception between the host bus and the slave bus. The data transfer control circuit 220 includes: an address storage part 222; a buffer 230 storing the data received from the host bus or the slave bus; and circuits 226, 224, 240 or the like receiving the data from the slave bus through the bus bridge circuit when performing the transfer to a host from the peripheral device, storing the received data into the buffer, comparing whether a request address received from the host bus matches an address stored in the address storage part, and performing control such that the data stored in the buffer are outputted to the host bus through the bus bridge circuit when they match each other. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ転送装置及び情報処理装置に関する。   The present invention relates to a data transfer apparatus and an information processing apparatus.

ホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、データ転送を円滑に行う為に、バスブリッジがマスターとなってホストバスにアクセスする手段がある。   When data is exchanged between a host CPU connected to the host bus and a peripheral device connected to the slave bus, there is a means for the bus bridge to become a master to access the host bus in order to perform data transfer smoothly. .

係る手段として、例えばバスブリッジにDMAコントローラーを内蔵する場合や、スレーブバスに接続するデバイスがバスマスターになりホストバスまでアクセスする場合がある。
特開平1−205366号公報
As such means, for example, there is a case where a DMA controller is incorporated in a bus bridge, or a device connected to a slave bus becomes a bus master and accesses the host bus.
JP-A-1-205366

しかし、バスブリッジにDMAコントローラーを設けたり、ホストバスのマスタ機能を含めると、比較的ゲート数の多いバスブリッジとなり、回路規模増大を招く。   However, if a DMA controller is provided in the bus bridge or if the master function of the host bus is included, the bus bridge has a relatively large number of gates, resulting in an increase in circuit scale.

本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、ホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、回路規模の増大を招くことなく効率良くデータ転送を行うことができるデータ転送装置及び情報処理装置の提供を目的とする。   The present invention has been made in view of the above-described problems, and its object is to exchange data between a host CPU connected to a host bus and a peripheral device connected to a slave bus. An object of the present invention is to provide a data transfer apparatus and an information processing apparatus that can efficiently perform data transfer without causing an increase in circuit scale.

(1)本発明は、
ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間のデータの転送を行うデータ転送装置であって、
ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うバスブリッジ回路と、
ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路と、を含み、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部と、
前記バスブリッジ回路を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファと、
周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とする。
(1) The present invention
A data transfer device connected to a host bus to which a host and a DMA controller are connected and a slave bus to which a peripheral device is connected, and transfers data between the host bus and the slave bus,
A bus bridge circuit connected to the host bus and the slave bus, for transmitting and receiving data between the host bus and the slave bus;
A data transfer control circuit for controlling data transmission / reception between the host bus and the slave bus,
The data transfer control circuit includes:
In the case of transfer from the peripheral device to the host, the address of the transfer source is stored; in the case of transfer from the host bus to the slave bus, an address storage unit in which the address of the transfer destination is stored;
A buffer for storing data received from a host bus or a slave bus via the bus bridge circuit;
When transferring data from the peripheral device to the host, it receives data from the slave bus via the bus bridge circuit, stores the received data in the buffer,
The request address received from the host bus is compared with the address stored in the address storage unit. If they match, the data stored in the buffer is passed through the bus bridge circuit. And a circuit for controlling to output to the host bus.

本発明によればバスブリッジに、アドレスレジスタ、データ数レジスタ、アドレス比較回路と、バスの能力に合わせてバッファと割込み発生機能を持たせるが、DMAコントローラー・バスマスター機能に比べるとゲート数は少なく、同等のデータ転送能力を見込める。また、DMAコントローラーのチャネルのプライオリティの設定と合わせて使用する事で、様々な性能のデバイスの転送能力に合わせることができるので、ホストバスの性能を損ねる事がなくなる。   According to the present invention, the bus bridge is provided with an address register, a data number register, an address comparison circuit, a buffer and an interrupt generation function in accordance with the bus capability, but the number of gates is smaller than that of the DMA controller / bus master function. Expect equivalent data transfer capability. In addition, by using the DMA controller in conjunction with the channel priority setting, it is possible to match the transfer capability of devices with various performances, so that the host bus performance is not impaired.

本発明によればバスブリッジの機能を大幅に上げる事なく、ホストバス−スレーブバス問の効率のよいデータ転送が可能である。   According to the present invention, it is possible to transfer data efficiently between the host bus and the slave bus without significantly increasing the function of the bus bridge.

従ってホストバスに接続されたホストCPUとスレーブバスに接続された周辺装置間でデータのやり取りを行う場合、回路規模の増大を招くことなく効率良くデータ転送を行うことができるデータ転送装置を提供することができる。   Therefore, when data is exchanged between a host CPU connected to a host bus and a peripheral device connected to a slave bus, a data transfer device capable of efficiently transferring data without increasing the circuit scale is provided. be able to.

(2)本発明のデータ転送装置は、
前記データ転送制御回路が、
ホストから周辺装置への転送を行う場合には、バスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、バッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とする。
(2) The data transfer apparatus of the present invention
The data transfer control circuit is
When transferring from the host to the peripheral device, data from the host bus is received via the bus bridge circuit and stored in the buffer, and the data stored in the buffer is transferred to the slave bus via the bus bridge circuit. A circuit for controlling to output is included.

(3)本発明のデータ転送装置は、
前記データ転送制御回路が、
転送データ数を特定するための転送データ数格納部を含み、
周辺装置からホストへの転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とする。
(3) The data transfer device of the present invention
The data transfer control circuit is
Including a transfer data number storage for specifying the number of transfer data;
When transferring data from the peripheral device to the host, data from the slave bus is received via the bus bridge circuit until the transfer data number stored in the transfer data number storage unit is reached, and the received data is stored in the buffer. And
The request address received from the host bus is compared with the address stored in the address storage unit, and if it matches, the transfer data number stored in the transfer data number storage unit is It includes a circuit that controls to output data stored in the buffer until it reaches the host bus via the bus bridge circuit.

(4)本発明のデータ転送装置は、
前記データ転送制御回路が、
ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力する回路を含むことを特徴とする。
(4) The data transfer device of the present invention
The data transfer control circuit is
When transferring data from the host to the peripheral device, data from the host bus is received via the bus bridge circuit until the number of transfer data stored in the transfer data number storage unit is reached, and stored in the buffer. The circuit includes a circuit that outputs data stored in the buffer to the slave bus via the bus bridge circuit until the number of transfer data stored in the number storage unit is reached.

(5)本発明のデータ転送装置は、
前記データ転送制御回路が、
周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御する回路を含むことを特徴とする。
(5) The data transfer device of the present invention
The data transfer control circuit is
In the case of transfer from the peripheral device to the host, the transfer source address stored in the address storage unit is updated in response to reading from the host bus, and the updated address and the request address received from the host bus match. It is characterized in that it includes a circuit for controlling to output the data stored in the buffer to the host bus when the match is indicated.

本発明によればアドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するので、DMAからの要求と、他のスレーブバスへのアクセスとを混同せずにデータ転送を行うことができる。   According to the present invention, the transfer source address stored in the address storage unit is updated in response to reading from the host bus, and a comparison is made as to whether the updated address matches the request address received from the host bus. If the match is indicated, the data stored in the buffer is output to the host bus. Therefore, the data transfer should be performed without confusion between the request from the DMA and the access to the other slave bus. Can do.

(6)本発明は、
上記のいずれかに記載のデータ転送装置と、
データ転送装置に接続されたホストバスと、
データ転送装置に接続されたスレーブバスと、
ホストバスに接続されたCPUと、
ホストバスに接続されたDMAコントローラと、
スレーブバスに接続された周辺装置を含む情報処理装置であって、
前記CPUは、
周辺装置からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置のバッファに格納されているデータをホストバスを介してDMA転送することを特徴とする。
(6) The present invention
A data transfer device according to any of the above;
A host bus connected to the data transfer device;
A slave bus connected to the data transfer device;
A CPU connected to the host bus;
A DMA controller connected to the host bus;
An information processing device including a peripheral device connected to a slave bus,
The CPU
When receiving data from the peripheral device, set the transfer source address, the transfer destination address, the number of data transfers to the DMA controller, set the transfer enable,
Set the transfer source address in the address storage part of the data transfer device, set the transfer data number in the transfer data number storage part,
When the transfer enable setting is made, the DMA controller starts the DMA, and transfers the data stored in the buffer of the data transfer device through the host bus based on the set transfer source address, transfer destination address, and data transfer number. It is characterized by DMA transfer.

(7)本発明の情報処理装置は、
前記CPUが、
ホストから周辺装置へデータを送信する場合には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラが、転送イネーブルの設定が行われるとDMAを起動し、
設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバスを介してデータ転送装置のバッファにDMA転送し、
データ転送装置に対するデータの送信が終了すると、ホストバスを開放することを特徴とする。
(7) The information processing apparatus of the present invention
The CPU is
When transmitting data from the host to the peripheral device, set the transfer enable to the DMA controller by setting the transfer source address, the transfer destination address, the number of data transfers,
Set the transfer destination address in the address storage part of the data transfer device, set the transfer data number in the transfer data number storage part,
When the DMA controller is set to enable transfer, it activates DMA,
DMA transfer data to the buffer of the data transfer device via the host bus based on the set transfer source address, transfer destination address, data transfer number,
When transmission of data to the data transfer apparatus is completed, the host bus is released.

以下、本発明の好適な実施形態について図面を用いて詳細に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本実施の形態のデータ転送装置について説明するための図である。なお、本実施形態の情報処理装置200は、図1の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。   FIG. 1 is a diagram for explaining a data transfer apparatus according to the present embodiment. Note that the information processing apparatus 200 of the present embodiment does not have to include all the components (respective parts) in FIG. 1 and may have a configuration in which some of them are omitted.

本実施の形態のデータ転送装置200は、ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間データの転送を行うデータ転送装置であって、バスブリッジ回路210、データ転送制御回路220とを含む。   The data transfer apparatus 200 of this embodiment is a data transfer apparatus that is connected to a host bus to which a host and a DMA controller are connected and a slave bus to which peripheral devices are connected, and transfers data between the host bus and the slave bus. A bus bridge circuit 210 and a data transfer control circuit 220.

バスブリッジ回路210は、ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うもので、ホストバスインターフェイス212、ホストバス−スレーブバス変換部214、スレーブバスインターフェイス216を含む。   The bus bridge circuit 210 is connected to the host bus and the slave bus, and transmits and receives data between the host bus and the slave bus, and includes a host bus interface 212, a host bus-slave bus conversion unit 214, and a slave bus interface 216. .

ホストバス−スレーブバス変換部214は、ホストからのアクセスをスレーブアクセスに変換する。   The host bus-slave bus conversion unit 214 converts access from the host into slave access.

自動転送制御部220は、スタートアドレス格納レジスタ222、データバッファ230、データバッファ制御部232、転送データ数格納レジスタ224、アドレス比較器226、転送制御部240、スレーブバスデータ転送カウンター242、ホストバスデータ転送カウンター244を含み、ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路として機能する。   The automatic transfer control unit 220 includes a start address storage register 222, a data buffer 230, a data buffer control unit 232, a transfer data number storage register 224, an address comparator 226, a transfer control unit 240, a slave bus data transfer counter 242, and host bus data. It includes a transfer counter 244 and functions as a data transfer control circuit that controls data transmission / reception between the host bus and the slave bus.

スタートアドレス格納レジスタ222は、スレーブからの自動転送を行う際のスタートアドレスが格納されるもので、周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部として機能する。   The start address storage register 222 stores a start address when performing automatic transfer from the slave. In the case of transfer from the peripheral device to the host, the transfer source address is stored, and from the host bus to the slave bus. In the case of this transfer, it functions as an address storage unit for storing the transfer destination address.

データバッファ230は、自動転送時のデータが格納され、バスブリッジ回路210を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファとして機能する。   The data buffer 230 stores data at the time of automatic transfer, and functions as a buffer for storing data received from the host bus or slave bus via the bus bridge circuit 210.

データバッファ制御部232は、ホストバス、スレーブバスの動作に同期をとってバッファを制御する。   The data buffer control unit 232 controls the buffer in synchronization with the operations of the host bus and slave bus.

転送データ数格納レジスタ224は、バッファを使用してのデータ転送数が設定され、転送データ数を特定するための転送データ数格納部として機能する。   The transfer data number storage register 224 is set with a data transfer number using a buffer, and functions as a transfer data number storage unit for specifying the transfer data number.

アドレス比較器226は、スタートアドレス格納レジスタとホストバスから受け取ったアドレスを比較し、ホストバスからのアクセス発生信号を生成する。   The address comparator 226 compares the start address storage register with the address received from the host bus, and generates an access generation signal from the host bus.

転送制御部240は、ペリフェラルからのバスアクセス信号とホストバスアクセスからデータ転送を監視し、バッファ制御の為の制御信号を生成する。   The transfer control unit 240 monitors data transfer from the bus access signal from the peripheral and the host bus access, and generates a control signal for buffer control.

スレーブバスデータ転送カウンター242は、スレーブバスの自動転送数をカウントする。   The slave bus data transfer counter 242 counts the number of slave bus automatic transfers.

ホストバスデータ転送カウンター244は、ホストバスの自動転送数をカウントする。   The host bus data transfer counter 244 counts the number of host bus automatic transfers.

自動転送制御部220は、周辺装置からホストへの転送を行う場合には(スレーブバスからホストバスへの転送要求を受信すると)、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致を示している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御するデータ転送制御回路として機能する。   When the transfer from the peripheral device to the host is performed (when a transfer request from the slave bus to the host bus is received), the automatic transfer control unit 220 performs the bus until the transfer data number stored in the transfer data number storage unit is reached. Receives data from the slave bus via the bridge circuit, stores the received data in a buffer, and compares whether the request address received from the host bus matches the address stored in the address storage unit If the data indicates a match, the data is controlled so that the data stored in the buffer is output to the host bus via the bus bridge circuit until the transfer data number stored in the transfer data number storage unit is reached. Functions as a transfer control circuit.

また自動転送制御部220は、ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する前記データ転送制御回路として機能するように構成してもよい。   When transferring data from the host to the peripheral device, the automatic transfer control unit 220 receives data from the host bus via the bus bridge circuit until the transfer data number stored in the transfer data number storage unit is reached. As the data transfer control circuit for controlling the data stored in the buffer to be output to the slave bus via the bus bridge circuit until the number of transfer data stored in the transfer data number storage unit is reached. It may be configured to function.

また自動転送制御部220は、周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御するデータ転送制御回路として機能するように構成してもよい。   Further, in the case of transfer from the peripheral device to the host, the automatic transfer control unit 220 updates the transfer source address stored in the address storage unit in response to reading from the host bus, and from the updated address and the host bus. The received request address is compared with the received request address, and if it matches, it functions as a data transfer control circuit that controls to output the data stored in the buffer to the host bus. You may comprise.

1はホストバスアドレス信号であり、2はホストバスデータ信号であり、3はスレーブバスアドレス信号であり、4はスレーブバスデータ信号であり、5はバスブリッジ内部データバスであり、7は転送開始信号であり、8は周辺装置転送可信号であり、9はアドレス比較結果であり、10は転送数出力であり、11はホストバスデータ転送カウンター制御信号であり、12はホストバスデータ転送カウント値出力であり、13はスレーブバスデータ転送カウンター制御信号であり、14はスレーブバスデータ転送カウンター値出力であり、15は比較イネーブル信号であり、16は周辺装置データ転送要求であり、17はバッファライトポインター値であり、18はバッファリードポインター値であり、19はバッファライトタイミング信号である。   1 is a host bus address signal, 2 is a host bus data signal, 3 is a slave bus address signal, 4 is a slave bus data signal, 5 is a bus bridge internal data bus, and 7 is a transfer start 8 is a peripheral device transfer enable signal, 9 is an address comparison result, 10 is a transfer number output, 11 is a host bus data transfer counter control signal, and 12 is a host bus data transfer count value. 13 is a slave bus data transfer counter control signal, 14 is a slave bus data transfer counter value output, 15 is a comparison enable signal, 16 is a peripheral device data transfer request, and 17 is a buffer write. Pointer value, 18 is a buffer read pointer value, and 19 is a buffer write timing signal. It is.

20はアドレスインクリメントモード信号であり、ブリッジ部内にあるレジスタでアドレスインクリメントモード、固定モードの指定を行う。   An address increment mode signal 20 designates an address increment mode and a fixed mode by a register in the bridge unit.

21はバスアクセス信号でホスト/スレーブのバスアクセスが発生していることを示す。   A bus access signal 21 indicates that a host / slave bus access is occurring.

22はバスアクセス要求信号であり、ペリフェラルからのバス転送要求を出力する。これにより、バスブリッジが自動的にペリフェラルにアクセスを開始する。   A bus access request signal 22 outputs a bus transfer request from the peripheral. As a result, the bus bridge automatically starts accessing the peripheral.

23はホストバスコマンド信号であり、24はスレーブバスコマンド信号であり、25はスレーブバスアクセスタイミング信号であり、26はホストバスアクセスタイミング信号である。   23 is a host bus command signal, 24 is a slave bus command signal, 25 is a slave bus access timing signal, and 26 is a host bus access timing signal.

図2は、本実施の形態の情報処理装置について説明するための図である。なお、本実施形態の情報処理装置100は、図2の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。   FIG. 2 is a diagram for explaining the information processing apparatus according to the present embodiment. Note that the information processing apparatus 100 of the present embodiment does not have to include all of the components (each unit) in FIG. 2 and may have a configuration in which some of them are omitted.

本実施の形態の情報処理装置200は、データ転送装置200と、データ転送装置200に接続されたホストバス110と、データ転送装置200に接続されたスレーブバス2と、ホストバス110に接続されたCPU120と、ホストバス110に接続されたDMAコントローラ130と、ホストバス110に接続されたメモリ140と、ホストバス110に接続された割り込みコントローラ160、ホストバス110に接続されたシステム制御部150と、スレーブバス170に接続された周辺装置180−1(データ転送装置の機能を使用する周辺装置)、180−2(データ転送装置の機能を使用しない通常の周辺装置)を含む。   The information processing apparatus 200 according to the present embodiment is connected to the data transfer apparatus 200, the host bus 110 connected to the data transfer apparatus 200, the slave bus 2 connected to the data transfer apparatus 200, and the host bus 110. CPU 120, DMA controller 130 connected to host bus 110, memory 140 connected to host bus 110, interrupt controller 160 connected to host bus 110, system control unit 150 connected to host bus 110, Peripheral devices 180-1 (peripheral devices using the function of the data transfer device) and 180-2 (normal peripheral devices not using the function of the data transfer device) connected to the slave bus 170 are included.

3は転送開始信号であり、4はデータ転送要求であり、5は周辺装置1の入出力信号であり、6周辺装置2の入出力信号であり、7は割込みコントローラーからの割込発生報告信号であり、8は転送終了を示す割込み信号である。   3 is a transfer start signal, 4 is a data transfer request, 5 is an input / output signal of the peripheral device 1, 6 is an input / output signal of the peripheral device 2, and 7 is an interrupt generation report signal from the interrupt controller. 8 is an interrupt signal indicating the end of transfer.

データ転送装置200は、ホスト(CPU)120及びDMAコントローラ130が接続されるホストバス110と周辺装置180−1、180−2が接続されるスレーブバス170に接続され、ホストバス110とスレーブバス170間データの転送を行うデータ転送装置であって、例えば図1において説明したような構成及び機能を有する。   The data transfer device 200 is connected to a host bus 110 to which a host (CPU) 120 and a DMA controller 130 are connected, and to a slave bus 170 to which peripheral devices 180-1 and 180-2 are connected. A data transfer device that transfers data between the terminals, and has the configuration and functions described with reference to FIG.

ここでCPU120は、周辺装置180−1、180−2からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、データ転送装置200のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定するようにしてもよい。   Here, when receiving data from the peripheral devices 180-1 and 180-2, the CPU 120 sets a transfer source address, a transfer destination address, and the number of data transfers to the DMA controller, and sets transfer enable. The transfer source address may be set in the address storage unit of the data transfer apparatus 200, and the transfer data number may be set in the transfer data number storage unit.

またDMAコントローラ130は、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置200のバッファに格納されているデータをホストバス110を介してDMA転送するようにしてもよい。   When the transfer enable setting is made, the DMA controller 130 activates the DMA, and transfers the data stored in the buffer of the data transfer device 200 based on the set transfer source address, transfer destination address, and data transfer number to the host bus. DMA transfer may be performed via the network 110.

またCPU120は、周辺装置180−1、180−2にデータを送信する場合には、DMAコントローラ130に対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、データ転送装置200のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定するようにしてもよい。   Further, when transmitting data to the peripheral devices 180-1 and 180-2, the CPU 120 sets the transfer enable to the DMA controller 130 by setting the transfer source address, the transfer destination address, and the number of data transfers. The transfer destination address may be set in the address storage unit of the data transfer apparatus 200, and the transfer data number may be set in the transfer data number storage unit.

またDMAコントローラ130は、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバス110を介してデータ転送装置200のバッファにDMA転送し、データ転送装置200に対するデータの送信が終了すると、ホストバスを開放するするようにしてもよい。   When the transfer enable setting is made, the DMA controller 130 activates the DMA, and the data is transferred to the buffer of the data transfer apparatus 200 via the host bus 110 based on the set transfer source address, transfer destination address, and data transfer number. When the DMA transfer is performed and the transmission of data to the data transfer apparatus 200 is completed, the host bus may be released.

本実施の形態は2つのバス(ホストバス110/スレーブバス170)を持つ情報処理装置100で、2つのバス1,2を接続するバスブリッジであるデータ転送装置200とマスター側のバス1に接続するDMAコントローラー130を連動させて、2つのバス間で効率のよいデータ転送を行うことができる。   In this embodiment, the information processing apparatus 100 has two buses (host bus 110 / slave bus 170), and is connected to the data transfer apparatus 200, which is a bus bridge connecting the two buses 1 and 2, and the bus 1 on the master side. The DMA controller 130 can be linked to perform efficient data transfer between the two buses.

スレーブ(周辺装置)からマスター(ホスト)の転送に関しては、スレーブ側でデータ転送要求に備えて、CPU(ホスト)120はデータ転送装置200内部200のスタートアドレス格納レジスタ(アドレス格納部)に転送元アドレスを、転送データ数格納レジスタ(転送データ数格納部)に転送するデータ数を格納し、DMAコントローラー130には、同じアドレス(転送元アドレス)と転送するデータ数とデータ転送先のアドレスとホストバスのプライオリティを設定するようにしてもよい。   Regarding the transfer from the slave (peripheral device) to the master (host), the CPU (host) 120 transfers the transfer source to the start address storage register (address storage unit) inside the data transfer device 200 in preparation for a data transfer request on the slave side. The number of data to be transferred is stored in the transfer data number storage register (transfer data number storage unit), and the DMA controller 130 stores the same address (transfer source address), the number of data to be transferred, the data transfer destination address, and the host. A bus priority may be set.

上記設定を行ったスレーブバス170上の周辺装置からの転送要求はデータ転送装置200の入力となり、データ転送装置200はDMAコントローラー130に対して起動をかけ、データ転送装置200はDMAコントローラー130からのリクエストに関係なく、周辺装置180−1からのデータを読出し、データ転送装置200内のバッファに格納する。   The transfer request from the peripheral device on the slave bus 170 having the above settings becomes an input to the data transfer device 200, and the data transfer device 200 activates the DMA controller 130, and the data transfer device 200 receives the data from the DMA controller 130. Regardless of the request, the data from the peripheral device 180-1 is read and stored in the buffer in the data transfer device 200.

起動がかけられたDMAコントローラー130はデータ転送装置200へのアクセスを行い、データ転送装置200は設定されたスタートアドレスと一致を判断し、一致した場合はデータ転送装置200とDMAコントローラ130が連動してデータ転送を行う処理がスタートしたと判断し、DMAコントローラー130にバッファ内のデータを送信する。データ転送装置200は設定された転送データ数の転送が完了するまで周辺装置からのデータを読出す。   The activated DMA controller 130 accesses the data transfer apparatus 200, and the data transfer apparatus 200 determines that it matches the set start address. If they match, the data transfer apparatus 200 and the DMA controller 130 work together. Thus, it is determined that the data transfer process has started, and the data in the buffer is transmitted to the DMA controller 130. Data transfer device 200 reads data from the peripheral device until transfer of the set number of transfer data is completed.

全てのデータの転送が終了すると、CPU120は、データ転送装置200からの終了割込みとDMAコントローラー130からの終了割込みのふたつの終了信号から、対象となったデータ転送が終了した事を判断する。   When the transfer of all data is completed, the CPU 120 determines from the two end signals of the end interrupt from the data transfer device 200 and the end interrupt from the DMA controller 130 that the target data transfer has ended.

CPU120から周辺装置180−1への送信に関しては、DMAコントローラー130に転送元アドレスと転送先のデバイスのアドレスと転送データ数とバスプライオリティを設定し、データ転送装置200には転送先のアドレスを設定し、CPU120がDMAコントローラー130に起動をかけるとDMA転送がスタートし、データ転送装置200は設定したアドレスと一致する事を検出すると、データを一旦バッファに取り込みホストバス110の動作は終了させ、データ転送装置200はバッファのデータを転送先に送信する。データ転送装置200は全てのデータの転送が終了するとCPU120に割込みをかける。CPUはDMAコントローラーとデータ転送装置200からのふたつの終了の割込みからデータ転送が終了したと判断するようにしてもよい。   For transmission from the CPU 120 to the peripheral device 180-1, a transfer source address, a transfer destination device address, the number of transfer data, and a bus priority are set in the DMA controller 130, and a transfer destination address is set in the data transfer device 200. When the CPU 120 activates the DMA controller 130, the DMA transfer starts. When the data transfer device 200 detects that the address matches the set address, the data is temporarily stored in the buffer and the operation of the host bus 110 is terminated. The transfer device 200 transmits the buffer data to the transfer destination. The data transfer device 200 interrupts the CPU 120 when all the data has been transferred. The CPU may determine that the data transfer is complete from two end interrupts from the DMA controller and the data transfer apparatus 200.

図3、図4は、スレーブからマスターの転送時の動作(周辺装置からのデータ受信動作)のフローチャートである。   3 and 4 are flowcharts of the operation (data receiving operation from the peripheral device) at the time of transfer from the slave to the master.

ここでは周辺装置1の受信データをDMAコントローラー(図2の130)によってメモリ(図2の140)の所定のエリアに格納する処理を想定する。周辺装置(図2の180−1)は一定間隔でパケット化されたデータを受信するものとする。パケット化されたデータの受信は、ある一定間隔で発生するものとする。   Here, it is assumed that the received data of the peripheral device 1 is stored in a predetermined area of the memory (140 in FIG. 2) by the DMA controller (130 in FIG. 2). Assume that the peripheral device (180-1 in FIG. 2) receives data packetized at regular intervals. The reception of packetized data is assumed to occur at certain intervals.

またDMAコントローラーはオンデマンドのチャネルを持ち、本例ではこのチャネルを使用する。   The DMA controller has an on-demand channel, and in this example, this channel is used.

まずCPU(図2の120)は、周辺装置1(図2の180−1)からのデータ受信に備えて、次の受信動作の為の設定を行う(ステップS1)。   First, the CPU (120 in FIG. 2) performs settings for the next reception operation in preparation for data reception from the peripheral device 1 (180-1 in FIG. 2) (step S1).

(1) DMAコントローラーに転送元アドレス(周辺装置1の受信データレジスタ)転送先アドレス(メモリのデータエリア)とデータ転送数を設定する。   (1) A transfer source address (received data register of peripheral device 1), a transfer destination address (data area of memory) and the number of data transfers are set in the DMA controller.

(2) データ転送装置のスタートアドレス格納レジスタに転送元アドレスを、転送データ数格納レジスタにデータ転送数を設定する。スタートアドレス格納レジスタに書込みが発生した事で、転送カウンター(図1の242、244)は共に0にリセットされる。   (2) The transfer source address is set in the start address storage register of the data transfer device, and the data transfer number is set in the transfer data number storage register. Since writing has occurred in the start address storage register, both transfer counters (242 and 244 in FIG. 1) are reset to zero.

(3) CPUはDMAコントローラーに対して転送イネーブルを設定する。   (3) The CPU sets transfer enable to the DMA controller.

次に周辺装置1は、データを受信するとデータ転送要求信号をオンにする(ステップS2)。   Next, when the peripheral device 1 receives the data, it turns on the data transfer request signal (step S2).

次に転送制御部(図1の240)は、バスアクセス要求信号(図1の22)をホストバス−スレーブバス変換部(図1の214)に出力する。バスアクセス要求信号(図1の22)は、ホストバスデータ転送カウンタ値<転送データ数格納カウンタ値の条件下で周辺装置データ転送要求信号(図1の16)がオンの場合、オンとなる(ステップS2)。   Next, the transfer control unit (240 in FIG. 1) outputs a bus access request signal (22 in FIG. 1) to the host bus-slave bus conversion unit (214 in FIG. 1). The bus access request signal (22 in FIG. 1) turns on when the peripheral device data transfer request signal (16 in FIG. 1) is on under the condition of host bus data transfer counter value <transfer data number storage counter value (16 in FIG. 1). Step S2).

次にホストバス−スレーブバス変換部は、スタートアドレス格納レジスタをアドレスにしてスレーブバスのリードサイクルを実行する(ステップS4)。   Next, the host bus-slave bus conversion unit executes a read cycle of the slave bus using the start address storage register as an address (step S4).

次にスレーブバスアクセスが実行されるとデータ読み出しのタイミングでスレーブバスアクセス信号(図1の25)がオンになり、タイミングがデータバッファ制御部(図1の232)と転送制御部(図1の240)に通知される(ステップS5)。   Next, when the slave bus access is executed, the slave bus access signal (25 in FIG. 1) is turned on at the data read timing, and the timing is determined by the data buffer control unit (232 in FIG. 1) and the transfer control unit (in FIG. 1). 240) (step S5).

次にバッファにデータが書き込まれると共に、バッファライトポインターがインクリメントされる。転送制御部はスレーブバスデータ転送カウンタをインクリメントすると共に、転送開始信号(図1の7)をオンにし、DMAコントローラーに転送要求を行う。転送開始信号(図1の7)は、ホストバスデータ転送カウンタ値<転送データ数格納カウンタ値が成立している時にオンとなる(ステップS6)。   Next, data is written to the buffer and the buffer write pointer is incremented. The transfer control unit increments the slave bus data transfer counter, turns on the transfer start signal (7 in FIG. 1), and makes a transfer request to the DMA controller. The transfer start signal (7 in FIG. 1) is turned on when host bus data transfer counter value <transfer data number storage counter value is satisfied (step S6).

次にDMAコントローラーは、DMAを起動し、データ転送装置に対してのアクセスを行う(ステップS7)。   Next, the DMA controller activates the DMA and accesses the data transfer device (step S7).

次にホストバスからのアドレスがスタートアドレス格納レジスタの値と比較器で比較され、比較結果がホストバス−スレーブバス変換部と転送制御部に通知される。一致した場合、アドレス比較結果信号(図1の9)がオンとなる(ステップS8)。   Next, the address from the host bus is compared with the value of the start address storage register by the comparator, and the comparison result is notified to the host bus-slave bus conversion unit and the transfer control unit. If they match, the address comparison result signal (9 in FIG. 1) is turned on (step S8).

アドレス比較結果信号がオンの場合、ホストバス−スレーブバス変換部はスレーブバスに対してのアクセスを行わず、ホストバスアクセス信号(図1の26)をオンにしてバッファから読み出したデータをホストバスに出力する(ステップS9)。   When the address comparison result signal is on, the host bus-slave bus conversion unit does not access the slave bus, and the host bus access signal (26 in FIG. 1) is turned on to read the data read from the buffer to the host bus. (Step S9).

アクセス信号(図1の26)によりバッファ制御部はリードポインタをインクリメントする。転送制御部はホストバスデータ転送カウンタをインクリメントする(ステップS10)。   The buffer control unit increments the read pointer by the access signal (26 in FIG. 1). The transfer control unit increments the host bus data transfer counter (step S10).

DMAコントローラーは、データを受け取りメモリに格納する。上記動作を繰り返し行い、パケット化されたデータ全てをメモリに転送する事ができる(ステップS11)。   The DMA controller receives data and stores it in memory. By repeating the above operation, all packetized data can be transferred to the memory (step S11).

ホストバスデータカウンタ=転送データ数格納レジスタ値となった場合、比較イネーブル信号(図1の15)をオフにし、以降はアドレス比較はされず、転送が終了する(ステップS12)。   When the host bus data counter is equal to the transfer data number storage register value, the comparison enable signal (15 in FIG. 1) is turned off, and thereafter, the address comparison is not performed and the transfer ends (step S12).

周辺装置1の受信データレジスタのアドレスであるが、固定の場合とそうでない場合が考えられる。これを指定するためにホストバス−スレーブバス変換部(図1の214)内に設定レジスタを持つ事にし、この設定状態を示す信号をアドレスインクリメントモード信号とする。   The address of the reception data register of the peripheral device 1 is considered to be fixed or not. In order to specify this, a setting register is provided in the host bus-slave bus conversion unit (214 in FIG. 1), and a signal indicating this setting state is used as an address increment mode signal.

アドレスインクリメントモード信号(図1の20)がオンの場合は、ホストバスアクセスタイミング信号(図1の26)によりホストバスのアクセスタイミングを認識し、スタートアドレス格納レジスタの値が1ワード分インクリメントするものとする。   When the address increment mode signal (20 in FIG. 1) is ON, the host bus access timing is recognized by the host bus access timing signal (26 in FIG. 1), and the value of the start address storage register is incremented by one word. And

周辺装置1内に受信用のメモリ等が存在する場合はインクリメントモードをオンにして使用するケースが考えられる。そうでない場合は、通常は受信データレジスタであり、この場合はアドレスは固定となる。   When there is a reception memory or the like in the peripheral device 1, a case where the increment mode is turned on and used is conceivable. Otherwise, it is normally a received data register, in which case the address is fixed.

図5,6はマスターからスレーブの転送時の動作(周辺装置からのデータ送信動作)のフローチャート図である。   FIGS. 5 and 6 are flowcharts of the operation at the time of transfer from the master to the slave (data transmission operation from the peripheral device).

ここでは周辺装置1(図2の180−1)に対しての送信データをDMAコントローラー(図2の130)によってメモリ(図2の140)の所定のエリアから周辺装置1に対して転送する処理を想定する。   Here, the process of transferring the transmission data for the peripheral device 1 (180-1 in FIG. 2) from the predetermined area of the memory (140 in FIG. 2) to the peripheral device 1 by the DMA controller (130 in FIG. 2). Is assumed.

周辺装置は一定間隔でデータを送信するものとする。データのパケット化は本例ではCPU(図2の120)が予め行っておくものとする。   It is assumed that the peripheral device transmits data at regular intervals. In this example, the packetization of data is performed in advance by the CPU (120 in FIG. 2).

DMAコントローラー(図2の130)はオンデマンドのチャネルを持ち、本例ではこのチャネルを使用する。   The DMA controller (130 in FIG. 2) has an on-demand channel, which is used in this example.

まずCPU(図2の120)は、送信データのパケットを生成した後、送信動作のため、次の設定を行う。   First, after generating a packet of transmission data, the CPU (120 in FIG. 2) performs the following settings for a transmission operation.

(1) DMAコントローラーに転送先アドレス(周辺装置1の送信データレジスタ)転送元アドレス(メモリのデータエリア)とデータ転送数を設定する。   (1) A transfer destination address (transmission data register of peripheral device 1), a transfer source address (data area of memory), and the number of data transfers are set in the DMA controller.

(2) データ転送装置のスタートアドレス格納レジスタに転送先アドレスを、転送データ数格納レジスタにデータ転送数を設定する。スタートアドレス格納レジスタに書込みが発生した事で、転送カウンター(図1の242、244)は共に0にリセットされる。   (2) A transfer destination address is set in the start address storage register of the data transfer device, and a data transfer number is set in the transfer data number storage register. Since writing has occurred in the start address storage register, both transfer counters (242 and 244 in FIG. 1) are reset to zero.

(3) CPUはDMAコントローラーに対して転送イネーブルを設定する(ステップS21)。   (3) The CPU sets transfer enable to the DMA controller (step S21).

次に周辺装置への送信動作のモードの場合、周辺装置転送許可信号(図1の8)は送信可能の状態で常にオンであり、転送開始信号(図1の7)もオンとなる。この場合、DMAコントローラーに対してイネーブルが設定されると、DMAコントローラーは即座にデータ転送を開始する。DMAコントローラーは、メモリから読み出したデータをデータ転送装置に転送する(ステップS22)。   Next, in the case of the mode of the transmission operation to the peripheral device, the peripheral device transfer permission signal (8 in FIG. 1) is always on in the transmittable state, and the transfer start signal (7 in FIG. 1) is also on. In this case, when enable is set for the DMA controller, the DMA controller immediately starts data transfer. The DMA controller transfers the data read from the memory to the data transfer device (step S22).

次にホストバス−スレーブバス変換部は、アドレス比較器の出力である、アドレス比較結果(図1の9)がオンである為、データをバッファに格納し、ホストバスのアクセスを終了させる。バッファがフルになるまで、スレーブバスの動作に関係なくホストバスの動作は転送開始信号をオンにして行われる(ステップS23)。   Next, since the address comparison result (9 in FIG. 1), which is the output of the address comparator, is on, the host bus-slave bus conversion unit stores the data in the buffer and terminates the host bus access. Until the buffer is full, the operation of the host bus is performed with the transfer start signal turned on regardless of the operation of the slave bus (step S23).

データバッファ制御部(図1の232)は、ホストバスアクセスタイミング信号(図1の26)によりバッファを制御する。ライトポインターはインクリメントされる(ステップS24)。   The data buffer control unit (232 in FIG. 1) controls the buffer by the host bus access timing signal (26 in FIG. 1). The write pointer is incremented (step S24).

ホストバス−スレーブバス変換部は、スレーブバスに対してのライト動作を行う。バス変換部内には図示しないライトスレーブアドレスレジスタが存在し、スタートアドレス格納レジスタ(図1の222)の書込みと同時に同じ値が書き込まれる。CPUからはこのレジスタの存在は見えない。   The host bus-slave bus conversion unit performs a write operation on the slave bus. A write slave address register (not shown) exists in the bus conversion unit, and the same value is written simultaneously with the writing of the start address storage register (222 in FIG. 1). The existence of this register is not visible to the CPU.

スレーブアドレスレジスタの値がライト時のアドレスとしてスレーブアドレス信号(図1の3)に出力される。インクリメントモードの場合はアクセスする度に1ワード分インクリメントされる(ステップS25)。   The value of the slave address register is output to the slave address signal (3 in FIG. 1) as an address at the time of writing. In the case of the increment mode, every access is incremented by one word (step S25).

周辺装置はデータを受け取り、送信動作の為にデータを受け取れない状態が発生した場合は周辺装置転送許可信号(図1の8)をオフにする(ステップS26)。周辺装置転送許可信号がオンであり、かつバッファに未転送のデータが存在する限り、バス変換部はバッファのデータを周辺装置に対して転送を続ける。   The peripheral device receives the data and turns off the peripheral device transfer permission signal (8 in FIG. 1) when the data cannot be received due to the transmission operation (step S26). As long as the peripheral device transfer permission signal is ON and there is untransferred data in the buffer, the bus converter continues to transfer the buffer data to the peripheral device.

次にスレーブバスデータ転送カウンタは、スレーブバスの転送が行われるたびにインクリメントされる。ホストバスデータ転送カウンタは、ホストバスからの転送が発生するたびにインクリメントされる。スレーブバスデータ転送カウンタ=転送データ数格納レジスタ値となった時点で転送終了となり、比較イネーブル信号(図1の15)がオフになり、以降のアドレス比較は行われず、ホストバスの転送動作は終了する。スレーブバス動作はバッファに格納されたデータの転送が終了するまで、転送を行い、スレーブバスデータ転送カウンタ=転送データ数格納レジスタ値となった時点で転送を終了する(ステップS27)。   Next, the slave bus data transfer counter is incremented every time the slave bus is transferred. The host bus data transfer counter is incremented every time a transfer from the host bus occurs. When the slave bus data transfer counter is equal to the transfer data count storage register value, the transfer is completed, the comparison enable signal (15 in FIG. 1) is turned off, the subsequent address comparison is not performed, and the host bus transfer operation ends. To do. In the slave bus operation, the transfer is performed until the transfer of the data stored in the buffer is completed, and the transfer is terminated when the slave bus data transfer counter = the transfer data number storage register value is satisfied (step S27).

なお周辺装置への受信動作、送信動作の区別は、これを区別するレジスタがバス変換部に存在し、転送前にCPUが設定するようにしてもよい。設定は例えば以下のようなの3動作モードの設定ができる。   Note that a register for distinguishing the reception operation and the transmission operation to the peripheral device may exist in the bus conversion unit, and may be set by the CPU before the transfer. For example, the following three operation modes can be set.

NOUSE ; バッファを使用しない
TX ; 周辺装置への送信
RX ; 周辺装置からの受信
また自動転送処理部(データ転送制御回路)を複数もち、これに対応したDMAのチャネルを持つ事により、周辺装置に対して複数の転送を並列に行う事が可能となる。
NOUSE; do not use buffer
TX: Transmission to peripheral device
RX: Reception from peripheral devices Also, having multiple automatic transfer processing units (data transfer control circuits) and having a corresponding DMA channel enables multiple transfers to peripheral devices in parallel. Become.

なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。   In addition, this invention is not limited to this embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.

本実施の形態のデータ転送装置の構成図。The block diagram of the data transfer apparatus of this Embodiment. 本実施の形態の情報処理装置の構成図。The block diagram of the information processing apparatus of this Embodiment. スレーブからマスターの転送時の動作のフローチャート。The flowchart of the operation | movement at the time of transfer from a slave to a master. スレーブからマスターの転送時の動作のフローチャート。The flowchart of the operation | movement at the time of transfer from a slave to a master. マスターからスレーブの転送時の動作のフローチャート。The flowchart of the operation | movement at the time of transfer from a master to a slave. マスターからスレーブの転送時の動作のフローチャート。The flowchart of the operation | movement at the time of transfer from a master to a slave.

符号の説明Explanation of symbols

100 情報処理装置、110 ホストバス、120 CPU、130 DMAコントローラ、140 メモリ、150 システム制御部、160 割り込みコントローラ、170 スレーブバス、180−1 周辺装置、200 データ転送装置、210 バスブリッジ回路、212 ホストバスインターフェース、214 ホストバス−スレーブバス変換部、216 スレーブバスインターフェース、220 自動転送処理部(転送制御処理部)、222 スタートアドレスレジスタ、224 転送データ数格納レジスタ、226 アドレス比較器、230 バッファ、232 データバッファ制御部、240 転送制御部、242 スレーブバスデータ転送カウンタ、244 ホストバスデータ転送カウンタ 100 Information processing device, 110 Host bus, 120 CPU, 130 DMA controller, 140 Memory, 150 System control unit, 160 Interrupt controller, 170 Slave bus, 180-1 peripheral device, 200 Data transfer device, 210 Bus bridge circuit, 212 Host Bus interface, 214 Host bus-slave bus conversion unit, 216 Slave bus interface, 220 Automatic transfer processing unit (transfer control processing unit), 222 Start address register, 224 Transfer data number storage register, 226 Address comparator, 230 buffer, 232 Data buffer control unit, 240 transfer control unit, 242 slave bus data transfer counter, 244 host bus data transfer counter

Claims (7)

ホスト及びDMAコントローラが接続されるホストバスと周辺装置が接続されるスレーブバスに接続され、ホストバスとスレーブバス間のデータの転送を行うデータ転送装置であって、
ホストバスとスレーブバスに接続され、ホストバスとスレーブバス間のデータの送受信を行うバスブリッジ回路と、
ホストバスとスレーブバス間のデータ送受信を制御するデータ転送制御回路と、を含み、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合には転送元のアドレスが格納され、ホストバスからスレーブバスへの転送の場合には転送先のアドレスが格納されるアドレス格納部と、
前記バスブリッジ回路を介してホストバス又はスレーブバスから受け取ったデータを格納するバッファと、
周辺装置からホストへの転送を行う場合には、バスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合にはバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。
A data transfer device connected to a host bus to which a host and a DMA controller are connected and a slave bus to which a peripheral device is connected, and transfers data between the host bus and the slave bus,
A bus bridge circuit connected to the host bus and the slave bus, for transmitting and receiving data between the host bus and the slave bus;
A data transfer control circuit for controlling data transmission / reception between the host bus and the slave bus,
The data transfer control circuit includes:
In the case of transfer from the peripheral device to the host, the address of the transfer source is stored; in the case of transfer from the host bus to the slave bus, an address storage unit in which the address of the transfer destination is stored;
A buffer for storing data received from a host bus or a slave bus via the bus bridge circuit;
When transferring data from the peripheral device to the host, it receives data from the slave bus via the bus bridge circuit, stores the received data in the buffer,
The request address received from the host bus is compared with the address stored in the address storage unit. If they match, the data stored in the buffer is passed through the bus bridge circuit. And a circuit for controlling the output to the host bus.
請求項1において、
前記データ転送制御回路は、
ホストから周辺装置への転送を行う場合には、バスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、バッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。
In claim 1,
The data transfer control circuit includes:
When transferring from the host to the peripheral device, data from the host bus is received via the bus bridge circuit and stored in the buffer, and the data stored in the buffer is transferred to the slave bus via the bus bridge circuit. A data transfer device comprising a circuit for controlling output.
請求項1乃至2のいずれかにおいて、
前記データ転送制御回路は、
転送データ数を特定するための転送データ数格納部を含み、
周辺装置からホストへの転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してスレーブバスからのデータを受信し、受信したデータをバッファに格納し、
ホストバスからの受け取った要求アドレスと、アドレス格納部に格納されたアドレスとが一致しているか否か比較して、一致している場合には転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してホストバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。
In any one of Claims 1-2.
The data transfer control circuit includes:
Including a transfer data number storage for specifying the number of transfer data;
When transferring data from the peripheral device to the host, data from the slave bus is received via the bus bridge circuit until the number of transfer data stored in the transfer data number storage unit is reached, and the received data is stored in the buffer. And
The request address received from the host bus is compared with whether the address stored in the address storage unit matches, and if it matches, the transfer data number stored in the transfer data number storage unit is determined. A data transfer device comprising: a circuit that controls to output data stored in a buffer until it reaches the host bus via a bus bridge circuit.
請求項3において、
前記データ転送制御回路は、
ホストから周辺装置への転送を行う場合には、転送データ数格納部に格納された転送データ数に達するまでバスブリッジ回路を介してホストバスからのデータを受信してバッファに格納し、転送データ数格納部に格納された転送データ数に達するまでバッファに格納されているデータをバスブリッジ回路を介してスレーブバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。
In claim 3,
The data transfer control circuit includes:
When transferring data from the host to the peripheral device, data from the host bus is received via the bus bridge circuit until the number of transfer data stored in the transfer data number storage unit is reached, and stored in the buffer. A data transfer apparatus comprising: a circuit that controls to output data stored in a buffer to a slave bus via a bus bridge circuit until the number of transfer data stored in the number storage unit is reached.
請求項1乃至4のいずれかにおいて、
前記データ転送制御回路は、
周辺装置からホストへの転送の場合に、アドレス格納部に格納されている転送元アドレスをホストバスからの読み出しに応じて更新し、更新後のアドレスとホストバスからの受け取った要求アドレスとが一致しているか否か比較して、一致を示している場合にはバッファに格納されているデータをホストバスに出力するように制御する回路を含むことを特徴とするデータ転送装置。
In any one of Claims 1 thru | or 4,
The data transfer control circuit includes:
In the case of transfer from the peripheral device to the host, the transfer source address stored in the address storage unit is updated in response to reading from the host bus, and the updated address and the request address received from the host bus match. A data transfer device comprising: a circuit that controls to output data stored in a buffer to a host bus when a match is indicated by comparison.
請求項1乃至5のいずれかに記載のデータ転送装置と、
データ転送装置に接続されたホストバスと、
データ転送装置に接続されたスレーブバスと、
ホストバスに接続されたCPUと、
ホストバスに接続されたDMAコントローラと、
スレーブバスに接続された周辺装置を含む情報処理装置であって、
前記CPUは、
周辺装置からのデータを受信する際には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して、転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送元アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータ転送装置のバッファに格納されているデータをホストバスを介してDMA転送することを特徴とする情報処理装置。
A data transfer device according to any one of claims 1 to 5,
A host bus connected to the data transfer device;
A slave bus connected to the data transfer device;
A CPU connected to the host bus;
A DMA controller connected to the host bus;
An information processing device including a peripheral device connected to a slave bus,
The CPU
When receiving data from the peripheral device, set the transfer source address, the transfer destination address, the number of data transfers to the DMA controller, set the transfer enable,
Set the transfer source address in the address storage part of the data transfer device, set the transfer data number in the transfer data number storage part,
When the transfer enable setting is made, the DMA controller starts the DMA, and transfers the data stored in the buffer of the data transfer device through the host bus based on the set transfer source address, transfer destination address, and data transfer number. An information processing apparatus that performs DMA transfer.
請求項6において、
前記CPUは、
ホストから周辺装置へデータを送信する場合には、DMAコントローラに対して、転送元アドレス、転送先アドレス、データ転送数を設定して転送イネーブルの設定を行い、
データ転送装置のアドレス格納部に転送先アドレスを、転送データ数格納部に転送データ数を設定し、
DMAコントローラは、転送イネーブルの設定が行われるとDMAを起動し、
設定された転送元アドレス、転送先アドレス、データ転送数に基づきデータをホストバスを介してデータ転送装置のバッファにDMA転送し、
データ転送装置に対するデータの送信が終了すると、ホストバスを開放することを特徴とする情報処理装置。
In claim 6,
The CPU
When sending data from the host to the peripheral device, set the transfer enable to the DMA controller by setting the transfer source address, the transfer destination address, the number of data transfers,
Set the transfer destination address in the address storage part of the data transfer device, set the transfer data number in the transfer data number storage part,
The DMA controller starts DMA when transfer enable is set, and
DMA transfer data to the buffer of the data transfer device via the host bus based on the set transfer source address, transfer destination address, data transfer number,
An information processing apparatus that opens a host bus when transmission of data to a data transfer apparatus is completed.
JP2005257993A 2005-09-06 2005-09-06 Data transfer device and information processor Withdrawn JP2007072685A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005257993A JP2007072685A (en) 2005-09-06 2005-09-06 Data transfer device and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005257993A JP2007072685A (en) 2005-09-06 2005-09-06 Data transfer device and information processor

Publications (1)

Publication Number Publication Date
JP2007072685A true JP2007072685A (en) 2007-03-22

Family

ID=37934073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005257993A Withdrawn JP2007072685A (en) 2005-09-06 2005-09-06 Data transfer device and information processor

Country Status (1)

Country Link
JP (1) JP2007072685A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076371A (en) * 2023-08-28 2023-11-17 广州市粤港澳大湾区前沿创新技术研究院 Multi-machine data transmission method and device, storage medium and electronic equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076371A (en) * 2023-08-28 2023-11-17 广州市粤港澳大湾区前沿创新技术研究院 Multi-machine data transmission method and device, storage medium and electronic equipment
CN117076371B (en) * 2023-08-28 2024-04-12 广州市粤港澳大湾区前沿创新技术研究院 Multi-machine data transmission method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
EP1389760B1 (en) Data transfer control system, program and data transfer control method
JP3807250B2 (en) Cluster system, computer and program
JP4837659B2 (en) Bus controller for processing split transactions
CN108733600B (en) Electronic system with direct memory access controller and method of operating the same
JP2008090375A (en) Interrupt control system and storage control system using the same
KR100644596B1 (en) Bus system and bus arbitration method thereof
JP4198376B2 (en) Bus system and information processing system including bus system
JP2006293927A (en) Direct memory access controller and system lsi including direct memory access controller
US7934043B2 (en) Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle
JPS621057A (en) Transfer controller
JP2007072685A (en) Data transfer device and information processor
JP2008502977A (en) Interrupt method for bus controller
JPH1040215A (en) Pci bus system
US7634602B2 (en) Bus system with few control lines
JP2006119724A (en) Cpu system, bus bridge, its control method, and computer system
JP2020098386A (en) Bus system
US20080104286A1 (en) Data transfer apparatus and data transfer method
TW502171B (en) Data transmitting system
JP4249741B2 (en) Bus system and information processing system including bus system
JP5652866B2 (en) Bus arbitration circuit and bus arbitration method
JP4362199B2 (en) Data transmission device
JP4582180B2 (en) Data transmission equipment
JP2006092077A (en) Bus system
KR20070081981A (en) Interface method and apparatus in cpuless system
JPH09259071A (en) Communication controller

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080627

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202