JPS6041387B2 - Direct memory access control circuit - Google Patents

Direct memory access control circuit

Info

Publication number
JPS6041387B2
JPS6041387B2 JP19440881A JP19440881A JPS6041387B2 JP S6041387 B2 JPS6041387 B2 JP S6041387B2 JP 19440881 A JP19440881 A JP 19440881A JP 19440881 A JP19440881 A JP 19440881A JP S6041387 B2 JPS6041387 B2 JP S6041387B2
Authority
JP
Japan
Prior art keywords
address
dma
ram
transfer
direct memory
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
Application number
JP19440881A
Other languages
Japanese (ja)
Other versions
JPS5896329A (en
Inventor
徹 松田
正夫 唐橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP19440881A priority Critical patent/JPS6041387B2/en
Publication of JPS5896329A publication Critical patent/JPS5896329A/en
Publication of JPS6041387B2 publication Critical patent/JPS6041387B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】 (適用分野) 本発明は、ダイレクトメモリアクセス(以下DMAと略
す)制御方法によりデータ転送を行なうチャネル制御部
において、ミニコンピュータシステムで必要となるチャ
ネルの機能を現在安価に、且つ大量に使用されているD
MA制御用のLSIとMSIの組合せにより構成するダ
イレクトメモリアクセス制御回路(以下DMA制御回路
と略す)に関する。
Detailed Description of the Invention (Field of Application) The present invention provides a channel control unit that performs data transfer using a direct memory access (hereinafter abbreviated as DMA) control method, and provides channel functions currently required in minicomputer systems at low cost. , and is used in large quantities D
The present invention relates to a direct memory access control circuit (hereinafter abbreviated as DMA control circuit) configured by a combination of LSI and MSI for MA control.

(背景技術) ミニコンピユータシステムで1/0とメインメモリの間
でデータ転送を行なうDMA方式のチャネル制御部では
、データ転送の高速化を実現するために、従来は高速で
動作可能なMSI等で構成されていた。
(Background technology) In the DMA channel control unit that transfers data between 1/0 and the main memory in a minicomputer system, in order to achieve high-speed data transfer, conventionally, MSI, etc. that can operate at high speed has been used. It was configured.

従ってチャネル制御部の部品数が多くなり、限られたス
ペースに多くのチャネルを収容することが困難であった
。一方、最近では1/0の処理速度が向上し、OMA転
送でなければ1/○の機能が十分発揮できない場合が多
くなっており、それに伴ってDMAチャネルも多チャネ
ル化が要求されてきている。さらに現在のミニコンピュ
ータより上位のシステムでは、プログラムの保護を行な
うためのメモIJプロテクト機能及び安価なダイナミッ
クメモリの出現によるメモリ容量の増加など、DMAチ
ャネルに要求される機能も増えているので、従来と同じ
方式で複数のDMAチャネル例えばDMA8チャネルを
サポートしようとするとチャネル制御部が肥大化する欠
点があつた。最近では、マスタ・スライスLSIの出現
により専用のLSIが簡単に開発、入手可能であるが、
これらのLSIは一般にコスト高であり、又チャネルの
機能変更に対しても容易に対応できない欠点がある。
Therefore, the number of components in the channel control section increases, making it difficult to accommodate a large number of channels in a limited space. On the other hand, recently, the processing speed of 1/0 has improved, and in many cases, the functions of 1/○ cannot be fully demonstrated without OMA transfer, and accordingly, there is a demand for multi-channel DMA channels. . Furthermore, in systems higher than current minicomputers, the functions required of the DMA channel are increasing, such as the memo IJ protection function to protect programs and the increase in memory capacity due to the advent of inexpensive dynamic memory. If an attempt was made to support a plurality of DMA channels, for example 8 DMA channels, using the same method as above, the channel control section would become bulky. Recently, with the advent of master slice LSIs, dedicated LSIs can be easily developed and obtained.
These LSIs are generally expensive and have the disadvantage that they cannot easily accommodate changes in channel functions.

(発明の課題) 本発明の目的は前記欠点を除去するもので、チャネルに
必要な情報を記憶するためのRAMとメモリアドレスを
計数するための加算器とDMAコントロール用は1との
組合せにより、複数のチャネルについて共通に動作する
回路(以下、共通回路と略す)を構成し、DMAの多チ
ャネル化及びメモリ空間の拡張に対して容易に対応可能
としたものである。
(Problem of the Invention) An object of the present invention is to eliminate the above-mentioned drawbacks by combining a RAM for storing information necessary for a channel, an adder for counting memory addresses, and 1 for DMA control. A circuit that operates in common for a plurality of channels (hereinafter abbreviated as a common circuit) is configured to easily support multi-channel DMA and expansion of memory space.

(実施例) 第1図により、本発明の実施例を説明する。(Example) An embodiment of the present invention will be explained with reference to FIG.

第1図において、1,2,3はランダム・アクセスメモ
リで、1は拡張アドレスの記憶、2はチャネルステイタ
スの記憶、3はプロテクションキーの記憶に使用される
。ここで本発明の中の拡張アドレスとは後述のDMAC
6にセットすることができるアドレス領域を越えたアド
レスを意味する。すなわち、DMAC6のアドレス空間
が215までとすれば、216以上のアドレスは拡張ア
ドレスとしてRAMIに記憶される。4及び5はれ瓜E
→ILINEの切替ゲートで、入力端子3がLOWレベ
ルの時上段(1側)を選択、HIGHレベルの時下段(
2側)を選択する。
In FIG. 1, 1, 2, and 3 are random access memories, 1 is used to store extended addresses, 2 is used to store channel status, and 3 is used to store protection keys. Here, the extended address in the present invention is DMAC, which will be described later.
This means an address beyond the address range that can be set to 6. That is, if the address space of the DMAC 6 is up to 215, addresses 216 and above are stored in the RAMI as extended addresses. 4 and 5 Swelling melon E
→Use the ILINE switching gate to select the upper stage (1 side) when input terminal 3 is at LOW level, and to select the lower stage (on the 1 side) when input terminal 3 is at HIGH level.
2 side).

6は複数のチャネルについて独立したメモリアドレス、
データ数のカウンタ、DMA優先順位の判定回路及び認
識信号の送出回路を有する汎用のDMAコントロール用
LSIであり、通常はDMAチャネル程度を内蔵したも
のである。
6 is an independent memory address for multiple channels;
It is a general-purpose DMA control LSI that has a data number counter, a DMA priority determination circuit, and a recognition signal sending circuit, and usually has a built-in DMA channel or so.

8は加算器、9は加算結果を一時記憶するためのバッフ
ァレジスタである。
8 is an adder, and 9 is a buffer register for temporarily storing the addition result.

7はエンコーダであり、その時動作しているDMAAC
K信号を受けて2進数に変換し、これをRAMI〜3の
アドレスラインに入力するためのものである。
7 is an encoder, which is the DMAAC that is operating at that time.
This is for receiving the K signal, converting it into a binary number, and inputting it to the address lines of RAMI~3.

1川まメモリアドレスの下位側が全て“1”になった時
に“1”を出力するゲートで、拡張アドレスを歩進(十
1)するのに使用する。
This is a gate that outputs "1" when all the lower side of the memory address becomes "1", and is used to increment (11) the extended address.

なお、第1図において本発明の説明に必要でない信号線
、例えばRAMのIJ−ド/ライト線、メモリバスのリ
ード/ライト線などは省略してある。
In FIG. 1, signal lines that are not necessary for explaining the present invention, such as RAM IJ-read/write lines and memory bus read/write lines, are omitted.

以下第1図の構成において動作を説明する。The operation of the configuration shown in FIG. 1 will be explained below.

DMA転送を開始する場合は、チャネルを起動する前に
CPUより下記手順により各レジスタに対して初期設定
を行なうDMAC6には、データ転送を開始するチャネ
ルに対してメモリアドレスの下位側及びデータ転送数を
セットする。
When starting a DMA transfer, the CPU initializes each register using the following procedure before starting the channel.The DMAC 6 includes the lower side of the memory address and the number of data transfers for the channel where the data transfer is to be started. Set.

続いてRAM1,RAM3にも初期設定を行なうが、こ
の時のRAMのアドレスは、切換ゲートEXG5の3入
力端子がまだDMAサイクルになつていないのでLOW
レベルのため、CPUのアドレスバスを選択した状態に
なっている。そこで、CPUより使用するDMAチャネ
ルに対応したアドレスを送出してRAM3にはメモリの
保護キーをセットし、RAMIには次の手順により拡張
アドレスをセットする。すなわち、RAMIの入力線に
はEXGゲート4があり、CPUより拡張アドレスをセ
ットする場合は、DMABUSY信号はオフ状態(HI
GHレベル)となっているので、RAMIの入力線にC
PUのデータバスが選択され、拡張アドレスがセットさ
れる。以上の初期設定を行なった後、DMAC6の中の
動作ごせたし、チャネルを動作可能状態とし、1/0か
らのデータ転送要求であるDRQ信号(DMAREQU
EST)待ちの状態となる。DMAC6は1/0からの
DRQ信号を受信するメモリバスを専有し、1/0に対
してチャネルがDRQを受付けたことを示す認識信号で
あるDACK(DMAACKNOWLEDGE)信号を
返送し、メモリに対してはメモリアドレスの下位側を送
出してDMA転送サイクルに入る。この時ェンコーダE
NC7には、現在選択されているDANK信号が入力さ
れているので、それに対応した2進数がEXG5の2側
に送出される。EX05の出力は、DMA転送中はDM
ABUSY信号が“1”になるので、EXGの3入力が
HIGHレベルとなって2側が選択されることになり、
ENC7の出力信号がRAMI〜3のアドレスとして送
出される。従ってDMAサイクル中のRAM出力は、予
め初期設定された拡張アドレス及びプロテクションキー
が選択され、メモリバスに送出されてDMAの1サイク
ルが実行されることになる。拡張アドレスについては、
DMAC6により送出される下位側のアドレスが全て“
1”になった時に歩進(十1)する必要があるので、G
ATEIOでこの状態を検出し、加算器8に“1”信号
を送出する。加算器8は、GATEI Oからの信号が
LOWの時は(拡張アドレス)十0を行ない、GATE
I Oからの信号がHIGHの時は(拡張アドレス)十
1を行なって、バッファレジスタBUF9に送出する。
BUF9の出力は、EXOゲートの1側に接続されてお
り、DM鶴伝送中はEXG4の3入力はLOWレベルに
なっているので、RAMIにはアドレスの加算された結
果が入力されることになり、現在のDMAサイクルが終
了する前にチャネル制御部で再びRAMIに拡張アドレ
スを書込むことにより、メモリアドレスが更新される。
第1図でRAM2はメモリのバリテイエラ、プロテクシ
ヨンエラーなどのDMA転送に伴なう情報を記憶するた
めのもので、システムによっては必ずしも必要ではない
が、本例のような応用も可能である。以上説明したシー
ケンスによりDMA転送が実行されるが、RNMI〜3
はアドレスラインが共通になっているので、入出力線の
数が多いRAMを選択して、例えばRAM1とRAM3
を1つのRAMで置き換えることにより、さらに部品の
数を減少させることも可能である。
Next, initial settings are made for RAM1 and RAM3, but at this time, the address of RAM is LOW because the 3rd input terminal of switching gate EXG5 has not yet entered the DMA cycle.
Because of the level, the CPU address bus is selected. Therefore, an address corresponding to the DMA channel to be used is sent from the CPU, a memory protection key is set in the RAM 3, and an extended address is set in the RAMI by the following procedure. That is, the RAMI input line has an EXG gate 4, and when setting an extended address from the CPU, the DMABUSY signal is in the off state (HI
GH level), so connect C to the RAMI input line.
The PU data bus is selected and the extended address is set. After performing the above initial settings, the operation in DMAC 6 is complete, the channel is enabled, and the DRQ signal (DMAREQU), which is a data transfer request from 1/0, is completed.
EST) is in a waiting state. DMAC6 exclusively uses the memory bus to receive the DRQ signal from 1/0, and returns a DACK (DMA ACKNOWLEDGE) signal, which is a recognition signal indicating that the channel has accepted the DRQ, to 1/0, and sends out the lower side of the memory address and enters a DMA transfer cycle. At this time encoder E
Since the currently selected DANK signal is input to NC7, the corresponding binary number is sent to the 2 side of EXG5. The output of EX05 is DM during DMA transfer.
Since the ABUSY signal becomes "1", the 3 inputs of EXG become HIGH level and the 2 side is selected.
The output signal of ENC7 is sent as the address of RAMI~3. Therefore, for the RAM output during a DMA cycle, the extended address and protection key initialized in advance are selected and sent to the memory bus, and one cycle of DMA is executed. For extended addresses,
All lower addresses sent by DMAC6 are “
Since it is necessary to advance (11) when it reaches 1", G
ATEIO detects this state and sends a "1" signal to adder 8. Adder 8 performs 10 (extended address) when the signal from GATEI O is LOW, and
When the signal from IO is HIGH, (extended address) 11 is performed and sent to buffer register BUF9.
The output of BUF9 is connected to the 1 side of the EXO gate, and the 3 inputs of EXG4 are at LOW level during DM Tsuru transmission, so the result of adding the addresses will be input to RAMI. , the memory address is updated by writing the extended address to the RAMI again in the channel controller before the current DMA cycle ends.
In FIG. 1, a RAM 2 is used to store information associated with DMA transfer such as memory validation errors and protection errors, and although this is not always necessary depending on the system, it can also be applied as in this example. DMA transfer is executed according to the sequence explained above, but RNMI~3
has a common address line, so select a RAM with a large number of input/output lines, for example RAM1 and RAM3.
It is also possible to further reduce the number of parts by replacing the memory with one RAM.

第1図ではDMAチャネル数は4つの場合について説明
したが、DMAC6の数を増加して、チャネル数を例え
ば8〜16チャネルにしても、チャネル数がRAMのア
ドレス領域を越えない限り対応可能であり、DMA8チ
ャネルについてサポートした実施例を第2図に示す。
In Figure 1, we have explained the case where the number of DMA channels is four, but even if the number of DMAC6 is increased to, for example, 8 to 16 channels, it can be handled as long as the number of channels does not exceed the address area of the RAM. FIG. 2 shows an embodiment that supports eight DMA channels.

第2図は第1の実施例に対して、DMACI Iを追加
し、DMAの認識線であるDACK信号をェンコーダE
NC7の入力に追加したものであり、動作は第1図のも
のと全く同じである。
In Fig. 2, DMACI I is added to the first embodiment, and the DACK signal, which is the DMA recognition line, is sent to the encoder E.
This is added to the input of NC7, and the operation is exactly the same as that shown in FIG.

第2図の如く、本発明ではチャネル数を増加する場合は
、例えばRAMのアドレス線及びェンコーダの出力とし
て4ビット分を確保しておけば、24 =16で16チ
ャネルまでについては、共通回路を何ら変更することな
く対応可能となることが特徴である。
As shown in Fig. 2, in the case of increasing the number of channels according to the present invention, for example, if 4 bits are secured as the address line of the RAM and the output of the encoder, a common circuit can be used for up to 16 channels (24 = 16). The feature is that it can be handled without any changes.

又、アドレス空間の拡張に対しても、予めRAMIの入
出力線に予備を準備しておくことにより、全てのDMA
チャネルに対して容易に拡張可能である。(発明の効果
) 本回路方式では、DMAC6周辺の回路が複数のチャネ
ルに対する共通回路になっているので、部品数が少ない
簡単な回路で多チャネルのサポートが可能となり、コス
ト低減とともに信頼性が向上する利点がある。
Also, for address space expansion, by preparing spare RAMI input/output lines in advance, all DMA
Easily scalable to channels. (Effects of the invention) In this circuit system, the circuit around the DMAC6 is a common circuit for multiple channels, so it is possible to support multiple channels with a simple circuit with a small number of components, reducing costs and improving reliability. There are advantages to doing so.

又本方式では1つのチャネルについて動作が確認できれ
ば、DMAC周辺が共通回路になっているので他のチャ
ネルもほとんど動作可能であり、調整時間を短縮できる
効果もある。
Furthermore, in this system, if the operation of one channel is confirmed, since the DMAC periphery is a common circuit, most of the other channels can also be operated, which has the effect of shortening the adjustment time.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明による装置の1実施例の構成図、第2図
は本発明による装置の別の実施例の構成例である。 1,2,3……ランダムアクセスメモリ、4,5・・・
・・・41NE→IL川E切換ゲート、6・・・・・・
DMAコントロール用LSI、7……エンコーダ、8・
・・・・・加算器、9……バッファレジスタ、10・・
・・・・ゲ−トぐ1”検出用のゲート)、11・・・・
・・DMAコントロール用は1(第2図のみ)。 第1図 第2図
FIG. 1 is a block diagram of one embodiment of the apparatus according to the present invention, and FIG. 2 is a block diagram of another embodiment of the apparatus according to the present invention. 1, 2, 3... Random access memory, 4, 5...
...41NE → IL River E switching gate, 6...
DMA control LSI, 7...Encoder, 8.
...Adder, 9...Buffer register, 10...
...gate 1" detection gate), 11...
...1 for DMA control (Figure 2 only). Figure 1 Figure 2

Claims (1)

【特許請求の範囲】[Claims] 1 複数のDMAチヤネルを有するダイレクトメモリア
クセスコントローラ(DMAC)の制御によりメインメ
モリと複数の入出力装置(I/O)との間でデータ転送
を行なうダイレクトメモリアクセス制御回路において、
前記DMACの転送アドレスの拡張アドレスである上位
アドレスを各チヤネル毎に与えるランダムアクセスメモ
リ(RAM)と、初期設定時に中央処理装置(CPU)
から供給される前記RAMのアドレスを選択し、DMA
転送中のときにこのときのDMAチヤネル番号に対応す
る前記RAMのアドレスを選択して前記RAMに供給す
る第1の切換えゲートと、DMA転送中のときに前記D
MACの転送アドレスの下位アドレスの桁上りにより拡
張アドレスを1だけ加算し前記RAMに格納する手段と
、初期設定時に前記CPUからのデータを選択し、DM
A転送中のときには前記手段からの出力を選択して前記
RAMに供給する第2の切換ゲートとを有し、前記メイ
ンメモリのアドレスとして前記RAMからの上位アドレ
スと前記DMACからの下位アドレスが供給されること
を特徴とするダイレクトメモリアクセス制御回路。
1. In a direct memory access control circuit that transfers data between main memory and multiple input/output devices (I/O) under the control of a direct memory access controller (DMAC) having multiple DMA channels,
A random access memory (RAM) that provides an upper address, which is an extended address of the transfer address of the DMAC, for each channel, and a central processing unit (CPU) at the time of initial setting.
Select the address of the RAM supplied from the DMA
a first switching gate that selects the address of the RAM corresponding to the current DMA channel number and supplies it to the RAM during the DMA transfer;
means for adding 1 to the extended address by a carry of the lower address of the MAC transfer address and storing it in the RAM;
and a second switching gate that selects the output from the means and supplies it to the RAM during A transfer, and supplies an upper address from the RAM and a lower address from the DMAC as the address of the main memory. A direct memory access control circuit characterized by:
JP19440881A 1981-12-04 1981-12-04 Direct memory access control circuit Expired JPS6041387B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19440881A JPS6041387B2 (en) 1981-12-04 1981-12-04 Direct memory access control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19440881A JPS6041387B2 (en) 1981-12-04 1981-12-04 Direct memory access control circuit

Publications (2)

Publication Number Publication Date
JPS5896329A JPS5896329A (en) 1983-06-08
JPS6041387B2 true JPS6041387B2 (en) 1985-09-17

Family

ID=16324101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19440881A Expired JPS6041387B2 (en) 1981-12-04 1981-12-04 Direct memory access control circuit

Country Status (1)

Country Link
JP (1) JPS6041387B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385528A (en) * 2020-10-16 2022-04-22 瑞昱半导体股份有限公司 Direct memory access controller, electronic device using the same, and method of operating the same

Also Published As

Publication number Publication date
JPS5896329A (en) 1983-06-08

Similar Documents

Publication Publication Date Title
CA1173928A (en) Channel interface circuit
US4163280A (en) Address management system
GB1572426A (en) Microcomputer systems including a memory
US20030046473A1 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
US6931462B2 (en) Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same
JP4855864B2 (en) Direct memory access controller
EP0217350A2 (en) Data transfer control unit and system
JP3604548B2 (en) Address match detection device, communication control system, and address match detection method
GB2060961A (en) Data processing system having memory modules with distributed address information
US5428801A (en) Data array conversion control system for controlling conversion of data arrays being transferred between two processing systems
JPS6041387B2 (en) Direct memory access control circuit
CN106940684B (en) Method and device for writing data according to bits
KR960001023B1 (en) Bus sharing method and the apparatus between different bus
JPS61165170A (en) Bus controlling system
EP4102372A1 (en) Artificial intelligence chip and data operation method
JPS6312303B2 (en)
JPH01291343A (en) Memory managing device
CN115494761A (en) Digital circuit architecture and method for directly accessing memory by MCU
JPH05120207A (en) Data transfer system
KR100192774B1 (en) Apparatus for identifying structure of memory in a computer system
JPH0285950A (en) Inter-bus transfer system
JPH05324534A (en) Dma transfer system
JPH01315858A (en) Data transfer control method and device
JPS59100653A (en) Polling address selecting system
JPS6349815B2 (en)