JPH05342142A - Direct memory access control system - Google Patents

Direct memory access control system

Info

Publication number
JPH05342142A
JPH05342142A JP17018692A JP17018692A JPH05342142A JP H05342142 A JPH05342142 A JP H05342142A JP 17018692 A JP17018692 A JP 17018692A JP 17018692 A JP17018692 A JP 17018692A JP H05342142 A JPH05342142 A JP H05342142A
Authority
JP
Japan
Prior art keywords
channel
dma operation
value
timer value
priority
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
JP17018692A
Other languages
Japanese (ja)
Inventor
Tomokazu Enami
智和 榎並
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP17018692A priority Critical patent/JPH05342142A/en
Publication of JPH05342142A publication Critical patent/JPH05342142A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To execute an optimal distribution of buses from the viewpoint of a system side and a user side, and to improve the processing capacity of the system by setting a timer value as an initial value from the outside at every channel, comparing count timer values, and setting the channel having the smallest value as the highest priority. CONSTITUTION:In CH0-CH3, decrementers 103-106 are provided by one each, and a user sets a timer value as an instruction from a CPU side. When the control right of a bus cannot be obtained yet although a DMA operation request signal is active, a value of the decrementers 103-106 is subjected to decrement. This value is latched by a temporary register 108, whenever a SAMPLE signal 121 or a DMA operation executing request input signal to one channel becomes active for a certain prescribed period, and compared with a timer value of the adjacent channel by a comparator 112. Subsequently, in the end, a channel number whose timer value is the smallest at that time point is outputted as an SEL-CH 118, and this channel is selected.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数チャネルを有する
直接メモリアクセス制御方式、特に複数チャネルからの
DMA動作実行要求時の単一チャネルの選択方式に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a direct memory access control system having a plurality of channels, and more particularly to a single channel selection system when a DMA operation execution request is issued from a plurality of channels.

【0002】[0002]

【従来の技術】システムの処理能力に対する不満のた
め、そのシステムの中心をなすマイクロプロセッサの高
速化への要求がますます強まっている。しかし現在で
は、マイクロプロセッサのみならずシステム全体の高速
化を図るため、マイクロプロセッサの周辺チップを用い
ることにより、より一層の高速化を実現し、キャッシュ
メモリや直接メモリアクセスコントロールなどがその例
である。
2. Description of the Related Art Due to dissatisfaction with the processing capacity of a system, there is an increasing demand for speeding up of the microprocessor that is the core of the system. However, at present, in order to speed up not only the microprocessor but also the entire system, the peripheral chip of the microprocessor is used to achieve even higher speeds, and cache memory and direct memory access control are examples. ..

【0003】特に直接メモリアクセスコントロールで
は、一般に中央処理装置(以下、CPUという)内の個
々の演算のスピードに比べて桁違いに遅い入出力装置
(以下、I/Oという)や主記憶装置に対するアクセス
を、直接メモリアクセスコントローラ(以下、DMAC
という)と呼ぶコントローラがCPUに代わってアドレ
ス・バス,データ・バス等のバスの制御及び管理を行
う。ここに、DMACがバスマスタとなる。
In particular, in direct memory access control, an input / output device (hereinafter referred to as I / O) or a main storage device is generally orders of magnitude slower than the speed of individual calculations in a central processing unit (hereinafter referred to as CPU). Direct memory access controller (hereinafter DMAC)
The controller called "()" controls and manages buses such as an address bus and a data bus in place of the CPU. Here, the DMAC becomes the bus master.

【0004】従って、CPUは上記のようなアクセス時
間が極端に遅い処理を行わずに済むので、DMACにそ
の処理を任すだけで、CPUの負担はかなり軽減でき
る。
Therefore, the CPU does not have to perform the above-mentioned processing in which the access time is extremely slow, and the burden on the CPU can be considerably reduced only by leaving the processing to the DMAC.

【0005】また、CPUには複数のI/O、例えばフ
ロッピーディスクコントローラ,ハードディスクコント
ローラ,通信コントローラ等が接続されることが一般的
なので、DMACにも複数のI/Oの入力をもたせる。
その時、複数のI/OからDMACに実行要求があった
場合、どのチャネルを選択し実行させるかにより、I/
Oを含むシステム全体の処理能力を決めてしまう。
Since a plurality of I / Os such as a floppy disk controller, a hard disk controller, a communication controller and the like are generally connected to the CPU, the DMAC is also provided with a plurality of I / Os.
At this time, if there are execution requests from the multiple I / Os to the DMAC, I / O may be changed depending on which channel is selected and executed.
It determines the processing capacity of the entire system including O.

【0006】一般に、チャネル選択の方法には、以下の
2種類の方法がある。複数実行要求からのチャネル選択
の第一の方法は、固定優先順と呼ばれる方法である。こ
の方法は、各々のチャネルに優先順位をつけ、その順位
を固定するというものである。それぞれのDMA動作要
求時において、選択されるチャネルの様子の一例を示し
たのが図3である。
Generally, there are the following two types of channel selection methods. The first method of channel selection from multiple execution requests is a method called fixed priority order. This method is to give priority to each channel and fix the order. FIG. 3 shows an example of the state of the selected channel when each DMA operation is requested.

【0007】いま、優先順位の高い順にDRQ0,DR
Q1,DRQ2,DRQ3とする。まず、DRQ1に対
応するチャネルに対してDMA動作実行要求があると、
その時点ではバスはCPUにより制御されているので、
DRQ1にバスの制御を移し、そのチャネルの要求する
DMA動作を行う。
Now, DRQ0 and DR are arranged in descending order of priority.
Q1, DRQ2, and DRQ3. First, when a DMA operation execution request is issued to the channel corresponding to DRQ1,
At that time, the bus is controlled by the CPU,
The control of the bus is transferred to DRQ1 and the DMA operation requested by the channel is performed.

【0008】次に、DRQ1のDMA動作実行中に、D
RQ1よりも優先順位の高いDRQ0に対するDMA動
作実行要求があると、DRQ1に対するDMA動作を一
旦ホールドし、DRQ0のDMA動作を実行する。DR
Q0のDMA動作が終了すると、ホールドされていたD
RQ1の動作を再び開始する。その後、今度はDRQ1
よりも優先順位の低いDRQ3のDMA動作実行の要求
があっても、優先順位の低いDRQ3のDMA動作実行
要求は無視され、DRQ1のDMA動作を継続する。従
って、DRQ3のDMA動作はDRQ1の終了後、実行
されることになる。
Next, during execution of the DRQ1 DMA operation, D
When there is a DMA operation execution request for DRQ0 having a higher priority than RQ1, the DMA operation for DRQ1 is once held and the DMA operation for DRQ0 is executed. DR
When the DMA operation of Q0 ends, the D held
The operation of RQ1 is started again. After that, this time DRQ1
Even if there is a request to execute the DMA operation of DRQ3 having a lower priority, the request to execute the DMA operation of DRQ3 having a lower priority is ignored and the DMA operation of DRQ1 is continued. Therefore, the DMA operation of DRQ3 will be executed after the end of DRQ1.

【0009】以上は、3つのチャネルについての説明で
あるが、それ以上の数になっても同様の動作を行う。こ
の方法は、ハードウェアで既に各チャネルに対して優先
順位を固定しているだけにハードウェアを容易にするこ
とができる。
The above description is for three channels, but the same operation is performed even if the number of channels exceeds three. This method can simplify the hardware because the priority is already fixed for each channel in the hardware.

【0010】ところが、優先順位を固定された各チャネ
ルに接続するI/Oデバイスを何にするかにより、シス
テム全体の処理能力が決まる。また、優先順位にそれほ
どこだわらない場合、無理に優先順位を決めて各々のチ
ャネルに接続しなければならないとなると、そのシステ
ム全体の処理能力にとって最適な優先順位をつけるのは
難しくなる。
However, the processing capacity of the entire system is determined by what I / O device is connected to each channel whose priority is fixed. Further, if the priority order is not so particular, it is difficult to set the optimum priority order for the processing capability of the entire system if the priority order is forced to be connected to each channel.

【0011】図4では前記優先順位選択回路の一例をプ
ライオリティ・エンコーダとして示す。401は各チャ
ネルのDMA転送要求信号(4ビット)、402は固定
優先順による選択チャネル番号、403はプライオリテ
ィ・エンコーダを示す。
FIG. 4 shows an example of the priority selection circuit as a priority encoder. Reference numeral 401 is a DMA transfer request signal (4 bits) for each channel, 402 is a selected channel number in fixed priority order, and 403 is a priority encoder.

【0012】複数実行要求からのチャネル選択の第二の
方法は、回転優先順と呼ばれる方法である。この方法に
よる、チャネルの選択の様子の一例を図5に示す。固定
優先順と同様に計4チャネルの場合を考える。まず、4
チャネルのうちどれか1つのチャネルに対するDRQ
(ここでは、DRQ1)の要求があると、そのチャネル
のDMA動作を実行する。
The second method of channel selection from a plurality of execution requests is a method called rotation priority order. FIG. 5 shows an example of how channels are selected by this method. Consider the case of a total of four channels as in the fixed priority order. First, 4
DRQ for any one of the channels
When a request (here, DRQ1) is made, the DMA operation of that channel is executed.

【0013】回転優先順では、DMA動作実行中のチャ
ネルの優先順位がDMA動作完了直後、あるいは一定期
間後に最低優先順となるので、DRQ1のDMA動作実
行中にDRQ3のDMA実行動作要求があると、DRQ
1のDMA動作をホールドし、DRQ3のDMA動作を
開始する。以後は、この優先順位選択方法で行われる。
In the rotation priority order, the priority order of the channel in which the DMA operation is being executed is the lowest priority order immediately after the completion of the DMA operation or after a certain period of time. Therefore, there is a DMA execution operation request of DRQ3 while the DMA operation of DRQ1 is being executed. , DRQ
The DMA operation of 1 is held and the DMA operation of DRQ3 is started. Thereafter, this priority order selection method is used.

【0014】回転優先順によれば、ある特定のチャネル
がバスを独占することを防ぐことができるので、各々の
I/Oデバイスにとって平均的な待ち時間を期待するこ
とができる。
According to the rotation priority order, it is possible to prevent a specific channel from monopolizing the bus, so that an average waiting time can be expected for each I / O device.

【0015】図6では、回転優先順を実現する回路とし
て最も容易な方法を示す。601はデコーダ、602は
セレクタ、603はチャネル0を最低優先順位とするプ
ライオリティ・エンコーダ、604はチャネル1を最低
優先順位とするプライオリティ・エンコーダ、605は
チャネル2を最低優先順位とするプライオリティ・エン
コーダ、606はチャネル3を最低優先順位とするプラ
イオリティ・エンコーダ、607はDMA動作要求信
号、608は最後に選択されたチャネル番号、609は
回転優先順により選択されたチャネル番号である。
FIG. 6 shows the easiest method as a circuit for realizing the rotation priority order. 601 is a decoder, 602 is a selector, 603 is a priority encoder with channel 0 as the lowest priority, 604 is a priority encoder with channel 1 as the lowest priority, and 605 is a priority encoder with channel 2 as the lowest priority, Reference numeral 606 is a priority encoder having channel 3 as the lowest priority, 607 is a DMA operation request signal, 608 is the last selected channel number, and 609 is the channel number selected by the rotation priority order.

【0016】プライオリティ・エンコーダ603,60
4,605,606の出力結果をセレクタ602で、そ
れまでの最後に選択されたチャネル番号608によって
回転優先順位に基づくエンコーダをセレクトする。
Priority encoders 603, 60
The output results of 4, 605 and 606 are selected by the selector 602, and the encoder based on the rotation priority order is selected by the last selected channel number 608.

【0017】また、その他に前記2種のチャネル選択法
を混在する方法も用いられている。
In addition, a method in which the above two types of channel selection methods are mixed is also used.

【0018】[0018]

【発明が解決しようとする課題】以上のように、従来の
複数のDMA動作要求入力選択方法では、接続されるI
/Oデバイスの接続を内部的に変更しない限り、システ
ムにとって最適、かつ効果的なI/Oデバイスの配分を
期待できない。
As described above, according to the conventional plurality of DMA operation request input selection methods, the I to be connected is connected.
Unless the connection of I / O devices is changed internally, the optimal and effective I / O device allocation for the system cannot be expected.

【0019】従って、接続される複数のI/Oデバイス
の優先順位がそれほど変わらないのに無理に優先順位を
つけるので、接続を変えない限り最後まで設定したチャ
ネル選択方法で選択されてしまう。
Therefore, the priority order of the plurality of I / O devices to be connected does not change so much, but the priority order is forcibly set. Therefore, unless the connection is changed, the channel selection method set to the end is selected.

【0020】本発明の目的は、システム側,ユーザ側か
ら見て最適なバスの配分を行い、システムの処理能力を
あげる直接メモリアクセス制御方式を提供することにあ
る。
It is an object of the present invention to provide a direct memory access control system for optimally allocating buses as seen from the system side and the user side and increasing the processing capacity of the system.

【0021】[0021]

【課題を解決するための手段】前記目的を達成するた
め、本発明に係る直接メモリアクセス制御方式は、複数
のDMA動作要求入力を有する直接メモリアクセス制御
方式において、外部から各チャネルにタイマ値を指定す
る手段と、各々のチャネル毎にタイマ値を保持する保持
回路と、各々のチャネル毎にDMA動作要求から承認の
間、カウントを行う回路と、優先順位をダイナミックに
変更する手段とを有し、各チャネル毎にタイマ値を初期
値として外部から設定し、各チャネル毎にDMA動作要
求信号がアクティブでDMA動作承認信号がインアクテ
ィブの間カウントダウンを行い、前記カウントタイマ値
を比較し、最小の値を持つチャネルを最高優先順位とす
るものである。
In order to achieve the above object, a direct memory access control system according to the present invention is a direct memory access control system having a plurality of DMA operation request inputs, in which a timer value is externally assigned to each channel. It has a means for designating, a holding circuit for holding a timer value for each channel, a circuit for counting for each channel between the DMA operation request and approval, and means for dynamically changing the priority order. , A timer value is externally set as an initial value for each channel, a countdown is performed while the DMA operation request signal is active and the DMA operation approval signal is inactive for each channel, and the count timer values are compared to determine the minimum value. The channel with a value is the highest priority.

【0022】[0022]

【作用】各チャネル毎にタイマ値を初期値として外部か
ら設定し、各チャネル毎にDMA動作要求信号がアクテ
ィブでDMA動作承認信号がインアクティブの間カウン
トダウンを行い、前記カウントタイマ値を比較し、最小
の値を持つチャネルを最高優先順位とする。
A timer value is externally set as an initial value for each channel, a countdown is performed while the DMA operation request signal is active and the DMA operation approval signal is inactive for each channel, and the count timer values are compared. The channel with the smallest value has the highest priority.

【0023】[0023]

【実施例】以下、本発明の実施例を図により説明する。Embodiments of the present invention will be described below with reference to the drawings.

【0024】(実施例1)図1は、本発明を利用した計
4チャネルからのチャネル選択方法を実施する装置を示
すブロック図である。
(Embodiment 1) FIG. 1 is a block diagram showing an apparatus for carrying out a method for selecting a channel from a total of 4 channels using the present invention.

【0025】図1において、101はタイミング生成ブ
ロック、102はタイミング生成ブロックの出力、10
3はチャネル0のデクリメンタ、104はチャネル1の
デクリメンタ、105はチャネル2のデクリメンタ、1
06はチャネル3のデクリメンタ、107はnビットの
タイマ値用バスである。また108はテンポラリレジス
タ、109はレジスタ108のenable信号、11
0は2入力ANDゲート、111は2入力ORゲート、
112は比較器、113はnビットのタイマ値用バス、
114は比較器の出力結果、115はクロック同期のe
nable信号、116はセレクタである。
In FIG. 1, 101 is a timing generation block, 102 is an output of the timing generation block, and 10 is a timing generation block.
3 is a channel 0 decrementer, 104 is a channel 1 decrementer, 105 is a channel 2 decrementer, 1
Reference numeral 06 is a channel 3 decrementer, and 107 is an n-bit timer value bus. Further, 108 is a temporary register, 109 is an enable signal of the register 108, 11
0 is a 2-input AND gate, 111 is a 2-input OR gate,
112 is a comparator, 113 is an n-bit timer value bus,
114 is the output result of the comparator, and 115 is the clock synchronization e.
The enable signal 116 is a selector.

【0026】また117はデコーダ、118は選択され
たチャネル番号、119はセレクタのnビットタイマ値
出力、120は2相クロック、121はある一定期間の
サンプリング信号、122はDMA動作要求があったこ
とを告げる信号、123は2相クロック(120と一
対)である。
Further, 117 is a decoder, 118 is a selected channel number, 119 is an n-bit timer value output of the selector, 120 is a two-phase clock, 121 is a sampling signal for a certain period, and 122 is a DMA operation request. , 123 is a two-phase clock (a pair with 120).

【0027】図において、本実施例では、各チャネルに
は固定されたチャネル優先順位はなく、CH0,CH
1,CH2,CH3に1つずつデクリメンタ103,1
04,105,106を設け、ユーザがCPU側からの
指示として、使用するチャネルの前記デクリメンタにタ
イマ値をセットする。
In the figure, in this embodiment, there is no fixed channel priority for each channel, and CH0, CH
Decrementors 103 and 1 for CH1, CH2 and CH3
04, 105, 106 are provided, and the user sets a timer value in the decrementer of the channel to be used as an instruction from the CPU side.

【0028】ここでは、コントロール信号INIT−S
TBにより、レジスタ初期値REG−INITで初期化
を行う。これはシステムのクロックで生成される各チャ
ネル毎のタイミング生成回路101(例えば、クロック
信号の2分周器又は、4分周器)のタイミングで、DM
A動作要求信号がアクティブであるがバスの制御権がま
だ得られない(DMA動作要求承認信号がインアクティ
ブ)のとき、デクリメンタ103,104,105,1
06の値がデクリメントされる。この値は、ある一定の
期間SAMPLE信号121か、どれかのチャネルに対
するDMA動作実行要求入力信号がアクティブになる度
に、2相クロックφ1クロック120,φ2クロック1
23に同期して、テンポラリレジスタ108にタイマ値
(nビット,nは自然数)がラッチ、隣のチャネルのタ
イマ値と比較器115で比較される。
Here, the control signal INIT-S
Initialization is performed with the initial register value REG-INIT by TB. This is the timing of the timing generation circuit 101 (for example, a frequency divider of 2 or 4 of the clock signal) for each channel generated by the system clock, and
When the A operation request signal is active but the bus control right is not yet obtained (the DMA operation request acknowledge signal is inactive), the decrementers 103, 104, 105, 1
The value of 06 is decremented. This value is a two-phase clock φ1 clock 120, φ2 clock 1 every time the SAMPLE signal 121 or the DMA operation execution request input signal for any channel becomes active for a certain period.
In synchronization with 23, the timer value (n bits, n is a natural number) is latched in the temporary register 108 and compared with the timer value of the adjacent channel by the comparator 115.

【0029】そして最終的にはその時点のタイマ値が最
も小さいチャネル番号がSEL−CH118として出力
され、このチャネルが選択される。
Finally, the channel number with the smallest timer value at that time is output as SEL-CH 118, and this channel is selected.

【0030】なお、図1では二つの1段目の比較器11
2と、2段目の比較器112の出力結果から、求めるチ
ャネル番号118をデコーダ117でデコードしてい
る。
In FIG. 1, two first-stage comparators 11 are provided.
The decoder 117 decodes the desired channel number 118 from the output results of the second and second stage comparators 112.

【0031】この実施例により、ユーザがある程度任意
に場面に応じて各チャネルの優先順位を決めることがで
きるようになる。また、タイムアウト時間に近づいたチ
ャネルの優先順位をあげることができるので、システム
にとってバスの最適なI/Oデバイス配分を可能にす
る。
According to this embodiment, the user can determine the priority of each channel arbitrarily to some extent according to the scene. In addition, since the priority of the channels approaching the time-out time can be raised, it is possible to optimally allocate the I / O devices of the bus to the system.

【0032】(実施例2)図2は、本発明の実施例2を
示すブロック図である。図2において、201はタイミ
ング生成回路(2分周器など)、202はタイミング生
成回路のenable信号、203はチャネル0のDM
ARQ信号ラッチレジスタ、204はチャネル1のデク
リメンタ、205はチャネル2のデクリメンタ、206
はチャネル3のデクリメンタ、207は各チャネルのタ
イマ値用バス、208はDMARQ0用信号、209は
チャネル0用テンポラリレジスタである。また210は
チャネル1〜3のテンポラリレジスタ、211はnビッ
トタイマ値用バス、212はテンポラリレジスタの同期
信号、213は2入力ANDゲート、214は2入力O
Rゲートである。また215は2相クロック、216は
ある一定期間のサンプリング信号、217はDMA動作
要求があったことを告げる信号、218はタイマ値最小
チャネル選択ブロック、219はDMARQ0テンポラ
リレジスタの出力、220はブロック218の出力信
号、221はデコーダ、222は実施例2による選択チ
ャネル番号である。
(Second Embodiment) FIG. 2 is a block diagram showing a second embodiment of the present invention. In FIG. 2, 201 is a timing generation circuit (such as a frequency divider), 202 is an enable signal of the timing generation circuit, and 203 is a DM of channel 0.
ARQ signal latch register, 204 is a channel 1 decrementer, 205 is a channel 2 decrementer, 206
Is a channel 3 decrementer, 207 is a timer value bus for each channel, 208 is a signal for DMARQ0, and 209 is a temporary register for channel 0. Further, 210 is a temporary register of channels 1 to 3, 211 is an n-bit timer value bus, 212 is a synchronization signal of the temporary register, 213 is a 2-input AND gate, and 214 is a 2-input O.
It is an R gate. Further, 215 is a two-phase clock, 216 is a sampling signal for a certain period, 217 is a signal indicating that there is a DMA operation request, 218 is a timer value minimum channel selection block, 219 is an output of the DMARQ0 temporary register, and 220 is a block 218. Output signal, 221 is a decoder, and 222 is a selected channel number according to the second embodiment.

【0033】本実施例では、計4チャネルのうち固定の
最優先チャネルが1チャネル(ここでは、CH0)があ
る場合である。
In the present embodiment, there is one fixed top priority channel (here, CH0) out of a total of four channels.

【0034】構成は、固定の最優先チャネルの部分を除
いて実施例1と同じである。CH1,CH2,CH3の
各デクリメンタ204〜206に設定されたタイマ値の
中で最小のチャネルを実施例1と同様の手順でタイマ値
最小チャネル出力ブロック218から選択出力信号22
0としてチャネル番号が出力される。
The configuration is the same as that of the first embodiment except for the fixed top priority channel portion. The smallest channel among the timer values set in the decrementers 204 to 206 of CH1, CH2 and CH3 is selected from the timer value minimum channel output block 218 by the same procedure as in the first embodiment.
The channel number is output as 0.

【0035】ところが、本実施例では固定の最優先チャ
ネルが存在するので、選択出力信号220のチャネルは
最優先チャネルCH0のDMA動作要求がないときのみ
DMAが動作可能になる。これは、デコーダ221で、
CH0のDMA動作要求がアクティブであるかを示すD
MARQ0とタイマ値最小チャネル出力ブロック218
の出力信号220からデコードしている。
However, since the fixed highest priority channel exists in the present embodiment, the channel of the selected output signal 220 can operate the DMA only when there is no DMA operation request of the highest priority channel CH0. This is the decoder 221
D indicating whether the CH0 DMA operation request is active
MARQ0 and timer value minimum channel output block 218
Is decoded from the output signal 220.

【0036】この実施例によれば、極端に使用頻度が高
く優先順位が高いI/Oデバイスに対してはユーザがわ
ざわざ、CH0のデクリメンタにタイマ値を代入する必
要もなくなる。
According to this embodiment, it becomes unnecessary for the user to substitute a timer value for the decrementer of CH0 for an I / O device having an extremely high frequency of use and a high priority.

【0037】[0037]

【発明の効果】以上説明したように本発明を用いること
で、既に接続されているI/Oデバイスのアクセス優先
順位をユーザが指定でき、しかも処理する内容により動
的に優先順位の変更が可能となるので、システムにとっ
て最適なI/Oデバイスのバスの配分つまり最も効果的
な直接メモリアクセスコントロールを実現できる。
As described above, by using the present invention, the user can specify the access priority of the already connected I / O devices, and the priority can be dynamically changed according to the processing content. Therefore, the bus allocation of I / O devices that is optimum for the system, that is, the most effective direct memory access control can be realized.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例1に係る構成を示すブロック図
である。
FIG. 1 is a block diagram showing a configuration according to a first exemplary embodiment of the present invention.

【図2】本発明の実施例2に係る構成を示すブロック図
である。
FIG. 2 is a block diagram showing a configuration according to a second exemplary embodiment of the present invention.

【図3】従来技術のうち固定優先順と呼ばれるチャネル
選択方法で各チャネルからのDMA動作要求のあった場
合の各チャネルの様子を示す図である。
FIG. 3 is a diagram showing a state of each channel when there is a DMA operation request from each channel by a channel selection method called fixed priority order in the prior art.

【図4】固定優先順位のチャネルが選択されるプライオ
リティ・エンコーダを示す図である。
FIG. 4 is a diagram illustrating a priority encoder in which fixed priority channels are selected.

【図5】従来技術のうち回転優先順と呼ばれる方法によ
るチャネル選択の様子を示す図である。
FIG. 5 is a diagram showing how channels are selected by a method called rotation priority order in the prior art.

【図6】回転優先順位が最後に選択されたチャネルによ
り各チャネルに対応するプライオリティ・エンコーダの
出力を選択するブロック図である。
FIG. 6 is a block diagram of selecting an output of a priority encoder corresponding to each channel according to a channel whose rotation priority is selected last.

【符号の説明】[Explanation of symbols]

101 タイミング生成ブロック 102 タイミング生成ブロックの出力 103 チャネル0のデクリメンタ 104 チャネル1のデクリメンタ 105 チャネル2のデクリメンタ 106 チャネル3のデクリメンタ 107 nビットのタイマ値用バス 108 テンポラリレジスタ 109 レジスタ108のenable信号 110 2入力ANDゲート 111 2入力ORゲート 112 比較器 113 nビットのタイマ値用バス 114 比較器の出力結果 115 クロック同期のenable信号 116 セレクタ 117 デコーダ 118 選択されたチャネル番号 119 セレクタのnビットタイマ値出力 120 2相クロック 121 ある一定期間のサンプリング信号 122 DMA動作要求があったことを告げる信号 123 2相クロック(120と一対) 201 タイミング生成回路(2分周器など) 202 タイミング生成回路のenable信号 203 チャネル0のDMARQ信号ラッチレジスタ 204 チャネル1のデクリメンタ 205 チャネル2のデクリメンタ 206 チャネル3のデクリメンタ 207 各チャネルのタイマ値用バス 208 DMARQ0用信号 209 チャネル0用テンポラリレジスタ 210 チャネル1〜3のテンポラリレジスタ 211 nビットタイマ値用バス 212 テンポラリレジスタの同期信号 213 2入力ANDゲート 214 2入力ORゲート 215 2相クロック 216 ある一定期間のサンプリング信号 217 DMA動作要求があったことを告げる信号 218 タイマ値最小チャネル選択ブロック 219 DMARQ0テンポラリレジスタの出力 220 ブロック218の出力信号 221 デコーダ 222 実施例2による選択チャネル番号 101 timing generation block 102 output of timing generation block 103 decrementer of channel 0 104 decrementer of channel 1 105 decrementer of channel 2 106 decrementer of channel 3 107 n-bit timer value bus 108 temporary register 109 enable signal of register 108 110 2 input AND gate 111 2-input OR gate 112 Comparator 113 n-bit timer value bus 114 Output result of comparator 115 Clock enable signal 116 Selector 117 Decoder 118 Selected channel number 119 n-bit timer value output of selector 120 2 Phase clock 121 Sampling signal for a certain period of time 122 Signal telling that there was a DMA operation request 123 Two-phase clock (120 201) Timing generation circuit (such as a frequency divider) 202 Enabled signal of timing generation circuit 203 DMARQ signal latch register of channel 0 204 Decrementer of channel 1 205 Decrementor of channel 2 206 Decrementer of channel 3 207 For timer value of each channel Bus 208 DMARQ0 signal 209 Channel 0 temporary register 210 Channels 1 to 3 temporary register 211 n-bit timer value bus 212 Temporary register synchronization signal 213 2-input AND gate 214 2-input OR gate 215 2-phase clock 216 Certain period Sampling signal 217 Signal indicating that there was a DMA operation request 218 Timer value minimum channel selection block 219 DMARQ0 Temporary register output Output 220 Output signal of block 218 221 Decoder 222 Selected channel number according to the second embodiment

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 複数のDMA動作要求入力を有する直接
メモリアクセス制御方式において、 外部から各チャネルにタイマ値を指定する手段と、各々
のチャネル毎にタイマ値を保持する保持回路と、各々の
チャネル毎にDMA動作要求から承認の間、カウントを
行う回路と、優先順位をダイナミックに変更する手段と
を有し、 各チャネル毎にタイマ値を初期値として外部から設定
し、各チャネル毎にDMA動作要求信号がアクティブで
DMA動作承認信号がインアクティブの間カウントダウ
ンを行い、前記カウントタイマ値を比較し、最小の値を
持つチャネルを最高優先順位とすることを特徴とする直
接メモリアクセス制御方式。
1. A direct memory access control system having a plurality of DMA operation request inputs, means for externally designating a timer value for each channel, a holding circuit for holding a timer value for each channel, and each channel. It has a circuit for counting each DMA operation request from the time of approval and a means for dynamically changing the priority order, and sets a timer value from the outside as an initial value for each channel to perform a DMA operation for each channel. A direct memory access control method, wherein a countdown is performed while the request signal is active and the DMA operation approval signal is inactive, the count timer values are compared, and the channel having the smallest value is set to the highest priority.
JP17018692A 1992-06-04 1992-06-04 Direct memory access control system Pending JPH05342142A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17018692A JPH05342142A (en) 1992-06-04 1992-06-04 Direct memory access control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17018692A JPH05342142A (en) 1992-06-04 1992-06-04 Direct memory access control system

Publications (1)

Publication Number Publication Date
JPH05342142A true JPH05342142A (en) 1993-12-24

Family

ID=15900284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17018692A Pending JPH05342142A (en) 1992-06-04 1992-06-04 Direct memory access control system

Country Status (1)

Country Link
JP (1) JPH05342142A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156260B2 (en) 2008-08-14 2012-04-10 Fujitsu Limited Data transfer device and method for selecting instructions retained in channel unit based on determined priorities due to the number of waiting commands/instructions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156260B2 (en) 2008-08-14 2012-04-10 Fujitsu Limited Data transfer device and method for selecting instructions retained in channel unit based on determined priorities due to the number of waiting commands/instructions

Similar Documents

Publication Publication Date Title
US6070205A (en) High-speed processor system having bus arbitration mechanism
US6145027A (en) DMA controller with split channel transfer capability and FIFO buffering allowing transmit channel to get ahead of corresponding receive channel by preselected number of elements
US4939638A (en) Time sliced vector processing
US5826106A (en) High performance multifunction direct memory access (DMA) controller
US7032046B2 (en) Resource management device for managing access from bus masters to shared resources
EP0870226B1 (en) Risc microprocessor architecture
US5083261A (en) Dynamically alterable interrupt priority circuit
JP2002140289A (en) Micro-controller dma operation with adjustable word size transfer and address array/increase
US7380027B2 (en) DMA controller and DMA transfer method
JPH05342142A (en) Direct memory access control system
JPS594733B2 (en) Kyoutsuba Seigiyo Cairo
EP0811921B1 (en) Method for accessing memory
US5023774A (en) Data I/O transaction method and system
JP2005165508A (en) Direct memory access controller
US9280502B1 (en) Minimal-cost pseudo-round-robin arbiter
JPS63245551A (en) Memory access system for multiprocessor system
JPH01279354A (en) Data processing system having common bus and preference decision circuit
JP2001005721A (en) Method for filter processing by securing memory for ring buffer by dsp and its filter processing system
JP3493768B2 (en) Data processing device
JPH11175464A (en) Arbitrating device and method therefor
JP2001166951A (en) Interruption processing circuit
JP2001166951A5 (en)
JP2001184305A (en) External bus controller
JPH0830551A (en) Wait control system
JPH02150948A (en) Microcomputer