JP2001109657A - アドレス生成回路 - Google Patents

アドレス生成回路

Info

Publication number
JP2001109657A
JP2001109657A JP28953699A JP28953699A JP2001109657A JP 2001109657 A JP2001109657 A JP 2001109657A JP 28953699 A JP28953699 A JP 28953699A JP 28953699 A JP28953699 A JP 28953699A JP 2001109657 A JP2001109657 A JP 2001109657A
Authority
JP
Japan
Prior art keywords
address
pointer
address pointer
substitute
calculator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP28953699A
Other languages
English (en)
Inventor
Kiyoshi Matsui
清 松井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP28953699A priority Critical patent/JP2001109657A/ja
Publication of JP2001109657A publication Critical patent/JP2001109657A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 単純な加減算のアドレス演算器と処理量の多
い特殊なアドレス演算器とを備えたアドレス生成回路の
処理速度を向上させる。 【解決手段】 複数のアドレスポインタのうち特定のア
ドレスポインタを更新するための第2アドレス演算器1
5と、第2アドレス演算器15の演算結果を前記特定の
アドレスポインタに代わって格納する代用アドレスポイ
ンタ16と、前記アドレスポインタ及び代用アドレスポ
インタの読み出し、及び前記アドレスポインタ及び代用
アドレスポインタへの更新アドレスの書き込みを制御す
るための制御回路19を備え、制御回路19は、特定の
アドレスポインタと代用アドレスポインタのどちらを読
み出す、もしくはどちらに書き込むかを制御するため
に、どちらのアドレスポインタを使用しているかの状態
を記憶するための状態フラグ26を有することを特徴と
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のアドレスポ
インタとアドレス演算器を備えたアドレス生成回路に関
するものである。
【0002】
【従来の技術】近年、LSI技術の進展に伴って高性能
なディジタル信号プロセッサが実現可能となり、複雑な
データ処理を実行できるようになっている。特に、携帯
電話や画像等の応用分野では大量のデータ処理を行うた
め、データメモリを効率よくアクセスする必要から、高
速かつ複雑なアドレス生成が必要とされている。
【0003】アドレス生成回路の一例として、データメ
モリのアドレスを格納するための複数のアドレスポイン
タと、前記複数のアドレスポインタのアドレスをアドレ
ス加算値との単純な加減算により更新するためのアドレ
ス演算器と、単純な加算ではなく、例えば、リバースキ
ャリーアドレッシングのようにキャリービットの伝播す
る方向を変化させるアドレッシングや、巡回アドレッシ
ングのように加算結果を設定値と比較し、その比較結果
により演算結果を選択して出力するアドレッシングのよ
うに、演算処理に時間を要する特殊なアドレス演算器を
備え、複数のアドレスポインタから選択したアドレスポ
インタのアドレスをアドレス演算器により更新し、選択
したアドレスポインタに格納する。
【0004】
【発明が解決しようとする課題】リバースキャリーアド
レッシングや巡回アドレッシングなどの特殊なアドレス
演算は、単純な加減算のアドレス演算処理に比べて長い
時間を要する。したがって、上記従来例では前記特殊な
アドレス演算器を通るパスがクリティカルパスを構成
し、マシンクロックの周波数の上限を前記特殊なアドレ
ス演算器によって決められていた。
【0005】本発明の目的は、複数のアドレスポインタ
と複数のアドレス演算器とを備えたアドレス生成回路の
処理速度を向上させることにある。
【0006】
【課題を解決するための手段】上記目的を達するため、
本発明は、複数のアドレスポインタのうちの特定のアド
レスポインタのみ特殊なアドレス演算を行うことが可能
なように構成し、特定のアドレスポインタに代わって格
納するための代用アドレスポインタを設けることを特徴
とする。
【0007】これにより、複数のアドレスポインタから
1つのアドレスポインタを選択するセレクタと演算結果
をアドレスポインタに格納するためアドレスポインタへ
の入力を選択するセレクタ及び、容量負荷の大きいアド
レス出力バスを経由しないで代用アドレスポインタに格
納するため、特殊なアドレス演算処理を行い結果を格納
するのに要する時間を短縮することが出来、マシンクロ
ックの周波数を上げることが出来る。
【0008】特定のアドレスポインタと代用アドレスポ
インタは、どちらを使用しているかの状態を記憶するフ
ラグレジスタにより読み出し、書き込みの制御を行う。
【0009】
【発明の実施の形態】以下、本発明の実施形態につい
て、図面を参照しながら説明する。
【0010】図1は、本発明の実施形態に係るアドレス
生成回路の構成例を示している。図1に示す回路は、与
えられた命令INSTを順次実行することによりアドレ
ス生成を進めていくアドレス生成回路であって、フリッ
プフロップで構成したアドレスを格納するための8個の
アドレスポインタ10と、代用アドレスポインタ16、
前記9個のアドレスポインタから1つを選択しアドレス
出力バス13に出力する出力セレクタ11を有し、アド
レス出力バス13はメモリアクセスのためデータメモリ
にも接続されている。
【0011】第1アドレス演算器12は単純な加減算の
アドレス演算器で、演算結果は入力セレクタ18で選択
し、元のアドレスポインタに格納する。またアドレス生
成回路外からアドレスポインタを設定するには、入力セ
レクタ18は、プロセッサバス17を選択することでア
ドレスポインタに格納する。
【0012】第2アドレス演算器15は、加算結果を設
定値と比較し、その比較結果により演算結果を選択して
出力する巡回アドレッシングのための演算器であり、第
1アドレス演算器12よりも演算処理に長い時間を要す
る。
【0013】P7セレクタ14は、アドレスポインタ1
0のP7と代用アドレスポインタ16のP7Tのどちら
かを選択し、第2アドレス演算器15でアドレスを更新
する。演算結果は代用アドレスポインタ16のP7Tに
格納する。
【0014】第2アドレス演算器15で巡回アドレッシ
ングのアドレス演算をする場合は、まず、アドレスの初
期値を、プロセッサバス17を通してP7に設定する。
最初のアドレス演算ではP7セレクタ14でアドレスポ
インタ10のP7を選択し、第2アドレス演算器15で
アドレスを更新する。
【0015】演算結果は代用アドレスポインタ16のP
7Tに格納する。以後のアドレス演算は、P7セレクタ
14で代用アドレスポインタ16のP7Tを選択し、第
2アドレス演算器15でアドレスを更新し、演算結果は
代用アドレスポインタ16のP7Tに格納する。
【0016】この後、第1アドレス演算器12を使用し
た演算を行う場合は、代用アドレスポインタ16のP7
Tを出力セレクタ11でセレクトし、第1アドレス演算
器12でアドレス演算を行う。演算結果はアドレスポイ
ンタ10のP7に格納する。
【0017】制御回路19は、与えられた命令INST
をデコードし、P7状態フラグ26の値により、アドレ
ス生成回路の制御信号を出力する。
【0018】入力セレクタ制御信号20は、各アドレス
ポインタに出力する値として第1アドレス演算器12の
演算結果とプロセッサバス17を選択するための信号で
あり、アドレスポインタライト信号21は、8個のアド
レスポインタ10と、代用アドレスポインタ16の9個
の各々のライト信号である。
【0019】出力セレクタ制御信号22は、出力セレク
タ11の制御信号である。第1アドレス演算器制御信号
23は、演算器のアドレス加算値を設定するための制御
信号であり、第2アドレス演算器制御信号25は、演算
器のアドレス加算値等の設定をするための制御信号であ
る。P7セレクト信号24は、第2アドレス演算器15
の入力をP7とP7Tから選択するための制御信号であ
る。
【0020】図2は図1の第1アドレス演算器12の構
成例を示している。第1アドレス演算器12は、単純な
加減算により更新するためのアドレス演算器であり、入
力されたアドレスとアドレス加算値30とを加算器31
で加算し、更新アドレスを出力する。
【0021】図3は図1の第2アドレス演算器15の構
成例を示している。第2アドレス演算器15は巡回アド
レッシングを行うためのアドレス演算器であり、あらか
じめ設定した2つのアドレスの間をアドレッシングす
る。
【0022】入力されたアドレスとアドレス加算値40
とを加算器41により加算し、加算結果とあらかじめ設
定したエンドアドレス44とを比較器43で比較し、加
算結果がエンドアドレス以下の場合はセレクタ45で加
算結果を更新アドレスとして出力し、加算結果がエンド
アドレスより大きい場合は予め設定したスタートアドレ
ス42の値を更新アドレスとして出力する。以上のよう
に設定したスタートアドレスとエンドアドレスの間を巡
回するアドレッシングを行うことが出来る。
【0023】図4は図1のアドレス生成回路の動作を表
すフローチャートを示している。
【0024】最初に、巡回アドレッシングでない場合を
順を追って説明すると、まずステップ101では、与え
られた命令INSTを制御回路19でデコードし、命令
が巡回アドレッシングでない場合はステップ102より
ステップ109に進む。
【0025】ここで、更新ポインタがP7以外の場合は
ステップ116に進み、出力セレクタ11で更新するア
ドレスポインタを選択する。ステップ114では、第1
アドレス演算器12でアドレス演算を行い、ステップ1
15で元のアドレスポインタに格納する。
【0026】次に、巡回アドレッシングを行う場合を順
を追って説明すると、まず、ステップ101では、与え
られた命令INSTを制御回路19でデコードし、命令
が巡回アドレッシングの場合は、ステップ102よりス
テップ103に進む。
【0027】ここで、最初に巡回アドレッシングを行う
場合は、P7状態フラグ26は初期値の“0”になって
いるためステップ105に進み、出力セレクタ11でP
7を選択し、メモリアクセスのためデータメモリに出力
するとともにP7セレクタ14でP7を選択し、アドレ
ス演算器2にP7を入力する。
【0028】ステップ106でP7状態フラグ26を
“1”に設定し、ステップ107で第2アドレス演算器
15でアドレス演算を行い、ステップ108で代用アド
レスポインタ16のP7Tに格納する。
【0029】以上のように、一度巡回アドレッシングを
行い、P7状態フラグ26が“1”になっている状態で
巡回アドレッシングを行う場合は、ステップ103でP
7状態フラグ26は“1”であるため、ステップ104
に進み、出力セレクタ11で代用アドレスポインタ16
のP7Tを選択し、メモリアクセスのためデータメモリ
に出力するとともにP7セレクタ14でP7Tを選択
し、第2アドレス演算器15にP7Tを入力する。
【0030】ステップ107で第2アドレス演算器15
でアドレス演算を行い、ステップ108で代用アドレス
ポインタ16のP7Tに格納する。
【0031】次に、一度巡回アドレッシングを行いP7
状態フラグ26が“1”になっている状態でP7の第1
アドレス演算器12を使用したアドレス演算を行う場合
は、ステップ102よりステップ109に進む。
【0032】ここで、更新ポインタがP7であるのでス
テップ110に進み、 P7状態フラグ26が“1”で
あるのでステップ112に進み、出力セレクタ11で代
用アドレスポインタ16のP7Tを選択する。ステップ
113でP7状態フラグ26を“0”に設定し、ステッ
プ114では第1アドレス演算器12でアドレス演算を
行い、ステップ115でP7に格納する。
【0033】以上のように、制御回路19では、命令I
NSTとP7状態フラグ26の値により、各々の制御信
号をコントロールしアドレス生成を行う。
【0034】また、巡回アドレッシングを行わない場
合、ステップ111、ステップ112、ステップ116
で第2アドレス演算器15の入力を選択するP7セレク
タ14で代用アドレスポインタ16のP7Tを選択す
る。
【0035】これにより、第2アドレス演算器15を使
用しない場合、第2アドレス演算器15の入力値の不要
な変化を無くし消費電力を低減することが出来る。
【0036】以上のように図1のアドレス生成回路で
は、演算処理に時間を有する巡回アドレッシングを行う
場合は、複数のアドレスポインタ10から1つのアドレ
スポインタを選択する出力セレクタ11と演算結果をア
ドレスポインタに格納するための入力セレクタ18及
び、容量負荷の大きいアドレス出力バス13を経由しな
いで代用アドレスポインタ16のP7Tに格納するた
め、演算処理を行い、結果を格納するのに要する時間を
短縮することが出来、マシンクロックの周波数を上げる
ことが出来る。
【0037】第2アドレス演算器15は、リバースキャ
リー演算器など他の構成の演算器でも可能であり、また
特殊なアドレス演算器を複数個設けた場合、各々に代用
アドレスポインタを設けることも可能であり、1つの代
用アドレスポインタを共用するようにしてもよい。
【0038】また、アドレス演算以外の演算器に使用す
ることも考えられる。今後は更に大量のデータ処理のた
めに処理量の多いアドレス演算が必要となるため、本発
明の効果は大きくなると考えられる。
【0039】
【発明の効果】以上のように、本発明は、演算処理に時
間を有するアドレス演算を行うための特定のアドレスポ
インタを更新した演算結果を前記特定のアドレスポイン
タに代わって格納する代用アドレスポインタを備えた構
成により、演算処理を行い結果を格納するのに要する時
間を短縮することが出来、アドレス生成回路の処理速度
を向上させることが出来る。
【図面の簡単な説明】
【図1】本発明に係るアドレス生成回路の構成例を示す
ブロック図
【図2】図1の第1アドレス演算器の構成例を示すブロ
ック図
【図3】図1の第2アドレス演算器の構成例を示すブロ
ック図
【図4】図1のアドレス生成回路の動作を示すフローチ
ャート
【符号の説明】
10 アドレスポインタ 11 出力セレクタ 12 第1アドレス演算器 13 アドレス出力バス 14 P7セレクタ 15 第2アドレス演算器 16 代用アドレスポインタ 17 プロセッサバス 18 入力セレクタ 19 制御回路 20 入力セレクタ制御信号 21 アドレスポインタライト信号 22 出力セレクタ制御信号 23 第1アドレス演算器制御信号 24 P7セレクト信号 25 第2アドレス演算器制御信号 26 P7状態フラグ 30 アドレス加算値 31 加算器 40 アドレス加算値 41 加算器 42 スタートアドレス 43 比較器 44 エンドアドレス 45 セレクタ INST 命令

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】データメモリのアドレスを格納するための
    複数のアドレスポインタと、前記複数のアドレスポイン
    タのアドレスを更新するための第1アドレス演算器と、
    前記複数のアドレスポインタのうち特定のアドレスポイ
    ンタを更新するための第2アドレス演算器と、前記第2
    アドレス演算器の演算結果を前記特定のアドレスポイン
    タに代わって格納する代用アドレスポインタと、前記ア
    ドレスポインタ及び前記代用アドレスポインタの読み出
    し、及び前記アドレスポインタ及び前記代用アドレスポ
    インタへの更新アドレスの書き込みを制御するための制
    御回路を備え、 前記制御回路は、前記特定のアドレスポインタと前記代
    用アドレスポインタのどちらを読み出す、もしくはどち
    らに書き込むかを制御するために、どちらのアドレスポ
    インタを使用しているかの状態を記憶するためのフラグ
    レジスタを有することを特徴とするアドレス生成回路。
  2. 【請求項2】第2アドレス演算器は、第1アドレス演算
    器よりも演算処理に時間を有することを特徴とする請求
    項1記載のアドレス生成回路。
  3. 【請求項3】制御回路は、第2アドレス演算器の演算結
    果を代用アドレスポインタに格納するだけでなく、前記
    代用アドレスポインタから複数のアドレスポインタのア
    ドレスを更新するための第1アドレス演算器での演算を
    実行し、演算結果を前記特定のアドレスポインタに格納
    することを特徴とする請求項1記載のアドレス生成回
    路。
  4. 【請求項4】第1アドレス演算器で演算処理を行う場
    合、第2アドレス演算器の入力に代用アドレスポインタ
    の値を入力することを特徴とする請求項1記載のアドレ
    ス生成回路。
JP28953699A 1999-10-12 1999-10-12 アドレス生成回路 Pending JP2001109657A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28953699A JP2001109657A (ja) 1999-10-12 1999-10-12 アドレス生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28953699A JP2001109657A (ja) 1999-10-12 1999-10-12 アドレス生成回路

Publications (1)

Publication Number Publication Date
JP2001109657A true JP2001109657A (ja) 2001-04-20

Family

ID=17744523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28953699A Pending JP2001109657A (ja) 1999-10-12 1999-10-12 アドレス生成回路

Country Status (1)

Country Link
JP (1) JP2001109657A (ja)

Similar Documents

Publication Publication Date Title
CN107220023B (zh) 一种嵌入式可配置fifo存储器
US6334135B2 (en) Data processing system and register file
JP2559868B2 (ja) 情報処理装置
US7702860B2 (en) Memory access apparatus
JP2001109657A (ja) アドレス生成回路
JPH09198231A (ja) 演算処理装置
JP2000284962A (ja) マイクロコンピュータ
JP3745673B2 (ja) プロセッサ
JP2002116951A (ja) アドレス生成回路
WO2008026273A1 (fr) Contrôleur dma
JP3441847B2 (ja) データメモリを有するプロセッサ
JP2001092658A (ja) データ処理回路及びデータ処理装置
KR100236530B1 (ko) 디지탈 신호 처리장치의 어드레스 발생회로
JP3164690B2 (ja) アドレス制御装置
JPH05173778A (ja) データ処理装置
JP2001100991A (ja) ディジタル信号処理装置
JPH0810443B2 (ja) メモリ制御回路
JP2000267849A (ja) パイプライン・プロセッサ
JPH07182514A (ja) ヒストグラム構築回路
JPH0877003A (ja) Dspプログラム並列制御装置
JPH08202612A (ja) 半導体集積回路
JPS6014334A (ja) デ−タ処理装置
JPH06103152A (ja) 中央演算処理装置
JPH02287732A (ja) レジスタアドレス生成装置
JPH0793128A (ja) データ格納装置