JP2011216118A - データ処理命令を実行するためのデータ処理装置および方法 - Google Patents
データ処理命令を実行するためのデータ処理装置および方法 Download PDFInfo
- Publication number
- JP2011216118A JP2011216118A JP2011158231A JP2011158231A JP2011216118A JP 2011216118 A JP2011216118 A JP 2011216118A JP 2011158231 A JP2011158231 A JP 2011158231A JP 2011158231 A JP2011158231 A JP 2011158231A JP 2011216118 A JP2011216118 A JP 2011216118A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- data processing
- return state
- mode
- processing unit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
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)
- Advance Control (AREA)
Abstract
【解決手段】このデータ処理装置はデータ処理命令を実行するための処理ユニットを備え、この処理ユニットは複数の作動モードを有し、各作動モードはそのモードに関連したデータを記憶するための対応するスタックを有する。処理ユニットは現在の作動モードからの処理ユニットのリターンステートデータを現在の作動モードと異なる作動モードに対応するスタックに書き込むよう、リターンステートデータ処理命令に応答自在である。このアプローチは公知の従来技術よりもコードサイズを大幅に縮小し、割り込みレイテンシーを改善する。
【選択図】図6
Description
フル昇順−スタックはメモリ内で上に成長し、スタックポインタはスタックにプッシュされた最終ワードをポイントする。
空昇順−スタックはメモリ内で上に成長し、スタックポインタはスタックにプッシュされた最終ワードの1つ上のワードをポイントする。
フル降順−スタックはメモリ内で下方に成長し、スタックポインタはスタックにプッシュされた最終ワードをポイントする。
空降順−スタックはメモリ内で下方に成長し、スタックポインタはスタックにプッシュされた最終ワードの1つ下のワードをポイントする。
第3の様相によれば、本発明は本発明の第3の様相に係わる方法を実行するように作動できる、コンピュータプログラムを提供するものである。本発明はかかるコンピュータプログラムを備えたキャリア媒体にも関する。キャリア媒体は、適当な任意にデバイス、例えばCDROM,ディスケット等でよく、光ファイバー、無線信号等の伝送媒体でもよい。
)をセーブする。リターンステートの他に一時的レジスタとして使用するため
にR0もセーブする。モードを切り換えるとすぐにリターンステートおよびセー
ブされたR0を割り込みスタックからローディングするので、スタックポインタ
はデクリメントしない。割り込みはディスエーブルされるので、モードを変え
た後にデータをセーブしてから、これを読み出すまでの間、割り込みをサービ
スできないことが判っているので、スタックポインタをデクリメントしないほ
うが安全である。
(D) SUB lr、lr、#4 ;リターンアドレスをポイントするようにLR_IRQを調
節する
(M) STR lr、[sp、#-4] ;割り込みスタックにLR_IRQをセーブする
(D) MRS lr、spsr ;SPSR_IRQを読み出す
(M) STR lr、[sp、#-8] ;割り込みスタックにSPSR_IRQをセーブする
(M) STR r0、[sp、#-12] ;割り込みスタックにROをセーブする
(D) MOV r0、sp ;R0内の割り込みスタックポインタを取り込む
;次にプロセッサモードをシステム(SVC)モードに変える
(D) MRS lr、cpsr ;現在のプロセッサステータスレジスタを読み出す
(D) BIC lr、lr、#0x1f ;ビットクリア動作を使ってモードビットをマスクアウ
トする
(D) ORR lr、lr、#0x13 ;SVCモードのために正しいモードビットであればORする
(D) MSR cpsr_c、lr ;新しいモードをcpsrに書き込む
タとして使用できる。次にリターンステート情報および割り込みスタックから
セーブしたR0をリカバーし、これをSVCスタックにセーブする。
(D) SUB sp、sp、#8*4 ;まずSVCスタックにスペースを設ける
(M) STR r1、[sp、#2*4] ;一時的レジスタとして使用するためにR1をセーブする
(M) LDR r1、[r0、#-4] ;セーブしたLR_IRQをR1にリカバーする
(M) STR r1、[sp、#7*4] ;LR_IRQをSVCスタックにセーブする
(M) LDR r1、[r0、#-8] ;セーブしたSPSR_IRQをR1にリカバーする
(M) STR r1、[sp、#0*4] ;SPSR_IRQをSVCスタックにセーブする
(M) LDR r1、[r0、#-12] ;セーブしたR0を割り込みスタックからリカバーする
イントではそのようにすることは安全でない。その理由は、割り込みスタック
からすべてのデータを回収する前に第2の割り込みのサービスが認められた場
合、オーバーライトされ得る割り込みスタック上に記憶されたデータがあるか
らである。
(D) MRS r0、cpsr ;CPSRを読み出す
(D) BIC r0、r0、#0x80 ;割り込みディスエーブルビットをクリアする
(D) MSR cpsr_c、r0 ;CPSRを戻すように書き込む
;***INTERRUPT RE-ENABLE***
;割り込みを再イネーブルする前のサイクルカウント=11*D+9*Mとする
;プロセスコンテキストの残りのセーブを続けることができる
STR r1、[sp、#1*4] ;IRQスタックからリカバーしたR0をセーブする
STR r2、[sp、#3*4] ;SVCスタックにR0をセーブする
STR r3、[sp、#4*4] ;SVCスタックにR3をセーブする
STR R12、[sp、#5*4] ;SVCスタックにR12をセーブする
STR lr、[spc、#6*4] ;SVCスタックにLR_SVCをセーブする
.... ;次に割り込みを続け、サービスする
(D) SUB lr、lr、#4 ;リターンアドレスをポイントするようにLR_IRQを
調節する
(2M) SRSDB sp_svc! ;SVCスタックにリターンステータスをセーブする
;次にプロセッサをシステム(SVC)モードに変え、同時に割り込みを再イネー
ブルする。この時点ではSVCスタックにリターンステートがセーブされている
ので、割り込みを再イネーブルするのが安全である。従ってこの割り込みスタ
ックは空であり、割り込みスタックをコンテキストスイッチングすることなく
(すなわちタスクごとに別個の割り込みスタックを設けなくても)、コンテキ
ストスイッチングが可能である。
(D) MRS lr、cpsr ;cpsrを読み出す
(D) BIC lr、lr、#0x1f+0x80 ;モードビットをマスクアウトし、割り込み
をクリアする
(D) ORR lr、lr、#0x13 ;またはSVCモード用のモードビットをマスクインす
る
(D) MSR cpsr_c、lr ;新しいモードおよび割り込みビットを書き戻す
;*** INTRERUPT RE-ENABLE ***
;割り込みを再イネーブルする前のサイクルカウント=5*D+2*Mとする
;プロセスコンテキスト
STMDB sp!,{r0~r3,r12,lr}
.... ;次に割り込みを続け、サービスする
好ましい実施例の技術を利用しない場合:
11(D)+9(M)*4*20(I)*4=127サイクルとなり、
好ましい実施例の技術を使用した場合:
5(D)+2(M)*4+6(I)*4=37サイクルとなる。
EQ 等しい Z
NE 等しくない !Z
CS 桁上げセット C
HS 符号なし以上 C
CC 桁上げクリア !C
LO 符号なし小 !C
MI マイナス N
PL プラス !N
VS オーバーフローセット V
VC オーバーフロークリア !V
HI 符号なし大 C & !Z
LS 符号なし以下 !C │ Z
GE 以上 !(N ^ V)
LT 未満 N ^ V
GT より大 !Z & !(N ^ V)
LE 以下 Z │ (N ^ V)
AL 常時 1
<addr_mode> 説明
IA これより後をインクリメント(EAに等価)
EA 空昇順(IAに等価)
IB これより前をインクリメント(FAに等価)
FA フル昇順(IBに等価)
DB これより前をデクリメント(FDに等価)
FD フル降順(DBに等価)
DA これより後をデクリメント(EDに等価)
ED 空降順(DAに等価)
<fully_qualified_stack_pointer> 説明
SP_USER ユーザーモードスタックポインタ
SP_FIQ 高速割り込みリクエストスタッ
クポインタ
SP_IRQ 割り込みリクエストスタックポ
インタ
SP_SVC スーパーバイザースタックポインタ
SP_ABT アボートスタックポインタ
SP_UND 無定義スタックポインタ
SRSDB SP_SVC!
SRSEQDB SP_SVC!
SRSEQDB SP_SVC
好ましい実施例の技術を利用しない場合:
1.0E−5秒/127サイクル=7.874E−08秒/サイクル
1/7.874E−08=1.27E+7サイクル/秒=12.7MHz
となる。
好ましい実施例の技術を利用した場合:
1.0E−5秒/37サイクル=2.701E−08秒/サイクル
1/2.701E−08=3.7E+6サイクル/秒=3.7MHz
となる。
Claims (18)
- 複数の作動モードを有し、各作動モードがその作動モードに関連するデータを記憶するための対応するスタックを有する、データ処理命令を実行するための処理ユニットを備え、
前記処理ユニットが現在の作動モードからの処理ユニットのリターンステートデータを現在の作動モードと異なる作動モードに対応するスタックに書き込むよう、リターンステートデータ処理命令に応答自在である、データ処理装置。 - 前記リターンステートデータ処理命令が例外発生時に呼び出される、請求項1記載のデータ処理装置。
- 例外が所定の組の例外のうちのいずれかである、請求項2記載のデータ処理装置。
- 前記所定の組の例外が1つ以上の割り込みを含む、請求項3記載のデータ処理装置。
- 各作動モードのための処理ユニットのリターンステートデータを記憶するための複数のリターンステートレジスタを含む、一組のレジスタを更に備え、前記処理ユニットが現在の作動モードからの処理ユニットのリターンステートデータを含むリターンステートレジスタにしかアクセスできないようになっている、前の請求項に記載のデータ処理装置。
- 各スタックがそのスタック内のロケーションを識別する、そのスタックに関連するスタックポインタを有し、特定のスタックのための前記スタックポインタが対応する作動モードからしかアクセスできないようになっている、前の請求項に記載のデータ処理装置。
- 前記レジスタの組が各スタックのためのスタックポインタを記憶するための複数のスタックポインタレジスタを含み、前記処理ユニットがその現在の作動モードに対応するスタックのためのスタックポインタを含むスタックポインタレジスタにしかアクセスできないようになっている、請求項5に依存した時の請求項6記載のデータ処理装置。
- 前記リターンステートデータ処理命令が、処理ユニットのリターンステートデータを書き込むべきスタックを識別するためのスタック識別フィールドを含む、前の請求項に記載のデータ処理装置。
- 前記スタック識別フィールドが前記処理ユニットのリターンステートデータを書き込むべきスタックのためのスタックポインタを特定するようになっており、よってリターンステートデータをそのスタックに書き込む際に前記処理ユニットがそのスタック内の適当なロケーションにアクセスできるようにする、請求項8記載のデータ処理装置。
- 前記リターンステートデータ処理命令が、オプションの更新フィールドを含み、この更新フィールドが一旦リターンステートデータをスタックに書き込んだ場合にスタックポインタを更新すべきことを示すようにセットされている、請求項9記載のデータ処理装置。
- 前記リターンステートデータ処理命令が、前記リターンステートデータを書き込むべきスタックのアドレスモードを識別するためのアドレスモードフィールドを含む、請求項8〜10のいずれかに記載のデータ処理装置。
- 前記リターンステートデータ処理命令が前記リターンステートデータ処理命令を実行するための条件を特定するための条件フィールドを含み、よって条件が満たされた場合に前記リターンステートデータ処理命令が処理ユニットにしか実行できないようになっている、請求項8〜11のいずれかに記載のデータ処理装置。
- 現在の作動モードが例外モードであり、異なる作動モードが特権作動モードである、前の請求項に記載のデータ処理装置。
- 現在の作動モードが例外モードであり、異なる作動モードが例外モードに入る前の処理ユニットの作動モードである、前の請求項に記載のデータ処理装置。
- 前記リターンステートデータが、セーブされたプログラムカウンタおよびセーブされたプロセッサステータスを含む、前の請求項に記載のデータ処理装置。
- 複数の作動モードを有し、各作動モードがその作動モードに関連するデータを記憶するための対応するスタックを有する、データ処理命令を実行するための処理ユニットを備えたデータ処理装置を作動させるための方法において、
現在の作動モードからの処理ユニットのリターンステートデータを現在の作動モードと異なる作動モードに対応するスタックに書き込むことにより、前記処理ユニットをリターンステートデータ処理命令に応答させる工程を備えた、データ処理装置を作動させる方法。 - データ処理装置が請求項16に記載の方法を実行するようになっている、コンピュータプログラム。
- 請求項17記載のコンピュータプログラムを備えたキャリア媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0028869A GB2369464B (en) | 2000-11-27 | 2000-11-27 | A data processing apparatus and method for saving return state |
GB0028869.6 | 2000-11-27 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002545371A Division JP5295475B2 (ja) | 2000-11-27 | 2001-09-24 | データ処理命令を実行するためのデータ処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011216118A true JP2011216118A (ja) | 2011-10-27 |
Family
ID=9903938
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002545371A Expired - Lifetime JP5295475B2 (ja) | 2000-11-27 | 2001-09-24 | データ処理命令を実行するためのデータ処理装置および方法 |
JP2011158231A Pending JP2011216118A (ja) | 2000-11-27 | 2011-07-19 | データ処理命令を実行するためのデータ処理装置および方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002545371A Expired - Lifetime JP5295475B2 (ja) | 2000-11-27 | 2001-09-24 | データ処理命令を実行するためのデータ処理装置および方法 |
Country Status (13)
Country | Link |
---|---|
US (1) | US6904517B2 (ja) |
EP (1) | EP1337918B1 (ja) |
JP (2) | JP5295475B2 (ja) |
KR (1) | KR100848603B1 (ja) |
CN (1) | CN1227589C (ja) |
AU (1) | AU2001287927A1 (ja) |
DE (1) | DE60139567D1 (ja) |
GB (1) | GB2369464B (ja) |
IL (2) | IL155407A0 (ja) |
MY (1) | MY127357A (ja) |
RU (1) | RU2275679C2 (ja) |
TW (1) | TW556093B (ja) |
WO (1) | WO2002042914A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013161479A (ja) * | 2012-02-08 | 2013-08-19 | Arm Ltd | セキュアドメインおよび低セキュアドメインを使用するデータ処理装置および方法 |
US10025923B2 (en) | 2012-02-08 | 2018-07-17 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US10083040B2 (en) | 2012-02-08 | 2018-09-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US10169573B2 (en) | 2012-02-08 | 2019-01-01 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69734399D1 (de) * | 1996-01-24 | 2006-03-02 | Sun Microsystems Inc | Verfahren und vorrichtung zur stapel-cachespeicherung |
US6880030B2 (en) * | 2000-12-13 | 2005-04-12 | Wind River Systems, Inc. | Unified exception handling for hierarchical multi-interrupt architectures |
US7313797B2 (en) * | 2002-09-18 | 2007-12-25 | Wind River Systems, Inc. | Uniprocessor operating system design facilitating fast context switching |
US7496896B2 (en) * | 2003-07-17 | 2009-02-24 | Computer Associates Think, Inc. | Accessing return values and exceptions |
ATE406613T1 (de) * | 2004-11-30 | 2008-09-15 | Koninkl Philips Electronics Nv | Effiziente umschaltung zwischen priorisierten tasks |
US7853960B1 (en) * | 2005-02-25 | 2010-12-14 | Vmware, Inc. | Efficient virtualization of input/output completions for a virtual device |
US7877629B2 (en) * | 2005-06-01 | 2011-01-25 | Sanmina-Sci | Facilitating handling of exceptions in a program implementing a M-on-N threading model |
TW200719141A (en) * | 2005-11-07 | 2007-05-16 | Cheertek Inc | Flash memory access method and circuit of an embedded system |
JP4961781B2 (ja) * | 2006-03-14 | 2012-06-27 | ソニー株式会社 | 情報処理装置、その起動方法およびプログラム |
US7797681B2 (en) * | 2006-05-11 | 2010-09-14 | Arm Limited | Stack memory selection upon exception in a data processing system |
US7681022B2 (en) * | 2006-07-25 | 2010-03-16 | Qualcomm Incorporated | Efficient interrupt return address save mechanism |
US9652241B2 (en) * | 2007-04-10 | 2017-05-16 | Cambridge Consultants Ltd. | Data processing apparatus with instruction encodings to enable near and far memory access modes |
US7979685B1 (en) * | 2007-11-27 | 2011-07-12 | Oracle America, Inc. | Multiple instruction execution mode resource-constrained device |
US9645949B2 (en) * | 2008-07-10 | 2017-05-09 | Cambridge Consultants Ltd. | Data processing apparatus using privileged and non-privileged modes with multiple stacks |
US7853827B2 (en) * | 2008-08-29 | 2010-12-14 | International Business Machines Corporation | Isotropic processor |
GB2478733B (en) | 2010-03-15 | 2013-08-14 | Advanced Risc Mach Ltd | Apparatus and method for handling exception events |
US20120054773A1 (en) * | 2010-08-31 | 2012-03-01 | International Business Machines Corporation | Processor support for secure device driver architecture |
US9405637B2 (en) * | 2011-01-18 | 2016-08-02 | Texas Instruments Incorporated | Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting |
US9202071B2 (en) | 2012-02-08 | 2015-12-01 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US9672164B2 (en) * | 2012-05-31 | 2017-06-06 | Nxp Usa, Inc. | Methods and systems for transitioning between a user state and a supervisor state based on a next instruction fetch address |
CN103268145B (zh) * | 2013-03-06 | 2016-08-17 | 上海云间半导体科技有限公司 | 用于保存访存指令的虚拟地址的方法 |
GB2538091B (en) * | 2015-05-07 | 2018-03-14 | Advanced Risc Mach Ltd | Verifying correct code execution context |
GB2543306B (en) * | 2015-10-14 | 2019-05-01 | Advanced Risc Mach Ltd | Exception handling |
CN109409086B (zh) * | 2018-09-21 | 2021-04-13 | 中国科学院信息工程研究所 | 基于新增指令的检测堆栈中返回地址被篡改的装置 |
CN109409083B (zh) * | 2018-09-21 | 2021-04-13 | 中国科学院信息工程研究所 | 检测堆栈中返回地址被篡改的装置 |
CN115080122A (zh) * | 2022-07-22 | 2022-09-20 | 飞腾信息技术有限公司 | 处理器、用于保存和恢复上下文数据的装置、方法及芯片 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01258040A (ja) * | 1988-04-07 | 1989-10-16 | Fujitsu Ltd | スタック情報の退避,復元処理方式 |
JPH05108374A (ja) * | 1991-10-18 | 1993-04-30 | Matsushita Electric Ind Co Ltd | マルチタスク実行装置 |
JPH06168145A (ja) * | 1991-02-08 | 1994-06-14 | Hitachi Ltd | スタック制御方式及びマイクロコンピュータ |
JPH1083305A (ja) * | 1996-04-15 | 1998-03-31 | Motorola Inc | 自己整合スタック・ポインタを有するデータ処理システムおよびその方法 |
JPH10105415A (ja) * | 1996-09-25 | 1998-04-24 | Nippon Denki Micom Technol Kk | リアルタイムos |
JPH11143732A (ja) * | 1997-11-06 | 1999-05-28 | Hitachi Ltd | マイクロコンピュータ及びエミュレータ |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3889243A (en) | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4587632A (en) | 1980-05-27 | 1986-05-06 | At&T Bell Laboratories | Lookahead stack oriented computer |
US4922414A (en) | 1982-12-17 | 1990-05-01 | Symbolics Inc. | Symbolic language data processing system |
US4926322A (en) * | 1987-08-03 | 1990-05-15 | Compag Computer Corporation | Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management |
DE3726192A1 (de) | 1987-08-06 | 1989-02-16 | Otto Mueller | Stacksteuerung |
US5136696A (en) | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
US5440749A (en) | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
US5303378A (en) * | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
US5640548A (en) * | 1992-10-19 | 1997-06-17 | Motorola, Inc. | Method and apparatus for unstacking registers in a data processing system |
US5455775A (en) | 1993-01-25 | 1995-10-03 | International Business Machines Corporation | Computer design system for mapping a logical hierarchy into a physical hierarchy |
GB2289353B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
US5638525A (en) | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5752035A (en) | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5619665A (en) | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5838948A (en) | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
EP0976050B1 (en) | 1996-01-24 | 2002-06-12 | Sun Microsystems, Inc. | Processor with array access bounds checking |
EP0976029A2 (en) | 1996-01-24 | 2000-02-02 | Sun Microsystems, Inc. | A processor for executing instruction sets received from a network or from a local memory |
US6038643A (en) | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
US6026485A (en) | 1996-01-24 | 2000-02-15 | Sun Microsystems, Inc. | Instruction folding for a stack-based machine |
US5742802A (en) | 1996-02-16 | 1998-04-21 | International Business Machines Corporation | Method and system for efficiently mapping guest instruction in an emulation assist unit |
US6031992A (en) | 1996-07-05 | 2000-02-29 | Transmeta Corporation | Combining hardware and software to provide an improved microprocessor |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
DE69723286T2 (de) | 1996-11-13 | 2004-05-13 | Paran, Arik, Sunnyvale | Echtzeitprogramm-sprachbeschleuniger |
US5937193A (en) | 1996-11-27 | 1999-08-10 | Vlsi Technology, Inc. | Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof |
US5953741A (en) | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US6003038A (en) * | 1997-03-31 | 1999-12-14 | Sun Microsystems, Inc. | Object-oriented processor architecture and operating method |
US6009499A (en) | 1997-03-31 | 1999-12-28 | Sun Microsystems, Inc | Pipelined stack caching circuit |
US5875336A (en) | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US6088786A (en) | 1997-06-27 | 2000-07-11 | Sun Microsystems, Inc. | Method and system for coupling a stack based processor to register based functional unit |
US5892966A (en) | 1997-06-27 | 1999-04-06 | Sun Microsystems, Inc. | Processor complex for executing multimedia functions |
US6003126A (en) | 1997-07-01 | 1999-12-14 | International Business Machines | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers |
US6317872B1 (en) | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
WO1999018484A2 (en) | 1997-10-02 | 1999-04-15 | Koninklijke Philips Electronics N.V. | A processing device for executing virtual machine instructions |
DE69839913D1 (de) | 1997-10-02 | 2008-10-02 | Koninkl Philips Electronics Nv | Datenverarbeitungsgerät zur verarbeitung von befeh |
US6009509A (en) | 1997-10-08 | 1999-12-28 | International Business Machines Corporation | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack |
US6000029A (en) | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for affecting subsequent instruction processing in a data processor |
US6122638A (en) | 1997-11-26 | 2000-09-19 | International Business Machines Corporation | Object-oriented processor and method for caching intermediate data in an object-oriented processor |
US6070173A (en) | 1997-11-26 | 2000-05-30 | International Business Machines Corporation | Method and apparatus for assisting garbage collection process within a java virtual machine |
US6148391A (en) | 1998-03-26 | 2000-11-14 | Sun Microsystems, Inc. | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
FR2779842B1 (fr) * | 1998-06-15 | 2001-07-13 | Schlumberger Ind Sa | Procede de gestion de l'execution d'un programme dans un dispositif a circuit integre |
US6338134B1 (en) | 1998-12-29 | 2002-01-08 | International Business Machines Corporation | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data |
JP4072271B2 (ja) * | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
-
2000
- 2000-11-27 GB GB0028869A patent/GB2369464B/en not_active Expired - Lifetime
-
2001
- 2001-09-24 KR KR1020037007021A patent/KR100848603B1/ko active IP Right Grant
- 2001-09-24 WO PCT/GB2001/004252 patent/WO2002042914A1/en active Application Filing
- 2001-09-24 DE DE60139567T patent/DE60139567D1/de not_active Expired - Lifetime
- 2001-09-24 RU RU2003115617/09A patent/RU2275679C2/ru not_active IP Right Cessation
- 2001-09-24 AU AU2001287927A patent/AU2001287927A1/en not_active Abandoned
- 2001-09-24 EP EP01967554A patent/EP1337918B1/en not_active Expired - Lifetime
- 2001-09-24 CN CNB018194648A patent/CN1227589C/zh not_active Expired - Lifetime
- 2001-09-24 JP JP2002545371A patent/JP5295475B2/ja not_active Expired - Lifetime
- 2001-10-24 TW TW090126321A patent/TW556093B/zh not_active IP Right Cessation
- 2001-10-25 MY MYPI20014955A patent/MY127357A/en unknown
- 2001-11-02 US US09/985,268 patent/US6904517B2/en not_active Expired - Lifetime
-
2002
- 2002-09-24 IL IL15540702A patent/IL155407A0/xx active IP Right Grant
-
2003
- 2003-04-13 IL IL155407A patent/IL155407A/en unknown
-
2011
- 2011-07-19 JP JP2011158231A patent/JP2011216118A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01258040A (ja) * | 1988-04-07 | 1989-10-16 | Fujitsu Ltd | スタック情報の退避,復元処理方式 |
JPH06168145A (ja) * | 1991-02-08 | 1994-06-14 | Hitachi Ltd | スタック制御方式及びマイクロコンピュータ |
JPH05108374A (ja) * | 1991-10-18 | 1993-04-30 | Matsushita Electric Ind Co Ltd | マルチタスク実行装置 |
JPH1083305A (ja) * | 1996-04-15 | 1998-03-31 | Motorola Inc | 自己整合スタック・ポインタを有するデータ処理システムおよびその方法 |
JPH10105415A (ja) * | 1996-09-25 | 1998-04-24 | Nippon Denki Micom Technol Kk | リアルタイムos |
JPH11143732A (ja) * | 1997-11-06 | 1999-05-28 | Hitachi Ltd | マイクロコンピュータ及びエミュレータ |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013161479A (ja) * | 2012-02-08 | 2013-08-19 | Arm Ltd | セキュアドメインおよび低セキュアドメインを使用するデータ処理装置および方法 |
US10025923B2 (en) | 2012-02-08 | 2018-07-17 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US10083040B2 (en) | 2012-02-08 | 2018-09-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US10169573B2 (en) | 2012-02-08 | 2019-01-01 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
US10210349B2 (en) | 2012-02-08 | 2019-02-19 | Arm Limited | Data processing apparatus and method using secure domain and less secure domain |
Also Published As
Publication number | Publication date |
---|---|
US20020099933A1 (en) | 2002-07-25 |
DE60139567D1 (de) | 2009-09-24 |
GB2369464B (en) | 2005-01-05 |
EP1337918A1 (en) | 2003-08-27 |
CN1476559A (zh) | 2004-02-18 |
RU2275679C2 (ru) | 2006-04-27 |
GB0028869D0 (en) | 2001-01-10 |
WO2002042914A1 (en) | 2002-05-30 |
KR20030072550A (ko) | 2003-09-15 |
IL155407A (en) | 2008-03-20 |
IL155407A0 (en) | 2003-11-23 |
AU2001287927A1 (en) | 2002-06-03 |
JP2004514987A (ja) | 2004-05-20 |
MY127357A (en) | 2006-11-30 |
TW556093B (en) | 2003-10-01 |
US6904517B2 (en) | 2005-06-07 |
JP5295475B2 (ja) | 2013-09-18 |
CN1227589C (zh) | 2005-11-16 |
EP1337918B1 (en) | 2009-08-12 |
KR100848603B1 (ko) | 2008-07-28 |
GB2369464A (en) | 2002-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5295475B2 (ja) | データ処理命令を実行するためのデータ処理装置および方法 | |
US6044430A (en) | Real time interrupt handling for superscalar processors | |
US5428779A (en) | System and method for supporting context switching within a multiprocessor system having functional blocks that generate state programs with coded register load instructions | |
EP3754492A1 (en) | Interrupt system for risc-v architecture | |
US20050015768A1 (en) | System and method for providing hardware-assisted task scheduling | |
US20080201615A1 (en) | Apparatus and computer program product for implementing atomic data tracing | |
JP2006338664A (ja) | オペレーティングシステム初期化中においてコードを実行するためのシステム | |
JP2003502775A (ja) | プロセッサのコンテンツ切替えおよびリスケジューリングを実施するシステムおよび方法 | |
JP3970609B2 (ja) | プロセッサシステム | |
US20060149940A1 (en) | Implementation to save and restore processor registers on a context switch | |
WO2001038970A2 (en) | Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks | |
JP5289688B2 (ja) | プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法 | |
JP3088303B2 (ja) | キャッシュ・メモリ・バンク制御装置 | |
JPH0916409A (ja) | マイクロコンピュータ | |
EP0297892A2 (en) | Apparatus and method for control of asynchronous program interrupt events in a data processing system | |
JPH0756633B2 (ja) | タスク切換え方式 | |
EP1104899A2 (en) | Data processing apparatus and method of controlling the same | |
JPS626329A (ja) | デ−タ転送回路 | |
JPH09319598A (ja) | 低コストシグナルマスク制御方式 | |
JPH04162135A (ja) | データ処理装置 | |
JP2002196938A (ja) | 例外処理フロー用の装置及びその処理実行方法 | |
JPS61184644A (ja) | 仮想計算機システム制御方式 | |
Carle | CS61C: Machine Structures | |
JPH0486919A (ja) | マイクロプログラム制御装置 | |
JP2000076132A (ja) | キャッシュメモリを備えた情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110818 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110818 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130308 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130612 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130906 |