JP4706030B2 - キャッシュ制御装置及び制御方法 - Google Patents
キャッシュ制御装置及び制御方法 Download PDFInfo
- Publication number
- JP4706030B2 JP4706030B2 JP2009520176A JP2009520176A JP4706030B2 JP 4706030 B2 JP4706030 B2 JP 4706030B2 JP 2009520176 A JP2009520176 A JP 2009520176A JP 2009520176 A JP2009520176 A JP 2009520176A JP 4706030 B2 JP4706030 B2 JP 4706030B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- access request
- port
- cache
- cache control
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1048—Scalability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
2 システム制御バス
10 命令・演算制御部
20 一次キャッシュ制御部
21 キャッシュRAM
22 フェッチ・ポート
23 TOQ制御回路
24 FP分割形態設定回路
25 スレッド内プライオリティ制御回路
26 スレッド選択信号制御回路
27 スレッド間プライオリティ制御回路
28 負荷監視回路
29 スレッド・モード検出回路
30 二次キャッシュ制御部
31 キャッシュRAM
以下、図3に示したスレッド選択信号制御回路26を更に詳細に説明する。
(1) :論理回路261の説明
図3に記載された論理回路261は、2つのAND回路と1つのOR回路からなる回路である。そして、前記2つのAND回路の内の一方のAND回路をAND回路#1とし、他方のAND回路をAND回路#2として説明する。
この場合、AND回路#1の2入力の内の一方の入力はスレッド0の処理完了報告であり、他方の入力はラッチ回路260から出力されるスレッド選択信号を反転した信号が入力となる。また、AND回路#2の2入力の内の一方の入力はスレッド1の処理完了報告であり、他方の入力はラッチ回路260から出力されるスレッド選択信号がそのまま入力となる。更にOR回路はAND回路#1の出力信号とAND回路#2の出力信号とが入力となる。
(2) :論理回路262の説明
論理回路262は排他的論理和回路(EX−ORと呼んで説明する)を示している。このEX−ORは2入力であり、その一方の入力をA、他方の入力をBとし、出力をCとして説明する。
前記A、B、Cのローレベルを0、ハイレベルを1とした場合EX−ORは、A=0、B=0の時、及びA=1、B=1の時(2入力が等しい時)、C=0となり、A=0、B=1の時、及びA=1、B=0の時(2入力が異なる時)、C=1となる回路である。
Claims (8)
- 同時に実行される複数のスレッドで共有されるキャッシュに対してのアクセス要求を制御するキャッシュ制御装置であって、
スレッドに共有される形態で設けられ、複数のエントリを有してそれらのエントリにアクセス要求を保持するポート手段と、
各スレッドの発行するアクセス要求を、そのスレッドに割り付けられた前記ポート手段のポート部分に登録することで、前記ポート手段をスレッド構成に合わせて分割して使用するように制御する制御手段と、
各スレッドに対応付けて設けられて、前記ポート手段の保持するそのスレッドの発行したアクセス要求を入力として、規定の優先制御に従ってアクセス要求を選択する第1の選択手段と、
前記第1の選択手段の選択したアクセス要求を入力として、スレッド選択信号に従って最終的なアクセス要求を選択する第2の選択手段とを備えることを、
特徴とするキャッシュ制御装置。 - 請求項1に記載のキャッシュ制御装置において、
スレッドの処理が終了するときに、前記スレッド選択信号の指すスレッドを、その処理が終了したスレッドから別のスレッドに切り替える切替手段を備えることを、
特徴とするキャッシュ制御装置。 - 請求項1又は2に記載のキャッシュ制御装置において、
各スレッドの発行するアクセス要求の頻度を測定する測定手段と、
前記測定手段の測定結果に基づいて、各スレッドに割り付ける前記ポート部分を決定する決定手段とを備えることを、
特徴とするキャッシュ制御装置。 - 請求項1ないし3のいずれか1項に記載のキャッシュ制御装置において、
1つのスレッドのみが動作する動作モードにあるのかを検出する検出手段と、
前記検出手段が1つのスレッドのみが動作する動作モードにあることを検出する場合に、そのスレッドに対して、前記ポート手段の持つ全てのポート部分を割り付けることを決定する第2の決定手段を備えることを、
特徴とするキャッシュ制御装置。 - スレッドに共有される形態で設けられ、複数のエントリを有してそれらのエントリにアクセス要求を保持するポート手段を備えて、そのポート手段を使って、同時に実行される複数のスレッドで共有されるキャッシュに対してのアクセス要求を制御するキャッシュ制御装置が実行するキャッシュ制御方法であって、
前記キャッシュ制御装置が、
各スレッドの発行するアクセス要求を、そのスレッドに割り付けられた前記ポート手段のポート部分に登録することで、前記ポート手段をスレッド構成に合わせて分割して使用するように制御し、
各スレッド毎に、前記ポート手段の保持するそのスレッドの発行したアクセス要求の中から、規定の優先制御に従ってアクセス要求を選択し、
前記選択したアクセス要求の中から、スレッド選択信号に従って最終的なアクセス要求を選択することを、
特徴とするキャッシュ制御方法。 - 請求項5に記載のキャッシュ制御方法において、
前記キャッシュ制御装置が、スレッドの処理が終了するときに、前記スレッド選択信号の指すスレッドを、その処理が終了したスレッドから別のスレッドに切り替えることを、
特徴とするキャッシュ制御方法。 - 請求項5又は6に記載のキャッシュ制御方法において、
前記キャッシュ制御装置が、各スレッドの発行するアクセス要求の頻度を測定して、その測定結果に基づいて、各スレッドに割り付ける前記ポート部分を決定することを、
特徴とするキャッシュ制御方法。 - 請求項5ないし7のいずれか1項に記載のキャッシュ制御方法において、
前記キャッシュ制御装置が、1つのスレッドのみが動作する動作モードにあるのかを検出して、1つのスレッドのみが動作する動作モードにあることを検出する場合に、そのスレッドに対して、前記ポート手段の持つ全てのポート部分を割り付けることを決定することを、
特徴とするキャッシュ制御方法。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2007/062325 WO2008155822A1 (ja) | 2007-06-19 | 2007-06-19 | キャッシュ制御装置及び制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2008155822A1 JPWO2008155822A1 (ja) | 2010-08-26 |
| JP4706030B2 true JP4706030B2 (ja) | 2011-06-22 |
Family
ID=40155987
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009520176A Expired - Fee Related JP4706030B2 (ja) | 2007-06-19 | 2007-06-19 | キャッシュ制御装置及び制御方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8412886B2 (ja) |
| EP (1) | EP2159700A4 (ja) |
| JP (1) | JP4706030B2 (ja) |
| KR (1) | KR101077514B1 (ja) |
| CN (1) | CN101681303B (ja) |
| WO (1) | WO2008155822A1 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101086791B1 (ko) * | 2007-06-20 | 2011-11-25 | 후지쯔 가부시끼가이샤 | 캐시 제어 장치 및 제어 방법 |
| US20120198159A1 (en) * | 2009-10-14 | 2012-08-02 | Panasonic Corporation | Information processing device |
| US9086909B2 (en) * | 2011-05-17 | 2015-07-21 | Oracle International Corporation | System and method for supporting work sharing muxing in a cluster |
| US8671232B1 (en) * | 2013-03-07 | 2014-03-11 | Freescale Semiconductor, Inc. | System and method for dynamically migrating stash transactions |
| US9632958B2 (en) | 2014-07-06 | 2017-04-25 | Freescale Semiconductor, Inc. | System for migrating stash transactions |
| US12141474B2 (en) * | 2022-04-29 | 2024-11-12 | Cadence Design Systems, Inc. | Queue circuit for controlling access to a memory circuit |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004068361A1 (ja) * | 2003-01-27 | 2004-08-12 | Fujitsu Limited | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
| JP2004326738A (ja) * | 2003-04-21 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 同時マルチスレッド化プロセッサ |
| JP2006040141A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | マルチスレッドプロセッサ |
| JP2006048181A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
| JP2006524380A (ja) * | 2003-04-23 | 2006-10-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 同時マルチスレッド(smt)プロセッサにおいてスレッドごとのプロセッサ・リソース使用率を決定するためのアカウンティング方法および論理 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6430654B1 (en) * | 1998-01-21 | 2002-08-06 | Sun Microsystems, Inc. | Apparatus and method for distributed non-blocking multi-level cache |
| US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
| US7073033B2 (en) * | 2000-02-25 | 2006-07-04 | Oracle International Corporation | Memory model for a run-time environment |
| GB2372847B (en) * | 2001-02-19 | 2004-12-29 | Imagination Tech Ltd | Control of priority and instruction rates on a multithreaded processor |
| KR100429543B1 (ko) * | 2002-05-25 | 2004-04-29 | 삼성전자주식회사 | 네트워크 프로세서에서 다양한 개수의 포트들을 처리하기위한 방법 |
| US8024735B2 (en) * | 2002-06-14 | 2011-09-20 | Intel Corporation | Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution |
| US20050210204A1 (en) * | 2003-01-27 | 2005-09-22 | Fujitsu Limited | Memory control device, data cache control device, central processing device, storage device control method, data cache control method, and cache control method |
| TWI261198B (en) * | 2003-02-20 | 2006-09-01 | Samsung Electronics Co Ltd | Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating |
| US7509643B2 (en) * | 2003-03-24 | 2009-03-24 | Sun Microsystems, Inc. | Method and apparatus for supporting asymmetric multi-threading in a computer system |
| US7149829B2 (en) * | 2003-04-18 | 2006-12-12 | Sonics, Inc. | Various methods and apparatuses for arbitration among blocks of functionality |
| US8869147B2 (en) * | 2006-05-31 | 2014-10-21 | Qualcomm Incorporated | Multi-threaded processor with deferred thread output control |
-
2007
- 2007-06-19 EP EP07767183A patent/EP2159700A4/en not_active Withdrawn
- 2007-06-19 JP JP2009520176A patent/JP4706030B2/ja not_active Expired - Fee Related
- 2007-06-19 WO PCT/JP2007/062325 patent/WO2008155822A1/ja not_active Ceased
- 2007-06-19 CN CN2007800532016A patent/CN101681303B/zh not_active Expired - Fee Related
- 2007-06-19 KR KR1020097026258A patent/KR101077514B1/ko not_active Expired - Fee Related
-
2009
- 2009-12-16 US US12/654,310 patent/US8412886B2/en not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004068361A1 (ja) * | 2003-01-27 | 2004-08-12 | Fujitsu Limited | 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法 |
| JP2004326738A (ja) * | 2003-04-21 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 同時マルチスレッド化プロセッサ |
| JP2006524380A (ja) * | 2003-04-23 | 2006-10-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 同時マルチスレッド(smt)プロセッサにおいてスレッドごとのプロセッサ・リソース使用率を決定するためのアカウンティング方法および論理 |
| JP2006040141A (ja) * | 2004-07-29 | 2006-02-09 | Fujitsu Ltd | マルチスレッドプロセッサ |
| JP2006048181A (ja) * | 2004-07-30 | 2006-02-16 | Fujitsu Ltd | 記憶制御装置、ムーブインバッファ制御方法およびプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101681303B (zh) | 2011-12-14 |
| JPWO2008155822A1 (ja) | 2010-08-26 |
| WO2008155822A1 (ja) | 2008-12-24 |
| CN101681303A (zh) | 2010-03-24 |
| KR20100017837A (ko) | 2010-02-16 |
| US20100100686A1 (en) | 2010-04-22 |
| EP2159700A1 (en) | 2010-03-03 |
| KR101077514B1 (ko) | 2011-10-28 |
| US8412886B2 (en) | 2013-04-02 |
| EP2159700A4 (en) | 2011-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8082420B2 (en) | Method and apparatus for executing instructions | |
| JP4706030B2 (ja) | キャッシュ制御装置及び制御方法 | |
| CN101689143B (zh) | 高速缓存控制装置以及控制方法 | |
| JP4980751B2 (ja) | データ処理装置、およびメモリのリードアクティブ制御方法。 | |
| US7134124B2 (en) | Thread ending method and device and parallel processor system | |
| US9858116B2 (en) | Functional unit for supporting multithreading, processor comprising the same, and operating method thereof | |
| KR100745904B1 (ko) | 동시적 멀티스레드 프로세서에서 파이프라인 길이를변경하기 위한 방법 및 회로 | |
| US10521368B2 (en) | Arbitration of requests requiring a variable number of resources | |
| US7734897B2 (en) | Allocation of memory access operations to memory access capable pipelines in a superscalar data processing apparatus and method having a plurality of execution threads | |
| JP2007241918A (ja) | プロセッサ装置 | |
| EP0735456A2 (en) | System resource enable apparatus | |
| US20040216103A1 (en) | Mechanism for detecting and handling a starvation of a thread in a multithreading processor environment | |
| US8151097B2 (en) | Multi-threaded system with branch | |
| US20110072215A1 (en) | Cache system and control method of way prediction for cache memory | |
| US9778934B2 (en) | Power efficient pattern history table fetch in branch predictor | |
| US20040210723A1 (en) | Computer and control method | |
| WO2009098737A1 (ja) | 外部デバイスアクセス装置、その制御方法及びシステムlsi | |
| US20190057093A1 (en) | Ranking items | |
| KR100980076B1 (ko) | 저전력 분기 예측 시스템 및 분기 예측 방법 | |
| US20040148464A1 (en) | Cache memory device and method of controlling the cache memory device | |
| US20050228966A1 (en) | Processor system and data processing method | |
| KR20240067955A (ko) | 추측적으로 명령어를 실행하기 위한 약한 캐시 라인 무효화 요청 | |
| EP2843543B1 (en) | Arithmetic processing device and control method of arithmetic processing device | |
| CN112612585B (zh) | 线程调度方法、配置方法、微处理器、装置及存储介质 | |
| JP4878050B2 (ja) | コンピュータ及び制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101005 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101202 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20101202 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110104 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110124 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110215 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110217 |
|
| LAPS | Cancellation because of no payment of annual fees |