[go: up one dir, main page]

JPH05173932A - データ転送装置 - Google Patents

データ転送装置

Info

Publication number
JPH05173932A
JPH05173932A JP3341222A JP34122291A JPH05173932A JP H05173932 A JPH05173932 A JP H05173932A JP 3341222 A JP3341222 A JP 3341222A JP 34122291 A JP34122291 A JP 34122291A JP H05173932 A JPH05173932 A JP H05173932A
Authority
JP
Japan
Prior art keywords
data
transfer
state
register
bus
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
JP3341222A
Other languages
English (en)
Inventor
Tomohito Inoue
智史 井上
Takashi Miyamori
高 宮森
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP3341222A priority Critical patent/JPH05173932A/ja
Priority to KR1019920025367A priority patent/KR960012993B1/ko
Publication of JPH05173932A publication Critical patent/JPH05173932A/ja
Priority to US08/551,700 priority patent/US5594923A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】 本発明は、DMA転送において、複数語に及
ぶ一連のデータを高速に転送することができるデータ転
送装置を提供することを目的とする。 【構成】 外部装置から連続して読み込んだ複数語のデ
ータを格納するレジスタファイル6と、レジスタファイ
ル6に対するバスBUSからのデータの書き込み及び読
み出しを制御する制御手段7と、データ転送の転送元の
装置のタイプ、転送先の装置のタイプ、及び複数語のデ
ータ転送における転送単位を保持する動作定義保持手段
8を有して構成し、また制御手段7は、バスアクセスの
状態を保持する状態保持手段11と、レジスタファイル
に格納されているデータのバイト数を計数する計数手段
12とを有して構成し、DMA転送により前記外部の装
置間の1語或いは複数語のデータ転送を一度に行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばメモリと外部I
/Oデバイス間、或いはメモリとメモリ間のデータ転送
を行なうデータ転送装置に関し、特に、複数語に及ぶ一
連のデータを高速に転送することが可能なデータ転送装
置に関する。
【0002】
【従来の技術】従来のデータ転送装置の一例として、プ
ロセッサに代わってデータ転送を制御するDMAコント
ローラ(Direct Memory Access Controller )の構成図
を図11に示す。
【0003】同図において従来のDMAコントローラ5
0は、データレジスタDTR、デスティネーションアド
レスレジスタDAR、ソースアドレスレジスタSAR、
バイトカウントレジスタBCR、動作定義レジスタOD
R、減算器53、加算器54及び55、並びにDMA制
御回路52から構成されている。
【0004】この従来のDMAコントローラ50は、メ
モリと外部I/O間、或いはメモリとメモリ間のデータ
転送を行なうことができる。DMAコントローラ50に
よる転送には、転送データを一旦DMAコントローラ5
0内部のデータレジスタDTRに格納して行なう方法が
ある。
【0005】この方法では、先ず、DMAコントローラ
50は転送元のデバイスのアドレスをアドレスバスAB
USに出力し、転送データはデータバスDBUSを介し
て一旦DMAコントローラ50内部のデータレジスタD
TRに格納するリードバスサイクルを行なう。次に、D
MAコントローラ50は転送先のデバイスのアドレスを
アドレスバスABUSに出力し、データレジスタDTR
に格納しておいた転送データをデータバスDBUS上に
出力してデータ転送をするライトバスサイクルを行な
う。
【0006】従来のデータ転送装置によるデータ転送で
は、DMAコントローラ50内部のデータレジスタDT
Rは1語分しかない為、メモリへのアクセスは最大で1
語単位である。
【0007】データレジスタDTRはDMA制御回路5
2より出力されるリード信号RD#、ライト信号WR
#、及びタイミング信号LTC#により制御される。リ
ード信号RD#は内部レジスタに転送データを読み込む
時にアクティブになり、ライト信号WR#は内部レジス
タから転送データを出力するときにアクティブになる。
またタイミング信号LTC#は転送データをデータレジ
スタDTRに格納するタイミングを取る。尚、信号の表
記法として、信号名に続いて#の付される信号は負論理
信号(”L”レベルの時、真、即ちアクティブである)
を示すものとする。
【0008】図12に、バスステートの状態遷移のよう
すを示す。ここでTiステートはDMAコントローラ5
0がバスマスタではないアイドル状態にあることを、T
aステートはDMA転送のバスサイクルの開始サイクル
であることを、TdステートはDMA転送のデータ転送
サイクルであることをそれぞれ示す。1つのバスサイク
ルは1つのTaステートと1つ以上のTdステートより
成る。
【0009】メモリから外部I/Oデバイスへ1語(3
2ビット)単位で4語転送するときの動作を、図13に
示すタイミングチャートを用いて説明する。
【0010】DMAコントローラ50内部または外部I
/Oデバイスで転送要求が発生すると、DMAコントロ
ーラ50はプロセッサからバス権を獲得して、Tiステ
ートからTaステートへ移り、メモリリードサイクルに
なる。Taステートが開始されると、アドレスバスAB
US(信号A00〜A29及び信号BC0#〜BC3
#)に転送元アドレスの値(ソースアドレスレジスタS
ARの値)を出力し、リードライト信号R/W#を”
H”レベル、バススタート信号BS#を”L”レベルに
する。またTaステートの立ち下がりでアドレスストロ
ーブ信号AS#を”L”レベルにする。
【0011】続くTdステートでは、クロック信号CL
Kの最初の立ち上がりでバススタート信号BS#を”
H”レベルに、データストローブ信号DS#を”L”レ
ベルにする。またTdステートのクロック信号CLKの
立ち下がりでデータ転送終了信号DC#のサンプリング
を行なう。この時、DMA制御回路52は、リード信号
RD#を”L”レベルに、ライト信号WR#を”H”レ
ベルにし、データバスDBUS(信号D00〜D31)
上の転送データをデータレジスタDTRに格納する。
【0012】サンプリングされたデータ転送終了信号D
C#が”L”レベルであれば、アドレスストローブ信号
AS#及びデータストローブ信号DS#を”H”レベル
にし、ソースアドレスレジスタSARの値を加算器54
によって転送データのバイト数分(ここでは4バイト)
増加させ、このサイクルでメモリリードサイクルを終了
する。また、データ転送終了信号DC#が”H”レベル
であれば、このサイクルはウェイトサイクルとなりTd
ステートを継続する。
【0013】メモリリードサイクルが終了すると、次に
I/Oライトサイクルに移る。Taステートが開始され
ると、アドレスバスABUS上に転送先アドレスの値
(デスティネーションアドレスレジスタDARの値)を
出力し、リードライト信号R/W#を”L”レベルに、
DMA転送応答信号DACK#を”L”レベルにする。
Taステートのクロック信号CLKの立ち下がりでアド
レスストローブ信号AS#を”L”レベルにする。
【0014】続くTdステートのクロック信号CLKの
最初の立ち上がりでバススタート信号BS#を”H”レ
ベルに、データストローブ信号DS#を”L”レベルに
する。また、DMA制御回路52は、リード信号RD#
を”H”レベルに、ライト信号WR#を”L”レベルに
して、データレジスタDTRに格納されていた転送デー
タをデータバスDBUS上に出力する。
【0015】Tdステートのクロック信号CLKの立ち
下がりでデータ転送終了信号DC#のサンプリングを行
なう。サンプリングされたデータ転送終了信号DC#
が”L”レベルであれば、アドレスストローブ信号AS
#及びデータストローブ信号DS#を”H”レベルに
し、バイトカウントレジスタBCRの値を減算器53に
よって転送データのバイト数分(ここでは4バイト)減
少させ、このサイクルでI/Oライトサイクルを終了す
る。また、データ転送終了信号DC#が”H”レベルで
あれば、このサイクルはウェイトサイクルとなりTdス
テートを継続する。また、I/Oライトサイクルが終了
した後に次の転送要求が発生していれば、Taステート
に移り、上述した転送を繰り返し、転送要求が発生して
いなければバス権を解放してTiステートに移る。
【0016】以上のように従来のDMAコントローラ5
0によるDMA転送では、1語分の転送を行なうのに、
リードバスサイクルで少なくともTaステート及びTd
ステートの2クロック、ライトサイクルでも少なくとも
Taステート及びTdステートの2クロックと、最低で
も必ず4クロックを必要とし、n語分転送する際には、
4×nクロックを要する。
【0017】
【発明が解決しようとする課題】以上のように、従来の
データ転送装置では、データ転送装置内部のデータレジ
スタが1語分しかない為に、メモリへのアクセスは最大
で1語単位でしか行なえないという問題があり、このこ
とはDMA転送の速度を制約する1つの要因となってい
る。
【0018】例えばメモリの1種であるダイナミックR
AMでは、通常のアクセス方法以外に、ページモード等
の高速アクセスモードによってアクセス可能となってい
る。高速アクセスモードでは、1つのアドレスを与える
と、そのアドレスからの一連の幾つかのデータの読み出
し或いは書き込みが可能であり、2つ目以降のデータア
クセスを高速に行なうことが可能となっている。
【0019】従来のデータ転送装置では、このような複
数語に及ぶ一連のデータを一度に扱うことができず、上
記のようなメモリの高速アクセスモードを利用すること
ができないという欠点があった。
【0020】本発明は、上記問題点を解決するもので、
その目的は、DMA転送において、複数語に及ぶ一連の
データを高速に転送することができるデータ転送装置を
提供することにある。
【0021】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1の特徴のデータ処理装置は、図1に示
す如く、当該データ転送装置1とバスBUSを介して接
続される外部の装置から連続して読み込んだ複数語のデ
ータを格納するレジスタファイル6を具備し、DMA転
送により前記外部の装置間の1語或いは複数語のデータ
転送を一度に行なう。
【0022】本発明の第2の特徴のデータ処理装置は、
当該データ転送装置1とバスBUSを介して接続される
外部の装置から連続して読み込んだ複数語のデータを格
納するレジスタファイル6と、前記レジスタファイル6
に対するバスBUSからのデータの書き込み及び読み出
しを制御する制御手段7とを具備し、DMA転送により
前記外部の装置間の1語或いは複数語のデータ転送を一
度に行なう。
【0023】本発明の第3の特徴は、請求項2に記載の
データ転送装置において、前記データ転送装置1は、デ
ータ転送の転送元の装置のタイプ、転送先の装置のタイ
プ、及び複数語のデータ転送における転送単位を保持す
る動作定義保持手段8を具備し、前記制御手段7は、当
該データ転送装置が行なうバスアクセスの状態を保持す
る状態保持手段11と、前記レジスタファイル6に格納
されているデータのバイト数を計数する計数手段12と
を具備することである。
【0024】本発明の第4の特徴は、請求項2または3
に記載のデータ転送装置において、前記状態保持手段1
1が保持するバスアクセスの状態として、当該データ転
送装置がアクセスする前記外部装置のアドレス出力を行
なう第1の状態Taと、1語分のデータ転送を行なう第
2の状態Tdを備え、前記制御手段7は、1回の第1の
状態Taに続いてその語数回の第2の状態Tdに遷移し
ていくことにより、複数語のデータ転送を行なうことで
ある。
【0025】本発明の第5の特徴は、請求項2、3、ま
たは4に記載のデータ転送装置において、前記制御手段
7は、前記動作定義保持手段8、状態保持手段11、及
び計数手段12が保持する情報に基づき次に遷移すべき
状態を判断することである。
【0026】
【作用】本発明の第1及び第2の特徴のデータ転送装置
では、図1に示すように、外部の装置間、例えばメモリ
3とメモリ4との間で複数語のデータ転送を一度に行な
う場合、一方のメモリにアクセスして、連続して複数語
をレジスタファイル6に取り込み、次に他方のメモリに
アクセスして、レジスタファイル6に格納されている複
数語のデータを連続してメモリに転送する。
【0027】これにより、複数語のデータを連続して一
度に転送することができ、例えばページモード等の高速
アクセスモードによるアクセスが可能なメモリに対し
て、その高速モードを利用したデータ転送を行なうこと
ができ、高速なデータ転送が可能となる。
【0028】また、本発明の第3、第4、及び第5の特
徴のデータ転送装置では、図1に示すように、外部の装
置間、例えばメモリ3とメモリ4との間で複数語のデー
タ転送を一度に行なう場合、プロセッサ2からデータ転
送の要求がなされると共に、動作定義保持手段8にデー
タ転送の転送元の装置のタイプ、転送先の装置のタイ
プ、及び複数語のデータ転送における転送単位が指定さ
れる。データ転送装置1は、先ず、状態保持手段11を
第1の状態Taに設定して、転送元のメモリに対してア
ドレス出力を行なってアクセスする。次に、状態保持手
段11が第2の状態Tdに遷移して、1語分のデータを
レジスタファイル6に取り込む。この時、計数手段は1
語のデータのバイト数だけカウントアップする。この第
2の状態における動作を複数語分連続して行なう。レジ
スタファイル6への転送データの取り込みが終わると、
次にデータ転送装置1は、状態保持手段11を第1の状
態Taに設定して、転送先のメモリに対してアドレス出
力を行なってアクセスする。次に、状態保持手段11が
第2の状態Tdに遷移して、1語分のデータをレジスタ
ファイル6からバスBUSに出力して、転送先のメモリ
に書き込む。この時、計数手段は1語のデータのバイト
数だけカウントダウンする。この第2の状態における動
作を計数手段の内容が”0”になるまで連続して行な
う。尚、レジスタファイル6の転送データの取り込み及
び取り出しは、計数手段12の値により制御されてお
り、また、データ転送装置の状態の遷移は、動作定義保
持手段8、状態保持手段11、及び計数手段12が保持
する情報に基づき、制御手段7が次に遷移すべき状態を
判断して遷移している。
【0029】これにより、複数語のデータを連続して一
度に転送することができ、高速なデータ転送が可能とな
る。また、動作定義保持手段8、状態保持手段11、及
び計数手段12が保持する情報に基づき次に遷移すべき
状態を判断することとしており、複雑な状態遷移の制御
を簡単に行なうことが可能である。更に、高速転送する
際の転送単位の語数をプログラマブルに設定でき、任意
の転送単位で複数語のデータ転送が可能となる。
【0030】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0031】図2に本発明の一実施例に係るDMAコン
トローラの構成図を示す。図2において、図11(従来
例)と重複する部分には同一の符号を附す。
【0032】同図において、本実施例のDMAコントロ
ーラ20は、DMA制御回路22、減算器23、加算器
24及び25、並びに内部レジスタ群から構成されてい
る。本実施例では、1チャネルのDMA転送を制御する
場合を想定しており、内部レジスタ群は、動作定義レジ
スタODR、バイトカウントレジスタBCR、ソースア
ドレスレジスタSAR、デスティネーションアドレスレ
ジスタDAR、及びデータレジスタDTR0〜DTR3
を備えている。
【0033】また、DMAコントローラ20は、以下の
外部信号とのインタフェースを有している。
【0034】DMA転送要求信号DREQ#は、外部I
/Oデバイスからの転送要求のための信号であり、外部
I/Oデバイスは、DMA転送をDMAコントローラ2
0に要求する時にこの信号をアクティブにする。また、
DMA転送応答信号DACK#は、外部I/Oデバイス
からの転送要求に応答してDMA転送が行なわれている
ことを示す信号である。
【0035】バス権要求信号BREQ#は、プロセッサ
へバス権を要求するため信号である。また、バス権応答
信号BACK#は、バス権要求信号BREQ#によるバ
ス権要求に対する応答である。この信号がアクティブに
なるとDMAコントローラ20はバスマスタとなり、D
MA転送サイクルを実行する。
【0036】アドレスバス信号A00〜A29は、DM
A転送でアクセスするアドレスの上位30ビットを示
す。バイトコントロール信号BC0#〜BC3#は、デ
ータバス信号D00〜D31の内、有効なバイトを示す
信号である。本実施例では、データバス信号D00〜D
31の幅は32ビットであるので、バイトコントロール
信号はBC0#からBC3#の4本が用意されている。
つまり、BC0#はD00〜D07、BC1#はD08
〜D15、BC2#はD16〜D23、BC3#はD2
4〜D31が有効であることをそれぞれ示している。
尚、アドレスバス信号A00〜A29とバイトコントロ
ール信号BC0#〜BC3#はアドレスバスABUSを
構成する信号である。また、アドレスストローブ信号A
S#は、DMAコントローラ20がバスマスタの時、出
力するアドレス情報が有効であることを示す。
【0037】データバス信号D00〜D31は、メモリ
や外部I/Oデバイスとデータのやり取りをするための
信号である。この信号はデータバスDBUSを構成す
る。データストローブ信号DS#は、データが有効であ
ることを示す信号である。
【0038】バススタート信号BS#は、バスサイクル
の開始を示す信号であり、バスサイクルの最初のクロッ
クの間だけアクティブになる。リードライト信号R/W
#は、バスサイクルがリードバスサイクルであるかライ
トバスサイクルであるかを示す信号である。また、デー
タ転送終了信号DC#は、バスサイクルの終了を示す信
号であり、バスサイクルでアクセスされたメモリや外部
I/Oデバイス等の外部回路によりアクティブにされる
とDMAコントローラ20はバスサイクルを終了する。
【0039】チップセレクト信号CS#は、プロセッサ
からDMAコントローラ20の内部レジスタ群をアクセ
スする時に、外部よりアクティブにされる信号である。
また、高速アクセス要求信号BSTREQ#は、メモリ
に高速アクセスモードで動作することを要求する信号で
ある。
【0040】次に、DMAコントローラ20の内部レジ
スタ群について説明する。内部レジスタ群の構成を図3
(1)に示す。
【0041】動作定義レジスタODRはDMA転送の動
作を規定する。EXビットはチャネルが動作中であるこ
とを示し、”1”の時は動作中であることを、”0”の
時はDMA転送を行なわないことを示す。STPフィー
ルドはソースデバイスのタイプを示す。”00”及び”
01”の時はメモリに対するもので、”00”の時には
高速転送モードを、”01”の時には通常の(高速転送
モードでない)転送モードであることをそれぞれ示す。
また”10”の時は外部I/Oデバイスに対するもので
あるが、外部I/Oデバイスでは高速転送モードでは動
作せず、通常転送モードのみである。DTPフィールド
はデスティネーションデバイスのタイプを示す。”0
0”及び”01”の時はメモリに対するもので、”0
0”の時には高速転送モードを、”01”の時には通常
の(高速転送でない)転送モードであることをそれぞれ
示す。また”10”の時は外部I/Oデバイスに対する
ものであるが、外部I/Oデバイスでは高速転送モード
では動作せず、通常転送モードのみである。DPSフィ
ールドは外部I/Oデバイスのポートサイズを示し、”
00”の時には1バイト、”01”の時には2バイ
ト、”10”の時には4バイト(1語)である。TBS
フィールドは高速転送モードでの転送単位を示し、”0
0”の時には1語ずつ、”01”の時には2語ずつ、”
10”の時には4語ずつ転送を行なう。尚、STPフィ
ールド及びDTPフィールドで共に通常転送モードが選
択されている時には、TBSフィールドの値は”00”
でなければならない。
【0042】バイトカウントレジスタBCRはDMA転
送するバイト数を示す。DMA転送を行なう度に転送し
たバイト数だけ減少し、”0”になるとDMA転送を終
了する。バイトカウントレジスタBCRの値は転送単位
のバイト数の整数倍でなくてはならない。
【0043】ソースアドレスレジスタSARは、DMA
転送でアクセスするソースデバイスのアドレスを格納す
る。ソースアドレスレジスタSARの値は、ソースデバ
イスのタイプがメモリの時には、DMA転送が行なわれ
る度に転送したバイト数分だけ増加し、ソースデバイス
のタイプが外部I/Oデバイスの時には変化しない。ま
たソースアドレスレジスタSARの値は、アライメント
がとれていなくてはならない。即ち、ソースデバイスの
タイプが外部I/Oデバイスの時には、ソースアドレス
レジスタSARの下位2ビットの値は、動作定義レジス
タODRのDPSフィールドが”00”の時には任意
で、”01”の時には”00”または”10”で、”1
0”の時には”00”でなくてはならない。またソース
デバイスのタイプがメモリの時には、1語単位でアライ
メントがとれていなければならない。従って、ソースア
ドレスレジスタSARの下位2ビットは”00”でなけ
ればならない。
【0044】デスティネーションアドレスレジスタDA
Rは、DMA転送でアクセスするデスティネーションデ
バイスのアドレスを格納する。デスティネーションアド
レスレジスタDARの値は、デスティネーションデバイ
スのタイプがメモリの時には、DMA転送が行なわれる
度に転送したバイト数分だけ増加し、デスティネーショ
ンデバイスのタイプが外部I/Oデバイスの時には変化
しない。またデスティネーションアドレスレジスタDA
Rの値は、アライメントがとれていなくてはならない。
即ち、デスティネーションデバイスのタイプが外部I/
Oデバイスの時には、デスティネーションアドレスレジ
スタDARの下位2ビットの値は、動作定義レジスタO
DRのDPSフィールドが”00”の時には任意で、”
01”の時には”00”または”10”で、”10”の
時には”00”でなくてはならない。またデスティネー
ションデバイスのタイプがメモリの時には、1語単位で
アライメントがとれていなければならない。従って、デ
スティネーションアドレスレジスタDARの下位2ビッ
トは”00”でなければならない。
【0045】データレジスタDTR0〜DTR3は転送
データを格納しておく為のレジスタである。本実施例で
は、4語分のデータレジスタが用意されている。データ
レジスタDTR0〜DTR3は、DMA制御回路22に
より出力されるリード信号RD#、ライト信号WR#、
タイミング信号LTC#、データレジスタ選択信号DR
S0#及びDRS1#、並びにデータレジスタバイトコ
ントロール信号DRBC0#〜DRBC3#の信号によ
って制御される。リード信号RD#は転送データを内部
レジスタへ読み込む時にアクティブになる。ライト信号
WR#は転送データを出力するときにアクティブにな
る。タイミング信号LTC#は転送データをデータレジ
スタDTR0〜DTR3に取り込むタイミングを取る。
また、データレジスタ選択信号DRS0#及びDRS1
#は4本のデータレジスタDTR0〜DTR3の内の1
本を選択する為に用いられる。データレジスタ選択信号
DRS0#及びDRS1#の状態と選択されるデータレ
ジスタの関係を図4に示す。データレジスタDTR0〜
DTR3はバイトアクセスが可能で、データレジスタバ
イトコントロール信号DRBC0#〜DRBC3#が1
本のデータレジスタ4バイト中の有効なバイトを示す。
即ち、DRBC0#は0〜7ビット、DRBC1#は8
〜15ビット、DRBC2#は16〜23ビット、DR
BC3#は24〜31ビットがそれぞれ有効であること
を示す。
【0046】次に、DMA制御回路22はDMA転送の
制御を行なう。DMA制御回路22は、データバス信号
D00〜D31を除く全ての外部信号により、外部のプ
ロセッサ、I/Oデバイス、及びメモリと接続されてい
る。
【0047】DMA制御回路22により、プロセッサと
のバス権要求信号BREQ#及びバス権応答信号BAC
K#によるバス権のやりとり、並びに、外部I/Oデバ
イスからDMA転送要求信号DREQ#により要求され
たDMA転送のバスサイクルの実行を制御する。
【0048】DMA制御回路22はDMAコントローラ
20内部動作の制御の為、各内部レジスタと接続されて
いる。また、DMA転送によるバイトカウントレジスタ
BCR、ソースアドレスレジスタSAR、及びデスティ
ネーションアドレスレジスタDARの値の更新の為、減
算器23、加算器24及び25と接続されている。
【0049】また、前述のようにデータレジスタDTR
0〜DTR3の制御も行なう。DMA制御回路22は、
内部にデータレジスタDTR0〜DTR3に格納されて
いる転送データのバイト数を示す4ビットの転送データ
バイトカウントレジスタTBCを備えている(図3
(2)参照)。転送データバイトカウントレジスタTB
Cは、転送開始時には”0000”である。DMA転送
が開始されると内部レジスタに取り込んだバイト数分そ
の値を増加させる。但し、動作定義レジスタODRのT
BSフィールドが”00”の時(1語ずつ転送する場
合)には、レジスタTBCの上位2ビットは”00”に
固定され、TBSフィールドが”01”の時(2語ずつ
転送する場合)には、レジスタTBCの上位1ビット
は”0”に固定される。
【0050】この時、データ転送バイトカウントレジス
タTBCの第0ビットが信号DRS1#に、第1ビット
が信号DRS0#にそれぞれ対応し、下位2ビットと動
作定義レジスタODRのDPSフィールドの値に従っ
て、データレジスタバイトコントロール信号DRBC0
#〜DRBC3#を出力する。この時の関係を図5に示
す。
【0051】データレジスタDTR0〜DTR3にデー
タを読み込む余地がない時、即ち動作定義レジスタOD
RのTBSフィールドで示されたデータレジスタ全てに
データを格納した時、或いは、データレジスタDTR0
〜DTR3から出力するデータがない時、即ち格納して
あったデータを全て出力してしまった時には、レジスタ
TBCは”0000”になる。
【0052】また、DMA制御回路22は、バスの状態
を示す3ビットのレジスタSRを持っている(図3
(2)参照)。STフィールドは後述するバスステート
を示し、”00”の時Tiステート、”10”の時Ta
ステート、”11”の時Tdステートである。RWビッ
トはバスサイクルがリードであるかライトであるかを示
し、”0”の時リード、”1”の時ライトである。バス
状態レジスタSRはDMA制御回路22の状態に従って
変化する。
【0053】DMA制御回路22は、上述のようにTi
ステート、Taステート、及びTdステートの3つの状
態を持ち、図6に示すような状態遷移を行なう。
【0054】TiステートはDMAコントローラ20が
バスマスタではないアイドル状態である。
【0055】TaステートはDMA転送のバスサイクル
の開始サイクルで、Taステートに入るとバスサイクル
の始まりを示すバススタート信号BS#を”L”レベル
にし、リードバスサイクルの時にはソースアドレスレジ
スタSARの値を、ライトバスサイクルの問にはデステ
ィネーションアドレスレジスタDARの値を、それぞれ
アドレスバスABUSに出力する。この時、リードの時
にはリードライト信号R/W#を”H”レベルに、ライ
トの時にはリードライト信号R/W#を”L”レベルに
する。また、高速転送モードで動作する場合には、高速
アクセス要求信号BSTREQ#を”L”レベルにす
る。クロック信号CLKの立ち下がりでは、アドレスス
トローブ信号AS#を”L”レベルにする。Taステー
トを1クロックを行なった後Tdステートに移る。
【0056】Tdステートはデータ転送サイクルであ
る。Tdステートが開始されると、バススタート信号B
S#は”H”レベルに、データストローブ信号DS#
は”L”レベルになる。リードバスサイクルでは、クロ
ック信号CLKの立ち下がりでデータ転送終了信号DC
#が”L”レベルになっていれば、データバス信号D0
0〜D31上の転送データを内部のデータレジスタDT
R0〜DTR3に取り込み、データストローブ信号DS
#を”H”レベルにして次の状態に移る。
【0057】また、ライトサイクルでは、Tdステート
開始のクロック信号CLKの立ち上がりで、内部のデー
タレジスタDTR0〜DTR3に格納してあった転送デ
ータをデータバス信号D00〜D31に出力する。クロ
ック信号CLKの立ち下がりでデータ転送終了信号DC
#が”L”レベルになっていれば、データストローブ信
号DS#を”H”レベルにして次の状態に移る。何れの
場合にも、データ転送終了信号DC#が”L”レベルに
なるまでTdステートを繰り返す。
【0058】Tiステートでは、DMA制御回路22の
バス状態レジスタSRのSTフィールドは”00”であ
る。また、リード信号RD#及びライト信号WR#は共
に”H”レベルである。バス状態レジスタSRのRWビ
ットは、次に実行するバスサイクルがリードの時”
0”、ライトの時”1”となっている。DMAコントロ
ーラ20は、メモリ間の転送が起動された時、またはメ
モリと外部I/Oデバイス間の転送で外部I/Oデバイ
スから転送要求が発生すると、プロセッサからバス権を
獲得してバスマスタとなり、Taステートに移る。この
時、バス状態レジスタSRのSTフィールドは”10”
になる。
【0059】Taステートが1クロック間行なわれる
と、Tdステートに移る。この時、バス状態レジスタS
RのSTフィールドは”11”になる。
【0060】Tdステートではデータ転送が行なわれ
る。クロック信号CLKの立ち下がりでデータ転送終了
信号DC#が”H”レベルの期間、同じデータ転送のT
dステートを継続する。バス状態レジスタSRのRWビ
ットが”0”の時にはリードバスサイクルを実行する。
リード信号RD#を”L”レベル、ライト信号WR#
を”H”にし、データ転送バイトカウントレジスタTB
Cの各ビットに従って、データレジスタ選択信号DRS
0#及びDRS1#、並びにデータレジスタバイトコン
トロール信号DRBC0#〜DRBC3#を出力し、そ
れによって指定されたデータレジスタ内の領域に転送デ
ータを格納する。
【0061】データを格納するタイミングはタイミング
信号LTC#でとる。タイミング信号LTC#はデータ
転送終了信号DC#と同じタイミングで変化する。Td
ステートの開始からタイミング信号LTC#は”L”に
なり、Tdステートのクロック信号CLKの立ち下がり
でデータバス信号D00〜D31上の転送データはデー
タレジスタに取り込まれる。
【0062】バス状態レジスタSRのRWビットが”
1”の時にはリード信号RD#を”H”レベル、ライト
信号WR#を”L”レベルにして、転送データをデータ
バスDBUSに出力する。その際、データ転送バイトカ
ウントレジスタTBCの各ビットに従って、データレジ
スタ選択信号DRS0#及びDRS1#、並びにデータ
レジスタバイトコントロール信号DRBC0#〜DRB
C3#を出力し、それによって指定されたデータレジス
タ内の領域から転送データをデータバス信号D00〜D
31上に出力する。
【0063】データ転送バイトカウントレジスタTBC
及びバス状態レジスタSRの値は、状態が遷移する時
(クロック信号CLKの立ち上がり)に変化する。レジ
スタTBCは転送したバイト数、即ち外部I/Oデバイ
スであれば動作定義レジスタODRのDPSフィールド
で示される値、メモリであれば1語(4バイト)分増加
させる。バス状態レジスタSRの変化については後述す
る。変化後のデータ転送バイトカウントレジスタTBC
が”0000”で、変化前のバス状態レジスタSRのR
Wビットが”1”の時には、格納してあった転送データ
を全て出力したことを意味するので、減算器23を用い
てバイトカウントレジスタの値を、動作定義レジスタO
DRのSTPフィールド及びDTPフィールドで共に通
常転送モードが選択されている時は4減算し、そうでな
い時には動作定義レジスタODRのTBSフィールドで
決まる語数の4倍(即ち、バイト数)減算する。またデ
バイスがメモリである時には、ソースアドレスレジスタ
SAR及びデスティネーションアドレスレジスタDAR
の値を加算器24及び25を用いて、動作定義レジスタ
ODRのTBSフィールドで決まる語数の4倍(即ち、
バイト数)増加させる。デバイスが外部I/Oデバイス
の場合には増加させない。
【0064】データ転送終了信号DC#がクロック信号
CLKの立ち下がり時点で”L”レベルの場合には、次
のクロックの立ち上がりから次の状態に遷移する。この
時、TdステートからTdステート、Tdステートから
Taステート、及びTdステートからTiステートの状
態遷移が考えられるが、それぞれの状態遷移の条件を以
下にまとめる。
【0065】(1)TdステートからTdステート (高速転送モード)且つ(更新後のデータ転送バイトカ
ウントレジスタTBC≠”0000”)の時には、高速
転送の途中であるので、次の1語の転送を行なうTdス
テートになる。
【0066】(2)TdステートからTaステート (2-1) (通常転送モード)且つ(更新後のデータ転送バ
イトカウントレジスタTBC≠”0000”)且つ
{(次のアクセスはメモリ)或いは(次のアクセスは外
部I/Oデバイス且つDMA転送要求信号DREQ#
=”L”レベル)}の時にはTaステートに移る。その
際、バス状態レジスタSRのSTフィールドを”10”
にし、RWビットは変化させない。
【0067】(2-2) (更新後のデータ転送バイトカウン
トレジスタTBC=”0000”)且つ{(次のアクセ
スはメモリ)或いは(次のアクセスは外部I/Oデバイ
ス且つDMA転送要求信号DREQ#=”L”レベ
ル)}且つ(更新後のバイトカウントレジスタBCR
≠”0”)の時にはTaステートに移る。その際、バス
状態レジスタSRのSTフィールドを”10”にし、R
Wビットは反転させる。
【0068】(3)TdステートからTiステート (3-1) バイトカウントレジスタBCRを更新して”0”
になった時にはTiステートに移る。その際、バス状態
レジスタSRのSTフィールドを”00”にし、RWビ
ットは反転させる。
【0069】(3-2) (通常転送モード)且つ(更新後の
データ転送バイトカウントレジスタTBC≠”000
0”)且つ(次のアクセスは外部I/Oデバイス且つD
MA転送要求信号DREQ#=”H”レベル)}の時に
はTiステートに移る。その際、バス状態レジスタSR
のSTフィールドを”00”にし、RWビットは変化さ
せない。
【0070】(3-3) (更新後のデータ転送バイトカウン
トレジスタTBC=”0000”)且つ(次のアクセス
は外部I/Oデバイス且つDMA転送要求信号DREQ
#=”H”レベル)}且つ(更新後のバイトカウントレ
ジスタBCR≠”0”)の時にはTiステートに移る。
その際、バス状態レジスタSRのSTフィールドを”0
0”にし、RWビットは反転させる。
【0071】尚、次のアクセスがメモリであるか外部I
/Oデバイスであるかは、更新後のデータ転送バイトカ
ウントレジスタTBC、更新前のバス状態レジスタSR
のRWビット、並びに動作定義レジスタODRのSTP
フィールド或いはDTPフィールドからわかる。更新後
のデータ転送バイトカウントレジスタTBCが”000
0”の場合、更新前のバス状態レジスタSRのRWビッ
トが”0”の時は動作定義レジスタODRのDTPフィ
ールドで示されたデバイス、RWビットが”1”の時に
は動作定義レジスタODRのDTPフィールドで示され
たデバイスが次にアクセスされる。また、更新後のデー
タ転送バイトカウントレジスタTBCが”0000”で
ない場合には、更新前のバス状態レジスタSRのRWビ
ットが”0”の時には動作定義レジスタODRのSTP
フィールドで示されたデバイス、RWビットが”1”の
時には動作定義レジスタODRのDTPフィールドで示
されたデバイスが次にアクセスされる。これらの関係を
図7にまとめる。
【0072】また、更新後のデータ転送バイトカウント
レジスタTBCが”0000”であるとは、更新前の値
に転送バイト数(外部I/Oデバイスの場合には動作定
義レジスタODRのDPSフィールドで示された値、メ
モリの場合には1語(4バイト))を加えると”000
0”になるということであり、更新後のデータ転送バイ
トカウントレジスタTBCの値が”0000”になる場
合を図8にまとめて示す。
【0073】次に、本実施例の動作を説明する。一例と
して、メモリからメモリへ4語を高速転送する場合を考
える。DMAコントローラ20の外部信号、内部信号、
並びにDMA制御回路22の内部レジスタの動作も含め
たタイミングチャートを図9に示す。
【0074】先ず、データ転送を行なう為に、プロセッ
サからDMAコントローラ20内部のレジスタの設定を
行なう。DMAコントローラ20が初期状態の時、DM
A制御回路22内部のバス状態レジスタSRのSTフィ
ールドは”00”、RWビットは”0”にそれぞれなっ
ている。また、データ転送バイトカウントレジスタTB
Cの値は”0000”である。内部信号であるリード信
号RD#、ライト信号WR#、及びタイミング信号LT
C#は共に”H”レベルになっている。設定するのは、
動作定義レジスタODR、ソースアドレスレジスタSA
R、デスティネーションアドレスレジスタDAR、及び
バイトカウントレジスタBCRである。
【0075】動作定義レジスタODRのSTP及びDT
Pフィールドは、メモリ間の高速転送を行なうので共
に”00”にする。DPSフィールドはメモリ間の転送
であるので設定する必要はない。また4語ずつ転送する
のでTBSフィールドは”10”にする。ソースアドレ
スレジスタSARには転送元のアドレスを設定し、デス
ティネーションアドレスDARには転送先のアドレスを
設定する。またバイトカウントレジスタBCRには転送
するバイト数”00000010(16進表記)”を設
定する。動作定義レジスタODRのTBSフィールド
は”10”であり、4語ずつ転送するので、バイトカウ
ントレジスタの値は4語(16バイト)の倍数でなけれ
ばならない。
【0076】内部レジスタ群を上記のように設定した
後、動作定義レジスタODRのEXビットに”1”を書
き込む。これによりDMAコントローラ20はバス権要
求信号BREQ#をアクティブにし、プロセッサにバス
権を要求する。プロセッサはそれに応えてバス権応答信
号BACK#をアクティブにし、DMAコントローラ2
0はバス権を得てTaステートに移る。Taステートに
移るクロック信号CLKの立ち上がりでバス状態レジス
タSRのSTフィールドを”10”にする。
【0077】Taステートに移ると、リードバスサイク
ルを開始する。バススタート信号BS#を”L”レベル
に、リードライト信号R/W#を”H”レベルにし、ソ
ースアドレスレジスタSARの値adr1をアドレスバ
スABUS上に出力する。また、高速転送モードである
ので、高速アクセス要求信号BSTREQ#を”L”レ
ベルにする。Taステートのクロック信号CLKの立ち
上がりで、アドレスストローブ信号AS#を”L”レベ
ルにして、出力しているアドレス値adr1が有効であ
ることを示す。Taステートを1クロック行なうと、T
d(1)ステートに移る。Td(1)ステートに移るク
ロク信号CLKの立ち上がりで、バス状態レジスタSR
のSTフィールドを”11”にする。
【0078】Td(1)ステートに移ると、ライトバス
サイクルを開始する。バススタート信号BS#を”H”
レベルに、データストローブ信号DS#を”L”レベル
に、またリード信号RD#及びタイミング信号LTC#
を”L”レベルにする。クロック信号CLKの立ち下が
りでデータ転送終了信号DC#が”L”レベルなので、
タイミング信号LTC#の立ち上がりの時に、データレ
ジスタ選択信号DRS0#及びDRS1#、並びにデー
タレジスタバイトコントロール信号DRBC0#〜DR
BC3#で示されるデータレジスタDTR0内の領域0
〜31ビットに転送データd1が取り込まれる。またこ
の時、データストローブ信号DS#を”H”レベルにす
る。4バイトの転送データをデータレジスタDTR0内
に取り込んだので、次のステートに移る時(クロック信
号CLKの立ち上がり)には、転送データバイトカウン
トレジスタTBCの値を4増加させて”0100”にす
ることになる。高速転送モードで、また更新されたレジ
スタTBCの値が”0000”ではないので、続いてT
d(2)ステートに移る。
【0079】Td(2)ステートでは、Td(1)ステ
ートと同様な動作が行なわれ、転送データd2はデータ
レジスタDTR1の0〜31ビットに格納される。続く
Td(3)ステートでは転送データd3がデータレジス
タDTR2の0〜31ビットに、更にTd(4)ステー
トでは転送データd4がデータレジスタDTR3の0〜
31ビットに格納される。
【0080】Td(4)ステートでは、データ転送バイ
トカウントレジスタTBCの値は”1100”なので、
更新すると”0000”となる。つまり、更新後のレジ
スタTBCの値が”0000”で、バス状態レジスタS
RのRWビットが”0”の高速転送モードなので、次は
Taステートに移ることになる。Td(4)ステートの
クロック信号CLKの立ち下がりで、アドレスストロー
ブ信号AS#及び高速アクセス要求信号BSTREQ#
を”H”レベルにする。Taステートに移るクロック信
号CLKの立ち上がりで、バス状態レジスタSRのST
フィールドは”10”に、RWビットは”1”に、また
データ転送バイトカウントレジスタTBCは”000
0”に変化する。
【0081】Taステートに移ると、バススタート信号
BS#を”L”レベルに、リードライト信号R/W#
を”L”レベルにして、デスティネーションアドレスレ
ジスタDARの値adr2をアドレスバスABUSに出
力する。また、高速アクセス要求信号BSTREQ#
を”L”レベルにする。クロック信号CLKの立ち下が
りでアドレスストローブ信号AS#を”L”レベルにす
る。Taステートを1クロック動作後、Td(1)ステ
ートに移る。Td(1)ステートに移る時(クロック信
号CLKの立ち上がり)に、バス状態レジスタSRのS
Tフィールドを”11”に変化させる。
【0082】Td(1)ステートに入ると、バススター
ト信号BS#を”H”レベルに、データストローブ信号
DS#を”L”レベルにする。また、ライト信号WR#
を”L”レベルにし、データレジスタ選択信号DRS0
#及びDRS1#、並びにデータレジスタバイトコント
ロール信号DRBC0#〜DRBC3#で示されたデー
タレジスタDTR0内の領域0〜31ビットに格納され
ていた転送データd1をデータバスDBUSに出力す
る。クロック信号CLKの立ち下がりでデータ転送終了
信号DC#が”L”レベルであるので、データストロー
ブ信号DS#を”H”レベルにして次のステートに移
る。4バイトの転送データを出力したので、次のステー
トに移る時(クロック信号CLKの立ち上がり)には、
転送データバイトカウントレジスタTBCの値を4増加
させて”0100”にすることになる。高速転送モード
で、また更新されたレジスタTBCの値が”0000”
ではないので、次のステートはTd(2)である。
【0083】Td(2)ステートでは、Td(1)ステ
ートと同様な動作が行なわれ、データレジスタDTR1
の0〜31ビットに格納されていた転送データd1が出
力される。続くTd(3)ステートではデータレジスタ
DTR2の0〜31ビットに格納されていた転送データ
d3が、更にTd(4)ステートではデータレジスタD
TR3の0〜31ビットに格納されていた転送データd
4が出力される。
【0084】Td(4)ステートでは、データ転送バイ
トカウントレジスタTBCの値は”1100”であり、
これに転送バイト数(4バイト)を加えると”000
0”となる。つまり、更新後のレジスタTBCの値が”
0000”で、バス状態レジスタSRのRWビットが”
1”の高速転送モードなので、クロック信号CLKの立
ち下がりで、アドレスストローブ信号AS#、高速アク
セス要求信号BSTREQ#及びリードライト信号R/
W#を”H”レベルにする。
【0085】また、次のステートに移るクロック信号C
LKの立ち上がりで、バス状態レジスタSR、データ転
送バイトカウントレジスタTBC、ソースアドレスレジ
スタSAR、デスティネーションアドレスレジスタDA
R、及びバイトカウントレジスタBCRの値を更新す
る。即ち、レジスタTBCの値は”0000”になり、
メモリ間の転送なので、レジスタSAR及びDARは共
に転送したバイト数即ち16バイト分増加させる。また
レジスタBCRの値は転送したバイト数即ち16バイト
分減少させる。バイトカウントレジスタBCRの値が”
00000000(16進表記)”になるので、転送は
終了し、バス権要求信号BREQ#を”H”レベルにし
てバス権を解放してTiステートに移る。またバス状態
レジスタSRのSTフィールドは”00”に、RWビッ
トは”0”になる。
【0086】以上のように本実施例によれば、メモリか
らメモリへデータ転送する場合には、メモリから転送デ
ータを読み出す時も、書き込む時にも高速転送モードを
用いることができるので、従来のDMAコントローラ5
0によるデータ転送と比較すると、従来(図13)の場
合には16クロックを要していたのに対し、本実施例の
DMAコントローラ20によれば10クロックで転送す
ることができるので、16−10=6クロック速く処理
できる。
【0087】次に、本実施例の動作説明の為の他の例と
して、メモリから外部I/Oデバイスへデータを転送す
る場合を考える。この時のDMAコントローラ20の外
部信号、内部信号、並びにDMA制御回路22の内部レ
ジスタの動作も含めたタイミングチャートを図10に示
す。
【0088】この場合にも、高速転送モードでメモリリ
ードを行なうと、前例と同様に、Ta−Td(1)−T
d(2)−Td(3)−Td(4)のバスステートの遷
移により、5クロックで4語分のデータをデータレジス
タDTR0〜DTR3に格納することができる。
【0089】次に、外部I/Oデバイスに対して、デー
タレジスタDTR0〜DTR3に格納されている転送デ
ータを出力する。この時には高速転送モードでは動作し
ないので、Ta−Tdのサイクルを4回繰り返すことと
なり、4語分のデータを出力するのに8クロックを要す
る。
【0090】従って、メモリから外部I/Oデバイスに
転送するには13クロックかかることになる。従来のD
MAコントローラ50によるデータ転送と比較すると、
16−13=3クロック速く処理できる。
【0091】本実施例では、1つのチャネルしか備えて
いないDMAコントローラを考えたが、チャネルの数に
関わらず、本実施例のDMAコントローラ20を拡張し
て本発明のDMAコントローラを構成することは容易で
ある。
【0092】また、本実施例では、内部のデータレジス
タDTRnの数nを4語分として構成したが、これを8
語分、16語分、或いは他の語数分としても構成可能で
ある。その場合には、データレジスタDTRnの数に合
わせてデータレジスタ選択信号DRSm#の数を変更す
ればよい。また、高速転送モードで一度に転送する語数
も2、4語に固定されることはなく、変更可能である。
この場合、データレジスタDTRnの数nを増やすと共
に、データ転送バイトカウントレジスタTBCのビット
数を増やすことになる。
【0093】更に、本実施例では、高速転送モードで動
作中の時にアドレスを固定としたが、アドレスの上位は
固定しておいて、下位アドレスのみ連続して変化させて
アクセスする方法も考えられる。例えば、内部のデータ
レジスタが4語分であれば、アドレスの下位2ビット
(A28,A29)を連続して(0,0)、(0,
1)、(1,0)、(1,1)のように変化させても構
わない。この時、連続アクセスする語数により、変化さ
せる下位ビットの数は変化する。
【0094】
【発明の効果】以上のように本発明のデータ転送装置に
よれば、外部の装置間で複数語のデータ転送を一度に行
なう場合、一方の装置にアクセスして、連続して複数語
をレジスタファイルに取り込み、次に他方の装置にアク
セスして、レジスタファイルに格納されている複数語の
データを連続してメモリに転送することとしたので、複
数語のデータを連続して一度に転送することができ、例
えばページモード等の高速アクセスモードによるアクセ
スが可能なメモリに対しても、その高速モードを利用し
たデータ転送を行なうことができるので、複数語に及ぶ
一連のデータを一度に扱うことができ、高速なデータ転
送が可能なデータ転送装置を提供することができる。
【0095】また、本発明のデータ転送装置によれば、
外部の装置間の複数語のデータ転送において、レジスタ
ファイルの転送データの取り込み及び取り出しを計数手
段の値により制御し、またデータ転送装置の状態の遷移
を、動作定義保持手段、状態保持手段、及び計数手段が
保持する情報に基づき、次に遷移すべき状態を判断する
こととしたので、複雑な状態遷移の制御を簡単に行なう
ことができ、また、高速転送する際の転送単位の語数を
プログラマブルに設定でき、任意の転送単位で複数語の
データ転送を高速に行なうことが可能なデータ転送装置
を提供することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の一実施例に係るデータ転送装置の構成
図である。
【図3】本発明のデータ転送装置の内部レジスタ群の構
成図である。
【図4】データレジスタ選択信号DRS0#及びDRS
1#の状態と選択されるデータレジスタの関係図であ
る。
【図5】データレジスタバイトコントロール信号DRB
C0#〜DRBC3#の真理値を説明する図である。
【図6】本発明のデータ転送装置の状態遷移図である。
【図7】データ転送バイトカウントレジスタTBC、バ
ス状態レジスタSRのRWビット、並びに動作定義レジ
スタODRのSTP及びDTPフィールドと、次にアク
セスされるデバイスとの関係を説明する図である。
【図8】更新後のデータ転送バイトカウントレジスタT
BCの値が”0000”になる場合を説明する図であ
る。
【図9】本発明のデータ転送装置によりメモリからメモ
リへ4語を高速転送する場合のタイミングチャートであ
る。
【図10】本発明のデータ転送装置によりメモリから外
部I/Oデバイスへ4語のデータを転送する場合のタイ
ミングチャートである。
【図11】従来のデータ転送装置の構成図である。
【図12】従来のデータ転送装置の状態遷移図である。
【図13】従来のデータ転送装置によりメモリから外部
I/Oデバイスへ4語のデータを転送する場合のタイミ
ングチャートである。
【符号の説明】
1 データ転送装置 2 プロセッサ 3,4 メモリ 5 I/O装置 6 レジスタファイル 7 制御手段 8 動作定義保持手段 11 状態保持手段 12 計数手段 BUS バス 20,50 DMAコントローラ 22,52 DMA制御回路 23,53 減算器 24,25,54,55 加算器 ODR 動作定義レジスタ BCR バイトカウントレジスタ SAR ソースアドレスレジスタ DAR デスティネーションアドレスレジスタ DTR0〜DTR3,DTR データレジスタ TBC データ転送バイトカウントレジスタ SR バス状態レジスタ DREQ# DMA転送要求信号 DACK# DMA転送応答信号 BREQ# バス権要求信号 BACK# バス権応答信号 A00〜A29 アドレスバス信号 BC0#〜BC3# バイトコントロール信号 D00〜D31 データバス信号 ABUS アドレスバス AS# アドレスストローブ信号 DBUS データバス DS# データストローブ信号 BS# バススタート信号 R/W# リードライト信号 DC# データ転送終了信号 CS# チップセレクト信号 BSTREQ# 高速アクセス要求信号 RD# リード信号 WR# ライト信号 LTC# タイミング信号 DRS0#,DRS1# データレジスタ選択信号 DRBC0#〜DRBC3# データレジスタバイトコ
ントロール信号

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 当該データ転送装置とバスを介して接続
    される外部の装置から連続して読み込んだ複数語のデー
    タを格納するレジスタファイルを有し、DMA転送によ
    り前記外部の装置間の1語或いは複数語のデータ転送を
    一度に行なうことを特徴とするデータ転送装置。
  2. 【請求項2】 当該データ転送装置とバスを介して接続
    される外部の装置から連続して読み込んだ複数語のデー
    タを格納するレジスタファイルと、前記レジスタファイ
    ルに対するバスからのデータの書き込み及び読み出しを
    制御する制御手段とを有し、DMA転送により前記外部
    の装置間の1語或いは複数語のデータ転送を一度に行な
    うことを特徴とするデータ転送装置。
  3. 【請求項3】 前記データ転送装置は、データ転送の転
    送元の装置のタイプ、転送先の装置のタイプ、及び複数
    語のデータ転送における転送単位を保持する動作定義保
    持手段を有し、前記制御手段は、当該データ転送装置が
    行なうバスアクセスの状態を保持する状態保持手段と、
    前記レジスタファイルに格納されているデータのバイト
    数を計数する計数手段とを有することを特徴とする請求
    項2に記載のデータ転送装置。
  4. 【請求項4】 前記状態保持手段が保持するバスアクセ
    スの状態として、当該データ転送装置がアクセスする前
    記外部装置のアドレス出力を行なう第1の状態と、1語
    分のデータ転送を行なう第2の状態を備え、前記制御手
    段は、1回の第1の状態に続いてその語数回の第2の状
    態に遷移していくことにより、複数語のデータ転送を行
    なうことを特徴とする請求項2または3に記載のデータ
    転送装置。
  5. 【請求項5】 前記制御手段は、前記動作定義保持手
    段、状態保持手段、及び計数手段が保持する情報に基づ
    き次に遷移すべき状態を判断することを特徴とする請求
    項2、3、または4に記載のデータ転送装置。
JP3341222A 1991-12-24 1991-12-24 データ転送装置 Pending JPH05173932A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP3341222A JPH05173932A (ja) 1991-12-24 1991-12-24 データ転送装置
KR1019920025367A KR960012993B1 (ko) 1991-12-24 1992-12-24 데이터 전송방법
US08/551,700 US5594923A (en) 1991-12-24 1995-11-01 Direct memory access controller comprising a multi-word data register for high speed continuous data transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3341222A JPH05173932A (ja) 1991-12-24 1991-12-24 データ転送装置

Publications (1)

Publication Number Publication Date
JPH05173932A true JPH05173932A (ja) 1993-07-13

Family

ID=18344328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3341222A Pending JPH05173932A (ja) 1991-12-24 1991-12-24 データ転送装置

Country Status (3)

Country Link
US (1) US5594923A (ja)
JP (1) JPH05173932A (ja)
KR (1) KR960012993B1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813267B1 (ko) * 2006-09-19 2008-03-13 삼성전자주식회사 데이터 처리시스템의 전송단위 설정방법 및 장치
US8059505B2 (en) 2007-09-14 2011-11-15 Seiko Epson Corporation Data writing control device, data writing control method, and data writing control program for writing to an optical disc
US9034294B1 (en) 2009-04-24 2015-05-19 Simbol, Inc. Preparation of lithium carbonate from lithium chloride containing brines
US10190030B2 (en) 2009-04-24 2019-01-29 Alger Alternative Energy, Llc Treated geothermal brine compositions with reduced concentrations of silica, iron and lithium
US11828272B2 (en) 2009-06-24 2023-11-28 Terralithium Llc Process for producing geothermal power, selective removal of silica and iron from brines, and improved injectivity of treated brines
US12168748B2 (en) 2009-04-24 2024-12-17 Terralithium Llc Treated geothermal brine compositions with reduced concentration of silica, iron and lithium

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3608804B2 (ja) * 1993-05-14 2005-01-12 株式会社ソニー・コンピュータエンタテインメント バス制御装置
US5701517A (en) * 1994-12-22 1997-12-23 Cirrus Logic, Inc. Pipelined alignment shifter and method for universal bit field boundary alignment
JP3442175B2 (ja) * 1995-02-02 2003-09-02 株式会社リコー 中央演算処理装置
JPH08307617A (ja) * 1995-05-10 1996-11-22 Canon Inc 通信装置
JP3351692B2 (ja) * 1995-09-12 2002-12-03 株式会社東芝 シンクロナス半導体メモリ装置
JPH11503260A (ja) * 1995-12-01 1999-03-23 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 複数のユーザーに対しデータを読み出すための方法及びシステム
US5802546A (en) * 1995-12-13 1998-09-01 International Business Machines Corp. Status handling for transfer of data blocks between a local side and a host side
JP3253547B2 (ja) * 1996-03-28 2002-02-04 株式会社沖データ データ転送システム
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
JP2001154976A (ja) * 1999-11-25 2001-06-08 Canon Inc Dmaコントローラ及びその制御方法
KR100484161B1 (ko) * 2002-09-13 2005-04-19 삼성전자주식회사 데이터를 워드 단위 또는 바이트 단위로 로드하고 워드단위로 저장하는 장치 및 방법
WO2004057481A1 (ja) * 2002-12-20 2004-07-08 Fujitsu Limited Dma制御装置、dma制御方法、dma制御プログラム
US20050182863A1 (en) * 2004-02-18 2005-08-18 Arm Limited, Direct memory access control
JP2006293927A (ja) * 2005-04-14 2006-10-26 Toshiba Corp ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi
US8637428B1 (en) 2009-12-18 2014-01-28 Simbol Inc. Lithium extraction composition and method of preparation thereof
US9051827B1 (en) 2009-09-02 2015-06-09 Simbol Mining Corporation Selective removal of silica from silica containing brines
US8741256B1 (en) 2009-04-24 2014-06-03 Simbol Inc. Preparation of lithium carbonate from lithium chloride containing brines
US10683563B2 (en) 2009-06-24 2020-06-16 Terralithium Llc Treated geothermal brine compositions with reduced concentrations of silica, iron and manganese
CA3172956A1 (en) 2010-02-17 2011-08-25 Terralithium Llc Method of producing high purity lithium carbonate
US10604414B2 (en) 2017-06-15 2020-03-31 Energysource Minerals Llc System and process for recovery of lithium from a geothermal brine
CN115391248A (zh) * 2022-09-19 2022-11-25 广州匠芯创科技有限公司 自动填充数据的方法、系统、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479179A (en) * 1979-07-30 1984-10-23 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
JPS6057457A (ja) * 1983-09-07 1985-04-03 Ricoh Co Ltd Dma装置
US5014186A (en) * 1986-08-01 1991-05-07 International Business Machines Corporation Data-processing system having a packet transfer type input/output system
US4782439A (en) * 1987-02-17 1988-11-01 Intel Corporation Direct memory access system for microcontroller
US5077664A (en) * 1988-03-08 1991-12-31 Fujitsu Limited Direct memory access controller
US5276684A (en) * 1991-07-22 1994-01-04 International Business Machines Corporation High performance I/O processor

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813267B1 (ko) * 2006-09-19 2008-03-13 삼성전자주식회사 데이터 처리시스템의 전송단위 설정방법 및 장치
US8059505B2 (en) 2007-09-14 2011-11-15 Seiko Epson Corporation Data writing control device, data writing control method, and data writing control program for writing to an optical disc
US8264924B2 (en) 2007-09-14 2012-09-11 Seiko Epson Corporation Data writing control device, data writing control method, and data writing control program
US9034294B1 (en) 2009-04-24 2015-05-19 Simbol, Inc. Preparation of lithium carbonate from lithium chloride containing brines
US9834449B2 (en) 2009-04-24 2017-12-05 Alger Alternative Energy, Llc Preparation of lithium carbonate from lithium chloride containing brines
US10190030B2 (en) 2009-04-24 2019-01-29 Alger Alternative Energy, Llc Treated geothermal brine compositions with reduced concentrations of silica, iron and lithium
US10829676B2 (en) 2009-04-24 2020-11-10 Terralithium Llc Treated geothermal brine compositions with reduced concentration of silica, iron and lithium
US12168748B2 (en) 2009-04-24 2024-12-17 Terralithium Llc Treated geothermal brine compositions with reduced concentration of silica, iron and lithium
US11828272B2 (en) 2009-06-24 2023-11-28 Terralithium Llc Process for producing geothermal power, selective removal of silica and iron from brines, and improved injectivity of treated brines

Also Published As

Publication number Publication date
KR930014089A (ko) 1993-07-22
US5594923A (en) 1997-01-14
KR960012993B1 (ko) 1996-09-25

Similar Documents

Publication Publication Date Title
JPH05173932A (ja) データ転送装置
JP3181515B2 (ja) データ転送方法及びその方法を用いたデータ転送装置
US6340973B1 (en) Memory control unit and memory control method and medium containing program for realizing the same
JP2004171209A (ja) 共有メモリデータ転送装置
JPH07219844A (ja) キャッシュラインリプレーシング装置及び方法
JP3803196B2 (ja) 情報処理装置、情報処理方法および記録媒体
JP3520032B2 (ja) データ処理装置
EP1431878A2 (en) Shared write buffer in a peripheral interface and method of operating
JP2005267148A (ja) メモリ制御装置
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JP3599692B2 (ja) データ伝送装置
JPS60205760A (ja) メモリ制御装置
JP3687112B2 (ja) データ転送制御装置及び情報処理装置
JPH0222748A (ja) 不揮発生メモリ制御回路
JP2581144B2 (ja) バス制御装置
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JP3293838B2 (ja) データ転送方式
JP2671768B2 (ja) Dmaデータ転送方式
JPH04333950A (ja) 情報処理システム
JPH01114952A (ja) 情報処理装置におけるメモリ間転送方式
JPH01119823A (ja) 先入れ先出し記憶装置
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPH05216810A (ja) データ転送装置及びその装置を備えたプロセッサ又は情報処理システム
JPH09231158A (ja) データ転送制御装置および磁気ディスク装置
JPH04199450A (ja) ダイレクト・メモリ・アクセス制御回路