JPH0567035A - Data alignment system for dma transfer - Google Patents

Data alignment system for dma transfer

Info

Publication number
JPH0567035A
JPH0567035A JP23017991A JP23017991A JPH0567035A JP H0567035 A JPH0567035 A JP H0567035A JP 23017991 A JP23017991 A JP 23017991A JP 23017991 A JP23017991 A JP 23017991A JP H0567035 A JPH0567035 A JP H0567035A
Authority
JP
Japan
Prior art keywords
transfer
data
dma
main bus
array
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
Application number
JP23017991A
Other languages
Japanese (ja)
Inventor
Naofumi Yazaki
直文 矢崎
Shigeru Shibukawa
滋 渋川
Toshiaki Yanokura
利明 矢ノ倉
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.)
Hitachi Instruments Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Instruments Engineering Co Ltd
Hitachi Ltd
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 Hitachi Instruments Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Instruments Engineering Co Ltd
Priority to JP23017991A priority Critical patent/JPH0567035A/en
Publication of JPH0567035A publication Critical patent/JPH0567035A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PURPOSE:To freely set a transfer size, and to shorten a transferring time by using the transfer information of a block by setting a transfer leading address, number of transfer words, and furthermore transfer size at an array table being the transfer information of an array chain mode. CONSTITUTION:When the leading address of data to be transferred is not the multiple of the data length of a main bus 6, an MPU 1 divides the transfer data into plural blocks so that the leading address can be the multiple of the greatest common divisor of the data length, and sets an array table 4 at each block, before transmitting the command of a DMA activation to a DMA controller 5. After the array table is set, the MPU 1 transmits the command of the activation of the DMA transfer in the array chain mode. Thus, the array table 4 is functioned as a means which applies the transfer information of the DMA transfer in the array chain mode. The DMA transfer is operated in the same way even when the number of transfer bites is not the multiple of the data length of the main bus 6.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はDMA転送におけるデー
タアライメント方式に係り、特に、データ処理装置にお
ける記憶装置と入出力装置の間のDMA転送で、データ
の転送先頭アドレス又はデータの転送バイト数がメイン
バスのデータ長の倍数でない場合に、メインバスのデー
タ長を有効に利用してデータ転送するデータアライメン
ト方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data alignment method in a DMA transfer, and more particularly, in a DMA transfer between a storage device and an input / output device in a data processing device, a data transfer start address or a data transfer byte number is The present invention relates to a data alignment method for transferring data by effectively utilizing the data length of the main bus when it is not a multiple of the data length of the main bus.

【0002】[0002]

【従来の技術】演算処理を実行するマイクロプロセッサ
ユニット(以下、MPUと記す)と、演算処理に必要な
データを記憶する記憶装置と、演算処理に必要なデータ
を入出力する入出力装置と、記憶装置と入出力装置の間
でデータをDMA転送するDMAコントローラと、上記
の各装置の間を接続するメインバスから構成される処理
装置において、記憶装置と入出力装置の間でDMA転送
を行う場合に、データの転送先頭アドレス又はデータの
転送バイト数がメインバスのデータ長の倍数でないと
き、従来では、次の2通り転送方式のいずれかで転送を
行っていた。第1の転送方式は、データの転送先頭アド
レス又はデータの転送バイト数とメインバスのデータ長
の最大公約数である転送サイズを転送単位として、転送
しようとするすべてのデータを転送する方式である。第
2の転送方式は、MPUがDMAコントローラに対しデ
ータ転送の起動指令を出す際に、転送しようとするデー
タの転送先頭アドレス又はデータの転送バイト数がメイ
ンバスのデータ長の倍数と最大公約数の倍数になるよう
に、データを複数に分け、分割された複数のデータごと
に複数回のDMA転送起動を行ってデータ転送を行う方
式である。
2. Description of the Related Art A microprocessor unit (hereinafter referred to as MPU) for executing arithmetic processing, a storage device for storing data necessary for arithmetic processing, an input / output device for inputting / outputting data necessary for arithmetic processing, In a processing device including a DMA controller that DMA-transfers data between a storage device and an input / output device, and a main bus that connects the above devices, DMA transfer is performed between the storage device and the input / output device. In this case, when the data transfer start address or the number of data transfer bytes is not a multiple of the data length of the main bus, conventionally, the transfer is performed by one of the following two transfer methods. The first transfer method is a method of transferring all the data to be transferred with the transfer start address of the data or the transfer byte number of the data and the transfer size which is the greatest common divisor of the data length of the main bus as the transfer unit. .. In the second transfer method, when the MPU issues a data transfer start command to the DMA controller, the transfer start address of the data to be transferred or the number of transfer bytes of the data is a multiple of the data length of the main bus and the greatest common divisor. In this method, the data is divided into a plurality of data, and the data transfer is performed by activating the DMA transfer a plurality of times for each of the plurality of divided data.

【0003】[0003]

【発明が解決しようとする課題】従来の処理装置におけ
るDMA転送において、データの転送先頭アドレス又は
データの転送バイト数がメインバスのデータ長の倍数で
ない場合に行われる転送技術では、次のような問題があ
る。前記第1の転送方式によれば、データの転送バイト
数が多いときには、DMAコントローラと記憶装置のそ
れぞれでデータの転送語数が多くなり、転送に要する時
間が長くなるという問題を有する。具体的に、例えば、
メインバスのデータ長が4バイトで、データの転送先頭
アドレスとメインバスのデータ長の最大公約数が1バイ
ト、データの転送バイト数が1キロバイトのときには、
データの転送語数は1キロ語となる。また第2の転送方
式では、複数回のDMA転送起動を行わなければなら
ず、そのため、MPUがDMAコントローラに対しDM
A転送の起動処理と終了処理を行うために要する時間が
長くなるという問題を有する。具体的に、例えば、メイ
ンバスのデータ長が4バイトであり、データの転送先頭
アドレスが$00100001番地で、データ転送バイ
ト数が1キロバイトであるとする。このとき、転送しよ
うとする前記データの転送先頭アドレスがメインバスの
データ長の倍数と最大公約数の倍数になるように転送デ
ータを複数に分割すると、3つにデータブロックに分割
される。従って、MPUがDMAコントローラに対しD
MA転送の起動処理と終了処理を実行する回数は、3回
となる。以上の如く、記憶装置と入出力装置の間のDM
A転送を行う場合に、転送しようとするデータの転送先
頭アドレス又はデータの転送バイト数がメインバスのデ
ータ長の倍数でないとき、従来の転送方式では、データ
転送に長い時間がかかるという不具合を有する。
In the DMA transfer in the conventional processor, the transfer technique performed when the transfer start address of data or the number of transfer bytes of data is not a multiple of the data length of the main bus is as follows. There's a problem. According to the first transfer method, when the number of data transfer bytes is large, the number of data transfer words in each of the DMA controller and the storage device is large, and the time required for the transfer is long. Specifically, for example,
If the data length of the main bus is 4 bytes, the greatest common divisor of the data transfer start address and the data length of the main bus is 1 byte, and the number of data transfer bytes is 1 kilobyte,
The number of data transfer words is 1 kiloword. Further, in the second transfer method, the DMA transfer must be activated a plurality of times, so that the MPU sends the DM to the DMA controller.
There is a problem that the time required to perform the start processing and the end processing of the A transfer becomes long. Specifically, for example, assume that the data length of the main bus is 4 bytes, the data transfer start address is the address $ 00100001, and the number of data transfer bytes is 1 kilobyte. At this time, when the transfer data is divided into a plurality of pieces such that the transfer start address of the data to be transferred is a multiple of the data length of the main bus and a multiple of the greatest common divisor, it is divided into three data blocks. Therefore, the MPU sends a D
The number of times the MA transfer activation process and the MA transfer process are executed is three. As described above, the DM between the storage device and the input / output device
In the case of performing A transfer, when the transfer start address of the data to be transferred or the number of transfer bytes of the data is not a multiple of the data length of the main bus, the conventional transfer method has a problem that it takes a long time to transfer the data. ..

【0004】本発明の目的は、記憶装置と入出力装置の
間のDMA転送においてデータの転送先頭アドレス又は
データの転送バイト数がメインバスのデータ長の倍数で
ない場合に、メインバスのデータ長を有効に利用し、デ
ータ転送に要する処理時間の短縮化を企図したDMA転
送におけるデータアライメント方式を提供することにあ
る。
An object of the present invention is to determine the data length of the main bus when the data transfer start address or the number of data transfer bytes is not a multiple of the data length of the main bus in the DMA transfer between the storage device and the input / output device. It is an object of the present invention to provide a data alignment method in DMA transfer, which is effectively used and is intended to shorten the processing time required for data transfer.

【0005】[0005]

【課題を解決するための手段】本発明に係るDMA転送
におけるデータアライメント方式は、演算処理を実行す
る演算装置と、演算処理に必要なデータを記憶する記憶
装置と、演算処理に必要なデータを入出力する入出力装
置と、記憶装置と入出力装置の各データをDMA転送す
るDMAコントローラと、各構成要素を接続するメイン
バスとからなる処理装置において実行される方式であ
る。演算装置は、記憶装置と入出力装置の間で所定量の
データをDMA転送を行う場合であって前記データの転
送先頭アドレス又は転送バイト数がメインバスのデータ
長の倍数でない場合に、前記データの転送先頭アドレス
又は転送バイト数がメインバスのデータ長の倍数と最大
公約数の倍数になるように、前記データを複数のブロッ
クに分け、複数のブロックのそれぞれについて転送先頭
アドレスと転送語数と転送サイズの転送情報を設定した
アレイテーブルを作成し、DMAコントローラに対し、
アレイチェーンモードによるDMA転送を実行させる。
本発明の特徴は、アレイチェーンモードの転送情報であ
るアレイテーブルに転送先頭アドレスと転送語数ばかり
でなく、転送サイズを設定できるようにした点である。
また前記の方式において、アレイテーブルをDMAコン
トローラの内部に設けるように構成することもできる。
A data alignment method in a DMA transfer according to the present invention includes an arithmetic unit for executing arithmetic processing, a storage unit for storing data necessary for arithmetic processing, and a data necessary for arithmetic processing. This is a method executed in a processing device including an input / output device for inputting / outputting, a DMA controller for DMA-transferring each data of the storage device and the input / output device, and a main bus connecting each component. The arithmetic unit performs the DMA transfer of a predetermined amount of data between the storage device and the input / output device, and when the transfer start address or the transfer byte number of the data is not a multiple of the data length of the main bus, The data is divided into a plurality of blocks such that the transfer start address or the number of transfer bytes is a multiple of the data length of the main bus and a multiple of the greatest common divisor, and the transfer start address, the number of transfer words, and the transfer for each of the plurality of blocks. Create an array table in which size transfer information is set, and send it to the DMA controller.
The DMA transfer in the array chain mode is executed.
A feature of the present invention is that not only the transfer start address and the number of transfer words but also the transfer size can be set in the array table which is the transfer information in the array chain mode.
Further, in the above method, the array table may be provided inside the DMA controller.

【0006】[0006]

【作用】本発明によるDMA転送におけるデータアライ
メント方式では、記憶装置と入出力装置の間のDMA転
送において、データの転送先頭アドレス又はデータの転
送バイト数がメインバスのデータ長の倍数でない場合
に、データの転送バイト数がメインバスのデータ長の倍
数になるように、転送データを複数のデータブロックに
分割し、各データブロックの転送情報を書き込んだアレ
イテーブルを作成する。このアレイテーブルでは、各ブ
ロックごとに転送先頭アドレスと転送語数に加えて、D
MA転送の転送サイズを設定することが可能である。転
送サイズを転送情報に含むことにより、転送語数を少な
くし、演算装置よるDMAコントローラへの起動の回数
が1回で済み、短時間でDMA転送を行える。
According to the data alignment method in the DMA transfer according to the present invention, in the DMA transfer between the storage device and the input / output device, when the transfer start address of the data or the transfer byte number of the data is not a multiple of the data length of the main bus, The transfer data is divided into a plurality of data blocks so that the number of data transfer bytes is a multiple of the data length of the main bus, and an array table is created in which transfer information of each data block is written. In this array table, in addition to the transfer start address and the number of transfer words for each block, D
It is possible to set the transfer size for MA transfer. By including the transfer size in the transfer information, the number of transfer words can be reduced, and the number of times the arithmetic unit is activated by the DMA controller only needs to be one, and DMA transfer can be performed in a short time.

【0007】[0007]

【実施例】以下に、本発明の実施例を添付図面に基づい
て説明する。本発明の第1実施例であるデータ処理装置
の構成を図1に示す。図1に示す如く本発明による処理
装置は、演算処理を実行するMPU1と、演算処理に必
要なデータを記憶する記憶装置2と、演算処理に必要な
データを入出力する入出力装置3と、記憶装置2にデー
タを記憶させるため所要条件で分割されたデータブロッ
クごとに所要の転送情報を設定するアレイテーブル4
と、このアレイテーブル4で設定された転送情報に基づ
き記憶装置2と入出力装置3の間でデータをDMA転送
するDMAコントローラ5と、以上の各装置の間を接続
するメインバス6とから構成されている。
Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 shows the configuration of the data processing apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the processing device according to the present invention includes an MPU 1 for executing arithmetic processing, a storage device 2 for storing data necessary for arithmetic processing, an input / output device 3 for inputting / outputting data necessary for arithmetic processing, Array table 4 for setting required transfer information for each data block divided according to required conditions for storing data in storage device 2
And a DMA controller 5 that DMA-transfers data between the storage device 2 and the input / output device 3 based on the transfer information set in the array table 4, and a main bus 6 that connects the above devices. Has been done.

【0008】上記処理装置において、例えば入出力装置
3から記憶装置2へ所定量のデータをDMA転送する場
合であって転送する前記データの転送先頭アドレスが、
メインバス6のデータ長(例えば4バイト)の倍数でな
い場合には、MPU1は、DMAコントローラ5に対し
DMA起動の指令を出す前に、転送先頭アドレスがメイ
ンバス6のデータ長の倍数の最大公約数の倍数になるよ
うに転送データを複数のブロックA,B,C,…に分割
し、各ブロックについて転送先頭アドレスと転送語数と
転送サイズの転送情報を書き込んだアレイテーブル4を
設定する。図1に示すアレイテーブル4では、内部にブ
ロックA,B,C,…についてそれぞれ転送先頭テーブ
ル、転送語数、転送サイズが書き込まれている例が示さ
れる。そして、かかるアレイテーブルが設定された後
に、MPU1は、DMAコントローラ5に対して、アレ
イチェーンモードによるDMA転送を起動するための指
令を出す。ここで、「アレイチェーンモード」とは、D
MAコントローラ5が、アレイテーブル4に設定された
転送情報を、自身のレジスタ5aに読み込み、読み込ん
だ転送情報に従って記憶装置2と入出力装置3との間の
データ転送を、ブロックA,B,C,…の順序で順次に
実行する動作モードをいう。こうしてアレイテーブル4
は、アレイチェーンモードによるDMA転送の転送情報
を与える手段として機能する。なお、図1におけるDM
Aコントローラ5の内部のレジスタ5aに記されたマー
ク「*」の内容は、アレーチェーンモード時に、アレイ
テーブル4からロードされる。上記のDMA転送の動作
は、転送データのデータ転送バイト数がメインバス6の
データ長の倍数でない場合にも同様に行われる。
In the above processing device, for example, when a predetermined amount of data is DMA-transferred from the input / output device 3 to the storage device 2, the transfer start address of the data to be transferred is
If it is not a multiple of the data length of the main bus 6 (for example, 4 bytes), the MPU 1 sends the DMA controller 5 a DMA start command before the transfer start address is a multiple of the multiples of the data length of the main bus 6. The transfer data is divided into a plurality of blocks A, B, C, ... so as to be a multiple of the number, and the array table 4 in which the transfer start address, the transfer word number, and the transfer information of the transfer size are written is set for each block. The array table 4 shown in FIG. 1 shows an example in which the transfer head table, the number of transfer words, and the transfer size are respectively written in the blocks A, B, C ,. Then, after the array table is set, the MPU 1 issues a command to the DMA controller 5 to activate the DMA transfer in the array chain mode. Here, “array chain mode” means D
The MA controller 5 reads the transfer information set in the array table 4 into its own register 5a, and transfers data between the storage device 2 and the input / output device 3 according to the read transfer information in blocks A, B, and C. It is an operation mode that is executed sequentially in the order of. Array table 4
Functions as means for giving transfer information of the DMA transfer in the array chain mode. In addition, DM in FIG.
The contents of the mark "*" written in the register 5a inside the A controller 5 are loaded from the array table 4 in the array chain mode. The above-described DMA transfer operation is similarly performed when the number of data transfer bytes of the transfer data is not a multiple of the data length of the main bus 6.

【0009】図2に、各ブロックA,B,C,…につい
て転送先頭アドレスと転送語数と転送サイズの転送情報
を書き込んだアレイテーブル4における具体的な設定例
について示す。この実施例では、メインバス6のデータ
長が4バイト、データの転送先頭アドレスが$0010
0001番地、データ転送バイト数が1キロバイトであ
るとしている。アレイテーブル4において例えばブロッ
クA,B,Cに関し、ブロックAでは、データの転送先
頭アドレスが$00100001番地、データ語数が3
語、転送サイズが1バイト、ブロックBでは、データの
転送先頭アドレスが$00100004番地、データ語
数が$FF語、転送サイズが4バイト、ブロックCで
は、データの転送先頭アドレスが$00100400番
地、データ語数が1語、転送サイズが1バイトである。
MPU1が、上記のアレイテーブル4を設定し、DMA
コントローラ5に起動をかけると、順次にブロックA,
B,Cのデータ転送を実行する。
FIG. 2 shows a specific setting example in the array table 4 in which the transfer start address, the transfer word number, and the transfer information of the transfer size are written for each of the blocks A, B, C, .... In this embodiment, the data length of the main bus 6 is 4 bytes, and the data transfer start address is $ 0010.
It is assumed that address 0001 and the number of data transfer bytes are 1 kilobyte. For example, regarding the blocks A, B, and C in the array table 4, in the block A, the data transfer start address is $ 00100001 and the number of data words is 3.
Word, transfer size is 1 byte, in block B, the transfer start address of data is $ 00100004, the number of data words is $ FF word, transfer size is 4 bytes, in block C, the transfer start address of data is $ 00100400, data The number of words is 1 and the transfer size is 1 byte.
The MPU 1 sets the above-mentioned array table 4 and DMA
When the controller 5 is activated, the blocks A,
Data transfer of B and C is executed.

【0010】以上の如く、アレイテーブル4に設定され
る各ブロックの転送情報において、転送先頭アドレスと
転送語数に加えて、転送サイズを設定できるようにし
た。ここで「転送サイズ」とは、バス1サイクルにおい
て転送できるデータ長である。例えば仮にメインバスの
データ長が4バイトで転送先頭アドレスが$00100
001番地、転送サイズが4バイトであるということ
は、アドレス$00100001〜$00100004
にDMAの1サイクルで書き込むことを意味する。しか
し、記憶装置2では$00100001番地がバンダリ
でないために、転送サイズが4バイトであるとすると1
サイクルで記憶することができない。そこで転送サイズ
を1バイトとする。これによれば、DMA転送にてアド
レス$00100001〜$00100004に1サイ
クル1バイトにて書き込むことができる。
As described above, in the transfer information of each block set in the array table 4, the transfer size can be set in addition to the transfer start address and the number of transfer words. Here, the "transfer size" is a data length that can be transferred in one bus cycle. For example, if the data length of the main bus is 4 bytes and the transfer start address is $ 00100.
Address 001 and transfer size of 4 bytes mean that addresses $ 00100001 to $ 00100004
It means that the data is written in one cycle of DMA. However, if the transfer size is 4 bytes in the storage device 2 because the address $ 00100001 is not a boundary, it is 1
Can't remember in cycles. Therefore, the transfer size is set to 1 byte. According to this, it is possible to write to the addresses $ 00100001 to $ 00100004 in 1 byte per cycle by DMA transfer.

【0011】上記の如く、本実施例では転送サイズを効
率良く設定することができる。これにより、処理装置に
おける記憶装置と入出力装置の間のDMA転送におい
て、データの転送先頭アドレス又はデータの転送バイト
数がメインバスのデータ長の倍数でない場合でも、転送
語数が少なく、各DMAコントローラの起動回数が1回
でデータ転送を行うことができる。
As described above, in this embodiment, the transfer size can be set efficiently. As a result, in the DMA transfer between the storage device and the input / output device in the processing device, even if the transfer start address of the data or the transfer byte number of the data is not a multiple of the data length of the main bus, the number of transfer words is small and each DMA controller The data transfer can be performed only once.

【0012】次に、図2に示されたアレイテーブル4の
設定内容に基づいて入出力装置3から記憶装置2に対し
データを転送し、アドレス割付けすると、図3に示すよ
うになる。記憶装置2において、最初のブロックAの転
送では、アドレス$00100001番地〜$0010
0003番地に1バイト転送が3語(図中、A−1,A
−2,A−3で示される)行われ、次のブロックBの転
送では、アドレス$00100004番地〜$0010
03FF番地に4バイト転送が$FF語(図中、B−1
〜B−FF)行われ、最後のブロックCの転送では、ア
ドレス$00100400番地に1バイト転送が1語
(C−1)行われる。
Next, when data is transferred from the input / output device 3 to the storage device 2 based on the setting contents of the array table 4 shown in FIG. 2 and addresses are assigned, it becomes as shown in FIG. In the memory device 2, in the first transfer of the block A, addresses $ 00100001 to $ 0010 are transferred.
1 word transfer to address 0003 in 3 words (A-1, A in the figure)
-2, A-3), and in the next transfer of block B, addresses $ 00100004 to $ 0010.
4-byte transfer to address 03FF is $ FF word (B-1 in the figure
B to B-FF), and in the last transfer of the block C, one word (C-1) is transferred to the address $ 00100400.

【0013】次に、データブロックA〜Cの各データの
DMA転送のアレイチェーンモードによる処理を、図4
のフローチャートに従って説明する。MPU1は、アレ
イテーブル4を、前述した図2に示す構成にて設定し
(ステップ11)、DMAコントローラ5に対しアレイ
モードチェーンのDMA転送の起動をかける(ステップ
12)。これによりDMAコントローラ5は、最初に、
アレイテーブル4におけるブロックAを、自身のレジス
タに読み込み(ステップ13)、これらの転送情報に従
い、記憶装置2と入出力装置3との間でブロックAのデ
ータを転送する(ステップ14)。ブロックAに関する
上記動作と同様な動作を、ブロックBのデータ(ステッ
プ15,16)とブロックCのデータ(ステップ17,
18)に関して継続して行う。最後に、MPU1がDM
Aコントローラ5の終了処理を実行する(ステップ1
9)。
Next, the processing in the array chain mode of the DMA transfer of each data of the data blocks A to C will be described with reference to FIG.
It will be described according to the flowchart of The MPU 1 sets the array table 4 in the configuration shown in FIG. 2 described above (step 11), and activates the DMA transfer of the array mode chain to the DMA controller 5 (step 12). As a result, the DMA controller 5 first
The block A in the array table 4 is read into its own register (step 13), and the data of the block A is transferred between the storage device 2 and the input / output device 3 according to the transfer information (step 14). The same operation as the above-mentioned operation regarding the block A is performed by the data of the block B (steps 15 and 16) and the data of the block C (step 17,
Continue to step 18). Finally, the MPU1 is DM
A termination process of the A controller 5 is executed (step 1
9).

【0014】以上の如く、メインバス6のデータ長が4
バイトで、データの転送先頭アドレスが$001000
01番地、データ転送バイト数1キロバイトの場合であ
っても、DMAコントローラ5の1回の起動により、転
送語数$103語で、データ転送を行うことができる。
As described above, the data length of the main bus 6 is 4
Data transfer start address in bytes is $ 001000
Even if the address is 01 and the data transfer byte count is 1 kilobyte, the data transfer can be performed with the transfer word count of $ 103 words by one activation of the DMA controller 5.

【0015】前記の実施例による処理装置では、アレイ
テーブル4を、メインバス6に接続される独立の装置と
して構成した。しかしながら、この装置構成では、DM
Aコントローラ5がアレイテーブル4の設定内容を読み
出すという動作が必要なる。そこで、他の実施例の構成
としては、図5に示すように、アレイテーブル20をD
MAコントローラ21内のレジスタとして構成すること
もできる。この実施例による構成では、DMA転送に要
する時間を更に短くすることができる。
In the processing apparatus according to the above-mentioned embodiment, the array table 4 is constructed as an independent apparatus connected to the main bus 6. However, with this device configuration, DM
It is necessary for the A controller 5 to read the setting contents of the array table 4. Therefore, as the configuration of another embodiment, as shown in FIG.
It can also be configured as a register in the MA controller 21. With the configuration according to this embodiment, the time required for the DMA transfer can be further shortened.

【0016】[0016]

【発明の効果】以上の説明で明らかなように本発明によ
れば、記憶装置と入出力装置との間のDMA転送におい
て、アレイチェーンモードの転送情報であるアレイテー
ブルに転送先頭アドレスと転送語数に加えて転送サイズ
を設定するよう構成したため、転送サイズを自由に設定
することができる。従って、データの転送先頭アドレス
又は転送バイト数がメインバスのデータ長の倍数でない
場合に、データの転送先頭アドレス又は転送バイト数が
メインバスのデータ長の倍数と最大公約数の倍数になる
ように転送データを複数のブロックに分けることがで
き、各ブロックの転送情報を利用して1回の転送起動で
データのDMA転送を行うことができ、転送時間の短縮
することができる。
As is apparent from the above description, according to the present invention, in the DMA transfer between the storage device and the input / output device, the transfer start address and the transfer word number are stored in the array table which is the transfer information in the array chain mode. In addition to the above, since the transfer size is set, the transfer size can be set freely. Therefore, if the data transfer start address or the number of transfer bytes is not a multiple of the main bus data length, the data transfer start address or the number of transfer bytes should be a multiple of the main bus data length and a multiple of the greatest common divisor. The transfer data can be divided into a plurality of blocks, the transfer information of each block can be used to perform the DMA transfer of the data by one transfer start, and the transfer time can be shortened.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1実施例の処理装置の構成図であ
る。
FIG. 1 is a configuration diagram of a processing apparatus according to a first embodiment of the present invention.

【図2】アレイテーブルの設定例を示す図である。FIG. 2 is a diagram showing an example of setting an array table.

【図3】記憶装置のアドレス割り付け図を示す図であるFIG. 3 is a diagram showing an address allocation diagram of a storage device.

【図4】アレイチェーンモードによる割り付け図を示す
図である。
FIG. 4 is a diagram showing an allocation diagram in an array chain mode.

【図5】本発明の第2実施例の処理装置の構成図であ
る。
FIG. 5 is a configuration diagram of a processing device according to a second embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 MPU 2 記憶装置 3 入出力装置 4,20 アレイテーブル 5,21 DMAコントローラ 1 MPU 2 storage device 3 input / output device 4,20 array table 5,21 DMA controller

───────────────────────────────────────────────────── フロントページの続き (72)発明者 矢ノ倉 利明 茨城県勝田市堀口832番地2 HSPビル 日立計測エンジニアリング株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Toshiaki Yanokura HSP Building, 832 Horiguchi, Katsuta City, Ibaraki Prefecture Hitachi Measurement Engineering Co., Ltd.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 演算処理を実行する演算装置と、演算処
理に必要なデータを記憶する記憶装置と、演算処理に必
要なデータを入出力する入出力装置と、前記記憶装置と
前記入出力装置の各データをDMA転送するDMAコン
トローラと、前記の各構成要素を接続するメインバスと
からなる処理装置において、前記演算装置は、前記記憶
装置と前記入出力装置の間で所定量のデータをDMA転
送を行う場合であって前記データの転送先頭アドレスが
前記メインバスのデータ長の倍数でない場合に、前記デ
ータの転送先頭アドレスが前記メインバスのデータ長の
倍数と最大公約数の倍数になるように、前記データを複
数のブロックに分け、複数のブロックのそれぞれについ
て転送先頭アドレスと転送語数と転送サイズの転送情報
を設定したアレイテーブルを作成し、前記DMAコント
ローラに対し、アレイチェーンモードによるDMA転送
を実行させることを特徴とするDMA転送におけるデー
タアライメント方式。
1. An arithmetic device for performing arithmetic processing, a storage device for storing data necessary for arithmetic processing, an input / output device for inputting / outputting data required for arithmetic processing, the storage device and the input / output device. In a processing device comprising a DMA controller for DMA-transferring each data item and a main bus connecting each of the constituent elements, the arithmetic device DMAs a predetermined amount of data between the storage device and the input / output device. When the transfer is performed and the transfer start address of the data is not a multiple of the data length of the main bus, the transfer start address of the data is a multiple of the data length of the main bus and a multiple of the greatest common divisor. In addition, the data is divided into a plurality of blocks, and the transfer start address, the number of transfer words, and transfer information of the transfer size are set for each of the plurality of blocks. A data alignment method in DMA transfer, characterized by creating a table and causing the DMA controller to execute a DMA transfer in an array chain mode.
【請求項2】 演算処理を実行する演算装置と、演算処
理に必要なデータを記憶する記憶装置と、演算処理に必
要なデータを入出力する入出力装置と、前記記憶装置と
前記入出力装置の各データをDMA転送するDMAコン
トローラと、前記の各構成要素を接続するメインバスと
からなる処理装置において、前記演算装置は、前記記憶
装置と前記入出力装置の間で所定量のデータをDMA転
送を行う場合であって前記データの転送バイト数が前記
メインバスのデータ長の倍数でない場合に、前記データ
の転送バイト数が前記メインバスのデータ長の倍数と最
大公約数の倍数になるように、前記データを複数のブロ
ックに分け、複数のブロックのそれぞれについて転送先
頭アドレスと転送語数と転送サイズの転送情報を設定し
たアレイテーブルを作成し、前記DMAコントローラに
対し、アレイチェーンモードによるDMA転送を実行さ
せることを特徴とするDMA転送におけるデータアライ
メント方式。
2. An arithmetic device for executing arithmetic processing, a storage device for storing data necessary for arithmetic processing, an input / output device for inputting / outputting data necessary for arithmetic processing, the storage device and the input / output device. In a processing device comprising a DMA controller for DMA-transferring each data item and a main bus connecting each of the constituent elements, the arithmetic device DMAs a predetermined amount of data between the storage device and the input / output device. When performing the transfer and the number of transfer bytes of the data is not a multiple of the data length of the main bus, the number of transfer bytes of the data becomes a multiple of the data length of the main bus and a multiple of the greatest common divisor. An array table in which the data is divided into a plurality of blocks, and transfer information such as a transfer start address, the number of transfer words, and a transfer size is set for each of the plurality of blocks. A data alignment method in DMA transfer, which is created and causes the DMA controller to execute a DMA transfer in an array chain mode.
【請求項3】 請求項1又は2記載のDMA転送におけ
るデータアライメント方式において、前記アレイテーブ
ルを前記DMAコントローラの内部に設けたことを特徴
とするDMA転送におけるデータアライメント方式。
3. The data alignment method for DMA transfer according to claim 1, wherein the array table is provided inside the DMA controller.
JP23017991A 1991-09-10 1991-09-10 Data alignment system for dma transfer Pending JPH0567035A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23017991A JPH0567035A (en) 1991-09-10 1991-09-10 Data alignment system for dma transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23017991A JPH0567035A (en) 1991-09-10 1991-09-10 Data alignment system for dma transfer

Publications (1)

Publication Number Publication Date
JPH0567035A true JPH0567035A (en) 1993-03-19

Family

ID=16903844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23017991A Pending JPH0567035A (en) 1991-09-10 1991-09-10 Data alignment system for dma transfer

Country Status (1)

Country Link
JP (1) JPH0567035A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033713A (en) * 2006-07-31 2008-02-14 Fuji Xerox Co Ltd Direct memory access controller and image processor
JP2009237790A (en) * 2008-03-26 2009-10-15 Yamaha Corp Dma controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476356A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Dma transfer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476356A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Dma transfer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033713A (en) * 2006-07-31 2008-02-14 Fuji Xerox Co Ltd Direct memory access controller and image processor
JP2009237790A (en) * 2008-03-26 2009-10-15 Yamaha Corp Dma controller

Similar Documents

Publication Publication Date Title
US7165126B2 (en) Direct memory access device
JPH0567035A (en) Data alignment system for dma transfer
JPH06103225A (en) Chain type dma system and dma controller therefor
JPS59723A (en) Control system of input and output interface
JPH02171843A (en) Interface device
JP3168845B2 (en) Digital signal processor
JPH0736806A (en) Dma system
JPS62221059A (en) Central processing unit
JPS61198351A (en) Direct memory access control circuit
JPS61153770A (en) Image processor
JPS61161509A (en) System and device for operating high speed sequence
JPS6145343A (en) Swapping control system
JPS61183764A (en) Direct memory access controlling system
JPH081631B2 (en) DMA controller
JPS6019023B2 (en) data processing equipment
JPH01219930A (en) Interrupt control circuit device for indirect address system
JPH01147605A (en) Microprogram sequence controller
JPH0222717A (en) Computer
JPH04262449A (en) Data transfer system
JPS61292739A (en) Memory device
JPH02247758A (en) Control system for terminal information
JPH04209059A (en) Semiconductor integrated circuit
JPH0242587A (en) Picture processor
JPH03282758A (en) Data transfer controller
JPS6186859A (en) Bus selector