JP2854420B2 - 多次元アドレス発生器およびその制御方式 - Google Patents
多次元アドレス発生器およびその制御方式Info
- Publication number
- JP2854420B2 JP2854420B2 JP3021938A JP2193891A JP2854420B2 JP 2854420 B2 JP2854420 B2 JP 2854420B2 JP 3021938 A JP3021938 A JP 3021938A JP 2193891 A JP2193891 A JP 2193891A JP 2854420 B2 JP2854420 B2 JP 2854420B2
- Authority
- JP
- Japan
- Prior art keywords
- cycle
- data
- accumulation
- register
- multiplexer
- 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 - Fee Related
Links
Landscapes
- Image Input (AREA)
- Memory System (AREA)
Description
【0001】
【産業上の利用分野】この発明は、ディジタル・シグナ
ル・プロセッサ(以下、DSPと略す)等で、DSP内
部の画像メモリや外部の画像メモリをアクセスするため
のアドレス発生器に関するものであり、メモリに物理的
に1次元配列されているデータを、例えば画像データ等
の2次元以上のデータとして扱う際に多次元アクセスす
るための多次元アドレス発生器に関するものである。
ル・プロセッサ(以下、DSPと略す)等で、DSP内
部の画像メモリや外部の画像メモリをアクセスするため
のアドレス発生器に関するものであり、メモリに物理的
に1次元配列されているデータを、例えば画像データ等
の2次元以上のデータとして扱う際に多次元アクセスす
るための多次元アドレス発生器に関するものである。
【0002】
【従来の技術】画像データ等の2次元配置されたデータ
も、メモリに格納する場合は1次元アドレス空間にマッ
ピングしなければならない。通常、画像データの場合で
は画像をラスタ走査した順番で1次元アドレスにマッピ
ングされる。このデータを2次元データとして扱う際に
は、ある矩形領域を切り出して用いることが多い。2次
元データの典型的な例である画像データの場合は、ある
注目する画素の局所近傍領域を用いた画像処理や、全画
像をブロック画像に分割して行われる画像データの圧縮
は、それぞれ3×3画素とか8×8画素等の矩形領域を
処理対象とする。
も、メモリに格納する場合は1次元アドレス空間にマッ
ピングしなければならない。通常、画像データの場合で
は画像をラスタ走査した順番で1次元アドレスにマッピ
ングされる。このデータを2次元データとして扱う際に
は、ある矩形領域を切り出して用いることが多い。2次
元データの典型的な例である画像データの場合は、ある
注目する画素の局所近傍領域を用いた画像処理や、全画
像をブロック画像に分割して行われる画像データの圧縮
は、それぞれ3×3画素とか8×8画素等の矩形領域を
処理対象とする。
【0003】図4(a),(b),(c)に画像データ
が1次元アドレス空間にマッピングされている様子を示
す。図4において、41はQ1 ×Q2 画素の矩形領域
(Q1 ,Q2 は自然数)からなる全体の画像データ、4
2はP1 ×P2 画素の矩形領域(P1 ,P2 は自然数
で、P1 ≦Q1 ,P2 ≦Q2 )からなるアクセス対象矩
形領域、43Aは実際のメモリ上のマッピングであり、
43Bはマッピング43Aの中で特にアクセス対象矩形
領域42のマッピングを示している。
が1次元アドレス空間にマッピングされている様子を示
す。図4において、41はQ1 ×Q2 画素の矩形領域
(Q1 ,Q2 は自然数)からなる全体の画像データ、4
2はP1 ×P2 画素の矩形領域(P1 ,P2 は自然数
で、P1 ≦Q1 ,P2 ≦Q2 )からなるアクセス対象矩
形領域、43Aは実際のメモリ上のマッピングであり、
43Bはマッピング43Aの中で特にアクセス対象矩形
領域42のマッピングを示している。
【0004】図4に示すように、Q1 ×Q2 画素の矩形
領域からなる全体の画像データの任意の矩形領域42は
メモリ上で分割されて配列してあり、アクセス対象矩形
領域42のデータを連続して取り出すためにはアドレス
発生器が必要となる。このアドレス発生器を用いて外部
の画像メモリから内部の画像メモリへのダイレクトメモ
リアクセス(DMA)転送を行ったり、アドレス発生器
によるメモリのアクセスに同期してDSPの処理が行わ
れる。
領域からなる全体の画像データの任意の矩形領域42は
メモリ上で分割されて配列してあり、アクセス対象矩形
領域42のデータを連続して取り出すためにはアドレス
発生器が必要となる。このアドレス発生器を用いて外部
の画像メモリから内部の画像メモリへのダイレクトメモ
リアクセス(DMA)転送を行ったり、アドレス発生器
によるメモリのアクセスに同期してDSPの処理が行わ
れる。
【0005】従来の2次元アドレス発生器としては、例
えば図10に示すようなものがある。Q1 ×Q2 の矩形
領域からなる全体の画像データの中のP1 ×P2 の矩形
領域(図4参照)をアクセス対象とする。図10におい
て、101は第1走査方向(副走査方向)の増分データ
を設定する第1走査方向増分データ設定器、102は加
算器、103は累算レジスタ、104はスタートアドレ
スデータを設定するスタートアドレスデータ設定器、1
05は制御回路である。
えば図10に示すようなものがある。Q1 ×Q2 の矩形
領域からなる全体の画像データの中のP1 ×P2 の矩形
領域(図4参照)をアクセス対象とする。図10におい
て、101は第1走査方向(副走査方向)の増分データ
を設定する第1走査方向増分データ設定器、102は加
算器、103は累算レジスタ、104はスタートアドレ
スデータを設定するスタートアドレスデータ設定器、1
05は制御回路である。
【0006】以下、図10に基づいて動作を説明する。
まず、第0サイクルで、初期値として累算レジスタ10
3に図4(a)のアクセス対象矩形領域42内の[0]
データの図4(b)のマッピング43Aにおけるアドレ
スであるスタートアドレスデータをスタートアドレスデ
ータ設定器104で設定する。第P1 サイクル、第2P
1 サイクル、…、第(P2 −1)P1 サイクルでは、図
4のそれぞれ[P1 ]データ、[2P1 ]データ、…、
[(P2 −1)P1 ]データの各アドレスをスタートア
ドレスデータ設定器104で設定する。
まず、第0サイクルで、初期値として累算レジスタ10
3に図4(a)のアクセス対象矩形領域42内の[0]
データの図4(b)のマッピング43Aにおけるアドレ
スであるスタートアドレスデータをスタートアドレスデ
ータ設定器104で設定する。第P1 サイクル、第2P
1 サイクル、…、第(P2 −1)P1 サイクルでは、図
4のそれぞれ[P1 ]データ、[2P1 ]データ、…、
[(P2 −1)P1 ]データの各アドレスをスタートア
ドレスデータ設定器104で設定する。
【0007】第1サイクルから第P1 −1サイクルで
は、累算レジスタ103のデータと第1走査方向増分デ
ータ設定器101により設定された第1走査方向の増分
データとを加算器102により加算してその結果を累算
レジスタ103に書き込む。第P1 +1サイクルから第
2P1 −1サイクルまで、…、第(P2 −1)P1 −1
から第P2 P1 −1サイクルまでも同様である。
は、累算レジスタ103のデータと第1走査方向増分デ
ータ設定器101により設定された第1走査方向の増分
データとを加算器102により加算してその結果を累算
レジスタ103に書き込む。第P1 +1サイクルから第
2P1 −1サイクルまで、…、第(P2 −1)P1 −1
から第P2 P1 −1サイクルまでも同様である。
【0008】以上のように、第0サイクルから第P2 P
1 −1サイクルまでの各サイクルの結果、累算レジスタ
103に得られたデータを出力とする。
1 −1サイクルまでの各サイクルの結果、累算レジスタ
103に得られたデータを出力とする。
【0009】
【発明が解決しようとする課題】しかしながら、図10
のような構成では、走査方向が変わる毎にスタートアド
レスデータを計算してその値を累算レジスタ103に設
定しなければならず、多くのサイクル数を必要とする。
この発明の目的は、少ないサイクル数で多次元データの
アクセスを可能とする多次元アドレス発生器を提供する
こと、および特定のアドレスに対して読み出し→演算→
書き込みを行う等の特定のアドレスへの複数回のアクセ
スを連続して行うことができる多次元アドレス発生器の
制御方式を提供することである。
のような構成では、走査方向が変わる毎にスタートアド
レスデータを計算してその値を累算レジスタ103に設
定しなければならず、多くのサイクル数を必要とする。
この発明の目的は、少ないサイクル数で多次元データの
アクセスを可能とする多次元アドレス発生器を提供する
こと、および特定のアドレスに対して読み出し→演算→
書き込みを行う等の特定のアドレスへの複数回のアクセ
スを連続して行うことができる多次元アドレス発生器の
制御方式を提供することである。
【0010】
【課題を解決するための手段】請求項1記載の多次元ア
ドレス発生器は、実際に用いられるアドレス値を書き込
む累算レジスタの他に、各走査方向で独立の第1から第
Nまでの累算レジスタを有し、走査方向が変ったときの
アドレス計算には走査方向に対応した累算レジスタに対
してその走査方向の増分データを加算することによりア
ドレス値を計算するように構成している。
ドレス発生器は、実際に用いられるアドレス値を書き込
む累算レジスタの他に、各走査方向で独立の第1から第
Nまでの累算レジスタを有し、走査方向が変ったときの
アドレス計算には走査方向に対応した累算レジスタに対
してその走査方向の増分データを加算することによりア
ドレス値を計算するように構成している。
【0011】つまり、この多次元アドレス発生器は、1
次元配列状態で順にアドレスが付されたQ1 ×Q2 ×…
×QN の平行体領域(Q1 ,Q2 ,…,QN は自然数)
の中の任意のP1 ×P2 ×…×PN の平行体領域
(P1 ,P2 ,…,PN は自然数で、P1 ≦Q1 ,P2
≦Q2 ,…,PN ≦QN )の多次元アドレスを発生する
もので、第1から第3のマルチプレクサと加算器と第1
から第Nまでの累算レジスタを備えている。
次元配列状態で順にアドレスが付されたQ1 ×Q2 ×…
×QN の平行体領域(Q1 ,Q2 ,…,QN は自然数)
の中の任意のP1 ×P2 ×…×PN の平行体領域
(P1 ,P2 ,…,PN は自然数で、P1 ≦Q1 ,P2
≦Q2 ,…,PN ≦QN )の多次元アドレスを発生する
もので、第1から第3のマルチプレクサと加算器と第1
から第Nまでの累算レジスタを備えている。
【0012】そして、前記第1のマルチプレクサにより
第1から第Nまでの走査方向の増分データの中から1個
を選択し、前記第2のマルチプレクサにより前記第1か
ら第Nまでの累算レジスタのデータを選択し、前記第3
のマルチプレクサによりスタートアドレスデータと加算
器の出力を選択する。また、前記第1のマルチプレクサ
により選択されたデータと前記第2のマルチプレクサに
より選択されたデータとの加算を行い、前記第3のマル
チプレクサにより選択されたデータを前記第1から第N
までの累算レジスタの入力とする構成としている。
第1から第Nまでの走査方向の増分データの中から1個
を選択し、前記第2のマルチプレクサにより前記第1か
ら第Nまでの累算レジスタのデータを選択し、前記第3
のマルチプレクサによりスタートアドレスデータと加算
器の出力を選択する。また、前記第1のマルチプレクサ
により選択されたデータと前記第2のマルチプレクサに
より選択されたデータとの加算を行い、前記第3のマル
チプレクサにより選択されたデータを前記第1から第N
までの累算レジスタの入力とする構成としている。
【0013】さらに、第0サイクルで前記第1から第N
までの累算レジスタにスタートアドレスデータを書き込
む制御を行う。第1サイクルから第P1 −1サイクルま
で、第P1 +1サイクルから第2P1 −1サイクルま
で、…、第(PN PN-1 …P2−1)P1 +1サイクル
から第(PN PN-1 …P2 )P1 −1サイクルまでの1
サイクル毎に、前サイクルで前記第1の累算レジスタに
書き込まれたデータと第1走査方向の増分データとを加
算してこの結果を前記第1の累算レジスタに書き込む制
御を行う。第Pn-1 Pn-2 …P1 サイクルから第(Pn
−1)Pn-1 Pn-2 …P1 サイクルまでのPn-1 Pn-2
…P1 サイクル毎、第(Pn +1)Pn-1Pn-2 …P1
サイクルから第(2Pn −1)Pn-1 Pn-2 …P1 サイ
クルまでのPn-1 Pn-2 …P1 サイクル毎、…、第
((PN PN-1 …Pn+1 −1)Pn +1)Pn-1 Pn-2
…P1 サイクルから第((PN PN-1 …Pn+1 )Pn −
1)Pn-1 Pn-2 …P1 サイクルまでのPn-1 Pn-2 …
P1 サイクル毎に、前回前記第nの累算レジスタに書き
込みが行われたサイクルで前記第nの累算レジスタに書
き込まれたデータと第n走査方向の増分データとを加算
してこの結果を前記第1から第nまでの累算レジスタに
書き込む制御をn=2,3,…,Nについて行う。
までの累算レジスタにスタートアドレスデータを書き込
む制御を行う。第1サイクルから第P1 −1サイクルま
で、第P1 +1サイクルから第2P1 −1サイクルま
で、…、第(PN PN-1 …P2−1)P1 +1サイクル
から第(PN PN-1 …P2 )P1 −1サイクルまでの1
サイクル毎に、前サイクルで前記第1の累算レジスタに
書き込まれたデータと第1走査方向の増分データとを加
算してこの結果を前記第1の累算レジスタに書き込む制
御を行う。第Pn-1 Pn-2 …P1 サイクルから第(Pn
−1)Pn-1 Pn-2 …P1 サイクルまでのPn-1 Pn-2
…P1 サイクル毎、第(Pn +1)Pn-1Pn-2 …P1
サイクルから第(2Pn −1)Pn-1 Pn-2 …P1 サイ
クルまでのPn-1 Pn-2 …P1 サイクル毎、…、第
((PN PN-1 …Pn+1 −1)Pn +1)Pn-1 Pn-2
…P1 サイクルから第((PN PN-1 …Pn+1 )Pn −
1)Pn-1 Pn-2 …P1 サイクルまでのPn-1 Pn-2 …
P1 サイクル毎に、前回前記第nの累算レジスタに書き
込みが行われたサイクルで前記第nの累算レジスタに書
き込まれたデータと第n走査方向の増分データとを加算
してこの結果を前記第1から第nまでの累算レジスタに
書き込む制御をn=2,3,…,Nについて行う。
【0014】以上のようにして、第0から第PN PN-1
…P1 −1サイクルの結果得られた前記第1の累算レジ
スタの値をアドレスとして出力するものである。請求項
2記載の多次元アドレス発生器の制御方式は、インスト
ラクションにより、多次元アドレス発生器のサイクルの
進行を制御するようにしている。つまり、この多次元ア
ドレス発生器の制御方式は、インストラクションの第1
のモードが検出された場合には、前記多次元アドレス発
生器の出力を用いた後に前記多次元アドレス発生器のサ
イクルを1サイクル進め、インストラクションの第2の
モードが検出された場合には、前記多次元アドレス発生
器の出力を用いた後にサイクルを進めない制御を前記多
次元アドレス発生器に対して施すことを特徴とする。
…P1 −1サイクルの結果得られた前記第1の累算レジ
スタの値をアドレスとして出力するものである。請求項
2記載の多次元アドレス発生器の制御方式は、インスト
ラクションにより、多次元アドレス発生器のサイクルの
進行を制御するようにしている。つまり、この多次元ア
ドレス発生器の制御方式は、インストラクションの第1
のモードが検出された場合には、前記多次元アドレス発
生器の出力を用いた後に前記多次元アドレス発生器のサ
イクルを1サイクル進め、インストラクションの第2の
モードが検出された場合には、前記多次元アドレス発生
器の出力を用いた後にサイクルを進めない制御を前記多
次元アドレス発生器に対して施すことを特徴とする。
【0015】請求項3記載の2次元アドレス発生器は、
実際に用いられるアドレス値を書き込む累算レジスタの
他に、行または列の最初のアドレス値を書き込む第2の
累算レジスタを有し、つぎの行または列のアドレス値は
この第2の累算レジスタに対して第2走査方向の増分デ
ータを加算することにより計算するように構成してい
る。
実際に用いられるアドレス値を書き込む累算レジスタの
他に、行または列の最初のアドレス値を書き込む第2の
累算レジスタを有し、つぎの行または列のアドレス値は
この第2の累算レジスタに対して第2走査方向の増分デ
ータを加算することにより計算するように構成してい
る。
【0016】つまり、この2次元アドレス発生器は、1
次元配列状態で順にアドレスが付されたQ1 ×Q2 の平
行四辺形領域(Q1 ,Q2 は自然数)の中の任意のP1
×P 2 の平行四辺形領域(P1 ,P2 は自然数で、P1
≦Q1 ,P2 ≦Q2 )の2次元アドレスを発生するもの
で、第1から第3までのマルチプレクサと加算器と第1
および第2の累算レジスタとを備えている。
次元配列状態で順にアドレスが付されたQ1 ×Q2 の平
行四辺形領域(Q1 ,Q2 は自然数)の中の任意のP1
×P 2 の平行四辺形領域(P1 ,P2 は自然数で、P1
≦Q1 ,P2 ≦Q2 )の2次元アドレスを発生するもの
で、第1から第3までのマルチプレクサと加算器と第1
および第2の累算レジスタとを備えている。
【0017】そして、前記第1のマルチプレクサにより
第1の走査方向と第2の走査方向の増分データの中から
1個を選択し、前記第2のマルチプレクサにより前記第
1の累算レジスタと前記第2の累算レジスタのデータを
選択し、前記第3のマルチプレクサによりスタートアド
レスデータと前記加算器の出力を選択する。また、前記
加算器により前記第1のマルチプレクサにより選択され
たデータと前記第2のマルチプレクサにより選択された
データとの加算を行い、前記第3のマルチプレクサによ
りこの加算結果を前記第1および第2の累算レジスタの
入力とする構成としている。
第1の走査方向と第2の走査方向の増分データの中から
1個を選択し、前記第2のマルチプレクサにより前記第
1の累算レジスタと前記第2の累算レジスタのデータを
選択し、前記第3のマルチプレクサによりスタートアド
レスデータと前記加算器の出力を選択する。また、前記
加算器により前記第1のマルチプレクサにより選択され
たデータと前記第2のマルチプレクサにより選択された
データとの加算を行い、前記第3のマルチプレクサによ
りこの加算結果を前記第1および第2の累算レジスタの
入力とする構成としている。
【0018】さらに、第0サイクルで前記第1の累算レ
ジスタと第2の累算レジスタとにスタートアドレスデー
タを書き込む制御を行う。第1サイクルから第P1 −1
サイクルまで、第P1 +1サイクルから第2P1 −1サ
イクルまで、…、第(P2 −1)P1 +1サイクルから
第P2 P1 −1サイクルまでの1サイクル毎に、前サイ
クルで前記第1の累算レジスタに書き込まれたデータと
第1走査方向の増分データとを加算してこの結果を前記
第1の累算レジスタに書き込む制御を行う。第P1 サイ
クル、第2P1 サイクル、…、第(P2 −1)P1 サイ
クルのP1 サイクル毎に、前回前記第2の累算レジスタ
に書き込みが行われたサイクルで前記第2の累算レジス
タに書き込まれたデータと第2走査方向の増分データと
を加算してこの結果を前記第1の累算レジスタと前記第
2の累算レジスタとの両方に書き込む制御を行う。
ジスタと第2の累算レジスタとにスタートアドレスデー
タを書き込む制御を行う。第1サイクルから第P1 −1
サイクルまで、第P1 +1サイクルから第2P1 −1サ
イクルまで、…、第(P2 −1)P1 +1サイクルから
第P2 P1 −1サイクルまでの1サイクル毎に、前サイ
クルで前記第1の累算レジスタに書き込まれたデータと
第1走査方向の増分データとを加算してこの結果を前記
第1の累算レジスタに書き込む制御を行う。第P1 サイ
クル、第2P1 サイクル、…、第(P2 −1)P1 サイ
クルのP1 サイクル毎に、前回前記第2の累算レジスタ
に書き込みが行われたサイクルで前記第2の累算レジス
タに書き込まれたデータと第2走査方向の増分データと
を加算してこの結果を前記第1の累算レジスタと前記第
2の累算レジスタとの両方に書き込む制御を行う。
【0019】以上のようにして、第0サイクルから第P
2 P1 −1サイクルまでの各サイクルの結果得られた前
記第1の累算レジスタの値をアドレスとして出力とする
ものである。請求項4記載の3次元アドレス発生器は、
実際に用いられるアドレス値を書き込む累算レジスタの
他に、各走査方向で独立の第1から第3までの累算レジ
スタを有し、走査方向が変ったときのアドレス計算には
走査方向に対応した累算レジスタに対してその走査方向
の増分データを加算することによりアドレス値を計算す
るように構成している。
2 P1 −1サイクルまでの各サイクルの結果得られた前
記第1の累算レジスタの値をアドレスとして出力とする
ものである。請求項4記載の3次元アドレス発生器は、
実際に用いられるアドレス値を書き込む累算レジスタの
他に、各走査方向で独立の第1から第3までの累算レジ
スタを有し、走査方向が変ったときのアドレス計算には
走査方向に対応した累算レジスタに対してその走査方向
の増分データを加算することによりアドレス値を計算す
るように構成している。
【0020】つまり、この3次元アドレス発生器は、1
次元配列状態で順にアドレスが付されたQ1 ×Q2 ×Q
3 の平行体領域(Q1 ,Q2 ,Q3 は自然数)の中の任
意のP1 ×P2 ×P3 の平行体領域(P1 ,P2 ,P3
は自然数で、P1 ≦Q1 ,P 2 ≦Q2 ,P3 ≦Q3 )の
3次元アドレスを発生するものであって、第1から第3
までのマルチプレクサと加算器と第1から第3までの累
算レジスタとを備えている。
次元配列状態で順にアドレスが付されたQ1 ×Q2 ×Q
3 の平行体領域(Q1 ,Q2 ,Q3 は自然数)の中の任
意のP1 ×P2 ×P3 の平行体領域(P1 ,P2 ,P3
は自然数で、P1 ≦Q1 ,P 2 ≦Q2 ,P3 ≦Q3 )の
3次元アドレスを発生するものであって、第1から第3
までのマルチプレクサと加算器と第1から第3までの累
算レジスタとを備えている。
【0021】そして、前記第1のマルチプレクサにより
第1から第3までの走査方向の増分データの中から1個
を選択し、前記第2のマルチプレクサにより前記第1か
ら第3までの累算レジスタのデータを選択し、前記第3
のマルチプレクサによりスタートアドレスデータと前記
加算器の出力を選択し、前記加算器により前記第1のマ
ルチプレクサにより選択されたデータと前記第2のマル
チプレクサにより選択されたデータとの加算を行い、前
記第3のマルチプレクサにより選択されたデータを前記
第1から第3までの累算レジスタの入力とする構成とし
ている。
第1から第3までの走査方向の増分データの中から1個
を選択し、前記第2のマルチプレクサにより前記第1か
ら第3までの累算レジスタのデータを選択し、前記第3
のマルチプレクサによりスタートアドレスデータと前記
加算器の出力を選択し、前記加算器により前記第1のマ
ルチプレクサにより選択されたデータと前記第2のマル
チプレクサにより選択されたデータとの加算を行い、前
記第3のマルチプレクサにより選択されたデータを前記
第1から第3までの累算レジスタの入力とする構成とし
ている。
【0022】さらに、第0サイクルで前記第1から第3
までの累算レジスタにスタートアドレスデータを書き込
む制御を行う。第1サイクルから第P1 −1サイクルま
で、第P1 +1サイクルから第2P1 −1サイクルま
で、…、第(P3 P2 −1)P1 +1サイクルから第
(P3 P2 )P1 −1サイクルまでの1サイクル毎に、
前サイクルで前記第1の累算レジスタに書き込まれたデ
ータと第1走査方向の増分データとを加算してこの結果
を前記第1の累算レジスタに書き込む制御を行う。第P
1 サイクルから第(P2 −1)P1 サイクルまで、第
(P2 +1)P1 サイクルから第(2P2 −1)P1 サ
イクルまで、…、第((P3 −1)P2 +1)P1 サイ
クルから第(P3 P2 −1)P1 サイクルまでのP1 サ
イクル毎に、前回前記第2の累算レジスタに書き込みが
行われたサイクルで前記第2の累算レジスタに書き込ま
れたデータと第2走査方向の増分データとを加算してこ
の結果を前記第1から第2までの累算レジスタに書き込
む制御を行う。第P2 P1 サイクルから第(P3 −1)
P2 P1 サイクルまでのP2 P1 サイクル毎に、前回前
記第3の累算レジスタに書き込みが行われたサイクルで
前記第3の累算レジスタに書き込まれたデータと第3走
査方向の増分データとを加算してこの結果を前記第1か
ら第3までの累算レジスタに書き込む制御を行う。
までの累算レジスタにスタートアドレスデータを書き込
む制御を行う。第1サイクルから第P1 −1サイクルま
で、第P1 +1サイクルから第2P1 −1サイクルま
で、…、第(P3 P2 −1)P1 +1サイクルから第
(P3 P2 )P1 −1サイクルまでの1サイクル毎に、
前サイクルで前記第1の累算レジスタに書き込まれたデ
ータと第1走査方向の増分データとを加算してこの結果
を前記第1の累算レジスタに書き込む制御を行う。第P
1 サイクルから第(P2 −1)P1 サイクルまで、第
(P2 +1)P1 サイクルから第(2P2 −1)P1 サ
イクルまで、…、第((P3 −1)P2 +1)P1 サイ
クルから第(P3 P2 −1)P1 サイクルまでのP1 サ
イクル毎に、前回前記第2の累算レジスタに書き込みが
行われたサイクルで前記第2の累算レジスタに書き込ま
れたデータと第2走査方向の増分データとを加算してこ
の結果を前記第1から第2までの累算レジスタに書き込
む制御を行う。第P2 P1 サイクルから第(P3 −1)
P2 P1 サイクルまでのP2 P1 サイクル毎に、前回前
記第3の累算レジスタに書き込みが行われたサイクルで
前記第3の累算レジスタに書き込まれたデータと第3走
査方向の増分データとを加算してこの結果を前記第1か
ら第3までの累算レジスタに書き込む制御を行う。
【0023】以上のようにして、第0から第P3 P2 P
1 −1サイクルの結果得られた第1の累算レジスタの値
をアドレスとして出力するものである。
1 −1サイクルの結果得られた第1の累算レジスタの値
をアドレスとして出力するものである。
【0024】請求項1記載の構成によれば、N個の累算
レジスタが、各走査方向に対してつぎに同じ走査方向に
なるまで、前にその走査方向に対して行ったアドレス計
算の結果を保持しているので、走査方向が変わる毎に累
算レジスタにスタートアドレスデータを計算して設定す
る必要がなく、設定値の計算が容易となり、そのため無
駄なサイクルを生じることなく連続的に(よどみなく滑
らかに)アドレスを発生してQ1 ×Q2 ×…×QN の中
のP1 ×P2 ×…×PN の多次元データをアクセスする
ことが可能となる。この結果、アドレスの発生に要する
サイクル数を少なくすることができる。また、第1から
第Nまでの走査方向の増分データの交換を行うだけで、
同一のアクセス対象矩形領域に対してアクセスする方向
を容易に変えることができる。
レジスタが、各走査方向に対してつぎに同じ走査方向に
なるまで、前にその走査方向に対して行ったアドレス計
算の結果を保持しているので、走査方向が変わる毎に累
算レジスタにスタートアドレスデータを計算して設定す
る必要がなく、設定値の計算が容易となり、そのため無
駄なサイクルを生じることなく連続的に(よどみなく滑
らかに)アドレスを発生してQ1 ×Q2 ×…×QN の中
のP1 ×P2 ×…×PN の多次元データをアクセスする
ことが可能となる。この結果、アドレスの発生に要する
サイクル数を少なくすることができる。また、第1から
第Nまでの走査方向の増分データの交換を行うだけで、
同一のアクセス対象矩形領域に対してアクセスする方向
を容易に変えることができる。
【0025】請求項2記載の構成によれば、インストラ
クションのモードに応じて多次元アドレス発生器のサイ
クルの進行が制御されるので、特定のアドレスに対して
読み出し→演算→書き込みを行う等の特定のアドレスへ
の複数回のアクセスを連続して行うことができる。この
結果、インストラクションにおいても多次元アドレス発
生器を利用できる。
クションのモードに応じて多次元アドレス発生器のサイ
クルの進行が制御されるので、特定のアドレスに対して
読み出し→演算→書き込みを行う等の特定のアドレスへ
の複数回のアクセスを連続して行うことができる。この
結果、インストラクションにおいても多次元アドレス発
生器を利用できる。
【0026】請求項3記載の構成によれば、第2の累算
レジスタがスタートアドレスデータに対して第2走査走
行の増分データを累算してつぎの行または列の初めまで
保持するので、1列または1行毎に累算レジスタにスタ
ートアドレスデータを計算して設定することなく、設定
値の計算が容易となり、そのため無駄なサイクルを生じ
ることなく連続的に(よどみなく滑らかに)アドレスを
発生してQ1 ×Q2 の平行四辺形領域の中の任意のP1
×P2 の平行四辺形領域の2次元データをアクセスする
ことが可能となる。この結果、アドレスの発生に要する
サイクル数を少なくすることができる。また、第1およ
び第2の走査方向の増分データの交換を行うだけで、同
一のアクセス対象矩形領域に対してアクセスする方向を
容易に変えることができる。
レジスタがスタートアドレスデータに対して第2走査走
行の増分データを累算してつぎの行または列の初めまで
保持するので、1列または1行毎に累算レジスタにスタ
ートアドレスデータを計算して設定することなく、設定
値の計算が容易となり、そのため無駄なサイクルを生じ
ることなく連続的に(よどみなく滑らかに)アドレスを
発生してQ1 ×Q2 の平行四辺形領域の中の任意のP1
×P2 の平行四辺形領域の2次元データをアクセスする
ことが可能となる。この結果、アドレスの発生に要する
サイクル数を少なくすることができる。また、第1およ
び第2の走査方向の増分データの交換を行うだけで、同
一のアクセス対象矩形領域に対してアクセスする方向を
容易に変えることができる。
【0027】請求項4の構成による作用についても、2
次元アドレス発生器に比べて次元が1増加するのみであ
り、その他は上記と同様である。
次元アドレス発生器に比べて次元が1増加するのみであ
り、その他は上記と同様である。
【0028】
【実施例】図1に請求項1記載の発明の多次元アドレス
発生器の実施例のブロック図を示す。以下、図1に基づ
き、この発明の多次元アドレス発生器の実施例の構成を
説明する。図1において、11−1,11−2,…,1
1−Nは第1,2,…,N走査方向の増分データを設定
する増分データ設定器、12は第1のマルチプレクサ、
13は加算器、14はスタートアドレスデータを設定す
るスタートアドレスデータ設定器 (レジスタ) 、15は
第2のマルチプレクサ、16−1,16−2,…,16
−Nは第1,2,…,Nの累算レジスタ、17は第3の
マルチプレクサ、18は制御回路、19は制御信号であ
る。
発生器の実施例のブロック図を示す。以下、図1に基づ
き、この発明の多次元アドレス発生器の実施例の構成を
説明する。図1において、11−1,11−2,…,1
1−Nは第1,2,…,N走査方向の増分データを設定
する増分データ設定器、12は第1のマルチプレクサ、
13は加算器、14はスタートアドレスデータを設定す
るスタートアドレスデータ設定器 (レジスタ) 、15は
第2のマルチプレクサ、16−1,16−2,…,16
−Nは第1,2,…,Nの累算レジスタ、17は第3の
マルチプレクサ、18は制御回路、19は制御信号であ
る。
【0029】簡単のため、便宜上多次元アドレス発生器
を2次元アドレス発生器とし、2次元データをある画像
データとする第1の実施例を以下に説明する。図2に請
求項3記載の2次元アドレス発生器とした場合のブロッ
ク図を示す。図2において、21−1は第1走査方向
(X方向)の増分データDXを設定する増分データ設定
器、21−2は第2走査方向(Y方向)の増分データD
Yを設定する増分データ設定器、22は第1のマルチプ
レクサ、23は加算器、24はスタートアドレスデータ
SAを設定するスタートアドレスデータ設定器、25は
第2のマルチプレクサ、26−1は第1の累算レジス
タ、26−2は第2の累算レジスタ、27は第3のマル
チプレクサ、28は制御回路、29−1は第1制御信
号、29−2は第2制御信号、29−3は第3制御信
号、29−4は第1書き込み信号、29−5は第2書き
込み信号である。
を2次元アドレス発生器とし、2次元データをある画像
データとする第1の実施例を以下に説明する。図2に請
求項3記載の2次元アドレス発生器とした場合のブロッ
ク図を示す。図2において、21−1は第1走査方向
(X方向)の増分データDXを設定する増分データ設定
器、21−2は第2走査方向(Y方向)の増分データD
Yを設定する増分データ設定器、22は第1のマルチプ
レクサ、23は加算器、24はスタートアドレスデータ
SAを設定するスタートアドレスデータ設定器、25は
第2のマルチプレクサ、26−1は第1の累算レジス
タ、26−2は第2の累算レジスタ、27は第3のマル
チプレクサ、28は制御回路、29−1は第1制御信
号、29−2は第2制御信号、29−3は第3制御信
号、29−4は第1書き込み信号、29−5は第2書き
込み信号である。
【0030】以下、図2に基づいて動作を説明する。Q
1 ×Q2 (Q1 ,Q2 は自然数) の中の任意のP1 ×P
2 (P1 ,P2 は自然数、P1 ≦Q1 ,P2 ≦Q2 )の
矩形領域(図4参照)をアクセス対象とする。まず、初
期値として第0サイクルで第1の累算レジスタ26−1
と第2の累算レジスタ26−2とにスタートアドレスデ
ータSAをスタートアドレスデータ設定値24で設定す
る(従来例と同じ)。つぎの第1サイクルでは、第1の
累算レジスタ26−1のデータと第1走査方向(X方
向)の増分データDXとを加算器23により加算してこ
の結果を第1の累算レジスタ26−1に書き込む。この
とき、第2の累算レジスタ26−2には書き込みを行わ
ない。この後、第2から第P1 −1サイクルの間は第1
サイクルと同じ操作を続ける。
1 ×Q2 (Q1 ,Q2 は自然数) の中の任意のP1 ×P
2 (P1 ,P2 は自然数、P1 ≦Q1 ,P2 ≦Q2 )の
矩形領域(図4参照)をアクセス対象とする。まず、初
期値として第0サイクルで第1の累算レジスタ26−1
と第2の累算レジスタ26−2とにスタートアドレスデ
ータSAをスタートアドレスデータ設定値24で設定す
る(従来例と同じ)。つぎの第1サイクルでは、第1の
累算レジスタ26−1のデータと第1走査方向(X方
向)の増分データDXとを加算器23により加算してこ
の結果を第1の累算レジスタ26−1に書き込む。この
とき、第2の累算レジスタ26−2には書き込みを行わ
ない。この後、第2から第P1 −1サイクルの間は第1
サイクルと同じ操作を続ける。
【0031】つぎに、第P1 サイクルでは、第2の累算
レジスタ26−2のデータと第2走査方向(Y方向)の
増分データDXとを加算器23により加算して、この結
果を第1の累算レジスタ26−1と第2の累算レジスタ
26−2との両方に書き込む。同様に、第P1 +1から
第2P1 −1まで,…,第(P2 −1)P1 +1から第
P2 P1 −1のサイクルまでの1サイクル毎に、第1の
累算レジスタ26−1のデータと第1走査方向の増分デ
ータDXとを加算器23により加算して、この結果を第
1の累算レジスタ26−1に書き込む制御を行い、第P
1サイクル,第2P1 サイクル,…,第 (P2 −1)P
1 サイクルのP1 サイクル毎に、第2の累算レジスタ2
6−2のデータと第2走査方向の増分データDYとを加
算して、この結果を第1の累算レジスタ26−1と第2
の累算レジスタ26−2とに書き込む制御を行い、第0
から第P2 P1 −1サイクルの結果得られた第1の累算
レジスタ26−1の値をアドレスとして出力する。
レジスタ26−2のデータと第2走査方向(Y方向)の
増分データDXとを加算器23により加算して、この結
果を第1の累算レジスタ26−1と第2の累算レジスタ
26−2との両方に書き込む。同様に、第P1 +1から
第2P1 −1まで,…,第(P2 −1)P1 +1から第
P2 P1 −1のサイクルまでの1サイクル毎に、第1の
累算レジスタ26−1のデータと第1走査方向の増分デ
ータDXとを加算器23により加算して、この結果を第
1の累算レジスタ26−1に書き込む制御を行い、第P
1サイクル,第2P1 サイクル,…,第 (P2 −1)P
1 サイクルのP1 サイクル毎に、第2の累算レジスタ2
6−2のデータと第2走査方向の増分データDYとを加
算して、この結果を第1の累算レジスタ26−1と第2
の累算レジスタ26−2とに書き込む制御を行い、第0
から第P2 P1 −1サイクルの結果得られた第1の累算
レジスタ26−1の値をアドレスとして出力する。
【0032】このような動作によるデータの流れを図5
に示す。図5に示すように第2の累算レジスタ26−2
に蓄えられている1行または1列前の最初のアドレスを
用いてつぎのラインの最初のアドレスを計算している。
図11に図2の制御回路28の一例を示す。図11にお
いて、101は初期状態をP1 とし、1からカウントを
開始して、クロックに従いP1 まで順次インクリメント
する動作を繰り返す第1カウンタ、103は初期状態を
P2 とし1からカウントを開始して、クロックに従いP
2 まで順次インクリメントする動作を繰り返す第2カウ
ンタ、102はデータP1 、104はデータP2 、11
1はデータP1 −1、105,108は論理積回路、1
06,107,112は2個のデータを比較して一致の
場合に1を出力し、不一致の場合に0を出力する比較
器、109,110,113はDフリップフロップ、1
14は第1クロック、115は第2クロック、116は
制御信号、117はEND信号である。
に示す。図5に示すように第2の累算レジスタ26−2
に蓄えられている1行または1列前の最初のアドレスを
用いてつぎのラインの最初のアドレスを計算している。
図11に図2の制御回路28の一例を示す。図11にお
いて、101は初期状態をP1 とし、1からカウントを
開始して、クロックに従いP1 まで順次インクリメント
する動作を繰り返す第1カウンタ、103は初期状態を
P2 とし1からカウントを開始して、クロックに従いP
2 まで順次インクリメントする動作を繰り返す第2カウ
ンタ、102はデータP1 、104はデータP2 、11
1はデータP1 −1、105,108は論理積回路、1
06,107,112は2個のデータを比較して一致の
場合に1を出力し、不一致の場合に0を出力する比較
器、109,110,113はDフリップフロップ、1
14は第1クロック、115は第2クロック、116は
制御信号、117はEND信号である。
【0033】図11の回路に従って、図12のようなタ
イミング図を得る。制御信号116を図2の第1制御信
号29−1、第2制御信号29−2として用い、第1ク
ロック114を第1書き込み信号29−4、第2クロッ
ク115を第2書き込み信号29−5として用いれば、
図5のタイミングチャートに従った制御をすることがで
きる。
イミング図を得る。制御信号116を図2の第1制御信
号29−1、第2制御信号29−2として用い、第1ク
ロック114を第1書き込み信号29−4、第2クロッ
ク115を第2書き込み信号29−5として用いれば、
図5のタイミングチャートに従った制御をすることがで
きる。
【0034】第3のマルチプレクサ27の第3制御信号
29−3は、2次元アドレス発生器の起動時(第0サイ
クル)にスタートアドレスデータ設定器24のスタート
アドレスデータを選択し、他のサイクルでは加算器23
の出力データを選択するよう制御する。図6(a)に実
際の画像データのアクセスの様子を示す。図6におい
て、61は6×7画素の矩形領域からなる全体の画像デ
ータ、62は4×4画素のアクセス対象矩形領域であ
る。0から41が実際のメモリのアドレスであり、
(0)から(15)がアクセスする順番を表す。この場
合、第1走査方向の増分データDXとして1、第2走査
方向の増分データDYとして1ラインのデータ数6を設
定する。
29−3は、2次元アドレス発生器の起動時(第0サイ
クル)にスタートアドレスデータ設定器24のスタート
アドレスデータを選択し、他のサイクルでは加算器23
の出力データを選択するよう制御する。図6(a)に実
際の画像データのアクセスの様子を示す。図6におい
て、61は6×7画素の矩形領域からなる全体の画像デ
ータ、62は4×4画素のアクセス対象矩形領域であ
る。0から41が実際のメモリのアドレスであり、
(0)から(15)がアクセスする順番を表す。この場
合、第1走査方向の増分データDXとして1、第2走査
方向の増分データDYとして1ラインのデータ数6を設
定する。
【0035】第0サイクルで、スタートアドレスデータ
SAとして7を第1の累算レジスタ26−1と第2の累
算レジスタ26−2とに書き込む。第1サイクルから第
3サイクルまでの各サイクルで、第1の累算レジスタ2
6−1の値7に順次第1走査方向の増分データDX(こ
の例では1)を加算して第1の累算レジスタ26−1に
書き込み、アドレス8,9,10を生成する。
SAとして7を第1の累算レジスタ26−1と第2の累
算レジスタ26−2とに書き込む。第1サイクルから第
3サイクルまでの各サイクルで、第1の累算レジスタ2
6−1の値7に順次第1走査方向の増分データDX(こ
の例では1)を加算して第1の累算レジスタ26−1に
書き込み、アドレス8,9,10を生成する。
【0036】第4サイクルで、第2の累算レジスタ26
−2に保持されているアドレス7に第2走査方向の増分
データDY(この例では6)を加算して第1の累算レジ
スタ26−1と第2の累算レジスタ26−2に書き込
み、アドレス13を生成する。第5サイクルから第7サ
イクルまでの各サイクルで、第1の累算レジスタ26−
1の値13に順次第1走査方向の増分データDXとして
1を加算して第1の累算レジスタ26−1に書き込み、
アドレス14,15,16を生成する。
−2に保持されているアドレス7に第2走査方向の増分
データDY(この例では6)を加算して第1の累算レジ
スタ26−1と第2の累算レジスタ26−2に書き込
み、アドレス13を生成する。第5サイクルから第7サ
イクルまでの各サイクルで、第1の累算レジスタ26−
1の値13に順次第1走査方向の増分データDXとして
1を加算して第1の累算レジスタ26−1に書き込み、
アドレス14,15,16を生成する。
【0037】第8サイクルで、第2の累算レジスタ26
−2の値13に第2走査方向の増分データとして6を加
算して第1の累算レジスタ26−1と第2の累算レジス
タ26−2に書き込み、アドレス19を生成する。以下
同様にして、アドレス20,21,25,26,27,
28を順に生成し、全体の画像データ61中のアクセス
対象矩形領域62のアクセスを実現する。
−2の値13に第2走査方向の増分データとして6を加
算して第1の累算レジスタ26−1と第2の累算レジス
タ26−2に書き込み、アドレス19を生成する。以下
同様にして、アドレス20,21,25,26,27,
28を順に生成し、全体の画像データ61中のアクセス
対象矩形領域62のアクセスを実現する。
【0038】図6(a)は横方向のアクセスの説明図で
あったが、図6(b)は縦方向のアクセスの説明図であ
る。図6(b)において、63は6×7画素の矩形領域
からなる全体の画像データ、64は4×4画素のアクセ
ス対象矩形領域である。0から41は実際のメモリのア
ドレスであり、(0)から(15)がアクセスする順番
を表す。この場合、第1走査方向の増分データDXとし
て6、第2走査方向の増分データDYとして1ラインの
データ数1を設定する。
あったが、図6(b)は縦方向のアクセスの説明図であ
る。図6(b)において、63は6×7画素の矩形領域
からなる全体の画像データ、64は4×4画素のアクセ
ス対象矩形領域である。0から41は実際のメモリのア
ドレスであり、(0)から(15)がアクセスする順番
を表す。この場合、第1走査方向の増分データDXとし
て6、第2走査方向の増分データDYとして1ラインの
データ数1を設定する。
【0039】第0サイクルで、スタートアドレスデータ
SAとして値7を第1の累算レジスタ26−1と第2の
累算レジスタ26−2に書き込む。第1サイクルから第
3サイクルまでの各サイクルで、第1の累算レジスタ2
6−1の値7に順次第1走査方向の増分データDX(こ
の例では6)を加算して第1の累算レジスタ26−1に
書き込み、アドレス13,19,25を生成する。
SAとして値7を第1の累算レジスタ26−1と第2の
累算レジスタ26−2に書き込む。第1サイクルから第
3サイクルまでの各サイクルで、第1の累算レジスタ2
6−1の値7に順次第1走査方向の増分データDX(こ
の例では6)を加算して第1の累算レジスタ26−1に
書き込み、アドレス13,19,25を生成する。
【0040】第4サイクルで、第2の累算レジスタ26
−2に保持されているアドレス7に第2走査方向の増分
データDY(この例では1)を加算して第1の累算レジ
スタ26−1と第2の累算レジスタ26−2に書き込
み、アドレス8を生成する。第5サイクルから第7サイ
クルまでの各サイクルで、第1の累算レジスタ26−1
の値8に順次第1走査方向の増分データ6を加算して第
1の累算レジスタ26−1に書き込み、アドレス14,
20,26を生成する。
−2に保持されているアドレス7に第2走査方向の増分
データDY(この例では1)を加算して第1の累算レジ
スタ26−1と第2の累算レジスタ26−2に書き込
み、アドレス8を生成する。第5サイクルから第7サイ
クルまでの各サイクルで、第1の累算レジスタ26−1
の値8に順次第1走査方向の増分データ6を加算して第
1の累算レジスタ26−1に書き込み、アドレス14,
20,26を生成する。
【0041】第8サイクルで、第2の累算レジスタ26
−2の値8に第2走査方向の増分データとして1を加算
して第1の累算レジスタ26−1と第2の累算レジスタ
26−2に書き込み、アドレス9を生成する。以下同様
にして、アドレス15,21,27,10,16,2
2,28を順に生成し、全体の画像データ63中のアク
セス対象矩形領域64のアクセスを実現する。
−2の値8に第2走査方向の増分データとして1を加算
して第1の累算レジスタ26−1と第2の累算レジスタ
26−2に書き込み、アドレス9を生成する。以下同様
にして、アドレス15,21,27,10,16,2
2,28を順に生成し、全体の画像データ63中のアク
セス対象矩形領域64のアクセスを実現する。
【0042】以上述べたように、同一のアクセス対象矩
形領域62または64に対してアクセスの方向を変えた
い場合、第1走査方向の増分データDXと第2の走査方
向の増分データDYを交換するだけでよい。また、第1
走査方向の増分データと第2走査方向の増分データの1
つまたは両方を変えることにより平行四辺形の領域をア
クセスしたり、跳び跳びのアクセスをすることもでき
る。多次元空間内の場合は、多次元の平行体領域をアク
セスすることになる。
形領域62または64に対してアクセスの方向を変えた
い場合、第1走査方向の増分データDXと第2の走査方
向の増分データDYを交換するだけでよい。また、第1
走査方向の増分データと第2走査方向の増分データの1
つまたは両方を変えることにより平行四辺形の領域をア
クセスしたり、跳び跳びのアクセスをすることもでき
る。多次元空間内の場合は、多次元の平行体領域をアク
セスすることになる。
【0043】画像データの3×3画素の矩形領域を横方
向にずらしてアクセスする第2の実施例を説明する。図
7(a)に示すように3×3画素のデータを単位として
横方向にずらしながら連続して3回アクセスする場合を
考える。図7(a)において、71は11×5画素の矩
形領域からなる全体の画像データ、72−1は3×3画
素の第1のアクセス対象矩形領域、72−2は3×3画
素の第2のアクセス対象矩形領域、72−3は3×3画
素の第3のアクセス対象矩形領域である。0から54が
実際のメモリのアドレスであり、(0)から(26) が
アクセスする順番を表す。つまり、第1のアクセス対象
矩形領域72−1に対して(0)から(8)、第2のア
クセス対象矩形領域72−2に対して(9)から(1
7)、第3のアクセス対象矩形領域72−3に対して
(18) から(26) というように3×3画素を単位と
して順にアクセスする。
向にずらしてアクセスする第2の実施例を説明する。図
7(a)に示すように3×3画素のデータを単位として
横方向にずらしながら連続して3回アクセスする場合を
考える。図7(a)において、71は11×5画素の矩
形領域からなる全体の画像データ、72−1は3×3画
素の第1のアクセス対象矩形領域、72−2は3×3画
素の第2のアクセス対象矩形領域、72−3は3×3画
素の第3のアクセス対象矩形領域である。0から54が
実際のメモリのアドレスであり、(0)から(26) が
アクセスする順番を表す。つまり、第1のアクセス対象
矩形領域72−1に対して(0)から(8)、第2のア
クセス対象矩形領域72−2に対して(9)から(1
7)、第3のアクセス対象矩形領域72−3に対して
(18) から(26) というように3×3画素を単位と
して順にアクセスする。
【0044】この場合は3×3画素のアクセス対象矩形
領域72−1〜72−3内の横方向および縦方向と、こ
のアクセス対象矩形領域72−1〜72−3の移動量方
向の3個の走査方向があり、3×3×3の領域(72−
1〜72−3)をアクセスすると考えられ、図8に示す
ような3次元アドレス発生器により実現できる。図8に
おいて、81−1は第1走査方向の増分データを設定す
る増分データ設定器、81−2は第2走査方向の増分デ
ータを設定する増分データ設定器、81−3は第3走査
方向の増分データを設定する増分データ設定器、82は
第1のマルチプレクサ、83は加算器、84はスタート
アドレスデータを設定するスタートアドレスデータ設定
器、85は第2のマルチプレクサ、86−1は第1の累
算レジスタ、86−2は第2の累算レジスタ、86−3
は第3の累算レジスタ、87は第3のマルチプレクサ、
88は制御回路、89は制御信号である。
領域72−1〜72−3内の横方向および縦方向と、こ
のアクセス対象矩形領域72−1〜72−3の移動量方
向の3個の走査方向があり、3×3×3の領域(72−
1〜72−3)をアクセスすると考えられ、図8に示す
ような3次元アドレス発生器により実現できる。図8に
おいて、81−1は第1走査方向の増分データを設定す
る増分データ設定器、81−2は第2走査方向の増分デ
ータを設定する増分データ設定器、81−3は第3走査
方向の増分データを設定する増分データ設定器、82は
第1のマルチプレクサ、83は加算器、84はスタート
アドレスデータを設定するスタートアドレスデータ設定
器、85は第2のマルチプレクサ、86−1は第1の累
算レジスタ、86−2は第2の累算レジスタ、86−3
は第3の累算レジスタ、87は第3のマルチプレクサ、
88は制御回路、89は制御信号である。
【0045】動作は2次元アドレス発生器と同様であ
り、図7(a)の例を用い説明する。第1走査方向の増
分データ設定器81−1の設定値を1とし、第2走査方
向の増分データ設定器81−2の設定値を1ラインのデ
ータ数11とし、第3走査方向の増分データ設定器81
−3の設定値を3×3画素のアクセス対象矩形領域の移
動量3に設定し、スタートアドレスデータとして12を
設定する。
り、図7(a)の例を用い説明する。第1走査方向の増
分データ設定器81−1の設定値を1とし、第2走査方
向の増分データ設定器81−2の設定値を1ラインのデ
ータ数11とし、第3走査方向の増分データ設定器81
−3の設定値を3×3画素のアクセス対象矩形領域の移
動量3に設定し、スタートアドレスデータとして12を
設定する。
【0046】第0サイクルで、スタートアドレスデータ
の値12を第1から第3の累算レジスタ86−1〜86
−3に書き込む。第1サイクルと第2サイクルの各サイ
クルで、第1の累算レジスタ86−1の値12に順次第
1走査方向の増分データ(この例では1)を加算して第
1の累算レジスタ86−1に書き込み、アドレス13,
14を生成する。
の値12を第1から第3の累算レジスタ86−1〜86
−3に書き込む。第1サイクルと第2サイクルの各サイ
クルで、第1の累算レジスタ86−1の値12に順次第
1走査方向の増分データ(この例では1)を加算して第
1の累算レジスタ86−1に書き込み、アドレス13,
14を生成する。
【0047】第3サイクルで、第2の累算レジスタ86
−2の値12に第2走査方向の増分データ(この例では
11) を加算して第1の累算レジスタ86−1と第2の
累算レジスタ86−2に書き込み、アドレス22を生成
する。第4サイクルと第5サイクルの各サイクルで、第
1の累算レジスタ86−1の値23に順次第1走査方向
の増分データとして1を加算して第1の累算レジスタ8
6−1に書き込み、アドレス24,25を生成する。
−2の値12に第2走査方向の増分データ(この例では
11) を加算して第1の累算レジスタ86−1と第2の
累算レジスタ86−2に書き込み、アドレス22を生成
する。第4サイクルと第5サイクルの各サイクルで、第
1の累算レジスタ86−1の値23に順次第1走査方向
の増分データとして1を加算して第1の累算レジスタ8
6−1に書き込み、アドレス24,25を生成する。
【0048】第6サイクルで、第2の累算レジスタ86
−2の値23に第2走査方向の増分データとして11を
加算して第1の累算レジスタ86−1と第2の累算レジ
スタ86−2に書き込み、アドレス34を生成する。第
7サイクルと第8サイクルの各サイクルで、第1の累算
レジスタ86−1の値34に順次第1走査方向の増分デ
ータとして1を加算して第1の累算レジスタ86−1に
書き込み、アドレス35,36を生成する。
−2の値23に第2走査方向の増分データとして11を
加算して第1の累算レジスタ86−1と第2の累算レジ
スタ86−2に書き込み、アドレス34を生成する。第
7サイクルと第8サイクルの各サイクルで、第1の累算
レジスタ86−1の値34に順次第1走査方向の増分デ
ータとして1を加算して第1の累算レジスタ86−1に
書き込み、アドレス35,36を生成する。
【0049】第9サイクルで、第3の累算レジスタ86
−3の値12に第3走査方向の増分データとして3を加
算して第1から第3の累算レジスタ86−1〜86−3
に書き込み、アドレス15を生成する。同様にして、第
10サイクル,第11サイクル,第13サイクル,第1
4サイクル,第16サイクル,第17サイクル,第19
サイクル,第20サイクル,第22サイクル,第23サ
イクル,第25サイクル,第26サイクルの各サイクル
で、第1の累算レジスタ86−1の値に順次第1走査方
向の増分データとして1を加算して第1の累算レジスタ
86−1に書き込み、第12サイクル,第15サイク
ル,第21サイクル,第24サイクルで、第2の累算レ
ジスタ86−2の値に第2走査方向の増分データとして
11を加算して第1の累算レジスタ86−1と第2の累
算レジスタ86−2に書き込み、第18サイクルで、第
3の累算レジスタの86−3の値に第3走査方向の増分
データとして3を加算して第1から第3の累算レジスタ
86−1〜86−3に書き込み、アドレス16,17,
26,27,28,37,38,39,18,19,2
0,29,30,31,40,41,42を順に生成
し、全体の画像データ71中のアクセス対象矩形領域7
2−1,72−2,72−3のアクセスを実現する。
−3の値12に第3走査方向の増分データとして3を加
算して第1から第3の累算レジスタ86−1〜86−3
に書き込み、アドレス15を生成する。同様にして、第
10サイクル,第11サイクル,第13サイクル,第1
4サイクル,第16サイクル,第17サイクル,第19
サイクル,第20サイクル,第22サイクル,第23サ
イクル,第25サイクル,第26サイクルの各サイクル
で、第1の累算レジスタ86−1の値に順次第1走査方
向の増分データとして1を加算して第1の累算レジスタ
86−1に書き込み、第12サイクル,第15サイク
ル,第21サイクル,第24サイクルで、第2の累算レ
ジスタ86−2の値に第2走査方向の増分データとして
11を加算して第1の累算レジスタ86−1と第2の累
算レジスタ86−2に書き込み、第18サイクルで、第
3の累算レジスタの86−3の値に第3走査方向の増分
データとして3を加算して第1から第3の累算レジスタ
86−1〜86−3に書き込み、アドレス16,17,
26,27,28,37,38,39,18,19,2
0,29,30,31,40,41,42を順に生成
し、全体の画像データ71中のアクセス対象矩形領域7
2−1,72−2,72−3のアクセスを実現する。
【0050】図7(b)に矩形領域に重なりがあり、矩
形領域のずれが斜めになっている場合の例を示す。図7
(b)において、73は11×5画素の矩形領域からな
る全体の画像データ、74−1は3×3画素の第1のア
クセス対象矩形領域、74−2は3×3画素の第2のア
クセス対象矩形領域、74−3は3×3画素の第3のア
クセス対象矩形領域である。0から54が実際のメモリ
のアドレスであり、(0)から(26) がアクセスする
順番を表す。つまり、第1のアクセス対象矩形領域72
−1に対して(0)から(8)、第2のアクセス対象矩
形領域72−2に対して(9)から(17)、第3のア
クセス対象矩形領域72−3に対して(18) から(2
6) というように3×3画素を単位として順にアクセス
する。
形領域のずれが斜めになっている場合の例を示す。図7
(b)において、73は11×5画素の矩形領域からな
る全体の画像データ、74−1は3×3画素の第1のア
クセス対象矩形領域、74−2は3×3画素の第2のア
クセス対象矩形領域、74−3は3×3画素の第3のア
クセス対象矩形領域である。0から54が実際のメモリ
のアドレスであり、(0)から(26) がアクセスする
順番を表す。つまり、第1のアクセス対象矩形領域72
−1に対して(0)から(8)、第2のアクセス対象矩
形領域72−2に対して(9)から(17)、第3のア
クセス対象矩形領域72−3に対して(18) から(2
6) というように3×3画素を単位として順にアクセス
する。
【0051】この場合も、図7(a)と同様に3個の走
査方向があり、3×3×3の領域(74−1〜74−
3)をアクセスとすると考えられ、図8に示すような3
次元アドレス発生器により実現できる。第1走査方向の
増分データ設定器81−1の設定値を1とし、第2走査
方向の増分データ設定器81−2の設定値を1ラインの
データ数11とし、第3走査方向の増分データ設定器8
1−3の設定値を3×3画素のアクセス対象矩形領域の
移動量13に設定し、スタートアドレスデータとして2
を設定し、図7(a)と同様の動作により全体の画像デ
ータ73中のアクセス対象領域74−1,74−2,7
4−3のアクセスを実現する。
査方向があり、3×3×3の領域(74−1〜74−
3)をアクセスとすると考えられ、図8に示すような3
次元アドレス発生器により実現できる。第1走査方向の
増分データ設定器81−1の設定値を1とし、第2走査
方向の増分データ設定器81−2の設定値を1ラインの
データ数11とし、第3走査方向の増分データ設定器8
1−3の設定値を3×3画素のアクセス対象矩形領域の
移動量13に設定し、スタートアドレスデータとして2
を設定し、図7(a)と同様の動作により全体の画像デ
ータ73中のアクセス対象領域74−1,74−2,7
4−3のアクセスを実現する。
【0052】さらに、第2の実施例の方法を用いれば、
実際の3次元画像の平行体内部のアクセスや、それ以上
の次元の平行体内部のアクセスも同様にして実現でき
る。図3にこの発明の多次元アドレス発生器の制御方式
の一実施例(請求項2に対応する)のブロック図を示
す。図3において、31はインストラクションメモリ、
32はデコーダ、33は図2に示した2次元アドレス発
生器、34は制御記号である。
実際の3次元画像の平行体内部のアクセスや、それ以上
の次元の平行体内部のアクセスも同様にして実現でき
る。図3にこの発明の多次元アドレス発生器の制御方式
の一実施例(請求項2に対応する)のブロック図を示
す。図3において、31はインストラクションメモリ、
32はデコーダ、33は図2に示した2次元アドレス発
生器、34は制御記号である。
【0053】この実施例では、多次元アドレス発生器は
2次元アドレス発生器とし、インストラクションメモリ
31から読み出されたインストラクションがデコーダ3
2によりデコードされた結果、第1のモードが検出され
た場合には、2次元アドレス発生器33に対しサイクル
を1サイクル進める制御を行い、第2のモードが検出さ
れた場合には、2次元アドレス発生器33に対しサイク
ルを進めない制御を行う。
2次元アドレス発生器とし、インストラクションメモリ
31から読み出されたインストラクションがデコーダ3
2によりデコードされた結果、第1のモードが検出され
た場合には、2次元アドレス発生器33に対しサイクル
を1サイクル進める制御を行い、第2のモードが検出さ
れた場合には、2次元アドレス発生器33に対しサイク
ルを進めない制御を行う。
【0054】ここでは、 (1)2次元アドレス発生器の出力をアドレスとするメ
モリリード(第2のモード)、 (2)(1)で読み出したデータの演算、 (3)2次元アドレス発生器の出力をアドレスとし、
(2)で演算した結果を書き込むメモリライト(第1の
モード) からなる3個のインストラクションを繰り返す場合を考
える。
モリリード(第2のモード)、 (2)(1)で読み出したデータの演算、 (3)2次元アドレス発生器の出力をアドレスとし、
(2)で演算した結果を書き込むメモリライト(第1の
モード) からなる3個のインストラクションを繰り返す場合を考
える。
【0055】このような動作によるデータの流れを図9
に示す。デコーダ32で第1のモードが検出された第n
+2サイクル,第n+5サイクル,第n+8サイクルで
は、2次元アドレス発生器33のサイクルを1サイクル
進める制御を行い、第2のモードが検出された第nサイ
クル,第n+3サイクル,第n+6サイクルは、2次元
アドレス発生器33のサイクルを進めない制御を行う。
すなわち、第nサイクルと第n+2サイクル,第n+3
サイクルと第n+5サイクル,第n+6サイクルと第n
+8サイクルでは2次元アドレス発生器33により生成
された同一のアドレスのデータを用いることができる。
また、第n+1サイクル,第n+4サイクル,第n+7
サイクルでは、2次元アドレス発生器33を用いないイ
ンストラクションであるので、2次元アドレス発生器3
3のサイクルは進めず、2次元アドレス発生器33の出
力はない。したがって、元の矩形データに対して、演算
を施して、元の矩形データがあったアドレスに格納する
ことができる。なお、この演算としては、2値化処理,
階調変換等が含まれ、幾つかのインストラクションの組
み合わせによる処理でもよい。
に示す。デコーダ32で第1のモードが検出された第n
+2サイクル,第n+5サイクル,第n+8サイクルで
は、2次元アドレス発生器33のサイクルを1サイクル
進める制御を行い、第2のモードが検出された第nサイ
クル,第n+3サイクル,第n+6サイクルは、2次元
アドレス発生器33のサイクルを進めない制御を行う。
すなわち、第nサイクルと第n+2サイクル,第n+3
サイクルと第n+5サイクル,第n+6サイクルと第n
+8サイクルでは2次元アドレス発生器33により生成
された同一のアドレスのデータを用いることができる。
また、第n+1サイクル,第n+4サイクル,第n+7
サイクルでは、2次元アドレス発生器33を用いないイ
ンストラクションであるので、2次元アドレス発生器3
3のサイクルは進めず、2次元アドレス発生器33の出
力はない。したがって、元の矩形データに対して、演算
を施して、元の矩形データがあったアドレスに格納する
ことができる。なお、この演算としては、2値化処理,
階調変換等が含まれ、幾つかのインストラクションの組
み合わせによる処理でもよい。
【0056】
【発明の効果】請求項1記載の多次元アドレス発生器に
よれば、N個の累算レジスタが、各走査方向に対してつ
ぎに同じ走査方向になるまで、前にその走査方向に対し
て行ったアドレス計算の結果を保持しているので、走査
方向が変わる毎に累算レジスタにスタートアドレスデー
タを計算して設定する必要がなく、設定値の計算が容易
となり、そのため無駄なサイクルを生じることなく連続
的に(よどみなく滑らかに)アドレスを発生してQ1 ×
Q2 ×…×QN の中のP1 ×P2 ×…×PN の多次元デ
ータをアクセスすることが可能となり、この結果、アド
レスの発生に要するサイクル数を少なくすることができ
る。また、第1から第Nまでの走査方向の増分データの
交換を行うだけで、同一のアクセス対象矩形領域に対し
てアクセスする方向を容易に変えることができる。
よれば、N個の累算レジスタが、各走査方向に対してつ
ぎに同じ走査方向になるまで、前にその走査方向に対し
て行ったアドレス計算の結果を保持しているので、走査
方向が変わる毎に累算レジスタにスタートアドレスデー
タを計算して設定する必要がなく、設定値の計算が容易
となり、そのため無駄なサイクルを生じることなく連続
的に(よどみなく滑らかに)アドレスを発生してQ1 ×
Q2 ×…×QN の中のP1 ×P2 ×…×PN の多次元デ
ータをアクセスすることが可能となり、この結果、アド
レスの発生に要するサイクル数を少なくすることができ
る。また、第1から第Nまでの走査方向の増分データの
交換を行うだけで、同一のアクセス対象矩形領域に対し
てアクセスする方向を容易に変えることができる。
【0057】請求項2記載の多次元アドレス発生器の制
御方式によれば、インストラクションのモードに応じて
多次元アドレスの進行を制御するので、特定のアドレス
に対して読み出し→演算→書き込みを行う等の特定のア
ドレスへの複数回のアクセスを連続して行うことが可能
である。請求項3記載の2次元アドレス発生器によれ
ば、第2の累算レジスタがスタートアドレスデータに対
して第2走査走行の増分データを累算してつぎの行また
は列の初めまで保持するので、1列または1行毎に累算
レジスタにスタートアドレスデータを計算して設定する
ことなく、設定値の計算が容易となり、そのため無駄な
サイクルを生じることなく連続的に(よどみなく滑らか
に)アドレスを発生してQ1 ×Q2 の平行四辺形領域の
中の任意のP1 ×P2 の平行四辺形領域の2次元データ
をアクセスすることが可能となり、この結果、アドレス
の発生に要するサイクル数を少なくすることができる。
また、第1および第2の走査方向の増分データの交換を
行うだけで、同一のアクセス対象矩形領域に対してアク
セスする方向を容易に変えることができる。
御方式によれば、インストラクションのモードに応じて
多次元アドレスの進行を制御するので、特定のアドレス
に対して読み出し→演算→書き込みを行う等の特定のア
ドレスへの複数回のアクセスを連続して行うことが可能
である。請求項3記載の2次元アドレス発生器によれ
ば、第2の累算レジスタがスタートアドレスデータに対
して第2走査走行の増分データを累算してつぎの行また
は列の初めまで保持するので、1列または1行毎に累算
レジスタにスタートアドレスデータを計算して設定する
ことなく、設定値の計算が容易となり、そのため無駄な
サイクルを生じることなく連続的に(よどみなく滑らか
に)アドレスを発生してQ1 ×Q2 の平行四辺形領域の
中の任意のP1 ×P2 の平行四辺形領域の2次元データ
をアクセスすることが可能となり、この結果、アドレス
の発生に要するサイクル数を少なくすることができる。
また、第1および第2の走査方向の増分データの交換を
行うだけで、同一のアクセス対象矩形領域に対してアク
セスする方向を容易に変えることができる。
【0058】請求項4記載の3次元アドレス発生器の効
果も、2次元アドレス発生器と同様である。
果も、2次元アドレス発生器と同様である。
【図1】この発明の多次元アドレス発生器の一実施例の
構成図である。
構成図である。
【図2】この発明の2次元アドレス発生器の一実施例の
構成図である。
構成図である。
【図3】この発明のアドレス発生器の制御方式の一実施
例の構成図である。
例の構成図である。
【図4】画像データの実際のマッピング図である。
【図5】図2の一実施例におけるタイミイグチャートで
ある。
ある。
【図6】図2の一実施例における実際の画像データのア
クセスの説明図である。
クセスの説明図である。
【図7】図8の一実施例における実際の画像データのア
クセスの説明図である。
クセスの説明図である。
【図8】この発明の3次元アドレス発生器の一実施例の
構成図である。
構成図である。
【図9】図3の実施例におけるタイミイグチャートであ
る。
る。
【図10】従来のアドレス発生器の構成図である。
【図11】2次元アドレス発生器の制御回路の一例の構
成図である。
成図である。
【図12】図11の制御回路のタイミングチャートであ
る。
る。
11 増分データ設定器 12 第1のマルチプレクサ 13 加算器 16 累算レジスタ 15 第2のマルチプレクサ 14 スタートアドレスデータ設定器 18 制御回路 17 第3のマルチプレクサ 31 インストラクションメモリ 32 デコーダ 33 2次元アドレス発生器
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 - 12/06
Claims (4)
- 【請求項1】 1次元配列状態で順にアドレスが付され
たQ1 ×Q2 ×…×QN の平行体領域(Q1 ,Q2 ,
…,QN は自然数)の中の任意のP1 ×P2 ×…×PN
の平行体領域(P1 ,P2 ,…,PN は自然数で、P1
≦Q1 ,P2 ≦Q2 ,…,PN ≦QN )のN次元アドレ
ス発生器であって、 第1から第3までのマルチプレクサと加算器と第1から
第Nまでの累算レジスタとを備え、 前記第1のマルチプレクサにより第1から第Nまでの走
査方向の増分データの中から1個を選択し、前記第2の
マルチプレクサにより前記第1から第Nまでの累算レジ
スタのデータを選択し、前記第3のマルチプレクサによ
りスタートアドレスデータと前記加算器の出力を選択
し、 前記加算器により前記第1のマルチプレクサにより選択
されたデータと前記第2のマルチプレクサにより選択さ
れたデータとの加算を行い、前記第3のマルチプレクサ
により選択されたデータを前記第1から第Nまでの累算
レジスタの入力とする構成とし、 第0サイクルで前記第1から第Nまでの累算レジスタに
スタートアドレスデータを書き込む制御を行い、 第1サイクルから第P1 −1サイクルまで、第P1 +1
サイクルから第2P1−1サイクルまで、…、第(PN
PN-1 …P2 −1)P1 +1サイクルから第(PN P
N-1 …P2 )P1 −1サイクルまでの1サイクル毎に、
前サイクルで前記第1の累算レジスタに書き込まれたデ
ータと第1走査方向の増分データとを加算してこの結果
を前記第1の累算レジスタに書き込む制御を行い、 第Pn-1 Pn-2 …P1 サイクルから第(Pn −1)P
n-1 Pn-2 …P1 サイクルまでのPn-1 Pn-2 …P1 サ
イクル毎、第(Pn +1)Pn-1 Pn-2 …P1 サイクル
から第(2Pn −1)Pn-1 Pn-2 …P1 サイクルまで
のPn-1 Pn-2 …P1 サイクル毎、…、第((PN P
N-1 …Pn+1 −1)Pn +1)Pn-1 Pn-2…P1 サイ
クルから第((PN PN-1 …Pn+1 )Pn −1)Pn-1
Pn-2 …P1サイクルまでのPn-1 Pn-2 …P1 サイク
ル毎に、前回前記第nの累算レジスタに書き込みが行わ
れたサイクルで前記第nの累算レジスタに書き込まれた
データと第n走査方向の増分データとを加算してこの結
果を前記第1から第nまでの累算レジスタに書き込む制
御をn=2,3,…,Nについて行い、 第0から第PN PN-1 …P1 −1サイクルの結果得られ
た第1の累算レジスタの値をアドレスとして出力する多
次元アドレス発生器。 - 【請求項2】 請求項1記載の多次元アドレス発生器の
制御方式であって、インストラクションの第1のモード
が検出された場合には前記多次元アドレス発生器の出力
を用いた後に前記多次元アドレス発生器のサイクルを1
サイクル進め、インストラクションの第2のモードが検
出された場合には前記多次元アドレス発生器の出力を用
いた後にサイクルを進めない制御を前記多次元アドレス
発生器に対して施すことを特徴とする多次元アドレス発
生器の制御方式。 - 【請求項3】 1次元配列状態で順にアドレスが付され
たQ1 ×Q2 の平行四辺形領域(Q1 ,Q2 は自然数)
の中の任意のP1 ×P2 の平行四辺形領域(P1 ,P2
は自然数で、P1 ≦Q1 ,P2 ≦Q2 )の2次元アドレ
スを発生する2次元アドレス発生器であって、 第1から第3までのマルチプレクサと加算器と第1と第
2の累算レジスタとを備え、 前記第1のマルチプレクサにより第1の走査方向と第2
の走査方向の増分データの中から1個を選択し、前記第
2のマルチプレクサにより前記第1の累算レジスタと第
2の累算レジスタのデータを選択し、前記第3のマルチ
プレクサによりスタートアドレスデータと前記加算器の
出力を選択し、 前記加算器により前記第1のマルチプレクサにより選択
されたデータと前記第2のマルチプレクサにより選択さ
れたデータとの加算を行い、前記第3のマルチプレクサ
により選択されたデータを前記第1および第2の累算レ
ジスタの入力とする構成とし、 第0サイクルで前記第1の累算レジスタと第2の累算レ
ジスタとにスタートアドレスデータを書き込む制御を行
い、 第1サイクルから第P1 −1サイクルまで、第P1 +1
サイクルから第2P1−1サイクルまで、…、第(P2
−1)P1 +1サイクルから第P2 P1 −1サイクルま
での1サイクル毎に、前サイクルで前記第1の累算レジ
スタに書き込ま れたデータと第1走査方向の増分データ
とを加算してこの結果を前記第1の累算レジスタに書き
込む制御を行い、 第P1 サイクルから第(P2 −1)P1 サイクルまでの
P1 サイクル毎に、前回前記第2の累算レジスタに書き
込みが行われたサイクルで前記第2の累算レジスタに書
き込まれたデータと第2走査方向の増分データとを加算
してこの結果を前記第1の累算レジスタと前記第2の累
算レジスタとの両方に書き込む制御を行い、 第0サイクルから第P2 P1 −1サイクルまでの各サイ
クルの結果得られた第1の累算レジスタの値をアドレス
として出力する2次元アドレス発生器。 - 【請求項4】 1次元配列状態で順にアドレスが付され
たQ1 ×Q2 ×Q3の平行体領域(Q1 ,Q2 ,Q3 は
自然数)の中の任意のP1 ×P2 ×P3 の平行体領域
(P1 ,P2 ,P3 は自然数で、P1 ≦Q1 ,P2 ≦Q
2 ,P3 ≦Q3)の3次元アドレス発生器であって、 第1から第3までのマルチプレクサと加算器と第1から
第3までの累算レジスタとを備え、 前記第1のマルチプレクサにより第1から第3までの走
査方向の増分データの中から1個を選択し、前記第2の
マルチプレクサにより前記第1から第3までの累算レジ
スタのデータを選択し、前記第3のマルチプレクサによ
りスタートアドレスデータと前記加算器の出力を選択
し、 前記加算器により前記第1のマルチプレクサにより選択
されたデータと前記第2のマルチプレクサにより選択さ
れたデータとの加算を行い、前記第3のマルチプレクサ
により選択されたデータを前記第1から第3までの累算
レジスタの入力とする構成とし、 第0サイクルで前記第1から第3までの累算レジスタに
スタートアドレスデータを書き込む制御を行い、 第1サイクルから第P1 −1サイクルまで、第P1 +1
サイクルから第2P1−1サイクルまで、…、第(P3
P2 −1)P1 +1サイクルから第(P3 P2)P1 −
1サイクルまでの1サイクル毎に、前サイクルで前記第
1の累算レジスタに書き込まれたデータと第1走査方向
の増分データとを加算してこの結果を前記第1の累算レ
ジスタに書き込む制御を行い、 第P1 サイクルから第(P2 −1)P1 サイクルまで、
第(P2 +1)P1 サイクルから第(2P2 −1)P1
サイクルまで、…、第((P3 −1)P2 +1)P1 サ
イクルから第(P3 P2 −1)P1 サイクルまでのP1
サイクル毎に、前回前記第2の累算レジスタに書き込み
が行われたサイクルで前記第2の累算レジスタに書き込
まれたデータと第2走査方向の増分データとを加算して
この結果を前記第1から第2までの累算レジスタに書き
込む制御を行い、 第P2 P1 サイクルから第(P3 −1)P2 P1 サイク
ルまでのP2 P1 サイクル毎に、前回前記第3の累算レ
ジスタに書き込みが行われたサイクルで前記第3の累算
レジスタに書き込まれたデータと第3走査方向の増分デ
ータとを加算してこの結果を前記第1から第3までの累
算レジスタに書き込む制御を行い、 第0から第P3 P2 P1 −1サイクルの結果得られた第
1の累算レジスタの値をアドレスとして出力する3次元
アドレス発生器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3021938A JP2854420B2 (ja) | 1990-02-21 | 1991-02-15 | 多次元アドレス発生器およびその制御方式 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2-41424 | 1990-02-21 | ||
JP4142490 | 1990-02-21 | ||
JP3021938A JP2854420B2 (ja) | 1990-02-21 | 1991-02-15 | 多次元アドレス発生器およびその制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04218847A JPH04218847A (ja) | 1992-08-10 |
JP2854420B2 true JP2854420B2 (ja) | 1999-02-03 |
Family
ID=26359093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3021938A Expired - Fee Related JP2854420B2 (ja) | 1990-02-21 | 1991-02-15 | 多次元アドレス発生器およびその制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2854420B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662288B1 (en) | 1998-11-27 | 2003-12-09 | Matsushita Electric Industrial Co., Ltd. | Address generating apparatus and motion vector detector |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6791625B1 (en) | 1998-12-15 | 2004-09-14 | Matsushita Electric Industrial Co., Ltd. | Video processing apparatus for performing address generation and control, and method therefor |
US7830393B2 (en) | 2004-10-13 | 2010-11-09 | Panasonic Corporation | Device, method, and integrated circuit for rectangular image drawing |
KR100868451B1 (ko) * | 2007-02-22 | 2008-11-11 | 삼성전자주식회사 | 3-d 주소 매핑을 이용한 메모리 접근 방법 |
JP4893822B2 (ja) * | 2007-03-20 | 2012-03-07 | 富士通株式会社 | 半導体集積回路および半導体メモリのアクセス制御方法 |
US10534607B2 (en) * | 2017-05-23 | 2020-01-14 | Google Llc | Accessing data in multi-dimensional tensors using adders |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62115562A (ja) * | 1985-11-14 | 1987-05-27 | Sharp Corp | Dmaコントロ−ラ |
JPS62208492A (ja) * | 1986-03-06 | 1987-09-12 | Nec Ic Microcomput Syst Ltd | 記憶装置 |
-
1991
- 1991-02-15 JP JP3021938A patent/JP2854420B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662288B1 (en) | 1998-11-27 | 2003-12-09 | Matsushita Electric Industrial Co., Ltd. | Address generating apparatus and motion vector detector |
Also Published As
Publication number | Publication date |
---|---|
JPH04218847A (ja) | 1992-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6640295B2 (en) | Semiconductor circuit with address translation circuit that enables quick serial access in row or column directions | |
US5422997A (en) | Texture address generator, texture pattern generator, texture drawing device, and texture address generating method | |
US4370732A (en) | Skewed matrix address generator | |
EP0443551B1 (en) | A multidimensional address generator and a system for controlling the generator | |
GB2470611A (en) | Video scaling using memory caching technique | |
JPS6247786A (ja) | 近傍画像処理専用メモリ | |
JP2854420B2 (ja) | 多次元アドレス発生器およびその制御方式 | |
EP0570164B1 (en) | Interleaved memory system | |
JPS6171499A (ja) | デ−タサンプリング方法 | |
JP3803150B2 (ja) | 画像処理装置 | |
US7284113B2 (en) | Synchronous periodical orthogonal data converter | |
JP2707609B2 (ja) | メモリ装置 | |
JPH0731620B2 (ja) | ランダムアクセスメモリを遅延線としてアドレツシングする方法及び該遅延線を含む信号処理装置 | |
JPH06324935A (ja) | アドレス発生器およびアドレス発生システム | |
JP2851804B2 (ja) | 2次元直交変換装置 | |
JP3291070B2 (ja) | データ転置装置 | |
RU2012047C1 (ru) | Устройство для ортогонального преобразования цифровых сигналов по уолшу-адамару | |
JP4465570B2 (ja) | 画像処理装置および方法、並びに記録媒体 | |
JPS6021087A (ja) | アドレス生成回路 | |
JPS59101089A (ja) | メモリ回路 | |
JPS62175879A (ja) | 2値画像相以変換画素デ−タ発生装置 | |
SU1119027A1 (ru) | Процессор быстрого преобразовани Фурье | |
RU2020557C1 (ru) | Устройство для вычисления быстрых геометрических преобразований | |
SU1357944A1 (ru) | Устройство дл формировани видеосигнала | |
JPS60198652A (ja) | 画像記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071120 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081120 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091120 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |