JP3575496B2 - メモリアドレス指定論理回路およびメモリアドレス指定方法 - Google Patents

メモリアドレス指定論理回路およびメモリアドレス指定方法 Download PDF

Info

Publication number
JP3575496B2
JP3575496B2 JP22897794A JP22897794A JP3575496B2 JP 3575496 B2 JP3575496 B2 JP 3575496B2 JP 22897794 A JP22897794 A JP 22897794A JP 22897794 A JP22897794 A JP 22897794A JP 3575496 B2 JP3575496 B2 JP 3575496B2
Authority
JP
Japan
Prior art keywords
address
memory
precision
memory locations
addressing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP22897794A
Other languages
English (en)
Other versions
JPH07152535A (ja
Inventor
ロッバート・クメリック
シン・コン
エドモンド・ケリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH07152535A publication Critical patent/JPH07152535A/ja
Application granted granted Critical
Publication of JP3575496B2 publication Critical patent/JP3575496B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/342Extension of operand address space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store

Landscapes

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

Description

【0001】
【産業上の利用分野】
本発明は、データ処理の分野に係り、特に、高次倍精度数(higher precision numbers)を記憶する際において、アドレス空間をより有効的に使用する、コンピュータシステムのメモリロケーションへのアドレス指定に関するものである。
【0002】
【従来の技術】
複数のプロセッサにより、ソースオペランドに演算を施す命令が実行されて結果が得られる。ソースオペランドを含んでいるレジスタと結果用のデスティネーションレジスタを含んでいるレジスタとは、命令ワードのアドレスフィールドで指定される。例えば、本願の出願人であるサンマイクロ・システムズ社製のSPARC(Scalable Processor Architecture)に基づくコンピュータでは、浮動小数点命令は2つまでの浮動小数点ソースレジスタを指定し、1つの浮動小数点デスティネーションレジスタを指定する。
【0003】
特定の計算で使用されるオペランドのアドレス指定に使用可能であるレジスタ数と、オペランドのサイズとは、結果に必要とされる精度に依存する。SPARCのバージョン8のアーキテクチャでは、浮動小数点プロセッサは、32の個別のレジスタを含んでいる。それらのレジスタ各々は、32ビットの単精度オペランドを保持できる。その演算操作において高次倍精度を得るために、浮動小数点プロセッサは、16の倍精度数を記憶するためには32のレジスタから成る組を一対、又は、8つの4倍精度数を記憶するためには32のレジスタから成る組みを4つ使用する。
【0004】
図1は、SPARCバージョン8の手法によるレジスタファイルのアドレス指定を示す。この例では、倍精度オペランドは、64のビット位置を有し、2つの整列させた浮動小数点レジスタに保持されている。したがって、一方の倍精度数はレジスタ0及び1に、他方の倍精度数はレジスタ2及び3に、それぞれ記憶されている。以下同様にレジスタ対に記憶される。レジスタの整列によって、特定の倍精度小数点数を選択するためには2つのレジスタの一方のみをアドレス指定すれば良いこととなる。同様に、4倍精度オペランドは、128のビット位置を有し、4つの整列された浮動小数点レジスタ(例えば、レジスタ0、1、2、3)に保持される。これらのレジスタを相互に整列させることにより、特定の4倍精度浮動小数点数を選択するためには、4つのレジスタの1つのみをアドレス指定すれば良いから、同様にアドレスビットの節約が達成される。
【0005】
整列させたレジスタによる手法を使用すると、倍精度数は偶数番号のレジスタアドレスに記憶され、4倍精度数は4番目毎のレジスタアドレスに記憶される。プロセッサは、5ビットのみの命令アドレスフィールドを有しているため、5ビットを使用して16の倍精度数及び8つの4倍精度数のみをアドレス指定することができる。したがって、多数のアドレスが、倍精度演算及び4倍精度演算の何れにおいても使用されないこととなる。不使用アドレスは、従来、倍精度演算及び4倍精度演算に使用不可能である単一の桁のレジスタ位置を指定する。
【0006】
これらの省略されたアドレスを使用して高次倍精度(倍精度および拡張倍精度)数用に他のレジスタのアドレスを指定でき、併せて現在使用されている命令セットのアドレス指定モードに対して互換性を持たせることが望ましい。
【0007】
【課題を解決するための手段】
本発明は、高次倍精度数を記憶するためにコンピュータで使用可能なメモリロケーション数を増加する、従来のものとの互換性を有するアドレス指定機構を提供する。本発明のコンピュータシステムは、Sの倍精度(ここで、Sは2の累乗である)を処理することができるプロセッサを有する。メモリロケーションは、命令アドレスフィールドでnビットの論理アドレスEによって指定される。
【数5】
Figure 0003575496
S倍精度数のそれぞれは、mビットの物理アドレスDによってアクセスされるS個のメモリロケーション群に記憶される。
【数6】
Figure 0003575496
各メモリロケーションは単精度数を記憶することができる。論理アドレスでメモリロケーションをアドレス指定するためのアドレス指定論理は、
0≦i≦(logS)−1の場合は、di=0に設定し、
logS≦i≦n−1の場合は、di=eiに設定する
アライメント論理、及び、
n≦i≦m−1の場合は、di=ei−nに設定する
拡張論理を含んでいる。
アライメント論理は、下記の論理式により実行される。
【数7】
Figure 0003575496
ここで、kはプロセッサによって処理されることができる倍精度サイズであり、
【数8】
Figure 0003575496
である。
拡張論理は、下記の論理式により実行される。
【数9】
Figure 0003575496
メモリロケーションは一般的にマイクロプロセッサのレジスタである。
【0008】
【実施例】
表記法及び用語法
以下の説明の大部分は、コンピュータメモリ内のビット演算のアルゴリズム及び記号表示によって示されている。これらのアルゴリズム的説明及び表現は、その内容を有効に伝えるのに当業者によって使用される手段である。アルゴリズムは、一般に所望の結果に導く筋の通ったステップのシーケンスで表されている。これらのステップは物理量の物理操作を必要とするステップである。上記物理量は、記憶され、転送され、組み合わされ、比較され、その他に処理されることができる電気的又は磁気的信号の形である必要は必ずしもない。これらの信号を、ビット、値、素子、記号、文字、用語、数字等として参照することは、共通の用法として便利である。しかしながら、これらの用語及び類似の用語の全ては、適当な物理量に適用される単なる便宜的なラベルであることに留意すべきである。
【0009】
さらに、実行される操作は、人間によって実行される精神的操作に通常関連する加算又は比較のような用語でしばしば呼ばれる。人間というオペレータの能力は、本発明の一部を形成する以下に説明される操作には、ほとんど必要ないか望まれない。動作は機械的なものである。本発明の動作を実行する有用なマシンには、汎用ディジタルコンピュータ又は他の同様の装置が含まれる。全ての場合、コンピュータを操作する際の方法操作、と計算自体の方法とは区別されるべきである。本発明は、他の所望の物理的信号を発生するために電気的又は他の(例えば、機械的、科学的)物理信号を処理する際にコンピュータを操作する装置に関するものである。
【0010】
本発明は、コンピュータで使用可能であり、高次倍精度数記憶用のメモリロケーション数を増加する、従来方法と互換性のあるアドレス指定機構を提供する。特定の実施例が、本発明の徹底的な理解を与えるために示されている。しかしながら、本発明は、そのような特定の詳細なしに実行され得ることは当業者に明らかである。他の場合には、周知の素子、装置、プロセスステップ等は、本発明を不必要に分かりにくくするのを避けるために詳細には示されていない。
【0011】
図2は、本発明の実施例で使用される命令フォーマットを示す。ビット7〜13は命令のオペレーションコード(OPCODE)を指定し、ビット0〜4及びビット14〜18は、それぞれソース1レジスタ及びソース2レジスタの5ビットのアドレスを指定する。さらに、ビット5及び6は、命令が単精度か、倍精度か、又は4倍精度かを指定する。
【0012】
図3は、マイクロプロセッサの簡略化されたブロック図である。命令フェッチ装置202はメモリから命令を取出す。この命令は、命令デコーダ204でデコードされ、命令で指定されるアドレスをアドレス指定論理206に与える。アドレス指定論理206は、命令レジスタアドレスを、レジスタファイル208の物理レジスタのアクセス用に変換する。このアドレスは、レジスタファイル208のソース1レジスタ及びソース2レジスタからの読出しのため、レジスタファイル208のデスティネーションレジスタへの書込みのために使用される。命令のビット5及び6で指定される精度は各アドレスでアドレス指定されるレジスタ番号を決定する。すなわち、単精度命令は1つのレジスタを使用して演算し、倍精度命令は2つのレジスタで演算し、4倍精度命令は一度に4つのレジスタをアクセスする。
【0013】
図4は、命令で指定される論理アドレスをレジスタファイル208で使用される物理アドレスにマップする従来のアドレス指定論理206(SPARCバージョン8で提供される)を示している。物理メモリアドレスDは、論理アドレスEと精度Sとの関数である。メモリ整列(アラインメント)の要求に従うために、この従来のシステムにおける論理メモリアドレスは精度の整数倍でなければならないので、この精度は2の累乗である。命令の論理メモリアドレスEは、下記の論理式によって表されることができ、
【数10】
Figure 0003575496
レジスタに与えられる物理アドレスDは下記のようになる。
【数11】
Figure 0003575496
精度Sは下記の式で表される。
【数12】
Figure 0003575496
ここで、Sは2の累乗であるため、k個のSに対する2進表示の値si の一つだけが1である。
【0014】
論理アドレス及び精度から物理アドレスを発生するために、従来のアドレス指定論理によって実行される関数は、基本的にメモリ整列要求の再記述である下記の論理式で要約される。
【数13】
Figure 0003575496
【0015】
従来の技術では、物理アドレスのビット数mは論理アドレスのビット数nに等しくなければならない。メモリ整列の要求は、独特にアクセス可能であるメモリ領域の数を2n−S+1 に制限する。例えば、バージョン8のSPARCアーキテクチャの浮動小数点レジスタファイルの場合、単精度では32個の浮動小数点レジスタがアクセスされ、倍精度では16個の浮動小数点レジスタが、そして4倍精度では8個の浮動小数点レジスタがアクセスされる。n=m=5ビットの場合、論理式は次の表1のマッピングを生じる。
【表1】
Figure 0003575496
【0016】
表1は、倍長語レジスタアドレス規制子(specifier) の最下位ビットは、予備として0に設定されていて、4倍長語レジスタアドレスの最下位2ビットは0に設定されていることを示している。これは、レジスタの倍長語が、整列された対でアドレス指定され、レジスタの4倍長語は整列された4つのグループでアドレス指定されることを保証する。
【0017】
従来のアドレス指定機構は、5ビットを使用してアドレス指定される倍精度数及び4倍精度数の数を制限する。論理アドレスの全て5ビットをより有効に使用することが望ましく、倍精度レジスタセット及び4倍精度レジスタセットの全部で32のフルセットが、従来の整列されたアドレス及び省略されたアドレスの双方を使用してアドレス指定されることが望ましい。高次倍精度数の場合、命令により、整列されたアドレス及び省略されたアドレスの双方を使用したアドレス指定を実行することができなかった。そのようにすると、現レジスタ構成を使用する機構は、データの破損を招くからである。
【0018】
この問題に対するひとつの解決法は、各精度に対して追加のレジスタセットを設けて、5ビットアドレス空間を埋め、物理レジスタをアドレス指定するためにD=SEの形の簡単なマッピングを実行することである。図5にこのマッピングが、倍長語に対して示されている。倍長語アドレス0は物理アドレス0で始まるレジスタ対をアドレス指定し、倍長語アドレス1は物理アドレス2で始まるレジスタ対をアドレス指定し、倍長語アドレス2は物理アドレス4で始まるレジスタ対をアドレス指定し、以下、倍長語アドレス31が物理アドレス62で始まるレジスタ対をアドレス指定するまで前記のようなアドレス指定が行なわれる。4倍精度アドレス指定の場合、論理アドレス0は物理アドレス0をアドレス指定し、論理アドレス1は物理アドレス4をアドレス指定し、論理アドレス2は物理アドレス8をアドレス指定し、・・・のようにアドレス指定動作が行なわれる。
【0019】
この機構における問題点は、元のレジスタに対するアライメント要求を満足しておらず、従来のアドレス指定機構との互換性がないことである。現命令セットは仕様によれば、各高次倍精度アドレスが、レジスタ群中における高次倍精度アドレスに対応する最初の単精度レジスタのアドレスと同一である。倍長語アドレス2は元のレジスタファイルの単一語アドレス2で始まり、倍長語アドレス4は元のレジスタファイルの単一語アドレス4で始まる等であり、4倍長語アドレス4は元のレジスタファイルの単一語アドレス4で始まり、4倍長語アドレス8は元のレジスタファイルの単一語アドレス8で始まる等である。図5から、この対応関係は上記解決法には存在しないことが分かる。したがって、この解決法の機構は、多くのソフトウェアが既に作成されている現仕様の命令セットと互換性がない。
【0020】
本発明は、高次倍精度数をアドレス指定する場合のアドレス空間の全部の使用並びに、現存のレジスタアドレス指定機構との互換性を与えるものである。図6は、本発明によるメモリアドレス指定を示している。いま、n=論理アドレスEのビット数、m=物理アドレスDのビット数、k=命令セットで使用可能な精度サイズ数とする。図6は、n=5(32の元のレジスタ)、m=7(総計128のレジスタ)、k=3(単精度(1倍長語)数、倍精度(2倍長語)数及び4倍精度(4倍長語)数)の場合の本発明を示している。32の元のレジスタセットの場合、本発明は、倍長語アドレス及び4倍長語アドレスと物理レジスタとの間に、現存アドレス指定機構で見出されるのと同一の対応関係を維持する。本発明は、さらに、従来の方法によっては省かれた2倍長語アドレス及び4倍長語アドレスで、追加レジスタをアドレス指定する。したがって、例えば、通常のアドレス指定機構では倍精度レジスタに対して省かれた奇数番号のアドレスが追加レジスタ対をアドレス指定するために使用できる。これによって、32の倍精度レジスタのフルセットを、5ビット論理アドレスを使用してアドレス指定されることが可能となる。
【0021】
本発明における論理アドレスEへの物理アドレスDのマッピングは、下記の論理式によって要約できる。
【数14】
Figure 0003575496
ここで、k=プロセッサに使用可能な精度サイズ数である。
【数15】
Figure 0003575496
【0022】
これらの式を使用すると独特にアクセス可能レジスタ数は、S≦2m−nの場合、2になる。
【0023】
これらの上記の式は、n=5、m=7及びk=3の場合、図7の回路を使用して実施できる。本発明の方法のフローチャートは図8に示されている。
【0024】
パラメータが上記の場合、上記の式は下記のようになる。
d0=e0s0
d1=e1(s0+s1)
d2=e2(s0+s1+s2)=e2
d3=e3
d4=e4
d5=e0(s1+s2)
d6=e1s2
【0025】
さらに、他の表現では、前記上記の式は、下記のように表される。
di=0 0≦i≦(logS)−1
di=ei logS≦i≦n−1
di=ei−n n≦i≦m−1
これらの式により表2のようなアドレスマッピングが得られる。
【表2】
Figure 0003575496
【0026】
この表2は、本発明により全5ビットアドレス空間(e0、e1、e2、e3、e4)が、2S倍精度数をアドレス指定するために使用できることを示している。同時に、物理メモリアドレスは、従来のアドレス指定機構と互換性を維持するように整列されたままである。
【0027】
本発明を好ましい実施例に関して説明したが、本発明の精神及び範囲を逸脱しない限度で種々の修正及び変更が当業者によってなされ得ることを理解すべきである。
【図面の簡単な説明】
【図1】従来のアドレスマッピング機構を示す図である。
【図2】本発明の実施例によって使用される命令フォーマットを示す図である。
【図3】マイクロプロセッサのブロック図である。
【図4】従来のアドレス指定論理を示す図である。
【図5】アドレスフィールドの5ビット全部を使用する可能性のあるアドレスマッピング解決法を示す図である。
【図6】本発明によるメモリアドレスマッピングを示す図である。
【図7】本発明のアドレス指定論理の実施例を示す図である。
【図8】本発明のプロセスを示すフローチャート図である。
【符号の説明】
202 命令フェッチ装置
204 命令デコーダ
206 アドレス指定論理
208 レジスタファイル

Claims (3)

  1. 精度S(Sは2の累乗とする)を有する複数の数を処理できるプロセッサを備え、メモリロケーションが命令アドレスフィールドで次のnビット論理アドレスE
    Figure 0003575496
    によって指定され、各数が、次のmビット物理アドレスD
    Figure 0003575496
    によってアクセスされるS個(ここで、Sは2の累乗である)のメモリロケーション群に記憶され、各メモリロケーションには単精度数を記憶することができるコンピュータシステムにおいて、前記論理アドレスで前記メモリロケーションをアドレス指定するアドレス指定論理であって、
    0≦i≦(logS)−1に対して、di=0に設定し、
    logS≦i≦n−1に対して、di=eiに設定する
    整列論理と、
    n≦i≦m−1に対して、d=ei−nに設定する
    拡張論理と
    を備えていることを特徴とするアドレス指定論理回路。
  2. 精度S(Sは2の累乗とする)を有する複数の数を処理できるプロセッサを備え、メモリロケーションが命令アドレスフィールドで次のnビット論理アドレスE
    Figure 0003575496
    によって指定され、各数が、次のmビット物理アドレスD
    Figure 0003575496
    によってアクセスされるS個(ここで、Sは2の累乗である)のメモリロケーション群に記憶され、各メモリロケーションには単精度数を記憶することができるコンピュータシステムにおいて、前記論理アドレスで前記メモリロケーションをアドレス指定する方法であって、
    0≦i≦(logS)−1に対して、di=0に設定するステップと、
    logS≦i≦n−1に対して、di=eiに設定するステップと、
    n≦i≦m−1に対して、d=ei−nに設定するステップと
    を有することを特徴とするアドレス指定方法。
  3. 精度S(ここで、Sは2の累乗である)を有する複数の数を処理でき、第1の複数の論理アドレスEでアドレス可能である第1の複数のメモリロケーションを有するプロセッサであって、前記第1の複数の論理アドレスの各論理アドレスはcSの形を有し(ここで、cは、集合{0,1,...,(r/S−1)}から得られ、rは前記第1の複数のメモリロケーションのメモリロケーション番号である)、前記第1の複数のメモリロケーションの各メモリロケーションは単精度数を記憶することができ、前記第1の複数のメモリロケーションのメモリロケーションはS個の群でアドレス可能であり、前記プロセッサは、
    複数のS−1個の追加の複数のメモリロケーションと、各追加の複数のメモリロケーションに関連する追加の複数の論理アドレスを使用して前記複数のS−1個の追加の複数のメモリロケーションをアドレス指定するアドレス指定論理とを備え、
    各追加の複数のメモリロケーションの各メモリロケーションは単精度数を記憶することができ、各追加の複数のメモリロケーションのメモリロケーションはS個の群でアドレス可能であり、rは各追加の複数のメモリロケーションのメモリロケーション数であり、
    追加の複数の論理アドレスのi番目の関連するものの各アドレスはcS+iの形を有し(ここで、iは集合{1,2,...,S−1}から得られる)、 アドレス指定手段が追加の複数のレジスタに結合されている
    ことを特徴とするプロセッサ。
JP22897794A 1993-08-31 1994-08-31 メモリアドレス指定論理回路およびメモリアドレス指定方法 Expired - Lifetime JP3575496B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US114,466 1980-01-23
US11446693A 1993-08-31 1993-08-31

Publications (2)

Publication Number Publication Date
JPH07152535A JPH07152535A (ja) 1995-06-16
JP3575496B2 true JP3575496B2 (ja) 2004-10-13

Family

ID=22355385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22897794A Expired - Lifetime JP3575496B2 (ja) 1993-08-31 1994-08-31 メモリアドレス指定論理回路およびメモリアドレス指定方法

Country Status (4)

Country Link
EP (1) EP0640912B1 (ja)
JP (1) JP3575496B2 (ja)
KR (1) KR100301224B1 (ja)
DE (1) DE69424355T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632514A (en) * 1996-03-26 1997-05-27 Johnson, Jr.; Marvin B. Juvenile safety gate latch for swing gate
US5778247A (en) * 1996-03-06 1998-07-07 Sun Microsystems, Inc. Multi-pipeline microprocessor with data precision mode indicator
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
JP3779540B2 (ja) 2000-11-08 2006-05-31 株式会社ルネサステクノロジ 複数レジスタ指定が可能なsimd演算方式
GB2409062C (en) * 2003-12-09 2007-12-11 Advanced Risc Mach Ltd Aliasing data processing registers
US8898436B2 (en) 2009-04-20 2014-11-25 Oracle America, Inc. Method and structure for solving the evil-twin problem

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1567705A (ja) * 1967-06-09 1969-04-08
FR2428871A1 (fr) * 1978-06-15 1980-01-11 Philips Data Syst Extension de l'espace d'adressage direct dans un systeme d'ordinateur
EP0483967A3 (en) * 1990-10-29 1993-07-21 Sun Microsystems, Inc. Apparatus for increasing the number of registers available in a computer processor

Also Published As

Publication number Publication date
JPH07152535A (ja) 1995-06-16
EP0640912B1 (en) 2000-05-10
DE69424355T2 (de) 2001-02-15
KR100301224B1 (ko) 2001-10-22
EP0640912A1 (en) 1995-03-01
KR950006603A (ko) 1995-03-21
DE69424355D1 (de) 2000-06-15

Similar Documents

Publication Publication Date Title
US6351806B1 (en) Risc processor using register codes for expanded instruction set
US8060724B2 (en) Provision of extended addressing modes in a single instruction multiple data (SIMD) data processor
JP7416393B2 (ja) テンソル並べ替えエンジンのための装置および方法
CN109614076B (zh) 浮点到定点转换
US7631167B2 (en) System for SIMD-oriented management of register maps for map-based indirect register-file access
KR100267100B1 (ko) 스케일러블 폭의 벡터 프로세서 아키텍쳐
US8078828B1 (en) Memory mapped register file
US6052766A (en) Pointer register indirectly addressing a second register in the processor core of a digital processor
EP2825954B1 (en) Vector string range compare
KR102508075B1 (ko) 인덱스 및 즉치로 벡터 치환을 수행하기 위한 방법 및 장치
EP0503514A2 (en) Backward-compatible computer architecture with extended word size and address space
US20200183688A1 (en) Packed data operation mask shift processors, methods, systems, and instructions
CN104025039A (zh) 打包数据操作掩码串接处理器、方法、系统及指令
US5666510A (en) Data processing device having an expandable address space
JP2970821B2 (ja) データ処理装置
JP3575496B2 (ja) メモリアドレス指定論理回路およびメモリアドレス指定方法
US6865614B2 (en) Method for transferring a packed data structure to an unpacked data structure by copying the packed data using pointer
JPH06103062A (ja) コンピュータ処理装置に利用できるレジスタ数を増大させる装置
US5771368A (en) Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers
CN101216755A (zh) Risc处理器及其浮点寄存器的非对齐访存方法
CN112130970A (zh) 用于双存储器原子操作的硬件支持
CN107003842A (zh) 用于矢量水平逻辑指令的装置和方法
US6721867B2 (en) Memory processing in a microprocessor
JPS623332A (ja) 情報処理装置
JPS61214029A (ja) 命令先取りバツフア

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040629

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100716

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term