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

Dmaコントローラ

Info

Publication number
JPH0451348A
JPH0451348A JP2159710A JP15971090A JPH0451348A JP H0451348 A JPH0451348 A JP H0451348A JP 2159710 A JP2159710 A JP 2159710A JP 15971090 A JP15971090 A JP 15971090A JP H0451348 A JPH0451348 A JP H0451348A
Authority
JP
Japan
Prior art keywords
dma
transfer
channel
register
control information
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
JP2159710A
Other languages
English (en)
Inventor
Ken Watabe
謙 渡部
Keiichi Yu
恵一 勇
Takashi Maruyama
隆 丸山
Nobukazu Kondo
伸和 近藤
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 JP2159710A priority Critical patent/JPH0451348A/ja
Publication of JPH0451348A publication Critical patent/JPH0451348A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はす/クアレイチェイン転送を行うDMAコント
ローラの異常検出機構に係り、特に、仮想記憶装置のメ
モリで複数ブロックのDMA″t−複数チャネル同時に
行う時に好適な異常検出機構に関する。
〔従来の技術〕
従来の装置は、例えば、特開昭65−259549号公
報に記載のように、メモリをアクセスするための転送制
御情報を蓄える二面のレジスタ群を持ち、リンクアレイ
チェーン転送を行うDMAコントローラが、バス獲得権
の優先順位をDMA転送、転送制御情報の読み込み、中
央処理装置の順に設定して二面のレジスタ群を交互に用
いてリンクアレイチェーン転送を行っていた。
〔発明が解決しようとする課題〕
上記従来技術においては、転送制御情報をテーブルから
読み出してレジスタ群に書き込む動作がそのレジスタ群
を用いたブロック転送が開始されるまでの期間に終了し
ない、という異常に対する考慮がされていない。このた
め、チャネル装置に異常を検出する機能を内蔵しなけれ
ばならず、処理速度が遅くなる、ハードウェア量が多く
なるなどの問題があった。
〔課iat解決するための手段〕
上記目的を達成するために、本発明は転送制御情報をテ
ーブルから読み出してレジスタ群に書き込む動作がその
レジスタ群を用いたブロック転送が開始されるまでの期
間に終了しない、という異常が発生したことを検出する
手段と、MPUに前記異常が発生したことを報告する手
段と’iDMAコントローラ内部に設ける。また、MP
Uのプログラムがどのチャネルの異常処理を行うべきか
、という情報’iMPUに与えるために、異常が発生し
たDMAチャネルの情報を保持する手段全DMAコント
ローラ内部に設ける。
〔作用〕
DMAコントローラがリンクアレイチェーン転送動作中
に、コマンドリードが完了していないために、コマンド
リードの要求があることを示す信号と、ブロック転送の
終了を知るためのカウンタのオーバーフロー信号の論理
積を同−DMAチャネル内でとることにより、転送制御
情報テーブルからのコマンドの読み出しが次のブロック
転送を開始するまでの期間に完了しないことを検出する
検出信号によpフリップ70ツブをセットし、各チャネ
ル毎の7リツプ70ツブの出力の論理和を異常報告信号
として用いる。異常報告信号tl−MPHに対する書1
jり込み要求信号の一要因、も(2くは、専用の割υ込
み要求信号とすることによ5 、MPUへの異常報告全
可能にする。また、各チャネル毎の7リツプフロツプの
出力をフラグとしてMPUから読みだし可能とすること
により、複数チャネルで異常が同時に発生した場合にも
異常報告を受けたMPUが異常処理プログラムの中で処
理を行うべきDMAチャネルを、直ちに、正しく認識で
きるようになる。
[実施例〕 以下、本発明の一実施例を図面に基づいて説明する。
第1図は本発明の一実施例を示すシステム構成図である
。図中、1はDMAコントローラ(以下、DMACとい
う)、2−1〜2−nおよび6−1〜5−nは転送制御
情報すなわちDMA転送開始アドレス(以下、ADとい
う)、DMA転送バイト数(以下、CTという)、コマ
ンドコード(以下、CDという)の三種のデータを取り
込むためのレジスタ群A、Bである。5は物理アドレス
バス、6はデータバス、7はリード、ライトのための制
御信号バス、15はバス5 、6 、7t−使用するチ
ャネルを決定する優先決定回路、9はI10装置、18
はI / O装置R9のDMAを制御するDMA制御回
路、22−1〜22−nおよび25−1−23−nはチ
ャネル1からチャネルnに対応するレジスタ群A、Hの
選択信号、50は異常検出回路、62はD M A制御
回路18から異常検出回路30に対する制御信号を示し
ている。また、13はI10装置9からのDMA転送要
求信号(以下、DREQという)、14はI10装置9
へのDMA転送許可イ■号(以下、DACKという)、
4はMPU。
61は異常検出回路50からの異常報告信号、16はD
MA動作の几めのバス使用権を要求する信号(以下、B
USREQ、という)、17はMPU4が出力するバス
使用許可信号(以下、BUSACK という)、12は
論理アドレスバス、8はアドレス変換器、10はメモリ
、11はメモリ10内のブロック、19は同じくメモリ
10内の転送制御情報テーブルを示している。なお、本
システムでバス使用権の優先順位は高い方から、DMA
転送、転送制御情報の読み込み(以下、コマンドリード
という)、MPU4のメモリ10に対するアクセス(以
下、MPUアクセスという)の順に設定されているもの
とする。
第1図に示したように、本実施例ではDMAC1内に異
常全検出するための異常検出回路30全設け、MPU4
に異常を報告するための異常報告信号61を設けた。こ
のため、異常をI10装置9により検出するだけでなく
、DMAClで検出できるため、MPU4で、直ちに、
処理可能となる。
第4図は本実施例に係るDMAC1のDMA制御回路1
8の一部分の詳細、及び、異常検出回路30の詳細であ
る。図中、101は一70ツクのDMA転送バイト数を
カウントするカウンタ、102は一ブロックのDMA転
送が終了した時にカウンタ101から出力されるオーバ
フロー信号、105は動作中のDMAチャネルのチャネ
ル番号全保持するチャネル番号保持回路、104はチャ
ネル番号保持回路105から出力されるチャネル番号、
104−1〜104−nはチャネル番号104のチャネ
ル1からチャネルnに対応する信号、105はモード設
定や最終ブロックか否かなどを判断し、コマンドリード
を行う旨のコマンドリード条件信号106f、出力する
コマンドリード条件判定回路、107はレジスタ群切り
替えF/F群、108はインバータ、109は論理積回
路、110はコマンドリード要求セット信号、111は
コマンドリード要求F/F群、112はコマンドリード
要求信号、112−1〜112−nはコマンドリード要
求信号112のチャネル1からチャネルnに対応する信
号、115はコマンドリード制御回路、114はコマン
ドリード終了信号、115は論理積回路、116−1〜
116nは各チャネルごとの異常報告セット信号、11
7はセットリセットF/F、118は論理和回路、11
9は異常チャネル番号信号を示している。
第4図には、チャネル番号104、コマンドリード条件
信号106、コマンドリード要求セット信号110、コ
マンドリード要求信号112、コマンドリード終了信号
114は、一つずつしか記していないが、実際にμ、そ
れぞれ、チャネル数と同数存在するものとする。
第2図はリンクアレイチェーンの動作を伴うDMA転送
を正常に行った時のタイムチャートである。まず、第1
図と第2図音用いて、この場合の動作を説明する。
DMA転送を開始する前にMPU4は転送に使用するD
MAチャネルのレジスタ群A2およびB6にAD、CT
、CDを設定し、I / O装置9の内部レジスタにも
DMA転送を行えるような設定をする。DMA転送要求
が発生すると、工10装[9i1tDREQ15i有効
ニシテソノ旨t−DMAclに知らせる。DMACIは
優先決定回路15でチャネル間の優先順位を判定しなが
ら、バス権開放を要求するために、MPU4へBUSR
EQ16を出力する。MPU4はバス権を開放できる状
態になっり時ニ、BUSACKl 7 y&:DMAC
Iに出力する。
BUSACKl 7 t−受は取ったDMACIは、優
先判定結果に基づいて該当するチャネル0DACK14
f:有効にし、DMA転送を開始する。このようにして
一番目のブロックのDMA転送がレジスタ群A2′t−
用いて行われる。
一番目のブロック転送が終了すると自動的にレジスタ群
B6に制御が移行し、二番目のブロック転送を開始する
。二番目のブロック転送を実行中にDMA、CIは三番
目のブロック転送のだめのコマンドリードを行う。前述
の通り、コマンドリードのパス獲得権はDMA転送のそ
れよりも優先順位が低く設定されているので、コマンド
リードはDMA転送が行われていない期間に行われる。
メモリ10内に構成された転送制御情報テーブル19か
ら読みだした三番目のブロックのAD、CT。
CD′(il−レジスタ群A2に書き込むことで、三番
目のブロックに対するコマンドリードが終了する。
その後、二番目のブロック転送が終了したならば、レジ
スタ群A2に設定されたAD、C’[’、CDを用いて
三番目のブロックのDMA転送が行われる。
そして、それと同時に、四番目のブロックに対するコマ
ンドリードが行われ、コマンドコードがレジスタ群B3
に設定される。同様にして、リンクアレイチェーン動作
が繰シ返される。ブロック転送がすべて終了したらDM
ACIは転送終了信号を出力して転送を終る。
第3図はリンクアレイチェーン動作を伴うDMA転送に
異常が発生した時のタイムチャートである。
第1図、第6図を用いてこの場合の動作を説明する。
今、チャネル1で1−1番目のブロック転送、チャネル
nでj−1番目のブロック転送を行っている場合を考え
る。この時、チャネル1は1番目のブロック転送に対す
るコマンドリードを、チャネルnはj番目のブロック転
送に対するコマンドリードを同時に行っている。それぞ
れのチャネルは現在実行中のブロック転送、コマンドリ
ードが終了した後、1番目、j番目のブロック転送を開
始する。このとき他チャネルのDMA転送が同時に行わ
れてバス5.6.7がDMA転送に専有されてしまった
場合、チャネル1は1+1番目のブロックに対するコマ
ンドリード、チャネルnはj+1番目のブロックに対す
るコマンドリードを行うことができない。これは、前述
のとお、り、DMA転送がコマンドリードよυも優先し
て実行されるためである。このため、チャネル1は1+
1番目のブロック、チャネルn id j + 1 番
目のブロックの転送を行うことができない。この時、I
10装置9に転送要求が発生するとデータオーバーラン
エラーになる。なお、第3図には二つのチャネルが異常
全発生するように記しであるが、三つ以上のチャネルで
発生する可能性も考えられる。
本実施例ではこのような異常を検出、報告、処理するた
めに、第4図のような異常検出回路を備えている。第5
図のタイムチャー+t−用いて回路の動作を説明する。
オーバフローイぽ号102、チャネル信号104、コマ
ンドリード条件信号106の論理積を論理積回路109
で取ることでコマンドリード要求セット信号110を生
成し、コマンドリード要求F/F群111のチャネル対
応のF/Fiセットすることによりコマンドリード要求
信号112が有効になる。コマンドリード要求は、この
コマンドリード要求信号112に対応してAD、CT、
CDの設定が完了するとコマンドリード終了信号114
によってリセットされる。
異常が発生したときは、第5図の1番目のブロック転送
全終了した時のように、コマンドリード要求が出されて
いる状態でカウンタオーバフローが発生することで検出
できる。これは、次のブロック転送が始まるまでにコマ
ンドリードが完了しなかったこと全意味する。コマンド
リード要求信号112、チャネル信号1o4、オーバフ
ロー信号102の論理積をチャネルごとに論理積回路1
15で取り、これを各チャネル毎の異常報告セット信号
116とする。この異常報告セット信号116でセット
リセットF/F 117がセットされる。論理和回路1
18でセットリセットF/F117全チャネル出力信号
の論理利金とり、MPU4に対する異常報告信号31と
する。
また、異常報告信号31はMPU4に割9込み要求信号
の一種として伝えられ、MPU4は異常処理プログラム
の実行を開始する。セラトリセラ)F/F117と論理
和回路118にはDMAClの内部レジスタとしてアド
レスを割当て、MPU4からアクセス可能とする。
MPU4の異常処理プログラムでは、セットリセットF
/F117から異常チャネル番号信号119全読みだし
異常の発生したチャネル番号を知り、必要な処理を行う
。その後、処理の済んだチャネルのセットリセットF/
F 117iアクセスしリセットする。この処理全異常
の発生したチャネル全てに対して行う。
そして、異常処理終了後は、処理できなかっ念ブロック
、即ち、第5図では1+1番目のブロックのDMA転送
からリンクアレイチェーン転送を行うように制御する。
なお、第5図には−チャネル分のDMA転送の様子だけ
を示したが、実際にはれチャネル分存在する。
また、本実施例ではコマンドリード制御回路115iD
MAC1内に存在するものとして説明したが、MPUと
D M A C”、Hワンチップ化し、コマンドリード
”iMPUが制御するためにコマンドリード制御回路1
15をMPUJ内に設けた場合にも適用可能である。
本実施例では異常報告を割り込み信号で行い、異常処理
プログラムで処理を行うとしたが、 DMAC自身に備
えたマイクロプログラム、を次は、MPUとDMACf
、ワンチップ化した場合にはMPUの要求処理マイクロ
プログラムへのソフトウェア割シ込みなどによって実現
しても良い。
本実施例によれば、転送制御情報テーブルからのコマン
ド読みだしが次のブロック転送を開始するまでの期間に
完了しない異常’iDMACが一括しテ検出し、MPU
へ割り込み全かけて異常処理に必要な情報’iMPUに
提供することができる。I10装置全てに異常を検出す
る手段を設ける必要がないため、システム全体のハード
クエア′Jkt−削減でき、システム設計がよシ容易に
なる。また、MPUプログラムによるポーリングを行う
必要が無く、異常処理t−MPUプログラムで高速に処
理可能であるため、システム全体の処理速度の向上効果
がある。
〔発明の効果〕
本発明によれば、転送制御情報テーブルからのコマンド
読みだしが次のブロック転送を開始するまでの期間に完
了しない異常′fr:DMACが一括して検出し、MP
Uへ割p込みをかけて異常処理に必要な情報t−MPU
に提供することができる。工10装置の全てに異常を検
出する手段を設ける必要がないため、システム全体のハ
ードウェア量ヲ削減でき、システム設計がよシ容易にな
る。また、MPUプログラムによるポーリングを行う必
要が無く、異常処理をMPUプログラムで高速に処理す
ることができるため、システム全体の処理速度が向上す
る。
【図面の簡単な説明】
第1囚に本発明の一実施例に係る情報処理システムのブ
ロック図、第2図は従来のリンクアレイチェーンをとも
なうDMA転送を正常に行った場合のタイムチャート、
第3図は従来技術に係るリンクアレイチェーンをともな
うDMA転送に異常が生じた場合のタイムチャート、第
4図は本発明のDMACの系統図、第5図は本発明のリ
ンクアレイチェーンをともなうDMA転送全正常に行っ
た場合のタイムチャートである。 1・・・DMAC,4・・・MPt)、9・・・I10
装置、10・・・メモリ、11・・・データブロック、
50・・・異常検出回路、61・・・位情報故苦心号、
112・・・コマンドリード要求信号、116・・・異
常報告セット信号、119・・・異常チャネル番号信号

Claims (1)

  1. 【特許請求の範囲】 1、転送制御情報を保持する二面のレジスタを各DMA
    チャネル毎に備え、交互に前記レジスタを切り替え、前
    記一方のレジスタに保持されたDMA転送制御情報に基
    づいて前記DMAチャネルのDMA転送を実行しつつ、
    前記他方のレジスタに次データブロックの前記DMA転
    送制御情報を格納し、リンクアレイチェーン転送を各チ
    ャネルについて行う手段を備えたDMAコントローラに
    おいて、 前記リンクアレイチェーン転送時に、次の前記データブ
    ロックの転送開始時までに、格納すべき次の前記データ
    ブロックの前記DMA転送制御情報の前記レジスタへの
    格納が完了したか否かを検出する手段を、前記各DMA
    チャネルごとに設けたことを特徴とするDMAコントロ
    ーラ。 2、請求項1において、 前記レジスタへの前記DMA転送制御情報の格納の未完
    了をいづれかの前記DMAチャネルで検出した場合に、
    その旨出力する手段と、格納が未完了であった前記DM
    Aチャネルの前記転送制御情報を保持し、外部よりアク
    セス可能なチャネル情報保持手段を前記各DMAチャネ
    ル毎に設けてなるDMAコントローラ。 3、請求項2において、メモリと、入出力装置と、前記
    メモリと前記入出力装置との間のDMA転送を制御する
    前記DMAコントローラと、前記DMAコントローラに
    前記リンクアレイチェーンの前記DMA転送を指示する
    中央処理装置と、前記DMAコントローラは、前記レジ
    スタへの前記DMA転送情報の格納の未完了の検出を中
    央処理装置に通知し、前記中央処理装置は、DMAコン
    トローラより格納の未完了の検出の通知を受けた場合に
    、前記DMAコントローラの前記チャネル情報保持手段
    にアクセスし、得られた前記DMAチャネル識別情報に
    応じた処理を行う情報処理システム。 4、請求項1または2において、前記DMAコントロー
    ラに前記リンクアレイチェーンDMA転送を指示する中
    央処理装置を内蔵してなる一チップCPU。
JP2159710A 1990-06-20 1990-06-20 Dmaコントローラ Pending JPH0451348A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2159710A JPH0451348A (ja) 1990-06-20 1990-06-20 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2159710A JPH0451348A (ja) 1990-06-20 1990-06-20 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JPH0451348A true JPH0451348A (ja) 1992-02-19

Family

ID=15699601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2159710A Pending JPH0451348A (ja) 1990-06-20 1990-06-20 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JPH0451348A (ja)

Similar Documents

Publication Publication Date Title
US20120042105A1 (en) Bus arbitration apparatus
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
JPS60258671A (ja) プロセツサ
JP4313607B2 (ja) バス接続回路及びバス接続システム
WO2024217331A1 (zh) 总线调度方法、装置及设备、介质和基板管理控制芯片
US7013355B2 (en) Device and method for improved serial bus transaction using incremental address decode
EP0217350B1 (en) Data transfer control unit and system
WO2008005900A2 (en) Methods and arrangements for devices to share a common address on a bus
US20170300435A1 (en) Direct memory access control device for at least one computing unit having a working memory
JPH0451348A (ja) Dmaコントローラ
US10983927B2 (en) Electronic device for recovering from buffer overrun in a bus system
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2000276437A (ja) Dma制御装置
JP4549458B2 (ja) Dma転送装置
JPH06187256A (ja) バストレース機構
JP2000207354A (ja) バスア―ビタ及びバス間制御装置
JPH03201053A (ja) Dmaコントローラ
JP2837698B2 (ja) ダイレクト・メモリ・アクセス制御装置
JP2001320385A (ja) 計算機システムのパケット送受信方法、装置及びパケット送受信プログラム
US20220019459A1 (en) Controlled early response in master-slave systems
JPH0744470A (ja) データバス監視装置
CN120934929A (zh) 通信方法、电子设备、计算机程序产品以及存储介质
JP2006092077A (ja) バスシステム
JPH04369065A (ja) ダイレクトメモリアクセスコントローラ
JPH04266147A (ja) バスアダプタ装置