JP2010086130A - マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 - Google Patents
マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 Download PDFInfo
- Publication number
- JP2010086130A JP2010086130A JP2008252234A JP2008252234A JP2010086130A JP 2010086130 A JP2010086130 A JP 2010086130A JP 2008252234 A JP2008252234 A JP 2008252234A JP 2008252234 A JP2008252234 A JP 2008252234A JP 2010086130 A JP2010086130 A JP 2010086130A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- hardware
- instruction
- dispatch
- priority
- 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
- 238000000034 method Methods 0.000 title claims description 35
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 101000822028 Homo sapiens Solute carrier family 28 member 3 Proteins 0.000 description 5
- 102100021470 Solute carrier family 28 member 3 Human genes 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000007616 round robin method Methods 0.000 description 5
- 101100095908 Chlamydomonas reinhardtii SLT3 gene Proteins 0.000 description 3
- 101150104869 SLT2 gene Proteins 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 101100206196 Arabidopsis thaliana TCP3 gene Proteins 0.000 description 2
- 101000945096 Homo sapiens Ribosomal protein S6 kinase alpha-5 Proteins 0.000 description 2
- 101000671638 Homo sapiens Vesicle transport protein USE1 Proteins 0.000 description 2
- 102100033645 Ribosomal protein S6 kinase alpha-5 Human genes 0.000 description 2
- 101100260060 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CCT3 gene Proteins 0.000 description 2
- 102100040106 Vesicle transport protein USE1 Human genes 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101100410404 Arabidopsis thaliana PUMPKIN gene Proteins 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 101000685663 Homo sapiens Sodium/nucleoside cotransporter 1 Proteins 0.000 description 1
- 101000763003 Homo sapiens Two pore channel protein 1 Proteins 0.000 description 1
- 101100524516 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFA2 gene Proteins 0.000 description 1
- 102100023116 Sodium/nucleoside cotransporter 1 Human genes 0.000 description 1
- 102100026736 Two pore channel protein 1 Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/507—Low-level
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)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】本発明のマルチスレッドプロセッサは、それぞれが独立した命令流を生成する複数のハードウェアスレッドと、次実行サイクルにおいて実行するハードウェアスレッドを指定する第1のスレッド選択信号TSELを出力する第1のスレッドスケジューラ19と、第1のスレッド選択信号TSELに応じて選択したハードウェアスレッドにより生成された命令を出力する第1のセレクタと、第1のセレクタから出力される命令を実行する演算回路と、を有し、第1のスレッドスケジューラ19は、演算回路においてハードウェアスレッドが実行される度に、実行されたハードウェアスレッドに対する優先順位を更新し、更新後の優先順位に従って第1のスレッド選択信号TSELを出力するものである。
【選択図】図2
Description
以下、図面を参照して本発明の実施の形態について説明する。図1に本実施の形態にかかるマルチスレッドプロセッサ1を含むプロセッサシステムのブロック図を示す。本実施の形態にかかるプロセッサシステムでは、システムバスを介してマルチスレッドプロセッサ1とメモリ2が接続される。なお、図示はしていないが、システムバスには、入出力インタフェースなどの他の回路も接続されるものとする。
実施の形態2にかかるマルチスレッドプロセッサ1aのブロック図を図11に示す。図11に示すようにマルチスレッドプロセッサ1aは、実施の形態1におけるスレッドスケジューラ19をスレッドスケジューラ19の変形例となるスレッドスケジューラ19aに置き換えたものである。そのため、以下の説明では、スレッドスケジューラ19aを中心に説明し、他の構成要素の説明は省略する。
2 メモリ
10 演算回路
11 コントローラ
12 PC生成回路
13、18、43、50、56 セレクタ
14 命令メモリ
15 命令バッファ
16 パイプライン制御回路
17 命令フェッチコントローラ
19、19a、51 スレッドスケジューラ
21 命令デコーダ
22 実行ユニット
23 データレジスタ
30a〜30d ディスパッチカウンタ
31 優先順位判定部
32 スレッド番号選択部
33 初期化判定部
34〜36 比較器
40 カウンタ初期設定値格納部
41 カウント値格納部
42 デクリメンタ
52 スレッド制御レジスタ
53 カウンタ
54 カウント最大値格納部
55 一致比較回路
TPC0〜TCP3 スレッドプログラムカウンタ
BUF0〜BUF3 命令バッファ領域
IMadd 命令フェッチアドレス
Radd データレジスタアドレス
SC 演算制御信号
TSEL、TSELa、TSELb スレッド選択信号
DPT、DPT0〜DPT3 ディスパッチ信号
MSK、MSK0〜MSK3 マスク信号
M1、M2、MAX 高優先ハードウェアスレッド値
CNTint 初期化信号
Vnow0〜Vnow3 カウント現在値
CNT、CNT0〜CNT3、CNTa カウント値
DCNT、DCNT0〜DCNT3 ディスパッチカウント値
INIT0 カウンタ初期設定値
DCR0 書き戻し値
CNTM カウント最大値
RST リセット信号
HWT ハードウェアスレッド番号
RT 実時間ビット
SLT0〜SLT7 スロット
Claims (12)
- それぞれが独立した命令流を生成する複数のハードウェアスレッドと、
予め前記複数のハードウェアスレッドのそれぞれに対して設定された優先順位に応じて、前記複数のハードウェアスレッドのうち次実行サイクルにおいて実行するハードウェアスレッドを指定する第1のスレッド選択信号を出力する第1のスレッドスケジューラと、
前記第1のスレッド選択信号に応じて前記複数のハードウェアスレッドのいずれか1つを選択して、選択したハードウェアスレッドにより生成された命令を出力する第1のセレクタと、
前記第1のセレクタから出力される命令を実行する演算回路と、を有し、
前記第1のスレッドスケジューラは、前記演算回路において前記ハードウェアスレッドが実行される度に、実行された前記ハードウェアスレッドに対する前記優先順位を更新し、更新後の前記優先順位に従って前記第1のスレッド選択信号を出力するマルチスレッドプロセッサ。 - 前記第1のスレッドスケジューラは、前記優先順位が高い前記ハードウェアスレッドを優先的に選択して前記第1のスレッド選択信号を出力し、前記第1のスレッド選択信号により指定された前記ハードウェアスレッドが前記演算回路において実行される度に当該ハードウェアスレッドの前記優先順位を低下させる請求項1に記載のマルチスレッドプロセッサ。
- 前記第1のスレッドスケジューラは、同一の前記優先順位を有する前記ハードウェアスレッドが複数存在する場合、予め設定されたルールに従っていずれか1つの前記ハードウェアスレッドを選択し、選択した前記ハードウェアスレッドを指定する前記第1のスレッド選択信号を出力する請求項1又は2に記載のマルチスレッドプロセッサ。
- 前記第1のスレッドスケジューラは、前記演算回路において実行されている前記命令と前記複数のハードウェアスレッドにおいて準備されている前記命令との依存関係が高い場合、依存関係の高い命令を含む前記ハードウェアスレッドの優先順位を最低順位とする請求項1乃至3のいずれか1項に記載のマルチスレッドプロセッサ。
- 予め決められた第1の実行期間において前記複数のハードウェアスレッドのうちから固定的に選択された少なくとも1つの前記ハードウェアスレッドの実行を指定し、前記第1の実行期間以外の第2の実行期間において任意の前記ハードウェアスレッドの実行を指定する第2のスレッド選択信号と、前記第1の実行期間と前記第2の実行期間とのいずれの期間かを示す実時間ビット信号と、を出力する第2のスレッドスケジューラと、
前記実時間ビット信号を受けて、前記実時間ビット信号が前記第1の実行期間を示すときには前記第2のスレッド選択信号を前記第1のセレクタに与え、前記実時間ビット信号が前記第2の実行期間を示すときには前記第1のスレッド選択信号を前記第1のセレクタに与える第2のセレクタと、を有する請求項1乃至4のいずれか1項に記載のマルチスレッドプロセッサ。 - 前記第1のスレッドスケジューラは、
それぞれが対応する前記ハードウェアスレッドに対する優先順位に相当するディスパッチカウント値を保持する複数のディスパッチカウンタと、
前記複数のディスパッチカウンタで保持されるディスパッチカウント値を参照し、最も優先順位の高い前記ハードウェアスレッドを判定する優先順位判定部と、
前記優先順位判定部において最も優先順位が高いと判定されたハードウェアスレッドを指定する前記第1のスレッド選択信号を出力するスレッド番号選択部と、を備え、
前記複数のディスパッチカウンタは、前記演算回路が前記ハードウェアスレッドを実行する度に出力し、実行された前記ハードウェアスレッドを通知するディスパッチ信号を受け、前記ディスパッチ信号が自ディスパッチカウンタに対応する前記ハードウェアスレッドを示す場合に自ディスパッチカウンタが出力する前記ディスパッチカウント値を更新する請求項1乃至5のいずれか1項に記載のマルチスレッドプロセッサ。 - 前記複数のディスパッチカウンタにおいて保持されるディスパッチカウント値が予め定められた初期化条件を満たす場合、前記ディスパッチカウント値を初期設定値にリセットする初期化判定部を有する請求項6に記載のマルチスレッドプロセッサ。
- 前記複数のディスパッチカウンタは、それぞれ、対応する前記ハードウェアスレッドの優先順位に対応するカウンタ初期設定値を格納するカウンタ初期設定値格納部と、
前記カウンタ初期設定値をカウント値の初期値として格納するカウント値格納部と、
前記ディスパッチ信号を受けて、前記カウント値格納部に格納される前記カウント値を更新するデクリメンタと、
前記演算回路において実行されている前記命令と前記複数のハードウェアスレッドにおいて準備されている前記命令との依存関係をモニタするパイプライ制御回路が依存関係の高い命令を含む前記ハードウェアスレッドに対して出力するマスク信号を受けて、前記マスク信号に応じて前記カウンタ値と最低優先順位の前記カウント値に対応するマスク値とのいずれかを選択し、選択した値を前記ディスパッチカウント値として出力する第3のセレクタと、
を有する請求項6又は7に記載のマルチスレッドプロセッサ。 - 前記複数のハードウェアスレッドの優先順位の初期値は、前記マルチスレッドプロセッサの起動時に実行される管理プログラムにより設定される請求項1乃至8のいずれか1項に記載のマルチスレッドプロセッサ。
- 複数のハードウェアスレッドを有し、前記ハードウェアスレッドを所定のスケジュールに従って切り替えながら、前記ハードウェアスレッドにより生成される命令流を実行するマルチスレッドプロセッサにおけるハードウェアスレッドのスケジュール方法であって、
前記複数のハードウェアスレッドのうちもっと高い優先順位のハードウェアスレッドを選択し、選択された前記ハードウェアスレッドにより生成される命令を実行し、
実行された前記命令を生成した前記ハードウェアスレッドの前記優先順位を更新し、
更新後の前記優先順位のうち最も高い前記優先順位を有する前記ハードウェアスレッドを次に命令を生成する前記ハードウェアスレッドとして選択するマルチスレッドプロセッサにおけるハードウェアスレッドのスケジュール方法。 - 前記優先順位の更新処理は、実行された前記命令を生成した前記ハードウェアスレッドの優先順位を低下させるものである請求項10に記載のマルチスレッドプロセッサにおけるハードウェアスレッドのスケジュール方法。
- 前記複数のハードウェアスレッドが生成する命令と実行中の命令との依存関係が高い場合、依存関係の高い命令を含む前記ハードウェアスレッドの優先順位は最低順位とされる請求項10又は11に記載のマルチスレッドプロセッサにおけるハードウェアスレッドのスケジュール方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252234A JP5173713B2 (ja) | 2008-09-30 | 2008-09-30 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
US12/585,879 US8365179B2 (en) | 2008-09-30 | 2009-09-28 | Multi-thread processor and its hardware thread scheduling method |
US13/619,530 US9098336B2 (en) | 2008-09-30 | 2012-09-14 | Multi-thread processor and its hardware thread scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252234A JP5173713B2 (ja) | 2008-09-30 | 2008-09-30 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012284003A Division JP5536862B2 (ja) | 2012-12-27 | 2012-12-27 | マルチスレッドプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086130A true JP2010086130A (ja) | 2010-04-15 |
JP5173713B2 JP5173713B2 (ja) | 2013-04-03 |
Family
ID=42059103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008252234A Active JP5173713B2 (ja) | 2008-09-30 | 2008-09-30 | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8365179B2 (ja) |
JP (1) | JP5173713B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012059195A (ja) * | 2010-09-13 | 2012-03-22 | Renesas Electronics Corp | マルチスレッドプロセッサ |
JP2013232150A (ja) * | 2012-05-01 | 2013-11-14 | Renesas Electronics Corp | 半導体装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015449B2 (en) * | 2011-03-27 | 2015-04-21 | International Business Machines Corporation | Region-weighted accounting of multi-threaded processor core according to dispatch state |
JP6017260B2 (ja) * | 2012-10-17 | 2016-10-26 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ |
US10176012B2 (en) * | 2014-12-12 | 2019-01-08 | Nxp Usa, Inc. | Method and apparatus for implementing deterministic response frame transmission |
US10505757B2 (en) | 2014-12-12 | 2019-12-10 | Nxp Usa, Inc. | Network interface module and a method of changing network configuration parameters within a network device |
US10628320B2 (en) | 2016-06-03 | 2020-04-21 | Synopsys, Inc. | Modulization of cache structure utilizing independent tag array and data array in microprocessor |
US10318302B2 (en) | 2016-06-03 | 2019-06-11 | Synopsys, Inc. | Thread switching in microprocessor without full save and restore of register file |
US10558463B2 (en) * | 2016-06-03 | 2020-02-11 | Synopsys, Inc. | Communication between threads of multi-thread processor |
US10628352B2 (en) | 2016-07-19 | 2020-04-21 | Nxp Usa, Inc. | Heterogeneous multi-processor device and method of enabling coherent data access within a heterogeneous multi-processor device |
US10552158B2 (en) | 2016-08-18 | 2020-02-04 | Synopsys, Inc. | Reorder buffer scoreboard having multiple valid bits to indicate a location of data |
US10613859B2 (en) | 2016-08-18 | 2020-04-07 | Synopsys, Inc. | Triple-pass execution using a retire queue having a functional unit to independently execute long latency instructions and dependent instructions |
CN109582367A (zh) * | 2017-09-28 | 2019-04-05 | 刘欣 | 一种带有流水线时分复用调度器的处理器结构 |
CN110597218B (zh) * | 2019-10-18 | 2020-10-16 | 天津开发区精诺瀚海数据科技有限公司 | 一种基于柔性化调度的排程优化方法 |
US20240095065A1 (en) * | 2022-09-19 | 2024-03-21 | Apple Inc. | Multi-stage Thread Scheduling |
US11954492B1 (en) | 2022-09-19 | 2024-04-09 | Apple Inc. | Fence enforcement techniques based on stall characteristics |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007058331A (ja) * | 2005-08-22 | 2007-03-08 | Canon Inc | プロセッサシステム及びマルチスレッドプロセッサ |
JP2008522290A (ja) * | 2004-11-24 | 2008-06-26 | モービリゲン コーポレーション | ハードウェアマルチスレッドシステムおよび方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5928322A (en) * | 1996-11-20 | 1999-07-27 | Silicon Graphics, Inc. | Low-latency real-time dispatching in general purpose multiprocessor systems |
US6389449B1 (en) | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US6658654B1 (en) * | 2000-07-06 | 2003-12-02 | International Business Machines Corporation | Method and system for low-overhead measurement of per-thread performance information in a multithreaded environment |
NZ534314A (en) * | 2002-01-30 | 2005-04-29 | Real Entpr Solutions Dev B | Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor |
US7093106B2 (en) * | 2003-04-23 | 2006-08-15 | International Business Machines Corporation | Register rename array with individual thread bits set upon allocation and cleared upon instruction completion |
JP4606142B2 (ja) | 2004-12-01 | 2011-01-05 | 株式会社ソニー・コンピュータエンタテインメント | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
US7664936B2 (en) * | 2005-02-04 | 2010-02-16 | Mips Technologies, Inc. | Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages |
US7613904B2 (en) | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US7631308B2 (en) * | 2005-02-11 | 2009-12-08 | International Business Machines Corporation | Thread priority method for ensuring processing fairness in simultaneous multi-threading microprocessors |
JP5175517B2 (ja) | 2005-04-12 | 2013-04-03 | パナソニック株式会社 | プロセッサ |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
JP2007317171A (ja) | 2006-04-27 | 2007-12-06 | Matsushita Electric Ind Co Ltd | マルチスレッド計算機システム、マルチスレッド実行制御方法 |
US8087026B2 (en) * | 2006-04-27 | 2011-12-27 | International Business Machines Corporation | Fair share scheduling based on an individual user's resource usage and the tracking of that usage |
US7774563B2 (en) * | 2007-01-09 | 2010-08-10 | International Business Machines Corporation | Reducing memory access latency for hypervisor- or supervisor-initiated memory access requests |
-
2008
- 2008-09-30 JP JP2008252234A patent/JP5173713B2/ja active Active
-
2009
- 2009-09-28 US US12/585,879 patent/US8365179B2/en active Active
-
2012
- 2012-09-14 US US13/619,530 patent/US9098336B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522290A (ja) * | 2004-11-24 | 2008-06-26 | モービリゲン コーポレーション | ハードウェアマルチスレッドシステムおよび方法 |
JP2007058331A (ja) * | 2005-08-22 | 2007-03-08 | Canon Inc | プロセッサシステム及びマルチスレッドプロセッサ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012059195A (ja) * | 2010-09-13 | 2012-03-22 | Renesas Electronics Corp | マルチスレッドプロセッサ |
JP2013232150A (ja) * | 2012-05-01 | 2013-11-14 | Renesas Electronics Corp | 半導体装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100083267A1 (en) | 2010-04-01 |
US9098336B2 (en) | 2015-08-04 |
JP5173713B2 (ja) | 2013-04-03 |
US8365179B2 (en) | 2013-01-29 |
US20130013900A1 (en) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5173713B2 (ja) | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 | |
US10467053B2 (en) | Multi-thread processor with rescheduling when threads are nondispatchable | |
JP5173711B2 (ja) | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 | |
JP5173712B2 (ja) | マルチスレッドプロセッサ | |
JP5173714B2 (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
JP5536862B2 (ja) | マルチスレッドプロセッサ | |
JP5770334B2 (ja) | マルチスレッドプロセッサ | |
JP5536863B2 (ja) | マルチスレッドプロセッサ | |
JP5946566B2 (ja) | マルチスレッドプロセッサにおけるハードウェアスレッドのスケジュール方法 | |
JP5770333B2 (ja) | マルチスレッドプロセッサ | |
JP5838237B2 (ja) | マルチスレッドプロセッサ | |
JP5536864B2 (ja) | マルチスレッドプロセッサ | |
JP2015064861A (ja) | マルチスレッドプロセッサ | |
JP2012059195A (ja) | マルチスレッドプロセッサ | |
JP2014211890A (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
JP2014067248A (ja) | プロセッサ、割り込み処理方法及び割り込み制御装置 | |
JP2013058265A (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120918 |
|
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: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5173713 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |