JP2018531462A - 例外処理 - Google Patents
例外処理 Download PDFInfo
- Publication number
- JP2018531462A JP2018531462A JP2018517424A JP2018517424A JP2018531462A JP 2018531462 A JP2018531462 A JP 2018531462A JP 2018517424 A JP2018517424 A JP 2018517424A JP 2018517424 A JP2018517424 A JP 2018517424A JP 2018531462 A JP2018531462 A JP 2018531462A
- Authority
- JP
- Japan
- Prior art keywords
- data
- exception
- syndrome
- triggers
- program
- 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
Links
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 68
- 238000012546 transfer Methods 0.000 claims abstract description 23
- 238000007726 management method Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims 7
- 230000001960 triggered effect Effects 0.000 abstract description 10
- 238000013519 translation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100494729 Syncephalastrum racemosum SPSR gene Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
複数のレジスタと、
複数のレジスタの所与のレジスタとのデータ値の転送を含む、例外をトリガする処理動作の試みられた実行を検出し、例外をトリガする処理動作を少なくとも部分的にエミュレートするために例外処理プログラム命令の実行をトリガするための、例外処理回路と、
例外をトリガする処理動作を特徴付け、かつ、データ値を含むシンドロームデータを格納するためのシンドロームデータストアと、
を備え、
例外処理回路が、シンドロームデータ内のデータ値を使用して、所与のレジスタとの転送を遂行する装置を提供する。
データを格納するための複数のレジスタ手段と、
複数のレジスタ手段の所与のレジスタ手段とのデータ値の転送を含む、例外をトリガする処理動作の試みられた実行を検出し、例外をトリガする処理動作を少なくとも部分的にエミュレートするために例外処理プログラム命令の実行をトリガするための、例外処理手段と、
例外をトリガする処理動作を特徴付け、かつ、データ値を含むシンドロームデータを格納するためのシンドロームデータ格納手段と、
を備え、
例外処理手段が、シンドロームデータ内のデータ値を使用して、所与のレジスタ手段との転送を遂行する装置を提供する。
データを複数のレジスタ内に格納することと、
複数のレジスタの所与のレジスタ手段とのデータ値の転送を含む、例外をトリガする処理動作の試みられた実行を検出することと、
例外をトリガする処理動作を少なくとも部分的にエミュレートするために例外処理プログラム命令の実行をトリガすることと、
例外をトリガする処理動作を特徴付け、かつ、データ値を含むシンドロームデータを格納することと、
シンドロームデータ内のデータ値を使用して、所与のレジスタ手段との転送を遂行することと、
を含む方法を提供する。
Claims (20)
- データを処理するための装置であって、
複数のレジスタと、
前記複数のレジスタの所与のレジスタとのデータ値の転送を含む、例外をトリガする処理動作の試みられた実行を検出し、前記例外をトリガする処理動作を少なくとも部分的にエミュレートするために例外処理プログラム命令の実行をトリガするための、例外処理回路と、
前記例外をトリガする処理動作を特徴付け、かつ、前記データ値を含むシンドロームデータを格納するためのシンドロームデータストアと、
を備え、
前記例外処理回路が、前記シンドロームデータ内の前記データ値を使用して、前記所与のレジスタとの前記転送を遂行する装置。 - 前記例外をトリガする処理動作が、前記データ値をメモリアドレスから前記所与のレジスタに転送するロード動作であり、
前記例外処理プログラム命令が、前記データ値を前記メモリアドレスから前記シンドロームデータストアに転送し、
前記ロード動作の試みられた再実行の際に、前記例外処理回路が、前記データ値を前記シンドロームデータストアから前記所与のレジスタに転送する、請求項1に記載の装置。 - 前記例外をトリガする処理動作が、前記データ値を前記所与のレジスタからメモリアドレスに転送する格納動作であり、
前記ロード動作の前記試みられた実行の際に、前記例外処理回路が、前記データ値を前記所与のレジスタから前記シンドロームデータストアに転送し、
前記例外処理プログラム命令が、前記データ値を前記シンドロームデータストアから前記メモリアドレスに転送する、請求項1に記載の装置。 - 前記シンドロームデータが、第1の状態と第2の状態とを有するリプレイ状態データを含み、
前記リプレイ状態データが前記第2の状態を有するときで、前記例外をトリガする処理動作の試みられた実行の際に、前記例外処理回路が、前記リプレイ状態データを前記第1の状態に設定し、前記例外処理プログラム命令の実行をトリガし、
前記リプレイ状態データが前記第1の状態を有するときで、前記例外をトリガする処理動作の試みられた実行の際に、前記例外処理回路が、前記リプレイ状態データを前記第2の状態に設定し、前記例外処理プログラム命令をトリガすることを抑制し、前記例外をトリガする処理動作を完了したものとして合図する、請求項1〜3のいずれか一項に記載の装置。 - 前記リプレイ状態データが前記第1の状態を有するときで、前記例外をトリガする処理動作の試みられた実行の際に、前記例外処理回路が、前記データ値を前記シンドロームデータストアから前記所与のレジスタに転送する、請求項2および請求項4に記載の装置。
- 前記例外処理プログラム命令の完了の際に、前記例外処理回路が、前記例外をトリガする処理動作の試みられた再実行をトリガする、請求項1〜5のいずれか一項に記載の装置。
- 前記シンドロームデータが、例外の入口と出口において保存され回復される現在プログラムステータスデータの一部である、請求項1〜6のいずれか一項に記載の装置。
- 前記例外をトリガする処理動作が、データ中断をトリガする、請求項1〜7のいずれか一項に記載の装置。
- 前記例外をトリガする処理動作に対応するプログラム命令が、ゲストプログラムの一部であり、前記例外処理プログラム命令が、前記ゲストプログラムに実行環境を提供する仮想化プログラムの一部である、請求項1〜8のいずれか一項に記載の装置。
- 前記仮想化プログラムが、前記ゲストプログラムのプライベートな状態データへのアクセスを阻止される、請求項8に記載の装置。
- 前記プライベートな状態データが、前記ゲストプログラムの実行中の前記複数のレジスタ内のデータ値を含む、請求項9に記載の装置。
- 第1の段のマッピングデータと第2の段のマッピングデータとを含むマッピングデータに依存してメモリへのアクセスを管理するためのメモリ管理ユニットを備え、前記ゲストプログラムが、前記第1の段のマッピングデータを管理し、前記仮想化プログラムが、前記第2の段のマッピングデータを管理し、前記例外をトリガする処理動作が、前記第2の段のマッピングデータを使用して検出される、請求項9、10、および11のいずれか一項に記載の装置。
- 前記第1の段のマッピングが、前記仮想化プログラムによる前記ゲストプログラムの前記プライベートな状態データへのアクセスを阻止する、請求項10および請求項12に記載の装置。
- 前記転送が、前記所与のレジスタと入出力デバイスとの間である、請求項1〜13のいずれか一項に記載の装置。
- 前記シンドロームデータが、メモリアドレスを指し示すアドレスデータを含み、前記データ値の前記転送が、前記所与のレジスタと前記メモリアドレスとの間である、請求項1〜14のいずれか一項に記載の装置。
- 前記シンドロームデータが、前記データ値のサイズデータを含む、請求項1〜15のいずれか一項に記載の装置。
- 前記シンドロームデータが、前記転送が前記データ値の前記所与のレジスタへのロードであるか、前記データ値の前記所与のレジスタからの書き込みであるかを指定する、請求項1〜16のいずれか一項に記載の装置。
- 前記シンドロームデータストアが、シンドロームレジスタである、請求項1〜17のいずれか一項に記載の装置。
- データを処理するための装置であって、
データを格納するための複数のレジスタ手段と、
前記複数のレジスタ手段の所与のレジスタ手段とのデータ値の転送を含む、例外をトリガする処理動作の試みられた実行を検出し、前記例外をトリガする処理動作を少なくとも部分的にエミュレートするために例外処理プログラム命令の実行をトリガするための、例外処理手段と、
前記例外をトリガする処理動作を特徴付け、かつ、前記データ値を含むシンドロームデータを格納するためのシンドロームデータ格納手段と、
を備え、
前記例外処理手段が、前記シンドロームデータ内の前記データ値を使用して、前記所与のレジスタ手段との前記転送を遂行する装置。 - データを処理する方法であって、
データを複数のレジスタ内に格納することと、
前記複数のレジスタの所与のレジスタ手段とのデータ値の転送を含む、例外をトリガする処理動作の試みられた実行を検出することと、
前記例外をトリガする処理動作を少なくとも部分的にエミュレートするために例外処理プログラム命令の実行をトリガすることと、
前記例外をトリガする処理動作を特徴付け、かつ、前記データ値を含むシンドロームデータを格納することと、
前記シンドロームデータ内の前記データ値を使用して、前記所与のレジスタ手段との前記転送を遂行することと、
を含む方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1518165.4A GB2543306B (en) | 2015-10-14 | 2015-10-14 | Exception handling |
GB1518165.4 | 2015-10-14 | ||
PCT/GB2016/052784 WO2017064453A1 (en) | 2015-10-14 | 2016-09-09 | Exception handling |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018531462A true JP2018531462A (ja) | 2018-10-25 |
JP2018531462A6 JP2018531462A6 (ja) | 2018-12-13 |
JP6920286B2 JP6920286B2 (ja) | 2021-08-18 |
Family
ID=55131018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018517424A Active JP6920286B2 (ja) | 2015-10-14 | 2016-09-09 | 例外処理 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10649787B2 (ja) |
EP (1) | EP3341834B1 (ja) |
JP (1) | JP6920286B2 (ja) |
KR (1) | KR102613643B1 (ja) |
CN (1) | CN108139906B (ja) |
GB (1) | GB2543306B (ja) |
IL (1) | IL257898B (ja) |
TW (1) | TWI724034B (ja) |
WO (1) | WO2017064453A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2579617B (en) * | 2018-12-06 | 2021-01-27 | Advanced Risc Mach Ltd | An apparatus and method for handling exception causing events |
FR3100901B1 (fr) * | 2019-09-12 | 2021-08-27 | Stmicroelectronics Grand Ouest Sas | Système de protection de la mémoire |
US11816217B2 (en) * | 2020-04-10 | 2023-11-14 | Vmware, Inc. | Decoy memory allocation |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327567A (en) * | 1989-11-16 | 1994-07-05 | Texas Instruments Incorporated | Method and system for returning emulated results from a trap handler |
US5751945A (en) * | 1995-10-02 | 1998-05-12 | International Business Machines Corporation | Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system |
CN100392618C (zh) * | 1997-08-11 | 2008-06-04 | 全斯美达有限公司 | 保护计算机内存储器被写入的系统、方法和设备 |
US6189093B1 (en) * | 1998-07-21 | 2001-02-13 | Lsi Logic Corporation | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register |
US8127121B2 (en) * | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US6615343B1 (en) * | 2000-06-22 | 2003-09-02 | Sun Microsystems, Inc. | Mechanism for delivering precise exceptions in an out-of-order processor with speculative execution |
GB2369464B (en) * | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
US7607133B2 (en) * | 2004-02-11 | 2009-10-20 | Arm Limited | Interrupt processing control |
US7802080B2 (en) * | 2004-03-24 | 2010-09-21 | Arm Limited | Null exception handling |
US7406634B2 (en) * | 2004-12-02 | 2008-07-29 | Cisco Technology, Inc. | Method and apparatus for utilizing an exception handler to avoid hanging up a CPU when a peripheral device does not respond |
US7920584B2 (en) * | 2005-05-04 | 2011-04-05 | Arm Limited | Data processing system |
US8463969B2 (en) * | 2005-06-30 | 2013-06-11 | Intel Corporation | Extended message signal interrupt |
US7657694B2 (en) * | 2006-12-20 | 2010-02-02 | Arm Limited | Handling access requests in a data processing apparatus |
GB2460280A (en) * | 2008-05-23 | 2009-11-25 | Advanced Risc Mach Ltd | Using a memory-abort register in the emulation of memory access operations |
CN102460376B (zh) * | 2009-06-26 | 2016-05-18 | 英特尔公司 | 无约束事务存储器(utm)系统的优化 |
US8135894B1 (en) * | 2009-07-31 | 2012-03-13 | Altera Corporation | Methods and systems for reducing interrupt latency by using a dedicated bit |
US9244686B2 (en) * | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US20120260073A1 (en) * | 2011-04-07 | 2012-10-11 | Via Technologies, Inc. | Emulation of execution mode banked registers |
US9152548B2 (en) * | 2012-01-17 | 2015-10-06 | Vmware, Inc. | Controlling access to a privileged resource in user-mode system level mobile virtualization using a ptrace () system call |
US9317452B1 (en) * | 2013-11-18 | 2016-04-19 | Amazon Technologies, Inc. | Selective restrictions to memory mapped registers using an emulator |
US9396056B2 (en) * | 2014-03-15 | 2016-07-19 | Intel Corporation | Conditional memory fault assist suppression |
US10289414B2 (en) * | 2014-06-02 | 2019-05-14 | International Business Machines Corporation | Suppressing branch prediction on a repeated execution of an aborted transaction |
US9864541B2 (en) * | 2015-02-13 | 2018-01-09 | Google Llc | Transparent hardware-assisted memory decompression |
-
2015
- 2015-10-14 GB GB1518165.4A patent/GB2543306B/en active Active
-
2016
- 2016-09-09 JP JP2018517424A patent/JP6920286B2/ja active Active
- 2016-09-09 EP EP16766055.4A patent/EP3341834B1/en active Active
- 2016-09-09 WO PCT/GB2016/052784 patent/WO2017064453A1/en active Application Filing
- 2016-09-09 CN CN201680057785.3A patent/CN108139906B/zh active Active
- 2016-09-09 US US15/759,907 patent/US10649787B2/en active Active
- 2016-09-09 KR KR1020187012810A patent/KR102613643B1/ko active IP Right Grant
- 2016-10-05 TW TW105132139A patent/TWI724034B/zh active
-
2018
- 2018-03-06 IL IL257898A patent/IL257898B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP3341834A1 (en) | 2018-07-04 |
GB201518165D0 (en) | 2015-11-25 |
CN108139906A (zh) | 2018-06-08 |
US10649787B2 (en) | 2020-05-12 |
TW201715408A (zh) | 2017-05-01 |
KR102613643B1 (ko) | 2023-12-14 |
JP6920286B2 (ja) | 2021-08-18 |
GB2543306A (en) | 2017-04-19 |
CN108139906B (zh) | 2022-09-02 |
IL257898A (en) | 2018-05-31 |
IL257898B (en) | 2020-03-31 |
US20180239607A1 (en) | 2018-08-23 |
TWI724034B (zh) | 2021-04-11 |
WO2017064453A1 (en) | 2017-04-20 |
KR20180067581A (ko) | 2018-06-20 |
GB2543306B (en) | 2019-05-01 |
EP3341834B1 (en) | 2021-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963281B2 (en) | Nested virtualization for virtual machine exits | |
US9672354B2 (en) | Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine | |
US8561060B2 (en) | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine | |
TWI509518B (zh) | 用於改良巢式虛擬化之性能的方法、中央處理單元裝置及系統 | |
US8099541B2 (en) | Minivisor entry point in virtual machine monitor address space | |
RU2265880C2 (ru) | Новый режим процессора для ограничения функционирования гостевого программного обеспечения, выполняющегося на виртуальной машине, поддерживаемой монитором виртуальной машины | |
JP6006248B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US9171159B2 (en) | Performing security operations using binary translation | |
JP6017706B2 (ja) | ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構 | |
US9465617B1 (en) | Implementing upcall from secure to non-secure mode by injecting exception into non-secure mode | |
US10380336B2 (en) | Information-processing device, information-processing method, and recording medium that block intrusion of malicious program to kernel | |
CN109643293B (zh) | 检测总线上锁条件并且避免总线锁 | |
TW202147116A (zh) | 監視處理器之操作之系統 | |
US10963280B2 (en) | Hypervisor post-write notification of control and debug register updates | |
JP6920286B2 (ja) | 例外処理 | |
JP2018531462A6 (ja) | 例外処理 | |
US9383935B1 (en) | Secondary CPU MMU initialization using page fault exception | |
US11216280B2 (en) | Exception interception |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210217 |
|
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: 20210629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6920286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |