JP2004520662A - 共通の名前を有する複数のレジスタへの選択的なアクセス - Google Patents

共通の名前を有する複数のレジスタへの選択的なアクセス Download PDF

Info

Publication number
JP2004520662A
JP2004520662A JP2003500728A JP2003500728A JP2004520662A JP 2004520662 A JP2004520662 A JP 2004520662A JP 2003500728 A JP2003500728 A JP 2003500728A JP 2003500728 A JP2003500728 A JP 2003500728A JP 2004520662 A JP2004520662 A JP 2004520662A
Authority
JP
Japan
Prior art keywords
register
condition
instruction
state
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003500728A
Other languages
English (en)
Other versions
JP4024751B2 (ja
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2004520662A publication Critical patent/JP2004520662A/ja
Application granted granted Critical
Publication of JP4024751B2 publication Critical patent/JP4024751B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/105Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems involving programming of a portable memory device, e.g. IC cards, "electronic purses"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本発明の実施形態は、レジスタバンク(50)に多数のレジスタを有するプロセッサ(22)である。前記レジスタは、共通のレジスタ名を有する汎用レジスタ(52a)とスタックポインタレジスタ(52b)とを有している。プロセッサ(22)は、共通のレジスタ名を参照するプログラム命令を実行するために、プログラミングに対応する論理を有している。この命令は、第1の条件下で汎用レジスタ(52a)を用い且つ第2の条件下でスタックポインタレジスタ(52b)を用いて実行される。したがって、特定の条件の成立に基づいて、同じ名前によって識別される複数のレジスタに選択的にアクセスすることができる。

Description

【0001】
(発明の背景)
本発明は、プログラム可能装置および/またはプログラミング方法に関する。特に、本発明は、同じプログラミング識別子を有するプログラム可能デバイスの複数のレジスタに選択的にアクセスするための技術に関するが、これに限られない。
【0002】
デジタルプロセッサおよび他のプログラム可能デバイスは、しばしば、個別にアクセス可能なハードウェアレジスタを有している。一般に、各レジスタは、固有のアセンブリ言語プログラミング名、すなわち、そのようなレジスタをオペランドとして使用するために対応するアセンブリ言語命令によって参照可能な「論理識別子」を有している。これに対し、低レベル実行可能形式にしたがった高レベルのアプリケーションプログラムは、ある程度まで、一般に、適切な演算のための所定のレジスタ構成によって決まる。
【0003】
時々、プロセッサのレジスタ構成を変更することが望ましい。1つの一般的な例において、利用可能なレジスタの総数は、更に能力がある「次世代」プロセッサを設計する努力の一端として増大される。他の例においては、既存の設計を修正する結果、1以上のハードウェアレジスタを追加する可能性がある。これらの努力に付随するものは、既に存在するプログラムとの互換性を維持するという目的である。
【0004】
したがって、プログラム可能デバイスのレジスタ構成に変更を行なうための新たな方法が現在において必要である。
【0005】
(発明の概要)
本発明の一実施形態は、複数のレジスタを使用する固有の技術である。本発明の他の実施形態は、共通のレジスタ名すなわち識別子を有するレジスタにアクセスする固有の装置、方法、システム、装置を含んでいる。
【0006】
本発明の更なる実施形態は、レジスタ名を共通に持つ第1のレジスタおよび第2のレジスタを有するプログラム化できるデバイスの動作を含んでいる。この名前は、プログラミング命令において参照される。プログラミング命令は、第1の条件が満たされる場合、第1のレジスタを用いて実行され、第2の条件が満たされる場合、第2のレジスタを用いて実行される。
【0007】
また、更なる実施形態は、多数のレジスタを有するプロセッサを動作させ、レジスタは、レジスタ識別子を共通に持つ汎用レジスタとスタックポインタレジスタとを有し、プログラミング命令を用いてこの識別子を参照し、所定の条件に基づいてスタックポインタレジスタおよび汎用レジスタの一方を用いてプログラミング命令を実行する。
【0008】
他の実施形態において、プロセッサは、共通の識別子を持つ第1のレジスタおよび第2のレジスタを有している。この識別子は、第1の条件下で第1のレジスタを用い且つ第2の条件下で第2のレジスタを用いて実行されるプログラミング命令によって参照される。第1の条件および第2の条件はそれぞれ、プロセッサを動作する共通のモード中に確立することができる。一形態においては、第1のレジスタが汎用タイプであり、第2のレジスタがスタックポインタを形成する。
【0009】
本発明の更に他の実施形態の場合、プロセッサは、レジスタ名を共通に持つ第1のレジスタおよび第2のレジスタを含む2つ以上のレジスタを有している。第1の条件下で、この名前は、第1のレジスタのメモリ空間に1つのポインタをロードするために参照される。第2の条件下でレジスタ名を参照して第2のレジスタのコンテンツを変更する他のプログラミング命令が実行される。これらのコンテンツは、第1のレジスタを用いて与えられたポインタに基づいて、メモリ空間内に記憶される。
【0010】
更に他の実施形態は、同じプログラミング識別子を持つ2つ以上のレジスタを有するプログラム可能デバイスを含んでいる。プログラミング命令によってこの識別子が参照されると、条件/状態に基づくアクセスのために、レジスタのうちの1つが選択される。レジスタのうちの1つへのアクセスは、他のレジスタよりも制限される。この制限は、より制約されたレジスタで実行されうるタイプの命令に関する条件または状態および/または制限の各成立のためのより制限されたレジスタで実行される命令量の制限でありうる。
【0011】
本発明の更なる実施形態においては、同じレジスタ名によって共に識別されるデフォルトのレジスタおよび代替レジスタを有するプログラム可能デバイスが動作される。所定の条件が定められない場合には、規定のレジスタを用いてこの名前を参照する多くの命令が実行される。この条件の設定の度に、規定のレジスタの代わりに代替レジスタを用いて命令を実行するために、所定の命令量の制限が与えられる。一形態において、この量制限はたった1つの命令であり、これにより、代替レジスタを用いて各命令を実行するために、所定の条件を再設定する必要がある。
【0012】
更なる実施形態は、プロセッサによる実行のためにプログラミング命令を伝える装置に関するものである。プロセッサは、レジスタ名を共通に持つ汎用レジスタおよびスタックポインタレジスタを有している。プログラミング命令は、スタックポインタアクセス条件を定め、この条件の成立に応じてレジスタ名を参照することによりスタックポインタレジスタにメモリポインタをロードし、レジスタ名を参照してスタックポインタアクセス条件と異なる動作条件で汎用レジスタを用いてユーザルーチンを実行し、スタックポインタレジスタアクセス条件を再設定するとともに、割り込みに応じてポインタに基づき汎用レジスタのコンテンツをメモリ内に記憶し、汎用レジスタを用いて割り込みルーチンを実行し、割り込みルーチンの実行後にポインタに基づいて汎用レジスタのコンテンツをメモリからリストアするように実施可能である。
【0013】
したがって、本発明の1つの目的は、複数のレジスタを使用する固有の技術を提供することである。
【0014】
本発明の他の目的は、共通の名前を有する複数のレジスタに関与する固有のデバイス、方法、システム、装置を提供することである。
【0015】
本発明の更なる目的、実施形態、形式、特徴、利点、効果は、明細書本文及びこれに含まれる図面から明らかとなる。
【0016】
(特定の実施形態の詳細な説明)
本発明は、多くの様々な形態で具体化することができるが、本発明の原理の理解を促すため、図面に示された実施形態を参照するとともに、この実施形態を説明するために特定の専門用語を使用する。しかしながら、無論、それによって本発明の範囲が限定されるものではない。また、本発明の関連技術の当業者が普通に考えるように、ここで説明する実施形態を任意に変更したり更に改良することも考えられ、また、ここで説明する本発明の原理における任意の更なる用途も考えられる。
【0017】
本発明の一実施形態において、プロセッサは、同じアセンブリ言語識別子によって参照される汎用レジスタおよびスタック・ポインタ・レジスタを有している。この識別子が1つのアセンブリ言語命令によって参照されると、参照に対する必須条件として所定のプログラム演算状態が形成されていない場合、汎用レジスタを用いて命令が実行される。さもなければ、スタック・ポインタ・レジスタへのアクセスおよびスタック・ポインタ・レジスタを用いた実行は、汎用レジスタを用いて行なうことができる命令の一部に抑えられ或は制限される可能性がある。また、これに加えて、あるいは、これに代えて、動作状態が定められる度に、スタック・ポインタ・レジスタを用いて命令を実行する際、所定の命令制限量が課されても良い。
【0018】
図1は、本発明の他の実施形態の処理システム20を示している。処理システム20は、プロセッサ22と、メモリ24と、周辺回路26とを有している。プロセッサ22は、データバスDおよびアドレスバスAによってメモリ24に動作可能に接続されるとともに、標準的な態様でメモリ24と連動するように配置されている。プロセッサ22は、図1に概略的に示される多数の論理演算子28を有している。演算子28はメモリ読み取り論理30を有している。このメモリ読み取り論理30は、データバスDに接続されて、更なる処理を実行できるまでメモリ24からロードされた情報を選択的に受けて保持する。この情報は、実行可能なマイクロコード形式でプロセッサ22のプログラム命令を含んでいる。一実施形態において、読み取り論理30は、命令を先取りして命令パイプラインを形成するような演算が可能である。これに加えて、あるは、これに代え、読み取り論理30を用いて他のデータ形式を記憶し且つメモリ24から読み取ることができる。読み取り論理30は、1以上のレジスタ、レジスタファイル、キャッシュおよび/またはデータや命令を予備的処理するように動作可能な他のローカル高速メモリ構成を有していても良い。
【0019】
また、演算子28は、周辺回路26に動作可能に接続されたデコード・制御論理32を有している。デコード・制御論理32は、読み取り論理30から受けた命令をデコードして、プロセッサ22の演算を適切な状態で指揮するとともに、プロセッサ22の他の演算子28に対して制御信号を方向付ける。これらの制御関係が、矢印を伴う接続ラインで概略的に示されている。これに加えて、あるは、これに代え、デコード・制御論理32は、回路26からの入力に応答し、それに応じてプロセッサ22の演算を指揮する。また、デコード・制御論理32は、様々な状態を形成して、回路26が応答する出力を制御することができる。限定されない一例として、プロセッサ22から回路26への出力は、当業者が考えるように、プロセッサのモード状態、メモリインタフェース、デジタル・アナログ(D/A)変換、コプロセス(相互処理)、データ通信および/または、1以上の様々な出力信号タイプに関与していても良い。回路26からプロセッサ22への入力は、当業者が考えるように、1以上のハードウェア割り込み、プロセッサリセットおよび/またはサスペンド演算信号、1以上のクロック信号またはタイミング信号、1以上のプロセッサ・コンフィギュレーション信号、アナログ・デジタル(A/D)変換信号、データ通信信号および/または、1以上の様々な入力信号タイプを含んでいても良い。
【0020】
プロセッサ22においては、デコード・制御論理32に応答する多数の他の演算子28が示されている。これらの演算子28には、前述した読み取り論理30の他、書き込み論理34と、アドレス論理36と、演算論理ユニット(ALU)38と、レジスタバンク50とが含まれる。書き込み論理34は、プロセッサ22からメモリ24にデータを書き込むために設けられており、出力のためのデータを保持する1以上のレジスタを有していても良い。アドレス論理36は、読み取り論理30および書き込み論理34をそれぞれ用いた読み取り・書き込み演算においてアドレスバスA上にアドレスを与えるための1以上のレジスタを有している。また、アドレス論理36は、必要に応じてアドレスを増減する論理を有していても良い。ALU38は、デコード・制御論理32によってデコードされた命令にしたがって、メモリ24および/またはレジスタバンク50から供給されたデータに関して算術および論理演算を行なう。レジスタバンク50は、図2および図3に基づいて後述するように、様々な汎用レジスタおよび専用レジスタから成る。
【0021】
図示のように、プロセッサ22は、集積回路デバイス40の形態を成している。また、プロセッサ22は、2つ以上の構成要素および/または様々な種類の構成要素から成っていても良い。プロセッサ22は、アナログ回路、デジタル回路、あるいは、これらの組み合わせを有していても良い。プロセッサ22の演算は、ソフトウェア、ファームウェアおよび/またはハードウェアに組み込まれた専用のステートマシン形式の論理を用いて、少なくとも部分的にプログラムされていても良い。一実施形態において、プロセッサ22は、アドバンストRISCマシン社から提供されるプロセッサのARM7またはARM9シリーズの32ビットの縮小命令セット・コンピュータ(RISC)として動作するように設けられている。
【0022】
メモリ24は、固体電子タイプの1以上の部品を備えていても良く、また、これに加え、あるいは、これに代えて、他のタイプのもの、例えば数例を挙げると、磁気または光学といったタイプのものを有していても良い。例えば、メモリ24は、固体電子ランダムアクセスメモリ(RAM)、連続アクセス可能メモリ(SAM)(例えば、先入れ先出し(FIFO)系、または、後入れ先出し(LIFO)系)、プログラム可能読み出し専用メモリ(PROM)、電気的プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、光ディスクメモリ(例えばCD ROM)、磁気的にエンコードされたハードディスク、フロッピーディスク、テープ、カートリッジ媒体、あるいは、これらのタイプの任意の組み合わせを有していても良い。また、メモリ24は、揮発性、非揮発性であっても良く、あるいは、揮発性と非揮発性とのハイブリットな組み合わせであっても良い。
【0023】
プロセッサ22は、複数の考えられる動作モードで命令を実行することができる。この場合、1つのモードが一時に作動する。1つのモードから他のモードへの変更は、当業者が考えるように、一般に、プログラミング、外部割り込み、または、他の例外処理によって生じる。プロセッサ22の様々な動作モードは、ユーザルーチンを実行するユーザモードと、システム管理ルーチンを実行するためのスーパーバイザーモード等の1以上の特権モードと、割り込み処理ルーチンを実行するための1以上の割り込みモードとを含んでいる。一般に、特権モードがトリガーされ、これによって、ユーザモードでユーザプログラムまたはルーチンが実行される際に生じる例外を処理するように、アプリケーションが設けられる。
【0024】
図2に示されるように、レジスタバンク50は、汎用レジスタセット52を有している。
【0025】
レジスタセット52の構成要素は、ユーザモードと1以上の特権モード等のプロセッサ22の2つ以上の動作モード間でアクセスすることができる汎用ハードウェアレジスタである。セット52の各ハードウェアレジスタは、プログラミング識別子、すなわち、シリーズR0、R1、......Rnに対応する名前で示されている。この場合、nはインデックス整数であり、セット52の汎用レジスタの総数はnよりも大きい数である。ARM7 RISKプロセッサに基づく実施形態の場合、汎用レジスタオペランドR0からR7は、全ての動作モードに共通であり、また、レジスタオペランドR8からR12は、1つのモードを除く全てに共通である。
【0026】
アセンブリレベルプログラミングの場合、所定のレジスタのプログラミング名、例えば「R0」は、アセンブリ命令によって参照され、これによって、対応するハードウェアレジスタがプログラムオペランドとして使用される。無論、モードが変更される場合、レジスタセット52中のレジスタのコンテンツは、次のモードでアクセスして変更することができる。したがって、幾つかの実施形態においては、1以上の汎用ハードウェアレジスタのコンテンツをモード変更の一部として保存するために、メモリスタックが形成される。1つの一般的な例においては、ユーザモードで実行するルーチンが中断され、特権モードで割り込み処理を実行する。この例の場合、割り込み処理は、一般に、汎用レジスタのユーザモード状態をメモリスタック内に保存するとともに、割り込みを行ない、メモリスタックから汎用レジスタのユーザモード状態をリストアし、ユーザモードに戻してユーザルーチンを再開する。
【0027】
また、レジスタバンク50は、プライベートレジスタセット54を有している。レジスタセット54の各構成要素は、プロセッサ22の特定の動作モードに固有のものである。レジスタセット54の構成要素は、一般に、シリーズRm、Rm+1、....、Rp(m=n+1)にしたがって名付けられ、各動作モードに専用のレジスタを区別するために幾つかの更なる名称を含んでいても良いが、共通の数値表示を有している。例えば、ARM7という名称は、様々な動作モード毎にプライベート「R13」レジスタを示すために、R13、R13 fiq、R13 svc、R13abt、R13 irq、R13 undを使用する。プライベート‘R14’レジスタにおいても同様の表示が使用される。
【0028】
したがって、セット52内の異なるレジスタ、セット54のプライベートレジスタのコンテンツは、保存してメモリスタックから状態をリストアする必要なく、保護される。
【0029】
レジスタ56は、全てのモードに共通で且つ一般的な方法で使用される標準的なプログラムカウンタ(PC)レジスタである。一般状態レジスタ58(あるいは、所定のレジスタSR)は、プロセッサ22の現在使用中の動作モードで実行するプログラムを反映する動作および様々な条件の状態を与える。一般状態レジスタ58は、全てのプロセッサ動作モードによって共有される。また、レジスタバンク50には、動作の特権モードのそれぞれのための固有状態保存レジスタ(USR)を有するレジスタセット59が設けられている。レジスタセット59の構成要素はそれぞれ、1つのモードから次のモードに切り換わる時に一般状態レジスタ58のコンテンツを保存するように構成されている。したがって、セット59内のレジスタは、特定の状況下で先に実行されたモードに戻る際に、状態レジスタSRをリストアする。ARM7の実施形態の場合、レジスタ58は、オペランド名CPSRによって示され、また、レジスタセット59の構成要素は、SPSR fig、SPSR svc、SPSR abt、SPSR irq、SPSR undによって示される。
【0030】
特定の場合、動作を促進するためには、1以上の別個のレジスタが望ましいことが分かっている。また、既存のレジスタと同じ名前によって命令をプログラムする際に、この別個のレジスタを参照することができることも分かっている。所定の動作モードにおいて、既存のレジスタは1つの状況下で参照されるが、スタックポインタレジスタは、異なる状況下で参照される。1つの形態においては、既存のレジスタが汎用タイプであり、加えられたレジスタは、セット52の汎用レジスタを保存してリストアするための専用のスタックポインタとして設けられる。このような構成は、メモリスタックを参照して汎用レジスタコンテンツを保存および/または読み込んだりする専用のスタックポインタが存在しない幾つかの実施形態において望ましい。
【0031】
図4は、そのような実施形態を実現するための詳細を示している。図4に示されるように、レジスタバンク50は、汎用レジスタ52aと、レジスタセット52に対応するスタックポインタ(SP)レジスタ52bとを備えている。レジスタ52a、52bはそれぞれ、プロセッサ22の異なるハードウェアレジスタとして設けられており、共通のアセンブリ言語プログラミング名R0によって参照される。無論、他の実施形態においては、異なる名前を選択することができる。プログラム命令によってレジスタ名R0が参照されると、通常、スタックポインタレジスタ52bへのアクセスを示すために状態レジスタ58に1ビットが設定されていない場合には汎用レジスタ52aがアクセスされる。したがって、状態ビットの2つの状態は、2つの状況を与える。この場合、1つの状況は、汎用レジスタ52aを用いてR0への命令参照を実行できる状況であり、他の状況は、スタックポインタレジスタ52bを用いてR0への命令参照を実行できる状況である。
【0032】
また、スタックポインタレジスタ52bを用いてR0を参照する命令を実行できる状況は、命令のタイプによって決まる。具体的には、汎用レジスタ52aを用いて実施可能なプログラミング命令の一部だけが、状態ポインタレジスタ52bを用いて実施可能である。この一部には、ロード・マルチプル・レジスタ(LDM)命令、ストア・マルチプル・レジスタ(STM)命令、ムーブ・レジスタ(MOV)命令が含まれる。この場合、デコード・制御論理32のLDM状態マシン32a、STM状態マシン32b、MOV状態マシン32cがそれぞれ図4に示されている。これらの表示は、ARMの実施形態における同様の命令記憶術と一致している。状態マシン32a、32b、32cは、状態レジスタ58に接続され、対応する前述したスタックポインタアクセスビットにアクセスする。レジスタ52a、52b間での状態マシン32a、32b、32cの選択性を表わすために、図4にはスイッチ60が示されている。他の実施形態においては、多数または少数の命令を有する異なる命令サブセットを使用して、スタックポインタレジスタ52bにアクセスでき、あるいは、そのような限定が存在し得ないことは言うまでもない。
【0033】
図3Aおよび図3Bの手続き120は、マルチプロセッサ動作モードでのレジスタ52a、52bの一実施形態を示している。手続き120は、初期設定ルーチン130で開始される。ルーチン130では、工程132において状態レジスタ58で所定ビットを設定することにより、スタックポインタレジスタ52bへのアクセスが可能となる。工程134では、メモリ24内の所定のメモリスタック空間へのポインタとして機能するべく、メモリ場所がスタックポインタレジスタ52bにロードされる。工程134では、汎用レジスタ52aの代わりにスタックポインタレジスタ52bをロードするため、MOV状態マシン32cが使用される。他の実施形態においては、汎用レジスタ52aのコンテンツもスタックポインタレジスタ52bと同じ方法で状態マシン32cにより変更される。ARM7の実施形態の場合、ARM7状態レジスタCPSRの例えば24ビットといった確保された状態レジスタビットを使用して、実行が汎用レジスタ52aを用いて行なわれるのか或はスタックポインタレジスタ52bを用いて行なわれるのかを決定することができる。この実施においては、命令MSR CPSR flg、#0x01000000にしたがって状態レジスタCPSRを設定することにより、工程132を実行することができ、また、以下のようなムーブレジスタ命令、すなわち、MOV R0,#Stack Locationを用いて工程132を実行することができる。ここで、「Stack Location」は、ポインタとしてロードされるアドレスを示している。
【0034】
工程134から、条件節136に達する。スタックポインタレジスタ52bへアクセスできるように状態レジスタ58が設定される度に、実行が汎用レジスタ52aに自動的に切換復帰する前に、限られた量の命令だけを実行することができる。条件節136は、この命令量の限界を検査する。限界量に達していない場合には、工程138に移行する。工程138では、次の命令がレジスタR0を参照し且つ状態マシン32a、32b、32cのうちの1つに対応するタイプである場合に、その命令がスタックポインタレジスタ52bを用いて実行されるといった条件下で、次の命令を実行する。次の命令が実行された後、ルーチン130は、再び戻って、条件節136を用いて命令量の限界を検査する。限界量に達すると直ちに、初期設定ルーチン130が終了する。一実施形態において、命令量の限界は、1つの命令だけに対して予め設定される。これにより、条件節136が真となる前に、1つの命令だけを実行することができる。この実施形態の場合、条件節136は、常に、工程134の後に真となり、これにより、工程138は決して実行されない。他の実施形態においては、当業者であれば分かるように、異なる命令限界量および/または実行を制限する異なる方法を使用することができる。
【0035】
手続き120は、ルーチン130から、ユーザモードルーチン140へと続く。ルーチン140において、工程142は、スタックポインタレジスタ52bの代わりに汎用レジスタ52aを用いて、共通のレジスタ名R0を参照する各命令が実行されることを示している。ルーチン140は、工程142から、プログラムが終了したか否かを検査する条件節144へと続く。プログラムが終了した場合には、手続き120が中断される。条件節144の検査によってプログラムが終了していない場合には、条件節146へと移行する。ここでは、特権動作モードへの変更が成されたか否かを検査する。条件節146の検査が真でない場合、ルーチン140は、工程142にループバックし、スタックポインタレジスタ52bの代わりにレジスタR0への各命令参照を用いて、汎用レジスタ52aにアウセスし続ける。条件節146の検査が真である場合には、ルーチン140が終了する。
【0036】
特に図3Bに示されるように、手続き120は、ルーチン140から、割込み処理ルーチン等の特権モードルーチン152へと続く。ルーチン150は、ルーチン130に関して前述した工程132でのレジスタ名R0に対する次の参照のため、汎用レジスタ52aの代わりにスタックポインタレジスタ52bへアクセスできることにより開始される。ルーチン150は、工程132から工程154へと移行する。工程154では、スタックポインタレジスタ52bによって指定されたメモリスタックに所定数の汎用レジスタセット52が保存される。STM状態マシン32bを使用して工程154を実行し、工程154では、スタックポインタレジスタ52bを使用してメモリスタック空間にアドレスをとる(スタックを指定する)とともに、指定された場合には汎用レジスタ52aを含む所定のレジスタのコンテンツをスタックに記憶する。また、1つのARM7の実施において、状態マシン32bは、リストアップされた任意のレジスタを記憶する前に、SPSR状態レジスタを記憶するとともに、スタックポインタレジスタ52bへの「ライトバック」を行なって、そのコンテンツを自動的に調整し、選択されたスタックアドレス管理フォーマットにしたがって新たな記憶場所を指定する。ARM7の実施においては、以下の命令を使用して、R0によっても示される汎用レジスタ52aのコンテンツ、すなわち、STMIA R0,{R0−R14}を含むレジスタセット全体を保存することができる。
【0037】
ルーチン150は、工程154から、ルーチン130に関して前述した条件節136へと再び移行する。条件節136の検査結果が否定的である場合、ルーチン130において説明したように次の命令が実行される。条件部136の検査結果が肯定的である場合、ルーチン150は工程156へと続く。工程156においては、スタックポインタレジスタ52bの代わりに汎用レジスタ52aを用いて、R0に対する各参照が実行される。工程156から、特権モード動作が終了したか否かを検査する条件節164へと移行する。条件節164での検査結果が否定的である場合、ルーチン150は工程156にループバックする。条件節164での検査結果が肯定的である場合、ルーチン150は、スタックポインタレジスタ52bへのアクセスを再び可能とすべく、前述した工程132へと移行する。ルーチン150は、この2度目の工程132の後、工程168へと移行する。工程168では、LDM状態マシン32aを用いて実行されるロードマルチプル命令を使用して、工程154中にメモリスタックに保存された汎用レジスタセット52のコンテンツがリストアされる。LDM状態マシン32aは、スタックポインタレジスタ52aのコンテンツを使用してメモリスタックを指定するとともに、指定されている場合には汎用レジスタ52aのコンテンツを含む汎用レジスタの所定のリスト内容をメモリスタックからロードする。1つのAMR7の実施においては、リストアップされたレジスタの前に、SPSRレジスタが最初にロードされ、スタックポインタレジスタ52bに対する所定のスタックアドレス管理スキームにおいてライトバックが実行される。このARM7の実施の場合、工程168を実行する命令は、以下の通りである。すなわち、LDMIA R0,{R0−R14}である。ルーチン150は工程168から終了し、これにより、ユーザモード動作の先の状態がリストアされる。したがって、初期設定ルーチン130が再び開始され、条件節36の命令限界検査が実行された後、ルーチン140におけるユーザモード動作が再開される。
【0038】
他の実施形態において、共通のレジスタ名を有する2つ以上のレジスタに対する条件付きアクセスは、レジスタタイプおよび/または一般目的以外のレジスタタイプとスタックポインタレジスタ種との組み合わせにおいて使用される。また、更なる実施形態においては、状態レジスタビットに加えて或はそれに代えて、1以上の他の条件を使用し、共通のレジスタ名を有する多数のレジスタのうちの所定の1つを用いて命令を実行することができる。非限定的な例として、モード変更は、スタックポインタの使用を自動的にトリガすることができる。
【0039】
また、1以上のレジスタ命令参照技術においては、様々な制限を使用することができ、あるいは、そのような制限を無くすこともできる。他の実施形態においては、複数の動作モードを有していても良く或は有していなくても良いデバイスや他のタイプのプログラム化した装置と共に、共通の識別子を有する複数のレジスタを使用することができる。これに加え、あるいは、これに代えて、本発明の更に他の実施形態においては、前述した他の特徴を用いて、本発明にしたがって、所定のレジスタへのアクセスを制限あるいは制約することができる。
【0040】
ここで述べた任意の理論、動作機構、証拠、所見は、本発明の理解を更に深めるのに意味を持つとともに、本発明をそのような理論、動作機構、証拠、所見に制限することを意図したものではない。本発明を図示して図面および先の説明で詳細に述べてきたが、これらは単なる一例であり、特徴を限定するものではなく、所定の実施形態だけを図示して説明したにすぎず、ここに規定され或は以下の請求の範囲によって規定された本発明の思想に属する全ての等価物、変更、改良を保護することが望まれる。
【図面の簡単な説明】
【図1】
本発明に係るシステムの概略図である。
【図2】
図1のシステムのレジスタバンクの詳細を示す概略図である。
【図3A】
図1のシステムを用いて実行可能な本発明に係るプロセスを示すフローチャートである。
【図3B】
図1のシステムを用いて実行可能な本発明に係るプロセスを示すフローチャートである。
【図4】
図1のシステム用のプロセッサの一部の概略図である。

Claims (18)

  1. 2つ以上のレジスタを有するプロセッサを動作させ、前記レジスタは、共通のレジスタ名を有する汎用レジスタとスタックポインタレジスタとを有し、
    プログラミング命令を用いて前記レジスタ名を参照し、
    第1の条件下で汎用レジスタを用い且つ第2の条件下でスタックポインタレジスタを用いてプログラミング命令を実行することを特徴とする方法。
  2. 所定の状態値が前記参照に対する必須条件として与えられるとともに、プログラミング命令が前記汎用レジスタを用いて実施可能な様々な命令タイプの所定のサブセットのうちの1つである場合に、前記第2の条件が定められることを特徴とする請求項1に記載の方法。
  3. 前記第2の条件が定められる度に、命令性能のための予め定めた命令量制限をスタックポインタレジスタに与えることを特徴とする請求項1に記載の方法。
  4. 前記予め設定された命令制限量が1つであることを特徴とする請求項3に記載の方法。
  5. プロセッサ動作の共通のモードで、前記汎用レジスタを用いて、ユーザプログラムを実行し、
    割り込みに応じて前記スタックポインタレジスタを用いて規定された前記メモリスタックに汎用レジスタの状態を保存し、
    前記保存の後、プロセッサ動作の割り込みモードで、前記汎用レジスタを用いて割り込みルーチンを実行し、
    前記スタックポインタレジスタを用いて割り込みを実行することにより、前記汎用レジスタの状態をリストアすることを特徴とする請求項1〜4のいずれか一項に記載の方法。
  6. 前記第1の条件は、状態ビットの第1の状態に対応しており、前記第2の条件は、状態ビットの第2の状態に対応しており、前記第2の状態が前記第1の状態と逆であることを特徴とする請求項1から4のいずれか一項に記載の方法。
  7. 第1のレジスタおよび第2のレジスタを有するプロセッサを動作させ、前記第1のレジスタおよび前記第2のレジスタは共通のレジスタ名によって識別され、
    所定の条件が定められない場合には、前記第1のレジスタを用いて共通のレジスタ名を参照する多数の命令を実行し、
    所定の条件が定められる度に、前記第1のレジスタの代わりに第2のレジスタを用いて命令を実行するために、予め設定された命令制限量を与えることを特徴とする方法。
  8. 前記予め設定された命令制限量が1つであることを特徴とする請求項7に記載の方法。
  9. 前記所定の条件は、前記第2のレジスタを用いて命令を実行するための必須条件として与えられる所定の状態値に対応していることを特徴とする請求項7に記載の方法。
  10. 前記所定の条件は、状態レジスタビット状態に基づいていることを特徴とする請求項7に記載の方法。
  11. 前記第2のレジスタを用いてスタックポインタを規定するとともに、前記スタックポインタに基づいて前記第1のレジスタのコンテンツをメモリスタックに送り且つ第1のレジスタのコンテンツをメモリスタックから送ることを特徴とする請求項7から10のいずれか一項に記載の方法。
  12. 多数のレジスタを有するプロセッサを備え、前記レジスタは、共通のレジスタ名を持つ汎用レジスタとスタックポインタレジスタとを有し、プロセッサは、第1の条件下で前記汎用レジスタを用い且つ第2の条件下で前記スタックポインタレジスタを用いて共通のレジスタ名を参照するプログラム化された命令を実行するためにプログラミングに対応する論理を有することを特徴とする装置。
  13. 前記プロセッサに接続されたメモリを更に備え、さらに、前記論理は、プログラミングに対応して、メモリポインタを前記スタックポインタレジスタに保存するとともに、前記メモリポインタを用いて指定されたメモリ内に規定されたスタックに前記レジスタのコンテンツを送り且つこのコンテンツを前記スタックから送ることを特徴とする請求項12に記載の装置。
  14. 前記プロセッサは、集積回路デバイスの形態を成していることを特徴とする請求項12に記載の装置。
  15. 前記プロセッサは、レジスタに接続された演算/論理ユニットを有していることを特徴とする請求項19に記載の装置。
  16. 前記論理は、さらに、前記第1の条件が満たされている場合に、それぞれが、前記汎用レジスタへのアクセスを許容する前記プロセッサの多くの異なる動作モードを規定するように動作可能であることを特徴とする請求項12〜15のいずれか一項に記載の装置。
  17. レジスタが状態レジスタを有し、前記第1の条件は、状態レジスタのビットの前記第1の状態に対応しており、前記第2の条件は、前記状態レジスタのビットの第2の状態に対応しており、前記第1の状態が前記第2の状態と逆であることを特徴とする請求項12〜15のいずれか一項に記載の装置。
  18. 前記論理は、前記第1の条件が定められる度に、前記スタックポインタレジスタを用いて命令を実行するための所定の命令制限量を与えるように動作可能であることを特徴とする請求項12〜15のいずれか一項に記載の装置。
JP2003500728A 2001-05-31 2002-05-28 共通の名前を有する複数のレジスタへの選択的なアクセス Expired - Fee Related JP4024751B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/871,135 US6666383B2 (en) 2001-05-31 2001-05-31 Selective access to multiple registers having a common name
PCT/IB2002/001889 WO2002097612A1 (en) 2001-05-31 2002-05-28 Selective access to multiple registers having a common name

Publications (2)

Publication Number Publication Date
JP2004520662A true JP2004520662A (ja) 2004-07-08
JP4024751B2 JP4024751B2 (ja) 2007-12-19

Family

ID=25356798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003500728A Expired - Fee Related JP4024751B2 (ja) 2001-05-31 2002-05-28 共通の名前を有する複数のレジスタへの選択的なアクセス

Country Status (5)

Country Link
US (1) US6666383B2 (ja)
EP (1) EP1397740A1 (ja)
JP (1) JP4024751B2 (ja)
KR (1) KR100867085B1 (ja)
WO (1) WO2002097612A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015720A (ja) * 2006-07-05 2008-01-24 Nec Electronics Corp プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
US8789169B2 (en) 2009-05-22 2014-07-22 Renesas Electronics Corporation Microcomputer having a protection function in a register

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986122B2 (en) * 2001-06-07 2006-01-10 International Business Machines Corporation IF statement having an expression setup clause to be utilized in structured assembly language programming
US7185183B1 (en) * 2001-08-02 2007-02-27 Mips Technologies, Inc. Atomic update of CPO state
US7634638B1 (en) 2002-10-22 2009-12-15 Mips Technologies, Inc. Instruction encoding for system register bit set and clear
TWI251762B (en) * 2003-12-12 2006-03-21 Via Tech Inc Sales rolling forecast managing system and method and recording medium
TWI259398B (en) * 2004-02-04 2006-08-01 Sunplus Technology Co Ltd Device and method using operation mode in processor to switch register
WO2008122746A1 (en) 2007-04-10 2008-10-16 Cambridge Consultants Limited Data processing apparatus
WO2010004245A1 (en) * 2008-07-10 2010-01-14 Cambridge Consultants Limited Processor with push instruction
US9336180B2 (en) 2011-04-07 2016-05-10 Via Technologies, Inc. Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode
US9032189B2 (en) 2011-04-07 2015-05-12 Via Technologies, Inc. Efficient conditional ALU instruction in read-port limited register file microprocessor
US9317288B2 (en) 2011-04-07 2016-04-19 Via Technologies, Inc. Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
US8880851B2 (en) 2011-04-07 2014-11-04 Via Technologies, Inc. Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
US9141389B2 (en) 2011-04-07 2015-09-22 Via Technologies, Inc. Heterogeneous ISA microprocessor with shared hardware ISA registers
US9378019B2 (en) 2011-04-07 2016-06-28 Via Technologies, Inc. Conditional load instructions in an out-of-order execution microprocessor
US9645822B2 (en) 2011-04-07 2017-05-09 Via Technologies, Inc Conditional store instructions in an out-of-order execution microprocessor
US9128701B2 (en) 2011-04-07 2015-09-08 Via Technologies, Inc. Generating constant for microinstructions from modified immediate field during instruction translation
US9176733B2 (en) 2011-04-07 2015-11-03 Via Technologies, Inc. Load multiple and store multiple instructions in a microprocessor that emulates banked registers
US9244686B2 (en) 2011-04-07 2016-01-26 Via Technologies, Inc. Microprocessor that translates conditional load/store instructions into variable number of microinstructions
US8880857B2 (en) 2011-04-07 2014-11-04 Via Technologies, Inc. Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor
US9898291B2 (en) 2011-04-07 2018-02-20 Via Technologies, Inc. Microprocessor with arm and X86 instruction length decoders
US9043580B2 (en) 2011-04-07 2015-05-26 Via Technologies, Inc. Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA)
US9274795B2 (en) 2011-04-07 2016-03-01 Via Technologies, Inc. Conditional non-branch instruction prediction
US8924695B2 (en) 2011-04-07 2014-12-30 Via Technologies, Inc. Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor
US9146742B2 (en) 2011-04-07 2015-09-29 Via Technologies, Inc. Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA
US9292470B2 (en) 2011-04-07 2016-03-22 Via Technologies, Inc. Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program
US9727353B2 (en) * 2015-10-30 2017-08-08 International Business Machines Corporation Simultaneously capturing status information for multiple operating modes
CN114661355B (zh) * 2022-05-24 2022-12-02 深圳市智想科技有限公司 Risc架构处理器的寄存器架构、寄存器组及risc架构处理器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446904A (en) 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5717947A (en) 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5568380A (en) 1993-08-30 1996-10-22 International Business Machines Corporation Shadow register file for instruction rollback
US6138230A (en) * 1993-10-18 2000-10-24 Via-Cyrix, Inc. Processor with multiple execution pipelines using pipe stage state information to control independent movement of instructions between pipe stages of an execution pipeline
US5557737A (en) 1994-06-13 1996-09-17 Bull Hn Information Systems Inc. Automated safestore stack generation and recovery in a fault tolerant central processor
US5553232A (en) 1994-06-13 1996-09-03 Bull Hn Informations Systems Inc. Automated safestore stack generation and move in a fault tolerant central processor
US5634046A (en) * 1994-09-30 1997-05-27 Microsoft Corporation General purpose use of a stack pointer register
US5642516A (en) 1994-10-14 1997-06-24 Cirrus Logic, Inc. Selective shadowing of registers for interrupt processing
US6216200B1 (en) 1994-10-14 2001-04-10 Mips Technologies, Inc. Address queue
US6421754B1 (en) 1994-12-22 2002-07-16 Texas Instruments Incorporated System management mode circuits, systems and methods
US6199095B1 (en) 1996-01-29 2001-03-06 Compaq Computer Corporation System and method for achieving object method transparency in a multi-code execution environment
US5812868A (en) 1996-09-16 1998-09-22 Motorola Inc. Method and apparatus for selecting a register file in a data processing system
US5987258A (en) 1997-06-27 1999-11-16 Lsi Logic Corporation Register reservation method for fast context switching in microprocessors
US6212609B1 (en) 1997-06-30 2001-04-03 Intel Corporation Alternate access mechanism for saving and restoring state of read-only register
US6128728A (en) * 1997-08-01 2000-10-03 Micron Technology, Inc. Virtual shadow registers and virtual register windows
US5974525A (en) 1997-12-05 1999-10-26 Intel Corporation System for allowing multiple instructions to use the same logical registers by remapping them to separate physical segment registers when the first is being utilized
US6209082B1 (en) 1998-11-17 2001-03-27 Ip First, L.L.C. Apparatus and method for optimizing execution of push all/pop all instructions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015720A (ja) * 2006-07-05 2008-01-24 Nec Electronics Corp プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
US8789169B2 (en) 2009-05-22 2014-07-22 Renesas Electronics Corporation Microcomputer having a protection function in a register

Also Published As

Publication number Publication date
EP1397740A1 (en) 2004-03-17
JP4024751B2 (ja) 2007-12-19
KR100867085B1 (ko) 2008-11-04
WO2002097612A1 (en) 2002-12-05
KR20030019629A (ko) 2003-03-06
US20020179719A1 (en) 2002-12-05
US6666383B2 (en) 2003-12-23

Similar Documents

Publication Publication Date Title
JP4024751B2 (ja) 共通の名前を有する複数のレジスタへの選択的なアクセス
US6209085B1 (en) Method and apparatus for performing process switching in multiprocessor computer systems
CN112602069B (zh) 用于数据处理的装置、方法和计算机可读存储介质
US5944841A (en) Microprocessor with built-in instruction tracing capability
US5517651A (en) Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes
KR100848603B1 (ko) 데이터 처리장치와 복귀상태의 저장방법
JP6185487B2 (ja) ドメイン間で切り替わる際のセキュアなデータの非セキュアなアクセスから隔離された状態での維持
RU2265880C2 (ru) Новый режим процессора для ограничения функционирования гостевого программного обеспечения, выполняющегося на виртуальной машине, поддерживаемой монитором виртуальной машины
US5701493A (en) Exception handling method and apparatus in data processing systems
JP3678427B2 (ja) 論理レジスタ・ファイルのレジスタ群を特定する2種類の命令を実行するための方法および装置
US6230259B1 (en) Transparent extended state save
CN100524215C (zh) 覆盖处理器配置设置
US9311088B2 (en) Apparatus and method for mapping architectural registers to physical registers
JPH0816870B2 (ja) 命令パイプラインをドレーンさせるためのシステム
KR20130036189A (ko) 하드웨어 모드와 보안 플래그에 의존하여 판독된 명령어에 대한 메모리 영역의 제한
JP4057911B2 (ja) 予め格納されるベクトルの割込処理システムおよび方法
EP3649550A1 (en) An apparatus and method for controlling execution of instructions
US5963738A (en) Computer system for reading/writing system configuration using I/O instruction
US7386709B2 (en) Controlling execution of a block of program instructions within a computer processing system
WO2006132758A2 (en) Memory operations in microprocessors with multiple execution modes and register files
US4893235A (en) Central processing unit for a digital computer
JP4334026B2 (ja) コンピュータシステム、およびその中でシステム管理割込を発生し処理するための方法
EP0297892B1 (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
WO2002071211A2 (en) Data processor having multiple operating modes
EP3649549B1 (en) Context data management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060602

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060904

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071003

R150 Certificate of patent or registration of utility model

Ref document number: 4024751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131012

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees