JPH04333951A - Dma controller for processor - Google Patents

Dma controller for processor

Info

Publication number
JPH04333951A
JPH04333951A JP10458491A JP10458491A JPH04333951A JP H04333951 A JPH04333951 A JP H04333951A JP 10458491 A JP10458491 A JP 10458491A JP 10458491 A JP10458491 A JP 10458491A JP H04333951 A JPH04333951 A JP H04333951A
Authority
JP
Japan
Prior art keywords
address
memory
transfer
circuit
dma
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
JP10458491A
Other languages
Japanese (ja)
Inventor
Toshiaki Shimada
敏明 嶋田
Atsumichi Murakami
篤道 村上
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10458491A priority Critical patent/JPH04333951A/en
Publication of JPH04333951A publication Critical patent/JPH04333951A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

PURPOSE:To obtain the direct memory access(DMA) controller for a processor to calculate continuous or discontinuous addresses and to transfer block data by temporarily setting the initial addresses of memories at transfer destination and transfer source and the parameter of the address calculation. CONSTITUTION:An address calculation circuit successively calculates the addresses of the transfer source memory and the transfer destination memory to perform access to the initial address of the transfer source memory in storage circuits 181a and 181c and the initial address of the transfer destination memory in storage circuits 181b and 181d based on the number of skips, block width, transfer source address index, transfer destination address index and transfer word number in storage circuits 182-186, outputs those addresses and executes DMA transfer. On the other hand, the contents of the storage circuits 181a-181d are updated with the addresses as the calculated results.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】この発明はメモリ間のダイレクト
メモリアクセス転送制御に関するもので、例えば、マイ
クロプロセッサのダイレクトメモリアクセス制御装置に
関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to direct memory access transfer control between memories, and for example, to a direct memory access control device for a microprocessor.

【0002】0002

【従来の技術】図4は、例えばアイ・イー・イー  ト
ランザクション  オン  サーキッツ  アンド  
システムズ(IEE  TRANSACTION  O
N  CIRCUITSAND  SYSTEMS)(
VOl.36,NO.10,Oct.1989,p12
67−1274)に記載された従来のプロセッサにおけ
るダイレクトメモリアクセス(以下、DMAという)転
送を示す図であり、図において、10はプロセッサ、2
0は画像データを記憶する外部のデータメモリ、100
は演算器等で演算実行を行う実行ユニット、110,1
20は2ポートの内部データメモリ、360はDAM転
送制御するダイレクトメモリアクセス制御装置(以下、
DMACという)、130,140,150はそれぞれ
実行ユニット100と内部データメモリ110,120
とを接続するバス、160,170は内部データメモリ
110,120とDMAC360を接続するバス、20
0はソース0のピクチャーフレームデータを記憶するメ
モリエリア(以下、ソース0メモリエリアという)、2
10はソース1のピクチャーフレームデータを記憶する
メモリエリア(以下、ソース1メモリエリアという)、
220はディスティネーションのピクチャーフレームデ
ータを記憶するメモリエリア(以下、ディスティネーシ
ョンメモリエリアという)である。
[Prior Art] Fig. 4 shows, for example, IE transaction on circuits and
Systems (IEE TRANSACTION O
N CIRCUITS AND SYSTEMS) (
Vol. 36, NO. 10, Oct. 1989, p12
67-1274) is a diagram showing direct memory access (hereinafter referred to as DMA) transfer in a conventional processor, and in the figure, 10 is a processor, 2 is a
0 is an external data memory that stores image data, 100
is an execution unit 110,1 that executes calculations using a calculation unit, etc.
20 is a 2-port internal data memory, 360 is a direct memory access control device (hereinafter referred to as
DMAC), 130, 140 and 150 are an execution unit 100 and internal data memories 110 and 120, respectively.
160 and 170 are buses connecting the internal data memories 110 and 120 and the DMAC 360;
0 is a memory area for storing picture frame data of source 0 (hereinafter referred to as source 0 memory area), 2
10 is a memory area for storing picture frame data of source 1 (hereinafter referred to as source 1 memory area);
220 is a memory area (hereinafter referred to as destination memory area) that stores destination picture frame data.

【0003】次に、動作について説明する。内部データ
メモリ110のi番地のデータS0(i)をバス130
を介して実行ユニット100へ転送する。内部データメ
モリ120のi番地のデータS1(i)をバス140を
介して実行ユニット100へ転送する。実行ユニット1
00では入力された2つのデータS0(i)とS1(i
)の間で演算で行い、演算結果をR(k)をバス150
を介して内部データメモリ110へ送出する。
Next, the operation will be explained. The data S0(i) at address i of the internal data memory 110 is transferred to the bus 130.
is transferred to the execution unit 100 via. Data S1(i) at address i in internal data memory 120 is transferred to execution unit 100 via bus 140. execution unit 1
In 00, the two input data S0(i) and S1(i
), and the calculation result is transferred to bus 150 as R(k).
The data is sent to the internal data memory 110 via the .

【0004】また、実行ユニット100の動作とは独立
してソース1メモリエリア210の(I+1)番地のデ
ータS1(I+1)をDMAC360により、DMA−
バス160を介して内部データメモリ120へDMA転
送する。内部データメモリから外部データメモリへDM
A動作する。DMA転送する場合も同様で、実行ユニッ
ト100の動作とは独立して内部データメモリ110の
(k−1)番地のデータR(k−1)をDMA−バス1
70を介してDMAC360によりディスティネーショ
ンメモリエリア220へDMAC360は画像のブロッ
クデータをDMA転送する場合、外部データメモリに対
しては図3(a)に示すような各行に対してはシリアル
アドレシングを行う2次元シリアルアドレシングを行っ
てアクセスし内部データメモリに対してはシリアルアド
レシングを行ってアクセスする。
[0004] Also, independently of the operation of the execution unit 100, the data S1 (I+1) at address (I+1) of the source 1 memory area 210 is transferred to the DMA-
DMA transfer to internal data memory 120 via bus 160. DM from internal data memory to external data memory
A.It works. The same goes for DMA transfer, and data R(k-1) at address (k-1) of the internal data memory 110 is transferred to the DMA bus 1 independently of the operation of the execution unit 100.
When the DMAC 360 transfers image block data by DMA to the destination memory area 220 via the DMAC 70, the DMAC 360 performs serial addressing for each row as shown in FIG. 3(a) for the external data memory. Access is performed using dimensional serial addressing, and internal data memory is accessed using serial addressing.

【0005】[0005]

【発明が解決しようとする課題】従来のDMA転送を行
うマイクロプロセッサは以上のように構成されているの
で、画像信号処理などを行うのに外部データメモリより
画像のブロックデータを図3(b)に示すようにサブサ
ンプルとしてデータの間引きを行いDMA転送を行う場
合、一度には転送できず、1ワードずつアドレスを変え
て転送しなければならなかった。内部データメモリより
外部データメモリへDMA転送する場合も上記と同様に
間引きを行ったブロックデータを一度にDMA転送する
ことは出来なかった。
[Problems to be Solved by the Invention] Since the conventional microprocessor that performs DMA transfer is configured as described above, image block data is transferred from an external data memory to perform image signal processing, etc. as shown in FIG. 3(b). When DMA transfer is performed by thinning out data as sub-samples as shown in FIG. 2, data cannot be transferred all at once, and the address must be changed one word at a time before transfer. In the case of DMA transfer from the internal data memory to the external data memory, similarly to the above, it was not possible to DMA transfer the thinned out block data at once.

【0006】この発明は上記のような問題点を解消する
ためになされたもので、プログラムによる転送とは独立
して図3(a)のようなブロックデータをDMA転送で
きるとともに、例えば図3(a)および図3(c)のよ
うな間引きを行った(この例では1つおき)ブロックデ
ータもDMA転送できるマイクロプロセッサを得ること
を目的とする。
The present invention was made to solve the above-mentioned problems, and it is possible to perform DMA transfer of block data as shown in FIG. 3(a) independently of transfer by a program. It is an object of the present invention to obtain a microprocessor that can also perform DMA transfer of block data that has been thinned out (every other block in this example) as shown in a) and FIG. 3(c).

【0007】[0007]

【課題を解決するための手段】この発明に係わるマイク
ロプロセッサのDMA制御装置は、供給される初期アド
レス値とアドレス演算をするためのパラメータ(スキッ
プ数、ブロック幅、インデックス値および転送ワード数
)を記憶する記憶回路と、記憶回路に記憶されている内
容にもとづいて転送元メモリへアクセスするアドレスと
転送先メモリへアクセスするアドレスを演算して出力し
、演算結果で前記記憶回路に記憶されているアドレスを
更新するアドレス演算回路とを備える。
[Means for Solving the Problems] A DMA control device for a microprocessor according to the present invention uses a supplied initial address value and parameters (skip number, block width, index value, and transfer word number) for performing an address operation. Based on the storage circuit to be stored and the contents stored in the storage circuit, an address for accessing the transfer source memory and an address for accessing the transfer destination memory are calculated and output, and the calculation results are stored in the storage circuit. and an address calculation circuit that updates the address.

【0008】[0008]

【作用】この発明におけるマイクロプロセッサのDMA
制御装置は、マイクロプロセッサまたはプログラム等か
ら供給されるDMA転送の初期アドレスと以降のアドレ
ス演算をするためのパラメータを記憶回路に記憶し、ア
ドレス演算回路はこの記憶回路の内容に基づいて転送元
メモリのアドレスと転送先のメモリのアドレスを演算し
、このアドレスによってメモリ間のデータ転送を行うと
ともに、演算結果で記憶回路に記憶されているアドレス
を更新する。
[Operation] DMA of the microprocessor in this invention
The control device stores an initial address for DMA transfer supplied from a microprocessor, a program, etc. and parameters for performing subsequent address calculations in a storage circuit, and the address calculation circuit calculates the transfer source memory based on the contents of this storage circuit. and the address of the transfer destination memory, data is transferred between the memories using this address, and the address stored in the storage circuit is updated with the result of the calculation.

【0009】[0009]

【実施例】【Example】

実施例1.以下、この発明の一実施例を図について説明
する。図1はこの発明によるDMA制御装置をマイクロ
プロセッサに内蔵した構成を示すブロック図であり、図
において、1はこの発明の一実施例であるマイクロプロ
セッサ、180はダイレクトメモリアクセス転送を制御
するDMAC、110,120,130,140,15
0,160,170,20,200,210,220は
前記従来のものと同一である。
Example 1. An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration in which a DMA control device according to the present invention is built into a microprocessor. In the figure, 1 is a microprocessor that is an embodiment of the present invention, 180 is a DMAC that controls direct memory access transfer, 110, 120, 130, 140, 15
0, 160, 170, 20, 200, 210, and 220 are the same as the conventional ones.

【0010】図2は図1のマイクロプロセッサ内部のD
MAC180の構成を示す図で、図において180a,
180b,180c,180dは転送元および転送先の
初期アドレスおよび演算結果のアドレスを記憶する記憶
回路、182はメモリアクセスのスキップ幅を記憶する
記憶回路、183は2次元アドレシングの際の1ブロッ
クメモリ領域の1ラインワード数を記憶するブロック幅
記憶回路、184,185は転送元および転送先アドレ
ス修飾に用いられるインデックス値記憶回路、186は
DMA転送で転送するワード数を記憶する記憶回路、1
87は前記各種パラメータにしたがい転送ワード数分の
アドレスを演算し出力するアドレス演算回路である。
FIG. 2 shows D inside the microprocessor of FIG.
This is a diagram showing the configuration of a MAC 180, in which 180a,
180b, 180c, and 180d are storage circuits that store the initial addresses of the transfer source and destination and the address of the operation result; 182 is a storage circuit that stores the skip width of memory access; and 183 is a 1-block memory area for two-dimensional addressing. 184 and 185 are index value storage circuits used to modify the transfer source and destination addresses; 186 is a storage circuit that stores the number of words to be transferred in DMA transfer;
Reference numeral 87 is an address calculation circuit that calculates and outputs addresses for the number of transferred words according to the various parameters described above.

【0011】つぎに動作について説明する。メモリアク
セスは実行ユニット100とDMA180とで独立して
行われる。内部データメモリ110のi番地のデータS
0(i)をバス130を介して実行ユニット100へ転
送する。内部データメモリ120のi番地のデータS1
(i)をバス140を介して実行ユニット100へ転送
する。実行ユニット100では入力された2つのデータ
S0(i)とS1(i)の間で演算で行い、演算結果を
R(k)をバス150を介して内部データメモリ110
へ送出する。
Next, the operation will be explained. Memory access is performed independently by execution unit 100 and DMA 180. Data S at address i of internal data memory 110
0(i) to execution unit 100 via bus 130. Data S1 at address i of internal data memory 120
(i) to execution unit 100 via bus 140. The execution unit 100 performs an operation between the two input data S0(i) and S1(i), and sends the operation result R(k) to the internal data memory 110 via the bus 150.
Send to.

【0012】DMAC180によるDMA転送は、プロ
グラムにより、アドレス記憶回路181a,181cに
転送元メモリのアクセスする最初のラインの初期アドレ
スと次にアクセスするラインの初期アドレスを、記憶回
路181b,181dに転送先メモリの初期アドレスと
つぎに書き込むラインの初期アドレスを設定し、記憶回
路182にメモリブロック領域のアクセスのスキップ幅
を設定し、記憶回路183に2次元アドレシングの際の
ブロックメモリ領域のブロック幅を設定し、記憶回路1
84,185にそれぞれ転送元、転送先のアドレスイン
デックス値を設定し、記憶回路186に転送ワード数を
設定する。アドレス演算回路187で上記各記憶回路1
81a〜181d、182〜186に記憶されている記
憶値にもとづいて、指定されるワード数分の転送元メモ
リと転送先メモリのアドレスを演算し、順次出力するこ
とにより外部メモリと内部メモリ間の転送を行う。また
、演算結果の転送元アドレスは記憶回路181aまたは
181cに、転送先のアドレスは記憶回路181bまた
は181dに記憶され、内容が更新される。
In the DMA transfer by the DMAC 180, the initial address of the first line to be accessed and the initial address of the next line to be accessed of the transfer source memory are stored in the address storage circuits 181a and 181c by a program, and the initial address of the next line to be accessed is stored in the storage circuits 181b and 181d as the transfer destination. Set the initial address of the memory and the initial address of the next line to be written, set the skip width for memory block area access in the memory circuit 182, and set the block width of the block memory area for two-dimensional addressing in the memory circuit 183. and memory circuit 1
The address index values of the transfer source and transfer destination are set in 84 and 185, respectively, and the number of transfer words is set in the storage circuit 186. The address calculation circuit 187
Based on the memory values stored in 81a to 181d and 182 to 186, the addresses of the transfer source memory and transfer destination memory for the specified number of words are calculated and sequentially output, thereby creating a connection between the external memory and the internal memory. Make a transfer. Further, the transfer source address of the calculation result is stored in the storage circuit 181a or 181c, and the transfer destination address is stored in the storage circuit 181b or 181d, and the contents are updated.

【0013】次に例えば図3(a)のようにアドレスは
不連続であるが規則的に配列された画像ブロックのデー
タをDMA転送する場合、記憶回路181aに転送元の
画像ブロックの先頭番地“i”を設定し、記憶回路18
1bに転送先の内部データメモリの先頭番地“p”を設
定し、記憶回路181c,181dに「使用しないこと
」を示す“0”を設定し、記憶回路182にスキップ数
“1”を設定し、記憶回路183にブロック幅“4”を
設定し、記憶回路184に転送元のアドレスインデック
ス値“j−(i+3)”を設定し、記憶回路185に転
送先のアドレスインデックス値“q−(p+3)”を設
定し、記憶回路186に転送ワード数“16”を設定す
る。アドレス演算回路187は各記憶回路に設定された
パラメータ値により記憶回路181aおよび181bの
アドレス値を更新しながら順次“i,i+1,i+2,
i+3”と出力する。そして、i+3を出力したときに
i+3に記憶回路184のアドレスインデックス値を加
算し、“j,j+2,j+3”を出力し、同様にj+3
にアドレスインデックス値を加算して、“k,…,k+
3,l,l+1,l+2,…,l+3”と16ワード分
の転送元アドレスを出力する。また、転送先アドレスも
転送元アドレスの演算と同様にして行い、転送元アドレ
スに対応して“p,p+1,p+2,p+3,q,…,
s+2,s+3”と出力してDMA転送を行う。
Next, when performing DMA transfer of image block data whose addresses are discontinuous but regularly arranged as shown in FIG. i”, and the memory circuit 18
The first address "p" of the internal data memory of the transfer destination is set in 1b, "0" indicating "not to be used" is set in the memory circuits 181c and 181d, and the skip number "1" is set in the memory circuit 182. , set the block width "4" in the memory circuit 183, set the transfer source address index value "j-(i+3)" in the memory circuit 184, and set the transfer destination address index value "q-(p+3)" in the memory circuit 185. )", and the number of transfer words "16" is set in the storage circuit 186. The address arithmetic circuit 187 updates the address values of the memory circuits 181a and 181b according to the parameter values set in each memory circuit, and sequentially updates the address values of "i, i+1, i+2,
Then, when i+3 is output, the address index value of the storage circuit 184 is added to i+3, and "j, j+2, j+3" is output, and similarly j+3 is output.
by adding the address index value to “k,…,k+
3,l,l+1,l+2,...,l+3", the transfer source address for 16 words is output.The transfer destination address is also calculated in the same way as the transfer source address, and "p , p+1, p+2, p+3, q,...,
s+2, s+3'' and performs DMA transfer.

【0014】また、図3(b)のように配列された画像
ブロックのデータをDMA転送する場合、記憶回路18
1aに“i”を設定し、記憶回路181bに“p”を設
定し、記憶回路181cに“j+1”を、記憶回路18
1dに“q+1”を設定し、記憶回路182にスキップ
数“2”を設定し、記憶回路183にブロック幅“4”
を設定し、記憶回路184に転送元のアドレスインデッ
クス値“k−(i+2)”を設定し、記憶回路185に
転送先のアドレスインデックス値“r−(p+2)”を
設定し、記憶回路186に転送ワード数“8”を設定す
る。アドレス演算回路187はこれら記憶回路に設定さ
れたパラメータにより、アドレスを演算し、記憶回路1
81a,181b,181cおよび181dのアドレス
値を更新しながら順次転送元アドレスを“i,i+2,
i+1,i+3,…,l+1,l+3”、転送先アドレ
スを“p,p+2,q+1,q+3,…”と出力してD
MA転送を行う。
Furthermore, when data of image blocks arranged as shown in FIG. 3(b) is transferred by DMA, the storage circuit 18
1a is set to "i", the storage circuit 181b is set to "p", the storage circuit 181c is set to "j+1", and the storage circuit 18
1d is set to "q+1", the memory circuit 182 is set to the skip number "2", and the memory circuit 183 is set to the block width "4".
, set the transfer source address index value "k-(i+2)" in the memory circuit 184, set the transfer destination address index value "r-(p+2)" in the memory circuit 185, and set the transfer source address index value "r-(p+2)" in the memory circuit 186. Set the number of transfer words to “8”. The address calculation circuit 187 calculates addresses based on the parameters set in these storage circuits, and
While updating the address values of 81a, 181b, 181c and 181d, the transfer source address is sequentially changed to “i, i+2,
i+1, i+3, ..., l+1, l+3", output the transfer destination address as "p, p+2, q+1, q+3, ..." and
Perform MA transfer.

【0015】また、図3(c)のように配列された画像
ブロックのデータをDMA転送する場合、記憶回路18
1aに初期アドレスとして“i”を、記憶回路181b
に“p”を、記憶回路181cに「使用しないこと」を
示す“0”または転送先の次ライン先頭アドレス“j”
を、記憶回路181dに「使用しない」ことを示す“0
”または転送先の次ライン先頭アドレス“q”を設定し
、記憶回路182に“2”を設定し、記憶回路183に
“4”を設定し、記憶回路184に転送元のアドレスイ
ンデックス値を記憶回路181cに“0”を設定した場
合は“j−(i+2)”を、“j”を設定した場合は“
k−(i+2)”を設定し、記憶回路185に転送先の
アドレスインデックス値を181dに“0”を設定した
場合は“q−(p+2)”を、“q”を設定した場合は
“r−(p+2)”を設定し、記憶回路186に転送ワ
ード数“8”を設定することにより、アドレス演算回路
187により、記憶回路181a,181b,181c
および181dのアドレス値を更新しながら順次転送元
アドレスを“i,i+2,j,j+2,…,l,l+2
”、転送先アドレスを“p,p+2,q,q+2,…,
s,s+2”と出力してDMA転送を行う。
Furthermore, when data of image blocks arranged as shown in FIG. 3(c) is transferred by DMA, the storage circuit 18
1a as the initial address, and the memory circuit 181b.
"p" in the storage circuit 181c, "0" indicating "not to be used" or "j" at the start address of the next line of the transfer destination.
"0" indicating "not used" in the memory circuit 181d.
” or the next line start address of the transfer destination “q”, set “2” in the memory circuit 182, set “4” in the memory circuit 183, and store the transfer source address index value in the memory circuit 184. If "0" is set in the circuit 181c, "j-(i+2)" is set, and if "j" is set, "
k-(i+2)", and if the address index value of the transfer destination in the storage circuit 185 is set to "0" in 181d, "q-(p+2)" is set, and if "q" is set, "r" is set. -(p+2)" and set the number of transfer words "8" in the memory circuit 186, the address calculation circuit 187 allows the memory circuits 181a, 181b, 181c
While updating the address value of 181d, the transfer source address is sequentially changed to “i, i+2, j, j+2, ..., l, l+2.
”, and the forwarding address is “p, p+2, q, q+2, …,
s, s+2'' and performs DMA transfer.

【0016】なお、DMA転送はソース0ピクチャフレ
ーム200またはソース1ピクチャフレーム210より
DMAC180を介してDMA−バス160を通じて内
部データメモリ110または120へ転送するものと、
内部データメモリ110または120からDMA−バス
170によりDMAC180を介してデスティネーショ
ンピクチャフレーム220へ転送するものとがある。
Note that DMA transfer involves transferring from source 0 picture frame 200 or source 1 picture frame 210 to internal data memory 110 or 120 via DMAC 180 and DMA-bus 160;
Some data is transferred from the internal data memory 110 or 120 via the DMA bus 170 to the destination picture frame 220 via the DMAC 180.

【0017】なお、上記実施例ではDMAC180の構
成を図2のようにしたが、転送元アドレス、転送先アド
レスの記憶回路をそれぞれ2つづつ持ち代わりに転送元
インデックス、転送先インデックスをそれぞれ複数持っ
てもよい。例えば、2つづつ持つ場合、図3(b)では
転送元インデックスとして“j+1−(i+2)”と“
k−(j+3)”の2種を設定し、転送先インデックス
として“q+1(p+2)”と“r−(q+3)”の2
種を設定する。
In the above embodiment, the configuration of the DMAC 180 is as shown in FIG. 2, but it has two storage circuits each for the transfer source address and transfer destination address, and has a plurality of transfer source indexes and a plurality of transfer destination indexes. It's okay. For example, if you have two of each, in Figure 3(b), the transfer source indexes are "j+1-(i+2)" and "
k-(j+3)", and the destination index is "q+1(p+2)" and "r-(q+3)".
Set seeds.

【0018】また、転送元アドレス、転送先アドレスの
記憶回路をそれぞれ2つづつ持ち、転送元インデックス
、転送先インデックスの代わりに外部メモリのフレーム
幅を設定するようにしても良い。例えば、横一列100
ワードのメモリフレームを取り扱う場合、図3(b)で
はブロック幅を“3”に設定し、転送元アドレスを“i
”,“j+1”の2種を設定し、アドレス演算回路18
7では、まず第1行目はブロック幅分“i”,“i+2
”のアドレスを出力し、第2行目はブロック幅分“j+
1”,“j+3”を出力し、第3行目は設定されたフレ
ーム幅“100”の2倍(2ライン分)より(ブロック
幅−1)を引いた値、この例では100×2−(3−1
)=198を“i+2”に加算して“k”を得、次に“
k+2”を出力する。第4行目も同様に“j+3”に1
98を加算して“l+1”,“l+3”を出力する。
It is also possible to have two storage circuits each for the transfer source address and transfer destination address, and set the frame width of the external memory instead of the transfer source index and transfer destination index. For example, 100 in a horizontal row
When handling a word memory frame, the block width is set to "3" and the transfer source address is set to "i" in Figure 3(b).
”, “j+1”, and address calculation circuit 18
7, the first line is “i” for the block width, “i+2”
”, and the second line outputs the address of “j+
1", "j+3", and the third line is the value obtained by subtracting (block width - 1) from twice the set frame width "100" (2 lines), in this example, 100 x 2 - (3-1
)=198 to “i+2” to get “k”, then “
Similarly, in the fourth line, output 1 to “j+3”.
98 is added and "l+1" and "l+3" are output.

【0019】DMAC180は、図3(a),図3(b
)または図3(c)のような連続したメモリデータもし
くはとびとび(二次元的に配置されたメモリブロックで
1つおきにかぎらず、2つおき、3つおき等)のメモリ
データを順次アクセスできるようにアドレスを出力する
構成にすればよく、上記実施例または他の実施例のDM
ACの構成に限られるものではない。
The DMAC 180 is shown in FIGS. 3(a) and 3(b).
) or continuous memory data as shown in Fig. 3(c) or discrete memory data (not just every other, every second, every third, etc. in two-dimensionally arranged memory blocks) can be sequentially accessed. The DM of the above embodiment or other embodiments may be configured to output an address as shown in FIG.
It is not limited to the configuration of AC.

【0020】また、外部データメモリ20を便宜的にソ
ース0ピクチャフレーム200,ソースピクチャ1フレ
ーム210、デスティネーションピクチャフレーム22
0とに分けたが、それぞれのピクチャフレームのメモリ
領域が重複してもよい。
Further, the external data memory 20 is conveniently stored as a source 0 picture frame 200, a source picture 1 frame 210, and a destination picture frame 22.
However, the memory areas of the respective picture frames may overlap.

【0021】また、上記実施例では、マイクロプロセッ
サ内メモリのアドレシングと外部メモリのアドレシング
に相関関係があるので、例えば図3(a)のようなフォ
ーマットで内部メモリをアドレシングした場合には、同
様に図3(a)のようなフォーマットで外部メモリをア
ドレシングを行う。しかし、必ずしも入出力のアドレシ
ングの形を統一する必要はなく、例えば、DMA転送に
より入力する外部メモリのアドレシングを図3(b)の
ようにとびとびに行い、入力したデータを図3(a)の
ように1ライン内は連続したアドレシングになるように
ブロック状の形で順次内部メモリへ出力するようにして
もよく、入力側のアドレシングと出力側のアドレシング
の関係によって限定するものではない。
Furthermore, in the above embodiment, since there is a correlation between the addressing of the internal memory of the microprocessor and the addressing of the external memory, for example, when addressing the internal memory in the format shown in FIG. Addressing of the external memory is performed in the format shown in FIG. 3(a). However, it is not necessarily necessary to unify the input/output addressing format; for example, addressing the external memory input by DMA transfer may be performed at intervals as shown in Figure 3(b), and the input data may be addressed as shown in Figure 3(a). Thus, one line may be sequentially output to the internal memory in a block form so that addressing is continuous, and the limitation is not limited by the relationship between addressing on the input side and addressing on the output side.

【0022】[0022]

【発明の効果】以上のように、この発明によれば、マイ
クロプロセッサ内部のDMAコントローラを、プログラ
ムからのパラメータを記憶し、このパラメータに基づい
て転送元アドレスおよび転送先アドレスを演算する構成
にしたので、一度のパラメータ設定でブロックデータの
サブサンプリングを行いDMA転送が可能となる。
[Effects of the Invention] As described above, according to the present invention, the DMA controller inside the microprocessor is configured to store parameters from a program and calculate a transfer source address and a transfer destination address based on the parameters. Therefore, sub-sampling of block data can be performed and DMA transfer can be performed by setting parameters once.

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

【図1】この発明の実施例1のマイクロプロセッサを示
すブロック図である。
FIG. 1 is a block diagram showing a microprocessor according to a first embodiment of the present invention.

【図2】この発明の実施例1におけるDMACの構成を
示すブロック図である。
FIG. 2 is a block diagram showing the configuration of a DMAC in Embodiment 1 of the present invention.

【図3】この発明の実施例1におけるアクセスするメモ
リ上の画素配置を示す図である。
FIG. 3 is a diagram showing a pixel arrangement on a memory to be accessed in Embodiment 1 of the present invention.

【図4】従来のマイクロプロセッサの構成を示す図であ
る。
FIG. 4 is a diagram showing the configuration of a conventional microprocessor.

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

1  この発明のマイクロプロセッサ 20  外部データメモリ 100  実行ユニット 110,120  内部データメモリ 130,140,150  バス 160,170  DMA−バス 180  DMAコントローラ 181a〜181d  アドレスをラッチする記憶回路
182  スキップ数をラッチする記憶回路183  
ブロック幅をラッチする記憶回路184,185  ア
ドレスインデックス値をラッチする記憶回路 186  転送ワード数をラッチする記憶回路187 
 アドレス演算回路 200  ソース0ピクチャフレーム 210  ソース1ピクチャフレーム
1 Microprocessor 20 of the present invention External data memory 100 Execution units 110, 120 Internal data memories 130, 140, 150 Buses 160, 170 DMA-bus 180 DMA controllers 181a to 181d Storage circuit 182 for latching addresses Memory for latching the number of skips circuit 183
Memory circuits 184 and 185 that latch the block width Memory circuit 186 that latches the address index value Memory circuit 187 that latches the number of transferred words
Address calculation circuit 200 Source 0 picture frame 210 Source 1 picture frame

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  メモリ間のデータ転送を行うプロセッ
サのダイレクトメモリアクセス制御装置において、供給
される初期アドレスとアドレスを演算するためのパラメ
ータとを記憶する記憶回路と、前記記憶回路の内容にも
とづいて転送元メモリへアクセスするアドレスと転送先
メモリへアクセスするアドレスを演算出力し、演算され
たアドレスで前記記憶回路に記憶されているアドレスを
更新するアドレス演算回路と、を設けた個とを特徴とす
るプロセッサのダイレクトメモリアクセス制御装置。
1. A direct memory access control device for a processor that transfers data between memories, comprising: a memory circuit that stores a supplied initial address and parameters for calculating the address; and a memory circuit that stores a supplied initial address and parameters for calculating the address; An address calculation circuit that calculates and outputs an address for accessing a transfer source memory and an address for accessing a transfer destination memory, and updates an address stored in the storage circuit with the calculated address. Direct memory access control device for processors.
JP10458491A 1991-05-10 1991-05-10 Dma controller for processor Pending JPH04333951A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10458491A JPH04333951A (en) 1991-05-10 1991-05-10 Dma controller for processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10458491A JPH04333951A (en) 1991-05-10 1991-05-10 Dma controller for processor

Publications (1)

Publication Number Publication Date
JPH04333951A true JPH04333951A (en) 1992-11-20

Family

ID=14384488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10458491A Pending JPH04333951A (en) 1991-05-10 1991-05-10 Dma controller for processor

Country Status (1)

Country Link
JP (1) JPH04333951A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962611A (en) * 1995-08-30 1997-03-07 Nec Ic Microcomput Syst Ltd Data transfer controller
US6629160B1 (en) 1999-06-16 2003-09-30 Nec Electronics Corporation Direct memory access controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61148563A (en) * 1984-12-24 1986-07-07 Hitachi Ltd Data transfer system and data transfer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61148563A (en) * 1984-12-24 1986-07-07 Hitachi Ltd Data transfer system and data transfer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962611A (en) * 1995-08-30 1997-03-07 Nec Ic Microcomput Syst Ltd Data transfer controller
US6629160B1 (en) 1999-06-16 2003-09-30 Nec Electronics Corporation Direct memory access controller

Similar Documents

Publication Publication Date Title
JPH04333951A (en) Dma controller for processor
JPS5814260A (en) Data transfer system
JPS6334658A (en) Dma controller for image processor
JPS6382530A (en) Semiconductor storage device
JPH0444694A (en) Dual port memory device
JPH05268593A (en) Difference absolute sum/difference square sum parallel arithmetic operation device
JPH03265904A (en) Process control system
JPH06332790A (en) Memory space controlling method and memory device
JPH0395683A (en) Picture processor
JPH0235541A (en) Control system for main storage device
JPH04236649A (en) Data transfer device
JP2699482B2 (en) Data transfer control device
JPS6177965A (en) Picture processor
JPS6368960A (en) Sequential access controller for shared storage medium
JPS61143835A (en) Data display system
JPH05159042A (en) Picture processor
JPH04333952A (en) Dma control lsi
JP2841432B2 (en) Data transfer device
JPS61101872A (en) Fast fourier transform arithmetic circuit
JPS6364140A (en) Central processing unit
JPH06110773A (en) Memory controller
JPS61269545A (en) Computer system
JPS6122823B2 (en)
JPH0457174A (en) Image processor
JPH0522273B2 (en)