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

Dmaコントローラ

Info

Publication number
JPH04363745A
JPH04363745A JP3113460A JP11346091A JPH04363745A JP H04363745 A JPH04363745 A JP H04363745A JP 3113460 A JP3113460 A JP 3113460A JP 11346091 A JP11346091 A JP 11346091A JP H04363745 A JPH04363745 A JP H04363745A
Authority
JP
Japan
Prior art keywords
bus
signal
data bus
address
transfer
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
JP3113460A
Other languages
English (en)
Inventor
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 JP3113460A priority Critical patent/JPH04363745A/ja
Priority to US07/883,780 priority patent/US5404481A/en
Publication of JPH04363745A publication Critical patent/JPH04363745A/ja
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/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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】 [発明の目的]
【0002】
【産業上の利用分野】本発明は外部I/Oデバイスとメ
モリ間のデータ転送をプロセッサに代わって行なうDM
Aコントローラに関し、特に外部I/Oデバイスとメモ
リ間のデータ転送を1回のバスサイクルで行なう機能を
持つDMAコントローラに関する。
【0003】
【従来の技術】DMAコントローラは、DMA転送要求
が外部或いは内部で発生するとプロセッサからバス制御
権を獲得し、プロセッサに代わってメモリとI/Oデバ
イスとのデータ転送を行なう。
【0004】このデータ転送には、大きく分けて2つの
方法がある。1つはメモリに対するバスサイクルとI/
Oに対するバスサイクルを別々に行なう方法である。こ
の方法は、メモリに対するアドレスとI/Oに対するア
ドレスをそれぞれのメモリバスサイクルとI/Oバスサ
イクルで出力するのでデュアルアドレス転送と呼ばれる
。デュアルアドレス転送では、メモリとI/Oのデータ
転送のために一度データをDMAコントローラの内部の
データレジスタへ格納する。
【0005】もう一つの方法では、DMAコントローラ
はメモリに対するバスサイクルのみを行ない、データバ
ス上で直接メモリとI/O間のデータ転送を行なう。こ
の方法は、メモリに対するアドレスしかDMAコントロ
ーラは出力しないので、シングルアドレス転送と呼ばれ
る。I/Oデバイスのアクセスはデータ転送期間にアク
ティブになるDMA転送応答信号でなされる。シングル
アドレス転送のシステムを図24に示す。
【0006】図24では、メモリ120のポートサイズ
とI/Oデバイス114のポートサイズが異なる場合を
示している。メモリ120のポートサイズが2バイトで
あり、上位バイトメモリ112がデータバスの上位に、
下位バイトメモリ113がデータバスの下位に接続され
ている。16ビットのデータバスを持つプロセッサシス
テムに1バイトポートサイズのI/Oデバイスを使用す
る場合がこの例に当たる。I/Oデバイス114のポー
トサイズは1バイトであり、下位データバスに接続され
ている。DMAコントローラ111はDMA転送要求が
発生すると、バス権要求をアクティブにしてプロセッサ
110へバス権を要求する。プロセッサ110がバス権
応答信号をアクティブにしてバス権をDMAコントロー
ラ111へ開放するとDMAコントローラ111はDM
A転送を開始する。
【0007】シングルアドレス転送でメモリ120から
I/Oデバイス114へデータを転送する場合を説明す
る。DMAコントローラ111はメモリ120からデー
タを読み出すバスサイクル(メモリリードサイクル)を
実行する。このため、DMAコントローラ111は、ア
ドレスバスにアクセスするメモリ120のアドレスを出
力し、メモリ読み出しのための制御信号をコントロール
バスに出力する。このバスサイクル中に、I/Oデバイ
ス114に対してはDMA転送応答信号をアクティブに
する。I/Oデバイス114のポートサイズが1バイト
であるため、DMAコントローラ111の行なうバスサ
イクルもバイトサイズのアクセスとなる。上位バイトに
対するメモリリードサイクルでは、上位バイトメモリ1
12はデータをデータバスの上位バイトへ出力する。図
24の場合では、I/Oデバイス114はデータバスの
下位バイトに接続されているので、DMAコントローラ
111はバス切替信号をアクティブにし、バス切替装置
115によりデータバスの上位バイトとデータバスの下
位バイトが接続されるようにする。これにより、上位バ
イトメモリ112の出力データがデータバスの下位バイ
トへ出力できる。I/Oデバイス114はこのメモリリ
ードサイクル中にDMA転送応答信号とコントロール信
号を使用してデータバスの下位バイトのデータを読み込
む。
【0008】本従来例のように、シングルアドレス転送
でメモリ120のポートサイズとI/Oデバイス114
のポートサイズが異なる場合は、外部にバス切替装置1
15が必要となり、更にDMAコントローラ111は、
バス切り替えのための信号を出力する必要がある。この
ような従来例に該当するものとしては、特公昭58−4
6727、特公平1−20781がある。
【0009】特公昭58−46727では、バス切替信
号として、DMAデータ転送のサイズが1バイトである
か2バイトであるかを示す信号と、転送が1バイトサイ
ズの時に上位バイトの転送か下位バイトの転送かを示す
信号を備えている。この場合、1バイトのI/Oデバイ
スは下位バイトに接続しなければならないことになる。 また、特公平1−20781では、バス切替信号として
DMAデータ転送のサイズが1バイトで上位バイトの転
送の時アクティブになる信号を備えている。
【0010】
【発明が解決しようとする課題】以上のように、従来の
シングルアドレス転送の方法では、外部に切替装置が必
要となり、更にDMAコントローラはバス切り替えのた
めの信号を出力しなければならなかった。また、バス切
替信号によりI/Oデバイスの接続位置が固定される場
合もあり、マイクロプロセッサのシステム構成に制約が
できてしまう。更に、データバスの幅が32ビット(4
バイト)、64ビット(8バイト)と広くなったシステ
ムでは、1バイト、2バイト、4バイト等の異なるポー
トサイズのI/Oデバイスが混載されることが考えられ
、このような状況では更に多くのバス切替信号とバス切
替装置が必要となり、システムの構築が困難となるとい
う欠点があった。
【0011】本発明は、上記問題点を解決するもので、
その目的は、シングルアドレス転送において、メモリと
I/Oデバイス間の転送で必要なバス切り替えをDMA
コントローラ自身で行なうことにより従来必要であった
外部のバス切替装置やDMAのバス切替信号を不要とし
、結果としてマイクロプロセッサシステムの構築の容易
なDMAコントローラを提供することである。
【0012】 [発明の構成]
【0013】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1の特徴は、複数のデータバス信号群か
らなるデータバス上でのDMA転送を制御するDMAコ
ントローラにおいて、図1に示す如く、バスサイクル実
行時に、あるデータバス信号を別のデータバス信号と接
続するバス切替手段1を具備することである。
【0014】また、本発明の第2の特徴は、複数のバイ
ト単位のデータバス信号群からなるデータバス上でのD
MA転送を制御するDMAコントローラにおいて、図1
に示す如く、あるデータバス信号のデータバス上のバイ
ト単位での位置を示す第1のアドレス手段3と、前記第
1のアドレス手段3の内容が転送元のアドレスか或いは
転送先のアドレスかを示す方向指示手段5と、アクセス
するサイズを示すサイズ指示手段6と、前記第1のアド
レス手段3、方向指示手段5、及びサイズ指示手段6の
内容によりあるデータバス信号を別のデータバス信号と
接続するように指示するバス切替信号を生成するバス切
替信号発生手段2と、前記バス切替信号によってあるデ
ータバス信号を別のデータバス信号と接続するバス切替
手段1とを具備することである。
【0015】更に、本発明の第3の特徴は、複数のバイ
ト単位のデータバス信号群からなるデータバス上でのD
MA転送を制御するDMAコントローラにおいて、図1
に示す如く、あるデータバス信号のデータバス上のバイ
ト単位での位置を示す第1のアドレス手段3と、別のデ
ータバス信号のデータバス上のバイト単位での位置を示
す第2のアドレス手段4と、前記第1のアドレス手段3
及び第2のアドレス手段4の内何れの内容が転送元のア
ドレス或いは転送先のアドレスであるかを示す方向指示
手段5と、アクセスするサイズを示すサイズ指示手段6
と、前記第1のアドレス手段3、第2のアドレス手段4
、方向指示手段5、及びサイズ指示手段6の内容により
あるデータバス信号を別のデータバス信号と接続するよ
うに指示するバス切替信号を生成するバス切替信号発生
手段2と、前記バス切替信号によってあるデータバス信
号を別のデータバス信号と接続するバス切替手段1とを
具備することである。
【0016】
【作用】本発明の第1の特徴のDMAコントローラでは
、複数のデータバス信号群からなるデータバス上でのD
MA転送を制御する場合、バスサイクル実行時に、バス
切替手段が、あるデータバス信号を別のデータバス信号
と接続する。
【0017】また、本発明の第2、第3の特徴のDMA
コントローラでは、複数のバイト単位のデータバス信号
群からなるデータバス上でのDMA転送を制御する場合
、第1のアドレス手段3が示すあるデータバス信号のデ
ータバス上のバイト単位での位置と、第2のアドレス手
段4が示す別のデータバス信号のデータバス上のバイト
単位での位置と、方向指示手段5が示す第1のアドレス
手段3及び第2のアドレス手段4のアドレスの所在と、
サイズ指示手段6が示すアクセスサイズとによりあるデ
ータバス信号を別のデータバス信号と接続するように指
示するバス切替信号をバス切替信号発生手段2において
生成し、このバス切替信号によって、バス切替手段1が
あるデータバス信号を別のデータバス信号と接続する。
【0018】これにより、シングルアドレス転送モード
で、アクセスされたアドレスに対応したメモリが接続さ
れたデータバス信号とI/Oデバイスが接続したデータ
バス信号が異なる場合にも、これらデータバス信号間を
接続するようバス切替信号発生手段2がバス切替手段1
を制御するので、従来必要であったDMAコントローラ
外部のバス切替装置やDMAのバス切替信号を不要とし
、結果としてシステムの構築が容易に実現できる。
【0019】また、第1のアドレス手段3及び第2のア
ドレス手段4でI/Oデバイスの接続位置を、サイズ指
示手段6でI/Oデバイスのポートサイズを指定するよ
うにしているので、I/Oデバイスの接続が従来のよう
に限定されることなく、より柔軟にシステムを構築でき
る。
【0020】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0021】図2に本発明の第1の実施例に係るDMA
コントローラの構成図を示す。
【0022】図2において、DMAコントローラ20は
、DMA制御回路21、バス切替信号生成回路22、バ
ス切替回路23、減算器24、加算器25を備えている
。また、本実施例は、2チャネルのDMA転送を制御す
る場合を示しており、内部レジスタとして、動作定義レ
ジスタODR0及びODR1、メモリアドレスレジスタ
MAR0及びMAR1、デバイスアドレスレジスタDA
R0及びDAR1、バイトカウントレジスタBCR0及
びBCR1をそれぞれのチャネル毎に持っている。これ
らの内部レジスタは、プロセッサによりリード、ライト
可能である。
【0023】また、DMAコントローラ20は、以下の
外部信号を備えている。
【0024】DMA転送要求信号DREQ0#は第1の
外部I/Oデバイスからの、またDMA転送要求信号D
REQ1#は第2の外部I/OデバイスからのDMA転
送要求のための信号である。それぞれの外部I/Oデバ
イスはDMA転送をDMAコントローラ20へ要求する
時にこの信号をアクティブにする。
【0025】DMA転送応答信号DACK0#は第1の
外部I/Oデバイスからの、またDMA転送応答信号D
ACK1#は第2の外部I/Oデバイスからの転送要求
に応答してDMA転送が行なわれていることを示す信号
である。シングルアドレス転送ではこの信号によりそれ
ぞれの外部I/Oデバイスがアクセスされる。
【0026】バス権要求信号BREQ#は、プロセッサ
へバス権を要求するための信号である。また、バス権応
答信号BACK#は、バス権要求信号BREQ#による
バス権の要求の応答信号である。この信号がアクティブ
になると、DMAコントローラ20はバスマスタとなり
、DMA転送サイクルを実行する。
【0027】アドレスバス信号A00〜29は、DMA
転送でアクセスするアドレスの上位30ビットを示す。 また、バイトコントロール信号BC0#〜BC3#は、
データバス信号D00〜31の内有効なバイトを示す信
号である。本実施例ではデータバス信号D00〜31の
幅は32ビット(4バイト)であるので、バイトコント
ロール信号はBC0#からBC3#までの4つが用意さ
れている。バイトコントロール信号BC0#はデータバ
ス信号D00〜D07、BC1#はD08〜D15、B
C2#はD16〜D23、BC3#はD24〜D31が
有効であることをそれぞれ示している。尚、アドレスバ
ス信号A00〜A29及びバイトコントロール信号BC
0#〜BC3#は、アドレスバスに接続される。
【0028】データバス信号D00〜D31は、メモリ
やI/Oデバイスとデータをやり取りするための信号で
ある。この信号はデータバスに接続される。
【0029】バススタート信号BS#は、バスサイクル
の開始を示す信号である。バスサイクルの最初の1クロ
ック間だけアクティブになる。
【0030】データストローブ信号DS#は、データの
有効/無効を示す信号である。バスサイクルの開始の次
のクロックからバスサイクルの終了までアクティブにな
る。
【0031】リードライト信号R/W#は、バスサイク
ルがリードバスサイクルであるか、ライトバスサイクル
であるかを示す信号である。リードバスサイクルの時は
1(ハイレベル)、ライトバスサイクルの時は0(ロー
レベル)である。
【0032】データ転送終了信号DC#は、バスサイク
ルの終了を示す信号である。バスサイクルでアクセスさ
れたメモリやI/Oデバイス等の外部回路によりアクテ
ィブにされると、DMAコントローラ20はバスサイク
ルを終了する。
【0033】チップセレクト信号CS#は、プロセッサ
からDMAコントローラ20の内部レジスタをアクセス
するときに外部よりアクティブにされる信号である。こ
の時アドレスバス信号A00〜A29の一部、バイトコ
ントロール信号BC0#〜BC3#、及びリードライト
信号R/W#は入力となる。
【0034】次に、DMAコントローラ20の内部レジ
スタについて説明する。内部レジスタの構成図を図3に
示す。
【0035】動作定義レジスタODRn(n=0,1)
は、DMA転送の動作を規定する。EXビットはチャネ
ルnが動作中であるかどうかを示す。1の時は動作中で
あり、外部I/OデバイスからDMA転送要求信号DR
EQ#がアクティブにされるとDMA転送を行なう。0
の時はDMA転送は行なわない。SNGビットは、1の
時シングルアドレス転送での動作、0の時デュアルアド
レス転送での動作を指定するビットである。図2の第1
の実施例では、シングルアドレス転送しか行なわないの
で、このビットは1に固定される。DIRビットは、転
送の方向を示す。DIRビットが0の時はメモリからI
/Oデバイスへの転送、1の時はI/Oからメモリへの
転送を行なう。SIZビットは、I/Oデバイスのサイ
ズを指定するビットである。SIZビットが00の時は
I/Oデバイスのサイズが1バイト、01の時は2バイ
ト、10の時は4バイトであることを示す。11の時は
動作を保証しないものとする。
【0036】メモリアドレスレジスタMARn(n=0
,1)は、DMA転送でアクセスされるメモリのアドレ
スを格納する。デュアルアドレス転送のメモリアクセス
サイクルと、シングルアドレス転送のバスサイクル中に
アドレスバス信号A00〜A29に上位30ビットの値
が出力される。メモリアドレスレジスタMARnの値は
、DMA転送が行なわれる度に転送したバイト数分だけ
増加する。
【0037】デバイスアドレスレジスタDARn(n=
0,1)は、DMA転送でアクセスされるデバイスのア
ドレスを格納する。デュアルアドレス転送のI/Oアク
セスサイクルでアドレスバス信号A00〜A29に上位
30ビットが出力される。シングルアドレス転送ではア
ドレスバス信号A00〜A29にI/Oデバイスのアド
レスが出力されることはないので、デバイスアドレスレ
ジスタDARnの上位30ビットは意味がない。デバイ
スアドレスレジスタDARnの下位2ビットと動作定義
レジスタODRnのSIZビットによりI/Oデバイス
がデータバスのどの位置に接続されるかを設定すること
ができる。SIZビットが00でI/Oデバイスのポー
トサイズが1バイトの場合には、デバイスアドレスレジ
スタDARnの下位2ビットが00の時はデータバス信
号のうちD00〜D07に、01の時はD08〜D15
に、10の時はD16〜D23に、11の時はD24〜
D31に接続される。また、SIZビットが01でI/
Oデバイスのポートサイズが2バイトの場合には、デバ
イスアドレスレジスタDARnの下位2ビットが00の
時はデータバス信号のうちD00〜D15に、10の時
はD16〜D23に接続される。ここで、I/Oデバイ
スが2バイト境界を跨ぐ場合を禁止するので、デバイス
アドレスレジスタDARnの下位2ビットが01と11
の設定の動作は不定とする。更に、SIZビットが10
でI/Oデバイスのポートサイズが4バイトの場合には
、デバイスアドレスレジスタDARnの下位2ビットと
して00のみが設定でき、I/OデバイスはD00〜D
31に接続される。ここで、デバイスアドレスレジスタ
DARnの下位2ビットに00以外を設定したときは動
作を保証しないものとする。
【0038】バイトカウントレジスタBCRn(n=0
,1)は、DMA転送するデータのバイト数を示す。 DMA転送を行なう度に転送したバイト数だけ減少し、
0になるとDMA転送を終了する。
【0039】次に各構成要素の説明を行なう。
【0040】DMA制御回路21は、DMA転送の制御
を行なう。データバス信号を除く外部信号により外部の
プロセッサ、I/Oデバイス、及びメモリと接続されて
いる。これにより、プロセッサとのバス権要求信号BR
EQ#とバス権応答信号BACK#によるバス権のやり
取り、及びI/OデバイスからDMA転送要求信号DR
EQn#により要求されたDMA転送のバスサイクルの
実行を制御する。内部動作の制御のため各内部レジスタ
と接続されている。DMA転送によるメモリアドレスレ
ジスタMARn及びバイトカウントレジスタBCRnの
値の更新のためにそれぞれ付属している加算器25及び
減算器24と接続されている。また、シングルアドレス
転送でアクティブになる有効信号enableによって
バス切替信号生成回路22と接続されている。
【0041】バス切替回路23は、バス切替信号生成回
路22からの信号によりデータバス信号D00〜D31
の切り替えを行なう。図4にその詳細の構成図を示す。 ゲートG01はデータバス信号D00〜D07からの信
号をデータバス信号D08〜D15へ出力するためのゲ
ートである。バス切り替え信号発生回路22からのバス
切替信号S01がアクティブの時にゲートG01が導通
状態になる。同様に、G02はD00〜D07からD1
6〜D23、G03はD00〜D07からD24〜D3
1、G10はD08〜D15からD00〜D07、G1
2はD08〜D15からD16〜D23、G13はD0
8〜D15からD24〜D31、G20はD16〜D2
3からD00〜D07、G21はD16〜D23からD
08〜D15、G23はD16〜D23からD24〜D
31、G30はD24〜D31からD00〜D07、G
31はD24〜D31からD08〜D15、G32はD
24〜D31からD16〜D23へそれぞれ接続するた
めのゲートである。また、信号S02,S03,S10
,S12,S13,S20,S21,S23,S30,
S31,S32は、それぞれ対応するゲートを導通状態
にするバス切替信号である。
【0042】バス切替信号生成回路23は、上述のバス
切替回路23のゲート群に対するバス切替信号S××を
生成する。図5にバス切替信号生成回路22のインタフ
ェース信号を示す。DMA制御回路21からの有効信号
enable、メモリアドレスレジスタMARnの下位
2ビットであるMAR[30:31]、動作定義レジス
タODRnの中からDIRビット及びSIZビットの出
力、並びにデバイスアドレスレジスタDARNの下位2
ビットであるDAR[30:31]を入力する。これら
の入力値に従って、バス切替回路23のゲート群へのバ
ス切替信号を出力する。
【0043】その条件を図6及び図7に示す。図6(a
)はDIRビットが0(メモリからI/Oデバイスへの
転送)でSIZビットが00(I/Oデバイスのポート
サイズが1バイト)である時のアクティブにすべきバス
切替信号S××を示している。例えば、DAR[30:
31]が01で、MAR[30:31]が10の時は、
バス切替信号S21がアクティブになることを示してい
る。この場合の動作を説明すると、メモリからI/Oデ
バイスへのデータ転送であり、メモリのリードバスサイ
クルが行なわれる。即ち、MAR[30:31]が10
であるので読み出しはデータバスのD16〜D23から
行なわれる。一方、DAR[30:31]は01なので
、I/OデバイスはD08〜D15に接続されている。 シングルアドレス転送モードではこのリードバスサイク
ルでI/Oデバイスへの書き込みも行なうため、データ
バス信号D16〜D23の値をデータバス信号D08〜
D15へ出力しなければならない。そこで、バス切替信
号S21をアクティブにしてバス切替回路23内のゲー
トG21を導通させる。
【0044】同様に、図6(b)は、DIRビットが1
(I/Oデバイスからメモリへの転送)でSIZビット
が00(I/Oデバイスのポートサイズが1バイト)で
ある時のアクティブにすべきバス切替信号S××を示し
ている。また、図7(a)は、DIRビットが0(メモ
リからI/Oデバイスへの転送)でSIZビットが01
(I/Oデバイスのポートサイズが2バイト)である時
の、更に図7(b)はDIRビットが1(I/Oデバイ
スからメモリへの転送)でSIZビットが01(I/O
デバイスのポートサイズが2バイト)である時のアクテ
ィブにすべきバス切替信号S××を示している。これら
の出力信号は有効信号enableがアクティブ(1)
の時にアクティブになる。また、SIZビットが10で
I/Oデバイスのポートサイズが4バイトの時は出力は
アクティブにはならない。
【0045】バス切替信号生成回路22は、上記の論理
を実現するようなAND、OR、NOT等の組み合わせ
回路で構成される。このほか、上記の論理を実現できる
のであればPLA、ROM等によって構成しても構わな
い。
【0046】次に、本実施例のDMAコントローラ20
を用いたマイクロプロセッサシステムを示す。図8は、
DMAコントローラ20と、データバスD16〜D23
に接続される8ビットのI/Oデバイス36を備えるシ
ステムの構成図を示している。
【0047】先ず、プロセッサ30によりDMAコント
ローラ20の内部レジスタを初期設定する。メモリアド
レスレジスタMARnには転送する領域のバイト数を設
定する。デバイスアドレスレジスタDARnにはI/O
デバイス36の接続されているアドレスを設定するが、
この場合はデータバス信号D16〜D23に接続されて
いるので、下位2ビットに10を設定する。上位30ビ
ットはドントケアである。最後に、動作定義レジスタO
DRnのEXビットを1にして動作開始を設定し、SN
Gビットを1にしてシングルアドレス転送とし、DIR
ビットを0にしてメモリ31からI/Oデバイス36へ
の転送とし、SIZビットを00にしてI/Oデバイス
36のポートサイズを1バイトに設定する。
【0048】I/Oデバイス36がDMA転送要求信号
DREQn#をアクティブにすると、DMAコントロー
ラ20はバス権要求信号BREQ#をアクティブにして
、プロセッサ30へバス権を要求する。プロセッサ30
がバス権を開放してバス権応答信号BACK#をアクテ
ィブにすると、DMAコントローラ20はメモリ31と
I/Oデバイス36間のデータ転送を開始する。
【0049】図9を用いて、この時の動作を説明する。
【0050】第1のバスサイクル(図中■で示す経路を
辿る)は、アドレス4n+0から1バイトサイズでのメ
モリリードとなる。アドレスバスA00〜A29にはメ
モリアドレスレジスタMARnにあるアドレスの上位3
0ビットが出力され、バイトコントロール信号BC0#
〜BC3#は0111となる。図9の例では、メモリ3
1よりデータAがデータバス信号D00〜D07上に出
力される。DMAコントローラ20では、バス切替信号
S02がアクティブになっているので、ゲートG02が
導通状態となり、データAをデータバス信号D00〜D
07から入力してバス切替回路23を介してデータバス
信号D16〜D23へ出力する。I/Oデバイス36は
データバス信号D16〜D23よりデータAを読み込む
。内部レジスタの中で、バイトコントロールレジスタB
CRnの値は転送した1バイト分だけ減少し、またメモ
リアドレスレジスタMARnの値は1だけ増加する。
【0051】第2のバスサイクル(図中■で示す経路を
辿る)は、アドレス4n+1から1バイトサイズでのメ
モリリードとなる。アドレスバスA00〜A29の出力
は第1のバスサイクルと変わらないが、バイトコントロ
ール信号BC0#〜BC3#は1011となる。図9の
例では、メモリ31よりデータBがデータバス信号D0
8〜D15上に出力される。DMAコントローラ20で
は、バス切替信号S12がアクティブになっているので
、ゲートG12が導通状態となり、データBをデータバ
ス信号D08〜D15から入力してバス切替回路23を
介してデータバス信号D16〜D23へ出力する。I/
Oデバイス36はデータバス信号D16〜D23よりデ
ータBを読み込む。内部レジスタの中で、バイトコント
ロールレジスタBCRnの値は転送した1バイト分だけ
減少し、またメモリアドレスレジスタMARnの値は1
だけ増加する。
【0052】第3のバスサイクル(図中■で示す経路を
辿る)は、アドレス4n+2から1バイトサイズでのメ
モリリードとなる。アドレスバスA00〜A29の出力
は第1のバスサイクルと変わらず、バイトコントロール
信号BC0#〜BC3#は1101となる。図9の例で
は、メモリ31よりデータCがデータバス信号D16〜
D23上に出力される。この出力を直接I/Oデバイス
36が読み込む。従って、DMAコントローラ20では
、バス切替信号でアクティブとなるものはない。内部レ
ジスタの中で、バイトコントロールレジスタBCRnの
値は転送した1バイト分だけ減少し、またメモリアドレ
スレジスタMARnの値は1だけ増加する。
【0053】第4のバスサイクル(図中■で示す経路を
辿る)は、アドレス4n+3から1バイトサイズでのメ
モリリードとなる。アドレスバスA00〜A29の出力
は第1のバスサイクルと変わらないが、バイトコントロ
ール信号BC0#〜BC3#は1110となる。図9の
例では、メモリ31よりデータDがデータバス信号D2
4〜D31上に出力される。DMAコントローラ20で
は、バス切替信号S32がアクティブになっているので
、ゲートG32が導通状態となり、データDをデータバ
ス信号D24〜D31から入力してバス切替回路23を
介してデータバス信号D16〜D23へ出力する。I/
Oデバイス36はデータバス信号D16〜D23よりデ
ータDを読み込む。内部レジスタの中で、バイトコント
ロールレジスタBCRnの値は転送した1バイト分だけ
減少し、またメモリアドレスレジスタMARnの値は1
だけ増加する。
【0054】DMAコントローラ20は、以上の第1か
ら第4のバスサイクルの動作をバイトカウントレジスタ
BCRnに設定したバイト数だけ転送するまで繰り返す
【0055】第1から第4のバスサイクルでの各信号出
力を図10にまとめる。図10のデータバス信号D00
〜D31の表記で、括弧()内はDMAコントローラ2
0からの出力を表している。
【0056】また、例として第4のバスサイクルのバス
タイミングを図11に示す。DMAコントローラ20は
アドレスバス信号A00〜A29にメモリアドレスの上
位30ビットである4nを出力する。アドレスが4n+
3であり、SIZビットにより1バイトアクセスが指定
されているので、バイトコントロール信号のうちBC3
#のみを0(ローレベル)にする。また開始の1クロッ
ク間だけバススタート信号BS#をアクティブにし、メ
モリ31からI/Oデバイス36への転送であるので、
リードライト信号R/W#を1(ハイレベル)にする。 バスサイクルの開始から2分の1クロック遅れてDMA
応答信号DACKn#がアクティブ(0)になる。次の
クロックからDMAコントローラ20の内部信号S32
がアクティブ(1)になり、DMAコントローラ20は
データバス信号D24〜D31の入力をデータバス信号
D16〜D23へ出力する。メモリ2#34からデータ
バス信号D24〜D31に出力されたデータは、DMA
コントローラ20からデータバス信号D16〜D23へ
出力されるので、I/Oデバイス36はこの出力を適当
なタイミングで入力する。DMAコントローラ20は外
部からデータ転送終了信号DC#をアクティブにされる
と、DMA転送応答信号DACKn#とデータストロー
ブ信号DS#をインアクティブにしてバスサイクルを終
了する。内部レジスタのバイトコントロールレジスタB
CRnの値は転送した1バイト分だけ減少し、またメモ
リアドレスレジスタMARnの値は1だけ増加する。
【0057】I/Oデバイス36からメモリ31への転
送の場合は、メモリライトサイクルが実行され、I/O
デバイス36からデータバス信号D16〜D23へ出力
されたデータをDMAコントローラ20がアクセスされ
るメモリの位置へ出力される。メモリはこのデータを読
み込み、ライト動作を完了する。
【0058】本実施例では、8ビットのI/Oデバイス
36をデータバス信号D16〜D23に接続したが、デ
ータバス信号D00〜D07、D08〜D15、D24
〜D31に接続してもよい。この場合、それぞれデバイ
スアドレスレジスタDARnの下位2ビットを00、0
1、11に設定する。また、16ビットのI/Oデバイ
スの場合にも、デバイスアドレスレジスタDARnの下
位2ビットを00にしてデータバス信号D00〜D15
に接続するか、10にしてデータバス信号D16〜D3
1に接続することが可能である。I/Oデバイスのポー
トサイズについては、動作定義レジスタODRnのSI
Zビットに00(1バイト)、01(2バイト)、10
(4バイト)の何れかを指定することができる。
【0059】次に、本発明の第2の実施例を説明する。 図12は、本発明の第2の実施例に係るDMAコントロ
ーラの構成図である。本実施例のDMAコントローラ4
0はデュアルアドレス転送を含めた回路構成となってい
る。基本的な構成は第1の実施例のDMAコントローラ
20と同等である。
【0060】デュアルアドレス転送では、メモリバスサ
イクルとI/Oバスサイクルを行なう。I/Oバスサイ
クルではI/Oアドレスを出力するので、バスサイクル
の種類によりメモリアドレスレジスタMARn、デバイ
スアドレスレジスタDARn、の何れかがDMA制御回
路に入力されるようにセレクタ47で制御されている。
【0061】デュアルアドレス転送では、メモリアドレ
スレジスタMARnとバイトカウントアドレスレジスタ
BCRnの値は、I/Oデバイスのアクセスが行なわれ
た時点でそのサイズ分だけ更新される。
【0062】デュアルアドレス転送では、メモリとI/
Oデバイス間のデータ転送を内部のデータレジスタ46
を介して行なう。データレジスタ46は4バイトの大き
さであり、メモリとのデータ転送は1回に4バイトのサ
イズで行なわれる。データレジスタ46は1バイト単位
、2バイト単位での読み出し及び書き込みも可能である
。メモリから1バイトのポートサイズのI/Oデバイス
へデュアルアドレス転送でDMAデータ転送を行なう時
は、4バイト幅でメモリからデータをデータレジスタ4
6に読み込み、1バイト単位で4回I/Oデバイスへ書
き込む。
【0063】データレジスタ46は、内部データバス信
号d00〜d31を介してバス切替回路43と接続され
ている。データレジスタ46の内、内部データバス信号
d00〜d07に接続された1バイト分はメモリアドレ
スの4n+0のデータを格納する。同様に、内部データ
バス信号d08〜d15に接続された1バイト分はメモ
リアドレス4n+1のデータを、内部データバス信号d
16〜d23に接続された1バイト分はメモリアドレス
4n+2のデータを、内部データバス信号d24〜d3
1に接続された1バイト分はメモリアドレス4n+3の
データをそれぞれ格納する。
【0064】バス切替回路43は、バス切替信号発生回
路42の出力により、デュアルアドレス転送では内部デ
ータバス信号d00〜d31と外部データバス信号D0
0〜D31の切り替えを、またシングルアドレス転送で
は外部データバス信号D00〜D31の切り替えを行な
う。図13にバス切替回路43の詳細回路図を示す。第
1の実施例のDMAコントローラ20のバス切替回路2
3に、外部データバス信号D00〜D31と内部データ
バス信号d00〜d31を接続するためのゲートG00
R、G00W、G11R、G11W、G22R、G22
W、G33R、G33Wがあり、これはバス切替信号発
生回路42の出力であるバス切替信号S00R、S00
W、S11R、S11W、S22R、S22W、S33
R、S33Wにより制御される。
【0065】バス切替信号生成回路42は、バス切替回
路43のゲートに対するバス切替信号S××、S××R
、及びS××Wを生成する。図14にバス切替信号生成
回路42のインタフェース信号を示す。デュアルアドレ
ス転送の制御も同時に行なうため、SNGビットも入力
する。また、デュアルアドレスモードでは、メモリバス
サイクルとI/Oバスサイクルの2つが行なわれるため
、DIRビットの他にリードライト信号R/W#も入力
している。シングルアドレスモードでのバス切替信号の
出力動作は、第1の実施例であるDMAコントローラ2
0の切替生成回路22と同じである。
【0066】デュアルアドレスモードでの動作を図15
から図17にまとめる。
【0067】図15(a)では、デュアルアドレス転送
(SNG=0)で、メモリからI/Oデバイスへの転送
(DIR=0)で、I/Oデバイスのポートサイズが1
バイト(SIZ=00)で、I/Oライトバスサイクル
(R/W#=0)の場合のアクティブにすべきバス切替
信号を示している。図15(b)では、デュアルアドレ
ス転送(SNG=0)で、I/Oデバイスからメモリへ
の転送(DIR=1)で、I/Oデバイスのポートサイ
ズが1バイト(SIZ=00)で、I/Oリードバスサ
イクル(R/W#=1)の場合のアクティブにすべきバ
ス切替信号を示している。
【0068】また、図16(a)では、デュアルアドレ
ス転送(SNG=0)で、メモリからI/Oデバイスへ
の転送(DIR=0)で、I/Oデバイスのポートサイ
ズが2バイト(SIZ=01)で、I/Oライトバスサ
イクル(R/W#=0)の場合を示している。図16(
b)では、デュアルアドレス転送(SNG=0)で、I
/Oデバイスからメモリへの転送(DIR=1)で、I
/Oデバイスのポートサイズが2バイト(SIZ=01
)で、I/Oリードバスサイクル(R/W#=1)の場
合を示している。
【0069】更に、図17(a)では、デュアルアドレ
ス転送(SNG=0)で、メモリからI/Oデバイスへ
の転送(DIR=0)で、I/Oデバイスのポートサイ
ズが4バイト(SIZ=10)で、I/Oライトバスサ
イクル(R/W#=0)の場合を示している。図17(
b)では、デュアルアドレス転送(SNG=0)で、I
/Oデバイスからメモリへの転送(DIR=1)で、I
/Oデバイスのポートサイズが4バイト(SIZ=10
)で、I/Oリードバスサイクル(R/W#=1)の場
合を示している。
【0070】具体的な例を図18を用いて説明する。図
18では、メモリアドレス4n+0からアドレス4m+
2のI/Oデバイスへの転送の動作を説明している。I
/Oデバイス51は外部データバス信号D16〜D23
に接続されている。DMAコントローラ40の内部レジ
スタの内、メモリアドレスレジスタDARnを4n+0
、デバイスアドレスレジスタDARnを4m+2に設定
し、動作定義レジスタODRnのEXビットを1(動作
開始)、SNGビットを0(デュアルアドレス転送)、
DIRビットを0(メモリからI/Oデバイスへの転送
)、SIZビットを00(I/Oデバイスのポートサイ
ズが1バイト)に設定する。
【0071】第1のバスサイクルは、アドレス4n+0
から4バイトサイズでのメモリリードとなる。アドレス
バスA00〜A29にはメモリアドレスレジスタMAR
nにある上位30ビットが出力され、バイトコントロー
ル信号BC0#〜BC3#は0000となる。DMAコ
ントローラ40では、バス切替信号S00R、S11R
、S22R、S33Rがアクティブになり、バス切替回
路43のゲートG00R、G11R、G22R、G33
Rが導通され、外部データバス信号D00〜D31から
内部データバス信号d00〜d31へデータが入力され
る。メモリ50から外部データバス信号D00〜D31
へ出力されたデータA、B、C、Dが内部データバス信
号d00〜d31を介してデータレジスタ46へ格納さ
れる。
【0072】第2のバスサイクルは、I/Oデバイス5
1への1バイトサイズでのI/Oライトとなる。アドレ
スバスA00〜A29の出力は4mであり、バイトコン
トロール信号BC0#〜BC3#は1101となる。図
18の例では、DMAコントローラ40のデータレジス
タ46よりデータAが内部データバス信号d00〜d0
7上に出力される。バス切替信号S00WとS02がア
クティブとなってゲートG00WとG02が導通状態と
なり、データAをバス切替回路43を介して外部データ
バス信号D16〜D23へ出力する。I/Oデバイス5
1は外部データバス信号D16〜D23よりデータAを
読み込む。内部レジスタの中で、バイトコントロールレ
ジスタBCRnの値は転送した1バイト分だけ減少し、
またメモリアドレスレジスタMARnの値は1だけ増加
する。
【0073】第3から第5のバスサイクルも第2のバス
サイクルと同様に、I/Oデバイス51への1バイトサ
イズでのI/Oライトとなる。それぞれDMAコントロ
ーラ40のデータレジスタ46よりデータB、C、Dが
外部データバス信号D16〜D23へ出力されるよう、
バス切替信号がバス切替信号生成回路42で作られる。 これらのバス切替信号に制御され、バス切替回路43に
よってデータレジスタ46からの出力が実際に外部デー
タバス信号D16〜D23へ出力される。
【0074】DMAコントローラ40は、以上の第1か
ら第5のバスサイクルの動作をバイトカウントレジスタ
BCRnに設定したバイト数だけ転送するまで繰り返す
。第1から第5のバスサイクルでの各信号出力を図19
にまとめる。
【0075】一方、第2の実施例でのシングルアドレス
転送の動作については、第1の実施例と同じ条件でバス
信号がアクティブになるように、バス切替信号がバス切
替信号生成回路42で作られる。このように第2の実施
例では、デュアルアドレス転送とシングルアドレス転送
の両方の機能をもつDMAコントローラの例を挙げた。 バス切替信号生成回路42とバス切替回路43は、デュ
アルアドレス転送でのDMAコントローラ40のデータ
レジスタの出力を外部データバスD00〜D31の所望
の位置と接続するように制御するだけでなく、シングル
アドレス転送での外部データバス信号D00〜D31の
切替のためにも使用できる。
【0076】尚、本実施例の場合には、従来のデュアル
アドレス転送用のDMAコントローラで備えていたデー
タレジスタ、内部データバスと外部データバスの切替回
路及びその制御回路を流用することとなるので、バス切
替回路を外部に置いて構成していた従来のシステムと比
べて、回路面積を減少させることができる。
【0077】次に、本発明の第3の実施例を説明する。 本実施例は、本発明の第1或いは第2の実施例の変形と
して、バス切替回路を双方向に制御できる回路により構
成したものである。従って、基本的な構成は第1或いは
第2の実施例のDMAコントローラ20或いは40と同
等である。ここでは、第1の実施例を変形した場合の構
成について説明する。
【0078】バス切替回路23’は、バス切替信号生成
回路22’からの信号によりデータバス信号D00〜D
31の切替を行なう。図20にバス切替回路23’の詳
細構成図を示す。ゲートBG01はデータバス信号D0
0〜D07とD08〜D15を電気的に接続するための
ゲートである。バス切替信号生成回路22’からのバス
切替信号BS01がアクティブの時にゲートBG01が
導通状態になり、データバス信号D00〜D07とD0
8〜D15の8組の信号線は同一電気的レベルとなる。 図20の例では、ゲートBG01には入出力の方向は無
いものとする。同様に、ゲートBG02はデータバス信
号D00〜D07とD16〜D23、ゲートBG03は
データバス信号D00〜D07とD24〜D31、ゲー
トBG12はデータバス信号D08〜D15とD16〜
D23、ゲートBG13はデータバス信号D08〜D1
5とD24〜D31、ゲートBG23はデータバス信号
D16〜D23とD24〜D31の接続のためにある。 バス切替信号BS02、BS03、BS12、BS13
、BS23は、これらのゲートを導通状態にする信号で
ある。
【0079】バス切替信号生成回路22’は、バス切替
回路23’のゲートに対する制御信号であるバス切替信
号BS××を生成する。図21にバス切替信号生成回路
22’のインタフェース信号を示す。DMA制御回路2
1からの有効信号enable及びメモリアドレスレジ
スタMARnの下位2ビットであるMAR[30:31
]、動作定義レジスタODRnの中からSIZビットの
出力、並びにデバイスアドレスレジスタDARnの下位
2ビットであるDAR[30:31]を入力する。これ
らの入力値に従って、バス切替回路23’内のゲート群
を制御するバス切替信号BS××を出力する。その条件
を図22に示す。図22(a)は、SIZビットが00
(I/Oデバイスのポートサイズが1バイト)である時
のアクティブにすべきバス切替信号BS××を示してい
る。例えば、DAR[30:31]が01でMAR[3
0:31]が10の時は、バス切替信号BS12がアク
ティブになることを示している。
【0080】同様に、図22(b)は、SIZビットが
01(I/Oデバイスのポートサイズが2バイト)であ
る時のアクティブにすべきバス切替信号BS××を示し
ている。これらの出力信号は有効信号enableがア
クティブ(1)の時にアクティブになる。また、SIZ
ビットが10でI/Oデバイスのポートサイズが4バイ
トの時は出力はアクティブにはならない。
【0081】バス切替信号生成回路22’は、上記の論
理を実現するようなAND、OR、NOT等の組み合わ
せ回路で構成される。図23にバス切替信号生成回路2
2’の回路例を示す。このほか、上記の論理を実現でき
るのであればPLA、ROM等によって構成しても構わ
ない。
【0082】
【発明の効果】以上のように本発明によれば、シングル
アドレス転送モードにおいて、メモリとI/Oデバイス
間の転送で必要なバス切り替えをDMAコントローラ自
身で行なうこととしたので、従来必要とされていた外部
のバス切替装置やDMAコントローラからのバス切替信
号が不要となり、マイクロプロセッサシステムの構築を
容易にし得るDMAコントローラを提供することができ
る。
【0083】また本発明によれば、第1のアドレス手段
及び第2のアドレス手段によりI/Oデバイスの接続位
置を、またサイズ指示手段によりI/Oデバイスのポー
トサイズを設定可能としたことにより、I/Oデバイス
の接続が従来のように限定されることなく、より柔軟に
システムを構築し得るDMAコントローラを提供するこ
とができる。
【図面の簡単な説明】
【図1】本発明の発明原理図である。
【図2】本発明の第1の実施例に係るDMAコントロー
ラの構成図の構成図である。
【図3】本発明に係るDMAコントローラの内部レジス
タの構成図である。
【図4】本発明の第1の実施例に係るバス切替回路の詳
細構成図である。
【図5】本発明の第1の実施例に係るバス切替信号生成
回路のインタフェース信号を説明する図である。
【図6】図6(a)はDIRビットが0(メモリからI
/Oデバイスへの転送)でSIZビットが00(I/O
デバイスのポートサイズが1バイト)である時、また図
6(b)は、DIRビットが1(I/Oデバイスからメ
モリへの転送)でSIZビットが00である時のアクテ
ィブにすべきバス切替信号S××を示す図である。
【図7】図7(a)は、DIRビットが0(メモリから
I/Oデバイスへの転送)でSIZビットが01(I/
Oデバイスのポートサイズが2バイト)である時の、ま
た図7(b)はDIRビットが1(I/Oデバイスから
メモリへの転送)でSIZビットが01である時のアク
ティブにすべきバス切替信号S××を示す図である。
【図8】DMAコントローラとデータバスD16〜D2
3に接続される8ビットのI/Oデバイスを備えるマイ
クロプロセッサシステムの構成図である。
【図9】図8のシステムにおけるDMA転送の動作を説
明する図である。
【図10】図9のDMA転送における第1から第4のバ
スサイクルでの各信号出力を示す図である。
【図11】図9のDMA転送における第4のバスサイク
ルのバスタイミングを示す図である。
【図12】本発明の第2の実施例に係るDMAコントロ
ーラの構成図である。
【図13】本発明の第2の実施例に係るバス切替回路の
詳細回路図である。
【図14】本発明の第2の実施例に係るバス切替信号生
成回路のインタフェース信号を説明する図である。
【図15】図15(a)はデュアルアドレス転送(SN
G=0)で、メモリからI/Oデバイスへの転送(DI
R=0)で、I/Oデバイスのポートサイズが1バイト
(SIZ=00)で、I/Oライトバスサイクル(R/
W#=0)である時、また図15(b)はデュアルアド
レス転送で、I/Oデバイスからメモリへの転送(DI
R=1)で、I/Oデバイスのポートサイズが1バイト
で、I/Oリードバスサイクル(R/W#=1)である
時のアクティブにすべきバス切替信号を示す図である。
【図16】図16(a)はデュアルアドレス転送(SN
G=0)で、メモリからI/Oデバイスへの転送(DI
R=0)で、I/Oデバイスのポートサイズが2バイト
(SIZ=01)で、I/Oライトバスサイクル(R/
W#=0)である時、また図16(b)はデュアルアド
レス転送で、I/Oデバイスからメモリへの転送(DI
R=1)で、I/Oデバイスのポートサイズが2バイト
で、I/Oリードバスサイクル(R/W#=1)である
時のアクティブにすべきバス切替信号を示す図である。
【図17】図17(a)はデュアルアドレス転送(SN
G=0)で、メモリからI/Oデバイスへの転送(DI
R=0)で、I/Oデバイスのポートサイズが4バイト
(SIZ=10)で、I/Oライトバスサイクル(R/
W#=0)である時、また図17(b)はデュアルアド
レス転送で、I/Oデバイスからメモリへの転送(DI
R=1)で、I/Oデバイスのポートサイズが4バイト
で、I/Oリードバスサイクル(R/W#=1)である
時のアクティブにすべきバス切替信号を示す図である。
【図18】本発明の第2の実施例におけるメモリアドレ
ス4n+0からアドレス4m+2のI/Oデバイスへの
DMA転送の動作を説明する図である。
【図19】図18のDMA転送における第1から第5の
バスサイクルでの各信号出力を示す図である。
【図20】本発明の第3の実施例に係るバス切替回路の
詳細構成図である。
【図21】本発明の第3の実施例に係るバス切替信号生
成回路のインタフェース信号を説明する図である。
【図22】図22(a)は、SIZビットが00(I/
Oデバイスのポートサイズが1バイト)である時、また
図22(b)は、SIZビットが01(I/Oデバイス
のポートサイズが2バイト)である時のアクティブにす
べきバス切替信号を示す図である。
【図23】本発明の第3の実施例に係るバス切替信号生
成回路の回路図である。
【図24】従来のDMAコントローラを備えるマイクロ
プロセッサシステムの構成図である。
【符号の説明】
1  …  バス切替手段 2  …  バス切替信号発生手段 3  …  第1のアドレス手段 4  …  第2のアドレス手段 5  …  方向指示手段 6  …  サイズ指示手段 20,40  …  DMAコントローラ21,41 
 …  DMA制御回路 22,42  …  バス切替信号生成回路23,43
  …  バス切替回路 24,44  …  減算器 25,45  …  加算器 30  …  プロセッサ 31,50  …  メモリ 36,51  …  I/Oデバイス 46  …  データレジスタ 47  …  セレクタ ODR0,ODR1  …  動作定義レジスタMAR
0,MAR1  …  メモリアドレスレジスタDAR
0,DAR1  …  デバイスアドレスレジスタBC
R0,BCR1  …  バイトカウントレジスタG×
×,G××R,G××W,BG××  …  ゲートD
REQ0#,DREQ1#  …  DMA転送要求信
号DACK0#,DACK1#  …  DMA転送応
答信号BREQ#  …  バス権要求信号 BACK#  …  バス権応答信号 A00〜A29  …  アドレスバス信号D00〜D
31  …  (外部)データバス信号d00〜d31
  …  内部データバス信号BC0#〜BC3#  
…  バイトコントロール信号BS#  …  バスス
タート信号 DS#  …  データストローブ信号R/W#  …
  リードライト信号 DC#  …  データ転送終了信号 CS#  …  チップセレクト信号 S××,S××R,S××W,BS××  …  バス
切替信号

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  複数のデータバス信号群からなるデー
    タバス上でのDMA転送を制御するDMAコントローラ
    において、バスサイクル実行時に、あるデータバス信号
    を別のデータバス信号と接続するバス切替手段を有する
    ことを特徴とするDMAコントローラ。
  2. 【請求項2】  複数のバイト単位のデータバス信号群
    からなるデータバス上でのDMA転送を制御するDMA
    コントローラにおいて、あるデータバス信号のデータバ
    ス上のバイト単位での位置を示す第1のアドレス手段と
    、前記第1のアドレス手段の内容が転送元のアドレスか
    或いは転送先のアドレスかを示す方向指示手段と、アク
    セスするサイズを示すサイズ指示手段と、前記第1のア
    ドレス手段、方向指示手段、及びサイズ指示手段の内容
    によりあるデータバス信号を別のデータバス信号と接続
    するように指示するバス切替信号を生成するバス切替信
    号発生手段と、前記バス切替信号によってあるデータバ
    ス信号を別のデータバス信号と接続するバス切替手段と
    を有することを特徴とするDMAコントローラ。
  3. 【請求項3】  複数のバイト単位のデータバス信号群
    からなるデータバス上でのDMA転送を制御するDMA
    コントローラにおいて、あるデータバス信号のデータバ
    ス上のバイト単位での位置を示す第1のアドレス手段と
    、別のデータバス信号のデータバス上のバイト単位での
    位置を示す第2のアドレス手段と、前記第1のアドレス
    手段及び第2のアドレス手段の内何れの内容が転送元の
    アドレス或いは転送先のアドレスであるかを示す方向指
    示手段と、アクセスするサイズを示すサイズ指示手段と
    、前記第1のアドレス手段、第2のアドレス手段、方向
    指示手段、及びサイズ指示手段の内容によりあるデータ
    バス信号を別のデータバス信号と接続するように指示す
    るバス切替信号を生成するバス切替信号発生手段と、前
    記バス切替信号によってあるデータバス信号を別のデー
    タバス信号と接続するバス切替手段とを有することを特
    徴とするDMAコントローラ。
JP3113460A 1991-05-17 1991-05-17 Dmaコントローラ Pending JPH04363745A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3113460A JPH04363745A (ja) 1991-05-17 1991-05-17 Dmaコントローラ
US07/883,780 US5404481A (en) 1991-05-17 1992-05-15 DMA controller comprising bus switching means for connecting data bus signals with other data bus signals without process or intervention

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3113460A JPH04363745A (ja) 1991-05-17 1991-05-17 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH04363745A true JPH04363745A (ja) 1992-12-16

Family

ID=14612802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3113460A Pending JPH04363745A (ja) 1991-05-17 1991-05-17 Dmaコントローラ

Country Status (2)

Country Link
US (1) US5404481A (ja)
JP (1) JPH04363745A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1083192C (zh) * 1994-07-05 2002-04-17 皇家菲利浦电子有限公司 具有直接存贮器存取控制器的业务交换点设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561819A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices Computer system selecting byte lane for a peripheral device during I/O addressing technique of disabling non-participating peripherals by driving an address within a range on the local bus in a DMA controller
US5668949A (en) * 1993-11-12 1997-09-16 Intel Corporation System utilizing multiple address decode resources and decoder receiving address determines address corresponding to resource based on select and ready signals by that particular resource
US5623697A (en) * 1994-11-30 1997-04-22 International Business Machines Corporation Bridge between two buses of a computer system with a direct memory access controller having a high address extension and a high count extension
JPH0962621A (ja) * 1995-08-30 1997-03-07 Toshiba Corp コンピュータシステムおよびコマンドサイクル切換え方法
US5913028A (en) * 1995-10-06 1999-06-15 Xpoint Technologies, Inc. Client/server data traffic delivery system and method
US5812798A (en) * 1996-01-26 1998-09-22 Motorola, Inc. Data processing system for accessing an external device and method therefore
US5974480A (en) * 1996-10-18 1999-10-26 Samsung Electronics Co., Ltd. DMA controller which receives size data for each DMA channel
JPH10133998A (ja) * 1996-11-05 1998-05-22 Canon Inc データ処理方法とその方法を用いた記録装置
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS616755A (ja) * 1984-06-21 1986-01-13 Fujitsu Ltd デ−タ転送方式
JPH01284956A (ja) * 1988-05-12 1989-11-16 Tokyo Electric Co Ltd Dmaコントローラ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
JPS5779551A (en) * 1980-11-06 1982-05-18 Nec Corp Information transfer device
JPS58154054A (ja) * 1982-03-10 1983-09-13 Hitachi Ltd 外部記憶装置制御用回路
US4604683A (en) * 1984-12-10 1986-08-05 Advanced Computer Communications Communication controller using multiported random access memory
US4855902A (en) * 1985-07-01 1989-08-08 Honeywell, Inc. Microprocessor assisted data block transfer apparatus
US4924427A (en) * 1985-11-15 1990-05-08 Unisys Corporation Direct memory access controller with direct memory to memory transfers
JP2550496B2 (ja) * 1989-03-30 1996-11-06 三菱電機株式会社 Dmaコントローラ
JPH03147013A (ja) * 1989-11-01 1991-06-24 Casio Comput Co Ltd データ更新装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS616755A (ja) * 1984-06-21 1986-01-13 Fujitsu Ltd デ−タ転送方式
JPH01284956A (ja) * 1988-05-12 1989-11-16 Tokyo Electric Co Ltd Dmaコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1083192C (zh) * 1994-07-05 2002-04-17 皇家菲利浦电子有限公司 具有直接存贮器存取控制器的业务交换点设备

Also Published As

Publication number Publication date
US5404481A (en) 1995-04-04

Similar Documents

Publication Publication Date Title
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
WO2007105373A1 (ja) ブリッジ、情報処理システムおよびアクセス制御方法
KR920008448B1 (ko) 데이터 프로세서
JPH04363745A (ja) Dmaコントローラ
JP4696199B2 (ja) 転送ディスクリプタ用メモリを備えるusbホストコントローラ
US20040225760A1 (en) Method and apparatus for transferring data at high speed using direct memory access in multi-processor environments
JPH07225727A (ja) 計算機システム
JP5439808B2 (ja) 複数バスを有するシステムlsi
JP5856434B2 (ja) バス接続回路、半導体装置及びバス接続回路の動作方法
JPH0944448A (ja) データ・プロセッサ
US6754780B1 (en) Providing data in response to a read command that maintains cache line alignment
JPH04260959A (ja) マイクロプロセッサ
JP4928683B2 (ja) データ処理装置
JPH07271654A (ja) コントローラ
JP4774099B2 (ja) 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JP2002288115A (ja) Usbコントローラ
JP4024502B2 (ja) 情報処理装置の制御方法
JP2504528B2 (ja) 主記憶制御装置間バス制御方式
JP2000047930A (ja) データ処理装置
JPH10254817A (ja) Dma転送制御システム
JPH05173931A (ja) データ転送方式
JP2006018536A (ja) メモリ装置、メモリ制御方法並びに情報処理装置
JPH11338818A (ja) データ転送方法及び装置
JPH02252038A (ja) データ処理装置のメモリアクセス制御方式