JP5173714B2 - マルチスレッドプロセッサ及びその割り込み処理方法 - Google Patents
マルチスレッドプロセッサ及びその割り込み処理方法 Download PDFInfo
- Publication number
- JP5173714B2 JP5173714B2 JP2008252235A JP2008252235A JP5173714B2 JP 5173714 B2 JP5173714 B2 JP 5173714B2 JP 2008252235 A JP2008252235 A JP 2008252235A JP 2008252235 A JP2008252235 A JP 2008252235A JP 5173714 B2 JP5173714 B2 JP 5173714B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- interrupt
- interrupt request
- hardware
- request signal
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Bus Control (AREA)
Description
それぞれが独立した命令流を生成する複数のハードウェアスレッドと、
入力された割り込み要求信号が、前記複数のハードウェアスレッドのうち1つ又は複数と関連付けられているか否かを判定し、関連付けられている場合、当該割り込み要求を関連付けられたハードウェアスレッドに割り当てる割り込みコントローラと、を備えたものである。
複数のハードウェアスレッドを有するマルチスレッドプロセッサにおける割り込み処理方法であって、
入力された割り込み要求信号が、前記複数のハードウェアスレッドのうち1つ又は複数と関連付けられているか否かを判定し、
関連付けられている場合、当該割り込み要求を関連付けられたハードウェアスレッドに割り当てるものである。
以下、図面を参照して本発明の実施の形態について説明する。図1に本実施の形態に係るマルチスレッドプロセッサ1を含むプロセッサシステムのブロック図を示す。本実施の形態に係るプロセッサシステムでは、システムバスを介してマルチスレッドプロセッサ1とメモリ2が接続される。なお、図示はしていないが、システムバスには、入出力インタフェースなどの他の回路も接続されるものとする。
次に、図7を用いて、実施の形態2について説明する。図7は、実施の形態2におけるチャネル毎のレジスタ(図2の「INT_CTR_1」〜「INT_CTR_n」のいずれか1つに対応)の定義である。すなわち、実施の形態1における図3に相当するものである。その他の構成は同様であるため、説明を省略する。実施の形態2では、図7に示すように、4つのハードウェアスレッド0〜3毎にフラグが設定されている。
2 メモリ
10 演算回路
11 割り込みコントローラ
12 PC生成回路
13、18、114 セレクタ
14 命令メモリ
15 命令バッファ
16 パイプライン制御回路
17 命令フェッチコントローラ
19 スレッドスケジューラ
21 命令デコーダ
22 実行ユニット
23 データレジスタ
111 プライオリティ判定部
112 スレッド判定部
113 スレッドバインドレジスタ
161 システムレジスタ
161a 割り込み許可レジスタ
TPC0〜TCP3 スレッドプログラムカウンタ
Claims (6)
- それぞれに入力されるプログラムカウント更新値に基づいて、それぞれが独立した命令流を生成する複数のハードウェアスレッドと、
予め設定されたスケジュールに従って、前記複数のハードウェアスレッドの使用順序を管理するスレッドスケジューラと、
入力された割り込み要求信号が、前記複数のハードウェアスレッドのいずれかと関連付けられているか否かを判定し、当該割り込み要求信号を前記複数のハードウェアスレッドのいずれか1つに割り当てる割り込みコントローラと、
前記割り込みコントローラによって割り当てられた前記ハードウェアスレッドに対する前記プログラムカウント更新値を生成するプログラムカウント値生成回路と、を備え、
前記割り込みコントローラは、
割り込み要求信号の複数の割り込み要因のそれぞれに対応した複数のチャネル毎に、当該チャネルの割り込み要求信号と前記複数のハードウェアスレッドのうち少なくとも1つとが関連付けられているか否かを示す情報が予め格納されたレジスタを備え、
入力された割り込み要求信号に関連付けられたハードウェアスレッドがある場合、当該割り込み要求信号を前記関連付けられたハードウェアスレッドのいずれか1つに割り当て、関連付けられたハードウェアスレッドがない場合、当該割り込み要求信号を前記複数のハードウェアスレッドのいずれか1つに割り当てるマルチスレッドプロセッサ。 - 前記複数のチャネル毎の前記レジスタには、当該チャネルの割り込み要求信号と前記複数のハードウェアスレッドのいずれか1つとが関連付けられているか否かを示す前記情報が予め格納されている、請求項1に記載のマルチスレッドプロセッサ。
- 前記複数のチャネル毎の前記レジスタには、当該チャネルの割り込み要求信号と前記複数のハードウェアスレッドの全てとが関連付けられているか否かを示す前記情報が予め格納されている、請求項1に記載のマルチスレッドプロセッサ。
- 前記割り込みコントローラは、
割り込み要求信号のチャネル毎の前記レジスタのそれぞれに接続され、かつ、入力された割り込み要求信号のチャネルに基づいて、当該チャネルのレジスタに格納された前記情報を選択するセレクタを、さらに備える、請求項1〜3のいずれか一項に記載のマルチスレッドプロセッサ。 - 前記割り込みコントローラは、
複数の割り込み要求信号の優先度を判定するプライオリティ判定部をさらに備える、請求項1〜4のいずれか一項に記載のマルチスレッドプロセッサ。 - 請求項1〜5のいずれか一項に記載のマルチスレッドプロセッサにおける割り込み処理方法であって、
入力された割り込み要求信号が、前記複数のハードウェアスレッドのうち1つ又は複数と関連付けられているか否かを判定し、
関連付けられている場合、当該割り込み要求を関連付けられたハードウェアスレッドに割り当てる割り込み処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252235A JP5173714B2 (ja) | 2008-09-30 | 2008-09-30 | マルチスレッドプロセッサ及びその割り込み処理方法 |
US12/585,818 US8407387B2 (en) | 2008-09-30 | 2009-09-25 | Multi-thread processor and the multi-thread processor's interrupt processing method having interrupt processing that is processed by an associated hardware thread |
US13/830,663 US10545892B2 (en) | 2008-09-30 | 2013-03-14 | Multi-thread processor and its interrupt processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252235A JP5173714B2 (ja) | 2008-09-30 | 2008-09-30 | マルチスレッドプロセッサ及びその割り込み処理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012284446A Division JP2013058265A (ja) | 2012-12-27 | 2012-12-27 | マルチスレッドプロセッサ及びその割り込み処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086131A JP2010086131A (ja) | 2010-04-15 |
JP5173714B2 true JP5173714B2 (ja) | 2013-04-03 |
Family
ID=42058799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008252235A Active JP5173714B2 (ja) | 2008-09-30 | 2008-09-30 | マルチスレッドプロセッサ及びその割り込み処理方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8407387B2 (ja) |
JP (1) | JP5173714B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762994B2 (en) | 2010-08-26 | 2014-06-24 | Intel Corporation | Power-optimized interrupt delivery |
CN103136035B (zh) * | 2011-11-30 | 2015-11-25 | 国际商业机器公司 | 用于混合线程模式的程序的线程管理的方法和装置 |
US9582284B2 (en) * | 2011-12-01 | 2017-02-28 | International Business Machines Corporation | Performance of processors is improved by limiting number of branch prediction levels |
JP5894496B2 (ja) * | 2012-05-01 | 2016-03-30 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US10423550B2 (en) * | 2017-10-25 | 2019-09-24 | International Business Machines Corporation | Managing efficient selection of a particular processor thread for handling an interrupt |
JP7298624B2 (ja) * | 2018-12-11 | 2023-06-27 | サンケン電気株式会社 | プロセッサ及びパイプライン処理方法 |
US10545893B1 (en) * | 2019-01-11 | 2020-01-28 | Arm Limited | Interrupt controller and method of operation of an interrupt controller |
US11782713B1 (en) * | 2019-08-27 | 2023-10-10 | Amazon Technologies, Inc. | Security vulnerability mitigation using address space co-execution |
US11288072B2 (en) * | 2019-09-11 | 2022-03-29 | Ceremorphic, Inc. | Multi-threaded processor with thread granularity |
CN112559403B (zh) * | 2019-09-25 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 一种处理器及其中的中断控制器 |
US11645215B2 (en) * | 2021-06-11 | 2023-05-09 | International Business Machines Corporation | Efficient selection of a particular processor thread for handling an interrupt |
US11755362B2 (en) | 2021-06-11 | 2023-09-12 | International Business Machines Corporation | Techniques for handling escalation of interrupts in a data processing system |
US12020066B2 (en) | 2021-06-11 | 2024-06-25 | International Busin ess Machines Corporation | Asynchronous completion notification in a multi-core data processing system |
US11977496B1 (en) | 2022-09-29 | 2024-05-07 | Amazon Technologies, Inc. | Security vulnerability mitigation using hardware-supported context-dependent address space hiding |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2855298B2 (ja) * | 1990-12-21 | 1999-02-10 | インテル・コーポレーション | 割込み要求の仲裁方法およびマルチプロセッサシステム |
JP3760035B2 (ja) * | 1996-08-27 | 2006-03-29 | 松下電器産業株式会社 | 複数の命令流を独立に処理し、命令流単位に処理性能を柔軟に制御するマルチスレッドプロセッサ |
US6954922B2 (en) * | 1998-04-29 | 2005-10-11 | Sun Microsystems, Inc. | Method apparatus and article of manufacture for time profiling multi-threaded programs |
US6401155B1 (en) * | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
EP1247195A4 (en) * | 1999-12-22 | 2005-01-05 | Ubicom Inc | SYSTEM AND METHOD FOR MULTITHREADING WORKING ON COMMAND LEVEL IN AN EMBEDDED PROCESSOR WITH ZERO-TIME CONTEXT SWITCHING |
US6770965B2 (en) * | 2000-12-28 | 2004-08-03 | Ngk Spark Plug Co., Ltd. | Wiring substrate using embedding resin |
US7054950B2 (en) * | 2002-04-15 | 2006-05-30 | Intel Corporation | Network thread scheduling |
US20050033889A1 (en) * | 2002-10-08 | 2005-02-10 | Hass David T. | Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip |
US6971103B2 (en) * | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
US7653912B2 (en) * | 2003-05-30 | 2010-01-26 | Steven Frank | Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations |
US7774585B2 (en) * | 2003-11-12 | 2010-08-10 | Infineon Technologies Ag | Interrupt and trap handling in an embedded multi-thread processor to avoid priority inversion and maintain real-time operation |
JP2006146641A (ja) | 2004-11-22 | 2006-06-08 | Seiko Epson Corp | マルチスレッドプロセッサ及びマルチスレッドプロセッサの割込み方法 |
JP2006243865A (ja) | 2005-03-01 | 2006-09-14 | Seiko Epson Corp | プロセッサおよび情報処理方法 |
US8195922B2 (en) * | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
US7386646B2 (en) * | 2005-08-25 | 2008-06-10 | Broadcom Corporation | System and method for interrupt distribution in a multithread processor |
JP2007317171A (ja) | 2006-04-27 | 2007-12-06 | Matsushita Electric Ind Co Ltd | マルチスレッド計算機システム、マルチスレッド実行制御方法 |
US8001549B2 (en) * | 2006-04-27 | 2011-08-16 | Panasonic Corporation | Multithreaded computer system and multithread execution control method |
US8041929B2 (en) * | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
US8219789B2 (en) | 2007-03-14 | 2012-07-10 | XMOS Ltd. | Interface processor |
US7958333B2 (en) * | 2007-05-30 | 2011-06-07 | XMOS Ltd. | Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected |
EP2235630A1 (en) * | 2007-12-12 | 2010-10-06 | Nxp B.V. | Data processing system and method of interrupt handling |
-
2008
- 2008-09-30 JP JP2008252235A patent/JP5173714B2/ja active Active
-
2009
- 2009-09-25 US US12/585,818 patent/US8407387B2/en active Active
-
2013
- 2013-03-14 US US13/830,663 patent/US10545892B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010086131A (ja) | 2010-04-15 |
US10545892B2 (en) | 2020-01-28 |
US20130205058A1 (en) | 2013-08-08 |
US20100082867A1 (en) | 2010-04-01 |
US8407387B2 (en) | 2013-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5173714B2 (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
US7269712B2 (en) | Thread selection for fetching instructions for pipeline multi-threaded processor | |
JP4610593B2 (ja) | デュアルスレッドプロセッサ | |
JP6017260B2 (ja) | マルチスレッドプロセッサ | |
US9436464B2 (en) | Instruction-issuance controlling device and instruction-issuance controlling method | |
JP5173713B2 (ja) | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 | |
JP5173711B2 (ja) | マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法 | |
US8539203B2 (en) | Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation | |
JP2008123045A (ja) | プロセッサ | |
EP2159691B1 (en) | Simultaneous multithreaded instruction completion controller | |
EP2159686A1 (en) | Information processor | |
US7831979B2 (en) | Processor with instruction-based interrupt handling | |
JP2020091751A (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2014211890A (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
JP2013058265A (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
JP5536862B2 (ja) | マルチスレッドプロセッサ | |
JP5573038B2 (ja) | マルチスレッドプロセッサ及びプログラム | |
JP5838237B2 (ja) | マルチスレッドプロセッサ | |
JP5536864B2 (ja) | マルチスレッドプロセッサ | |
JP5770334B2 (ja) | マルチスレッドプロセッサ | |
JP5536863B2 (ja) | マルチスレッドプロセッサ | |
JP2012059195A (ja) | マルチスレッドプロセッサ | |
KR20110113230A (ko) | 마이크로프로세서 |
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: 20120710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120910 |
|
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: 5173714 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 |