JP2005505848A - 拡張アドレス指定可能空間を有したマイクロプロセッサ - Google Patents

拡張アドレス指定可能空間を有したマイクロプロセッサ Download PDF

Info

Publication number
JP2005505848A
JP2005505848A JP2003536868A JP2003536868A JP2005505848A JP 2005505848 A JP2005505848 A JP 2005505848A JP 2003536868 A JP2003536868 A JP 2003536868A JP 2003536868 A JP2003536868 A JP 2003536868A JP 2005505848 A JP2005505848 A JP 2005505848A
Authority
JP
Japan
Prior art keywords
memory area
microprocessor
instruction
address
memory
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.)
Pending
Application number
JP2003536868A
Other languages
English (en)
Inventor
フランク ローシュ
フィリップ バセット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of JP2005505848A publication Critical patent/JP2005505848A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space

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

処理装置(1)と、アドレス指定可能メモリ空間(2)に接続し、アクセスする手段(2)と、メモリ空間にアクセスする命令を含む命令群から命令を実行する手段とを備えたマイクロプロセッサで、前記メモリ空間は低位メモリ領域(2a)と拡張メモリ領域(2b)を有し、前記命令群は低位メモリにアクセスする第1命令グループと、拡張メモリ領域にアクセスする、第1命令グループとは別個の、第2命令グループとを有する。

Description

【技術分野】
【0001】
本発明はマイクロプロセッサに関し、より詳細には、マイクロプロセッサからメモリにアクセスする方法に関する。
【背景技術】
【0002】
マイクロプロセッサ、またはマイクロコントローラにより使用されるメモリは一般的に複数のメモリ域を有しており、各メモリ域はデータ項目の保存のために使用することができる。メモリ域に読み出しまたは書き込みのアクセスを実行する場合、マイクロプロセッサはメモリ域に対応するアドレスを生成し、マイクロプロセッサに接続したアドレスバスを介してメモリに送る必要がある。このため、メモリアドレスは、マイクロプロセッサがアクセス可能な各メモリ域を一意に識別するために十分なビット数を有する必要がある。例えば、64キロバイトのメモリは、該メモリの各メモリ域を一意に識別するために16ビットのアドレスを必要とする。
【0003】
メモリのサイズが一定のコストで増加する傾向にあるため、マイクロプロセッサがアクセス可能なアドレス空間のサイズも増加する必要がある。このためには、マイクロプロセッサは対応する数のラインを有するアドレスバスを備えなければならないため、マイクロプロセッサは必然的に構造とコマンドレジスタの両方において複雑になる。
【0004】
その構造を大幅に拡張することなく、マイクロプロセッサのアドレス指定可能空間を増加するため、マイクロプロセッサの処理装置内のページまたはセグメントレジスタを統合し、マイクロプロセッサにより実行される処理により生成されたアドレスに連結された追加の最上位のビットを保存することはすでに提案されてきた。マイクロプロセッサにより生成されたアドレスに連結された追加の最上位のビットを有するページまたはセグメントレジスタは、そのアドレス指定可能空間を増加する
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、この解決方法を実施するためには、ページまたはセグメントレジスタを管理するためにマイクロプロセッサのコマンドレジスタにコマンドを追加する必要がある。さらに、この解決方法は、マイクロプロセッサによるアドレス指定可能空間を相対的に隔離されたブロックに分割し、コンパイラをさらに制限することになる。
【0006】
もう一つの解決方法は、マイクロプロセッサの処理装置により操作されるアドレスに付加されたインデックスを使用することである。この方法によると大幅に処理は増えるが、増加するアドレス指定可能空間はわずかである。
【課題を解決するための手段】
【0007】
本発明の目的は、拡張アドレス指定機能を有しない複数のマイクロプロセッサとの互換性を保ちながら、既存のプログラムを修正する必要なく、上述の問題を解決したマイクロプロセッサを提供することにある。
【0008】
この目的は、処理装置と、アドレス指定可能メモリ空間と接続し、アクセスする手段と、前記メモリ空間へアクセスする命令を含む命令群から命令を実行する手段を備えたマイクロプロセッサを提供することにより達成される。
本発明によると、マイクロプロセッサによりアクセス可能なメモリ空間は、低位メモリ領域と拡張メモリ領域を有し、命令群は、前記低位メモリ領域にアクセスする命令を含む第1命令グループと、前記第1命令グループとは別個の、前記命令群の前記拡張メモリ領域にアクセスする命令をすべて集めた第2命令グループを含み、マイクロプロセッサはさらに、マイクロプロセッサが前記第1命令グループから命令を実行している間は記拡張メモリ領域へのアクセスを防止する手段を備えている。
本発明に係る1つの実施の形態によると、前記メモリ空間の各メモリ域は対応するアクセスアドレスに関連付けられており、マイクロプロセッサは、前記第1命令グループからの命令を実行しているとき、アクセスするメモリ域のアドレスを前記低位メモリ領域のメモリ域を示すように強制する手段を備えている。
【0009】
有利には、前記第2命令グループは、前記メモリ空間全体の任意のメモリ域のジャンプ命令とルーチンコール命令と、前記メモリ空間全体の任意のメモリ域とマイクロプロセッサの所定の内部レジスタとの間の命令のデータ転送命令のみを有する。
【0010】
好ましくは、前記メモリ空間の各メモリ域は対応するアクセスアドレスと関係付けられており、前記低位メモリ領域のメモリ域から直接アドレス指定モードで、前記第1命令グループからのジャンプ命令またはルーチンコール命令を実行する場合、マイクロプロセッサは前記低位メモリ領域のメモリ域を示すようにジャンプ先メモリ域のアドレスを保持する手段を有する。
【0011】
本発明に係る1つの実施の形態によると、前記第1命令グループは前記低位メモリ領域のメモリ域にアクセスする間接モードアドレス指定命令を有し、マイクロプロセッサは間接モードでアクセスを指定するポインタのアドレスと値を、後者が前記低位メモリ領域内に配置され、前記メモリ領域を指定するように強制する手段を有する。
【0012】
あるいは、前記第2命令グループは間接アドレス指定モードで前記拡張メモリ領域(2b)にアクセスする命令を有する。
【0013】
好ましくは、前記拡張メモリ領域の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記低位メモリ領域内に位置する。
【0014】
有利には、前記拡張メモリ領域の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記拡張メモリ領域内に位置する。
【0015】
本発明の1つの実施の形態によると、マイクロプロセッサは、アドレス指定可能空間全体にアクセスするように設計されたアドレスバスと、前記アドレス指定可能空間の任意のメモリ域に配置され、実行されるプログラム命令にアクセスすることを可能にする前記アドレスバスのサイズに対応するサイズのプログラムポインタレジスタとを備える。
【0016】
本発明の1つの実施の形態によると、前記低位メモリ領域は16ビットでアクセス可能であり、前記拡張メモリ領域は24ビットでアクセス可能である。
【発明を実施するための最良の形態】
【0017】
図1に示されるようにマイクロプロセッサの処理装置1は、アドレスバス4とデータバス3を介して、低位メモリ領域2aと拡張メモリ領域2b内に分散された少なくとも1つのプログラムメモリ領域と1つのデータメモリ領域を有するメモリ2で表されるアドレス指定可能メモリ空間に接続している。図1は、処理装置により実行される主アドレス指定機能を複数のブロック、すなわち、データメモリへの読み出しまたは書き込みのアドレス指定アクセス機能5、マイクロプロセッサによるプログラムの実行中にプログラムポインタ値を決定する機能6、および間接アドレス指定モードで使用されるポインタ値を決定する機能7で示している。機能5、6、7により決定されるアドレスは多重化部25に入力され、実行されるプログラム命令に従ってこれらの出力の1つが選択される。
【0018】
図2は、データメモリ領域とマイクロプロセッサの内部レジスタの間でデータを転送するためにメモリアアドレスを決定する機能5を示している。このため、処理装置1は通常、メモリで読み出されるまたは書き込まれるデータのアドレスを受け取る2バイト(16ビット)レジスタ31を有しており、アドレスは転送命令コードと組み合わせてプログラムメモリから読み出される。レジスタ31の内容は機能5の出力として提供される。
【0019】
本発明によると、アドレスバス4のサイズを、例えば、16から24ビット(3バイト)に拡張して、低位メモリ領域2a(000000hから00FFFFh)だけでなく拡張メモリ領域2b(010000hからFFFFFFh)へのアクセスを提供し、マイクロプロセッサの命令群内に限られた数の命令にだけアクセス可能な拡張アドレス指定モードを取り入れることにより、マイクロプロセッサ1によりアドレス指定可能な空間が拡張される。これらの命令は例えば、データを、メモリおよびマイクロプロセッサ内レジスタとの間で転送する、ジャンプ命令「JUMP」、ルーチンコール命令「CALL」、および転送命令「LOAD」と「STORE」である。
【0020】
したがって、アドレス指定空間全体は、既存の命令群に追加される、特定の命令、LDF、JPF、CALLFにのみアクセス可能となるため、この修正されたマイクロプロセッサは同様のマイクロプロセッサ用に書かれたプログラムとの互換性を保ちながら、これらの拡張アドレスモードを有することになる。
【0021】
このため、機能5はさらに、アクセスするメモリ域の拡張アドレスバイト(24ビット)を受け取る1バイトレジスタ32を有する。このバイトは転送命令コードとも関連している。レジスタ32の出力は、一方の入力を強制的にバイト00とする2入力多重化部33に入力される。この他に、レジスタ31の出力は他の多重化部34と、他方の入力側が1バイトインデックスレジスタ17の内容を受け取る16ビット加算器36に入力され、レジスタ31と17の内容はともに加算されて2バイトの結果が得られる。加算器36の出力側は多重化部34の入力側に接続しており、多重化部34の出力は多重化部33の出力に連結されて3バイトアドレスを形成し、多重化部35ともう1つの24ビット加算器37に入力される。24ビット加算器37の他方の入力側にはインデックスレジスタ17の内容が提供され、出力側は多重化部35の入力側に接続している。多重化部35の出力は機能5の出力に対応している。
【0022】
マイクロプロセッサにより実行される命令がマイクロプロセッサのメモリと内部レジスタの間、またはメモリ2の2つの領域間でデータを転送する命令である場合、多重化部25は制御されて機能5の出力を選択する。
【0023】
非拡張直接アドレス指定モードでデータ転送命令を実行する場合、多重化部33、34、および35は制御されて機能5の出力としてレジスタ31に保存されたアドレスが拡張バイトを強制的に0にして提供される。拡張直接アドレス指定モードLDFでデータ転送命令を実行する場合、多重化部33、34、および35は制御されて機能5の出力としてレジスタ31および32の連結された内容が提供される。非拡張インデックスアドレス指定モードでは、インデックスレジスタ17の内容が加算器36によりレジスタ31の内容に加算され、加算された結果が多重化部34により選択される。多重化部34の出力は多重化部33により選択された空バイトに連結され、こうして得られたアドレス値は多重化部35により機能5の出力として提供される。拡張インデックスアドレス指定モードでは、多重化部33と34は制御されレジスタ31と32の内容は連結され、加算器37に入力されてインデックスレジスタ17の内容と24ビット加算が実行される。多重化部35は加算器37の出力を機能5の出力として提供する。
【0024】
図3は、プログラムメモリから読み出される次の命令のアドレスである、プログラムカウンタを保存するレジスタの値を決定する機能6を示している。
【0025】
図では、処理装置は通常、ジャンプ命令に関連するジャンプアドレスがデータバス3から読み込まれるレジスタ11、12、14を有している。レジスタ11、12には、絶対または直接モードで、それぞれジャンプアドレスの最上位バイトと最下位バイトが読み込まれる。これらのレジスタの出力は連結されて第1多重化部18に入力される。また、相対アドレス指定モードでジャンプ値、例えば1バイト、を受け取るレジスタ14の出力側は24ビット加算器15を介して多重化部18の第2の入力側に接続している。多重化部18の出力側は、他方の入力側がインデックスレジスタ17に接続されたもう1つの24ビット加算器26に接続している。多重化部18と加算器26の出力側はそれぞれ、出力側が第3多重化部24の入力側に接続された第2多重化部23に接続している。多重化部24の出力は、プログラムカウンタ、PCの最下位バイトと最上位バイトを保存するレジスタ19、20の入力側に接続されている。該レジスタの出力は機能6の出力となる。この出力は、一方で、PC値をインクリメントする逐次インクリメンタ22に戻され、マイクロプロセッサが実行するプログラムの次の命令が読み出され、他方で、加算器15の入力側に戻され、レジスタ14に保存された相対ジャンプの値をプログラムカウンタの最新の値に追加することもできる。
【0026】
拡張メモリ領域2bに常駐するプログラム命令、このメモリ領域との間のジャンプまたはルーチンコール命令JPF、CALLFを実行可能にするため、機能6はさらに、レジスタ11、12に関連し、ジャンプアドレスを保存する第3レジスタ13を備えている。レジスタ13はジャンプアドレスの拡張バイトを有するようになっている。このレジスタの出力側は多重化部16の入力側に接続している。多重化部16の入力は、多重化部18に入力される前に他の2つのレジスタ11と12の出力と連結される。多重化部18は入力も出力も24ビット幅である。さらに、プログラムカウンタPCを有するレジスタは、プログラムカウンタの拡張バイトを保存する第3レジスタ21を備えている。このレジスタの出力は、一方で、他のPCレジスタ19、20と連結された後に、機能6の出力として提供される。レジスタ21の出力は、また他方で、多重化部16の入力に接続されている。インクリメンタ22と加算器26の出力はそれぞれ24ビット幅であるため、インクリメントと加算の動作は24ビットを介して実行される。
【0027】
実行される命令がジャンプ命令ではない場合、多重化部24は、PCレジスタ19、20、21の内容が提供されるインクリメンタ22の出力を選択し、1をインクリメントされたPCプログラムポインタを提供するように命令される。この出力はレジスタ19、20、21に入力され、プログラムメモリ領域の次のアドレスを読み出す。ここで、(16ビットアドレス指定可能空間で動作する)既存のプログラムの場合は、レジスタ21の値は0で、インクリメンタ22の出力値のままであることに注意されたい。
【0028】
実行される命令が、直接または絶対アドレス指定モードのジャンプ命令である場合、命令は、アドレスワードと関連した命令コードから構成され、関連するアドレスが2バイト(非拡張直接アドレス指定)を使用するか3バイト(拡張直接アドレス指定)を使用するかにより2つのケースに分かれる。非拡張直接アドレス指定モードの場合、多重化部16は制御されてレジスタ21の最新の値を選択する。この値は、ジャンプアドレスが保存されている2つのレジスタ11、12の値の出力と連結される。多重化部18、23、24は、制御されてこの連結されたアドレスをプログラムポインタのレジスタ19、20、21に送り、その後、機能6の出力となる。
【0029】
このように、マイクロプロセッサがジャンプ命令を非拡張直接モードで実行する場合、拡張PCレジスタ21の値は変化せずに保たれる一方、プログラムポインタの2つの他のレジスタ19と20は修正され、データバス3からレジスタ11、12を介して読み込まれる。
【0030】
拡張直接アドレス指定モードでは、多重化部16は制御されて、ジャンプアドレスの拡張バイトが保存されているレジスタ13の出力を選択し、その出力は、ジャンプアドレスの最下位バイトと最上位バイトが保存されている他の2つのレジスタ11、12の出力と連結される。こうして構成されたジャンプアドレスの拡張値はPCレジスタ19、20、21へ多重化部18、23、24を介して送られる。
【0031】
実行される命令が相対アドレス指定モードのジャンプ命令である場合、レジスタ14に保存されたジャンプ値は加算器15によりレジスタ19、20、21に保存されたプログラムポインタの値に加算される。こうして得られた結果は24ビット幅である。多重化部18、23、24は制御され加算器19の出力はPCレジスタ19、20、21に入力される。既存のプログラムの場合、加算器15により実行される加算はレジスタ21の内容を修正しないため、レジスタ21は0のままであることに注意されたい。
【0032】
実行される命令が絶対または相対インデックスアドレス指定モードのジャンプ命令である場合、インデックスレジスタ17の値は、加算器26により実行される24ビット加算処理時に、多重化部18により出力されるアドレスに加算され、多重化部23および24は制御されて加算器26により出力されるアドレスがPCレジスタ19、20、21に読み込まれるようになる。
【0033】
機能5および機能6で使用されるインデックスレジスタ17のサイズは、図2および3に示される論理回路の構造を変更することなく、8ビットから16ビットに有利に拡張してもよいことに注意されたい。図3では、回路を変更する必要なく、このレジスタのサイズは24ビットにも拡張することが可能である。
【0034】
図4から図6は、ポインタ算出を実行して間接アドレス指定モードを可能にする機能7の3つの変更例を示している。ここで得られたポインタ値は機能5または6の入力値として使用される。
【0035】
図4には単純化された変更例が示されている。このポインタ算出機能7は16ビットアドレスバスを備えたマイクロプロセッサ用に変更されてはおらず、これは本発明に係るマイクロプロセッサが操作するポインタはすべて非拡張メモリ領域2a(アドレス範囲は000000hから00FFFFh)に配置されることを示唆している。この機能は、従来のように、それぞれが処理するポインタの最下位バイトと最上位バイトを読み込む2個の1バイトレジスタ41、42を備えている。MSB(最上位バイト)レジスタ42の出力は、他方の入力を強制的に00hとし、出力がLSB(最下位バイト)アドレスレジスタ41の出力に連結された多重化部43に入力される。16ビットに連結された値は第2多重化部41と16ビットインクリメンタ44に送られる。インクリメンタの出力側は多重化部44の他方の入力側に接続されている。
【0036】
本発明では、この機能に24ビットアドレスバスとの互換性を持たせるため、16ビット多重化部44の出力に空バイトを付加して24ビットアドレスを形成している。
【0037】
8ビットポインタアドレス(アドレス指定可能メモリの256(28)第1バイト内に位置する、の場合、多重化部43は制御されてレジスタ41の内容に空バイトを付加する。1回目、多重化部45は、空バイトを付加されたレジスタ41の内容により与えられるポインタのMSBバイトのアドレスを機能7の出力として送るように命令される。2回目、ポインタのMSBバイトのアドレスはインクリメンタ44によりインクリメントされてから機能7の出力として送られる。16ビットポインタアドレスの場合、レジスタ41と42のそれぞれの内容は連結され、多重化部45とインクリメンタ44に入力される。
【0038】
レジスタ11、12、13を24ビットポインタの3つの連続するバイトで読み込む場合、図4に示される機能7は、図5に示されるように変更してもよい。この図では、機能7は、入力をインクリメンタ44の出力に接続したもう1つの16ビットインクリメンタ46を備えている。この他にも、多重化部45は第2インクリメンタ46の出力に接続した第3入力を有している。1回目、多重化部45は、レジスタ41と42により提供されるポインタの拡張バイトの16ビットアドレスを選択するように命令される。2回目、このアドレスはインクリメンタ44によりインクリメントされてポインタのMSBバイトアドレスが算出され、多重化部45により選択される。3回目、ポインタのMSBバイトのアドレスがインクリメンタ46でインクリメントされ、ポインタのMSBバイトが得られる。この値は多重化部45により選択される。これらの16ビットアドレスは、00hバイトを付加されて24ビット幅になった後、順次アドレス4に送られる。
【0039】
図4および図5に示されるように、機能7は、低位メモリ領域2aに常駐する1バイトアドレスまたは2バイトアドレスのポインタの処理を可能にする。当然この機能は、拡張メモリ領域2bに常駐する3バイトアドレスのポインタのアクセスできるように、図6に示されるようにさらに変更をしてもよい。この場合、ポインタの拡張バイトをデータバス3から読み込む第3レジスタ47と、処理するポインタが16ビット幅のときに、レジスタ47の内容か、またはバイト00hのいずれかを選択するもう1つの多重化部48を備えることで十分である。さらに、インクリメンタ44、可能な場合は、インクリメンタ46、多重化部47は、24ビット幅がよい。後者の出力は直接機能7の出力となる。レジスタ41と多重化部43および48の出力はそれぞれ、連結されて24ビットワードを形成し、多重化部45に送られ、その後、インクリメンタ44に送られ、場合によってはそこからインクリメンタ46に送られる。
【0040】
このような構成により、わずかの命令コードを追加するだけで、論理回路をほとんど増加することなく、しかも同様のマイクロプロセッサ用に書かれた16ビットアドレス指定可能空間にのみアクセス可能なプログラムとの互換性を保ちながら、大幅に増設されたアドレス指定可能空間(アドレスバスが1バイト拡張された場合は256倍)へのアクセスを可能にすることができる。
【0041】
低位メモリ領域2aに制限されたアドレス指定可能空間用に書かれたプログラムとの互換性を保つためには、割込ベクトルテーブルを維持すること、特に低位メモリ領域の再設定された割込ベクトルを維持し、このメモリ領域内の割込ベクトルにより示される割込ルーチンを保つだけで十分である。このようにすると、マイクロプロセッサが起動し、この値で保たれる場合、JPF命令またはCALLF命令が実行されない限りにおいて、拡張PCレジスタ21は00hとなる。
【0042】
本発明に係るマイクロプロセッサがそのようなプログラム内において直接アドレス指定モードデータにアクセスする命令を受けた場合、データアドレスの拡張部は図2の多重化部33により強制的に0になる。マイクロプロセッサが非拡張ジャンプ命令またはルーチンコール命令を受けた場合、多重化部16(図3)は制御されてレジスタ13の内容でPCレジスタの拡張部PCEを修正する。
【0043】
さらに、拡張アドレス指定可能空間にアクセスする手段を備えていないマイクロプロセッサ用に書かれた、本発明に係るマイクロプロセッサ用に設計されたプログラムからサブルーチンを呼び出すことが願われる場合、本プログラムは低位メモリ領域2aに常駐し、拡張バイトが0である24ビットルーチンでCALLF命令を使用すれば十分である。このようにして、多重化部16は制御されてPCレジスタの拡張部21はレジスタ13から0に設定される。
【0044】
以上、マイクロプロセッサのアドレスバス4を16ビットから24ビットに増設した例について説明した。当然のことながら、添付の特許請求の範囲に定義される本発明の範囲から逸脱することなく、他のサイズ、例えば20または32ビット、のアドレスバスを使用することができる。
【図面の簡単な説明】
【0045】
【図1】本発明に係るマイクロプロセッサの処理装置のアドレス指定機能の概要を示す図
【図2】図1に示された処理装置により実行されるメモリのデータ項目をアドレス指定する機能を論理回路図としてより詳細に説明する図
【図3】図1に示された処理装置のプログラムポインタ値を決定する機能を論理回路図としてより詳細に説明する図
【図4】図1に示された処理装置の間接アドレス指定モードで使用されるポインタ値を決定する機能の3つの変形例の1つを論理回路図としてより詳細に説明する図
【図5】図1に示された処理装置の間接アドレス指定モードで使用されるポインタ値を決定する機能の3つの変形例の1つを論理回路図としてより詳細に説明する図
【図6】図1に示された処理装置の間接アドレス指定モードで使用されるポインタ値を決定する機能の3つの変形例の1つを論理回路図としてより詳細に説明する図

Claims (10)

  1. 処理装置(1)と、アドレス指定可能メモリ空間(2)に接続してアクセスする手段と、前記メモリ空間にアクセスする命令を含む命令群から命令を実行する手段とを備え、前記メモリ空間が低位メモリ領域(2a)と拡張メモリ領域(2b)とを有したマイクロプロセッサにおいて、前記命令群が、前記低位メモリ領域(2a)にアクセスする命令を含む第1命令グループと、前記第1命令グループとは別個の、前記命令群の前記拡張メモリ領域にアクセスする命令をすべて集めた第2命令グループを含み、マイクロプロセッサはさらに、マイクロプロセッサが前記第1命令グループから命令を実行している間は記拡張メモリ領域へのアクセスを防止する手段を備えたことを特徴とするマイクロプロセッサ。
  2. 前記メモリ空間の各メモリ域は対応するアクセスアドレスに関連付けられており、マイクロプロセッサは、前記第1命令グループからの命令を実行している間、アクセスするメモリ域のアドレスを前記低位メモリ領域(2a)のメモリ域を示すように強制する手段を備えたことを特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記第2命令グループは、前記メモリ空間(2)全体の任意のメモリ域のジャンプ命令とルーチンコール命令と、前記メモリ空間(2)全体の任意のメモリ域とマイクロプロセッサの所定の内部レジスタとの間の命令のデータ転送命令のみを有することを特徴とする請求項1または請求項2に記載のマイクロプロセッサ。
  4. 前記メモリ空間の各メモリ域は対応するアクセスアドレスと関係付けられており、前記低位メモリ領域(2a)のメモリ域から直接アドレス指定モードで、前記第1命令グループからのジャンプ命令またはルーチンコール命令を実行する場合、マイクロプロセッサは前記低位メモリ領域のメモリ域を示すようにジャンプ先メモリ域のアドレスを保持する手段を有することを特徴とする請求項1から請求項3までのいずれかに記載のマイクロプロセッサ。
  5. 前記第1命令グループは前記低位メモリ領域(2a)のメモリ域にアクセスする間接モードアドレス指定命令を有し、マイクロプロセッサは間接モードでアクセスを指定するポインタのアドレスと値を、後者が前記低位メモリ領域内に配置され、前記メモリ領域を指定するように強制する手段を有することを特徴とする請求項1から請求項4までのいずれかに記載のマイクロプロセッサ。
  6. 前記第2命令グループは間接アドレス指定モードで前記拡張メモリ領域(2b)にアクセスする命令を有することを特徴とする請求項1から請求項4までのいずれかに記載のマイクロプロセッサ。
  7. 前記拡張メモリ領域(2b)の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記低位メモリ領域(2a)内に位置することを特徴とする請求項6に記載のマイクロプロセッサ。
  8. 前記拡張メモリ領域(2b)の間接指定モードで、アクセスするメモリ域のアドレスを決定する前記ポインタは、前記拡張メモリ領域(2b)内に位置することを特徴とする請求項6または請求項7に記載のマイクロプロセッサ。
  9. アドレス指定可能空間(2)全体にアクセスするように設計されたアドレスバス(4)と、前記アドレス指定可能空間(2)の任意のメモリ域に配置され、実行されるプログラム命令にアクセスすることを可能にする前記アドレスバスのサイズに対応するサイズのプログラムポインタレジスタ(19、20、21)とを備えたことを特徴とする請求項1から請求項8までのいずれかに記載のマイクロプロセッサ。
  10. 前記低位メモリ領域(2a)は16ビットでアクセス可能であり、前記拡張メモリ領域(2b)は24ビットでアクセス可能であることを特徴とする請求項1から請求項9までのいずれかに記載のマイクロプロセッサ。
JP2003536868A 2001-10-19 2002-10-11 拡張アドレス指定可能空間を有したマイクロプロセッサ Pending JP2005505848A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0113478A FR2831289B1 (fr) 2001-10-19 2001-10-19 Microprocesseur disposant d'un espace adressable etendu
PCT/FR2002/003481 WO2003034204A1 (fr) 2001-10-19 2002-10-11 Microprocesseur disposant d'un espace adressable etendu

Publications (1)

Publication Number Publication Date
JP2005505848A true JP2005505848A (ja) 2005-02-24

Family

ID=8868462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003536868A Pending JP2005505848A (ja) 2001-10-19 2002-10-11 拡張アドレス指定可能空間を有したマイクロプロセッサ

Country Status (6)

Country Link
US (1) US7370159B2 (ja)
EP (1) EP1436694B1 (ja)
JP (1) JP2005505848A (ja)
DE (1) DE60204036D1 (ja)
FR (1) FR2831289B1 (ja)
WO (1) WO2003034204A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
WO2008014817A1 (en) * 2006-08-01 2008-02-07 Freescale Semiconductor, Inc. Memory management unit and method of accessing an address
CN101436120B (zh) * 2007-08-17 2011-05-04 凹凸电子(武汉)有限公司 微控制器、执行指令的方法及电子系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423013A (en) * 1991-09-04 1995-06-06 International Business Machines Corporation System for addressing a very large memory with real or virtual addresses using address mode registers
US5566308A (en) * 1994-05-25 1996-10-15 National Semiconductor Corporation Processor core which provides a linear extension of an addressable memory space
US6192476B1 (en) * 1997-12-11 2001-02-20 Sun Microsystems, Inc. Controlling access to a resource
US6349380B1 (en) * 1999-03-12 2002-02-19 Intel Corporation Linear address extension and mapping to physical memory using 4 and 8 byte page table entries in a 32-bit microprocessor
US7171543B1 (en) * 2000-03-28 2007-01-30 Intel Corp. Method and apparatus for executing a 32-bit application by confining the application to a 32-bit address space subset in a 64-bit processor
US20030204745A1 (en) * 2002-04-29 2003-10-30 International Business Machines Corporation Method and system for protecting a processing system from a buffer overflow attack

Also Published As

Publication number Publication date
US20040243786A1 (en) 2004-12-02
EP1436694B1 (fr) 2005-05-04
US7370159B2 (en) 2008-05-06
FR2831289B1 (fr) 2004-01-23
EP1436694A1 (fr) 2004-07-14
FR2831289A1 (fr) 2003-04-25
WO2003034204A1 (fr) 2003-04-24
DE60204036D1 (de) 2005-06-09

Similar Documents

Publication Publication Date Title
JPH08179947A (ja) バイナリ・アプリケーション・プログラムとディジタル・コンピュータのインタフェースをとるためのアプリケーション・バイナリ・インタフェースおよび方法
KR20010030593A (ko) 디지털 신호 프로세싱 능력을 가진 데이터 프로세싱 유닛
JPS5855528B2 (ja) アドレス発生装置
US5357620A (en) Bit addressing system
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
KR19990036893A (ko) 다중 어드레싱 모드를 실행하는 프로세서 구조 및 그 설계방법
US5987583A (en) Processor architecture scheme and instruction set for maximizing available opcodes and address selection modes
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
JP2551167B2 (ja) マイクロコンピュータ
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
US4602330A (en) Data processor
JP2005505848A (ja) 拡張アドレス指定可能空間を有したマイクロプロセッサ
EP0220327B1 (en) Address expanding system
JPH027097B2 (ja)
KR19990037571A (ko) 단일 주기 내에 간접 어드레싱 모드 어드레스를 출력하는 데이터 포인터 및 그 제공방법
US20040044885A1 (en) Performing repeat string operations
US7124261B2 (en) Access to bit values within data words stored in a memory
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
JP2003196156A (ja) 情報処理装置および情報処理方法
JPS6032220B2 (ja) 情報処理装置
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
JP3190847B2 (ja) データ転送制御装置
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JP3517579B2 (ja) マイクロプロセッサ
JPS592938B2 (ja) メモリ ワ−クスペ−ス アンドレツシングホウホウオヨビソウチ