JP2010026583A - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP2010026583A JP2010026583A JP2008183828A JP2008183828A JP2010026583A JP 2010026583 A JP2010026583 A JP 2010026583A JP 2008183828 A JP2008183828 A JP 2008183828A JP 2008183828 A JP2008183828 A JP 2008183828A JP 2010026583 A JP2010026583 A JP 2010026583A
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- storage means
- instruction word
- cache
- 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
- 230000007246 mechanism Effects 0.000 claims description 128
- 238000001514 detection method Methods 0.000 claims description 17
- 238000005259 measurement Methods 0.000 claims description 11
- 229920006395 saturated elastomer Polymers 0.000 claims 1
- 238000000034 method Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 238000011010 flushing procedure Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
【解決手段】複数のプログラムを同時に実行するプロセッサにおいて、主記憶装置またはキャッシュから第1と第2のプログラムの命令語が読み出され、読み出された命令語は第1の記憶手段にキューイングされる。第2と第3の記憶手段は、それぞれ、第1と第2のプログラムに含まれる命令語の実行に要するサイクル数見積りのための実行サイクル数見積り情報を記憶し、第1と第2のキャッシュミス予測器は、それぞれ、実行サイクル数見積り情報をそれぞれ読み出す。命令語のスケジューリング位置は、この実行サイクル数見積り情報の内容に従って決定される。好ましくは、実行サイクル数見積り情報は、キャッシュミスの検出/非検出に応じて動的に変更される。
【選択図】図1
Description
また、キャッシュミスによるストール発生時に選択的に命令をフラッシュするので、ストールを防止できる。
Claims (15)
- 複数のプログラムを同時に実行するプロセッサであって、
前記複数のプログラムの中の第1のプログラムの実行位置を示す第1のプログラムカウンタと、
前記複数のプログラムの中の第2のプログラムの実行位置を示す第2のプログラムカウンタと、
第1のプログラムカウンタの内容により主記憶装置またはキャッシュから第1のプログラムの命令語を読み出す第1の命令読み出し機構と、
第2のプログラムカウンタの内容により主記憶装置またはキャッシュから第2のプログラムの命令語を読み出す第2の命令読み出し機構と、
第1及び第2の命令読み出し機構により読み出された命令語をキューイングするための第1の記憶手段と、
第1の記憶手段から取り出した命令語のうちロード機能を有する命令を、キャッシュにアクセスして実行するキャッシュ制御機構と、
第1の記憶手段から取り出した命令語により、ロード機能により取り出したデータを用いて演算を行う演算機構と、
第1のプログラムに含まれる命令語の実行に要するサイクル数見積りのための実行サイクル数見積り情報を記憶する第2の記憶手段と、
第2のプログラムに含まれる命令語の実行に要するサイクル数見積りのための実行サイクル数見積り情報を記憶する第3の記憶手段と、
第1のプログラムカウンタの内容により第2の記憶手段のエントリ位置を特定して実行サイクル数見積り情報を読み出す第1のキャッシュミス予測器と、
第2のプログラムカウンタの内容により第3の記憶手段のエントリ位置を特定して実行サイクル数見積り情報を読み出す第2のキャッシュミス予測器と、
第1および第2の命令読み出し機構から入力される命令語を第1の記憶手段にキューイングする命令スケジュール機構であって、前記命令語が、前記キャッシュ制御機構によって処理される第1の命令語の実行結果を必要とし前記演算機構によって処理される第2の命令語である場合、前記第1の命令語に対応する、第1または第2のキャッシュミス予測器からの前記実行サイクル数見積り情報の内容に従って、第1の記憶手段における前記第2の命令語のスケジューリング位置を決定し、一方、前記実行サイクル数見積り情報に従うとスケジューリング可能な位置が存在しない場合には前記第2の命令語のスケジューリングを保留する命令スケジュール機構と
を備えることを特徴とするプロセッサ。 - 請求項1に記載されたプロセッサであって、
前記キャッシュ制御機構は、第1の記憶手段から取り出した命令語についてキャッシュミスを検出した場合には、前記命令語の実行サイクル数見積り情報を記憶している第2または第3の記憶手段における前記命令語のエントリ位置に、キャッシュミス検出情報を送り、第2または第3の記憶手段は、前記キャッシュミス検出情報を受け取ると、前記命令語の実行サイクル数見積り情報を増加させまたは最大値に飽和させ、前記キャッシュ制御機構は、前記命令語についてキャッシュミスを検出しない場合には、第2または第3の記憶手段の前記命令語のエントリ位置に、キャッシュミス非検出情報を送り、第2または第3の記憶手段は、前記キャッシュミス非検出情報を受け取ると、前記命令語の実行サイクル数見積り情報を減少させまたは最小値に飽和させることを特徴とするプロセッサ。 - 請求項2に記載されたプロセッサであって、
第1の記憶手段は、キューイングされる命令語を、その命令語がどのプログラムに属するかを示す情報とともに記憶し、
さらに、第1および第2のプログラムの中の1つのプログラムに属する命令語が一定時間に実行された数を測定する第1の測定手段を備え、
前記第1の測定手段により測定された実行数がしきい値より小さい場合に、前記第2および第3の記憶手段の中の他方は、記憶されている命令語の実行サイクル数見積り情報を増加することを特徴とするプロセッサ。 - 請求項1または2に記載されたプロセッサであって、
さらに、第1のプログラムと第2のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶し、前記キャッシュ制御機構に送る第4の記憶手段を備え、
第1の記憶手段は、キューイングされる命令語を、その命令語がどのプログラムに属するかを示す情報とともに記憶し、
さらに、第4の記憶手段によって指定されたプログラムが走行中である場合における、第4の記憶手段によって指定されずかつキャッシュミスの発生頻度がしきい値より低いプログラムの走行時間と、第4の記憶手段によって指定されずかつキャッシュミスの発生頻度がしきい値より高いプログラムの走行時間との第1の比と、第4の記憶手段によって指定されたプログラムが走行中でない場合における、第4の記憶手段によって指定されずかつキャッシュミスの発生頻度がしきい値より低い前記プログラムの走行時間と、第4の記憶手段によって指定されずかつキャッシュミスの発生頻度がしきい値より高い前記プログラムの走行時間との第2の比を測定する第2の測定手段を備え、
前記命令スケジュール機構は、第1の比が第2の比より小さいと第2の測定手段が測定したとき、第1の比を第2の比よりも大きくするようにスケジューリングを行うことを特徴とするプロセッサ。 - 請求項1または2に記載されたプロセッサであって、
第1の記憶手段は、キューイングされる命令語を、その命令語がどのプログラムに属するかを示す情報とともに記憶し、
さらに、第1のプログラムと第2のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶し、前記キャッシュ制御機構に送る第4の記憶手段と、
第4の記憶手段によって指定されたプログラムに属する命令語が一定時間に実行された数を測定する第3の測定手段を備え、
前記第3の測定手段は、測定された前記実行数がしきい値より低い場合に、当該事象をイベントにより通知することを特徴とするプロセッサ。 - 請求項1または2に記載されたプロセッサであって、
第1の記憶手段は、キューイングされる命令語を、その命令語がどのプログラムに属するかを示す情報とともに記憶し、
さらに、第1のプログラムと第2のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶し、前記キャッシュ制御機構に送る第4の記憶手段と、
第4の記憶手段によって指定されたプログラムに属する命令語が一定時間に実行された数を測定する第3の測定手段と、
第4の記憶手段によって指定されないプログラムに属する命令語の実行を一時的に停止させる停止手段とを備え、
前記第3の測定手段は、測定された前記実行数がしきい値より低い場合には、前記停止手段に、第4の記憶手段によって指定されないプログラムの実行を一時的に停止させることを特徴とするプロセッサ。 - 請求項1または2に記載されたプロセッサであって、
第1の記憶手段は、キューイングされる命令語を、その命令語がどのプログラムに属するかを示す情報とともに記憶し、
さらに、複数のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶し、前記キャッシュ制御機構に送る第4の記憶手段と、
第4の記憶手段によって指定されないプログラムに属する命令語が一定時間に実行された数を測定する第4の測定手段と、
第4の記憶手段によって指定されないプログラムごとに命令語の実行を一時的に停止させる停止手段を備え、
前記第4の測定手段は、測定された前記実行数がしきい値より低い場合には、前記停止手段に、指定されない個々のプログラムの実行を一時的に停止させることを特徴とするプロセッサ - 請求項1または2に記載されたプロセッサであって、
さらに、第1のプログラムと第2のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶し、前記キャッシュ制御機構に送る第4の記憶手段を備え、
第1の記憶手段は、キューイングされる命令語を、その命令語がどのプログラムに属するかを示す情報とともに記憶し、
前記キャッシュ制御機構は、第4の記憶手段によって指定されたプログラムに属さない命令語を実行し、かつ、その実行においてキャッシュミスを検知した場合、キャッシュミス検知情報を前記命令スケジュール機構に通知し、
前記命令スケジュール機構は、前記キャッシュミス検知情報を受け取った場合に、第1の記憶手段において、実行された前記命令語が属するプログラムにおいて、前記命令語の実行結果を必要とする命令語を含む後続命令を特定し、全て消去する
ことを特徴とするプロセッサ。 - 請求項8に記載されたプロセッサであって、
前記命令スケジュール機構は、前記キャッシュミスが解消されたとの情報を前記キャッシュ制御機構から通知されると、第1の記憶手段に対して、消去した前記後続命令のキューイングを再開することを特徴とするプロセッサ。 - 請求項8に記載されたプロセッサであって、
前記キャッシュ制御機構が、第4の記憶手段によって指定されたプログラムに属さない前記第1の命令語を実行し、かつ、キャッシュミスを検知した場合であっても、前記命令スケジュール機構は、第2または第3の記憶手段から読み出した前記第2の命令語の実行サイクル数見積り情報に従うと前記第2の命令語のスケジューリング可能な位置が存在しない場合には、前記第1の命令語が属するプログラムを構成する命令語の消去を行わないことを特徴とするプロセッサ。 - 請求項8に記載されたプロセッサであって、
さらに、第4の記憶手段によって指定されたプログラムに属する命令語が一定時間に実行された数を測定する第3の測定手段を備え、
前記命令スケジュール機構は、測定された前記実行数がしきい値より小さい場合に、第1の記憶手段において、前記命令語が属しないプログラムに属する命令語を特定し、全て消去することを特徴とするプロセッサ。 - 請求項8に記載されたプロセッサであって、
さらに、第4の記憶手段によって指定されたプログラムに属する命令語が一定時間に実行された数を測定する第3の測定手段を備え、
前記測定手段により測定された前記実行数がしきい値より小さい場合に、当該事象をイベントにより通知することを特徴とするプロセッサ。 - 請求項1または2に記載されたプロセッサであって、さらに、
第1のプログラムと第2のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶する第4の記憶手段と、
キューイングされている外部キャッシュリクエストを、前記外部キャッシュリクエストがどのプログラムに属するかを示す情報とともに記憶する外部キャッシュリクエストキューと、
第4の記憶手段により指定されたプログラムに属さない命令語により外部キャッシュミスを検知した場合に、前記外部キャッシュリクエストキューの中から、前記指定されたプログラムに属さない命令語に関連する外部キャッシュリクエストを特定し消去する外部キャッシュコントローラと
を備えることを特徴とするプロセッサ。 - 請求項1または2に記載されたプロセッサであって、
さらに、第1のプログラムと第2のプログラムのうちいずれを優先的に実行するかを指定する情報を記憶する第4の記憶手段と、
キューイングされている人出力リクエストを、前記入出力リクエストキューがどのプログラムに属するかを示す情報とともに記憶する入出力リクエストキューと、
第4の記憶手段により指定されたプログラムに属さない命令語により入出力待ちを検知した場合に、前記入出力リクエストキューの中から、前記指定されたプログラムに属さない命令語に関連する入出力リクエストを特定し消去する入出力コントローラと
を備えることを特徴とするプロセッサ。 - 請求項13または14に記載されたプロセッサであって、さらに、第4の記憶手段(優先フラグ)によって指定されたプログラムに属する命令語が一定時間に実行された数を測定する第3の測定手段を備え、前記第3の測定手段は前記実行数がしきい値より小さいことを検出したときに、当該事象をイベントにより通知することを特徴とするプロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008183828A JP4759026B2 (ja) | 2008-07-15 | 2008-07-15 | プロセッサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008183828A JP4759026B2 (ja) | 2008-07-15 | 2008-07-15 | プロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010026583A true JP2010026583A (ja) | 2010-02-04 |
| JP4759026B2 JP4759026B2 (ja) | 2011-08-31 |
Family
ID=41732391
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008183828A Expired - Fee Related JP4759026B2 (ja) | 2008-07-15 | 2008-07-15 | プロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4759026B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016534476A (ja) * | 2013-09-24 | 2016-11-04 | インテル・コーポレーション | キャッシュ占有決定および命令スケジューリングのための方法および装置 |
| JP2020510255A (ja) * | 2017-03-07 | 2020-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | キャッシュ・ミス・スレッド・バランシング |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11272518A (ja) * | 1997-11-26 | 1999-10-08 | Digital Equip Corp <Dec> | プロセッサパイプラインにより処理される命令の特性の統計値を推定する方法 |
| JP2001356903A (ja) * | 2000-05-04 | 2001-12-26 | Internatl Business Mach Corp <Ibm> | マルチスレッド・プロセッサ内でのパイプライン・ステージのフラッシュ方法および装置 |
| WO2004044745A1 (ja) * | 2002-11-13 | 2004-05-27 | Fujitsu Limited | マルチスレッディングプロセッサにおけるスケジューリング方法およびマルチスレッディングプロセッサ |
| JP2004532444A (ja) * | 2001-02-19 | 2004-10-21 | イマジネイション テクノロジーズ リミテッド | マルチスレッドプロセッサ上の優先順位及び命令速度の制御 |
| JP2006343872A (ja) * | 2005-06-07 | 2006-12-21 | Keio Gijuku | マルチスレッド中央演算装置および同時マルチスレッディング制御方法 |
| JP2007213578A (ja) * | 2006-02-09 | 2007-08-23 | Internatl Business Mach Corp <Ibm> | データ・キャッシュ・ミス予測およびスケジューリング |
| WO2008029450A1 (fr) * | 2006-09-05 | 2008-03-13 | Fujitsu Limited | Dispositif de traitement d'informations comprenant un mécanisme de correction d'erreur de prédiction d'embranchement |
-
2008
- 2008-07-15 JP JP2008183828A patent/JP4759026B2/ja not_active Expired - Fee Related
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11272518A (ja) * | 1997-11-26 | 1999-10-08 | Digital Equip Corp <Dec> | プロセッサパイプラインにより処理される命令の特性の統計値を推定する方法 |
| JP2001356903A (ja) * | 2000-05-04 | 2001-12-26 | Internatl Business Mach Corp <Ibm> | マルチスレッド・プロセッサ内でのパイプライン・ステージのフラッシュ方法および装置 |
| JP2004532444A (ja) * | 2001-02-19 | 2004-10-21 | イマジネイション テクノロジーズ リミテッド | マルチスレッドプロセッサ上の優先順位及び命令速度の制御 |
| WO2004044745A1 (ja) * | 2002-11-13 | 2004-05-27 | Fujitsu Limited | マルチスレッディングプロセッサにおけるスケジューリング方法およびマルチスレッディングプロセッサ |
| JP2006343872A (ja) * | 2005-06-07 | 2006-12-21 | Keio Gijuku | マルチスレッド中央演算装置および同時マルチスレッディング制御方法 |
| JP2007213578A (ja) * | 2006-02-09 | 2007-08-23 | Internatl Business Mach Corp <Ibm> | データ・キャッシュ・ミス予測およびスケジューリング |
| WO2008029450A1 (fr) * | 2006-09-05 | 2008-03-13 | Fujitsu Limited | Dispositif de traitement d'informations comprenant un mécanisme de correction d'erreur de prédiction d'embranchement |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016534476A (ja) * | 2013-09-24 | 2016-11-04 | インテル・コーポレーション | キャッシュ占有決定および命令スケジューリングのための方法および装置 |
| US10140210B2 (en) | 2013-09-24 | 2018-11-27 | Intel Corporation | Method and apparatus for cache occupancy determination and instruction scheduling |
| JP2020510255A (ja) * | 2017-03-07 | 2020-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | キャッシュ・ミス・スレッド・バランシング |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4759026B2 (ja) | 2011-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101160565B (zh) | 无操作系统干预情况下调度os隔离定序器上的线程的机制 | |
| JP5795820B2 (ja) | プロセッサ、方法、システム、及び、プログラム | |
| TWI494850B (zh) | 通透地提供給作業系統之非對稱多核心處理器系統 | |
| JP6434791B2 (ja) | マルチスレッディングを支援するための演算ユニット、それを含むプロセッサ及びプロセッサの動作方法 | |
| JP4642305B2 (ja) | マルチスレッド・プロセッサ内の複数のスレッドに入り、出る方法と装置 | |
| JP5774707B2 (ja) | 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング | |
| US9436464B2 (en) | Instruction-issuance controlling device and instruction-issuance controlling method | |
| CN104335175B (zh) | 基于系统性能度量在系统节点之间标识和迁移线程的方法和系统 | |
| US20070074217A1 (en) | Scheduling optimizations for user-level threads | |
| US20090144525A1 (en) | Apparatus and method for scheduling threads in multi-threading processors | |
| US9003421B2 (en) | Acceleration threads on idle OS-visible thread execution units | |
| CN101128797A (zh) | 具有用于增进流水线使用效率的优化线程调度器的多线程微处理器 | |
| US20130086367A1 (en) | Tracking operand liveliness information in a computer system and performance function based on the liveliness information | |
| KR20120070303A (ko) | 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법 | |
| JP2011023032A (ja) | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム | |
| JP2010527071A (ja) | マルチスレッド型プロセッサのためのスレッドデエンファシス命令 | |
| CN116414464A (zh) | 调度任务的方法和装置、电子设备和计算机可读介质 | |
| JP4759026B2 (ja) | プロセッサ | |
| US10095518B2 (en) | Allowing deletion of a dispatched instruction from an instruction queue when sufficient processor resources are predicted for that instruction | |
| US7904703B1 (en) | Method and apparatus for idling and waking threads by a multithread processor | |
| JP2011216004A (ja) | マイクロプロセッサ、電子制御ユニット、実行比率切り替え方法 | |
| EP4650962A1 (en) | Instruction processing method and apparatus, processor, and computer-readable storage medium | |
| US11474861B1 (en) | Methods and systems for managing asynchronous function calls | |
| US7603673B2 (en) | Method and system for reducing context switch times | |
| CN118585312A (zh) | 指令调度方法及装置、处理器、电子装置和存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20101027 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101222 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110112 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110301 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110331 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110331 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110331 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110524 |
|
| 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: 20110603 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140610 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |