JP6240964B2 - 装置、方法、およびシステム - Google Patents
装置、方法、およびシステム Download PDFInfo
- Publication number
- JP6240964B2 JP6240964B2 JP2015533047A JP2015533047A JP6240964B2 JP 6240964 B2 JP6240964 B2 JP 6240964B2 JP 2015533047 A JP2015533047 A JP 2015533047A JP 2015533047 A JP2015533047 A JP 2015533047A JP 6240964 B2 JP6240964 B2 JP 6240964B2
- Authority
- JP
- Japan
- Prior art keywords
- shared
- shared core
- core extension
- instruction
- hardware logic
- 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
- 238000000034 method Methods 0.000 title claims description 81
- 238000012545 processing Methods 0.000 claims description 158
- 230000015654 memory Effects 0.000 claims description 119
- 230000004044 response Effects 0.000 claims description 31
- 230000000903 blocking effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 13
- 238000007667 floating Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- 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
-
- 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
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- 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
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Description
[インオーダ及びアウトオブオーダコアのブロック図] 図8Aは、本発明の複数の実施形態に係る例示的なインオーダパイプライン及び例示的なレジスタリネーミング、アウトオブオーダ発行/実行パイプラインの両方を示すブロック図である。図8Bは、本発明の複数の実施形態に係るプロセッサに含まれるべきインオーダアーキテクチャコアの例示的な実施形態及び例示的なレジスタリネーミング、アウトオブオーダ発行/実行アーキテクチャコアの両方を示すブロック図である。図面8A−Bの複数の実線のボックスは、インオーダパイプライン及びインオーダコアを示し、選択的に追加された複数の破線のボックスは、レジスタリネーミング、アウトオブオーダ発行/実行パイプライン及びコアを示す。インオーダ態様がアウトオブオーダ態様のサブセットであるため、アウトオブオーダ態様について説明する。
図9A−Bは、より具体的な、例示的なインオーダコアアーキテクチャのブロック図を示し、ここで、コアは、チップ内のいくつかのロジックブロック(同じタイプ及び/または複数の異なるタイプの他の複数のコアを含む)の中の1つであってもよい。複数のロジックブロックは、用途に応じて、高帯域幅インターコネクトネットワーク(例えば、リングネットワーク)を介して、いくつかの固定機能ロジック、メモリI/Oインターフェース及び他の必要なI/Oロジックと通信を行う。
図10は、本発明の複数の実施形態に係るプロセッサ1000のブロック図である。1つより多くのコアを有してもよく、集積メモリコントローラを有してもよく、集中画像表示を有してもよい。図10の複数の実線のボックスは、単一のコア1002A、システムエージェント1010、1つまたは複数のバスコントローラユニット1016のセットを有するプロセッサ1000を示し、選択的に追加された複数の破線のボックスは、複数のコア1002A−Nを有する代替的なプロセッサ1000、システムエージェントユニット1010内の1つまたは複数の集積メモリコントローラユニット1014のセット及び特別用途ロジック1008を示す。
図11−14は、例示的な複数のコンピュータアーキテクチャのブロック図である。複数のラップトップ、複数のデスクトップ、複数のハンドヘルド型PC、複数の携帯情報端末、複数のエンジニアリングワークステーション、複数のサーバ、複数のネットワークデバイス、複数のネットワークハブ、複数のスイッチ、複数の組み込みプロセッサ、複数のデジタルシグナルプロセッサ(DSP)、複数のグラフィクスデバイス、複数のビデオゲームデバイス、複数のセットトップボックス、複数のマイクロコントローラ、複数の携帯電話、複数のポータブルメディアプレイヤ、複数のハンドヘルドデバイス及び様々な他の複数の電子デバイス用の当技術分野で公知の他の複数のシステム設計及び複数の構成も、適している。概して、本明細書で開示されるように、プロセッサ及び/または他の実行ロジックを組み込み可能な多様な複数のシステムまたは複数の電子デバイスが、概して適している。
場合によっては、命令変換器は、ソース命令セットからターゲット命令セットへと命令を変換するために用いられてもよい。例えば、命令変換器は、命令をコアによって処理されるべき1つまたは複数の他の命令に、(例えば、静的バイナリ変換、動的コンパイルを含む動的バイナリ変換を用いて)変換、モーフィング、エミュレートまたは他の方法で変換してもよい。命令変換器は、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組み合わせで実装されてもよい。命令変換器は、プロセッサ上にあってもよく、プロセッサ外にあってもよく、または一部がプロセッサ上かつ一部がプロセッサ外にあってもよい。
本実施形態の例を下記の各項目として示す。
[項目1]
複数のコアと、
前記複数のコアの各々と連結される共有コア拡張ロジックであって、前記複数のコアの各々に共有される共有データ処理ロジックを有する共有コア拡張ロジックと、
対応するコアの代わりに、前記共有データ処理ロジックにデータ処理を実行させるために、共有コア拡張呼び出し命令に応答して前記共有コア拡張ロジックを呼び出す、前記複数のコアの各々に対する命令実行ロジックとを備える、装置。
[項目2]
前記共有コア拡張呼び出し命令は、前記複数のコアの命令セットのマクロ命令を備える、項目1に記載の装置。
[項目3]
前記命令実行ロジック及び前記共有コア拡張ロジックと連結される複数の共有コア拡張コマンドレジスタをさらに備え、前記共有コア拡張呼び出し命令は、前記複数の共有コア拡張コマンドレジスタの中の1つの共有コア拡張コマンドレジスタ及び複数のパラメータを示す、項目1または2に記載の装置。
[項目4]
前記命令実行ロジックは、前記共有コア拡張呼び出し命令に応答して、示された前記複数のパラメータに基づいて、示された前記1つの共有コア拡張コマンドレジスタにデータを格納する、項目3に記載の装置。
[項目5]
前記命令実行ロジックは、前記共有コア拡張呼び出し命令に応答して、示された前記1つの共有コア拡張コマンドレジスタに、
呼び出し属性情報を指す呼び出し属性ポインタフィールドのポインタと、
入力データオペランドを指す入力データオペランドポインタフィールドのポインタと、
出力データオペランドを指す出力データオペランドポインタフィールドのポインタとを格納する、項目4に記載の装置。
[項目6]
前記共有コア拡張ロジックは、前記呼び出しに関連付けられたデータ処理に基づいて、示された前記1つの共有コア拡張コマンドレジスタに、
前記呼び出しのステータスを提供するステータスフィールドと、
前記呼び出しの進捗度を提供する進捗度フィールドとを格納する、項目4または5に記載の装置。
[項目7]
前記共有データ処理ロジックは、少なくとも1つのベクトル実行ユニットを備える、項目1から6のいずれか1項に記載の装置。
[項目8]
前記共有データ処理ロジックは、前記複数のコア内に見られないデータ処理ロジックを備える、項目1から7のいずれか1項に記載の装置。
[項目9]
前記命令実行ロジックは、メモリにおいて少なくとも1つの出力データ構造を生成するルーチンに従って、前記共有コア拡張呼び出し命令に応答して、メモリにおける少なくとも1つの入力データ構造に対してデータ処理を実行させるために、前記共有コア拡張ロジックを呼び出す、項目1から8のいずれか1項に記載の装置。
[項目10]
前記複数のコアの第1のコアのメモリ管理ユニット(MMU)と、
前記共有コア拡張ロジックの共有コア拡張MMUと、
前記第1のコアの前記MMUと前記共有コア拡張MMUとを同期するために、ハードウェアにおいて複数の同期信号を交換する前記第1のコアの前記MMUと前記共有コア拡張MMUとの間のハードウェアインターフェースとをさらに備える、項目1から9のいずれか1項に記載の装置。
[項目11]
前記複数のコアの第1のコアのメモリ管理ユニット(MMU)と、
前記共有コア拡張ロジックの共有コア拡張MMUと、
前記第1のコアからの呼び出しに対応するページフォルトを、前記共有コア拡張MMUから前記第1のコアの前記MMUにルーティングする、前記第1のコアの前記MMUと前記共有コア拡張MMUとの間のインターフェースとをさらに備える、項目1から9のいずれか1項に記載の装置。
[項目12]
ダイ上に前記共有コア拡張ロジックと共に前記複数のコアから前記共有データ処理ロジックに対する複数の呼び出しをスケジューリングするハードウェアスケジューリングロジックをさらに備える、項目1から11のいずれか1項に記載の装置。
[項目13]
複数のコアを有するプロセッサのコア内で、共有コア拡張呼び出し命令を受信する段階であって、前記共有コア拡張呼び出し命令は、データ処理を実行させるために、前記コアに、複数のコアにより共有される共有コア拡張ロジックを呼び出させ、前記共有コア拡張呼び出し命令は、共有コア拡張コマンドレジスタを示し、かつ、実行されるべき前記データ処理を指定する複数のパラメータを示す、段階と、
前記共有コア拡張呼び出し命令に応答して、前記データ処理を実行させるために前記共有コア拡張ロジックを呼び出す段階であって、前記命令によって示された前記複数のパラメータに基づいて、前記命令によって示された前記共有コア拡張コマンドレジスタにデータを格納する段階を含む、前記共有コア拡張ロジックを呼び出す段階とを備える、方法。
[項目14]
前記共有コア拡張呼び出し命令は、前記コアの命令セットのマクロ命令を備え、前記共有コア拡張コマンドレジスタは、アーキテクチャレジスタを備える、項目13に記載の方法。
[項目15]
前記複数のパラメータに基づいて、示された前記共有コア拡張コマンドレジスタに前記データを格納する段階は、
呼び出し属性情報を指す呼び出し属性ポインタフィールドにポインタを格納する段階と、
入力データオペランドを指す入力データオペランドポインタフィールドにポインタを格納する段階と、
出力データオペランドを指す出力データオペランドポインタフィールドにポインタを格納する段階とを備える、項目13または14に記載の方法。
[項目16]
前記呼び出しに関連付けられたデータ処理に基づいて、示された前記共有コア拡張コマンドレジスタにデータを格納する前記共有コア拡張ロジックをさらに備え、前記データを格納する前記段階は、
前記呼び出しのステータスを提供するために、示された前記レジスタのステータスフィールドにステータスを格納する段階と、
前記呼び出しの進捗度を提供するために、示された前記レジスタの進捗度フィールドに進捗度を格納する段階とを含む、項目13から15のいずれか1項に記載の方法。
[項目17]
前記命令を受信する段階は、非ブロック共有コア拡張呼び出し命令を受信する段階を備え、前記共有コア拡張ロジックが実行されるべき前記データ処理を受け入れた後、前記コアにおいて、前記非ブロック共有コア拡張呼び出し命令をリタイアさせる段階をさらに備える、項目13から16のいずれか1項に記載の方法。
[項目18]
前記命令を受信する段階は、ブロック共有コア拡張呼び出し命令を受信する段階を備え、前記共有コア拡張ロジックが前記データ処理を完了した後、前記コアにおいて、前記ブロック共有コア拡張呼び出し命令をリタイアさせる段階をさらに備える、項目13から17のいずれか1項に記載の方法。
[項目19]
前記命令を受信する段階は、ブロック共有コア拡張呼び出し命令を受信する段階を備え、前記ブロック共有コア拡張呼び出し命令は、示された前記共有コア拡張コマンドレジスタを解放するタイムアウト値を示す、項目13から17のいずれか1項に記載の方法。
[項目20]
呼び出す段階は、メモリにおいて少なくとも1つの出力データ構造を生成するルーチンに従って、メモリにおいて、少なくとも1つの入力データ構造に対してデータ処理を実行させる前記共有コア拡張ロジックを呼び出す段階を備える、項目13から19のいずれか1項に記載の方法。
[項目21]
前記コアのメモリ管理ユニット(MMU)と前記共有コア拡張ロジックの共有コア拡張MMUとの間でハードウェアにおいて同期信号を交換することにより、前記MMUと前記共有コア拡張MMUとを同期する段階をさらに備える、項目13から20のいずれか1項に記載の方法。
[項目22]
前記呼び出しに対応するページフォルトを、共有コア拡張メモリ管理ユニット(MMU)から前記コアのMMUへルーティングする段階をさらに備える、項目13から21のいずれか1項に記載の方法。
[項目23]
前記共有コア拡張呼び出し命令を受信する前に、
前記共有コア拡張コマンドレジスタを示す供給コア拡張停止命令を受信する段階と、
前記供給コア拡張停止命令に応答して、前記供給コア拡張停止命令によって示された前記共有コア拡張コマンドレジスタに対応するデータ処理を中止し、前記共有コア拡張コマンドレジスタを解放する段階とをさらに備える、項目13から22のいずれか1項に記載の方法。
[項目24]
前記共有コア拡張呼び出し命令を受信した後に、
前記共有コア拡張コマンドレジスタを示す共有コア拡張読み出し命令を受信する段階と、
前記共有コア拡張読み出し命令に応答して、前記共有コア拡張読み出し命令によって示された前記共有コア拡張コマンドレジスタから、データ処理完了ステータスを読み出す段階とをさらに備える、項目13から23のいずれか1項に記載の方法。
[項目25]
プロセッサを備えるシステムであって、前記プロセッサは、
複数のコアと、
前記複数のコアの各々と連結される共有コア拡張ロジックであって、前記複数のコアの各々に共有される共有データ処理ロジックを有する共有コア拡張ロジックと、
対応するコアの代わりに、前記共有データ処理ロジックにデータ処理を実行させるために、共有コア拡張呼び出し命令に応答して前記共有コア拡張ロジックを呼び出す、前記複数のコアの各々に対する命令実行ロジックと、
前記プロセッサと連結されるダイナミックランダムアクセスメモリ(DRAM)とを備える、システム。
[項目26]
前記共有コア拡張呼び出し命令は、前記複数のコアの命令セットのマクロ命令を備える、項目25に記載のシステム。
[項目27]
前記命令実行ロジック及び前記共有コア拡張ロジックと連結される複数のアーキテクチャ上の共有コア拡張コマンドレジスタをさらに備え、前記共有コア拡張呼び出し命令は、複数の前記共有コア拡張コマンドレジスタの1つ及び複数のパラメータを示す、項目25または26に記載のシステム。
[項目28]
コアと前記共有コア拡張ロジックとの間で複数のコンテキストスイッチを生じさせる、オペレーティングシステムのプレエンプション及びコアの複数の例外条件をルーティングするハードウェアインターフェースをさらに備える、項目1から12のいずれか1項に記載の装置。
Claims (29)
- 複数のコアと、
前記複数のコアの各々と連結される共有コア拡張ハードウェアロジックであって、前記複数のコアの各々に共有される共有データ処理ハードウェアロジックを有する共有コア拡張ハードウェアロジックと、
対応するコアの代わりに、前記共有データ処理ハードウェアロジックにデータ処理を実行させるために、共有コア拡張呼び出し命令に応答して前記共有コア拡張ハードウェアロジックを呼び出す、前記複数のコアの各々に対する命令実行ハードウェアロジックと、
前記命令実行ハードウェアロジック及び前記共有コア拡張ハードウェアロジックと連結される複数の共有コア拡張コマンドレジスタとを備え、
前記共有コア拡張ハードウェアロジックは、前記呼び出しに関連付けられたデータ処理に基づいて、前記共有コア拡張呼び出し命令により示された前記共有コア拡張コマンドレジスタに、前記呼び出しの進捗度を提供する進捗度フィールドを格納する、
装置。 - 複数のコアと、
前記複数のコアの各々と連結される共有コア拡張ハードウェアロジックであって、前記複数のコアの各々に共有される共有データ処理ハードウェアロジックを有する共有コア拡張ハードウェアロジックと、
対応するコアの代わりに、前記共有データ処理ハードウェアロジックにデータ処理を実行させるために、共有コア拡張呼び出し命令に応答して前記共有コア拡張ハードウェアロジックを呼び出す、前記複数のコアの各々に対する命令実行ハードウェアロジックと、
前記命令実行ハードウェアロジック及び前記共有コア拡張ハードウェアロジックと連結される複数の共有コア拡張コマンドレジスタとを備え、
前記コアは、ブロック共有コア拡張呼び出し命令を受信し、前記ブロック共有コア拡張呼び出し命令は、前記共有コア拡張呼び出し命令により示された前記共有コア拡張コマンドレジスタを解放するタイムアウト値を示す
装置。 - 前記共有コア拡張呼び出し命令は、前記複数のコアの命令セットに含まれるマクロ命令の一つである、請求項1または2に記載の装置。
- 前記共有コア拡張ハードウェアロジックは、前記呼び出しに関連付けられたデータ処理に基づいて、示された前記共有コア拡張コマンドレジスタに、
前記呼び出しのステータスを提供するステータスフィールドを格納する、請求項1または2に記載の装置。 - 前記共有データ処理ハードウェアロジックは、少なくとも1つのベクトル実行ユニットを備える、請求項1から4のいずれか1項に記載の装置。
- 前記共有データ処理ハードウェアロジックは、前記複数のコア内に見られないデータ処理ハードウェアロジックを備える、請求項1から5のいずれか1項に記載の装置。
- 前記命令実行ハードウェアロジックは、メモリにおいて少なくとも1つの出力データ構造を生成するルーチンに従って、前記共有コア拡張呼び出し命令に応答して、メモリにおける少なくとも1つの入力データ構造に対してデータ処理を実行させるために、前記共有コア拡張ハードウェアロジックを呼び出す、請求項1から6のいずれか1項に記載の装置。
- 前記複数のコアの第1のコアのメモリ管理ユニット(MMU)と、
前記共有コア拡張ハードウェアロジックの共有コア拡張MMUと、
前記第1のコアの前記MMUと前記共有コア拡張MMUとを同期するために、ハードウェアにおいて複数の同期信号を交換する前記第1のコアの前記MMUと前記共有コア拡張MMUとの間のハードウェアインターフェースとをさらに備える、請求項1から7のいずれか1項に記載の装置。 - 前記複数のコアの第1のコアのメモリ管理ユニット(MMU)と、
前記共有コア拡張ハードウェアロジックの共有コア拡張MMUと、
前記第1のコアからの呼び出しに対応するページフォルトを、前記共有コア拡張MMUから前記第1のコアの前記MMUにルーティングする、前記第1のコアの前記MMUと前記共有コア拡張MMUとの間のインターフェースとをさらに備える、請求項1から7のいずれか1項に記載の装置。 - ダイ上に前記共有コア拡張ハードウェアロジックと共に前記複数のコアから前記共有データ処理ハードウェアロジックに対する複数の呼び出しをスケジューリングするハードウェアスケジューリングロジックをさらに備える、請求項1から9のいずれか1項に記載の装置。
- 複数のコアを有するプロセッサのコア内で、共有コア拡張呼び出し命令を受信する段階であって、前記共有コア拡張呼び出し命令は、データ処理を実行させるために、前記コアに、複数のコアにより共有される共有コア拡張ハードウェアロジックを呼び出させ、前記共有コア拡張呼び出し命令は、共有コア拡張コマンドレジスタを示し、かつ、実行されるべき前記データ処理を指定する複数のパラメータを示す、段階と、
前記共有コア拡張呼び出し命令に応答して、前記データ処理を実行させるために前記共有コア拡張ハードウェアロジックを呼び出す段階であって、前記命令によって示された前記複数のパラメータに基づいて、前記命令によって示された前記共有コア拡張コマンドレジスタにデータを格納する段階を含む、前記共有コア拡張ハードウェアロジックを呼び出す段階と、
前記呼び出しに関連付けられたデータ処理に基づいて、前記呼び出しの進捗度を提供するために、示された前記共有コア拡張コマンドレジスタの進捗度フィールドに進捗度を格納する段階と、を備える、方法。 - 複数のコアを有するプロセッサのコア内で、共有コア拡張呼び出し命令を受信する段階であって、前記共有コア拡張呼び出し命令は、データ処理を実行させるために、前記コアに、複数のコアにより共有される共有コア拡張ハードウェアロジックを呼び出させ、前記共有コア拡張呼び出し命令は、共有コア拡張コマンドレジスタを示し、かつ、実行されるべき前記データ処理を指定する複数のパラメータを示す、段階と、
前記共有コア拡張呼び出し命令に応答して、前記データ処理を実行させるために前記共有コア拡張ハードウェアロジックを呼び出す段階であって、前記命令によって示された前記複数のパラメータに基づいて、前記命令によって示された前記共有コア拡張コマンドレジスタにデータを格納する段階を含む、前記共有コア拡張ハードウェアロジックを呼び出す段階とを備え、
前記命令を受信する段階は、ブロック共有コア拡張呼び出し命令を受信する段階を備え、前記ブロック共有コア拡張呼び出し命令は、示された前記共有コア拡張コマンドレジスタを解放するタイムアウト値を示す
方法。 - 前記共有コア拡張呼び出し命令は、前記コアの命令セットに含まれるマクロ命令の一つであり、前記共有コア拡張コマンドレジスタは、アーキテクチャレジスタである、請求項11または12に記載の方法。
- 前記複数のパラメータに基づいて、示された前記共有コア拡張コマンドレジスタに前記データを格納する段階は、
呼び出し属性情報を指す呼び出し属性ポインタフィールドにポインタを格納する段階と、
入力データオペランドを指す入力データオペランドポインタフィールドにポインタを格納する段階と、
出力データオペランドを指す出力データオペランドポインタフィールドにポインタを格納する段階とを備える、請求項11から13のいずれか1項に記載の方法。 - 前記呼び出しに関連付けられたデータ処理に基づいて、前記呼び出しのステータスを提供するために、示された前記共有コア拡張コマンドレジスタのステータスフィールドにステータスを格納する段階を含む、請求項11から14のいずれか1項に記載の方法。
- 前記命令を受信する段階は、非ブロック共有コア拡張呼び出し命令を受信する段階を備え、前記共有コア拡張ハードウェアロジックが実行されるべき前記データ処理を受け入れた後、前記コアにおいて、前記非ブロック共有コア拡張呼び出し命令をリタイアさせる段階をさらに備える、請求項11から15のいずれか1項に記載の方法。
- 前記命令を受信する段階は、ブロック共有コア拡張呼び出し命令を受信する段階を備え、前記共有コア拡張ハードウェアロジックが前記データ処理を完了した後、前記コアにおいて、前記ブロック共有コア拡張呼び出し命令をリタイアさせる段階をさらに備える、請求項11から16のいずれか1項に記載の方法。
- 呼び出す段階は、メモリにおいて少なくとも1つの出力データ構造を生成するルーチンに従って、メモリにおいて、少なくとも1つの入力データ構造に対してデータ処理を実行させる前記共有コア拡張ハードウェアロジックを呼び出す段階を備える、請求項11から17のいずれか1項に記載の方法。
- 前記コアのメモリ管理ユニット(MMU)と前記共有コア拡張ハードウェアロジックの共有コア拡張MMUとの間でハードウェアにおいて同期信号を交換することにより、前記MMUと前記共有コア拡張MMUとを同期する段階をさらに備える、請求項11から18のいずれか1項に記載の方法。
- 前記呼び出しに対応するページフォルトを、共有コア拡張メモリ管理ユニット(MMU)から前記コアのMMUへルーティングする段階をさらに備える、請求項11から19のいずれか1項に記載の方法。
- 前記共有コア拡張呼び出し命令を受信する前に、
前記共有コア拡張コマンドレジスタを示す共有コア拡張停止命令を受信する段階と、
前記共有コア拡張停止命令に応答して、前記共有コア拡張停止命令によって示された前記共有コア拡張コマンドレジスタに対応するデータ処理を中止し、前記共有コア拡張コマンドレジスタを解放する段階とをさらに備える、請求項11から20のいずれか1項に記載の方法。 - 前記共有コア拡張呼び出し命令を受信した後に、
前記共有コア拡張コマンドレジスタを示す共有コア拡張読み出し命令を受信する段階と、
前記共有コア拡張読み出し命令に応答して、前記共有コア拡張読み出し命令によって示された前記共有コア拡張コマンドレジスタから、データ処理完了ステータスを読み出す段階とをさらに備える、請求項11から21のいずれか1項に記載の方法。 - プロセッサと、前記プロセッサと連結されるダイナミックランダムアクセスメモリ(DRAM)とを備えるシステムであって、前記プロセッサは、
複数のコアと、
前記複数のコアの各々と連結される共有コア拡張ハードウェアロジックであって、前記複数のコアの各々に共有される共有データ処理ハードウェアロジックを有する共有コア拡張ハードウェアロジックと、
対応するコアの代わりに、前記共有データ処理ハードウェアロジックにデータ処理を実行させるために、共有コア拡張呼び出し命令に応答して前記共有コア拡張ハードウェアロジックを呼び出す、前記複数のコアの各々に対する命令実行ハードウェアロジックと、
前記命令実行ハードウェアロジック及び前記共有コア拡張ハードウェアロジックと連結される複数のアーキテクチャ上の共有コア拡張コマンドレジスタと、を備え、
前記共有コア拡張ハードウェアロジックは、前記呼び出しに関連付けられたデータ処理に基づいて、前記共有コア拡張呼び出し命令により示された前記共有コア拡張コマンドレジスタに、前記呼び出しの進捗度を提供する進捗度フィールドを格納する、
システム。 - プロセッサと、前記プロセッサと連結されるダイナミックランダムアクセスメモリ(DRAM)とを備えるシステムであって、前記プロセッサは、
複数のコアと、
前記複数のコアの各々と連結される共有コア拡張ハードウェアロジックであって、前記複数のコアの各々に共有される共有データ処理ハードウェアロジックを有する共有コア拡張ハードウェアロジックと、
対応するコアの代わりに、前記共有データ処理ハードウェアロジックにデータ処理を実行させるために、共有コア拡張呼び出し命令に応答して前記共有コア拡張ハードウェアロジックを呼び出す、前記複数のコアの各々に対する命令実行ハードウェアロジックと、
前記命令実行ハードウェアロジック及び前記共有コア拡張ハードウェアロジックと連結される複数のアーキテクチャ上の共有コア拡張コマンドレジスタと、を備え、
前記コアは、ブロック共有コア拡張呼び出し命令を受信し、前記ブロック共有コア拡張呼び出し命令は、前記共有コア拡張呼び出し命令により示された前記共有コア拡張コマンドレジスタを解放するタイムアウト値を示す、
システム。 - 前記共有コア拡張呼び出し命令は、前記複数のコアの命令セットに含まれるマクロ命令の一つである、請求項23または24に記載のシステム。
- 前記共有コア拡張ハードウェアロジックから前記コアに対してフォールトを通知するためのハードウェアインターフェースを備える、請求項1から10のいずれか1項に記載の装置。
- 前記複数のコアは投機実行をサポートし、前記共有コア拡張ハードウェアロジックは投機実行をサポートしない、請求項1から10のいずれか1項に記載の装置。
- 前記複数のコアは投機実行をサポートし、前記共有コア拡張ハードウェアロジックは投機実行をサポートしない、請求項11から22のいずれか1項に記載の方法。
- 前記複数のコアは投機実行をサポートし、前記共有コア拡張ハードウェアロジックは投機実行をサポートしない、請求項23から25のいずれか1項に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/629,460 US9582287B2 (en) | 2012-09-27 | 2012-09-27 | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
US13/629,460 | 2012-09-27 | ||
PCT/US2013/045501 WO2014051736A1 (en) | 2012-09-27 | 2013-06-12 | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017157514A Division JP2017224342A (ja) | 2012-09-27 | 2017-08-17 | プロセッサ及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015532990A JP2015532990A (ja) | 2015-11-16 |
JP6240964B2 true JP6240964B2 (ja) | 2017-12-06 |
Family
ID=50340107
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015533047A Active JP6240964B2 (ja) | 2012-09-27 | 2013-06-12 | 装置、方法、およびシステム |
JP2017157514A Pending JP2017224342A (ja) | 2012-09-27 | 2017-08-17 | プロセッサ及び装置 |
JP2018218328A Active JP7052170B2 (ja) | 2012-09-27 | 2018-11-21 | プロセッサおよびシステム |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017157514A Pending JP2017224342A (ja) | 2012-09-27 | 2017-08-17 | プロセッサ及び装置 |
JP2018218328A Active JP7052170B2 (ja) | 2012-09-27 | 2018-11-21 | プロセッサおよびシステム |
Country Status (7)
Country | Link |
---|---|
US (6) | US9582287B2 (ja) |
JP (3) | JP6240964B2 (ja) |
KR (2) | KR101783576B1 (ja) |
CN (3) | CN109375949B (ja) |
DE (1) | DE112013004751T5 (ja) |
GB (2) | GB2568816B8 (ja) |
WO (1) | WO2014051736A1 (ja) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8515052B2 (en) | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9582287B2 (en) | 2012-09-27 | 2017-02-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
US9483263B2 (en) * | 2013-03-26 | 2016-11-01 | Via Technologies, Inc. | Uncore microcode ROM |
US9552205B2 (en) * | 2013-09-27 | 2017-01-24 | Intel Corporation | Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions |
WO2015185071A1 (en) * | 2014-06-04 | 2015-12-10 | Giesecke & Devrient Gmbh | Method for enhanced security of computational device with multiple cores |
US20160170767A1 (en) * | 2014-12-12 | 2016-06-16 | Intel Corporation | Temporary transfer of a multithreaded ip core to single or reduced thread configuration during thread offload to co-processor |
WO2016097791A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10089112B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10108420B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
US10083038B2 (en) | 2014-12-14 | 2018-09-25 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US10127046B2 (en) | 2014-12-14 | 2018-11-13 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
US10114794B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10108421B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor |
JP6286068B2 (ja) | 2014-12-14 | 2018-02-28 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | アウトオブオーダープロセッサでのキャッシュ不可に依存するロードリプレイを除外するメカニズム |
WO2016097802A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on long load cycles in an out-order processor |
WO2016097792A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude load replays dependent on write combining memory space access in out-of-order processor |
WO2016097790A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor |
US10146540B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
US9703359B2 (en) | 2014-12-14 | 2017-07-11 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
US10175984B2 (en) | 2014-12-14 | 2019-01-08 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10114646B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
WO2016097815A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude x86 special bus cycle load replays in out-of-order processor |
US9804845B2 (en) * | 2014-12-14 | 2017-10-31 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US9645827B2 (en) | 2014-12-14 | 2017-05-09 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
US10146539B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
US10088881B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
WO2016097814A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude shared ram-dependent load replays in out-of-order processor |
US10108427B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
WO2016097793A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on off-die control element access in out-of-order processor |
US10120689B2 (en) | 2014-12-14 | 2018-11-06 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10146546B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Load replay precluding mechanism |
US10228944B2 (en) | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10095514B2 (en) | 2014-12-14 | 2018-10-09 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
US9569267B2 (en) * | 2015-03-16 | 2017-02-14 | Intel Corporation | Hardware-based inter-device resource sharing |
US9747108B2 (en) | 2015-03-27 | 2017-08-29 | Intel Corporation | User-level fork and join processors, methods, systems, and instructions |
US10417248B2 (en) * | 2015-09-01 | 2019-09-17 | Sap Se | Field extension in database system |
US10768936B2 (en) | 2015-09-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Block-based processor including topology and control registers to indicate resource sharing and size of logical processor |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US10019380B2 (en) | 2015-09-25 | 2018-07-10 | Qualcomm Incorporated | Providing memory management functionality using aggregated memory management units (MMUs) |
US20170262291A1 (en) * | 2016-03-09 | 2017-09-14 | Mediatek Inc. | Heterogeneous computing system with a shared computing unit and separate memory controls |
US10901940B2 (en) | 2016-04-02 | 2021-01-26 | Intel Corporation | Processors, methods, systems, and instructions to atomically store to memory data wider than a natively supported data width |
US20170371662A1 (en) * | 2016-06-23 | 2017-12-28 | Intel Corporation | Extension of register files for local processing of data in computing environments |
US10628352B2 (en) * | 2016-07-19 | 2020-04-21 | Nxp Usa, Inc. | Heterogeneous multi-processor device and method of enabling coherent data access within a heterogeneous multi-processor device |
CN106371807B (zh) * | 2016-08-30 | 2019-03-19 | 华为技术有限公司 | 一种扩展处理器指令集的方法及装置 |
US10565670B2 (en) * | 2016-09-30 | 2020-02-18 | Intel Corporation | Graphics processor register renaming mechanism |
US11531552B2 (en) | 2017-02-06 | 2022-12-20 | Microsoft Technology Licensing, Llc | Executing multiple programs simultaneously on a processor core |
US10489877B2 (en) * | 2017-04-24 | 2019-11-26 | Intel Corporation | Compute optimization mechanism |
US10474458B2 (en) * | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
KR102277728B1 (ko) * | 2017-07-31 | 2021-07-14 | 삼성전자주식회사 | 데이터 저장 시스템, 데이터 저장 시스템의 데이터 저장 방법, 및 솔리드 스테이트 드라이브의 제조 방법 |
RU2653301C1 (ru) * | 2017-10-02 | 2018-05-07 | федеральное государственное бюджетное образовательное учреждение высшего образования "Пермский национальный исследовательский политехнический университет" | Программируемое логическое устройство |
KR102498582B1 (ko) * | 2018-02-26 | 2023-02-14 | 에스케이하이닉스 주식회사 | 파티션 패턴들을 가진 이미지 센서 |
CN111971663A (zh) * | 2018-04-16 | 2020-11-20 | 埃米尔·巴登霍斯特 | 处理器和操作处理器的方法 |
AU2018423290B2 (en) | 2018-05-15 | 2021-12-16 | Huawei Technologies Co., Ltd. | Antenna system and terminal device |
CN110825436B (zh) * | 2018-08-10 | 2022-04-29 | 昆仑芯(北京)科技有限公司 | 应用于人工智能芯片的计算方法和人工智能芯片 |
GB2579617B (en) * | 2018-12-06 | 2021-01-27 | Advanced Risc Mach Ltd | An apparatus and method for handling exception causing events |
KR101996842B1 (ko) | 2018-12-26 | 2019-07-08 | (주)자람테크놀로지 | 사용자 정의 명령어 셋을 지원하는 하드웨어 고속 연산 결합형 risc-v 기반 연산 장치 및 그 방법 |
CN113396400A (zh) | 2019-03-15 | 2021-09-14 | 英特尔公司 | 用于针对高速缓存操作提供层级开放划分扇区和可变扇区大小的系统和方法 |
US11435947B2 (en) | 2019-07-02 | 2022-09-06 | Samsung Electronics Co., Ltd. | Storage device with reduced communication overhead using hardware logic |
US11169862B2 (en) * | 2019-08-09 | 2021-11-09 | Ciena Corporation | Normalizing messaging flows in a microservice architecture |
US10910048B1 (en) | 2020-01-16 | 2021-02-02 | Micron Technology, Inc. | Extended memory communication |
US11586439B2 (en) | 2020-10-20 | 2023-02-21 | Micron Technology, Inc. | Detecting infinite loops in a programmable atomic transaction |
US11403023B2 (en) | 2020-10-20 | 2022-08-02 | Micron Technology, Inc. | Method of organizing a programmable atomic unit instruction memory |
US11740929B2 (en) | 2020-10-20 | 2023-08-29 | Micron Technology, Inc. | Registering a custom atomic operation with the operating system |
US11693690B2 (en) | 2020-10-20 | 2023-07-04 | Micron Technology, Inc. | Method of completing a programmable atomic transaction by ensuring memory locks are cleared |
US12020062B2 (en) | 2020-10-20 | 2024-06-25 | Micron Technology, Inc. | Method of executing programmable atomic unit resources within a multi-process system |
US11436187B2 (en) | 2020-10-20 | 2022-09-06 | Micron Technology, Inc. | Method of notifying a process or programmable atomic operation traps |
CN112015522B (zh) * | 2020-11-02 | 2021-02-05 | 鹏城实验室 | 系统功能扩展方法、装置及计算机可读存储介质 |
CN116724316A (zh) * | 2020-12-31 | 2023-09-08 | 华为技术有限公司 | 模型处理方法和装置 |
US20220276914A1 (en) * | 2021-03-01 | 2022-09-01 | Nvidia Corporation | Interface for multiple processors |
CN115080158B (zh) * | 2021-03-12 | 2024-07-09 | Oppo广东移动通信有限公司 | 界面显示方法、装置、终端设备及计算机可读存储介质 |
CN115344244A (zh) * | 2021-05-14 | 2022-11-15 | 瑞昱半导体股份有限公司 | 处理程序语言函数的装置及方法 |
US12075074B2 (en) | 2021-09-24 | 2024-08-27 | Apple Inc. | Systems and methods for multi-core image encoding |
US12073231B2 (en) * | 2021-10-27 | 2024-08-27 | SambaNova Systems, Inc. | Fractional force-quit for reconfigurable processors |
CN116049035B (zh) * | 2022-12-27 | 2024-02-09 | 合芯科技有限公司 | 一种缓存一致性的验证和调试的实现方法 |
KR102644719B1 (ko) * | 2023-04-07 | 2024-03-08 | 메티스엑스 주식회사 | 다중 스레드의 비동기적인 실행이 가능한 매니코어 시스템 |
CN117171266B (zh) * | 2023-08-28 | 2024-05-14 | 北京逐风科技有限公司 | 一种数据同步方法、装置、设备和存储介质 |
CN117311817B (zh) * | 2023-11-30 | 2024-03-08 | 上海芯联芯智能科技有限公司 | 一种协处理器控制方法、装置、设备及存储介质 |
CN118279125B (zh) * | 2024-06-04 | 2024-08-06 | 山东浪潮科学研究院有限公司 | 一种轻量化通用图形处理器的实现方法 |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5840214B2 (ja) * | 1979-06-26 | 1983-09-03 | 株式会社東芝 | 計算機システム |
JPS6435647A (en) * | 1987-07-31 | 1989-02-06 | Hitachi Ltd | Data processing system |
JPH0564862A (ja) | 1991-02-27 | 1993-03-19 | Oji Yuka Synthetic Paper Co Ltd | 鉛筆筆記性及び印刷性に優れた合成紙 |
JPH05197743A (ja) | 1991-06-06 | 1993-08-06 | Hitachi Ltd | ベクトル処理装置 |
US5530881A (en) | 1991-06-06 | 1996-06-25 | Hitachi, Ltd. | Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs |
JP3147727B2 (ja) * | 1995-08-31 | 2001-03-19 | 松下電器産業株式会社 | 情報処理装置及びその制御方法 |
US6148395A (en) | 1996-05-17 | 2000-11-14 | Texas Instruments Incorporated | Shared floating-point unit in a single chip multiprocessor |
US6542645B1 (en) | 1997-07-15 | 2003-04-01 | Silverbrook Research Pty Ltd | Adaptive tracking of dots in optical storage system using ink dots |
US6704871B1 (en) * | 1997-09-16 | 2004-03-09 | Safenet, Inc. | Cryptographic co-processor |
US6226734B1 (en) * | 1998-06-10 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for processor migration from different processor states in a multi-processor computer system |
KR100572945B1 (ko) * | 1998-02-04 | 2006-04-24 | 텍사스 인스트루먼츠 인코포레이티드 | 효율적으로 접속 가능한 하드웨어 보조 처리기를 구비하는디지탈 신호 처리기 |
US6526430B1 (en) * | 1999-10-04 | 2003-02-25 | Texas Instruments Incorporated | Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing) |
US6785765B1 (en) * | 2000-06-30 | 2004-08-31 | Micron Technology, Inc. | Status register to improve initialization of a synchronous memory |
JP2002073332A (ja) | 2000-08-25 | 2002-03-12 | Sanyo Electric Co Ltd | 演算実行装置及び方法 |
US6829697B1 (en) | 2000-09-06 | 2004-12-07 | International Business Machines Corporation | Multiple logical interfaces to a shared coprocessor resource |
JP2002278753A (ja) | 2001-03-21 | 2002-09-27 | Rohm Co Ltd | データ処理システム |
US6898691B2 (en) * | 2001-06-06 | 2005-05-24 | Intrinsity, Inc. | Rearranging data between vector and matrix forms in a SIMD matrix processor |
US6922716B2 (en) * | 2001-07-13 | 2005-07-26 | Motorola, Inc. | Method and apparatus for vector processing |
US6900803B2 (en) * | 2002-03-12 | 2005-05-31 | Sun Microsystems, Inc. | Method for rasterizing graphics for optimal tiling performance |
GB2392742B (en) * | 2002-09-04 | 2005-10-19 | Advanced Risc Mach Ltd | Synchronisation between pipelines in a data processing apparatus |
JP2004234420A (ja) | 2003-01-31 | 2004-08-19 | Mitsubishi Electric Corp | 割り込み制御方式及び割り込み制御方法 |
US20040202326A1 (en) * | 2003-04-10 | 2004-10-14 | Guanrong Chen | System and methods for real-time encryption of digital images based on 2D and 3D multi-parametric chaotic maps |
US20040268093A1 (en) | 2003-06-26 | 2004-12-30 | Samra Nicholas G | Cross-thread register sharing technique |
CA2443347A1 (en) * | 2003-09-29 | 2005-03-29 | Pleora Technologies Inc. | Massively reduced instruction set processor |
US7174469B2 (en) * | 2003-09-30 | 2007-02-06 | International Business Machines Corporation | Processor power and energy management |
US8006074B1 (en) * | 2003-12-24 | 2011-08-23 | Altera Corporation | Methods and apparatus for executing extended custom instructions |
US8984517B2 (en) * | 2004-02-04 | 2015-03-17 | Intel Corporation | Sharing idled processor execution resources |
US7328230B2 (en) * | 2004-03-26 | 2008-02-05 | Intel Corporation | SIMD four-data element average instruction |
JP2006048661A (ja) * | 2004-07-06 | 2006-02-16 | Matsushita Electric Ind Co Ltd | プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置 |
US7395410B2 (en) * | 2004-07-06 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd. | Processor system with an improved instruction decode control unit that controls data transfer between processor and coprocessor |
US7929518B2 (en) | 2004-07-15 | 2011-04-19 | Broadcom Corporation | Method and system for a gigabit Ethernet IP telephone chip with integrated DDR interface |
US20060179273A1 (en) | 2005-02-09 | 2006-08-10 | Advanced Micro Devices, Inc. | Data processor adapted for efficient digital signal processing and method therefor |
US7543119B2 (en) * | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7996659B2 (en) * | 2005-06-06 | 2011-08-09 | Atmel Corporation | Microprocessor instruction that allows system routine calls and returns from all contexts |
JP2007156824A (ja) | 2005-12-05 | 2007-06-21 | Nec Electronics Corp | プロセッサシステム、タスク制御方法 |
US9189291B2 (en) | 2005-12-12 | 2015-11-17 | International Business Machines Corporation | Sharing a kernel of an operating system among logical partitions |
TWI335521B (en) * | 2005-12-19 | 2011-01-01 | Via Tech Inc | Dsp system with multi-tier accelerator architecture and method for operating the same |
DE102005062810B4 (de) * | 2005-12-28 | 2019-06-06 | Siemens Aktiengesellschaft | Verfahren zum Ansteuern einer Geräte- und Maschinenbaugruppenanordnung |
US20080177979A1 (en) * | 2006-03-01 | 2008-07-24 | Gheorghe Stefan | Hardware multi-core processor optimized for object oriented computing |
US8595744B2 (en) * | 2006-05-18 | 2013-11-26 | Oracle America, Inc. | Anticipatory helper thread based code execution |
US7647475B2 (en) * | 2006-09-06 | 2010-01-12 | Mips Technologies, Inc. | System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue |
JP4476267B2 (ja) | 2006-10-06 | 2010-06-09 | 株式会社日立製作所 | プロセッサ及びデータ転送ユニット |
US8447957B1 (en) * | 2006-11-14 | 2013-05-21 | Xilinx, Inc. | Coprocessor interface architecture and methods of operating the same |
US7512723B2 (en) * | 2006-12-29 | 2009-03-31 | Freescale Semiconductor, Inc. | Queued interface devices, multi-core peripheral systems, and methods for sharing a peripheral in a multi-core system |
US20080163183A1 (en) * | 2006-12-29 | 2008-07-03 | Zhiyuan Li | Methods and apparatus to provide parameterized offloading on multiprocessor architectures |
US8161482B1 (en) * | 2007-04-13 | 2012-04-17 | Marvell International Ltd. | Power optimization for multi-core devices |
EP2015174B1 (en) * | 2007-06-21 | 2018-03-14 | Imsys AB | Microprogrammed processor having multiple processor cores using time-shared access to a microprogram control store |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
KR101360191B1 (ko) * | 2007-08-24 | 2014-02-07 | 삼성전자주식회사 | 코어스 그레인 어레이를 공유하는 방법 및 그 방법을이용한 프로세서 |
US8694758B2 (en) * | 2007-12-27 | 2014-04-08 | Intel Corporation | Mixing instructions with different register sizes |
US8433884B2 (en) | 2008-06-19 | 2013-04-30 | Panasonic Corporation | Multiprocessor |
US7930519B2 (en) * | 2008-12-17 | 2011-04-19 | Advanced Micro Devices, Inc. | Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit |
US8307367B2 (en) * | 2009-03-05 | 2012-11-06 | International Business Machines Corporation | Smart scheduling of automatic partition migration by the use of timers |
WO2010123765A2 (en) | 2009-04-20 | 2010-10-28 | Henkel Corporation | Thin bond line semiconductor packages |
US9208084B2 (en) * | 2009-06-29 | 2015-12-08 | Oracle America, Inc. | Extended main memory hierarchy having flash memory for page fault handling |
JP2011034189A (ja) | 2009-07-30 | 2011-02-17 | Renesas Electronics Corp | ストリームプロセッサ及びそのタスク管理方法 |
US8452926B2 (en) * | 2009-09-02 | 2013-05-28 | Texas Instruments Incorporated | Memory sharing arrangement |
US8566836B2 (en) * | 2009-11-13 | 2013-10-22 | Freescale Semiconductor, Inc. | Multi-core system on chip |
US9367462B2 (en) * | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
JP2011148920A (ja) | 2010-01-22 | 2011-08-04 | Sumitomo Chemical Co Ltd | ポリプロピレン樹脂組成物及びポリプロピレン樹脂製フィルム |
US9047079B2 (en) | 2010-02-19 | 2015-06-02 | International Business Machines Corporation | Indicating disabled thread to other threads when contending instructions complete execution to ensure safe shared resource condition |
US8615644B2 (en) * | 2010-02-19 | 2013-12-24 | International Business Machines Corporation | Processor with hardware thread control logic indicating disable status when instructions accessing shared resources are completed for safe shared resource condition |
US8533719B2 (en) | 2010-04-05 | 2013-09-10 | Oracle International Corporation | Cache-aware thread scheduling in multi-threaded systems |
US20110249744A1 (en) * | 2010-04-12 | 2011-10-13 | Neil Bailey | Method and System for Video Processing Utilizing N Scalar Cores and a Single Vector Core |
US8904154B2 (en) * | 2010-04-16 | 2014-12-02 | Massachusetts Institute Of Technology | Execution migration |
US8751833B2 (en) * | 2010-04-30 | 2014-06-10 | Arm Limited | Data processing system |
JP5895840B2 (ja) * | 2010-05-26 | 2016-03-30 | 日本電気株式会社 | マルチプロセッサシステム、実行制御方法、実行制御プログラム |
US8612730B2 (en) * | 2010-06-08 | 2013-12-17 | International Business Machines Corporation | Hardware assist thread for dynamic performance profiling |
US8359453B2 (en) * | 2010-09-13 | 2013-01-22 | International Business Machines Corporation | Real address accessing in a coprocessor executing on behalf of an unprivileged process |
US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US9176794B2 (en) | 2010-12-13 | 2015-11-03 | Advanced Micro Devices, Inc. | Graphics compute process scheduling |
US8806503B2 (en) | 2011-01-24 | 2014-08-12 | Nec Laboratories America, Inc. | Method and system for memory aware runtime to support multitenancy in heterogeneous clusters |
US8839057B2 (en) * | 2011-02-03 | 2014-09-16 | Arm Limited | Integrated circuit and method for testing memory on the integrated circuit |
US9471532B2 (en) * | 2011-02-11 | 2016-10-18 | Microsoft Technology Licensing, Llc | Remote core operations in a multi-core computer |
WO2012120573A1 (ja) | 2011-03-04 | 2012-09-13 | 日本電気株式会社 | デッドロック回避方法、デッドロック回避機構 |
US8683175B2 (en) * | 2011-03-15 | 2014-03-25 | International Business Machines Corporation | Seamless interface for multi-threaded core accelerators |
US9141166B2 (en) * | 2011-12-13 | 2015-09-22 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including dynamic control of energy consumption in power domains |
US20130307860A1 (en) | 2012-03-30 | 2013-11-21 | Mostafa Hagog | Preempting Fixed Function Media Devices |
US9582287B2 (en) | 2012-09-27 | 2017-02-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
-
2012
- 2012-09-27 US US13/629,460 patent/US9582287B2/en active Active
-
2013
- 2013-06-12 CN CN201810999968.8A patent/CN109375949B/zh active Active
- 2013-06-12 WO PCT/US2013/045501 patent/WO2014051736A1/en active Application Filing
- 2013-06-12 KR KR1020167033623A patent/KR101783576B1/ko active IP Right Grant
- 2013-06-12 JP JP2015533047A patent/JP6240964B2/ja active Active
- 2013-06-12 KR KR1020157001680A patent/KR20150023852A/ko active IP Right Grant
- 2013-06-12 DE DE112013004751.9T patent/DE112013004751T5/de active Pending
- 2013-06-12 CN CN201380045297.7A patent/CN104603748B/zh active Active
- 2013-06-12 GB GB1816776.7A patent/GB2568816B8/en active Active
- 2013-06-12 CN CN202211664801.9A patent/CN115858017A/zh active Pending
-
2015
- 2015-01-12 GB GB1500450.0A patent/GB2520852B/en active Active
-
2017
- 2017-02-07 US US15/426,276 patent/US10061593B2/en active Active
- 2017-08-17 JP JP2017157514A patent/JP2017224342A/ja active Pending
-
2018
- 2018-08-08 US US16/059,001 patent/US10963263B2/en active Active
- 2018-10-01 US US16/149,050 patent/US10901748B2/en active Active
- 2018-11-21 JP JP2018218328A patent/JP7052170B2/ja active Active
-
2021
- 2021-03-29 US US17/216,618 patent/US11494194B2/en active Active
-
2022
- 2022-10-27 US US17/975,596 patent/US12086603B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7052170B2 (ja) | プロセッサおよびシステム | |
JP6708335B2 (ja) | ユーザレベルの分岐及び結合を行うプロセッサ、方法、システム、及び命令 | |
JP6143872B2 (ja) | 装置、方法、およびシステム | |
CN106708753B (zh) | 在使用共享虚拟存储器的处理器中加速操作的装置和方法 | |
CN108885586B (zh) | 用于以有保证的完成将数据取出到所指示的高速缓存层级的处理器、方法、系统和指令 | |
TWI733760B (zh) | 記憶體複製指令、處理器、方法及系統 | |
JP5985526B2 (ja) | システムコールのためのロバスト且つ高性能な命令 | |
US10127039B2 (en) | Extension of CPU context-state management for micro-architecture state | |
US20200310817A1 (en) | System, Apparatus And Method For Symbolic Store Address Generation For Data-Parallel Processor | |
US20160378471A1 (en) | Instruction and logic for execution context groups for parallel processing | |
JP2016532233A (ja) | アドレスへの書き込みに対する監視命令を実行するスケーラブル機構 | |
US20170371701A1 (en) | Apparatuses, methods, and systems for granular and adaptive hardware transactional synchronization | |
US11126438B2 (en) | System, apparatus and method for a hybrid reservation station for a processor | |
US20210200538A1 (en) | Dual write micro-op queue | |
EP4202664B1 (en) | System, apparatus and method for throttling fusion of micro-operations in a processor | |
CN114489793A (zh) | 通过应用直接编程的用户定时器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160517 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160817 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20161014 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170817 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170825 |
|
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: 20171010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6240964 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |