JP4409427B2 - 複数のレジスタ・コンテキストを有するデータ処理システムおよび該システムのための方法 - Google Patents
複数のレジスタ・コンテキストを有するデータ処理システムおよび該システムのための方法 Download PDFInfo
- Publication number
- JP4409427B2 JP4409427B2 JP2004509742A JP2004509742A JP4409427B2 JP 4409427 B2 JP4409427 B2 JP 4409427B2 JP 2004509742 A JP2004509742 A JP 2004509742A JP 2004509742 A JP2004509742 A JP 2004509742A JP 4409427 B2 JP4409427 B2 JP 4409427B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- context
- data processing
- contexts
- processing system
- 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
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 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
- 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/30134—Register stacks; shift registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/159,386 US7117346B2 (en) | 2002-05-31 | 2002-05-31 | Data processing system having multiple register contexts and method therefor |
| PCT/US2003/014215 WO2003102723A2 (en) | 2002-05-31 | 2003-05-07 | Data processing system having multiple register contexts and method therefor |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2006502470A JP2006502470A (ja) | 2006-01-19 |
| JP2006502470A5 JP2006502470A5 (enExample) | 2006-06-15 |
| JP4409427B2 true JP4409427B2 (ja) | 2010-02-03 |
Family
ID=29582888
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004509742A Expired - Fee Related JP4409427B2 (ja) | 2002-05-31 | 2003-05-07 | 複数のレジスタ・コンテキストを有するデータ処理システムおよび該システムのための方法 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7117346B2 (enExample) |
| EP (1) | EP1573444A2 (enExample) |
| JP (1) | JP4409427B2 (enExample) |
| KR (1) | KR100989215B1 (enExample) |
| CN (1) | CN100472453C (enExample) |
| AU (1) | AU2003225300A1 (enExample) |
| TW (1) | TWI323847B (enExample) |
| WO (1) | WO2003102723A2 (enExample) |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040098568A1 (en) * | 2002-11-18 | 2004-05-20 | Nguyen Hung T. | Processor having a unified register file with multipurpose registers for storing address and data register values, and associated register mapping method |
| US7631307B2 (en) * | 2003-12-05 | 2009-12-08 | Intel Corporation | User-programmable low-overhead multithreading |
| US7401206B2 (en) * | 2004-06-30 | 2008-07-15 | Sun Microsystems, Inc. | Apparatus and method for fine-grained multithreading in a multipipelined processor core |
| US7562207B2 (en) * | 2005-01-27 | 2009-07-14 | Innovasic, Inc. | Deterministic microcontroller with context manager |
| US7516311B2 (en) * | 2005-01-27 | 2009-04-07 | Innovasic, Inc. | Deterministic microcontroller context arrangement |
| KR100728899B1 (ko) * | 2005-10-27 | 2007-06-15 | 한국과학기술원 | 복수의 레지스터 집합과 하드웨어 작업 관리자를 가진고성능 멀티쓰레드 임베디드 프로세서 |
| US7590774B2 (en) * | 2005-12-01 | 2009-09-15 | Kabushiki Kaisha Toshiba | Method and system for efficient context swapping |
| CN101449256B (zh) | 2006-04-12 | 2013-12-25 | 索夫特机械公司 | 对载明并行和依赖运算的指令矩阵进行处理的装置和方法 |
| US8677105B2 (en) * | 2006-11-14 | 2014-03-18 | Soft Machines, Inc. | Parallel processing of a sequential program using hardware generated threads and their instruction groups executing on plural execution units and accessing register file segments using dependency inheritance vectors across multiple engines |
| US8341641B2 (en) * | 2007-08-16 | 2012-12-25 | Kernelon Silicon Inc. | Task processor |
| US9135144B2 (en) | 2009-10-22 | 2015-09-15 | Freescale Semiconductor, Inc. | Integrated circuits and methods for debugging |
| EP3156896B1 (en) | 2010-09-17 | 2020-04-08 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
| WO2012093288A1 (en) * | 2011-01-03 | 2012-07-12 | Freescale Semiconductor, Inc. | Integrated circuit device and method for performing conditional negation of data |
| CN108376097B (zh) | 2011-03-25 | 2022-04-15 | 英特尔公司 | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 |
| CN103635875B (zh) | 2011-03-25 | 2018-02-16 | 英特尔公司 | 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段 |
| CN103547993B (zh) | 2011-03-25 | 2018-06-26 | 英特尔公司 | 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块 |
| WO2012131437A1 (en) * | 2011-03-30 | 2012-10-04 | Freescale Semiconductor, Inc. | Integrated circuit device and method for enabling cross-context access |
| EP2710481B1 (en) | 2011-05-20 | 2021-02-17 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
| US9442772B2 (en) | 2011-05-20 | 2016-09-13 | Soft Machines Inc. | Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines |
| US10078515B2 (en) | 2011-10-03 | 2018-09-18 | International Business Machines Corporation | Tracking operand liveness information in a computer system and performing function based on the liveness information |
| KR101832679B1 (ko) | 2011-11-22 | 2018-02-26 | 소프트 머신즈, 인크. | 마이크로프로세서 가속 코드 최적화기 |
| CN104040490B (zh) | 2011-11-22 | 2017-12-15 | 英特尔公司 | 用于多引擎微处理器的加速的代码优化器 |
| WO2013099414A1 (ja) | 2011-12-26 | 2013-07-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | レジスタ・マッピング方法 |
| 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 |
| 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 |
| US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
| CN105210040B (zh) | 2013-03-15 | 2019-04-02 | 英特尔公司 | 用于执行分组成块的多线程指令的方法 |
| 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 |
| 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 |
| WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
| US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
| US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
| US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
| US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
| WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
| US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
| US10031770B2 (en) * | 2014-04-30 | 2018-07-24 | Intel Corporation | System and method of delayed context switching in processor registers |
| US10067766B2 (en) * | 2015-02-26 | 2018-09-04 | International Business Machines Corporation | History buffer with hybrid entry support for multiple-field registers |
| US9971604B2 (en) | 2015-02-26 | 2018-05-15 | International Business Machines Corporation | History buffer for multiple-field registers |
| US9996353B2 (en) | 2015-02-26 | 2018-06-12 | International Business Machines Corporation | Universal history buffer to support multiple register types |
| US10802866B2 (en) * | 2015-04-30 | 2020-10-13 | Microchip Technology Incorporated | Central processing unit with DSP engine and enhanced context switch capabilities |
| JP2017037370A (ja) | 2015-08-06 | 2017-02-16 | 富士通株式会社 | 計算機、プロセス制御方法およびプロセス制御プログラム |
| GB2577729C (en) * | 2018-10-04 | 2021-10-27 | Advanced Risc Mach Ltd | Processor with Register Bank having Banked Versions of a Register each Associated with an Operating State of the Processor |
| CN110928574A (zh) * | 2019-11-20 | 2020-03-27 | 深圳市汇顶科技股份有限公司 | 微控制器、中断处理芯片、设备及中断处理方法 |
| US11663010B2 (en) * | 2021-03-08 | 2023-05-30 | Unisys Corporation | System and method for securely debugging across multiple execution contexts |
| US11816486B2 (en) | 2022-01-18 | 2023-11-14 | Nxp B.V. | Efficient inter-thread communication between hardware processing threads of a hardware multithreaded processor by selective aliasing of register blocks |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5142677A (en) * | 1989-05-04 | 1992-08-25 | Texas Instruments Incorporated | Context switching devices, systems and methods |
| JPH04242433A (ja) * | 1991-01-17 | 1992-08-31 | Nec Corp | マイクロプロセッサ |
| US5386563A (en) * | 1992-10-13 | 1995-01-31 | Advanced Risc Machines Limited | Register substitution during exception processing |
| GB2281986B (en) * | 1993-09-15 | 1997-08-06 | Advanced Risc Mach Ltd | Data processing reset |
| US5680588A (en) * | 1995-06-06 | 1997-10-21 | International Business Machines Corporation | Method and system for optimizing illumination in an optical photolithography projection imaging system |
| US6029242A (en) * | 1995-08-16 | 2000-02-22 | Sharp Electronics Corporation | Data processing system using a shared register bank and a plurality of processors |
| US5701508A (en) * | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
| US5812868A (en) * | 1996-09-16 | 1998-09-22 | Motorola Inc. | Method and apparatus for selecting a register file in a data processing system |
| US6145049A (en) * | 1997-12-29 | 2000-11-07 | Stmicroelectronics, Inc. | Method and apparatus for providing fast switching between floating point and multimedia instructions using any combination of a first register file set and a second register file set |
| US6154832A (en) * | 1998-12-04 | 2000-11-28 | Advanced Micro Devices, Inc. | Processor employing multiple register sets to eliminate interrupts |
| WO2000079394A1 (en) | 1999-06-21 | 2000-12-28 | Bops Incorporated | Methods and apparatus for providing manifold array (manarray) program context switch with array reconfiguration control |
| 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 |
-
2002
- 2002-05-31 US US10/159,386 patent/US7117346B2/en not_active Expired - Lifetime
-
2003
- 2003-05-07 AU AU2003225300A patent/AU2003225300A1/en not_active Abandoned
- 2003-05-07 CN CNB038126249A patent/CN100472453C/zh not_active Expired - Fee Related
- 2003-05-07 EP EP03722022A patent/EP1573444A2/en not_active Withdrawn
- 2003-05-07 JP JP2004509742A patent/JP4409427B2/ja not_active Expired - Fee Related
- 2003-05-07 KR KR1020047019511A patent/KR100989215B1/ko not_active Expired - Fee Related
- 2003-05-07 WO PCT/US2003/014215 patent/WO2003102723A2/en not_active Ceased
- 2003-05-27 TW TW092114269A patent/TWI323847B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| KR100989215B1 (ko) | 2010-10-20 |
| US20030226001A1 (en) | 2003-12-04 |
| TWI323847B (en) | 2010-04-21 |
| TW200401195A (en) | 2004-01-16 |
| JP2006502470A (ja) | 2006-01-19 |
| AU2003225300A8 (en) | 2003-12-19 |
| CN100472453C (zh) | 2009-03-25 |
| KR20050010508A (ko) | 2005-01-27 |
| WO2003102723A3 (en) | 2006-04-06 |
| WO2003102723A2 (en) | 2003-12-11 |
| AU2003225300A1 (en) | 2003-12-19 |
| CN1856770A (zh) | 2006-11-01 |
| US7117346B2 (en) | 2006-10-03 |
| EP1573444A2 (en) | 2005-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4409427B2 (ja) | 複数のレジスタ・コンテキストを有するデータ処理システムおよび該システムのための方法 | |
| US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
| US7421572B1 (en) | Branch instruction for processor with branching dependent on a specified bit in a register | |
| US8191085B2 (en) | Method and apparatus for loading or storing multiple registers in a data processing system | |
| US5727227A (en) | Interrupt coprocessor configured to process interrupts in a computer system | |
| US7228401B2 (en) | Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor | |
| US5940876A (en) | Stride instruction for fetching data separated by a stride amount | |
| JP2004185637A (ja) | 複数型レジスタ・セットを採用したriscマイクロプロセッサ・アーキテクチャ | |
| KR100465388B1 (ko) | Risc 구조의 8비트 마이크로 제어기 | |
| JP2002024034A (ja) | マイクロプロセッサ割込み制御装置 | |
| JP3773470B2 (ja) | データ処理装置内でのコプロセッサ命令の取り扱い | |
| US7406550B2 (en) | Deterministic microcontroller with configurable input/output interface | |
| CN111984317A (zh) | 用于对存储器中的数据进行寻址的系统和方法 | |
| US5680632A (en) | Method for providing an extensible register in the first and second data processing systems | |
| US7526579B2 (en) | Configurable input/output interface for an application specific product | |
| JP6143841B2 (ja) | コンテキストスイッチを伴うマイクロコントローラ | |
| US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus | |
| TWI339354B (en) | Microcontroller instruction set | |
| US7680967B2 (en) | Configurable application specific standard product with configurable I/O | |
| US5355463A (en) | Circuit configuration for transforming the logical address space of a processor unit to the physical address space of a memory | |
| US11775310B2 (en) | Data processing system having distrubuted registers | |
| WO2006081092A2 (en) | Deterministic microcontroller with configurable input/output interface | |
| HK1120876B (en) | Integrated circuit and method for performing masked store operations in a processor | |
| HK1120876A1 (en) | Integrated circuit and method for performing masked store operations in a processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060426 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060426 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081212 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090210 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090430 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090902 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090909 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090916 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090928 |
|
| 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: 20091020 |
|
| 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: 20091111 |
|
| 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: 20121120 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131120 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |