JP2664827B2 - Real-time information transfer control method - Google Patents
Real-time information transfer control methodInfo
- 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
Links
Landscapes
- Bus Control (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、計算機と周辺装置の間
のDMAによる非同期データ転送の制御方法に関するも
のである。本発明は、実時間性の高いシステム例えば、
情報蓄積交換サービスのセンタ装置内の中央処理装置と
周辺装置間のデータ転送に使用できる。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for controlling asynchronous data transfer by DMA between a computer and a peripheral device. The present invention provides a system with high real-time
It can be used for data transfer between a central processing unit and a peripheral device in the center device of the information storage and exchange service.
【0002】[0002]
【従来の技術】実時間にデータを扱うシステムにおいて
は、計算機と周辺装置との間で非同期に計算機から周辺
装置への転送要求と逆に周辺装置から計算機への転送要
求とが同時並行的に発生するため、これらを効率的に制
御しなくてはならない。2. Description of the Related Art In a system for handling data in real time, a transfer request from a computer to a peripheral device is asynchronously performed between a computer and a peripheral device, and a transfer request from a peripheral device to a computer is simultaneously performed in parallel. These must be controlled efficiently as they occur.
【0003】上記条件を満足する転送制御方式として、
情報処理学会第41回全国大会講演論文集1−115ペ
ージ、リアルタイム映像・音声転送制御装置へのSCS
I適用法(講演番号1Q−2)に開示されている方法が
ある。即ち、本転送制御方式として、非同期的に発生す
る周辺装置から計算機への転送要求に関しては、予め計
算機から周辺装置に対し受信コマンドを発行して転送準
備をし、一旦計算機と周辺装置を接続する転送インタフ
ェースを解放し、実際に周辺装置から計算機へ転送要求
が発生した時、周辺装置を計算機に再接続して転送デー
タを計算機へ転送する。本方式によれば、周辺装置から
計算機へ転送要求が発生した時、周辺装置主体で迅速に
転送が開始できる。As a transfer control method satisfying the above conditions,
IPSJ 41st Annual Convention Lecture Papers, pp. 1-115, SCS for Real-Time Video / Audio Transfer Controller
There is a method disclosed in the I application method (lecture number 1Q-2). That is, in this transfer control method, for a transfer request from a peripheral device to a computer that occurs asynchronously, a reception command is issued from the computer to the peripheral device in advance to prepare for transfer, and the computer and the peripheral device are once connected. The transfer interface is released, and when a transfer request is actually generated from the peripheral device to the computer, the peripheral device is reconnected to the computer and the transfer data is transferred to the computer. According to this method, when a transfer request is issued from the peripheral device to the computer, the transfer can be started quickly by the peripheral device.
【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に大別される。[0004] The configuration of a conventional computer of the above system will be described with reference to FIG. The computer 4 controls the transfer interface and communicates with the main storage unit (described later) via the host computer internal bus via the
A transfer interface controller (hereinafter, IFC
41), an arithmetic control unit (hereinafter abbreviated as CPU) 42 for performing internal processing of a computer, a memory management unit (hereinafter MMU) mounted on the CPU 42 and controlling access to the main storage unit from the CPU 42 and the IFC 41. 4)
3. a main storage unit (hereinafter abbreviated as MEM) 44 in which programs and data processed by a computer are stored;
41, an internal bus interconnecting the CPU 42 (hereinafter referred to as an internal bus).
BUS) 45 and other internal structural units. The MEM 44 includes an area 61 of an application program (hereinafter abbreviated as AP) for realizing data transfer in real time and a control program (hereinafter referred to as O) for managing the system.
(Abbreviated as S).
【0005】前記OSやAPは計算機内部構成単位の一
部を自らの動作環境として一定時間占有し、それらの資
源を各自のアドレスで識別する。前記OSが資源を識別
するアドレスをシステム仮想アドレス、前記APが資源
を識別するアドレスをユーザ仮想アドレスと称す。ま
た、物理アドレスによるアドレス空間を物理空間、シス
テム仮想アドレスによるアドレス空間をシステム仮想空
間、ユーザ仮想アドレスによるアドレス空間をユーザ仮
想空間、システム仮想空間とユーザ仮想空間を併せて仮
想空間と称する。図5において、IFC41が扱う空間
(BUS45上のアドレス空間)が物理空間、MEM4
4が仮想空間、APの領域61がユーザ仮想空間、OS
の領域62がシステム仮想空間である。[0005] The OS or AP occupies a part of the internal configuration unit of the computer as its own operation environment for a certain period of time, and identifies those resources by their own addresses. The address by which the OS identifies a resource is called a system virtual address, and the address by which the AP identifies a resource is called a user virtual address. An address space based on a physical address is referred to as a physical space, an address space based on a system virtual address is referred to as a system virtual space, an address space based on a user virtual address is referred to as a user virtual space, and a system virtual space and a user virtual space are collectively referred to as a virtual space. In FIG. 5, the space (address space on the BUS 45) handled by the IFC 41 is a physical space, and the MEM 4
4 is virtual space, AP area 61 is user virtual space, OS
The area 62 is a system virtual space.
【0006】前MMU43の管理するMEMアドレスの
空間システム仮想空間62の中に前記BUS45を使う
DMA転送用の領域621を保有しており、OSはAP
からDMA領域を必要とするデータ転送要求を受け取る
度毎に、該DMA領域621から必要な領域を割り付け
る動作を行う。DMAを用いたデータ転送が完了する
と、OSは該データ転送用に割り付けたDMA領域62
1を再利用できるように解放する。[0006] owns region 621 for DMA transfer using the BUS45 in <br/> space system virtual space 62 of the MEM address managed before MMU43, OS is AP
Every time a data transfer request requiring a DMA area is received from the DMA area 621, an operation of allocating a necessary area from the DMA area 621 is performed. When the data transfer using the DMA is completed, the OS returns to the DMA area 62 allocated for the data transfer.
Release 1 for reuse.
【0007】次に、従来の制御方法を図6により説明す
る。実時間の転送を実現する計算機上のプログラム(A
P)は常に周辺装置3から計算機4への転送要求に対応
出来るように、あらかじめ周辺装置3に対して転送ブロ
ック受信要求を発行し、また計算機4から周辺装置3へ
の転送要求に関しては該APで必要となった時点で周辺
装置に対して転送ブロック送信要求を発行する。Next, a conventional control method will be described with reference to FIG. A program (A) on a computer that realizes real-time transfer
P) issues a transfer block reception request to the peripheral device 3 in advance so as to always be able to respond to the transfer request from the peripheral device 3 to the computer 4. Issues a transfer block transmission request to the peripheral device when necessary.
【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)。The transfer block reception request is issued by designating an address of an area for receiving a transfer block in the AP (hereinafter abbreviated as an AP reception buffer) and a maximum possible block length (hereinafter abbreviated as an AP reception size). (7
1). Thereby, the OS first allocates an area corresponding to the AP reception size in the DMA area, and sets the AP reception buffer as a transfer destination. Second, the IFC
At 41, necessary initial settings such as the address and size of the allocated area in the DMA area (hereinafter abbreviated as "DMA area"), a reception command issued to the peripheral device, and the like are made (81), and thirdly, the IFC 41 is started. ( 82 ). The IFC 41 controls the peripheral device 3 via the transfer interface 5 according to the initial setting, and sequentially transfers data received from the peripheral device 3 to the AP via the DMA area 621 (9).
1, 93). Thereafter, when a signal indicating the end of the transfer is notified from the peripheral device 3 (92), the IFC 41 notifies the OS of the end of the transfer by interruption (83).
The MA area 621 is released to notify the AP of the completion of the reception request (72).
【0009】転送ブロック送信要求に関しても、周辺装
置3に発行するコマンドが送信コマンドである点、前記
IFC41がDMA領域621を介して前記APから順
次データを受取り周辺装置へ送信する点を除き、同一の
方法で制御される。The transfer block transmission request is the same except that the command issued to the peripheral device 3 is a transmission command, and that the IFC 41 sequentially receives data from the AP via the DMA area 621 and transmits the data to the peripheral device. Is controlled in the manner described above.
【0010】[0010]
【発明が解決しようとする課題】上記の通り、従来の制
御方式によると、複数の周辺装置と計算機間のデータ転
送に当たり、計算機内において前記DMA領域を確保す
る必要があつた。実時間サービスなどを実現する計算機
においては、前記APが複数の周辺装置からの転送要求
に対応出来るよう前記DMA領域を確保したまま待機す
るため、周辺装置ごとにDMA領域を占有する。計算機
がこのDMA領域を管理するためには、図7に示すよう
にDMA領域と計算機のユーザ空間のアドレスをMMU
を用いて変換する。MMUは通常、MEMの全空間をペ
ージ単位に管理しており、該DMA領域もページ単位で
確保するために、必要なDMA領域を確保するためには
実際より多めのページ数が必要で、フラグメントが生じ
る。また、必要なDMA領域の数が周辺装置の台数に比
例して必要になる。この結果、計算機の備えるDMA関
連資源の量を無駄に占有してしまい、結果的に非同期に
転送可能な周辺装置の台数、即ち、同時収容周辺装置が
制約される問題があった。As described above, according to the conventional control method, when transferring data between a plurality of peripheral devices and a computer, it is necessary to secure the DMA area in the computer. In a computer that implements a real-time service or the like, the AP occupies a DMA area for each peripheral device because the AP waits while securing the DMA area so as to be able to respond to transfer requests from a plurality of peripheral devices. In order for the computer to manage this DMA area, as shown in FIG.
Is converted using. The MMU usually manages the entire space of the MEM in page units. In order to secure the DMA area in page units, a larger number of pages is required in order to secure the necessary DMA area. Occurs. Further, the number of necessary DMA areas is required in proportion to the number of peripheral devices. As a result, the amount of DMA-related resources provided in the computer is unnecessarily occupied, and as a result, there is a problem that the number of peripheral devices that can be transferred asynchronously, that is, simultaneously accommodated peripheral devices, is restricted.
【0011】本発明の目的は、計算機の備えるDMA関
連資源の量が無駄に占有されるのをなくし、結果的に非
同期に転送可能な周辺装置の台数の増加を可能にする実
時間情報転送方法を提供することにある。An object of the present invention is to provide a real-time information transfer method for preventing the amount of DMA-related resources provided in a computer from being unnecessarily occupied and consequently increasing the number of asynchronously transferable peripheral devices. Is to provide.
【0012】[0012]
【課題を解決するための手段】上記目的を達成するため
に、本発明では、DMA起動前に、システム仮想空間上
に、周辺装置の台数に応じて必要な記憶容量分のDMA
領域の全量を連続に一括して確保し、該確保したDMA
領域を前記周辺装置の装置番号および送受信の区別に基
づき区分して管理し、前記周辺装置から計算機に対する
非同期なデータ転送の場合は、前記周辺装置からのデー
タを前記周辺装置の装置番号に応じて予め決定されるD
MA領域に対してDMA転送を行ない、DMA転送終了
後に、前記データをユーザ仮想空間にアドレスマッピン
グした受信バッファを介して該ユーザ仮想空間に再び転
送し、計算機から前記周辺装置に対する非同期なデータ
転送の場合には、同様にユーザ仮想空間にアドレスマッ
ピングした送信バッファを介して、該ユーザ仮想空間に
存在するデータを前記周辺装置の装置番号に応じて予め
決定される前記DMA領域に対してコピーを行い、その
後、前記DMA領域から各周辺装置へDMA転送を行う
ようにしたものである。In order to achieve the above object, according to the present invention, before starting DMA, a system virtual space is required.
In addition, the DMA for the required storage capacity according to the number of peripheral devices
The entire area is continuously and collectively secured , and the secured DMA
The area is managed separately based on the device number of the peripheral device and the distinction between transmission and reception, and in the case of asynchronous data transfer from the peripheral device to a computer, data from the peripheral device is transferred according to the device number of the peripheral device. D determined in advance
DMA transfer is performed to the MA area, and after the DMA transfer is completed, the data is mapped into the user virtual space.
Again to the user virtual space via the received buffer
In the case of asynchronous data transfer from the computer to the peripheral device , address mapping is similarly performed in the user virtual space.
Via the pinged transmission buffer, data existing in the user virtual space is copied to the DMA area determined in advance according to the device number of the peripheral device, and then copied from the DMA region to each peripheral device. The DMA transfer is performed.
【0013】[0013]
【作用】従来方式によれば、MMUが周辺装置ごとにD
MA領域を割り当て、割り当てられたDMA領域を介し
てIFCの物理空間と仮想空間の間の直接のDMA転送
を実現している。これは前記IFCからユーザ仮想空間
内のAP送受信バッファへの直接のデータ転送を行うも
のである。計算機においては、前記APが複数の周辺装
置からの転送要求に対応出来るよう前記DMA領域を確
保したまま待機するため、周辺装置ごとにDMA領域を
占有し、またMMUが周辺装置ごとにこのようなDMA
領域の割り当てをしていたために、割り当てページ内に
フラグメントが発生したり、DMA領域の数が周辺装置
の台数に比例して必要になるために収容できる周辺装置
が少なくなるという問題を生じていた。According to the conventional method, the MMU sets D for each peripheral device.
The MA area is allocated, and direct DMA transfer between the physical space and the virtual space of the IFC is realized via the allocated DMA area. This directly transfers data from the IFC to the AP transmission / reception buffer in the user virtual space. In the computer, since the AP waits while securing the DMA area so as to be able to respond to transfer requests from a plurality of peripheral devices, the AP occupies a DMA area for each peripheral device, and the MMU is used for each peripheral device. DMA
Since the area is allocated, there is a problem that fragments are generated in the allocated page, and the number of peripheral devices that can be accommodated decreases because the number of DMA areas is required in proportion to the number of peripheral devices. .
【0014】これに対して本発明によれば、DMA起動
前にDMAが可能なシステム仮想空間から、周辺装置の
台数に応じて必要な転送容量分のDMA領域を一回に連
続して確保し、確保したDMA領域を周辺装置の装置番
号および送受信の区別に基づき、区分して構成して管理
する。このように設定した後に、各周辺装置のIFCか
ら計算機に対する非同期なデータ転送の場合は、IFC
の物理空間から、データを該当の区分されたDMA領域
に対してDMA転送を行い、DMA転送終了後にデータ
を計算機上のAPがアクセス可能なユーザ仮想空間に再
び転送を行う。逆に、計算機からIFCに対する非同期
なデータ転送の場合には、計算機上のAPがアクセス可
能なユーザ仮想空間に存在するデータを該当の区分され
たDMA領域に一旦コピーし、その後、この領域からI
FCの物理空間へDMA転送を行う。このため、従来の
ようにMMUが周辺装置ごとにDMA領域の割り当てを
していたものと違って、必要最小限のDMA領域しか管
理しないため、必要な割り当てページ数も少なくなり、
非同期に転送可能な周辺装置の台数、即ち、同時収容周
辺装置が増えることになる。On the other hand, according to the present invention, before starting the DMA, a DMA area for a necessary transfer capacity is continuously and once secured from the system virtual space where the DMA can be performed according to the number of peripheral devices. , Based on the device number of the peripheral device and the distinction of transmission / reception, the divided DMA regions are configured and managed. After such setting, in the case of asynchronous data transfer from the IFC of each peripheral device to the computer, the IFC
DMA transfer is performed from the physical space to the corresponding partitioned DMA area, and after the end of the DMA transfer, the data is transferred again to the user virtual space accessible by the AP on the computer. Conversely, in the case of asynchronous data transfer from the computer to the IFC, data existing in the user virtual space accessible by the AP on the computer is once copied to the corresponding partitioned DMA area, and then the data is transferred from this area to the I / O area.
DMA transfer is performed to the physical space of the FC. For this reason, unlike the prior art in which the MMU allocates a DMA area for each peripheral device, the MMU manages only the minimum necessary DMA area.
The number of peripheral devices that can be transferred asynchronously, that is, the number of simultaneously accommodated peripheral devices increases.
【0015】[0015]
【実施例】図1は本発明方式の計算機側の構成例を示し
たものである。基本的構成は図5と同様であるが、本発
明を実現するには、ユーザ仮想空間内のAP送受信バッ
ファ611,612と一括して確保するDMA領域62
1間のデータ転送機構を構成する必要がある。このた
め、図1では、一括して確保するDMA領域621と同
じシステム仮想空間62の中にユーザ仮想空間61上の
前記APバッファ611,612をMMU43を使って
アドレスマッピングし、直接参照可能にするような送受
信バッファ631,632を備える。FIG. 1 shows an example of the configuration of a computer according to the present invention. Although the basic configuration is the same as that of FIG. 5, in order to realize the present invention, the DMA area 62 which is collectively secured with the AP transmission / reception buffers 611 and 612 in the user virtual space.
It is necessary to configure a data transfer mechanism between the two. For this reason, in FIG. 1, the AP buffers 611 and 612 on the user virtual space 61 are address-mapped using the MMU 43 in the same system virtual space 62 as the DMA area 621 to be collectively secured, and can be directly referenced. Such transmission / reception buffers 631 and 632 are provided.
【0016】初めに、図2により計算機4から周辺装置
3へデータをDMAで送信する場合の制御方式を説明す
る。First, a control method for transmitting data from the computer 4 to the peripheral device 3 by DMA will be described with reference to FIG.
【0017】(1)OSは、各周辺装置で必要なDMA
空間621を一括してシステム仮想空間62に確保す
る。(1) The OS is a DMA required by each peripheral device.
The space 621 is collectively secured in the system virtual space 62.
【0018】(2)APは従来方式と同様にAP送信バ
ッファ612のアドレスとAP送信サイズを指定して転
送ブロック送信要求を発行する(71)。(2) The AP issues a transfer block transmission request by designating the address of the AP transmission buffer 612 and the AP transmission size as in the conventional system (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)。(3) First, the OS performs address mapping of the address of the in-AP transmission buffer 612 accompanying the transfer block transmission request by the MMU 43, and
In a state that can be accessed on the virtual space (the transmission buffer 6
32), and transfers the contents of the transmission buffer 632 to a predetermined DMA area 621 ' (73).
Second, the IFC 41 notifies the IFC 41 of the address and size of the allocated DMA area 621 'in the DMA space secured collectively and the command to be issued to the peripheral device 3 (81). Third, the IFC 41 is started (8
2).
【0020】(4)前記IFC41は前記初期設定に従
い、転送インタフェース5を介して周辺装置3を制御
し、該DMA空間621’から転送される情報を物理空
間461を介して周辺装置3に引き渡す(94,9
5)。(4) The IFC 41 controls the peripheral device 3 via the transfer interface 5 in accordance with the initial setting, and transfers information transferred from the DMA space 621 'to the peripheral device 3 via the physical space 461 ( 94,9
5).
【0021】(5)周辺装置3は従来方式と同様に転送
終了時に転送終了信号を前記IFC41に通知する(9
2)。(5) The peripheral device 3 notifies the IFC 41 of a transfer end signal at the end of the transfer as in the conventional method (9).
2).
【0022】(6)前記IFC41は従来方式と同様に
周辺装置3から転送終了信号が通知されると、OSに割
り込みにより転送の終了を通知する(83)。(6) When the transfer end signal is notified from the peripheral device 3 as in the conventional system, the IFC 41 notifies the OS of the end of the transfer by interruption (83).
【0023】(7)OSは従来方式と同様に割り込みに
より転送の終了が通知されると、シス テム仮想空間内の
送信バッファ領域632を解除し、前記APに前記転送
ブロック送信要求の完了を通知する(72)。[0023] (7) OS is the end of the transfer by an interrupt as in the conventional method is notified, in the system virtual space
The transmission buffer area 632 is released, and the AP is notified of the completion of the transfer block transmission request (72).
【0024】(8)以後の転送ブロック送信要求も
(2)以下の手順で動作する。(8) Subsequent transfer block transmission requests operate according to the following procedure (2).
【0025】次に、図3により周辺装置3から計算機4
へデータをDMAで受信する場合の制御方式を説明す
る。図2で説明した如く、各周辺装置で必要なDMA空
間621を一括してシステム仮想空間62に確保するこ
とはすでに計算機立ち上げ時に一回だけ実行されて一括
確保されているとする。Next, referring to FIG.
A control method when data is received by DMA will be described. As described with reference to FIG. 2, it is assumed that collectively securing the DMA space 621 necessary for each peripheral device in the system virtual space 62 has already been executed only once when the computer is started and has been collectively secured.
【0026】(1)APは従来方式と同様にAP受信バ
ッファ611のアドレスとAP受信サイズを指定して転
送ブロック受信要求を発行する(74)。(1) The AP issues a transfer block reception request by designating the address of the AP reception buffer 611 and the AP reception size as in the conventional system (74).
【0027】(2)OSは、第1にIFC41に割り当
て済のDMA領域のアドレス、APから指定されたサイ
ズ、及び周辺装置3に発行する受信コマンドの必要な初
期設定を行う(81)。第2に該IFC41を起動する
(82)。(2) First, the OS performs necessary initialization of the address of the DMA area allocated to the IFC 41, the size specified by the AP, and the reception command issued to the peripheral device 3 (81). Second, start the IFC 41
(82) .
【0028】(3)前記IFC41は前記初期設定に従
い、転送インタフェース5を介して周辺装置3を制御
し、DMA領域621へ物理空間461を介して周辺装
置3より受信した情報を転送する(91,96)。(3) The IFC 41 controls the peripheral device 3 via the transfer interface 5 according to the initial setting, and transfers information received from the peripheral device 3 via the physical space 461 to the DMA area 621 (91, 91). 96).
【0029】(4)周辺装置3は従来方式と同様に転送
終了時に転送終了信号を前記IFC41に通知する(9
2)。(4) The peripheral device 3 notifies the IFC 41 of a transfer end signal at the end of transfer as in the conventional method (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)。(5) When the transfer end signal is notified from the peripheral device as in the conventional system, the IFC 41 notifies the OS of the transfer end by interruption (8).
3). (6) When the OS is first notified of the end of the transfer by the interrupt, the OS maps the address of the AP reception buffer 611 to the system virtual space 62 (sets the reception buffer 631) so that the OS can be accessed from the system virtual space. To Secondly, transfer is again performed from the DMA area 621 'to the AP reception buffer 611 via the reception buffer 631 (84). Third, when the transfer of the reception information is completed, the reception buffer area 63 in the system virtual space is set.
1 is released, and the AP is notified of the completion of the transfer block reception request (72).
【0031】(7)以後の転送ブロック受信要求は
(1)以下の手順で動作する。(7) Subsequent transfer block reception requests operate according to the following procedure (1).
【0032】図4に、本発明の場合のユーザ仮想空間、
DMA領域、物理領域の対応を示す。本発明では、DM
A起動前にDMAが可能なシステム仮想空間に、周辺装
置の台数に応じて必要な転送容量分のDMA領域621
を一回に連続して確保し、確保したDMA領域621を
周辺装置の装置番号および送受信の区別に基づき、区分
して構成して管理する。このように設定した後に、各周
辺装置から計算機に対する非同期なデータ転送の場合
は、IFCの物理空間から、データを該当の区分された
DMA領域に対してDMA転送を行い、DMA転送終了
後にデータを計算機上のAPがアクセス可能なユーザ仮
想空間に再び転送を行う。また、計算機から周辺装置に
対する非同期なデータ転送の場合には、計算機上のAP
がアクセス可能なユーザ仮想空間に存在するデータを該
当の区分されたDMA領域に一旦コピーし(ユーザ空間
のマッピング)、その後、この領域からIFCの物理空
間へDMA転送を行う。図4では、端末2に対する送受
信の例を示している。図4の場合、計算機は必要最小限
のDMA領域しか管理しないため、必要な割り当てペー
ジ数も少なくなり、また、フラグメントもほとんど発生
せず、発生してもわずかである。FIG. 4 shows a user virtual space in the case of the present invention.
The correspondence between the DMA area and the physical area is shown. In the present invention, DM
A A DMA area 621 corresponding to a required transfer capacity in accordance with the number of peripheral devices in a system virtual space in which DMA can be performed before activation.
Are continuously secured at one time, and the secured DMA area 621 is separately configured and managed based on the device number of the peripheral device and the distinction between transmission and reception. After the above setting, in the case of asynchronous data transfer from each peripheral device to the computer, data is transferred from the IFC physical space to the corresponding partitioned DMA area, and after the completion of the DMA transfer, the data is transferred. The transfer is performed again to the user virtual space accessible by the AP on the computer. In the case of asynchronous data transfer from a computer to a peripheral device, an AP on the computer
Temporarily copies data existing in the user virtual space accessible to the corresponding partitioned DMA area (user space mapping), and then performs DMA transfer from this area to the IFC physical space. FIG. 4 shows an example of transmission / reception to / from the terminal 2. In the case of FIG. 4, since the computer manages only the minimum necessary DMA area, the number of required allocated pages is reduced, and the fragment hardly occurs, and the number of generated fragments is small.
【0033】[0033]
【発明の効果】以上説明したように、本発明によれば、
計算機に非同期なデータ転送を可能とする周辺装置が複
数接続された場合において、従来、APが複数の周辺装
置からの転送要求に対応出来るようDMA領域を確保し
たまま待機して周辺装置ごとにDMA領域を占有し、要
求するDMA領域ごとにMMUが管理するページ単位で
確保するために、フラグメントが生じ、また必要なDM
A領域の数が周辺装置の台数に比例して必要になるため
に計算機の備えるDMA関連資源の量を無駄に占有して
しまい結果的に非同期に転送可能な周辺装置の台数が制
約された問題が解決される。このため、多数の周辺装置
が接続できる上に、システムのリソースを最小限しか使
わないために、システム全体のスループットも向上す
る。As described above, according to the present invention,
Conventionally, when a plurality of peripheral devices capable of asynchronous data transfer are connected to a computer, the AP waits while securing a DMA area so as to be able to respond to a transfer request from a plurality of peripheral devices, and waits for a DMA for each peripheral device. In order to occupy the area and secure it in units of pages managed by the MMU for each requested DMA area, fragments are generated and necessary DM
Since the number of A areas is required in proportion to the number of peripheral devices, the amount of DMA-related resources provided in the computer is wasted and the number of peripheral devices that can be transferred asynchronously is consequently limited. Is resolved. For this reason, a large number of peripheral devices can be connected, and the minimum system resources are used, so that the throughput of the entire system is also improved.
【図1】本発明方法による場合の計算機システムの構成
例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a computer system according to a method of the present invention.
【図2】本発明方法による転送ブロック送信要求時の転
送制御を説明する図である。FIG. 2 is a diagram illustrating transfer control when a transfer block transmission request is made according to the method of the present invention.
【図3】本発明方法による転送ブロック受信要求時の転
送制御を説明する図である。FIG. 3 is a diagram illustrating transfer control at the time of a transfer block reception request according to the method of the present invention.
【図4】本発明方法による場合の計算機のDMA領域の
マッピングの一例を示す図である。FIG. 4 is a diagram showing an example of a mapping of a DMA area of a computer according to the method of the present invention.
【図5】従来方式による場合の計算機システムの構成例
を示す図である。FIG. 5 is a diagram showing a configuration example of a computer system in a case of a conventional method.
【図6】従来方式による転送ブロック受信要求時の転送
制御を説明する図である。FIG. 6 is a diagram for explaining transfer control at the time of a transfer block reception request according to a conventional method.
【図7】従来方式の場合の計算機のDMA領域のマッピ
ングを示す図である。FIG. 7 is a diagram showing mapping of a DMA area of a computer in the case of a conventional method.
3 周辺装置 4 計算機 41 転送インタフェース制御部 42 演算制御部 43 メモリ管理部 44 主記憶部(仮想空間) 61 ユーザ仮想空間 62 システム仮想空間 621 一括DMA領域 3 Peripheral device 4 Computer 41 Transfer interface control unit 42 Operation control unit 43 Memory management unit 44 Main storage unit (virtual space) 61 User virtual space 62 System virtual space 621 Batch DMA area
Claims (1)
ステムにおいて、計算機と周辺装置の間で相互に非同期
にDMA転送動作を行う実時間情報転送制御方法におい
て、 DMA起動前に、計算機のDMAが可能なメモリ空間
(以下、システム仮想空間という)上に、周辺装置の台
数に応じて必要な記憶容量分のDMA領域を連続に一括
して確保し、該確保したDMA領域を前記周辺装置の装
置番号および送受信の区別に基づき区分して管理し、 前記周辺装置から計算機に対する非同期なデータ転送の
場合は、前記周辺装置からのデータを前記周辺装置の装
置番号に応じて予め決定されるDMA領域に対してDM
A転送を行ない、該DMA転送が終了すると、システム
仮想空間上に、計算機上のプログラムがアクセス可能な
空間(以下、ユーザ仮想空間という)にアドレスマッピ
ングした受信バッファを設定し、前記データをDMA領
域から前記受信バッファを介してユーザ仮想空間に転送
し、 計算機から前記周辺装置に対する非同期なデータ転送の
場合には、システム仮想空間上に、計算機上のプログラ
ムがアクセス可能な空間(ユーザ仮想空間)にアドレス
マッピングした送信バッファを設定し、ユーザ仮想空間
に存在するデータを前記送信バッファを介して、前記周
辺装置の装置番号に応じて予め決定される前記DMA領
域に対してコピーを行い、その後、前記DMA領域から
各周辺装置へDMA転送を行うことを特徴とする実時間
情報転送制御方法。1. A system in which a plurality of peripheral devices are connected to a computer.
In a real-time information transfer control method for performing a DMA transfer operation between a computer and a peripheral device asynchronously with each other in a system, before starting the DMA, the system is placed in a memory space where the computer can perform DMA (hereinafter referred to as a system virtual space). A DMA area for a necessary storage capacity is continuously and collectively secured in accordance with the number of peripheral devices, and the secured DMA regions are separately managed based on a device number of the peripheral device and a distinction between transmission and reception; In the case of asynchronous data transfer from a peripheral device to a computer, data from the peripheral device is transferred to a DMA area determined in advance according to the device number of the peripheral device.
A transfer is performed, and when the DMA transfer is completed, a reception buffer address-mapped to a space accessible by a program on a computer (hereinafter referred to as a user virtual space) is set in the system virtual space, and the data is transferred to the DMA area. From the computer to the user virtual space via the reception buffer. In the case of asynchronous data transfer from the computer to the peripheral device, the data is transferred to a space (user virtual space) accessible to a program on the computer on the system virtual space. Set an address-mapped transmission buffer, copy the data present in the user virtual space to the DMA area predetermined according to the device number of the peripheral device via the transmission buffer, Real-time information transfer control characterized by performing DMA transfer from a DMA area to each peripheral device Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3287004A JP2664827B2 (en) | 1991-10-07 | 1991-10-07 | Real-time information transfer control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3287004A JP2664827B2 (en) | 1991-10-07 | 1991-10-07 | Real-time information transfer control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05100996A JPH05100996A (en) | 1993-04-23 |
JP2664827B2 true JP2664827B2 (en) | 1997-10-22 |
Family
ID=17711781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3287004A Expired - Lifetime JP2664827B2 (en) | 1991-10-07 | 1991-10-07 | Real-time information transfer control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2664827B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195623B2 (en) * | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2534321B2 (en) * | 1988-06-15 | 1996-09-11 | 株式会社日立製作所 | Data transfer control method and apparatus |
-
1991
- 1991-10-07 JP JP3287004A patent/JP2664827B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05100996A (en) | 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 (en) | Storage space management method, computer and data transfer method in distributed computer system | |
KR100662256B1 (en) | Object-based Storage Device and its control method for having low process load | |
JP2002149592A (en) | Pci bridge on network | |
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 (en) | Method and device about efficient data transfer mechanism | |
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 (en) | Method for transmitting data packet in processing system, system for managing buffer and medium for reading computer including program information for transmitting data packet | |
JP2001333137A (en) | Self-operating communication controller and self- operating communication control method | |
JP2664827B2 (en) | Real-time information transfer control method | |
US6289403B1 (en) | Method and arrangement for controlling a data transmission | |
JPH09269934A (en) | Data matching method and transmitting system for common memory | |
JP3719976B2 (en) | Duplex controller configuration disk storage system controller and disk storage system in which the controller is duplicated | |
JP2002123420A (en) | Memory access device | |
JP3371078B2 (en) | Device-to-device data transfer apparatus and method | |
JP2000244585A (en) | Bus interface circuit | |
JP3458037B2 (en) | Split bus control method | |
JPH0444291B2 (en) | ||
JP3544219B2 (en) | File sharing system |
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 |