JP7025100B2 - アドレス変換なしで動作する読み込み/格納ユニットでの実効アドレスのシノニムの処理 - Google Patents
アドレス変換なしで動作する読み込み/格納ユニットでの実効アドレスのシノニムの処理 Download PDFInfo
- Publication number
- JP7025100B2 JP7025100B2 JP2020517947A JP2020517947A JP7025100B2 JP 7025100 B2 JP7025100 B2 JP 7025100B2 JP 2020517947 A JP2020517947 A JP 2020517947A JP 2020517947 A JP2020517947 A JP 2020517947A JP 7025100 B2 JP7025100 B2 JP 7025100B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- entry
- address
- ert
- effective address
- 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
- 238000012545 processing Methods 0.000 title claims description 37
- 238000013519 translation Methods 0.000 title description 19
- 238000003860 storage Methods 0.000 claims description 94
- 230000015654 memory Effects 0.000 claims description 81
- 238000000034 method Methods 0.000 claims description 63
- 230000004044 response Effects 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 101150068276 ERT1 gene Proteins 0.000 description 9
- 102100024193 Mitogen-activated protein kinase 1 Human genes 0.000 description 9
- 108700015928 Mitogen-activated protein kinase 13 Proteins 0.000 description 9
- 101100427545 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ULP2 gene Proteins 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- KHESEVVLJIFTFE-UHFFFAOYSA-N CN(C1=CC=C2C=C(C(=NC2=C1)N)C1=CN(C2=CC=CC=C12)C)C Chemical compound CN(C1=CC=C2C=C(C(=NC2=C1)N)C1=CN(C2=CC=CC=C12)C)C KHESEVVLJIFTFE-UHFFFAOYSA-N 0.000 description 7
- 239000000872 buffer Substances 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 101100310497 Arabidopsis thaliana SMT2 gene Proteins 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 101100161473 Arabidopsis thaliana ABCB25 gene Proteins 0.000 description 2
- 101100096893 Mus musculus Sult2a1 gene Proteins 0.000 description 2
- 101150081243 STA1 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 206010010219 Compulsions Diseases 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 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
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000000545 stagnation point adsorption reflectometry Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003936 working memory 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/3824—Operand accessing
-
- 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/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
-
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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
- G06F2212/652—Page size control
-
- 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
- G06F2212/655—Same page detection
-
- 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
- G06F2212/657—Virtual address space management
-
- 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
-
- 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/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
eatag(0:9)=row(0:4)||offset(0:4)
row(0):EADの最上位のエントリから最下位のエントリへの移動時に循環が発生したかどうかを示すEADの循環ビット。
row(1:4):命令のEA(0:56)を決定するために使用される14エントリのEADへのインデックス。
offset(0:4):命令のEAのビット57:61。
Tid=w、EA(0:51)=x=>RA(8:51)=z、および
Tid=w、EA(0:51)=y=>RA(8:51)=z
Claims (20)
- 1つまたは複数の命令を実行するための処理ユニットであって、前記処理ユニットは、
メモリとレジスタの間でデータを変換するための読み込み/格納ユニット(LSU)を備えており、前記LSUは、アウトオブオーダー(OoO)ウィンドウ内の複数の命令を実行するように構成されており、前記実行することは、
第1の実アドレスに対応する第1の実効アドレスが第1の命令によって使用されているということの決定に応答して、実効実テーブル(ERT)エントリをERTに作成することであって、前記ERTエントリが、前記第1の実効アドレスを前記第1の実アドレスにマッピングする、前記作成することと、
やはり前記第1の実アドレスに対応する第2の実効アドレスである実効アドレスのシノニムが第2の命令によって使用されているということの決定に応答して、
シノニム検出テーブル(SDT)エントリをSDTに作成することであって、前記SDTエントリが前記第2の実効アドレスを前記ERTエントリにマッピングする、前記作成することと、
前記第2の命令内の前記第2の実効アドレスを前記第1の実効アドレスに置き換えることによって前記第2の命令を再開することと
を含んでいる、処理ユニット。 - やはり前記第1の実アドレスに対応する前記第2の実効アドレスに応答して、
前記第1の命令に関連付けられた第1のページ・サイズを、前記第2の命令に関連付けられた第2のページ・サイズと比較し、
前記第1のページ・サイズが前記第2のページ・サイズより大きいということに応答して、前記第2の実効アドレスを前記ERTにマッピングする前記SDTエントリが作成される、請求項1に記載の処理ユニット。 - 前記第1のページ・サイズが前記第2のページ・サイズより小さいということに応答して、
前記第1の実効アドレスと前記第1の実アドレスの間の前記マッピングを前記第2の実効アドレスと前記第1の実アドレスの間のマッピングに置き換えることによって、前記ERTエントリを変更する、請求項2に記載の処理ユニット。 - 前記第1のページ・サイズが前記第2のページ・サイズより小さいということにさらに応答して、
前記第1の実効アドレスを前記ERTエントリにマッピングする前記SDTエントリを作成する、請求項3に記載の処理ユニット。 - 前記SDTエントリが、前記第1の命令が開始されるスレッドのスレッド識別子と、前記第1の命令の前記実効アドレスと、前記第1の命令のページ・サイズと、前記第1の命令の再開実効アドレスと、前記対応するERTエントリのERTエントリ識別子とを含んでいる、請求項1に記載の処理ユニット。
- 前記第1の命令が、読み込み命令および格納命令から成る命令のグループからの命令である、請求項1に記載の処理ユニット。
- 前記第1の実効アドレスを使用して開始された命令の数を示すようにカウンタが維持され、前記カウンタが所定のしきい値を超えることに応答して、前記第1の実効アドレスに対応する前記ERTエントリを無効化する、請求項1に記載の処理ユニット。
- 処理ユニットによって1つまたは複数のアウトオブオーダー命令を実行するためのコンピュータ実装方法であって、前記方法は、
読み込み/格納ユニット(LSU)によってアウトオブオーダー(OoO)ウィンドウから複数の命令を発行することを含んでおり、前記発行することが、
第1の実アドレスに対応する第1の実効アドレスが第1の命令によって使用されているということの決定に応答して、実効実テーブル(ERT)エントリをERTに作成することであって、前記ERTエントリが、前記第1の実効アドレスを前記第1の実アドレスにマッピングする、前記作成することと、
やはり前記第1の実アドレスに対応する第2の実効アドレスである実効アドレスのシノニムが第2の命令によって使用されているということの決定に応答して、
シノニム検出テーブル(SDT)エントリをSDTに作成することであって、前記SDTエントリが前記第2の実効アドレスを前記ERTエントリにマッピングする、前記作成することと、
前記第2の命令内の前記第2の実効アドレスを前記第1の実効アドレスに置き換えることによって前記第2の命令を再開することと
を含んでいる、コンピュータ実装方法。 - やはり前記第1の実アドレスに対応する前記第2の実効アドレスに応答して、
前記第1の命令に関連付けられた第1のページ・サイズを、前記第2の命令に関連付けられた第2のページ・サイズと比較し、
前記第1のページ・サイズが前記第2のページ・サイズより大きいということに応答して、前記第2の実効アドレスを前記ERTエントリにマッピングする前記SDTエントリが作成される、請求項8に記載のコンピュータ実装方法。 - 前記第1のページ・サイズが前記第2のページ・サイズより小さいということに応答して、
前記第1の実効アドレスと前記第1の実アドレスの間の前記マッピングを前記第2の実効アドレスと前記第1の実アドレスの間のマッピングに置き換えることによって、前記ERTエントリを変更する、請求項9に記載のコンピュータ実装方法。 - 前記第1のページ・サイズが前記第2のページ・サイズより小さいということに応答して、
前記第1の実効アドレスを前記ERTエントリにマッピングする前記SDTエントリを作成する、請求項10に記載のコンピュータ実装方法。 - 前記SDTエントリが、前記第1の命令が開始されるスレッドのスレッド識別子と、前記第1の命令の前記実効アドレスと、前記第1の命令のページ・サイズと、前記第1の命令の再開実効アドレスと、前記対応するERTエントリのERTエントリ識別子とを含んでいる、請求項8に記載のコンピュータ実装方法。
- 前記第1の命令が、読み込み命令および格納命令から成る命令のグループからの命令である、請求項8に記載のコンピュータ実装方法。
- 前記第1の実効アドレスを使用して開始された命令の数を示すようにカウンタが維持され、前記カウンタが所定のしきい値を超えることに応答して、前記第1の実効アドレスに対応する前記ERTエントリを無効化する、請求項8に記載のコンピュータ実装方法。
- プログラム命令が具現化されているコンピュータ可読記憶媒体を備えているコンピュータ・プログラム製品であって、前記プログラム命令は、プロセッサに、
読み込み/格納ユニット(LSU)によってアウトオブオーダー(OoO)ウィンドウから複数の命令を発行すること
を含んでいる動作を実行させるように前記プロセッサによって実行可能であり、前記複数の命令は、
第1の実アドレスに対応する第1の実効アドレスが第1の命令によって使用されているということの決定に応答して、実効実テーブル(ERT)エントリをERTに作成することであって、前記ERTエントリが、前記第1の実効アドレスを前記第1の実アドレスにマッピングする、前記作成することと、
やはり前記第1の実アドレスに対応する第2の実効アドレスである実効アドレスのシノニムが第2の命令によって使用されているということの決定に応答して、
シノニム検出テーブル(SDT)エントリをSDTに作成することであって、前記SDTエントリが前記第2の実効アドレスを前記ERTエントリにマッピングする、前記作成することと、
前記第2の命令内の前記第2の実効アドレスを前記第1の実効アドレスに置き換えることによって前記第2の命令を再開することと
によって発行される、コンピュータ・プログラム製品。 - やはり前記第1の実アドレスに対応する前記第2の実効アドレスに応答して、
前記第1の命令に関連付けられた第1のページ・サイズを、前記第2の命令に関連付けられた第2のページ・サイズと比較し、
前記第1のページ・サイズが前記第2のページ・サイズより大きいということに応答して、前記第2の実効アドレスを前記ERTエントリにマッピングする前記SDTエントリが作成される、請求項15に記載のコンピュータ・プログラム製品。 - 前記第1のページ・サイズが前記第2のページ・サイズより小さいということに応答して、
前記第1の実効アドレスと前記第1の実アドレスの間の前記マッピングを前記第2の実効アドレスと前記第1の実アドレスの間のマッピングに置き換えることによって、前記ERTエントリを変更する、請求項16に記載のコンピュータ・プログラム製品。 - 前記第1のページ・サイズが前記第2のページ・サイズより小さいということに応答して、
前記第1の実効アドレスを前記ERTエントリにマッピングする前記SDTエントリを作成する、請求項17に記載のコンピュータ・プログラム製品。 - 前記SDTエントリが、前記第1の命令が開始されるスレッドのスレッド識別子と、前記第1の命令の前記実効アドレスと、前記第1の命令のページ・サイズと、前記第1の命令の再開実効アドレスと、前記対応するERTエントリのERTエントリ識別子とを含んでいる、請求項15に記載のコンピュータ・プログラム製品。
- 前記第1の命令が、読み込み命令および格納命令から成る命令のグループからの命令である、請求項15に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/726,627 US11175924B2 (en) | 2017-10-06 | 2017-10-06 | Load-store unit with partitioned reorder queues with single cam port |
US15/726,596 US10606591B2 (en) | 2017-10-06 | 2017-10-06 | Handling effective address synonyms in a load-store unit that operates without address translation |
US15/726,596 | 2017-10-06 | ||
US15/726,627 | 2017-10-06 | ||
US15/825,494 | 2017-11-29 | ||
US15/825,453 | 2017-11-29 | ||
US15/825,453 US11175925B2 (en) | 2017-10-06 | 2017-11-29 | Load-store unit with partitioned reorder queues with single cam port |
US15/825,494 US10606592B2 (en) | 2017-10-06 | 2017-11-29 | Handling effective address synonyms in a load-store unit that operates without address translation |
PCT/IB2018/057694 WO2019069255A1 (en) | 2017-10-06 | 2018-10-03 | MANAGING EFFECTIVE ADDRESS SYNONYMS IN A LOADING-STORAGE UNIT OPERATING WITHOUT ADDRESS TRANSLATION |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020536310A JP2020536310A (ja) | 2020-12-10 |
JP7025100B2 true JP7025100B2 (ja) | 2022-02-24 |
Family
ID=65994519
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020517947A Active JP7025100B2 (ja) | 2017-10-06 | 2018-10-03 | アドレス変換なしで動作する読み込み/格納ユニットでの実効アドレスのシノニムの処理 |
JP2020517847A Active JP7064273B2 (ja) | 2017-10-06 | 2018-10-03 | 単一のcamポートを使用する分割された順序変更キューを備える読み込み/格納ユニット |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020517847A Active JP7064273B2 (ja) | 2017-10-06 | 2018-10-03 | 単一のcamポートを使用する分割された順序変更キューを備える読み込み/格納ユニット |
Country Status (5)
Country | Link |
---|---|
JP (2) | JP7025100B2 (ja) |
CN (2) | CN111133413B (ja) |
DE (2) | DE112018004006B4 (ja) |
GB (2) | GB2579534B (ja) |
WO (2) | WO2019069256A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015480A (zh) * | 2020-08-31 | 2020-12-01 | 上海兆芯集成电路有限公司 | 指令的分配方法和处理器 |
JP2023056289A (ja) | 2021-10-07 | 2023-04-19 | 富士通株式会社 | 演算処理装置および演算処理方法 |
CN114780146B (zh) * | 2022-06-17 | 2022-08-26 | 深流微智能科技(深圳)有限公司 | 资源地址查询方法、装置、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192615A (ja) | 2002-12-12 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | ハードウェア管理仮想−物理アドレス変換機構 |
US20090063823A1 (en) | 2007-08-30 | 2009-03-05 | Burky William E | Method and System for Tracking Instruction Dependency in an Out-of-Order Processor |
US20160188486A1 (en) | 2014-12-26 | 2016-06-30 | Wisconsin Alumni Research Foundation | Cache Accessed Using Virtual Addresses |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694425B1 (en) | 2000-05-04 | 2004-02-17 | International Business Machines Corporation | Selective flush of shared and other pipeline stages in a multithread processor |
US6931639B1 (en) * | 2000-08-24 | 2005-08-16 | International Business Machines Corporation | Method for implementing a variable-partitioned queue for simultaneous multithreaded processors |
US7343469B1 (en) * | 2000-09-21 | 2008-03-11 | Intel Corporation | Remapping I/O device addresses into high memory using GART |
US7730282B2 (en) * | 2004-08-11 | 2010-06-01 | International Business Machines Corporation | Method and apparatus for avoiding data dependency hazards in a microprocessor pipeline architecture using a multi-bit age vector |
US8145887B2 (en) * | 2007-06-15 | 2012-03-27 | International Business Machines Corporation | Enhanced load lookahead prefetch in single threaded mode for a simultaneous multithreaded microprocessor |
US8645974B2 (en) * | 2007-08-02 | 2014-02-04 | International Business Machines Corporation | Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device |
US8639884B2 (en) * | 2011-02-28 | 2014-01-28 | Freescale Semiconductor, Inc. | Systems and methods for configuring load/store execution units |
US9182991B2 (en) * | 2012-02-06 | 2015-11-10 | International Business Machines Corporation | Multi-threaded processor instruction balancing through instruction uncertainty |
US8966232B2 (en) * | 2012-02-10 | 2015-02-24 | Freescale Semiconductor, Inc. | Data processing system operable in single and multi-thread modes and having multiple caches and method of operation |
GB2503438A (en) * | 2012-06-26 | 2014-01-01 | Ibm | Method and system for pipelining out of order instructions by combining short latency instructions to match long latency instructions |
CN103198028B (zh) * | 2013-03-18 | 2015-12-23 | 华为技术有限公司 | 一种内存数据迁移方法、装置及系统 |
US9740409B2 (en) * | 2013-12-13 | 2017-08-22 | Ineda Systems, Inc. | Virtualized storage systems |
US10209995B2 (en) * | 2014-10-24 | 2019-02-19 | International Business Machines Corporation | Processor core including pre-issue load-hit-store (LHS) hazard prediction to reduce rejection of load instructions |
-
2018
- 2018-10-03 DE DE112018004006.2T patent/DE112018004006B4/de active Active
- 2018-10-03 CN CN201880061955.4A patent/CN111133413B/zh active Active
- 2018-10-03 WO PCT/IB2018/057695 patent/WO2019069256A1/en active Application Filing
- 2018-10-03 WO PCT/IB2018/057694 patent/WO2019069255A1/en active Application Filing
- 2018-10-03 CN CN201880061956.9A patent/CN111133421B/zh active Active
- 2018-10-03 JP JP2020517947A patent/JP7025100B2/ja active Active
- 2018-10-03 GB GB2006338.4A patent/GB2579534B/en active Active
- 2018-10-03 DE DE112018004004.6T patent/DE112018004004T5/de active Pending
- 2018-10-03 GB GB2006344.2A patent/GB2579757B/en active Active
- 2018-10-03 JP JP2020517847A patent/JP7064273B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192615A (ja) | 2002-12-12 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | ハードウェア管理仮想−物理アドレス変換機構 |
US20090063823A1 (en) | 2007-08-30 | 2009-03-05 | Burky William E | Method and System for Tracking Instruction Dependency in an Out-of-Order Processor |
US20160188486A1 (en) | 2014-12-26 | 2016-06-30 | Wisconsin Alumni Research Foundation | Cache Accessed Using Virtual Addresses |
Also Published As
Publication number | Publication date |
---|---|
GB2579534B (en) | 2020-12-16 |
CN111133413B (zh) | 2023-09-29 |
JP7064273B2 (ja) | 2022-05-10 |
WO2019069256A1 (en) | 2019-04-11 |
JP2020536310A (ja) | 2020-12-10 |
CN111133421B (zh) | 2023-09-29 |
GB2579757A (en) | 2020-07-01 |
GB202006344D0 (en) | 2020-06-17 |
JP2020536308A (ja) | 2020-12-10 |
CN111133413A (zh) | 2020-05-08 |
DE112018004006B4 (de) | 2021-03-25 |
WO2019069255A1 (en) | 2019-04-11 |
CN111133421A (zh) | 2020-05-08 |
GB202006338D0 (en) | 2020-06-17 |
GB2579534A (en) | 2020-06-24 |
DE112018004006T5 (de) | 2020-04-16 |
DE112018004004T5 (de) | 2020-04-16 |
GB2579757B (en) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776113B2 (en) | Executing load-store operations without address translation hardware per load-store unit port | |
US10534616B2 (en) | Load-hit-load detection in an out-of-order processor | |
US10963248B2 (en) | Handling effective address synonyms in a load-store unit that operates without address translation | |
US10977047B2 (en) | Hazard detection of out-of-order execution of load and store instructions in processors without using real addresses | |
US11175925B2 (en) | Load-store unit with partitioned reorder queues with single cam port | |
US10324856B2 (en) | Address translation for sending real address to memory subsystem in effective address based load-store unit | |
US10606593B2 (en) | Effective address based load store unit in out of order processors | |
US10579387B2 (en) | Efficient store-forwarding with partitioned FIFO store-reorder queue in out-of-order processor | |
US10572257B2 (en) | Handling effective address synonyms in a load-store unit that operates without address translation | |
US9740623B2 (en) | Object liveness tracking for use in processing device cache | |
JP7025100B2 (ja) | アドレス変換なしで動作する読み込み/格納ユニットでの実効アドレスのシノニムの処理 | |
US10579384B2 (en) | Effective address based instruction fetch unit for out of order processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20200330 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20200327 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220126 |
|
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: 20220201 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20220203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220208 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7025100 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |