JP4610593B2 - デュアルスレッドプロセッサ - Google Patents
デュアルスレッドプロセッサ Download PDFInfo
- Publication number
- JP4610593B2 JP4610593B2 JP2007242577A JP2007242577A JP4610593B2 JP 4610593 B2 JP4610593 B2 JP 4610593B2 JP 2007242577 A JP2007242577 A JP 2007242577A JP 2007242577 A JP2007242577 A JP 2007242577A JP 4610593 B2 JP4610593 B2 JP 4610593B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- thread
- register
- pipeline
- allocation
- 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
- 230000009977 dual effect Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 2
- 241000233805 Phoenix Species 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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, look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
Description
なお、本出願の原出願又は本出願に対応する外国の特許出願においては下記の文献が発見または提出されている。
パイプラインプロセッサアーキテクチャ100、400に従って構築されたプロセッサ(たとえば、プロセッサ300、500)が例外を検出すると、通常の命令実行シーケンスは一時停止する。例外は、通常のプログラム実行の一時停止を引き起こすイベントである。例外のタイプには、たとえば、アドレス指定例外、データ例外、オペレーション例外、オーバーフロー例外、保護例外、アンダーフロー例外等が含まれる。例外は、ハードウェアによって生成される場合もあるし、ソフトウェアによって生成される場合もある。
パイプラインプロセッサアーキテクチャ100、400に従って実施されたプロセッサ内の割り込みも、例外と同様にハンドリングされる。図7は、パイプラインプロセッサアーキテクチャ100、400に従って実施されたプロセッサで割り込みをハンドリングするための方法を示している。
Claims (12)
- パイプラインステージであり、
第1の入力レジスタと、
第2の入力レジスタと、
第1の出力レジスタと、
第2の出力レジスタと、
前記第1の入力レジスタ及び前記第2の入力レジスタと通信する第1のセレクタと、
前記第1の出力レジスタ及び前記第2の出力レジスタと通信する第2のセレクタと、
第1のプロセッサスレッドに関連したデータが、該第1のプロセッサスレッドが処理されている時間の間に、前記第1の入力レジスタ、該パイプラインステージに含まれる各ステージ、及び前記第1の出力レジスタを通過し、第2のプロセッサスレッドに関連したデータが、該第2のプロセッサスレッドが処理されている時間の間に、前記第2の入力レジスタ、該パイプラインステージに含まれる各ステージ、及び前記第2の出力レジスタを通過するように、前記第1のセレクタ及び前記第2のセレクタの切り換えを制御するように動作可能なコントローラと、
を含む該パイプラインステージ、
を備え、
前記第1の入力レジスタ及び前記第1の出力レジスタは、前記第1のプロセッサスレッドの状態を記憶するように動作可能であり、前記第2の入力レジスタ及び前記第2の出力レジスタは、前記第2のプロセッサスレッドの状態を記憶するように動作でき、
前記コントローラは、前記第1のプロセッサスレッド及び前記第2のプロセッサスレッドのそれぞれに割り当てられるプロセッサ時間を動的に変更するように動作可能なプログラマブルスレッド割り当てコントローラを備え、
前記プログラマブルスレッド割り当てコントローラは、
前記第1のプロセッサスレッドに割り当てられたプロセッサ時間に対応する重みを決定する第1のスレッド割り当てカウンタと、
前記第2のプロセッサスレッドに割り当てられたプロセッサ時間に対応する重みを決定する第2のスレッド割り当てカウンタと
を有する、プロセッサ。 - 前記プログラマブルスレッド割り当てコントローラは、前記第1及び第2のスレッド割り当てカウンタのそれぞれが0の値に達すると、処理されるプロセッサスレッドを前記第1及び第2のプロセッサスレッドの一方から前記第1及び第2のプロセッサスレッドの他方へ切り替える
請求項1に記載のプロセッサ。 - プロセッサ時間割り当てを変更する入力を受け取ることと、
前記受け取った入力に基づき、第1のスレッド割り当てカウンタに保持される第1のプロセッサスレッドに割り当てられたプロセッサ時間を表す値を変更するか、または、第2のスレッド割り当てカウンタに保持される第2のプロセッサスレッドに割り当てられたプロセッサ時間を表す値を変更することと、
第1のスレッド割り当てカウンタ及び第2のスレッド割り当てカウンタに基づいて第1のプロセッサスレッド及び第2のプロセッサスレッドの間でパイプラインステージにおける実行に関してコンテキストスイッチを実行することとを含み、
前記パイプラインステージは、第1の入力レジスタと、第2の入力レジスタと、第1の出力レジスタと、第2の出力レジスタと、第1の入力レジスタ及び第2の入力レジスタと通信する第1のセレクタと、第1の出力レジスタ及び第2の出力レジスタと通信する第2のセレクタとを備え、第1のプロセッサスレッドが該パイプラインステージにおいて実行される際には、第1のプロセッサスレッドに関連したデータが、第1の入力レジスタ、パイプラインステージにおける各ステージ、及び、第1の出力レジスタを通過するものであり、第2のプロセッサスレッドが該パイプラインステージにおいて実行される際には、第2のプロセッサスレッドに関連したデータが、第2の入力レジスタ、パイプラインステージにおける各ステージ、及び、第2の出力レジスタを通過するものであり、
前記コンテキストスイッチを実行することは、第1のセレクタと第2のセレクタの切り換えを制御することにより行われる、方法。 - 前記コンテキストスイッチを実行することは、前記第1及び第2のスレッド割り当てカウンタのそれぞれが0の値に達したときにコンテキストスイッチを実行する、
請求項3に記載の方法。 - 前記プログラマブルスレッド割り当てコントローラは、前記第1のプロセッサスレッド及び前記第2のプロセッサスレッドのそれぞれに割り当てられるプロセッサ時間を、プログラム実行中に変更する、
請求項1または請求項2に記載のプロセッサ。 - 前記プログラマブルスレッド割り当てコントローラは、プロセッサ時間の割り当てを動的に変更する入力が受け取られたかどうかを判断する、
請求項1、2、5のいずれかに記載のプロセッサ。 - 割り当てられるプロセッサ時間は、前記プロセッサのユーザにより変更される、
請求項1、2、5、6のいずれかに記載のプロセッサ。 - 割り当てられるプロセッサ時間は、前記プロセッサ上で実行されるプログラムにより変更される、
請求項1、2、5、6のいずれかに記載のプロセッサ。 - 前記第1のプロセッサスレッド及び前記第2のプロセッサスレッドのそれぞれに割り当てられるプロセッサ時間を、プログラム実行中に変更することを更に含む、
請求項3または請求項4に記載の方法。 - プロセッサ時間の割り当てを動的に変更する入力が受け取られたかどうかを判断することを更に含む、
請求項3、4、9のいずれかに記載の方法。 - 割り当てられるプロセッサ時間は、前記プロセッサのユーザにより変更される、
請求項3、4、9、10のいずれかに記載の方法。 - 割り当てられるプロセッサ時間は、前記プロセッサ上で実行されるプログラムにより変更される、
請求項3、4、9、10のいずれかに記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/084,364 US8195922B2 (en) | 2005-03-18 | 2005-03-18 | System for dynamically allocating processing time to multiple threads |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006071828A Division JP2006260571A (ja) | 2005-03-18 | 2006-03-15 | デュアルスレッドプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008047145A JP2008047145A (ja) | 2008-02-28 |
JP4610593B2 true JP4610593B2 (ja) | 2011-01-12 |
Family
ID=36577509
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006071828A Pending JP2006260571A (ja) | 2005-03-18 | 2006-03-15 | デュアルスレッドプロセッサ |
JP2007242577A Expired - Fee Related JP4610593B2 (ja) | 2005-03-18 | 2007-09-19 | デュアルスレッドプロセッサ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006071828A Pending JP2006260571A (ja) | 2005-03-18 | 2006-03-15 | デュアルスレッドプロセッサ |
Country Status (6)
Country | Link |
---|---|
US (2) | US8195922B2 (ja) |
EP (1) | EP1703377A3 (ja) |
JP (2) | JP2006260571A (ja) |
CN (1) | CN100440139C (ja) |
SG (1) | SG126072A1 (ja) |
TW (1) | TWI315848B (ja) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060212853A1 (en) * | 2005-03-18 | 2006-09-21 | Marvell World Trade Ltd. | Real-time control apparatus having a multi-thread processor |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
CN107368285B (zh) | 2006-11-14 | 2020-10-09 | 英特尔公司 | 多线程架构 |
CN101325063B (zh) * | 2007-06-12 | 2011-02-16 | 建兴电子科技股份有限公司 | 全息储存系统中寻找定位点位置的方法 |
US8725991B2 (en) * | 2007-09-12 | 2014-05-13 | Qualcomm Incorporated | Register file system and method for pipelined processing |
US8656145B2 (en) | 2008-09-19 | 2014-02-18 | Qualcomm Incorporated | Methods and systems for allocating interrupts in a multithreaded processor |
JP5173714B2 (ja) | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びその割り込み処理方法 |
JP5433676B2 (ja) | 2009-02-24 | 2014-03-05 | パナソニック株式会社 | プロセッサ装置、マルチスレッドプロセッサ装置 |
JP5411587B2 (ja) | 2009-06-09 | 2014-02-12 | トヨタ自動車株式会社 | マルチスレッド実行装置、マルチスレッド実行方法 |
US9747105B2 (en) * | 2009-12-17 | 2017-08-29 | Intel Corporation | Method and apparatus for performing a shift and exclusive or operation in a single instruction |
CN101763285B (zh) * | 2010-01-15 | 2013-03-20 | 西安电子科技大学 | 零开销切换多线程处理器及其线程切换方法 |
WO2012001835A1 (ja) * | 2010-07-02 | 2012-01-05 | パナソニック株式会社 | マルチプロセッサシステム |
EP3156896B1 (en) | 2010-09-17 | 2020-04-08 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
TW201237630A (en) * | 2011-03-01 | 2012-09-16 | Wistron Corp | Method and computer system for processing data in a memory |
WO2012135041A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9766893B2 (en) | 2011-03-25 | 2017-09-19 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
KR101826121B1 (ko) | 2011-03-25 | 2018-02-06 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
TWI548994B (zh) | 2011-05-20 | 2016-09-11 | 軟體機器公司 | 以複數個引擎支援指令序列的執行之互連結構 |
CN107729267B (zh) | 2011-05-20 | 2022-01-25 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
JP5283739B2 (ja) * | 2011-09-27 | 2013-09-04 | インテル・コーポレーション | プロセッサ内のマルチスレッド間通信 |
KR101703400B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 마이크로프로세서 가속 코드 최적화기 |
US10191746B2 (en) | 2011-11-22 | 2019-01-29 | Intel Corporation | Accelerated code optimizer for a multiengine microprocessor |
JP5819184B2 (ja) * | 2011-12-28 | 2015-11-18 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US10732976B2 (en) | 2013-01-10 | 2020-08-04 | Nxp Usa, Inc. | Integrated circuit processor and method of operating the integrated circuit processor in different modes of differing thread counts |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US9582322B2 (en) | 2013-03-15 | 2017-02-28 | Soft Machines Inc. | Method and apparatus to avoid deadlock during instruction scheduling using dynamic port remapping |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9632825B2 (en) | 2013-03-15 | 2017-04-25 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
KR101708591B1 (ko) | 2013-03-15 | 2017-02-20 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US20140281116A1 (en) | 2013-03-15 | 2014-09-18 | Soft Machines, Inc. | Method and Apparatus to Speed up the Load Access and Data Return Speed Path Using Early Lower Address Bits |
EP2972836B1 (en) | 2013-03-15 | 2022-11-09 | Intel Corporation | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
CN103916915B (zh) * | 2014-04-10 | 2018-07-31 | 泉州旭辉电子有限公司 | 一种模数自适应切换的无线通信系统设计方法 |
WO2015175555A1 (en) | 2014-05-12 | 2015-11-19 | Soft Machines, Inc. | Method and apparatus for providing hardware support for self-modifying code |
CN104516775A (zh) * | 2014-09-05 | 2015-04-15 | 深圳市华讯方舟科技有限公司 | 基于多核、多线程实现ap和sta的接入方法 |
US9996354B2 (en) * | 2015-01-09 | 2018-06-12 | International Business Machines Corporation | Instruction stream tracing of multi-threaded processors |
US11663227B2 (en) | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US11604795B2 (en) | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
US11416528B2 (en) | 2016-09-26 | 2022-08-16 | Splunk Inc. | Query acceleration data store |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US11615104B2 (en) | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11620336B1 (en) | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11461334B2 (en) * | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
US11550847B1 (en) | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
GB2565338B (en) | 2017-08-10 | 2020-06-03 | Mips Tech Llc | Fault detecting and fault tolerant multi-threaded processors |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
GB201717303D0 (en) * | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Scheduling tasks in a multi-threaded processor |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
US11645178B2 (en) | 2018-07-27 | 2023-05-09 | MIPS Tech, LLC | Fail-safe semi-autonomous or autonomous vehicle processor array redundancy which permits an agent to perform a function based on comparing valid output from sets of redundant processors |
US10997058B2 (en) * | 2018-07-30 | 2021-05-04 | EMC IP Holding Company LLC | Method for performance analysis in a continuous integration pipeline |
US10884785B2 (en) | 2018-11-29 | 2021-01-05 | International Business Machines Corporation | Precise accounting of processor time for multi-threaded time-critical applications |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001521215A (ja) * | 1997-10-23 | 2001-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置 |
JP2003523561A (ja) * | 1999-12-22 | 2003-08-05 | ウビコム インコーポレイテッド | 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法 |
JP2004234123A (ja) * | 2003-01-28 | 2004-08-19 | Fujitsu Ltd | マルチスレッドコンピュータ |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6314243A (ja) | 1986-07-03 | 1988-01-21 | Fujitsu Ltd | 演算処理装置 |
JPH0199132A (ja) | 1987-10-12 | 1989-04-18 | Matsushita Electric Ind Co Ltd | マルチタスク実行装置 |
JPH01234123A (ja) | 1988-03-11 | 1989-09-19 | Showa Alum Corp | 排熱回収装置用ヒートパイプ式熱交換器の製造法 |
JPH01249808A (ja) | 1988-03-31 | 1989-10-05 | Nippon Shokubai Kagaku Kogyo Co Ltd | 耐塩性吸水性樹脂微粒子の製造方法 |
JP2595662B2 (ja) | 1988-06-06 | 1997-04-02 | 株式会社明電舎 | 四輪駆動車用ダイナモメータの制御方式 |
JP2881776B2 (ja) | 1988-08-31 | 1999-04-12 | アイシン精機株式会社 | スロットル制御装置 |
JPH0282815A (ja) | 1988-09-20 | 1990-03-23 | Fujitsu Ltd | カウンタチェック方式 |
JPH02226458A (ja) | 1989-02-28 | 1990-09-10 | Fujitsu Ltd | 並列処理計算機パイプライン処理方式 |
JPH03167748A (ja) | 1989-11-28 | 1991-07-19 | Toshiba Lighting & Technol Corp | バックライト用けい光ランプ |
JP2579008B2 (ja) | 1989-12-18 | 1997-02-05 | 松下電器産業株式会社 | 時分割マルチタスク実行装置 |
JP2591200B2 (ja) | 1989-12-18 | 1997-03-19 | 松下電器産業株式会社 | プログラム先取り装置 |
JPH03241980A (ja) | 1990-02-20 | 1991-10-29 | Fujitsu General Ltd | フィルムスキャナ装置 |
US5305455A (en) * | 1990-12-21 | 1994-04-19 | International Business Machines Corp. | Per thread exception management for multitasking multithreaded operating system |
JPH04234123A (ja) | 1990-12-28 | 1992-08-21 | Fuji Xerox Co Ltd | 半導体装置の製造方法 |
US5148546A (en) | 1991-04-22 | 1992-09-15 | Blodgett Greg A | Method and system for minimizing power demands on portable computers and the like by refreshing selected dram cells |
JPH0525749A (ja) | 1991-07-10 | 1993-02-02 | Toyota Autom Loom Works Ltd | 織機におけるクロスロール交換装置の織布巻き付け機構 |
US5357617A (en) | 1991-11-22 | 1994-10-18 | International Business Machines Corporation | Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor |
US5404469A (en) | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US6430592B1 (en) * | 1994-06-02 | 2002-08-06 | International Business Machines Corporation | System for sharing CPU time amongst multiple users |
WO1996018940A1 (en) | 1994-12-16 | 1996-06-20 | Elonex Technologies, Inc. | Management of data before zero volt suspend in computer power management |
US6182108B1 (en) | 1995-01-31 | 2001-01-30 | Microsoft Corporation | Method and system for multi-threaded processing |
US5659749A (en) | 1995-05-08 | 1997-08-19 | National Instruments Corporation | System and method for performing efficient hardware context switching in an instrumentation system |
US5828880A (en) | 1995-07-06 | 1998-10-27 | Sun Microsystems, Inc. | Pipeline system and method for multiprocessor applications in which each of a plurality of threads execute all steps of a process characterized by normal and parallel steps on a respective datum |
US5805479A (en) | 1995-09-25 | 1998-09-08 | United Microelectronics Corp. | Apparatus and method for filtering digital signals |
JPH09171462A (ja) | 1995-12-20 | 1997-06-30 | Matsushita Electric Ind Co Ltd | 演算装置 |
JPH09190348A (ja) | 1996-01-09 | 1997-07-22 | Matsushita Electric Ind Co Ltd | 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法 |
JPH10177774A (ja) | 1996-12-16 | 1998-06-30 | Fujitsu Ltd | ディスク装置及び携帯型電子装置 |
US6184906B1 (en) | 1997-06-30 | 2001-02-06 | Ati Technologies, Inc. | Multiple pipeline memory controller for servicing real time data |
US6157988A (en) | 1997-08-01 | 2000-12-05 | Micron Technology, Inc. | Method and apparatus for high performance branching in pipelined microsystems |
US6385638B1 (en) | 1997-09-04 | 2002-05-07 | Equator Technologies, Inc. | Processor resource distributor and method |
US6223208B1 (en) | 1997-10-03 | 2001-04-24 | International Business Machines Corporation | Moving data in and out of processor units using idle register/storage functional units |
US6076157A (en) | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US5987492A (en) | 1997-10-31 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for processor sharing |
JPH11161505A (ja) | 1997-12-01 | 1999-06-18 | Matsushita Electric Ind Co Ltd | メディア送出装置 |
EP1521467A3 (en) | 1998-03-16 | 2005-04-13 | Intertrust Technologies Corp. | Methods and apparatus for continuous control and protection of media content |
EP0943995A3 (en) | 1998-03-20 | 2000-12-06 | Texas Instruments Incorporated | Processor having real-time external instruction insertion for debug functions without a debug monitor |
JPH11272627A (ja) * | 1998-03-23 | 1999-10-08 | Nec Corp | パイプライン型マルチプロセッサシステム |
US6560628B1 (en) | 1998-04-27 | 2003-05-06 | Sony Corporation | Apparatus, method, and recording medium for scheduling execution using time slot data |
US6088044A (en) | 1998-05-29 | 2000-07-11 | International Business Machines Corporation | Method for parallelizing software graphics geometry pipeline rendering |
US6119091A (en) | 1998-06-26 | 2000-09-12 | Lsi Logic Corporation | DVD audio decoder having a direct access PCM FIFO |
JP2000105598A (ja) | 1998-08-24 | 2000-04-11 | Saehan Information Syst Inc | 携帯用デ―タの記録/再生装置、デジタルデ―タの記録及び再生方泡並びにコンピュ―タ音楽ファイルデ―タの記録及び再生システム |
KR100321437B1 (ko) | 1998-11-02 | 2002-05-13 | 이상훈 | 자동차엠피쓰리플레이어 |
US6952827B1 (en) | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6826749B2 (en) | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
US7065762B1 (en) | 1999-03-22 | 2006-06-20 | Cisco Technology, Inc. | Method, apparatus and computer program product for borrowed-virtual-time scheduling |
US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US6341347B1 (en) | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6061306A (en) | 1999-07-20 | 2000-05-09 | James Buchheim | Portable digital player compatible with a cassette player |
US6496692B1 (en) | 1999-12-06 | 2002-12-17 | Michael E. Shanahan | Methods and apparatuses for programming user-defined information into electronic devices |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US6609193B1 (en) | 1999-12-30 | 2003-08-19 | Intel Corporation | Method and apparatus for multi-thread pipelined instruction decoder |
US7856633B1 (en) * | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
US6922845B2 (en) | 2000-04-25 | 2005-07-26 | The Directtv Group, Inc. | Multi-processor DVR |
US20030188141A1 (en) * | 2002-03-29 | 2003-10-02 | Shailender Chaudhry | Time-multiplexed speculative multi-threading to support single-threaded applications |
US7137117B2 (en) | 2000-06-02 | 2006-11-14 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
US6420903B1 (en) | 2000-08-14 | 2002-07-16 | Sun Microsystems, Inc. | High speed multiple-bit flip-flop |
US7302684B2 (en) | 2001-06-18 | 2007-11-27 | Microsoft Corporation | Systems and methods for managing a run queue |
US7134002B2 (en) * | 2001-08-29 | 2006-11-07 | Intel Corporation | Apparatus and method for switching threads in multi-threading processors |
US7117497B2 (en) * | 2001-11-08 | 2006-10-03 | Honeywell International, Inc. | Budget transfer mechanism for time-partitioned real-time operating systems |
JP2003167748A (ja) | 2001-11-30 | 2003-06-13 | Fujitsu Ltd | マルチスレッド計算機 |
US7487504B2 (en) | 2002-02-06 | 2009-02-03 | International Business Machines Corporation | Thread dispatch for multiprocessor computer systems |
US7437724B2 (en) | 2002-04-03 | 2008-10-14 | Intel Corporation | Registers for data transfers |
WO2003088036A1 (en) | 2002-04-12 | 2003-10-23 | Koninklijke Philips Electronics N.V. | System and method for instruction level multithreading |
US7062606B2 (en) * | 2002-11-01 | 2006-06-13 | Infineon Technologies Ag | Multi-threaded embedded processor using deterministic instruction memory to guarantee execution of pre-selected threads during blocking events |
US7181742B2 (en) | 2002-11-19 | 2007-02-20 | Intel Corporation | Allocation of packets and threads |
AU2003300948A1 (en) | 2002-12-16 | 2004-07-22 | Globespanvirata Incorporated | System and method for scheduling thread execution |
US7657893B2 (en) | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
US7013400B2 (en) | 2003-04-24 | 2006-03-14 | International Business Machines Corporation | Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode |
US6862027B2 (en) | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
US7472389B2 (en) | 2003-10-29 | 2008-12-30 | Honeywell International Inc. | Stochastically based thread budget overrun handling system and method |
DE10353267B3 (de) | 2003-11-14 | 2005-07-28 | Infineon Technologies Ag | Multithread-Prozessorarchitektur zum getriggerten Thread-Umschalten ohne Zykluszeitverlust und ohne Umschalt-Programmbefehl |
US7430737B2 (en) | 2003-12-04 | 2008-09-30 | Sun Microsystems, Inc. | Processor and method for supporting compiler directed multithreading management |
US7617499B2 (en) | 2003-12-18 | 2009-11-10 | International Business Machines Corporation | Context switch instruction prefetching in multithreaded computer |
US7493621B2 (en) | 2003-12-18 | 2009-02-17 | International Business Machines Corporation | Context switch data prefetching in multithreaded computer |
US7475399B2 (en) | 2004-01-13 | 2009-01-06 | International Business Machines Corporation | Method and data processing system optimizing performance through reporting of thread-level hardware resource utilization |
US8074051B2 (en) | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
US7681199B2 (en) | 2004-08-31 | 2010-03-16 | Hewlett-Packard Development Company, L.P. | Time measurement using a context switch count, an offset, and a scale factor, received from the operating system |
US20060212853A1 (en) | 2005-03-18 | 2006-09-21 | Marvell World Trade Ltd. | Real-time control apparatus having a multi-thread processor |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
-
2005
- 2005-03-18 US US11/084,364 patent/US8195922B2/en active Active
-
2006
- 2006-03-14 TW TW095108580A patent/TWI315848B/zh not_active IP Right Cessation
- 2006-03-15 JP JP2006071828A patent/JP2006260571A/ja active Pending
- 2006-03-17 CN CNB2006100653319A patent/CN100440139C/zh active Active
- 2006-03-17 SG SG200601675A patent/SG126072A1/en unknown
- 2006-03-17 EP EP20060005551 patent/EP1703377A3/en not_active Withdrawn
-
2007
- 2007-09-19 JP JP2007242577A patent/JP4610593B2/ja not_active Expired - Fee Related
-
2012
- 2012-05-31 US US13/485,642 patent/US8468324B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001521215A (ja) * | 1997-10-23 | 2001-11-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置 |
JP2003523561A (ja) * | 1999-12-22 | 2003-08-05 | ウビコム インコーポレイテッド | 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法 |
JP2004234123A (ja) * | 2003-01-28 | 2004-08-19 | Fujitsu Ltd | マルチスレッドコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
CN100440139C (zh) | 2008-12-03 |
EP1703377A3 (en) | 2007-11-28 |
CN1841314A (zh) | 2006-10-04 |
US20060212687A1 (en) | 2006-09-21 |
US8468324B2 (en) | 2013-06-18 |
JP2006260571A (ja) | 2006-09-28 |
EP1703377A2 (en) | 2006-09-20 |
US8195922B2 (en) | 2012-06-05 |
TWI315848B (en) | 2009-10-11 |
TW200710723A (en) | 2007-03-16 |
US20120239908A1 (en) | 2012-09-20 |
JP2008047145A (ja) | 2008-02-28 |
SG126072A1 (en) | 2006-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4610593B2 (ja) | デュアルスレッドプロセッサ | |
US7155600B2 (en) | Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor | |
US6061710A (en) | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads | |
US8266620B2 (en) | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts | |
US7424599B2 (en) | Apparatus, method, and instruction for software management of multiple computational contexts in a multithreaded microprocessor | |
US7269712B2 (en) | Thread selection for fetching instructions for pipeline multi-threaded processor | |
EP2270650B1 (en) | Processor and control method for processor | |
US8516024B2 (en) | Establishing thread priority in a processor or the like | |
JP3919764B2 (ja) | 例外条件を解消するために同時マルチスレッド・プロセッサでディスパッチ・フラッシュを使用する方法 | |
JP5413853B2 (ja) | マルチスレッド型プロセッサのためのスレッドデエンファシス方法及びデバイス | |
US8635621B2 (en) | Method and apparatus to implement software to hardware thread priority | |
JP5173714B2 (ja) | マルチスレッドプロセッサ及びその割り込み処理方法 | |
JP2006318051A (ja) | マイクロプロセッサ及びマイクロプロセッサの制御方法 | |
WO2011155097A1 (ja) | 命令発行制御装置及び方法 | |
EP2159691B1 (en) | Simultaneous multithreaded instruction completion controller | |
JP4599365B2 (ja) | プロセッサにおける同時物理スレッド数からの論理スレッド数のデカップリング | |
JP2020091751A (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP3816844B2 (ja) | プロセッサ及び命令制御方法 | |
EP2169539A1 (en) | Instruction control device and instruction control method | |
US11194577B2 (en) | Instruction issue according to in-order or out-of-order execution modes | |
JP2005078234A (ja) | 情報処理装置 | |
JP5093237B2 (ja) | 命令処理装置 | |
JP2012168725A (ja) | マルチスレッド・プロセッサ | |
US20040128488A1 (en) | Strand switching algorithm to avoid strand starvation | |
JP4151497B2 (ja) | パイプライン処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071130 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20071130 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080418 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080916 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100722 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100824 |
|
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: 20101012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4610593 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
LAPS | Cancellation because of no payment of annual fees |