JP2003517676A - 循環アドレスレジスタ - Google Patents

循環アドレスレジスタ

Info

Publication number
JP2003517676A
JP2003517676A JP2001545947A JP2001545947A JP2003517676A JP 2003517676 A JP2003517676 A JP 2003517676A JP 2001545947 A JP2001545947 A JP 2001545947A JP 2001545947 A JP2001545947 A JP 2001545947A JP 2003517676 A JP2003517676 A JP 2003517676A
Authority
JP
Japan
Prior art keywords
register
index
address
circular
limit
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.)
Withdrawn
Application number
JP2001545947A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2003517676A publication Critical patent/JP2003517676A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/5055Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • G06F9/3552Indexed addressing using wraparound, e.g. modulo or circular addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49931Modulo N reduction of final result

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 装置及び対応するプログラミング命令が提供されて、循環アドレシング・プロセスを促進する。装置は指定された限界内にあるように拘束されているアドレス出力を提供するように構成されている。「循環増分」又は「循環減分」命令が実行されてアドレスが1つの限界を超えるように為すと、アドレスは他の限界にリセットされる。好適実施例において、プログラミング命令もアドレスが各限界であることを示す状態フラグを設定する。これら「限界」フラグを循環アドレシング演算と関連して提供することによって、多重ワード・データアイテムが効率的に処理され得る。メモリにおけるN個の隣接するワードの基本アドレスは循環レジスタにロードされ、循環アドレシング命令が用いられてN個の隣接するワードの各ワードに順次アクセスし、限界フラグがその多重ワード・データアイテムの最後のワードがアクセスされた際に設定される。こうしてこの限界フラグが、多重ワード・データアイテムのN個のワードの処理の最後を信号で知らせるために使用され得て、そして、次の多重ワード・データアイテムのロードをトリガーすべく、又は、現行のデータアイテムに対する次の演算をトリガーすべく等々、使用され得る。他の状態のフラグも提供されて、多重ワード・データアイテムの処理を促進すべく使用される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
この発明はコンピュータ及びプログラミング・システムの分野に関し、より詳
細には、循環リスト又は反復プロセス多重ワード・オペランドを実施するシステ
ムのプログラミングに関する。
【0002】
【従来の技術】
循環リストは、しばしば、先入れ先出し(FIFO)バッファを具現化するた
めに使用される。このFIFOモデルは、新アイテムがそのリストの頂部に追加
され、古いアイテムがそのリストの底部から除去される、複数のアイテムから成
るリストを表す。事実上、FIFOはL個のデータアイテムから成るリストとし
て組織化又は体系化され、1つのデータアイテムがそのリストに追加されると、
それにはL+1の次の有効なアドレスが付与され、1つのデータアイテムがその
リストから除去されると、そのリストに残存している各データアイテムのアドレ
スが1つだけ減分される。データアイテムがリストから除去される度に、そのリ
スト内における各残存データアイテムが下方へ移動することは、しかしながら、
非効率的である。代わりに、リストの規定された「底部」が、データアイテムが
除去される度に、1つだけ上方へ移動させられる。リストにおける各データアイ
テムの論理的アドレスは、連続的に成長するリストにおけるその物理的箇所によ
ってよりも該リストのこの規定された「底部」からの距離によって規定される。
「除去された」データアイテムがリストの「底部」下方の物理的箇所に残存し得
たとしても、それらは該リストの論理的アドレス空間内にもはや無く、そして、
L個のアイテムから成るリストの一部としてはもはや考えられない。当業者には
明らかなように、各追加データアイテムに対して使用される物理的箇所の継続す
る前進は、データアイテムが除去されると物理的箇所を下降すべく各データアイ
テムの対応する物理的再配置無しに、これらデータアイテムを含むべく使用され
る物理的リソースを結局は使い果たすこととなる。
【0003】 循環リストはN個の隣接する物理的メモリ箇所と新データアイテムをリストに
追加する対応する制御機構とで組み立てられ、それら物理的メモリ箇所の始めで
開始し、それら隣接箇所の最後に到達されるまでそれぞれ次の有効な物理的箇所
まで連続する。隣接箇所の最後に到達した後に次のデータアイテムが到着すると
、この次のデータアイテムが隣接箇所の始めに配置され、その隣接箇所の始めに
記憶された先行するデータアイテムと置き換わる。次のデータアイテムが次の物
理的箇所に配置される毎に、次の物理的箇所に先行して記憶されたデータアイテ
ムと置き換わり、そうしたことは、次のデータアイテムが隣接する箇所の始めに
配置される時点である隣接箇所の最後を再度超えるまで続く。このプロセスは、
いつもN個の隣接する物理的メモリ箇所を超えて消費すること無しに、無限に続
行する。しかしながら留意することは、次のデータアイテムによって置き換えら
れた先行データアイテムは、概念的には、リストから「除去」されたデータアイ
テムでなければならない。即ち、リストの論理的長さLは隣接箇所の物理的長さ
Nを超えることは一度もできない。典型的な実施例において、制御機構はリスト
の論理的「底部」へ向かうポインタを維持し、各データアイテムがリストから除
去される度にそれを更新し、そしてまたリストの論理的「頂部」へのポインタを
も維持し、各データアイテムがリストに追加される度に、それを更新する。また
この制御機構はリストの「頂部」が該リストの「底部」と一致すると新データア
イテムの追加を禁止し、その新データアイテムがリストに配置される前に、(リ
スト内の最も古いアイテムの除去によって)前進されるべきリストの「底部」を
待機する。
【0004】
【発明が解決しようとする課題】
典型的には、多数のプログラミング命令が循環リストに関連されたポインタの
増分及び減分を制御すべく必要とされる。これら命令はそのポインタが物理的な
隣接メモリ箇所の上方限界又は下方限界を超えたかを試験し、それに従ってポイ
ンタを調整して、循環アドレシング効果を提供しなければならない。
【0005】
【課題を解決するための手段】 本発明の目的は、循環リストの使用を促進する装置を提供することである。本
発明の更なる目的は、装置のプログラミングのタスクを容易にして、循環リスト
の使用を促進することである。本発明の更なる目的は、装置のプログラミングの
タスクを容易にして、多重ワード・データアイテムを循環アドレシング・プロセ
スとしてモデル化することによって該多重ワード・データアイテムの使用を促進
することである。
【0006】 これらの目的や他の目的は、循環アドレシング・プロセスを促進する装置及び
対応するプログラミング命令を提供することによって達成される。装置は指定さ
れた限界内にあるように拘束されているアドレス出力を提供するように構成され
ている。「循環増分」又は「循環減分」命令が実行されてアドレスが1つの限界
を超えたとき、アドレスは他の限界にリセットされる。好適実施例において、プ
ログラミング命令もアドレスが各限界にあることを示す状態フラグを設定する。
これら「限界」フラグを循環アドレシング演算と関連して提供することによって
、多重ワード・データアイテムが効率的に処理され得る。メモリにおけるN個の
隣接するワードの基本アドレスは循環レジスタにロードされ、循環アドレシング
命令が用いられてN個の隣接するワードの各ワードに順次アクセスし、限界フラ
グがその多重ワード・データアイテムの最後のワードがアクセスされた際に設定
される。こうしてこの限界フラグが、多重ワード・データアイテムのN個のワー
ドの処理の最後を信号で知らせるために使用され得て、そして、次の多重ワード
・データアイテムのロードをトリガーすべく、又は、現行のデータアイテムに対
する次の演算をトリガーすべく等々、使用され得る。他の状態のフラグも提供さ
れて、多重ワード・データアイテムの処理を促進すべく使用される。
【0007】 本発明は更に詳細にそして例示的目的で添付図面を参照して説明される。図中
、同一参照番号は同様若しくは対応する特徴又は機能を示している。
【0008】
【発明の実施の形態】
図1は、循環アドレシング方式を介して隣接する記憶要素d0−dN-1111乃
至119を含むメモリ110にアクセスすべく使用される循環アドレスレジスタ
200を含む処理システム100を図示している。循環アドレスレジスタ200
は、例えば上述した循環リストに対応する隣接する記憶要素111乃至119に
アドレス101を提供する。循環アドレスレジスタ200に含まれたこのアドレ
ス101は、増分102又は減分103が為されて、記憶要素111乃至119
の上又は下に向かってポインタを前進させる。循環アドレスレジスタ200は、
メモリ要素111乃至119のアドレスの範囲に対応する上方限界又は下方限界
を決定するように構成されている。好適実施例において、基本アドレスAd12
1及びサイズN122は、アドレスレジスタ200が循環リスト又は循環バッフ
ァとしてのメモリ要素111乃至119を処理するように構成されている際に提
供される。
【0009】 プロセッサ120は、プログラム命令150に応じて、コマンド123を循環
アドレスレジスタ200へ発して、所望の演算を実行させる。以下のコマンド1
23はこの発明に従ったアドレスレジスタ200に適用可能である。
【0010】 OPERATION EFFECT Circular Increment (102) If Address =? Ad + (N-1) Then Address = Ad Else Address = Address + 1. Circular Decrement (103) If Address <=? Ad Then Address = Ad + (N-1) Else Address = Address - 1.
【0011】 留意することは、数値「1」は例示の容易性のためにここで使用されている。
当業界では共通するように、「ワード」のサイズは要素d0−dN111乃至11
9をアドレスするために使用されるスケールとは異なり得る。即ち、例えば、ア
ドレス101は8ビット・バイト又は16ビット・ワードと云うことで指定され
得る一方、要素d0−dN-1111乃至119は32ビット・ワードを含むように
構成され得る。ここで使用されているように、用語「ワード」は要素d0−dN-1
111乃至119のサイズであると定義され、循環アドレスレジスタ200に含
まれるアドレス101の増分及び減分は1ワード・サイズだけのアドレス101
の変化と対応する。
【0012】 先の演算を達成する循環アドレスレジスタの様々な実施例は、この開示に鑑み
て当業者には明らかであろう。好適実施例において、循環増分演算及び循環減分
演算の双方が提供されるが、最小限の実施例ではそれらの内の一方又は他方を含
み得る。また好適実施例において、他の演算が以下に議論されるように提供され
て、循環アドレスレジスタ200の交替用途及び/又は従来用途が促進される。
留意すべきことは、先に規定された循環増分及び循環減分の演算の直接的な実施
例は、循環アドレスレジスタ200に含まれる現行アドレス101との比較用に
、基本アドレスAd121及びN122が記憶されることを必要とする。
【0013】 図2は、この発明に従った循環アドレスレジスタ200の好適実施例を図示し
ている。循環アドレスレジスタ200は、コマンド・プロセッサ210、指標レ
ジスタ220、及びアドレスレジスタ230を含む。アドレスレジスタ230は
、循環アドレシング技術を達成すべく使用可能なアドレスAout231を含む。
図1に適用されたように、この出力アドレスAout231は、典型的には、アド
レスされたメモリ要素111乃至119の内のアドレス101に対応し、異なる
参照番号が利用されており、その理由は、以下に議論されるように、この発明に
従った循環アドレスレジスタ200は循環アドレシング機能に加えてカウンティ
ング機能等の他の用途に利用可能であるからである。
【0014】 指標レジスタ220は0から(N−1)までの範囲にわたる指標221を含み
、循環アドレシング用途において、基本アドレスAin201に対するアドレスさ
れたメモリ要素の位置に対応する。図1に適用されるように、入力基本アドレス
Ain201は典型的には循環リストの基本アドレスAd121に対応しているか
、又は、以下に議論されるように、多重ワード・データアイテムの基本アドレス
若しくはカウント数に対応している。パラメータN122は特定用途に対して構
成された循環アドレスレジスタ200に対する固定された値であり得るか、循環
アドレスレジスタ220が特殊用途に対して構成される際に設定された変数であ
り得る。もしNが固定されれば、それは循環アドレスレジスタ200内に含まれ
、プロセッサ120によって提供される必要はない。指標レジスタ220のサイ
ズはN123の最大値を決定し、例えば、もし指標レジスタ220が3ビットを
含めば、Nは8未満又はそれと同等でなければならない。同じように、アドレス
レジスタ230のサイズはアドレス231の最大範囲を決定する。
【0015】 好適実施例におけるコマンド・プロセッサ210はコマンド入力123を受け
入れ、そして、この入力123に従属して以下の演算を支援する。
【0016】 (1) Load_L Aout = Ain; Index = 0. (2) Load_U Aout = Ain; Index = N - 1. (3) Circular Increment If (Index =? (N-1)) Then Aout = Aout-(N-1)
; Index = 0 Else Aout = Aout + 1; Index = Index + 1. (4) Circular Decrement If (Index =? 0) Then Aout = Aout+(N-1); Inde
x = (N-1) Else Aout = Aout - 1; Index = Index - 1. (5) Increment Aout = Aout + 1; If (Index =? (N - 1)) Then I
ndex = 0 Else Index = Index + 1. (6) Decrement Aout = Aout - 1; If (Index =? 0) Then Index =
(N - 1) Else Index = 0.
【0017】 演算(1)「Load_L」はアドレスレジスタ230に入力アドレスAin201を
ロードする。参照を容易にするために、この入力アドレスAin201は、循環ア
ドレシング用途の前後関係で使用される場合、これ以降、基本アドレス又はアド
レス空間の下方限界と云われる。演算(1)「Load_L」は指標を、アドレス空間
の下方限界でのワードに対応する0に設定する。
【0018】 演算(2)「Load_U」はアドレスレジスタ230にアドレス空間の上方限界A
in201をロードし、指標をアドレス空間の上方限界でのワードに対応するN−
1に設定する。これらの異なるロード演算(1)「Load_L」及び(2)「Load_U
」は、アドレス及び指標を各々の適切な開始状態へ初期化することによって、低
から高へのデータ・アクセス又は高から低へのデータ・アクセスの何れかを促進
すべく提供される。
【0019】 演算(3)「Circular Increment(循環増分)」は循環増分アドレシング機能
を履行する。指標がその上方限界(指標=N−1)である際、次の循環増分演算
(3)は、その現行値からN−1を減算することによって、アドレスAout23
1を下方アドレス限界へリセットし、指標を、下方アドレス限界でのワードに対
応するゼロにリセットする。さもなければ、指標がその上方限界ではない際、次
の循環増分演算(3)はアドレスレジスタ及び指標レジスタの現行内容を増分す
る。
【0020】 演算(4)「Circular Decrement(循環減分)」は循環減分アドレシング機能
を履行する。指標がその下方限界(指標=0)である際、次の循環減分演算(4
)はアドレスAout231をその現行値にN−1を加算することによって、上方
アドレス限界にリセットし、指標を上方アドレス限界でのワードに対応するN−
1にリセットする。さもなければ、指標がその下方限界ではない際、次の循環減
分演算(4)はアドレスレジスタ及び指標レジスタの現行内容を減分する。
【0021】 演算(5)「Increment(増分)」は従来の増分演算の変更形態を履行する。
この増分演算(5)は、上方アドレス限界と関係なく、従来のレジスタ増分演算
と同様にAout231を増分する。この増分演算(5)は、循環増分演算(3)
と同様に指標を変更し、それによって指標を介して「モジュロN」のアップカウ
ンティング機能を遂行する。
【0022】 演算(6)「Decrement(減分)」は従来の減分演算の変更形態を履行する。
この減分演算(6)は、下方アドレス限界と関係なく、従来のレジスタ減分演算
と同様にAout231を減分する。この減分演算(6)は、循環減分演算(4)
と同様に指標を変更し、それによって指標を介して「モジュロN」のダウンカウ
ンティング機能を遂行する。
【0023】 留意することは、指標レジスタ220を利用することによって数多くの長所が
得られることである。ゼロと同等である指標のテスト(Index=?0)は、対応アド
レスに対するテスト(Address=? Ad)よりも少ない論理装置で履行され得る。ま
た、パラメータN即ちリストのサイズはしばしば有効なアドレス空間よりも大き
さに関して実質的に小さいので、指標の上方限界と同等である指標に対するテス
ト(Index=? N-1)はアドレスの上方限界に対するテスト(Address=? Ad+(N-1)
)よりも少ない論理装置で履行され得る。指標レジスタ220を提供して、その
内容をアドレスレジスタ230の内容と相関させることによって、基本アドレス
Adは保持される必要性がなく、そして、Nがアドレス空間よりも小さいとの仮
定の下、全記憶要件が低減される。同様に、アドレスレジスタAout231を上
方限界又は下方限界にリセットすべくアドレスレジスタAout231の現行内容
への(N−1)の加算又は減算は、典型的には、基本アドレスAdへの(N−1
)の加算よりも少ない回路及び経路指定、及びこの合計のアドレスレジスタ23
0へのロードで履行され得る。
【0024】 コマンド・プロセッサ210は、以下に議論されるように循環リスト及び多重
ワード演算を促進する「限界」状態フラグ211,212としての(Index=?0)
及び(Index=?N-1)比較の状態をも提供する。任意にコマンド・プロセッサ21
0は、指標221の各値に対する個別のフラグを含む、指標221の他の状態を
識別する1つ又はそれ以上のフラグ213を提供し得る。また任意には、指標2
21は循環アドレスレジスタ200からの出力として提供され得る。
【0025】 限界フラグ211,212はN-ワード・データアイテムの処理を促進するた
めに提供される。このN-ワード・データアイテムの最後のワードが、該データ
アイテムが低から高へ又は高から低へかの何れかでアクセスされることに依存し
て上方限界又は下方限界の何れかでアクセスされると、適切な限界フラグ211
,212が設定される。当業者に明らかなように、この設定フラグはN-ワード
・プロセスの端部をトリガーすべく使用可能であって、そのN-ワード・データ
アイテムに対する別のプロセスを開始するか、又は、メモリ要素110乃至11
9の内容に次のN-ワード・データアイテムをロードするか、等々を為す。
【0026】 先に議論したように、多重アドレスレジスタ200は、しばしば、循環リスト
の処理を促進するように構成されるレジスタとして利用される。例えば、1対の
レジスタが上述した「頂部」及び「底部」のリスト・ポインタを提供するように
構成され得る。また、多重アドレスレジスタ200は、例えば、メモリ要素11
0乃至119から成る多重集合にアクセスするために構成され得て、多重データ
アイテムに対するパイプライン演算を促進する。図2に図示されているように、
好適実施例において、次のアドレス215も循環アドレスレジスタから出力とし
て提供され、更にパイプライン演算を促進し、次の次のアドレス等の追加アドレ
スも3段パイプラインを促進すべく提供されもし、そうしてその次の等々もであ
る。
【0027】 任意のレジスタが指標レジスタ220及びアドレスレジスタ230として利用
可能であるが、特定用途レジスタは好ましくは循環アドレシング機能を遂行すべ
く最適化されるように利用される。即ち、例えば、もし処理システムが限定され
たアドレス空間内のデータアイテムを処理するように構成されていれば、アドレ
スレジスタ230はこの限定されたアドレス空間を収容するに充分な広さである
ことが必要なだけである。同じように、もし処理システムがN-ワード・データ
アイテムを処理するように構成されていれば、指標レジスタ220はアドレスレ
ジスタのサイズとは独立して、このサイズNを収容するに充分な広さであること
が必要なだけである。
【0028】 以上の説明は本発明の原理の単なる例示である。よって理解して頂けるように
、当業者であれば、ここには明白に記載又は図示されていないが、本発明の原理
を実施し且つそれ故に本発明の精神及び範囲に入る様々な構成を案出することが
できるであろう。例えば、図2に図示されているように、任意のAout=?0フ
ラグ214は、「Load_L」と「Decrement」又は「Increment」の演算と関連した
効率的なカウンタ機能を促進すべく提供され得る。即ち、アドレスレジスタ23
0の内容はアドレス・ポインタである必要性はなく、そしてカウント値Mがロー
ドされ得る。引き続く減分演算はA=?0設定を生じて、Mカウントの完了を信
号で知らせる。これらシステム及び他のシステムの構成及び最適化特徴はこの開
示に鑑みて当業者には明らかであろうし、それらは特許請求の範囲に含まれる。
【図面の簡単な説明】
【図1】本発明に従った循環アドレシングを提供する処理システムの例示的
なブロック線図である。
【図2】本発明に従った循環アドレスレジスタの例示的なブロック線図であ
る。
【符号の説明】
100 処理システム 102 循環増分 103 循環減分 110 メモリ 120 プロセッサ 123 コマンド 150 プログラム命令 200 循環アドレスレジスタ 210 コマンド・プロセッサ 220 指標レジスタ 221 指標 230 アドレスレジスタ 231 アドレス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダッハー アントニー エフ オランダ国 5656 アーアー アインドー フェン プロフ ホルストラーン 6 Fターム(参考) 5B033 BE05 DB02 DE01 5B060 AB20 【要約の続き】 現行のデータアイテムに対する次の演算をトリガーすべ く等々、使用され得る。他の状態のフラグも提供され て、多重ワード・データアイテムの処理を促進すべく使 用される。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 プログラム命令を実行するように構成されているプロセッサ
    と、関連された上方限界及び下方限界を有して、前記プロセッサからコマンドを
    入力するように構成されている循環アドレスレジスタとを有する処理システムで
    あって、前記コマンドが、前記循環アドレスレジスタの内容を増分すべく、且つ
    、その内容が前記上方限界に到達した後にその内容を前記下方限界にリセットす
    べく構成されている循環増分コマンドと、前記循環アドレスレジスタの内容を減
    分すべく、且つ、その内容が前記下方限界に到達した後にその内容を前記上方限
    界にリセットすべく構成されている循環減分コマンドとの内の少なくとも1つを
    有する処理システム。
  2. 【請求項2】 前記内容が前記下方限界及び前記上方限界の内の少なくとも
    1つと同等である際に、前記循環アドレスレジスタが、少なくとも1つの限界フ
    ラグを出すように構成されている、請求項1に記載の処理システム。
  3. 【請求項3】 前記内容がゼロ値を有する際に、前記循環アドレスレジスタ
    が、内容がゼロに等しいというフラグを出すように更に構成されている、請求項
    1に記載の処理システム。
  4. 【請求項4】 前記上方限界と前記下方限界との間にある関連アドレスを伴
    う隣接するメモリ要素を有するメモリを更に含む、請求項1に記載の処理システ
    ム。
  5. 【請求項5】 前記循環アドレスレジスタが、前記循環アドレスレジスタの
    前記内容を含むように構成されているアドレスレジスタと、前記内容へロードさ
    れる基本アドレスに対する前記循環アドレスレジスタの前記内容に対応する指標
    を提供するように構成されている指標レジスタとを含む、請求項1に記載の処理
    システム。
  6. 【請求項6】 前記下方限界がゼロ値を有する指標に対応し、前記上方限界
    が指定値を有する指標に対応している、請求項5に記載の処理システム。
  7. 【請求項7】 前記アドレスレジスタが最大上方限界を含むように最小限に
    寸法付けられており、前記指標レジスタが前記最大上方限界とは異なる最大指定
    値を含むように最小限に寸法付けられている、請求項6に記載の処理システム。
  8. 【請求項8】 前記コマンドが、前記上方限界とは独立して、前記循環アド
    レスレジスタの内容を増分すべく構成されている増分コマンドと、前記下方限界
    とは独立して、前記循環アドレスレジスタの前記内容を減分すべく構成されてい
    る減分コマンドとの内の少なくとも1つを更に含む、請求項7に記載の処理シス
    テム。
  9. 【請求項9】 前記循環アドレスレジスタが、前記内容がゼロ値を有する際
    、内容がゼロに等しいというフラグを出すように更に構成されている、請求項1
    に記載の処理システム。
  10. 【請求項10】 レジスタを更新する方法であって、前記レジスタに基本ア
    ドレスをロードすることと、指標レジスタに初期値をロードすることと、前記指
    標レジスタが限界値を含む際、前記レジスタに第1の量を加算し、該指標レジス
    タを予め規定された値にリセットすることと、前記指標レジスタが前記限界値を
    含まない際、前記レジスタ及び該指標レジスタに第2の量を加算することとを含
    む方法。
  11. 【請求項11】 前記初期値がゼロ値に対応し、前記限界値が上方限界に対
    応し、前記第1量が前記限界値の負値に対応し、前記第2量が1に対応している
    、請求項10に記載の方法。
  12. 【請求項12】 前記初期値が上方限界に対応し、前記限界値がゼロに対応
    し、前記第1量が前記初期値に対応し、前記第2量が負の1に対応している、請
    求項10に記載方法。
  13. 【請求項13】 循環アドレスレジスタであって、指標を含むように構成さ
    れている指標レジスタと、アドレスを含むように構成されているアドレスレジス
    タと、前記指標レジスタ及び前記アドレスレジスタと作動的に結合されて、レジ
    スタ・コマンド及び前記指標に依存して前記アドレスレジスタ及び前記指標レジ
    スタを更新するように構成されているコマンド・プロセッサとを含む循環アドレ
    スレジスタ。
  14. 【請求項14】 前記コマンド・プロセッサが、前記レジスタ・コマンドが
    循環増分コマンド及び循環減分コマンドの内の少なくとも1つである際に前記ア
    ドレスレジスタを更新するように構成されており、前記指標が限界値と同等であ
    る際、前記アドレスに第1の量を加算し、該指標を予め規定された値にリセット
    し、前記指標が前記限界値と同等でない際、前記アドレス及び該指標に第2の量
    を加算することによって更新される、請求項13に記載の循環アドレスレジスタ
JP2001545947A 1999-12-17 2000-12-05 循環アドレスレジスタ Withdrawn JP2003517676A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/466,404 1999-12-17
US09/466,404 US6782447B2 (en) 1999-12-17 1999-12-17 Circular address register
PCT/EP2000/012394 WO2001044921A2 (en) 1999-12-17 2000-12-05 Circular address register

Publications (1)

Publication Number Publication Date
JP2003517676A true JP2003517676A (ja) 2003-05-27

Family

ID=23851625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001545947A Withdrawn JP2003517676A (ja) 1999-12-17 2000-12-05 循環アドレスレジスタ

Country Status (6)

Country Link
US (1) US6782447B2 (ja)
EP (1) EP1183599B1 (ja)
JP (1) JP2003517676A (ja)
KR (1) KR100841548B1 (ja)
TW (1) TW521211B (ja)
WO (1) WO2001044921A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US7039789B2 (en) * 2002-03-11 2006-05-02 Texas Instruments Incorporated Circular addressing algorithms providing increased compatibility with one or more higher-level programming languages
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
EP1709527A1 (en) 2004-10-01 2006-10-11 MIPS Technologies, Inc. Microprocessor instruction to enable access of a virtual buffer in circular fashion
US7873810B2 (en) * 2004-10-01 2011-01-18 Mips Technologies, Inc. Microprocessor instruction using address index values to enable access of a virtual buffer in circular fashion
US7315937B2 (en) * 2004-10-01 2008-01-01 Mips Technologies, Inc. Microprocessor instructions for efficient bit stream extractions
US7296029B2 (en) * 2004-10-12 2007-11-13 International Business Machines Corporation Environmentally responsive oscillating circular affinity index
US8219782B2 (en) * 2008-09-18 2012-07-10 Xilinx, Inc. Address generation
US8898399B2 (en) * 2010-11-16 2014-11-25 Tibco Software Inc. Locking and signaling for implementing messaging transports with shared memory
US10180829B2 (en) * 2015-12-15 2019-01-15 Nxp Usa, Inc. System and method for modulo addressing vectorization with invariant code motion

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4202035A (en) * 1977-11-25 1980-05-06 Mcdonnell Douglas Corporation Modulo addressing apparatus for use in a microprocessor
US4809156A (en) 1984-03-19 1989-02-28 Trw Inc. Address generator circuit
US4908748A (en) 1987-07-28 1990-03-13 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
US5032986A (en) * 1987-07-28 1991-07-16 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
FR2666916A1 (fr) * 1990-09-19 1992-03-20 Alcatel Radiotelephone Vanne regulatrice de debit.
US5623621A (en) 1990-11-02 1997-04-22 Analog Devices, Inc. Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
JP2692384B2 (ja) * 1990-12-29 1997-12-17 日本電気株式会社 アドレス生成回路
FR2718262B1 (fr) * 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire tampon à adressage modulo.
US5659698A (en) * 1994-11-01 1997-08-19 Motorola, Inc. Method and apparatus for generating a circular buffer address in integrated circuit that performs multiple communications tasks
US5659700A (en) 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
US5983333A (en) * 1997-08-27 1999-11-09 Lucent Technologies Inc. High speed module address generator

Also Published As

Publication number Publication date
EP1183599A2 (en) 2002-03-06
KR20010102181A (ko) 2001-11-15
WO2001044921A3 (en) 2001-11-08
WO2001044921A2 (en) 2001-06-21
US6782447B2 (en) 2004-08-24
KR100841548B1 (ko) 2008-06-26
TW521211B (en) 2003-02-21
US20030105917A1 (en) 2003-06-05
EP1183599B1 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
US5249148A (en) Method and apparatus for performing restricted modulo arithmetic
JP2003517676A (ja) 循環アドレスレジスタ
US6253288B1 (en) Hybrid cache/SIRO buffer system
US8880829B2 (en) Method and apparatus for efficient, low-latency, streaming memory copies
US6654871B1 (en) Device and a method for performing stack operations in a processing system
KR100678930B1 (ko) 디지털 시그널 프로세서를 위한 실시간 제어 시스템
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
US20030131162A1 (en) Non-destructive read FIFO
EP1003094B1 (en) Central processing unit having a data extension instruction
US20020169900A1 (en) Direct memory access controller, and direct memory access control method
US7100029B2 (en) Performing repeat string operations
JPH01205228A (ja) 命令バツフアシステム
US6886159B2 (en) Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus
KR19980056298A (ko) 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법
JPS6211736B2 (ja)
EP0706120A1 (en) Method and system for memory addressing
US7818476B2 (en) Direct memory access controller with dynamic data transfer width adjustment, method thereof, and computer accessible storage media
US20080209140A1 (en) Method for Managing Memories of Digital Computing Devices
WO2023177446A1 (en) Reducing reference count updates for stack variables
US20020103985A1 (en) Apparatus and method for storage of file address table file in a digital signal processor
EP1139214A1 (en) System for allowing a two word instruction to be executed in a single cycle and method therefor
CN113448962A (zh) 数据库数据管理方法和装置
JP3525790B2 (ja) Dmaデータ転送方法
JP2965045B2 (ja) 半導体集積回路装置
EP0867804A2 (en) Triangular addressing

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071203

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080422

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090910