JP2003223357A - 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路 - Google Patents

円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路

Info

Publication number
JP2003223357A
JP2003223357A JP2002019152A JP2002019152A JP2003223357A JP 2003223357 A JP2003223357 A JP 2003223357A JP 2002019152 A JP2002019152 A JP 2002019152A JP 2002019152 A JP2002019152 A JP 2002019152A JP 2003223357 A JP2003223357 A JP 2003223357A
Authority
JP
Japan
Prior art keywords
address
adder
carry
output
memory
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
JP2002019152A
Other languages
English (en)
Other versions
JP4142299B2 (ja
Inventor
Koki 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.)
Macronix International Co Ltd
Original Assignee
Macronix International 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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Priority to JP2002019152A priority Critical patent/JP4142299B2/ja
Publication of JP2003223357A publication Critical patent/JP2003223357A/ja
Application granted granted Critical
Publication of JP4142299B2 publication Critical patent/JP4142299B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 集積回路の円環状バッファの設計におけるメ
モリ使用効率および柔軟性を改善する。 【解決手段】 現在アドレスA、アドレスオフセット
M、バッファ長Lおよび制御信号を受信する入力と、
A、M、およびLに応じて、暗示下限境界を有するバッ
ファの第1のメモリアドレスと暗示上限境界を有するバ
ッファの第2のメモリアドレスとを計算するように構成
された論理とを含むデュアルモードアドレス生成器が提
供される。第1および第2のメモリアドレスの1つは制
御信号に応じて提供される。第1のメモリアドレスは、
暗示下限アドレス境界Xを有し、Xから(X+L)まで
のアドレスを含む第1の円環状バッファの現在アドレス
A+アドレスオフセットMと一致し、第2のメモリアド
レスは、暗示上限アドレス境界Yを有し、Yから(Y―
L)までのアドレスを含む第2の円環状バッファの現在
アドレスA+アドレスオフセットMと一致する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリアドレッシ
ングに係り、特に、デジタル信号プロセッサなどのデジ
タル・システムで使用される円環状バッファのアドレッ
シングに関する。
【0002】
【従来の技術】モジュロアドレッシングとも呼ばれるサ
ーキュラアドレッシングは、デジタル信号処理および他
のデータ処理アプリケーションでよく使用される。サー
キュラアドレッシングが適用される円環状バッファにお
いては、そのバッファに1つのアドレス範囲が割当てら
れる。円環状バッファのアドレスを生成する際に、オフ
セット値が現在アドレスを増分し、次のアドレスを生成
する。現在アドレスとオフセット値の合計が割当てられ
たアドレス範囲外のアドレスを示す場合には、次のアド
レスは円環状バッファの反対の境界にラップアラウンド
する。
【0003】従来技術では、円環状バッファのアドレス
を生成する種々の提案がなされている。サーキュラアド
レッシングを実行する通常の方法では、割当てられたア
ドレス範囲の上限および下限境界を設定する2つの明示
パラメータを規定する。この方法では、ユーザは利用可
能なメモリの無制限の位置にバッファを規定できる柔軟
性を有する。しかし、この方法だと、境界を記憶するレ
ジスタや、次のアドレスを計算する比較的複雑な論理が
必要になる。アドレス生成は特定の設計のクリティカル
パスにあるので、必要とされるパラメータの数を減ら
し、論理を単純化することが望ましい。
【0004】円環状バッファのアドレス生成に関する別
の提案がレスゲン(Roesgen)による発明の米国特許第
4,800,524号に記載されている。レスゲン特許
の提案においては、バッファは、単一のバッファ長パラ
メータおよび円環状バッファの現在アドレスによって規
定される。円環状バッファの下限境界は、現在アドレス
の低位のNビットをゼロに置換えることによって、現在
アドレスおよびバッファから暗示される。ここで、N
は、バッファ長を2進法で表した時に先頭の(1番左)
1があるビット位置である。円環状バッファの上限境界
は、暗示下限境界プラスバッファ長として規定される。
この方法は、上限および下限境界を設定する明示パラメ
ータを必要とする方法より簡単に実行できる。しかし、
利用可能な境界の組に制限があるため、メモリ使用状況
が効率的でない。
【0005】サーキュラアドレス生成に関する別の提案
が、従来技術として、レーン(Lane)による発明の米国
特許第4,202,035号、テーバー(Taber)によ
る発明の米国特許第4,809,156号、キャザーウ
ッド(Catherwood)らによる発明の米国特許第5,24
9,148号、およびシュリダール(Shridhar)らによ
る米国特許第5,381,360号に記載されている。
【0006】
【発明が解決しようとする課題】サーキュラアドレッシ
ングに頼るデジタル信号処理アプリケーションが複雑化
するにつれて、柔軟性を改善し、上記アプリケーション
用のアドレス生成器のコストを削減する必要性が増大し
てきている。
【0007】
【課題を解決するための手段】本発明によれば、メモリ
に円環状アドレスバッファのアドレスを生成する装置が
提供され、この装置においては、円環状バッファの上限
境界が現在アドレスから暗示される。この提案を、単独
で、そして暗示下限境界に頼る円環状バッファとの併用
で適用すれば、メモリ使用状況、および集積回路や処理
システムの円環状バッファ設計における柔軟性が改善で
きる。
【0008】本発明によるアドレス生成器の1つの実施
形態は、現在アドレスA、アドレスオフセットM、バッフ
ァ長L、および制御信号を受信する入力と、メモリ内の
場所を示す第1のメモリアドレスおよび第2のメモリア
ドレスを、A、M、およびLに応じて計算するように構成
された論理とを含む。第1および第2のメモリアドレス
の1つが、制御信号に応じて提供される。前記第1のメ
モリアドレスが、アドレス境界Xを有し、Xから(X+
L)までのアドレスを含む第1の円環状バッファの前記
現在アドレスAと前記アドレスオフセットMの和と一致
し、前記第2のメモリアドレスが、アドレス境界Yを有
し、Yから(Y―L)までのアドレスを含む第2の円環
状バッファの前記現在アドレスAと前記アドレスオフセ
ットMの和と一致する。
【0009】バッファ長Lは、2進数で表した時にビッ
ト位置Nに先頭の1を有する値である。暗示下限アドレ
ス境界Xが前記現在アドレスAの低位のNビットを0で
置換することによって計算される。暗示上限アドレス境
界Yが前記現在アドレスAの低位のNビットを1で置換
することによって計算される。各種の実施形態におい
て、前記入力はA、MおよびLを格納するレジスタを含
む。制御信号も1つのレジスタに格納できるし、オフセ
ット値Mなどの他のパラメータの1つと共有されるレジ
スタ内に格納することもできる。
【0010】1つの実施形態では、アドレス生成器が使
用する論理は、キャリーアウト信号によって和A+Mに
等しい第1の出力を生成する第1の加算器と、前記Mの
符号が正数である時に第1のラップアドレス和(A+
M)−(L+1)に等しいか、または前記Mの符号が負
数である時に第2のラップアドレス和(A+M)+(L
+1)に等しい第2の出力を、キャリーアウト信号によ
って生成する第2の加算器とを含む。選択論理は、前記
第1および第2の加算器からの前記キャリーアウト信号
に応じて前記第1の出力または前記第2の出力を選択す
る。1つの好適な実施形態では、前記第1および第2の
加算器は、暗示下限アドレス境界を有する円環状バッフ
ァと、暗示上限アドレス境界を有する円環状バッファと
に使用される共有論理である。
【0011】さらに別の実施形態では、Lがビット位置
Nに先頭の1を有し、暗示下限アドレス境界Xが前記現
在アドレスAの低位のNビットを0で置換することによ
って計算され、暗示上限アドレス境界Yが前記現在アド
レスAの低位のNビットを1で置換することによって計
算される。第1および第2の加算器は複数のビット位置
に対してキャリーアウト信号を生成し、セレクタはLに
反応して、この論理において使用される加算器にN番目
のビット位置からのキャリーアウト信号を提供する。し
たがって、この実施形態では、選択論理は前記第1およ
び第2の加算器のN番目のビット位置からの前記キャリ
ーアウト信号に応じて、前記第1の出力または前記第2
の出力を選択するように動作可能である。
【0012】暗示下限アドレス境界および暗示上限アド
レス境界の両方が使用される実施形態では、選択論理
が、前記制御信号が前記第1のメモリアドレスに対して
設定され、前記アドレスオフセットが正数であり、前記
第1の加算器からの前記キャリーアウトも前記第2の加
算器からの前記キャリーアウトも1でない場合、また
は、前記制御信号が前記第1のメモリアドレスに対して
設定され、前記アドレスオフセットが負数であり、前記
第1の加算器からの前記キャリーアウトが1である場
合、または、前記制御信号が前記第2のメモリアドレス
に対して設定され、前記アドレスオフセットが正数であ
り、前記第1の加算器からの前記キャリーアウトが0で
ある場合、または、前記制御信号が前記第2のメモリア
ドレスに対して設定され、前記アドレスオフセットが負
数であり、前記第1の加算器および前記第2の加算器の
両方からの前記キャリーアウトが1である場合に、前記
第1の加算器の出力を選択し、前記制御信号が前記第1
のメモリアドレスに対して設定され、前記アドレスオフ
セットが正数であり、前記第1の加算器または前記第2
の加算器の少なくとも1つからの前記キャリーアウトが
1である場合、または、前記制御信号が前記第1のメモ
リアドレスに対して設定され、前記アドレスオフセット
が負数であり、前記第1の加算器からの前記キャリーア
ウトが0である場合、または、前記制御信号が前記第2
のメモリアドレスに対して設定され、前記アドレスオフ
セットが正数であり、前記第1の加算器からの前記キャ
リーアウトが1である場合、または、前記制御信号が前
記第2のメモリアドレスに対して設定され、前記アドレ
スオフセットが負数であり、前記第1の加算器または前
記第2の加算器の少なくとも1つからの前記キャリーア
ウトが0である場合に、前記第2の加算器の出力を選択
するように構成される。
【0013】暗示上限アドレス境界だけが使用される実
施形態では、選択論理は、前記アドレスオフセットが正
数であり、前記第1の加算器からの前記キャリーアウト
が0である場合、または、前記アドレスオフセットが負
数であり、前記第1の加算器および前記第2の加算器の
両方からの前記キャリーアウトが1である場合に、前記
第1の加算器の出力を選択し、前記アドレスオフセット
が正数であり、前記第1の加算器からの前記キャリーア
ウトが1である場合、または、前記アドレスオフセット
が負数であり、前記第1の加算器または前記第2の加算
器の少なくとも1つからの前記キャリーアウトが0であ
る場合に、前記第2の加算器の出力を選択するよう構成
される。
【0014】本発明は、プロセッサコアと、現在アドレ
スA、オフセット値Mおよびバッファ長Lを格納するレ
ジスタファイルと、メモリと、前記メモリのアドレス生
成器とを含む集積回路によっても具現化される。本発明
による実施形態では、上述のように、アドレス生成器
は、暗示上限アドレス境界だけを使用するか、または暗
示上限アドレス境界と暗示下限アドレス境界との組合せ
を使用するように構成される。本発明の別の態様および
利点については、図を参照して以下で説明する。
【0015】
【発明の実施の形態】図1から6について、本発明の実
施形態を詳細に説明する。図1は、本発明のアドレス生
成器を備えた集積回路プロセッサの簡略図である。集積
回路装置10は、プログラムメモリ11、データメモリ
14、およびプロセッサコア12を含み、プロセッサコ
ア12は、データメモリアドレスのための円環状アドレ
ス生成器15、円環状バッファプログラムレジスタを含
むレジスタファイル13、および、命令解読器、ALUな
ど他の論理素子を含む。本発明による円環状アドレス生
成器15は、(L+1)の長さを有し、暗示上限境界あ
るいは結合暗示上下限境界に準拠可能な選択可能境界ベ
ースを有する、データメモリ14のバッファを管理す
る。
【0016】例えば、プロセッサ12はプログラムメモ
リ11からの命令を実行する。命令には直接アドレス命
令および間接アドレス命令が含まれる。間接アドレス命
令はレジスタファイル13の円環状バッファプログラム
レジスタに依存する。1つの実施形態には、4組の円環
状バッファプログラムレジスタがあり、それぞれが、現
在アドレスAを格納する第1のレジスタ、オフセット値M
を格納する第2のレジスタ、およびバッファ長の値Lを
格納する第3のレジスタを含む。上限および下限アドレ
ス境界の両方をサポートするこの実施形態では、各アク
セスにおいて、上限アドレス境界バッファと下限アドレ
ス境界バッファのどちらが使用されているかを示す上限
/下限制御信号が提供される。上限/下限制御信号を、
サーキュラアドレッシングを使用する命令の一部とし
て、または、オフセット値Mがレジスタの低次ビットの
みを使用する値に限定される時には、オフセット値Mを
格納するレジスタの高ビットとして独立に提供しても良
い。
【0017】例えば、命令“ldx1,ar2,m2”
はプロセッサコア12の解読器に解釈され、レジスタフ
ァイルのレジスタx1にメモリデータがロードされる。
このメモリデータは、1組の円環状バッファプログラム
レジスタの現在アドレスAを格納しているレジスタar2
が指定するアドレスから、この円環状バッファプログラ
ムレジスタのレジスタm2に格納されているオフセット
値Mに増分されて取出される。この円環状バッファプロ
グラムレジスタのバッファ長の値Lを格納するレジスタl
2は、プロセッサ12により事前に構成されるか、別の
方法で構成される。1つの実施形態で、16ビットアド
レスのバッファ長の値Lを16進法のffffに設定し
た場合には、対応する組の円環状バッファプログラムレ
ジスタのレジスタを指定する間接アドレス命令に応じ
て、リニアアドレッシングが使用される。
【0018】図2(a)から(c)は、それぞれ、暗示
下限アドレス境界、暗示上限アドレス境界、および結合
上下限アドレス境界を使用するサーキュラアドレッシン
グの実施形態を示す。図2(a)は従来技術による暗示
下限アドレス境界アプローチであり、円環状バッファ1
および2を備える。この例では、円環状バッファ1は長
さL+1=10を有し、そのアロケーションは0a00
(16進法)から0a09(16進法)である。円環状
バッファ2の長さL+1を、ユーザが6にしたいと仮定
しよう。0a0a(16進法)および0a0f(16進
法)間のアドレスセットの長さは6に等しいが、このア
ドレスセットを円環状バッファ2に使用することはでき
ない。なぜなら、このアドレスセットは、下限3が0で
ある暗示下限境界を有するに違いないからである。した
がって円環状バッファ2は0a10(16進法)および
0a15(16進法)間に配置され、0a0a(16進
法)および0a0f(16進法)間に未使用領域を残し
てしまう。
【0019】図2(b)は、本発明の暗示上限アドレス
境界アプローチを示す。円環状バッファ1および2が示
れている。この場合には、上限アドレス境界が暗示され
る。したがって、円環状バッファ1は、長さL+1=1
0を有し、そのアロケーションは0a06(16進法)
から0a0f(16進法)である。この例では、ユーザ
は長さL+1=6を有する円環状バッファ2を定義す
る。最もコンパクトで、バッファ1に最も近いアロケー
ションは、バッファ2を暗示上限境界ベースによって0
a17(16進法)および0a12(16進法)間に配
置する。これでも、まだ、バッファ1および2間に未使
用領域が残ってしまう。
【0020】図2(c)には、暗示下限アドレス境界を
有する円環状バッファ1、および暗示上限アドレス境界
を有する円環状バッファ2が示され、両者間に未使用領
域のない構成である。この例では、円環状バッファ1は
長さL+1=10を有する。0a00(16進法)およ
び0a09(16進法)間の現在アドレスAに対して、
円環状アドレス生成器は0a00(16進法)から0a
09(16進法)の範囲内に次のアドレスを生成する。
この例では、長さL+1=6の円環状バッファ2は暗示
上限アドレス境界0a0f(16進法)を有する。この
円環状バッファ2へのアクセスには0a0f(16進
法)および0a0a(16進法)間の現在アドレスが使
用され、円環状アドレス生成器は0a0f(16進法)
および0a0a(16進法)の範囲内に次のアドレスを
生成する。図からわかるように、これら2つの円環状バ
ッファは、両者間に未使用領域が存在しないように構成
できる。
【0021】暗示下限境界を有するバッファおよび暗示
上限アドレス境界を有するバッファのアドレス生成論理
を、図3および4を参照して以下で説明する。暗示下限
境界を有するバッファを選択する場合、この暗示下限境
界は現在アドレスAの低位のNビットに0を挿入するこ
とによって決定される。ここで、値Nは、バッファ長パ
ラメータLの先頭の“1”があるビット位置である。こ
の値Nは、式2^(N−1)<=L<2^Nによって表
すこともできる。この方法に従えば、下限境界は2^N
の任意のマルチプルに設定できる。このバッファの下限
境界は、左のAの高位のW−Nビットに右の低位のNビ
ットに0を連結することによって指定される。ここで、
Wはメモリに使用されるアドレスビットの数である。下
限境界が決定されると、長さL+1のバッファの下限境
界にLを加えることによって決定される。つまり、上限
境界は左のAの高位のW−Nビットに右のLの低位のN
ビットを連結して指定される。
【0022】例えば:W=16で、Lが0000 00
00 0010 1011(2進数で16ビット)、こ
のバッファに対する現在アドレスAが0011 100
10101 1110であるケースを考える。Lの先頭
の1がビット位置6にあるので、N=6である。暗示下
限境界は0011 1001 0100 0000であ
り、暗示上限境界は0011 1001 0110 1
011である。
【0023】説明の簡略化のため、A、上限境界および
下限境界から高位のW−Nビットを除外し、Aの低位の
Nビットを表すのにIを、下限境界を表すのに0を、そ
して上限境界を表すのにLを使用する。Mは、現在アド
レスIと次の目的のアドレスとの間のオフセットであ
る。Mは符号の付いた数であり、正数または負数であ
る。Mが正数の場合、円環状アドレス生成器が使用する
論理に関して、次の3つの状態が考えられる。(1)I
+M>=2^Nの場合、(2)I+M>=L+1の場
合、および(3)I+M<L+1の場合である。
【0024】Mが正数で、I+M>=2^Nである状態
1の場合。絶対アドレス(I+M)が上限境界Lを上回
る。次のアドレスを円環状バッファの低位領域にラップ
させる必要がある。次の目的のアドレスIは、絶対アド
レス(I+M)からバッファ長(L+1)を差し引くこ
とにより計算できる。その式はI+M−(L+1)であ
り、2の補体系ではI+M+(L\)に変換される。
【0025】Mが正数で、I+M>=L+1である状態
2の場合。絶対アドレス(I+M)は、再び上限境界L
を上回る。次のアドレスをバッファの低位領域にラップ
させる必要がある。次の目的のアドレスIは、絶対アド
レスからバッファ長を差し引くことにより計算できる。
その式は状態(1)の場合と同様、I+M−(L+1)
であり、2の補体系ではI+M+(L\)となる。
【0026】Mが正数で、I+M<L+1である状態3
の場合。絶対アドレスI+Mが上限境界Lを上回らな
い。したがって、次の目的のアドレスIはI+Mに等し
い。ハードウェア実行の際、状態1(I+M>=2^
N)はI+Mから生成されるキャリーアウトによって示
され、状態2(I+M>=L+1)はI+M+(L\)
から生成されるキャリーアウトによって示される。状態
3はI+Mから生成されるキャリーアウトがない場合に
示される。
【0027】Mが負数の場合、円環状アドレス生成器が
使用する論理に関して、次の2つの状態が考えられる。
(1)I+M<0の場合、および(2)I+M>=0の
場合である。Mが負数で、I+M<0である状態1の場
合。絶対アドレス(I+M)は円環状バッファの下限境
界0を下回る負数である。次のアドレスを円環状バッフ
ァの高位領域にラップさせる必要がある。次の目的のア
ドレスIは、絶対アドレス(I+M)にバッファ長L+
1を加えることにより計算できる。その式はI+M+L
+1である。
【0028】Mが負数で、I+M>=0である状態2の
場合。絶対アドレス(I+M)は下限境界0を上回る。
したがって、目的のアドレスIはI+Mに等しくなる。
ハードウェア実行の際、Mが負数の状態1(I+M<
0)はI+Mから生成されるキャリーアウトがないこと
により示される。Mが負数の状態2(I+M>=0)は
I+Mから生成されるキャリーアウトによって示され
る。
【0029】したがって、暗示下限アドレス境界円環状
バッファのハードウェア実行は、図3に示すように論理
的に実行される。図3の論理は、第1の加算器201お
よび第2の加算器202を含む。第1の加算器201へ
の入力には、値IおよびMがある。この中で絶対アドレ
スと呼ばれる第1の加算器201の出力が、ライン20
7に供給され、I+Mに等しい。加算器201からのキ
ャリーアウト信号がライン206に供給される。第2の
加算器202への入力には、排他的NORゲート203
の出力および第1の加算器201からライン207への
出力がある。排他的NORゲート203への入力には、
長さの値LおよびアドレスオフセットMの符号ビットが
ある。第2の加算器202は、Mの符号ビットをキャリ
ーインとしてライン211から受信する。この中でラッ
プアドレスと呼ばれる第2の加算器202の出力は、ラ
イン209に供給される。マルチプレクサ213は、入
力として、ライン207から絶対アドレスを、ライン2
09からラップアドレスを受信し、次の目的のアドレス
をライン210へ供給する。計算された絶対アドレスお
よびラップアドレスのどちらが出力として供給されるか
を示す制御信号が、ライン212からマルチプレクサ2
13に供給される。ライン212の信号は、マルチプレ
クサ214の出力から供給され、このマルチプレクサ2
14は、ライン211からのMの符号ビットに応じて動
作し、Mの符号ビットが1(Mが負数)である場合と、
Mの符号ビットが0(Mが正数)である場合とに対して
論理を選択する。
【0030】Mの符号ビットが1である場合には、イン
バータ205の出力が制御信号としてライン212に供
給される。インバータ205の入力は、第1の加算器2
01からライン206へのキャリーアウト信号である。
したがって、Mの符号ビットが1の場合、第1の加算器
201のキャリーアウトが0ならばラップアドレスが選
択され、第1の加算器201のキャリーアウトが1なら
ば絶対アドレスが選択される。
【0031】Mの符号ビットが0である場合には、OR
ゲート204の出力が制御信号としてライン212に供
給される。ORゲート204の入力は、第2の加算器2
02からライン208へのキャリーアウト信号と、第1
の加算器201からライン206へのキャリーアウト信
号とを含む。したがって、Mの符号ビットが0の場合、
ライン206および208のキャリーアウト信号の少な
くとも1つが1ならばラップアドレスが選択される。M
の符号ビットが0の場合、ライン206および208の
キャリーアウト信号の両方が0ならば絶対アドレスが選
択される。
【0032】暗示上限境界を有するバッファが選択され
る場合には、暗示上限境界は、現在アドレスAの低位の
Nビットに1を連結することによって決定される。ここ
で、Nは長さパラメータLの先頭の“1”があるビット
位置である。Nは式2^(N−1)<=L<2^Nによ
っても決定できる。つまり、上限境界は2^Nの任意の
マルチプルに設定できる。Wビットを含むこのバッファ
のアドレスAは、このバッファの上限および下限境界を
位置決めするのに使用できる。このバッファの上限境界
は、左のAの高位のW−Nビットに右の低位のNビット
に1を連結することによって指定される。上限境界が決
定されると、下限境界はその上限境界からLを差し引く
ことによって決定される。したがって、下限境界は左の
Aの高位のW−Nビットに右の(L\)の低位のNビッ
トを連結して指定される。ここで、L\はLの1の補数
である。
【0033】例えば:W=16で、Lが0000 00
00 0010 1011(2進数で16ビット)、こ
のバッファに対する現在アドレスAが0011 100
10101 1110であるケースを考える。この場合
N=6であり、暗示上限境界は0011 1001 0
111 1111であり、暗示下限境界は001110
01 0101 0100である。
【0034】前述のように説明の簡略化のため、A、上
限境界および下限境界から高位のW−Nビットを除外
し、Aの低位のNビットを表すのにIを、上限境界を表
すのにFを、そして下限境界を表すのに(L\)を使用
する。Mは、現在アドレスIと次の目的のアドレスとの
間のオフセットである。Mは符号の付いた数であり、正
数または負数である。
【0035】Mが正数の場合、円環状アドレス生成器が
使用する論理に関して、次の2つの状態が考えられる。
(1)I+M>=F+1の場合、および(2)I+M<
F+1の場合である。Mが正数で、I+M>=F+1あ
る状態1の場合。絶対アドレス(I+M)が上限境界
(F、すべて1)を上回る。次のアドレスをバッファの
低位領域にラップさせる必要がある。目的の(ラップ)
アドレスIは、絶対アドレスからバッファ長を差し引く
ことにより計算できる。その式はI+M−(L+1)で
あり、2の補体系ではI+M+(L\)に等しい。Mが
正数で、I+M<F+1である状態2の場合。絶対アド
レス(I+M)は、上限境界Fを上回らない。したがっ
て、目的のアドレスIはI+Mに等しい。
【0036】ハードウェア実行の際、状態1(I+M>
=F+1)はI+Mから生成されるキャリーアウトによ
って示され、状態2(I+M>=L+1)はI+Mから
生成されるキャリーアウトがないことによって示され
る。Mが負数の場合、円環状アドレス生成器が使用する
論理に関して、次の3つの状態が考えられる。(1)I
+M<0の場合、(2)I+M<(L\)0の場合、お
よび(3)I+M>=(L\)の場合である。
【0037】Mが負数で、I+M<0である状態1の場
合。絶対アドレス(I+M)は負数であり、円環状バッ
ファの下限境界(L\)を下回る。したがって、次の目
的のアドレスをバッファの高位領域にラップさせる必要
がある。次の目的の(ラップ)アドレスIは、絶対アド
レスにバッファ長を加えることにより計算できる。その
式はI+M+L+1である。Mが負数で、I+M<(L
\)である状態2の場合。絶対アドレスは再び円環状バ
ッファの下限境界(L\)を下回る。したがって、次の
目的の(ラップ)アドレスIはI+M+L+1になる。
Mが負数で、I+M>=(L\)である状態3の場合。
絶対アドレス(I+M)が下限境界(L\)を下回らな
い。したがって、目的のアドレスIはI+Mに等しい。
【0038】ハードウェア実行については、Mが負数で
ある状態1(I+M<0)はI+Mから生成されるキャ
リーアウトが無いことによって示すことができ、Mが負
数である状態2(I+M<(L\))はI+M+L+1
から生成されるキャリーアウトが無いことによって示す
ことができる。
【0039】したがって、暗示上限アドレス境界円環状
バッファのハードウェア実行は、図4に示すように論理
的に実行される。図4の論理は、第1の加算器301お
よび第2の加算器302を含む。第1の加算器301へ
の入力には、値IおよびMがある。この中で絶対アドレ
スと呼ばれる第1の加算器301の出力が、ライン30
7に供給され、I+Mに等しい。加算器301からのキ
ャリーアウト信号がライン306に供給される。第2の
加算器302への入力には、排他的NORゲート303
の出力および第1の加算器301からライン307への
出力がある。排他的NORゲート303への入力には、
長さの値LおよびアドレスオフセットMの符号ビットが
ある。第2の加算器302は、Mの符号ビットをキャリ
ーインとしてライン311から受信する。この中でラッ
プアドレスと呼ばれる第2の加算器302の出力は、ラ
イン309に供給される。マルチプレクサ313は、入
力として、ライン307から絶対アドレスを、ライン3
09からラップアドレスを受信し、次の目的のアドレス
をライン310へ供給する。計算された絶対アドレスお
よびラップアドレスのどちらが出力として供給されるか
を示す制御信号が、ライン312からマルチプレクサ3
13に供給される。ライン312の信号は、マルチプレ
クサ314の出力から供給され、このマルチプレクサ3
14は、ライン311からのMの符号ビットに応じて動
作し、Mの符号ビットが1(Mが負数)である場合と、
Mの符号ビットが0(Mが正数)である場合とに対して
論理を選択する。
【0040】Mの符号ビットが1である場合には、NA
NDゲート305の出力が制御信号としてライン312
に供給される。NANDゲート305の入力は、第1の
加算器301からライン306へのキャリーアウト信号
と、第2の加算器302からライン308へのキャリー
アウト信号とを含む。したがって、Mの符号ビットが1
の場合、第1の加算器301および第2の加算器302
の少なくとも1つのキャリーアウト信号が0ならばラッ
プアドレスが選択され、第1の加算器301および第2
の加算器302のキャリーアウト信号の両方が1ならば
絶対アドレスが選択される。
【0041】Mの符号ビットが0である場合には、第1
の加算器301のライン306へのキャリーアウトが制
御信号としてライン312に供給される。したがって、
Mの符号ビットが0の場合、ライン306のキャリーア
ウト信号が1ならばラップアドレスが選択される。Mの
符号ビットが0の場合、ライン306のキャリーアウト
信号が0ならば絶対アドレスが選択される。
【0042】図5は、2つの加算器401、402が下
限境界スキームおよび上限境界スキームによって共有さ
れた、考えられる1つの実施形態のブロック図である。
この装置には、4つの入力と1つの出力とがある。入力
は: 1.バッファ長L409、これはプログラム値である
(実際のバッファ長はL+1である)。 2.現在アクセスアドレスA407、円環状バッファの
境界はAおよびLにおいて暗示的である。 3.現在アドレス407および目的のアドレス414の
間のオフセットM408。Mは符号付きの値である。M
の絶対値はLより大きくない。 4.ライン431からのプログラム可能制御信号。これ
は、暗示下限境界または暗示上限境界に基づいたバッフ
ァを使用すべきか否かを選択するために使用される。出
力は: 1.次の目的のアドレス414。これは、次のアドレス
生成のために現在アドレス407として使用される。
【0043】加算器401は、A407とM408との
加算を実行し、その和412―絶対アドレスを生成し、
各ビット荷重からキャリーアウト419を生成する。X
NOR403は、M408の符号ビット410が0に等
しい場合に、L409の逆を取るために使用される。M
408の符号ビット410が1に等しい場合には、XN
OR403の出力411がL409に等しくなる。加算
器402は、絶対アドレス412、XNOR403の出
力411、および最下位のビットにおいてM408の符
号ビット410に等しいキャリーインの加算を実行し、
その和413−ラップアドレスと、各ビット荷重からキ
ャリーアウト420とを生成する。目的のアドレス41
4は、制御信号418を使用してマルチプレクサ404
によって絶対アドレス412またはラップアドレス41
3から選択される。プライオリティセレクタ421は、
L409の先頭の“1”を検出することによって加算器
401のキャリーアウト419からN番目のビットのキ
ャリーアウトを出力415として選択する。プライオリ
ティセレクタ422は、L409に応じてよって加算器
402のキャリーアウト420からN番目のビットのキ
ャリーアウトを出力416として選択する。ワイヤ43
1は、マルチプレクサ423の2つの入力の1つを選択
するのに使用され、ワイヤ431が0に等しい場合に
は、制御信号418はワイヤ425から受信したものと
なる。これは、このバッファが下限境界基準として定義
されていることも意味する。また、ワイヤ424が選択
されたなら、そのバッファは上限境界に基づいている。
【0044】ワイヤ431が0の場合には、このバッフ
ァは下限境界に基づいている。Mが正数であれば、ワイ
ヤ428が、マルチプレクサ426、ワイヤ425、お
よびマルチプレクサ423によって制御信号418とし
て選択される。加算器401が生成し、プライオリティ
セレクタ421を通過したキャリーアウト415、また
は、加算器402が生成し、プライオリティセレクタ4
22を通過したキャリーアウト416の少なくとも1つ
が設定されれば、加算器402の和413(ラップアド
レス)がマルチプレクサ404によって目的のアドレス
414として選択される。OR機能がORゲート430
によって実行される。ワイヤ428はORゲート430
の出力であり、マルチプレクサ426の入力でもある。
Mが負数であれば、ワイヤ427が、マルチプレクサ4
26、ワイヤ425、およびマルチプレクサ423によ
って制御信号418として選択される。加算器401が
生成し、プライオリティセレクタ421を通過したキャ
リーアウト415がクリアである場合には、加算器40
2の和413(ラップアドレス)が目的のアドレス41
4として選択される。インバータ429は、ワイヤ41
5のクリア状態を認識するのに使用され、ワイヤ427
はインバータ429の出力である。
【0045】ワイヤ431が1に設定された場合には、
このバッファは上限境界基準である。Mが正数であれ
ば、ワイヤ415が、マルチプレクサ406、ワイヤ4
24、およびマルチプレクサ423によって制御信号4
18として選択される。加算器401が生成し、プライ
オリティセレクタ421を通過したキャリーアウト41
5が設定される場合には、加算器402の和413(ラ
ップアドレス)が、マルチプレクサ404によって次の
目的のアドレス414として選択され、そうでない場合
には、加算器401が生成した絶対アドレスが選択され
る。Mが負数であれば、ワイヤ417が、マルチプレク
サ406、ワイヤ424、およびマルチプレクサ423
によって制御信号418として選択される。加算器40
1が生成し、プライオリティセレクタ421を通過した
キャリーアウト415、または、加算器402が生成
し、プライオリティセレクタ422を通過したキャリー
アウト416の少なくとも1つが除去されれば、加算器
402の和413(ラップアドレス)がマルチプレクサ
404によって次の目的のアドレス414として選択さ
れ、そうでない場合には、絶対アドレスが選択される。
OR機能がNANDゲート405によって実行される。
ワイヤ417はNANDゲート405の出力であり、マ
ルチプレクサ406の入力である。
【0046】本発明のある実施形態では、図6に示すよ
うに、暗示上限境界スキームが単独で使用される。図6
では、加算器501は、A507+M508を実行し、
絶対アドレス512を生成する。M508が正数である
(Mの符号ビット510が0に等しい)場合には、XN
ORゲート503は、L509の逆を取る。M508が
負数である(Mの符号ビット510が1に等しい)場合
には、XNOR503の出力511はL509に等し
い。加算器502は、絶対アドレス512、XNOR5
03の出力511、および最下位のビットにおいてMの
符号ビット510に等しいキャリーインの加算を実行す
る。加算器502の出力513はラップアドレスであ
り、絶対アドレスがバッファの境界を上回る場合に選択
される。目的の出力514は、制御信号518を使用し
てマルチプレクサ504によって絶対アドレス512ま
たはラップアドレス513から選択される。
【0047】Mが正数である場合には、信号515がマ
ルチプレクサ506によって制御信号518として選択
される。プライオリティセレクタ521は、L509の
先頭の“1”を検出することによって加算器501のキ
ャリーアウト519からN番目のビットのキャリーアウ
トを出力515として選択する。プライオリティセレク
タ521の出力515は、加算器501のN番目のビッ
トのキャリーアウト状態を表す。加算器501からのN
番目のキャリーアウトにおける“1”は、絶対アドレス
(A+M)がバッファの上限境界を上回り、ラップアド
レス513が出力514として選択されることを意味す
る。それ以外には絶対アドレス512が出力514とし
て選択される。
【0048】Mが負数である場合には、信号517がマ
ルチプレクサ506によって制御信号518として選択
される。この場合には、515、516という2つのN
番目のビットのキャリーアウト信号が使用される。ライ
ン515および516はNANDゲート505へ供給さ
れ、このNANDゲート505は出力として信号517
を供給する。信号515の“0”という値は、A+Mが
生成したキャリーアウトは無いことを示し、これは絶対
アドレス512が負値であり、バッファの下限境界を下
回ることを意味する。したがって、ラップアドレス51
3が次の目的のアドレス出力514と見なされる。プラ
イオリティセレクタ522は、L509の先頭の“1”
を検出することによって加算器502のキャリーアウト
520からN番目のビットのキャリーアウトを出力51
6として選択する。信号516の“0”という値は、A
+M<(L\)を意味する加算器502が生成したキャ
リーアウトは無いことを示し、絶対アドレスはバッファ
の下限境界を下回る。この場合には、ラップアドレス5
13が次の目的のアドレス出力514として選択され
る。2つのラップ状態が一致しない場合には、絶対アド
レス512が次の目的のアドレス出力514として選択
される。
【0049】要約すると、線形メモリ空間において円環
状バッファにアクセスするためのアドレスを生成するア
ドレス生成器が提供される。このバッファは、プログラ
ムされた長さ(L+1)を有し、バッファベースが暗示
下限境界または暗示上限境界で定義されている。円環状
バッファを定義するのに暗示下限境界が使用される場合
には、下限境界は低位のNビットがすべて0のアドレス
となる。ここでNは、Lの先頭の1があるビット位置で
ある。円環状バッファを定義するのに暗示上限境界が使
用される場合には、上限境界は低位のNビットがすべて
1のアドレスとなる。絶対アドレスは現在アドレスAに
オフセットMを加えることによって計算される。ここで
Mは符号の付いた数であり、Mの絶対値はLより小さ
い。絶対アドレスがバッファの境界を上回る場合には、
バッファ長(L+1)を加えたり差し引いたりすること
によって境界の別のサイドにラップする。このように、
次の目的のアドレスがバッファ内に常に存在する。この
ようなアドレス生成器は、デジタル信号処理アプリケー
ションだけでなく、データ処理の他のアプリケーション
にも使用される。
【0050】本発明を好適な実施形態および例を参照し
て以上で詳細に開示してきたが、これらの例は制約的な
意味ではなく例証的な意味で示したものであることを理
解されたい。本発明の精神および特許請求の範囲内にあ
る変更や組合せが、容易に当業者の頭に浮かぶであろう
ことが予期される。
【図面の簡単な説明】
【図1】本発明の上下限円環状アドレス生成器を備えた
集積回路プロセッサの簡略ブロック図である。
【図2】(a)は従来技術による暗示下限アドレス境界
円環状バッファのアドレス範囲を示し、(b)は本発明
の実施形態である暗示上限アドレス境界円環状バッファ
のアドレス範囲を示し、(c)は本発明の実施形態であ
る結合上下限アドレス境界のアドレス範囲を示す。
【図3】従来技術の暗示下限アドレス境界サーキュラア
ドレッシングによるアドレス計算の簡略論理図である。
【図4】本発明の実施形態である暗示上限アドレス境界
サーキュラアドレッシングによるアドレス計算の簡略論
理図である。
【図5】本発明の実施形態である結合暗示上下限アドレ
ス境界サーキュラアドレッシングによるアドレス計算の
論理図である。
【図6】本発明の実施形態である暗示上限アドレス境界
サーキュラアドレッシングによるアドレス計算の論理図
であり、位置Nにおけるキャリーアウトを選択するプラ
イオリティセレクタブロックが示されている。

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 メモリの円環状アドレスバッファのアド
    レスを生成する装置であって、 現在アドレスA、アドレスオフセットM、バッファ長の
    値Lおよび制御信号を受信する入力と、 前記A、M、およびLに応じて、前記メモリの位置に対
    する第1のメモリアドレスおよび第2のメモリアドレス
    を計算し、前記制御信号に応じて前記第1および第2の
    メモリアドレスの1つを提供するように構成された論理
    とを含み、 前記第1のメモリアドレスが、アドレス境界Xを有し、
    Xから(X+L)までのアドレスを含む第1の円環状バ
    ッファの前記現在アドレスAと前記アドレスオフセット
    Mの和と一致し、前記第2のメモリアドレスが、アドレ
    ス境界Yを有し、Yから(Y―L)までのアドレスを含
    む第2の円環状バッファの前記現在アドレスAと前記ア
    ドレスオフセットMの和と一致することを特徴とする装
    置。
  2. 【請求項2】 請求項1に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Xが前記現在アド
    レスAの低位のNビットを0で置換することによって計
    算され、前記アドレス境界Yが前記現在アドレスAの低
    位のNビットを1で置換することによって計算されるこ
    とを特徴とする装置。
  3. 【請求項3】 請求項1に記載の装置において、 前記入力が、前記A、MおよびLを格納するレジスタを
    含むことを特徴とする装置。
  4. 【請求項4】 請求項1に記載の装置において、 前記入力が、前記A、M、Lおよび前記制御信号を格納
    するレジスタ含むことを特徴とする装置。
  5. 【請求項5】 請求項1に記載の装置において、 前記論理が、 キャリーアウト信号によって和A+Mに等しい第1の出
    力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、キャリーアウト信
    号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号に応じて前記第1の出力または前記第2の出力を選
    択する選択論理とを含むことを特徴とする装置。
  6. 【請求項6】 請求項1に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Xが前記現在アド
    レスAの低位のNビットを0で置換することによって計
    算され、前記アドレス境界Yが前記現在アドレスAの低
    位のNビットを1で置換することによって計算され、 前記論理が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
    て和A+Mに等しい第1の出力を生成する第1の加算器
    と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、前記ビット位置N
    において、キャリーアウト信号によって生成する第2の
    加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号と、前記制御信号とに応じて、前記第1の出力また
    は前記第2の出力を選択する選択論理とを含むことを特
    徴とする装置。
  7. 【請求項7】 請求項6に記載の装置において、 前記選択論理が、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器からの前記キャリーアウトも前記第2の加算器
    からの前記キャリーアウトも1でない場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器からの前記キャリーアウトが1である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器からの前記キャリーアウトが0である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器および前記第2の加算器の両方からの前記キャ
    リーアウトが1である場合に、 前記第1の加算器の出力を選択し、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器または前記第2の加算器の少なくとも1つから
    の前記キャリーアウトが1である場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器からの前記キャリーアウトが0である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器からの前記キャリーアウトが1である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器または前記第2の加算器の少なくとも1つから
    の前記キャリーアウトが0である場合に、 前記第2の加算器の出力を選択するように構成されるこ
    とを特徴とする装置。
  8. 【請求項8】 メモリの暗示上限アドレス境界を有する
    円環状アドレスバッファのアドレスを生成する装置であ
    って、 現在アドレスA、アドレスオフセットM、バッファ長の
    値Lを受信する入力と、 前記A、M、およびLに応じて、前記メモリの位置に対
    するメモリアドレスを計算し、前記メモリアドレスを提
    供するように構成された論理とを含み、 前記メモリアドレスが、アドレス境界Yを有し、Yから
    (Y―L)までのアドレスを含む円環状バッファの前記
    現在アドレスAと前記アドレスオフセットMの和と一致
    することを特徴とする装置。
  9. 【請求項9】 請求項8に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Yが前記現在アド
    レスAの低位のNビットを1で置換することによって計
    算されることを特徴とする装置。
  10. 【請求項10】 請求項8に記載の装置において、 前記入力が、前記A、MおよびLを格納するレジスタを
    含むことを特徴とする装置。
  11. 【請求項11】 請求項8に記載の装置において、 前記論理が、 キャリーアウト信号によって和A+Mに等しい第1の出
    力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、キャリーアウト信
    号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号に応じて前記第1の出力または前記第2の出力を選
    択する選択論理とを含むことを特徴とする装置。
  12. 【請求項12】 請求項8に記載の装置において、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Xが前記現在アド
    レスAの低位のNビットを0で置換することによって計
    算され、前記アドレス境界Yが前記現在アドレスAの低
    位のNビットを1で置換することによって計算され、 前記論理が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
    て和A+Mに等しい第1の出力を生成する第1の加算器
    と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、前記ビット位置N
    において、キャリーアウト信号によって生成する第2の
    加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号に応じて、前記第1の出力または前記第2の出力を
    選択する選択論理とを含むことを特徴とする装置。
  13. 【請求項13】 請求項12に記載の装置において、 前記選択論理が、 前記アドレスオフセットが正数であり、前記第1の加算
    器からの前記キャリーアウトが0である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
    器および前記第2の加算器の両方からの前記キャリーア
    ウトが1である場合に、前記第1の加算器の出力を選択
    し、 前記アドレスオフセットが正数であり、前記第1の加算
    器からの前記キャリーアウトが1である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
    器または前記第2の加算器の少なくとも1つからの前記
    キャリーアウトが0である場合に、前記第2の加算器の
    出力を選択するよう構成されることを特徴とする装置。
  14. 【請求項14】 集積回路であって、 プロセッサと、 現在アドレスA、アドレスオフセットM、バッファ長の
    値Lを格納する、前記プロセッサに結合されたレジスタ
    と、 メモリと、 前記メモリのアドレスを生成する、前記プロセッサに結
    合されたアドレス生成器とを含み、 前記アドレス生成器が、前記A、M、およびLに応じ
    て、前記メモリの位置に対する第1のメモリアドレスお
    よび第2のメモリアドレスを計算し、制御信号に応じて
    前記第1および第2のメモリアドレスの1つを提供する
    ように構成され、 前記第1のメモリアドレスが、アドレス境界Xを有し、
    Xから(X+L)までのアドレスを含む第1の円環状バ
    ッファの前記現在アドレスAと前記アドレスオフセット
    Mの和と一致し、前記第2のメモリアドレスが、アドレ
    ス境界Yを有し、Yから(Y―L)までのアドレスを含
    む第2の円環状バッファの前記現在アドレスAと前記ア
    ドレスオフセットMの和と一致することを特徴とする集
    積回路。
  15. 【請求項15】 請求項14に記載の集積回路におい
    て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Xが前記現在アド
    レスAの低位のNビットを0で置換することによって計
    算され、前記アドレス境界Yが前記現在アドレスAの低
    位のNビットを1で置換することによって計算されるこ
    とを特徴とする集積回路。
  16. 【請求項16】 請求項14に記載の集積回路におい
    て、 前記プロセッサが、前記レジスタに前記値A、Mおよび
    Lを格納する命令に応じるデコーダを含むことを特徴と
    する集積回路。
  17. 【請求項17】 請求項14に記載の集積回路におい
    て、 前記値Aおよび前記制御信号が前記レジスタの単一のレ
    ジスタに格納されることを特徴とする集積回路。
  18. 【請求項18】 請求項14に記載の集積回路におい
    て、 前記アドレス生成器が、 キャリーアウト信号によって和A+Mに等しい第1の出
    力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、キャリーアウト信
    号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号に応じて前記第1の出力または前記第2の出力を選
    択する選択論理とを含むことを特徴とする集積回路。
  19. 【請求項19】 請求項14に記載の集積回路におい
    て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Xが前記現在アド
    レスAの低位のNビットを0で置換することによって計
    算され、前記アドレス境界Yが前記現在アドレスAの低
    位のNビットを1で置換することによって計算され、 前記アドレス生成器が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
    て和A+Mに等しい第1の出力を生成する第1の加算器
    と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、前記ビット位置N
    において、キャリーアウト信号によって生成する第2の
    加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号と、前記制御信号とに応じて、前記第1の出力また
    は前記第2の出力を選択する選択論理とを含むことを特
    徴とする集積回路。
  20. 【請求項20】 請求項19に記載の集積回路におい
    て、 前記選択論理が、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器からの前記キャリーアウトも前記第2の加算器
    からの前記キャリーアウトも1でない場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器からの前記キャリーアウトが1である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器からの前記キャリーアウトが0である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器および前記第2の加算器の両方からの前記キャ
    リーアウトが1である場合に、 前記第1の加算器の出力を選択し、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器または前記第2の加算器の少なくとも1つから
    の前記キャリーアウトが1である場合、または、 前記制御信号が前記第1のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器からの前記キャリーアウトが0である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが正数であり、前記第1
    の加算器からの前記キャリーアウトが1である場合、ま
    たは、 前記制御信号が前記第2のメモリアドレスに対して設定
    され、前記アドレスオフセットが負数であり、前記第1
    の加算器または前記第2の加算器の少なくとも1つから
    の前記キャリーアウトが0である場合に、 前記第2の加算器の出力を選択するように構成されるこ
    とを特徴とする集積回路。
  21. 【請求項21】 集積回路であって、 プロセッサと、 現在アドレスA、アドレスオフセットM、バッファ長の
    値Lを格納する、前記プロセッサに結合されたレジスタ
    と、 メモリと、 前記メモリの暗示上限アドレス境界を有する円環状アド
    レスバッファのアドレスを生成するアドレス生成器とを
    含み、 前記アドレス生成器は前記A、M、およびLに応じて、
    前記メモリの位置に対するメモリアドレスを計算し、前
    記メモリアドレスを提供するように構成され、前記メモ
    リアドレスが、アドレス境界Yを有し、Yから(Y―
    L)までのアドレスを含む円環状バッファの前記現在ア
    ドレスAと前記アドレスオフセットMの和と一致するこ
    とを特徴とする集積回路。
  22. 【請求項22】 請求項21に記載の集積回路におい
    て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Yが前記現在アド
    レスAの低位のNビットを1で置換することによって計
    算されることを特徴とする集積回路。
  23. 【請求項23】 請求項21に記載の集積回路におい
    て、 前記プロセッサが、前記レジスタに前記値A、Mおよび
    Lを格納する命令に応じるデコーダを含むことを特徴と
    する集積回路。
  24. 【請求項24】 請求項21に記載の集積回路におい
    て、 前記アドレス生成器が、 キャリーアウト信号によって和A+Mに等しい第1の出
    力を生成する第1の加算器と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、キャリーアウト信
    号によって生成する第2の加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号に応じて前記第1の出力または前記第2の出力を選
    択する選択論理とを含むことを特徴とする集積回路。
  25. 【請求項25】 請求項21に記載の集積回路におい
    て、 前記Lは、2進数で表した時にビット位置Nに先頭の1
    を有する値であり、前記アドレス境界Xが前記現在アド
    レスAの低位のNビットを0で置換することによって計
    算され、前記アドレス境界Yが前記現在アドレスAの低
    位のNビットを1で置換することによって計算され、 前記アドレス生成器が、 前記ビット位置Nにおいて、キャリーアウト信号によっ
    て和A+Mに等しい第1の出力を生成する第1の加算器
    と、 前記Mの符号が正数である時に第1のラップアドレス和
    (A+M)−(L+1)に等しいか、または前記Mの符
    号が負数である時に第2のラップアドレス和(A+M)
    +(L+1)に等しい第2の出力を、前記ビット位置N
    において、キャリーアウト信号によって生成する第2の
    加算器と、 前記第1および第2の加算器からの前記キャリーアウト
    信号に応じて、前記第1の出力または前記第2の出力を
    選択する選択論理とを含むことを特徴とする集積回路。
  26. 【請求項26】 請求項25に記載の集積回路におい
    て、 前記選択論理が、 前記アドレスオフセットが正数であり、前記第1の加算
    器からの前記キャリーアウトが0である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
    器および前記第2の加算器の両方からの前記キャリーア
    ウトが1である場合に、前記第1の加算器の出力を選択
    し、 前記アドレスオフセットが正数であり、前記第1の加算
    器からの前記キャリーアウトが1である場合、または、 前記アドレスオフセットが負数であり、前記第1の加算
    器または前記第2の加算器の少なくとも1つからの前記
    キャリーアウトが0である場合に、前記第2の加算器の
    出力を選択するよう構成されることを特徴とする集積回
    路。
JP2002019152A 2002-01-28 2002-01-28 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路 Expired - Fee Related JP4142299B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002019152A JP4142299B2 (ja) 2002-01-28 2002-01-28 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002019152A JP4142299B2 (ja) 2002-01-28 2002-01-28 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路

Publications (2)

Publication Number Publication Date
JP2003223357A true JP2003223357A (ja) 2003-08-08
JP4142299B2 JP4142299B2 (ja) 2008-09-03

Family

ID=27743153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002019152A Expired - Fee Related JP4142299B2 (ja) 2002-01-28 2002-01-28 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路

Country Status (1)

Country Link
JP (1) JP4142299B2 (ja)

Also Published As

Publication number Publication date
JP4142299B2 (ja) 2008-09-03

Similar Documents

Publication Publication Date Title
US5623621A (en) Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
KR920010914B1 (ko) 집적 데이타 처리기
US5381360A (en) Modulo arithmetic addressing circuit
US6397318B1 (en) Address generator for a circular buffer
US6141713A (en) Bus arbitrator with a hierarchical control structure
JPH08106375A (ja) 信号処理演算器
JP2005243033A (ja) インタラプトコントローラ
US6560691B2 (en) Modulus address generator and method for determining a modulus address
US5377340A (en) Method and apparatus for memory interleaving using an improved hashing scheme
JP4302640B2 (ja) 被乗数のシフトを用いて乗算を計算するための装置およびその方法、上記装置を実行するためのプログラムコードを格納した記録媒体
JP2006293663A (ja) メモリアドレス生成装置及びそれを有したプロセッサ、メモリアドレス生成方法
KR19990008025A (ko) 단정밀도 또는 배정밀도를 갖는 산술 연산 수행 시스템
US6085308A (en) Protocol processor for the execution of a collection of instructions in a reduced number of operations
KR20030055467A (ko) 다단계 분할을 이용한 기억소자 할당방법
EP0555382B1 (en) Address generator for circular buffer
EP0917048B1 (en) Address generator and method for single-cycle indirect addressing
KR19980052740A (ko) 디지탈 신호 처리기에서의 2배 정밀도 곱셈연산 수행방법
US5918253A (en) Memory address generator
JP4142299B2 (ja) 円環状アドレスバッファのアドレス生成装置およびこれを備えた集積回路
JP2002215606A (ja) データ処理装置
US5590302A (en) Device for generating structured addresses
US7308560B2 (en) Processing unit
US7213127B2 (en) System for producing addresses for a digital signal processor
US20050033939A1 (en) Address generation
JP3488059B2 (ja) 割り込みアドレス拡張回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050811

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051024

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

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

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4142299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees