(57)【要約】処理装置（１）と、アドレス指定可能メモリ空間（２）に接続し、アクセスする手段（２）と、メモリ空間にアクセスする命令を含む命令群から命令を実行する手段とを備えたマイクロプロセッサで、前記メモリ空間は低位メモリ領域（２ａ）と拡張メモリ領域（２ｂ）を有し、前記命令群は低位メモリにアクセスする第１命令グループと、拡張メモリ領域にアクセスする、第１命令グループとは別個の、第２命令グループとを有する。
2005505848.tif 000002
【特許請求の範囲】
【請求項１】
処理装置（１）と、アドレス指定可能メモリ空間（２）に接続してアクセスする手段と、前記メモリ空間にアクセスする命令を含む命令群から命令を実行する手段とを備え、前記メモリ空間が低位メモリ領域（２ａ）と拡張メモリ領域（２ｂ）とを有したマイクロプロセッサにおいて、前記命令群が、前記低位メモリ領域（２ａ）にアクセスする命令を含む第１命令グループと、前記第１命令グループとは別個の、前記命令群の前記拡張メモリ領域にアクセスする命令をすべて集めた第２命令グループを含み、マイクロプロセッサはさらに、マイクロプロセッサが前記第１命令グループから命令を実行している間は記拡張メモリ領域へのアクセスを防止する手段を備えたことを特徴とするマイクロプロセッサ。
【請求項２】
前記メモリ空間の各メモリ域は対応するアクセスアドレスに関連付けられており、マイクロプロセッサは、前記第１命令グループからの命令を実行している間、アクセスするメモリ域のアドレスを前記低位メモリ領域（２ａ）のメモリ域を示すように強制する手段を備えたことを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項３】
前記第２命令グループは、前記メモリ空間（２）全体の任意のメモリ域のジャンプ命令とルーチンコール命令と、前記メモリ空間（２）全体の任意のメモリ域とマイクロプロセッサの所定の内部レジスタとの間の命令のデータ転送命令のみを有することを特徴とする請求項１または請求項２に記載のマイクロプロセッサ。
【請求項４】
前記メモリ空間の各メモリ域は対応するアクセスアドレスと関係付けられており、前記低位メモリ領域（２ａ）のメモリ域から直接アドレス指定モードで、前記第１命令グループからのジャンプ命令またはルーチンコール命令を実行する場合、マイクロプロセッサは前記低位メモリ領域のメモリ域を示すようにジャンプ先メモリ域のアドレスを保持する手段を有することを特徴とする請求項１から請求項３までのいずれかに記載のマイクロプロセッサ。
【請求項５】
前記第１命令グループは前記低位メモリ領域（２ａ）のメモリ域にアクセスする間接モードアドレス指定命令を有し、マイクロプロセッサは間接モードでアクセスを指定するポインタのアドレスと値を、後者が前記低位メモリ領域内に配置され、前記メモリ領域を指定するように強制する手段を有することを特徴とする請求項１から請求項４までのいずれかに記載のマイクロプロセッサ。
【請求項６】
前記第２命令グループは間接アドレス指定モードで前記拡張メモリ領域（２ｂ）にアクセスする命令を有することを特徴とする請求項１から請求項４までのいずれかに記載のマイクロプロセッサ。
【請求項７】
前記拡張メモリ領域（２ｂ）の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記低位メモリ領域（２ａ）内に位置することを特徴とする請求項６に記載のマイクロプロセッサ。
【請求項８】
前記拡張メモリ領域（２ｂ）の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記拡張メモリ領域（２ｂ）内に位置することを特徴とする請求項６または請求項７に記載のマイクロプロセッサ。
【請求項９】
アドレス指定可能空間（２）全体にアクセスするように設計されたアドレスバス（４）と、前記アドレス指定可能空間（２）の任意のメモリ域に配置され、実行されるプログラム命令にアクセスすることを可能にする前記アドレスバスのサイズに対応するサイズのプログラムポインタレジスタ（１９、２０、２１）とを備えたことを特徴とする請求項１から請求項８までのいずれかに記載のマイクロプロセッサ。
【請求項１０】
前記低位メモリ領域（２ａ）は１６ビットでアクセス可能であり、前記拡張メモリ領域（２ｂ）は２４ビットでアクセス可能であることを特徴とする請求項１から請求項９までのいずれかに記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプロセッサに関し、より詳細には、マイクロプロセッサからメモリにアクセスする方法に関する。
【背景技術】
【０００２】
マイクロプロセッサ、またはマイクロコントローラにより使用されるメモリは一般的に複数のメモリ域を有しており、各メモリ域はデータ項目の保存のために使用することができる。メモリ域に読み出しまたは書き込みのアクセスを実行する場合、マイクロプロセッサはメモリ域に対応するアドレスを生成し、マイクロプロセッサに接続したアドレスバスを介してメモリに送る必要がある。このため、メモリアドレスは、マイクロプロセッサがアクセス可能な各メモリ域を一意に識別するために十分なビット数を有する必要がある。例えば、６４キロバイトのメモリは、該メモリの各メモリ域を一意に識別するために１６ビットのアドレスを必要とする。
【０００３】
メモリのサイズが一定のコストで増加する傾向にあるため、マイクロプロセッサがアクセス可能なアドレス空間のサイズも増加する必要がある。このためには、マイクロプロセッサは対応する数のラインを有するアドレスバスを備えなければならないため、マイクロプロセッサは必然的に構造とコマンドレジスタの両方において複雑になる。
【０００４】
その構造を大幅に拡張することなく、マイクロプロセッサのアドレス指定可能空間を増加するため、マイクロプロセッサの処理装置内のページまたはセグメントレジスタを統合し、マイクロプロセッサにより実行される処理により生成されたアドレスに連結された追加の最上位のビットを保存することはすでに提案されてきた。マイクロプロセッサにより生成されたアドレスに連結された追加の最上位のビットを有するページまたはセグメントレジスタは、そのアドレス指定可能空間を増加する
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、この解決方法を実施するためには、ページまたはセグメントレジスタを管理するためにマイクロプロセッサのコマンドレジスタにコマンドを追加する必要がある。さらに、この解決方法は、マイクロプロセッサによるアドレス指定可能空間を相対的に隔離されたブロックに分割し、コンパイラをさらに制限することになる。
【０００６】
もう一つの解決方法は、マイクロプロセッサの処理装置により操作されるアドレスに付加されたインデックスを使用することである。この方法によると大幅に処理は増えるが、増加するアドレス指定可能空間はわずかである。
【課題を解決するための手段】
【０００７】
本発明の目的は、拡張アドレス指定機能を有しない複数のマイクロプロセッサとの互換性を保ちながら、既存のプログラムを修正する必要なく、上述の問題を解決したマイクロプロセッサを提供することにある。
【０００８】
この目的は、処理装置と、アドレス指定可能メモリ空間と接続し、アクセスする手段と、前記メモリ空間へアクセスする命令を含む命令群から命令を実行する手段を備えたマイクロプロセッサを提供することにより達成される。
本発明によると、マイクロプロセッサによりアクセス可能なメモリ空間は、低位メモリ領域と拡張メモリ領域を有し、命令群は、前記低位メモリ領域にアクセスする命令を含む第１命令グループと、前記第１命令グループとは別個の、前記命令群の前記拡張メモリ領域にアクセスする命令をすべて集めた第２命令グループを含み、マイクロプロセッサはさらに、マイクロプロセッサが前記第１命令グループから命令を実行している間は記拡張メモリ領域へのアクセスを防止する手段を備えている。
本発明に係る１つの実施の形態によると、前記メモリ空間の各メモリ域は対応するアクセスアドレスに関連付けられており、マイクロプロセッサは、前記第１命令グループからの命令を実行しているとき、アクセスするメモリ域のアドレスを前記低位メモリ領域のメモリ域を示すように強制する手段を備えている。
【０００９】
有利には、前記第２命令グループは、前記メモリ空間全体の任意のメモリ域のジャンプ命令とルーチンコール命令と、前記メモリ空間全体の任意のメモリ域とマイクロプロセッサの所定の内部レジスタとの間の命令のデータ転送命令のみを有する。
【００１０】
好ましくは、前記メモリ空間の各メモリ域は対応するアクセスアドレスと関係付けられており、前記低位メモリ領域のメモリ域から直接アドレス指定モードで、前記第１命令グループからのジャンプ命令またはルーチンコール命令を実行する場合、マイクロプロセッサは前記低位メモリ領域のメモリ域を示すようにジャンプ先メモリ域のアドレスを保持する手段を有する。
【００１１】
本発明に係る１つの実施の形態によると、前記第１命令グループは前記低位メモリ領域のメモリ域にアクセスする間接モードアドレス指定命令を有し、マイクロプロセッサは間接モードでアクセスを指定するポインタのアドレスと値を、後者が前記低位メモリ領域内に配置され、前記メモリ領域を指定するように強制する手段を有する。
【００１２】
あるいは、前記第２命令グループは間接アドレス指定モードで前記拡張メモリ領域（２ｂ）にアクセスする命令を有する。
【００１３】
好ましくは、前記拡張メモリ領域の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記低位メモリ領域内に位置する。
【００１４】
有利には、前記拡張メモリ領域の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記拡張メモリ領域内に位置する。
【００１５】
本発明の１つの実施の形態によると、マイクロプロセッサは、アドレス指定可能空間全体にアクセスするように設計されたアドレスバスと、前記アドレス指定可能空間の任意のメモリ域に配置され、実行されるプログラム命令にアクセスすることを可能にする前記アドレスバスのサイズに対応するサイズのプログラムポインタレジスタとを備える。
【００１６】
本発明の１つの実施の形態によると、前記低位メモリ領域は１６ビットでアクセス可能であり、前記拡張メモリ領域は２４ビットでアクセス可能である。
【発明を実施するための最良の形態】
【００１７】
図１に示されるようにマイクロプロセッサの処理装置１は、アドレスバス４とデータバス３を介して、低位メモリ領域２ａと拡張メモリ領域２ｂ内に分散された少なくとも１つのプログラムメモリ領域と１つのデータメモリ領域を有するメモリ２で表されるアドレス指定可能メモリ空間に接続している。図１は、処理装置により実行される主アドレス指定機能を複数のブロック、すなわち、データメモリへの読み出しまたは書き込みのアドレス指定アクセス機能５、マイクロプロセッサによるプログラムの実行中にプログラムポインタ値を決定する機能６、および間接アドレス指定モードで使用されるポインタ値を決定する機能７で示している。機能５、６、７により決定されるアドレスは多重化部２５に入力され、実行されるプログラム命令に従ってこれらの出力の１つが選択される。
【００１８】
図２は、データメモリ領域とマイクロプロセッサの内部レジスタの間でデータを転送するためにメモリアアドレスを決定する機能５を示している。このため、処理装置１は通常、メモリで読み出されるまたは書き込まれるデータのアドレスを受け取る２バイト（１６ビット）レジスタ３１を有しており、アドレスは転送命令コードと組み合わせてプログラムメモリから読み出される。レジスタ３１の内容は機能５の出力として提供される。
【００１９】
本発明によると、アドレスバス４のサイズを、例えば、１６から２４ビット（３バイト）に拡張して、低位メモリ領域２ａ（００００００ｈから００ＦＦＦＦｈ）だけでなく拡張メモリ領域２ｂ（０１００００ｈからＦＦＦＦＦＦｈ）へのアクセスを提供し、マイクロプロセッサの命令群内に限られた数の命令にだけアクセス可能な拡張アドレス指定モードを取り入れることにより、マイクロプロセッサ１によりアドレス指定可能な空間が拡張される。これらの命令は例えば、データを、メモリおよびマイクロプロセッサ内レジスタとの間で転送する、ジャンプ命令「ＪＵＭＰ」、ルーチンコール命令「ＣＡＬＬ」、および転送命令「ＬＯＡＤ」と「ＳＴＯＲＥ」である。
【００２０】
したがって、アドレス指定空間全体は、既存の命令群に追加される、特定の命令、ＬＤＦ、ＪＰＦ、ＣＡＬＬＦにのみアクセス可能となるため、この修正されたマイクロプロセッサは同様のマイクロプロセッサ用に書かれたプログラムとの互換性を保ちながら、これらの拡張アドレスモードを有することになる。
【００２１】
このため、機能５はさらに、アクセスするメモリ域の拡張アドレスバイト（２４ビット）を受け取る１バイトレジスタ３２を有する。このバイトは転送命令コードとも関連している。レジスタ３２の出力は、一方の入力を強制的にバイト００とする２入力多重化部３３に入力される。この他に、レジスタ３１の出力は他の多重化部３４と、他方の入力側が１バイトインデックスレジスタ１７の内容を受け取る１６ビット加算器３６に入力され、レジスタ３１と１７の内容はともに加算されて２バイトの結果が得られる。加算器３６の出力側は多重化部３４の入力側に接続しており、多重化部３４の出力は多重化部３３の出力に連結されて３バイトアドレスを形成し、多重化部３５ともう１つの２４ビット加算器３７に入力される。２４ビット加算器３７の他方の入力側にはインデックスレジスタ１７の内容が提供され、出力側は多重化部３５の入力側に接続している。多重化部３５の出力は機能５の出力に対応している。
【００２２】
マイクロプロセッサにより実行される命令がマイクロプロセッサのメモリと内部レジスタの間、またはメモリ２の２つの領域間でデータを転送する命令である場合、多重化部２５は制御されて機能５の出力を選択する。
【００２３】
非拡張直接アドレス指定モードでデータ転送命令を実行する場合、多重化部３３、３４、および３５は制御されて機能５の出力としてレジスタ３１に保存されたアドレスが拡張バイトを強制的に０にして提供される。拡張直接アドレス指定モードＬＤＦでデータ転送命令を実行する場合、多重化部３３、３４、および３５は制御されて機能５の出力としてレジスタ３１および３２の連結された内容が提供される。非拡張インデックスアドレス指定モードでは、インデックスレジスタ１７の内容が加算器３６によりレジスタ３１の内容に加算され、加算された結果が多重化部３４により選択される。多重化部３４の出力は多重化部３３により選択された空バイトに連結され、こうして得られたアドレス値は多重化部３５により機能５の出力として提供される。拡張インデックスアドレス指定モードでは、多重化部３３と３４は制御されレジスタ３１と３２の内容は連結され、加算器３７に入力されてインデックスレジスタ１７の内容と２４ビット加算が実行される。多重化部３５は加算器３７の出力を機能５の出力として提供する。
【００２４】
図３は、プログラムメモリから読み出される次の命令のアドレスである、プログラムカウンタを保存するレジスタの値を決定する機能６を示している。
【００２５】
図では、処理装置は通常、ジャンプ命令に関連するジャンプアドレスがデータバス３から読み込まれるレジスタ１１、１２、１４を有している。レジスタ１１、１２には、絶対または直接モードで、それぞれジャンプアドレスの最上位バイトと最下位バイトが読み込まれる。これらのレジスタの出力は連結されて第１多重化部１８に入力される。また、相対アドレス指定モードでジャンプ値、例えば１バイト、を受け取るレジスタ１４の出力側は２４ビット加算器１５を介して多重化部１８の第２の入力側に接続している。多重化部１８の出力側は、他方の入力側がインデックスレジスタ１７に接続されたもう１つの２４ビット加算器２６に接続している。多重化部１８と加算器２６の出力側はそれぞれ、出力側が第３多重化部２４の入力側に接続された第２多重化部２３に接続している。多重化部２４の出力は、プログラムカウンタ、ＰＣの最下位バイトと最上位バイトを保存するレジスタ１９、２０の入力側に接続されている。該レジスタの出力は機能６の出力となる。この出力は、一方で、ＰＣ値をインクリメントする逐次インクリメンタ２２に戻され、マイクロプロセッサが実行するプログラムの次の命令が読み出され、他方で、加算器１５の入力側に戻され、レジスタ１４に保存された相対ジャンプの値をプログラムカウンタの最新の値に追加することもできる。
【００２６】
拡張メモリ領域２ｂに常駐するプログラム命令、このメモリ領域との間のジャンプまたはルーチンコール命令ＪＰＦ、ＣＡＬＬＦを実行可能にするため、機能６はさらに、レジスタ１１、１２に関連し、ジャンプアドレスを保存する第３レジスタ１３を備えている。レジスタ１３はジャンプアドレスの拡張バイトを有するようになっている。このレジスタの出力側は多重化部１６の入力側に接続している。多重化部１６の入力は、多重化部１８に入力される前に他の２つのレジスタ１１と１２の出力と連結される。多重化部１８は入力も出力も２４ビット幅である。さらに、プログラムカウンタＰＣを有するレジスタは、プログラムカウンタの拡張バイトを保存する第３レジスタ２１を備えている。このレジスタの出力は、一方で、他のＰＣレジスタ１９、２０と連結された後に、機能６の出力として提供される。レジスタ２１の出力は、また他方で、多重化部１６の入力に接続されている。インクリメンタ２２と加算器２６の出力はそれぞれ２４ビット幅であるため、インクリメントと加算の動作は２４ビットを介して実行される。
【００２７】
実行される命令がジャンプ命令ではない場合、多重化部２４は、ＰＣレジスタ１９、２０、２１の内容が提供されるインクリメンタ２２の出力を選択し、１をインクリメントされたＰＣプログラムポインタを提供するように命令される。この出力はレジスタ１９、２０、２１に入力され、プログラムメモリ領域の次のアドレスを読み出す。ここで、（１６ビットアドレス指定可能空間で動作する）既存のプログラムの場合は、レジスタ２１の値は０で、インクリメンタ２２の出力値のままであることに注意されたい。
【００２８】
実行される命令が、直接または絶対アドレス指定モードのジャンプ命令である場合、命令は、アドレスワードと関連した命令コードから構成され、関連するアドレスが２バイト（非拡張直接アドレス指定）を使用するか３バイト（拡張直接アドレス指定）を使用するかにより２つのケースに分かれる。非拡張直接アドレス指定モードの場合、多重化部１６は制御されてレジスタ２１の最新の値を選択する。この値は、ジャンプアドレスが保存されている２つのレジスタ１１、１２の値の出力と連結される。多重化部１８、２３、２４は、制御されてこの連結されたアドレスをプログラムポインタのレジスタ１９、２０、２１に送り、その後、機能６の出力となる。
【００２９】
このように、マイクロプロセッサがジャンプ命令を非拡張直接モードで実行する場合、拡張ＰＣレジスタ２１の値は変化せずに保たれる一方、プログラムポインタの２つの他のレジスタ１９と２０は修正され、データバス３からレジスタ１１、１２を介して読み込まれる。
【００３０】
拡張直接アドレス指定モードでは、多重化部１６は制御されて、ジャンプアドレスの拡張バイトが保存されているレジスタ１３の出力を選択し、その出力は、ジャンプアドレスの最下位バイトと最上位バイトが保存されている他の２つのレジスタ１１、１２の出力と連結される。こうして構成されたジャンプアドレスの拡張値はＰＣレジスタ１９、２０、２１へ多重化部１８、２３、２４を介して送られる。
【００３１】
実行される命令が相対アドレス指定モードのジャンプ命令である場合、レジスタ１４に保存されたジャンプ値は加算器１５によりレジスタ１９、２０、２１に保存されたプログラムポインタの値に加算される。こうして得られた結果は２４ビット幅である。多重化部１８、２３、２４は制御され加算器１９の出力はＰＣレジスタ１９、２０、２１に入力される。既存のプログラムの場合、加算器１５により実行される加算はレジスタ２１の内容を修正しないため、レジスタ２１は０のままであることに注意されたい。
【００３２】
実行される命令が絶対または相対インデックスアドレス指定モードのジャンプ命令である場合、インデックスレジスタ１７の値は、加算器２６により実行される２４ビット加算処理時に、多重化部１８により出力されるアドレスに加算され、多重化部２３および２４は制御されて加算器２６により出力されるアドレスがＰＣレジスタ１９、２０、２１に読み込まれるようになる。
【００３３】
機能５および機能６で使用されるインデックスレジスタ１７のサイズは、図２および３に示される論理回路の構造を変更することなく、８ビットから１６ビットに有利に拡張してもよいことに注意されたい。図３では、回路を変更する必要なく、このレジスタのサイズは２４ビットにも拡張することが可能である。
【００３４】
図４から図６は、ポインタ算出を実行して間接アドレス指定モードを可能にする機能７の３つの変更例を示している。ここで得られたポインタ値は機能５または６の入力値として使用される。
【００３５】
図４には単純化された変更例が示されている。このポインタ算出機能７は１６ビットアドレスバスを備えたマイクロプロセッサ用に変更されてはおらず、これは本発明に係るマイクロプロセッサが操作するポインタはすべて非拡張メモリ領域２ａ（アドレス範囲は００００００ｈから００ＦＦＦＦｈ）に配置されることを示唆している。この機能は、従来のように、それぞれが処理するポインタの最下位バイトと最上位バイトを読み込む２個の１バイトレジスタ４１、４２を備えている。ＭＳＢ（最上位バイト）レジスタ４２の出力は、他方の入力を強制的に００ｈとし、出力がＬＳＢ（最下位バイト）アドレスレジスタ４１の出力に連結された多重化部４３に入力される。１６ビットに連結された値は第２多重化部４１と１６ビットインクリメンタ４４に送られる。インクリメンタの出力側は多重化部４４の他方の入力側に接続されている。
【００３６】
本発明では、この機能に２４ビットアドレスバスとの互換性を持たせるため、１６ビット多重化部４４の出力に空バイトを付加して２４ビットアドレスを形成している。
【００３７】
８ビットポインタアドレス（アドレス指定可能メモリの２５６（２8）第１バイト内に位置する、の場合、多重化部４３は制御されてレジスタ４１の内容に空バイトを付加する。１回目、多重化部４５は、空バイトを付加されたレジスタ４１の内容により与えられるポインタのＭＳＢバイトのアドレスを機能７の出力として送るように命令される。２回目、ポインタのＭＳＢバイトのアドレスはインクリメンタ４４によりインクリメントされてから機能７の出力として送られる。１６ビットポインタアドレスの場合、レジスタ４１と４２のそれぞれの内容は連結され、多重化部４５とインクリメンタ４４に入力される。
【００３８】
レジスタ１１、１２、１３を２４ビットポインタの３つの連続するバイトで読み込む場合、図４に示される機能７は、図５に示されるように変更してもよい。この図では、機能７は、入力をインクリメンタ４４の出力に接続したもう１つの１６ビットインクリメンタ４６を備えている。この他にも、多重化部４５は第２インクリメンタ４６の出力に接続した第３入力を有している。１回目、多重化部４５は、レジスタ４１と４２により提供されるポインタの拡張バイトの１６ビットアドレスを選択するように命令される。２回目、このアドレスはインクリメンタ４４によりインクリメントされてポインタのＭＳＢバイトアドレスが算出され、多重化部４５により選択される。３回目、ポインタのＭＳＢバイトのアドレスがインクリメンタ４６でインクリメントされ、ポインタのＭＳＢバイトが得られる。この値は多重化部４５により選択される。これらの１６ビットアドレスは、００ｈバイトを付加されて２４ビット幅になった後、順次アドレス４に送られる。
【００３９】
図４および図５に示されるように、機能７は、低位メモリ領域２ａに常駐する１バイトアドレスまたは２バイトアドレスのポインタの処理を可能にする。当然この機能は、拡張メモリ領域２ｂに常駐する３バイトアドレスのポインタのアクセスできるように、図６に示されるようにさらに変更をしてもよい。この場合、ポインタの拡張バイトをデータバス３から読み込む第３レジスタ４７と、処理するポインタが１６ビット幅のときに、レジスタ４７の内容か、またはバイト００ｈのいずれかを選択するもう１つの多重化部４８を備えることで十分である。さらに、インクリメンタ４４、可能な場合は、インクリメンタ４６、多重化部４７は、２４ビット幅がよい。後者の出力は直接機能７の出力となる。レジスタ４１と多重化部４３および４８の出力はそれぞれ、連結されて２４ビットワードを形成し、多重化部４５に送られ、その後、インクリメンタ４４に送られ、場合によってはそこからインクリメンタ４６に送られる。
【００４０】
このような構成により、わずかの命令コードを追加するだけで、論理回路をほとんど増加することなく、しかも同様のマイクロプロセッサ用に書かれた１６ビットアドレス指定可能空間にのみアクセス可能なプログラムとの互換性を保ちながら、大幅に増設されたアドレス指定可能空間（アドレスバスが１バイト拡張された場合は２５６倍）へのアクセスを可能にすることができる。
【００４１】
低位メモリ領域２ａに制限されたアドレス指定可能空間用に書かれたプログラムとの互換性を保つためには、割込ベクトルテーブルを維持すること、特に低位メモリ領域の再設定された割込ベクトルを維持し、このメモリ領域内の割込ベクトルにより示される割込ルーチンを保つだけで十分である。このようにすると、マイクロプロセッサが起動し、この値で保たれる場合、ＪＰＦ命令またはＣＡＬＬＦ命令が実行されない限りにおいて、拡張ＰＣレジスタ２１は００ｈとなる。
【００４２】
本発明に係るマイクロプロセッサがそのようなプログラム内において直接アドレス指定モードデータにアクセスする命令を受けた場合、データアドレスの拡張部は図２の多重化部３３により強制的に０になる。マイクロプロセッサが非拡張ジャンプ命令またはルーチンコール命令を受けた場合、多重化部１６（図３）は制御されてレジスタ１３の内容でＰＣレジスタの拡張部ＰＣＥを修正する。
【００４３】
さらに、拡張アドレス指定可能空間にアクセスする手段を備えていないマイクロプロセッサ用に書かれた、本発明に係るマイクロプロセッサ用に設計されたプログラムからサブルーチンを呼び出すことが願われる場合、本プログラムは低位メモリ領域２ａに常駐し、拡張バイトが０である２４ビットルーチンでＣＡＬＬＦ命令を使用すれば十分である。このようにして、多重化部１６は制御されてＰＣレジスタの拡張部２１はレジスタ１３から０に設定される。
【００４４】
以上、マイクロプロセッサのアドレスバス４を１６ビットから２４ビットに増設した例について説明した。当然のことながら、添付の特許請求の範囲に定義される本発明の範囲から逸脱することなく、他のサイズ、例えば２０または３２ビット、のアドレスバスを使用することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明に係るマイクロプロセッサの処理装置のアドレス指定機能の概要を示す図
【図２】図１に示された処理装置により実行されるメモリのデータ項目をアドレス指定する機能を論理回路図としてより詳細に説明する図
【図３】図１に示された処理装置のプログラムポインタ値を決定する機能を論理回路図としてより詳細に説明する図
【図４】図１に示された処理装置の間接アドレス指定モードで使用されるポインタ値を決定する機能の３つの変形例の１つを論理回路図としてより詳細に説明する図
【図５】図１に示された処理装置の間接アドレス指定モードで使用されるポインタ値を決定する機能の３つの変形例の１つを論理回路図としてより詳細に説明する図
【図６】図１に示された処理装置の間接アドレス指定モードで使用されるポインタ値を決定する機能の３つの変形例の１つを論理回路図としてより詳細に説明する図
【図１】
2005505848.tif 000003
【図２】
2005505848.tif 000004
【図３】
2005505848.tif 000005
【図４】
2005505848.tif 000006
【図５】
2005505848.tif 000007
【図６】
2005505848.tif 000008
【国際公開パンフレット】
2005505848.tif 000009
2005505848.tif 000010
2005505848.tif 000011
2005505848.tif 000012
2005505848.tif 000013
2005505848.tif 000014
2005505848.tif 000015
2005505848.tif 000016
2005505848.tif 000017
2005505848.tif 000018
2005505848.tif 000019
2005505848.tif 000020
2005505848.tif 000021
2005505848.tif 000022
2005505848.tif 000023
2005505848.tif 000024
2005505848.tif 000025
2005505848.tif 000026
2005505848.tif 000027
2005505848.tif 000028
2005505848.tif 000029
2005505848.tif 000030
2005505848.tif 000031
【国際調査報告】
2005505848.tif 000032
2005505848.tif 000033
2005505848.tif 000034
2005505848.tif 000035