JPH08249268A - ダイレクトメモリアクセス方法 - Google Patents
ダイレクトメモリアクセス方法Info
- Publication number
- JPH08249268A JPH08249268A JP7048691A JP4869195A JPH08249268A JP H08249268 A JPH08249268 A JP H08249268A JP 7048691 A JP7048691 A JP 7048691A JP 4869195 A JP4869195 A JP 4869195A JP H08249268 A JPH08249268 A JP H08249268A
- Authority
- JP
- Japan
- Prior art keywords
- register
- transfer
- address
- memory access
- direct memory
- 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
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】DMAC内に転送先アドレス、転送バイト数を
格納するレジスタをシステムバス用とIOバス用で2対
設けたDMA転送方法をサポートする際に、1対のレジ
スタで制御するDMA転送方法とのソフトウエア互換性
を保つ方法を提供する。 【構成】DMAC中にシステムバス側アドレスレジスタ
(SAD)及びシステムバス側カウントレジスタ(SC
T)から成る第1レジスタと、IOバス側アドレスレジ
スタ(IAD)及びIOバス側カウントレジスタ(IC
T)から成る第2レジスタを設け、上記SADとIAD
のIOアドレスに同一アドレスを割り付け、またSCT
とICTのIOアドレスも同一アドレスを割り付ける。
格納するレジスタをシステムバス用とIOバス用で2対
設けたDMA転送方法をサポートする際に、1対のレジ
スタで制御するDMA転送方法とのソフトウエア互換性
を保つ方法を提供する。 【構成】DMAC中にシステムバス側アドレスレジスタ
(SAD)及びシステムバス側カウントレジスタ(SC
T)から成る第1レジスタと、IOバス側アドレスレジ
スタ(IAD)及びIOバス側カウントレジスタ(IC
T)から成る第2レジスタを設け、上記SADとIAD
のIOアドレスに同一アドレスを割り付け、またSCT
とICTのIOアドレスも同一アドレスを割り付ける。
Description
【0001】
【産業上の利用分野】本発明は、メモリと周辺装置間に
設けられたダイレクトメモリアクセスコントローラ(以
下、DMACと称する)を介して、データのダイレクト
メモリアクセスを行うダイレクトメモリアクセス方法に
かかり、特に、メモリと周辺装置間でシステムバスとI
Oバスの2つのバスを介して行われるダイレクトメモリ
アクセス方法に関する。
設けられたダイレクトメモリアクセスコントローラ(以
下、DMACと称する)を介して、データのダイレクト
メモリアクセスを行うダイレクトメモリアクセス方法に
かかり、特に、メモリと周辺装置間でシステムバスとI
Oバスの2つのバスを介して行われるダイレクトメモリ
アクセス方法に関する。
【0002】
【従来の技術】CPU性能の向上と高速なバスの出現に
より、一般のコンピュータシステムは拡大しており、特
開平5ー94404号公報に記載されているように、C
PUやメインメモリが接続される高速のシステムバスと
周辺装置が接続されるIOバスとをバスコントローラに
接続する構成が主流となってきた。
より、一般のコンピュータシステムは拡大しており、特
開平5ー94404号公報に記載されているように、C
PUやメインメモリが接続される高速のシステムバスと
周辺装置が接続されるIOバスとをバスコントローラに
接続する構成が主流となってきた。
【0003】
【発明が解決しようとする課題】DMA転送方式におい
ても、従来のDMAC内に設けた1対のレジスタで転送
アドレス及び転送バイト数を制御するDMA転送方式か
ら、システムバスでの転送とIOバスでの転送を分け、
2対のレジスタで制御するDMA転送方式をサポートす
る必要性が生じている。2対のレジスタで制御するDM
A転送方式をサポートする場合、ソフトウエアはDMA
転送開始時に2対のレジスタに対してそれぞれIOライ
トして、転送アドレス及び転送バイト数を設定する必要
がある。
ても、従来のDMAC内に設けた1対のレジスタで転送
アドレス及び転送バイト数を制御するDMA転送方式か
ら、システムバスでの転送とIOバスでの転送を分け、
2対のレジスタで制御するDMA転送方式をサポートす
る必要性が生じている。2対のレジスタで制御するDM
A転送方式をサポートする場合、ソフトウエアはDMA
転送開始時に2対のレジスタに対してそれぞれIOライ
トして、転送アドレス及び転送バイト数を設定する必要
がある。
【0004】2対のレジスタで制御するDMA転送方式
をサポートするソフトウエアは、DMA転送開始時に転
送アドレス及び転送バイト数を設定する際に、DMAC
内にレジスタが2対あることを認識してIOライトを2
回行わなけらばならない。つまり、従来の1対のレジス
タで制御するDMA転送方式をサポートしているソフト
ウエアをそのまま流用することはできず、ソフトウエア
の互換性が保てなくなる。
をサポートするソフトウエアは、DMA転送開始時に転
送アドレス及び転送バイト数を設定する際に、DMAC
内にレジスタが2対あることを認識してIOライトを2
回行わなけらばならない。つまり、従来の1対のレジス
タで制御するDMA転送方式をサポートしているソフト
ウエアをそのまま流用することはできず、ソフトウエア
の互換性が保てなくなる。
【0005】本発明は、上記した従来技術の問題点に鑑
みなされたもので、ソフトウエアの互換性を保ちつつ、
2対のレジスタで制御するDMA転送方式をサポートす
ることが可能なダイレクトメモリアクセス方法を提供す
ることを目的とする。
みなされたもので、ソフトウエアの互換性を保ちつつ、
2対のレジスタで制御するDMA転送方式をサポートす
ることが可能なダイレクトメモリアクセス方法を提供す
ることを目的とする。
【0006】
【課題を解決するための手段】本発明のダイレクトメモ
リアクセス方法は、システムバスを介してメモリとダイ
レクトメモリアクセスコントローラが接続され、かつI
Oバスを介して周辺装置とダイレクトメモリアクセスコ
ントローラが接続され、システムバスとダイレクトメモ
リアクセスコントローラ内のバッファとIOバスを介し
てデータのダイレクトメモリアクセスを行うダイレクト
メモリアクセス方法であって、システムバス上で行われ
るダイレクトメモリアクセス転送におけるデータの転送
先アドレス及び転送データ数を格納する第1のレジスタ
と、IOバス上で行われるダイレクトメモリアクセス転
送におけるデータの転送先アドレス及び転送データ数を
格納する第2のレジスタとをダイレクトメモリアクセス
コントローラ内に設け、上記第1、第2のレジスタを用
いてメモリと周辺装置間で行われるダイレクトメモリア
クセス転送の転送先アドレスと転送データ数を制御する
ダイレクトメモリアクセス方法に適用されるもので、次
の特徴を有している。
リアクセス方法は、システムバスを介してメモリとダイ
レクトメモリアクセスコントローラが接続され、かつI
Oバスを介して周辺装置とダイレクトメモリアクセスコ
ントローラが接続され、システムバスとダイレクトメモ
リアクセスコントローラ内のバッファとIOバスを介し
てデータのダイレクトメモリアクセスを行うダイレクト
メモリアクセス方法であって、システムバス上で行われ
るダイレクトメモリアクセス転送におけるデータの転送
先アドレス及び転送データ数を格納する第1のレジスタ
と、IOバス上で行われるダイレクトメモリアクセス転
送におけるデータの転送先アドレス及び転送データ数を
格納する第2のレジスタとをダイレクトメモリアクセス
コントローラ内に設け、上記第1、第2のレジスタを用
いてメモリと周辺装置間で行われるダイレクトメモリア
クセス転送の転送先アドレスと転送データ数を制御する
ダイレクトメモリアクセス方法に適用されるもので、次
の特徴を有している。
【0007】即ち、第1のレジスタにおける転送先アド
レスレジスタのIOアドレスと第2のレジスタにおける
転送先アドレスレジスタのIOアドレスとに同一アドレ
スを割り付け、かつ第1のレジスタにおける転送データ
数レジスタのIOアドレスと第2のレジスタにおける転
送データ数レジスタのIOアドレスとに同一アドレスを
割り付けて、1回のIOライトにより、第1のレジスタ
と第2のレジスタに転送先アドレス及び転送データ数を
同時に設定し、さらに1ビットのフラグを設けることに
より、上記第1のレジスタと第2のレジスタのいずれか
一方だけを読み出すことを可能にしたことを特徴として
いる。
レスレジスタのIOアドレスと第2のレジスタにおける
転送先アドレスレジスタのIOアドレスとに同一アドレ
スを割り付け、かつ第1のレジスタにおける転送データ
数レジスタのIOアドレスと第2のレジスタにおける転
送データ数レジスタのIOアドレスとに同一アドレスを
割り付けて、1回のIOライトにより、第1のレジスタ
と第2のレジスタに転送先アドレス及び転送データ数を
同時に設定し、さらに1ビットのフラグを設けることに
より、上記第1のレジスタと第2のレジスタのいずれか
一方だけを読み出すことを可能にしたことを特徴として
いる。
【0008】
【作用】ダイレクトメモリアクセスコントローラ内の2
組のレジスタ(転送先アドレスレジスタの組と転送デー
タ数レジスタの組)に、それぞれIOアドレスとして同
一のアドレスを割り付けることにより、ソフトウエア
は、1回のIOライトで第1レジスタと第2レジスタに
転送アドレス及び転送バイト数を設定することができ
る。また第1のレジスタと第2のレジスタの値を読み出
す場合には、割り付けられたIOアドレスが同じであっ
ても、1ビットのフラグを設けることで第1のレジスタ
と第2のレジスタを判別することができるため、ソフト
ウエアはダイレクトメモリアクセスコントローラ内に第
1、第2のレジスタがあるということを認識する必要は
なくなる。よって、第1、第2のレジスタ(2対のレジ
スタ)で制御するDMA転送方式をサポートする際に、
1対のレジスタで転送アドレス及び転送バイト数を制御
するDMA転送方式をサポートしているソフトウエアを
そのまま流用することができ、ソフトウエアの互換性を
保つことができる。
組のレジスタ(転送先アドレスレジスタの組と転送デー
タ数レジスタの組)に、それぞれIOアドレスとして同
一のアドレスを割り付けることにより、ソフトウエア
は、1回のIOライトで第1レジスタと第2レジスタに
転送アドレス及び転送バイト数を設定することができ
る。また第1のレジスタと第2のレジスタの値を読み出
す場合には、割り付けられたIOアドレスが同じであっ
ても、1ビットのフラグを設けることで第1のレジスタ
と第2のレジスタを判別することができるため、ソフト
ウエアはダイレクトメモリアクセスコントローラ内に第
1、第2のレジスタがあるということを認識する必要は
なくなる。よって、第1、第2のレジスタ(2対のレジ
スタ)で制御するDMA転送方式をサポートする際に、
1対のレジスタで転送アドレス及び転送バイト数を制御
するDMA転送方式をサポートしているソフトウエアを
そのまま流用することができ、ソフトウエアの互換性を
保つことができる。
【0009】
【実施例】以下、添付の図面を用いて本発明の実施例に
ついて説明する。
ついて説明する。
【0010】図1は本発明のダイレクトメモリアクセス
方法が適用されるコンピュータシステムの概略構成の一
例を示すブロック図である。図1に示すコンピュータシ
ステムは、情報処理を行うMPU1と、データを記憶す
るメインメモリ(以下、MMと称する)3と、MM3を
制御するメインメモリコントローラ(以下、MCUと称
する)2と、システムバス6を介してMCU2と接続さ
れるダイレクトメモリアクセスコントローラ(以下、D
MACと称する)4と、IOバス7を介してDMAC4
と接続される周辺装置5とから構成されている。DMA
C4内には、システムバス上でDMA転送されるデータ
の転送先アドレスがセットされるシステム側アドレスレ
ジスタ(以下、SADと称する)8と転送バイト数がセ
ットされるシステムバス側カウントレジスタ(以下、S
CTと称する)9から成る第1のレジスタR1と、IO
バス上でDMA転送されるデータの転送先アドレスがセ
ットされるIO側アドレスレジスタ(以下、IADと称
する)10と転送バイト数がセットされるIO側カウン
トレジスタ(以下、ICTと称する)11から成る第2
のレジスタR2と、周辺装置5からMM3に転送するデ
ータを一時的に保管するDMA転送ライト用バッファ
(以下、DMAWバッファと称する)12と、MM3か
ら周辺装置5に転送されるデータを一時的に保管するD
MAリード用バッファ(以下、DMARバッファと称す
る)13と、IOリード時のレジスタ切り替えフラグ1
4が設けられている。ここで、SAD8とIAD10に
は同じIOアドレスが割り当てられ、SCT9とICT
11には同じIOアドレスが割り当てられている。
方法が適用されるコンピュータシステムの概略構成の一
例を示すブロック図である。図1に示すコンピュータシ
ステムは、情報処理を行うMPU1と、データを記憶す
るメインメモリ(以下、MMと称する)3と、MM3を
制御するメインメモリコントローラ(以下、MCUと称
する)2と、システムバス6を介してMCU2と接続さ
れるダイレクトメモリアクセスコントローラ(以下、D
MACと称する)4と、IOバス7を介してDMAC4
と接続される周辺装置5とから構成されている。DMA
C4内には、システムバス上でDMA転送されるデータ
の転送先アドレスがセットされるシステム側アドレスレ
ジスタ(以下、SADと称する)8と転送バイト数がセ
ットされるシステムバス側カウントレジスタ(以下、S
CTと称する)9から成る第1のレジスタR1と、IO
バス上でDMA転送されるデータの転送先アドレスがセ
ットされるIO側アドレスレジスタ(以下、IADと称
する)10と転送バイト数がセットされるIO側カウン
トレジスタ(以下、ICTと称する)11から成る第2
のレジスタR2と、周辺装置5からMM3に転送するデ
ータを一時的に保管するDMA転送ライト用バッファ
(以下、DMAWバッファと称する)12と、MM3か
ら周辺装置5に転送されるデータを一時的に保管するD
MAリード用バッファ(以下、DMARバッファと称す
る)13と、IOリード時のレジスタ切り替えフラグ1
4が設けられている。ここで、SAD8とIAD10に
は同じIOアドレスが割り当てられ、SCT9とICT
11には同じIOアドレスが割り当てられている。
【0011】さらに詳しく説明すると、図1において、
システムバス6側からIOバス7側にDMA転送を行う
場合、SAD8とIAD10には周辺装置5内のメモリ
(図示せず)の転送先アドレスがセットされ、逆にIO
バス7側からシステムバス6側にDMA転送を行う場
合、SAD8とIAD10にはMM3の転送先アドレス
がセットされる。また、図1において、SCT9とIC
T11には転送開始時には転送バイト数がセットされる
が、転送開始後においては、前記転送バイト数から実際
に転送されたバイト数を減算した値がセットされる。例
えば、システムバス6側からIOバス7側にDMA転送
が行われ、かつ転送バイト数が256バイトの場合、S
CT9とICT11には当初「256」がセットされ
る。そして、システムバス6を介してDMAC4に対
し、例えば4バイト単位で転送が行われる場合、SCT
9には順次「252」,「248」…の値がセットされ
る。また、DMAC4からIOバス7を介して周辺装置
5に対し、例えば1バイト単位で転送が行われる場合、
ICT11には順次「255」,「254」,「25
3」がセットされる。この場合には、DMAC4のDM
AWバッファ12はシステムバス6から4バイト単位で
データを受け、1バイト単位でIOバス7へ出力するこ
とになる。
システムバス6側からIOバス7側にDMA転送を行う
場合、SAD8とIAD10には周辺装置5内のメモリ
(図示せず)の転送先アドレスがセットされ、逆にIO
バス7側からシステムバス6側にDMA転送を行う場
合、SAD8とIAD10にはMM3の転送先アドレス
がセットされる。また、図1において、SCT9とIC
T11には転送開始時には転送バイト数がセットされる
が、転送開始後においては、前記転送バイト数から実際
に転送されたバイト数を減算した値がセットされる。例
えば、システムバス6側からIOバス7側にDMA転送
が行われ、かつ転送バイト数が256バイトの場合、S
CT9とICT11には当初「256」がセットされ
る。そして、システムバス6を介してDMAC4に対
し、例えば4バイト単位で転送が行われる場合、SCT
9には順次「252」,「248」…の値がセットされ
る。また、DMAC4からIOバス7を介して周辺装置
5に対し、例えば1バイト単位で転送が行われる場合、
ICT11には順次「255」,「254」,「25
3」がセットされる。この場合には、DMAC4のDM
AWバッファ12はシステムバス6から4バイト単位で
データを受け、1バイト単位でIOバス7へ出力するこ
とになる。
【0012】図2は、システムバス6側からIOバス7
側にデータをDMA転送する場合、DMA転送開始時に
DMAC内の第1のレジスタR1と第2のレジスタR2
に転送先アドレス及び転送バイト数を設定する場合のパ
スの設定を示すブロック図である。
側にデータをDMA転送する場合、DMA転送開始時に
DMAC内の第1のレジスタR1と第2のレジスタR2
に転送先アドレス及び転送バイト数を設定する場合のパ
スの設定を示すブロック図である。
【0013】ソフトウエアは、DMA転送開始時にシス
テムバス6を介してDMAC4内の第1のレジスタのS
AD8と第2のレジスタのIAD10の両方のレジスタ
に転送先アドレス(例えば1000番地)をIOライト
する。ここで、SAD8のIOアドレスとIAD10の
IOアドレスは同じアドレス(例えばAAAA番地)で
あるので、ソフトウエアがこのAAAA番地に1回“1
000番地”という値をIOライトすることで、パス2
1,22,23を介してSAD8とIAD10の2つの
レジスタに“1000番地”が設定される。
テムバス6を介してDMAC4内の第1のレジスタのS
AD8と第2のレジスタのIAD10の両方のレジスタ
に転送先アドレス(例えば1000番地)をIOライト
する。ここで、SAD8のIOアドレスとIAD10の
IOアドレスは同じアドレス(例えばAAAA番地)で
あるので、ソフトウエアがこのAAAA番地に1回“1
000番地”という値をIOライトすることで、パス2
1,22,23を介してSAD8とIAD10の2つの
レジスタに“1000番地”が設定される。
【0014】次に、ソフトウエアはシステムバス6を介
してDMAC4内の第1のレジスタのSCT9と第2の
レジスタのICT11の両方のレジスタに転送バイト数
(例えば256)をIOライトする。ここで、SCT9
のIOアドレスとICT11のIOアドレスは同じアド
レス(例えばBBBB番地)であるので、ソフトウエア
がこのBBBB番地に1回“256”という値をIOラ
イトすることで、パス21,22,24を介してSCT
9とICT11の2つのレジスタに“256”が設定さ
れる。
してDMAC4内の第1のレジスタのSCT9と第2の
レジスタのICT11の両方のレジスタに転送バイト数
(例えば256)をIOライトする。ここで、SCT9
のIOアドレスとICT11のIOアドレスは同じアド
レス(例えばBBBB番地)であるので、ソフトウエア
がこのBBBB番地に1回“256”という値をIOラ
イトすることで、パス21,22,24を介してSCT
9とICT11の2つのレジスタに“256”が設定さ
れる。
【0015】上記実施例によれば、DMA転送開始時、
1回のIOライトでSAD8とIAD10に転送先アド
レスを、またSCT9とICT11に転送バイト数を設
定することができ、ソフトウエアは2つのレジスタを認
識することなくDMA転送をサポートすることができ、
ソフトウエアの互換性を保つことができる。
1回のIOライトでSAD8とIAD10に転送先アド
レスを、またSCT9とICT11に転送バイト数を設
定することができ、ソフトウエアは2つのレジスタを認
識することなくDMA転送をサポートすることができ、
ソフトウエアの互換性を保つことができる。
【0016】図3は、DMAC4内の第1のレジスタR
1及び第2のレジスタR2の内容を読み出す場合のパス
の設定を示す図である。図3において、SAD8とIA
D10及びSCT9とICT11をIOリードする場
合、この2組のレジスタには同じIOアドレスが割り付
けられている。そこで、この実施例では、DMAC4内
のレジスタ切り替えフラグ14の値により、IOリード
されるレジスタをハードウエア上で指定するように構成
している。通常レジスタ切り替えフラグ14をセットし
ない限りレジスタ切り替えフラグ14は“0”となって
おり、第2のレジスタR2が指定されている。この場
合、ソフトウエアがDMAC4内のレジスタにセットさ
れている転送先アドレスを知るためにAAAA番地をI
Oリードするとパス28,30,32,33,34を介
してIAD10のレジスタ値がリードされる。また、D
MAC4内のレジスタにセットされている転送バイト数
を知るためにBBBB番地をIOリードするとパス2
9,30,32,33,34を介してICT11のレジ
スタ値がリードされる。ここで、もし誤動作等で動作解
析のためにSAD8もしくはSCT9のレジスタ値をリ
ードする必要性が生じた場合、動作解析ツールにてレジ
スタ切り替えフラグ14に“1”をセットすると,ハー
ドウエア上で第1レジスタR1が指定され、AAAA番
地をIOリードするとパス25,27,31,33,3
4を介してSAD8のレジスタ値が、またBBBB番地
をIOリードするとパス26,27,31,33,34
を介してSCT9のレジスタ値がリードされる。
1及び第2のレジスタR2の内容を読み出す場合のパス
の設定を示す図である。図3において、SAD8とIA
D10及びSCT9とICT11をIOリードする場
合、この2組のレジスタには同じIOアドレスが割り付
けられている。そこで、この実施例では、DMAC4内
のレジスタ切り替えフラグ14の値により、IOリード
されるレジスタをハードウエア上で指定するように構成
している。通常レジスタ切り替えフラグ14をセットし
ない限りレジスタ切り替えフラグ14は“0”となって
おり、第2のレジスタR2が指定されている。この場
合、ソフトウエアがDMAC4内のレジスタにセットさ
れている転送先アドレスを知るためにAAAA番地をI
Oリードするとパス28,30,32,33,34を介
してIAD10のレジスタ値がリードされる。また、D
MAC4内のレジスタにセットされている転送バイト数
を知るためにBBBB番地をIOリードするとパス2
9,30,32,33,34を介してICT11のレジ
スタ値がリードされる。ここで、もし誤動作等で動作解
析のためにSAD8もしくはSCT9のレジスタ値をリ
ードする必要性が生じた場合、動作解析ツールにてレジ
スタ切り替えフラグ14に“1”をセットすると,ハー
ドウエア上で第1レジスタR1が指定され、AAAA番
地をIOリードするとパス25,27,31,33,3
4を介してSAD8のレジスタ値が、またBBBB番地
をIOリードするとパス26,27,31,33,34
を介してSCT9のレジスタ値がリードされる。
【0017】上記実施例によれば、第1のレジスタと第
2のレジスタの値を読み出す場合、割り付けられたIO
アドレスが同じであっても、1ビットのフラグを設ける
ことで第1のレジスタと第2のレジスタを判別すること
ができるため、ソフトウエアはDMAC内に第1、第2
のレジスタがあるということを認識する必要はなくり、
ソフトウエアの互換性をサポートすることが可能にな
る。
2のレジスタの値を読み出す場合、割り付けられたIO
アドレスが同じであっても、1ビットのフラグを設ける
ことで第1のレジスタと第2のレジスタを判別すること
ができるため、ソフトウエアはDMAC内に第1、第2
のレジスタがあるということを認識する必要はなくり、
ソフトウエアの互換性をサポートすることが可能にな
る。
【0018】
【発明の効果】以上述べたように、本発明によれば、シ
ステムバス上で行われるDMA転送におけるデータの転
送先アドレス及び転送データ数を制御する第1のレジス
タと、IOバス上で行われるDMA転送におけるデータ
の転送先アドレス及び転送データ数を制御する第2のレ
ジスタの2対のレジスタのシステムでも、従来の1対の
レジスタでDMA転送を制御するDMA転送方式と同様
に1回のIOライトで転送先アドレス及び転送バイト数
を設定できる。また第1のレジスタと第2のレジスタの
値を読み出す場合には、割り付けられたIOアドレスが
同じであっても、1ビットのフラグを設けることで第1
のレジスタと第2のレジスタを判別することができるた
め、ソフトウエアはダイレクトメモリアクセスコントロ
ーラ内に第1、第2のレジスタがあるということを認識
する必要はなくなる。したがって、ソフトウエアの互換
性を保つことができる。
ステムバス上で行われるDMA転送におけるデータの転
送先アドレス及び転送データ数を制御する第1のレジス
タと、IOバス上で行われるDMA転送におけるデータ
の転送先アドレス及び転送データ数を制御する第2のレ
ジスタの2対のレジスタのシステムでも、従来の1対の
レジスタでDMA転送を制御するDMA転送方式と同様
に1回のIOライトで転送先アドレス及び転送バイト数
を設定できる。また第1のレジスタと第2のレジスタの
値を読み出す場合には、割り付けられたIOアドレスが
同じであっても、1ビットのフラグを設けることで第1
のレジスタと第2のレジスタを判別することができるた
め、ソフトウエアはダイレクトメモリアクセスコントロ
ーラ内に第1、第2のレジスタがあるということを認識
する必要はなくなる。したがって、ソフトウエアの互換
性を保つことができる。
【図1】図1は本発明のダイレクトメモリアクセス方法
が適用されるコンピュータシステムの概略構成の一例を
示すブロック図。
が適用されるコンピュータシステムの概略構成の一例を
示すブロック図。
【図2】図2はシステムバス側からIOバス側にデータ
をDMA転送する場合、DMA転送開始時にDMAC内
の第1のレジスタと第2のレジスタに転送先アドレス及
び転送バイト数を設定するときのパスの設定を示すブロ
ック図。
をDMA転送する場合、DMA転送開始時にDMAC内
の第1のレジスタと第2のレジスタに転送先アドレス及
び転送バイト数を設定するときのパスの設定を示すブロ
ック図。
【図3】図3はDMAC4内の第1のレジスタR1及び
第2のレジスタR2の内容を読み出す場合のパスの設定
を示す図。
第2のレジスタR2の内容を読み出す場合のパスの設定
を示す図。
1…MPU、2…メインメモリコントローラ(MC
U)、3…メインメモリ(MM)、4…ダイレクトメモ
リアクセスコントローラ(DMAC)、5…周辺装置、
6…システムバス、7…IOバス、8…システムバス側
アドレスレジスタ(SAD)、9…システムバス側カウ
ントレジスタ(SCT)、10…IOバス側アドスレレ
ジスタ(IAD),11…IOバス側カウントレジスタ
(ICT)、12…DMAライト用バッファ、13…D
MAリード用バッファ、14…レジスタ切り替えフラ
グ。
U)、3…メインメモリ(MM)、4…ダイレクトメモ
リアクセスコントローラ(DMAC)、5…周辺装置、
6…システムバス、7…IOバス、8…システムバス側
アドレスレジスタ(SAD)、9…システムバス側カウ
ントレジスタ(SCT)、10…IOバス側アドスレレ
ジスタ(IAD),11…IOバス側カウントレジスタ
(ICT)、12…DMAライト用バッファ、13…D
MAリード用バッファ、14…レジスタ切り替えフラ
グ。
Claims (1)
- 【請求項1】 システムバスを介してメモリとダイレク
トメモリアクセスコントローラが接続され、かつIOバ
スを介して周辺装置とダイレクトメモリアクセスコント
ローラが接続され、システムバスとダイレクトメモリア
クセスコントローラ内のバッファとIOバスとを介し
て、データのダイレクトメモリアクセスを行うダイレク
トメモリアクセス方法であって、システムバス上で行わ
れるダイレクトメモリアクセス転送におけるデータの転
送先アドレス及び転送データ数を格納する第1のレジス
タと、IOバス上で行われるダイレクトメモリアクセス
転送におけるデータの転送先アドレス及び転送データ数
を格納する第2のレジスタとをダイレクトメモリアクセ
スコントローラ内に設け、上記第1、第2のレジスタを
用いてメモリと周辺装置間で行われるダイレクトメモリ
アクセス転送の転送先アドレスと転送データ数を制御す
るダイレクトメモリアクセス方法において、 第1のレジスタにおける転送先アドレスレジスタのIO
アドレスと第2のレジスタにおける転送先アドレスレジ
スタのIOアドレスとに同一アドレスを割り付け、かつ
第1のレジスタにおける転送データ数レジスタのIOア
ドレスと第2のレジスタにおける転送データ数レジスタ
のIOアドレスとに同一アドレスを割り付けて、1回の
IOライトにより、第1のレジスタと第2のレジスタに
転送先アドレス及び転送データ数を同時に設定し、さら
に1ビットのフラグを設けることにより、上記第1のレ
ジスタと第2のレジスタのいずれか一方だけを読み出す
ことを特徴とするダイレクトメモリアクセス方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7048691A JPH08249268A (ja) | 1995-03-08 | 1995-03-08 | ダイレクトメモリアクセス方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7048691A JPH08249268A (ja) | 1995-03-08 | 1995-03-08 | ダイレクトメモリアクセス方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08249268A true JPH08249268A (ja) | 1996-09-27 |
Family
ID=12810347
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7048691A Pending JPH08249268A (ja) | 1995-03-08 | 1995-03-08 | ダイレクトメモリアクセス方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08249268A (ja) |
-
1995
- 1995-03-08 JP JP7048691A patent/JPH08249268A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7007126B2 (en) | Accessing a primary bus messaging unit from a secondary bus through a PCI bridge | |
| JPH08249268A (ja) | ダイレクトメモリアクセス方法 | |
| JP2568017B2 (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
| JPH0283736A (ja) | バッファ記憶制御装置のosc検出方式 | |
| JPS59197946A (ja) | メモリ装置 | |
| JPH02171843A (ja) | インターフェース装置 | |
| JPS603049A (ja) | バスインタ−フエ−ス装置 | |
| JP3331943B2 (ja) | 情報処理装置および入出力制御装置 | |
| JPH07160655A (ja) | メモリアクセス方式 | |
| JP3176319B2 (ja) | データ処理装置 | |
| JPS6019816B2 (ja) | マイクロプログラム制御アダプタ | |
| JPH0358246A (ja) | デバグ用データ出力回路 | |
| JPH05324534A (ja) | Dma転送方式 | |
| JPS6255167B2 (ja) | ||
| JPS6385958A (ja) | システム制御方式 | |
| JPS62196760A (ja) | 並列計算機のデ−タ転送方式 | |
| JPS62293365A (ja) | デ−タ転送方式 | |
| JPS5819965A (ja) | 記録装置 | |
| JPH09146877A (ja) | メモリ間データ転送制御装置 | |
| JPH03184143A (ja) | メモリアクセス方式 | |
| JPS6215644A (ja) | キヤツシユメモリ制御回路 | |
| JPH02299076A (ja) | イメージデータ上下反転方式 | |
| JPS62123551A (ja) | 記憶装置 | |
| JPS6180072A (ja) | Lsiテストシステムのモジユ−ル情報処理装置 | |
| JPS6095667A (ja) | 外部アドレス空間高速アクセス方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |