JP6427575B2 - 時間のかかる命令の取り扱い - Google Patents
時間のかかる命令の取り扱い Download PDFInfo
- Publication number
- JP6427575B2 JP6427575B2 JP2016535520A JP2016535520A JP6427575B2 JP 6427575 B2 JP6427575 B2 JP 6427575B2 JP 2016535520 A JP2016535520 A JP 2016535520A JP 2016535520 A JP2016535520 A JP 2016535520A JP 6427575 B2 JP6427575 B2 JP 6427575B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- consuming
- exception
- instructions
- instruction
- 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.)
- Active
Links
- 230000004044 response Effects 0.000 claims description 41
- 230000010365 information processing Effects 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 11
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 230000006399 behavior Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 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/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
- 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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Hardware Redundancy (AREA)
- Executing Machine-Instructions (AREA)
Description
Claims (23)
- 1つ又は複数の時間のかかる命令を備える命令を実行するように構成された処理回路と、
前記処理回路のために少なくとも1つの例外を生成するように構成された例外生成回路と、を備える情報処理装置であって、
前記処理回路は、前記時間のかかる命令が実行され得るかどうかを示すための制御値を保持するように構成され、
前記例外生成回路は、前記制御値が、前記時間のかかる命令が実行され得ないことを示す第1の状態にある場合、前記時間のかかる命令のうちの1つに応答して、前記時間のかかる命令のうちの前記1つの実行を抑止するよう前記処理回路にもたらす第1の例外を生成するように構成され、
前記例外生成回路は、前記制御値が、前記時間のかかる命令が実行され得ることを示す第2の状態にある場合、前記時間のかかる命令のうちの1つに応答して、前記時間のかかる命令のうちの前記1つを実行するように構成され、
前記時間のかかる命令は実行されるのに前記処理回路の複数の処理サイクルを要求する命令からなる、情報処理装置。 - 前記時間のかかる命令は、割込みがかけられ得ない命令を備える請求項1に記載の情報処理装置。
- 前記時間のかかる命令は、浮動小数点平方根命令、除算命令、割込み不可能な多重ロード命令、割込み不可能な多重記憶命令、及び少なくとも1つの所定のシングル・インストラクション・マルチプル・データ(SIMD)命令のうちの少なくとも1つを備える請求項1から2までのいずれかに記載の情報処理装置。
- 前記処理回路は、第1のソフトウェアを第1の特権レベルで実行し、第2のソフトウェアを、前記第1の特権レベルより高い第2の特権レベルで実行するように構成される請求項1から3までのいずれかに記載の情報処理装置。
- 前記第2のソフトウェアは、前記制御値を変更するよう前記処理回路を制御するように構成される請求項4に記載の情報処理装置。
- 前記例外生成回路は、前記第1のソフトウェアの前記時間のかかる命令のうちの1つに応答して前記第1の例外を生成するように構成される請求項4又は5に記載の情報処理装置。
- 前記例外生成回路は、前記第2の特権レベルより低い特権レベルで実行されるソフトウェアの前記時間のかかる命令のうちの1つに応答してのみ第1の例外を生成するように構成される請求項4から6までのいずれか一項に記載の情報処理装置。
- 前記第1のソフトウェアは、1つ又は複数のゲスト・オペレーティング・システムを備え、
前記第2のソフトウェアは、ハイパーバイザを備える請求項4から7までのいずれか一項に記載の情報処理装置。 - 前記処理回路は、1つ又は複数の所定の事象に応答して前記制御値を変更するように構成される請求項1から8までのいずれかに記載の情報処理装置。
- 前記1つ又は複数の所定の事象は、コンテキスト・スイッチを含む請求項9に記載の情報処理装置。
- 前記コンテキスト・スイッチに応答して、前記処理回路は、前記制御値を前記第2の状態に変更するように構成される請求項10に記載の情報処理装置。
- 前記1つ又は複数の所定の事象は、第2の例外を含み、
前記例外生成回路は、予期される事象に第1の所定の期間先行して前記第2の例外を生成するように構成される請求項9から11までのいずれか一項に記載の情報処理装置。 - 前記予期される事象は、コンテキスト・スイッチであり、前記第2の例外は、前のコンテキスト・スイッチから第2の所定の期間の後に生じる請求項12に記載の情報処理装置。
- 前記第1の所定の期間は、前記第2の所定の期間より短い請求項13に記載の情報処理装置。
- 前記第1の所定の期間の前記第2の所定の期間に対する比は、1:9である請求項14に記載の情報処理装置。
- 前記第2の例外に応答して、前記処理回路は、前記制御値を前記第1の状態に変更するように構成される請求項12から15までのいずれか一項に記載の情報処理装置。
- 前記処理回路は、前記第1の例外に応答して前記第2のソフトウェアを実行することに切り換わるように構成される請求項4から8までのいずれかに記載の情報処理装置。
- 前記処理回路は、複数の第1のソフトウェアのうちの1つを前記第1の特権レベルで実行するように構成される請求項17に記載の情報処理装置。
- 前記第1の例外に応答して、前記第2のソフトウェアは、前記複数の第1のソフトウェアのうちのアクティブのソフトウェアを変更するよう前記処理回路を制御するように構成される請求項18に記載の情報処理装置。
- 前記第1の例外に応答して、前記処理回路は、後続のコンテキスト・スイッチまで、前記複数の第1のソフトウェアを実行しないように構成される請求項18又は19に記載の情報処理装置。
- 前記第1の例外に応答して、前記処理回路は、前記時間のかかる命令のうちの前記1つを実行することなしに、前記複数の第1のソフトウェアのうちのアクティブのソフトウェアの実行を続けるように構成される請求項18から20までのいずれか一項に記載の情報処理装置。
- 情報処理装置のためのマシン実施方法であって、前記方法は、
1つ又は複数の時間のかかる命令を備える1つ又は複数の命令を実行するステップと、
前記時間のかかる命令が実行され得るかどうかを示すための制御値を保持するステップと、
前記時間のかかる命令が実行され得ないことを前記制御値が示す場合、前記時間のかかる命令のうちの1つに応答して、前記時間のかかる命令のうちの前記1つの実行を抑止する第1の例外を生成するステップと、
前記時間のかかる命令が実行され得ることを前記制御値が示す場合、前記時間のかかる命令のうちの1つに応答して、前記時間のかかる命令のうちの前記1つを実行するステップとを備え、
前記時間のかかる命令は実行されるのに処理回路の複数の処理サイクルを要求する命令からなる、方法。 - 1つ又は複数の時間のかかる命令を備える命令を実行するための処理手段と、
前記処理手段のために少なくとも1つの例外を生成するための例外生成手段とを備える情報処理装置であって、
前記処理手段は、前記時間のかかる命令が実行され得るかどうかを示すための制御値を保持するように構成され、
前記例外生成手段は、前記制御値が、前記時間のかかる命令が実行され得ないことを示す第1の状態にある場合、前記時間のかかる命令のうちの1つに応答して、前記時間のかかる命令のうちの前記1つの実行を抑止するよう前記処理手段にもたらす第1の例外を生成するように構成され、
前記例外生成手段は、前記制御値が、前記時間のかかる命令が実行され得ることを示す第2の状態にある場合、前記時間のかかる命令のうちの1つに応答して、前記時間のかかる命令のうちの前記1つを実行するように構成され、
前記時間のかかる命令は実行されるのに前記処理手段の複数の処理サイクルを要求する命令からなる、情報処理装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1315109.7 | 2013-08-23 | ||
GB1315109.7A GB2517494B (en) | 2013-08-23 | 2013-08-23 | Handling time intensive instructions |
PCT/GB2014/052053 WO2015025127A1 (en) | 2013-08-23 | 2014-07-07 | Handling time intensive instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016531363A JP2016531363A (ja) | 2016-10-06 |
JP6427575B2 true JP6427575B2 (ja) | 2018-11-21 |
Family
ID=49355839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016535520A Active JP6427575B2 (ja) | 2013-08-23 | 2014-07-07 | 時間のかかる命令の取り扱い |
Country Status (10)
Country | Link |
---|---|
US (1) | US10963250B2 (ja) |
EP (1) | EP3036629B1 (ja) |
JP (1) | JP6427575B2 (ja) |
KR (1) | KR102235142B1 (ja) |
CN (1) | CN105474174B (ja) |
BR (1) | BR112016002997B1 (ja) |
GB (1) | GB2517494B (ja) |
IL (1) | IL244199B (ja) |
TW (1) | TWI654561B (ja) |
WO (1) | WO2015025127A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2517493A (en) * | 2013-08-23 | 2015-02-25 | Advanced Risc Mach Ltd | Handling access attributes for data accesses |
US9367322B1 (en) | 2015-07-27 | 2016-06-14 | International Business Machines Corporation | Age based fast instruction issue |
US10942509B2 (en) | 2018-01-19 | 2021-03-09 | Ge Aviation Systems Llc | Heterogeneous processing in unmanned vehicles |
US11029985B2 (en) | 2018-01-19 | 2021-06-08 | Ge Aviation Systems Llc | Processor virtualization in unmanned vehicles |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6058410A (en) | 1996-12-02 | 2000-05-02 | Intel Corporation | Method and apparatus for selecting a rounding mode for a numeric operation |
US6427202B1 (en) * | 1999-05-04 | 2002-07-30 | Microchip Technology Incorporated | Microcontroller with configurable instruction set |
US6493741B1 (en) * | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
US20020184566A1 (en) * | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
US7181600B1 (en) * | 2001-08-02 | 2007-02-20 | Mips Technologies, Inc. | Read-only access to CPO registers |
US7779239B2 (en) * | 2004-07-28 | 2010-08-17 | Intel Corporation | User opt-in processor feature control capability |
US7590823B1 (en) * | 2004-08-06 | 2009-09-15 | Xilinx, Inc. | Method and system for handling an instruction not supported in a coprocessor formed using configurable logic |
JP5010164B2 (ja) * | 2006-03-31 | 2012-08-29 | 株式会社日立製作所 | サーバ装置及び仮想計算機の制御プログラム |
US7797681B2 (en) * | 2006-05-11 | 2010-09-14 | Arm Limited | Stack memory selection upon exception in a data processing system |
US20080072019A1 (en) * | 2006-09-19 | 2008-03-20 | Avinash Sodani | Technique to clear bogus instructions from a processor pipeline |
US20090037918A1 (en) | 2007-07-31 | 2009-02-05 | Advanced Micro Devices, Inc. | Thread sequencing for multi-threaded processor with instruction cache |
US8397235B2 (en) * | 2008-10-07 | 2013-03-12 | Futurewei Technologies, Inc. | User tolerance based scheduling method for aperiodic real-time tasks |
JP5353227B2 (ja) * | 2008-12-24 | 2013-11-27 | 富士通株式会社 | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 |
US8429648B2 (en) | 2009-05-28 | 2013-04-23 | Red Hat, Inc. | Method and apparatus to service a software generated trap received by a virtual machine monitor |
JP4965638B2 (ja) * | 2009-12-25 | 2012-07-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | タスクの切り換えを制御するシステムおよび方法 |
CN101826000A (zh) | 2010-01-29 | 2010-09-08 | 北京龙芯中科技术服务中心有限公司 | 流水线微处理器的中断响应确定方法、装置及微处理器核 |
CN101866281B (zh) | 2010-06-13 | 2013-05-22 | 清华大学 | 一种多周期指令执行方法和装置 |
GB2482701C (en) * | 2010-08-11 | 2018-12-26 | Advanced Risc Mach Ltd | Illegal mode change handling |
GB2489000B (en) | 2011-03-14 | 2019-09-11 | Advanced Risc Mach Ltd | Diagnosing code using single step execution |
US9146767B2 (en) * | 2012-06-19 | 2015-09-29 | Raytheon Company | Secure cloud hypervisor monitor |
-
2013
- 2013-08-23 GB GB1315109.7A patent/GB2517494B/en active Active
-
2014
- 2014-07-07 JP JP2016535520A patent/JP6427575B2/ja active Active
- 2014-07-07 KR KR1020167004314A patent/KR102235142B1/ko active IP Right Grant
- 2014-07-07 CN CN201480045495.8A patent/CN105474174B/zh active Active
- 2014-07-07 WO PCT/GB2014/052053 patent/WO2015025127A1/en active Application Filing
- 2014-07-07 US US14/911,376 patent/US10963250B2/en active Active
- 2014-07-07 BR BR112016002997-6A patent/BR112016002997B1/pt active IP Right Grant
- 2014-07-07 EP EP14741938.6A patent/EP3036629B1/en active Active
- 2014-07-24 TW TW103125333A patent/TWI654561B/zh active
-
2016
- 2016-02-21 IL IL244199A patent/IL244199B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN105474174B (zh) | 2020-02-28 |
EP3036629A1 (en) | 2016-06-29 |
KR102235142B1 (ko) | 2021-04-02 |
IL244199B (en) | 2019-06-30 |
GB2517494A (en) | 2015-02-25 |
GB201315109D0 (en) | 2013-10-09 |
WO2015025127A1 (en) | 2015-02-26 |
BR112016002997A2 (ja) | 2017-08-01 |
KR20160045699A (ko) | 2016-04-27 |
BR112016002997B1 (pt) | 2022-05-31 |
US10963250B2 (en) | 2021-03-30 |
JP2016531363A (ja) | 2016-10-06 |
TWI654561B (zh) | 2019-03-21 |
IL244199A0 (en) | 2016-04-21 |
CN105474174A (zh) | 2016-04-06 |
TW201508636A (zh) | 2015-03-01 |
EP3036629B1 (en) | 2021-06-09 |
GB2517494B (en) | 2021-02-24 |
US20160202977A1 (en) | 2016-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6294586B2 (ja) | 命令スレッドを組み合わせた実行の管理システムおよび管理方法 | |
US8695002B2 (en) | Multi-threaded processors and multi-processor systems comprising shared resources | |
KR100726317B1 (ko) | 게스트 소프트웨어의 특권 레벨에 기초한 가상 머신모니터로의 전이 | |
US10474494B2 (en) | Information processing apparatus, information processing method, and computer program product | |
JP6427575B2 (ja) | 時間のかかる命令の取り扱い | |
KR20130137591A (ko) | 불법 모드 변경처리 | |
US20220334862A1 (en) | Virtual mode execution manager | |
US20170192790A1 (en) | Providing task-triggered determinisitic operational mode for simultaneous multi-threaded superscalar processor | |
Zuberi et al. | EMERALDS-OSEK: a small real-time operating system for automotive control and monitoring | |
JP5906584B2 (ja) | 制御装置及び制御方法 | |
KR100843134B1 (ko) | 인터럽트 금지구간 처리 장치 및 방법과 페이지 고정 장치및 방법 | |
EP3502887B1 (en) | Interrupt handling for multiple virtual machines | |
CN108701031B (zh) | 寄存器访问控制 | |
JPH05324569A (ja) | 割り込み制御方式 | |
CN107632881B (zh) | 一种虚拟处理器的状态切换方法及装置 | |
US11726811B2 (en) | Parallel context switching for interrupt handling | |
JP2008225710A (ja) | コンピュータシステム及び該システムで用いられるプロセス切替え方法 | |
JP5561294B2 (ja) | マイクロコンピュータ | |
JP7257407B2 (ja) | 外部例外処理 | |
JP2023032307A (ja) | 仮想化制御装置および割り込み制御方法 | |
JP5561295B2 (ja) | マイクロコンピュータ | |
Shinde et al. | Concurrency Aware Dynamic Scheduler for Virtualized Environment | |
Kim et al. | Scheduling Mechanism on Virtual Machines for Supporting Latency-Sensitive Tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170630 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180615 |
|
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: 20181003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181029 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6427575 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |