JPH0619836A - Dma制御回路 - Google Patents

Dma制御回路

Info

Publication number
JPH0619836A
JPH0619836A JP17835892A JP17835892A JPH0619836A JP H0619836 A JPH0619836 A JP H0619836A JP 17835892 A JP17835892 A JP 17835892A JP 17835892 A JP17835892 A JP 17835892A JP H0619836 A JPH0619836 A JP H0619836A
Authority
JP
Japan
Prior art keywords
address
dma
virtual
circuit
page
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
JP17835892A
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 JP17835892A priority Critical patent/JPH0619836A/ja
Publication of JPH0619836A publication Critical patent/JPH0619836A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】簡単な回路構成で仮想記憶メモリ方式に対応す
るDMA制御を実現する。 【構成】仮想アドレスを発生するアドレスカウンタ回路
とDMAデータ長を管理するサイズカウンタ回路とを各
I/Oチャネルごとに用意し、仮想アドレスページと実
アドレスページとの対応を記憶した記憶部とこの対応ご
とに無効か有効か更新かを示すフラグを有し、アドレス
カウンタ回路からの仮想アドレスが対応していれば実ア
ドレスを発生し、仮想アドレスに対応する実アドレスが
ない場合にはページフォルトを発生する機能を有するア
ドレス変換バッファと、通常のDMA終了割込みとペー
ジフォルトの時にプロセッサへ割込むための割込み回路
と、各I/O装置からのDMA要求を調停するアービタ
ーを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想記憶メモリを採用
しているコンピュータシステムの複数ページ間のDMA
(Direct Memory Access)チェーンを実行するDMA制
御回路の改善に関するものである。
【0002】
【従来の技術】仮想記憶メモリ方式を採用しているコン
ピュータシステムにおいてプロセッサの内部メモリとI
/O(入出力)装置との間でDMA制御を行なうにあた
って、仮想記憶メモリの基本管理単位(以下ページとい
う)を越えるDMAを実行する場合がある。この場合、
仮想記憶メモリ上の仮想空間(論理メモリ)では図6
(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制御回路に対するコマンドわキュー
イングする回路が必要になり、回路が複雑になるという
問題がある。
【0004】この問題を解決する方式としては、本願出
願人による出願の実願平1−113237号「DMA制
御回路」のように、FIFOメモリにチェーンの順番に
従った実メモリ上のページアドレスを設定しておき、ペ
ージ内のデータ転送終了ごとにFIFOメモリに次のペ
ージのアドレスを要求するようにして複数ページ間のD
MAチェーンを実行するものがある。しかしこの方式に
おいても、回路は簡単であるが、1つのDMAチャネル
ごとにFIFOメモリが必要であり、複数のDMAチェ
ネル数を実現する際にはその分ゲート数が増加するとい
う問題がある。また、本願出願人による出願の特願平3
−336915号「DMA制御回路」では、プロセッサ
によりDMAが起動された後、ページフォルトが発生し
たらプロセッサに割込み、プロセッサがアドレスエレメ
ントを設定すれば直ちにDMAを継続するようにすると
共に、ページフォルトがない場合は、次のページフォル
トが発生するかまたはDMAが終了するまでDMAを実
行する。このような機能に、よりチェーン機能を持たず
に仮想アドレス上のDMAを実現したものである。しか
しながら、プロセッサが仮想アドレスと実アドレスの対
応を無効にする手段がなく、そのため仮想アドレスの対
応を変更するたびにDMA制御回路のアドレス変換バッ
ファを書き換える必要があるという問題があった。
【0005】本発明の目的は、このような点を解決する
もので、仮想記憶メモリ方式に対応し、上記のような回
路規模増加の問題点を克服することのできるDMA制御
回路を提供することにある。
【0006】
【課題を解決するための手段】このような目的を達成す
るために本発明では、DMA用の仮想アドレスを発生す
るアドレスカウンタ回路とDMAデータ長を管理するサ
イズカウンタ回路とを各I/Oチャネルごとに用意し、
仮想アドレスページと実アドレスページとの対応を記憶
した記憶部とこの対応ごとに無効か有効か更新かを示す
フラグを有し、アドレスカウンタ回路からの仮想アドレ
スが対応していれば実アドレスを発生し、仮想アドレス
に対応する実アドレスがない場合にはページフォルトを
発生する機能を有するアドレス変換バッファと、通常の
DMA終了割込みとページフォルトの時にプロセッサへ
割込むための割込み回路と、前記各I/O装置からのD
MA要求を調停するアービターを具備したことを特徴と
する。
【0007】
【作用】上位のプロセッサは仮想アドレスを設定するこ
とによりDMAを起動する。DMA制御回路は、内部の
アドレス変換バッファにより、実アドレスに変換してD
MAを実行する。ページフォルトの場合には、割込み発
生回路により、プロセッサから仮想アドレスと実アドレ
スの対応を設定する。DMA制御回路は、ページフォル
トが解除され次第DMAを継続して実行する。これによ
り、チェーン機能なしに仮想アドレス上のDMAが実現
できる。
【0008】
【実施例】以下本発明を詳細に説明する。図1は本発明
に係るのDMA制御回路を用いたコンピュータシステム
の一実施例を示す構成図である。図において、1はプロ
セッサであり、2はメモリ、3はDMA制御回路、4は
I/O装置であり、これらはそれぞれバス(BUS)5
を介して接続されている。
【0009】図2はDMA制御回路3の内部構成を示す
もので、31はアドレスカウンタ回路、32はアドレス
変換バッファ、33は割込み回路、34はインタフェー
ス回路、35はサイズカウンタ回路(複数のカウンタか
ら成る)、36はアービターである。なお、インタフェ
ース回路34(バスハンドシェーク機能とI/Oハンド
シェーク機能を有する)とサイズカウンタ回路35(D
MAデータ長をカウントする機能を有し、I/Oチャネ
ル数分のカウンタ回路からなる)は、通常のDMA制御
回路における場合のものと同等であり、ここではその説
明を省略する。アドレスカウンタ回路31は、指定され
るアドレスが仮想アドレスであり、I/Oチャネルに対
応した複数のカウンタが実装されていて、アービター3
6から指定されたチャネルに対応するアドレスを発生す
るようになっている。割込み回路33は、インタフェー
ス回路34を介した通常のDMA終了割込み(DMA
End)およびアドレス変換バッファ32からのミス信
号を受けると(すなわちページフォルト)、プロセッサ
1に対して割込みを発生する。アービター36は通常の
各I/O装置4からのDMA要求が衝突しないように調
停する。
【0010】次にアドレス変換バッファ32について説
明する。図3はアドレス変換バッファ32の具体的構成
図である。アドレス変換バッファ32は複数のエレメン
トより構成され、アドレス変換テーブルA(複数個あ
る)と、LRU方式により各エレメント単位の使用頻度
を管理するLRU(Least Recently Used )テーブルB
と、セレクタCより構成されている。なお、アドレス変
換テーブルAは、図の左側部分に示すように、複数のエ
レメントすなわち、仮想アドレスレジスタA1と、実ア
ドレスレジスタA2と、アドレスカウンタ回路31から
の論理アドレスが仮想アドレスレジスタA1に保持され
ているアドレスと一致しているかどうかを判断する比較
演算部A3と、バッファステータスA4より構成されて
いる。
【0011】バッファステータスA4では2つの状態を
管理して、その状態に相当する信号、バリッドValid と
アップデータUpDataを発生している。信号Valid は仮想
アドレスレジスタA1と実アドレスレジスタA2の有効
/無効を示す信号であり、信号UpDataは仮想アドレスレ
ジスタA1と実アドレスレジスタが更新されたことを示
す信号である。セレクタCは、ヒット(Hit )したエレ
メントの実アドレスを送出すると共に、すべてのエレメ
ントがヒットしなかった時はミス信号(Miss)を出力す
る。ミス信号が発生すると、アービター36は対象とな
るDMAを一旦停止し、その他のI/OがDMA要求を
してればそのDMAを実行する。これにより、効率的な
DMAが実現できる。
【0012】LRUテーブルBは、アドレス変換テーブ
ルAの状態により使用頻度を管理し、その状態はインタ
フェース回路34を介してプロセッサ1から読み込むこ
とができるようになっている。更に詳しく説明すると次
の通りである。LRUテーブルBは、アドレス変換テー
ブルAからの"Hit/UpData/Valid "信号を受け、図4お
よび図5に示すようにインバリッドInvalid(すなわ
ち、信号Valid の反転論理信号)に変化したタイミング
で対応するエレメントをLRU側へ、またUpDataまたは
Hit のタイミングでモースト・リーセントリィ・ユース
ドMRU(Most Recently Used)側へ移動し、移行した
エレメントの箇所までその他のエレメントを詰め込む。
なお、図4および図5では、エレメントを6個とし、番
号は各エレメントに対応させている。図4はエレメント
5がインバリッドされた場合、図5はエレメント2がUp
Dataされた場合について、LRUテーブルBの動作を示
したものである。
【0013】このような構成における動作を次に説明す
る。DMA制御回路への起動から終了までの動作は次の
通りである。 プロセッサ1からアドレスカウンタ回路31およびサ
イズカウンタ回路35にそれぞれ仮想アドレスとデータ
長を設定する。 プロセッサ1からI/O装置4を起動する。 I/O装置4からDMA要求が発生する。 DMAを実行する。 (1) DMA制御回路3は、ページフォルトが発生すると
プロセッサ1に割り込み、LRUテーブルBから使用頻
度の最も低いアドレス変換テーブルAに仮想アドレス、
実アドレス、バリッド・フラグ等をプロセッサが設定す
れば、直ちにDMAを継続する。なお、プロセッサ1が
アドレスエレメントを設定する場合、プロセッサ1はア
ドレス変換バッファ32のLRUテーブルBを参照し、
最近使用されていないエレメントに対して設定する。 (2) ページフォルトがなければ次のページフォルトが発
生するか、DMAが終了するまでDMAを実行する。 DMA終了の割込みを発生し、プロセッサ1がDMA
終了処理を行なう。更にこのDMAで設定されたアドレ
ス変換テーブルAのバリッド・フラグをオフ、すなわち
インバリッドにする。
【0014】なお、本発明は上記実施例に限定されるも
のではなく、アドレスデータ長設定の際にあらかじめア
ドレス変換バッファ32に実アドレスを設定することも
可能である。このようにすれば、ページフォルトによる
プロセッサの処理を短縮でき、高速性を要求されるDM
Aに有効となる。また、アドレス変換バッファ32にパ
ススルーモードを追加することにより、仮想アドレスを
使用しないシステムや立ち上げ時(一般にリセット直後
は仮想アドレスを使用しない)等に有効である。このパ
ススルーモードは、割込み回路の動作を禁止し、アドレ
ス変換バッファ32の入力をそのまま出力すればよい。
なお、DMA制御回路3からのページフォルト割込みは
DMA転送の実行時間に影響するため、割込みレベルを
高くする方が望ましい。また、低速なDMA速度のI/
O装置によるページフォルトは、システムのパフォーマ
ンスに大きく影響しないので、アドレス変換バッファ内
のエレメントの総数は同時に起動される可能性のある高
速なI/O装置のチャネル数を実装するだけでよい。し
たがって、この場合は回路規模削減にさらに貢献するこ
とになる。
【0015】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 一般のDMA制御回路と比較すると、回路規模はアド
レス変換バッファ内の各エレメントごとに実装される2
つのレジスタ(仮想アドレスと実アドレス用)だけであ
り、従来のDMA制御回路よりも回路規模が少なくて済
む。 DMAの起動は仮想アドレスを設定するだけでよく、
ページフォルト時の実アドレスの設定はプロセッサ内の
メモリマネージメントユニット制御プログラムをそのま
ま流用できるので、ソフトウェアの対応が容易になる。
【図面の簡単な説明】
【図1】本発明のDMA制御回路を使用したコンピュー
タシステムの一例を示す構成図である。
【図2】本発明に係るDMA制御回路の一実施例を示す
構成図である。
【図3】アドレス変換バッファの具体例を示す構成図で
ある。
【図4】LRUテーブルのエレメントの詰め込みの様子
を説明するための図である。
【図5】LRUテーブルのエレメントの詰め込みの様子
を説明するための図である。
【図6】仮想記憶メモリ方式におけるメモリ空間の説明
図である。
【符号の説明】
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を実行し、ページフ
    ォルトの場合にはプロセッサに割込み、プロセッサが仮
    想アドレスと実アドレスの対応を設定した後、ページフ
    ォルトが解除され次第DMAを継続するようにしたこと
    を特徴とするDMA制御回路。
JP17835892A 1992-07-06 1992-07-06 Dma制御回路 Pending JPH0619836A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17835892A JPH0619836A (ja) 1992-07-06 1992-07-06 Dma制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17835892A JPH0619836A (ja) 1992-07-06 1992-07-06 Dma制御回路

Publications (1)

Publication Number Publication Date
JPH0619836A true JPH0619836A (ja) 1994-01-28

Family

ID=16047097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17835892A Pending JPH0619836A (ja) 1992-07-06 1992-07-06 Dma制御回路

Country Status (1)

Country Link
JP (1) JPH0619836A (ja)

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
US6615292B1 (en) 1999-03-26 2003-09-02 Nec Corporation Data transfer apparatus performing DMA data transfer from non-consecutive addresses
KR100660829B1 (ko) * 2001-01-06 2006-12-26 삼성전자주식회사 유효 데이터를 검출해내는 dma를 구비하는 이더넷제어장치 및 유효 데이터의 검출방법
JP2007287143A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション
US20110125948A1 (en) * 2008-08-07 2011-05-26 Nec Corporation Multi-processor system and controlling method thereof
US10661238B2 (en) 2015-06-30 2020-05-26 Kabushiki Kaisha Powrex Continuous particle manufacturing device

Cited By (7)

* 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
US6615292B1 (en) 1999-03-26 2003-09-02 Nec Corporation Data transfer apparatus performing DMA data transfer from non-consecutive addresses
KR100660829B1 (ko) * 2001-01-06 2006-12-26 삼성전자주식회사 유효 데이터를 검출해내는 dma를 구비하는 이더넷제어장치 및 유효 데이터의 검출방법
JP2007287143A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション
US20110125948A1 (en) * 2008-08-07 2011-05-26 Nec Corporation Multi-processor system and controlling method thereof
US8583845B2 (en) * 2008-08-07 2013-11-12 Nec Corporation Multi-processor system and controlling method thereof
US10661238B2 (en) 2015-06-30 2020-05-26 Kabushiki Kaisha Powrex Continuous particle manufacturing device

Similar Documents

Publication Publication Date Title
US5185694A (en) Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies
EP0244540B1 (en) Write request buffering apparatus
Smith Sequential program prefetching in memory hierarchies
US7266824B2 (en) Address space priority arbitration
US6769052B2 (en) Cache with selective write allocation
US6968400B2 (en) Local memory with indicator bits to support concurrent DMA and CPU access
US9740636B2 (en) Information processing apparatus
EP1313014B1 (en) Interruptible and re-entrant instruction for cleaning a region of a cache memory
EP1139222A1 (en) Prefetch for TLB cache
EP0493960A2 (en) A computer system employing fast buffer copying
US20080065855A1 (en) DMAC Address Translation Miss Handling Mechanism
US6728838B2 (en) Cache operation based on range of addresses
JPH0619836A (ja) Dma制御回路
JPH05173930A (ja) Dma制御回路
EP0290730A2 (en) Data transfer apparatus and method for use in a data processing system
EP0113460A2 (en) Symbolic language data processing system
US6298355B1 (en) Computer system
JPH03147157A (ja) 情報処理装置
JPH04130551A (ja) キャッシュ制御方法
EP2657847A1 (en) Information processing system
JP3614946B2 (ja) メモリバッファ装置
Luo et al. A VLSI design for an efficient multiprocessor cache memory
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JPH02307123A (ja) 計算機
CN118012455A (zh) 可配置的存储器系统及其存储器管理方法