JPH08202648A - Direct memory access transfer system and method - Google Patents

Direct memory access transfer system and method

Info

Publication number
JPH08202648A
JPH08202648A JP897795A JP897795A JPH08202648A JP H08202648 A JPH08202648 A JP H08202648A JP 897795 A JP897795 A JP 897795A JP 897795 A JP897795 A JP 897795A JP H08202648 A JPH08202648 A JP H08202648A
Authority
JP
Japan
Prior art keywords
transfer
memory access
register
direct memory
channels
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
JP897795A
Other languages
Japanese (ja)
Inventor
Hiroyuki Sekine
浩之 関根
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP897795A priority Critical patent/JPH08202648A/en
Publication of JPH08202648A publication Critical patent/JPH08202648A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PURPOSE: To provide a DMAC which can fast answer the transfer requests given from many channels without increasing the circuit scale. CONSTITUTION: This system/method includes a memory 13 which stores the information including transferer addresses, transfer destination addresses and the transfer frequency of respective plural channels, and a DMAC 12 which has a pair of internal registers that store the information including the transferer addresses, the transfer destination addresses and the transfer information and reads the corresponding information out of the memory 13 to set them into the internal registers when a direct memory access request is received from one of those channels to carry out a direct memory access.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、多チャネル間でデータ
転送を行なうダイレクトメモリアクセス転送方式及び方
法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a direct memory access transfer system and method for transferring data between multiple channels.

【0002】[0002]

【従来の技術】一般にCPUを介さずにメモリと入出力
装置間あるいはメモリとメモリ間でデータを転送するダ
イレクトメモリアクセスコントローラ(以下ダイレクト
メモリアクセスを「DMA」、ダイレクトメモリアクセ
スコントローラを「DMAC」と略称する)では、転送
元アドレスと転送先アドレス及び転送回数の情報を保持
するレジスタを内部に有しており、外部デバイスからの
要求信号やCPUからの命令により上記内部レジスタの
内容に基づいてデータ転送を行なうようになっていた。
2. Description of the Related Art Generally, a direct memory access controller for transferring data between a memory and an input / output device or between a memory and a memory without going through a CPU (hereinafter, direct memory access is called "DMA", direct memory access controller is called "DMAC"). Abbreviated) internally has a register for holding information of a transfer source address, a transfer destination address, and the number of transfers, and data is generated based on the contents of the internal register by a request signal from an external device or an instruction from the CPU. It was supposed to transfer.

【0003】したがって、このDMACで複数組のデー
タ転送を行なう場合には、その組数分だけ上記転送元ア
ドレスと転送先アドレス及び転送回数の情報を保持する
レジスタを用意するか、あるいは一組分のレジスタの内
容をCPUによって書替えることでレジスタを共用化す
る必要があった。
Therefore, when a plurality of sets of data are transferred by this DMAC, a register for holding information of the transfer source address, the transfer destination address and the number of transfers is prepared by the number of sets, or one set is stored. It was necessary to share the register by rewriting the contents of the register of 1 by the CPU.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記前
者の組数分のレジスタを用意する方法では、DMACの
回路規模が大きくなってしまうという不具合が生じる。
また、上記後者の一組分のレジスタ内容をCPUによっ
て書き替えてレジスタを共用化する方法では、DMAC
の回路規模が大きくなることはないものの、レジスタの
書替えをCPUのソフトウェア制御により実現しなけれ
ばならず、上記前者の方法に比してデータ転送を開始す
るまでに要する時間が大幅に長くなり、またCPUの負
担も増えてしまうため、そもそもCPUの負担を軽減し
て高速のデータ処理を行なうべくしてDMAを採用する
意味が稀薄となってしまうという不具合がある。
However, the former method of preparing the registers for the number of sets causes a problem that the circuit scale of the DMAC becomes large.
Further, in the latter method of rewriting the contents of a set of registers by the CPU to share the registers, the DMAC
However, the rewriting of the register must be realized by software control of the CPU, and the time required to start data transfer becomes significantly longer than that of the former method. Further, since the load on the CPU also increases, there is a problem that the meaning of adopting the DMA for the purpose of reducing the load on the CPU and performing high-speed data processing is diminished in the first place.

【0005】本発明は上記のような実情に鑑みてなされ
たもので、その目的とするところは、回路規模を大きく
することなく多数チャネルからの転送要求に対して高速
応答可能なダイレクトメモリアクセス転送方式及び方法
を提供することにある。
The present invention has been made in view of the above situation, and an object thereof is to provide a direct memory access transfer capable of responding to a transfer request from a large number of channels at a high speed without increasing the circuit scale. A method and method are provided.

【0006】[0006]

【課題を解決するための手段】すなわち本発明は、 (1) 複数のチャネル夫々の転送元アドレス、転送先
アドレス及び転送回数を含む情報を記憶する外部メモリ
と、一組の転送元アドレス、転送先アドレス及び転送回
数を含む情報を保持する内部レジスタを有し、上記複数
のチャネル内のいずれかからダイレクトメモリアクセス
要求を受けた場合に上記外部メモリから対応する情報を
読出して上記内部レジスタにセットしてダイレクトメモ
リアクセスを実行するダイレクトメモリアクセス制御回
路とを備えるようにしたものである。 (2) 上記(1)項にあって、上記ダイレクトメモリ
アクセス制御回路は上記複数チャネルから同時にダイレ
クトメモリアクセス要求を受けた場合に優先順位を設け
て1つのチャネルを選択してダイレクトメモリアクセス
を実行するようにしたものである。
Means for Solving the Problems That is, the present invention provides (1) an external memory for storing information including a transfer source address, a transfer destination address and a transfer count of each of a plurality of channels, a set of transfer source address, and a transfer It has an internal register that holds information including the destination address and the number of transfers, and when a direct memory access request is received from any of the plurality of channels, the corresponding information is read from the external memory and set in the internal register. And a direct memory access control circuit for executing direct memory access. (2) In the above item (1), when the direct memory access control circuit receives direct memory access requests from the plurality of channels at the same time, a priority order is set and one channel is selected to execute the direct memory access. It is something that is done.

【0007】[0007]

【作用】上記(1)項のような構成とすることにより、
回路規模を大きくすることなく、またCPUからのソフ
トウェア制御を必要としないので速度を低下させること
なく、多数チャネルからの転送要求に応答してデータ転
送を実行させることが可能となる。
With the configuration as described in (1) above,
It is possible to execute data transfer in response to a transfer request from a large number of channels without increasing the circuit scale and without lowering the speed because software control from the CPU is not required.

【0008】上記(2)項のような構成とすることによ
り、上記(1)項の作用に加えて、同時に複数チャネル
からの転送要求を受けた際にその優先順位をも考慮して
必要なチャネルからデータ転送を実行させることが可能
となる。
By adopting the configuration of the above item (2), in addition to the operation of the above item (1), when the transfer requests from a plurality of channels are simultaneously received, it is necessary to consider the priority order thereof. It becomes possible to execute data transfer from the channel.

【0009】[0009]

【実施例】以下図面を参照して本発明の一実施例を説明
する。図1はその回路構成を示すもので、11がCP
U、12がDMAC、13がメモリ、14a〜14gが
第1乃至第7のI/O装置である。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows the circuit configuration, and 11 is a CP.
U and 12 are DMACs, 13 are memories, and 14a to 14g are first to seventh I / O devices.

【0010】CPU11及びDMAC12とメモリ13
及び第1乃至第7のI/O装置14a〜14gとは、例
えば24ビット幅のアドレス信号バスa、16ビット幅
のデータ信号バスb、制御信号バスcで接続されてお
り、制御信号バスcはチップセレクト信号CS、リード
ストローブ信号RD及びライトストローブ信号WRから
なる。
CPU 11 and DMAC 12 and memory 13
The first to seventh I / O devices 14a to 14g are connected by, for example, a 24-bit width address signal bus a, a 16-bit width data signal bus b, and a control signal bus c, and a control signal bus c. Comprises a chip select signal CS, a read strobe signal RD and a write strobe signal WR.

【0011】また、第1乃至第7のI/O装置14a〜
14gは、DMAC12に対してDMA要求信号DRE
Q1〜DREQ7を送出するもので、これに対応してD
MAC12から第1乃至第7のI/O装置14a〜14
gにDMA受付信号DACK1〜DACK7が送出され
る。
Further, the first to seventh I / O devices 14a-
14g sends the DMA request signal DRE to the DMAC 12.
It sends out Q1 to DREQ7, and in response to this, D
From the MAC 12 to the first to seventh I / O devices 14a to 14
The DMA acceptance signals DACK1 to DACK7 are sent to g.

【0012】さらに、DMAC12からCPU11に対
してバス権開放要求信号BREQ(e)が送出され、こ
れに対応してCPU11からDMAC12にバス権開放
信号BACK(d)が送出される。
Further, the DMAC 12 sends a bus right release request signal BREQ (e) to the CPU 11, and in response to this, the CPU 11 sends a bus right release signal BACK (d) to the DMAC 12.

【0013】続く図2は上記DMAC12内の詳細な構
成を示すものである。同図に示す如くDMAC12内に
は、ベースアドレス上位レジスタ(図では「BAHR」
と示す)21、ベースアドレス下位レジスタ(図では
「BALR」と示す)22、転送元アドレスレジスタ
(図では「SAR」と示す)23、転送先アドレスレジ
スタ24、転送カウントレジスタ(図では「TCR」と
示す)25及びチャネル制御レジスタ(図では「CHC
R」と示す)26からなるレジスタ郡を備えると共に、
回数制御部27、レジスタ制御部28、起動制御部29
及び、要求優先制御部30からなる制御部群並びにバス
インタフェース31を備える。
Next, FIG. 2 shows a detailed structure in the DMAC 12. As shown in the figure, the DMAC 12 has a base address upper register (“BAHR” in the figure).
21), a base address lower register (indicated by “BALR” in the figure) 22, a transfer source address register (indicated by “SAR” in the figure) 23, a transfer destination address register 24, and a transfer count register (indicated by “TCR” in the figure). 25 and a channel control register (in the figure, "CHC
Designated as "R") and has a register group of 26,
Count control unit 27, register control unit 28, start control unit 29
Also, a control unit group including the request priority control unit 30 and a bus interface 31 are provided.

【0014】バスインタフェース31は、上記アドレス
信号バスa、データ信号バスb及び制御信号バスcと上
記レジスタ群を構成する各レジスタ21〜26との間に
接続され、上記起動制御部29から送られてくる制御信
号に従ってデータの送受を行なう。
The bus interface 31 is connected between the address signal bus a, the data signal bus b and the control signal bus c and the registers 21 to 26 constituting the register group, and is sent from the activation control section 29. Data is transmitted and received according to the incoming control signal.

【0015】上記回数制御部27は、転送カウントレジ
スタ25の保持内容を受けてチャネル制御レジスタ26
にチャネル番号を設定する。レジスタ制御部28は、起
動制御部29からの制御信号を受けて各レジスタ21〜
26の書込み/読出し状態を制御する。
The number-of-times control section 27 receives the contents held in the transfer count register 25 and receives the channel control register 26.
Set the channel number to. The register control unit 28 receives the control signal from the activation control unit 29 and receives each of the registers 21 to 21.
26 to control the write / read state.

【0016】起動制御部29は、CPU11に対してバ
ス権開放要求信号BREQ(e)を送出し、これに対応
してCPU11より送られてくるバス権開放信号BAC
K(d)を受けてDMAの起動時の動作制御を行なうも
ので、上記チャネル制御レジスタ26の保持値を参照す
る他、要求優先制御部30とも制御信号の送受を行な
う。
The activation control unit 29 sends a bus right release request signal BREQ (e) to the CPU 11, and the bus right release signal BAC sent from the CPU 11 in response thereto.
It receives K (d) and controls the operation at the time of activation of the DMA. In addition to referring to the value held in the channel control register 26, it also transmits / receives a control signal to / from the request priority control unit 30.

【0017】要求優先制御部30は、内部に優先度の高
いチャネルの番号を保持する優先レジスタ(図では「N
o.」と示す)30aを設けるもので、上記第1乃至第
7のI/O装置14a〜14gからのDMA要求信号D
REQ1〜DREQ7を受け、さらに上記チャネル制御
レジスタ26の保持値を参照して起動制御部29と制御
信号の送受により優先度の高いチャネルを決定すべく動
作制御するもので、決定内容に応じて上記第1乃至第7
のI/O装置14a〜14gにDMA受付信号DACK
1〜DACK7を送出する。
The request priority control unit 30 internally has a priority register ("N" in the figure) for holding the number of a channel having a high priority.
o. 30a), and the DMA request signal D from the first to seventh I / O devices 14a to 14g.
Upon receiving REQ1 to DREQ7, and further referring to the value held in the channel control register 26, operation control is performed to determine a high priority channel by transmitting / receiving a control signal to / from the activation control unit 29. 1st to 7th
DMA acceptance signal DACK to the I / O devices 14a to 14g
1 to DACK7 are transmitted.

【0018】しかして、上記DMAC12が備えるレジ
スタ21〜26のうち、CPU11から書込み/読出し
を行なうことができるのはベースアドレス上位レジスタ
21、ベースアドレス下位レジスタ22及びチャネル制
御レジスタ26であり、図3にそれぞれのビット構成を
示す。
Among the registers 21 to 26 included in the DMAC 12, the base address upper register 21, the base address lower register 22 and the channel control register 26 can be written / read by the CPU 11 as shown in FIG. Shows each bit configuration.

【0019】すなわち図3(1),(2)はベースアド
レス上位レジスタ21及びベースアドレス下位レジスタ
22のビット構成を示すものであり、ベースアドレス上
位レジスタ21の全16ビット中の下位8ビットを用い
てメモリ13上に定義される後述するインデックスドレ
ジスタの先頭アドレスの上位8ビットを、ベースアドレ
ス下位レジスタ22の全16ビットを用いて上記インデ
ックスドレジスタの先頭アドレスの下位16ビットを保
持する。
That is, FIGS. 3A and 3B show the bit configurations of the base address upper register 21 and the base address lower register 22. The lower 8 bits of all 16 bits of the base address upper register 21 are used. The upper 8 bits of the start address of the indexed register, which will be described later, are stored in the memory 13 and the lower 16 bits of the start address of the indexed register are held by using all 16 bits of the base address lower register 22.

【0020】また、図3(3)はチャネル制御レジスタ
26のビット構成を示すものであり、全16ビット中の
上位8ビットを用いて上記メモリ13及び第1乃至第7
のI/O装置14a〜14gに対応した転送終了情報T
E7〜TE0を、下位8ビットを用いて同じく上記メモ
リ13及び第1乃至第7のI/O装置14a〜14gに
対応した転送許可情報DE7〜DE0をそれぞれ保持す
る。
FIG. 3C shows the bit configuration of the channel control register 26. The upper 8 bits of all 16 bits are used for the memory 13 and the first to seventh bits.
End information T corresponding to the I / O devices 14a to 14g
E7 to TE0 are respectively used to hold transfer permission information DE7 to DE0 corresponding to the memory 13 and the first to seventh I / O devices 14a to 14g by using the lower 8 bits.

【0021】上記インデックスドレジスタは、転送元ア
ドレスを示すソースアドレスSAが2ワード、転送先ア
ドレスを示すディスティネーションアドレスDAが2ワ
ード、転送回数を示すトランスファカウントTCが2ワ
ードからなるデータの組を記憶し、これらの転送元アド
レスSA、ディスティネーションアドレスDA及びトラ
ンスファカウントTCは各転送チャネル毎に用意されて
いる。
The indexed register is a set of data in which the source address SA indicating the transfer source address is 2 words, the destination address DA indicating the transfer destination address is 2 words, and the transfer count TC indicating the transfer count is 2 words. The transfer source address SA, the destination address DA, and the transfer count TC that are stored are prepared for each transfer channel.

【0022】本実施例では転送チャンネルは上記メモリ
13及び第1乃至第7のI/O装置14a〜14gの8
個であるので、インデックスドレジスタ全体は、6[ワ
ード]×8=48[ワード](96[バイト])からな
る。
In this embodiment, the transfer channel is 8 of the memory 13 and the first to seventh I / O devices 14a to 14g.
Therefore, the entire indexed register is composed of 6 [word] × 8 = 48 [word] (96 [byte]).

【0023】いま、メモリ13及び第1乃至第7のI/
O装置14a〜14gに対応する転送チャネルをn(n
=0〜7)と表わし、転送チャネルに対応した転送元ア
ドレスSA、ディスティネーションアドレスDA及びト
ランスファカウントTCをそれぞれSAn,DAn,T
Cnと表わすこととして、SAn,DAn,TCnの先
頭アドレスを次式のように定義する。すなわち、 SAn=BA+2×n …(1) DAn=BA+2×n+2 …(2) TCn=BA+2×n+4 …(3) 図4は上述したインデックスドレジスタのメモリマップ
を示すものである。このインデックスドレジスタは、メ
モリ13上の空間にあり、且つ他の第1乃至第7のI/
O装置14a〜14gの空間にはないようにベースアド
レスBAを設定する必要がある。
Now, the memory 13 and the first to seventh I / Os
The transfer channels corresponding to the O devices 14a to 14g are set to n (n
= 0 to 7), the transfer source address SA, the destination address DA and the transfer count TC corresponding to the transfer channel are SAn, DAn and T, respectively.
As represented by Cn, the head addresses of SAn, DAn, and TCn are defined by the following equation. That is, SAn = BA + 2 × n (1) DAn = BA + 2 × n + 2 (2) TCn = BA + 2 × n + 4 (3) FIG. 4 is a memory map of the indexed register described above. This indexed register is in a space on the memory 13 and has the other first to seventh I / Os.
It is necessary to set the base address BA so that it does not exist in the space of the O devices 14a to 14g.

【0024】また、説明上、メモリ13及び第1乃至第
7のI/O装置14a〜14gに対応する転送チャネル
n(n=0〜7)の優先順位は「0>1>2>…>7」
の固定とする。
For the sake of explanation, the priority of the transfer channel n (n = 0 to 7) corresponding to the memory 13 and the first to seventh I / O devices 14a to 14g is "0>1>2>...>". 7 "
Fixed.

【0025】ここでは、転送チャネル「0」がメモリ1
3からメモリ13へのデータ転送に使用されるもので、
他の転送チャネル「1」〜「7」が各I/O装置14a
〜14gからのDMA要求信号DREQ1〜DREQ7
のアサートによって転送が開始されるのに対して、上記
図3(3)で示したチャネル制御レジスタ26の転送許
可情報DE0がCPU11によって“1”にセットされ
ることによって転送が開始されるものとする。
Here, the transfer channel "0" is the memory 1
Used for data transfer from 3 to memory 13,
The other transfer channels "1" to "7" are assigned to the respective I / O devices 14a.
DMA request signals DREQ1 to DREQ7 from
While the transfer is started by asserting, the transfer is started when the transfer enable information DE0 of the channel control register 26 shown in FIG. 3C is set to "1" by the CPU 11. To do.

【0026】次に上記実施例の動作について図5を用い
て説明する。図5はDMAC12が行なう一連のDMA
動作の処理内容を示すフローチャートであり、その当初
にはメモリ13内のインデックスドレジスタと、ベース
アドレス上位レジスタ21、ベースアドレス下位レジス
タ22及びチャネル制御レジスタ26の初期設定を行な
う(ステップS1)。
Next, the operation of the above embodiment will be described with reference to FIG. FIG. 5 shows a series of DMAs performed by the DMAC 12.
9 is a flowchart showing the processing contents of the operation. Initially, the indexed register in the memory 13, the base address upper register 21, the base address lower register 22, and the channel control register 26 are initialized (step S1).

【0027】ここでは、上述した如くベースアドレス上
位レジスタ21及びベースアドレス下位レジスタ22に
よって定義されるインデックスドレジスタは、メモリ1
3上の空間にあり、且つ転送チャネルの転送によってイ
ンデックスドレジスタの内容が書替えられることがない
ように設定する必要がある。
Here, the indexed register defined by the base address upper register 21 and the base address lower register 22 as described above is the memory 1
It is necessary to set so that the contents of the indexed register are not rewritten due to the transfer of the transfer channel.

【0028】初期設定後、DMAによるデータ転送の要
求が発生するのを待機し(ステップS2)、要求が発生
すると、次にその転送要求に対応するチャネル制御レジ
スタ26の転送許可情報DEnが“1”で且つ転送終了
情報TEnが“0”であるという条件を満たしているか
否かを判断する(ステップS3)という処理を繰返す。
After the initial setting, it waits for a request for data transfer by DMA (step S2), and when the request occurs, the transfer permission information DEn of the channel control register 26 corresponding to the transfer request is "1". It is determined whether or not the condition that the transfer end information TEn is “0” is satisfied (step S3) is repeated.

【0029】ここでデータ転送の要求とは、第1乃至第
7のI/O装置14a〜14gからのDMA要求信号D
REQ1〜DREQ7がアサートされた場合か、あるい
はメモリ13に対応する転送チャンネル「0」で上記ス
テップS3に示した条件を満たした場合を示す。DMA
要求信号DREQ1〜DREQ7のアサートは同時に複
数でもよい。
Here, the data transfer request means the DMA request signal D from the first to seventh I / O devices 14a to 14g.
The case where REQ1 to DREQ7 are asserted or the case where the condition shown in the above step S3 is satisfied in the transfer channel "0" corresponding to the memory 13 is shown. DMA
A plurality of request signals DREQ1 to DREQ7 may be asserted at the same time.

【0030】しかして、DMAのデータ転送の条件が満
たされて要求が認められると、次いで複数の転送要求に
対処するべく優先順位の決定を行なう(ステップS
4)。これは、要求優先制御部30によって上述した固
定の優先順位に従って決定されるもので、その結果、デ
ータ転送を行なうチャネルの番号nが優先レジスタ30
aに保持設定される。
When the DMA data transfer condition is satisfied and the request is recognized, the priority order is determined to handle a plurality of transfer requests (step S).
4). This is determined by the request priority control unit 30 according to the fixed priority order described above, and as a result, the channel number n for data transfer is determined by the priority register 30.
It is retained and set to a.

【0031】また、この処理と並行して、起動制御部2
9によりCPU11に対してバス権開放要求信号BRE
Q(e)がアサートされ、応答としてCPU11からバ
ス権開放信号BACK(d)がアサートされることでD
MAC12がバス権を得る。
Further, in parallel with this processing, the activation control unit 2
9, the bus right release request signal BRE is sent to the CPU 11
When Q (e) is asserted and the bus release signal BACK (d) is asserted from the CPU 11 as a response, D
The MAC 12 gets the bus right.

【0032】次いで、起動制御部29がベースアドレス
上位レジスタ21、ベースアドレス下位レジスタ22の
内容によって決定されるインデックスドレジスタのベー
スアドレスBAを基にレジスタ制御部28とバスインタ
フェース31とを駆動することにより、要求優先制御部
30の優先レジスタ30aに保持した転送チャネル番号
に対応して上記(1)〜(3)式に従ったソースアドレ
スSAn、ディスティネーションアドレスDAn及びト
ランスファカウントTCnをインデックスドレジスタか
ら読出し、それぞれ転送元アドレスレジスタ23、転送
先アドレスレジスタ24及び転送カウントレジスタ25
に格納保持させる(ステップS5)。
Next, the activation controller 29 drives the register controller 28 and the bus interface 31 based on the base address BA of the indexed register determined by the contents of the base address upper register 21 and the base address lower register 22. Thus, the source address SAn, the destination address DAn, and the transfer count TCn according to the above equations (1) to (3) corresponding to the transfer channel number held in the priority register 30a of the request priority control unit 30 are transferred from the indexed register. Read, transfer source address register 23, transfer destination address register 24, and transfer count register 25, respectively
Are stored and held (step S5).

【0033】その後、転送カウントレジスタ25の保持
内容が「0」ではなく、まだ設定された回数だけのデー
タ転送が終えていないことを確認した上で(ステップS
6)、起動制御部29がレジスタ制御部28とバスイン
タフェース31とを駆動し、転送元アドレスレジスタ2
3に保持されているアドレスに従ってメモリ13または
第1乃至第7のI/O装置14a〜14gの該当アドレ
ス位置から転送すべきデータ1ワード分を読出し、読出
したデータを、転送先アドレスレジスタ24に保持され
ているアドレスに従ってメモリ13または第1乃至第7
のI/O装置14a〜14gの該当アドレス位置に書込
む(ステップS8)。
After that, it is confirmed that the content held in the transfer count register 25 is not "0" and that the data transfer of the set number of times has not been completed yet (step S
6), the activation control unit 29 drives the register control unit 28 and the bus interface 31, and the transfer source address register 2
In accordance with the address held in the memory 3, one word of data to be transferred is read from the corresponding address position of the memory 13 or the first to seventh I / O devices 14a to 14g, and the read data is stored in the transfer destination address register 24. The memory 13 or the first to the seventh according to the held address
The I / O devices 14a to 14g are written in the corresponding address positions (step S8).

【0034】こうして1ワード分のデータ転送を行なっ
た後、次のデータ転送を行なうべく転送カウントレジス
タ25のカウント値を「−1」更新設定すると共に、転
送元アドレスレジスタ23及び転送先アドレスレジスタ
24の保持内容をそれぞれ「+1」更新設定し(ステッ
プS9)、再び上記ステップS6からの処理を繰返す。
After transferring one word of data in this manner, the count value of the transfer count register 25 is updated and set to "-1" to transfer the next data, and the transfer source address register 23 and the transfer destination address register 24 are set. The contents held in each are updated and set to "+1" (step S9), and the process from step S6 is repeated again.

【0035】このようにステップS6,S8,S9の処
理を、始めに転送カウントレジスタ25に設定された回
数だけ繰返し行なうことで、データ転送が実行される。
そして転送カウントレジスタ25の保持内容が「0」で
あると判断した時点で(ステップS6)、データ転送が
完了したものとして、次いで上記優先レジスタ30aに
保持されるチャネル番号nを用いてチャネル制御レジス
タ26の転送終了情報TEnを“1”にセットし、バス
権をCPU11に返して(ステップS7)、以上でこの
DMA処理を一旦終了する。
In this way, the data transfer is executed by repeating the processing of steps S6, S8 and S9 the number of times set in the transfer count register 25 at the beginning.
When it is determined that the content held in the transfer count register 25 is "0" (step S6), it is determined that the data transfer is completed, and then the channel number n held in the priority register 30a is used. The transfer end information TEn of 26 is set to "1", the bus right is returned to the CPU 11 (step S7), and the DMA process is once ended.

【0036】なお、上記実施例ではメモリ13及び第1
乃至第7のI/O装置14a〜14gの優先順位を固定
化されたものとして説明したが、これに限ることなく、
循環的に優先順位を入替えるようにしてもよいし、また
待ち回数をカウントしてそのカウント値が一定となった
ものを他よりも優先することも考えられる。
In the above embodiment, the memory 13 and the first
It is described that the priority order of the seventh I / O devices 14a to 14g is fixed, but the priority order is not limited to this.
The priorities may be changed cyclically, or it is possible to count the number of times of waiting and give priority to the one having a constant count value over the others.

【0037】[0037]

【発明の効果】以上詳記した如く本発明によれば、回路
規模を大きくすることなく、またCPUからのソフトウ
ェア制御を必要としないので転送速度をそれほど低下さ
せることなく、多数チャネルからの転送要求に応答して
データ転送を実行させることが可能なダイレクトメモリ
アクセス転送方式及び方法を提供することができる。
As described above in detail, according to the present invention, the transfer rate from a large number of channels can be obtained without increasing the circuit scale and without requiring the software control from the CPU, so that the transfer speed is not lowered so much. It is possible to provide a direct memory access transfer method and method capable of executing data transfer in response to the request.

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

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

【図2】図1のダイレクトメモリアクセスコントローラ
(DMAC)内の詳細な回路構成を示すブロック図。
FIG. 2 is a block diagram showing a detailed circuit configuration in the direct memory access controller (DMAC) of FIG.

【図3】図2の一部レジスタ構成を示す図。FIG. 3 is a diagram showing a partial register configuration of FIG.

【図4】図1のメモリに設けられるインデックスドレジ
スタのメモリマップを示す図。
FIG. 4 is a diagram showing a memory map of an indexed register provided in the memory of FIG.

【図5】同実施例に係る動作内容を示すフローチャー
ト。
FIG. 5 is a flowchart showing an operation content according to the embodiment.

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

11…CPU 12…ダイレクトメモリアクセスコントローラ(DMA
C) 13…メモリ 14a〜14g…I/O装置 21…ベースアドレス上位レジスタ(BAHR) 22…ベースアドレス下位レジスタ(BALR) 23…転送元アドレスレジスタ(SAR) 24…転送先アドレスレジスタ(DAR) 25…転送カウントレジスタ(TAR) 26…チャネル制御レジスタ(CHCR) 27…回数制御部 28…レジスタ制御部 29…起動制御部 30…要求優先制御部 30a…優先レジスタ(No.) 31…バスインタフェース
11 ... CPU 12 ... Direct memory access controller (DMA
C) 13 ... Memory 14a-14g ... I / O device 21 ... Base address upper register (BAHR) 22 ... Base address lower register (BALR) 23 ... Transfer source address register (SAR) 24 ... Transfer destination address register (DAR) 25 ... Transfer count register (TAR) 26 ... Channel control register (CHCR) 27 ... Number control unit 28 ... Register control unit 29 ... Startup control unit 30 ... Request priority control unit 30a ... Priority register (No.) 31 ... Bus interface

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数のチャネル夫々の転送元アドレス、
転送先アドレス及び転送回数を含む情報を記憶する外部
メモリと、 一組の転送元アドレス、転送先アドレス及び転送回数を
含む情報を保持する内部レジスタを有し、上記複数のチ
ャネル内のいずれかからダイレクトメモリアクセス要求
を受けた場合に上記外部メモリから対応する情報を読出
して上記内部レジスタにセットしてダイレクトメモリア
クセスを実行するダイレクトメモリアクセス制御回路と
を具備したことを特徴とするダイレクトメモリアクセス
転送方式。
1. A transfer source address of each of a plurality of channels,
It has an external memory that stores information including a transfer destination address and the number of transfers, and an internal register that holds information including a set of transfer source address, transfer destination address, and the number of transfers, from any of the above channels. And a direct memory access control circuit for reading the corresponding information from the external memory, setting the information in the internal register, and executing the direct memory access when the direct memory access request is received. method.
【請求項2】 上記ダイレクトメモリアクセス制御回路
は上記複数チャネルから同時にダイレクトメモリアクセ
ス要求を受けた場合に優先順位を設けて1つのチャネル
を選択してダイレクトメモリアクセスを実行することを
特徴とする請求項1記載のダイレクトメモリアクセス転
送方式。
2. The direct memory access control circuit, when receiving direct memory access requests from the plurality of channels at the same time, sets a priority and selects one channel to execute the direct memory access. The direct memory access transfer method according to item 1.
【請求項3】 複数のチャネル夫々の転送元アドレス、
転送先アドレス及び転送回数を含む情報を外部メモリに
記憶させ、 上記複数のチャネル内のいずれかからダイレクトメモリ
アクセス要求を受けた場合に上記外部メモリから対応す
る情報を読出し、一組の転送元アドレス、転送先アドレ
ス及び転送回数を含む情報を保持する内部レジスタにセ
ットしてダイレクトメモリアクセスを実行することを特
徴とするダイレクトメモリアクセス転送方法。
3. A transfer source address of each of a plurality of channels,
Information including a transfer destination address and the number of times of transfer is stored in an external memory, and when a direct memory access request is received from any of the plurality of channels, the corresponding information is read from the external memory and a set of transfer source addresses is read. A direct memory access transfer method, wherein direct memory access is executed by setting in an internal register that holds information including a transfer destination address and the number of transfers.
【請求項4】 上記複数チャネルから同時にダイレクト
メモリアクセス要求を受けた場合に優先順位を設けて1
つのチャネルを選択してダイレクトメモリアクセスを実
行することを特徴とする請求項3記載のダイレクトメモ
リアクセス転送方法。
4. When a direct memory access request is simultaneously received from the plurality of channels, a priority order is set to 1
4. The direct memory access transfer method according to claim 3, wherein one channel is selected and direct memory access is executed.
JP897795A 1995-01-24 1995-01-24 Direct memory access transfer system and method Pending JPH08202648A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP897795A JPH08202648A (en) 1995-01-24 1995-01-24 Direct memory access transfer system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP897795A JPH08202648A (en) 1995-01-24 1995-01-24 Direct memory access transfer system and method

Publications (1)

Publication Number Publication Date
JPH08202648A true JPH08202648A (en) 1996-08-09

Family

ID=11707758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP897795A Pending JPH08202648A (en) 1995-01-24 1995-01-24 Direct memory access transfer system and method

Country Status (1)

Country Link
JP (1) JPH08202648A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213666A (en) * 2003-01-03 2004-07-29 Micronas Gmbh Dma module and its operating method
GB2446701A (en) * 2007-02-16 2008-08-20 Advanced Risc Mach Ltd DMA controller with channels configured from control data sets stored in memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213666A (en) * 2003-01-03 2004-07-29 Micronas Gmbh Dma module and its operating method
GB2446701A (en) * 2007-02-16 2008-08-20 Advanced Risc Mach Ltd DMA controller with channels configured from control data sets stored in memory
JP2008204456A (en) * 2007-02-16 2008-09-04 Arm Ltd System for controlling complex non-linear data transfer
US7873757B2 (en) 2007-02-16 2011-01-18 Arm Limited Controlling complex non-linear data transfers
GB2446701B (en) * 2007-02-16 2011-04-27 Advanced Risc Mach Ltd Controlling complex non-linear data transfers
US8112560B2 (en) 2007-02-16 2012-02-07 Arm Limited Controlling complex non-linear data transfers

Similar Documents

Publication Publication Date Title
EP0378423B1 (en) DMA controller
US6728797B2 (en) DMA controller
JPS6375955A (en) Program mode access control system
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US6567908B1 (en) Method of and apparatus for processing information, and providing medium
KR100348545B1 (en) Communication dma device
JPH08202648A (en) Direct memory access transfer system and method
JP2723970B2 (en) Data transfer control device
EP0269370B1 (en) Memory access controller
JPS62173526A (en) Page buffer control system
JP3356110B2 (en) Function expansion system and data transfer method used therefor
JP3094346B2 (en) Image memory device
JP4150953B2 (en) Information processing device
JP3476660B2 (en) ATM switch
JPH0310354A (en) Data transfer control system
JPH0644183A (en) Data transfer equipment
JP2533958B2 (en) Data preceding set device
JPH0833869B2 (en) Data processing device
JPS6383854A (en) Data transfer circuit
KR940005003Y1 (en) Dynamic memory access system
JP3270149B2 (en) Data transfer device
JPS5931736B2 (en) Queue management method
JP3678537B2 (en) Data transfer method and apparatus
JPS63239549A (en) Data chaining control system
JPS62219153A (en) Dma controller