JP4878050B2 - コンピュータ及び制御方法 - Google Patents
コンピュータ及び制御方法 Download PDFInfo
- Publication number
- JP4878050B2 JP4878050B2 JP2008303592A JP2008303592A JP4878050B2 JP 4878050 B2 JP4878050 B2 JP 4878050B2 JP 2008303592 A JP2008303592 A JP 2008303592A JP 2008303592 A JP2008303592 A JP 2008303592A JP 4878050 B2 JP4878050 B2 JP 4878050B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- spin
- spin wait
- detection unit
- instruction
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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
- Memory System Of A Hierarchy Structure (AREA)
Description
「test_and_set」や「compare_and_jump」などのインターロック命令を用いて、ステップS3でロック変数値XをX=1に設定してスピンロック処理を抜ける。
all X=1まで スピンして待つスピンウェイトを行う。全プロセス又は全スレッドが同期ポイントに達すると、all X=1になり、同期がとられた状態でスピンウェイトを抜けて次の処理に移行する。
Multi−Threading archtecture)プロセッサにおいては、スピンウェイトを実行中のスレッドが他の実行スレッドの妨げとなる可能性がある。一般的にSMTプロセッサでは、プロセッサリソースはスレッド間で共有されている。このプロセッサリソースは、実行スレッド毎に均等に割り当てられるのではなく、各スレッドの状態に応じて割り当てられるプロセッサリソースの数や量が変わるというのが一般的である。プロセッサリソース割り当てを決定する基準にはいろいろな方法が提案されているが、例えば次のようなアプローチがある。
(2)投機的に実行している命令数が多いスレッドヘのリソース割り当てを減らする;
(3)リザベーションステーションに登録されている命令数の多いスレッドヘのリソース割り当てを減らす;
これらのアプローチは、よりスムーズに命令を実行できる可能性の高いスレッドに優先的にプロセッサリソースを割り当てようという考えに基づいている。ここスピンウェイトは命令を非常にスムーズに実行することができる。なぜなら、同じ命令列の実行を繰り返しているだけなので、キャッシュミスも起らないし、分岐予測も外れることがないからである。
(1) 電力を無駄に消費する;
(2)SMTプロセッサの性能が下げる可能性が高い;
といった問題がある。
プロセッサによるスピンウェイト命令の実行中を検出した際に、スピンウェイトの終了条件となっている変数値の監視を開始した後にプロセッサの動作状態を変更させ、
監視中に変数値が変更されたことを検出した場合にプロセッサに値変更を通知して動作状態を元に戻させることを特徴とする。
この制御方法の詳細はコンピュータの場合と基本的に同じになる。
これによってスピンウェイトではない、より意味のある命令を実行している他のスレッドの命令を実行ユニットに割り当てる機会が増え、その結果、SMTプロセッサの処理性能の向上が期待できる。
10−1〜10−4:プロセッサ
11:プロセッサコア
12−1〜12−4:キャッシュメモリ
14:バス
16:メインメモリ
18:入出力ユニット
22:スピンウェイト検出部
24:プロセッサインタフェース
26:キャッシュメモリ制御部
28:バスインタフェース
30:キャッシュメモリアレイ
32:値変更検出部
34:実行済命令列バッファ
36:スピンウェイト命令列記録部
38:比較部38
40:監視対象先記録部
42:キャッシュステート監視部42
44:バストランザクション監視部
46−1,46−2:命令ポインタ
48−1,48−2:フェッチ/デコード
50:実行ユニット
52:リタイヤメントユニット
54:1次命令キャッシュユニット
56:1次データキャッシュユニット
58:2次キャッシュユニット
Claims (2)
- プロセッサとキャッシュメモリとを備えたコンピュータであって、
前記プロセッサは、スピンウェイト検出部を備え、
前記キャッシュメモリは、値変更検出部を備え、
前記スピンウェイト検出部は、対応するプロセッサがスピンウェイト処理を実行していることを検出した場合に、前記スピンウェイト処理が監視している、前記スピンウェイトの終了条件である変数値を格納されたキャッシュブロックの監視を前記値変更検出部に指示した後に、対応するプロセッサによるスピンウェイト処理を停止させ、
前記値変更検出部は、前記スピンウェイト検出部からの指示に応じて、前記キャッシュブロックに格納された前記変数値の変更有無を監視し、前記変数値が変更されたことを検出した場合に、前記プロセッサに前記変数値の変更を通知して、前記プロセッサによるスピンウェイト処理を再開させ、
前記プロセッサは通常モードと低消費電力モードの少なくとも2つ以上の動作モードを備え、前記スピンウェイト検出部はスピンウェイト命令の実行中を検出した際に、前記プロセッサの動作モードを低消費電力モードに変更し、値変更検出部はスピンウェイトの終了条件となっている変数値の変更を検出した際に、プロセッサの動作モードを通常モードに変更させることを特徴とする、コンピュータ。
- キャッシュメモリを備えたプロセッサを有するコンピュータの制御方法に於いて、
前記プロセッサによるスピンウェイトの実行を監視し、
前記プロセッサによる前記スピンウェイトの実行を検出した際に、前記スピンウェイトの終了条件となっている変数値の監視を開始し、
前記変数値の監視を開始した後に、前記プロセッサが実行しているスピンウェイトを停止させ、
前記変数値が変更されたことを検出した場合に、前記プロセッサに値変更を通知して前記プロセッサによるスピンウェイト処理を再開させ、
前記プロセッサは通常モードと低消費電力モードの少なくとも2つ以上の動作モードを備え、前記スピンウェイト検出部はスピンウェイト命令の実行中を検出した際に、前記プロセッサの動作モードを低消費電力モードに変更し、値変更検出部はスピンウェイトの終了条件となっている変数値の変更を検出した際に、プロセッサの動作モードを通常モードに変更させることを特徴とするコンピュータの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008303592A JP4878050B2 (ja) | 2008-11-28 | 2008-11-28 | コンピュータ及び制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008303592A JP4878050B2 (ja) | 2008-11-28 | 2008-11-28 | コンピュータ及び制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003542505A Division JP4253796B2 (ja) | 2001-11-08 | 2001-11-08 | コンピュータ及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009116885A JP2009116885A (ja) | 2009-05-28 |
JP4878050B2 true JP4878050B2 (ja) | 2012-02-15 |
Family
ID=40783894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008303592A Expired - Lifetime JP4878050B2 (ja) | 2008-11-28 | 2008-11-28 | コンピュータ及び制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4878050B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011150422A (ja) * | 2010-01-19 | 2011-08-04 | Renesas Electronics Corp | データ処理装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61166669A (ja) * | 1985-01-19 | 1986-07-28 | Panafacom Ltd | プロセツサ制御方式 |
US4979105A (en) * | 1988-07-19 | 1990-12-18 | International Business Machines | Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system |
JPH04296951A (ja) * | 1991-03-19 | 1992-10-21 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH04350743A (ja) * | 1991-05-29 | 1992-12-04 | Mitsubishi Electric Corp | キャッシュメモリ |
US6049851A (en) * | 1994-02-14 | 2000-04-11 | Hewlett-Packard Company | Method and apparatus for checking cache coherency in a computer architecture |
JPH09325912A (ja) * | 1996-06-07 | 1997-12-16 | Oki Electric Ind Co Ltd | 情報処理装置 |
US6615375B1 (en) * | 2000-02-03 | 2003-09-02 | International Business Machines Corporation | Method and apparatus for tolerating unrecoverable errors in a multi-processor data processing system |
WO2003040948A1 (fr) * | 2001-11-08 | 2003-05-15 | Fujitsu Limited | Ordinateur et procede de commande |
-
2008
- 2008-11-28 JP JP2008303592A patent/JP4878050B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2009116885A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898435B2 (en) | Optimizing system throughput by automatically altering thread co-execution based on operating system directives | |
US8176489B2 (en) | Use of rollback RCU with read-side modifications to RCU-protected data structures | |
JP4603583B2 (ja) | プロセッサ、装置、及び方法 | |
KR101392109B1 (ko) | 시스템 관리 모드의 프로세서에 상태 스토리지를 제공하기 위한 장치, 방법 및 시스템 | |
US8539485B2 (en) | Polling using reservation mechanism | |
US9063786B2 (en) | Preferential CPU utilization for tasks | |
US20030172234A1 (en) | System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits | |
US10176014B2 (en) | System and method for multithreaded processing | |
US20110078702A1 (en) | Multiprocessor system | |
US9075726B2 (en) | Conflict resolution of cache store and fetch requests | |
JP4253796B2 (ja) | コンピュータ及び制御方法 | |
US20160179429A1 (en) | Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency | |
US20230127112A1 (en) | Sub-idle thread priority class | |
US20100082952A1 (en) | Processor | |
US8862786B2 (en) | Program execution with improved power efficiency | |
KR100856144B1 (ko) | 프로세서 내에서의 다수의 동시 물리 스레드로부터의다수의 논리 스레드의 디커플링 | |
JP2011134162A (ja) | タスクの切り換えを制御するシステムおよび方法 | |
JP4878050B2 (ja) | コンピュータ及び制御方法 | |
CN105378652A (zh) | 线程共享资源分配方法及装置 | |
JP5704176B2 (ja) | プロセッサ処理方法、およびプロセッサシステム | |
JP5376042B2 (ja) | マルチコアプロセッサシステム、スレッド切り替え制御方法、およびスレッド切り替え制御プログラム | |
JP3998686B2 (ja) | Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置 | |
JP5601414B2 (ja) | マルチコアプロセッサシステム、制御方法、および制御プログラム | |
JP5582241B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
JP2019179417A (ja) | スケジューリング方法、スケジューリング装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20110816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111013 |
|
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: 20111101 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4878050 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141209 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |