JPH05173930A - Dma制御回路 - Google Patents

Dma制御回路

Info

Publication number
JPH05173930A
JPH05173930A JP3336915A JP33691591A JPH05173930A JP H05173930 A JPH05173930 A JP H05173930A JP 3336915 A JP3336915 A JP 3336915A JP 33691591 A JP33691591 A JP 33691591A JP H05173930 A JPH05173930 A JP H05173930A
Authority
JP
Japan
Prior art keywords
address
dma
processor
circuit
virtual
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
JP3336915A
Other languages
English (en)
Inventor
Satoshi Natsui
聡 夏井
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP3336915A priority Critical patent/JPH05173930A/ja
Publication of JPH05173930A publication Critical patent/JPH05173930A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】簡単な回路構成で仮想記憶メモリ方式に対応す
るDMA制御を実現する。 【構成】DMA用の仮想アドレスを発生するアドレスカ
ウンタ回路と、DMAデータ長を管理するサイズカウン
タ回路と、プロセッサにより仮想アドレスと実アドレス
の対応が設定され、アドレスカウンタ回路からの出力を
実アドレスに変換するアドレス変換バッファと、通常の
DMA終了割り込みと、変換するアドレスがアドレス変
換バッファに存在しない場合にプロセッサへ割り込むた
めの割り込み信号を発生する割り込み回路と、各I/O
装置からのDMA要求を調停するアービターを具備す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、DMA制御回路に関
し、詳しくは仮想記憶メモリ方式を採用しているコンピ
ュータシステムの複数ページ間のDMAチェーンを実行
するDMA制御回路の改善に関するものである。
【0002】
【従来の技術】仮想記憶メモリ方式を採用しているコン
ピュータシステムにおいてプロセッサの内部メモリとI
/O(入出力)装置との間でDMA(Direct Memory Ac
cess)制御を行なうにあたって、仮想記憶メモリの基本
管理単位(以下ページという)を越えるDMAを実行す
る場合がある。この場合、仮想記憶メモリ上の仮想空間
(論理メモリ)では図4(a)に示すように領域が連続
しているが、例えば実メモリ(物理メモリ)上では同図
(b)に示すように複数の領域、、に別れ、それ
ぞれDMAを起動して展開するようになっていることが
ある。このようなDMA制御にあたっては、 1)I/O装置を含めてページ単位でDMAを起動する 2)I/O装置には1回のDMAを起動し、DMA制御
回路にはページごとにDMAを起動する 3)DMA制御回路に複数の領域のDMAができるよう
にチェーン機能を実装し、この機能を使って複数のペー
ジのDMAを実行する 等が行なわれている。
【0003】
【発明が解決しようとする課題】しかしながら、このよ
うなDMA制御では次のような問題がある。 1)の場合、DMAが複数回起動されるため、パフォー
マンスが低下する。 2)の場合は、DMA制御回路に対してページごとにD
MAが再起動が入るのでその度にDMAが停止し、I/
O装置側にデータバッファメモリがないとデータオーバ
ーランが発生する。 3)の場合は、実害なくDMAが実行できるものの、D
MA制御回路にチェーンする数に応じたアドレス/デー
タカウンタやDMA制御回路に対するコマンドわキュー
イングする回路が必要になり、回路が複雑になる。 なお、この問題を解決する方式として、実願平1−11
3237号「DMA制御回路」に記載されたように、F
IFOメモリにチェーンの順番に従った実メモリ上のペ
ージアドレスを設定しておき、ページ内のデータ転送終
了ごとにFIFOメモリに次のページのアドレスを要求
するようにして複数ページ間のDMAチェーンを実行す
るものがある。しかしこの方式においても、回路は簡単
であるが、1つのDMAチャネルごとにFIFOメモリ
が必要であり、複数のDMAチェネル数を実現する際に
はその分ゲート数が増加するという問題がある。本発明
の目的は、このような点を解決するもので、簡単な回路
構成で仮想記憶メモリ方式に対応するDMA制御を実現
するDMA制御回路を提供することにある。
【0004】
【課題を解決するための手段】このような目的を達成す
るために本発明では、各I/Oチャネルごとに用意さ
れ、DMA用の仮想アドレスを発生するアドレスカウン
タ回路と、各I/Oチャネルごとに用意され、DMAデ
ータ長を管理するサイズカウンタ回路と、 プロセッサ
により仮想アドレスと実アドレスの対応が設定され、ア
ドレスカウンタ回路からの出力を実アドレスに変換する
アドレス変換バッファと、通常のDMA終了割り込み
と、変換するアドレスがアドレス変換バッファに存在し
ない場合にプロセッサへ割り込むための割り込み信号を
発生する割り込み回路と、各I/O装置からのDMA要
求を調停するアービターを具備したことを特徴とする。
【0005】
【作用】プロセッサによりDMAが起動された後、ペー
ジフォルトが発生したらプロセッサに割り込み、プロセ
ッサがアドレスエレメントを設定すれば直ちにDMAを
継続する。また、ページフォルトがない場合は、次のペ
ージフォルトが発生するかまたはDMAが終了するまで
DMAを実行する。このような機能に、よりチェーン機
能を持たずに仮想アドレス上のDMAを実現する。
【0006】
【実施例】以下本発明を詳細に説明する。図1は本発明
のDMA制御回路を用いたコンピュータシステムの一実
施例を示す構成図である。図において、1はプロセッサ
であり、2はメモリ、3はDMA制御回路、4はI/O
装置であり、これらはそれぞれバス(BUS)5を介し
て接続されている。図2はDMA制御回路3の内部構成
を示すもので、31はアドレスカウンタ回路、32はア
ドレス変換バッファ、33は割り込み回路、34はイン
タフェース回路、35はサイズカウンタ回路(複数個あ
る)、36はアービターである。なお、インタフェース
回路34(バスハンドシェーク機能とI/Oハンドシェ
ーク機能を有する)とサイズカウンタ回路35(DMA
データ長をカウントする機能を有し、I/Oチャネル数
分のカウンタ回路からなる)は通常のDMA制御回路に
おける場合のものと同等であり、ここではその説明を省
略する。アドレスカウンタ回路31は、指定されるアド
レスが仮想アドレスであり、I/Oチャネルに対応した
複数のカウンタが実装されていてアービター36から指
定されたチャネルに対応するアドレスを発生するように
なっている。割り込み回路33は、インタフェース回路
34を介した通常のDMA終了割り込み(DMA En
d)とアドレス変換バッファ32からのミス信号を受け
ると(すなわちページフォルト)、プロセッサ1に割り
込みを発生する。アービター36は通常の各I/O装置
4からのDMA要求を衝突しないように調停する。アド
レス変換バッファ32は以下のようになっている。
【0007】図3にアドレス変換バッファ32の具体的
構成を示す。アドレス変換バッファ32は複数のエレメ
ントより構成され、アドレス変換テーブルA(複数個あ
る)と、LRU(least recently used )方式により各
エレメント単位の使用頻度を管理するLRUテーブルB
と、ヒットしたエレメントの実アドレスを送出するセレ
クタDと、すべてのエレメントがヒットしなかった時に
ミス信号(Miss)を出力するためのデコーダEより構成
される。LRUテーブルBは、使用頻度を管理し、その
状態はインタフェース回路34を介してプロセッサ1か
ら読み込むことができるようになっている。アドレス変
換テーブルAの内部は、仮想アドレスレジスタA1と、
実アドレスレジスタA2と、アドレスカウンタ回路31
からの論理アドレスが仮想アドレスレジスタA1に保持
されているアドレスと一致しているかどうかを判断する
(一致していれば、ヒット信号Hit を送出する)比較演
算器A3より構成されている。アドレス変換バッファ3
2からのミスが発生すると、アービター36は対象とな
るDMAを一旦停止し、その他のI/O装置がDMA要
求をしていればそのDMAを実行する。これにより、効
率的なDMAが実現できる。
【0008】このような構成における動作を次に説明す
る。DMA制御回路への起動から終了までの動作は次の
通りである。 プロセッサ1からアドレスカウンタ回路31およびサ
イズカウンタ回路35にそれぞれ仮想アドレスとデータ
長を設定する。 プロセッサ1からI/O装置4を起動する。 I/O装置4からDMA要求が発生する。 DMAを実行する。 1)DMA制御回路3はページフォルトが発生したらプ
ロセッサ1に割り込み、プロセ ッサがアドレスエレメ
ントを設定すれば直ちにDMAを継続する。 2)ページフォルトがなければ次のページフォルトが発
生するか、DMAが終了するま でDMAを実行する。 DMA終了の割り込みを発生する。これによりプロセ
ッサ1はDMA終了処理をする。
【0009】なお、の1)において、プロセッサ1が
アドレスエレメントを設定する場合、プロセッサ1はア
ドレス変換バッファ32のLRUテーブルBを参照し、
最近使用されていないエレメントに対して設定する。
【0010】なお、本発明は上記実施例に限定されるも
のではなく、アドレスデータ長設定の際、アドレス変換
バッファ32に実アドレスを設定することも可能であ
る。また、アドレス変換バッファ32にパススルーモー
ドを追加することにより仮想アドレスを使用しないシス
テムや立ち上げ時(一般にリセット直後は仮想アドレス
を使用しない)等に有効である。このパススルーモード
は割り込み回路33の動作を禁止し、アドレス変換バッ
ファ32の入力をそのまま出力すればよい。
【0011】なお、DMA制御回路3からのページフォ
ルト割り込みはDMA転送の実行時間に影響するので、
割り込みレベルを高くする方が望ましい。また、低速な
DMA速度のI/O装置によるページフォルトは、シス
テムのパフォーマンスに大きく影響しないので、アドレ
ス変換バッファ内のエレメントの総数は同時に起動され
る可能性のある高速なI/O装置のチャネル数を実装す
るだけでよい。したがって、この場合は回路規模削減に
さらに貢献することになる。
【0012】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 一般のDMA制御回路と比較すると、回路規模はアド
レス変換バッファ内の各エレメントごとに実装される2
つのレジスタ(仮想アドレスと実アドレス用)だけであ
り、FIFOメモリを使用した従来のDMA制御回路よ
りも回路規模が少なくて済む。 DMAの起動は仮想アドレスを設定するだけでよく、
ページフォルト時の実アドレスの設定はプロセッサ内の
メモリマネージメントユニット制御プログラムをそのま
ま流用できるので、ソフトウェアの対応が容易になる。
【図面の簡単な説明】
【図1】本発明のDMA制御回路を使用したコンピュー
タシステムの一例を示す構成図である。
【図2】本発明に係るDMA制御回路の一実施例を示す
構成図である。
【図3】アドレス変換バッファの具体例を示す構成図で
ある。
【図4】仮想記憶メモリ方式におけるメモリ空間の説明
図である。
【符号の説明】
1 プロセッサ 2 メモリ 3 DMA制御回路 4 I/O装置 5 バス 31 アドレスカウンタ回路 32 アドレス変換バッファ 33 割り込み回路 34 インタフェース回路 35 サイズカウンタ回路 36 アービター

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】仮想メモリ方式によるプロセッサとメモリ
    と複数のI/O装置が接続されたシステムに用いられる
    DMA制御回路であって、 各I/Oチャネルごとに用意され、DMA用の仮想アド
    レスを発生するアドレスカウンタ回路と、 各I/Oチャネルごとに用意され、DMAデータ長を管
    理するサイズカウンタ回路と、 前記プロセッサにより
    仮想アドレスと実アドレスの対応が設定され、前記アド
    レスカウンタ回路からの出力を実アドレスに変換するア
    ドレス変換バッファと、 通常のDMA終了割り込みと、変換するアドレスが前記
    アドレス変換バッファに存在しない場合に前記プロセッ
    サへ割り込むための割り込み信号を発生する割り込み回
    路と、 前記各I/O装置からのDMA要求を調停するアービタ
    ーを具備し、前記プロセッサが仮想アドレスを設定する
    ことによりDMAを起動した時、アドレス変換バッファ
    により実アドレスに変換してDMAを実行し、ページフ
    ォルトの場合にはプロセッサに割り込み、プロセッサが
    仮想アドレスと実アドレスの対応を設定すると直ちにD
    MAを継続するようにしたことを特徴とするDMA制御
    回路。
JP3336915A 1991-12-19 1991-12-19 Dma制御回路 Pending JPH05173930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3336915A JPH05173930A (ja) 1991-12-19 1991-12-19 Dma制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3336915A JPH05173930A (ja) 1991-12-19 1991-12-19 Dma制御回路

Publications (1)

Publication Number Publication Date
JPH05173930A true JPH05173930A (ja) 1993-07-13

Family

ID=18303812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3336915A Pending JPH05173930A (ja) 1991-12-19 1991-12-19 Dma制御回路

Country Status (1)

Country Link
JP (1) JPH05173930A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901291A (en) * 1996-10-21 1999-05-04 International Business Machines Corporation Method and apparatus for maintaining message order in multi-user FIFO stacks
JP2007272885A (ja) * 2006-03-28 2007-10-18 Internatl Business Mach Corp <Ibm> 代替ページのプールを使用してdma書込みページ障害をコンピュータにより管理するための方法、装置、及びコンピュータ・プログラム
JP2008123389A (ja) * 2006-11-15 2008-05-29 Renesas Technology Corp 半導体集積回路装置
JP2009032085A (ja) * 2007-07-27 2009-02-12 Panasonic Corp データ処理システム
US7685344B2 (en) * 2005-10-28 2010-03-23 Canon Kabushiki Kaisha Method of setting priority of devices connected to bus, and apparatus having a plurality of devices and arbiter

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5901291A (en) * 1996-10-21 1999-05-04 International Business Machines Corporation Method and apparatus for maintaining message order in multi-user FIFO stacks
US7685344B2 (en) * 2005-10-28 2010-03-23 Canon Kabushiki Kaisha Method of setting priority of devices connected to bus, and apparatus having a plurality of devices and arbiter
JP2007272885A (ja) * 2006-03-28 2007-10-18 Internatl Business Mach Corp <Ibm> 代替ページのプールを使用してdma書込みページ障害をコンピュータにより管理するための方法、装置、及びコンピュータ・プログラム
JP2008123389A (ja) * 2006-11-15 2008-05-29 Renesas Technology Corp 半導体集積回路装置
JP2009032085A (ja) * 2007-07-27 2009-02-12 Panasonic Corp データ処理システム
US8239652B2 (en) 2007-07-27 2012-08-07 Panasonic Corporation Data processing system

