JPH11224193A - プロセッサアーキテクチャスキーム - Google Patents

プロセッサアーキテクチャスキーム

Info

Publication number
JPH11224193A
JPH11224193A JP10285657A JP28565798A JPH11224193A JP H11224193 A JPH11224193 A JP H11224193A JP 10285657 A JP10285657 A JP 10285657A JP 28565798 A JP28565798 A JP 28565798A JP H11224193 A JPH11224193 A JP H11224193A
Authority
JP
Japan
Prior art keywords
processor architecture
indirect addressing
architecture scheme
virtual register
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.)
Withdrawn
Application number
JP10285657A
Other languages
English (en)
Inventor
Sumit K Mitra
ケイ. ミトラ サミット
Joseph W Triece
ダブリュー. トリース ジョセフ
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology 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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of JPH11224193A publication Critical patent/JPH11224193A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098—Register arrangements
    • G06F9/30101—Special purpose registers
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098—Register arrangements
    • G06F9/3012—Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138—Extension of register space, e.g. register cache
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181—Instruction operation extension or modification
    • G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35—Indirect addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 ユーザがアドレッシングモードの追加および
変更ができる、改良されたマイクロコントローラアーキ
テクチャスキームを提供する。 【解決手段】 プロセッサアーキテクチャスキームは、
プロセッサが実行するための命令セットを与えるステッ
プと、命令セットの各命令の第1の部分を、各命令がど
こで実行されるかを識別するために専用にするステップ
と、メモリにおいて間接アドレッシングポインタを確立
するステップと、間接アドレッシングポインタに対応す
る間接アドレッシングモードの数に等しい数の仮想レジ
スタアドレスの専用の組を確立するステップとを包含す
る。仮想レジスタアドレス位置の各々は、アクセス時に
間接アドレッシングポインタに対して使用される間接ア
ドレッシングモードを示し、それにより、アドレッシン
グモードを命令ごとに動的に選択する柔軟性を得ること
を可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、プロセッ
サに関し、さらに詳細には、多数のアドレッシングモー
ドを仮想レジスタアドレスを用いてエンコードし、プロ
セッサアーキテクチャスキーム内で直接アドレス指定可
能なレジスタの数を最大にするプロセッサアーキテクチ
ャスキームおよび方法に関する。
【0002】
【従来の技術】一般に、プロセッサは、中央処理ユニッ
ト(CPU)が存在し、格納された命令またはマイクロ
コードをフェッチし、実行するために用いられる実体で
ある。プロセッサの例としては、マイクロコントロー
ラ、マイクロプロセッサ、およびディジタル信号プロセ
ッサが挙げられる。各タイプのプロセッサは、一般にオ
ペランドとも呼ばれるデータに作用する。このデータ
は、一般に、レジスタまたはメモリスペース内に格納さ
れている。
【0003】命令は、プロセッサのCPUに、オペレー
ションを実行し、そのオペレーションに関する1以上の
オペランドを識別するように指示する。プロセッサは、
オペレーションに関するデータをアドレス指定する様々
な手段を提供する。これらの手段は、一般にアドレッシ
ングモードと呼ばれる。アドレッシングモードは、通
常、算術演算および論理演算、ならびにデータ移動命令
に用いられ、ソースオペランド、デスティネーションオ
ペランド、またはこれらの両方に適用し得る。
【0004】
【発明が解決しようとする課題】現在のプロセッサアー
キテクチャスキームに関する問題点は、アドレッシング
モードを追加または変更するのが非常に困難なことであ
る。命令セットの構成に大幅な変更がない限り、このよ
うなアドレッシングモードの変更および追加は可能でな
い。しかし、命令セットの構成への変更は所望されな
い。なぜなら、アセンブラおよびコンパイラなどの多く
のツールも大幅な変更を必要とするからである。
【0005】命令でアドレッシングモードをエンコード
する従来の方法に関する他の問題点は、直接アドレス指
定可能な「レジスタ」の数が大幅に減少することであ
る。例えば、レジスタオペランドを特定するために命令
語において8ビットが利用できる場合、256レジスタ
を直接アドレス指定することが可能である。しかし、他
のアドレッシングモードを導入するためには、8ビット
のうちの1つがこの目的で取られ、128レジスタのみ
が直接アドレス指定可能となる。
【0006】既存のプロセッサアーキテクチャスキーム
では、交互のアドレッシングモードが利用でき、エンコ
ードは、直接アドレス指定可能なレジスタの数を最大に
するために「コントロールレジスタ」を用いて実現され
る。しかし、これによって、さらに他の問題が発生す
る。なぜなら、間接アドレッシングモードの「選択」
は、スタティック(再構成されるまで)であり、命令か
ら命令までダイナミックではないからである。
【0007】従って、改良されたマイクロコントローラ
アーキテクチャスキームの提供が必要とされる。改良さ
れたマイクロコントローラアーキテクチャスキームは、
ユーザがアドレッシングモードの追加および変更ができ
るようにしなければならない。改良されたマイクロコン
トローラアーキテクチャスキームは、さらに、ユーザが
命令毎にダイナミックにアドレッシングモードを変更で
きるようにしなければならない。
【0008】本発明の一実施態様によると、本発明の目
的は、改良されたマイクロコントローラアーキテクチャ
スキームを提供することである。
【0009】本発明の他の目的は、ユーザがアドレッシ
ングモードを追加および変更することができるようにす
る改良されたマイクロコントローラアーキテクチャスキ
ームを提供することである。
【0010】本発明のさらに他の目的は、直接アドレス
指定可能なレジスタの数を最大にすると共に、ユーザが
アドレッシングモードを追加および変更することができ
るようにする改良されたマイクロコントローラアーキテ
クチャスキームを提供することである。
【0011】本発明のさらに他の目的は、命令毎にアド
レッシングモードをダイナミックに選択する能力を維持
すると共に、マイクロコントローラアーキテクチャース
キームに上記の改良を提供することである。
【0012】
【課題を解決するための手段】本発明によるプロセッサ
アーキテクチャスキームは、直接アドレス指定可能なレ
ジスタの数を最大にするために、仮想レジスタアドレス
の使用によって多数のアドレッシングモードのエンコー
ドを可能にするプロセッサアーキテクチャスキームであ
って、プロセッサが実行するための命令セットを与える
ステップと、該命令セットの各命令の第1の部分を、各
命令がどこで実行されるかを識別するために専用にする
ステップと、メモリにおいて間接アドレッシングポイン
タを確立するステップと、該メモリにおいて、該間接ア
ドレッシングポインタに対応する間接アドレッシングモ
ードの数に等しい数の該仮想レジスタアドレスの専用の
組を確立するステップとを包含し、該仮想レジスタアド
レス位置の各々は、アクセス時に該間接アドレッシング
ポインタに対して使用される間接アドレッシングモード
を示し、それにより、アドレッシングモードを命令ごと
に動的に選択する柔軟性を得ることを可能にするプロセ
ッサアーキテクチャスキームであり、それにより上記目
的が達成される。
【0013】前記メモリにおいて仮想レジスタアドレス
の専用の組を確立する前記ステップは、アクセス時に、
1つの仮想レジスタアドレスを、単純間接アドレッシン
グを開始するために専用にするステップをさらに包含し
てもよい。
【0014】前記メモリにおいて仮想レジスタアドレス
の専用の組を確立する前記ステップは、アクセス時に、
1つの仮想レジスタアドレスを、自動ポストインクリメ
ントを備えた間接アドレッシングを開始するために専用
にするステップをさらに包含してもよい。
【0015】前記メモリにおいて仮想レジスタアドレス
の専用の組を確立する前記ステップは、アクセス時に、
1つの仮想レジスタアドレスを、自動ポストデクリメン
トを備える間接アドレッシングを開始するために専用に
するステップをさらに包含してもよい。
【0016】前記メモリにおいて仮想レジスタアドレス
の専用の組を確立する前記ステップは、アクセス時に、
1つの仮想レジスタアドレスを、自動プレインクリメン
トを備える間接アドレッシングを開始するために専用に
するステップをさらに包含してもよい。
【0017】前記メモリにおいて仮想レジスタアドレス
の専用の組を確立する前記ステップは、アクセス時に、
1つの仮想レジスタアドレスを、オフセットを備える間
接アドレッシングを開始するために専用にするステップ
をさらに包含してもよい。
【0018】前記メモリにおいて間接アドレッシングポ
インタを確立する前記ステップは、12ビット幅の間接
アドレッシングポインタである間接アドレッシングポイ
ンタを確立するステップをさらに包含してもよい。
【0019】前記メモリにおいて複数の間接アドレッシ
ングポインタを確立するステップと、該メモリにおい
て、前記複数の間接アドレッシングポインタに対応する
間接アドレッシングモードの総数に等しい数の仮想レジ
スタアドレスの専用の組を確立するステップとをさらに
包含し、該仮想レジスタアドレスの各々は、アクセス時
に、対応する間接アドレッシングポインタに対して使用
される間接アドレッシングモードを示し、それにより、
アドレッシングモードを命令ごとに動的に選択する柔軟
性を得ることを可能にしてもよい。
【0020】前記メモリにおいて、前記複数の間接アド
レッシングポインタに対応する間接アドレッシングモー
ドの総数に等しい数の仮想レジスタアドレスの専用の組
を確立する前記ステップは、該仮想レジスタアドレスの
各々について間接アドレスモードを選択するステップを
さらに包含してもよい。
【0021】前記仮想レジスタアドレスの各々について
間接アドレスモードを選択する前記ステップは、単純間
接アドレッシング、自動ポストインクリメントを備えた
間接アドレッシング、自動ポストデクリメントを備えた
間接アドレッシング、自動プレインクリメントを備えた
間接アドレッシング、およびオフセットを備えた間接ア
ドレッシングからなる群から、間接アドレッシングモー
ドを選択するステップをさらに包含していてもよい。
【0022】前記メモリにおいて複数の間接アドレッシ
ングポインタを確立する前記ステップは、12ビット幅
の間接アドレッシングポインタである複数の間接アドレ
ッシングポインタを確立するステップをさらに包含して
もよい。
【0023】本発明によるプロセッサアーキテクチャス
キームは、直接アドレス指定可能なレジスタの数を最大
にするために、仮想レジスタアドレスの使用によって多
数のアドレッシングモードのエンコードを可能にするプ
ロセッサアーキテクチャスキームであって、命令を実行
するための中央処理ユニットと、該中央処理ユニットに
結合され、データを格納するためのメモリと、該メモリ
内のポインタレジスタであって、該ポインタレジスタに
対応するアドレスにアクセスしたときに該命令がアクセ
スするアドレス位置を格納するためのポインタレジスタ
と、該ポインタレジスタに対応する、該メモリ内の専用
仮想レジスタアドレス位置であって、該専用アドレス位
置のうちの1つにアクセスしたときに該ポインタレジス
タに対して使用される間接アドレッシングモードを示
し、それにより、アドレッシングモードを命令ごとに動
的に選択する柔軟性を得ることを可能にする専用仮想レ
ジスタアドレス位置とを組合せで含むプロセッサアーキ
テクチャスキームであって、そのことにより上記目的が
達成される。
【0024】アクセス時に、単純間接アドレッシングを
開始するために専用にされる1つの仮想レジスタアドレ
ス位置をさらに含んでもよい。
【0025】アクセス時に、自動ポストインクリメント
を備えた間接アドレッシングを開始するために専用にさ
れる1つの仮想レジスタアドレス位置をさらに含んでも
よい。
【0026】アクセス時に、自動ポストデクリメントを
備えた間接アドレッシングを開始するために専用にされ
る1つの仮想レジスタアドレス位置をさらに含んでもよ
い。
【0027】アクセス時に、自動プレインクリメントを
備えた間接アドレッシングを開始するために専用にされ
る1つの仮想レジスタアドレス位置をさらに含んでもよ
い。
【0028】アクセス時に、オフセットを備えた間接ア
ドレッシングを開始するために専用にされる1つの仮想
レジスタアドレス位置をさらに含んでもよい。
【0029】前記ポインタレジスタは、12ビット幅の
ポインタレジスタであってもよい。
【0030】前記メモリ内の複数のポインタレジスタ
と、該メモリ内の専用仮想レジスタアドレス位置であっ
て、前記複数のポインタレジスタに対応する間接アドレ
ッシングモードの総数と等しい数の専用仮想レジスタア
ドレス位置とをさらに含み、該専用アドレス位置の各々
は、アクセス時に、該複数のポインタレジスタのうちの
対応するポインタレジスタに対して使用される間接アド
レッシングモードを示し、それにより、アドレッシング
モードを命令ごとに動的に選択する柔軟性を得ることを
可能にしてもよい。
【0031】前記複数のポインタレジスタの各々が、1
2ビット幅のポインタレジスタであってもよい。
【0032】前記メモリ内の前記専用仮想レジスタであ
って、前記複数のポインタレジスタに対応する間接アド
レッシングモードの総数に等しい数の専用仮想レジスタ
アドレス位置の各々が、単純間接アドレッシング、自動
ポストインクリメントを備えた間接アドレッシング、自
動ポストデクリメントを備えた間接アドレッシング、自
動プレインクリメントを備えた間接アドレッシング、お
よびオフセットを備えた間接アドレッシングからなる群
から1つの間接アドレッシングモードを開始してもよ
い。
【0033】プロセッサアーキテクチャスキームは、プ
ロセッサアーキテクチャスキームにおいて直接アドレス
指定可能なレジスタの数を最大にするために、仮想レジ
スタアドレスの使用によって多数のアドレッシングモー
ドのエンコードを可能にする。間接アドレッシングポイ
ンタに関連する仮想レジスタアドレス位置の組は、メモ
リに予約される。予約された仮想レジスタアドレス位置
の数は、間接アドレッシングポインタに関連する間接ア
ドレッシングモードの数に等しい。仮想レジスタアドレ
ス位置の各々は、アクセス時に、関連する間接アドレッ
シングポインタに対して使用される間接アドレッシング
モードを開始する。
【0034】本発明の1つの実施態様によると、プロセ
ッサアーキテクチャスキーム内で直接アドレス指定可能
なレジスタの数を最大にするために、仮想のレジスタア
ドレスを用いて多数のアドレッシングモードのエンコー
ドを可能にするプロセッサアーキテクチャスキームが開
示される。プロセッサアーキテクチャスキームは、プロ
セッサに、実行するための命令セットを提供するステッ
プと、命令セットの各命令がどこで実行されるかを識別
するために各命令の第1のセクションを専用(dedicat
e)するステップと、メモリ内で間接アドレッシングポ
インタを確立するステップと、間接アドレッシングポイ
ンタと関連する多数の間接アドレッシングモードと同等
の専用の仮想レジスタアドレスセットをメモリ内に確立
するステップとを包含し、仮想レジスタアドレスのそれ
ぞれが、アクセスされたときに、間接アドレッシングモ
ードが間接アドレッシングポインタに対して用いられる
ように指示し、それによって、命令毎に、アドレッシン
グモードをダイナミックに選択する柔軟性をもつことを
可能にする。
【0035】本発明の別の実施形態によれば、プロセッ
サアーキテクチャースキームが開示される。このプロセ
ッサアーキテクチャースキームは、プロセッサアーキテ
クチャースキームで直接アドレス指定可能なレジスタの
数を最大限にするために、仮想レジスタアドレスを使用
して、多数のアドレッシングモードのエンコードを可能
にする。プロセッサアーキテクチャースキームは、命令
を実行するために中央処理ユニットを用いる。データを
格納するためにCPUにメモリユニットが接続される。
メモリ内にポインタレジスタが確立され、ポインタレジ
スタに対応するアドレスがアクセスされるとき命令がア
クセスするアドレス位置を格納する。メモリ内に専用仮
想レジスタアドレス位置が確立される。ポインタレジス
タに対応する専用仮想レジスタアドレス位置は、専用ア
ドレス位置のうちの1つがアクセスされるときポインタ
レジスタに対して使用されるべき間接アドレッシングモ
ードを示し、これにより、命令毎にダイナミックにアド
レッシングモードを選択する柔軟性を得ることが可能と
なる。
【0036】本発明の上記のおよび他の目的、特徴、お
よび利点は、添付の図面に示されるような、本発明の好
適な実施形態の以下に示すより具体的な記述により明ら
かとなり得る。
【0037】
【発明の実施の形態】図1は、プロセッサによって実行
される典型的な従来の命令10を示す。命令10は複数
のビット12よりなる。ビット12は概して3つのメイ
ンフィールド、すなわち(1)オペコードフィールド1
4、(2)レジスタまたはデータアドレスフィールド1
6、および(3)アドレッシングモードフィールド18
に分割される。オペコードフィールド14は、プロセッ
サによって実行される特定のオペレーションを特定する
ビット12の集まりである。一般に、3つの主要なオペ
レーションタイプ、すなわち(1)演算および論理オペ
レーション(すなわち、加算、減算など)、(2)デー
タ移動オペレーション、および(3)プログラム制御
(例えば、ブランチオペレーション)がある。レジスタ
またはデータアドレスフィールド16は、オペレーショ
ンが実行される対象であるオペランド(すなわち、デー
タ)を示す。レジスタまたはデータアドレスフィールド
16を1つより多く持つことが可能である。例えば、ソ
ースアドレスフィールドおよびデスティネーションアド
レスフィールドがあってもよい。
【0038】図1に示す命令10は16ビット幅の命令
である。命令10の7番目のビットはアドレッシングモ
ードを選択するために使用される。7番目のビットがゼ
ロ(0)のときは、直接アドレッシングであるとされ
る。従って、ビット<6:0>は、128個のレジスタ
を使用可能にする7ビットレジスタアドレスを形成す
る。7番目のビットが1のときは、間接アドレッシング
であるとされる。この場合には、ビット<6:0>は、
データポインタアドレス、およびポインタインクリメン
ト/デクリメントオプションをエンコードする。
【0039】この従来技術では、命令のうちの8ビット
が「オペコード」をエンコードするために使用される。
従って、8ビットがレジスタ位置をアドレスするために
残される。これらの8ビットを使用して、アーキテクチ
ャ内に256個までのレジスタが収容され得る。しか
し、7番目のビットが、間接アドレッシングと直接アド
レッシングとを区別するためにアドレッシングモードビ
ットとして使用されるため、128個のレジスタのみが
収容される。従って、アドレス可能レジスタの数は、ア
ドレッシングモードビットを実現することによって半分
に減少する。さらに、アドレッシングモードの追加また
は変更は極めて困難である。命令セット構成に大きな変
更を行わない限り、アドレスモードへの変更または追加
は可能ではない。アセンブラまたはコンパイラなどの多
くのツールにも大がかりな変更が必要となるため、命令
セット構造の変更は望ましくない。
【0040】アドレッシングモードビットの改良は、M
ICROCHIP TECHNOLOGY社によって同
社のPIC17C42Aマイクロコントローラに対して
実現された。命令のエンコーディングでは、アドレスが
特定のアドレス位置(すなわち、00(16進))に一
致しない場合、レジスタアドレスは直接アドレスとされ
た。一致する場合は間接アドレスとされた。アドレスが
00(16進)である場合は、レジスタアドレスはポイ
ンタレジスタから得られ得る。ポインタレジスタをイン
クリメントまたはデクリメントするオプションはコント
ロールレジスタによって決定される。コントロールレジ
スタ内のいくつかのコントロールビットは、ポインタ値
にポスト自動インクリメントまたはポスト自動デクリメ
ントを行うべきかどうか、もしくはポインタ値を変更せ
ずに残すかどうかを決定し得る。
【0041】MICROCHIP TECHNOLOG
Y PIC17C42Aマイクロコントローラの1つの
主要な利点は、各命令がフルレンジの256のレジスタ
にアクセスし得ることである。アドレスのうちの1つの
みが、間接アドレスを実現するために予約されており且
つ真のアドレス位置でない。しかし、このエンコーディ
ングスキームの1つの非常に不利な点は、ポインタレジ
スタのインクリメント/デクリメントオプションが、コ
ントロールレジスタ内のコントロールビットによって固
定され、予め決められていることである。これらのオプ
ションは、各命令においてユーザがインクリメントおよ
びデクリメントのオプションを選択し得るようなダイナ
ミックなものではない。
【0042】図2に、本発明のプロセッサアーキテクチ
ャスキームが実行すべき命令20を示す。命令20は、
複数のビット22により構成されている。ビット22
は、概して3つの主要フィールドに分割される。3つの
分割フィールドとは、(1)いずれのタイプのオペレー
ションが実行されるかを示すオペコードフィールド24
と、(2)プロセッサオペレーションの結果がどこに保
存されるかを示すデスティネーションビット26と、
(3)命令20がオペレートすべきレジスタまたはデー
タ変数のアドレスを示すレジスタアドレスフィールド2
8とである。本発明の好適な実施形態において、命令は
16ビット命令である。
【0043】図3を参照すると、データポインタレジス
タ36はデータメモリ30内で実現される。データメモ
リ30は、複数のアドレス位置32から構成されてい
る。図3に示す実施形態において、メモリは、リニアな
4Kバイトのメモリであり、複数のページ34に分割さ
れている。各ページ34は、256のアドレス位置32
を有する。データポインタレジスタ36は、レジスタア
ドレスマップ内に予約された1以上の仮想レジスタアド
レス位置33を有する。予約された各仮想レジスタアド
レス位置33は、アクセスされると、間接アドレシング
モードを開始する。
【0044】現在、5つの主要なタイプのアドレシング
モードがある。これらは、単純間接アドレシング、自動
ポストインクリメントを備えた間接アドレシング、自動
ポストデクリメントを備えた間接アドレシング、自動プ
レインクリメントを備えた間接アドレシング、およびオ
フセットを備えた間接アドレシングである。単純間接ア
ドレシングにおいて、オペランドのアドレスは、データ
ポインタレジスタ36内に保持される。CPU38は、
まずデータポインタレジスタ36にアクセスしてアドレ
スを獲得し、このアドレスを用いてオペランドにアクセ
スする。自動インクリメントまたは自動デクリメントを
備えた間接アドレシングは、データポインタレジスタ3
6がデータアクセス前またはデータアクセス後にインク
リメントまたはデクリメント(すなわち、プレインクリ
メント若しくはプレデクリメント、またはポストインク
リメント若しくはポストデクリメント)される間接アド
レシングの形態である。オフセットを備えた間接アドレ
シングにおいて、オペランドのアドレスは、オフセット
値をデータポインタレジスタ36の内容に加算すること
により計算される。オフセット値は、命令内に埋め込ま
れてもよいし、さらに別のレジスタから得てもよい。本
実施形態において、オフセット値は、「w」レジスタか
ら得られ、「w」レジスタは、アキュムレータまたは
「動作中の」レジスタである。上述したように、データ
ポインタレジスタ36は、オペランドアクセス前または
後にインクリメントまたはデクリメントされ得る。
【0045】データポインタレジスタ36は、データポ
インタレジスタ36が実現することを望んでいる間接ア
ドレシングモードの各々に対して、データメモリ30内
に別々の仮想レジスタアドレス位置33を必要とする。
本発明の好適な実施形態において、上述した5つの間接
アドレシングモードを実現するために、5つの仮想レジ
スタアドレス位置33が必要である。しかし、データポ
インタレジスタ36の使用によっては、追加の又はより
少ない間接アドレシングモードが実現されてもよい。さ
らに、追加のデータポインタレジスタ36がデータメモ
リ30内で実現されてもよい。各データポインタレジス
タ36は、レジスタアドレスマップ内に予約された1以
上の仮想レジスタアドレス位置33を有する。予約され
た各仮想レジスタアドレス位置33は、アクセスされる
と、対応するデータポインタレジスタ36に対する間接
アドレシングモードを開始する。各データポインタレジ
スタ36は、読出し可能で且つ書込み可能なアドレス位
置である。本発明の好適な実施形態において、各データ
ポインタレジスタ36は、4Kバイト長のメモリ領域に
アクセス可能な12ビット幅のポインタである。そのた
め、各データポインタレジスタ36は、読出し可能且つ
書込み可能なレジスタとしてアクセス可能な、2つの8
ビット幅レジスタ(高バイトおよび低バイト)として構
成されている。従って、本発明の好適な実施形態におい
て、5つの間接アドレシングモードを有する12ビット
幅データポインタを実現するために、7つのアドレス位
置が用いられる。
【0046】本発明は、汎用レジスタとして用い得るレ
ジスタアドレスの数を最大化する。本方法の好適な実施
形態を用いた命令エンコーディング技術において、アド
レスデータメモリあるいはレジスタは8ビットを利用可
能である。これにより最大256個のレジスタが可能に
なる。レジスタのうち7個が様々な間接アドレッシング
スキームを実現するために用いられるため、249個の
直接アドレス指定可能なレジスタが存在し得る。直接ア
ドレス指定可能なレジスタの量を劇的に減らすことな
く、さらなるデータポインタレジスタ36を加え得る。
本発明は、図1に示す従来例に比較して、アドレス指定
可能なレジスタの量を大きく増大する。
【0047】本発明は、間接レジスタを追加または削除
する柔軟性を得ることを可能にする。間接レジスタは命
令自体においてはエンコードされておらず、専用レジス
タアドレスから対応付けられている(key off)ため、新
しいデータポインタレジスタ36を追加する事が可能で
ある。このように、同一のプロセッサに基づいて異なる
数のデータポインタレジスタを有する2つの異なる製品
を得ることが、従来技術よりも容易である。
【0048】本発明はまた、アドレッシングモードを追
加、削除、または変更する柔軟性を得ることを可能にす
る。データポインタレジスタ36を容易に追加または削
除し得るように、様々なアドレッシングモードを容易に
追加または削除し得る。新しいアドレッシングモードを
追加するために必要なのは、新しいデータアドレス位置
を専用アドレスとして指定することだけである。
【0049】本発明を用いれば、アドレッシングモード
およびレジスタを混在させかつマッチングすることが可
能である。従来技術において、命令フォーマットの一部
としてエンコードされた際のアドレッシングモードは、
かなり柔軟性に欠ける。本発明を用いれば、それぞれが
任意の数およびタイプの間接アドレッシングをサポート
する、任意の数のポインタレジスタを有することが可能
になる。データポインタレジスタ36およびアドレッシ
ングモードの合計は、これらを実現するために必要な論
理および回路の量の実際的な考慮事項によってのみ制限
される。
【0050】本発明はまた、任意の間接アドレッシング
モードを命令ごとに使用できる柔軟性を得ることを可能
にする。従来技術のPIC17C42Aマイクロコント
ローラにおいては、専用コントロールレジスタを用いて
間接アドレッシングのバリエーションを制御している。
このことによる制限は、一旦コントロールビットが特定
のモードについてセットされると、全ての命令は、コン
トロールビットが変更されるまでは選択モードしか使用
することができなくなることである。これは、あるコー
ドセグメントにおけるアドレッシングモードの選択を1
つに減らしてしまう。なぜなら、コントロールビットを
頻繁に変更することは非実用的だからである。本発明に
おいて、間接アドレッシングの各バリエーションに一意
のレジスタアドレスを与える。このようにして、任意の
間接アドレッシングモードを任意の命令について用いる
ことができる。
【0051】動作 図3を参照して、本発明の動作を説明する。第1のペー
ジ内において(すなわちバンク0)、第1の位置128
を専用機能レジスタのために予約しておく。これらの位
置はまた、専用間接アドレスが位置する場所でもある。
1つ以上のデータポインタレジスタ36もまたこの領域
に位置する。レジスタアドレスマップ中において、各デ
ータポインタレジスタ36につき1つ以上の仮想レジス
タアドレス位置33が、間接アドレッシングを開始する
ために予約されている。間接アドレッシング位置がいず
れもアクセスされないとき、直接アドレッシングが起こ
る。ある命令が、予約されたアドレス位置(すなわち図
3におけるアドレス<4:0>)にアクセスする場合、
間接アドレッシングモードが対応するデータポインタレ
ジスタ36に対して用いられる。例えば、命令が「AD
D w,12h」であれば、この命令は通常「w」の内
容にアドレス12hの内容を加えてその結果を「w」に
入れる。しかしアドレス12hは、アドレス10h、1
1hにおけるデータポインタレジスタ36のための予約
されたアドレス位置であるため、アドレス10h、11
hにおけるデータポインタレジスタ36が指し示す実際
の位置の内容に「w」を加算し、次に合計を「w」に格
納する。アドレス12hはまた、ポストインクリメント
を包含することを記述する。このように、アドレス10
h、11hにおけるデータポインタレジスタ36は自動
的に1だけインクリメントされる。
【0052】本発明を好適な実施形態について特に図示
および説明したが、発明の趣旨及び範囲から逸脱するこ
となしに形態および詳細における上述およびその他の変
更を行い得ることが、当業者には理解されるであろう。
【0053】
【発明の効果】本発明によれば、間接アドレッシングポ
インタと関連する多数の間接アドレッシングモードと同
等の専用の仮想レジスタアドレスセットをメモリ内に確
立する。これにより、アクセスされたときに、仮想レジ
スタアドレスのそれぞれが、間接アドレッシングモード
が間接アドレッシングポインタに対して用いられるよう
に指示し、それによって、命令毎に、アドレッシングモ
ードをダイナミックに選択する柔軟性をもつことを可能
にする。
【0054】本発明によれば、メモリ内に専用仮想レジ
スタアドレス位置が確立される。ポインタレジスタに対
応する専用仮想レジスタアドレス位置は、専用アドレス
位置のうちの1つがアクセスされるときポインタレジス
タに対して使用されるべき間接アドレッシングモードを
示し、これにより、命令毎にダイナミックにアドレッシ
ングモードを選択する柔軟性を得ることが可能となる。
【図面の簡単な説明】
【図1】従来の命令の典型的なエンコーディングを示す
簡単なブロック図。
【図2】本発明を用いる命令のエンコーディングを示す
簡単なブロック図。
【図3】本発明を用いるデータメモリマップの簡単なブ
ロック図。
【符号の説明】
20 命令 22 ビット 24 オペコードフィールド 26 デスティネーションビット 28 レジスタアドレスフィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョセフ ダブリュー. トリース アメリカ合衆国 アリゾナ 85048, フ ェニックス, サウス 7ティーエイチ プレイス 5610

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 プロセッサが実行するための命令セットを与えるステッ
    プと、 該命令セットの各命令の第1の部分を、各命令がどこで
    実行されるかを識別するために専用にするステップと、 メモリにおいて間接アドレッシングポインタを確立する
    ステップと、 該メモリにおいて、該間接アドレッシングポインタに対
    応する間接アドレッシングモードの数に等しい数の該仮
    想レジスタアドレスの専用の組を確立するステップとを
    包含し、 該仮想レジスタアドレス位置の各々は、アクセス時に該
    間接アドレッシングポインタに対して使用される間接ア
    ドレッシングモードを示し、それにより、アドレッシン
    グモードを命令ごとに動的に選択する柔軟性を得ること
    を可能にする、プロセッサアーキテクチャスキーム。
  2. 【請求項2】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて仮想レジスタアドレスの専用の組を
    確立する前記ステップが、アクセス時に、1つの仮想レ
    ジスタアドレスを、単純間接アドレッシングを開始する
    ために専用にするステップをさらに包含する、請求項1
    に記載のプロセッサアーキテクチャスキーム。
  3. 【請求項3】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて仮想レジスタアドレスの専用の組を
    確立する前記ステップが、アクセス時に、1つの仮想レ
    ジスタアドレスを、自動ポストインクリメントを備えた
    間接アドレッシングを開始するために専用にするステッ
    プをさらに包含する、請求項1に記載のプロセッサアー
    キテクチャスキーム。
  4. 【請求項4】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて仮想レジスタアドレスの専用の組を
    確立する前記ステップが、アクセス時に、1つの仮想レ
    ジスタアドレスを、自動ポストデクリメントを備える間
    接アドレッシングを開始するために専用にするステップ
    をさらに包含する、請求項1に記載のプロセッサアーキ
    テクチャスキーム。
  5. 【請求項5】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて仮想レジスタアドレスの専用の組を
    確立する前記ステップが、アクセス時に、1つの仮想レ
    ジスタアドレスを、自動プレインクリメントを備える間
    接アドレッシングを開始するために専用にするステップ
    をさらに包含する、請求項1に記載のプロセッサアーキ
    テクチャスキーム。
  6. 【請求項6】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて仮想レジスタアドレスの専用の組を
    確立する前記ステップが、アクセス時に、1つの仮想レ
    ジスタアドレスを、オフセットを備える間接アドレッシ
    ングを開始するために専用にするステップをさらに包含
    する、請求項1に記載のプロセッサアーキテクチャスキ
    ーム。
  7. 【請求項7】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて間接アドレッシングポインタを確立
    する前記ステップが、12ビット幅の間接アドレッシン
    グポインタである間接アドレッシングポインタを確立す
    るステップをさらに包含する、請求項1に記載のプロセ
    ッサアーキテクチャスキーム。
  8. 【請求項8】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて複数の間接アドレッシングポインタ
    を確立するステップと、 該メモリにおいて、前記複数の間接アドレッシングポイ
    ンタに対応する間接アドレッシングモードの総数に等し
    い数の仮想レジスタアドレスの専用の組を確立するステ
    ップとをさらに包含し、 該仮想レジスタアドレスの各々は、アクセス時に、対応
    する間接アドレッシングポインタに対して使用される間
    接アドレッシングモードを示し、それにより、アドレッ
    シングモードを命令ごとに動的に選択する柔軟性を得る
    ことを可能にする、請求項1に記載のプロセッサアーキ
    テクチャスキーム。
  9. 【請求項9】 プロセッサアーキテクチャスキームにお
    いて直接アドレス指定可能なレジスタの数を最大にする
    ために、仮想レジスタアドレスの使用によって多数のア
    ドレッシングモードのエンコードを可能にするプロセッ
    サアーキテクチャスキームであって、 前記メモリにおいて、前記複数の間接アドレッシングポ
    インタに対応する間接アドレッシングモードの総数に等
    しい数の仮想レジスタアドレスの専用の組を確立する前
    記ステップが、該仮想レジスタアドレスの各々について
    間接アドレスモードを選択するステップをさらに包含す
    る、請求項8に記載のプロセッサアーキテクチャスキー
    ム。
  10. 【請求項10】 プロセッサアーキテクチャスキームに
    おいて直接アドレス指定可能なレジスタの数を最大にす
    るために、仮想レジスタアドレスの使用によって多数の
    アドレッシングモードのエンコードを可能にするプロセ
    ッサアーキテクチャスキームであって、 前記仮想レジスタアドレスの各々について間接アドレス
    モードを選択する前記ステップが、単純間接アドレッシ
    ング、自動ポストインクリメントを備えた間接アドレッ
    シング、自動ポストデクリメントを備えた間接アドレッ
    シング、自動プレインクリメントを備えた間接アドレッ
    シング、およびオフセットを備えた間接アドレッシング
    からなる群から、間接アドレッシングモードを選択する
    ステップをさらに包含する、請求項9に記載のプロセッ
    サアーキテクチャスキーム。
  11. 【請求項11】 プロセッサアーキテクチャスキームに
    おいて直接アドレス指定可能なレジスタの数を最大にす
    るために、仮想レジスタアドレスの使用によって多数の
    アドレッシングモードのエンコードを可能にするプロセ
    ッサアーキテクチャスキームであって、 前記メモリにおいて複数の間接アドレッシングポインタ
    を確立する前記ステップが、12ビット幅の間接アドレ
    ッシングポインタである複数の間接アドレッシングポイ
    ンタを確立するステップをさらに包含する、請求項9に
    記載のプロセッサアーキテクチャスキーム。
  12. 【請求項12】 プロセッサアーキテクチャスキームに
    おいて直接アドレス指定可能なレジスタの数を最大にす
    るために、仮想レジスタアドレスの使用によって多数の
    アドレッシングモードのエンコードを可能にするプロセ
    ッサアーキテクチャスキームであって、 命令を実行するための中央処理ユニットと、 該中央処理ユニットに結合され、データを格納するため
    のメモリと、 該メモリ内のポインタレジスタであって、該ポインタレ
    ジスタに対応するアドレスにアクセスしたときに該命令
    がアクセスするアドレス位置を格納するためのポインタ
    レジスタと、 該ポインタレジスタに対応する、該メモリ内の専用仮想
    レジスタアドレス位置であって、該専用アドレス位置の
    うちの1つにアクセスしたときに該ポインタレジスタに
    対して使用される間接アドレッシングモードを示し、そ
    れにより、アドレッシングモードを命令ごとに動的に選
    択する柔軟性を得ることを可能にする専用仮想レジスタ
    アドレス位置とを組合せで含む、プロセッサアーキテク
    チャスキーム。
  13. 【請求項13】 アクセス時に、単純間接アドレッシン
    グを開始するために専用にされる1つの仮想レジスタア
    ドレス位置をさらに含む、請求項12に記載のプロセッ
    サアーキテクチャスキーム。
  14. 【請求項14】 アクセス時に、自動ポストインクリメ
    ントを備えた間接アドレッシングを開始するために専用
    にされる1つの仮想レジスタアドレス位置をさらに含
    む、請求項12に記載のプロセッサアーキテクチャスキ
    ーム。
  15. 【請求項15】 アクセス時に、自動ポストデクリメン
    トを備えた間接アドレッシングを開始するために専用に
    される1つの仮想レジスタアドレス位置をさらに含む、
    請求項12に記載のプロセッサアーキテクチャスキー
    ム。
  16. 【請求項16】 アクセス時に、自動プレインクリメン
    トを備えた間接アドレッシングを開始するために専用に
    される1つの仮想レジスタアドレス位置をさらに含む、
    請求項12に記載のプロセッサアーキテクチャスキー
    ム。
  17. 【請求項17】 アクセス時に、オフセットを備えた間
    接アドレッシングを開始するために専用にされる1つの
    仮想レジスタアドレス位置をさらに含む、請求項12に
    記載のプロセッサアーキテクチャスキーム。
  18. 【請求項18】 前記ポインタレジスタは、12ビット
    幅のポインタレジスタである、請求項12に記載のプロ
    セッサアーキテクチャスキーム。
  19. 【請求項19】 前記メモリ内の複数のポインタレジス
    タと、 該メモリ内の専用仮想レジスタアドレス位置であって、
    前記複数のポインタレジスタに対応する間接アドレッシ
    ングモードの総数と等しい数の専用仮想レジスタアドレ
    ス位置とをさらに含み、 該専用アドレス位置の各々は、アクセス時に、該複数の
    ポインタレジスタのうちの対応するポインタレジスタに
    対して使用される間接アドレッシングモードを示し、そ
    れにより、アドレッシングモードを命令ごとに動的に選
    択する柔軟性を得ることを可能にする、請求項12に記
    載のプロセッサアーキテクチャスキーム。
  20. 【請求項20】 前記複数のポインタレジスタの各々
    が、12ビット幅のポインタレジスタである、請求項1
    9に記載のプロセッサアーキテクチャスキーム。
  21. 【請求項21】 前記メモリ内の前記専用仮想レジスタ
    であって、前記複数のポインタレジスタに対応する間接
    アドレッシングモードの総数に等しい数の専用仮想レジ
    スタアドレス位置の各々が、単純間接アドレッシング、
    自動ポストインクリメントを備えた間接アドレッシン
    グ、自動ポストデクリメントを備えた間接アドレッシン
    グ、自動プレインクリメントを備えた間接アドレッシン
    グ、およびオフセットを備えた間接アドレッシングから
    なる群から1つの間接アドレッシングモードを開始す
    る、請求項19に記載のプロセッサアーキテクチャスキ
    ーム。
JP10285657A 1997-10-07 1998-10-07 プロセッサアーキテクチャスキーム Withdrawn JPH11224193A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/946,426 US6192463B1 (en) 1997-10-07 1997-10-07 Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US08/946.426 1997-10-07

Publications (1)

Publication Number Publication Date
JPH11224193A true JPH11224193A (ja) 1999-08-17

Family

ID=25484456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10285657A Withdrawn JPH11224193A (ja) 1997-10-07 1998-10-07 プロセッサアーキテクチャスキーム

Country Status (7)

Country Link
US (2) US6192463B1 (ja)
EP (1) EP0908812B1 (ja)
JP (1) JPH11224193A (ja)
KR (1) KR19990036893A (ja)
AT (1) ATE215713T1 (ja)
DE (1) DE69804562T2 (ja)
TW (1) TW405075B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192463B1 (en) * 1997-10-07 2001-02-20 Microchip Technology, Inc. Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US6560698B1 (en) * 1999-05-07 2003-05-06 Advanced Micro Devices, Inc. Register change summary resource
US20040030963A1 (en) * 2002-08-12 2004-02-12 Sun Microsystems, Inc., A Delaware Corporation Method and apparatus for debugging computer program
US7437532B1 (en) * 2003-05-07 2008-10-14 Marvell International Ltd. Memory mapped register file
KR100897857B1 (ko) 2003-10-23 2009-05-15 마이크로칩 테크놀로지 인코포레이티드 마이크로컨트롤러 명령어 셋트
US20050172064A1 (en) * 2004-01-29 2005-08-04 Marcelo Krygier Method and apparatus for addressing in mass storage non-volatile memory devices
US20070266225A1 (en) * 2006-05-09 2007-11-15 Ko Tak K V Microcontroller unit
US7908458B2 (en) * 2007-11-21 2011-03-15 Microchip Technology Incorporated Ethernet controller
US8004988B2 (en) * 2007-11-21 2011-08-23 Microchip Technology Incorporated Ethernet controller
US8539210B2 (en) * 2007-11-30 2013-09-17 Microchip Technology Incorporated Context switching with automatic saving of special function registers memory-mapped to all banks
US7996651B2 (en) * 2007-11-30 2011-08-09 Microchip Technology Incorporated Enhanced microprocessor or microcontroller
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US8402249B1 (en) * 2009-10-19 2013-03-19 Marvell International Ltd. System and method for mixed-mode SDRAM address mapping
GB2540948B (en) * 2015-07-31 2021-09-15 Advanced Risc Mach Ltd Apparatus with reduced hardware register set

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4047245A (en) 1976-07-12 1977-09-06 Western Electric Company, Incorporated Indirect memory addressing
US4240142A (en) 1978-12-29 1980-12-16 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoincrementing of memory pointer registers
US5142633A (en) 1989-02-03 1992-08-25 Digital Equipment Corporation Preprocessing implied specifiers in a pipelined processor
JPH02266421A (ja) * 1989-04-07 1990-10-31 Ricoh Co Ltd 画像形成装置
US5381537A (en) * 1991-12-06 1995-01-10 International Business Machines Corporation Large logical addressing method and means
JPH08180001A (ja) * 1994-04-12 1996-07-12 Mitsubishi Electric Corp 通信方式及び通信方法及びネットワークインタフェース
US5715418A (en) * 1994-07-27 1998-02-03 Seagate Technologies, Inc. Autonomous high speed linear space address mode translation for use with a computer hard disc system
US5568651A (en) * 1994-11-03 1996-10-22 Digital Equipment Corporation Method for detection of configuration types and addressing modes of a dynamic RAM
JP3451595B2 (ja) * 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5860155A (en) 1995-11-16 1999-01-12 Utek Semiconductor Corporation Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses
US5835970A (en) * 1995-12-21 1998-11-10 Cypress Semiconductor Corp. Burst address generator having two modes of operation employing a linear/nonlinear counter using decoded addresses
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5978836A (en) * 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6192463B1 (en) * 1997-10-07 2001-02-20 Microchip Technology, Inc. Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
US6128727A (en) * 1998-08-21 2000-10-03 Advanced Micro Devices, Inc. Self modifying code to test all possible addressing modes

Also Published As

Publication number Publication date
US6578139B1 (en) 2003-06-10
DE69804562T2 (de) 2002-11-21
US6192463B1 (en) 2001-02-20
EP0908812B1 (en) 2002-04-03
DE69804562D1 (de) 2002-05-08
ATE215713T1 (de) 2002-04-15
KR19990036893A (ko) 1999-05-25
EP0908812A3 (en) 1999-12-08
EP0908812A2 (en) 1999-04-14
TW405075B (en) 2000-09-11

Similar Documents

Publication Publication Date Title
US4240139A (en) Address generating system
US7447871B2 (en) Data access program instruction encoding
US6192463B1 (en) Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
JP2004506263A (ja) 拡張レジスタモードで拡張レジスタセットにアクセスするcpu
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
US7865699B2 (en) Method and apparatus to extend the number of instruction bits in processors with fixed length instructions, in a manner compatible with existing code
US5987583A (en) Processor architecture scheme and instruction set for maximizing available opcodes and address selection modes
US6687808B2 (en) Data processor using indirect register addressing
US6029241A (en) Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor
EP2215544B1 (en) Enhanced microprocessor or microcontroller
EP1003094B1 (en) Central processing unit having a data extension instruction
US6098160A (en) Data pointer for outputting indirect addressing mode addresses within a single cycle and method therefor
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JP2551167B2 (ja) マイクロコンピュータ
US4829424A (en) Maximal length immediates with fixed sign position
US5390358A (en) Arithmetic unit that requires only one byte instructions
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
US7370159B2 (en) Microprocessor having an extended addressable space
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
US6212624B1 (en) Selective canonizing on mode transitions
JPS62150435A (ja) デ−タ処理方式
JPH07104780B2 (ja) マイクロプロセッサ
JP2000076068A (ja) 計算機システム
TH35845A (th) ผังงานสถาปัตยกรรมตัวประมวลผลและชุดคำสั่งสำหรับทำให้รหัสดำเนินการที่สามารถหามาใช้ได้มีจำนวนมากที่สุดและสำหรับนำโหมดต่างๆที่หลากหลายของการกำหนดเลขที่อยู่มาใช้ให้เกิดผล

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110