JP4708387B2 - アドレスデータ生成装置及びメモリアドレッシング方法 - Google Patents
アドレスデータ生成装置及びメモリアドレッシング方法 Download PDFInfo
- Publication number
- JP4708387B2 JP4708387B2 JP2007122356A JP2007122356A JP4708387B2 JP 4708387 B2 JP4708387 B2 JP 4708387B2 JP 2007122356 A JP2007122356 A JP 2007122356A JP 2007122356 A JP2007122356 A JP 2007122356A JP 4708387 B2 JP4708387 B2 JP 4708387B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- value
- address
- data
- addressing
- 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
Images
Description
なお、本願発明に類似する発明の文献として、以下のようなものがある。
メモリへのアクセスを行う際のアドレスをカレントポインタレジスタに格納し、
命令が実行されるときのアドレスとして、上記カレントポインタレジスタを実効アドレスとするメモリアドレッシング方法であって、
命令実行後に、実効アドレスの値が、別途設置されたハイポインタレジスタの値以上の場合、実効アドレスの値から、上記カレントポインタレジスタ並びに上記ハイポインタレジスタとは別途に設置されたレングスレジスタの値を減算して算出された値をカレントポインタレジスタに格納するステップと、
命令実行後に、実効アドレスの値が、上記ハイポインタレジスタの値未満の場合、実効アドレスの値に別途設けられたインデクスレジスタの値を加算して算出された値をカレントポインタレジスタに格納するステップと
を有するメモリアドレッシング方法である。
メモリへのアクセスを行う際のアドレスをカレントポインタレジスタに格納し、
命令が実行されるときのアドレスとして、上記カレントポインタレジスタを実効アドレスとし、
命令実行後に、実効アドレスの値に1を加算した値が、別途設置されたハイポインタレジスタの値と別途設置されたインデクスレジスタの値とを加算した値に一致した場合は、ハイポインタレジスタの値から別途設置されたレングスレジスタの値を減算して算出された値をカレントポインタレジスタに格納し、
一致しなかった場合は実効アドレスに1を加算して算出された値をカレントポインタレジスタに格納する、
メモリアドレッシング方法である。
カレントポインタレジスタの値からハイポインタレジスタの値を減算する第1の減算器と、
カレントポインタレジスタの値とインデクスレジスタの値とを加算する第2の加算器と、
カレントポインタレジスタの値からレングスレジスタの値を減算する第3の減算器と、
第1の減算器のキャリー出力をセレクト信号として、第2の加算器の出力値と第3の減算器の出力値との、いずれかを選択する第1のマルチプレクサと
から構成される、
請求項1に記載のメモリアドレッシング方法を行う、アドレスデータ生成装置である。
カレントポインタレジスタの値に1を加算する第4の加算器と、
インデクスレジスタの値とハイポインタレジスタの値とを加算する第5の加算器と、
ハイポインタレジスタの値からレングスレジスタの値を減算する第6の減算器と、
第4の加算器の出力値と第5の加算器の出力値とを比較する第1のコンパレータと、
第1のコンパレータからの比較結果信号をセレクト信号として、第4の加算器の出力値と第6の減算器の出力値との、いずれかを選択する第2のマルチプレクサと
から構成される、
上記第2の形態のメモリアドレッシング方法を行う、アドレスデータ生成装置である。
−1とハイポインタレジスタとの値のいずれかを選択する第3のマルチプレクサと、
カレントポインタレジスタの値とハイポインタレジスタの値とのいずれかを選択する第4のマルチプレクサと、
カレントポインタレジスタの値から上記第3のマルチプレクサの出力値を減算する第7の減算器と、
インデクスレジスタの値と上記第4のマルチプレクサの値とを加算する第8の加算器と、
上記第4のマルチプレクサの出力値からレングスレジスタの値を減算する第9の減算器と、
第7の減算器の出力値と第8の加算器の出力値とを比較する第2のコンパレータと、
第7の減算器のキャリーと、第2のコンパレータからの比較結果信号とを、セレクト信号として、第7の減算器の出力値と第8の加算器の出力値と第9の減算器の出力値との、いずれかを選択する第5のマルチプレクサと
から構成される、
上記第1の形態又は上記第2の形態のメモリアドレッシング方法を行う、アドレスデータ生成装置である。
(1)メモリ中の指定のエリアにアクセスするためのメモリの先頭アドレスを格納するカレントポインタレジスタ(以下、Cレジスタと言う。)32、
(2)エリアの終了に関連するアドレスを格納するハイポインタレジスタ(以降Hレジスタ)34、
(3)モジュロ値を格納するインデクスレジスタ(以下、Iレジスタと言う。)36、及び、
(4)転送データ数(エリアの大きさ)に関連する値を格納するレングスレジスタ(以下、Lレジスタと言う。)38
である。説明の便宜上、ここでは各レジスタを16ビットのものに限定しているが、メモリサイズにより増減してもよい。また、レジスタの個数も夫々1個を用意しているが、複数個であればレジスタの組み合わせを複数にすることができる。
図3は、本発明の第1の実施の形態に係るアドレスデータ生成装置30の概略の構成を示すブロック図である。該アドレスデータ生成装置30は、Cレジスタ32の値からHレジスタ34の値を減算する第1の減算器40と、Cレジスタ32の値とIレジスタ36の値を加算する第2の加算器42と、Cレジスタ32の値からLレジスタ38の値を減算する第3の減算器44と、第1の減算器40のキャリー出力をセレクト信号として、第2の加算器42の出力値と第3の減算器44の出力値とのいずれかを選択する第1の2対1マルチプレクサ46とから構成される。
(Cレジスタの値)≧(Hレジスタの値)
が成立する。このとき第1の2対1マルチプレクサ46では、Cレジスタ32の値からLレジスタ38の値を減算した値、つまり第3の減算器44の出力値を選択するように、制御される。同演算において、キャリーがなかった場合は、
(Cレジスタの値)<(Hレジスタの値)
が成立する。このとき第1の2対1マルチプレクサ46では、Cレジスタ32の値にIレジスタ36の値を加算した値、つまり第2の加算器42の出力値を選択するように、制御される。
図4は、本発明の第2の実施の形態に係るアドレスデータ生成装置30’の概略の構成を示すブロック図である。該アドレスデータ生成装置30’は、Cレジスタ32の値に“1”を加算する第4の加算器48と、Iレジスタ36の値とHレジスタ34の値とを加算する第5の加算器50と、Hレジスタ34の値からLレジスタ38の値を減算する第6の減算器52と、第4の加算器48の出力値と第5の加算器50の出力値とを比較する第1のコンパレータ54と、第1のコンパレータ54からの比較結果信号をセレクト信号として、第4の加算器48の出力値と第6の減算器52の出力値とのいずれかを選択する第2の2対1マルチプレクサ56とから構成される。
(Cレジスタの値+1)=(Hレジスタの値+Iレジスタの値)
が成り立つ場合、Hレジスタ34の値からLレジスタ38の値を減算した値、即ち第6の減算器52の出力値を選択し、第4の加算器48の出力値と第5の加算器50の出力値とが1ビットでも異なっている場合、つまり、
(Cレジスタの値+1)≠(Hレジスタの値+Iレジスタの値)
が成り立つ場合、Cレジスタ32の値に“1”加算した値、即ち第4の加算器48の出力値を選択するように、第2の2対1マルチプレクサ56を制御する。
図5は、本発明の第3の実施の形態に係るアドレスデータ生成装置30”の概略の構成を示すブロック図である。該アドレスデータ生成装置30”は、
・“−1”とHレジスタ34の値とのいずれかを選択する第3の2対1マルチプレクサ58と、
・Cレジスタ32の値とHレジスタ34の値のいずれかを選択する第4の2対1マルチプレクサ60と、
・Cレジスタ32の値から第3の2対1マルチプレクサ58の出力値を減算する第7の減算器62と、
・Iレジスタ36の値と第4の2対1マルチプレクサ60の出力値とを加算する第8の加算器64と、
・第4の2対1マルチプレクサ60の出力値からLレジスタ38の値を減算する第9の減算器66と、
・第7の減算器62の出力値と第8の加算器64の出力値とを比較する第2のコンパレータ68と、
・第2のコンパレータ68の比較結果信号をセレクト信号1(S1)として、更に第7の減算器62のキャリーをセレクト信号2(S2)として、第7の減算器62、第8の加算器64、若しくは第9の減算器66の出力値のいずれかを選択する3対1マルチプレクサ70と
から構成される。
以下、本発明の第4の実施形態に係るSIMD型マイクロプロセッサ2を説明する。該SIMD型マイクロプロセッサ2は、本発明に係るアドレッシングデータ生成装置30、30’、30”を内部に含み、利用する。
・「STR」命令:ソース・オペランド(のレジスタ)のデータを、デスティネーション・オペランドに指定するメモリアドレッシングにより決定される(メモリの)アドレスにストアする。
・「LDR」命令:ソース・オペランドに指定するメモリアドレッシングにより決定される(メモリの)アドレスに格納されているデータを、デスティネーション・オペランド(のレジスタ)にロードする。
(1)「レジスタ・インダイレクト・ウィズ・モディファイ・アドレッシング」;(表記)[C,I,L]
(2)「レジスタ・インダイレクト・ウィズ・インクリメント・アドレッシング」;(表記)[C,I,L]+
上記の本発明に係るモジュロアドレッシングは、メモリ内のある矩形領域をアクセスするのに適合するアドレッシング方法である。前に説明したように該アドレッシングにおいては、メモリアドレッシングに係る命令を実行する前に、Cレジスタ32には矩形領域の先頭のアドレス、Hレジスタ34にはアクセスする矩形領域の最終アドレスに関連するアドレス、Iレジスタ36にはモジュロ値(矩形領域内で何アドレスおきにアクセスするかの設定値)、Lレジスタ38には矩形領域のデータ数に関連する値を、設定する必要がある。
・Cレジスタ32は配列領域の先頭アドレスで100h、
・Iレジスタ36はX方向の分割数で8h、
・Hレジスタ34は先頭列の最終行のアドレスで120h、
・Lレジスタ38は「X方向の分割数×(Y方向の分割数―1)―1」で「1fh(=8*(5−1)−1)」
となる。(0,0)〜(0,3)のアクセス時には、Cレジスタ32はIレジスタ36の値8hずつ増加していくが、(0,4)のアクセス時(直後)には、Cレジスタ32の値が120hとなる。この値は、Hレジスタ34の値以上であるため、Cレジスタ32の値120hからLレジスタ38の値1fhを減算した結果101hをCレジスタ32に格納することになる。従って、各レジスタ(C、I、H、L)について別途の値設定を行うことなく次の列のアクセスを行うことができる。
・Cレジスタ32は配列領域の先頭アドレスで100h、
・Iレジスタ36はX方向の分割数で8h、
・Hレジスタ34は先頭列の最終行のアドレスで120h、
・Lレジスタ38は「X方向の分割数×(Y方向の分割数―1)」で「20h(=8*(5−1))」となる。(0,0)−>(1,0)−>・・・(7,0)−>(0,1)−>(1,1)−>・・・−>(7,4)とアクセスしていくわけであるが、最終の(7,4)までCレジスタ32の値を“1”ずつインクリメントしていく。そして、(Hレジスタの値“120h”)+(Iレジスタの値“8h”)と、(Cレジスタの値“127h”)+(1h)とが、一致したとき、つまり(7,4)の配列に相当するアドレスをアクセスしたときに、Cレジスタ32の値は、(Hレジスタの値“120h”)―(Lレジスタの値“20h”)=100hとなる。従って、もしアドレス“127h”以降のアドレス空間にも展開される配列領域もアクセスするのであれば、別のCレジスタ32を使用し、そのCレジスタ32に例えば128hを設定しておけばよい。
Claims (2)
- メモリへのアクセスを行う際のアドレスをカレントポインタレジスタに格納し、
命令が実行されるときのアドレスとして、上記カレントポインタレジスタを実効アドレスとするメモリアドレッシング方法であって、
命令実行後に、実効アドレスの値が、別途設置されたハイポインタレジスタの値以上の場合、実効アドレスの値から、上記カレントポインタレジスタ並びに上記ハイポインタレジスタとは別途に設置されたレングスレジスタの値を減算して算出された値をカレントポインタレジスタに格納するステップと、
命令実行後に、実効アドレスの値が、上記ハイポインタレジスタの値未満の場合、実効アドレスの値に別途設けられたインデクスレジスタの値を加算して算出された値をカレントポインタレジスタに格納するステップと
を有するメモリアドレッシング方法。 - カレントポインタレジスタの値からハイポインタレジスタの値を減算する第1の減算器と、
カレントポインタレジスタの値とインデクスレジスタの値とを加算する第2の加算器と、
カレントポインタレジスタの値からレングスレジスタの値を減算する第3の減算器と、
第1の減算器のキャリー出力をセレクト信号として、第2の加算器の出力値と第3の減算器の出力値との、いずれかを選択する第1のマルチプレクサと
から構成される、
請求項1に記載のメモリアドレッシング方法を行う、アドレスデータ生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007122356A JP4708387B2 (ja) | 2007-05-07 | 2007-05-07 | アドレスデータ生成装置及びメモリアドレッシング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007122356A JP4708387B2 (ja) | 2007-05-07 | 2007-05-07 | アドレスデータ生成装置及びメモリアドレッシング方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002049269A Division JP3970049B2 (ja) | 2002-02-26 | 2002-02-26 | アドレスデータ生成装置及びメモリアドレッシング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007200360A JP2007200360A (ja) | 2007-08-09 |
JP4708387B2 true JP4708387B2 (ja) | 2011-06-22 |
Family
ID=38454831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007122356A Expired - Fee Related JP4708387B2 (ja) | 2007-05-07 | 2007-05-07 | アドレスデータ生成装置及びメモリアドレッシング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4708387B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5471969B2 (ja) * | 2010-08-23 | 2014-04-16 | 株式会社リコー | Simdプロセッサのためのメモリコントローラ |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002007114A (ja) * | 2000-06-23 | 2002-01-11 | Mitsubishi Electric Corp | アドレス生成回路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2675010B2 (ja) * | 1986-08-29 | 1997-11-12 | 株式会社日立製作所 | 情報処理装置 |
US5381360A (en) * | 1993-09-27 | 1995-01-10 | Hitachi America, Ltd. | Modulo arithmetic addressing circuit |
-
2007
- 2007-05-07 JP JP2007122356A patent/JP4708387B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002007114A (ja) * | 2000-06-23 | 2002-01-11 | Mitsubishi Electric Corp | アドレス生成回路 |
Also Published As
Publication number | Publication date |
---|---|
JP2007200360A (ja) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10531030B2 (en) | Block operations for an image processor having a two-dimensional execution lane array and a two-dimensional shift register | |
US10719295B2 (en) | Circuit to perform dual input value absolute value and sum operation | |
GB2553632A (en) | Core processes for block operations on an image processor having a two-dimensional execution lane array and a two-dimensional shift register | |
JP2009223758A (ja) | 画像処理装置 | |
JP5633122B2 (ja) | プロセッサ及び情報処理システム | |
JP2005309499A (ja) | プロセッサ | |
JP4708387B2 (ja) | アドレスデータ生成装置及びメモリアドレッシング方法 | |
JP2008072585A (ja) | 演算処理用データ供給方法および画像処理装置 | |
JP3970049B2 (ja) | アドレスデータ生成装置及びメモリアドレッシング方法 | |
JP2007073010A (ja) | Simd方式プロセッサ、当該simd方式プロセッサを利用する画像処理方法、及び画像処理装置 | |
JP4442905B2 (ja) | 画像データの処理方法 | |
JP4482356B2 (ja) | Simdプロセッサを用いた画像処理方法及び画像処理装置 | |
JP4516495B2 (ja) | Simd型マイクロプロセッサにおけるデータ処理方法 | |
JP4896839B2 (ja) | マイクロプロセッサおよびデータ処理方法 | |
JP4451433B2 (ja) | 並列プロセッサ | |
JP2005086598A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理回路 | |
JP3971543B2 (ja) | Simd型プロセッサ | |
JP3969580B2 (ja) | データ処理装置、画像処理装置、画像形成装置、プログラム及び記憶媒体 | |
JP4933462B2 (ja) | 画像処理方法 | |
JP2010033426A (ja) | Simd型マイクロプロセッサおよび演算方法 | |
JPH07210545A (ja) | 並列処理プロセッサ | |
JP2006155637A (ja) | 信号処理装置 | |
JP2013161325A (ja) | Simd型マイクロプロセッサ、プロセッサシステムおよびsimd型マイクロプロセッサのデータ処理方法 | |
JP4294190B2 (ja) | 並列プロセッサ及びそれを用いた画像処理装置 | |
JP5055393B2 (ja) | Simd型マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4708387 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |