JPH10254817A - Dma transfer control system - Google Patents
Dma transfer control systemInfo
- Publication number
- JPH10254817A JPH10254817A JP5738097A JP5738097A JPH10254817A JP H10254817 A JPH10254817 A JP H10254817A JP 5738097 A JP5738097 A JP 5738097A JP 5738097 A JP5738097 A JP 5738097A JP H10254817 A JPH10254817 A JP H10254817A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- bus
- read
- 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.)
- Pending
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はDMA転送制御シス
テムに関し、特にマイクロプロセッサを使用する装置に
おいて、プロセッサからの起動処理のみでプロセッサと
は独立にデバイス間のデータの送受信を行なうDMA転
送制御システムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DMA transfer control system, and more particularly to a DMA transfer control system for transmitting and receiving data between devices independently of a processor only by a start process from a processor in an apparatus using a microprocessor. .
【0002】昨今の通信機器及びプロセッサを使用した
制御装置においては、データの大容量化が進み、それに
伴ってデータ転送の高速化が必須課題となってきてい
る。しかしながら、従来のDMA(ダイレクト・メモリ
・アクセス:プロセッサを介さずにデータ転送を行なう
こと)転送技術では、端数分の含まれる転送や、2つの
バスにまたがる転送において、あまり効率のいい転送方
法はなく、転送速度が遅いという問題がある。2. Description of the Related Art Recently, in a control device using a communication device and a processor, data capacity has been increased, and accordingly, high-speed data transfer has become an essential issue. However, in the conventional DMA (direct memory access: data transfer without the intervention of a processor) transfer technique, a transfer method that is not very efficient in a transfer including a fraction or a transfer over two buses is performed. And the transfer speed is slow.
【0003】[0003]
【従来の技術】図16は従来システムの構成例を示すブ
ロック図である。図において、1はMPU、2A,2B
はアドレスバス、3A,3Bはデータバスである。これ
ら2つのバスのうち、一方をAバス、他方をBバスと呼
ぶ。2. Description of the Related Art FIG. 16 is a block diagram showing a configuration example of a conventional system. In the figure, 1 is MPU, 2A, 2B
Is an address bus, and 3A and 3B are data buses. One of these two buses is called an A bus, and the other is a B bus.
【0004】6はAバスとBバス間に接続されたDMA
転送制御を行なうDMAコントローラ(DMAC)、G
1,G2はDMAコントローラ4によりその方向が制御
されるアドレスバスの双方向バッファ、G3,G4はD
MAコントローラ4によりその方向が制御されるデータ
バスの双方向バッファである。A DMA 6 is connected between the A bus and the B bus.
DMA controller (DMAC) for performing transfer control, G
1 and G2 are bidirectional buffers of an address bus whose direction is controlled by the DMA controller 4, and G3 and G4 are D
It is a bidirectional buffer of the data bus whose direction is controlled by the MA controller 4.
【0005】4AはAバス側に設けられたメモリ、5A
はAバス側に設けられた入出力装置で何れもアドレスバ
ス2A及びデータバス3Aと接続されている。4BはB
バス側に設けられたメモリ、5BはBバス側に設けられ
た入出力装置で何れもアドレスバス2B及びデータバス
3Bと接続されている。[0005] 4A is a memory provided on the A bus side, 5A
Is an input / output device provided on the A bus side, which is connected to the address bus 2A and the data bus 3A. 4B is B
The memories 5B provided on the bus side are input / output devices provided on the B bus side, all of which are connected to the address bus 2B and the data bus 3B.
【0006】図17は従来システムのデータ転送の説明
図である。図16と同一のものは、同一の符号を付して
示す。図では、メモリ4Bに図に示すような構成のデー
タが記憶されているものとする。データバス幅は4バイ
トであるものとする。そして、最小矩形が1バイトデー
タを示し、4バイトで1ワードを構成しているものとす
ると、最初の〜までは1ワードに満たない端数デー
タである。FIG. 17 is an explanatory diagram of data transfer in a conventional system. The same components as those in FIG. 16 are denoted by the same reference numerals. In the figure, it is assumed that data having a configuration as shown in the figure is stored in the memory 4B. It is assumed that the data bus width is 4 bytes. If the minimum rectangle indicates 1-byte data, and 4 bytes constitute 1 word, the first to are fractional data less than 1 word.
【0007】従来のシステムでは、これら端数データ
〜まではDMAC6により1個ずつ相手方メモリ4A
にDMA転送され、次に最初の1ワードデータである
がDMA転送される。この方式は、ワード転送以外はバ
イト単位に転送を行なうものである。In the conventional system, these fractional data are stored one by one by the DMAC 6 in the counterpart memory 4A.
Is DMA-transferred, and then the first one-word data is DMA-transferred. In this method, transfer is performed in byte units except for word transfer.
【0008】従来の転送方法について更に詳細に説明す
る。図18は転送データの構成例を示す図である。○1
(をこのように表わす。以下同じ)〜○12までのデ
ータを転送するものとする。○1,○2,○3は端数デ
ータ、○4〜○11はワードデータ、○12は1バイト
の端数データである。The conventional transfer method will be described in more detail. FIG. 18 is a diagram illustrating a configuration example of transfer data. ○ 1
(Represented in this manner; the same applies hereinafter) to data of ○ 12. 1,1, 2,2, 33 are fraction data, 44 to 1111 are word data, and 1212 is 1-byte fraction data.
【0009】図19は従来システムのデータ転送の第1
の例を示す図であり、ワード転送以外はバイト単位で転
送するものである(特開昭64−76356号公報)。
あるデータの転送から次のデータの転送にはバス調停モ
ードが入っている。即ち、端数データである○1〜○3
は1バイトずつ転送し、以降のワードデータはワード単
位に○4〜○11まで転送し、最後に1バイトの端数デ
ータ○12を転送している。FIG. 19 shows the first data transfer of the conventional system.
FIG. 3 is a diagram showing an example in which data is transferred in byte units except for word transfer (Japanese Patent Application Laid-Open No. 64-76356).
The bus arbitration mode is set for the transfer of one data to the transfer of the next data. That is, the fraction data of ○ 1 to ○ 3
Is transferred one byte at a time, the subsequent word data is transferred in units of words from 44 to 1111, and finally, 1-byte fraction data 1212 is transferred.
【0010】図20は従来システムのデータ転送の第2
の例を示す図である(特開平6−266612号公
報)。この例では、端数分の1ワードデータを取り込ん
で、一旦4バイト幅のデータに変換して転送するもので
ある。そして、○1〜○3までのデータを一括して転送
し、次には1ワード幅のデータを○4〜○11まで転送
し、最後の端数データ○12は端数分の1ワードデータ
を取り込んで、一旦4バイト幅のデータに変換して転送
する。FIG. 20 shows the second data transfer of the conventional system.
FIG. 3 is a diagram showing an example (Japanese Patent Laid-Open No. 6-266612). In this example, fractional 1-word data is fetched, temporarily converted to 4-byte data, and transferred. Then, the data of 1〜1 to 33 are transferred collectively, then the data of one word width is transferred to 44 to 1111, and the last fraction data 1212 takes one fraction word data. Then, the data is temporarily converted to 4-byte data and transferred.
【0011】図21は従来システムのデータ転送の第3
の例を示す図であり、MPUを介在させている点でDM
Aとは呼べないものである(特開平2−024756号
公報)。この例では、端数転送は、最小限の端数データ
のみMPUにより転送し、他はDMAによる転送を行な
うものである。端数データの転送の時には、DMACよ
りMPUに端数通知を出すことが必要となる。FIG. 21 shows a third example of the data transfer of the conventional system.
FIG. 4 is a diagram showing an example of the
A cannot be called A (JP-A-2-024756). In this example, in the fraction transfer, only the minimum fraction data is transferred by the MPU, and the others are transferred by the DMA. When transferring fraction data, it is necessary to issue a fraction notification to the MPU from the DMAC.
【0012】MPUは、この端数通知を受けると、端数
データを転送先に転送する。端数データの転送が終わる
と、MPUはDMACに転送完了通知を出す。図22は
2つのバス間にまたがる従来システムのデータ転送方式
の説明図であり、第4の例を示す(特開平1−2175
32号公報)。この例は、高速転送の実現方法として、
バス直結型のシングルアドレスモードを用いたものであ
る。図16と同一のものは、同一の符号を付して示す。When receiving the fraction notification, the MPU transfers the fraction data to the transfer destination. When the transfer of the fraction data is completed, the MPU issues a transfer completion notification to the DMAC. FIG. 22 is an explanatory diagram of a data transfer method of a conventional system spanning two buses, and shows a fourth example (Japanese Patent Laid-Open No. 1-2175).
No. 32). This example shows how to implement high-speed transfer.
This uses a single address mode of a bus direct connection type. The same components as those in FIG. 16 are denoted by the same reference numerals.
【0013】この例は、転送元、転送先のデータバスを
直結した形とし、高速転送を実現するものである。図2
3は2つのバス間にまたがる従来システムの他のデータ
転送方式の説明図であり、第5の例を示す(特開平4−
107666号公報)。図16と同一のものは、同一の
符号を付して示す。この例は、独立した各1対のアドレ
スバス,データバスを有することで、従来の欠点を除去
し、データ直結型のメモリ−メモリ間高速転送が可能と
なる。In this example, the data buses of a transfer source and a transfer destination are directly connected to each other to realize high-speed transfer. FIG.
FIG. 3 is an explanatory view of another data transfer method of the conventional system spanning two buses, showing a fifth example (Japanese Patent Laid-Open No.
No. 107666). The same components as those in FIG. 16 are denoted by the same reference numerals. This example eliminates the conventional disadvantage by having an independent pair of address buses and data buses, and enables high-speed data-to-memory direct transfer between memories.
【0014】[0014]
【発明が解決しようとする課題】前述した従来のデータ
転送システムのうち、図19に示す第1の例は、ワード
転送以外はバイト単位に転送を行なうので、端数データ
の転送に時間がかかってしまうという問題がある。Among the above-mentioned conventional data transfer systems, the first example shown in FIG. 19 performs transfer in units of bytes except for word transfer, so that it takes time to transfer fractional data. Problem.
【0015】図20に示す第2の例は、4バイト幅のデ
ータを一旦取り込んで、該当バイトのデータを変換する
必要があることから、時間がかかってしまい、高速転送
ができないという問題がある。The second example shown in FIG. 20 has a problem that it takes a long time since data of a 4-byte width must be fetched once and the data of the corresponding byte must be converted, so that high-speed transfer cannot be performed. .
【0016】図21に示す第3の例は、データ転送にM
PUを介在させているので、時間的ロスが発生し、また
MPUにとっても処理負荷が増大し、効率が悪いという
問題がある。In the third example shown in FIG.
Since the PU is interposed, there is a problem that a time loss occurs, a processing load also increases for the MPU, and efficiency is poor.
【0017】図22に示す第4の例の場合、アドレス情
報が1対しか出力できないため、メモリ4と入出力装置
5間の転送しかサポートできないという問題がある。図
23に示す第5の例の場合、データ直結であるため、デ
ータの並び替えができず、転送開始アドレスの異なるデ
バイス間の転送ができないという問題がある。In the case of the fourth example shown in FIG. 22, since only one pair of address information can be output, there is a problem that only transfer between the memory 4 and the input / output device 5 can be supported. In the case of the fifth example shown in FIG. 23, since the data is directly connected, the data cannot be rearranged, and there is a problem that transfer between devices having different transfer start addresses cannot be performed.
【0018】本発明はこのような課題に鑑みてなされた
ものであって、第1に如何なる開始アドレスからも高速
にデータ転送でき、第2に書き込みと読み出しを並行し
て行なうことにより、高速データ転送を行なうことがで
きるDMA転送制御システムを提供することを目的とし
ている。The present invention has been made in view of such a problem. First, data can be transferred at high speed from any start address, and second, by performing writing and reading in parallel, high-speed data can be obtained. It is an object of the present invention to provide a DMA transfer control system capable of performing a transfer.
【0019】[0019]
(1)図1は本発明の原理ブロック図である。図16と
同一のものは、同一の符号を付して示す。図に示すシス
テムは、DMAコントローラ10とアドレスバス2及び
データバス3が接続され、これらアドレスバス2及びデ
ータバス3には少なくともメモリ4が接続されたDMA
転送制御システムを構成している。(1) FIG. 1 is a principle block diagram of the present invention. The same components as those in FIG. 16 are denoted by the same reference numerals. In the system shown in the figure, a DMA controller 10 is connected to an address bus 2 and a data bus 3, and the address bus 2 and the data bus 3 are connected to at least a memory 4 connected to a DMA.
A transfer control system is configured.
【0020】2A,3Aが一方の側(A側)のアドレス
バスとデータバスであり、2B,3Bが他方の側(B
側)のアドレスバスとデータバスである。11はDMA
コントローラ10内に設けられ、転送データの状況に応
じて、ブロック転送,ワード転送,端数転送と、随時最
適な転送方法に自動的に切り替え転送を実行する切り替
え手段である。2A and 3A are address buses and data buses on one side (A side), and 2B and 3B are the other side (B side).
Side) address bus and data bus. 11 is DMA
The switching means is provided in the controller 10 and automatically switches to an optimal transfer method as needed, such as block transfer, word transfer, and fractional transfer, and executes transfer according to the status of transfer data.
【0021】この発明の構成によれば、切り替え手段1
1が転送データの状況に応じて、ブロック転送,ワード
転送,端数転送と、随時最適な転送方法に自動的に切り
替え転送を実行することにより、如何なる開始アドレス
からも高速にデータ転送することができる。According to the structure of the present invention, the switching means 1
1 automatically switches to the optimal transfer method as needed, such as block transfer, word transfer, and fractional transfer according to the state of transfer data, and executes transfer at any time, thereby enabling high-speed data transfer from any start address. .
【0022】(2)この場合において、前記アドレスバ
ス2とデータバス3を2対持たせ、前記DMAコントロ
ーラ10は2つのバスの転送を独立して行なうことを特
徴としている。(2) In this case, two pairs of the address bus 2 and the data bus 3 are provided, and the DMA controller 10 performs transfer of the two buses independently.
【0023】この発明の構成によれば、2対のアドレス
バスとデータバスを有し、それぞれのバスの独立転送制
御を行なうことにより、書き込みと読み出しを同時に並
行して行なうことができ、データの高速転送が可能とな
る。According to the structure of the present invention, two pairs of address buses and data buses are provided, and by performing independent transfer control of each bus, writing and reading can be performed simultaneously in parallel. High-speed transfer becomes possible.
【0024】(3)また、前記DMAコントローラ10
は、その内部バッファにデータを読み込みつつ、同時に
書き込み処理を行なうためにデータ書き込み数をカウン
トする書き込みカウンタと、読み出しデータ数をカウン
トする読み出しカウンタを設け、これら書き込みカウン
タと読み出しカウンタの突き合わせ比較により、2つの
バスの転送を並行処理することを特徴としている。(3) The DMA controller 10
Is provided with a write counter that counts the number of data written and a read counter that counts the number of read data in order to perform a write process at the same time as reading data into the internal buffer. The transfer of the two buses is performed in parallel.
【0025】この発明の構成によれば、2つのバスの並
行処理が可能となり、転送元,転送先共にロスなく連続
的な高速データ転送を実現しつつ、任意の転送開始アド
レスからのデータ転送を実現することができる。According to the configuration of the present invention, parallel processing of two buses becomes possible, and data transfer from an arbitrary transfer start address can be performed while realizing continuous high-speed data transfer at both the transfer source and the transfer destination without loss. Can be realized.
【0026】(4)更に、前記DMAコントローラ10
内に、読み出しデータを並び替える並び替え手段を設
け、読み込んだ側のデータの並びとは異なるデータの並
びで書き込み側にデータ転送することを特徴としてい
る。(4) Further, the DMA controller 10
And a rearranging means for rearranging the read data is provided, and the data is transferred to the writing side in a data arrangement different from the data arrangement on the read side.
【0027】この発明の構成によれば、並び替え手段を
用いて読み込んだデータとは異なるデータの並びで書き
込み側にデータ転送することができる。According to the configuration of the present invention, data can be transferred to the writing side in a data sequence different from the data read by using the rearranging means.
【0028】[0028]
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態例を詳細に説明する。 (A)端数バイト転送及びワード,ブロック転送の切り
替え 図2は本発明によるデータ転送の説明図である。図1と
同一のものは、同一の符号を付して示す。ここで、図に
示すように転送元メモリ4Bに記憶されているデータを
DMAC10内の切り替え手段11により転送先メモリ
4Aに転送することを考える。Embodiments of the present invention will be described below in detail with reference to the drawings. (A) Switching between fractional byte transfer and word / block transfer FIG. 2 is an explanatory diagram of data transfer according to the present invention. 1 are denoted by the same reference numerals. Here, it is assumed that the data stored in the transfer source memory 4B is transferred to the transfer destination memory 4A by the switching means 11 in the DMAC 10 as shown in FIG.
【0029】4バイトで1ワードとしていると、○1〜
○3までのデータは端数となる。本発明では、バイト単
位ではなく、端数となる全てのバイトのみを有効とし、
有効エリアを示す信号を付与したワード転送とし、○1
〜○3までを一括転送する。このようにすることで、端
数を1バイトずつ転送していた従来のシステムに対して
高速転送が可能となる。If one word consists of four bytes,
○ Data up to 3 is a fraction. In the present invention, instead of a byte unit, only all fractional bytes are valid,
Word transfer to which a signal indicating the effective area is added, and
○ 3 are transferred collectively. This enables high-speed transfer to a conventional system in which fractions are transferred one byte at a time.
【0030】この場合において、切り替え手段11は、
総転送データ量,転送元アドレス,転送先アドレス,残
り転送バイト数等からハードウェア的に転送量を算出
し、随時変化する転送状況に応じて、ブロック転送可能
領域、ワード転送可能領域、1ワードに満たない3バイ
ト以下の端数転送をそれぞれ識別し、最適な転送モード
に自動的に切り替える。ここで、ブロック転送とは、複
数のワードデータを1つのブロックとして連続的に転送
処理を行なうことである。In this case, the switching means 11
The transfer amount is calculated by hardware from the total transfer data amount, transfer source address, transfer destination address, remaining transfer byte number, and the like, and a block transferable area, a word transferable area, and one word are determined according to a transfer situation that changes as needed. Each of the fractional transfers of less than 3 bytes, which is less than 3 bytes, is identified and automatically switched to the optimal transfer mode. Here, the block transfer refers to continuously performing transfer processing using a plurality of word data as one block.
【0031】この実施の形態例によれば、切り替え手段
11が転送データの状況に応じて、ブロック転送,ワー
ド転送,端数転送と、随時最適な転送方法に自動的に切
り替え転送を実行することにより、如何なる開始アドレ
スからも高速にデータ転送することができる。According to this embodiment, the switching means 11 automatically switches to block transfer, word transfer, and fractional transfer, and automatically switches to an optimal transfer method as needed according to the status of transfer data. , Data can be transferred at high speed from any start address.
【0032】図3は端数バイト転送及びブロック転送の
切り替え制御動作を示すフローチャートである。切り替
え手段11は、転送時に設定される、総転送データ量,
転送元アドレス,転送先アドレス,残り転送バイト数等
からハードウェア的に転送量を算出し、随時変化する転
送状況に応じて最適な転送モード切り替えを行なう。FIG. 3 is a flowchart showing the switching control operation between fractional byte transfer and block transfer. The switching means 11 sets the total transfer data amount set at the time of transfer,
The transfer amount is calculated in hardware from the transfer source address, the transfer destination address, the remaining transfer byte number, and the like, and the optimum transfer mode is switched according to the transfer situation that changes as needed.
【0033】即ち、先ず転送先の転送開始アドレス値の
下位2ビット(A30,A31)を参照し、“A30,
A31=0,0”であるかどうかチェックする(S
1)。転送データは1ワード当たり4バイト(32ビッ
ト)で表される。That is, first, the lower two bits (A30, A31) of the transfer start address value of the transfer destination are referred to, and "A30, A30,
Check if A31 = 0,0 "(S
1). The transfer data is represented by 4 bytes (32 bits) per word.
【0034】A30,A31=0,0の場合には、デー
タはワードで始まり、端数データの場合にはA30,A
31の何れかに1があることになる。A30,A31=
0,0の場合にはワードデータとなり、それ以外の場合
には端数データとなることを更に詳細に説明する。図4
は32ビット(4バイト)メモリのマップを示してい
る。図より明らかなように、転送開始がワードで始まる
場合には、開始アドレスの値の最後が0,4,8,C
(16進)の何れかであり、それ以外はワードの途中か
ら始まることになり、これを端数とする。If A30, A31 = 0, 0, the data starts with a word, and if fractional data, A30, A31
There will be 1 in any of 31. A30, A31 =
It will be described in more detail that word data is obtained in the case of 0, 0 and fractional data in other cases. FIG.
Indicates a 32-bit (4-byte) memory map. As is apparent from the figure, when the transfer starts with a word, the end of the value of the start address is 0, 4, 8, C
(Hexadecimal), and the others start in the middle of the word, and this is a fraction.
【0035】このアドレスの最後の値をバイナリ(ビッ
トA0〜A31)で見てみると、以下のようになる。 となり、ワードで始まる場合には、下位2ビットA3
0,A31は必ず0,0となる。これに対して、それ以
外の端数の場合には、以下のようになる。Looking at the last value of this address in binary (bits A0 to A31), the result is as follows. And if it starts with a word, the lower 2 bits A3
0 and A31 are always 0 and 0. On the other hand, in the case of other fractions, the result is as follows.
【0036】 となり、必ずA30,A31の何れかに1があることに
なる。従って、 A30,A31=0,0 の時はワード開始の転送 A30,A31≠0,0 の時は端数からの転送 と識別できることになる。[0036] Thus, there is always 1 in either A30 or A31. Therefore, when A30, A31 = 0, 0, it can be identified as a transfer at the beginning of a word, and when A30, A31 ≠ 0, 0, it can be identified as a transfer from a fraction.
【0037】下位2ビットが“0,0”以外と判定した
時、切り替え手段11は、その2ビットの0/1の組み
合わせにより有効端数バイト位置を識別するバイトコン
トロール信号(BC)を生成する(S2)。When it is determined that the lower two bits are other than "0, 0", the switching means 11 generates a byte control signal (BC) for identifying the effective fraction byte position by a combination of the two bits 0/1 (see FIG. 2). S2).
【0038】バイトコントロール信号BCは下位2ビッ
トに対応して4種類存在する。バイトコントロール信号
は以下の通りである。 転送開始アドレス下位2ビット=0,0の時0000(BC0) =0,1の時1000(BC1) =1,0の時1100(BC2) =1,1の時1110(BC3) これらコントロール信号BCは、4バイト(1ワード)
のどのバイトデータが有効かを示す信号である。There are four types of byte control signals BC corresponding to the lower two bits. The byte control signals are as follows. Lower 2 bits of transfer start address = 0,0 0000 (BC0) = 0,1 1000 (BC1) = 1,0 1100 (BC2) = 1,1 1110 (BC3) These control signals BC Is 4 bytes (1 word)
Is a signal indicating which byte data is valid.
【0039】バイトコントロール信号が生成されたら、
端数分のデータ転送を実行する(S3)。即ち、切り替
え手段11は、このバイトコントロール信号により、転
送元から読み出してきたデータの先頭が有効端数データ
の先頭になるようにデータを並び替え、書き込みデータ
と同時にバイトコントロール信号を送出し、転送先有効
端数バイト領域に一度にデータを書き込む。When the byte control signal is generated,
A fractional data transfer is executed (S3). That is, the switching means 11 rearranges the data by the byte control signal so that the head of the data read from the transfer source is the head of the effective fraction data, sends out the byte control signal simultaneously with the write data, and Write data to the effective fraction byte area at once.
【0040】次に、切り替え手段11は、初期設定アド
レスを転送終了毎にからアドレス値を4(16進)だけ
減算する(S4)。その後、切り替え手段11は、アド
レス下位4ビットA28,A29,A30,A31=
0,0,0,0であるかどうかチェックする(S5)。
オール0でない場合には、データはワードデータ、オー
ル0の時にはそれ以外のデータ(ブロックデータ)であ
る。Next, the switching means 11 subtracts the address value by 4 (hexadecimal) from the initial set address every time the transfer is completed (S4). Thereafter, the switching means 11 outputs the lower 4 bits of the address A28, A29, A30, A31 =
It is checked whether it is 0,0,0,0 (S5).
If it is not all 0, the data is word data, and if it is all 0, it is other data (block data).
【0041】次に、下位4ビットがオール0でない時に
はワードデータ、下位4ビットがオール0の時にはブロ
ックデータとなる理由について説明する。図5に示すよ
うに、1ブロックは16バイトからなり、ブロック転送
では、この1ブロックを1つの単位として転送する。こ
のため、ブロック転送の開始は、各ブロックの先頭であ
る00000000,00000010,000000
20,00000030,…のアドレスの時に可能であ
る。これをバイナリ情報で示すと、以下のようになる。Next, the reason why word data is used when the lower 4 bits are not all 0s and block data when the lower 4 bits are all 0s will be described. As shown in FIG. 5, one block is composed of 16 bytes. In block transfer, this one block is transferred as one unit. Therefore, the start of the block transfer is 00000000000000000000000, which is the head of each block.
It is possible when the address is 20,00000000,.... This is represented by binary information as follows.
【0042】 A26,A27,A28,A29,A30,A31 00000000= 0 0 0 0 0 0 00000004= 0 0 0 1 0 0 00000008= 0 0 1 0 0 0 0000000C= 0 0 1 1 0 0 00000010= 0 1 0 0 0 0 00000014= 0 1 0 1 0 0 00000018= 0 1 1 0 0 0 0000001C= 0 1 1 1 0 0 00000020= 1 0 0 0 0 0 これより、ブロック可能アドレスの時には、A28〜A
31が必ずオール0の状態となることが分かる。A26, A27, A28, A29, A30, A31 0000 000 = 0000 0000 000 0004 = 0000 0000 0000 0008 = 0000 0000 0000 000 C 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 From this, when the address is blockable, A28 to A
It can be seen that 31 is always in an all 0 state.
【0043】アドレス値がオール0でない時には、切り
替え手段11は、4バイト単位のデータ転送モード(ワ
ード転送モード)に切り替え、データのワード転送を実
行する(S6)。このワード転送モードは、ブロック転
送ができる領域まで実行される。1ワードの転送が終了
したら、アドレス値を4(16進)だけ減算し、A28
〜A31のアドレス値のチェックを行なう(S5)。下
位4ビットのアドレス値が4ビット共にオール0になる
までワード転送が続行される。When the address values are not all 0, the switching means 11 switches to the data transfer mode (word transfer mode) in units of 4 bytes, and executes data word transfer (S6). This word transfer mode is executed up to an area where block transfer can be performed. When the transfer of one word is completed, the address value is subtracted by 4 (hexadecimal), and A28
The address values of .about.A31 are checked (S5). Word transfer continues until the address values of the lower 4 bits are all 0s.
【0044】アドレスの下位4ビットがオール0になっ
たら、残りバイト数よりブロック転送可否判断を行なう
(S7)。この可否判断は、残りのバイト数に1ブロッ
ク単位の16バイトが含まれているかの判断になる。こ
のため、切り替え手段11は以下の演算を行なう。When the lower 4 bits of the address are all 0, it is determined whether or not block transfer is possible based on the number of remaining bytes (S7). This determination is made as to whether the remaining number of bytes includes 16 bytes in units of one block. Therefore, the switching means 11 performs the following calculation.
【0045】総転送バイト数−(ブロック転送開始可能
アドレス−転送開始アドレス)=ブロック転送以降の残
り転送数 次に、切り替え手段11は、ブロック転送開始可能アド
レス以降の残り転送バイト数をチェックする(S8)。
そして、残り転送バイト数がブロック単位の整数倍より
も大きい場合には、ブロック転送を実行する(S9)。
1ブロックの転送が終了したら、残りバイト数を求め
(S7)、残りバイト数がブロック単位の整数倍あるか
どうかチェックする(S8)。以下、残りバイト数がブ
ロック単位の整数倍にならなくなるまでブロック転送を
続行する。Total transfer byte number- (block transfer start address-transfer start address) = remaining transfer number after block transfer Next, the switching unit 11 checks the remaining transfer byte number after the block transfer start address. S8).
If the number of remaining transfer bytes is larger than an integral multiple of the block unit, block transfer is executed (S9).
When the transfer of one block is completed, the number of remaining bytes is obtained (S7), and it is checked whether the number of remaining bytes is an integral multiple of the block unit (S8). Hereinafter, block transfer is continued until the number of remaining bytes does not become an integral multiple of the block unit.
【0046】残りバイト数がブロック単位の整数倍にな
らなくなったら、切り替え手段11は、残りバイト数が
幾らであるかチェックする(S10)。残りバイト数が
4バイトよりも大きい場合にはワード転送を実行する
(S11)。残りバイト数が3バイト以下の場合にはバ
イトコントロール信号BCを生成した後(S12)、端
数分のデータの転送を行なう(S13)。これにて全デ
ータの転送が終了する。なお、ステップS10におい
て、残りバイト数が0の場合には、転送が終了する。When the number of remaining bytes does not become an integral multiple of the block unit, the switching means 11 checks the number of remaining bytes (S10). If the number of remaining bytes is larger than 4 bytes, word transfer is performed (S11). If the number of remaining bytes is 3 bytes or less, after generating the byte control signal BC (S12), the data of the fraction is transferred (S13). This completes the transfer of all data. If the number of remaining bytes is 0 in step S10, the transfer ends.
【0047】図6は本発明による転送データの割り振り
を示す図である。図の最小矩形が1バイト単位のデータ
である。最初のデータは○1〜○3までの3バイトの端
数データ、次の○4から○6までは3個の1ワードデー
タ、○7〜○10までは16バイトのブロック転送デー
タ、次の○11は1ワードデータ、最後の○12は1バ
イトの端数データである。FIG. 6 is a diagram showing allocation of transfer data according to the present invention. The minimum rectangle in the figure is data in units of 1 byte. The first data is three-byte fraction data of ○ 1 to ○ 3, the next ○ 4 to ○ 6 are three 1-word data, the ○ 7 to ○ 10 are 16-byte block transfer data, the next ○ 11 is one word data, and the last ○ 12 is one byte of fractional data.
【0048】以下、本発明によるデータ転送時間が従来
のシステムよりどれだけ短縮されるかを示す。図7は本
発明によるモード切り替え転送の説明図であり、(a)
が従来例、(b)が本発明によるものである。(a)の
従来例は図19に示したものと同じである。The following shows how the data transfer time according to the present invention is shortened compared with the conventional system. FIG. 7 is an explanatory diagram of the mode switching transfer according to the present invention.
Is a conventional example, and (b) is according to the present invention. The conventional example of (a) is the same as that shown in FIG.
【0049】従来例の場合には、バス調停を含んで、端
数データ○1〜○3は1バイトずつの転送、以降の○4
〜○11はワード転送、余りの端数○12は端数データ
転送となっている。これに対して、本発明では、バス調
停を含んで端数○1〜○3は一括転送、次の○4〜○6
はワード転送、○7〜○10はブロック転送、○11は
ワード転送、最後の端数○12は端数転送となる。この
結果、従来例と本願発明との転送に要する時間の短縮量
は、図に示すようにΔT1となる。In the case of the conventional example, the fraction data ○ 1 to 33 are transferred one byte at a time, including the bus arbitration.
○ 11 is word transfer, and the remaining fraction 、 12 is fraction data transfer. On the other hand, according to the present invention, the fractions ○ 1 to ○ 3 including the bus arbitration are transferred collectively, and the following ○ 4 to ○ 6
Is word transfer, ○ 7 to 1010 are block transfer, 1111 is word transfer, and the last fraction 1212 is fraction transfer. As a result, the amount of time required for the transfer between the conventional example and the present invention is reduced by ΔT 1 as shown in FIG.
【0050】図8は本発明によるモード切り替え転送の
他の説明図である。(a)は従来例によるもの、(b)
は本発明によるものである。(a)の従来例は図20に
示したものと同じである。従来例の場合には、バス調停
を含んで端数データである○1〜○3までの端数につい
ては、端数分の1ワードを読み込んでデータ書き替え操
作を行ない、○1〜○3の一括転送を行なう。次の○4
〜○11まではワード転送を行なう。最後の端数データ
○12については、端数分の1ワードを読み込んでデー
タの書き替えを行ない、データ転送する。(b)に示す
本発明のデータ転送は、図7と同じである。この結果、
従来例と本願発明との転送に要する時間の短縮量は、図
に示すようにΔT2となる。FIG. 8 is another explanatory diagram of the mode switching transfer according to the present invention. (A) is based on the conventional example, (b)
Is according to the invention. The conventional example of (a) is the same as that shown in FIG. In the case of the conventional example, with respect to the fraction data of ○ 1 to ○ 3 which include the fractional data including the bus arbitration, a word of the fraction is read and the data rewriting operation is performed, and the batch transfer of ○ 1 to ○ 3 is performed. Perform Next ○ 4
Word transfer is performed up to ○ 11. Regarding the last fractional data 1212, one word of the fraction is read, the data is rewritten, and the data is transferred. The data transfer of the present invention shown in (b) is the same as in FIG. As a result,
The amount of time required for transfer between the conventional example and the present invention is ΔT 2 as shown in the figure.
【0051】図9は本発明によるモード切り替え転送の
他の説明図である。(a)は従来例によるもの、(b)
は本発明によるものである。(a)の従来例は図21に
示したものと同じである。従来例の場合には、バス調停
を含んで端数データである○1〜○3までの端数につい
ては、DMACによりMPUに対して端数通知を出し、
MPUからの端数転送になる。FIG. 9 is another explanatory diagram of the mode switching transfer according to the present invention. (A) is based on the conventional example, (b)
Is according to the invention. The conventional example of (a) is the same as that shown in FIG. In the case of the conventional example, for the fractions of ○ 1 to ○ 3 which are fraction data including the bus arbitration, a fraction notification is issued to the MPU by the DMAC,
It is a fraction transfer from the MPU.
【0052】MPUは、端数転送を終了したら、DMA
Cに転送完了通知を出す。転送完了通知を受けたDMA
Cは、残りの○4〜○11まではバス調停を含むワード
転送になる。最後の端数の○12については、DMAC
からMPUに端数通知がなされ、MPUがこの端数デー
タを転送する。この結果、従来例と本願発明との転送に
要する時間の短縮量は、図に示すようにΔT3となる。When the MPU finishes the fraction transfer, the MPU
Send a transfer completion notice to C. DMA receiving transfer completion notification
C is a word transfer including bus arbitration for the remaining ○ 4 to 1111. For the last fraction of ○ 12, DMAC
Is notified to the MPU, and the MPU transfers the fraction data. As a result, the amount of time required for the transfer between the conventional example and the present invention is reduced by ΔT 3 as shown in FIG.
【0053】(B)2バス間独立転送 上述の実施の形態例では、端数バイト転送及びワード,
ブロック転送について説明した。ここでは、2バス間独
立転送の場合について説明する。図10はバス間独立転
送の説明図である。(a)は従来例を、(b)は本発明
を示す。従来のシステムでは、転送元のバスと転送先の
データを独立に動作させるために2方向バッファGを設
けていた。(B) Independent transfer between two buses In the above embodiment, fractional byte transfer and word,
Block transfer has been described. Here, a case of independent transfer between two buses will be described. FIG. 10 is an explanatory diagram of the independent transfer between buses. (A) shows a conventional example, and (b) shows the present invention. In the conventional system, a two-way buffer G is provided to operate the transfer source bus and the transfer destination data independently.
【0054】本発明では、2つのバス各々にアドレスバ
スとデータバスを設け、DMAC内部でお互いのバスの
転送状況を監視しながら、2つのバスを独立に動作させ
ることにより、転送先のデータ書き込み処理中に、次の
転送元からのデータ読み取り動作を並行して行わせるこ
とを可能にすることができ、データ転送処理の高速化を
図ることができる。According to the present invention, an address bus and a data bus are provided for each of the two buses, and while the transfer status of each bus is monitored inside the DMAC, the two buses are independently operated to write data at the transfer destination. During the processing, the data reading operation from the next transfer source can be performed in parallel, and the speed of the data transfer processing can be increased.
【0055】また、転送元、転送先で並行処理を行なう
ため、バス直結型のシングルアドレスモードと同程度の
高速転送を可能にする上、DMAC内部に一旦データを
取り込むため、DMAC内部でのデータの並び替えを行
なうことにより、転送元とは異なる任意の転送先アドレ
スにデータを転送することが可能となる。また、メモリ
−メモリ間転送もサポートすることが可能となる。Further, since parallel processing is performed at the transfer source and the transfer destination, high-speed transfer can be performed at the same level as in the single address mode of the direct connection type to the bus. , It is possible to transfer data to an arbitrary transfer destination address different from the transfer source. Further, it is possible to support memory-memory transfer.
【0056】従来、2つのバスにまたがる転送を行なう
場合、アドレスバスとデータバスの両方のバスで切り替
えて転送する方式をとっている。図11は2つのバス間
にまたがる従来のデータ転送方式の説明図である。アド
レスバス32本、データバス32本の合計64本のバス
が設けられている。図中第1のハッチングはバスの占有
時間を、第2のハッチングはバス調停時間を示す。Conventionally, when a transfer is performed over two buses, a transfer method is adopted in which the transfer is performed by switching over both the address bus and the data bus. FIG. 11 is an explanatory diagram of a conventional data transfer method spanning two buses. A total of 64 buses, 32 address buses and 32 data buses, are provided. In the figure, the first hatching indicates the bus occupation time, and the second hatching indicates the bus arbitration time.
【0057】デバイス4Cのデータ(Aバスのデータ)
をデバイス4D(Bバスのデータ)に転送する場合、D
MAC6は先ずAバスを介してデバイス4Cのデータ
を読み出して、バスの切り替えを行ない、Bバスを介し
てデバイス4Dにデータを書き込む。次に、DMAC
はAバスを介してデバイス4Cのデータを読み出し
て、バスの切り替えを行ない、Bバスを介してデバイス
4Dにデータを書き込む。以上のような操作をデータ
の数だけ行なう。Data of device 4C (A bus data)
Is transferred to the device 4D (data on the B bus).
The MAC 6 first reads the data of the device 4C via the A bus, switches the bus, and writes the data to the device 4D via the B bus. Next, DMAC
Reads the data of the device 4C via the A bus, switches the bus, and writes the data to the device 4D via the B bus. The above operation is performed for the number of data.
【0058】従来のシステムでは、このように転送元デ
バイスからのデータを読み出し、その後バスを切り替え
て転送先デバイスに対してデータを書き込む転送を行な
っている。このため、1回のデータ転送に2つのサイク
ル(読み出し1サイクル、書き込み1サイクル)を必要
とし、更にバス権を獲得するためにバス調停サイクルが
入り、即座にバス権が獲得できない場合には、バス権獲
得まで待たされることになり、全体的に図に示すように
非常に長い総転送時間を必要とする。In the conventional system, the data is read from the transfer source device, and the data is transferred to the transfer destination device by switching the bus. Therefore, one cycle of data transfer requires two cycles (one cycle of reading and one cycle of writing), and furthermore, a bus arbitration cycle is entered to acquire the bus right. If the bus right cannot be acquired immediately, Since the user has to wait until the bus right is acquired, a very long total transfer time is required as a whole as shown in the figure.
【0059】図12は2つのバス間にまたがる本発明の
データ転送方式の説明図である。本発明では、アドレス
バスとデータバスを2対持たせ、DMAC10内のバッ
ファにデータを読み込みつつ、同時に書き込み処理を行
なうものである。図より明らかなように、Aバスから1
回のバス調停処理の後、データ〜を連続して読み出
し、一方、Bバスでは1回のバス調停処理の後、Aバス
に若干遅れてデータ〜の書き込みを行なっている。FIG. 12 is an explanatory diagram of the data transfer method according to the present invention over two buses. In the present invention, two pairs of an address bus and a data bus are provided, and data is simultaneously written to a buffer in the DMAC 10 while being read. As is clear from the figure, 1
After the first bus arbitration process, the data is continuously read. On the other hand, in the B bus, after the first bus arbitration process, the data is written slightly behind the A bus.
【0060】このような並行処理により、転送先にデー
タを書き込んでいる最中に次のデータを転送元から読み
出して来ることができ、転送元、転送先共にロスなく連
続的なデータ転送が可能となり、バスを直結させた形の
シングルアドレスモードと同等の転送速度を実現するこ
とができる。また、バス直結型とは異なり、両方のバス
のバス権が両方獲得できるまで待つ必要がなく、転送開
始までのロス時間をなくすことができる。このため、総
転送時間は、図11の従来システムの場合に比較して、
Δtだけ短縮される。By such parallel processing, the next data can be read from the transfer source while data is being written to the transfer destination, and continuous data transfer can be performed without loss at both the transfer source and the transfer destination. Thus, a transfer speed equivalent to the single address mode in which the bus is directly connected can be realized. Also, unlike the direct bus connection type, there is no need to wait until both bus rights can be acquired for both buses, and the loss time until the start of transfer can be eliminated. Therefore, the total transfer time is smaller than that of the conventional system shown in FIG.
It is reduced by Δt.
【0061】図13は本発明によるDMAコントローラ
10の一実施の形態例を示す回路図である。図におい
て、12は読み出されたデータの数をカウントする読み
出しカウンタ、13はデータを書き込む毎にカウントす
る書き込みカウンタである。14は読み出しカウンタ1
2の出力と、書き込みカウンタ13の出力とを比較し、
比較結果に応じてデータの読み込み開始と停止及び再開
処理を制御する比較器である。FIG. 13 is a circuit diagram showing one embodiment of the DMA controller 10 according to the present invention. In the figure, 12 is a read counter for counting the number of read data, and 13 is a write counter for counting every time data is written. 14 is a read counter 1
2 and the output of the write counter 13,
This is a comparator that controls data reading start, stop, and restart processing according to the comparison result.
【0062】15は読み出されたデータを受けるバッフ
ァ、17は読み出されたバッファを保持するデータバッ
ファ、16は該データバッファ17から読み出されたデ
ータを受けるバッファである。データバッファ17は、
比較器14により書き込みと読み出しが制御される。こ
のように構成された回路の動作を説明すれば、以下の通
りである。Reference numeral 15 denotes a buffer for receiving the read data, reference numeral 17 denotes a data buffer for holding the read buffer, and reference numeral 16 denotes a buffer for receiving the data read from the data buffer 17. The data buffer 17
Writing and reading are controlled by the comparator 14. The operation of the circuit thus configured will be described as follows.
【0063】読み込まれたデータがバッファ15を介し
て入力される度に、読み出しカウンタ12は1だけ更新
される。そして、データバッファ17に書き込まれる。
データバッファ17に保持されているデータは、読み出
されるが、この時、書き込みカウンタ13は1だけ更新
される。Each time the read data is input via the buffer 15, the read counter 12 is updated by one. Then, the data is written to the data buffer 17.
The data held in the data buffer 17 is read, but at this time, the write counter 13 is updated by one.
【0064】比較器14は、読み出しカウンタ12の出
力と書き込みカウンタ13の出力を比較する。そして、
データバッファ17のフル状態又はエンプティ状態を監
視し、データの読み込み開始、停止及び再開処理を制御
する。つまり、比較器14はデータバッファ17にデー
タがあれば、読み出しを実行させ、空きがあれば書き込
みを実行させる。The comparator 14 compares the output of the read counter 12 with the output of the write counter 13. And
It monitors the full state or the empty state of the data buffer 17 and controls the start, stop and restart processing of data reading. That is, if there is data in the data buffer 17, the comparator 14 executes reading, and if there is free space, executes the writing.
【0065】この実施の形態例によれば、2つのバスの
並行処理が可能となり、転送元,転送先共にロスなく連
続的な高速データ転送を実現しつつ、任意の転送開始ア
ドレスからのデータ転送を実現することができる。According to this embodiment, parallel processing of two buses is possible, and data transfer from an arbitrary transfer start address is realized while realizing continuous high-speed data transfer at both the transfer source and the transfer destination without loss. Can be realized.
【0066】図14は本発明によるデータ並び替え転送
の説明図である。DMAC10において、18は読み込
んだデータの順を並び替えて出力する並び替え手段であ
る。2対のアドレスバスとデータバスを具備すると、ア
ドレスバスが個別にあることになり、2つのアドレスバ
スそれぞれに独立に転送元/転送先アドレス情報を出力
することができる。これにより、アドレスを必要とする
メモリ等のデバイス同士のデータ直接転送が可能とな
る。FIG. 14 is an explanatory diagram of data rearrangement transfer according to the present invention. In the DMAC 10, reference numeral 18 denotes a rearranging means for rearranging the order of the read data and outputting the rearranged data. When two pairs of address buses and data buses are provided, the address buses are individually provided, so that transfer source / destination address information can be output to each of the two address buses independently. This enables direct data transfer between devices such as memories that require addresses.
【0067】また、並び替え手段18によりDMAC内
部でのデータの並び替えが可能となるため、転送元と転
送先のデータ構成が異なっていても転送することができ
る。即ち、並び替え手段18を用いて読み込んだデータ
とは異なるデータの並びで書き込み側にデータ転送する
ことができる。Further, since the rearrangement means 18 enables rearrangement of data inside the DMAC, data can be transferred even if the data structure of the transfer source and the transfer destination is different. In other words, data can be transferred to the writing side in a data arrangement different from the data read using the rearrangement means 18.
【0068】図15は本発明による並び替え手段18の
一実施の形態例を示す回路図である。図において、20
は読み込みデータを切り替える読み込み方路制御部、2
1は書き込みデータを切り替える書き込み方路制御部で
ある。22は32ビット幅のデータを深さ方向にラッチ
する8ビット単位のフリップフロップである。このフリ
ップフロップ22は、読み出しデータを全部保持できる
だけの容量(深さ)が必要である。FIG. 15 is a circuit diagram showing an embodiment of the sorting means 18 according to the present invention. In the figure, 20
Is a read route control unit for switching read data, 2
Reference numeral 1 denotes a write path control unit that switches write data. Reference numeral 22 denotes an 8-bit flip-flop that latches 32-bit data in the depth direction. The flip-flop 22 needs a capacity (depth) enough to hold all the read data.
【0069】23はバイト単位に設けられた読み込みカ
ウンタ、24はバイト単位に設けられた書き込みカウン
タである。この実施の形態例では、データ幅が32ビッ
ト(4バイト)であるので、それぞれ4個ずつ設けられ
ている。読み込みカウンタ23には転送元開始アドレス
値が初期値して入力され、書き込みカウンタ24には転
送先開始アドレス値が初期値として入力されている。読
み込みデータの並びと書き込みデータの並びは、図14
に示したものと同じであるものとする。Reference numeral 23 denotes a read counter provided in byte units, and reference numeral 24 denotes a write counter provided in byte units. In this embodiment, since the data width is 32 bits (4 bytes), four data widths are provided. The source counter start address value is input to the read counter 23 as an initial value, and the destination start address value is input to the write counter 24 as an initial value. The arrangement of the read data and the arrangement of the write data are shown in FIG.
Shall be the same as shown in FIG.
【0070】各読み込みカウンタ23の出力はそれぞれ
対応するフリップフロップ22のライトイネーブル(W
E)に接続され、各書き込みカウンタ24の出力は、そ
れぞれ対応するフリップフロップ22のアウトイネーブ
ル(OE)に接続されている。このように構成された回
路の動作を説明すれば、以下の通りである。The output of each read counter 23 is the write enable (W) of the corresponding flip-flop 22.
E), and the output of each write counter 24 is connected to the out enable (OE) of the corresponding flip-flop 22. The operation of the circuit thus configured will be described as follows.
【0071】読み込みデータは、(A,B,C),
(D,E,F,G)の順に読み込み方路制御部20に入
力される。該読み込み方路制御部20は、転送元開始ア
ドレスを受けて入力された4バイトのデータの方路切り
替えを行なう。そして、該読み込み方路制御部20から
は方路の切り替えが行なわれたデータが出力され、読み
込みカウンタ23で指定される番地のフリップフロップ
22に書き込まれる。書き込み動作を繰り返して、全て
の読み込みデータがフリップフロップ22に書き込まれ
る。The read data is (A, B, C),
(D, E, F, G) are input to the reading method control unit 20 in this order. The read route control unit 20 receives the transfer source start address and switches the route of the input 4-byte data. Then, the read route control unit 20 outputs the data whose route has been switched, and writes the data into the flip-flop 22 at the address designated by the read counter 23. By repeating the write operation, all read data is written to the flip-flop 22.
【0072】一方、前記フリップフロップ22には、書
き込みカウンタ24の出力も入力されており、これら書
き込みカウンタ24で指定されるフリップフロップ22
の出力が読み出され、書き込み方路制御部21に入る。
該書き込み方路制御部21には、転送先開始アドレスが
入力されており、このアドレスに従ってその方路が切り
替えられる。この結果、先ず最初にデータAのみが読み
出され、次にデータ(B,C,D,E)が読み出され
る。On the other hand, the output of the write counter 24 is also input to the flip-flop 22, and the flip-flop 22 specified by the write counter 24 is also input.
Is read out and enters the write route control unit 21.
The transfer destination start address is input to the write route control unit 21, and the route is switched according to this address. As a result, first, only the data A is read, and then the data (B, C, D, E) is read.
【0073】このように、この実施の形態例によれば、
並び替え手段を用いて読み込んだデータとは異なるデー
タの並びで書き込み側にデータ転送することができる。As described above, according to this embodiment,
The data can be transferred to the writing side in a data sequence different from the data read using the rearranging means.
【0074】[0074]
【発明の効果】以上、詳細に説明したように、本発明に
よれば、 (1)DMAコントローラとアドレスバス及びデータバ
スが接続され、これらアドレスバス及びデータバスには
少なくともメモリが接続されたDMA転送制御システム
において、前記DMAコントローラは、転送データの状
況に応じて、ブロック転送,ワード転送,端数転送と、
随時最適な転送方法に自動的に切り替え転送を実行する
切り替え手段を具備することにより、切り替え手段が転
送データの状況に応じて、ブロック転送,ワード転送,
端数転送と、随時最適な転送方法に自動的に切り替え転
送を実行することにより、如何なる開始アドレスからも
高速にデータ転送することができる。As described in detail above, according to the present invention, (1) a DMA controller is connected to an address bus and a data bus, and at least a memory is connected to the address bus and the data bus. In the transfer control system, the DMA controller performs a block transfer, a word transfer, and a fraction transfer according to a state of transfer data.
By providing switching means for automatically switching to an optimum transfer method at any time and executing transfer, the switch means can perform block transfer, word transfer, and word transfer in accordance with the status of transfer data.
By automatically performing the fraction transfer and the transfer method that is automatically switched to the optimum transfer method at any time, data can be transferred at a high speed from any start address.
【0075】(2)この場合において、前記アドレスバ
ス2とデータバスを2対持たせ、前記DMAコントロー
ラは2つのバスの転送を独立して行なうことにより、2
対のアドレスバスとデータバスを有し、それぞれのバス
の独立転送制御を行なうことにより、書き込みと読み出
しを同時に並行して行なうことができ、データの高速転
送が可能となる。(2) In this case, two pairs of the address bus 2 and the data bus are provided, and the DMA controller performs the transfer of the two buses independently, whereby
By having a pair of address bus and data bus, and performing independent transfer control of each bus, writing and reading can be performed simultaneously in parallel, and high-speed data transfer becomes possible.
【0076】(3)また、前記DMAコントローラは、
その内部バッファにデータを読み込みつつ、同時に書き
込み処理を行なうためにデータ書き込み数をカウントす
る書き込みカウンタと、読み出しデータ数をカウントす
る読み出しカウンタを設け、これら書き込みカウンタと
読み出しカウンタの突き合わせ比較により、2つのバス
の転送を並行処理することにより、2つのバスの並行処
理が可能となり、転送元,転送先共にロスなく連続的な
高速データ転送を実現しつつ、任意の転送開始アドレス
からのデータ転送を実現することができる。(3) Further, the DMA controller comprises:
A write counter for counting the number of data writes and a read counter for counting the number of read data are provided for reading data into the internal buffer and simultaneously performing a write process. By performing bus transfer in parallel, two buses can be processed in parallel, realizing data transfer from any transfer start address while achieving continuous high-speed data transfer at both the transfer source and transfer destination without loss. can do.
【0077】(4)更に、前記DMAコントローラ内
に、読み出しデータを並び替える並び替え手段を設け、
読み込んだ側のデータの並びとは異なるデータの並びで
書き込み側にデータ転送することにより、並び替え手段
を用いて読み込んだデータとは異なるデータの並びで書
き込み側にデータ転送することができる。(4) Further, a rearranging means for rearranging read data is provided in the DMA controller,
By transferring data to the writing side in a data arrangement different from the data arrangement on the reading side, it is possible to transfer data to the writing side in a data arrangement different from the data read using the rearranging means.
【0078】このように、本発明によれば、第1に如何
なる開始アドレスからも高速にデータ転送でき、第2に
書き込みと読み出しを並行して行なうことにより、高速
データ転送を行なうことができるDMA転送制御システ
ムを提供することができる。As described above, according to the present invention, first, data can be transferred at high speed from any start address, and second, DMA can be transferred at high speed by performing writing and reading in parallel. A transfer control system can be provided.
【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.
【図2】本発明によるデータ転送の説明図である。FIG. 2 is an explanatory diagram of data transfer according to the present invention.
【図3】端数バイト転送及びブロック転送の切り替え制
御動作を示すフローチャートである。FIG. 3 is a flowchart illustrating a switching control operation of fractional byte transfer and block transfer.
【図4】32ビット(4バイト)メモリのマップを示す
図である。FIG. 4 is a diagram showing a map of a 32-bit (4-byte) memory.
【図5】32ビット(4バイト)メモリの他のマップを
示す図である。FIG. 5 is a diagram showing another map of a 32-bit (4 byte) memory.
【図6】本発明による転送データの割り振りを示す図で
ある。FIG. 6 is a diagram showing allocation of transfer data according to the present invention.
【図7】本発明によるモード切り替え転送の説明図であ
る。FIG. 7 is an explanatory diagram of mode switching transfer according to the present invention.
【図8】本発明によるモード切り替え転送の他の説明図
である。FIG. 8 is another explanatory diagram of the mode switching transfer according to the present invention.
【図9】本発明によるモード切り替え転送の他の説明図
である。FIG. 9 is another explanatory diagram of the mode switching transfer according to the present invention.
【図10】バス間独立転送の説明図である。FIG. 10 is an explanatory diagram of an independent transfer between buses.
【図11】2つのバス間にまたがる従来のデータ転送方
式の説明図である。FIG. 11 is an explanatory diagram of a conventional data transfer method spanning two buses.
【図12】2つのバスの間にまたがる本発明のデータ転
送方式の説明図である。FIG. 12 is an explanatory diagram of a data transfer method according to the present invention that spans between two buses.
【図13】本発明によるDMAコントローラの一実施の
形態例を示す回路図である。FIG. 13 is a circuit diagram showing one embodiment of a DMA controller according to the present invention.
【図14】本発明によるデータ並び替え転送の説明図で
ある。FIG. 14 is an explanatory diagram of data rearrangement transfer according to the present invention.
【図15】本発明による並び替え手段の一実施の形態例
を示す回路図である。FIG. 15 is a circuit diagram showing an embodiment of the rearranging means according to the present invention.
【図16】従来システムの構成例を示すブロック図であ
る。FIG. 16 is a block diagram showing a configuration example of a conventional system.
【図17】従来システムのデータ転送の説明図である。FIG. 17 is an explanatory diagram of data transfer in a conventional system.
【図18】転送データの構成例を示す図である。FIG. 18 is a diagram illustrating a configuration example of transfer data.
【図19】従来システムのデータ転送の第1の例を示す
図である。FIG. 19 is a diagram showing a first example of data transfer in a conventional system.
【図20】従来システムのデータ転送の第2の例を示す
図である。FIG. 20 is a diagram showing a second example of data transfer of the conventional system.
【図21】従来システムのデータ転送の第3の例を示す
図である。FIG. 21 is a diagram showing a third example of data transfer of the conventional system.
【図22】従来システムのデータ転送の第4の例を示す
図である。FIG. 22 is a diagram illustrating a fourth example of data transfer of the conventional system.
【図23】従来システムのデータ転送の第5の例を示す
図である。FIG. 23 is a diagram showing a fifth example of data transfer of the conventional system.
1 MPU 2A アドレスバス 2B アドレスバス 3A データバス 3B データバス 4A メモリ 4B メモリ 5A 入出力装置 5B 入出力装置 10 DMAコントローラ 11 切り替え手段 1 MPU 2A Address bus 2B Address bus 3A Data bus 3B Data bus 4A Memory 4B Memory 5A I / O device 5B I / O device 10 DMA controller 11 Switching means
───────────────────────────────────────────────────── フロントページの続き (72)発明者 芝垣 税 福岡県福岡市早良区百道浜2丁目2番1号 富士通九州通信システム株式会社内 (72)発明者 中村 和幸 福岡県福岡市早良区百道浜2丁目2番1号 富士通九州通信システム株式会社内 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Shibagaki tax 2-2-1 Momichihama, Sawara-ku, Fukuoka, Fukuoka Prefecture Inside Fujitsu Kyushu Communication Systems Co., Ltd. (72) Inventor Kazuyuki Nakamura 2 Momodohama, Sawara-ku, Fukuoka Chome 2-1 Fujitsu Kyushu Communication System Co., Ltd.
Claims (4)
データバスが接続され、これらアドレスバス及びデータ
バスには少なくともメモリが接続されたDMA転送制御
システムにおいて、 前記DMAコントローラは、転送データの状況に応じ
て、ブロック転送,ワード転送,端数転送と、随時最適
な転送方法に自動的に切り替え転送を実行する切り替え
手段を具備することを特徴とするDMA転送制御システ
ム。1. A DMA transfer control system in which a DMA controller is connected to an address bus and a data bus, and at least a memory is connected to the address bus and the data bus. A DMA transfer control system comprising a switching means for automatically performing a block transfer, a word transfer, and a fractional transfer, and automatically performing an appropriate transfer method as needed.
たせ、前記DMAコントローラは2つのバスの転送を独
立して行なうことを特徴とする請求項1記載のDMA転
送制御システム。2. The DMA transfer control system according to claim 1, wherein the address bus and the data bus are provided in two pairs, and the DMA controller performs transfer of the two buses independently.
ッファにデータを読み込みつつ、同時に書き込み処理を
行なうためにデータ書き込み数をカウントする書き込み
カウンタと、読み出しデータ数をカウントする読み出し
カウンタを設け、これら書き込みカウンタと読み出しカ
ウンタの突き合わせ比較により、2つのバスの転送を並
行処理することを特徴とする請求項2記載のDMA転送
制御システム。3. The DMA controller is provided with a write counter for counting the number of data written and a read counter for counting the number of read data in order to perform write processing while reading data into an internal buffer of the DMA controller. 3. The DMA transfer control system according to claim 2, wherein the transfer of the two buses is processed in parallel by a comparison between the read and the read counter.
データを並び替える並び替え手段を設け、読み込んだ側
のデータの並びとは異なるデータの並びで書き込み側に
データ転送することを特徴とする請求項2記載のDMA
転送制御システム。4. The DMA controller according to claim 2, further comprising a rearranging means for rearranging the read data, wherein the data is transferred to the write side in a data arrangement different from the data arrangement on the read side. DMA described
Transfer control system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5738097A JPH10254817A (en) | 1997-03-12 | 1997-03-12 | Dma transfer control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5738097A JPH10254817A (en) | 1997-03-12 | 1997-03-12 | Dma transfer control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10254817A true JPH10254817A (en) | 1998-09-25 |
Family
ID=13054009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5738097A Pending JPH10254817A (en) | 1997-03-12 | 1997-03-12 | Dma transfer control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10254817A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954820B2 (en) | 2001-10-01 | 2005-10-11 | Matsushita Electric Industrial Co., Ltd. | Bus bridge including first and second memory areas corresponding to first and second buses |
WO2009037798A1 (en) * | 2007-09-21 | 2009-03-26 | Mitsubishi Electric Corporation | Data transfer device and data transfer method |
-
1997
- 1997-03-12 JP JP5738097A patent/JPH10254817A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954820B2 (en) | 2001-10-01 | 2005-10-11 | Matsushita Electric Industrial Co., Ltd. | Bus bridge including first and second memory areas corresponding to first and second buses |
US7185137B2 (en) | 2001-10-01 | 2007-02-27 | Matsushita Electric Industrial Co., Ltd. | Bus bridge with stored controlling relay information |
US7360009B2 (en) | 2001-10-01 | 2008-04-15 | Matsushita Electric Industrial Co., Ltd. | Data transfer apparatus for limiting read data by a bus bridge with relay information |
US7516262B2 (en) | 2001-10-01 | 2009-04-07 | Panasonic Corporation | Data transfer apparatus with control of buses to enable reading of predetermined data sizes |
US7685353B2 (en) | 2001-10-01 | 2010-03-23 | Panasonic Corporation | Data transfer apparatus with control of buses to optimize different size data transfers |
WO2009037798A1 (en) * | 2007-09-21 | 2009-03-26 | Mitsubishi Electric Corporation | Data transfer device and data transfer method |
US8073992B2 (en) | 2007-09-21 | 2011-12-06 | Mitsubishi Electric Corporation | Data transfer device and data transfer method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100701419B1 (en) | Method and device for automatically transferring I / O blocks between host system and host adapter | |
US5444853A (en) | System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's | |
US5594877A (en) | System for transferring data onto buses having different widths | |
US20040221075A1 (en) | Method and interface for improved efficiency in performing bus-to-bus read data transfers | |
US4878173A (en) | Controller burst multiplexor channel interface | |
KR20010013137A (en) | Communication DMA Device | |
JP3703532B2 (en) | Computer system with multiplexed address bus | |
US5754802A (en) | Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation | |
JPH10254817A (en) | Dma transfer control system | |
GB2271204A (en) | Memory access system | |
JPH05282242A (en) | Bus control system | |
JPH0736806A (en) | Dma system | |
JP2003085125A (en) | Memory controller and memory control method | |
EP0568678B1 (en) | Device for transmission of data | |
JP3201439B2 (en) | Direct memory access control circuit | |
JP3266610B2 (en) | DMA transfer method | |
JP2710219B2 (en) | DMA controller | |
JP2980163B2 (en) | Data transfer method | |
JP2000132527A (en) | Inter-processor communication controller | |
JP2820054B2 (en) | Bus interface device | |
JPS6145343A (en) | Swapping control system | |
JPS62212745A (en) | Data processor having buffer memory | |
JPS5854478A (en) | Controlling method of main storage | |
JPH0113575B2 (en) | ||
JPH04205452A (en) | Dma controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060811 Effective date: 20060811 Free format text: JAPANESE INTERMEDIATE CODE: A821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070710 |