Similar Documents

Publication Publication Date Title
US4399503A (en) Dynamic disk buffer control unit
US7373437B2 (en) Multi-channel DMA with shared FIFO
US7761617B2 (en) Multi-threaded DMA
US8473717B2 (en) Coprocessor reset controller with queue for storing configuration information of subsequent sessions prior to completion of current session
KR950009455A (ko) 디지탈 신호처리 프로세서
JP3201786B2 (ja) ディジタル信号処理システムの制御方法
JPH05173930A (ja) Dma制御回路
JPH0619836A (ja) Dma制御回路
US11449450B2 (en) Processing and storage circuit
JP4592944B2 (ja) Cpuインターフェース回路
JPH04130551A (ja) キャッシュ制御方法
JP2586690B2 (ja) 命令プリフェッチ装置
JPS5850383B2 (ja) 情報処理装置
JPS6240565A (ja) メモリ制御方式
JP2744152B2 (ja) データ駆動型データ処理装置
JP3085103B2 (ja) 並列プロセッサ論理シミュレーション装置
KR0145932B1 (ko) 고속중형 컴퓨터시스템에 있어서 디엠에이제어기
JPS6352240A (ja) デ−タ処理装置
JP3134811B2 (ja) データ処理装置
JP2504535B2 (ja) バスユニットの構成方法
JPS6217777B2 (ja)
JPH04246764A (ja) データ処理装置
JPH0746334B2 (ja) インターフェース制御回路
JPH02307123A (ja) 計算機
JPH05108590A (ja) マイクロプロセツサシステム