JP2664827B2 - 実時間情報転送制御方法 - Google Patents

実時間情報転送制御方法

Info

Publication number
JP2664827B2
JP2664827B2 JP3287004A JP28700491A JP2664827B2 JP 2664827 B2 JP2664827 B2 JP 2664827B2 JP 3287004 A JP3287004 A JP 3287004A JP 28700491 A JP28700491 A JP 28700491A JP 2664827 B2 JP2664827 B2 JP 2664827B2
Authority
JP
Japan
Prior art keywords
dma
transfer
computer
peripheral device
virtual space
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
JP3287004A
Other languages
English (en)
Other versions
JPH05100996A (ja
Inventor
充 丸山
浩 杉山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3287004A priority Critical patent/JP2664827B2/ja
Publication of JPH05100996A publication Critical patent/JPH05100996A/ja
Application granted granted Critical
Publication of JP2664827B2 publication Critical patent/JP2664827B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機と周辺装置の間
のDMAによる非同期データ転送の制御方法に関するも
のである。本発明は、実時間性の高いシステム例えば、
情報蓄積交換サービスのセンタ装置内の中央処理装置と
周辺装置間のデータ転送に使用できる。
【0002】
【従来の技術】実時間にデータを扱うシステムにおいて
は、計算機と周辺装置との間で非同期に計算機から周辺
装置への転送要求と逆に周辺装置から計算機への転送要
求とが同時並行的に発生するため、これらを効率的に制
御しなくてはならない。
【0003】上記条件を満足する転送制御方式として、
情報処理学会第41回全国大会講演論文集1−115ペ
ージ、リアルタイム映像・音声転送制御装置へのSCS
I適用法(講演番号1Q−2)に開示されている方法が
ある。即ち、本転送制御方式として、非同期的に発生す
る周辺装置から計算機への転送要求に関しては、予め計
算機から周辺装置に対し受信コマンドを発行して転送準
備をし、一旦計算機と周辺装置を接続する転送インタフ
ェースを解放し、実際に周辺装置から計算機へ転送要求
が発生した時、周辺装置を計算機に再接続して転送デー
タを計算機へ転送する。本方式によれば、周辺装置から
計算機へ転送要求が発生した時、周辺装置主体で迅速に
転送が開始できる。
【0004】上記方式の従来の計算機の構成を図5によ
り説明する。計算機4は、転送インタフェースの制御と
後述の主記憶部とのホスト計算機内部バスを介したDM
A転送を行う転送インタフェース制御部(以後、IFC
と省略)41、計算機の内部処理を行う演算制御部(以
後、CPUと省略)42、該CPU42に搭載されて該
CPU42および前記IFC41からの主記憶部アクセ
スを制御するメモリ管理部(以後、MMUと省略)4
3、計算機で処理されるプログラム及びデータが格納さ
れる主記憶部(以後、MEMと省略)44、前記IFC
41、CPU42、間を相互接続する内部バス(以後、
BUSと省略)45、及びその他の内部構成単位で構成
される。MEM44は、実時間のデータ転送を実現する
アプリケーションプログラム(以後、APと省略)の領
域61とシステムを管理する制御プログラム(以後、O
Sと省略)の領域62に大別される。
【0005】前記OSやAPは計算機内部構成単位の一
部を自らの動作環境として一定時間占有し、それらの資
源を各自のアドレスで識別する。前記OSが資源を識別
するアドレスをシステム仮想アドレス、前記APが資源
を識別するアドレスをユーザ仮想アドレスと称す。ま
た、物理アドレスによるアドレス空間を物理空間、シス
テム仮想アドレスによるアドレス空間をシステム仮想空
間、ユーザ仮想アドレスによるアドレス空間をユーザ仮
想空間、システム仮想空間とユーザ仮想空間を併せて仮
想空間と称する。図5において、IFC41が扱う空間
(BUS45上のアドレス空間)が物理空間、MEM4
4が仮想空間、APの領域61がユーザ仮想空間、OS
の領域62がシステム仮想空間である。
【0006】前MMU43の管理するMEMアドレス
空間システム仮想空間62の中に前記BUS45を使う
DMA転送用の領域621を保有しており、OSはAP
からDMA領域を必要とするデータ転送要求を受け取る
度毎に、該DMA領域621から必要な領域を割り付け
る動作を行う。DMAを用いたデータ転送が完了する
と、OSは該データ転送用に割り付けたDMA領域62
1を再利用できるように解放する。
【0007】次に、従来の制御方法を図6により説明す
る。実時間の転送を実現する計算機上のプログラム(A
P)は常に周辺装置3から計算機4への転送要求に対応
出来るように、あらかじめ周辺装置3に対して転送ブロ
ック受信要求を発行し、また計算機4から周辺装置3へ
の転送要求に関しては該APで必要となった時点で周辺
装置に対して転送ブロック送信要求を発行する。
【0008】前記転送ブロック受信要求は前記AP内で
転送ブロックを受け取る領域のアドレス(以後、AP受
信バッファと省略)、および可能な最大ブロック長(以
後、AP受信サイズと省略)を指定して発行される(7
1)。これにより、前記OSは第1に前記AP受信サイ
ズに相当する領域をDMA領域内に割付け、転送先とし
て前記AP受信バッファを設定する。第2に前記IFC
41にDMA領域内の割付けた領域(以後、DMA内領
域と省略)のアドレス、サイズ、周辺装置に発行する受
信コマンド等の必要な初期設定を行い(81)、第3に
前記IFC41を起動する(82)。前記IFC41は
該初期設定に従い、転送インタフェース5を介して周辺
装置3を制御し、周辺装置3から受信するデータを順次
前記DMA領域621を介して前記APに引き渡す(9
1、93)。その後、周辺装置3から転送終了の信号が
通知されると(92)、前記IFC41は前記OSに割
り込みにより転送終了を通知し(83)、前記OSはD
MA領域621を解放して前記APに受信要求の完了を
通知する(72)。
【0009】転送ブロック送信要求に関しても、周辺装
置3に発行するコマンドが送信コマンドである点、前記
IFC41がDMA領域621を介して前記APから順
次データを受取り周辺装置へ送信する点を除き、同一の
方法で制御される。
【0010】
【発明が解決しようとする課題】上記の通り、従来の制
御方式によると、複数の周辺装置と計算機間のデータ転
送に当たり、計算機内において前記DMA領域を確保す
る必要があつた。実時間サービスなどを実現する計算機
においては、前記APが複数の周辺装置からの転送要求
に対応出来るよう前記DMA領域を確保したまま待機す
るため、周辺装置ごとにDMA領域を占有する。計算機
がこのDMA領域を管理するためには、図7に示すよう
にDMA領域と計算機のユーザ空間のアドレスをMMU
を用いて変換する。MMUは通常、MEMの全空間をペ
ージ単位に管理しており、該DMA領域もページ単位で
確保するために、必要なDMA領域を確保するためには
実際より多めのページ数が必要で、フラグメントが生じ
る。また、必要なDMA領域の数が周辺装置の台数に比
例して必要になる。この結果、計算機の備えるDMA関
連資源の量を無駄に占有してしまい、結果的に非同期に
転送可能な周辺装置の台数、即ち、同時収容周辺装置が
制約される問題があった。
【0011】本発明の目的は、計算機の備えるDMA関
連資源の量が無駄に占有されるのをなくし、結果的に非
同期に転送可能な周辺装置の台数の増加を可能にする実
時間情報転送方法を提供することにある。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、DMA起動前に、システム仮想空間上
、周辺装置の台数に応じて必要な記憶容量分のDMA
領域の全量を連続に一括して確保し、該確保したDMA
領域を前記周辺装置の装置番号および送受信の区別に基
づき区分して管理し、前記周辺装置から計算機に対する
非同期なデータ転送の場合は、前記周辺装置からのデー
タを前記周辺装置の装置番号に応じて予め決定されるD
MA領域に対してDMA転送を行ない、DMA転送終了
後に、前記データをユーザ仮想空間にアドレスマッピン
グした受信バッファを介して該ユーザ仮想空間に再び転
送し、計算機から前記周辺装置に対する非同期なデータ
転送の場合には、同様にユーザ仮想空間にアドレスマッ
ピングした送信バッファを介して、該ユーザ仮想空間に
存在するデータを前記周辺装置の装置番号に応じて予め
決定される前記DMA領域に対してコピーを行い、その
後、前記DMA領域から各周辺装置へDMA転送を行う
ようにしたものである。
【0013】
【作用】従来方式によれば、MMUが周辺装置ごとにD
MA領域を割り当て、割り当てられたDMA領域を介し
てIFCの物理空間と仮想空間の間の直接のDMA転送
を実現している。これは前記IFCからユーザ仮想空間
内のAP送受信バッファへの直接のデータ転送を行うも
のである。計算機においては、前記APが複数の周辺装
置からの転送要求に対応出来るよう前記DMA領域を確
保したまま待機するため、周辺装置ごとにDMA領域を
占有し、またMMUが周辺装置ごとにこのようなDMA
領域の割り当てをしていたために、割り当てページ内に
フラグメントが発生したり、DMA領域の数が周辺装置
の台数に比例して必要になるために収容できる周辺装置
が少なくなるという問題を生じていた。
【0014】これに対して本発明によれば、DMA起動
前にDMAが可能なシステム仮想空間から、周辺装置の
台数に応じて必要な転送容量分のDMA領域を一回に連
続して確保し、確保したDMA領域を周辺装置の装置番
号および送受信の区別に基づき、区分して構成して管理
する。このように設定した後に、各周辺装置のIFCか
ら計算機に対する非同期なデータ転送の場合は、IFC
の物理空間から、データを該当の区分されたDMA領域
に対してDMA転送を行い、DMA転送終了後にデータ
を計算機上のAPがアクセス可能なユーザ仮想空間に再
び転送を行う。逆に、計算機からIFCに対する非同期
なデータ転送の場合には、計算機上のAPがアクセス可
能なユーザ仮想空間に存在するデータを該当の区分され
たDMA領域に一旦コピーし、その後、この領域からI
FCの物理空間へDMA転送を行う。このため、従来の
ようにMMUが周辺装置ごとにDMA領域の割り当てを
していたものと違って、必要最小限のDMA領域しか管
理しないため、必要な割り当てページ数も少なくなり、
非同期に転送可能な周辺装置の台数、即ち、同時収容周
辺装置が増えることになる。
【0015】
【実施例】図1は本発明方式の計算機側の構成例を示し
たものである。基本的構成は図5と同様であるが、本発
明を実現するには、ユーザ仮想空間内のAP送受信バッ
ファ611,612と一括して確保するDMA領域62
1間のデータ転送機構を構成する必要がある。このた
め、図1では、一括して確保するDMA領域621と同
じシステム仮想空間62の中にユーザ仮想空間61上の
前記APバッファ611,612をMMU43を使って
アドレスマッピングし、直接参照可能にするような送受
信バッファ631,632を備える。
【0016】初めに、図2により計算機4から周辺装置
3へデータをDMAで送信する場合の制御方式を説明す
る。
【0017】(1)OSは、各周辺装置で必要なDMA
空間621を一括してシステム仮想空間62に確保す
る。
【0018】(2)APは従来方式と同様にAP送信バ
ッファ612のアドレスとAP送信サイズを指定して転
送ブロック送信要求を発行する(71)。
【0019】(3)OSは、第1に該転送ブロック送信
要求に付随する前記AP内送信バッファ612のアドレ
スをMMU43によりアドレスマッピングしてシステム
想空間上でアクセスできる状態にし(送信バッファ6
32を設定する)、この送信バッファ632の内容を予
め決められたDMA領域621’に転送する(73)。
第2にIFC41に前記一括確保したDMA空間の中の
割り当てられたDMA領域621’のアドレス、サイ
ズ、及び周辺装置3に発行するコマンドをIFC41に
通知する(81)。第3に該IFC41を起動する(8
2)。
【0020】(4)前記IFC41は前記初期設定に従
い、転送インタフェース5を介して周辺装置3を制御
し、該DMA空間621’から転送される情報を物理空
間461を介して周辺装置3に引き渡す(94,9
5)。
【0021】(5)周辺装置3は従来方式と同様に転送
終了時に転送終了信号を前記IFC41に通知する(9
2)。
【0022】(6)前記IFC41は従来方式と同様に
周辺装置3から転送終了信号が通知されると、OSに割
り込みにより転送の終了を通知する(83)。
【0023】(7)OSは従来方式と同様に割り込みに
より転送の終了が通知されると、シス テム仮想空間内の
送信バッファ領域632を解除し、前記APに前記転送
ブロック送信要求の完了を通知する(72)。
【0024】(8)以後の転送ブロック送信要求も
(2)以下の手順で動作する。
【0025】次に、図3により周辺装置3から計算機4
へデータをDMAで受信する場合の制御方式を説明す
る。図2で説明した如く、各周辺装置で必要なDMA空
間621を一括してシステム仮想空間62に確保するこ
とはすでに計算機立ち上げ時に一回だけ実行されて一括
確保されているとする。
【0026】(1)APは従来方式と同様にAP受信バ
ッファ611のアドレスとAP受信サイズを指定して転
送ブロック受信要求を発行する(74)。
【0027】(2)OSは、第1にIFC41に割り当
て済のDMA領域のアドレス、APから指定されたサイ
ズ、及び周辺装置3に発行する受信コマンドの必要な初
期設定を行う(81)。第2に該IFC41を起動する
(82)
【0028】(3)前記IFC41は前記初期設定に従
い、転送インタフェース5を介して周辺装置3を制御
し、DMA領域621物理空間461を介して周辺装
置3より受信した情報を転送する(91,96)。
【0029】(4)周辺装置3は従来方式と同様に転送
終了時に転送終了信号を前記IFC41に通知する(9
2)。
【0030】(5)前記IFC41は従来方式と同様に
前記周辺装置から前記転送終了信号が通知されると、前
記OSに割り込みにより転送の終了を通知する(8
3)。(6)前記OSは、第1に該割り込みにより転送
の終了が通知されると、AP受信バッファ611をシス
テム仮想空間62にアドレスマッピングし(受信バッフ
ァ631を設定)、システム仮想空間からアクセスでき
る状態にする。第2にDMA領域621’から受信バッ
ファ631を介してAP受信バッファ611に対して再
び転送を行う(84)。第3に前記受信情報の転送が終
了すると、システム仮想空間内の受信バッファ領域63
1を解除し、前記APに前記転送ブロック受信要求の完
了を通知する(72)。
【0031】(7)以後の転送ブロック受信要求は
(1)以下の手順で動作する。
【0032】図4に、本発明の場合のユーザ仮想空間、
DMA領域、物理領域の対応を示す。本発明では、DM
A起動前にDMAが可能なシステム仮想空間に、周辺装
置の台数に応じて必要な転送容量分のDMA領域621
を一回に連続して確保し、確保したDMA領域621を
周辺装置の装置番号および送受信の区別に基づき、区分
して構成して管理する。このように設定した後に、各周
辺装置から計算機に対する非同期なデータ転送の場合
は、IFCの物理空間から、データを該当の区分された
DMA領域に対してDMA転送を行い、DMA転送終了
後にデータを計算機上のAPがアクセス可能なユーザ仮
想空間に再び転送を行う。また、計算機から周辺装置に
対する非同期なデータ転送の場合には、計算機上のAP
がアクセス可能なユーザ仮想空間に存在するデータを該
当の区分されたDMA領域に一旦コピーし(ユーザ空間
のマッピング)、その後、この領域からIFCの物理空
間へDMA転送を行う。図4では、端末2に対する送受
信の例を示している。図4の場合、計算機は必要最小限
のDMA領域しか管理しないため、必要な割り当てペー
ジ数も少なくなり、また、フラグメントもほとんど発生
せず、発生してもわずかである。
【0033】
【発明の効果】以上説明したように、本発明によれば、
計算機に非同期なデータ転送を可能とする周辺装置が複
数接続された場合において、従来、APが複数の周辺装
置からの転送要求に対応出来るようDMA領域を確保し
たまま待機して周辺装置ごとにDMA領域を占有し、要
求するDMA領域ごとにMMUが管理するページ単位で
確保するために、フラグメントが生じ、また必要なDM
A領域の数が周辺装置の台数に比例して必要になるため
に計算機の備えるDMA関連資源の量を無駄に占有して
しまい結果的に非同期に転送可能な周辺装置の台数が制
約された問題が解決される。このため、多数の周辺装置
が接続できる上に、システムのリソースを最小限しか使
わないために、システム全体のスループットも向上す
る。
【図面の簡単な説明】
【図1】本発明方法による場合の計算機システムの構成
例を示す図である。
【図2】本発明方法による転送ブロック送信要求時の転
送制御を説明する図である。
【図3】本発明方法による転送ブロック受信要求時の転
送制御を説明する図である。
【図4】本発明方法による場合の計算機のDMA領域の
マッピングの一例を示す図である。
【図5】従来方式による場合の計算機システムの構成例
を示す図である。
【図6】従来方式による転送ブロック受信要求時の転送
制御を説明する図である。
【図7】従来方式の場合の計算機のDMA領域のマッピ
ングを示す図である。
【符号の説明】
3 周辺装置 4 計算機 41 転送インタフェース制御部 42 演算制御部 43 メモリ管理部 44 主記憶部(仮想空間) 61 ユーザ仮想空間 62 システム仮想空間 621 一括DMA領域

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 計算機に複数の周辺装置が結合されたシ
    ステムにおいて、計算機と周辺装置の間で相互に非同期
    にDMA転送動作を行う実時間情報転送制御方法におい
    て、 DMA起動前に、計算機のDMAが可能なメモリ空間
    (以下、システム仮想空間という)上に、周辺装置の台
    数に応じて必要な記憶容量分のDMA領域を連続に一括
    して確保し、該確保したDMA領域を前記周辺装置の装
    置番号および送受信の区別に基づき区分して管理し、 前記周辺装置から計算機に対する非同期なデータ転送の
    場合は、前記周辺装置からのデータを前記周辺装置の装
    置番号に応じて予め決定されるDMA領域に対してDM
    A転送を行ない、該DMA転送が終了すると、システム
    仮想空間上に、計算機上のプログラムがアクセス可能な
    空間(以下、ユーザ仮想空間という)にアドレスマッピ
    ングした受信バッファを設定し、前記データをDMA領
    域から前記受信バッファを介してユーザ仮想空間に転送
    し、 計算機から前記周辺装置に対する非同期なデータ転送の
    場合には、システム仮想空間上に、計算機上のプログラ
    ムがアクセス可能な空間(ユーザ仮想空間)にアドレス
    マッピングした送信バッファを設定し、ユーザ仮想空間
    に存在するデータを前記送信バッファを介して、前記周
    辺装置の装置番号に応じて予め決定される前記DMA領
    域に対してコピーを行い、その後、前記DMA領域から
    各周辺装置へDMA転送を行うことを特徴とする実時間
    情報転送制御方法。
JP3287004A 1991-10-07 1991-10-07 実時間情報転送制御方法 Expired - Lifetime JP2664827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3287004A JP2664827B2 (ja) 1991-10-07 1991-10-07 実時間情報転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3287004A JP2664827B2 (ja) 1991-10-07 1991-10-07 実時間情報転送制御方法

Publications (2)

Publication Number Publication Date
JPH05100996A JPH05100996A (ja) 1993-04-23
JP2664827B2 true JP2664827B2 (ja) 1997-10-22

Family

ID=17711781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3287004A Expired - Lifetime JP2664827B2 (ja) 1991-10-07 1991-10-07 実時間情報転送制御方法

Country Status (1)

Country Link
JP (1) JP2664827B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US9195623B2 (en) * 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2534321B2 (ja) * 1988-06-15 1996-09-11 株式会社日立製作所 デ―タ転送制御方法及び装置

Also Published As

Publication number Publication date
JPH05100996A (ja) 1993-04-23

Similar Documents

Publication Publication Date Title
US5574944A (en) System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
EP1896965B1 (en) Dma descriptor queue read and cache write pointer arrangement
US5615392A (en) Method and apparatus for consolidated buffer handling for computer device input/output
US5781741A (en) Message communications system in a parallel computer
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
JPH0922398A (ja) 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
KR100662256B1 (ko) 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법
JP2002149592A (ja) ネットワーク上でのpciブリッジ
JPH04246745A (ja) 情報処理装置及びその方法
US6092170A (en) Data transfer apparatus between devices
US5754887A (en) System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration
JPH0926929A (ja) 効率のよいデータ転送メカニズムに関する方法及び装置
EP0814408B1 (en) Bus bridge apparatus
US20050235005A1 (en) Computer system configuring file system on virtual storage device, virtual storage management apparatus, method and signal-bearing medium thereof
JPH10105489A (ja) 処理システム内でのデータパケット送信のための方法、および、バッファ管理のためのシステム、ならびに、データパケット送信のためのプログラム情報を含むコンピュータ可読な媒体
JP2001333137A (ja) 自主動作通信制御装置及び自主動作通信制御方法
JP2664827B2 (ja) 実時間情報転送制御方法
US6289403B1 (en) Method and arrangement for controlling a data transmission
JPH09269934A (ja) 共有メモリのデータ一致化方法および伝送システム
JP3719976B2 (ja) 二重化コントローラ構成ディスク記憶システム向けコントローラ、及び同コントローラが二重化されたディスク記憶システム
JP2002123420A (ja) メモリアクセス装置
JP3371078B2 (ja) デバイス間データ転送装置及びその方法
JP2000244585A (ja) バスインタフェース回路
JP3458037B2 (ja) スプリットバス制御方式
JPH0444291B2 (ja)

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 15