JPS62119657A - Dma chain control system - Google Patents
Dma chain control systemInfo
- Publication number
- JPS62119657A JPS62119657A JP26038285A JP26038285A JPS62119657A JP S62119657 A JPS62119657 A JP S62119657A JP 26038285 A JP26038285 A JP 26038285A JP 26038285 A JP26038285 A JP 26038285A JP S62119657 A JPS62119657 A JP S62119657A
- Authority
- JP
- Japan
- Prior art keywords
- descriptor
- chain
- final
- discriptor
- new
- 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.)
- Granted
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【発明の詳細な説明】
(概要〕
チェインされたディスクリプタを参照して制御を行うD
MAチェイン制御方式において、追加しようとする新た
なディスクリプタを準備し、チャネルに対して発行され
たチェインリスタートコマンドを契機として、処理を実
行中の場合には、当該新たなディスクリプタを処理し、
一方行機中の場合には、最終ポイントレジスタによって
ポイントされているディスクリプタ内に設けたチェイン
ビットが“1”であることをl認した後、新たに設けた
ディスクリプタによって指示される処理を実行するよう
にすることが開示されている。[Detailed Description of the Invention] (Summary) D that performs control by referring to chained descriptors
In the MA chain control method, prepare a new descriptor to be added, and process the new descriptor if processing is currently being executed in response to a chain restart command issued to the channel;
If the machine is on the other hand, after confirming that the chain bit set in the descriptor pointed to by the final point register is "1", execute the process instructed by the newly set descriptor. It is disclosed to do so.
本発明は、チャネルに最終ディスクリプタをポイントす
る最終ポインタを設けると共に、追加しようとする新た
なディスクリプタを準備し、通知されたチェインリスタ
ートコマンドを契機として、新たにチェインしたディス
クリプタを実行するよう制御するDMAチェイン制御方
式に関するものである。The present invention provides a final pointer that points to the final descriptor in the channel, prepares a new descriptor to be added, and controls execution of the newly chained descriptor in response to a notified chain restart command. This relates to a DMA chain control method.
従来、チャネルにおける制御方式として、第4図に示す
ように、ディスクリプタ(チャネル制御部の行うべき動
作を示す記述子)をチェイン状に構成し、DMA処理を
行うものがある。この種の制御方式は、あるディスクリ
プタ例えばディスクリプタ(1) l 4−1中のDM
Aディスクリプタ13−1によってポイントされるバッ
ファ(11に格納されているデータを110機器に転送
した後、当該ディスクリプタ(1114−1内に設けた
チェインビット12−1が“1”であれば、次ディスク
リプタ11−1によってポイントされるディスクリプタ
14−2によって指示される処理を実行するものである
。Conventionally, as shown in FIG. 4, as a control method for a channel, there is a method in which descriptors (descriptors indicating operations to be performed by a channel control section) are configured in a chain shape to perform DMA processing. This type of control method is based on a certain descriptor, for example, DM in descriptor (1) l 4-1.
After transferring the data stored in the buffer (11) pointed to by the A descriptor 13-1 to the 110 device, if the chain bit 12-1 provided in the descriptor (1114-1) is "1", the next It executes the process instructed by the descriptor 14-2 pointed to by the descriptor 11-1.
この際、第4図に示すディスクリプタ(2114−2に
よって指示されるDMA処理を実行した後、更に追加し
た新たなディスクリプタ(3114−3によって指示さ
れるDMA処理を実行しようとする場合、ホスト18が
DMAC(DMA制御部)17の動作状態を調べ、最終
ディスクリプタ(ディスクリプタ(2114−2)の処
理が終了していれば、新たにディスクリプタ13114
−3を最後のディスクリプタとしてDMAC17に登録
し、DMACをスタートさせなければならないという問
題点があった。また、最終ディスクリプタに対する処理
がまだ終了していなければ、DMAC17とホスト(C
PU)18との間の競合を避けるために、ホスト18が
DMACl 7の動作を一旦停市させ、ディスクリプタ
(2114−2内に設けた次ディスクリプタ11−2に
新たなディスクリプタ(3114−3をポイントするア
ドレスを書き込むと共にチェインビット12−2を“1
”にセットし、DMAC17を再スタートさせなければ
ならないという問題点があった。At this time, after executing the DMA process instructed by the descriptor (2114-2) shown in FIG. The operating state of the DMAC (DMA control unit) 17 is checked, and if the final descriptor (descriptor (2114-2)) has been processed, a new descriptor 13114 is
There was a problem in that it was necessary to register -3 as the last descriptor in the DMAC 17 and start the DMAC. Furthermore, if the processing for the final descriptor has not yet been completed, the DMAC 17 and the host (C
In order to avoid conflict with the DMACl 7, the host 18 temporarily suspends the operation of the DMACl 7, and replaces the next descriptor 11-2 provided in the descriptor (2114-2) with a new descriptor (pointing at 3114-3). write the address to be used and set chain bit 12-2 to “1”.
”, and the DMAC 17 had to be restarted.
本発明は、前記問題点を解決するために、チャネルに最
終ディスクリプタをポイントする最終ポインタを設ける
と共に、追加しようとする新たなディスクリプタを準備
し、通知されたチェインリスタートコマンドを契機とし
て、チェインしたディスクリプタによって指示される処
理を実行中の場合には、当該チェインリスタートコマン
ドを無視し、当該新たなディスクリプタを処理し、一方
最終ポイントレジスタによってポイントされているディ
スクリプタの位置に待機中の場合には、最終ポイントレ
ジスタによってポイントされている最終ディスクリプタ
内に設けたチェインビットが“1”であることを確認し
た後、新たに設けたディスクリプタによって指示される
処理を実行するよう制御することにより、チェインされ
たディスクリプタに対して新たなディスクリプタを追加
することを簡単に行い得るようにしている。In order to solve the above problems, the present invention provides a final pointer that points to the final descriptor in the channel, prepares a new descriptor to be added, and uses the notified chain restart command as an opportunity to restart the chain. If the process specified by the descriptor is currently being executed, the chain restart command will be ignored and the new descriptor will be processed, while if the process is currently being executed at the descriptor pointed to by the final point register. After confirming that the chain bit provided in the final descriptor pointed to by the final point register is "1", the chain is controlled to execute the process specified by the newly provided descriptor. This makes it easy to add new descriptors to existing descriptors.
第1図に示す本発明の1実施例構成を用いて問題点を解
決するための手段を説明する。Means for solving the problems will be explained using the configuration of one embodiment of the present invention shown in FIG.
第1図において、メモリ6内に設けたディスクリプタ(
1) 4−1は、次ディスクリプタ1−1、チェインビ
ット2−1、およびDMAディスクリプタ3−1から構
成されている。ディスクリプタ(2)4−2も同様であ
る。また、ディスクリプタ(3)4−3は、新たに追加
しようとするものである。これらの各ディスクリプタi
ll 4−1ないし4−3内に設けたDMAディスクリ
プタ3−1.3−2.3−3によっ゛ζポイントされる
バッファ(1)、(2)、(3)に格納されているデー
タが例えば110機器にDMA転送される。In FIG. 1, a descriptor (
1) 4-1 is composed of a next descriptor 1-1, a chain bit 2-1, and a DMA descriptor 3-1. The same applies to descriptor (2) 4-2. Furthermore, descriptor (3) 4-3 is to be newly added. Each of these descriptors i
ll Data stored in buffers (1), (2), and (3) pointed to by DMA descriptor 3-1.3-2.3-3 provided in 4-1 to 4-3. is transferred by DMA to, for example, the 110 device.
次ディスクリプタit、1−2.1−3は、次に実行す
べきものをポイントするアドレスが夫々格納されている
。Next descriptors it, 1-2, 1-3 each store an address pointing to what is to be executed next.
チェインビット2−1.2−2.2−3は、次ディスク
リプタ1−11−2、■−3によってポイントされるも
のを処理すべきか否かの状態を夫々表している。Chain bits 2-1.2-2.2-3 each represent the state of whether or not what is pointed to by next descriptors 1-11-2 and -3 should be processed.
最終ポイントレジスタ5は、最後に実行するディスクリ
プタをポイントするものである。The final point register 5 points to the last descriptor to be executed.
DMAC7は、各種DMA制御に関する処理を実行する
ものである。The DMAC 7 executes processing related to various DMA controls.
第1図を用いて説明した構成を採用し、ホスト(CPU
)8が新たなディスクリプタを追加しようとする場合、
第1に、例えば第1図に示すディスクリプタ(314−
3をメモリ6中に準備する。The configuration explained using Fig. 1 is adopted, and the host (CPU
)8 tries to add a new descriptor,
First, for example, the descriptor (314-
3 is prepared in the memory 6.
第2に、新たに設けたディスクリプタ(314−3をポ
イントするアドレスを、最終ポイントレジスタ5によっ
てポイントされる最終ディスクリプタ(214−2内の
次ディスクリプタ1−2に格納する。Second, the address pointing to the newly provided descriptor (314-3) is stored in the next descriptor 1-2 in the final descriptor (214-2) pointed to by the final point register 5.
第3に、最終ディスクリプタ(2+ 4−2内に設けた
チェインビット2−2を1″にセットする。Third, set the chain bit 2-2 provided in the final descriptor (2+4-2) to 1''.
第4に、ホスト8は、DMAC7に対してチェインリス
タートコマンドを発行する。Fourth, the host 8 issues a chain restart command to the DMAC 7.
第5に、チェインリスタートコマンドの通知を受けたD
MAC1は、最終ディスクリプタあるいはそれ1ソ前の
チェインによって連結されているディスクリプタによっ
て指定される処理を実行中の場合には、当該発行された
チェインリスタートコマンドを無視する。これは、未だ
最終ディスクリプタ例えばディスクリプタf214−2
の処理が終了していないので、この最終ディスクリプタ
(214−2を単に書き替えるのみで、追加されたディ
スクリプタ(314−3が最終ディスクリプタ(214
−2の次に処理されるからである。一方、最終ディスク
リプタ(2)4−2によって指定される処理が終了し、
待機中の場合には、最終ポイントレジスタ5が最終ディ
スクリプタ(2) 4−2のアドレスを保持しているの
で、この最終ポイントレジスタ5によってポイントされ
る最終ディスクリプタf214−2内に設けたチェイン
ビット2−2が“1″であることを確認した後、次ディ
スクリプタ1−2に格納されているアドレスによってポ
イントされるディスクリプタf314−3によって指定
される処理を実行する。Fifth, D receives notification of the chain restart command.
If the MAC 1 is executing the process specified by the final descriptor or a descriptor connected by the chain one sequence before it, the MAC 1 ignores the issued chain restart command. This is still the final descriptor e.g. descriptor f214-2
Since the processing of the final descriptor (214-2) has not been completed, the added descriptor (314-3 is the final descriptor (214-2).
This is because it is processed next to -2. On the other hand, the process specified by final descriptor (2) 4-2 is completed,
When on standby, the final point register 5 holds the address of the final descriptor (2) 4-2, so the chain bit 2 provided in the final descriptor f214-2 pointed to by this final point register 5 is After confirming that -2 is "1", the process specified by the descriptor f314-3 pointed to by the address stored in the next descriptor 1-2 is executed.
以上説明したステップにより、新たなディスクリプタを
容易に追加することが可能となる。The steps described above make it possible to easily add new descriptors.
第1図は本発明の1実施例構成図、第2図および第3図
は本発明の動作フl」−チャートを示す。FIG. 1 is a block diagram of one embodiment of the present invention, and FIGS. 2 and 3 are operational charts of the present invention.
第2図および第3図図示フローチャーを用いて第1図図
示構成の動作を詳細に説明する。The operation of the configuration shown in FIG. 1 will be explained in detail using the flowcharts shown in FIGS. 2 and 3.
第2図図中■は、新しいディスクリプタを用意する状態
を示す。これは、第1図に示すメモリ6中にチェインに
追加しようとする新たなディスクリプタ例えばディスク
リプタf314.−3を図示のように用意することを意
味している。■ in FIG. 2 indicates a state in which a new descriptor is prepared. This indicates that the new descriptor to be added to the chain in the memory 6 shown in FIG. 1, for example descriptor f314. -3 is prepared as shown in the figure.
図中■は、最終ディスクリプタの次のディスクリプタの
アドレスフィールドを新しいディスクリプタのアドレス
とする状態を示す。これは、第1図図中最後のディスク
リプタ(2+ 4−2内に設けた次ディスクリプタ1−
2によってポイントされるアドレスにディスクリプタf
314−3を設けることを意味している。In the figure, ■ indicates a state in which the address field of the descriptor following the final descriptor is used as the address of a new descriptor. This is the last descriptor in Figure 1 (2+ and the next descriptor 1- provided in 4-2).
Descriptor f at the address pointed to by 2
314-3.
図中■は、最終ディスクリプタのチェインピントをON
とする状態を示す。これは、最終ディスクリプタ(21
4−2内に設けたチェインビット2−2に“1”をセッ
トする状態を示す。■ in the figure indicates that the chain focus of the final descriptor is ON.
Indicates the state in which This is the final descriptor (21
4-2 shows a state in which chain bit 2-2 provided in 4-2 is set to "1".
図中■は、DMAC7に対してホスト8が、チェインリ
スタートコマンドを発行する状態を示す。In the figure, ■ indicates a state in which the host 8 issues a chain restart command to the DMAC 7.
第3図図中■は、第2図図中■ないし■の処理が終了し
た状態を示す。■ in FIG. 3 indicates a state in which the processes of ■ to ■ in FIG. 2 have been completed.
図中0は、最終ディスクリプタのチェインビソトはON
か否かを判別する状態を示す。これは、第1図図中ディ
スクリプタ(2) 4−2内に設けたチェインビット2
−2がONか否かを判別することを意味している。YE
Sの場合には、図中0を実行する。尚、最終ディスクリ
プタがチェインビットがONか否かを調べる理由は、ホ
スト8がDMAC7に対してチェインリスタートコマン
ドを発行するのが遅れ、ディスクリプタ13) 4−3
まで処理が進み、最終ポイントレジスタ5がディスクリ
プタ(314−3をポイントしている時に誤ってチェイ
ンを行う可能性があるためである(この場合、ディスク
リプタ(314−3内に設けたチェインビット2−3が
OFFであれば、r)MA処理は停止する)。0 in the diagram means that the chain visibility of the final descriptor is ON.
Indicates the state in which it is determined whether or not. This is the chain bit 2 provided in descriptor (2) 4-2 in Figure 1.
This means determining whether or not -2 is ON. YE
In the case of S, 0 in the figure is executed. The reason why the final descriptor checks whether the chain bit is ON or not is because the host 8 is delayed in issuing the chain restart command to the DMAC 7, and the descriptor 13) 4-3
This is because there is a possibility that a chain may be performed by mistake when the process progresses to the point where the final point register 5 points to the descriptor (314-3). 3 is OFF, r) MA processing is stopped).
図中◎は、ディスクリプタ(2+ 4−2内に設けた次
ディスクリプタ1−2のフィールドに格納された内容を
読む状態を示す。これは、最終ディスクリプタ(214
−2の次に追加された新たなディスクリプタ(3) 4
−3をポイントするアドレスを読み出すことを意味して
いる。In the figure, ◎ indicates a state in which the contents stored in the field of the next descriptor 1-2 provided in the descriptor (2+4-2) are read.
New descriptor added after -2 (3) 4
This means reading the address pointing to -3.
図中■は、次ディスクリプタに対する処理を行う状態を
示す。これは、新たに追加したディスクリプタ(3)4
−3によって指定される処理を実行することを意味して
いる。■ in the figure indicates a state in which processing is performed for the next descriptor. This is the newly added descriptor (3) 4
-3 means to execute the process specified.
図中[相]は、チャネルがチェインリスタートコマンド
を待機している状態を示す。In the figure, [phase] indicates a state in which the channel is waiting for a chain restart command.
図中[相]は、チャネルにチェインリスタートコマンド
が通知された状態を示す。そして、図中@以下を繰り返
し実行する。In the figure, [phase] indicates a state in which a chain restart command is notified to the channel. Then, repeat the steps below @ in the figure.
以上説明したように、最終ディスクリプタをポイントす
る最終ポイントレジスタ5を設け、追加しようとするデ
ィスクリプタを準備しかつ最後のディスクリプタが当該
追加したディスクリプタをポイントするようにアドレス
をセットすると共にチェインビットをONにセットした
後、ホスト8がDMAC7に対してチェインリスタート
コマンドを発行するのみで、DMAC7は、追加した新
たなディスクリプタを処理することができる。As explained above, the final point register 5 that points to the final descriptor is provided, the descriptor to be added is prepared, the address is set so that the final descriptor points to the added descriptor, and the chain bit is turned ON. After setting, the host 8 simply issues a chain restart command to the DMAC 7, and the DMAC 7 can process the newly added descriptor.
以上説明した、Lうに、本発明によれば、チャネルに最
終ディスクリプタをポイントする最終ポインタを設ける
と共に、追加しようとする新たなディスクリプタを準備
し、通知されたチェインリスタートコマンドを契機とし
て、チェインしたディスクリプタによって指示される処
理を実行中の場合には、当該チェインリスタートコマン
ドを無視し、当該新たなディスクリプタを処理し、一方
最終ポイントレジスタによってポイントされているディ
スクリプタの位置に待機中の場合には、最終ポイントレ
ジスタによってポイントされている最終ディスクリプタ
内に設けたチェインビットが“1”であることを確認し
た後、新たに設けたディスクリプタによって指示される
処理を実行するよう制御しているため、チェインされた
DMAコマンドに対するコマンド追加をチャネルの状態
に依存せず、単一かつ簡単な手順を用いて行うことがで
きる。As explained above, according to the present invention, a final pointer pointing to the final descriptor is provided in the channel, a new descriptor to be added is prepared, and the chain is started by the notified chain restart command. If the process specified by the descriptor is currently being executed, the chain restart command will be ignored and the new descriptor will be processed, while if the process is currently being executed at the descriptor pointed to by the final point register. , after confirming that the chain bit provided in the final descriptor pointed to by the final point register is "1", the chain is controlled to execute the process instructed by the newly provided descriptor. Commands can be added to the DMA commands that have been sent using a single and simple procedure, regardless of the state of the channel.
第1図は本発明の1実施例構成図、第2図および第3図
は本発明の動作フローチャート、第4図は従来のDMA
チェイン制御方式の動作説明図を示す。
図中、1−1ないし1−3は次ディスクリプタ、2−1
ないし2−3はチェインビット、3−1ないし3−3は
DMAディスクリプタ、4−1ないし4−3はディスク
リプタ、5は最終ポイントレジスタ、6はメモリ、7は
DMAC,8はホスト(CP U)を表す。FIG. 1 is a configuration diagram of one embodiment of the present invention, FIGS. 2 and 3 are operational flowcharts of the present invention, and FIG. 4 is a conventional DMA
An explanatory diagram of the operation of the chain control method is shown. In the figure, 1-1 to 1-3 are the next descriptors, 2-1
to 2-3 are chain bits, 3-1 to 3-3 are DMA descriptors, 4-1 to 4-3 are descriptors, 5 is final point register, 6 is memory, 7 is DMAC, 8 is host (CPU) represents.
Claims (1)
MAチェイン制御方式において、 次に実行すべきディスクリプタをポイントする次ディス
クリプタポインタ(1)、次のディスクリプタにチェイ
ンしているか否かを表すチェインビット(2)、および
処理すべき情報を記述したDMAディスクリプタ(3)
を備えた夫々のディスクリプタ(4)と、 最終ディスクリプタをポイントする最終ポイントレジス
タ(5)とを備え、 追加しようとする新たなディスクリプタ(4)を準備し
、この新たなディスクリプタ(4)をチェインしようと
する最終ディスクリプタ内に設けた次ディスクリプタポ
インタ(1)を当該新たなディスクリプタ(4)をポイ
ントするようにセットすると共にチェインビット(2)
を“1”にセットし、チャネルに対して発行されたチェ
インリスタートコマンドを契機として、いずれかのチェ
インしたディスクリプタによって指示される処理を実行
中の場合には、当該チェインリスタートコマンドを無視
し、当該新たなディスクリプタを処理し、一方最終ポイ
ントレジスタ(5)によってポイントされているディス
クリプタの位置に待機中の場合には、最終ポイントレジ
スタ(5)によってポイントされているディスクリプタ
(4)内に設けたチェインビット(2)が“1”である
ことを確認した後、新たに設けたディスクリプタによっ
て指示される処理を実行するよう制御することを特徴と
するDMAチェイン制御方式。[Claims] D that performs control by referring to chained descriptors.
In the MA chain control method, a next descriptor pointer (1) points to the next descriptor to be executed, a chain bit (2) indicating whether or not the next descriptor is chained, and a DMA descriptor that describes information to be processed. (3)
Prepare a new descriptor (4) to be added, each having a descriptor (4) with a final point register (5) pointing to the final descriptor, and chain this new descriptor (4). The next descriptor pointer (1) provided in the final descriptor is set to point to the new descriptor (4), and the chain bit (2) is set.
is set to "1" and a chain restart command issued to a channel triggers a process instructed by any chained descriptor to be executed, the chain restart command will be ignored. , processes the new descriptor, while waiting at the position of the descriptor pointed to by the final point register (5), A DMA chain control method is characterized in that after confirming that a chain bit (2) is "1", control is performed to execute a process instructed by a newly provided descriptor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26038285A JPS62119657A (en) | 1985-11-20 | 1985-11-20 | Dma chain control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26038285A JPS62119657A (en) | 1985-11-20 | 1985-11-20 | Dma chain control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62119657A true JPS62119657A (en) | 1987-05-30 |
JPH0260015B2 JPH0260015B2 (en) | 1990-12-14 |
Family
ID=17347143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26038285A Granted JPS62119657A (en) | 1985-11-20 | 1985-11-20 | Dma chain control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62119657A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008502084A (en) * | 2004-06-30 | 2008-01-24 | インテル・コーポレーション | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
-
1985
- 1985-11-20 JP JP26038285A patent/JPS62119657A/en active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008502084A (en) * | 2004-06-30 | 2008-01-24 | インテル・コーポレーション | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
Also Published As
Publication number | Publication date |
---|---|
JPH0260015B2 (en) | 1990-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62256185A (en) | Apparatus and method for picking and clipping data object selected on video display | |
JPS62119657A (en) | Dma chain control system | |
JP2846760B2 (en) | Programmable controller | |
JPH0388018A (en) | Disk controller | |
JP3130798B2 (en) | Bus transfer device | |
JPS6240736B2 (en) | ||
JPH03241442A (en) | Store buffer control system | |
JP2785855B2 (en) | Information processing device | |
JPS6229831B2 (en) | ||
JPH01234957A (en) | Method and device for controlling dma | |
JPS59180755A (en) | Tracing system | |
JPS6146545A (en) | Input and output instruction control system | |
JPS5942331B2 (en) | Prosetsusasouchinoseigiohoshiki | |
JPH06301632A (en) | Dma control device and its control method | |
JPH06131287A (en) | Dma data transfer control system | |
JPH05120203A (en) | Dma control system | |
JPS62168246A (en) | Memory writing control system | |
JPH04199217A (en) | Input/output control method | |
JPS61265623A (en) | Magnetic disk controller | |
JPH0561610A (en) | Method for selecting interruption magnetic disk device | |
JPH01292451A (en) | Information processor | |
JPS63244274A (en) | Image processing system | |
JPS62248188A (en) | Magnetic disk control system | |
JPH04262449A (en) | Data transfer system | |
JPS6349942A (en) | Arithmetic processing unit |