Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0816894B2 - 直接メモリ・アクセス制御装置 - Google Patents
[go: Go Back, main page]

JPH0816894B2 - 直接メモリ・アクセス制御装置 - Google Patents

直接メモリ・アクセス制御装置

Info

Publication number
JPH0816894B2
JPH0816894B2 JP63100656A JP10065688A JPH0816894B2 JP H0816894 B2 JPH0816894 B2 JP H0816894B2 JP 63100656 A JP63100656 A JP 63100656A JP 10065688 A JP10065688 A JP 10065688A JP H0816894 B2 JPH0816894 B2 JP H0816894B2
Authority
JP
Japan
Prior art keywords
memory
data
data buffer
value
buffer 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.)
Expired - Lifetime
Application number
JP63100656A
Other languages
English (en)
Other versions
JPH01271861A (ja
Inventor
有利 白江
Original Assignee
株式会社ピーエフユー
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 株式会社ピーエフユー filed Critical 株式会社ピーエフユー
Priority to JP63100656A priority Critical patent/JPH0816894B2/ja
Publication of JPH01271861A publication Critical patent/JPH01271861A/ja
Publication of JPH0816894B2 publication Critical patent/JPH0816894B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 〔概要〕 内部にデータ・バッファ・メモリを持つDMA制御装置
に関し、 有効バイト数を可変とすることによりバースト転送時
間を変化し得るようにすることを目的とし、 メモリ・アドレスを保持するメモリ・アドレス・レジ
スタと、転送バイト数をカウントするためのカウント・
レジスタと、転送データを一時的に蓄えるデータ・バッ
ファ・メモリと、データ・バッファ・メモリの有効バイ
ト数を制限するための有効バイト数制限レジスタと、デ
ータ・バッファ・メモリをアクセスするためのメモリ・
ポインタとを具備し、データ・バッファ・メモリの有効
バイト数をバーストDMA転送の一かたまりのデータと
し、その有効バイト数を可変とすることで、バースト転
送時間を変えられるようにしたものである。
〔産業上の利用分野〕
本発明は、内部にデータ・バッファ・メモリを持つDM
A制御装置(直接メモリ・アクセス制御装置)に関する
ものである。制御用コンピュータを始めとしてI/O装置
との高速なデータ転送が必要な分野においてDMA転送は
必須のものである。
〔従来の技術〕
第6図は従来のDMA制御方式のブロック図である。同
図において、1はDMA制御装置、2はメモリ、3はI/O装
置、4は中央処理装置、11はメモリ・アドレス・レジス
タ、12はバイト・カウント・レジスタをそれぞれ示して
いる。
第6図に示すように、従来のDMA制御方式は、メモリ
・アドレスを保持するためのメモリ・アドレス・レジス
タ11および転送バイト数をカウントするためのカウント
・レジスタ12を持つDMA制御装置1と、メモリ2と、I/O
装置3と、中央処理装置4とで構成されている。
この種の従来例においては、中央処理装置4がDMA制
御装置1に対してメモリ・アドレスと転送バイト数とを
設定して起動させると、カウント・レジスタ12の値が零
になるまで転送を続ける。この際、バスを継続的に使用
する方式(バースト転送方式)もしくは1ワード分のDM
A転送を行う毎にバスを開放する方式(サイクル・スチ
ール転送方式)の何れかの方式で行うのが一般的であ
る。
〔発明が解決しようとする課題〕
前者の方式は、バス支配権制御に要する時間が小さく
て済むため、高速且つ効率の良い転送が可能であるが、
その反面、バスを長時間にわたって継続的に使用するた
め、その間の割込み要求へのレスポンスの遅れ等、シス
テム全体のリアルタイム性への悪影響がある。
後者の方式は、リアルタイム性への悪影響はないが、
バス支配権制御に要する時間が大きくなり過ぎると言う
欠点がある。
本発明は、この点に鑑みて創作されたものであって、
有効バイト数を可変とすることによりバースト転送時間
を変化し得るようになったDMA制御方式を提供すること
を目的としている。
〔課題を解決するための手段とその作用〕
第1図は本発明のDMA制御装置を示すブロック図であ
る。同図において、1はDMA制御装置、11はメモリ・ア
ドレス・レジスタ(MAR)、12はバイト・カンウト・レ
ジスタ(BCR)、13は有効バイト数制限レジスタ、14は
メモリ・ポインタ・レジスタ(MPR)、15はデータ・バ
ッファ・メモリ、17と18はデータバスをそれぞれ示して
いる。DMA制御装置1は、メモリ・アドレス・レジスタ1
1、バイト・カンウト・レジスタ12、有効バイト数制限
レジスタ13、メモリ・ポインタ・レジスタ14及びデータ
・バッファ・メモリ15などを有している。メモリ・アド
レス・レジスタ11は、データバス17に接続されているメ
モリをアクセスするためのアドレスを保持する。バイト
・カウント・レジスタ12は、転送バイト数をカウントす
るものである。データ・バッファ・メモリ15は、転送デ
ータを一時的に蓄えるものである。有効バイト数制限レ
ジスタ13は、データ・バッファ・メモリ15の有効バイト
数を制限するためのものである。メモリ・ポインタ・レ
ジスタ14は、データ・バッファ・メモリ15をアクセスす
るための番地を保持するものである。
例として、I/O装置からメモリへDMA転送する場合の動
作を説明する。I/O装置からデータバス18経由してDMA制
御装置1に入力されたデータは、メモリ・ポインタ・レ
ジスタ14の指す番地のデータ・バッファ・メモリ15に次
々とストアされる。データ・バッファ・メモリ15内のデ
ータ量が有効バイト数制限レジスタ13の指示するバイト
数に達すると、データ・バッファ・メモリ15内のデータ
は、データバス17を経由してアドレス・バス16でアドレ
スシングされるメモリ番地にバースト転送で次々と転送
される。この場合、有効バイト数制限レジスタ13の値を
大きくすればデータ・バッファ・メモリ内に一度に蓄え
るバイト数が大きくなるのでバースト転送時間が長くな
り、逆に小さくすればバースト転送時間は短くなる。そ
の値はシステムに応じて選べば良い。有効バイト数制限
レジスタ13の値は、中央処理装置4によって書替可能で
ある。
〔実施例〕
第2図は有効バイト数オーバの検出を行うハードウェ
ア機構の構成例のブロック図である。同図において、19
はデコーダ、20と21はAND回路、22はOR回路をそれぞれ
示している。
有効バイト数制限レジスタ13の値をデコーダ19によっ
てデコードした信号を使ってメモリ・ポインタ・レジス
タ14の有効バイトを選択する。例えば、AND回路20は有
効バイト数が2mバイトをオーバすると“真”になり、AN
D回路21は有効バイト数の2m-L+1のバイトをオーバする
と“真”となり、それぞれOR回路22の出力を“真”とす
る。例えば、I/O装置からメモリへDMA転送を行う場合、
I/O装置からのデータをデータ・バッファ・メモリ15に
ストアする毎にメモリ・ポインタ・レジスタ14の値をイ
ンクリメントし、OR回路22の出力が“真”になれば、デ
ータ・バッファ・メモリ15にストアされたデータをメモ
リにバースト転送する。この動作をカウント・レジスタ
12が零になるまで繰り返す。メモリからI/O装置への転
送も同様に制御出来る。
第3図は本発明で使用されるシーケンサの構成例を示
す図である。同図において、23はカウンタ、24はマイク
ロコード・メモリ、25はマルチプレクサをそれぞれ示し
ている。
第3図のシーケンサは、第1図には示されていない
が、DMA制御装置1の中に存在し、DMA制御装置1の各部
を制御する。カンウタ23は通常はカウント値を+1する
が、分岐アドレス入力制御信号がオンのときには、読み
出されたマイクロコードの分岐アドレスがカウンタ23に
セットされる。マイクロコード・メモリ24からは、カウ
ンタ23で指定された番地のマイクロコードが読み出され
る。マルチプレクサ25は、読み出されたマイクロコード
の分岐条件選択部の内容で指定さた分岐条件が成立して
いるか否かを調べ、指定された分岐条件が成立している
場合は、分岐アドレス入力制御信号をオンとする。
第4図はI/Oからメモリへデータを転送する場合の処
理フローを示す図である。なお、これらの処理はシーケ
ンサの制御の下で行われる。
中央処理装置がDMA制御装置(DMAC)およびI/O装置
を起動する。
I/O装置がDMA制御装置に対するデータ・リクエスト
DREQをオンするまで待つ。
DMA制御装置がI/O装置のデータ・レジスタ・ポート
を選択してI/O装置からデータ・バッファ・メモリへの
データ転送を行う。
DMA制御装置はデータ・バッファ・メモリ内のデー
タのバイト数が有効バイト数をオーバしたか否かを調
べ、Yesの場合はに進み、Noの場合はに戻る。
DMA制御装置は、システム・バスを獲得するための
要求を出す。
バスを獲得したならばデータ・バッファ・メモリ→
メモリへのデータ転送を行う。(データ・バッファ・メ
モリが空になるまで続ける。) 転送カウント(バイト・カウンタ・レジスタ同義)
が0か否かを調べる。Noの場合にはの処理に戻る。
第5図はメモリからI/Oへデータ転送する場合の処理
フローを示す図である。なお、これらの処理はシーケン
サの制御の下で行われる。
中央処理装置がDMA制御装置およびI/O装置を起動す
る。
DMA制御装置はシステム・バスを獲得するための要
求を出す。
バスを獲得したならば、メモリ→データ・バッファ
・メモリへのデータ転送を行う。
DMA制御装置は、データ・バッファ・メモリ内のデ
ータのバイト数が有効バイト数をオーバしたか否かを調
べ、Yesの場合はに進み、Noの場合にはに戻る。
I/O装置がDMA制御装置に対するデータ・リクエスト
DREQをオンにするまで待つ。
DMA制御装置がI/O装置のデータ・レジスタ・ポート
を選択してデータ・バッファ・メモリからI/O装置への
データ転送を行う。
,の処理をデータ・バッファ・メモリが空にな
るまで繰り返す。
転送カウンタが“0"か否かを調べ、Noの場合はの
処理に戻る。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、メ
モリとデータ・バッファ・メモリ間のデータ転送と、デ
ータ・バッファ・メモリとI/O装置間のデータ転送が別
々のデータ・バス上で行われるため、後者のデータ・バ
ッファ・メモリとI/O装置間のデータ転送中は、メモリ
をCPU側に解放することが出来るので、DMA転送中のCPU
へのバス負荷を軽減できる。また、本発明によれば、有
効バイト数制限レジスタの値をシステムの性質の応じて
設定することが出来る。例えば、リアルタイム性能重視
のシステムでは、有効バイト数制限レジスタの設定値を
小さくし、性能重視のシステムでは、有効バイト数制限
レジスタの設定値を大きくする。
【図面の簡単な説明】
第1図は本発明のDMA制御装置を示す図、第2図は有効
バイト数オーバの検出を行うハードウェア機構の構成例
のブロック図、第3図は本発明で使用されるシーケンサ
の構成例を示すブロック図、第4図はI/Oからメモリへ
データを転送する場合の処理フローを示す図、第6図は
メモリからI/Oへデータを転送する場合の処理フローを
示す図、第6図は従来のDMA制御方式を示す図である。 1……DMA制御装置、2……メモリ、3……I/O装置、4
……中央処理装置、11……メモリ・アドレス・レジス
タ、12……バイト・カンウト・レジスタ、13……有効バ
イト数制限レジスタ、14……メモリ・ポインタ・レジス
タ、15……データ・バッファ・メモリ、17と18……デー
タバス、19……テゴーダ、20と21はAND回路、22……OR
回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】連続転送分の転送データを一時的に蓄える
    ことが出来るデータ・バッファ・メモリと、 メモリとデータ・バッファ・メモリの間のデータ転送を
    行うための第1のバスと、 I/O装置とデータ・バッファ・メモリの間のデータ転送
    を行うための第2のバスと、 データ・バッファ・メモリの有効バイト数を制限するた
    めの有効バイト数制限レジスタと、 データ・バッファ・メモリのアクセス・アドレスを保持
    するメモリ・ポインタと、 有効バイト数制限レジスタの値とメモリ・ポインタの値
    とを比較する比較回路と、 制御手段と I/O装置とメモリ間で転送されたデータの転送バイト数
    をカウントとするためのカウント・レジスタと、 を具備し、 制御手段は、I/O装置からメモリへのデータ転送時にお
    いては、 ステップS1 I/O装置から送られてきたデータをデータ・バッファ・
    メモリに書き込み、メモリ・ポインタの値をインクリメ
    ントし、 ステップS2 メモリ・ポインタの値が有効バイト数制限レジスタの値
    を越えていないことを比較回路の出力が示している場合
    には、ステップS1の処理に戻り、メモリ・ポインタの値
    が有効バイト数制限レジスタの値を越えていることを比
    較回路の出力が示している場合には、I/O装置からデー
    タ・バッファ・メモリへのデータ転送を停止し、ステッ
    プS3の処理に進み、 ステップS3 メモリとデータ・バッファ・メモリ間のデータ転送のた
    めのバス獲得要求を行い、バスが獲得できたならばステ
    ップS4の処理に進み、 ステップS4 データ・バッファ・メモリに格納されている全データを
    メモリにバースト転送し、 ステップS5 カウント・レジスタの値を参照して、中央処理装置によ
    って指示された転送バイト数分のデータがI/O装置から
    メモリに転送されているか否かを調べ、否の場合には、
    ステップS1の処理に戻る と言う一連の処理を行うための制御を行い、 制御手段は、メモリからI/O装置へのデータ転送時にお
    いては、 ステップS1′ メモリとデータ・バッファ・メモリ間のデータ転送のた
    めのバス獲得要求を行い、バスが獲得できたならばステ
    ップS2′の処理に進み、 ステップS2′ データがデータ・バッファ・メモリに書き込まれる度に
    メモリ・ポインタの値をインクリメントしながら、メモ
    リからデータ・バッファ・メモリにデータをバースト転
    送し、 ステップS3′ メモリ・ポインタ・レジスタの値が有効バイト数制限レ
    ジスタの値を越えていないことを比較回路の出力が示し
    ている場合には、ステップS2′の処理に戻り、メモリ・
    ポインタ・レジスタの値が有効バイト数制限レジスタの
    値を越えていることを比較回路の出力が示している場合
    には、メモリからデータ・バッファ・メモリへのデータ
    転送を停止してステップS4′の処理に進み、 ステップS4′ データ・バッファ・メモリのデータをI/O装置にデータ
    転送し、 ステップS5′ データ・バッファ・メモリが空の場合にはステップS6′
    の処理に進み、データ・バッファ・メモリが空でない場
    合にはステップS4′の処理に戻り、 ステップS6′ カウント・レジスタの値を参照して、中央処理装置によ
    って指示された転送バイト数分のデータがメモリからI/
    O装置に転送されたか否かを調べ、否の場合には、ステ
    ップS1′の処理に戻る と言う一連の処理を行うための制御を行う ことを特徴とする直接メモリ・アクセス制御装置。
  2. 【請求項2】有効バイト数制限レジスタの値を調整する
    ことで、メモリとデータ・バッファ・メモリ間のバース
    ト・データ転送時間,およびデータ・バッファ・メモリ
    とI/O装置間のデータ転送時間を調整できる ことを特徴とする請求項(1)の直接メモリ・アクセス
    制御装置。
JP63100656A 1988-04-23 1988-04-23 直接メモリ・アクセス制御装置 Expired - Lifetime JPH0816894B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63100656A JPH0816894B2 (ja) 1988-04-23 1988-04-23 直接メモリ・アクセス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63100656A JPH0816894B2 (ja) 1988-04-23 1988-04-23 直接メモリ・アクセス制御装置

Publications (2)

Publication Number Publication Date
JPH01271861A JPH01271861A (ja) 1989-10-30
JPH0816894B2 true JPH0816894B2 (ja) 1996-02-21

Family

ID=14279853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63100656A Expired - Lifetime JPH0816894B2 (ja) 1988-04-23 1988-04-23 直接メモリ・アクセス制御装置

Country Status (1)

Country Link
JP (1) JPH0816894B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751696B2 (en) 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6329867A (ja) * 1986-07-23 1988-02-08 Nec Corp Dmaコントロ−ラ

Also Published As

Publication number Publication date
JPH01271861A (ja) 1989-10-30

Similar Documents

Publication Publication Date Title
US5471632A (en) System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred
US5265211A (en) Arbitration control logic for computer system having dual bus architecture
US6104417A (en) Unified memory computer architecture with dynamic graphics memory allocation
US5014186A (en) Data-processing system having a packet transfer type input/output system
US6622228B2 (en) System and method of processing memory requests in a pipelined memory controller
US5642489A (en) Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
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
US5367639A (en) Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
CN114051611A (zh) 用于非连续存储器的dma分散和聚集操作
JP2504206B2 (ja) バスコントロ―ラ
US5333290A (en) DMA controller having jump function
JP3290650B2 (ja) メモリ制御装置
US5287486A (en) DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
US6976110B2 (en) Method and apparatus for reducing interrupt latency by dynamic buffer sizing
JPH0816894B2 (ja) 直接メモリ・アクセス制御装置
US20030182517A1 (en) Method and system for buffering multiple requests from multiple devices to a memory
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JP2723970B2 (ja) データ転送制御装置
JP2963696B2 (ja) データ転送制御システム
KR0145932B1 (ko) 고속중형 컴퓨터시스템에 있어서 디엠에이제어기
JP2594611B2 (ja) Dma転送制御装置
JP2599184B2 (ja) Dmacのリード転送制御装置
JPH01147764A (ja) ダイレクトメモリアクセスコントローラ
JPS6249537A (ja) デ−タバツフアコントロ−ラ
JPH0537312Y2 (ja)