JPH11316679A - 多数のバンクアドレス値供給源を有するプロセッサアーキテクチャスキームおよびその方法 - Google Patents
多数のバンクアドレス値供給源を有するプロセッサアーキテクチャスキームおよびその方法Info
- Publication number
- JPH11316679A JPH11316679A JP10307561A JP30756198A JPH11316679A JP H11316679 A JPH11316679 A JP H11316679A JP 10307561 A JP10307561 A JP 10307561A JP 30756198 A JP30756198 A JP 30756198A JP H11316679 A JPH11316679 A JP H11316679A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- register
- address
- data memory
- instruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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
-
- 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
-
- 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/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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 多数のアドレシングモードの符号化を可能と
し、また多数のアドレシング値生成源を有するプロセッ
サアーキテクチャ。 【解決手段】 データメモリは複数のバンクに分割さ
れ、複数のバンクのうちの1つは汎用および特殊レジス
タのための専用バンクである。選択回路がデータメモリ
に接続され、多数のバンクアドレス生成源のうちの1つ
を選択するために使用される。バンクセレクトレジスタ
が選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するため
に使用される。命令レジスタが選択回路に接続され、直
接長アドレシングモードで実行される命令のためのバン
クアドレス値を供給し、また直接短アドレスモードで実
行される該命令のためのバンク内のレジスタアドレスを
供給する。
し、また多数のアドレシング値生成源を有するプロセッ
サアーキテクチャ。 【解決手段】 データメモリは複数のバンクに分割さ
れ、複数のバンクのうちの1つは汎用および特殊レジス
タのための専用バンクである。選択回路がデータメモリ
に接続され、多数のバンクアドレス生成源のうちの1つ
を選択するために使用される。バンクセレクトレジスタ
が選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するため
に使用される。命令レジスタが選択回路に接続され、直
接長アドレシングモードで実行される命令のためのバン
クアドレス値を供給し、また直接短アドレスモードで実
行される該命令のためのバンク内のレジスタアドレスを
供給する。
Description
【0001】
【発明の属する技術分野】本発明は、一般にデータアド
レシングに関する。詳しくは、多数のアドレシングモー
ドの符号化が可能でありまた多数のバンクアドレス値生
成源を有するプロセッサアーキテクチャスキーム、およ
びその方法に関する。
レシングに関する。詳しくは、多数のアドレシングモー
ドの符号化が可能でありまた多数のバンクアドレス値生
成源を有するプロセッサアーキテクチャスキーム、およ
びその方法に関する。
【0002】
【従来の技術】本出願の優先権主張の基礎となる米国出
願08/959.405号は、RandyL.Yachにより19
97年7月3日に出願された「データランダムアクセス
メモリを用いたマイクロコントローラのための強制ペー
ジのないページングスキーム」という名称の発明、およ
びMitraらにより1997年10月8日に出願された
「様々なアドレシングモードを実現するためのプロセッ
サアーキテクチャスキームおよびその方法」という名称
の発明の係属米国特許出願に関連する。これらの特許出
願は共に上記米国特許出願と同じ譲受人に譲渡される。
これら参照特許出願の開示内容は、本特許出願に参考と
して援用される。
願08/959.405号は、RandyL.Yachにより19
97年7月3日に出願された「データランダムアクセス
メモリを用いたマイクロコントローラのための強制ペー
ジのないページングスキーム」という名称の発明、およ
びMitraらにより1997年10月8日に出願された
「様々なアドレシングモードを実現するためのプロセッ
サアーキテクチャスキームおよびその方法」という名称
の発明の係属米国特許出願に関連する。これらの特許出
願は共に上記米国特許出願と同じ譲受人に譲渡される。
これら参照特許出願の開示内容は、本特許出願に参考と
して援用される。
【0003】一般に、プロセッサとは、中央処理ユニッ
ト(CPU)を備え、これを用いて、格納された命令ま
たはマイクロコードを取り出し実行する、実体である。
プロセッサのいくつかの例としては、マイクロコントロ
ーラ、マイクロプロセッサ、およびデジタル信号プロセ
ッサがある。各タイプのプロセッサは、通常オペランド
とも呼ばれるデータの演算を行う。このデータは一般に
レジスタまたはメモリスペースに格納される。
ト(CPU)を備え、これを用いて、格納された命令ま
たはマイクロコードを取り出し実行する、実体である。
プロセッサのいくつかの例としては、マイクロコントロ
ーラ、マイクロプロセッサ、およびデジタル信号プロセ
ッサがある。各タイプのプロセッサは、通常オペランド
とも呼ばれるデータの演算を行う。このデータは一般に
レジスタまたはメモリスペースに格納される。
【0004】
【発明が解決しようとする課題】多くのプロセッサアー
キテクチャスキームでは、アドレシングモードの追加ま
たは変更は極めて困難である。命令セット機構に大規模
な変更を加えない限り、このようなアドレシングモード
の変更および追加は不可能である。しかし、命令セット
構造を変更することは、アセンブラおよびコンパイラな
どの多くのツールにも大規模な変更が必要となるため、
望ましくない。
キテクチャスキームでは、アドレシングモードの追加ま
たは変更は極めて困難である。命令セット機構に大規模
な変更を加えない限り、このようなアドレシングモード
の変更および追加は不可能である。しかし、命令セット
構造を変更することは、アセンブラおよびコンパイラな
どの多くのツールにも大規模な変更が必要となるため、
望ましくない。
【0005】いくつかの現在のプロセッサアーキテクチ
ャは、プロセッサ内のデータメモリのすべてにアドレス
するためにページングスキームを用いる。これらのタイ
プのプロセッサは、上述の問題に加えて、それぞれに関
連する他のいくつかの問題を有する。アドレス可能アド
レスメモリを増やすために、多くのプロセッサはそれぞ
れのデータメモリ内に多数のバンクを備えている。しか
し、これらのプロセッサは1つのバンクアドレス値生成
源、すなわちバンクセレクトレジスタしか備えていな
い。バンクアドレス値生成源が1つしかないため、実行
される必要がある命令は、現在のバンク内のレジスタア
ドレスにアクセスしなければならない。命令が異なるバ
ンク内のレジスタアドレスにアクセスする必要がある場
合は、バンクセレクトレジスタの値を変更しなければな
らない、このスキームは、ユーザが確実にRAM内の適
切なアドレスに書き込みまたは読み出しを行うためには
いくつかの命令を必要とし、このため非常に煩雑であ
る。
ャは、プロセッサ内のデータメモリのすべてにアドレス
するためにページングスキームを用いる。これらのタイ
プのプロセッサは、上述の問題に加えて、それぞれに関
連する他のいくつかの問題を有する。アドレス可能アド
レスメモリを増やすために、多くのプロセッサはそれぞ
れのデータメモリ内に多数のバンクを備えている。しか
し、これらのプロセッサは1つのバンクアドレス値生成
源、すなわちバンクセレクトレジスタしか備えていな
い。バンクアドレス値生成源が1つしかないため、実行
される必要がある命令は、現在のバンク内のレジスタア
ドレスにアクセスしなければならない。命令が異なるバ
ンク内のレジスタアドレスにアクセスする必要がある場
合は、バンクセレクトレジスタの値を変更しなければな
らない、このスキームは、ユーザが確実にRAM内の適
切なアドレスに書き込みまたは読み出しを行うためには
いくつかの命令を必要とし、このため非常に煩雑であ
る。
【0006】これらのタイプのプロセッサはまた、Cコ
ンパイラのジョブを複雑にする。何故なら、Cコンパイ
ラはデータメモリ内で現在選択されているバンクを絶え
ず追跡しなければならないからである。これは割り込み
を扱うときはさらに多くの問題を生じさせる。割込み要
求を扱うときは、プロセッサは汎用および特殊機能レジ
スタに直接アクセスしなければならない。これらのレジ
スタが現在選択されているバンク内にない場合は、バン
クセレクトレジスタを適切なバンクに変更しなければな
らない。割込み要求の実行が終了すると、プロセッサ
は、割り込み前にプロセッサによって実行されていた命
令のバンクおよびレジスタを思い出してこれに戻らなけ
ればならない。
ンパイラのジョブを複雑にする。何故なら、Cコンパイ
ラはデータメモリ内で現在選択されているバンクを絶え
ず追跡しなければならないからである。これは割り込み
を扱うときはさらに多くの問題を生じさせる。割込み要
求を扱うときは、プロセッサは汎用および特殊機能レジ
スタに直接アクセスしなければならない。これらのレジ
スタが現在選択されているバンク内にない場合は、バン
クセレクトレジスタを適切なバンクに変更しなければな
らない。割込み要求の実行が終了すると、プロセッサ
は、割り込み前にプロセッサによって実行されていた命
令のバンクおよびレジスタを思い出してこれに戻らなけ
ればならない。
【0007】従って、改良されたプロセッサアーキテク
チャスキームおよびこの方法を提供する必要がある。改
良されたプロセッサアーキテクチャスキームおよび方法
は、多数のアドレシングスキームを可能にし得る。改良
されたプロセッサアーキテクチャスキームおよび方法は
さらに、多数のバンクアドレス値生成源を有し得る。改
良されたプロセッサアーキテクチャスキームおよび方法
はまた、プロセッサが、バンクセレクトレジスタ、従っ
て割込み要求の前に実行されていた現在の命令のバンク
アドレス値を変更せずに割込み要求を扱うことが可能と
なり得る。
チャスキームおよびこの方法を提供する必要がある。改
良されたプロセッサアーキテクチャスキームおよび方法
は、多数のアドレシングスキームを可能にし得る。改良
されたプロセッサアーキテクチャスキームおよび方法は
さらに、多数のバンクアドレス値生成源を有し得る。改
良されたプロセッサアーキテクチャスキームおよび方法
はまた、プロセッサが、バンクセレクトレジスタ、従っ
て割込み要求の前に実行されていた現在の命令のバンク
アドレス値を変更せずに割込み要求を扱うことが可能と
なり得る。
【0008】本発明は上記課題を解決するためになされ
たものであり、本発明の1つの実施態様によると、本発
明の1つの目的は、改良されたプロセッサアーキテクチ
ャスキームおよびその方法を提供することである。
たものであり、本発明の1つの実施態様によると、本発
明の1つの目的は、改良されたプロセッサアーキテクチ
ャスキームおよびその方法を提供することである。
【0009】本発明の別の目的は、多数のアドレシング
スキームが可能な改良されたプロセッサアーキテクチャ
スキームおよびその方法を提供することである。
スキームが可能な改良されたプロセッサアーキテクチャ
スキームおよびその方法を提供することである。
【0010】本発明のさらに別の目的は、多数のバンク
アドレス値生成源を有する改良されたプロセッサアーキ
テクチャスキームおよびその方法を提供することであ
る。
アドレス値生成源を有する改良されたプロセッサアーキ
テクチャスキームおよびその方法を提供することであ
る。
【0011】本発明のさらに別の目的は、多数のバンク
アドレス値生成源を有し、またプロセッサが、バンクセ
レクトレジスタ、従って割込み要求の前に実行されてい
た現在の命令のバンクアドレス値を変更せずに割込み要
求を扱うことができる、改良されたプロセッサアーキテ
クチャスキームおよびその方法を提供することである。
アドレス値生成源を有し、またプロセッサが、バンクセ
レクトレジスタ、従って割込み要求の前に実行されてい
た現在の命令のバンクアドレス値を変更せずに割込み要
求を扱うことができる、改良されたプロセッサアーキテ
クチャスキームおよびその方法を提供することである。
【0012】
【課題を解決するための手段】本発明によれば、多数の
アドレシングモードの符号化が可能であり、また多数の
バンクアドレス値生成源を有するプロセッサアーキテク
チャスキームであって、命令セットを実行する中央処理
ユニット(CPU)と、該CPUに接続されデータを格
納および転送するデータメモリであって、複数のバンク
を有し、該複数のバンクのうちの1つは汎用および特殊
レジスタの専用バンクであるデータメモリと、該データ
メモリに接続され、該多数のバンクアドレス値生成源の
うちの1つを選択する選択回路と、該選択回路に接続さ
れ、直接短アドレシングモードで実行される命令のため
のバンクアドレス値を供給するバンクセレクトレジスタ
と、該選択回路に接続され、直接長アドレシングモード
で実行される命令のためのバンクアドレス値を供給し、
また該直接短アドレスモードで実行される該命令のため
のバンク内のレジスタアドレスを供給する命令レジスタ
と、を組み合わせで含む、プロセッサアーキテクチャス
キームが提供され、これによって上記目的が達成され
る。
アドレシングモードの符号化が可能であり、また多数の
バンクアドレス値生成源を有するプロセッサアーキテク
チャスキームであって、命令セットを実行する中央処理
ユニット(CPU)と、該CPUに接続されデータを格
納および転送するデータメモリであって、複数のバンク
を有し、該複数のバンクのうちの1つは汎用および特殊
レジスタの専用バンクであるデータメモリと、該データ
メモリに接続され、該多数のバンクアドレス値生成源の
うちの1つを選択する選択回路と、該選択回路に接続さ
れ、直接短アドレシングモードで実行される命令のため
のバンクアドレス値を供給するバンクセレクトレジスタ
と、該選択回路に接続され、直接長アドレシングモード
で実行される命令のためのバンクアドレス値を供給し、
また該直接短アドレスモードで実行される該命令のため
のバンク内のレジスタアドレスを供給する命令レジスタ
と、を組み合わせで含む、プロセッサアーキテクチャス
キームが提供され、これによって上記目的が達成され
る。
【0013】前記命令レジスタが前記データメモリのア
ドレス範囲全体にアクセスするのに十分な大きさであっ
てもよい。
ドレス範囲全体にアクセスするのに十分な大きさであっ
てもよい。
【0014】前記データメモリが線形のアドレス範囲で
あってもよい。
あってもよい。
【0015】前記データメモリの前記バンクのそれぞれ
が256バイトのサイズであってもよい。
が256バイトのサイズであってもよい。
【0016】前記データメモリが16個のバンクを有し
てもよい。
てもよい。
【0017】前記選択回路に接続され、実行される現在
選択されているバンクアドレス値を変更せずにデータア
クセスを強制的に前記専用バンクで行うようにするため
に、該専用バンクのバンクアドレス値を供給する強制専
用バンクレジスタをさらに備えてもよい。
選択されているバンクアドレス値を変更せずにデータア
クセスを強制的に前記専用バンクで行うようにするため
に、該専用バンクのバンクアドレス値を供給する強制専
用バンクレジスタをさらに備えてもよい。
【0018】前記データメモリが該データメモリ内に確
立されるデータポインタレジスタに関連する専用仮想レ
ジスタアドレス位置を有し、該専用仮想レジスタアドレ
ス位置のそれぞれが、アクセスされると該データポイン
タレジスタと共に使用される個別で異なる間接アドレシ
ングモードを指示および確立してもよい。
立されるデータポインタレジスタに関連する専用仮想レ
ジスタアドレス位置を有し、該専用仮想レジスタアドレ
ス位置のそれぞれが、アクセスされると該データポイン
タレジスタと共に使用される個別で異なる間接アドレシ
ングモードを指示および確立してもよい。
【0019】前記選択回路に接続され、間接アドレスモ
ードで実行される命令のためのバンクアドレス値を供給
するファイルセレクトレジスタをさらに備えてもよい。
ードで実行される命令のためのバンクアドレス値を供給
するファイルセレクトレジスタをさらに備えてもよい。
【0020】前記ファイルセレクトレジスタが前記デー
タメモリのアドレス範囲全体にアクセスするのに十分な
大きさであってもよい。
タメモリのアドレス範囲全体にアクセスするのに十分な
大きさであってもよい。
【0021】前記選択回路がマルチプレクサであっても
よい。
よい。
【0022】本発明によれば、多数のアドレシングモー
ドの符号化が可能であり、また多数のバンクアドレス値
生成源を有するプロセッサアーキテクチャスキームであ
って、命令セットを実行する中央処理ユニット(CP
U)と、該CPUに接続され、線形のアドレス範囲と複
数のバンクとを有するデータメモリであって、該複数の
バンクのうちの1つは汎用および特殊レジスタの専用バ
ンクであり、該データメモリ内に確立されるデータポイ
ンタレジスタに関連する専用仮想レジスタアドレス位置
を有し、該専用仮想レジスタアドレス位置は、アクセス
されると該データポインタレジスタと共に使用される個
別で異なる間接アドレシングモードを指示および確立す
る、データメモリと、該データメモリに接続され、該多
数のバンクアドレス生成源のうちの1つを選択する選択
回路と、該選択回路に接続され、直接短アドレシングモ
ードで実行される命令のためのバンクアドレス値を供給
するバンクセレクトレジスタと、該選択回路に接続さ
れ、直接長アドレシングモードで実行される命令のため
のバンクアドレス値を供給し、また該直接短アドレスモ
ードで実行される該命令のためのバンク内のレジスタア
ドレスを供給する命令レジスタと、該選択回路に接続さ
れ、実行される現在選択されているバンクアドレス値を
変更せずにデータアクセスを強制的に該専用バンクで行
うようにするために、該専用バンクのバンクアドレス値
を供給する強制専用バンクレジスタと、該選択回路に接
続され、間接アドレスモードで実行される命令のための
バンクアドレス値を供給するファイルセレクトレジスタ
と、を組み合わせで含む、プロセッサアーキテクチャス
キームが提供され、これによって上記目的が達成され
る。
ドの符号化が可能であり、また多数のバンクアドレス値
生成源を有するプロセッサアーキテクチャスキームであ
って、命令セットを実行する中央処理ユニット(CP
U)と、該CPUに接続され、線形のアドレス範囲と複
数のバンクとを有するデータメモリであって、該複数の
バンクのうちの1つは汎用および特殊レジスタの専用バ
ンクであり、該データメモリ内に確立されるデータポイ
ンタレジスタに関連する専用仮想レジスタアドレス位置
を有し、該専用仮想レジスタアドレス位置は、アクセス
されると該データポインタレジスタと共に使用される個
別で異なる間接アドレシングモードを指示および確立す
る、データメモリと、該データメモリに接続され、該多
数のバンクアドレス生成源のうちの1つを選択する選択
回路と、該選択回路に接続され、直接短アドレシングモ
ードで実行される命令のためのバンクアドレス値を供給
するバンクセレクトレジスタと、該選択回路に接続さ
れ、直接長アドレシングモードで実行される命令のため
のバンクアドレス値を供給し、また該直接短アドレスモ
ードで実行される該命令のためのバンク内のレジスタア
ドレスを供給する命令レジスタと、該選択回路に接続さ
れ、実行される現在選択されているバンクアドレス値を
変更せずにデータアクセスを強制的に該専用バンクで行
うようにするために、該専用バンクのバンクアドレス値
を供給する強制専用バンクレジスタと、該選択回路に接
続され、間接アドレスモードで実行される命令のための
バンクアドレス値を供給するファイルセレクトレジスタ
と、を組み合わせで含む、プロセッサアーキテクチャス
キームが提供され、これによって上記目的が達成され
る。
【0023】前記命令レジスタが前記データメモリのア
ドレス範囲全体にアクセスするのに十分な大きさであっ
てもよい。
ドレス範囲全体にアクセスするのに十分な大きさであっ
てもよい。
【0024】前記データメモリの前記バンクのそれぞれ
が256バイト/語のサイズであってもよい。
が256バイト/語のサイズであってもよい。
【0025】前記データメモリが16個のバンクを有し
てもよい。
てもよい。
【0026】前記ファイルセレクトレジスタが前記デー
タメモリのアドレス範囲全体にアクセスするのに十分な
大きさであってもよい。
タメモリのアドレス範囲全体にアクセスするのに十分な
大きさであってもよい。
【0027】前記選択回路がマルチプレクサであっても
よい。
よい。
【0028】本発明によれば、多数のアドレシングモー
ドの符号化が可能であり、また多数のバンクアドレス値
生成源を有するプロセッサアーキテクチャスキームを設
ける方法であって、命令セットを実行する中央処理ユニ
ット(CPU)を設けるステップと、該CPUに接続さ
れ、複数のバンクを有するデータメモリを設けるステッ
プであって、該複数のバンクのうちの1つは汎用および
特殊レジスタの専用バンクである、ステップと、該デー
タメモリに接続され、該多数のバンクアドレス値生成源
のうちの1つを選択する選択回路を設けるステップと、
該選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するバン
クセレクトレジスタを設けるステップと、該選択回路に
接続され、直接長アドレシングモードで実行される命令
のためのバンクアドレス値を供給し、また直接短アドレ
スモードで実行される該命令のためのバンク内のレジス
タアドレスを供給する命令レジスタを設けるステップ
と、を包含する方法が提供され、これによって上記目的
が達成される。
ドの符号化が可能であり、また多数のバンクアドレス値
生成源を有するプロセッサアーキテクチャスキームを設
ける方法であって、命令セットを実行する中央処理ユニ
ット(CPU)を設けるステップと、該CPUに接続さ
れ、複数のバンクを有するデータメモリを設けるステッ
プであって、該複数のバンクのうちの1つは汎用および
特殊レジスタの専用バンクである、ステップと、該デー
タメモリに接続され、該多数のバンクアドレス値生成源
のうちの1つを選択する選択回路を設けるステップと、
該選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するバン
クセレクトレジスタを設けるステップと、該選択回路に
接続され、直接長アドレシングモードで実行される命令
のためのバンクアドレス値を供給し、また直接短アドレ
スモードで実行される該命令のためのバンク内のレジス
タアドレスを供給する命令レジスタを設けるステップ
と、を包含する方法が提供され、これによって上記目的
が達成される。
【0029】前記命令レジスタを設けるステップが、前
記データメモリのアドレス範囲全体にアクセスするのに
十分な大きさである該命令レジスタを設けるステップを
さらに包含してもよい。
記データメモリのアドレス範囲全体にアクセスするのに
十分な大きさである該命令レジスタを設けるステップを
さらに包含してもよい。
【0030】前記データメモリを設けるステップが、線
形のアドレス範囲を有する該データメモリを設けるステ
ップをさらに包含してもよい。
形のアドレス範囲を有する該データメモリを設けるステ
ップをさらに包含してもよい。
【0031】前記データメモリの前記バンクのそれぞれ
が256バイトのサイズであってもよい。
が256バイトのサイズであってもよい。
【0032】前記データメモリが16個のバンクを有し
てもよい。
てもよい。
【0033】前記選択回路に接続され、実行される現在
選択されているバンクアドレス値を変更せずにデータア
クセスを強制的に前記専用バンクで行うようにするため
に、該専用バンクのバンクアドレス値を供給する強制専
用バンクレジスタを設けるステップをさらに包含しても
よい。
選択されているバンクアドレス値を変更せずにデータア
クセスを強制的に前記専用バンクで行うようにするため
に、該専用バンクのバンクアドレス値を供給する強制専
用バンクレジスタを設けるステップをさらに包含しても
よい。
【0034】前記データメモリが該データメモリ内に確
立されるデータポインタレジスタに関連する専用仮想レ
ジスタアドレス位置を有し、該専用仮想レジスタアドレ
ス位置のそれぞれが、アクセスされると該データポイン
タレジスタと共に使用される個別で異なる間接アドレシ
ングモードを指示および確立してもよい。
立されるデータポインタレジスタに関連する専用仮想レ
ジスタアドレス位置を有し、該専用仮想レジスタアドレ
ス位置のそれぞれが、アクセスされると該データポイン
タレジスタと共に使用される個別で異なる間接アドレシ
ングモードを指示および確立してもよい。
【0035】前記選択回路に接続され、間接アドレスモ
ードで実行される命令のためのバンクアドレス値を供給
するファイルセレクトレジスタを設けるステップをさら
に包含してもよい。
ードで実行される命令のためのバンクアドレス値を供給
するファイルセレクトレジスタを設けるステップをさら
に包含してもよい。
【0036】前記ファイルセレクトレジスタが、前記デ
ータメモリのアドレス範囲全体にアクセスするのに十分
な大きさであってもよい。
ータメモリのアドレス範囲全体にアクセスするのに十分
な大きさであってもよい。
【0037】前記選択回路がマルチプレクサであっても
よい。
よい。
【0038】本発明の1つの実施形態によれば、多数の
アドレシングモードの符号化を可能にし、また多数のバ
ンクアドレス値生成源を有するプロセッサアーキテクチ
ャスキームが開示される。プロセッサアーキテクチャス
キームは、命令セットを実行する中央処理ユニット(C
PU)を有する。データメモリがCPUに接続される。
データメモリは、データを格納し、またデータをCPU
へおよびCPUから転送するために使用される。データ
メモリは複数のバンクに分割され、複数のバンクのうち
の1つは汎用および特殊レジスタのための専用バンクで
ある。選択回路がデータメモリに接続される。選択回路
は、多数のバンクアドレス値生成源のうちの1つを選択
するために使用される。バンクセレクトレジスタが選択
回路に接続される。バンクセレクトレジスタは、直接短
アドレシングモードで実行される命令のためのバンクア
ドレス値を供給するために使用される。命令レジスタが
選択回路に接続され、直接長アドレシングモードで実行
される命令のためのバンクアドレス値を供給し、また直
接短アドレシングモードで実行される命令のためのバン
ク内のレジスタアドレスを供給する。
アドレシングモードの符号化を可能にし、また多数のバ
ンクアドレス値生成源を有するプロセッサアーキテクチ
ャスキームが開示される。プロセッサアーキテクチャス
キームは、命令セットを実行する中央処理ユニット(C
PU)を有する。データメモリがCPUに接続される。
データメモリは、データを格納し、またデータをCPU
へおよびCPUから転送するために使用される。データ
メモリは複数のバンクに分割され、複数のバンクのうち
の1つは汎用および特殊レジスタのための専用バンクで
ある。選択回路がデータメモリに接続される。選択回路
は、多数のバンクアドレス値生成源のうちの1つを選択
するために使用される。バンクセレクトレジスタが選択
回路に接続される。バンクセレクトレジスタは、直接短
アドレシングモードで実行される命令のためのバンクア
ドレス値を供給するために使用される。命令レジスタが
選択回路に接続され、直接長アドレシングモードで実行
される命令のためのバンクアドレス値を供給し、また直
接短アドレシングモードで実行される命令のためのバン
ク内のレジスタアドレスを供給する。
【0039】本発明の別の実施形態によれば、多数のア
ドレシングモードの符号化が可能であり、また多数のバ
ンクアドレス値生成源を有するプロセッサアーキテクチ
ャスキームを提供する方法が開示される。この方法は、
命令セットを実行する中央処理ユニット(CPU)を設
けるステップと、CPUに接続され複数のバンクを有す
るデータメモリであって、複数のバンクのうちの1つは
汎用および特殊レジスタの専用バンクである、データメ
モリを設けるステップと、データメモリに接続され、多
数のバンクアドレス値生成源のうちの1つを選択する選
択回路を設けるステップと、選択回路に接続され、直接
短アドレシングモードで実行される命令のためのバンク
アドレス値を供給するバンクセレクトレジスタを設ける
ステップと、選択回路に接続され、直接長アドレシング
モードで実行される命令のためのバンクアドレスを供給
し、また直接短アドレシングモードで実行される命令の
ためのバンク内のレジスタアドレスを供給する命令レジ
スタを設けるステップと、を包含する。
ドレシングモードの符号化が可能であり、また多数のバ
ンクアドレス値生成源を有するプロセッサアーキテクチ
ャスキームを提供する方法が開示される。この方法は、
命令セットを実行する中央処理ユニット(CPU)を設
けるステップと、CPUに接続され複数のバンクを有す
るデータメモリであって、複数のバンクのうちの1つは
汎用および特殊レジスタの専用バンクである、データメ
モリを設けるステップと、データメモリに接続され、多
数のバンクアドレス値生成源のうちの1つを選択する選
択回路を設けるステップと、選択回路に接続され、直接
短アドレシングモードで実行される命令のためのバンク
アドレス値を供給するバンクセレクトレジスタを設ける
ステップと、選択回路に接続され、直接長アドレシング
モードで実行される命令のためのバンクアドレスを供給
し、また直接短アドレシングモードで実行される命令の
ためのバンク内のレジスタアドレスを供給する命令レジ
スタを設けるステップと、を包含する。
【0040】本発明の上記のおよび他の目的、特徴、お
よび利点は、添付の図面に示されるように、以下のより
具体的な発明の好適な実施形態の記述により明らかとな
り得る。
よび利点は、添付の図面に示されるように、以下のより
具体的な発明の好適な実施形態の記述により明らかとな
り得る。
【0041】
【発明の実施の形態】図1および図2において、同様な
構成要素は同様の参照符号を付して表している。図1お
よび図2には、複数の供給源からバンクアドレス値を供
給するシステム10が示されている。システム10は、
データメモリ12にアドレスするために使用される。デ
ータメモリ12は、データを格納し、またデータを中央
処理ユニット(CPU)32へおよびCPUから転送す
るために使用される。データメモリ12は複数のアドレ
ス位置34よりなる。図2に示す実施形態では、データ
メモリ12は、複数のページまたはバンク36(すなわ
ち、図1に示す本実施形態では16個のバンク)に分割
される線形の4Kメモリである。各バンク36は、25
6個のアドレス位置34を有する。本発明の本好適な実
施形態では、複数のバンク36のうちの1つは、汎用お
よび特殊レジスタの専用バンクである。図2に示す実施
形態では、バンク0が専用バンクである。
構成要素は同様の参照符号を付して表している。図1お
よび図2には、複数の供給源からバンクアドレス値を供
給するシステム10が示されている。システム10は、
データメモリ12にアドレスするために使用される。デ
ータメモリ12は、データを格納し、またデータを中央
処理ユニット(CPU)32へおよびCPUから転送す
るために使用される。データメモリ12は複数のアドレ
ス位置34よりなる。図2に示す実施形態では、データ
メモリ12は、複数のページまたはバンク36(すなわ
ち、図1に示す本実施形態では16個のバンク)に分割
される線形の4Kメモリである。各バンク36は、25
6個のアドレス位置34を有する。本発明の本好適な実
施形態では、複数のバンク36のうちの1つは、汎用お
よび特殊レジスタの専用バンクである。図2に示す実施
形態では、バンク0が専用バンクである。
【0042】選択回路14は、アドレスラッチ16を介
してデータメモリ12に接続される。選択回路14は、
バンクアドレス値を供給する複数の供給源のうちの1つ
を選択し、選択されたバンクアドレス値をアドレスラッ
チ16に送るために使用される。本発明の本好適な実施
形態では、選択回路14は12ビットアドレスをアドレ
スラッチ16に送る。12ビットアドレスは、4Kデー
タメモリ12のアドレス範囲全体をアクセスすることが
できる。本発明の本好適な実施形態では、選択回路14
はマルチプレクサである。
してデータメモリ12に接続される。選択回路14は、
バンクアドレス値を供給する複数の供給源のうちの1つ
を選択し、選択されたバンクアドレス値をアドレスラッ
チ16に送るために使用される。本発明の本好適な実施
形態では、選択回路14は12ビットアドレスをアドレ
スラッチ16に送る。12ビットアドレスは、4Kデー
タメモリ12のアドレス範囲全体をアクセスすることが
できる。本発明の本好適な実施形態では、選択回路14
はマルチプレクサである。
【0043】バンクセレクトレジスタ18は、データバ
ス20に接続される入力と選択回路14に接続される出
力とを有する。バンクセレクトレジスタ18は、直接短
アドレシングモードで実行される命令のためのバンクア
ドレスを供給するために使用される。図1に示す実施形
態では、バンクセレクトレジスタ18は4ビット幅のレ
ジスタである。従って、バンクセレクトレジスタ18
は、アクセス可能な現在のバンク36のバンクアドレス
値を供給する。現在選択されているバンク36内の実際
のアドレス位置34は、命令レジスタ22から与えられ
得る。
ス20に接続される入力と選択回路14に接続される出
力とを有する。バンクセレクトレジスタ18は、直接短
アドレシングモードで実行される命令のためのバンクア
ドレスを供給するために使用される。図1に示す実施形
態では、バンクセレクトレジスタ18は4ビット幅のレ
ジスタである。従って、バンクセレクトレジスタ18
は、アクセス可能な現在のバンク36のバンクアドレス
値を供給する。現在選択されているバンク36内の実際
のアドレス位置34は、命令レジスタ22から与えられ
得る。
【0044】命令レジスタ22は、命令復号化ユニット
24および選択回路14に直接接続される。上述のよう
に、命令レジスタ22は、直接短アドレシングモードで
実行される命令のための現在選択されているバンク36
内のレジスタアドレス34を格納および供給するために
使用される。図1に示す実施形態では、命令レジスタ2
2は、8ビットレジスタアドレスを選択回路14に送り
得る。8ビットレジスタアドレスは、バンクセレクトレ
ジスタ18からの4ビットバンクアドレス値と組み合わ
され、データメモリ12内の正確なアドレス位置を決定
する。
24および選択回路14に直接接続される。上述のよう
に、命令レジスタ22は、直接短アドレシングモードで
実行される命令のための現在選択されているバンク36
内のレジスタアドレス34を格納および供給するために
使用される。図1に示す実施形態では、命令レジスタ2
2は、8ビットレジスタアドレスを選択回路14に送り
得る。8ビットレジスタアドレスは、バンクセレクトレ
ジスタ18からの4ビットバンクアドレス値と組み合わ
され、データメモリ12内の正確なアドレス位置を決定
する。
【0045】命令レジスタ22はまた、直接長アドレシ
ングモードで実行される命令のためのバンクアドレス値
を供給する。本発明の本好適な実施形態では、命令レジ
スタ22は、直接長アドレシングモードで動作するとき
データメモリ12のアドレス範囲全体にアクセスするの
に十分な大きさである。図1に示す実施形態では、命令
レジスタ22は12ビット幅のアドレスを生成する。従
って、命令レジスタ22は、4Kデータメモリ12のア
ドレス範囲全体にアクセスすることができる。従って、
命令レジスタ22は、データメモリ12内のいかなるレ
ジスタにも直接アクセスする、簡単で便宜の良い方法を
提供する。しかし、直接長アドレシングモードは2語2
サイクル動作である。従って、便宜の良さは速度を犠牲
にして得られる。
ングモードで実行される命令のためのバンクアドレス値
を供給する。本発明の本好適な実施形態では、命令レジ
スタ22は、直接長アドレシングモードで動作するとき
データメモリ12のアドレス範囲全体にアクセスするの
に十分な大きさである。図1に示す実施形態では、命令
レジスタ22は12ビット幅のアドレスを生成する。従
って、命令レジスタ22は、4Kデータメモリ12のア
ドレス範囲全体にアクセスすることができる。従って、
命令レジスタ22は、データメモリ12内のいかなるレ
ジスタにも直接アクセスする、簡単で便宜の良い方法を
提供する。しかし、直接長アドレシングモードは2語2
サイクル動作である。従って、便宜の良さは速度を犠牲
にして得られる。
【0046】強制バンクレジスタ26は、選択回路14
の入力に直接接続される出力を有する。強制バンクレジ
スタ26は、汎用および特殊レジスタの専用バンクのバ
ンクアドレス値を供給するために使用される。アクセス
されると、強制バンクレジスタ26は、データアクセス
を強制的に専用バンクで行わせるが、実行される現在選
択されているバンクアドレスの変更は行わない。本発明
の本好適な実施形態では、専用バンクばバンク0であ
る。
の入力に直接接続される出力を有する。強制バンクレジ
スタ26は、汎用および特殊レジスタの専用バンクのバ
ンクアドレス値を供給するために使用される。アクセス
されると、強制バンクレジスタ26は、データアクセス
を強制的に専用バンクで行わせるが、実行される現在選
択されているバンクアドレスの変更は行わない。本発明
の本好適な実施形態では、専用バンクばバンク0であ
る。
【0047】強制バンク動作モードを開始する1つの方
法は、プロセッサの各ファイルレジスタ関連操作符号
(op-code)命令内に1つの専用ビットを与えることで
ある。ビットが設定されると、強制バンクレジスタ26
の出力は、データアクセスを強制的にデータメモリ12
の専用バンク(すなわちバンク0)で行わせるようにし
得る。専用ビットの設定は、プロセッサの現在の動作に
影響を与えない。また、プロセッサによって実行されて
いる操作符号命令内に格納されている現在選択されてい
るバンクアドレスを変更することもない。何故なら、他
の多数のバンクアドレス値生成源のいずれも変更されな
いからである。従って、ユーザがデータメモリ12内の
どこにいようと、専用ビットが命令内に設定されている
ならば、現在の命令がいつでも、特殊および汎用レジス
タを格納する専用バンク(すなわちバンク0)に影響を
与える。従って、ユーザが汎用データメモリ領域(すな
わち、第1のバンク、バンク0以外のページ)内にいる
とき割り込みを受け取ると、割り込み実行ルーチンが操
作符号命令内に専用ビットを設定し得る。ユーザは、次
に、プロセッサが実行しているものが何であってもこれ
に影響を与えずに、特殊および汎用レジスタを扱い得
る。プロセッサによって実行されているオプコード命令
内に格納された選択されたバンクアドレスは、妨害処理
中に変更されていないため、割り込みが適切に処理され
ると、プロセッサはこのバンクアドレスに戻り得る。
法は、プロセッサの各ファイルレジスタ関連操作符号
(op-code)命令内に1つの専用ビットを与えることで
ある。ビットが設定されると、強制バンクレジスタ26
の出力は、データアクセスを強制的にデータメモリ12
の専用バンク(すなわちバンク0)で行わせるようにし
得る。専用ビットの設定は、プロセッサの現在の動作に
影響を与えない。また、プロセッサによって実行されて
いる操作符号命令内に格納されている現在選択されてい
るバンクアドレスを変更することもない。何故なら、他
の多数のバンクアドレス値生成源のいずれも変更されな
いからである。従って、ユーザがデータメモリ12内の
どこにいようと、専用ビットが命令内に設定されている
ならば、現在の命令がいつでも、特殊および汎用レジス
タを格納する専用バンク(すなわちバンク0)に影響を
与える。従って、ユーザが汎用データメモリ領域(すな
わち、第1のバンク、バンク0以外のページ)内にいる
とき割り込みを受け取ると、割り込み実行ルーチンが操
作符号命令内に専用ビットを設定し得る。ユーザは、次
に、プロセッサが実行しているものが何であってもこれ
に影響を与えずに、特殊および汎用レジスタを扱い得
る。プロセッサによって実行されているオプコード命令
内に格納された選択されたバンクアドレスは、妨害処理
中に変更されていないため、割り込みが適切に処理され
ると、プロセッサはこのバンクアドレスに戻り得る。
【0048】ファイルセレクトレジスタ28は、選択回
路14の入力に直接接続された出力を有する。ファイル
セレクトレジスタ28は、間接アドレシングモードのた
めのバンクアドレス値を格納および供給するために使用
される。ファイルセレクトレジスタ28は、データメモ
リ12のアドレス範囲全体にアクセスするのに十分なサ
イズである。図1に示す実施形態では、ファイルセレク
トレジスタ28は、4Kデータメモリ12のアドレス範
囲全体にアクセスし得る12ビット幅のレジスタであ
る。
路14の入力に直接接続された出力を有する。ファイル
セレクトレジスタ28は、間接アドレシングモードのた
めのバンクアドレス値を格納および供給するために使用
される。ファイルセレクトレジスタ28は、データメモ
リ12のアドレス範囲全体にアクセスするのに十分なサ
イズである。図1に示す実施形態では、ファイルセレク
トレジスタ28は、4Kデータメモリ12のアドレス範
囲全体にアクセスし得る12ビット幅のレジスタであ
る。
【0049】間接アドレシングモードを設定するために
は、少なくとも1つのデータポインタレジスタ38がデ
ータメモリ12内に配備される。データメモリ12は複
数のアドレス位置34よりなる。図2に示す実施形態で
は、データメモリ12は複数のバンク36に分割される
線形の4Kメモリであり、各バンク36は256個のア
ドレス位置34を有する。データポインタレジスタ38
は、レジスタアドレスマップ内に留保される1つ以上の
仮想レジスタアドレス位置40を有する。各留保された
仮想レジスタアドレス位置40は、アクセスされると間
接アドレシングモードを開始し得る。
は、少なくとも1つのデータポインタレジスタ38がデ
ータメモリ12内に配備される。データメモリ12は複
数のアドレス位置34よりなる。図2に示す実施形態で
は、データメモリ12は複数のバンク36に分割される
線形の4Kメモリであり、各バンク36は256個のア
ドレス位置34を有する。データポインタレジスタ38
は、レジスタアドレスマップ内に留保される1つ以上の
仮想レジスタアドレス位置40を有する。各留保された
仮想レジスタアドレス位置40は、アクセスされると間
接アドレシングモードを開始し得る。
【0050】現在、5つのタイプの間接アドレスモード
がある。すなわち、単純間接アドレシング、自動ポスト
インクリメントを伴う間接アドレシング、自動ポストデ
クリメントを伴う間接アドレシング、自動プリインクリ
メントを伴う間接アドレシング、およびオフセットを伴
う間接アドレシングである。単純間接アドレシングモー
ドでは、オペランドのアドレスはデータポインタレジス
タ38に保持される。CPU32はデータポインタレジ
スタ38にアクセスしてアドレスを得、このアドレスを
用いてオペランドにアクセスし得る。自動インクリメン
トまたは自動デクリメントを伴う間接アドレシングは、
データポインタレジスタ38が、データアクセスの前に
インクリメントまたはデクリメントされる(すなわちプ
リインクリメントまたはプリデクリメント)か、または
データアクセスの後にインクリメントまたはデクリメン
トされる(すなわちポストインクリメントまたはポスト
デクリメント)間接アドレシングの形態である。オフセ
ットを伴う間接アドレシングモードでは、オペランドの
アドレスは、オフセット値をデータポインタレジスタ3
8の内容に加えることによって計算される。オフセット
値は、命令内に埋め込まれるか、またはさらに別のレジ
スタから得られ得る。本発明の本好適な実施形態では、
オフセット値は、アキュムレータまたは「動作」レジス
タである「w」レジスタから得られる。
がある。すなわち、単純間接アドレシング、自動ポスト
インクリメントを伴う間接アドレシング、自動ポストデ
クリメントを伴う間接アドレシング、自動プリインクリ
メントを伴う間接アドレシング、およびオフセットを伴
う間接アドレシングである。単純間接アドレシングモー
ドでは、オペランドのアドレスはデータポインタレジス
タ38に保持される。CPU32はデータポインタレジ
スタ38にアクセスしてアドレスを得、このアドレスを
用いてオペランドにアクセスし得る。自動インクリメン
トまたは自動デクリメントを伴う間接アドレシングは、
データポインタレジスタ38が、データアクセスの前に
インクリメントまたはデクリメントされる(すなわちプ
リインクリメントまたはプリデクリメント)か、または
データアクセスの後にインクリメントまたはデクリメン
トされる(すなわちポストインクリメントまたはポスト
デクリメント)間接アドレシングの形態である。オフセ
ットを伴う間接アドレシングモードでは、オペランドの
アドレスは、オフセット値をデータポインタレジスタ3
8の内容に加えることによって計算される。オフセット
値は、命令内に埋め込まれるか、またはさらに別のレジ
スタから得られ得る。本発明の本好適な実施形態では、
オフセット値は、アキュムレータまたは「動作」レジス
タである「w」レジスタから得られる。
【0051】データポインタレジスタ38は、データポ
インタレジスタ38が実現することを望む各間接アドレ
シングモードに対してデータメモリ12内に個別の仮想
レジスタアドレス位置40を必要とし得る。本発明の本
好適な実施形態では、上述の5つの間接アドレシングモ
ードを実現するためには、5つの仮想レジスタアドレス
位置40が必要である。しかし、データポインタレジス
タ38の使用によって、追加のまたはもっと少ない間接
アドレスモードを実現し得る。さらに、データメモリ1
2内に追加のデータポインタレジスタ38を配備しても
よい。各データポインタレジスタ38は、レジスタアド
レスマップ内に留保される1つ以上の仮想レジスタアド
レス位置40を有し得る。各留保された仮想レジスタア
ドレス位置40は、このアドレスが選択回路14からア
ドレスラッチに供給されると、関連するデータポインタ
レジスタ12のための間接アドレシングモードを開始し
得る。
インタレジスタ38が実現することを望む各間接アドレ
シングモードに対してデータメモリ12内に個別の仮想
レジスタアドレス位置40を必要とし得る。本発明の本
好適な実施形態では、上述の5つの間接アドレシングモ
ードを実現するためには、5つの仮想レジスタアドレス
位置40が必要である。しかし、データポインタレジス
タ38の使用によって、追加のまたはもっと少ない間接
アドレスモードを実現し得る。さらに、データメモリ1
2内に追加のデータポインタレジスタ38を配備しても
よい。各データポインタレジスタ38は、レジスタアド
レスマップ内に留保される1つ以上の仮想レジスタアド
レス位置40を有し得る。各留保された仮想レジスタア
ドレス位置40は、このアドレスが選択回路14からア
ドレスラッチに供給されると、関連するデータポインタ
レジスタ12のための間接アドレシングモードを開始し
得る。
【0052】本発明を特に好適な実施形態に関連して図
示および記述したが、本発明の精神および範囲から外れ
ることなく、形態および詳細において上記のおよび他の
変更が行われ得ることは、当業者には理解され得る。
示および記述したが、本発明の精神および範囲から外れ
ることなく、形態および詳細において上記のおよび他の
変更が行われ得ることは、当業者には理解され得る。
【0053】
【発明の効果】上述したように、本発明によれば、プロ
セッサアーキテクチャスキームが改良され、多数のアド
レシングスキームが可能となる。さらに、本発明のプロ
セッサアーキテクチャスキームにより、多数のバンクア
ドレス値生成源を有することが可能となる。また、プロ
セッサが、バンクセレクトレジスタ、従って割り込み要
求の前に実行されていた現在の命令のバンクアドレス値
を変更せずに、割り込み要求を扱うことが可能となる。
セッサアーキテクチャスキームが改良され、多数のアド
レシングスキームが可能となる。さらに、本発明のプロ
セッサアーキテクチャスキームにより、多数のバンクア
ドレス値生成源を有することが可能となる。また、プロ
セッサが、バンクセレクトレジスタ、従って割り込み要
求の前に実行されていた現在の命令のバンクアドレス値
を変更せずに、割り込み要求を扱うことが可能となる。
【図1】バンクアドレスを多数の生成源から生成するア
ドレシングシステムの簡略的なブロック図である。
ドレシングシステムの簡略的なブロック図である。
【図2】図1に示すアドレシングシステムと共に使用さ
れるプロセッサアーキテクチャスキームである。
れるプロセッサアーキテクチャスキームである。
10 システム 12 データメモリ 14 選択回路 16 アドレスラッチ 18 バンクセレクトレジスタ 20 データバス 22 命令レジスタ 24 命令復号化レジスタ 26 強制バンクレジスタ 28 ファイルセレクトレジスタ 32 CPU 34 アドレス位置 36 バンク 38 データポインタレジスタ 40 仮想レジスタアドレス位置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロドニー ジェイ. ディレイク アメリカ合衆国 アリゾナ 85044, フ ェニックス, サウス 40ティーエイチ ウェイ 14825 (72)発明者 サミット ミトラ アメリカ合衆国 アリゾナ 85284, テ ンピ, ハウス ナンバー 162, イー スト ワーナー ロード 1101
Claims (26)
- 【請求項1】 多数のアドレシングモードの符号化が可
能であり、また多数のバンクアドレス値生成源を有する
プロセッサアーキテクチャスキームであって、 命令セットを実行する中央処理ユニット(CPU)と、 該CPUに接続されデータを格納および転送するデータ
メモリであって、複数のバンクを有し、該複数のバンク
のうちの1つは汎用および特殊レジスタの専用バンクで
あるデータメモリと、 該データメモリに接続され、該多数のバンクアドレス値
生成源のうちの1つを選択する選択回路と、 該選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するバン
クセレクトレジスタと、 該選択回路に接続され、直接長アドレシングモードで実
行される命令のためのバンクアドレス値を供給し、また
該直接短アドレスモードで実行される該命令のためのバ
ンク内のレジスタアドレスを供給する命令レジスタと、
を組み合わせで含む、プロセッサアーキテクチャスキー
ム。 - 【請求項2】 前記命令レジスタが前記データメモリの
アドレス範囲全体にアクセスするのに十分な大きさであ
る、請求項1に記載の多数のアドレシングモードの符号
化が可能であり、また多数のバンクアドレス値生成源を
有するプロセッサアーキテクチャスキーム。 - 【請求項3】 前記データメモリが線形のアドレス範囲
である、請求項1に記載の多数のアドレシングモードの
符号化が可能であり、また多数のバンクアドレス値生成
源を有するプロセッサアーキテクチャスキーム。 - 【請求項4】 前記データメモリの前記バンクのそれぞ
れが256バイトのサイズである、請求項3に記載の多
数のアドレシングモードの符号化が可能であり、また多
数のバンクアドレス値生成源を有するプロセッサアーキ
テクチャスキーム。 - 【請求項5】 前記データメモリが16個のバンクを有
する、請求項3に記載の多数のアドレシングモードの符
号化が可能であり、また多数のバンクアドレス値生成源
を有するプロセッサアーキテクチャスキーム。 - 【請求項6】 前記選択回路に接続され、実行される現
在選択されているバンクアドレス値を変更せずにデータ
アクセスを強制的に前記専用バンクで行うようにするた
めに、該専用バンクのバンクアドレス値を供給する強制
専用バンクレジスタをさらに備えた、請求項3に記載の
多数のアドレシングモードの符号化が可能であり、また
多数のバンクアドレス値生成源を有するプロセッサアー
キテクチャスキーム。 - 【請求項7】 前記データメモリが該データメモリ内に
確立されるデータポインタレジスタに関連する専用仮想
レジスタアドレス位置を有し、該専用仮想レジスタアド
レス位置のそれぞれが、アクセスされると該データポイ
ンタレジスタと共に使用される個別で異なる間接アドレ
シングモードを指示および確立する、請求項3に記載の
多数のアドレシングモードの符号化が可能であり、また
多数のバンクアドレス値生成源を有するプロセッサアー
キテクチャスキーム。 - 【請求項8】 前記選択回路に接続され、間接アドレス
モードで実行される命令のためのバンクアドレス値を供
給するファイルセレクトレジスタをさらに備えた、請求
項7に記載の多数のアドレシングモードの符号化が可能
であり、また多数のバンクアドレス値生成源を有するプ
ロセッサアーキテクチャスキーム。 - 【請求項9】 前記ファイルセレクトレジスタが前記デ
ータメモリのアドレス範囲全体にアクセスするのに十分
な大きさである、請求項8に記載の多数のアドレシング
モードの符号化が可能であり、また多数のバンクアドレ
ス値生成源を有するプロセッサアーキテクチャスキー
ム。 - 【請求項10】 前記選択回路がマルチプレクサであ
る、請求項1に記載の多数のアドレシングモードの符号
化が可能であり、また多数のバンクアドレス値生成源を
有するプロセッサアーキテクチャスキーム。 - 【請求項11】 多数のアドレシングモードの符号化が
可能であり、また多数のバンクアドレス値生成源を有す
るプロセッサアーキテクチャスキームであって、 命令セットを実行する中央処理ユニット(CPU)と、 該CPUに接続され、線形のアドレス範囲と複数のバン
クとを有するデータメモリであって、該複数のバンクの
うちの1つは汎用および特殊レジスタの専用バンクであ
り、該データメモリ内に確立されるデータポインタレジ
スタに関連する専用仮想レジスタアドレス位置を有し、
該専用仮想レジスタアドレス位置は、アクセスされると
該データポインタレジスタと共に使用される個別で異な
る間接アドレシングモードを指示および確立する、デー
タメモリと、 該データメモリに接続され、該多数のバンクアドレス生
成源のうちの1つを選択する選択回路と、 該選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するバン
クセレクトレジスタと、 該選択回路に接続され、直接長アドレシングモードで実
行される命令のためのバンクアドレス値を供給し、また
該直接短アドレスモードで実行される該命令のためのバ
ンク内のレジスタアドレスを供給する命令レジスタと、 該選択回路に接続され、実行される現在選択されている
バンクアドレス値を変更せずにデータアクセスを強制的
に該専用バンクで行うようにするために、該専用バンク
のバンクアドレス値を供給する強制専用バンクレジスタ
と、 該選択回路に接続され、間接アドレスモードで実行され
る命令のためのバンクアドレス値を供給するファイルセ
レクトレジスタと、を組み合わせで含む、プロセッサア
ーキテクチャスキーム。 - 【請求項12】 前記命令レジスタが前記データメモリ
のアドレス範囲全体にアクセスするのに十分な大きさで
ある、請求項11に記載の多数のアドレシングモードの
符号化が可能であり、また多数のバンクアドレス値生成
源を有するプロセッサアーキテクチャスキーム。 - 【請求項13】 前記データメモリの前記バンクのそれ
ぞれが256バイト/語のサイズである、請求項11に
記載の多数のアドレシングモードの符号化が可能であ
り、また多数のバンクアドレス値生成源を有するプロセ
ッサアーキテクチャスキーム。 - 【請求項14】 前記データメモリが16個のバンクを
有する、請求項11に記載の多数のアドレシングモード
の符号化が可能であり、また多数のバンクアドレス値生
成源を有するプロセッサアーキテクチャスキーム。 - 【請求項15】 前記ファイルセレクトレジスタが前記
データメモリのアドレス範囲全体にアクセスするのに十
分な大きさである、請求項11に記載の多数のアドレシ
ングモードの符号化が可能であり、また多数のバンクア
ドレス値生成源を有するプロセッサアーキテクチャスキ
ーム。 - 【請求項16】 前記選択回路がマルチプレクサであ
る、請求項11に記載の多数のアドレシングモードの符
号化が可能であり、また多数のバンクアドレス値生成源
を有するプロセッサアーキテクチャスキーム。 - 【請求項17】 多数のアドレシングモードの符号化が
可能であり、また多数のバンクアドレス値生成源を有す
るプロセッサアーキテクチャスキームを設ける方法であ
って、 命令セットを実行する中央処理ユニット(CPU)を設
けるステップと、 該CPUに接続され、複数のバンクを有するデータメモ
リを設けるステップであって、該複数のバンクのうちの
1つは汎用および特殊レジスタの専用バンクである、ス
テップと、 該データメモリに接続され、該多数のバンクアドレス値
生成源のうちの1つを選択する選択回路を設けるステッ
プと、 該選択回路に接続され、直接短アドレシングモードで実
行される命令のためのバンクアドレス値を供給するバン
クセレクトレジスタを設けるステップと、 該選択回路に接続され、直接長アドレシングモードで実
行される命令のためのバンクアドレス値を供給し、また
直接短アドレスモードで実行される該命令のためのバン
ク内のレジスタアドレスを供給する命令レジスタを設け
るステップと、を包含する方法。 - 【請求項18】 前記命令レジスタを設けるステップ
が、前記データメモリのアドレス範囲全体にアクセスす
るのに十分な大きさである該命令レジスタを設けるステ
ップをさらに包含する、請求項17に記載の方法。 - 【請求項19】 前記データメモリを設けるステップ
が、線形のアドレス範囲を有する該データメモリを設け
るステップをさらに包含する、請求項17に記載の方
法。 - 【請求項20】 前記データメモリの前記バンクのそれ
ぞれが256バイトのサイズである、請求項19に記載
の方法。 - 【請求項21】 前記データメモリが16個のバンクを
有する、請求項19に記載の方法。 - 【請求項22】 前記選択回路に接続され、実行される
現在選択されているバンクアドレス値を変更せずにデー
タアクセスを強制的に前記専用バンクで行うようにする
ために、該専用バンクのバンクアドレス値を供給する強
制専用バンクレジスタを設けるステップをさらに包含す
る、請求項19に記載の方法。 - 【請求項23】 前記データメモリが該データメモリ内
に確立されるデータポインタレジスタに関連する専用仮
想レジスタアドレス位置を有し、該専用仮想レジスタア
ドレス位置のそれぞれが、アクセスされると該データポ
インタレジスタと共に使用される個別で異なる間接アド
レシングモードを指示および確立する、請求項19に記
載の方法。 - 【請求項24】 前記選択回路に接続され、間接アドレ
スモードで実行される命令のためのバンクアドレス値を
供給するファイルセレクトレジスタを設けるステップを
さらに包含する、請求項23に記載の方法。 - 【請求項25】 前記ファイルセレクトレジスタが、前
記データメモリのアドレス範囲全体にアクセスするのに
十分な大きさである、請求項24に記載の方法。 - 【請求項26】 前記選択回路がマルチプレクサであ
る、請求項17に記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/959.405 | 1997-10-28 | ||
| US08/959,405 US6029241A (en) | 1997-10-28 | 1997-10-28 | Processor architecture scheme having multiple bank address override sources for supplying address values and method therefor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11316679A true JPH11316679A (ja) | 1999-11-16 |
Family
ID=25502017
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10307561A Withdrawn JPH11316679A (ja) | 1997-10-28 | 1998-10-28 | 多数のバンクアドレス値供給源を有するプロセッサアーキテクチャスキームおよびその方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6029241A (ja) |
| EP (1) | EP0918279A3 (ja) |
| JP (1) | JPH11316679A (ja) |
| KR (1) | KR19990037572A (ja) |
| TW (1) | TW429345B (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010503073A (ja) * | 2006-08-31 | 2010-01-28 | クゥアルコム・インコーポレイテッド | 相対アドレス生成 |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6198691B1 (en) * | 1997-07-03 | 2001-03-06 | Microchip Technology Incorporated | Force page paging scheme for microcontrollers of various sizes using data random access memory |
| US6055211A (en) * | 1997-07-03 | 2000-04-25 | Microchip Technology Incorporated | Force page zero paging scheme for microcontrollers using data random access memory |
| US6708268B1 (en) * | 1999-03-26 | 2004-03-16 | Microchip Technology Incorporated | Microcontroller instruction set |
| WO2002010994A1 (en) * | 2000-07-28 | 2002-02-07 | Delvalley Limited | A data processor |
| DE10122309A1 (de) * | 2001-05-08 | 2002-11-21 | Systemonic Ag | Adressgeneriereinheit |
| TW200511111A (en) * | 2003-07-30 | 2005-03-16 | Koninkl Philips Electronics Nv | Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set |
| KR100897857B1 (ko) * | 2003-10-23 | 2009-05-15 | 마이크로칩 테크놀로지 인코포레이티드 | 마이크로컨트롤러 명령어 셋트 |
| KR100965196B1 (ko) | 2003-10-24 | 2010-06-24 | 마이크로칩 테크놀로지 인코포레이티드 | 스택 메모리로의 고속 액세스를 위한 방법 및 시스템 |
| US7996651B2 (en) * | 2007-11-30 | 2011-08-09 | Microchip Technology Incorporated | Enhanced microprocessor or microcontroller |
| 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 |
| US7996647B2 (en) | 2008-07-23 | 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 |
| US8799552B2 (en) * | 2009-02-11 | 2014-08-05 | Microchip Technology Incorporated | Microcontroller with special banking instructions |
| US9946482B2 (en) * | 2015-07-14 | 2018-04-17 | Microchip Technology Incorporated | Method for enlarging data memory in an existing microprocessor architecture with limited memory addressing |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4047245A (en) * | 1976-07-12 | 1977-09-06 | Western Electric Company, Incorporated | Indirect memory addressing |
| US4118773A (en) * | 1977-04-01 | 1978-10-03 | Honeywell Information Systems Inc. | Microprogram memory bank addressing system |
| US4685084A (en) * | 1985-06-07 | 1987-08-04 | Intel Corporation | Apparatus for selecting alternate addressing mode and read-only memory |
| JPH0454652A (ja) * | 1990-06-25 | 1992-02-21 | Nec Corp | マイクロコンピュータ |
| US5247644A (en) * | 1991-02-06 | 1993-09-21 | Advanced Micro Devices, Inc. | Processing system with improved sequential memory accessing |
| US5293591A (en) * | 1991-06-10 | 1994-03-08 | Advanced Micro Devices, Inc. | Processing system including memory selection of multiple memories and method in an interrupt environment |
-
1997
- 1997-10-28 US US08/959,405 patent/US6029241A/en not_active Expired - Lifetime
-
1998
- 1998-10-14 EP EP98119389A patent/EP0918279A3/en not_active Withdrawn
- 1998-10-28 JP JP10307561A patent/JPH11316679A/ja not_active Withdrawn
- 1998-10-28 KR KR1019980046745A patent/KR19990037572A/ko not_active Withdrawn
- 1998-11-16 TW TW087117816A patent/TW429345B/zh not_active IP Right Cessation
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010503073A (ja) * | 2006-08-31 | 2010-01-28 | クゥアルコム・インコーポレイテッド | 相対アドレス生成 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW429345B (en) | 2001-04-11 |
| US6029241A (en) | 2000-02-22 |
| EP0918279A2 (en) | 1999-05-26 |
| EP0918279A3 (en) | 1999-08-04 |
| KR19990037572A (ko) | 1999-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2679363B2 (ja) | マイクロプロセッサ | |
| US5819063A (en) | Method and data processing system for emulating a program | |
| US6021489A (en) | Apparatus and method for sharing a branch prediction unit in a microprocessor implementing a two instruction set architecture | |
| JPS59501684A (ja) | 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像 | |
| JPH11316679A (ja) | 多数のバンクアドレス値供給源を有するプロセッサアーキテクチャスキームおよびその方法 | |
| US6687808B2 (en) | Data processor using indirect register addressing | |
| US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
| EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
| US4491908A (en) | Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit | |
| JPH10187661A (ja) | コンピュータにおけるスカラ値をベクトルに記入する方法 | |
| JPH10228376A (ja) | 複数レジスタ命令を処理する方法及びプロセッサ | |
| EP0908812B1 (en) | Processor architecture scheme for implementing various addressing modes and method therefor | |
| US5987583A (en) | Processor architecture scheme and instruction set for maximizing available opcodes and address selection modes | |
| US5848436A (en) | Method and apparatus for efficiently providing data from a data storage medium to a processing entity | |
| EP0917048B1 (en) | Address generator and method for single-cycle indirect addressing | |
| JP3220714B2 (ja) | データramを用いたマイクロコントローラ用の強制ページゼロページング方法 | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| JPH1091528A (ja) | Lru機構を実現するための方法 | |
| EP0640912B1 (en) | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers | |
| KR19990087830A (ko) | 컴퓨터 장치, 컴파일러 방법 및 다중 캐시 라인 사전적재방법 | |
| EP0686922B1 (en) | Vector processing unit with reconfigurable data buffer | |
| EP0915416B1 (en) | System for allowing a two word instruction to be executed in a single cycle and method therefor | |
| US20050188183A1 (en) | Digital signal processor having data address generator with speculative register file | |
| JPH05250318A (ja) | マイクロプロセッサ | |
| JP2003532221A (ja) | ALU、Javaスタックおよび複数のスタックポインタを有するプロセッサ・アーキテクチャ |
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 |