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

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

Info

Publication number
JP2001134438A
JP2001134438A JP31569099A JP31569099A JP2001134438A JP 2001134438 A JP2001134438 A JP 2001134438A JP 31569099 A JP31569099 A JP 31569099A JP 31569099 A JP31569099 A JP 31569099A JP 2001134438 A JP2001134438 A JP 2001134438A
Authority
JP
Japan
Prior art keywords
address
circuit
circular
update
output
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.)
Granted
Application number
JP31569099A
Other languages
English (en)
Other versions
JP4339468B2 (ja
Inventor
Ryo Shu
凉 周
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

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)

Abstract

(57)【要約】 【課題】回路規模を小さくし、省電力化したアドレス生
成回路を提供する。 【解決手段】本発明は、原アドレスXnにステップ値Δを
加算して更新されたアドレスXn'を生成するアドレス更
新回路を有するアドレス生成回路に関する。アドレス更
新回路30は、原アドレスXnとステップ値Δを加算する
通常アドレス更新回路37と、サーキュラーアドレッシ
ング命令を実行する場合に、原アドレスXnとステップ値
Δ及びサーキュラーモジュールサイズMDとを加算する
サーキュラーアドレス更新回路とを有する。そして、サ
ーキュラーアドレッシング命令を実行しない場合に、通
常のアドレス更新回路37の出力を更新されたアドレス
として出力し、サーキュラーアドレッシング命令を実行
する場合に、通常またはサーキュラーアドレス更新回路
37,36の出力を更新されたアドレスとして出力す
る。サーキュラーアドレッシング命令を実行しない場合
は、サーキュラーアドレス更新回路36の動作が停止す
る。

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と、サーキュラーアドレッシング選択信号BP
Sに応じてサーキュラーアドレス生成回路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'としてアドレスレジスタ1
0に供給される。
【0029】図4に示したアドレス更新回路30では、
通常アドレッシング時は、通常アドレス更新回路37が
動作するが、マスク回路35により原アドレスXnとステ
ップ値Δがサーキュラーアドレス更新回路36への入力
を禁止され或いはすべて0が入力されるので、サーキュ
ラーアドレス更新回路36の動作は停止される。一方、
サーキュラーアドレッシング時は、サーキュラーアドレ
ス更新回路36と通常アドレス更新回路37とが動作
し、図3のケース(1)乃至(4)に応じて、更新アド
レスインデックスXn'が生成される。また、実効アドレ
ス生成回路20についても、後述するとおり、省電力化
された回路にすることができる。
【0030】図4のアドレス生成回路の全体の動作は、
次の通りである。アドレッシングを行う命令で、1回目
のアドレッシングをする場合、命令デコードサイクルに
おいてセレクタ信号SEL1に従ってセレクタ回路14はア
ドレスレジスタX0…Xnの一つを選択し、セレクタ信号S
EL2に従ってセレクタ回路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と、ステップ値Δの符号ビットMSB
1と選択信号BPSの論理積(AND)M1と、加算器206
の出力Add21の符号ビットMSB2と、加算器207の出力A
dd20の符号ビット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,2
03を経由し、そのまま信号MBとMAとして全加算器
204に供給される。ステップ値stepの符号位MSB1
は、ANDゲート201を経由して、信号M1として反
転制御回路205及びセレクタ信号生成回路208に供
給される。
【0038】上記のステップ値Δは、2の補数である。
また、加算器206,207も2の補数加算器である。
【0039】ステップ値Δ≧0の場合(更新方向が正)、
BPS=1、ステップ値の符号位MSB1=0であるので、信号M
1が0であり、それにより反転制御回路205は、モジ
ュールサイズMDの値を反転し、MC=−MDを出力す
る。そして、全加算器204と33bit加算器206に
より、加算値 (Xn+Δ−MD)を計算し、出力Add21に
出力する。そのとき、セレクタ信号生成回路208で
は、選択信号BPS=1、信号M1=0であり、33bi
t加算器206の出力Add21(=Xn+Δ−MD)
の符号位MSB2に応じて、選択信号Sel20を生成す
る。即ち、図6に示される通り、加算値Add21(=
Xn+Δ−MD)が負でその符号位MSB2が1の場合
(ケース(1))、選択信号Sel20が1であり、セレク
タ回路209は、32bit加算器207の出力Add2
0(=Xn+Δ)を選択する。加算値Add21(=X
n+Δ−MD)が正でその符号位MSB2が0の場合
(ケース(2))、選択信号Sel20が0であり、33bit
加算器206の出力Add21(=Xn+Δ−MD)の
下位32ビットを選択する。
【0040】セレクタ回路209の出力は、アドレスレ
ジスタ10に送られ、指定したアドレスレジスタの更新
が行われる。また、連続アドレッシングする場合、セレ
クタ回路209の出力は、アドレスレジスタ10のセレ
クタ回路16を経由し、実行アドレス生成回路20とア
ドレス更新回路30に送られ、次のサイクルでアドレス
更新とアドレス生成が行われる。
【0041】ステップ値Δ<0の場合(更新方向が負)、B
PS=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加算器2
06の出力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と3
3bit加算器206は、入力信号MA、MB、MCに変
化がないので動作せず、それらの回路が動作する場合の
消費電力を低減できる。特に、全加算器204や加算器
206の回路規模は大きく、かかる回路が動作しないこ
とで、大きな消費電力の削減をすることができる。
【0043】通常のアドレス更新の場合(BPS=
0)、選択信号BPS=0によって、セレクタ信号生成回路
208の選択信号Sel20は1になり、32bit加算
器207の出力Add20(=Xn+Δ)が選択される。
【0044】このようにして、通常のアドレス更新また
はアドレスレジスタ演算の場合、全加算器204と33
bit加算器206の動作が停止させられ、32bit加算器
207だけを動作させるので、全体の消費電力を減らす
ことができる。なお、アドレスレジスタ演算は、アドレ
ス更新回路により生成したアドレスをアドレスレジスタ
に格納する命令である。
【0045】アドレスレジスタ演算命令を実行する場
合、選択信号BPSは0であり、32bit加算器207
だけを動作させ、その演算結果Add20をセレクタ回
路209経由で、アドレスレジスタ10に送り、指定し
たアドレスレジスタ12の更新を行う。
【0046】上記の第1実施例では、サーキュラアドレ
ス更新回路204,206と通常アドレス更新回路20
7とが並列に動作するので、高速なサーキュラーアドレ
ッシング動作に適している。
【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により、A
NDゲート202,203の出力を固定する。
【0049】図8は、第2の実施の形態例におけるアド
レス更新回路の概略図である。また、図9は、第2の実
施の形態例におけるアドレス生成回路を示す図である。
図9には、図8のアドレス更新回路が詳細に示される。
また、図10は、第2の実施の形態例の動作を示す図表
である。
【0050】第2の実施の形態例では、原アドレスのイ
ンデックスXnとステップ値Δとの加算器300の出力Ad
d30を、データマスク回路303が、サーキュラーアド
レッシング選択信号BPS、ステップ値Δの符号ビットMSB
1及び加算値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では、選択信号B
PSは1であり、信号M1は0であり、32bit加算器
305の出力Add31(=Xn+Δ−MD)の符号位
MSB5により選択信号Sel31を生成する。Add
31(=Xn+Δ−MD)が負でその符号位MSB5が
1の場合(ケース(1))、選択信号Sel31が1に
なり、セレクタ回路307は、32bit加算器300の
出力Add30(=Xn+Δ)を選択する。また、Ad
d31(=Xn+Δ−MD)が正でその符号位MSB5
が0の場合(ケース(2))、選択信号Sel31が0
であり、セレクタ回路307は、32bit加算器305
の出力Add31(=Xn+Δ−MD)を選択する。
【0056】セレクタ回路307の出力は、アドレスレ
ジスタ10に送られ、指定したアドレスレジスタ12の
更新が行われる。また、連続アドレッシングする場合
は、セレクタ回路307の出力は、アドレスレジスタ1
0のセレクタ回路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は、出力A
dd30をそのまま出力MA(=Xn+Δ)として出力
する。そして、32bit加算器305が加算値(Xn+Δ
+MD)を計算する。
【0058】データマスク303は、32ビット加算器
300の出力Add30(=Xn+Δ)が正の場合(ケ
ース(4))、出力MAの値が0を出力する。データマ
スクがラッチ回路の場合は、前の値を出力して出力を固
定する。この結果、加算器305の動作は停止し、無駄
に消費電力が発生することはない。
【0059】セレクタ生成回路306では、選択信号B
PSは1であり、信号M1は1であるので、32bit加
算器300の出力Add30(=Xn+Δ)の符号位M
SB4に応じて、選択信号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を動作させる。一方、更新方向が負(MS
B1=1)で且つXn+Δ≧0でモジュールブロック範
囲内(MSB4=0)の場合(ケース(4))に、32
bit加算器305を動作させないことにより、消費電力
を減らすことができる。
【0061】次に、選択信号BPSが0の場合、つまり
サーキュラーアドレッシング命令を実行しない時(通常
アドレス更新又はアドレスレジスタ演算の場合)、AN
Dゲート301とデータマスク303のそれぞれの出力
M1,MAが、0の値に固定される。または、これらの
回路がラッチ回路の場合は、前の値に固定される。反転
制御回路302は固定値MBを出力し、キャリーCIが
固定値になる。そして、32bit加算器305は、入力
信号MA、MB、CIに変化が無いので、動作が停止
し、その消費電力を低減できる。
【0062】選択信号BPSが0の場合、セレクタ信号
生成回路306の選択出力Sel31は1であり、32
bit加算器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回路3
20の出力も、選択信号BPSにかかわらず0になり、
アドレス更新回路30は、32ビット加算器305が動
作せず、通常のアドレッシング時の動作になる。
【0066】次に、第1及び第2のアドレス生成回路の
実効アドレス生成回路について説明する。前述した通
り、サーキュラーアドレッシングにおいて、アドレスレ
ジスタ10に格納されるアドレスはインデックス値X
n'であるので、メモリアクセス用の実効アドレスは、
ベースポイント(トップアドレス)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ビットのベースポイントB
Pとインデックス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を動作させず、フリップフロップ60
1,602でデータを保持する。そして、OR回路60
4が、ベースポイントBPとインデックスXn'の論理和
を求め、メモリをアクセスする実効アドレス(BP+X
n')を生成する。サーキュラーアドレッシング命令を実
行しない時は、フリップフロップ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回路7
03により、ベースポイント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 (3)

    【特許請求の範囲】
  1. 【請求項1】原アドレスにステップ値を加算して更新さ
    れたアドレスを生成するアドレス更新回路を有するアド
    レス生成回路において、 前記アドレス更新回路は、 前記原アドレスとステップ値を加算する第1のアドレス
    更新回路と、 サーキュラーアドレッシング命令を実行する場合に、前
    記原アドレスとステップ値が供給され、当該原アドレス
    とステップ値及びサーキュラーモジュールサイズとを加
    算する第2のアドレス更新回路と、 前記サーキュラーアドレッシング命令を実行しない場合
    に、前記第1のアドレス更新回路の出力を前記更新され
    たアドレスとして出力し、前記サーキュラーアドレッシ
    ング命令を実行する場合に、前記第1または第2のアド
    レス更新回路の出力を前記更新されたアドレスとして出
    力するセレクト回路とをすることを特徴とするアドレス
    生成回路。
  2. 【請求項2】原アドレスにステップ値を加算して更新さ
    れたアドレスを生成するアドレス更新回路を有するアド
    レス生成回路において、 前記アドレス更新回路は、 前記原アドレスとステップ値を加算する第1のアドレス
    更新回路と、 サーキュラーアドレッシング命令を実行する場合に、前
    記第1のアドレス更新回路の加算値とサーキュラーモジ
    ュールサイズとを加算する第2のアドレス更新回路と、 前記サーキュラーアドレッシング命令を実行しない場合
    に、前記第1のアドレス更新回路の出力を前記更新され
    たアドレスとして出力し、前記サーキュラーアドレッシ
    ング命令を実行する場合に、前記第1または第2のアド
    レス更新回路の出力を前記更新されたアドレスとして出
    力するセレクト回路とを有することを特徴とするアドレ
    ス生成回路。
  3. 【請求項3】請求項1または2において、 更に、前記アドレスレジスタに格納された原アドレス、
    または前記更新されたアドレスから、メモリをアクセス
    する実効アドレスを生成する実効アドレス生成回路を有
    し、 当該実効アドレス生成回路は、前記サーキュラーアドレ
    ッシング命令を実行しない場合は、前記原アドレスまた
    は更新されたアドレスが実効アドレスとして出力され、
    前記サーキュラーアドレッシング命令を実行する場合
    は、前記原アドレスまたは更新されたアドレスのアドレ
    スインデックスにベースポイントが加算された値が実効
    アドレスとして出力されることを特徴とするアドレス生
    成回路。
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 true JP2001134438A (ja) 2001-05-18
JP4339468B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134917A (ja) * 2006-11-29 2008-06-12 Yamaha Corp 演算処理装置、メモリアクセス方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134917A (ja) * 2006-11-29 2008-06-12 Yamaha Corp 演算処理装置、メモリアクセス方法、及びプログラム

Also Published As

Publication number Publication date
JP4339468B2 (ja) 2009-10-07

Similar Documents

Publication Publication Date Title
US20120197954A1 (en) Floating point multiplier circuit with optimized rounding calculation
US5710913A (en) Method and apparatus for executing nested loops in a digital signal processor
GB2323188A (en) Clocking only those elements required for current instruction
US5978822A (en) Circuit for rotating, left shifting, or right shifting bits
JP2008547137A (ja) デジタル信号プロセッサにおいて先行ゼロおよび先行1をカウントするシステムおよび方法
US5787025A (en) Method and system for performing arithmetic operations with single or double precision
JPH07168753A (ja) モジュロ加算回路およびその動作方法
EP2256948A2 (en) Arithmethic logic and shifting device for use in a processor
JP2001022582A (ja) 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
KR100285142B1 (ko) 데이타 처리 시스템의 오프셋값 계산 회로 및 방법
KR101239272B1 (ko) 하드웨어 프리페치 어드레스 및 산술 연산 값을 계산하기 위한 듀얼 함수 가산기
JP2001134438A (ja) 消費電力を低減したアドレス生成回路
US6725360B1 (en) Selectively processing different size data in multiplier and ALU paths in parallel
US9411724B2 (en) Method and apparatus for a partial-address select-signal generator with address shift
US7290153B2 (en) System, method, and apparatus for reducing power consumption in a microprocessor
JP2003271542A (ja) ダイレクトアクセスコントローラ
JP3332606B2 (ja) マイクロプロセッサ
JP3745673B2 (ja) プロセッサ
TWI419048B (zh) 具有位址產生器之處理器
US5777907A (en) Processor for selectively performing multiplication/division
US6584556B1 (en) Modulo address generation method and apparatus
JP2001216136A (ja) 加算回路およびプロセッサ
CN109960486B (zh) 二进制数据处理方法及其装置、介质和系统
JPH1020959A (ja) 低消費電力マイクロプロセッサ
JPH10312222A (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