JPH03156553A - Dma制御装置および情報処理システム - Google Patents

Dma制御装置および情報処理システム

Info

Publication number
JPH03156553A
JPH03156553A JP29578689A JP29578689A JPH03156553A JP H03156553 A JPH03156553 A JP H03156553A JP 29578689 A JP29578689 A JP 29578689A JP 29578689 A JP29578689 A JP 29578689A JP H03156553 A JPH03156553 A JP H03156553A
Authority
JP
Japan
Prior art keywords
access
bus
memory
data
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
JP29578689A
Other languages
English (en)
Inventor
Yasuo Sakai
康夫 酒井
Norio Kiriyama
範雄 桐山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP29578689A priority Critical patent/JPH03156553A/ja
Publication of JPH03156553A publication Critical patent/JPH03156553A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、CPUの介在なしにメモリとI/O装置間の
データ転送を行なうダイレクト・メモリ・アクセス制御
装置、および、これを搭載した情報処理システムに関す
る。
[従来の技術] ダイレクト・メモリ・アクセス(以下DMAという)は
、メモリとI/O装置の両者に、はぼ同時にアクセスを
行ない、両者の間でデータ転送を行なわせるものである
すなわち、メモリからI/O装置にデータ転送をする場
合は、メモリにはリードストローブ信号を、I/O装置
にはライトストローブ信号を与え。
バス上にメモリからのリードデータが出力されるタイミ
ングに合わせてI/O装置にデータを書込む動作を行な
う。一方、I/O装置からメモリにデータ転送をする場
合は、I/O装置にはリードストローブ信号を、メモリ
にはライトストローブ信号を与え、バス上にI/O装置
からのリードデータが出力されるタイミングに合わせて
メモリにデータを書込む動作を行なう。これにより、メ
モリとI/O装置間のデータ転送を行なうものである。
上記の動作制御を行なうものは、ダイレクト・メモリ・
アクセス制御装置(以下DMACの略記を用いることが
ある)と称されて、一般に販売されている。
[発明が解決しようとする課題] さて、最近1通信やハードディスクにおけるデータ転送
の高速化に伴い、DMACの動作速度を高速化する必要
が生じてきている。ところが、DMACの動作速度を高
速にすると、I/O装置のアクセス間隔が短縮するため
、一般に、回復時間といわれるアクセス間隔の最低値が
規定されているI/O装置がDMA転送対象となったと
き、該規定値を逸脱する場合が発生する。このため。
DMAC動作速度高速化には、限界が生じている。
しかしながら、従来のDMACは、この限界を解消する
ための配慮がなされていない。
また、DMACの動作速度が上がってくると、ノイズに
対する感度も上がり、I/O装置からのデータ転送動作
要求信号にノイズが重畳したときに誤ってデータ転送動
作をすることが考えられる。
ところが、従来のDMACは、これに対する配慮もなさ
れていない。
さらに、I/O装置やメモリにおけるデータ読出し時間
(アクセス時間という)は、一定のため、DMACの動
作速度を上げても、読出しアクセスと書込みアクセスの
時間間隔を一定に保つ制御をしなくてはならない、この
ため、従来のDMACのなかには、メモリとI/O装置
の各々からのレディ信号により、動作を制御しているも
のもある。
しかしながら、これは、DMAC外部のI/O装置各々
に付加回路が必要になるため、ハードウェアが複雑にな
るという問題がある。
本発明の第1の目的は、アクセス間隔の最低値が規定さ
れているI/O装置がDMA転送対象となったときでも
、該規定値を逸脱することなくアクセスができるように
して、■/O装置のアクセス間隔の最低値に起因する限
界を解消し、アクセスの高速化を図ったDMA制御装置
を提供することにある。
また、本発明の第2の目的は、I/O装置からのデータ
転送動作要求信号にノイズが重畳した場合でも、誤転送
を防止できるDMA制御装置を提供することにある。
さらに、本発明の第3の目的は、DMACの動作速度を
上げても、読出しアクセスと書込みアクセスの時間間隔
を外部付加回路なしで一定に保つことができるDMA制
御装置を提供することにある。
[課題を解決するための手段] 上記第1の目的は、メモリとI/O装置間のデータ転送
を行なうダイレクト・メモリ・アクセス制御装置に、同
一I/O装置への連続アクセスを検出する連続アクセス
検出手段と、予め与えられるアクセス間隔値によりアク
セス間隔を制御するアクセス間隔制御手段とを備えるこ
とにより達成される。
上記アクセス間隔値は、回復時間として規定される当該
I/O装置への連続アクセス間隔の最低値を1例えば、
レジスタに設定して記憶保持させることが好ましい。
また、このアクセス間隔値は、DMACが複数のチャネ
ルを持ち、各チャネルごとにI/O装置を接続する場合
には、各チャネルごとに設定することが好ましい。
上記第2の目的は、CPU (中央処理装置)、メモリ
および1または2以上のI/O装置を有する情報処理シ
ステムに搭載されて、メモリとI/O装置間のデータ転
送を行なうダイレクト・メモリ・アクセス制御装置に、
前記I/O装置からの転送要求信号を検出してCPUか
らバス制御権を獲得し、データ転送後、CPUにバス制
御権を返還する機能と、前記CPUからバス制御権を獲
得した時に、再度、I/O装置からの転送要求信号の検
出を行ない、検出できるときは、データ転送動作を起動
し、検出できないときは、データ転送動作を起動せず、
直ちにバス制御権をCPUに返還する機能とを備えるこ
とにより、達成される。
前記I/O装置からの転送要求信号を検出してCPUか
らバス制御権を獲得し、データ転送後、CPUにバス制
御権を返還する機能は、例えば、I /Oili置から
の転送要求信号を検出するDMA転送要求信号検出部と
、バス制御権の獲得を検出するバス権獲得検出部と、獲
得したバス制御権をCPUに返還するバス権返還部とに
より構成することができる。
また、前記CPUからバス制御権を獲得した時に、再度
、I/’O装置からの転送要求信号の検出を行ない、検
出できるときは、データ転送動作を起動し、検出できな
いときは、データ転送動作を起動せず、直ちにバス制御
権をCPUに返還する機能は、例えば、I/O装置から
の転送要求信号を検出するDMA転送要求信号検出部と
、データの転送方法を判定する転送方向判定部と、デー
タ転送動作起動部と、獲得したバス制御権をCPUに返
還するバス権返還部とにより構成することができる。
上記第3の目的は、メモリとI/O装置間のデータ転送
を行なうダイレクト・メモリ・アクセス制御装置に、時
間間隔制御値を記憶保持し、この保持している値により
I/O装置アクセス開始時点とメモリアクセス開始時点
の間隔を制御する機能を備えることにより達成される。
前記時間間隔制御値の記憶保持は、例えば、各I/O装
置が接続されるチャネル対応にレジスタを設け、これら
の対応するレジスタに設定することにより行なうことが
できる。
iJ記I/O装置アクセス開始時点とメモリアクセス開
始時点の間隔の制御は、I/O装置リード時の前記時間
間隔制御値を読みだして当該I/O装置のアクセスに対
する待ちを設定する。リード時のI/Oウェイト挿入部
と、I/O装置ライト時の前記時間間隔制御値を読みだ
して当該1/O装置のアクセスに対する待ちを設定する
。ライト時のI/Oウェイト挿入部とにより行なうこと
ができる。
なお、上述した第1から第3の各目的を達成する手段は
、適宜組み合わせることができる。
また、本発明によれば、ダイレクト・メモリ・アクセス
制御装置と、CPUと、メモリおよび該メモリのリード
/ライト制御を行なうメモリコントローラと、データバ
スのスワップ制御を行なうバススワップ回路と、これら
を接続するシステムバスと、前記バススワップ回路を介
してシステムバスと接続されるデータバスと、このデー
タバスに接続される1または2以上のI/O装置とを備
えて構成される情報処理システムが提供される。
さらに1本発明のダイレクト・メモリ・アクセス制御装
置と、中央処理装置(CPU)と、システムバスとを組
み合わせて、1チップの情報処理用LSIを構成するこ
とができる。この情報処理用LSIは、メモリのリード
/ライト制御を行なうメモリコントローラ、および/ま
たは、データバスのスワップ制御を行なうバススワップ
回路をさらに含めて、1チップに構成してもよい。
なお、本明細書において、I/O装置とは、入出力装置
のほか、メモリとの間でDMAを実行するデバイスをも
広く含むものである。例えば、外部記憶装置、通信装置
等のほが、前記メモリに増設された拡張メモリ等をも含
むものである。
[作 用] DMACが同一I/O装置への連続アクセスを実行した
場合、該同一I/O装置への連続アクセスを、連続アク
セス検出手段により検出することができる。また、アク
セス間隔を制御するアクセス間隔制御手段により、予め
与えられるアクセス間隔値だけDMACアクセス間隔を
あけるように制御することにより、同一I/O装置への
連続アクセス間隔を、該I/O装置のアクセス間隔規定
値以上にすることができる。
したがって、アクセス間隔の最低値が規定されているI
/O装置がDMA転送対象となったときでも、該規定値
を逸脱することなくアクセスができ、I/O装置のアク
セス間隔の最低値に起因する限界が解消され、DMAC
の動作速度が、■/O装置と無関係に高速化できる。
また、前記CPUからバス制御権を獲得した時に、再度
、I/O装置からの転送要求(8号の検出を行なうこと
により、転送要求信号が検出できるときは、最初に検出
した転送要求信号がノイズでなく、正当な信号であるこ
とが確認される。この場合には、データ転送動作を起動
する。
一方、転送要求信号が検出できないときは、最初に検出
した転送要求信号がノイズであり、正当な信号ではない
ことが、認識される。従って、データ転送動作を起動せ
ず、直ちにバス制御権をCPUに返還する。
これによって、誤転送が阻止され、DMACの誤動作を
避けることができる。
さらに、DMA転送対象のI/O装置のアクセス時間以
上の時間を保持する値を、時間間隔制御値として記憶保
持し、この保持している値によりI/O装置アクセス開
始時点とメモリアクセス開始時点の間隔を制御すること
により、I/O装置アクセス開始時間とメモリアクセス
開始時間の間隔が前記I/O装置のアクセス時間以上に
なり。
DMACの動作速度を上げても、読出しアクセスと書込
みアクセスの時間間隔をI/O装置アクセス時間以上に
保つことができる。
[実施例〕 以下、本発明の一実施例について図面を参照して説明す
る。
本発明に係るDMACの一実施例の内部構成を第3図に
示す、また1本発明を適用した情報処理システムの一実
施例の構成例を第4図に示す。
まず1本実施例が適用される情報処理システムの構成に
ついて、説明する。
本実施例の情報処理システムは、システムの制御、演算
等を実行する中央処理装置(CP U)/Oと、DMA
制御を行なうDMACIIと、記憶装置でありデータ幅
が16ビツトであるメモリ13および該メモリ13のリ
ード/ライト制御を行なうメモリコントローラ12と、
データバスのスワップ制御を行なうバススワップ回路1
4と。
これらを接続するシステムバス19と、前記バススワッ
プ回路14を介してシステムバス19と接続されるデー
タバス20と、このデータバス20に接続される1また
は2以上のI/O装置とを備えて構成される。
I/O装置として、本実施例は、データ幅が16ビツト
であるDMA転送対象のI/O装置15と、データ幅が
8ビツトであるDMA転送対象のI/O装置16とを接
続しである。もちろん、I/O装置は、これらに限定さ
れない。
また、本実施例の情報処理システムは、DMA制御に関
する信号線として、 前記DMA転送対象のI/O装置15のレベル11H″
′によりDMA転送要求を示す16bitI/ODRQ
信号を前記したDMACIIに伝送する信号線17aと
、 前記DMA転送対象のI/O装置16のレベルII H
I+によりDMA転送要求を示す8bitI/ODRQ
信号を前記DMACIIに伝送する信号線17bと。
レベル゛L″で前記DMA転送対象I/O装置15に対
するDMA転送許可を示す16bitI/ODAGK信
号を前記DMAC11から前記DMA転送対象I/O装
置15および前記バススワップ回路14へ伝送する信号
線18aと、レベルir L nで前記DMA転送対象
I/O装置16に対するDMA転送許可を示す8bit
I/ODACK信号を前記DMAC11から前記DMA
転送対象r/O装置16およびバススワップ回路14へ
伝送する信号線18bと、前記CPUl0および前記D
MAC11間でシステムバス19の制御権の授受を制御
する信号であって、レベル“′H″でバス権の譲渡要求
を示すHOLDやレベル“H”でバス権の譲渡許可を示
すHLDAなどのDMA転送制御信号32を転送する信
号線21.22と を有している。
上記CPUIO1DMACII、メモリ13゜メモリコ
ントローラ12、および、バススワップ回路14は、そ
れぞれIC化して構成することができる。
また、これらの構成要素を組み合わせたLSIとするこ
とができる。例えば、前記CPULOおよびDMACI
Iと、システムバス19とを組み合わせたLSI、これ
にメモリコントローラ12を含めたLSI、さらに、バ
ススワップ回路14を含めたLSI等が挙げられる。
このようなLSI化は、各構成要素を、システムバス1
9を含めて1チップ化できるので、信号やデータの伝送
が高速に行なえると共に、情報処理システムの情報処理
機能を、小型化できる利点がある。
前記DMACIIは、例えば、第3図に示すように構成
される。
すなわち、第3図に示すDMACIIは1次の構成要素
を有する。
a、外部のDMA転送対象I/O装置15または16と
の間でDMA転送要求許可信号30を送受すると共に、
DMA転送の実行の可否を指示する機能を、実行状態を
示す制御/ステータスレジスタ117を含めて備えるD
MA制御部111 。
b、システムバス19との間でDMA制御を行なう制御
部I DMACIIが外部I/O装置、メモリなどの制
御を行なう制御信号、状態を現すステータスデータなど
の授受を行なうための外部コントロール信号31の送受
を行なうバスI/Oコントローラ112゜ C6各チヤネルごとのDMA動作時の転送アドレスや転
送モード、I/O装置のバス幅、■/O装置のウェイト
数、I/O装置の回復時間等の制御値を格納するアドレ
ス/モードレジスタ118を含むDMAアドレス/モー
ドレジスタファイル113゜ d、DMA動作時に前記DMAアドレス/モードレジス
タファイル113内の該当するチャンネルのアドレス/
モードレジスタ118からアドレスデータを読出し、転
送ごとにカウントアツプし、このカウント値をDMA転
送アドレス33として外部に送出するアドレスカウンタ
114゜ e、各チャネルごとのDMA動作時の転送カウント数を
格納するカウントレジスタ119を含むDMAカウント
レジスタファイル115゜f、DMA動作時に前記DM
Aカウントレジスタファイル115内の該当するチャネ
ルのカウントレジスタ118からカウント数を読出し、
転送ごとにカウントダウンするカウントカウンタ116
゜ g、DMA転送動作時に前記DMAアドレス/モードレ
ジスタファイル113内の該当するチャンネルのアドレ
ス/モードレジスタ118からI/O装置のウェイト数
や回復時間などのモードデータを読出し、後述する第1
図と第2図に示す動作フローにしたがってDMA転送動
作を実行し、バス権の譲渡要求を示すHOLDやバス権
の譲渡許可を示すHL D AなどのDMA転送制御信
号32を送受し、マイクロプログラム等のシーケンス制
御技術により、後述する第1図、第2図に示す動作シー
ケンスを実行するDMA動作シーケンス制御部1/O゜ h、前記DMA制御部111と、DMA動作シーケンス
制御部1/Oと、DMAアドレス/モードレジスタファ
イル113と、DMAカウントレジスタファイル115
とを接続する内部配線路120、および、DMA動作シ
ーケンス制御部1/Oと、バスI/Oコントローラ11
2と、DMAアドレス/モードレジスタファイル113
と、DMAカウントレジスタファイル115とを接続す
る内部配線路121゜上記DMA動作シーケンス制御部
1/Oは、第1図および第2図に示される動作を実行す
る機能を有する。
すなわち、第1図および第2図に示す動作シーケンス内
の破線で囲んだブロックにより示すように、バス制御権
を獲得したときに再度I/O装置からの転送要求信号の
有無を確認するDMA転送要求確認部1と、I/O装置
リード時のI/Oウェイト挿入部2と、I/O装置ライ
ト時のI/Oウェイト挿入部3と、同一1/O装置に対
する連続転送を検出する連続転送検出部4aおよび連続
転送を行なうI/O装置の回復時間を考慮してアクセス
間隔を制御するI/O装置の回復時間挿入部4bと、I
/O装置からの転送要求信号を検出するDMA転送要求
信号検出部5と、バス制御権の獲得を検出するバス権獲
得検出部6と、データの転送方法を判定する転送方向判
定部7と、獲得したバス制御権をCP Uに返還するバ
ス権返還部8とを有する。
これらの動作は、マイクロプログラムによるシーケンス
制御や、ハードウェアロジックで実現することができる
。従って1本明細書では、詳述しない。
第1図および第2図において、SO,SL、S2、S3
、S4、S5、S6.S7、S8、S9、SA、SB、
SC,SD、SE、SFは、DMAC11の動作状態を
示す。各状態の意味を表1に示す。
また、DMACIIの動作時の各部の信号波形を第5図
から第8図に示す。
第5図から第8図において、PCLKは、DMACII
の動作クロック信号、DRQOから3は、I/O装置か
らDMAC11に伝送されるレベルIIH″″で“DM
A転送要求あり″を意味するDMA転送要求信号、AN
YDRQは、前記DMACII内部において前記DRQ
信号を前記PCLK信号でサンプリングし、レベルti
H”でDMAC11の動作期間であることを示す信号出
ある。
AO〜23、M/、/O、BHE、BLEは、アドレス
信号である。
また、DACKは、レベル“L jjでI/O装置に対
するDMA転送を示す信号、IORは、レベル゛′L″
でI/O装置に対するリードを示す信号、IOWは、レ
ベル“L IIでI/O装置に対するライトを示す信号
、MRは、レベル゛r 1. t+でメモリに対するリ
ードを示す信号、MWは、レベル11 L 11でメモ
リに対するライトを示す信号、5RDYは。
レベル11 HIIでメモリのり一ド/ライト動作終了
を示す信号である。
次に、前記バススワップ回路14について説明する。
バススワップ回路14は、第9図に示すように構成され
、DMA転送対象I/O装置15.16が接続されてい
るデータバス20と前記システムバス19との間にあっ
て、上位8ビツトと下位8ビツトデータバスの接続や、
上位8ビツトと下位8ビツトデ一タバス同士の接続など
、データバスのスワップ制御を行なう。
すなわち、バススワップ回路14は、システムバス側の
上位8ビツトデータバスBD8〜15とデータバス側の
上位8ビツトデータバスDD8〜15との間にあり両者
の接続制御を行なう上位バスバッファ141と、システ
ムバス側の上位8ビツトデータバスBD8〜15とデー
タバス側の下位8ビツトデータバスDDO〜7との間に
あり両者の接続制御を行なうトランスファバスバッファ
142と、システムバス側の下位8ビットデータパスB
DO〜7とデータバス側の下位8ビツトデータバスDD
O〜7との間にあり両者の接続制御を行なう下位パスバ
ッファ143と、前記パスバッファ141,142,1
43の制御を行なうパスバッファ制御回路144とを備
えて構成される。
このパスバッファ制御回路144は、転送方向制御信号
DDTRや、アクティブレベルII L I+のイネー
ブル信号DDH,DDT、DDLを、前記CPUl0あ
るいはDMACl 1から出力される次に示す入力信号
に基づいて生成する。
レベル″L′″でデータ転送期間を示すDEN信号、レ
ベル゛′L″でメモリ13に対するデータ転送方向がリ
ート方向であることを示すD T / R信号、レベル
+i L nで上位データバス上の信号が有効であるこ
とを示すB HE信号、レベルIIL”で下位データバ
ス上の信号が有効であることを示すBLE信号、L//
</L/ ”L” テ16ビツトI/O装置15に対す
るCPU/OのI/Oアクセスを示す信号16bitI
 / QCS、レベル“L”で8ビツトI/O装置16
に対するC 、P U I OのI/Oアクセスを示す
信号8bit!/OC8,前述のレベル11 L I+
で16ビツトI/O装置15に対するDMACIIのI
/O装置アクセスを示す信号16bitI / 0DA
CK、レベル“L”で8ビツトI/O装置16に対する
DMACIIのI/O装置アクセスを示す信号8bit
I / 0DACK、および、レベルiiH”でDMA
CIIの動作期間であることを示す信号DAENの各信
号が用いられる。
前記パスバッファ制御回路144は、第/O図に示すよ
うに、排他的オアゲート回路144aと。
インバータ144bと、ノアゲート回路144d〜14
4fと、アンドゲート回路144gおよび144hと、
オアゲート回路144にと、ナントゲート回路144m
、144nおよび144Pとを備えて構成される。
前記各入力信号は、前記パスバッファ制御回路144に
入力され、前記ゲート回路群により、論理的に組み合わ
されて、前述したDDTRと、DDH,DDTおよびD
DLの各信号に変換される。
次に、以上のように構成されるDMACIIを用いてD
MA転送をする場合の動作について、説明する。
(1)転送要求の判定とバス権の授受 I/O装置15または16からメモリ13へのDMAC
IIによるデータ転送が必要になると、I/O装置15
または16が転送要求信号線17aまたはbをアクティ
ブにする。
転送要求検出部5は、ANYDRQが1であるか否か、
すなわち、いずれかのチャネルに対するDMA要求があ
るか否かを監視しているので、転送要求信号線17aま
たはbがアクティブになると、DMA転送要求があるこ
とを検出し、状態がSoから状態S1へ遷移する。これ
により、第5図に示すように、HOLD信号が信号線2
1を介してDMACIIからCPUl0へ送出される。
CPUl0では、HOLD信号がアクティブになったこ
とを検出し、バス権をDMAC11に渡してもよい状態
になると、HL D A信号をアクティブにし、バス権
の譲渡許可を信号線22を介してDMAC11に通知す
る。DMAC11は、この間、バス権獲得検出部6でH
LDA信号の状態を監視し、HLDA信号がアクティブ
になったことを検出すると、状態S2に遷移する。
状態S2では、DMA転送要求確認部1で、再度DMA
転送要求があることを確認し、また。
DMA転送チャネルの優先判定を行なう。これにより、
転送要求検出部5で検出した転送要求信号が継続してい
ることを確認し、状態S3へ遷移する。
状態S3では優先判定によって選ばれたI/O装置に対
する転送許可信号DACKをアクティブにし、I/O装
置にDMA転送が行なわれることを通知する。
上記処理時に状態S2において、DMA転送要求確認部
1でDMA転送要求が確認できないときは、第8図に示
すように、転送要求検出部5で検出した転送要求信号は
ノイズによる誤信号だったと判定し、バス権返還部8へ
処理を移して、状態SEとなり、バス権をCPUl0へ
返還する。これにより、ノイズによる誤転送動作が回避
される。
(2)I/O装置からメモリへの転送 ■/○装置からメモリへの転送のときは、第1図のbの
処理に入る。
第6図に示すように、まず、I/O装置リード時のI/
O装置ウェイト挿入部2でモードレジスタ内の転送対象
チャネルのI/O装置ウェイト数を読出し、I/O’l
置ウェイトの挿入が必要か否か判定する。挿入が必要な
ときは、状態S4に遷移し、I/O装置へのリードス1
−ローブ信号IORをアクティブにした後、必要なI/
O装置ウェイト回数だけ状態S4を維持する。不要なと
きは、状態S5に遷移し、同時に、I/O装置へのリー
ドストローブ信号IORをアクティブにする。
状態S5では、メモリへのライトストローブ信号MRを
アクティブにし、タイミング調整のための状態S6を経
由して、メモリライト動作終了待ち状態S7へ遷移する
。状態S7では、メモリのレディ信号5RDYOUT 
(SRDY)をチエツクし、レディ状態になると状態S
Cへ遷移する。
(3)メモリからI/O装置への転送 メモリからI/O装置への転送のときは、第1図のCの
処理に入る。
第7図に示すように、まず、状態S8でメモリへのリー
ドストローブ信号MRをアクティブにし、続いて状態S
9でI/O装置ライトストローブ信号IOWをアクティ
ブにする。状態SAでは、メモリルディ信号5RDYO
UT(SRDY) をチエツクし、レディ状態になると
I/O装置ウェイト挿入部3へ処理を移す。
I/Oウェイト挿入部3では、モードレジスタ内の転送
対象チャネルのI/Oウェイト数を読出し、I/Oウェ
イトの挿入が必要か否か判定し、挿入が必要なときは、
状態SBに遷移し、必要なI/Oウェイト回数だけ状態
SBを維持する。不要なときは、状態SCに遷移する。
(4)DMA転送継続/終了動作 状態SCでは、アクティブにしたストローブ信号をイン
アクティブにし、DMA転送の継続/終了動作に入る・ まず、バス権を同一チャネルの連続DMA転送以外は一
旦CPUl0に返還するか、返還しないパスホールトモ
ードで動作をするかによって処理が別れる。バスホール
ドモードでないときは、第2図のdへ処理が移る。
ここでは、まず、シングル転送かデイマント転送かを判
定し、シングル転送時は状態SDへ遷移する。
デイマント転送のときは、同一I/O装置に対する連続
転送検出部4aに処理を移す。ここで、同一チャネルに
対する転送が連続して必要か否か判定する。判定は、5
CHDRQが1か否か、すなわち、DMA転送を行なっ
たチャネルに対するDMA要求の有無を調べることによ
り行なう。不要なときは、状態SDへ遷移し、連続転送
が必要なときは、I/O装置の回復時間挿入部4bに処
理を移す。
回復時間挿入部4bは、モードレジスタ内の転送対象チ
ャネルの■/○装置回復時間数を読出し、r/O装置回
復時間の挿入が必要か否か判定し、挿入が必要なときは
状態SFに遷移し、必要なI/O装置回復時間数だけ状
態SFを維持する。不要なときは状態S3に遷移し次の
DMA転送を継続する。
バスホールドモードのときは、第2図のeへ処理が移る
ここでは、まず、シングル転送かデイマント転送かを判
定する。シングル転送時は、保留さ九でいる他チャネル
の転送要求がないか判定し、ない場合は状態SDへ遷移
する。シングル転送またはデイマント転送で、他チャネ
ルのDMA転送を行なうときは状態S2へ遷移する。す
なわち、HCHDRQまたはLCHDRQが1であるか
否かにより、DMA転送を行なったチャネルより優先順
位の高い(または低い)チャネルに対するDMA要求が
あるか否かを調べる。
また、デイマント転送で同一I/O装置に対する連続転
送場合は、前述のI/O装置回復時間挿入動作を行なっ
た後、状態S3に遷移し、DMA転送を継続する。
状態SDへ遷移すると1次に状態SEへ遷移し、バス権
をCPUl0へ返還した後、状態SOへ遷移する。
次に、バススワップ回路14の動作について説明する。
CPtJ /OまたはDMACIIは、データ転送タイ
ミングになると、DEN信号をパL′″レベルとする。
また、データ転送方向によりDT/R信号のレベルをコ
ントロールし、リード方向のときはIII、″レベルと
する。特に、DMACIIによる転送のときは、メモリ
13に対するデータ転送方向を示すように制御される。
(5)CPUIOによるワードリード CPUl0がワード(16ビツト幅)データをl/O1
置15から読み取るときは、各信号を次のように出力す
る。
DEN=”L”、DT/R= ”L” BLE=“L”、BHE= ”L” 16bitI /ODAGK=  ”H”8bitI/
ODACK=  “HI+16bitI/○C8= “
L” 8bitI /QCS =  ”H” 、DA E N
=  ”L”この結果パスバッファ制御回路144の出
力が次のようになる。
DDTR=“L”、DDH=”L” DDT=“H” 、DDL= ”L” これにより、I/O装置15より読出されたDDO〜7
上のデータがBDO〜7上に、DD8〜15上のデータ
がBD8〜15上に伝達され、16ビツトデータがCP
Ul0によりリードされる。
(6)CPUIOによるワードライト CPUl0がワード(16ビツト@)データをI/O装
置15に書込むときは、各信号を次のように出力する。
DEN=“L”、DT/R=“H” BLE=“L”、BHE=”L” 16bitI/ODACK=“H” 8bitI/ODACK=  “H” 16bitI/OCS=  ”L” 8bitI /OC8=  ”H” 、DAEN=”L
”この結果パスバッファ制御回路144の出力が次のよ
うになる。
DDTR=”H” 、 DDI−1=  “L I+D
DT=  “H” 、DDL=  “L”これにより、
CPUl0から出力されたBDO〜7上のデータがDD
O〜7上に、BD8〜15上のデータがDD8〜15上
に伝達され、I/O装置15に16ビツトデータが書き
込まれる。
(7)CPUIOによる奇数アドレスバイトデータリー
ド CPUl0が奇数アドレスバイト(8ビット幅)データ
をI/O装置16から読み取るときは、各信号を次のよ
うに出力する。
DEN=“L”、DT/R=“L” BLE=“H” 、BHE= ”L” 16bitI/ODACK=“H” 8bitI/ODACK=“HII I 6bitI/OC5”  “H” 8bitI/OCS”  “L” 、DAEN=  ”
L”この結果パスバッファ制御回路144の出力が次の
ようになる。
DDTR=“L”、DDH=“H” DDT=“L”、DDL=“L” これによりI/O装置16から読出されたDDO〜7上
のデータがBDO〜7とBD8〜15上に伝達され、B
D8〜15上の上位8ビツトデータがCPUl0により
奇数アドレスバイトデータとして読み込まれる。
(8)CPUIOによる偶数アドレスバイトデータリー
ド CPUl0が偶数アドレスバイト(8ビツトl1l)デ
ータをI/O装置16から読み取るときは、各信号を次
のように出力する。
DEN=”L”、DT/R=“L tpBLE=“L”
、BHE=”H” 16bit1/ODACK=”H” 8bitI/ODACK= ”H” 16bit1/OC8=  ”H” 8bitI/OC5=  “L” 、  DAE N=
  ”L”この結果パスバッファ制御回路144の出力
が次のようになる。
DDTR=“L”  DDJイ=“H”DDT=“L”
、DDL=”L” これによりI/O装置]6から読出されたDDO〜7上
のデータがBDO〜7とBD8〜18上に伝達され、B
DO〜7上の下位8ビツトデータがCPUl0により偶
数アドレスバイトデータとして読み込まれる。
(9)CPUIOによる奇数アドレスバイトデータライ
ト CPUl0が奇数アドレスバイト(8ビツト@)データ
をI/O装置16に書込むときは、各信号を次のように
出力する。
DEN= ”L” 、DT/R=“H”BLE=  ”
H”、  1’3HE=  ”L”16bitI/OD
A(、K =  “H”8bitZ/ODACK=  
”H” 16bit1/OC5=  “HI+ 8bitI/OC5=  ”L” 、  DAEN= 
 ”L”この結果パスバッファ制御回路144の出力が
次のようになる6 DDTR=”L″ DDH=“H” DDT=”L”、DDL=”)(” これによりCPUl0より出力されたBD8〜15上の
データがDDO〜7上に伝達され、奇数アドレスバイト
データとしてI/O装置16に書き込まわる。
(/O)CPUIOによる偶数アドレスバイトデータラ
イト CPUl0が偶数アドレスバイト(8ビット幅)データ
をI/O装置16に書込むときは、各信号を次のように
出力する6 DEN=”L”、DT/R= ”H” BLE=11L”、 B HE = ”H”16bit
1/ODACK=“11” 8bitI/ODACK= ”H” 16bit I / OCS = ”H”8bitI/
OC8=  ”L” 、DAEN=  ”L”この結果
パスバッファ制御回路144の出力が次のようになる。
D D T R=“L”、DDH= ”H”DDT=“
H”、DDL=”L” これによりCPUl0より出力されたBDO〜7上のデ
ータがDDO〜7上に伝達され、偶数アドレスバイトデ
ータどしてI/O装置16に書き込まれる。
(11)DMACI 1によるワード幅のI/O装置か
らメモリへの転送 りMACIIがワード(16ビツト幅)データをI/O
装置15から読み取るときは、各信号を次のように出力
する。
DEN=“L”、DT/R=”H” BLE=“L”、BHE=”L” 16bitI/ODACK=“L” 8bitI/ODACK=“H” 16bitI/OC8= ”H” 8bitI/OC3=“H”、DAEN=“HJjこの
結果パスバッファ制御回路144の出方が次のようにな
る。
DDTR= ”L” 、DDH= ”L”DDT=“H
″、DDL= ”L” これによりI/O装置15より読出されたDDO〜7上
のデータがBDO〜7上に、DD8〜15上のデータが
BD8〜15上に伝達さ、16ビツトデータがDMAC
IIによりメモリ13へ転送される。
(12)DMACIIによるワード幅のメモリからI/
O装置への転送 りMACIIがワード(16ビツト幅)データをI/O
装置15へ書込むときは、各信号を次のように出力する
DEN=″L”、DT/R= ”L” BLE=”L”、BHE=”L” 16bitI/ODACK= ”L” 8bitI/ODACK=“Hl1 16bitI/OC8:= ”H” 8bit I / OCS = ”H”、DAEN=“
H”この結果パスバッファ制御回路144の出力が次の
ようになる。
DDTR=”H”、DDH=”L” DDT=   “ ト■ ” 、DDL=”L  ”こ
れによりメモリ13から読出されたBDO〜7上のデー
タがDDO〜7上に、BD8〜15上のデータがDD8
〜15上に伝達され、I/O装置15に16ビツトデー
タが書き込まれる。
(13)DMACIIによる奇数アドレスバイトデータ
のI /OL#置からメモリへの転送りMACIIが奇
数アドレスバイト(8ビツト@)データをI/O装置1
6から読み取るときは、各信号を次のように出力する。
DEN=“L”、DT/R=“I(” BLE=“I4”、BHE=“L” 16bitI/ODACK=“■(” 8bitI/ODACK=“L” 16bitI/OC8=   “ ト■ 8bitI/
○C5=”H”、DAEN=“HI+この結果パスバッ
ファ制御回路144の出力が次のようになる。
DDTR=“L”、DDH= ”H” DDT=”L”、DDL=“L” これによりI/O装置1116がら読出されたDDO〜
7上のデータがBDO〜7とBD8〜15上に伝達され
、BD8〜15上の上位8ビツトデータがメモリ13に
奇数アドレスバイトデータとして書き込まれる。
(14)DMACIIによる偶数アドレスバイトデータ
のI/O装置からメモリへの転送りMACIIが偶数ア
ドレスバイト(8ビット幅)データをI/O装置16か
ら読み取るときは、各信号を次のように出力する。
DEN=“L”、DT/R=“L I+BLE=“L”
、BHE=“I(” 16bitI/ODACK= ”H” 8bitI/ODACK= ”L” 16bitI/OC8=“H” 8bitI/○cs= ”H” 、DAEN= ”H”
この結果パスバッファ制御回路144の出力が次のよう
になる。
DDTR=“L”、DDH=“HIT DDT=“L” 、DDL= ”L” これによりI/O装置16から読出されたDDO〜7上
のデータがBDO〜7とBD8〜18上に伝達され、B
DO〜7上の下位8ビツトデータがメモリ13に偶数ア
ドレスバイトデータとして書き込まれる。
(15)DMACIIによる奇数アドレスバイトデータ
のメモリからI/O装置への転送りMACIIが奇数ア
ドレスバイト(8ビット幅)データをI/O装置16へ
書込むときは、各信吟を次のように出力する。
DEN=”L”、DT/R=“L” BLE=“H”、BHE=“L” 16bitI/OD A CK = ”H″8bitI
/ODACK=“L” 16bitI /QCS =“H” 8 bit I /○CS=“I(”、DAEN=”H
”この結果パスバッファ制御回路144の出力が次のよ
うになる。
DDTR=”L”、DDH= ”H” DDT=“L”、DDL=”H” これによりメモリ13がら読みた呂されたBD8〜15
上のデータがDDO〜7上に伝達され、奇数アドレスバ
イトデータとしてI/O装置16に書き込まれる。
(16)DMACIIによる偶数アドレスバイトデータ
のメモリからI/O装置への転送りMACllが偶数ア
ドレスバイト(8ビツト111)データをI/O装置1
6書込むときは、各信号を次のように出力する。
DEN=“L”、DT/R=“H11 BLE=“L” 、BHE= “H” 16bitI/ODAGK=“H” 8bitI/ODACK=“L pp 16bitI/OC8=“H” 8bitI/OC8= H”、DAEN= ”H”この
結果パスバッファ制御回路144の出力が次のようにな
る。
DDTR=  “L” 、  DDH=  “H”DD
T=  “I]”  DDL=”L”これによりメモリ
13より読出されたBDO〜7上のデータがDI)O〜
7上に伝達され、偶数アドレスバイトデータとしてI/
O装百16に書き込まれる。
以上の動作により、I/O装置とメモリの間で必要なデ
ータのスワップ動作を行ないながら、DMA転送が行な
われ、かつ、必要なI/O装置のウェイト数や連続転送
時のI/O装置回復時間が外部付加回路なしで確保され
る。
[発明の効果] 以上説明したように、本発明によれば、I/O装置のア
クセス間隔の最低値に起因する高速化の限界を解消でき
て、DMACの高速化を図ることができる。
また、本発明によれば、I/O装置からのデータ転送動
作要求信号にノイズが重畳したときの誤転送を防止する
ことができる。
さらに、本発明によれば、DMACの動作速度を上げて
も、読出しアクセスと書込みアクセスの時間間隔を外部
付加回路なしで一定に保つことができる。
【図面の簡単な説明】
第1図および第2図は本発明の一実施例であるDMAC
のDMA動作シーケンス制御部の動作説明図、第3図は
本発明の一実施例であるDMACの内部構成を示すブロ
ック図、第4図は本発明の一実施例であるDMACを用
いた情報処理システムの一実施例の構成を示すブロック
図、第5図、第6図、第7図および第8図は本発明の一
実施例であるDMACのDMA動作を示す波形説明図、
第9図はバススワップ回路の構成の一例を示すブロック
図、第/O図はパスバッファ制御回路の詳細構成を示す
論理回路図である。 ■・・・DMA転送要求確詔部、2・・・I/Oウェイ
ト挿入部、3・・・I/Oウェイト挿入部、4a・・・
連続転送検出部、4b・・・I / O@復時間挿入部
、5・・・DMA転送要求信号検出部、6・・・バス権
獲得検出部、8・・バス権返還部、1/O・・・DMA
動作シーケンス制御部、111・・・DMA制御部、1
13・DMAアドレス/モードレジスタファイル、11
5・・・DMAカウントレジスタファイル。 第1図

Claims (1)

  1. 【特許請求の範囲】 1、メモリとI/O装置間のデータ転送を行なうダイレ
    クト・メモリ・アクセス制御装置であって、 同一I/O装置への連続アクセスを検出する連続アクセ
    ス検出手段と、予め与えられるアクセス間隔値によりア
    クセス間隔を制御するアクセス間隔制御手段とを有する
    ことを特徴とするダイレクト・メモリ・アクセス制御装
    置。 2、CPU(中央処理装置)、メモリおよび1または2
    以上のI/O装置を有する情報処理システムに搭載され
    て、メモリとI/O装置間のデータ転送を行なうダイレ
    クト・メモリ・アクセス制御装置であって、 前記I/O装置からの転送要求信号を検出してCPUか
    らバス制御権を獲得してデータ転送を行ない、データ転
    送後、CPUにバス制御権を返還する機能と、 前記CPUからバス制御権を獲得した時に、再度、I/
    O装置からの転送要求信号の検出を行ない、検出できる
    ときは、データ転送動作を起動し、検出できないときは
    、データ転送動作を起動せず直ちにバス制御権をCPU
    に返還する機能と を備えることを特徴とするダイレクト・メモリ・アクセ
    ス制御装置。 3、メモリとI/O装置間のデータ転送を行なうダイレ
    クト・メモリ・アクセス制御装置であって、 時間間隔制御値を記憶保持し、この保持している値によ
    りI/O装置アクセス開始時点とメモリアクセス開始時
    点の間隔を制御する機能を備えることを特徴とするダイ
    レクト・メモリ・アクセス制御装置。 4、メモリとI/O装置間のデータ転送を行なうダイレ
    クト・メモリ・アクセス制御装置であって、 複数のチャネルを持ち、各チャネルごとにI/O装置を
    接続し、各I/O装置の起動時のアクセス可能となるま
    での待ち時間を、当該I/O装置が接続されているチャ
    ネル対応に設定して、記憶保持し、これに基づいて、各
    チャネルについてのアクセス起動時の待ち時間を設定す
    ることを特徴とするダイレクト・メモリ・アクセス制御
    装置。 5、メモリとI/O装置間のデータ転送を行なうダイレ
    クト・メモリ・アクセス制御装置であって、 同一I/O装置への連続アクセスを検出する連続アクセ
    ス検出手段と、予め与えられるアクセス間隔値によりア
    クセス間隔を制御するアクセス間隔制御手段とを有し、
    かつ、 時間間隔制御値を記憶保持し、この保持している値によ
    りI/O装置アクセス開始時点とメモリアクセス開始時
    点の間隔を制御する機能を備えることを特徴とするダイ
    レクト・メモリ・アクセス制御装置。 6、CPU(中央処理装置)、メモリおよび1または2
    以上のI/O装置を有する情報処理システムに搭載され
    て、メモリとI/O装置間のデータ転送を行なうダイレ
    クト・メモリ・アクセス制御装置であって、 同一I/O装置への連続アクセスを検出する連続アクセ
    ス検出手段と、予め与えられるアクセス間隔値によりア
    クセス間隔を制御するアクセス間隔制御手段とを有し、
    かつ、 前記I/O装置からの転送要求信号を検出してCPUか
    らバス制御権を獲得してデータ転送を行ない、データ転
    送後、CPUにバス制御権を返還する機能と、 前記CPUからバス制御権を獲得した時に、再度、I/
    O装置からの転送要求信号の検出を行ない、検出できる
    ときは、データ転送動作を起動し、検出できないときは
    、データ転送動作を起動せず直ちにバス制御権をCPU
    に返還する機能と、 時間間隔制御値を記憶保持し、この保持している値によ
    りI/O装置アクセス開始時点とメモリアクセス開始時
    点の間隔を制御する機能とを備えることを特徴とするダ
    イレクト・メモリ・アクセス制御装置。 7、請求項1、2、3、4、5または6記載のダイレク
    ト・メモリ・アクセス制御装置と、中央処理装置(CP
    U)と、メモリおよび該メモリのリード/ライト制御を
    行なうメモリコントロ連続と、データバスのスワップ制
    御を行なうバススワップ回路と、これらを接続するシス
    テムバスと、前記バススワップ回路を介してシステムバ
    スと接続されるデータバスと、このデータバスに接続さ
    れる1または2以上のI/O装置とを備えて構成される
    ことを特徴とする情報処理システム。 8、請求項1、2、3、4、5または6記載のダイレク
    ト・メモリ・アクセス制御装置と、中央処理装置(CP
    U)と、これらを接続すると共に、他の回路との接続を
    行なうシステムバスとを少なくとも含み、これらを1チ
    ップに構成することを特徴とする情報処理用LSI。 9、メモリのリード/ライト制御を行なうメモリコント
    ローラ、および/または、データバスのスワップ制御を
    行なうバススワップ回路を含み、1チップに構成するこ
    とを特徴とする請求項8記載の情報処理用LSI。
JP29578689A 1989-11-14 1989-11-14 Dma制御装置および情報処理システム Pending JPH03156553A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29578689A JPH03156553A (ja) 1989-11-14 1989-11-14 Dma制御装置および情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29578689A JPH03156553A (ja) 1989-11-14 1989-11-14 Dma制御装置および情報処理システム

Publications (1)

Publication Number Publication Date
JPH03156553A true JPH03156553A (ja) 1991-07-04

Family

ID=17825141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29578689A Pending JPH03156553A (ja) 1989-11-14 1989-11-14 Dma制御装置および情報処理システム

Country Status (1)

Country Link
JP (1) JPH03156553A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033965A1 (en) * 2007-09-13 2009-03-19 Thomson Licensing Adaptive direct memory access pause allocation system and method
US8319194B2 (en) 2010-08-25 2012-11-27 Hitachi High-Technologies Corporation Drug detection equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201947A (en) * 1981-06-05 1982-12-10 Japan Electronic Control Syst Co Ltd Preventing method for interruption malfunction of computer
JPS63271561A (ja) * 1987-04-30 1988-11-09 Hitachi Ltd Dma制御回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201947A (en) * 1981-06-05 1982-12-10 Japan Electronic Control Syst Co Ltd Preventing method for interruption malfunction of computer
JPS63271561A (ja) * 1987-04-30 1988-11-09 Hitachi Ltd Dma制御回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033965A1 (en) * 2007-09-13 2009-03-19 Thomson Licensing Adaptive direct memory access pause allocation system and method
US8319194B2 (en) 2010-08-25 2012-11-27 Hitachi High-Technologies Corporation Drug detection equipment

Similar Documents

Publication Publication Date Title
US6393576B1 (en) Apparatus and method for communication between integrated circuit connected to each other by a single line
US5255374A (en) Bus interface logic for computer system having dual bus architecture
US5265211A (en) Arbitration control logic for computer system having dual bus architecture
US5544346A (en) System having a bus interface unit for overriding a normal arbitration scheme after a system resource device has already gained control of a bus
US5805905A (en) Method and apparatus for arbitrating requests at two or more levels of priority using a single request line
US5721840A (en) Information processing apparatus incorporating automatic SCSI ID generation
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
US7966430B2 (en) Apparatus and method for direct memory access in a hub-based memory system
US4999769A (en) System with plural clocks for bidirectional information exchange between DMA controller and I/O devices via DMA bus
US5890012A (en) System for programming peripheral with address and direction information and sending the information through data bus or control line when DMA controller asserts data knowledge line
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
US5574869A (en) Bus bridge circuit having configuration space enable register for controlling transition between various modes by writing the bridge identifier into CSE register
US5761532A (en) Direct memory access controller with interface configured to generate wait states
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US5097483A (en) Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off
JPH03156553A (ja) Dma制御装置および情報処理システム
US6463490B1 (en) Dual data rate transfer on PCI bus
KR20070102823A (ko) I2c 프로토콜에서의 어드레스 제어 장치
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
JPS61166647A (ja) マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法
SU1672459A1 (ru) Устройство дл сопр жени ЭВМ с внешним накопителем
JP2671743B2 (ja) マイクロコンピュータ
EP0718771B1 (en) DMA logic unit architecture
KR0170742B1 (ko) 엠버스를 이용한 데이터 전송 방법
KR0146521B1 (ko) 멀티프로세서 시스템에 있어서의 버스프로토콜 제어기와 데이타 전송방법