JPH0675898A - ダイレクトメモリアクセスコントローラ - Google Patents

ダイレクトメモリアクセスコントローラ

Info

Publication number
JPH0675898A
JPH0675898A JP24727792A JP24727792A JPH0675898A JP H0675898 A JPH0675898 A JP H0675898A JP 24727792 A JP24727792 A JP 24727792A JP 24727792 A JP24727792 A JP 24727792A JP H0675898 A JPH0675898 A JP H0675898A
Authority
JP
Japan
Prior art keywords
command
dmac
cpu
terminal
access controller
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
JP24727792A
Other languages
English (en)
Inventor
Yasushi Nakagawa
靖 中川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP24727792A priority Critical patent/JPH0675898A/ja
Publication of JPH0675898A publication Critical patent/JPH0675898A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 I/O機器に対するコマンド発行をCPUに
代わってDMACに行わせることにより、CPUの利用
効率を上げ、システム全体の性能を向上させるととも
に、プログラミングの簡素化を図る。 【構成】 入出力機器とのデータ転送に使用するダイレ
クトメモリアクセスコントローラ15に、コマンド列を
読み込んで入出力機器へコマンド発行する機能と、入出
力機器が発行されたコマンドが処理されるまで待機させ
る機能と、入出力機器からエラーステータスが出力され
たかどうか判断する機能とを備えており、入出力機器と
のデータアクセス前に必要なコマンド発行をCPUに代
わって実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力機器とのデータ
転送に使用するダイレクトメモリアクセスコントローラ
に関し、特に、コマンド発行が必要な入出力機器とのデ
ータ転送時に使用されるダイレクトメモリアクセスコン
トローラに関する。
【0002】
【従来の技術】従来、この種のダイレクトメモリアクセ
スコントローラ(以下、DMACと略す)を使用した入
出力機器からのデータを転送するシステムは、図6に示
すように、DMAC15からCPUホールド要求信号H
LDRQ6がCPU1のホールド端子HLDRQ5に接
続され、CPU1からのHLDAK端子4がDMAC1
5のHLDAK端子7に接続されていた。
【0003】一方、入出力機器16(以下、I/O機器
と略す)からのDMAリクエスト端子DMARQ18が
DMAC15のDMAリクエスト端子DMARQ11に
接続されていた。また、I/O機器16へのDMAアク
ノリッジ端子DMAAK12はI/O機器16のDMA
アクノリッジ端子DMAAK17に接続されていた。
【0004】各データバス端子3,14,20はデータ
バス25に接続されていた。また、各アドレスバス端子
2,13,21はアドレスバス26に接続されていた。
I/O機器16からのコマンド処理完了を示す信号を出
力する端子19はCPUのINT端子28に接続されて
いた。
【0005】従来例によるDMACを使用して入出力機
器からのデータをメモリに入出力するシステムにおける
動作のフローチャートを図7に示す。このフローチャー
トは、入出力機器からメモリに対してデータをリードす
る場合の動作である。
【0006】最初に何らかのタスクからのI/O機器デ
ータのリード要求が発生すると、CPUはI/O機器に
対しデータを読み出したいという要求をコマンドとして
I/O機器に発行する。I/O機器内では、このコマン
ドを解釈し、リード動作を行うための準備を行ない、準
備が完了すると、図6でのIOREADY端子19をア
クティブにするとともに、ステータスをステータスレジ
スタに設定する。このIOREADY端子はCPU1の
INT端子28に接続されているので、CPUに割り込
みが発生する。
【0007】CPUは、コマンドをI/O機器に対して
発行したあと割り込みが発生するまで待機している。割
り込みが発生すると、CPUはI/O機器からステータ
スレジスタを読み出し、それがエラー発生を示すもので
なければ、CPUはDMACに転送先アドレスと転送バ
イト数とを設定し、DMA転送を許可する。I/O機器
はリード動作を実行し、データを取り出すと、図6にお
けるDMARQ18をアクティブにし、DMAC15か
らDMAAK12が入力されたのち、I/O機器からの
データ転送を実行する。
【0008】
【発明が解決しようとする課題】上述した従来のダイレ
クトメモリアクセスコントローラを使用したシステムで
は、DMA転送前にI/O機器に対してコマンドを発行
する必要があるI/O機器の場合は、CPUからI/O
機器に対してコマンドを発行し、そのコマンド処理が終
了するまで割り込み待ちをし、割り込みが発生したらエ
ラーが発生していないかステータスリードを行ない、エ
ラーがない場合にはじめてDMA転送を行うことによっ
てI/O機器からデータ転送を実施することが可能にな
る。
【0009】DMA転送前にCPUからI/O機器にコ
マンドを毎回発行し、割り込み待ちを行うのはCPUの
利用効率が低下するとともに、フィルムが繁雑になると
いう問題点がある。
【0010】本発明の目的は、I/O機器に対するコマ
ンド発行をCPUに代わってDMACに行わせることに
より、CPUの利用効率を上げ、システム全体の性能を
向上させるとともに、プログラムの簡素化、およびI/
O機器に対するコマンド発行の高速化を図るダイレクト
メモリアクセスコントローラを提供することにある。
【0011】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るダイレクトメモリアクセスコントロー
ラは、コマンド発行機能を有し、入出力機器とのデータ
転送に使用するダイレクトメモリアクセスコントローラ
であって、コマンド発行機能は、コマンド列を読み込ん
で入出力機器へコマンド発行し、入出力機器に対するコ
マンド発行を実行するものである。
【0012】また、入出力機器が発行されたコマンドが
処理されるまで待機させ、入出力機器に対するコマンド
処理終了待ちを実行する機能を有するものである。
【0013】また、入出力機器からエラーステータスが
出力されたかどうか判断し、入出力機器に対するエラー
ステータスチェックを実行する機能を有するものであ
る。
【0014】
【作用】本発明は、I/O機器に対して発行するコマン
ド列を、CPUに代えてコマンド処理制御により発行
し、I/O機器からのデータ転送前のコマンド発行およ
びコマンド処理完了のためのCPUの待機、およびCP
Uによるステータスチェックを不必要としたものであ
る。
【0015】
【実施例】以下、本発明を図により説明する。
【0016】(実施例1)図1は、本発明の実施例1を
示すブロック図である。図1において、本発明は、コマ
ンド処理制御部8と、コマンドバッファ24とを付加し
たものである。
【0017】CPU1のアドレス端子2はアドレスバス
26に接続され、データ端子3はデータバス25に接続
されている。CPU1のHLDRQ端子5がDMAC1
5のHLDRQ端子6と接続されている。CPU1がバ
スホールドしたことを外部に知らせる信号を出力するH
LDAK端子4がDMAC15のHLDAK端子7に接
続されている。
【0018】DMAC15内に設けたコマンド処理制御
部8のIOREADY端子9はI/O機器16のIOR
EADY端子19に接続されている。I/O機器のDM
ARQ端子18はDMAC15内に設けたDMA制御部
10のDMARQ端子11に接続されている。I/O機
器のDMAAK端子17はDMA制御部10のDMAA
K端子12に接続されている。DMA制御部10のアド
レス端子13はアドレスバス26に接続されており、デ
ータ端子14はデータバス25に接続されている。コマ
ンドバッファ24のアドレス端子23はアドレスバス2
6に接続され、データ端子22はデータバス25に接続
されている。
【0019】本発明の実施例1の動作を説明したのが図
2および図3である。この図は、I/O機器からデータ
をリードする場合の処理フローである。図2はCPUの
行う処理の内容、図3は本実施例によるDMACの処理
内容である。
【0020】図2において、他タスクからのI/O機器
データリード要求が発生すると、CPU1はDMAC1
5にDMA転送を許可する。転送を許可したあとは、処
理はDMAC15に移る。
【0021】DMAC15の処理が図3である。DMA
転送が許可されると、DMAC15は、まずCPU1に
対しHLDRQ端子6をアクティブにすることにより、
CPU1にバスホールドすることを要求する。CPU1
は、バスホールドすると、HLDAK端子4をアクティ
ブにする。
【0022】CPU1がバスホールドすると、DMAC
15はコマンド処理が必要かどうか判断する。コマンド
処理が必要な場合は、DMAC15はコマンド処理の内
容が記述されているコマンドバッファ24の先頭アドレ
スをセットし、メモリからコマンドの内容を読み出す。
コマンドバッファ24には、転送するコマンド列と、ス
テータスリードの有無、ステータスリードを行う必要が
あるときには、正常終了を示すステータスコードも記述
されている。読み出されたコマンドの内容をDMAC1
5内部のコマンド制御部10で解析し、I/O機器へコ
マンド出力が必要なのかどうか、また、I/O機器から
ステータスリードが必要なのかどうか、また、ステータ
スリードが必要な場合はIOREADYがアクティブに
なってI/O機器内でコマンド処理が終了し、ステータ
スをリードするタイミングかどうかを判断する。そして
最後にコマンド処理が継続するかどうか調べ、継続する
のであればこれらの一連の処理を繰り返す。
【0023】コマンド処理が必要なければ、DMAC制
御部10内でリードデータをメモリのどの番地に格納す
るのかを指定するための転送先アドレスを設定し、転送
するデータのバイト数を設定し、DMAC15とI/O
機器間のデータ転送を開始する。転送が終了すると、C
PUのホールドを解除し、すべての処理が終了する。
【0024】(実施例2)図4は、本発明の実施例2を
示すブロック図である。
【0025】本実施例は、コマンド列が記述されている
コマンドバッファを、メモリ中でなく、DMAC内部の
コマンドデータレジスタファイル27内に持たせてい
る。
【0026】本発明の実施例2のDMACでの動作を説
明したのが図5である。実施例2では、コマンドバッフ
ァがDMAC内部にある。実施例1では、コマンドバッ
ファがメモリ中にあったので、コマンドバッファの内容
をDMACが読み出すためにはCPUをホールドさせる
必要があった。しかし、実施例2では、コマンドバッフ
ァがDMAC内部にあるので、CPUへのホールド要求
は図5においてコマンド処理が終了した後である。つま
り、コマンド発行中でもCPU処理を並行して動作させ
ることができ、システム性能が向上するという利点があ
る。
【0027】
【発明の効果】以上説明したように、本発明は従来のダ
イレクトアクティブコントローラに入出力機器に対する
コマンド発行機能を設けることにより、入出力機器から
のデータ転送時にCPUからコマンドを発行し、コマン
ド処理が終了するまでCPUをストップさせ、その後ス
テータスリードおよびステータスチェックを行う必要が
ないために、CPUの利用効率が向上し、システム性能
が向上するとともに、プログラミングが簡素になるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明の実施例1を示すブロック図である。
【図2】本発明の実施例1において入出力機器からのデ
ータリード時のCPU処理フローを示す図である。
【図3】実施例1のDMACでの処理フローを示す図で
ある。
【図4】本発明の実施例2を示すブロック図である。
【図5】実施例2のDMACでの処理フローを示す図で
ある。
【図6】従来例を示すブロック図である。
【図7】従来例の処理フローを示す図である。
【符号の説明】
1 CPU 2 アドレス端子 3 データ端子 4 ホールドアクノリッジ端子 5 HLDRQ端子 6 HLDRQ端子 7 HLDAK端子 8 コマンド処理制御部 9 I/O処理完了端子 10 DMA制御部 11 DMARQ端子 12 DMAAK端子 13 アドレス端子 14 データ端子 15 ダイレクトメモリアクセスコントローラ 16 入出力機器 17 DMAAK端子 18 DMARQ端子 19 コマンド処理完了端子 20 データバス 21 アドレスバス 22 データ端子 23 アドレス端子 24 コマンドバッファメモリ 25 データバス 26 アドレスバス 27 コマンドデータレジスタファイル 28 割り込み端子
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年7月8日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】DMA転送前にCPUからI/O機器にコ
マンドを毎回発行し、割り込み待ちを行うのはCPUの
利用効率が低下するとともに、処理が繁雑になるという
問題点がある。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正内容】
【0027】
【発明の効果】以上説明したように、本発明は従来のダ
イレクトメモリアクセスコントローラに入出力機器に対
するコマンド発行機能を設けることにより、入出力機器
からのデータ転送時にCPUからコマンドを発行し、コ
マンド処理が終了するまでCPUをストップさせ、その
後ステータスリードおよびステータスチェックを行う必
要がないために、CPUの利用効率が向上し、システム
性能が向上するとともに、プログラミングが簡素になる
という効果がある。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 コマンド発行機能を有し、入出力機器と
    のデータ転送に使用するダイレクトメモリアクセスコン
    トローラであって、 コマンド発行機能は、コマンド列を読み込んで入出力機
    器へコマンド発行し、入出力機器に対するコマンド発行
    を実行するものであることを特徴とするダイレクトメモ
    リアクセスコントローラ。
  2. 【請求項2】 入出力機器が発行されたコマンドが処理
    されるまで待機させ、入出力機器に対するコマンド処理
    終了待ちを実行する機能を有することを特徴とする請求
    項1に記載のダイレクトメモリアクセスコントローラ。
  3. 【請求項3】 入出力機器からエラーステータスが出力
    されたかどうか判断し、入出力機器に対するエラーステ
    ータスチェックを実行する機能を有することを特徴とす
    る請求項1及び2に記載のダイレクトメモリアクセスコ
    ントローラ。
