JP7151439B2 - 演算処理装置および演算処理装置の制御方法 - Google Patents
演算処理装置および演算処理装置の制御方法 Download PDFInfo
- Publication number
- JP7151439B2 JP7151439B2 JP2018229045A JP2018229045A JP7151439B2 JP 7151439 B2 JP7151439 B2 JP 7151439B2 JP 2018229045 A JP2018229045 A JP 2018229045A JP 2018229045 A JP2018229045 A JP 2018229045A JP 7151439 B2 JP7151439 B2 JP 7151439B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- store
- load
- ldstq
- instructions
- 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 49
- 238000000034 method Methods 0.000 title claims description 43
- 230000008569 process Effects 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 25
- 230000002401 inhibitory effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 41
- 238000012790 confirmation Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 12
- 238000013468 resource allocation Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000010365 information processing Effects 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000013519 translation Methods 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- 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/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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
図1は情報処理装置の構成の一例を表す図である。
(A)構成
上述の如く構成した実施形態の一例としてのプロセッサコア10における投機的なLDSTQ161および投機的なSTDQ164の割り当て処理を、図7に示すフローチャート(ステップA1~A5)に従って説明する。
このように、本発明の一実施形態としてのプロセッサコア10によれば、SML144を備え、ストア命令がLDSTQ161の実際のリソースを確保できたがSTDQ164の確保ができなかった場合に、SML144に第一オペランドレジスタ番号とROB IDとを登録する。
本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
以上の実施形態に関し、さらに以下の付記を開示する。
ストア命令およびロード命令を含むメモリアクセス命令をデコードするデコード部と、
デコードされたメモリアクセス命令を格納する第1キューと、
ストア命令に関するストアデータを格納する第2キューと、
前記第1キューを確保できたが前記第2キューを確保できないストア命令に関するアドレス情報を記憶する記憶部と、
ロード命令の処理時に、当該ロード命令に関するアドレス情報と一致するアドレス情報が前記記憶部に記憶された場合に、当該ロード命令の実行を抑止する抑止部と
を備えることを特徴とする、演算処理装置。
ストア命令の処理時に、前記第1キューを確保できたが前記第2キューを確保できない場合に、当該ストア命令に関するアドレス情報を前記記憶部に登録する登録部
を備えることを特徴とする、付記1記載の演算処理装置。
前記デコード部がデコードしたメモリアクセス命令を格納し、格納した前記メモリアクセス命令を、前記メモリアクセス命令を処理する処理部に出力する格納処理部を備え、
前記抑止部が、前記第2キューの資源が解放されるまで、前記格納処理部に対してインターロックを行なう
ことを特徴とする、付記1または2記載の演算処理装置。
ストア命令およびロード命令を含むメモリアクセス命令をデコードするデコード部と、デコードされたメモリアクセス命令を格納する第1キューと、ストア命令に関するストアデータを格納する第2キューとを備える演算処理装置の制御方法であって、
ロード命令の処理時に、当該ロード命令に関するアドレス情報を、前記第1キューを確保できたが前記第2キューを確保できないストア命令に関するアドレス情報を記憶する記憶部の前記アドレス情報と比較する処理と、
当該ロード命令に関するアドレス情報と一致するアドレス情報が前記記憶部に記憶された場合に、当該ロード命令の実行を抑止する処理と
を備えることを特徴とする、演算処理装置の制御方法。
ストア命令の処理時に、前記第1キューを確保できたが前記第2キューを確保できない場合に、当該ストア命令に関するアドレス情報を前記記憶部に登録する処理
を備えることを特徴とする、付記4記載の演算処理装置の制御方法。
前記デコード部がデコードしたメモリアクセス命令を格納し、格納した前記メモリアクセス命令を、前記処理部に出力する格納処理部に対して、前記第2キューの資源が解放されるまで、前記格納処理部に対してインターロックを行なう
ことを特徴とする、付記4または5記載の演算処理装置の制御方法。
2 メインメモリ
3 記憶装置
10,10a プロセッサコア
11 命令キャッシュ
12 命令バッファ
13 デコード部
14 リザベーションステーション
141 RSA
142 RSE
143 実割り当て管理部
144 SML
15 演算実行部
151 レジスタ
152 アドレス演算器
16 ロードストアユニット
161 LDSTQ
162 データキャッシュ
163 LSCU
164 STDQ
17 ROB
100 情報処理装置
101~105,108~111 フリップフロップ
112 演算器
113 マッチ回路
500a ロード/ストアパイプライン
500b 演算パイプライン
Claims (4)
- ストア命令およびロード命令を含むメモリアクセス命令をデコードするデコード部と、
デコードされたメモリアクセス命令を格納する第1キューと、
ストア命令に関するストアデータを格納する第2キューと、
前記第1キューを確保できたが前記第2キューを確保できないストア命令に関するアドレス情報を記憶する記憶部と、
ロード命令の処理時に、当該ロード命令に関するアドレス情報と一致するアドレス情報が前記記憶部に記憶された場合に、当該ロード命令の実行を抑止する抑止部と
を備えることを特徴とする、演算処理装置。 - ストア命令の処理時に、前記第1キューを確保できたが前記第2キューを確保できない場合に、当該ストア命令に関するアドレス情報を前記記憶部に登録する登録部を備えることを特徴とする、請求項1記載の演算処理装置。
- 前記デコード部がデコードしたメモリアクセス命令を格納し、格納した前記メモリアクセス命令を、前記メモリアクセス命令を処理する処理部に出力する格納処理部を備え、
前記抑止部が、前記第2キューの資源が解放されるまで、前記格納処理部に対してインターロックを行なう
ことを特徴とする、請求項1または2記載の演算処理装置。 - ストア命令およびロード命令を含むメモリアクセス命令をデコードするデコード部と、デコードされたメモリアクセス命令を格納する第1キューと、ストア命令に関するストアデータを格納する第2キューとを備える演算処理装置の制御方法であって、
ロード命令の処理時に、当該ロード命令に関するアドレス情報を、前記第1キューを確保できたが前記第2キューを確保できないストア命令に関するアドレス情報を記憶する記憶部の前記アドレス情報と比較する処理と、
当該ロード命令に関するアドレス情報と一致するアドレス情報が前記記憶部に記憶された場合に、当該ロード命令の実行を抑止する処理と
を備えることを特徴とする、演算処理装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018229045A JP7151439B2 (ja) | 2018-12-06 | 2018-12-06 | 演算処理装置および演算処理装置の制御方法 |
US16/697,244 US11550589B2 (en) | 2018-12-06 | 2019-11-27 | Inhibiting load instruction execution based on reserving a resource of a load and store queue but failing to reserve a resource of a store data queue |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018229045A JP7151439B2 (ja) | 2018-12-06 | 2018-12-06 | 演算処理装置および演算処理装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020091709A JP2020091709A (ja) | 2020-06-11 |
JP7151439B2 true JP7151439B2 (ja) | 2022-10-12 |
Family
ID=70970862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018229045A Active JP7151439B2 (ja) | 2018-12-06 | 2018-12-06 | 演算処理装置および演算処理装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11550589B2 (ja) |
JP (1) | JP7151439B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013515306A (ja) | 2009-12-22 | 2013-05-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アウトオブオーダー型マイクロプロセッサにおけるオペランド・ストア・比較ハザードの予測及び回避 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06131239A (ja) | 1992-10-20 | 1994-05-13 | Oki Electric Ind Co Ltd | 主記憶アクセス制御方式 |
US5832297A (en) * | 1995-04-12 | 1998-11-03 | Advanced Micro Devices, Inc. | Superscalar microprocessor load/store unit employing a unified buffer and separate pointers for load and store operations |
JP3554211B2 (ja) * | 1998-12-17 | 2004-08-18 | 富士通株式会社 | マイクロプログラムを用いた命令制御装置および方法 |
EP1050806A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Memory access address comparison |
US6134646A (en) * | 1999-07-29 | 2000-10-17 | International Business Machines Corp. | System and method for executing and completing store instructions |
JP3789320B2 (ja) | 2001-06-12 | 2006-06-21 | エヌイーシーコンピュータテクノ株式会社 | ベクトル処理装置及び該装置を用いた追い越し制御方法 |
US20100205609A1 (en) * | 2009-02-11 | 2010-08-12 | Sun Microsystems, Inc. | Using time stamps to facilitate load reordering |
US8533438B2 (en) * | 2009-08-12 | 2013-09-10 | Via Technologies, Inc. | Store-to-load forwarding based on load/store address computation source information comparisons |
US8918625B1 (en) * | 2010-11-24 | 2014-12-23 | Marvell International Ltd. | Speculative scheduling of memory instructions in out-of-order processor based on addressing mode comparison |
JP6011194B2 (ja) * | 2012-09-21 | 2016-10-19 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US9361113B2 (en) * | 2013-04-24 | 2016-06-07 | Globalfoundries Inc. | Simultaneous finish of stores and dependent loads |
JP6115394B2 (ja) * | 2013-08-13 | 2017-04-19 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
-
2018
- 2018-12-06 JP JP2018229045A patent/JP7151439B2/ja active Active
-
2019
- 2019-11-27 US US16/697,244 patent/US11550589B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013515306A (ja) | 2009-12-22 | 2013-05-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アウトオブオーダー型マイクロプロセッサにおけるオペランド・ストア・比較ハザードの予測及び回避 |
Also Published As
Publication number | Publication date |
---|---|
US20200183694A1 (en) | 2020-06-11 |
JP2020091709A (ja) | 2020-06-11 |
US11550589B2 (en) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104375958B (zh) | 高速缓存存储器管理事务性存储器访问请求 | |
US9304936B2 (en) | Bypassing a store-conditional request around a store queue | |
US9430166B2 (en) | Interaction of transactional storage accesses with other atomic semantics | |
US9342454B2 (en) | Nested rewind only and non rewind only transactions in a data processing system supporting transactional storage accesses | |
US9792147B2 (en) | Transactional storage accesses supporting differing priority levels | |
US8850167B2 (en) | Loading/discarding acquired data for vector load instruction upon determination of prediction success of multiple preceding branch instructions | |
US10572179B2 (en) | Speculatively performing memory move requests with respect to a barrier | |
US10140052B2 (en) | Memory access in a data processing system utilizing copy and paste instructions | |
US10152322B2 (en) | Memory move instruction sequence including a stream of copy-type and paste-type instructions | |
US20180052606A1 (en) | Efficient enforcement of barriers with respect to memory move sequences | |
CN109196489B (zh) | 用于在非均匀计算装置中重排序的方法和设备 | |
US10241945B2 (en) | Memory move supporting speculative acquisition of source and destination data granules including copy-type and paste-type instructions | |
US20170344398A1 (en) | Accelerator control device, accelerator control method, and program storage medium | |
JP6687845B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US10126952B2 (en) | Memory move instruction sequence targeting a memory-mapped device | |
JP7151439B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US20180052607A1 (en) | Migration of memory move instruction sequences between hardware threads | |
US20100100709A1 (en) | Instruction control apparatus and instruction control method | |
JP7115203B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP5344316B2 (ja) | ベクトル演算処理装置 | |
JP5093237B2 (ja) | 命令処理装置 | |
JP6926681B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP7102840B2 (ja) | プロセッサコア、命令制御方法、プログラム | |
JP6344022B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP5648645B2 (ja) | ベクトル処理装置、ベクトルロード命令実行方法、及びベクトルロード命令実行プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220801 |
|
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: 20220830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220912 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7151439 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |