JPH0831081B2 - Dmaコントローラ - Google Patents

Dmaコントローラ

Info

Publication number
JPH0831081B2
JPH0831081B2 JP11532588A JP11532588A JPH0831081B2 JP H0831081 B2 JPH0831081 B2 JP H0831081B2 JP 11532588 A JP11532588 A JP 11532588A JP 11532588 A JP11532588 A JP 11532588A JP H0831081 B2 JPH0831081 B2 JP H0831081B2
Authority
JP
Japan
Prior art keywords
address
data
transfer
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.)
Expired - Fee Related
Application number
JP11532588A
Other languages
English (en)
Other versions
JPH01284956A (ja
Inventor
敏保 高橋
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.)
Tec Corp
Original Assignee
Tec 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 Tec Corp filed Critical Tec Corp
Priority to JP11532588A priority Critical patent/JPH0831081B2/ja
Publication of JPH01284956A publication Critical patent/JPH01284956A/ja
Publication of JPH0831081B2 publication Critical patent/JPH0831081B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は周辺機器と内部記憶部との間又は内部記憶部
相互間でCPUを介さずに直接データの授受を行なうDMAコ
ントローラに関する。
[従来の技術] 一般に、マイクロコンピュータシステムにおいて、外
部から入力されたデータ処理を有しない大量のデータを
RAM等の内部記憶部に格納する場合は、CPU(中央処理装
置)を介さずにDMA(ダイレクト・メモリ・アクセス)
コントローラを使用する。
第7図はDMAコントローラを使用したマイクロコンピ
ュータシステムの基本構成を示すブロック図である。す
なわち、CPU1にアドレスバス2,データバス3,制御線4を
介して、制御プログラムや各種固定データを記憶するRO
M5、可変データを記憶するRAM6,7、例えば外部のホスト
コンピュータからデータが入力されるホストI/F(イン
ターフェース)8、およびホストI/F8に入力されたデー
タをRAM6,7へ直接転送するDMAコントローラ9等が接続
されている。
そして、前記DMAコントローラ9は例えば第8図に示
すように、リクエスト制御部10、バスコントロール部1
1、転送元アドレスレジスタ12、転送元アドレスカウン
タ13、転送先アドレスレジスタ14、転送先アドレスカウ
ンタ15、エンドアドレスレジスタ16、アドレス出力部1
7、データラッチ出力部18、コントロールレジスタ19等
で構成されている。
そして、第7図において、ホストI/F8へ入力されたデ
ータをRAM6へデータ転送する場合におけるDMAコントロ
ーラ9の動作を説明する。
まず、データ転送を開始する前に、CPU1のプログラム
制御によって、ホストI/F8における転送すべきデータの
開始アドレスを転送元アドレスレジスタ12に設定し、RA
M6における転送先の開始アドレスを転送先アドレスレジ
スタ14に設定する。なお、最初は、転送元アドレスカウ
ンタ13および転送先アドレスカウンタ15のアドレス値は
それぞれ転送元アドレスレジスタ12および転送先アドレ
スレジスタ14と同じアドレス値である。また、ホストI/
F8上の転送データの最終アドレスをエンドアドレスレジ
スタ16へ設定する。
しかして、例えばホストI/F8からデータ転送要求(DM
A要求)信号がリクエスト制御部10へ入力されると、バ
スコントロール部11がCPU1へホールド要求信号を送出し
て、アドレスバス2およびデータバス3に対する制御権
を得る。
すると、アドレス出力部17から転送元アドレスカウン
タ13にカウントされている転送元アドレス値がアドレス
バス2へ出力される。その結果、バスコントロール部11
を介してホストI/F部8上の転送元アドレスに記憶され
ているデータがデータラッチ出力部18へ読込まれてラッ
チされる。次に、アドレス出力部17が転送先アドレスカ
ウンタ15の転送先アドレス値をアドレスバス2へ出力す
る。すると、データラッチ出力部18にラッチされていた
データがRAM6上の転送先アドレスカウンタ15にて指定さ
れたアドレスに書込まれる。
以上で1個のデータに対する1回目のDMAサイクルが
終了したので、転送元アドレスカウンタ13のアドレス値
および転送先アドレスカウンタ15のアドレス値を次のア
ドレス値へ更新する。そして、第2回目のDMAサイクル
を開始する。
そして、転送元アドレスカウンタ13のアドレス値とエ
ンドアドレスレジスタ16の最終アドレス値が一致する
と、アドレス出力部17からアドレス値が出力されなくな
り、一連のデータ転送処理が終了して、このDMAコント
ローラ9は動作を停止し、アドレスバス2およびデータ
バス3の制御権をCPU1へ返還する。
このようなDMAコントローラ9において、1個のデー
タをどのように分割してデータ転送するかのデータ転送
モードの種類は例えば第9図に示すような種類がある。
すなわち、8ビットを1バイトとし、2バイトを1ワ
ードとすると、第9図(a)は1ワードのデータを一度
に転送するワード転送法であり、同図(b)は下位バイ
トのみを転送する下位バイト転送法である。また、同図
(c)は上位バイトのみを転送する上位バイト転送法で
ある。また、同図(d)は転送元が1ワードのデータ
で、転送先がそれぞれ1バイトの容量を有した2個の記
憶部等の場合に使用されるワード−下位バイト・下位バ
イト転送法である。
[発明が解決しようとする課題] しかし、第7図に示すように、データバス3およびア
ドレスバス2に接続されているホストI/F8、各RAM6,7、
ROM5に設定されているデータのビット構成数が一致しな
い場合において、一つのデータを異なる桁にデータ転送
することは出来なかった。例えば、ホストI/F8に入力さ
れたデータバスDB0〜DB7に接続された8ビット(1バイ
ト)のデータをRAM6の8〜15の上位バイトに転送するこ
とは不可能であった。
すなわち、データ転送を実施する場合は、転送元のデ
ータバスのビット(桁)指定と転送先のデータバスのビ
ット(桁)指定とを一致させる必要があった。したがっ
て、第7図に示すように、8ビット,16ビット、32ビッ
トのデータバスを有するI/O8、各メモリ5,6,7が混在し
てマイクロコンピュータシステムにおいては、データの
任意のメモリ6,7の任意の桁に転送することが不可能と
なる。
したがって、データの移動やデータの編集等を実行す
る場合は、DMAコントローラ9を使用せずに、各データ
をCPU1の制御によって桁変換処理したのち該当メモリへ
格納するようにしている。その結果、CPU1の負担が増大
するのみならず、多くの処理時間が必要となり、システ
ム全体の処理速度が低下する問題があった。
本発明は、従来の回路に、設定されたデータ転送モー
ドに従ってバイト単位で転送元データバスと転送先デー
タバスとの接続を切換えるデータバスセレクタ部を付加
することによって、8ビット,16ビット,32ビット等の種
々のビット構成からなるデータバスを有する種々の周辺
機器と内部記憶部との間でデータをバイト単位で任意の
桁に転送でき、マイクロコンピュータシステム全体の処
理能力および処理速度を向上できるDMAコントローラを
提供することを目的とする。
[課題を解決するための手段] 上記課題を解決するために本発明のDMAコントローラ
は、アドレスバスおよびデータバスを制御するバスコン
トロール部と、転送データの転送元の開始アドレスを記
憶する転送元アドレスレジスタと、この転送元アドレス
レジスタの開始アドレス値からアドレス値を進める転送
元アドレスカウンタと、転送データの転送先の開始アド
レスを記憶する転送先アドレスレジスタと、この転送先
アドレスレジスタのアドレス値からアドレス値を進める
転送先アドレスカウンタと、アドレスバスに対して転送
元アドレスカウンタおよび転送先アドレスカウンタの転
送元アドレスおよび転送先アドレスレを交互に出力する
アドレス出力部と、複数のデータ転送モードのうちから
予め選択設定された一つのデータ転送モードを記憶する
セレクタレジスタと、このセレクタレジスタに記憶され
たデータ転送モードに従ってバイト単位で転送元のデー
タバスを転送先のデータバスへ接続するデータバスセレ
クタ部と、アドレス出力部にて出力された転送元アドレ
スから読取られたバイト単位分のデータをラッチしてデ
ータバスセレクタ部にて接続されたデータバスを介して
アドレス出力部にて指定された転送先アドレスへ出力す
るデータラッチ出力部と、転送データの転送元アドレス
又は転送先アドレスの最終アドレスを記憶するエンドア
ドレスレジスタと、このエンドアドレスレジスタの最終
アドレス値と転送元アドレスカウンタ又は転送先アドレ
スカウンタのカウント値とを比較して一致するとアドレ
ス出力部へアドレス出力停止指令を送出する比較部とを
備えたものである。
[作用] このように構成されたDMAコントローラによれば、実
際のデータ転送を開始するまえに、セレクタレジスタに
複数のデータ選択モードから一つのデータ選択モードを
設定しておく、すると、実際のデータ転送時において
は、データラッチ出力部から出力されるバイト単位のデ
ータは、データバスセレクタ部によってセレクタレジス
タに記憶されたデータ転送モードの指定するバイト単位
で選択されたデータバスへ出力される。
したがって、例えば転送元の下位1バイトのデータを
転送先の上位1バイトへDMAコントローラを用いて転送
することが可能となる。
[実施例] 以下本発明の一実施例を図面を用いて説明する。
第1図は実施例のDMAコントローラを示すブロック図
である。第8図に示す従来のDMAコントローラと同一部
分には同一符号が付してある。したがって、重複する部
分の説明を省略する。また、このDMAコントローラが組
込まれるマイクロコンピュータシステムは第7図とほぼ
同じである。
すなわち、このDMAコントローラにおいては、第7図
のホストI/F8の転送元のデータバスとして最大32ビット
構成のデータバスが接続可能であり、各RAM6,7の転送先
のデータバスとして同じく最大32ビット構成のデータバ
スが接続可能である。また、ROM5を転送元のメモリとし
て使用する場合も最大32ビット構成のデータバスが接続
可能である。
そして、このDMAコントローラには第8図の各構成部
材に、セレクタレジスタ21、データバスセレクタ部22、
セレクタレジスタ21およびデータバスセレクタ部22の動
作タイミングを制御するセレクタコントロール部23が付
加されている。
前記セレクタレジスタ21は転送元のデータバスと転送
先のデータバスとの間の接続状態を設定するレジスタで
あり、第2図に示すように16ビット構成を有しており、
b0〜b15の16個のビットデータからなる。そして、b0〜b
7の下位8ビットに合計16種類のデータ転送モードを設
定することが可能である。例えば[b0,b1]に[00]と
設定されていれば、転送元のDB0〜DB7のデータバスの1
バイト分のデータを転送先のDB0〜DB7のデータバスへ転
送することを示し、[01]の場合は、同じく転送元のDB
0〜DB7のデータバスの1バイト分のデータを転送先のDB
8〜DB15のデータバスへ転送することを示す。同様に6,7
桁目の[b6,b7]に[00]と設定されていれば、転送元
のDB24〜DB31のデータバスの1バイト分のデータを転送
先のDB0〜DB7のデータバスへ転送することを示し、[1
1]と設定されていれば、転送元のDB24〜DB31のデータ
バスの1バイト分のデータを転送先のDB24〜DB31のデー
タバスへ転送することを示す。なお、同時に複数種類の
データ送信モードを設定することはできない。
また、データバスセレクタ部22は、転送しようとする
データのバイト単位のデータバスをセレクタレジスタ21
に設定されている転送先のバイト単位のデータバスへ接
続する回路である。したがって、データラッチ出力部18
から出力されるバイト単位のデータをDB0〜DB31内のセ
レクタレジスタ21に設定されたバイト単位分のデータバ
スへ出力させる。
このようなDMAコントローラの動作を実例を用いて説
明する。
例えば、第4図に示した、8ビットのデータバスを有
するホストI/F8の同一アドレス[900000]Hから順次出力
される1バイト構成からなる3個のデータ[AB],[C
D],[EF]を、16ビットのデータバスを有するRAM6の
[C00000]Hアドレスから[C00005]Hアドレスの上位バイト
(DB9〜DB15)へ順次転送する場合の手順を説明する。
まず、データ転送を開始する前に、CPU1のプログラム
制御によって、ホストI/F8における転送すべきデータの
開始アドレス[900000]Hを転送元アドレスレジスタ12に
設定し、RAM6における転送先の開始アドレス[C00001]H
を転送元アドレスレジスタ14に設定する。なお、最初
は、転送元アドレスカウンタ13および転送先アドレスカ
ウンタ15のアドレス値はそれぞれ各アドレスレジスタ1
2,14と同じアドレス値である。また、RAM6上の転送先の
最終アドレス[C00005]Hをエンドアドレスレジスタ16へ
設定する。
また、転送元アドレスカウンタ13の1DMAサイクル毎の
加算値(変更値)を[0]に設定し、転送先アドレスカ
ウンタ15の1DMAサイクル毎の加算値(変更値)を[+
2]に設定する。
さらに、第2図に示すセレクタレジスタ21の1桁目お
よび2桁目のビットデータ[b0,b1]に[01]のデータ
転送モードを設定する。その結果、データバスセレクタ
部22は実際のデータ転送時においては、転送元のデータ
バスDB0〜DB7を転送先のデータバスDB8〜DB15へ接続す
る。
しかして、例えばホストI/F8からデータ転送要求(DM
A要求)信号がリクエスト制御部10へ入力されると、バ
スコントロール部11がCPU1へホールド要求信号を送出し
て、アドレスバス2およびデータバス3に対する制御権
を得る。
すると、第3図に示すように、アドレス出力部17から
転送元アドレスカウンタ13にカウントされている転送元
アドレス[900000]Hがアドレスバス2へ出力される。同
時に読出制御信号が出力される。その結果、バスコント
ロール部11を介してホストI/F8上の転送元アドレス[900
000]Hから出力されている[AB]の1バイト分のデータ
がデータバスDB0〜DB7を介してデータラッチ出力部18へ
読込まれてラッチされる。次に、アドレス出力部17が転
送先アドレスカウンタ15のアドレス値[C00001]Hをアド
レスバス2へ出力する。同時に書込制御信号を出力す
る。すると、データラッチ出力部18にラッチされていた
下位1バイト分のデータがデータバスセレクタ部22にて
上位バイトのデータバスDB8〜DB15へ出力され、RAM6上
の転送先アドレスカウンタ15にて指定されたアドレス[C
00001]Hに書込まれる。
以上で1個のデータ[AB]に対する1回目のDMAサイ
クルが終了したので、転送元アドレスカウンタ13のアド
レス値および転送先アドレスカウンタ15のアドレス値を
次のアドレス値へ更新する。すなわち、転送元アドレス
カウンタ13のアドレス値は加算値が0であるので、アド
レス値[900000]Hは変化しない。一方、転送先アドレス
カウンタ15のアドレス値は[+2]だけ加算されて[C00
003]Hとなる。そして、この条件で、第2回目のDMAサイ
クルを開始する。すなわち、この2回目のDMAサイクル
の開始時にはホストI/F8のアドレス[900000]Hのデータ
は[CD]に変化しており、この1バイト分のデータがRA
M6のアドレス[C00003]Hの上位バイト(DB8〜DB15)へ書
込まれる。
そして、転送元アドレスカウンタ15のアドレス値とエ
ンドアドレスレジスタ16の最終アドレス値[C00005]H
一致すると、そのアドレスに対するデータ転送処理が終
了した時点でアドレス出力部17からアドレス値が出力さ
れなくなり、一連のデータ転送処理が終了する。そし
て、このDMAコントローラ9は動作を停止し、アドレス
バス2およびデータバス3の制御権をCPU1へ返還する。
このように、セレクタレジスタ21に実行しようとする
データ転送モードを設定することによって、ホストI/F8
から入力されるバイト単位のデータをRAM6,7のバイト単
位からなる任意の桁に転送することが可能となる。
また、内部記憶部相互間におけるデータ転送も実行で
きる。例えば、第5図に示すように、16ビットのデータ
バスDB0〜DB15を有するROM5のアドレス[A00000]Hから[A
00005]Hまでに記憶されたそれぞれ2バイト分のデータ
[AB,CD]〜[IJ,KL]を、32ビットのデータバスDB0〜D
B31を有するRAM7のアドレス[B00001]Hから[B0000A]H
転送することも前述した手段を用いて実行できる。
このように、転送元と転送先のとの間で、データバス
のビット構成,およびデータが設定されている桁が全く
異なったとしても、データは上述したDMAコントローラ
を用いて正常にデータ転送される。第6図はこの実施例
のDMAコントローラで実現できるデータ転送モードを示
した模式図である。
第6図(a)〜(d)は第9図(a)〜(d)に示し
た従来のDMAコントローラにおけるデータ転送モードと
同じである。そして、第6図(e)〜(g)が新たに付
加されたデータ転送モードの一例を示すものである。す
なわち、第6図(e)は下位バイトのデータを上位バイ
トへ転送することを示し、同図(g)は上位バイトのデ
ータを下位バイトへ転送することを示す。さらに、同図
(f)はDB0〜DB15の下位1ワード分(2バイト分)の
データをDB16〜DB31の上位1ワード(2バイト)へ転送
することを示す。
このように、マイクロコンピュータシステムのなか
に、8ビット,16ビット,32ビットのそれぞれビット構成
数が異なるデータバスが接続されるI/O,各メモリ等が混
在したとしても、I/Oと各メモリ間又はメモリ相互間に
おいて、DMAデータ転送が可能となる。よって、CPU1に
よる桁変換等のデータ処置を実行する必要がないので、
CPU1の負担を軽減できるとともに、マイクロコンピュー
タシステム全体のデータ処置速度を上昇できる。
[発明の効果] 以上説明したように本発明のDMAコントローラにおい
ては、従来の回路に、設定されたデータ転送モードに従
ってバイト単位で転送元データバスと転送先データバス
との接続を切換えるデータバスセレクタ部を付加してい
る。よって、8ビット,16ビット,32ビット等の種々のビ
ット構成からなるデータバスを有する種々の周辺機器と
内部記憶部との間、および内部記憶部相互間でデータを
バイト単位で任意の桁に転送でき、マイクロコンピュー
タシステム全体の処理能力向上および処理速度上昇を図
れる。
【図面の簡単な説明】
第1図乃至第6図は本発明の一実施例に係わるDMAコン
トローラを示すものであり、第1図は全体のブロック構
成図、第2図はセレクタレジスタのビット構成図、第3
図は動作を示すタイムチャート、第4図および第5図は
データ転送時における転送元アドレスと転送先アドレス
との関係を示す図、第6図はデータ転送モードを示す模
式図であり、第7図はDMAコントローラを使用した一般
的なマイクロコンピュータシステムを示すブロック図、
第8図は従来のDMAコントローラを示すブロック図、第
9図は同従来DMAコントローラにおけるデータ転送モー
ドを示す模式図である。 1……CPU、2……アドレスバス、3……データバス、
4……制御線、5……ROM、6,7……RAM、8……ホストI
/F、9……DMAコントローラ、10……リクエスト制御
部、11……バスコントロール部、12……転送元アドレス
レジスタ、13……転送元アドレスカウンタ、14……転送
先アドレスレジスタ、15……転送先アドレスカウンタ、
16……エンドアドレスレジスタ、17……アドレス出力
部、18……データラッチ出力部、19……コントロールレ
ジスタ、20……比較部、21……セレクタレジスタ、22…
…データバスセレクタ部、23……セレクタコントロール
部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】アドレスバスおよびデータバスを制御する
    バスコントロール部と、転送データの転送元の開始アド
    レスを記憶する転送元アドレスレジスタと、この転送元
    アドレスレジスタの開始アドレス値からアドレス値を進
    める転送元アドレスカウンタと、前記転送データの転送
    先の開始アドレスを記憶する転送先アドレスレジスタ
    と、この転送先アドレスレジスタのアドレス値からアド
    レス値を進める転送先アドレスカウンタと、アドレスバ
    スに対して前記転送元アドレスカウンタおよび転送先ア
    ドレスカウンタの転送元アドレスおよび転送先アドレス
    を交互に出力するアドレス出力部と、複数のデータ転送
    モードのうちから予め選択設定された一つのデータ転送
    モードを記憶するセレクタレジスタと、このセレクタレ
    ジスタに記憶されたデータ転送モードに従ってバイト単
    位で転送元のデータバスを転送先のデータバスへ接続す
    るデータバスセレクタ部と、前記アドレス出力部にて出
    力された転送元アドレスから読取られたバイト単位分の
    データをラッチして前記データバスセレクタ部にて接続
    されたデータバスを介して前記アドレス出力部にて指定
    された転送先アドレスへ出力するデータラッチ出力部
    と、前記転送データの転送元アドレス又は転送先アドレ
    スの最終アドレスを記憶するエンドアドレスレジスタ
    と、このエンドアドレスレジスタの最終アドレス値と前
    記転送元アドレスカウンタ又は転送先アドレスカウンタ
    のカウント値とを比較して一致すると前記アドレス出力
    部へアドレス出力停止指令を送出する比較部とを備えた
    ことを特徴とするDMAコントローラ。