JP24727792A 1992-08-24 1992-08-24 ダイレクトメモリアクセスコントローラ Pending JPH0675898A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24727792A JPH0675898A (ja) 1992-08-24 1992-08-24 ダイレクトメモリアクセスコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24727792A JPH0675898A (ja) 1992-08-24 1992-08-24 ダイレクトメモリアクセスコントローラ

Publications (1)

Publication Number Publication Date
JPH0675898A true JPH0675898A (ja) 1994-03-18

Family

ID=17161073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24727792A Pending JPH0675898A (ja) 1992-08-24 1992-08-24 ダイレクトメモリアクセスコントローラ

Country Status (1)

Country Link
JP (1) JPH0675898A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617330B2 (en) 2001-04-26 2009-11-10 The Boeing Company System and method for preloading a bus controller with command schedule

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617330B2 (en) 2001-04-26 2009-11-10 The Boeing Company System and method for preloading a bus controller with command schedule

Similar Documents

Publication Publication Date Title
US5659759A (en) Data processing device having improved interrupt controller to process interrupts of different priority levels
JP2829091B2 (ja) データ処理システム
EP0464615A2 (en) Microcomputer equipped with DMA controller
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPH0675898A (ja) ダイレクトメモリアクセスコントローラ
JP2669911B2 (ja) Dmaコントローラおよび情報処理システム
EP0614148B1 (en) Data processing apparatus
EP0560393A1 (en) Microprocessor and data processing system with register file
US11714608B2 (en) Device and method for handling programming language function
JPS59144955A (ja) 情報処理装置
JP3139310B2 (ja) ディジタル信号処理装置
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2768352B2 (ja) 図形描画処理システム
JPS58129525A (ja) デ−タ処理システムのデ−タ入出力制御方法
JP2562474B2 (ja) マルチcpuシステムのアダプタ及びその制御方法
JP2504570B2 (ja) 記憶領域の書き込み検査処理方法
JPH0619817A (ja) 通信プロセッサ
JP2594673B2 (ja) データ処理方法
JPH05216808A (ja) データ処理装置
JPS63153635A (ja) デ−タ転送速度指定方式
JPH0635716A (ja) マイクロプロセッサ
JPH0756846A (ja) 入出力制御装置及びマイクロプロセッサ及びデータ処理システム並びにデータの転送方法
JPS63257856A (ja) シリアル通信方式
JPH0468458A (ja) データ通信処理装置
JPH0682348B2 (ja) 入出力制御方式