JP2021009684A - データフローグラフにおける投機的実行制御 - Google Patents
データフローグラフにおける投機的実行制御 Download PDFInfo
- Publication number
- JP2021009684A JP2021009684A JP2020065285A JP2020065285A JP2021009684A JP 2021009684 A JP2021009684 A JP 2021009684A JP 2020065285 A JP2020065285 A JP 2020065285A JP 2020065285 A JP2020065285 A JP 2020065285A JP 2021009684 A JP2021009684 A JP 2021009684A
- Authority
- JP
- Japan
- Prior art keywords
- control loop
- data flow
- node
- reading
- executed
- 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
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000015654 memory Effects 0.000 claims description 101
- 239000004065 semiconductor Substances 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 14
- 239000000758 substrate Substances 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 65
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- 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
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- 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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/681—Multi-level TLB, e.g. microTLB and main TLB
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
Description
キャッシュ不能なメモリモードの異常により、読み込みが失敗したことを検出し、
異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける、例11の半導体装置を含む。
(項目1)
ネットワークコントローラと、
上記ネットワークコントローラに結合されたプロセッサであって、1または複数の基板に結合されたロジックを含むプロセッサと、を備える計算システムであって、
上記ロジックは、
不特定回数の繰り返しで制御ループが実行されると決定することと、
上記制御ループに、上記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させることであって、上記固定回数の繰り返しでの上記制御ループの実行は並行して実施される、実行させることと
を行う、システム。
(項目2)
上記1または複数の基板に結合された上記ロジックは、上記固定回数の繰り返しでの上記制御ループの上記実行に関連した、1または複数のデータフロートークンを除去する、項目1に記載のシステム。
(項目3)
上記制御ループは、メモリアドレスからの読み込みを伴い、上記1または複数の基板に結合された上記ロジックは、上記読み込みが成功したかを示す信号を生成する、項目1に記載のシステム。
(項目4)
上記読み込みは、入力/出力(IO)メモリアドレスからである、項目3に記載のシステム。
(項目5)
上記読み込みは、仮想メモリアドレスからである、項目3に記載のシステム。
(項目6)
上記1または複数の基板に結合された上記ロジックは、
キャッシュ不能なメモリモードの異常により、上記読み込みが失敗したことを検出し、
上記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける、項目5に記載のシステム。
(項目7)
1または複数の基板と、
上記1または複数の基板に結合されたロジックであって、上記ロジックは、少なくとも部分的に構成可能ロジックまたは機能固定型ハードウェアロジックのうちの1または複数に実装される、ロジックを備え、
上記1または複数の基板に結合されたロジックは、
不特定回数の繰り返しで制御ループが実行されると決定することと、
上記制御ループに、上記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させることであって、上記固定回数の繰り返しでの上記制御ループの実行は並行して実施される、実行させることと
を行う、半導体装置。
(項目8)
上記1または複数の基板に結合された上記ロジックは、上記固定回数の繰り返しでの上記制御ループの上記実行に関連した、1または複数のデータフロートークンを除去する、項目7に記載の半導体装置。
(項目9)
上記制御ループは、メモリアドレスからの読み込みを伴い、上記1または複数の基板に結合された上記ロジックは、上記読み込みが成功したかを示す信号を生成する、項目7に記載の半導体装置。
(項目10)
上記読み込みは、入力/出力(IO)メモリアドレスからである、項目9に記載の半導体装置。
(項目11)
上記読み込みは、仮想メモリアドレスからである、項目9に記載の半導体装置。
(項目12)
上記1または複数の基板に結合されたロジックは、
キャッシュ不能なメモリモードの異常により、上記読み込みが失敗したことを検出し、
上記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける、項目11に記載の半導体装置。
(項目13)
一組の実行可能なプログラム命令を備える少なくとも1つのコンピュータ可読記憶媒体であって、上記プログラム命令は、計算システムによって実行されると、実行可能プログラム命令セットを備える少なくとも1つのコンピュータ可読記憶媒体であって、上記プログラム命令は、計算システムによって実行されると、上記計算システムに、
不特定回数の繰り返しで制御ループが実行されると決定することと、
上記制御ループに、上記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させることであって、上記固定回数の繰り返しでの上記制御ループの実行は並行して実施される、実行させることと
を行わせる、少なくとも1つのコンピュータ可読記憶媒体。
(項目14)
上記プログラム命令は、実行されると、上記計算システムに、上記固定回数の繰り返しでの上記制御ループの上記実行に関連した、1または複数のデータフロートークンを除去させる、項目13に記載の少なくとも1つのコンピュータ可読記憶媒体。
(項目15)
上記制御ループは、メモリアドレスからの読み込みを伴い、上記プログラム命令は、実行されると、上記計算システムに、上記読み込みが成功したかを示す信号を生成させる、項目13に記載の少なくとも1つのコンピュータ可読記憶媒体。
(項目16)
上記読み込みは、入力/出力(IO)メモリアドレスからである、項目15に記載の少なくとも1つのコンピュータ可読記憶媒体。
(項目17)
上記読み込みは、仮想メモリアドレスからである、項目15に記載の少なくとも1つのコンピュータ可読記憶媒体。
(項目18)
上記プログラム命令は、実行されると上記計算システムに、
キャッシュ不能なメモリモードの異常により、上記読み込みが失敗したことを検出させ、
上記異常に応じて、1または複数の仮想ページに変換不能と注釈を付けさせる、項目17に記載の少なくとも1つのコンピュータ可読記憶媒体。
(項目19)
不特定回数の繰り返しで制御ループが実行されると決定する段階と、
上記制御ループに、上記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させる段階であって、上記固定回数の繰り返しでの上記制御ループの実行は並行して実施される、実行させる段階と、
を備える方法。
(項目20)
上記固定回数の繰り返しでの上記制御ループの上記実行に関連した、1または複数のデータフロートークンを除去する段階をさらに備える、項目19に記載の方法。
(項目21)
上記制御ループは、メモリアドレスからの読み込みを伴い、上記方法は、上記読み込みが成功したかを示す信号を生成する段階をさらに備える、項目19に記載の方法。
(項目22)
上記読み込みは、入力/出力(IO)メモリアドレスからである、項目21に記載の方法。
(項目23)
上記読み込みは、仮想メモリアドレスからである、項目21に記載の方法。
(項目24)
キャッシュ不能なメモリモードの異常により、上記読み込みが失敗したことを検出する段階と、
上記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける段階と、
をさらに備える、項目23に記載の方法。
Claims (31)
- ネットワークコントローラと、
前記ネットワークコントローラに結合されたプロセッサであって、1または複数の基板に結合されたロジックを含むプロセッサと、を備え、
前記ロジックは、
不特定回数の繰り返しで制御ループが実行されると決定することと、
前記制御ループに、前記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させることであって、前記固定回数の繰り返しでの前記制御ループの実行は並行して実施される、実行させることと
を行う、計算システム。 - 前記1または複数の基板に結合された前記ロジックは、前記固定回数の繰り返しでの前記制御ループの前記実行に関連した、1または複数のデータフロートークンを除去する、請求項1に記載の計算システム。
- 前記制御ループは、メモリアドレスからの読み込みを伴い、前記1または複数の基板に結合された前記ロジックは、前記読み込みが成功したかを示す信号を生成する、請求項1または2に記載の計算システム。
- 前記読み込みは、入力/出力(IO)メモリアドレスからである、請求項3に記載の計算システム。
- 前記読み込みは、仮想メモリアドレスからである、請求項3に記載の計算システム。
- 前記1または複数の基板に結合された前記ロジックは、
キャッシュ不能なメモリモードの異常により、前記読み込みが失敗したことを検出し、
前記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける、請求項5に記載の計算システム。 - 1または複数の基板と、
前記1または複数の基板に結合されたロジックであって、前記ロジックは、少なくとも部分的に構成可能ロジックまたは機能固定型ハードウェアロジックのうちの1または複数に実装される、ロジックを備え、
前記1または複数の基板に結合されたロジックは、
不特定回数の繰り返しで制御ループが実行されると決定することと、
前記制御ループに、前記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させることであって、前記固定回数の繰り返しでの前記制御ループの実行は並行して実施される、実行させることと
を行う、半導体装置。 - 前記1または複数の基板に結合された前記ロジックは、前記固定回数の繰り返しでの前記制御ループの前記実行に関連した、1または複数のデータフロートークンを除去する、請求項7に記載の半導体装置。
- 前記制御ループは、メモリアドレスからの読み込みを伴い、前記1または複数の基板に結合された前記ロジックは、前記読み込みが成功したかを示す信号を生成する、請求項7または8に記載の半導体装置。
- 前記読み込みは、入力/出力(IO)メモリアドレスからである、請求項9に記載の半導体装置。
- 前記読み込みは、仮想メモリアドレスからである、請求項9に記載の半導体装置。
- 前記1または複数の基板に結合されたロジックは、
キャッシュ不能なメモリモードの異常により、前記読み込みが失敗したことを検出し、
前記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける、請求項11に記載の半導体装置。 - 計算システムに、
不特定回数の繰り返しで制御ループが実行されると決定することと、
前記制御ループに、前記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させることであって、前記固定回数の繰り返しでの前記制御ループの実行は並行して実施される、実行させることと
を行わせる、プログラム。 - 前記計算システムに、前記固定回数の繰り返しでの前記制御ループの前記実行に関連した、1または複数のデータフロートークンを除去させる、請求項13に記載のプログラム。
- 前記制御ループは、メモリアドレスからの読み込みを伴い、前記プログラムは、前記読み込みが成功したかを示す信号を前記計算システムに生成させる、請求項13または14に記載のプログラム。
- 前記読み込みは、入力/出力(IO)メモリアドレスからである、請求項15に記載のプログラム。
- 前記読み込みは、仮想メモリアドレスからである、請求項15に記載のプログラム。
- 前記計算システムに、
キャッシュ不能なメモリモードの異常により、前記読み込みが失敗したことを検出させ、
前記異常に応じて、1または複数の仮想ページに変換不能と注釈を付けさせる、請求項17に記載のプログラム。 - 請求項13から18のいずれか一項に記載のプログラムを格納する、少なくとも1つのコンピュータ可読記憶媒体。
- 不特定回数の繰り返しで制御ループが実行されると決定する段階と、
前記制御ループに、前記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させる段階であって、前記固定回数の繰り返しでの前記制御ループの実行は並行して実施される、実行させる段階と、
を備える方法。 - 前記固定回数の繰り返しでの前記制御ループの前記実行に関連した、1または複数のデータフロートークンを除去する段階をさらに備える、請求項20に記載の方法。
- 前記制御ループは、メモリアドレスからの読み込みを伴い、前記方法は、前記読み込みが成功したかを示す信号を生成する段階をさらに備える、請求項20または21に記載の方法。
- 前記読み込みは、入力/出力(IO)メモリアドレスからである、請求項22に記載の方法。
- 前記読み込みは、仮想メモリアドレスからである、請求項22に記載の方法。
- キャッシュ不能なメモリモードの異常により、前記読み込みが失敗したことを検出する段階と、
前記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける段階と、
をさらに備える、請求項24に記載の方法。 - 不特定回数の繰り返しで制御ループが実行されると決定する手段と、
前記制御ループに、前記不特定回数の繰り返しに加え、固定回数の繰り返しを強制的に実行させる手段であって、前記固定回数の繰り返しでの前記制御ループの実行は並行して実施される、実行させる手段と、
を備える半導体装置。 - 前記固定回数の繰り返しでの前記制御ループの前記実行に関連した、1または複数のデータフロートークンを除去する手段をさらに備える、請求項26に記載の半導体装置。
- 前記制御ループは、メモリアドレスからの読み込みを伴い、前記半導体装置は、前記読み込みが成功したかを示す信号を生成する手段をさらに備える、請求項26または27に記載の半導体装置。
- 前記読み込みは、入力/出力(IO)メモリアドレスからである、請求項28に記載の半導体装置。
- 前記読み込みは、仮想メモリアドレスからである、請求項28に記載の半導体装置。
- キャッシュ不能なメモリモードの異常により、前記読み込みが失敗したことを検出する手段と、
前記異常に応じて、1または複数の仮想ページに変換不能と注釈を付ける手段と、
をさらに備える、請求項30に記載の半導体装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/456,953 US10860301B2 (en) | 2019-06-28 | 2019-06-28 | Control speculation in dataflow graphs |
US16/456,953 | 2019-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021009684A true JP2021009684A (ja) | 2021-01-28 |
JP7446893B2 JP7446893B2 (ja) | 2024-03-11 |
Family
ID=68161560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020065285A Active JP7446893B2 (ja) | 2019-06-28 | 2020-03-31 | 計算システム、半導体装置、プログラムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10860301B2 (ja) |
EP (1) | EP3757775A1 (ja) |
JP (1) | JP7446893B2 (ja) |
KR (1) | KR20210001918A (ja) |
CN (1) | CN112148633A (ja) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260190B1 (en) * | 1998-08-11 | 2001-07-10 | Hewlett-Packard Company | Unified compiler framework for control and data speculation with recovery code |
US6539541B1 (en) * | 1999-08-20 | 2003-03-25 | Intel Corporation | Method of constructing and unrolling speculatively counted loops |
US6526572B1 (en) * | 2000-02-09 | 2003-02-25 | Hewlett-Packard Company | Mechanism for software register renaming and load speculation in an optimizer |
US6832370B1 (en) * | 2000-05-09 | 2004-12-14 | Hewlett-Packard Development, L.P. | Data speculation within modulo scheduled loops |
US6615403B1 (en) * | 2000-06-30 | 2003-09-02 | Intel Corporation | Compare speculation in software-pipelined loops |
US6986131B2 (en) * | 2002-06-18 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Method and apparatus for efficient code generation for modulo scheduled uncounted loops |
US20040123081A1 (en) | 2002-12-20 | 2004-06-24 | Allan Knies | Mechanism to increase performance of control speculation |
EP1471421A1 (en) * | 2003-04-24 | 2004-10-27 | STMicroelectronics Limited | Speculative load instruction control |
US8739141B2 (en) | 2008-05-19 | 2014-05-27 | Oracle America, Inc. | Parallelizing non-countable loops with hardware transactional memory |
WO2011079942A1 (en) * | 2009-12-28 | 2011-07-07 | Hyperion Core, Inc. | Optimisation of loops and data flow sections |
CN104969179B (zh) * | 2013-03-15 | 2019-07-16 | 英特尔公司 | 用于将具有循环承载的依赖的标量计算机程序循环向量化的方法和系统 |
US10515049B1 (en) * | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10565134B2 (en) * | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
-
2019
- 2019-06-28 US US16/456,953 patent/US10860301B2/en active Active
-
2020
- 2020-03-27 EP EP20166246.7A patent/EP3757775A1/en active Pending
- 2020-03-27 CN CN202010230361.0A patent/CN112148633A/zh active Pending
- 2020-03-31 JP JP2020065285A patent/JP7446893B2/ja active Active
- 2020-05-25 KR KR1020200062078A patent/KR20210001918A/ko active Search and Examination
- 2020-12-07 US US17/113,185 patent/US11385873B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20190317744A1 (en) | 2019-10-17 |
US20210165642A1 (en) | 2021-06-03 |
EP3757775A1 (en) | 2020-12-30 |
JP7446893B2 (ja) | 2024-03-11 |
US10860301B2 (en) | 2020-12-08 |
CN112148633A (zh) | 2020-12-29 |
KR20210001918A (ko) | 2021-01-06 |
US11385873B2 (en) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6526609B2 (ja) | プロセッサ | |
US9501279B2 (en) | Local instruction loop buffer utilizing execution unit register file | |
US10521234B2 (en) | Concurrent multiple instruction issued of non-pipelined instructions using non-pipelined operation resources in another processing core | |
US7873816B2 (en) | Pre-loading context states by inactive hardware thread in advance of context switch | |
US8140830B2 (en) | Structural power reduction in multithreaded processor | |
US9021237B2 (en) | Low latency variable transfer network communicating variable written to source processing core variable register allocated to destination thread to destination processing core variable register allocated to source thread | |
US8291201B2 (en) | Dynamic merging of pipeline stages in an execution pipeline to reduce power consumption | |
US7921278B2 (en) | Early exit processing of iterative refinement algorithm using register dependency disable | |
US7975172B2 (en) | Redundant execution of instructions in multistage execution pipeline during unused execution cycles | |
US20090240920A1 (en) | Execution Unit with Data Dependent Conditional Write Instructions | |
US20140229720A1 (en) | Branch prediction with power usage prediction and control | |
TW201312460A (zh) | 用於多股亂序處理器中之指令排程的方法及裝置 | |
US20160103682A1 (en) | Load and store ordering for a strongly ordered simultaneous multithreading core | |
GB2550470B (en) | Processors supporting atomic writes to multiword memory locations & methods | |
US20230315471A1 (en) | Method and system for hardware-assisted pre-execution | |
JP7446893B2 (ja) | 計算システム、半導体装置、プログラムおよび方法 | |
US20170371701A1 (en) | Apparatuses, methods, and systems for granular and adaptive hardware transactional synchronization | |
CN113568663A (zh) | 代码预取指令 | |
US20240211259A1 (en) | Prefetching with saturation control | |
Bonasu et al. | Design of Efficient Dynamic Scheduling of RISC Processor Instructions | |
Lankamp | Developing a reference implementation for a microgrid of microthreaded microprocessors | |
US20240192958A1 (en) | Branch target buffer operation with auxiliary indirect cache | |
US20080059753A1 (en) | Scheduling operations corresponding to store instructions | |
TW202324147A (zh) | 用以將操作的運算及資料儲存交疊之交錯式資料負載系統 | |
Radulović et al. | An Analysis of Speculation and Coherence Protocols in CMPs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230327 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240123 |
|
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: 20240130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7446893 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |