JP2021517291A - 外部例外処理 - Google Patents
外部例外処理 Download PDFInfo
- Publication number
- JP2021517291A JP2021517291A JP2020545264A JP2020545264A JP2021517291A JP 2021517291 A JP2021517291 A JP 2021517291A JP 2020545264 A JP2020545264 A JP 2020545264A JP 2020545264 A JP2020545264 A JP 2020545264A JP 2021517291 A JP2021517291 A JP 2021517291A
- Authority
- JP
- Japan
- Prior art keywords
- virtual processor
- exception
- processor
- virtual
- active
- 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
- 238000013500 data storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 22
- 230000008901 benefit Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/0706—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 the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—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 the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
-
- 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
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (13)
- 複数の仮想プロセッサ中のアクティブ仮想プロセッサに関係する命令を実行する処理回路と、
前記複数の仮想プロセッサ中のターゲット仮想プロセッサに関連する外部例外を受信し、前記ターゲット仮想プロセッサが前記アクティブ仮想プロセッサ以外であるときに、前記ターゲット仮想プロセッサを前記アクティブ仮想プロセッサになるようにスケジュールするスケジューリング動作を引き起こすためにドアベル例外を発行する例外制御回路と、
マスキングされた仮想プロセッサのセットの指示を記憶する記憶回路と
を備え、
前記スケジューリング動作が、マスキングされた仮想プロセッサの前記セットに関するドアベル例外を無視するように適応された、データ処理装置。 - 前記スケジューリング動作が前記ターゲット仮想プロセッサを前記アクティブ仮想プロセッサになるようにスケジュールしたとき、前記例外制御回路が、前記ターゲット仮想プロセッサをマスキングされた仮想プロセッサの前記セット中に記憶するように適応された、請求項1に記載のデータ処理装置。
- 前記処理回路が前記アクティブ仮想プロセッサを変更したとき、前記アクティブ仮想プロセッサが、マスキングされた仮想プロセッサの前記セットから削除される、請求項2に記載のデータ処理装置。
- 前記処理回路が前記アクティブ仮想プロセッサを変更したとき、前記アクティブ仮想プロセッサに関連する前記ドアベル例外がクリアされる、請求項1から3までのいずれか一項に記載のデータ処理装置。
- 前記外部例外に関係するデータを記憶する例外データ・ストレージを備え、
前記外部例外を受信したことに応答して、前記例外制御回路が、前記ターゲット仮想プロセッサに関連して前記外部例外に関係する前記データを前記例外データ・ストレージに記憶するように適応された、請求項1から4までのいずれか一項に記載のデータ処理装置。 - 前記処理回路が前記アクティブ仮想プロセッサを前記ターゲット仮想プロセッサになるように変更したとき、前記処理回路が、前記アクティブ仮想プロセッサに関連する前記例外データ・ストレージ中に記憶された例外データの各アイテムのための例外処理ルーチンを実行する、請求項5に記載のデータ処理装置。
- 前記データ処理装置は、前記アクティブ仮想プロセッサが中断されたときに、前記アクティブ仮想プロセッサをマスキングされた仮想プロセッサの前記セットに追加する命令に応答する、請求項1から6までのいずれか一項に記載のデータ処理装置。
- 非アクティブ仮想プロセッサが前記アクティブ仮想プロセッサになるまで、前記非アクティブ仮想プロセッサに関して、最大でも1つのドアベル例外しか生成されない、請求項1から7までのいずれか一項に記載のデータ処理装置。
- 前記複数の仮想プロセッサが、前記スケジューリング動作を実行する管理仮想プロセッサを備える、請求項1から8までのいずれか一項に記載のデータ処理装置。
- 前記スケジューリング動作がハイパーバイザの一部である、請求項9に記載のデータ処理装置。
- 前記処理回路は、前記アクティブ仮想プロセッサを備える複数のアクティブ仮想プロセッサのうちの1つに関係する命令を実行するように各々が適応された複数の処理回路のうちの1つである、請求項1から10までのいずれか一項に記載のデータ処理装置。
- アクティブ仮想プロセッサに関係する命令を実行することと、
複数の仮想プロセッサの中から前記アクティブ仮想プロセッサをスケジュールすることと、
前記複数の仮想プロセッサ中のターゲット仮想プロセッサに関連する外部例外を受信し、前記ターゲット仮想プロセッサが前記アクティブ仮想プロセッサ以外であるときに、前記ターゲット仮想プロセッサを前記アクティブ仮想プロセッサになるようにスケジュールするスケジューリング動作を引き起こすためにドアベル例外を発行することと、
マスキングされた仮想プロセッサのセットの指示を記憶することと
を含み、
前記スケジューリング動作が、マスキングされた仮想プロセッサの前記セットに関するドアベル例外を無視するように適応された、データ処理方法。 - 命令実行環境を与えるホストデータ処理装置を制御するためのコンピュータ・プログラムであって、
複数の仮想プロセッサ中のアクティブ仮想プロセッサに関係する命令を実行する処理プログラミング論理と、
前記複数の仮想プロセッサ中のターゲット仮想プロセッサに関連する外部例外を受信し、前記ターゲット仮想プロセッサが前記アクティブ仮想プロセッサ以外であるときに、前記ターゲット仮想プロセッサを前記アクティブ仮想プロセッサになるようにスケジュールするスケジューリング動作を引き起こすためにドアベル例外を発行する例外制御プログラミング論理と、
マスキングされた仮想プロセッサのセットの指示を記憶するデータ構造と
を備え、
前記スケジューリング動作が、マスキングされた仮想プロセッサの前記セットに関するドアベル例外を無視するように適応された、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1803521.2 | 2018-03-05 | ||
GB1803521.2A GB2571922B (en) | 2018-03-05 | 2018-03-05 | External exception handling |
PCT/GB2019/050553 WO2019171025A1 (en) | 2018-03-05 | 2019-02-28 | External exception handling |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021517291A true JP2021517291A (ja) | 2021-07-15 |
JP7257407B2 JP7257407B2 (ja) | 2023-04-13 |
Family
ID=61903490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020545264A Active JP7257407B2 (ja) | 2018-03-05 | 2019-02-28 | 外部例外処理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11593159B2 (ja) |
EP (1) | EP3762825A1 (ja) |
JP (1) | JP7257407B2 (ja) |
KR (1) | KR20200125633A (ja) |
CN (1) | CN111788555B (ja) |
GB (1) | GB2571922B (ja) |
WO (1) | WO2019171025A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0193830A (ja) * | 1987-10-05 | 1989-04-12 | Nec Corp | 仮想計算機システムにおける割り込み制御方式 |
JPH02143338A (ja) * | 1988-11-24 | 1990-06-01 | Nec Corp | 情報処理装置 |
JP2000330806A (ja) * | 1999-05-21 | 2000-11-30 | Hitachi Ltd | 計算機システム |
JP2013516021A (ja) * | 2009-12-29 | 2013-05-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサコアのハイパーバイザ離隔 |
JP2013519169A (ja) * | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込みの仮想化 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5083265A (en) * | 1990-04-17 | 1992-01-21 | President And Fellows Of Harvard College | Bulk-synchronous parallel computer |
US7516453B1 (en) * | 1998-10-26 | 2009-04-07 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
US8312230B2 (en) * | 2008-06-06 | 2012-11-13 | International Business Machines Corporation | Dynamic control of partition memory affinity in a shared memory partition data processing system |
US9176770B2 (en) * | 2009-12-17 | 2015-11-03 | Intel Corporation | Cooperated interrupt moderation for a virtualization environment |
US9075789B2 (en) * | 2012-12-11 | 2015-07-07 | General Dynamics C4 Systems, Inc. | Methods and apparatus for interleaving priorities of a plurality of virtual processors |
EP3092560B1 (en) * | 2014-01-06 | 2019-05-08 | Johnson Controls Technology Company | Vehicle with multiple user interface operating domains |
US9910699B2 (en) * | 2014-10-28 | 2018-03-06 | Intel Corporation | Virtual processor direct interrupt delivery mechanism |
US9727500B2 (en) * | 2014-11-19 | 2017-08-08 | Nxp Usa, Inc. | Message filtering in a data processing system |
US9697151B2 (en) * | 2014-11-19 | 2017-07-04 | Nxp Usa, Inc. | Message filtering in a data processing system |
US9747122B2 (en) | 2015-04-16 | 2017-08-29 | Google Inc. | Virtual machine systems |
-
2018
- 2018-03-05 GB GB1803521.2A patent/GB2571922B/en active Active
-
2019
- 2019-02-28 JP JP2020545264A patent/JP7257407B2/ja active Active
- 2019-02-28 KR KR1020207026707A patent/KR20200125633A/ko not_active Application Discontinuation
- 2019-02-28 EP EP19710091.0A patent/EP3762825A1/en not_active Withdrawn
- 2019-02-28 WO PCT/GB2019/050553 patent/WO2019171025A1/en unknown
- 2019-02-28 CN CN201980016143.2A patent/CN111788555B/zh active Active
- 2019-02-28 US US16/977,580 patent/US11593159B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0193830A (ja) * | 1987-10-05 | 1989-04-12 | Nec Corp | 仮想計算機システムにおける割り込み制御方式 |
JPH02143338A (ja) * | 1988-11-24 | 1990-06-01 | Nec Corp | 情報処理装置 |
JP2000330806A (ja) * | 1999-05-21 | 2000-11-30 | Hitachi Ltd | 計算機システム |
JP2013516021A (ja) * | 2009-12-29 | 2013-05-09 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサコアのハイパーバイザ離隔 |
JP2013519169A (ja) * | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込みの仮想化 |
Also Published As
Publication number | Publication date |
---|---|
JP7257407B2 (ja) | 2023-04-13 |
EP3762825A1 (en) | 2021-01-13 |
GB2571922A (en) | 2019-09-18 |
WO2019171025A1 (en) | 2019-09-12 |
GB2571922B (en) | 2020-03-25 |
CN111788555A (zh) | 2020-10-16 |
GB201803521D0 (en) | 2018-04-18 |
KR20200125633A (ko) | 2020-11-04 |
CN111788555B (zh) | 2024-05-31 |
US11593159B2 (en) | 2023-02-28 |
US20200409753A1 (en) | 2020-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1899810B1 (en) | System and method to optimize os context switching by instruction group trapping | |
US9417912B2 (en) | Ordering tasks scheduled for execution based on priority and event type triggering the task, selecting schedulers for tasks using a weight table and scheduler priority | |
US9164784B2 (en) | Signalizing an external event using a dedicated virtual central processing unit | |
US8671403B2 (en) | Pre-creating virtual machines in a grid environment | |
US20090007112A1 (en) | Method for controlling a virtual machine and a virtual machine system | |
JP2008510238A (ja) | オペレーティングシステム | |
US8880764B2 (en) | Pessimistic interrupt affinity for devices | |
JP4873423B2 (ja) | 仮想化プログラム、シミュレーション装置、仮想化方法 | |
US9003094B2 (en) | Optimistic interrupt affinity for devices | |
KR20160033517A (ko) | 인터럽트 컨트롤러를 위한 하이브리드 가상화 방법 | |
JP5030647B2 (ja) | 複数処理ノードを含むコンピュータ・システムでプログラムをロードする方法、該プログラムを含むコンピュータ可読媒体、及び、並列コンピュータ・システム | |
JP2007507779A (ja) | オペレーティングシステム | |
KR920003044B1 (ko) | 가상 머신 시스템용의 게스트 머신 실행 제어 시스템 | |
US10963250B2 (en) | Selectively suppressing time intensive instructions based on a control value | |
JP7257407B2 (ja) | 外部例外処理 | |
US20050091022A1 (en) | Ultra fast multi-processor system simulation using dedicated virtual machines | |
CN115033337A (zh) | 虚拟机内存迁移方法、装置、设备及存储介质 | |
CN112711527A (zh) | 一种实时进程的调试方法、装置、目标机和存储介质 | |
CN112214277A (zh) | 基于虚拟机的操作系统分区方法、装置及介质 | |
KR101809380B1 (ko) | 가상머신 기반 통합항해시스템을 위한 스케줄링 방법 및 장치 | |
US11726811B2 (en) | Parallel context switching for interrupt handling | |
Groesbrink | Basics of virtual machine migration on heterogeneous architectures for self-optimizing mechatronic systems: Necessary conditions and implementation issues | |
JPH0638238B2 (ja) | 仮想計算機システム | |
CN114064200A (zh) | 两级嵌入式虚拟机管理程序架构及嵌入式系统 | |
CN113127936A (zh) | 具有对保护环之间的特权资源和异常的可配置分配的处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230228 |
|
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: 20230310 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7257407 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |