JP4339468B2 - 消費電力を低減したアドレス生成回路 - Google Patents

消費電力を低減したアドレス生成回路 Download PDF

Info

Publication number
JP4339468B2
JP4339468B2 JP31569099A JP31569099A JP4339468B2 JP 4339468 B2 JP4339468 B2 JP 4339468B2 JP 31569099 A JP31569099 A JP 31569099A JP 31569099 A JP31569099 A JP 31569099A JP 4339468 B2 JP4339468 B2 JP 4339468B2
Authority
JP
Japan
Prior art keywords
address
circuit
output
generation circuit
update
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
Application number
JP31569099A
Other languages
English (en)
Other versions
JP2001134438A (ja
Inventor
凉 周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP31569099A priority Critical patent/JP4339468B2/ja
Publication of JP2001134438A publication Critical patent/JP2001134438A/ja
Application granted granted Critical
Publication of JP4339468B2 publication Critical patent/JP4339468B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル信号処理プロセッサ(DSP)などのアドレス生成回路に関し、特に、通常のアドレッシングのアドレス生成回路とサーキュラーアドレッシングのアドレス回路とを統合し且つ低消費電力化することができるアドレス生成回路に関する。
【0002】
【従来の技術】
近年、携帯電話・移動無線通信端末等において、低コストで且つ複雑なアルゴリズムに対応するディジタル信号処理プロセッサ(以下単にDSPと称する。) などが広く使用されている。これらの携帯端末は基本的に電池駆動であるため、その低消費電力化が最重要研究課題の一つである。
【0003】
DSPは、例えばサンプリング化した信号について相関の計算やディジタルフィルタリング演算を行う場合、所定の記憶領域に記憶されたデータを何度もアクセスする必要が生じることがある。このようなひとかたまりのデータが記憶されている記憶領域は、例えばサーキュラーブロック、或いはサーキュラーモジュールと呼ばれる。モジュールのトップアドレスをベースポイントBPとすると、そのボトムアドレスはベースポイントBPにモジュールサイズMDを加えたBP+MD−1になる。サーキュラーモジュールに対するアクセスは、ステップ値Δ毎に行われ、現在のアドレスインデックス(原アドレスインデックス)Xnに正または負のステップ値Δを加算した値が、次にアクセスされる更新アドレスインデックスXn'=Xn+Δとなる。
【0004】
かかるサーキュラーアドレッシングを行う場合、次のアドレスインデックスを求めるアドレス更新回路では、次のアドレスインデックスXn'=Xn+Δがモジュール内のアドレスインデックスか否かをチェックし、モジュールの領域外の場合は、モジュール内の循環先アドレスインデックスに変換する必要がある。
【0005】
一方、通常のアドレッシングでは、現在のアドレス(原アドレス)Xnにステップ値Δを加えたアドレスXn'=Xn+Δが、単純に更新アドレスになる。
【0006】
また、サーキュラーアドレッシングでは、メモリに実際にアクセスするためのアドレスを生成する回路が必要になる。サーキュラーアドレッシングではモジュール内のベースポイント(トップアドレス)から何番地という形でアドレスインデックスXnを生成するので、実際にメモリにアクセスする場合は、BP+Xn'という実効アドレスを生成しなければならない。一方で、通常のアドレッシングでは、生成されたアドレスXn'自体がメモリをアクセスできる実効アドレスになっている。
【0007】
図1は、従来のアドレス生成回路の概略構成図である。従来のDSPなどにおいて設けられるアドレス生成回路は、図1に示される通り、通常アドレッシング用のアドレス生成回路2と、サーキュラーアドレッシング用のアドレス生成回路1とを別々に設け、それぞれのアドレッシング処理において、対応するアドレス生成回路を動作させている。また、サーキュラーアドレッシング用アドレス生成回路1には、アクセス用の実効アドレス生成回路1Bとアクセス後の次のアドレスを求めるアドレス更新回路1Aとが設けられる。一方、通常アドレッシング用アドレス生成回路2も、同様に、実効アドレス生成回路2Bとアドレス更新回路2Aとを有する。
【0008】
ディジタル信号処理は、短時間内に処理しなければならないデータ量が多い。そのため、DSPのコアとメモリとの間でデータ転送量が多くなりがちである。近年のDSPでは、専用のハードウエアによってアドレス演算機能を実現して、アドレス生成とデータ演算とを並列に実行する傾向にある。その場合、図1のように、通常のアドレッシング用アドレス生成回路とサーキュラーアドレッシング用アドレス生成回路とを設けることが提案されている。例えば、特開平7-253922号公報参照。
【0009】
【発明が解決しようとする課題】
しかしながら、図1に示される通り、アドレス生成回路として、通常アドレッシング用とサーキュラーアドレッシング用とをそれぞれ専用のハードウエアで実現すると、回路規模が大きくなり好ましくない。特に、アドレス更新では、現在のアドレスにステップ値を加えるという加算演算器が必要である。かかる加算演算器は、一般的にその回路規模が比較的大きく、LSIの高集積化の弊害となる。また、それに伴い消費電力も大きくなり、携帯端末に使用されるDSPのLSIとしては不適切である。
【0010】
そこで、本発明の目的は、より回路規模を小さくしたアドレス生成回路を提供することにある。
【0011】
また、本発明の別の目的は、より消費電力を小さくしたアドレス生成回路を提供することにある。
【0012】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面では、原アドレスXnにステップ値Δを加算して更新されたアドレスXn'を生成するアドレス更新回路を有するアドレス生成回路であり、アドレス更新回路は、原アドレスXnとステップ値Δを加算する通常アドレス更新回路と、サーキュラーアドレッシング命令を実行する場合に、原アドレスXnとステップ値Δ及びサーキュラーモジュールサイズMDとを加算するサーキュラーアドレス更新回路とを有する。そして、サーキュラーアドレッシング命令を実行しない場合に、通常のアドレス更新回路37の出力を更新されたアドレスとして出力し、サーキュラーアドレッシング命令を実行する場合に、通常またはサーキュラーアドレス更新回路の出力を更新されたアドレスとして出力する。より好ましい実施例では、サーキュラーアドレッシング命令を実行しない場合は、サーキュラーアドレス更新回路の動作が停止する。
【0013】
上記の目的を達成するために、本発明の別の側面は、原アドレスにステップ値を加算して更新されたアドレスを生成するアドレス更新回路を有するアドレス生成回路において、前記アドレス更新回路は、
前記原アドレスとステップ値を加算する第1のアドレス更新回路と、
サーキュラーアドレッシング命令を実行する場合に、前記原アドレスとステップ値が供給され、当該原アドレスとステップ値及びサーキュラーモジュールサイズとを加算する第2のアドレス更新回路と、
前記サーキュラーアドレッシング命令を実行しない場合に、前記第1のアドレス更新回路の出力を前記更新されたアドレスとして出力し、前記サーキュラーアドレッシング命令を実行する場合に、前記第1または第2のアドレス更新回路の出力を前記更新されたアドレスとして出力するセレクト回路とを有することを特徴とする。
【0014】
また、本発明の更に別の側面は、原アドレスにステップ値を加算して更新されたアドレスを生成するアドレス更新回路を有するアドレス生成回路において、前記アドレス更新回路は、
前記原アドレスとステップ値を加算する第1のアドレス更新回路と、
サーキュラーアドレッシング命令を実行する場合に、前記第1のアドレス更新回路の加算値とサーキュラーモジュールサイズとを加算する第2のアドレス更新回路と、
前記サーキュラーアドレッシング命令を実行しない場合に、前記第1のアドレス更新回路の出力を前記更新されたアドレスとして出力し、前記サーキュラーアドレッシング命令を実行する場合に、前記第1または第2のアドレス更新回路の出力を前記更新されたアドレスとして出力するセレクト回路とを有すること特徴とする。
【0015】
上記発明によれば、アドレス更新回路が、加算演算を行う第1及び第2のアドレス更新回路を有し、サーキュラーアドレッシング命令の時は、第1及び第2のアドレス更新回路により更新アドレスを生成し、サーキュラーアドレッシング命令以外の命令の時は、第1のアドレス更新回路により更新アドレスを生成する。従って、回路規模が小さくなり、消費電力も少なくなる。
【0016】
尚、サーキュラーアドレッシング命令以外の時は、通常アドレッシング命令やアドレスレジスタ演算命令を含む。これらの命令では、原アドレスに所定のステップ値または加算値を加算する演算だけで処理されるので、第1のアドレス更新回路だけで処理することが可能になる。従って、その場合は、第2のアドレス更新回路は動作を停止する。
【0017】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。本実施の形態例において、サーキュラーアドレッシングを行う場合は、アドレスとしてアドレスインデックスが使用され、そのアドレスインデックスにトップアドレスが加算されることで、メモリアクセス用の実行アドレスが生成される。従って、サーキュラーアドレッシングの時は、アドレスレジスタや更新回路のアドレスは、アドレスインデックスになる。
【0018】
図2は、サーキュラーアドレッシングを説明するための図である。図2(A)はステップ値Δ>0の場合であり、図2(B)はステップ値Δ<0の場合をそれぞれ示す。ステップ値Δ>0の図2(A)において、サーキュラーモジュールは、トップアドレスであるベースポイントBPからモジュールサイズMDの領域を循環してアクセスされるメモリ領域である。従って、ボトムアドレスはBP+MD−1である。仮に、現在のアドレスインデックス(原アドレス)Xnから次のアドレスを求めるアドレス更新演算を行うとする。一般的には、現在のアドレスインデックスXnにステップ値Δを加算したアドレスインデックス値が、更新された次のアドレスインデックス値Xn'となる。即ち、Xn'=Xn+Δである。尚、アドレスインデックスXnは、ベースポイントBPからのアドレスに対する差分の0〜(MD−1)の値であり、実際にメモリアクセスする時の実効アドレスはBP+Xnになることに留意すべきである。
【0019】
そして、メモリへのアクセスと同時に、次のアドレスインデックスを演算するアドレスインデックスの更新処理が行われるが、次のアドレスインデックスXn'=Xn+Δがサーキュラーモジュール内にあるか否かのチェックを行い、サーキュラーモジュール外にある場合は、アドレス循環先のトップアドレスのベースポイントに戻す必要がある。例えば、図2(A)の2つめの更新アドレスインデックスXn'=Xn+Δがボトムアドレスのインデックス(MD−1)より下に位置している。その場合は、破線に示す通り、更新アドレスインデックスをXn'=Xn+Δ−MDにする必要がある。
【0020】
更新アドレスインデックスがサーキュラーモジュールの外か否かを検出するためには、更新アドレスインデックスXn'=Xn+ΔからモジュールサイズMDを減算した値Xn+Δ−MDが、正か負かにより判断することができる。即ち、ステップ値Δ≧0の場合、
Xn+Δ−MD<0であれば、モジュール内でありXn'= Xn+Δ (1)
Xn+Δ−MD≧0であれば、モジュール外でありXn'= Xn+Δ−MD (2)
とすべきである。
【0021】
図2(B)は、ステップ値Δ<0の場合を示し、更新アドレスインデックスXn'は、アドレスの下から上に向かってステップ値Δずつ少なくなる。そして、この場合も、更新アドレスインデックスXn'=Xn+Δがモジュール内にあるか否か、つまりベースポイントのインデックス0を超えているか否かにより更新アドレスインデックスが異なる。即ち、ステップ値Δ<0場合は、
Xn+Δ<0であれば、モジュール外でありXn'= Xn+Δ+MD (3)
Xn+Δ≧0であれば、モジュール内でありXn'= Xn+Δ (4)
となる。
【0022】
上記のサーキュラーアドレッシングのアルゴリズムをまとめると、図3の図表に示される通りである。このアルゴリズムから理解される通り、サーキュラーアドレッシングにおいても、通常アドレッシングでの更新アドレスと同様に、Xn'=Xn+Δなる加算演算が必要である。また、通常アドレッシング時の更新アドレスに加えて、アドレスレジスタ演算命令においても、同様の加算演算を必要とする場合がある。従って、本発明は、このような重複する演算器を統合して、アドレス生成回路の回路規模を小さくし、省電力化を図る。
【0023】
図4は、本発明のアドレス生成回路の概略図である。アドレス生成回路は、アドレスレジスタ10内のレジスタ群12に格納されたアドレスXnから、メモリ40へのアクセスに使用する実効アドレスを生成する実効アドレス生成回路部20と、次のアドレスを演算生成するアドレス更新回路30とを有する。アドレス更新回路30は、アドレスレジスタ演算命令時にも動作する。
【0024】
このように、図4のアドレス生成回路は、サーキュラーアドレッシング用アドレス生成回路と通常アドレッシング用アドレス生成回路とを分けることなく、一部重複した回路構成になっている。また、図4に示されたアドレス生成回路では、実効アドレス生成回路20とアドレス更新回路30は、通常アドレッシングの時やアドレスレジスタ演算では、その一部が動作し、サーキュラーアドレッシングの時は別の若しくは同じ部分が動作し、従来例より回路規模が小さく、省電力化されている。
【0025】
実効アドレス生成回路20は、ペースポイントBPと、原アドレスXnまたは更新されたXn'をゲーテッドクロックCCLK1,2に応答して保持するフリップフロップ21,22,23と、サーキュラーアドレス生成回路210と、サーキュラーアドレッシング選択信号BPSに応じてサーキュラーアドレス生成回路210の出力か、フリップフロップ23の出力かを選択するセレクタ回路211とを有する。サーキュラーアドレッシング選択信号BPSは、サーキュラーアドレッシング時はBPS=1、通常アドレッシング時はBPS=0である。サーキュラーアドレス生成回路210は、アドレスレジスタ10からのアドレスインデックスXnまたは更新アドレスインデックスXn'にベースポイント値を加算する演算機能を有する。かかる演算機能は、種々の回路により実現され、その具体例は後述する。
【0026】
図4のアドレス更新回路30は、通常アドレッシング時は、現在アクセス中の原アドレスXnにステップ値Δを加算した更新アドレスXn'=Xn+Δを演算してアドレスレジスタ10に格納、またはセレクタ16に供給する。その為に、通常アドレス更新回路37は、原アドレスXnを保持するフリップフロップ31とステップ値Δを保持するフリップフロップ32の出力を加算演算する。通常アドレッシング時は、選択信号BPSが0であり、それに応答して、通常アドレス更新回路37の出力が制御セレクタ回路38により選択される。通常アドレッシングの場合は、アドレスインデックスではなく実際のアドレスが演算される。
【0027】
アドレス更新回路30は、サーキュラーアドレッシング時に、マスク回路35を経由して、原アドレスインデックスXnと、ステップ値Δ、及びモジュールサイズMDとが、マスク回路35を経由してサーキュラーアドレス更新回路36に供給される。モジュールサイズMDは、フリップフロップ33に保持される。サーキュラーアドレス更新回路36は、更新アドレスインデックスXn'=Xn+Δ±MDを演算する演算回路である。サーキュラーアドレッシング時には、通常アドレス更新回路37も動作して、更新アドレスインデックスXn'=Xn+Δを演算する。
【0028】
そして、図3の図表に示した通り、サーキュラーアドレス更新回路36が生成する演算値Xn+Δ−MDと、通常アドレス更新回路37が生成する演算値Xn+Δの符号に応じて、アドレス更新回路36,37のいずれかの出力が制御セレクタ回路38により選択され、更新アドレスインデックスXn'としてアドレスレジスタ10に供給される。
【0029】
図4に示したアドレス更新回路30では、通常アドレッシング時は、通常アドレス更新回路37が動作するが、マスク回路35により原アドレスXnとステップ値Δがサーキュラーアドレス更新回路36への入力を禁止され或いはすべて0が入力されるので、サーキュラーアドレス更新回路36の動作は停止される。一方、サーキュラーアドレッシング時は、サーキュラーアドレス更新回路36と通常アドレス更新回路37とが動作し、図3のケース(1)乃至(4)に応じて、更新アドレスインデックスXn'が生成される。また、実効アドレス生成回路20についても、後述するとおり、省電力化された回路にすることができる。
【0030】
図4のアドレス生成回路の全体の動作は、次の通りである。アドレッシングを行う命令で、1回目のアドレッシングをする場合、命令デコードサイクルにおいてセレクタ信号SEL1に従ってセレクタ回路14はアドレスレジスタX0…Xnの一つを選択し、セレクタ信号SEL2に従ってセレクタ回路16はセレクタ回路14の出力を選択して、32ビットのアドレスレジスタの値Xnをアドレス更新回路30と実効アドレス生成回路20とに送る。
【0031】
アドレス更新回路30は、命令デコードサイクルの次のパイプラインサイクルで、通常アドレス更新かサーキュラーアドレス更新かの指定した演算を行う。演算した結果は、アドレス用レジスタ10に送り、指定したアドレスレジスタを更新する。同時に、実効アドレス生成回路20は、命令デコードサイクルの次のサイクルで、指定したサーキュラーアドレッシングか通常アドレッシングかにより、実効アドレスを生成する。
【0032】
2回目以降も連続アドレッシングする場合、セレクタ回路16はアドレスレジスタをバイパスしたアドレス更新回路が生成した更新値Xn'を選択し、アドレス更新回路30と実効アドレス生成回路20とに送る。このように繰り返し、連続的にアドレス更新と生成ができる。
【0033】
アドレス更新回路では、サーキュラーアドレッシングしない命令である、通常アドレス更新命令やアドレスレジスタ演算命令に対し、選択信号BPS=0に応答してマスク回路35がサーキュラーアドレス更新回路36を動作させないので、消費電力を低減することができる。同じように実効アドレス生成回路20でも、サーキュラーアドレッシングしない命令(通常アドレッシング命令) に対し, サーキュラアドレス生成回路210を動作させないので、消費電力を低減できる。
【0034】
図4に示すように、本発明の低消費電力アドレス生成回路は、サーキュラーアドレッシング命令を実行する時、ベースポイントBPを利用する。従って、メモリをアクセスする実効アドレスを生成する時は、アドレスXn'またはXnとベースポイントBPとを加算する演算が必要になる。そして、サーキュラーアドレッシング命令を実行しない時は、更新値Xn'の値はそのまま実効アドレスとして利用される。これらの選択は、選択信号BPSに従ってセレクタ回路211により行われる。
【0035】
図5は、第1の実施の形態例におけるアドレス生成回路の詳細図である。また、図6は、そのアドレス生成回路の動作を示す図表である。図6を参照しながら、図5のアドレス生成回路の構成と動作を説明する。アドレスレジスタ10は、図4と同じである。また、実効アドレス生成回路20は、図4に示したサーキュラーアドレス生成回路210として加算器210を有する。なお、この例ではアドレスは32ビットで構成される。
【0036】
アドレス更新回路30には、図4のマスク回路35として、ANDゲート201,202,203が設けられ、サーキュラーアドレス更新回路36として、全加算器204と33ビット加算器206が設けられ、更に、通常アドレス更新回路37として32ビット加算器207が設けられる。また、サーキュラーアドレッシング選択信号BPSと、ステップ値Δの符号ビットMSB1と選択信号BPSの論理積(AND)M1と、加算器206の出力Add21の符号ビットMSB2と、加算器207の出力Add20の符号ビットMSB3との組み合わせに従って、選択信号Sel20を生成するセレクタ信号生成回路208、及びセレクタ回路209が、図4の制御セレクタ回路38として設けられる。更に、モジュールサイズを保持するフリップフロップ33の出力を、信号M1に応じて反転または非反転して全加算器204に信号MC=±MDを供給する反転制御回路205を有する。
【0037】
図5のアドレス生成回路において、選択信号BPSが1の場合、つまりサーキュラアドレッシング命令を実行する時の動作を説明する。ステップ値△と現在のアドレスである原アドレスのインデックスXnは、命令実行パイプラインのアドレス更新サイクルで、フリップフロップ31,32を経由し、それぞれステップ値stepと原アドレスのインデックスXnとして供給される。選択信号BPSは1であり、ステップ値stepと原アドレスのインデックスXnは、ANDゲート202,203を経由し、そのまま信号MBとMAとして全加算器204に供給される。ステップ値stepの符号位MSB1は、ANDゲート201を経由して、信号M1として反転制御回路205及びセレクタ信号生成回路208に供給される。
【0038】
上記のステップ値Δは、2の補数である。また、加算器206,207も2の補数加算器である。
【0039】
ステップ値Δ≧0の場合(更新方向が正)、BPS=1、ステップ値の符号位MSB1=0であるので、信号M1が0であり、それにより反転制御回路205は、モジュールサイズMDの値を反転し、MC=−MDを出力する。そして、全加算器204と33bit加算器206により、加算値 (Xn+Δ−MD)を計算し、出力Add21に出力する。そのとき、セレクタ信号生成回路208では、選択信号BPS=1、信号M1=0であり、33bit加算器206の出力Add21(=Xn+Δ−MD)の符号位MSB2に応じて、選択信号Sel20を生成する。即ち、図6に示される通り、加算値Add21(=Xn+Δ−MD)が負でその符号位MSB2が1の場合(ケース(1))、選択信号Sel20が1であり、セレクタ回路209は、32bit加算器207の出力Add20(=Xn+Δ)を選択する。加算値Add21(=Xn+Δ−MD)が正でその符号位MSB2が0の場合(ケース(2))、選択信号Sel20が0であり、33bit加算器206の出力Add21(=Xn+Δ−MD)の下位32ビットを選択する。
【0040】
セレクタ回路209の出力は、アドレスレジスタ10に送られ、指定したアドレスレジスタの更新が行われる。また、連続アドレッシングする場合、セレクタ回路209の出力は、アドレスレジスタ10のセレクタ回路16を経由し、実行アドレス生成回路20とアドレス更新回路30に送られ、次のサイクルでアドレス更新とアドレス生成が行われる。
【0041】
ステップ値Δ<0の場合(更新方向が負)、BPS=1、MSB1=1であるので、信号M1が1である。信号M1=1に応答して、反転制御回路205はモジュールサイズMDの値をそのままにしてMC=MDを出力する。全加算器204と33bit加算器206により加算値(Xn+Δ+MD)を計算する。セレクタ信号生成回路208では、選択信号BPSは1であり、信号M1は1であり、32bit加算器207の出力Add20(=Xn+Δ)の符号位MSB3によりSel20を生成する。セレクタ回路209は、加算器207の出力Add20(=Xn+Δ)が負でその符号位MSB3が1の場合(ケース(3))、選択信号Sel20が0であり、33bit加算器206の出力Add21(=Xn+Δ+MD)の下位32ビットを選択する。セレクタ回路209は、加算器207の出力Add20(=Xn+Δ)が正でその符号位MSB3が0の場合(ケース(4))、選択信号Sel20が1であり、32bit加算器207の出力Add20(=Xn+Δ)を選択する。
【0042】
次に、サーキュラアドレッシング命令を実行しない時、つまり通常アドレス更新又はアドレスレジスタ演算の場合(BPS=0)、ANDゲート201、202、203の出力M1、MB、MAは、フリップフロップ31,32の値を出力せずに0に固定する。或いは、ゲートがラッチ回路の場合は、前のラッチデータから変更せずに固定する。また、反転制御回路205は固定値MCを出力する。それに伴い、全加算器204と33bit加算器206は、入力信号MA、MB、MCに変化がないので動作せず、それらの回路が動作する場合の消費電力を低減できる。特に、全加算器204や加算器206の回路規模は大きく、かかる回路が動作しないことで、大きな消費電力の削減をすることができる。
【0043】
通常のアドレス更新の場合(BPS=0)、選択信号BPS=0によって、セレクタ信号生成回路208の選択信号Sel20は1になり、32bit加算器207の出力Add20(=Xn+Δ)が選択される。
【0044】
このようにして、通常のアドレス更新またはアドレスレジスタ演算の場合、全加算器204と33bit加算器206の動作が停止させられ、32bit加算器207だけを動作させるので、全体の消費電力を減らすことができる。なお、アドレスレジスタ演算は、アドレス更新回路により生成したアドレスをアドレスレジスタに格納する命令である。
【0045】
アドレスレジスタ演算命令を実行する場合、選択信号BPSは0であり、32bit加算器207だけを動作させ、その演算結果Add20をセレクタ回路209経由で、アドレスレジスタ10に送り、指定したアドレスレジスタ12の更新を行う。
【0046】
上記の第1実施例では、サーキュラアドレス更新回路204,206と通常アドレス更新回路207とが並列に動作するので、高速なサーキュラーアドレッシング動作に適している。
【0047】
図7は、第1の実施の形態例におけるアドレス生成回路の変形例を示す図である。図7には、図5と同じ部分には同じ引用番号を与えている。図7のアドレス生成回路は、モジュールサイズMDを保持するレジスタ33の出力の論理和40が、サーキュラーアドレッシング選択信号BPSと共にANDゲート220に供給され、その出力BPS1がゲート201,202,203及びセレクタ信号生成回路208に供給される。それ以外は、図5のアドレス生成回路と同じである。
【0048】
アドレス生成命令において、モジュールサイズMDがゼロに設定される場合がある。かかる場合は、サーキュラーアドレッシング命令であっても、アドレス更新回路の動作は、通常のアドレッシング動作と同じになる。従って、その場合に、全加算器204と33ビット加算器206との動作を停止させるために、モジュールサイズMDがゼロの時、その論理和40も0になることを利用して、ANDゲート220の出力BPS1により、ANDゲート202,203の出力を固定する。
【0049】
図8は、第2の実施の形態例におけるアドレス更新回路の概略図である。また、図9は、第2の実施の形態例におけるアドレス生成回路を示す図である。図9には、図8のアドレス更新回路が詳細に示される。また、図10は、第2の実施の形態例の動作を示す図表である。
【0050】
第2の実施の形態例では、原アドレスのインデックスXnとステップ値Δとの加算器300の出力Add30を、データマスク回路303が、サーキュラーアドレッシング選択信号BPS、ステップ値Δの符号ビットMSB1及び加算値Xn+Δの符号ビットMSB4に応じて、適宜、加算器305に供給する。従って、加算器305では、すでに加算された値Xn+ΔとモジュールサイズMDとの加算演算を行えば良いので、全加算器は必要なく、通常の加算器にすることができる。従って、その分、第2の実施の形態例では、第1の実施の形態例に比較して、回路規模を小さくすることができる。
【0051】
第2の実施の形態例では、セレクタ信号生成回路306では、選択信号BPSと、選択信号BPSとステップ値Δの符号ビットMSB1の論理積M1と、加算値Xn+Δの符号ビットMSB4、及び加算値Xn+Δ±MDの符号ビットMSB5とにより、セレクタ信号Sel31を生成し、2つの加算値のいずれかを選択する。従って、セレクタ信号生成回路306の機能は、第1の実施の形態例の生成回路208と同じである。
【0052】
図9,10を参照して、第2の実施の形態例におけるアドレス生成回路の動作を説明する。図9に示される通り、アドレスレジスタ10と実効アドレス生成回路20の構成は、第1の実施の形態例と同じである。
【0053】
まず選択信号BPSが1の場合、つまりサーキュラアドレッシング命令を実行する時の動作を示す。ステップ値△と原アドレスのインデックスXnは、パイプラインサイクルのアドレス更新サイクルで、レジスタフリップフロップ31,32に保持され、それぞれ更新値stepとインデックスXnとして供給される。選択信号BPSは1であり、更新値stepの符号位MSB1は、ANDゲート301を経由しそのまま信号M1として出力する。
【0054】
ステップ値Δ≧0の場合(更新方向が正)、信号M1が0であり、反転制御回路302は、モジュールサイズ(ブロックサイズ)MDの値を反転し、MB=−MDを出力する。キャリー入力生成回路304は、信号M1を反転し、キャリーCI=1を生成する。データマスク303は、選択信号BPSが1であり、ステップ値stepが正でその符号位MSB1が0であるので、32ビット加算器300の出力Add30(=Xn+Δ)をそのまま信号MAとして出力する。そして、32bit加算器305により、モジュールサイズMB=−MDと出力Add30との加算値(Xn+Δ−MD)が計算される。
【0055】
セレクタ生成回路306では、選択信号BPSは1であり、信号M1は0であり、32bit加算器305の出力Add31(=Xn+Δ−MD)の符号位MSB5により選択信号Sel31を生成する。Add31(=Xn+Δ−MD)が負でその符号位MSB5が1の場合(ケース(1))、選択信号Sel31が1になり、セレクタ回路307は、32bit加算器300の出力Add30(=Xn+Δ)を選択する。また、Add31(=Xn+Δ−MD)が正でその符号位MSB5が0の場合(ケース(2))、選択信号Sel31が0であり、セレクタ回路307は、32bit加算器305の出力Add31(=Xn+Δ−MD)を選択する。
【0056】
セレクタ回路307の出力は、アドレスレジスタ10に送られ、指定したアドレスレジスタ12の更新が行われる。また、連続アドレッシングする場合は、セレクタ回路307の出力は、アドレスレジスタ10のセレクタ回路16を経由し、実効アドレス生成回路20とアドレス更新回路30に送られ、次のサイクルでアドレス更新とアドレス生成が行われる。
【0057】
ステップ値Δ<0の場合(更新方向が負)、信号M1が1である。反転制御回路302はブロックサイズMDの値をそのままMB=MDとして出力する。キャリー入力生成生成304は、信号M1を反転しキャリーCIを0にする。選択信号BPSが1であり、ステップ値stepが負でそのMSB1が1であるので、32ビット加算器300の出力Add30(=Xn+Δ)が負の場合(ケース(3))、データマスク303は、出力Add30をそのまま出力MA(=Xn+Δ)として出力する。そして、32bit加算器305が加算値(Xn+Δ+MD)を計算する。
【0058】
データマスク303は、32ビット加算器300の出力Add30(=Xn+Δ)が正の場合(ケース(4))、出力MAの値が0を出力する。データマスクがラッチ回路の場合は、前の値を出力して出力を固定する。この結果、加算器305の動作は停止し、無駄に消費電力が発生することはない。
【0059】
セレクタ生成回路306では、選択信号BPSは1であり、信号M1は1であるので、32bit加算器300の出力Add30(=Xn+Δ)の符号位MSB4に応じて、選択信号Sel31を生成する。セレクタ回路307は、出力Add30の符号位MSB4が1の場合、選択信号Sel31が0であり、32bit加算器305の出力Add31(=Xn+Δ+MD)を選択する。出力Add30の符号位MSB4が0の場合、選択信号Sel31が1であり、32bit加算器300の出力Add30(Xn+Δ)を選択する。
【0060】
つまり、更新方向が正(MSB=0)の場合(ケース(1)(2))と、更新方向が負(MSB1=1)で且つXn+Δ<0でモジュールブロック範囲外(MSB4=1)の場合(ケース(3))に、32bit加算器305を動作させる。
一方、更新方向が負(MSB1=1)で且つXn+Δ≧0でモジュールブロック範囲内(MSB4=0)の場合(ケース(4))に、32bit加算器305を動作させないことにより、消費電力を減らすことができる。
【0061】
次に、選択信号BPSが0の場合、つまりサーキュラーアドレッシング命令を実行しない時(通常アドレス更新又はアドレスレジスタ演算の場合)、ANDゲート301とデータマスク303のそれぞれの出力M1,MAが、0の値に固定される。または、これらの回路がラッチ回路の場合は、前の値に固定される。反転制御回路302は固定値MBを出力し、キャリーCIが固定値になる。そして、32bit加算器305は、入力信号MA、MB、CIに変化が無いので、動作が停止し、その消費電力を低減できる。
【0062】
選択信号BPSが0の場合、セレクタ信号生成回路306の選択出力Sel31は1であり、32bit加算器300の出力Add30(=Xn+Δ)を選択する。このようにして、通常アドレス更新又はアドレスレジスタ演算の場合、32bit加算器305の動作を停止させ、32bit加算器300だけを動作させるので、消費電力を減らすことができる。
【0063】
アドレスレジスタ演算命令を実行する場合、選択信号BPSは0であり、32bit加算器300だけを動作させる。その演算結果Add30(=Xn+Δ)がセレクタ回路307を経由し、アドレスレジスタ10に送られ、指定したアドレスレジスタ12の更新が行われる。
【0064】
図11は、第2の実施の形態例におけるアドレス生成回路の変形例である。この変形例は、図7の場合と同様に、モジュールサイズMDが0に設定された場合のサーキュラーアドレッシング命令に対して、通常のアドレッシング命令を実行するための回路が加えられている。即ち、図11のアドレス生成回路は、アドレス更新回路において、OR回路42とAND回路320を有する点で、図9のアドレス生成回路と異なる。
【0065】
即ち、モジュールサイズMDが0に設定されると、OR回路42の出力が0になり、AND回路320の出力も、選択信号BPSにかかわらず0になり、アドレス更新回路30は、32ビット加算器305が動作せず、通常のアドレッシング時の動作になる。
【0066】
次に、第1及び第2のアドレス生成回路の実効アドレス生成回路について説明する。前述した通り、サーキュラーアドレッシングにおいて、アドレスレジスタ10に格納されるアドレスはインデックス値Xn'であるので、メモリアクセス用の実効アドレスは、ベースポイント(トップアドレス)BPとインデックス値Xn'とを加算した値にする必要がある。また、通常アドレッシングでは、アドレスレジスタに格納されるアドレスXn'をそのまま実効アドレスとして使用することができる。
【0067】
図12は、実効アドレス生成回路の第1の例を示す図である。このアドレス生成回路では、サーキュラーアドレッシングする命令を実行する時、フリップフロップ503は図示しないクロックにより動作させず、フリップフロップ501,502にのみ、それぞれベースポイント値BPとインデックスXn'とを保持させる。そして、加算器210がベースポイントBPとインデックスXn'の加算を行い、メモリをアクセスする実効アドレス(BP+Xn')を生成する。選択信号BPSが1であるので、セレクタ211が、加算器210の出力を選択する。
【0068】
サーキュラーアドレッシング命令を実行しない時は、フリップフロップ501,502が動作せず、フリップフロップ503のみが実効アドレスXn'を保持する。そして、選択信号BPSは0であり、更新値Xn'の値はそのまま実効アドレスとしてセレクタ回路211から出力される。
【0069】
図12の回路では、サーキュラーアドレッシングする命令を実行するときのみ、加算器210が動作するので、サーキュラーアドレッシングを実効しない通常アドレス更新やアドレスレジスタ演算時には、加算器210が停止し、消費電力を節約する。また、図12(A)に示される通り、32ビットのベースポイントBPとインデックスXn'とを単純に加算演算して実効アドレスを生成する。従って、ブロックサイズMDとベースポイントBPとインデックスXn'の値は、メモリ空間の範囲内で任意の値に設定することができる。
【0070】
図13は、実効アドレス生成回路の第2の例を示す図である。図13におけるアドレス生成回路では、ブロックサイズMDの値は32ビットの下位ビットI〜ビット0に決められる。そして、ブロックサイズMDの上位ビット31〜ビット(I+1)は0にする。また、インデックスXn'の値は下位ビット0〜(MD−1)間に値を取る。そして、ベースポイントBPの値は、32ビットの下位ビットI〜ビット0を0にし、上位ビット31〜ビット(I+1)は任意の値を取る。
【0071】
図13(A)に示される通り、上記の制約を課すことにより、ベースポイントBPとインデックスXn'との加算演算は、単純な論理和(OR)演算にすることができる。従って、図13(B)に示される通り、図12の加算器210がOR回路604に置き換えられる。OR回路604は、加算器に比較して回路規模と消費電力が小さく、動作も高速である。
【0072】
図13の実効アドレス生成回路では、サーキュラーアドレッシングする命令を実行する時、フリップフロップ603を動作させず、フリップフロップ601,602でデータを保持する。そして、OR回路604が、ベースポイントBPとインデックスXn'の論理和を求め、メモリをアクセスする実効アドレス(BP+Xn')を生成する。サーキュラーアドレッシング命令を実行しない時は、フリップフロップ603のみがアドレスXn'を保持し、そのアドレスXn'の値はそのまま実効アドレスとして出力される。
【0073】
図14は、実効アドレス生成回路の第3の例を示す回路図である。図14の実効アドレス生成回路でも、ブロックサイズMDとベースポイントBPの値は図6と同じように決められる。従って、OR回路703によりベースポイントBPとインデックスXn'の論理和演算が行われる。そして、この例では、図13の例に比較して、フリップフロップの数が1ビット当たり701,702の2個、つまり合計で32個に減らされている。フリップフロップ701には、0またはベースポイントBPが保持される。0またはベースポイントBPの選択は、図示しない選択回路が選択信号BPSに応じて行う。
【0074】
図14の場合、サーキュラーアドレッシングする命令を実行する時、フリップフロップ701にベースポイントBPが保持され、フリップフロップ702にインデックスXn'が保持される。そして、OR回路703により、ベースポイントBPとインデックスXn'の論理和が生成され、メモリ40をアクセスする実効アドレスが生成される。サーキュラーアドレッシング命令を実行しない時は、フリップフロップ701に0が保持され、OR回路703は、アドレスXn'の値と0との論理和を生成し、そのアドレスXn'が実効アドレスとしてそのまま生成される。
【0075】
図15は、実効アドレス生成回路の第4の例を示す回路図である。この例では、OR回路の前段のフリップフロップは省略されている。そして、OR回路801の後段に論理和の値を保持するフリップフロップ802が設けられる。図15の例においても、ブロックサイズMDとベースポイントBPの値は図6と同じように決められる。サーキュラーアドレッシングする命令を実行する時、ベースポイントBPの値がOR回路801に入力され、ベースポイントBPとインデックスXn'の論理和により、メモリをアクセスする実効アドレスが生成される。サーキュラーアドレッシング命令を実行しない時、0がOR回路801に入力され、アドレスXn'の値は0との論理和演算を経由して、そのまま実効アドレスとして生成される。図15の回路構成が、最も回路規模が小さくなる。
【0076】
図12〜15の4つの実効アドレス生成回路は、図5や9で示したアドレス生成回路の実効アドレス生成回路として、適宜組み合わせられることができる。特に、OR回路を利用する実効アドレス生成回路の場合は、大幅に消費電力を節約することができる。
【0077】
上記第1実施の形態例では、サーキュラーアドレス更新回路と通常アドレス更新回路とを並列に動作させるので、高速なサーキュラーアドレッシング動作に適している。また、第2実施の形態例では、サーキュラーアドレッシングを使う命令があっても、一部のケース(ケース(4))でサーキュラーアドレス更新回路を動作させないので、非常に低消費電力のアプリケーションに適している。
【0078】
以上の実施の形態をまとめると、以下の通りである。
【0079】
1.原アドレスにステップ値を加算して更新されたアドレスを生成するアドレス更新回路を有するアドレス生成回路において、
前記アドレス更新回路は、
前記原アドレスとステップ値を加算する第1のアドレス更新回路と、
サーキュラーアドレッシング命令を実行する場合に、前記原アドレスとステップ値が供給され、当該原アドレスとステップ値及びサーキュラーモジュールサイズとを加算する第2のアドレス更新回路と、
前記サーキュラーアドレッシング命令を実行しない場合に、前記第1のアドレス更新回路の出力を前記更新されたアドレスとして出力し、前記サーキュラーアドレッシング命令を実行する場合に、前記第1または第2のアドレス更新回路の出力を前記更新されたアドレスとして出力するセレクト回路とをすることを特徴とするアドレス生成回路。
【0080】
2.上記1において、
サーキュラーアドレッシング命令を実行する場合に、
前記第2のアドレス更新回路は、前記ステップ値Δが正の場合に、前記原アドレスXnとステップ値ΔとサーキュラーモジュールサイズMDから加算値Xn+Δ−MDを演算し、当該第2のアドレス更新回路の加算値Xn+Δ−MDの負または正に応じて、第1または第2のアドレス更新回路の加算値がそれぞれ前記セレクト回路により出力され、
前記第2のアドレス更新回路は、前記ステップ値Δが負の場合に、加算値Xn+Δ+MDを演算し、当該第1のアドレス更新回路の加算値Xn+Δの負または正に応じて、第2または第1のアドレス更新回路の加算値がそれぞれ前記セレクト回路により出力されることを特徴とするアドレス生成回路。
【0081】
3.上記1において、
前記サーキュラーアドレッシング命令を実行しない場合は、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
【0082】
4.上記3において、
前記サーキュラーアドレッシング命令を実行しない場合は、前記第2のアドレス更新回路に前記原アドレスとステップ値とが供給されないまたは所定の値に固定され、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
【0083】
5.原アドレスにステップ値を加算して更新されたアドレスを生成するアドレス更新回路を有するアドレス生成回路において、
前記アドレス更新回路は、
前記原アドレスとステップ値を加算する第1のアドレス更新回路と、
サーキュラーアドレッシング命令を実行する場合に、前記第1のアドレス更新回路の加算値とサーキュラーモジュールサイズとを加算する第2のアドレス更新回路と、
前記サーキュラーアドレッシング命令を実行しない場合に、前記第1のアドレス更新回路の出力を前記更新されたアドレスとして出力し、前記サーキュラーアドレッシング命令を実行する場合に、前記第1または第2のアドレス更新回路の出力を前記更新されたアドレスとして出力するセレクト回路とをすることを特徴とするアドレス生成回路。
【0084】
6.上記5において、
サーキュラーアドレッシング命令を実行する場合に、
前記第2のアドレス更新回路は、前記ステップ値Δが正の場合に、前記第1のアドレス更新回路の加算値Xn+Δ(Xnは前記原アドレス)とサーキュラーモジュールサイズMDから加算値Xn+Δ−MDを演算し、当該第2のアドレス更新回路の加算値Xn+Δ−MDの負または正に応じて、第1または第2のアドレス更新回路の加算値がそれぞれ前記セレクト回路により出力され、
前記第2のアドレス更新回路は、前記ステップ値Δが負の場合に、加算値Xn+Δ+MDを演算し、当該第1のアドレス更新回路の加算値Xn+Δの負または正に応じて、第2または第1のアドレス更新回路の加算値がそれぞれ前記セレクト回路により出力されることを特徴とするアドレス生成回路。
【0085】
7.上記4において、
前記サーキュラーアドレッシング命令を実行しない場合は、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
【0086】
8.上記7において、
前記サーキュラーアドレッシング命令を実行する場合であって、前記ステップ値が負で前記第1のアドレス更新回路の加算値が正の場合、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
【0087】
9.上記8において、
前記第2のアドレス更新回路に前記第1のアドレス更新回路の加算値が供給されないまたは所定の値に固定されて、前記第2のアドレス更新回路の動作が停止することを特徴とるアドレス生成回路。
【0088】
10.上記1または5において、
更に、前記アドレスレジスタに格納された原アドレス、または前記更新されたアドレスから、メモリをアクセスする実効アドレスを生成する実効アドレス生成回路を有し、
当該実効アドレス生成回路は、前記サーキュラーアドレッシング命令を実行しない場合は、前記原アドレスまたは更新されたアドレスが実効アドレスとして出力され、前記サーキュラーアドレッシング命令を実行する場合は、前記原アドレスまたは更新されたアドレスのアドレスインデックスにベースポイントが加算された値が実効アドレスとして出力されることを特徴とするアドレス生成回路。
【0089】
11.上記10において、
前記実効アドレス生成回路は、前記サーキュラーアドレッシング命令を実行する場合に、前記原アドレスまたは更新されたアドレスのアドレスインデックスと、前記ベースポイントとの論理和を生成する論理和回路を有することを特徴とするアドレス生成回路。
【0090】
以上、本発明の保護範囲は、上記の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【0091】
【発明の効果】
以上本発明によれば、DSPなどのアドレス生成回路において、サーキュラーアドレッシング機能と通常アドレッシング機能、或いはアドレスレジスタ演算機能、の回路を共用化することにより、アドレス生成回路の回路規模を小さくすることができる。
【0092】
また、サーキュラーアドレッシング機能を使わない時、サーキュラーアドレス更新回路及び実効アドレス生成回路の一部の動作を停止させるようにしたので、アドレス生成回路の低消費電力化を実現することができる。
【図面の簡単な説明】
【図1】従来のアドレス生成回路の概略構成図である。
【図2】サーキュラーアドレッシングを説明するための図である。
【図3】サーキュラーアドレッシングのアルゴリズムを示す図表である。
【図4】本発明のアドレス生成回路の概略図である。
【図5】第1の実施の形態例におけるアドレス生成回路の詳細図である。
【図6】図5のアドレス生成回路の動作を示す図表である。
【図7】第1の実施の形態例におけるアドレス生成回路の変形例を示す図である。
【図8】第2の実施の形態例におけるアドレス更新回路の概略図である。
【図9】第2の実施の形態例におけるアドレス生成回路を示す図である。
【図10】第2の実施の形態例の動作を示す図表である。
【図11】第2の実施の形態例におけるアドレス生成回路の変形例を示す図である。
【図12】実効アドレス生成回路の第1の例を示す図である。
【図13】実効アドレス生成回路の第2の例を示す図である。
【図14】実効アドレス生成回路の第3の例を示す図である。
【図15】実効アドレス生成回路の第4の例を示す図である。
【符号の説明】
10 アドレスレジスタ
20 実効アドレス生成回路
30 アドレス更新回路
35 マスク回路
36 第2のアドレス更新回路、サーキュラーアドレス更新回路
37 第1のアドレス更新回路、通常アドレス更新回路

Claims (6)

  1. 原アドレスにステップ値を加算して更新されたアドレスを生成するアドレス更新回路を有するアドレス生成回路において、
    前記アドレス更新回路は、
    前記原アドレスとステップ値を加算する第1のアドレス更新回路と、
    サーキュラーアドレッシング命令を実行する場合に、前記原アドレスとステップ値が供給され、当該原アドレスとステップ値とを加算しさらにサーキュラーモジュールサイズを加算もしくは減算する第2のアドレス更新回路と、
    前記サーキュラーアドレッシング命令を実行しない場合に、前記第1のアドレス更新回路の出力を前記更新されたアドレスとして出力し、前記サーキュラーアドレッシング命令を実行する場合に、前記第1または第2のアドレス更新回路の出力を前記更新されたアドレスとして出力するセレクト回路とを有し、
    前記サーキュラーアドレッシング命令を実行しない場合は、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
  2. 請求項において、
    前記サーキュラーアドレッシング命令を実行しない場合は、前記第2のアドレス更新回路に前記原アドレスとステップ値とが供給されないまたは所定の値に固定され、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
  3. 原アドレスにステップ値を加算して更新されたアドレスを生成するアドレス更新回路を有するアドレス生成回路において、
    前記アドレス更新回路は、
    前記原アドレスとステップ値を加算する第1のアドレス更新回路と、
    サーキュラーアドレッシング命令を実行する場合に、前記第1のアドレス更新回路の加算値にサーキュラーモジュールサイズを加算もしくは減算する第2のアドレス更新回路と、
    前記サーキュラーアドレッシング命令を実行しない場合に、前記第1のアドレス更新回路の出力を前記更新されたアドレスとして出力し、前記サーキュラーアドレッシング命令を実行する場合に、前記第1または第2のアドレス更新回路の出力を前記更新されたアドレスとして出力するセレクト回路とを有し、
    前記サーキュラーアドレッシング命令を実行しない場合は、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
  4. 請求項3において、
    前記サーキュラーアドレッシング命令を実行する場合であって、前記ステップ値が負で前記第1のアドレス更新回路の加算値が正の場合、前記第2のアドレス更新回路の動作が停止することを特徴とするアドレス生成回路。
  5. 請求項4において、
    前記第2のアドレス更新回路に前記第1のアドレス更新回路の加算値が供給されないまたは所定の値に固定されて、前記第2のアドレス更新回路の動作が停止することを特徴とるアドレス生成回路。
  6. 請求項1または3において、
    更に、前記アドレスレジスタに格納された原アドレス、または前記更新されたアドレスから、メモリをアクセスする実効アドレスを生成する実効アドレス生成回路を有し、
    当該実効アドレス生成回路は、前記サーキュラーアドレッシング命令を実行しない場合は、前記原アドレスまたは更新されたアドレスが実効アドレスとして出力され、前記サーキュラーアドレッシング命令を実行する場合は、前記原アドレスまたは更新されたアドレスのアドレスインデックスにベースポイントが加算された値が実効アドレスとして出力されることを特徴とするアドレス生成回路。
JP31569099A 1999-11-05 1999-11-05 消費電力を低減したアドレス生成回路 Expired - Fee Related JP4339468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31569099A JP4339468B2 (ja) 1999-11-05 1999-11-05 消費電力を低減したアドレス生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31569099A JP4339468B2 (ja) 1999-11-05 1999-11-05 消費電力を低減したアドレス生成回路

Publications (2)

Publication Number Publication Date
JP2001134438A JP2001134438A (ja) 2001-05-18
JP4339468B2 true JP4339468B2 (ja) 2009-10-07

Family

ID=18068394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31569099A Expired - Fee Related JP4339468B2 (ja) 1999-11-05 1999-11-05 消費電力を低減したアドレス生成回路

Country Status (1)

Country Link
JP (1) JP4339468B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4973154B2 (ja) * 2006-11-29 2012-07-11 ヤマハ株式会社 演算処理装置、メモリアクセス方法、及びプログラム

Also Published As

Publication number Publication date
JP2001134438A (ja) 2001-05-18

Similar Documents

Publication Publication Date Title
US5710913A (en) Method and apparatus for executing nested loops in a digital signal processor
US5978822A (en) Circuit for rotating, left shifting, or right shifting bits
US5787025A (en) Method and system for performing arithmetic operations with single or double precision
US11436146B2 (en) Storage control apparatus, processing apparatus, computer system, and storage control method
JP3778246B2 (ja) 割り込みコントローラ、asic、及び電子機器
JP4339468B2 (ja) 消費電力を低減したアドレス生成回路
US9411724B2 (en) Method and apparatus for a partial-address select-signal generator with address shift
JP3745673B2 (ja) プロセッサ
JP2003271542A (ja) ダイレクトアクセスコントローラ
JP4404373B2 (ja) 半導体集積回路
JP3332606B2 (ja) マイクロプロセッサ
Tsao et al. Parameterized and low power DSP core for embedded systems
JP2001202239A (ja) マイクロプロセッサのための低電力インストラクションデコーディング方法
JP2001216136A (ja) 加算回路およびプロセッサ
JP2000148477A (ja) アドレス計算方法およびその機構
JP3441847B2 (ja) データメモリを有するプロセッサ
JPH1020959A (ja) 低消費電力マイクロプロセッサ
JP2002116951A (ja) アドレス生成回路
JP2001100991A (ja) ディジタル信号処理装置
CN118057308A (zh) 指令处理优化方法及相关装置
CN114297576A (zh) 一种加权平均计算方法和加权平均计算装置
JPH1031618A (ja) データ変換方式
WO2007094256A1 (ja) キュープロセッサおよびキュープロセッサによるデータ処理方法
JP2001109657A (ja) アドレス生成回路
JPH08272605A (ja) アドレス分岐回路、マイクロコンピュータ及びそのアドレス分岐方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090409

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: 20090630

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090702

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees