JP2021057007A - ヘテロisaプラットフォーム上の高度な機能へのハードウェア及びソフトウェア協調オプトインの方法 - Google Patents
ヘテロisaプラットフォーム上の高度な機能へのハードウェア及びソフトウェア協調オプトインの方法 Download PDFInfo
- Publication number
- JP2021057007A JP2021057007A JP2020105539A JP2020105539A JP2021057007A JP 2021057007 A JP2021057007 A JP 2021057007A JP 2020105539 A JP2020105539 A JP 2020105539A JP 2020105539 A JP2020105539 A JP 2020105539A JP 2021057007 A JP2021057007 A JP 2021057007A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- function
- processing element
- application
- instruction set
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 125000005842 heteroatom Chemical group 0.000 title 1
- 230000006870 function Effects 0.000 claims abstract description 200
- 238000012545 processing Methods 0.000 claims description 192
- 230000008569 process Effects 0.000 claims description 26
- 230000004913 activation Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 28
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- 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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
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
Description
オプトインの後、第2プロセッサは、処理(例えば、ソフトウェアスレッド)を実行してよい。
本明細書によれば、以下の各項目に記載の構成もまた開示される。
[項目1]
プロセッサであって、
1又は複数の命令セットアーキテクチャに関連する1又は複数の処理要素を備え、前記プロセッサは、
前記1又は複数の処理要素の第1処理要素により実行されるアプリケーションからリクエストを受信し、命令セットアーキテクチャに関連する機能を有効化する、及び、
前記機能が前記第1処理要素に関連する命令セットアーキテクチャに関連する場合にシステムコールを発生することなく前記アプリケーションが前記機能を利用できるようにする、
ように構成される、プロセッサ。
[項目2]
前記1又は複数の処理要素は、第2処理要素を含み、
前記第1処理要素は、前記1又は複数の命令セットアーキテクチャの第1サブセットに関連し、
前記第2命令セットアーキテクチャは、前記1又は複数の命令セットアーキテクチャの前記第1サブセットと異なる前記1又は複数の命令セットアーキテクチャの第2のサブセットに関連する、
項目1に記載のプロセッサ。
[項目3]
前記プロセッサにより実行されるオペレーティングシステムがアプリケーションに利用を許可する複数の機能を示す複数のビットを含む機能有効化マスクレジスタであり、前記複数の機能は前記機能を含む、機能有効化マスクレジスタと、
前記第1処理要素が現在、前記アプリケーションが前記機能を利用できるように構成されているか否かを示す少なくとも1つのビットを含む機能制御レジスタと、
を備える、項目1に記載のプロセッサ。
[項目4]
前記プロセッサは、
前記第1処理要素が、前記機能有効化マスクレジスタの前記複数のビットに基づいて前記機能を提供することができるか否か判断し、
前記機能制御レジスタの前記少なくとも1つのビットのビット値を少なくとも変更させることにより、前記アプリケーションが前記機能を利用できるようにする、
よう構成される、項目3に記載のプロセッサ。
[項目5]
前記少なくとも1つのビット値への前記変更が発生したか否かを示すよう構成される機能状態レジスタを備える、項目4に記載のプロセッサ。
[項目6]
前記第1処理要素が前記機能を提供することができないことの判断に応答して、前記プロセッサは、
前記第2処理要素が前記機能を提供できるか否かを判断し、
前記リクエストに関連するソフトウェアスレッドを、前記第2処理要素により対処させ、
前記第2処理要素に前記機能を提供させる、
ように構成される、項目4に記載のプロセッサ。
[項目7]
前記プロセッサは、
前記アプリケーションが前記機能を使用可能となった後、前記第1処理要素を使用して、前記アプリケーションに関連する第1ソフトウェアスレッドの処理を開始し、
前記第1処理要素を使用して、第2ソフトウェアスレッドを処理し、
前記機能制御レジスタの前記少なくとも1つのビットの現在値に基づいて、前記第1処理要素が、前記アプリケーションが前記機能を利用できるように構成されているか否かを判断し、
前記第1ソフトウェアスレッドの処理を再開する、
ように構成される、項目4に記載のプロセッサ。
[項目8]
前記第1処理要素が、前記アプリケーションが前記機能を利用できるように構成されていると判断すると、前記第1処理要素を利用すること、及び、
前記第1処理要素が、前記アプリケーションが前記機能を利用できるように構成されていないと判断すると、前記第2処理要素を利用すること、
により、前記プロセッサは、前記第1ソフトウェアスレッドの処理を再開するように構成される、項目7に記載のプロセッサ。
[項目9]
前記プロセッサは、マイクロプロセッサを備え、
前記1又は複数の処理要素は、前記マイクロプロセッサの1又は複数のコアを含む、項目1に記載のプロセッサ。
[項目10]
実行されると、プロセッサに、
前記プロセッサの第1処理要素により実行されるアプリケーションからリクエストを受信して、命令セットアーキテクチャによりサポートされる機能を有効化にする手順であり、前記第1処理要素は、第1命令セットアーキテクチャに関連し、前記プロセッサの第2処理要素は、第2命令セットアーキテクチャに関連する、手順と、
前記機能が前記第1命令セットアーキテクチャによりサポートされている場合、システムコールを発生することなく、前記アプリケーションが前記機能を利用できるようにする手順と、
を実行させるように構成された命令を備える非一時的コンピュータ可読媒体。
[項目11]
前記プロセッサは、前記プロセッサのユーザモードに関連する1又は複数のユーザモードレジスタ及び前記プロセッサのカーネルモードに関連する1又は複数のモデル固有レジスタを備える、項目10に記載の非一時的コンピュータ可読媒体。
[項目12]
前記1又は複数のモデル固有レジスタは、前記プロセッサにより実行されるオペレーティングシステムがアプリケーションに利用を許可する複数の機能を示す複数のビットを含む機能有効化マスクレジスタを含み、前記複数の機能は前記機能を含み、
前記1又は複数のユーザモードレジスタは、前記プロセッサが前記ユーザモードで動作している場合に、前記第1処理要素が現在、前記機能を提供するように構成されているか否かを示す少なくとも1つのビットを含む機能制御レジスタを含む、
項目11に記載の非一時的コンピュータ可読媒体。
[項目13]
前記1又は複数のモデル固有レジスタは、前記プロセッサが前記カーネルモードで動作している場合に、前記第1処理要素が現在、前記機能を提供するよう構成されているか否かを示す1又は複数のビットを含むカーネル機能制御レジスタを含む、項目12に記載の非一時的コンピュータ可読媒体。
[項目14]
前記命令は、前記プロセッサに、前記第1処理要素が前記複数のビットの少なくとも1つのビット値に基づいて前記機能をサポートするか否かを判断させるよう構成される、項目12に記載の非一時的コンピュータ可読媒体。
[項目15]
前記命令は、実行されると、前記第1処理要素が、前記機能をサポートしない、又は前記アプリケーションが前記機能を利用できるように構成されていない場合に、フォールトを発生させるよう構成される、項目10に記載の非一時的コンピュータ可読媒体。
[項目16]
前記アプリケーションは、ユーザモードアプリケーションである、項目10に記載の非一時的コンピュータ可読媒体。
[項目17]
命令セットアーキテクチャに関連する機能を利用するためにリクエストを受信する段階であり、前記リクエストは、ソフトウェアスレッドを含む又はそれに含まれる、段階と、
前記リクエストを受信することに応答して、アプリケーションプログラミングインタフェースを介して、システムコールを実行することなく、前記機能に関連するレジスタのビットの修正をリクエストする段階と、
前記ソフトウェアスレッドを処理している処理要素が前記機能をサポートするか否か判断する段階と、
前記処理要素が前記機能をサポートする場合に、前記レジスタの前記ビットを修正させることによって、前記機能がアプリケーションにより利用されることを許可する段階と、
を含むプロセッサ実装方法。
[項目18]
前記アプリケーションプログラミングインタフェースによって、前記ビットが修正されているか否か判断する段階と、
前記アプリケーションが前記機能を利用し得る前記リクエストを送信した前記アプリケーションに指示を提供する段階と、
を備える、項目17に記載のプロセッサ実装方法。
[項目19]
第2レジスタの1又は複数のビットが、前記ビットが修正されていることを示すか否か判断することにより、前記ビットが修正されているか否かを判断する段階を備える、項目17に記載のプロセッサ実装方法。
[項目20]
前記処理要素は、プロセッサのコアを含む、項目17に記載のプロセッサ実装方法。
Claims (26)
- プロセッサであって、
1又は複数の命令セットアーキテクチャに関連する1又は複数の処理要素を備え、前記プロセッサは、
前記1又は複数の処理要素の第1処理要素により実行されるアプリケーションからリクエストを受信し、命令セットアーキテクチャに関連する機能を有効化する、及び、
前記機能が前記第1処理要素に関連する命令セットアーキテクチャに関連する場合にシステムコールを発生することなく前記アプリケーションが前記機能を利用できるようにする、
ように構成される、プロセッサ。 - 前記1又は複数の処理要素は、第2処理要素を含み、
前記第1処理要素は、前記1又は複数の命令セットアーキテクチャの第1サブセットに関連し、
前記第2処理要素は、前記1又は複数の命令セットアーキテクチャの前記第1サブセットと異なる前記1又は複数の命令セットアーキテクチャの第2のサブセットに関連する、
請求項1に記載のプロセッサ。 - 前記プロセッサにより実行されるオペレーティングシステムが前記アプリケーションに利用を許可する複数の機能を示す複数のビットを含む機能有効化マスクレジスタであり、前記複数の機能は前記機能を含む、機能有効化マスクレジスタと、
前記第1処理要素が現在、前記アプリケーションが前記機能を利用できるように構成されているか否かを示す少なくとも1つのビットを含む機能制御レジスタと、
を備える、請求項2に記載のプロセッサ。 - 前記プロセッサは、
前記第1処理要素が、前記機能有効化マスクレジスタの前記複数のビットに基づいて前記機能を提供することができるか否か判断し、
前記機能制御レジスタの前記少なくとも1つのビットの少なくとも1つのビット値を変更させることにより、前記アプリケーションが前記機能を利用できるようにする、
よう構成される、請求項3に記載のプロセッサ。 - 前記少なくとも1つのビット値への前記変更が発生したか否かを示すよう構成される機能状態レジスタを備える、請求項4に記載のプロセッサ。
- 前記第1処理要素が前記機能を提供することができないことの判断に応答して、前記プロセッサは、
前記第2処理要素が前記機能を提供できるか否かを判断し、
前記リクエストに関連するソフトウェアスレッドを、前記第2処理要素により対処させ、
前記第2処理要素に前記機能を提供させる、
ように構成される、請求項4に記載のプロセッサ。 - 前記プロセッサは、
前記アプリケーションが前記機能を使用可能となった後、前記第1処理要素を使用して、前記アプリケーションに関連する第1ソフトウェアスレッドの処理を開始し、
前記第1処理要素を使用して、第2ソフトウェアスレッドを処理し、
前記機能制御レジスタの前記少なくとも1つのビットの現在値に基づいて、前記第1処理要素が、前記アプリケーションが前記機能を利用できるように構成されているか否かを判断し、
前記第1ソフトウェアスレッドの処理を再開する、
ように構成される、請求項4に記載のプロセッサ。 - 前記第1処理要素が、前記アプリケーションが前記機能を利用できるように構成されていると判断すると、前記第1処理要素を利用すること、及び、
前記第1処理要素が、前記アプリケーションが前記機能を利用できるように構成されていないと判断すると、前記第2処理要素を利用すること、
により、前記プロセッサは、前記第1ソフトウェアスレッドの処理を再開するように構成される、請求項7に記載のプロセッサ。 - 前記プロセッサは、マイクロプロセッサを備え、
前記1又は複数の処理要素は、前記マイクロプロセッサの1又は複数のコアを含む、請求項1から8のいずれか一項に記載のプロセッサ。 - 実行されると、プロセッサに、
前記プロセッサの第1処理要素により実行されるアプリケーションからリクエストを受信して、命令セットアーキテクチャによりサポートされる機能を有効化にする手順であり、前記第1処理要素は、第1命令セットアーキテクチャに関連し、前記プロセッサの第2処理要素は、第2命令セットアーキテクチャに関連する、手順と、
前記機能が前記第1命令セットアーキテクチャによりサポートされている場合、システムコールを発生することなく、前記アプリケーションが前記機能を利用できるようにする手順と、
を実行させるように構成された命令を備えるプログラム。 - 前記プロセッサは、前記プロセッサのユーザモードに関連する1又は複数のユーザモードレジスタ及び前記プロセッサのカーネルモードに関連する1又は複数のモデル固有レジスタを備える、請求項10に記載のプログラム。
- 前記1又は複数のモデル固有レジスタは、前記プロセッサにより実行されるオペレーティングシステムが前記アプリケーションに利用を許可する複数の機能を示す複数のビットを含む機能有効化マスクレジスタを含み、前記複数の機能は前記機能を含み、
前記1又は複数のユーザモードレジスタは、前記プロセッサが前記ユーザモードで動作している場合に、前記第1処理要素が現在、前記機能を提供するように構成されているか否かを示す少なくとも1つのビットを含む機能制御レジスタを含む、
請求項11に記載のプログラム。 - 前記1又は複数のモデル固有レジスタは、前記プロセッサが前記カーネルモードで動作している場合に、前記第1処理要素が現在、前記機能を提供するよう構成されているか否かを示す1又は複数のビットを含むカーネル機能制御レジスタを含む、請求項12に記載のプログラム。
- 前記命令は、前記プロセッサに、前記第1処理要素が前記複数のビットの少なくとも1つのビット値に基づいて前記機能をサポートするか否かを判断させるよう構成される、請求項12に記載のプログラム。
- 前記命令は、実行されると、前記第1処理要素が、前記機能をサポートしない、又は前記アプリケーションが前記機能を利用できるように構成されていない場合に、フォールトを発生させるよう構成される、請求項10に記載のプログラム。
- 前記アプリケーションは、ユーザモードアプリケーションである、請求項10から15のいずれか一項に記載のプログラム。
- 命令セットアーキテクチャに関連する機能を利用するためにリクエストを受信する段階であり、前記リクエストは、ソフトウェアスレッドを含む又はそれに含まれる、段階と、
前記リクエストを受信することに応答して、アプリケーションプログラミングインタフェースを介して、システムコールを実行することなく、前記機能に関連するレジスタのビットの修正をリクエストする段階と、
前記ソフトウェアスレッドを処理している処理要素が前記機能をサポートするか否か判断する段階と、
前記処理要素が前記機能をサポートする場合に、前記レジスタの前記ビットを修正させることによって、前記機能がアプリケーションにより利用されることを許可する段階と、
を含むプロセッサ実装方法。 - 前記アプリケーションプログラミングインタフェースによって、前記ビットが修正されているか否か判断する段階と、
前記アプリケーションが前記機能を利用し得る前記リクエストを送信した前記アプリケーションに指示を提供する段階と、
を備える、請求項17に記載のプロセッサ実装方法。 - 第2レジスタの1又は複数のビットが、前記ビットが修正されていることを示すか否か判断することにより、前記ビットが修正されているか否かを判断する段階を備える、請求項17に記載のプロセッサ実装方法。
- 前記処理要素は、プロセッサのコアを含む、請求項17から19のいずれか一項に記載のプロセッサ実装方法。
- アプリケーションを実行するための第1処理手段と、
機能が前記第1処理手段に関連する命令セットアーキテクチャに関連する場合に、命令セットアーキテクチャに関連する前記機能を有効化し、システムコールを発生することなく前記アプリケーションが前記機能を利用できるようにするための手段と、
を備えるプロセッサ。 - 前記プロセッサは、第2処理手段を備え、前記第1処理手段は、第1命令セットアーキテクチャに関連し、前記第2処理手段は、前記第1命令セットアーキテクチャと異なる第2命令セットアーキテクチャに関連する、請求項21に記載のプロセッサ。
- 前記プロセッサにより実行されるオペレーティングシステムが前記アプリケーションに利用を許可する複数の機能を示すための手段であり、前記複数の機能は前記機能を含む、手段と、
第1プロセッサコアが現在、前記アプリケーションが前記機能を利用できるように構成されるか否かを示す手段と、
を備える、請求項22に記載のプロセッサ。 - 第1命令セットアーキテクチャに関連する第1プロセッサコアと、
第2命令セットアーキテクチャに関連する第2プロセッサコアと、
前記第1プロセッサコア、前記第2プロセッサコア、又は両方により実行されるオペレーティングシステムが、前記第1プロセッサコア上で実行されるアプリケーションに利用を許可する複数の機能を示す複数のビットを含む機能有効化マスクレジスタと、
前記アプリケーションからリクエストされると、第1処理要素が現在、前記アプリケーションに前記複数の機能のうちの機能を利用できるように構成されるか否かを示す少なくとも1つのビットを含む機能制御レジスタと、
を備えるシステム。 - 前記機能制御レジスタの前記少なくとも1つのビットの変更が発生したか否かを示すように構成される機能状態レジスタを備える、請求項24に記載のシステム。
- 請求項10から16のいずれか一項に記載のプログラムを格納する非一時的コンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/586,706 | 2019-09-27 | ||
US16/586,706 US11409572B2 (en) | 2019-09-27 | 2019-09-27 | Methods of hardware and software coordinated opt-in to advanced features on hetero ISA platforms |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021057007A true JP2021057007A (ja) | 2021-04-08 |
Family
ID=71143549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020105539A Pending JP2021057007A (ja) | 2019-09-27 | 2020-06-18 | ヘテロisaプラットフォーム上の高度な機能へのハードウェア及びソフトウェア協調オプトインの方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11409572B2 (ja) |
EP (1) | EP3798826A1 (ja) |
JP (1) | JP2021057007A (ja) |
CN (1) | CN112579162A (ja) |
TW (1) | TWI842919B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12026555B2 (en) * | 2020-12-15 | 2024-07-02 | International Business Machines Corporation | Adjunct processor command-type filtering |
US12014203B2 (en) * | 2021-11-23 | 2024-06-18 | VMware LLC | Communications across privilege domains within a central processing unit core |
US12008372B2 (en) * | 2022-07-21 | 2024-06-11 | VMware LLC | Techniques for reducing CPU privilege boundary crossings |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122229B2 (en) | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US8205066B2 (en) | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US9311102B2 (en) * | 2010-07-13 | 2016-04-12 | Advanced Micro Devices, Inc. | Dynamic control of SIMDs |
MX2013002773A (es) * | 2010-09-16 | 2013-04-05 | Apple Inc | Controlador de memoria con multiples puertos con puertos asociados con las clases de trafico. |
WO2013101139A1 (en) | 2011-12-30 | 2013-07-04 | Intel Corporation | Providing an asymmetric multicore processor system transparently to an operating system |
US9361116B2 (en) * | 2012-12-28 | 2016-06-07 | Intel Corporation | Apparatus and method for low-latency invocation of accelerators |
US9417873B2 (en) * | 2012-12-28 | 2016-08-16 | Intel Corporation | Apparatus and method for a hybrid latency-throughput processor |
US20150007196A1 (en) | 2013-06-28 | 2015-01-01 | Intel Corporation | Processors having heterogeneous cores with different instructions and/or architecural features that are presented to software as homogeneous virtual cores |
US9720661B2 (en) * | 2014-03-31 | 2017-08-01 | International Businesss Machines Corporation | Selectively controlling use of extended mode features |
US11182315B2 (en) | 2017-02-10 | 2021-11-23 | Intel Corporation | Apparatuses, methods, and systems for hardware control of processor performance levels |
US10545793B2 (en) | 2017-09-29 | 2020-01-28 | Intel Corporation | Thread scheduling using processing engine information |
-
2019
- 2019-09-27 US US16/586,706 patent/US11409572B2/en active Active
-
2020
- 2020-06-18 JP JP2020105539A patent/JP2021057007A/ja active Pending
- 2020-06-23 TW TW109121334A patent/TWI842919B/zh active
- 2020-06-24 CN CN202010586755.XA patent/CN112579162A/zh active Pending
- 2020-06-24 EP EP20182013.1A patent/EP3798826A1/en active Pending
-
2022
- 2022-08-05 US US17/882,175 patent/US11734079B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112579162A (zh) | 2021-03-30 |
TWI842919B (zh) | 2024-05-21 |
US20220374278A1 (en) | 2022-11-24 |
TW202113588A (zh) | 2021-04-01 |
US11734079B2 (en) | 2023-08-22 |
EP3798826A1 (en) | 2021-03-31 |
US11409572B2 (en) | 2022-08-09 |
US20210096908A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021057007A (ja) | ヘテロisaプラットフォーム上の高度な機能へのハードウェア及びソフトウェア協調オプトインの方法 | |
US6209085B1 (en) | Method and apparatus for performing process switching in multiprocessor computer systems | |
US9104425B2 (en) | Apparatus and method for handling exception events | |
US7802252B2 (en) | Method and apparatus for selecting the architecture level to which a processor appears to conform | |
KR101249693B1 (ko) | 서브루틴 복귀 메카니즘 선택 | |
GB2482701A (en) | Detecting and suppressing illegal mode changes in a data processing system | |
KR102599689B1 (ko) | 예외 마스크 갱신 명령 후 트랜잭션의 비중지 처리의 허가 | |
JP2006092042A (ja) | 情報処理装置及びコンテキスト切り替え方法 | |
US20180267829A1 (en) | Method for configuring an it system, corresponding computer program and it system | |
KR100498486B1 (ko) | 쓰레드 바이너리 컴파일러에 의하여 프로그램에서 여러개의 쓰레드를 다이내믹하게 추출하는 컴퓨터 시스템 및그 동시 다중 쓰레딩 방법 | |
US7890740B2 (en) | Processor comprising a first and a second mode of operation and method of operating the same | |
US11144329B2 (en) | Processor microcode with embedded jump table | |
US8732721B2 (en) | Method for reducing trap overhead when executing a guest in a virtual machine | |
JP2694948B2 (ja) | マイクロプログラム処理装置 | |
JP2011070290A (ja) | データプロセッサ | |
US12008372B2 (en) | Techniques for reducing CPU privilege boundary crossings | |
JP7276755B2 (ja) | 処理速度整合回路およびマイクロプロセッサ | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
JP7444610B2 (ja) | コンテキスト・データ管理 | |
JP4151497B2 (ja) | パイプライン処理装置 | |
JPH1021067A (ja) | プログラムの動的修正方法 | |
JPH10240702A (ja) | 並列処理プロセッサおよびその処理方法 | |
JPS6231432A (ja) | マイクロ命令のモデイフアイ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20230419 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240625 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240819 |