JPH06222982A - オフセット合計を計算するデータ処理システムとその方法 - Google Patents

オフセット合計を計算するデータ処理システムとその方法

Info

Publication number
JPH06222982A
JPH06222982A JP5288806A JP28880693A JPH06222982A JP H06222982 A JPH06222982 A JP H06222982A JP 5288806 A JP5288806 A JP 5288806A JP 28880693 A JP28880693 A JP 28880693A JP H06222982 A JPH06222982 A JP H06222982A
Authority
JP
Japan
Prior art keywords
offset
value
instruction
sign
address
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
JP5288806A
Other languages
English (en)
Other versions
JP3556252B2 (ja
Inventor
James M Sibigtroth
ジェイムズ・エム・シビグトロス
J Greg Viot
ジェイ・グレッグ・ヴィオット
John A Langan
ジョン・エイ・ランガン
James L Broseghini
ジェイムズ・エル・ブロスギーニ
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.)
Motorola Solutions Inc
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Publication of JPH06222982A publication Critical patent/JPH06222982A/ja
Application granted granted Critical
Publication of JP3556252B2 publication Critical patent/JP3556252B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/323Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
    • 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/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations

Landscapes

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

Abstract

(57)【要約】 (修正有) 【目的】 プログラミングメモリを演算せずに、オフセ
ット合計を計算する。 【構成】 データ処理システム10は2の累乗のバイト
境界を用いて、インデックス・アドレッシング,オート
インクリメント及びオートデクリメントを実行する。例
えば、5ビット・オフセットによって、ユーザは、1テ
ーブルのデータの中を、前方又は後方に16バイト進む
ことができる。実行する演算を指定する命令,ポインタ
・レジスタ58,60及びオフセット値が実行装置14
に与えられる。ポインタ・レジスタ58,60は、第1
アドレス値を格納し、オフセット値は、符号及び絶対値
を有する。論理演算装置(ALU)52は、オフセット
値の符号を反転して反転符号値を提供する。複数の加算
器100,102,104,106,108は、オフセ
ット値,第1アドレス値,及び反転符号値を加算して、
オフセット合計を生成する。正のオフセット値が1増加
して、2の累乗の対称的なオフセット範囲を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデータ処理システ
ムに関し、具体的にはデータ処理システムにおけるオフ
セットの計算に関する。
【0002】
【従来の技術】マイクロコントローラおよびマイクロプ
ロセッサの動作中、よりフレキシビリティを与えるため
に多種多様なアドレス指定方式が開発されている。たと
えばインデックス・アドレッシングは、プログラマが一
つのテーブルまたはアレイの各要素にもっと簡単にアク
セスできるようにするために開発された。一般にインデ
ックス・アドレッシングでは、データ処理装置のCPU
は、一つの命令と共に供給されるオフセットにインデッ
クス・レジスタの内容を加算して有効アドレスを形成す
る。ある種の実施形態では、インデックス・レジスタ以
外にポインタ・レジスタを使用してもよい。
【0003】モトローラ社MC6809マイクロプロセ
ッサでは、インデックス・アドレッシングは、定オフセ
ット・モードを含めるよう拡張された。MC6809マ
イクロプロセッサはテキサス州オースティンのモトロー
ラ社が市販している。定オフセット動作モードでは、2
の補数形式のオフセットが複数のポインタ・レジスタの
中の一つの内容に加算されて有効アドレスを形成する。
5ビット(−16から+15),8ビット(−128か
ら+127)および16ビット(−32768から+3
2767)のオフセット・サイズが使用できる。またノ
ー・オフセットも指定できる。5ビットのオフセット値
は一つのポストバイトの中に入れられている。ポストバ
イトは、オペランドの後に含まれているバイトで、一般
には5ビット・オフセット値の他に、実行する演算の種
類とポインタ・レジスタを示す符号化情報を含んでい
る。実行する演算の種類およびポインタ・レジスタもこ
のポストバイトの中で指定しなければならないので、オ
フセット値は通常、最大値が5ビットに限定されてい
る。8ビットおよび16ビットのオフセット値は、ポス
トバイトのすぐ後のバイトの中に入れられている。
【0004】アキュムレータ・オフセット動作モード
も、マイクロコントローラおよびマイクロプロセッサで
実行できる。アキュムレータ・オフセット動作モードで
は、ポインタ・レジスタの内容が、アキュムレータの中
に入っているオフセット値に加算されて、有効アドレス
を形成する。
【0005】マイクロプロセッサで一般に使用できるイ
ンデックス・アドレッシング動作モードは、特にそのア
ドレスが一つのテーブルもしくは配列を形成する場合
に、アドレスへのアクセスがフレキシブルに行える方法
を提供する。しかしながら符号付きオフセットの場合に
は、オフセット範囲はゼロを中心にして対称になってい
ない。前述のように、オフセットは−16から+15,
−128から+127,または−32768から+32
767の範囲をとる。このオフセットには符号が付いて
いるので、オフセット範囲の正の限界と負の限界は符号
ビットを反映しなければならない。このため+15の値
は2進形式01111をとる。2進値100000は、
最上位ビットがオフセットの符号を反映しなければなら
ないので、10進値の+16ではなく、10進値の−1
6を表している。
【0006】したがって、マイクロプロセッサのユーザ
が符号付きのインデックス・アドレッシングを使用する
場合、オフセット範囲の正の限界は2(n-1) −1であ
り、ここでnはオフセット値のビット数を指し、これは
一般にはあまり使用されない値である。大抵の用途で
は、8もしくは16など2の累乗のバイト数の増分(inc
rement) が必要である。そのためユーザが一つのテーブ
ルにおいて16バイト刻みで増分しなければならない場
合には、5ビットのオフセットは正の最大範囲が15バ
イトとなるので、16のオフセットを提供するには8ビ
ットのオフセットを使用しなければならない。前述のよ
うに、8ビットのオフセットは一般に、符号化命令の中
でさらに1バイトを必要とする。そのため16バイトの
正のオフセット値を指定するには、さらに1バイトのプ
ログラミング空間を使用しなければならない。多くのマ
イクロコントローラおよびマイクロプロセッサの用途で
は、内部プログラミング・メモリの量が制限されてお
り、プログラミング空間の各バイトは非常に貴重であ
る。
【0007】
【発明が解決しようとする課題】定オフセット動作モー
ドまたはアキュムレータ・オフセット動作モードを用い
て有効アドレスを計算する他に、2の補数のオフセット
は、ポインタ・レジスタの増分もしくは減分(decremen
t) を自動的に行える。自動的に増分(オートインクリ
メント)を行う場合には、ポインタ・レジスタの内容が
1もしくは2ずつ増分される。自動的に減分(オートデ
クリメント)を行う場合には、ポインタ・レジスタの内
容は通常1もしくは2ずつ減分される。オートインクリ
メントやオートデクリメントは、情報を格納するテーブ
ルにアクセスするのに有用である。しかしながらポイン
タ・レジスタ内の値は1もしくは2バイトずつしか変更
できない。そのためオートインクリメント動作およびオ
ートデクリメント動作は一般に、次に必要な一片の情報
が現在、演算の実行に使用されるポインタ・レジスタ内
の1もしくは2バイトのアドレス内にあるような限られ
た状況でのみ有用である。
【0008】
【課題を解決するための手段】本発明は上記の必要性を
満足する。したがってオフセット合計を計算するデータ
処理システムの一形態が提供される。このデータ処理シ
ステムは、オフセット値を有する命令を受け取るインタ
フェース回路を含んでいる。この命令は、実行する演算
を指定するための第1の部分、および符号部分と絶対値
部分の両方を有するオフセット値を指定するための第2
の部分を有する。インタフェース回路はまた第1アドレ
ス値を受け取る。命令デコード回路もデータ処理システ
ム内に含まれていて、命令をデコードして複数の制御信
号を与える。命令デコード回路は、命令を受け取るため
に入力回路に接続されている。命令の実行中に第1アド
レス値を格納するレジスタは、第1アドレス値を受け取
るためにインタフェース回路に接続されている。論理演
算回路は、第1アドレス値の一部分を受け取るためにレ
ジスタに接続されている。論理演算回路は、オフセット
値を受けとるために入力回路に接続されており、複数の
制御信号の一部分を受け取るために命令デコード回路に
接続されている。論理演算回路は、オフセット符号部分
を反転して、反転オフセット符号値を提供する。論理演
算回路は、第1アドレス値のそれぞれに、オフセット値
の符号部分および絶対値部分、ならびに反転オフセット
符号値を加算して、オフセット合計を生成する。このオ
フセット合計は第1アドレス値の対称的な範囲内にはあ
るが、第1アドレス値とは等しくない。第2の形態で
は、オフセット合計を計算する方法が提供される。第1
の段階では、オフセット値を有する命令を受け取る。こ
の命令は、実行する演算を指定する第1部分、および符
号部分と絶対値部分の両方を有するオフセット値を指定
するための第2部分を有する。第1アドレス値も受け取
る。命令を受け取ったことに応答して、この命令がデコ
ードされて複数の制御信号を与える。第1アドレス値
は、命令の実行中に格納される。オフセット値の符号部
分が反転されて、反転オフセット符号値を与える。第1
アドレス値のそれぞれ、オフセット値の符号部分と絶対
値部分、および反転オフセット符号値が加算されて、オ
フセット合計を生成する。オフセット合計は第1アドレ
ス値の対称的な範囲内にあるが、第1アドレス値とは等
しくない。
【0009】上記およびその他の特徴ならびに利点は、
添付図面と合わせて以下の詳細な説明からより明確に理
解されよう。注意すべき重要なことは、図面は本発明の
唯一の形態を表すことを意図していないことである。
【0010】
【実施例】本発明は、一般に使用されるバイト境界に基
づき、インデックス・アドレッシング,オートインクリ
メントおよびオートデクリメントを実行する回路とその
方法を提供する。一般に使用される境界は、8,16,
128など2の累乗である。またオフセット範囲は、可
能な限り小さいビット数で符号化されており、正と負の
両方の限界を有する。本発明のこの実現のユーザは、一
つのテーブルもしくはアレイの中を正と負の両方向に2
の累乗サイズの境界に基づき進むことができる。たとえ
ば5ビットのオフセットでは、ユーザは、一つのテーブ
ルもしくはアレイの中を、前方もしくは後方に一度に1
6バイトずつ進むことができる。5ビットは、ポストバ
イト内のオフセットを符号化するのに使用され、プログ
ラミング空間を節約できる。また8ビットのオフセット
は、−128から+128バイトのオフセット範囲を提
供でき、16ビットのオフセットは、−32768から
+32768バイトの範囲を提供できる。どちらの場合
も、メモリ・プログラミング空間が節約される。しかし
ながらこの節約は小さなオフセット値のときに最も顕著
になる。
【0011】本発明は、アドレス計算に使用される演算
ハードウェアを修正変更することによって、符号付きオ
フセットを用いて、ゼロを中心に対称なアドレス指定範
囲を達成する。その結果、−2(n-1) から+2(n-1)
アドレス指定範囲が得られ、ここでnはオフセット値の
ビット数を指す。しかしながら本発明のアドレス計算ハ
ードウェアは、基準アドレス値からゼロのオフセットを
提供できない。ほとんどのデータ処理装置は、基準アド
レス値からノーオフセット・アドレスを提供できるよう
な代替的なアドレス計算を提供している。そのため本発
明は、このようなプロセッサにおいて機能性を損なうこ
となく使用できる。
【0012】本発明の実現に関する以下の説明では、
「アサート」「ニゲート」という語は、論理信号「アク
ティブ・ハイ」「アクティブ・ロー」と混ぜて使用する
場合に混乱を割けるために使用する。「アサート」は論
理信号もしくはレジスタ・ビットを能動状態または論理
真の状態と解釈することを指すのに用いる。「ニゲー
ト」は、論理信号もしくはレジスタ・ビットを非能動状
態もしくは論理偽の状態と解釈することを指すのに用い
る。
【0013】本発明の一つの実現および前述した動作モ
ードは、MC68HC11マイクロコントローラの修正
変更形態で実現される。MC68HC11は、16ビッ
ト・アドレスおよび記憶レジスタを含む8ビットのマイ
クロコントローラであり、テキサス州オースティンのモ
トローラ社が市販している。この実現をより詳細に示し
たのが図1である。図1はデータ処理システム10を示
しており、このシステムでは前述したインデックス・ア
ドレッシング,オートインクリメント動作,オートデク
リメント動作を実現できる。データ処理システム10は
一般に中央処理装置(CPU)12,発振器24,電源
回路26,タイミング回路28,外部バス・インタフェ
ース30,および内部メモリ32を含む。CPU12は
一般に、実行装置14,バス制御論理回路16,命令デ
コード論理回路18,制御装置20,およびシーケンサ
22を有する。
【0014】演算中、「Osc1」信号が、水晶など外
部ソースを介して発振器24に与えられる。水晶はOs
c1信号とOsc2信号の間に接続されて水晶を発振可
能にする。Osc1は「クロック」信号をデータ処理シ
ステム10の残りの部分に与える。水晶発振器の動作は
データ処理技術では周知のものであり、当業者には自明
であろう。
【0015】電源回路26は外部電源から「Vdd」信
号と「Vss」信号の両方を受け取る。Vdd信号は正
の電圧を与え、Vss信号は基準電圧もしくは大地電圧
を与える。Vdd信号およびVss信号は、データ処理
システム10の残りの各構成要素に与えられる。これら
の信号の経路設定はデータ処理技術では周知のものであ
り、当業者には自明であろう。
【0016】タイミング回路28はクロック信号を受信
し、ついでタイミング制御バス38を介してCPU1
2,外部バス・インタフェース30,および内部メモリ
32のそれぞれに然るべきタイミング信号を与える。
【0017】外部バス・インタフェース30から外部ア
ドレス・バス35へと、複数のアドレス値が与えられ
る。同様に複数のデータ値は、外部バス・インタフェー
ス30によって外部データ・バス33を介して伝達され
る。外部バス・インタフェース30は、外部ユーザとデ
ータ処理システム10との間でのアドレス値とデータ値
の受信および伝送を制御する。外部バス・インタフェー
ス30は複数のアドレス値およびデータ値を、それぞれ
内部アドレス・バス36および内部データ・バス34を
介してデータ処理システム10の残りの部分に伝達す
る。
【0018】内部メモリ32は、データ処理システム1
0が正しく動作するために必要な情報を格納する働きを
する。また、内部アドレス・バス36および内部データ
・バス34を介して与えられるユーザ・プログラムで指
定された場合には、他のデータ値を格納できる。
【0019】CPU12はデータ処理システム10の動
作中、複数の命令を実行する。データ処理システム10
では多くの形式の命令を実行できるが、ここでは、イン
デックス・アドレッシング,オートインクリメント動作
およびオートデクリメント動作を中心に考察する。内部
アドレス・バス36および内部データ・バス34は、実
行装置14と、データ処理システム10の残りの部分と
の間で情報を伝達する。バス制御論理回路16が複数の
命令を取り込む。ついで各命令は命令デコード論理回路
18によってデコードされ、制御装置20およびシーケ
ンサ22に与えられる。制御装置20およびシーケンサ
22は複数の命令の実行順序を維持して、データ処理シ
ステム10の計算機能を最大限有効に利用する。また制
御装置20はMicro−ROMメモリ(図示せず)を
含んでおり、これはMicro−ROM制御バス65を
介して、実行装置14,バス制御論理回路16,命令デ
コード論理回路18のそれぞれに制御情報を与える。制
御情報は、命令を正しく実行するために必要である。
【0020】実行装置14をより詳細に示したのが図2
である。実行装置14は一般に、データ・バッファ4
0,A入力制御回路48,A入力マルチプレクサ50,
論理演算装置(ALU)52,B入力制御回路54,B
入力マルチプレクサ56,スタック・ポインタ58,お
よびインデックス・レジスタ60を含む。スタック・ポ
インタ58およびインデックス・レジスタ60のほか
に、実行装置14内で他の記憶レジスタを実現できる。
たとえば条件付きコード・レジスタもしくはスタック・
ポインタも含んでもよい。上記記憶レジスタの実現およ
び用途は当業者には周知のものであり、当業者には自明
であろう。
【0021】外部情報バス41はアドレス情報およびデ
ータ情報をデータ・バッファ40に与える。外部情報バ
ス41は内部アドレス・バス36および内部データ・バ
ス34のそれぞれから、アドレス情報およびデータ情報
を受け取る。データ・バッファ40は外部情報バス41
を介して転送された値を、情報バスA66および情報バ
スB64を介して、実行装置14の残りの部分に与え
る。ここでは詳細に示さないが、情報バスA66および
情報バスB64は共に16ビット幅である。
【0022】スタック・ポインタ58の第1入力および
第2入力はそれぞれ情報バスA66および情報バスB6
4に双方向に結合されている。同様にインデックス・レ
ジスタ60の第1入力および第2入力はそれぞれ情報バ
スA66および情報バスB64に双方向に結合されてい
る。スタック・ポインタおよび条件付きコード・レジス
タなどの付加レジスタも同様に、情報バスA66および
情報バスB64に結合されている。
【0023】複数の制御信号は、Micro−ROM制
御バス65を介してA入力制御論理48およびB入力制
御論理54の両方に与えられる。Micro−ROM制
御バス65は、制御装置20内のMicro−ROMメ
モリ(図示せず)が与える情報に応答して、複数の制御
信号を与える。Micro−ROMメモリは一般に、複
数の命令の中の一つの実行を制御するために必要な情報
を与える。
【0024】A入力制御回路48は、A入力マルチプレ
クサ50の制御入力に「制御A」信号を与える。情報バ
スA66は、A入力マルチプレクサ50のデータ入力に
接続されている。A入力マルチプレクサ50は、「A入
力」と称される出力をALU52の第1入力に与えてい
る。B入力制御回路54はB入力マルチプレクサ56の
制御入力に「制御B」信号を与える。情報バスB64
は、B入力マルチプレクサ56のデータ入力に接続され
ている。B入力マルチプレクサ56は「B入力」と称さ
れる出力を、ALU52の第2入力に与える。
【0025】ALU52は各入力を処理して複数の結果
を出し、これらの結果は結果バス120を介して転送さ
れる。結果バス120は、情報バスB64を介してデー
タ・バッファ40,スタック・ポインタ58,またはイ
ンデックス・レジスタ60に複数の結果を与える。
【0026】ALU52をより詳細に示したのが図3で
ある。図3に示す本発明の実施例では、ALU52は、
オフセット値の計算に必要な演算を実行するように構成
されている。これらの演算は、定オフセット・モード動
作,オートインクリメント,およびオートデクリメント
を含む。ALU52が上記の演算の一つを実行していな
い場合には、ALU52は、他の演算を実行するのにも
っと役立つ別の方法で構成してもよい。通常、マルチプ
レクサ(図示せず)を使用すると、ALU52は、用途
に応じて異なる多様な構成を有することができる。当業
者には、ALU52が多様な構成を有することができる
ことは自明であろう。
【0027】図3で、ALU52は一般に、インバータ
98,および第1の複数の加算器回路(100,10
2,104,106,108)を含んでいる。A入力信
号は、それぞれ「A0」「A1」「A2」「A14」
「A15」と称される第1の複数ビットを与える。ビッ
トA0は加算器100の第1入力に与えられる。同様に
ビットA1〜A15はそれぞれ加算器102,加算器1
04,加算器106,加算器108の第1入力に与え
る。B入力信号は、それぞれ「B0」「B1」「B2」
「B14」「B15」と称される第2の複数ビットを与
える。ビットB0は、加算器100の第2入力に与えら
れる。同様にビットB1〜B15はそれぞれ加算器10
2,加算器104,加算器106,加算器108の第2
入力に与えられる。A15信号はインバータ98の入力
に接続されている。図3には詳細に示していないが、A
3〜A13およびB3〜B13の各ビットは、第2の複
数の加算器(図示せず)の内の一つにそれぞれ与えられ
る。第2の複数の各加算器(図示せず)は加算器100
〜加算器108と同じ働きをしており、そのため同様の
構成をとる。
【0028】「Cin」と称される信号はインバータ9
8によって出力され、加算器100の第3入力に与えら
れる。加算器100は「S0」と称される合計信号を出
力する。また加算器100は「C1」と称される信号を
加算器102の第3入力に与える。加算器102は「S
1」と称される合計信号を与える。加算器102はまた
「C2」と称される信号を生成し、この信号は加算器1
04の第3入力に与えられる。加算器104は「S2」
と称される合計出力および「C3」と称される信号を与
える。C3信号は、次の加算器(図示せず)の第3入力
に与えられる。最終的に、複数の加算器(図示せず)に
よって形成される桁上げチェーン(carrychain) が、
「C14」と称される桁上げ信号を、加算器106の第
3入力に伝搬する。加算器106は「S14」と称され
る合計信号および「C15」と称される桁上げ信号を出
力する。C15信号は加算器108の第3入力に与えら
れる。加算器108は「S15」と称される合計信号、
および「Cout 」と称される桁上げ信号を出力する。S
0からS15の各合計信号は、結果バス120を介して
実行装置14の残りの部分に与えられる。図3では詳細
に示していないが、前記第2の複数の加算器はそれぞれ
合計信号S3〜S13を結果バス120に与える。また
第2の複数の加算器はそれぞれ桁上げ信号を複数の加算
器の中の次の加算器に与える。第2の複数の加算器(図
示せず)はそれぞれ加算器100〜108と同じ働きを
するため、同様の構成をとる。
【0029】インデックス・アドレッシング,オートイ
ンクリメント動作,またはオートデクリメント動作の実
行中、ユーザはデータ処理システム10に対応する命令
を与える。通常、インデックス・アドレッシングを使用
する命令はニーモニック形式をとり、この形式は実行す
る演算の種類を示す演算コード、および当該演算コード
によって演算を行う一つもしくは複数のデータ値を示す
オペランドの両方を提供する。ここに示す例では、イン
デックス・アドレッシング・モードの命令は、演算コー
ド,オフセット値,(初期アドレス値を格納する)ポイ
ンタ・レジスタを含むフォーマットを有すると想定す
る。前記フォーマットはデータ処理技術では周知のもの
であり、ここでは詳細に述べない。
【0030】オフセットは通常、定オフセット値、また
はアキュムレータ内に格納された値である。ポインタ・
レジスタはインデックス・レジスタ,スタック・ポイン
タ,またはプログラム・カウンタ・レジスタとして実現
してもよい。データ処理技術では一般に知られている付
加的アキュムレータおよびその他のレジスタも、ポイン
タ・レジスタとして使用してもよい。ポインタ・レジス
タの内容は一般に、インデックス・アドレッシング,オ
ートインクリメント動作,またはオートデクリメント動
作を実行する前に、データ処理システム10のユーザに
よってデータ処理システム内に格納される。オートイン
クリメント動作およびオートデクリメント動作はまた所
定の命令フォーマットを有し、このフォーマットはシス
テムの設計者が決定する。加算もしくは減算するオフセ
ット値は通常、オートインクリメント動作およびオート
デクリメント動作のための所定の命令フォーマットで与
えられる。
【0031】前述の通り、オフセット値の計算に必要な
演算の実行中、ユーザは外部メモリもしくは内部メモリ
32に格納されたソフトウェア・プログラムを介して然
るべき命令を与える。データ処理システム10の外部ソ
ースから命令が与えられる場合には、その命令は外部デ
ータ・バス33を介して外部バス・インタフェース30
に入力される。ついで外部バス・インタフェース30は
内部データ・バス34を介してCPU12に命令を与え
る。内部メモリ32内のソフトウェア・プログラムが命
令を与える場合には、命令は内部データ・バス34を介
してCPU12に与えられる。CPU12において、実
行装置14は、バス制御論理回路16,制御装置20,
およびシーケンサ22のそれぞれから受信した制御信号
に応答して、命令デコード論理回路18に命令を与え
る。ついで命令デコード論理回路18は命令をデコード
して、命令を正しく実行するために必要な複数の制御信
号および情報信号を与える。複数の制御信号および情報
信号には、インデックス・アドレッシング,オートイン
クリメント動作およびオートデクリメント動作に必要な
変更された2の補数形式のオフセット値が含まれる。
【0032】命令を受け取ってデコードし次第、実行装
置14は、インデックス・アドレッシング,オートイン
クリメントまたはオートデクリメントに関連する演算を
実行するために必要なステップを開始する。前述のよう
に、データ処理システム10のユーザは初期値を格納す
る。スタック・ポインタ58およびインデックス・レジ
スタ60の一つまたは両方の中で、この初期値にオフセ
ット値が加算される。第1の例では、データ処理システ
ム10のユーザは、5ビット幅の符号付き定オフセット
を有するインデックス・アドレッシングを用いる命令を
与えると想定する。この命令は、初期アドレス値を実行
装置14のインデックス・レジスタ60内に格納するこ
と、またこの初期値に加算すべきオフセットの符号化値
の両方を指定する。オフセット値は外部情報バス41を
介してデータ・バッファ40に与えられる。データ・バ
ッファ40は情報バスA66を介してオフセット値をA
入力マルチプレクサ50に与える。
【0033】ユーザの命令の中で指定される演算の実行
中の然るべきポイントにおいて、複数のタイミング信号
および制御信号が、Micro−ROM制御バス65を
介してA入力制御回路48とB入力制御回路54の両方
に与えられる。また複数の制御信号を、スタック・ポイ
ンタ58およびインデックス・レジスタ60にそれぞれ
与えて、命令実行中の然るべき時間点において、ある値
を格納もしくは与えることができる。スタック・ポイン
タ58およびインデックス・レジスタ60などのレジス
タに複数の制御信号を経路設定することは、データ処理
技術では周知のことであり、ここでは詳しく述べない。
【0034】然るべき複数の制御信号を受信次第、イン
デックス・レジスタ60は初期アドレス値をB入力マル
チプレクサ56に与える。Micro−ROM制御バス
65を介して複数のタイミング信号および制御信号を受
信次第、A入力制御回路48がイネーブルにされて、制
御A信号をA入力マルチプレクサ50に与える。同様に
B入力制御回路54がイネーブルにされて、制御B信号
をB入力マルチプレクサ56に与える。
【0035】A入力マルチプレクサ50は、制御A信号
によってイネーブルにされるとオフセット値をA入力値
としてALU52の第1入力に与える。同様にB入力マ
ルチプレクサ56は初期アドレス値をALU52の第2
入力に与える。
【0036】A入力値とB入力値の両方を受け取り次
第、加算器100はオフセット値のビット0を初期アド
レス値のビット0に加算する。また両方のビット0の合
計にCin値を加算して、合計値のビット0と桁上げ値
の両方を与える。合計値のビット0はS0と称され、桁
上げ値は「C1」と称される。Cin値はオフセット値
の符号を反転したものである。Cin値の計算について
は後で詳しく述べる。ついでオフセット値の各ビット
を、初期アドレス値のそれぞれ対応するビットに加算す
る。オフセット値は5ビット幅しかなく、初期アドレス
値は16ビット幅であるので、オフセット値は16ビッ
トに符号拡張される。ついでオフセット値と有効アドレ
スの合計が結果バス120を介してデータ・バッファ4
0に与えられる。データ・バッファ40はこの合計を、
外部情報バス41を介してCPU12の残りの部分に与
える。
【0037】図3に示すように、正のオフセットがA入
力信号を介して与えられる場合には、オフセットの符号
はゼロになり、これはオフセットの最下位ビットから最
上位ビットまで符号拡張される。そのためゼロがインバ
ータ98に与えられる。ついでインバータ98は1の値
を有するCin信号を加算器100に与え、これはA0
信号およびB0信号の合計に加算される。同様に負のオ
フセットが与えられる場合には、インバータ98は加算
器100にゼロの値を与え、これはA0信号およびB0
信号の合計に加算される。オフセットの符号ビットの反
転を加算することによって、オフセット範囲が拡張され
て、有効アドレス値を計算する場合に大きなフレキシビ
リティが得られる。
【0038】オフセットの符号はCin信号として拡
張、反転、使用されて、5ビット幅の定オフセットを使
用する場合には16バイトの正のオフセットが可能にな
る。先行技術の実現では、5ビット値を用いて可能な最
大の符号付き正のオフセットは15バイトだった。オフ
セット値の符号を反転し、反転符号値をオフセットと初
期アドレスの合計に加算することによって、オフセット
の正の範囲は効果的に1だけ増加する。すなわち、本発
明のこの実現では正のオフセットは(n−1)として格
納され、ここでnは1から16の正の数を指す。そのた
め2進値10000は10進値の+1と解釈する。同様
に2進値0111は10進値の+8と解釈し、2進値0
1111は値+16と解釈する。この方法を使用する場
合にはゼロのオフセットを不可能である。しかしながら
データ処理システム10のユーザがゼロのオフセットを
所望する場合には、この必要性を反映するために演算を
異なる方法で符号化してもよい。通常は、ノー・オフセ
ットを指定する命令のために特殊命令コードが存在す
る。そのため機能性が損なわれることはない。
【0039】オフセットを必要とする演算の実行を示す
第2の例では、データ処理システム10のユーザが、4
ビット幅の符号付き定オフセットを有するオートインク
リメントを必要とする命令を与えると想定している。こ
の命令は、増分する初期値を実行装置14のスタック・
ポインタ58内に格納することと、当該初期値に加算す
べきオフセットの符号付き値の両方を指定する。インデ
ックス・アドレッシングに関連した第1の例と同様、オ
フセット値は外部情報バス41を介してデータ・バッフ
ァ40に与えられる。データ・バッファ40は情報バス
A66を介してオフセット値をA入力マルチプレクサ5
0に与える。
【0040】ユーザの命令の中で指定される、演算実行
中の然るべきポイントにおいて、複数のタイミング信号
および制御信号がMicro−ROM制御バス65を介
してA入力制御回路48およびB入力制御回路54の両
方に与えられる。またスタック・ポインタ58が、オー
トインクリメント命令の実行中の然るべき時間点におい
て初期値を格納もしくは与えられるように、複数の制御
信号が与えられる。
【0041】然るべき複数の制御信号を受信次第、スタ
ック・ポインタ58は初期値をB入力マルチプレクサ5
6に与える。A入力制御回路48をイネーブルにして、
複数のタイミング信号および制御信号に応答して、Mi
cro−ROM制御バス65を介して制御A信号をA入
力マルチプレクサ50に与える。A入力マルチプレクサ
50はA入力値としてオフセット値をALU52の第1
入力に与える。同様にB入力制御回路54をイネーブル
にして、制御B信号をB入力マルチプレクサ56に与え
る。ついでB入力マルチプレクサ56は初期アドレス値
をALU52の第2入力に与える。
【0042】A入力値およびB入力値の両方を受け取り
次第、加算器100はオフセット値のビット0を初期ア
ドレス値のビット0に加算する。またオフセット値の符
号の反転であるCin値も、オフセット値およびアドレ
ス値のそれぞれのビット0の合計に加算される。インデ
ックス・アドレッシングの例でも分かるように、オフセ
ット値の各ビットは初期アドレス値のそれぞれ対応する
ビットに加算される。オフセット値は4ビット幅しかな
く、初期アドレス値は16ビット幅であるので、オフセ
ット値は16ビットに符号拡張されている。ついでオフ
セット値および有効アドレスの合計を、後で使用するた
めにスタック・ポインタ58に格納する。
【0043】図3に示すように、正のオフセットがA入
力信号を介して与えられる場合、オフセットの符号はゼ
ロとなり、これはオフセットの最下位ビットから最上位
ビットに符号拡張される。したがってゼロがインバータ
98に与えられる。ついでインバータ98は、値1を有
するCin信号を加算器100に与えて、これにA0信
号およびB0信号の合計が加算される。同様に、負のオ
フセットが与えられる場合には、インバータ98はゼロ
の値を加算器100に与えて、これにA0信号およびB
0信号の合計が加算される。オフセットの符号ビットの
反転を加算することによって、オートインクリメント動
作またはオートデクリメント動作を実行する場合により
大きなフレキシビリティを可能にするように拡張されて
いる。
【0044】オフセットの符号に応答してCin信号を
計算することによって、4ビット幅の定オフセットを使
用する場合に8バイトの正のオフセットが可能になる。
前述のように、オフセット値の符号を反転し、反転符号
値をオフセットと初期アドレスの合計に加算することに
よって、オフセットの正の範囲を1だけ効果的に増加す
る。したがって2進値0111は10進値+8と解釈す
る。ここでも、この方法を使用する場合はゼロのオフセ
ットは不可能である。
【0045】ここに記載した第2の例では、プレインク
リメントが説明されおり、このプレインクリメントで
は、オフセットを、次のデータ処理動作で使用する前に
予め、ポインタ・レジスタ(スタック・ポインタ58)
内に格納された値に加算する。オートインクリメント動
作およびオートデクリメント動作では多くのバリエーシ
ョンが存在する。たとえば演算がある結果を生成し、こ
の結果をポインタ・レジスタ内に格納した後、その結果
がオフセットだけ増分される。これをポストインクリメ
ントという。同様にポインタ・レジスタに格納された値
からオフセットを差し引いてもよい。ポインタ・レジス
タ内の値を使用して演算のオペランドにアクセスする前
に減算が発生する場合には、その演算をプレデクリメン
トという。ポインタ・レジスタ内の値を使用して演算の
オペランドにアクセスした後に減算が発生する場合に
は、この演算をポスト・デクリメントという。同様に第
2の例ではスタック・ポインタ58を使用しているが、
前述のポインタ・レジスタのいずれを使用してもよい。
たとえばもう一つのインデックス・レジスタまたは汎用
レジスタを使用してもよい。
【0046】ここに記載する本発明の実施例では、5ビ
ット・オフセット値の正の範囲は、より意味のあるオフ
セット値を使用して情報にアクセスできるように1だけ
効果的に増加する。たとえばオフセットを計算するシス
テムの先行技術の実現では、−16から+15バイトの
範囲が命令に対する最大範囲であり、これは符号化のた
めに1ポストバイトのみを必要とした。前述のように、
オフセットをポストバイトの中で提供する場合には、ポ
ストバイトを形成するビットの一部分を使用して、ポイ
ンタ・レジスタと実行する演算の種類を指定しなければ
ならない。ビットの残りの部分はオフセット値を指定す
るのに使用できる。一般的であり、またここに記載する
本発明の実施例で示しているように、ポストバイト内で
オフセット値を指定するには、5ビットのみが使用でき
る。
【0047】デジタル処理システム内のデータが15バ
イト増分で配列されていることは稀である。むしろ、8
や16などの2の累乗のバイトが通常使用される。した
がって先行技術の実現では、16バイトのオフセットを
符号化するのにさらに1バイトのプログラミング空間を
必要とする。本発明では、ユーザが貴重なプログラミン
グ空間をさらに1バイト使用せずに、最大16バイトの
オフセットまで計算できるようにしている。8ビットの
オフセットを使用する場合には、さらに1バイトのプロ
グラミング空間を必要とせずに、+128バイトのオフ
セットを使用できる。またALU52の構造を改良する
ことによって、本発明の実施例はまた、+32768な
どより大きな2進の複数バイトのオフセット範囲を拡張
するのに使用できる。
【0048】また先行技術の実現では、オートインクリ
メント動作およびオートデクリメント動作は、ポインタ
・レジスタの内容が、1もしくは2バイト増加もしくは
減少できるようにしているだけであった。したがってイ
ンクリメント動作もしくはデクリメント動作中の移動範
囲が厳しく制限されていた。ここに記載する本発明の実
施例では、ポインタ・レジスタ内の一つの値は最高8バ
イト増加もしくは減少できる。また2の累乗である境界
を有するインクリメント動作およびデクリメント動作を
可能にすることによって、データはより簡単に、また大
量のプログラミング空間を消費せずにアクセスできる。
オートインクリメント動作およびオートデクリメント動
作の有用な正の範囲が増加する。前述したように、デジ
タル処理システム内のデータは通常、8や16などの2
の累乗のバイトで配列される。そのため先行技術の実現
は、データの中をテーブル形式で進行するために便利な
実現は可能になっていない。ここに記載する本発明で
は、一つの命令により8バイトおよび16バイト増分
で、何テーブルものデータを読み取ることができ、この
命令は迅速に実行されて、過度のプログラミング空間を
必要としない。
【0049】ユーザはゼロのオフセットを指定する機能
は持たないが、「ノー・オフセット」演算を実行するた
めに、通常は他の演算コードおよび演算方法もシステム
内に存在する。たとえば特殊命令コードは一般にほとん
どのデータ処理装置内に存在し、ノー・オフセットを有
する演算の実行を開始する。そのため先行技術のシステ
ムでノーオフセット演算を実行するために通常使用され
るコードは冗長性があり、データ処理装置の機能性を損
なわずにこれを排除できる。このことは、インデックス
・アドレッシング,オートインクリメント動作およびオ
ートデクリメント動作に等しく適用できる。
【0050】ここに記載する本発明の実現は例示目的で
提示している。しかしながらここに記載する機能を実行
するには、他にも多くの実現が存在し得る。たとえばこ
こではインデックス・アドレッシング,オートインクリ
メント動作およびオートデクリメント動作のみを詳細に
説明しているが、本発明はいくつかの分岐型演算を含む
ように拡張できる。分岐演算を実行する際に必要なオフ
セットは、ここに記載する方法および回路、または本発
明の別の実施例を用いて計算してもよい。そのため分岐
命令のオフセット範囲は、2の累乗である境界を有する
ように拡張できる。
【0051】ここでは本発明の原理を説明してきたが、
この説明が例示目的だけのためであって、本発明の範囲
を限定するものでないことを当業者は明確に理解しよ
う。したがって添付請求の範囲は、本発明の真正の意図
および範囲に属する本発明のすべての変形をカバーする
ことを意図している。
【図面の簡単な説明】
【図1】本発明に基づくデータ処理システムのブロック
図を示す。
【図2】図1の実行装置のブロック図を示す。
【図3】図2の論理演算装置のブロック図を示す。
【符号の説明】
10 データ処理システム 12 CPU 14 実行装置 16 バス制御論理回路 18 命令デコード論理回路 20 制御装置 22 シーケンサ 24 発振器 26 電源回路 28 タイミング回路 30 外部バス・インタフェース 32 内部メモリ 33 外部データ・バス 34 内部データ・バス 36 内部アドレス・バス 38 タイミング制御バス 40 データ・バッファ 41 外部情報バス 48 A入力制御回路 50 A入力マルチプレクサ 52 論理演算装置(ALU) 54 B入力制御回路 56 B入力マルチプレクサ 58 スタック・ポインタ 60 インデックス・レジスタ 65 Micro−ROM制御バス 66 情報バスA 98 インバータ 100,102,104,106,108 加算器 120 結果バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・エイ・ランガン アメリカ合衆国テキサス州オースティン、 グラナダ・ヒルズ・ドライヴ9126 (72)発明者 ジェイムズ・エル・ブロスギーニ アメリカ合衆国テキサス州オースティン、 フェンス・ライン6901

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 オフセット合計を計算するためのデータ
    処理システム(10)であって:オフセット値を有する
    命令を受け取るためのインタフェース手段(40)であ
    って、前記命令は実行する演算を指定するための第1部
    分、および符号部分と絶対値部分の両方を有するオフセ
    ット値を指定するための第2部分を有し、また前記イン
    タフェース手段は第1アドレス値を受け取る、ところの
    インタフェース手段;前記命令をデコードして、複数の
    制御信号を与えるための命令デコード(18)手段は、
    前記命令を受け取るために前記入力手段に結合されてい
    る、命令デコード手段;前記命令の実行中に前記第1ア
    ドレス値を格納するためのレジスタ(60)であって、
    前記第1アドレス値を受け取るために前記インタフェー
    ス手段に結合されているレジスタ;および前記第1アド
    レス値の一部分を受け取るために前記レジスタに結合さ
    れた論理演算回路(52)であって、前記論理演算回路
    は前記オフセット値を受け取るために前記入力手段に結
    合されており、前記論理演算回路は前記複数の制御信号
    の一部分を受け取るために前記命令デコード手段に結合
    されており、前記論理演算回路は前記オフセット値の前
    記符号部分を反転して反転オフセット符号値を提供し、
    前記論理演算回路は前記第1アドレス値,前記オフセッ
    ト値の前記符号部分と前記絶対値部分,および前記反転
    オフセット符号値のそれぞれを加算してオフセット合計
    を生成し、前記オフセット合計は前記第1アドレス値の
    対称的範囲内にあるが、前記第1アドレス値には等しく
    ない、論理演算回路(52);によって構成されること
    を特徴とするデータ処理システム。
  2. 【請求項2】 オフセット合計を計算する方法であっ
    て:オフセット値を有する命令を受け取る段階(18)
    であって、前記命令は実行する演算を指定する第1部
    分、および符号部分と絶対値部分の両方を有する前記オ
    フセット値を指定するための第2部分を有する、ところ
    の段階;第1アドレス値を受け取る段階(60);前記
    命令を受け取ることに応答して、複数の制御信号を与え
    るために前記命令をデコードする段階(18);前記命
    令の実行中に前記第1アドレス値を格納する段階(6
    0);前記オフセット値の前記符号部分を反転して、反
    転オフセット符号値を提供する段階(98);および前
    記第1アドレス値,前記オフセット値の前記符号部分と
    前記絶対値部分,および前記反転オフセット符号値のそ
    れぞれを加算して、オフセット合計を生成する段階であ
    って、前記オフセット合計は前記第1アドレス値の対称
    的範囲内にあるが、前記第1アドレス値には等しくない
    段階;によって構成されることを特徴とする方法。
JP28880693A 1992-10-27 1993-10-26 オフセット合計を計算するデータ処理システムとその方法 Expired - Lifetime JP3556252B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US967295 1992-10-27
US07/967,295 US5386534A (en) 1992-10-27 1992-10-27 Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value

Publications (2)

Publication Number Publication Date
JPH06222982A true JPH06222982A (ja) 1994-08-12
JP3556252B2 JP3556252B2 (ja) 2004-08-18

Family

ID=25512589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28880693A Expired - Lifetime JP3556252B2 (ja) 1992-10-27 1993-10-26 オフセット合計を計算するデータ処理システムとその方法

Country Status (5)

Country Link
US (1) US5386534A (ja)
EP (1) EP0594969B1 (ja)
JP (1) JP3556252B2 (ja)
KR (1) KR100285142B1 (ja)
DE (1) DE69324992T2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5512958A (en) * 1994-04-29 1996-04-30 Matsushita Electric Corporation Of America System for controlling the effects of noise in television receivers
US5784534A (en) * 1995-03-31 1998-07-21 Motorola, Inc. Circuit and method for representing fuzzy rule weights during a fuzzy logic operation
JPH0934866A (ja) * 1995-07-18 1997-02-07 Nec Corp マイクロコンピュータ
US5819056A (en) * 1995-10-06 1998-10-06 Advanced Micro Devices, Inc. Instruction buffer organization method and system
KR100290869B1 (ko) * 1998-01-14 2001-06-01 구자홍 복조기의주파수오프셋부호판별장치
KR100574929B1 (ko) * 1999-12-29 2006-05-02 삼성전자주식회사 허미션 대칭 데이터를 위한 주소 발생기
GB2375625B (en) 2001-05-18 2005-08-31 At & T Lab Cambridge Ltd Microprocessors with improved power efficiency
GB2402757B (en) * 2003-06-11 2005-11-02 Advanced Risc Mach Ltd Address offset generation within a data processing system
GB2488980B (en) 2011-03-07 2020-02-19 Advanced Risc Mach Ltd Address generation in a data processing apparatus

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
JPS5734251A (en) * 1980-08-07 1982-02-24 Toshiba Corp Address conversion and generating system
US4432053A (en) * 1981-06-29 1984-02-14 Burroughs Corporation Address generating apparatus and method
US4538223A (en) * 1982-09-29 1985-08-27 Microdata Corporation Computer operand address computation
US4531200A (en) * 1982-12-02 1985-07-23 International Business Machines Corporation Indexed-indirect addressing using prefix codes
JPS6015746A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd デ−タ処理装置
JPS62145326A (ja) * 1985-12-20 1987-06-29 Toshiba Corp マイクロプログラム制御回路
US4935867A (en) * 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
US5226129A (en) * 1986-10-30 1993-07-06 Nec Corporation Program counter and indirect address calculation system which concurrently performs updating of a program counter and generation of an effective address
US4819165A (en) * 1987-03-27 1989-04-04 Tandem Computers Incorporated System for performing group relative addressing
US5276819A (en) * 1987-05-01 1994-01-04 Hewlett-Packard Company Horizontal computer having register multiconnect for operand address generation during execution of iterations of a loop of program code
JPH01204138A (ja) * 1988-02-09 1989-08-16 Nec Corp 演算回路
US5155818A (en) * 1988-09-28 1992-10-13 Data General Corporation Unconditional wide branch instruction acceleration
US5150471A (en) * 1989-04-20 1992-09-22 Ncr Corporation Method and apparatus for offset register address accessing
US5204953A (en) * 1989-08-04 1993-04-20 Intel Corporation One clock address pipelining in segmentation unit
US5148538A (en) * 1989-10-20 1992-09-15 International Business Machines Corporation Translation look ahead based cache access
JPH03180933A (ja) * 1989-12-08 1991-08-06 Matsushita Electric Ind Co Ltd スタックメモリ
US5283874A (en) * 1991-10-21 1994-02-01 Intel Corporation Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee

Also Published As

Publication number Publication date
KR100285142B1 (ko) 2001-03-15
US5386534A (en) 1995-01-31
EP0594969A1 (en) 1994-05-04
JP3556252B2 (ja) 2004-08-18
DE69324992D1 (de) 1999-06-24
DE69324992T2 (de) 1999-11-11
KR940009819A (ko) 1994-05-24
EP0594969B1 (en) 1999-05-19

Similar Documents

Publication Publication Date Title
KR100315407B1 (ko) 제2입력과제3입력의제1부울조합과제2입력과제3입력의제2부울조합의논리곱인제1입력의합을형성하는3입력산술논리유닛
KR20170097626A (ko) 벡터 인덱스 로드 및 저장을 위한 방법 및 장치
JP2507638B2 (ja) デ―タ処理装置
JP6738579B2 (ja) 命令フローを最適化するチェックを実行するための装置および方法
JPH03218523A (ja) データプロセッサ
JPS63273134A (ja) マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置
JPH0470662B2 (ja)
KR100465388B1 (ko) Risc 구조의 8비트 마이크로 제어기
US5757685A (en) Data processing system capable of processing long word data
JPH06222982A (ja) オフセット合計を計算するデータ処理システムとその方法
JPS6014338A (ja) 計算機システムにおける分岐機構
JPH07120284B2 (ja) データ処理装置
JP2993975B2 (ja) 中央演算処理装置
CN101515229B (zh) 数据处理器
JPH1091395A (ja) プロセッサ
JP2000039995A (ja) 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル
US6505225B1 (en) Adder logic circuit and processor
EP0265948A2 (en) Data processor capable of immediately calculating branch address in relative address branch
JP2001142695A (ja) 記憶場所への定数のロード方法、宛先記憶場所への定数のロード方法、レジスタへの定数のロード方法、符号ビット数の決定方法、2進数の正規化方法、及びコンピュータシステム内の命令
JP4015411B2 (ja) 演算装置及びその演算装置を用いた情報処理装置
EP4488829A1 (en) Explicit integrity check value initialization
EP4488826A1 (en) Instruction tagging for intra-object memory tagging
US20260093485A1 (en) Apparatus and method for a number theoretic transform instruction
JPH04195629A (ja) 演算フラグ生成装置
US5142636A (en) Memory bank address calculation with reduced instruction execution cycles

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040512

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100521

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110521

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120521

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140521

Year of fee payment: 10

EXPY Cancellation because of completion of term