JPH0567035A - Dma転送におけるデータアライメント方式 - Google Patents

Dma転送におけるデータアライメント方式

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
English (en)
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/ja
Publication of JPH0567035A publication Critical patent/JPH0567035A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 記憶装置と入出力装置の間のDMA転送にお
いて、データの転送先頭アドレス又はデータの転送バイ
ト数がメインバスのデータ長の倍数でない場合に、メイ
ンバスのデータ長を有効に利用し、データ転送に要する
処理時間の短縮化を企図した。 【構成】 記憶装置と入出力装置の間で所定量のデータ
をDMA転送を行う場合であって前記データの転送先頭
アドレス又は転送バイト数がメインバスのデータ長の倍
数でない場合に、前記データの転送先頭アドレス又は転
送バイト数がメインバスのデータ長の倍数と最大公約数
の倍数になるように、前記データを複数のブロックに分
け、複数のブロックのそれぞれについて転送先頭アドレ
スと転送語数と転送サイズの転送情報を設定したアレイ
テーブルを作成し、DMAコントローラに対し、アレイ
チェーンモードによるDMA転送を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はDMA転送におけるデー
タアライメント方式に係り、特に、データ処理装置にお
ける記憶装置と入出力装置の間のDMA転送で、データ
の転送先頭アドレス又はデータの転送バイト数がメイン
バスのデータ長の倍数でない場合に、メインバスのデー
タ長を有効に利用してデータ転送するデータアライメン
ト方式に関する。
【0002】
【従来の技術】演算処理を実行するマイクロプロセッサ
ユニット(以下、MPUと記す)と、演算処理に必要な
データを記憶する記憶装置と、演算処理に必要なデータ
を入出力する入出力装置と、記憶装置と入出力装置の間
でデータをDMA転送するDMAコントローラと、上記
の各装置の間を接続するメインバスから構成される処理
装置において、記憶装置と入出力装置の間でDMA転送
を行う場合に、データの転送先頭アドレス又はデータの
転送バイト数がメインバスのデータ長の倍数でないと
き、従来では、次の2通り転送方式のいずれかで転送を
行っていた。第1の転送方式は、データの転送先頭アド
レス又はデータの転送バイト数とメインバスのデータ長
の最大公約数である転送サイズを転送単位として、転送
しようとするすべてのデータを転送する方式である。第
2の転送方式は、MPUがDMAコントローラに対しデ
ータ転送の起動指令を出す際に、転送しようとするデー
タの転送先頭アドレス又はデータの転送バイト数がメイ
ンバスのデータ長の倍数と最大公約数の倍数になるよう
に、データを複数に分け、分割された複数のデータごと
に複数回のDMA転送起動を行ってデータ転送を行う方
式である。
【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転送を行う場合に、転送しようとするデータの転送先
頭アドレス又はデータの転送バイト数がメインバスのデ
ータ長の倍数でないとき、従来の転送方式では、データ
転送に長い時間がかかるという不具合を有する。
【0004】本発明の目的は、記憶装置と入出力装置の
間のDMA転送においてデータの転送先頭アドレス又は
データの転送バイト数がメインバスのデータ長の倍数で
ない場合に、メインバスのデータ長を有効に利用し、デ
ータ転送に要する処理時間の短縮化を企図したDMA転
送におけるデータアライメント方式を提供することにあ
る。
【0005】
【課題を解決するための手段】本発明に係るDMA転送
におけるデータアライメント方式は、演算処理を実行す
る演算装置と、演算処理に必要なデータを記憶する記憶
装置と、演算処理に必要なデータを入出力する入出力装
置と、記憶装置と入出力装置の各データをDMA転送す
るDMAコントローラと、各構成要素を接続するメイン
バスとからなる処理装置において実行される方式であ
る。演算装置は、記憶装置と入出力装置の間で所定量の
データをDMA転送を行う場合であって前記データの転
送先頭アドレス又は転送バイト数がメインバスのデータ
長の倍数でない場合に、前記データの転送先頭アドレス
又は転送バイト数がメインバスのデータ長の倍数と最大
公約数の倍数になるように、前記データを複数のブロッ
クに分け、複数のブロックのそれぞれについて転送先頭
アドレスと転送語数と転送サイズの転送情報を設定した
アレイテーブルを作成し、DMAコントローラに対し、
アレイチェーンモードによるDMA転送を実行させる。
本発明の特徴は、アレイチェーンモードの転送情報であ
るアレイテーブルに転送先頭アドレスと転送語数ばかり
でなく、転送サイズを設定できるようにした点である。
また前記の方式において、アレイテーブルをDMAコン
トローラの内部に設けるように構成することもできる。
【0006】
【作用】本発明によるDMA転送におけるデータアライ
メント方式では、記憶装置と入出力装置の間のDMA転
送において、データの転送先頭アドレス又はデータの転
送バイト数がメインバスのデータ長の倍数でない場合
に、データの転送バイト数がメインバスのデータ長の倍
数になるように、転送データを複数のデータブロックに
分割し、各データブロックの転送情報を書き込んだアレ
イテーブルを作成する。このアレイテーブルでは、各ブ
ロックごとに転送先頭アドレスと転送語数に加えて、D
MA転送の転送サイズを設定することが可能である。転
送サイズを転送情報に含むことにより、転送語数を少な
くし、演算装置よるDMAコントローラへの起動の回数
が1回で済み、短時間でDMA転送を行える。
【0007】
【実施例】以下に、本発明の実施例を添付図面に基づい
て説明する。本発明の第1実施例であるデータ処理装置
の構成を図1に示す。図1に示す如く本発明による処理
装置は、演算処理を実行するMPU1と、演算処理に必
要なデータを記憶する記憶装置2と、演算処理に必要な
データを入出力する入出力装置3と、記憶装置2にデー
タを記憶させるため所要条件で分割されたデータブロッ
クごとに所要の転送情報を設定するアレイテーブル4
と、このアレイテーブル4で設定された転送情報に基づ
き記憶装置2と入出力装置3の間でデータをDMA転送
するDMAコントローラ5と、以上の各装置の間を接続
するメインバス6とから構成されている。
【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の
データ長の倍数でない場合にも同様に行われる。
【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のデータ転送を実行する。
【0010】以上の如く、アレイテーブル4に設定され
る各ブロックの転送情報において、転送先頭アドレスと
転送語数に加えて、転送サイズを設定できるようにし
た。ここで「転送サイズ」とは、バス1サイクルにおい
て転送できるデータ長である。例えば仮にメインバスの
データ長が4バイトで転送先頭アドレスが$00100
001番地、転送サイズが4バイトであるということ
は、アドレス$00100001〜$00100004
にDMAの1サイクルで書き込むことを意味する。しか
し、記憶装置2では$00100001番地がバンダリ
でないために、転送サイズが4バイトであるとすると1
サイクルで記憶することができない。そこで転送サイズ
を1バイトとする。これによれば、DMA転送にてアド
レス$00100001〜$00100004に1サイ
クル1バイトにて書き込むことができる。
【0011】上記の如く、本実施例では転送サイズを効
率良く設定することができる。これにより、処理装置に
おける記憶装置と入出力装置の間のDMA転送におい
て、データの転送先頭アドレス又はデータの転送バイト
数がメインバスのデータ長の倍数でない場合でも、転送
語数が少なく、各DMAコントローラの起動回数が1回
でデータ転送を行うことができる。
【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)行われる。
【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)。
【0014】以上の如く、メインバス6のデータ長が4
バイトで、データの転送先頭アドレスが$001000
01番地、データ転送バイト数1キロバイトの場合であ
っても、DMAコントローラ5の1回の起動により、転
送語数$103語で、データ転送を行うことができる。
【0015】前記の実施例による処理装置では、アレイ
テーブル4を、メインバス6に接続される独立の装置と
して構成した。しかしながら、この装置構成では、DM
Aコントローラ5がアレイテーブル4の設定内容を読み
出すという動作が必要なる。そこで、他の実施例の構成
としては、図5に示すように、アレイテーブル20をD
MAコントローラ21内のレジスタとして構成すること
もできる。この実施例による構成では、DMA転送に要
する時間を更に短くすることができる。
【0016】
【発明の効果】以上の説明で明らかなように本発明によ
れば、記憶装置と入出力装置との間のDMA転送におい
て、アレイチェーンモードの転送情報であるアレイテー
ブルに転送先頭アドレスと転送語数に加えて転送サイズ
を設定するよう構成したため、転送サイズを自由に設定
することができる。従って、データの転送先頭アドレス
又は転送バイト数がメインバスのデータ長の倍数でない
場合に、データの転送先頭アドレス又は転送バイト数が
メインバスのデータ長の倍数と最大公約数の倍数になる
ように転送データを複数のブロックに分けることがで
き、各ブロックの転送情報を利用して1回の転送起動で
データのDMA転送を行うことができ、転送時間の短縮
することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例の処理装置の構成図であ
る。
【図2】アレイテーブルの設定例を示す図である。
【図3】記憶装置のアドレス割り付け図を示す図である
【図4】アレイチェーンモードによる割り付け図を示す
図である。
【図5】本発明の第2実施例の処理装置の構成図であ
る。
【符号の説明】
1 MPU 2 記憶装置 3 入出力装置 4,20 アレイテーブル 5,21 DMAコントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 矢ノ倉 利明 茨城県勝田市堀口832番地2 HSPビル 日立計測エンジニアリング株式会社内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 演算処理を実行する演算装置と、演算処
    理に必要なデータを記憶する記憶装置と、演算処理に必
    要なデータを入出力する入出力装置と、前記記憶装置と
    前記入出力装置の各データをDMA転送するDMAコン
    トローラと、前記の各構成要素を接続するメインバスと
    からなる処理装置において、前記演算装置は、前記記憶
    装置と前記入出力装置の間で所定量のデータをDMA転
    送を行う場合であって前記データの転送先頭アドレスが
    前記メインバスのデータ長の倍数でない場合に、前記デ
    ータの転送先頭アドレスが前記メインバスのデータ長の
    倍数と最大公約数の倍数になるように、前記データを複
    数のブロックに分け、複数のブロックのそれぞれについ
    て転送先頭アドレスと転送語数と転送サイズの転送情報
    を設定したアレイテーブルを作成し、前記DMAコント
    ローラに対し、アレイチェーンモードによるDMA転送
    を実行させることを特徴とするDMA転送におけるデー
    タアライメント方式。
  2. 【請求項2】 演算処理を実行する演算装置と、演算処
    理に必要なデータを記憶する記憶装置と、演算処理に必
    要なデータを入出力する入出力装置と、前記記憶装置と
    前記入出力装置の各データをDMA転送するDMAコン
    トローラと、前記の各構成要素を接続するメインバスと
    からなる処理装置において、前記演算装置は、前記記憶
    装置と前記入出力装置の間で所定量のデータをDMA転
    送を行う場合であって前記データの転送バイト数が前記
    メインバスのデータ長の倍数でない場合に、前記データ
    の転送バイト数が前記メインバスのデータ長の倍数と最
    大公約数の倍数になるように、前記データを複数のブロ
    ックに分け、複数のブロックのそれぞれについて転送先
    頭アドレスと転送語数と転送サイズの転送情報を設定し
    たアレイテーブルを作成し、前記DMAコントローラに
    対し、アレイチェーンモードによるDMA転送を実行さ
    せることを特徴とするDMA転送におけるデータアライ
    メント方式。
  3. 【請求項3】 請求項1又は2記載のDMA転送におけ
    るデータアライメント方式において、前記アレイテーブ
    ルを前記DMAコントローラの内部に設けたことを特徴
    とするDMA転送におけるデータアライメント方式。
JP23017991A 1991-09-10 1991-09-10 Dma転送におけるデータアライメント方式 Pending JPH0567035A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23017991A JPH0567035A (ja) 1991-09-10 1991-09-10 Dma転送におけるデータアライメント方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23017991A JPH0567035A (ja) 1991-09-10 1991-09-10 Dma転送におけるデータアライメント方式

Publications (1)

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

Family

ID=16903844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23017991A Pending JPH0567035A (ja) 1991-09-10 1991-09-10 Dma転送におけるデータアライメント方式

Country Status (1)

Country Link
JP (1) JPH0567035A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033713A (ja) * 2006-07-31 2008-02-14 Fuji Xerox Co Ltd ダイレクトメモリアクセスコントローラ及び画像処理装置
JP2009237790A (ja) * 2008-03-26 2009-10-15 Yamaha Corp Dmaコントローラ

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 (ja) * 2006-07-31 2008-02-14 Fuji Xerox Co Ltd ダイレクトメモリアクセスコントローラ及び画像処理装置
JP2009237790A (ja) * 2008-03-26 2009-10-15 Yamaha Corp Dmaコントローラ

Similar Documents

Publication Publication Date Title
US7165126B2 (en) Direct memory access device
JPH0567035A (ja) Dma転送におけるデータアライメント方式
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JPS59723A (ja) 入出力インタ−フエ−ス制御方式
JP2821176B2 (ja) 情報処理装置
JPH02171843A (ja) インターフェース装置
JP3168845B2 (ja) ディジタル信号処理装置
JPH0736806A (ja) Dma方式
JPS62221059A (ja) 中央処理装置
JPS61198351A (ja) ダイレクト・メモリ・アクセス制御回路
JPS61153770A (ja) 画像処理装置
JPS61161509A (ja) 高速シ−ケンス演算方式及びその装置
JPS6145343A (ja) スワツプ制御方式
JPS61183764A (ja) ダイレクトメモリアクセス制御方式
JPH081631B2 (ja) Dma制御装置
JPS6019023B2 (ja) デ−タ処理装置
JPH01219930A (ja) 間接アドレス方式の割り込み制御回路装置
JPH01147605A (ja) マイクロプログラムシーケンスコントローラ
JPH0222717A (ja) 計算機
JPH04262449A (ja) データ転送方式
JPS61292739A (ja) メモリ装置
JPH02247758A (ja) 端末情報の管理方式
JPH04209059A (ja) 半導体集績回路
JPH0242587A (ja) 画像処理装置
JPH03282758A (ja) データ転送制御装置