JP11532588A 1988-05-12 1988-05-12 Dmaコントローラ Expired - Fee Related JPH0831081B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11532588A JPH0831081B2 (ja) 1988-05-12 1988-05-12 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11532588A JPH0831081B2 (ja) 1988-05-12 1988-05-12 Dmaコントローラ

Publications (2)

Publication Number Publication Date
JPH01284956A JPH01284956A (ja) 1989-11-16
JPH0831081B2 true JPH0831081B2 (ja) 1996-03-27

Family

ID=14659778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11532588A Expired - Fee Related JPH0831081B2 (ja) 1988-05-12 1988-05-12 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH0831081B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04363745A (ja) * 1991-05-17 1992-12-16 Toshiba Corp Dmaコントローラ

Also Published As

Publication number Publication date
JPH01284956A (ja) 1989-11-16

Similar Documents

Publication Publication Date Title
JP2633331B2 (ja) マイクロプロセッサ
JPS6126103B2 (ja)
JPH0652102A (ja) データ転送装置
US4575796A (en) Information processing unit
JPH0831081B2 (ja) Dmaコントローラ
JPS5968068A (ja) メモリボ−ド
JPS6055911B2 (ja) 主記憶装置
JPH022176B2 (ja)
JPH0235551A (ja) チャネル装置におけるアドレス変換方式
JP2594611B2 (ja) Dma転送制御装置
JPH01128143A (ja) マイクロコンピュータシステム
JP3293838B2 (ja) データ転送方式
JPS59136831A (ja) デ−タ転送制御装置
JPS6111493B2 (ja)
JPS59106047A (ja) マイクロコンピユ−タ
JPS62210559A (ja) Dma回路
JPH042973B2 (ja)
JPH0635841A (ja) バス制御装置
JPH04112251A (ja) マイクロコンピュータ
JPH0488536A (ja) メモリ制御回路
JPH0195350A (ja) データ転送制御方式
JPH05342090A (ja) データ処理装置
JPS63271652A (ja) Dma制御装置
JPH06131254A (ja) アドレス変換装置
JPH07302239A (ja) データ処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees