JPH0449460A - Dma controller - Google Patents
Dma controllerInfo
- Publication number
- JPH0449460A JPH0449460A JP16018590A JP16018590A JPH0449460A JP H0449460 A JPH0449460 A JP H0449460A JP 16018590 A JP16018590 A JP 16018590A JP 16018590 A JP16018590 A JP 16018590A JP H0449460 A JPH0449460 A JP H0449460A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- controllers
- signal
- controller
- priority order
- 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
Links
- 230000002093 peripheral effect Effects 0.000 abstract description 17
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 101100353178 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRI2 gene Proteins 0.000 description 2
- 101100353177 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spp2 gene Proteins 0.000 description 2
- 101150047682 priL gene Proteins 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はDMAコントローラに関し、特に複数個のDM
Aコントローラを用いて構成されたシステムに適したD
MAコントローラに関する。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a DMA controller, and particularly to a DMA controller that controls a plurality of DM controllers.
D suitable for systems configured using A controller
Regarding MA controller.
従来、1つのDMAコントローラが制御できる台数以上
の周辺コントローラに対してDMA動作を行う場合、開
いているDMAのチャンネルをその都度ホストCPUが
チエツクし、DMAチャネルへの割付をしていた。上記
のような場合に複数個のDMAコントローラを用いると
きには、予めDMAコントローラを制御するホストのC
PU側でDMAコントローラ間の競合を考え、DMA要
求に対するバスの制御時に毎回チエツクを行って制御を
行うか、下位のレベルのデータ転送はホス)CPUか介
在して転送を行うかしていた。Conventionally, when performing a DMA operation on more peripheral controllers than can be controlled by one DMA controller, a host CPU checks open DMA channels each time and assigns them to DMA channels. When using multiple DMA controllers in the above case, the C of the host controlling the DMA controllers must be set in advance.
In consideration of competition between DMA controllers on the PU side, control is performed by checking each time the bus is controlled in response to a DMA request, or lower level data transfer is performed via the CPU (host).
上述のように、従来のDMA転送では1つのDMAコン
トローラが制御できる台数以上の周辺コントローラに対
してI) M A転送を行う場合には、何等かの形でホ
ストCl) Uの介在か必要となるなめ転送の効率か悪
くなるとともにホストCPUの制御ブロクラムか複雑な
ものになるという問題かあった。このため各ペリフェラ
ルの独立な並列動作には甚だ不便てあった、
したがって本発明の目的は、CPUの介在を必要とせす
に他のDMAコントローラと並列に動作できるようなり
MAコントローラを提供することにある。As mentioned above, in conventional DMA transfer, when performing I) MA transfer to more peripheral controllers than can be controlled by one DMA controller, some form of intervention by the host Cl) is required. There was a problem in that the efficiency of the Naruname transfer deteriorated and the control block of the host CPU became complicated. For this reason, independent parallel operation of each peripheral is extremely inconvenient. Therefore, an object of the present invention is to provide an MA controller that can operate in parallel with other DMA controllers without requiring the intervention of a CPU. be.
本発明のDMAコントローラは、DMAに接続される各
周辺コントローラ間のI)MA要求にないする優先順位
の制御を行うだけでなく、DMAコン1〜ローラ間での
優先順位を自己が内蔵するレジスタの値に応じて判断す
ることを特徴とする。The DMA controller of the present invention not only controls the priority order of I) MA requests between each peripheral controller connected to the DMA, but also controls the priority order between the DMA controller 1 and the controller using a built-in register. The feature is that the judgment is made according to the value of .
すなわち本発明は、複数個の周辺コントローラをそれぞ
れごとに設けられた優先順位で制御するDMAコントロ
ーラにおいて、DMAコントローラ間の優先順位を定め
るレジスタと、各DMAコントローラがDMA要求を受
け付けたことを示す出力信号を発生する手段と、互いの
出力信号によりDMAコントローラ間の優先順位をレジ
スタの出力を用いて判断する判断回路とを有することを
特徴とするものである。In other words, the present invention provides a DMA controller that controls a plurality of peripheral controllers according to priorities set for each, a register that determines the priority among the DMA controllers, and an output that indicates that each DMA controller has accepted a DMA request. The present invention is characterized in that it includes means for generating a signal, and a determination circuit that determines the priority order between DMA controllers based on each other's output signals using the output of a register.
〔実施例〕
次に本発明をその実施例について図面を参照して説明す
る。[Embodiments] Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例によるDMAコントローラの
構成を示すブロック図である。第1図を参照すると本実
施例のDMAコントローラは、自己のDMAコントロー
ラへの書き込み/読みなし制御を行うとともにメモリや
周辺コントローラの書き込み/読みだし制御を行うR/
W制御回路1と、DMAを行う先頭番地や終了番地もし
くはデータ数を格納するためのアドレスレジスタ2と、
CPUからDMAコントローラの状態を設定するための
コマンドレジスタ3と、CPUがDMAコントローラの
状態を監視するためのステータスレジスタ4と、アドレ
スバッファ5と、データバッファ6と、DMAコントロ
ーラに接続される各周辺コン1〜ローラ間(各チャンネ
ル)のDMA要求にたいしてその優先順位の割付、制御
を行うとともにCPUに対してDMA中のバス制御を行
うチャネルプライオリティ−制御回路7と、各DMAコ
ントローラ間のDMA動作の優先順位を制御する優先順
位判断回路8と、そのDMAコントローラに割り付けら
れた優先順位を格納する優先順位レジスタ9と、他のD
MAコントローラからのDMA要求受付信号を入力する
プライオリティ入力ボート10と、内部データーバス1
1と、DMA動作を許可するDMA許可信号出力線12
と、各周辺コントローラからのDMA要求を受け付けた
ことを示すDMA要求受付信号出力線13と、それぞれ
他のDMAコントローラからのDMA要求受付信号(そ
れぞれpRro、I)RI 1.PH10)を受信する
端子1’4.15および16と、他のDMAコントロー
ラへのDMA要求信号(DMB)の出力端子17と、ア
ドレスバスとの接続端子18と、データバスとの接続端
子1つと、DMAコントローラを制御するRESET信
号、C8信号、R,EADY信号およびCLOCK信号
の受信端子20,21.22および23と、MEMR信
号、MEMW信号、IOR信号およびIOW信号をそれ
ぞれ出力する端子24,25.26および27と、DM
A動作を制御するDRQ信号、DACK信号、HRQ信
号およびHLDA信号の入力または出力端子28,29
.30および31とを含んで構成されている。ここでD
RQ信号とDACK信号は制御可能な周辺コントローラ
の台数に応じて複数本の入力、出力信号となる(通常は
4本程度)。FIG. 1 is a block diagram showing the configuration of a DMA controller according to an embodiment of the present invention. Referring to FIG. 1, the DMA controller of this embodiment controls writing/reading to its own DMA controller, and also controls writing/reading to memory and peripheral controllers.
a W control circuit 1, an address register 2 for storing the start address, end address, or number of data for DMA;
A command register 3 for setting the state of the DMA controller from the CPU, a status register 4 for the CPU to monitor the state of the DMA controller, an address buffer 5, a data buffer 6, and each peripheral connected to the DMA controller. A channel priority control circuit 7 that assigns and controls priorities for DMA requests between the controller 1 and the controller (each channel) and also controls the bus during DMA to the CPU, and controls the DMA operation between each DMA controller. A priority determination circuit 8 that controls the priority, a priority register 9 that stores the priority assigned to the DMA controller, and other D
A priority input port 10 for inputting a DMA request acceptance signal from the MA controller, and an internal data bus 1
1, and a DMA permission signal output line 12 that allows DMA operation.
, a DMA request acceptance signal output line 13 indicating that a DMA request from each peripheral controller has been accepted, and a DMA request acceptance signal (pRro, I, respectively) from each other DMA controller RI 1. terminals 1'4, 15 and 16 for receiving PH10), an output terminal 17 for outputting a DMA request signal (DMB) to another DMA controller, a connection terminal 18 for the address bus, and one connection terminal for the data bus. , terminals 20, 21, 22, and 23 for receiving the RESET signal, C8 signal, R, EADY signal, and CLOCK signal that control the DMA controller, and terminals 24, 25 for outputting the MEMR signal, MEMW signal, IOR signal, and IOW signal, respectively. .26 and 27 and DM
Input or output terminals 28, 29 for the DRQ signal, DACK signal, HRQ signal, and HLDA signal that control the A operation
.. 30 and 31. Here D
The RQ signal and DACK signal become a plurality of input and output signals depending on the number of controllable peripheral controllers (usually about four).
第2図は第1図の回路の中で特に本発明に関係する部分
を抽出して内部回路と共に示したもので、各ブロックと
信号の参照数字と符号は第1図に対応する。FIG. 2 shows extracted parts of the circuit shown in FIG. 1 that are particularly relevant to the present invention together with the internal circuit, and the reference numbers and symbols of each block and signal correspond to those in FIG. 1.
まず、第1図を用いて通常のDMA動作について説明を
おこなう。DMA動作にあたって、最初にCPUからコ
マンドレジスタ3へDMAコントローラへのコマンドが
書き込まれ、DMA転送を行う周辺コントローラに割当
られるDMAチャンネルに対してのDMA転送の開始ア
ドレス、終了アドレス等がアドレスレジスタ2に設定さ
れる。First, normal DMA operation will be explained using FIG. In a DMA operation, a command to the DMA controller is first written from the CPU to the command register 3, and the start address, end address, etc. of the DMA transfer for the DMA channel assigned to the peripheral controller performing the DMA transfer are written to the address register 2. Set.
そして、周辺コントローラからのDRQ信号を端子28
に受け付けると、まずCP tJに対して、端子30か
らHRQ信号をアクティブとして、バスラインの使用許
可を要求する。さらに、端子31にHL D A信号に
よって、CPUからの許可を受けると、周辺コントロー
ラに対して、D A CK信号を端子29から返し、同
時にデータの書き込み/読みだしの方向により、周辺コ
ントローラには端子26.27から書き込み/読み出し
信号■○R,/I○Wをアクティブにし、メモリに対し
ては端子24.25からメモリ書き込み/読み出し信号
M E M R,/ M E M Wをアクティブとす
る。そして、アドレスレジスタ2内の開始アドレスバス
をアドレスバス端子18から出力し、端子28へのDR
Q信号がアクティブとなるデータ転送の要求のたびにC
PUにバスを確認し、アドレスレジスタ2に書き込まれ
た最終アドレスに達するまで転送を繰り返す。またチャ
ネル間ては同時に要求信号がアクティブになっている場
合は、優先順位の高いチャネルに対して、DACK信号
を返し、優先順位の低いチャネルに対しては上位のデー
タ転する。優先順位レジスタ9の内容は2ビツトQI
Q2とし、その保持する2ピツI〜のデータに対応す
るプライオリティ順位と他のDMAコンl−ローラから
ノI) M A要求受付信号I)RTO,PRll
PRI2に対するプライオリティ人カポ−1−10にお
ける優先順位を下表のとおりとする。Then, the DRQ signal from the peripheral controller is sent to the terminal 28.
When received, first, the HRQ signal from the terminal 30 is made active to CP tJ, requesting permission to use the bus line. Furthermore, when permission is received from the CPU by the HLDA signal to the terminal 31, a D ACK signal is returned to the peripheral controller from the terminal 29, and at the same time, depending on the direction of data write/read, the peripheral controller receives permission from the CPU. Activate write/read signals ■○R, /I○W from terminals 26.27, and activate memory write/read signals MEM R, /MEMW from terminals 24.25 for the memory. . Then, the start address bus in the address register 2 is output from the address bus terminal 18, and the DR to the terminal 28 is output.
C every time a data transfer request occurs when the Q signal becomes active.
The bus is confirmed by the PU, and the transfer is repeated until the final address written in address register 2 is reached. If request signals are active simultaneously between channels, a DACK signal is returned to the channel with a higher priority, and higher-order data is transferred to a channel with a lower priority. The contents of priority register 9 are 2-bit QI
Q2, and the priority order corresponding to the data of the 2 pins I~ held by it and the information from other DMA controllers.
The priority order of priority person capos 1-10 for PRI2 is as shown in the table below.
たとえは、優先順位レジスタ9に<Ql、Q2)=(0
,0)と書き込まれていた場合には、本デバイス(DM
Aコントローラ)の優先順位が最も高く、端子14に接
続されるコントローラ(PRIOを出力する)か2番で
、端子15のPRIIか3番、端子16のPRI2が4
番となる。また、優先順位レジスタ9に(1,1)と書
き込まれている場合は最も優先順位か低く4番目となる
。For example, in priority register 9, <Ql, Q2) = (0
,0), this device (DM
Controller A) has the highest priority, the controller connected to terminal 14 (which outputs PRIO) is number 2, the PRII of terminal 15 is number 3, and the PRI2 of terminal 16 is number 4.
It's my turn. Furthermore, if (1, 1) is written in the priority register 9, it is the fourth lowest priority.
いま優先順位レジスタ9に(0,1)と書き込まれてい
るとすると、優先順位2で動作することとなる、そして
、DMA要求(端子28へのDRQ信号〉かアクティブ
となるとまず出力線13におけるDMA要求受付信号が
アクティブとなり、外部への出力端子17においてDM
B信号をアクティブとするとともに優先順位判断回路8
において他のDMAコントローラからの要求信号かある
かないかをチエツクする。その時にたとえはPR■0信
号がアクティブであるとすると、自分よりも優先順位が
高いため、第2図に示す優先順位判断回路8内の論理回
路の組合せによって、出力線12上でのDMA許可信号
かアクティブとならず、PRIO信号がインアクティブ
(DMA動作の終了)となるまで保留状態となる。そし
て再度チエツクを行った状態でPRIOかインアクティ
ブとなっていると、出力線12」−てDMA許可信号が
アクティブとなり、先と同様にCPUに対してト(RQ
倍信号アクティブとし、HL D A信号を受け付けて
、D M A動作を開始することとなる。Assuming that (0, 1) is currently written in the priority register 9, it will operate at priority 2, and when a DMA request (DRQ signal to terminal 28) becomes active, first the output line 13 is The DMA request acceptance signal becomes active, and the DMA request signal is activated at the output terminal 17 to the outside.
The B signal is activated and the priority determination circuit 8
At this point, it is checked whether there is a request signal from another DMA controller. For example, if the PR0 signal is active at that time, it has a higher priority than itself, so the combination of logic circuits in the priority determination circuit 8 shown in FIG. 2 allows DMA permission on the output line 12. The signal does not become active and remains in a pending state until the PRIO signal becomes inactive (the end of the DMA operation). Then, if the check is performed again and PRIO is inactive, the DMA permission signal becomes active on the output line 12'', and as before, the DMA permission signal is sent to the CPU (RQ).
The double signal is activated, the HLDA signal is received, and the DMA operation is started.
一方、PRIO信号がノンアクティブでPRI]信号か
アクティブとなっている場合には、本デバイスの優先順
位のほうが高いため、DMA要求受付信号かアクティブ
となった時点でDMB信号を出力端子17に出力すると
ともに、優先順位判断回路8はDMA許可信号を出力線
12上てアクティブとする。そしてCPUに対して、バ
スの許可を貰いDMAデータ転送を開始する。On the other hand, if the PRIO signal is inactive and the PRI] signal is active, this device has a higher priority, so the DMB signal is output to the output terminal 17 when the DMA request acceptance signal becomes active. At the same time, the priority determination circuit 8 makes the DMA permission signal active on the output line 12. Then, it obtains bus permission from the CPU and starts DMA data transfer.
以上説明したように本発明によれば、DMAコントロー
ラ間を接続するとともにそれぞれのコントローラ内の書
換え可能なレジスタに順位を割付けることにより、複数
個のDMAコン1ヘローラの並列動作かり能となる。従
って、CP Uか介在することなく I) M Aコン
トローラ間の優先順位で動作か可能となり、多数の周辺
コンl−ローラを制御する場合てもシステムの効率か下
からないという効果が得られる。As described above, according to the present invention, parallel operation of a plurality of DMA controllers is enabled by connecting DMA controllers and assigning ranks to rewritable registers in each controller. Therefore, it is possible to operate according to the priority order among the MA controllers without the intervention of the CPU, and the system efficiency is not degraded even when controlling a large number of peripheral controllers.
第1図は本発明の一実施例によるDMAコントローラの
構成を示すブロック図、第2図は第1図内の一部のブロ
ックの回路図である。
図において、1はR/W制御回路、2はアドレスレジス
タ、3はコマンドレジスタ、4はステータスレジスタ、
5はアドレスバッファ、6はデーターバッファ、7はチ
ャネルプライオリティ−制御回路、8は優先順位判断回
路、9は優先順位レジスタ、10はプライオリティ入力
ボート、11は内部データバス、12はDMA許可信号
出力線、13はDMA要求受付信号出力線、14,15
.16はDMA要求受付信号(PRIO,PRII、P
RI2)の受信端子、17はDMA要求信号(DMB)
の出力端子、18はアドレスバス、19はデーターバス
、20,21,22.23はDMAコントローラを制御
する制御信号(RESET、C8,READY、CLO
CK信号)の入力端子、24,25,26.27はメモ
リの読み出し/書き込み指示信号MEMR,MEMWお
よび周辺コントローラへの読み出し/書き込み信号l0
R1IOW)用の端子、28,29,30.31はDM
A動作を制御する制御信号(DRQ、DACK、HR(
l HLDA信号)用の端子である。FIG. 1 is a block diagram showing the configuration of a DMA controller according to an embodiment of the present invention, and FIG. 2 is a circuit diagram of some blocks in FIG. 1. In the figure, 1 is an R/W control circuit, 2 is an address register, 3 is a command register, 4 is a status register,
5 is an address buffer, 6 is a data buffer, 7 is a channel priority control circuit, 8 is a priority judgment circuit, 9 is a priority register, 10 is a priority input port, 11 is an internal data bus, 12 is a DMA permission signal output line , 13 is a DMA request acceptance signal output line, 14, 15
.. 16 is a DMA request acceptance signal (PRIO, PRII, P
RI2) receiving terminal, 17 is a DMA request signal (DMB)
18 is an address bus, 19 is a data bus, 20, 21, 22.23 are control signals (RESET, C8, READY, CLO) that control the DMA controller.
CK signal) input terminals 24, 25, 26.27 are memory read/write instruction signals MEMR, MEMW and read/write signal l0 to the peripheral controller.
R1IOW) terminals, 28, 29, 30.31 are DM
Control signals (DRQ, DACK, HR (
l HLDA signal) terminal.
Claims (1)
スタと、DMA要求を受け付けたことを示す出力信号を
発生する手段と、前記出力信号と他方のDMAコントロ
ーラの出力信号とにより他方のDMAコントローラとの
間の優先順位を前記レジスタの出力を用いて判断する判
断回路とを設けたことを特徴とするDMAコントローラ
。a register that determines the priority order among the plurality of DMA controllers; a means for generating an output signal indicating that a DMA request has been received; 1. A DMA controller, further comprising: a determination circuit that determines the priority order of the DMA controller using the output of the register.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16018590A JPH0449460A (en) | 1990-06-19 | 1990-06-19 | Dma controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16018590A JPH0449460A (en) | 1990-06-19 | 1990-06-19 | Dma controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0449460A true JPH0449460A (en) | 1992-02-18 |
Family
ID=15709664
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16018590A Pending JPH0449460A (en) | 1990-06-19 | 1990-06-19 | Dma controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0449460A (en) |
-
1990
- 1990-06-19 JP JP16018590A patent/JPH0449460A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7725621B2 (en) | Semiconductor device and data transfer method | |
| KR100615659B1 (en) | Direct memory access engine to support multiple virtual direct memory access channels | |
| KR19990067846A (en) | Method and arrangement for operating a bus system | |
| US8880811B2 (en) | Data processing device and data processing arrangement for accelerating buffer synchronization | |
| JPH0198048A (en) | Peripheral controller and adapter interface | |
| JPH04363746A (en) | Microcomputer system having dma function | |
| CN1996272A (en) | Method and Arbitration Circuit for Dynamically Using Direct Memory Access Channel | |
| US5933616A (en) | Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses | |
| US6282144B1 (en) | Multi-ported memory with asynchronous and synchronous protocol | |
| CN104077080A (en) | Memory access method, memory access control method, SPI flash memory device and controller thereof | |
| JP2003150395A (en) | Processor and program transfer method thereof | |
| JPH0449460A (en) | Dma controller | |
| JPH11232213A (en) | Data transfer system for input/output device | |
| JP3206585B2 (en) | Bus control device, master device, slave device, and bus control method | |
| JPH0689257A (en) | Arbitration device of bus bridge | |
| JPH03137756A (en) | Information processor | |
| JPH10283302A (en) | Method and system for supplying data to bus connected to plural processors | |
| JP2002149626A (en) | Microcomputer | |
| JPH07319840A (en) | Multi-cpu device | |
| JPH0764849A (en) | Shared memory controller for processor | |
| JPH03262064A (en) | Data transfer system using system bus | |
| JPH05158859A (en) | Information processor | |
| JP2002366511A (en) | Bus arbitration circuit | |
| JPH02201559A (en) | Hierarchical memory controller | |
| JP2001265711A (en) | Data transfer device and bus system |