KR101002911B1 - 멀티스레디드 프로세서에서 고속 크로스-스레드 인터럽트를위한 방법 및 장치 - Google Patents
멀티스레디드 프로세서에서 고속 크로스-스레드 인터럽트를위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101002911B1 KR101002911B1 KR1020057006201A KR20057006201A KR101002911B1 KR 101002911 B1 KR101002911 B1 KR 101002911B1 KR 1020057006201 A KR1020057006201 A KR 1020057006201A KR 20057006201 A KR20057006201 A KR 20057006201A KR 101002911 B1 KR101002911 B1 KR 101002911B1
- Authority
- KR
- South Korea
- Prior art keywords
- thread
- interrupt
- cross
- destination
- request
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 41
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims 4
- 230000015654 memory Effects 0.000 description 31
- 238000013507 mapping Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000009467 reduction 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/46—Multiprogramming arrangements
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/30101—Special purpose registers
-
- 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
Abstract
Description
Claims (20)
- 멀티스레디드 프로세서에서 요청 스레드로부터 목적지 스레드로 향하는 크로스-스레드 인터럽트를 프로세싱하는 방법에 있어서, 상기 크로스-스레드 인터럽트 프로세싱 방법은- 인터럽트 컨트롤러에서, 상기 요청 스레드로부터 상기 목적지 스레드로의 크로스-스레드 인터럽트의 전달에 대한 요청을 수신하는 단계,- 상기 인터럽트 컨트롤러에서, 상기 크로스-스레드 인터럽트의 목적지 스레드가 상기 요청 스레드로부터 크로스-스레드 인터럽트의 수신을 위해 활성화되어 있는지 여부를 판단하는 단계, 그리고- 상기 목적지 스레드가 크로스-스레드 인터럽트의 수신에 대해 활성화된 경우, 상기 인터럽트 컨트롤러가 상기 요청 스레드로부터 상기 목적지 스레드로 크로스-스레드 인터럽트가 전달되도록 제어하는 단계를 포함하되,상기 요청 스레드는 단일 크로스-스레드 인터럽트 레지스터의 제 1 비트를 설정(set)함으로써, 상기 인터럽트 컨트롤러에 상기 목적지 스레드로의 크로스-스레드 인터럽트의 전달을 요청하며,상기 크로스-스레드 인터럽트 레지스터는 상기 요청 스레드와 상기 목적지 스레드를 포함하는 다수의 스레드에 의해 공유되어, 상기 목적지 스레드가 상기 공유되는 크로스-스레드 인터럽트 레지스터의 제 2 비트를 설정(set)함으로써, 상기 인터럽트 컨트롤러에, 상기 목적지 스레드로부터 상기 요청 스레드로의 추가적인 크로스-스레드 인터럽트의 전달을 요청하도록 동작가능한 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 1 항에 있어서, 이때 상기 요청 스레드는 상기 멀티스레디드 프로세서의 플래그 레지스터에서 상응하는 인터럽트 보류 비트를 설정함으로써 상기 목적지 스레드로 상기 크로스-스레드 인터럽트의 전달을 요청하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 2 항에 있어서, 이때 상기 인터럽트 보류 비트는 상기 크로스-스레드 인터럽트가 상기 목적지 스레드로 전달될 때 자동적으로 소거되는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 1 항에 있어서, 이때 상기 목적지 스레드는 상응하는 이네이블 비트가 상기 멀티스레디드 프로세서의 이네이블 레지스터 내에 설정될 때 크로스-스레드 인터럽트의 수신이 가능한 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 4 항에 있어서, 이때 상기 이네이블 비트는 상기 크로스-스레드 인터럽트가 상기 목적지 스레드에 전달될 때 자동적으로 소거됨으로써, 상기 목적지 스레드에 의하여 다중 인터럽트의 동시 수신을 예방하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 5 항에 있어서, 이때 상기 이네이블 비트는 상기 크로스-스레드 인터럽트가 상기 목적지 스레드에 의해 제공될 때 자동적으로 소거되는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 1 항에 있어서, 이때 상기 크로스-스레드 인터럽트에 대한 요청은 수신되고, 상기 크로스-스레드 인터럽트는 상기 멀티스레디드 프로세서의 명령어 실행 사이클보다 작은 지속시간을 갖는 주기 내에서 상기 목적지 스레드로 계속 전달되는것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 삭제
- 제 1 항에 있어서, 이때 상기 인터럽트 컨트롤러는 이네이블 레지스터, 플래그 레지스터 및 로직 회로를 포함하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 9 항에 있어서, 이때 상기 이네이블 레지스터는 N개 이상의 부분을 포함하고, 각 부분은 상기 멀티스레디드 프로세서의 N 개의 스레드 중 하나에 상응하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 10 항에 있어서, 이때 상기 각각의 스레드는 상기 이네이블 레지스터의 상응하는 부분에만 액세스가 허용되고, 다른 스레드에 상응하는 상기 이네이블 레지스터의 N-1 개의 부분에는 액세스가 허용되지 않는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 9 항에 있어서, 이때 상기 플래그 레지스터는 N개 이상의 부분을 포함하고, 각각은 상기 멀티스레디드 프로세서의 N개의 스레드 중 하나에 상응하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 제 12 항에 있어서, 이때 상기 스레드 각각은 상기 플래그 레지스터의 N개의 부분 각각에 액세스가 허용되는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 방법.
- 멀티스레디드 프로세서에서 요청 스레드로부터 목적지 스레드로 향하는 크로스-스레드 인터럽트를 프로세싱하는 장치에 있어서, 상기 크로스-스레드 인터럽트 프로세싱 장치는- 로직 회로를 포함하는 인터럽트 컨트롤러로서, 이때 상기 인터럽트 컨트롤러는 (ⅰ)상기 요청 스레드로부터 상기 크로스-스레드 인터럽트를 상기 목적지 스레드로 전달하기 위한 요청을 수신하고, (ⅱ)상기 크로스-스레드의 목적지 스레드가 상기 요청 스레드로부터 크로스-스레드 인터럽트를 수신하기 위해 활성화되었는지 여부를 결정하며, 그리고 (ⅲ)상기 목적지 스레드가 크로스-스레드 인터럽트를 수신할 수 있는 경우, 상기 요청 스레드로부터 상기 목적지 스레드로 상기 크로스-스레드 인터럽트를 전달하도록 제어하는 상기 인터럽트 컨트롤러를 포함하며,상기 요청 스레드는, 단일 크로스-스레드 인터럽트 레지스터의 제 1 비트를 설정함으로써, 상기 인터럽트 컨트롤러에 목적지 스레드로의 크로스-스레드 인터럽트의 전달을 요청하며,상기 크로스-스레드 인터럽트 레지스터는 요청 스레드와 목적지 스레드를 포함하는 다수의 스레드에 의해 공유되어, 상기 목적지 스레드는 상기 공유되는 크로스-스레드 인터럽트 레지스터의 제 2 비트를 설정함으로써, 상기 인터럽트 컨트롤러에 상기 목적지 스레드로부터 상기 요청 스레드로의 추가적인 크로스-스레드 인터럽트의 전달을 요청할 수 있는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 장치.
- 제 14 항에 있어서, 이때 상기 인터럽트 컨트롤러는 이네이블 레지스터 및 플래그 레지스터를 추가로 포함하고, 이때 상기 요청 스레드는 상기 플래그 레지스터에서 상응하는 인터럽트 보류 비트를 설정함으로써 상기 목적지 스레드로 상기 크로스-스레드 인터럽트의 전달을 요청하며, 상기 목적지 스레드는 만일 상응하는 이네이블 비트가 상기 이네이블 레지스터 내에 설정될 경우 크로스-스레드 인터럽트의 수신이 가능한 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 장치.
- 제 15 항에 있어서, 이때 상기 로직 회로는인터럽트 요청을 처리하기 위한 인터럽트 요청 로직,다수의 로직 게이트로서, 이때 각각의 로직 게이트는 입력으로서, 상기 이네이블 레지스터 및 플래그 레지스터로부터 각각 상응하는 비트를 수신하는 상기 다수의 로직 게이트, 및멀티플렉싱 회로로서, 이때 상기 멀티플렉싱 회로는 상기 스레드 식별기를 바탕으로 상기 크로스-스레드 인터럽트의 생성을 제어함에 있어서, 로직 게이트의 출력들 중에서 하나이상의 출력을 선택하는 상기 멀티플렉싱 회로를 포함하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 장치.
- 제 16 항에 있어서, 이때 상기 로직 회로는 타이머 인터럽트, 명령어 어드레스 인터럽트 및 데이터 어드레스 인터럽트 중 하나이상을 포함하는 인터럽트의 하나이상의 추가 형태에 비해 상기 크로스-스레드 인터럽트를 우선시키는 우선 순위 로직을 추가로 포함하는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 장치.
- 제 17 항에 있어서, 이때 상기 우선순위 로직은 상기 크로스-스레드 인터럽트에 상기 추가 인터럽트 형태보다 높은 우선순위 또는 낮은 우선순위를 제공하도록 구성되는 것을 특징으로 하는 크로스-스레드 인터럽트 프로세싱 장치.
- 멀티스레디드 프로세서에 있어서, 상기 멀티스레디드 프로세서는- 멀티스레디드 프로세서에서 요청 스레드로부터 목적지 스레드로 향하는 크로스-스레드 인터럽트를 처리하기 위한 인터럽트 컨트롤러를 포함하되,상기 인터럽트 컨트롤러는 (ⅰ)상기 요청 스레드로부터, 상기 크로스-스레드 인터럽트를 상기 목적지 스레드로 전달하기 위한 요청을 수신하고, (ⅱ)상기 크로스-스레드의 목적지 스레드가 상기 요청 스레드로부터 크로스-스레드 인터럽트를 수신하도록 활성화되었는지 여부를 결정하며, 그리고 (ⅲ)상기 목적지 스레드가 크로스-스레드 인터럽트의 수신이 가능할 경우, 상기 요청 스레드로부터 상기 목적지 스레드로 상기 크로스-스레드 인터럽트가 전달되도록 제어하고,상기 요청 스레드는, 단일 크로스-스레드 인터럽트 레지스터의 제 1 비트를 설정함으로써, 상기 인터럽트 컨트롤러에 목적지 스레드로의 크로스-스레드 인터럽트의 전달을 요청하며,상기 크로스-스레드 인터럽트 레지스터는 요청 스레드와 목적지 스레드를 포함하는 다수의 스레드에 의해 공유되어, 상기 목적지 스레드가 상기 공유되는 크로스-스레드 인터럽트 레지스터의 제 2 비트를 설정함으로써, 상기 인터럽트 컨트롤러에 상기 목적지 스레드로부터 상기 요청 스레드로의 추가적인 크로스-스레드 인터럽트의 전달을 요청하는 것을 특징으로 하는 멀티스레디드 프로세서.
- 멀티스레디드 프로세서에서 요청 스레드에서 목적지 스레드로 향하는 크로스-스레드 인터럽트를 프로세싱하기 위해 사용되는 프로그램이 기록된 컴퓨터 판독가능형 기록 매체에 있어서, 상기 프로그램은,- 인터럽트 컨트롤러에서, 상기 요청 스레드로부터 상기 목적지 스레드로의 크로스-스레드 인터럽트의 전달에 대한 요청을 수신하는 단계,- 상기 인터럽트 컨트롤러에서, 상기 크로스-스레드 인터럽트의 목적지 스레드가 상기 요청 스레드로부터 상기 크로스-스레드 인터럽트의 수신을 위해 활성화되어 있는가의 여부를 판단하는 단계, 그리고- 상기 목적지 스레드가 크로스-스레드 인터럽트의 수신에 대해 활성화된 경우, 상기 인터럽트 컨트롤러는 상기 요청 스레드로부터 목적지 스레드로 크로스-스레드 인터럽트를 전달하도록 제어하는 단계를 실행하며, 상기 요청 스레드는 단일 크로스-스레드 인터럽트 레지스터의 제 1 비트를 설정함으로써, 상기 인터럽트 컨트롤러에 목적지 스레드로의 크로스-스레드 인터럽트의 전달을 요청하며,상기 크로스-스레드 인터럽트 레지스터는 요청 스레드와 목적지 스레드를 포함하는 다수의 스레드에 의해 공유되어, 상기 목적지 스레드가 상기 공유되는 크로스-스레드 인터럽트 레지스터의 제 2 비트를 설정함으로써, 상기 인터럽트 컨트롤러에 상기 목적지 스레드로부터 상기 요청 스레드로의 추가적인 크로스-스레드 인터럽트의 전달을 요청하는 것을 특징으로 하는 멀티스레디드 프로세서에서 요청 스레드에서 목적지 스레드로 향하는 크로스-스레드 인터럽트를 프로세싱하기 위해 사용되는 프로그램이 기록된 컴퓨터 판독가능형 기록 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41845502P | 2002-10-15 | 2002-10-15 | |
US60/418,455 | 2002-10-15 | ||
US10/404,175 US6971103B2 (en) | 2002-10-15 | 2003-04-01 | Inter-thread communications using shared interrupt register |
US10/404,175 | 2003-04-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050050126A KR20050050126A (ko) | 2005-05-27 |
KR101002911B1 true KR101002911B1 (ko) | 2010-12-20 |
Family
ID=32073254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057006201A KR101002911B1 (ko) | 2002-10-15 | 2003-10-10 | 멀티스레디드 프로세서에서 고속 크로스-스레드 인터럽트를위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6971103B2 (ko) |
EP (2) | EP2306313A1 (ko) |
JP (1) | JP2006503385A (ko) |
KR (1) | KR101002911B1 (ko) |
AU (1) | AU2003284098A1 (ko) |
WO (1) | WO2004036354A2 (ko) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US7437724B2 (en) * | 2002-04-03 | 2008-10-14 | Intel Corporation | Registers for data transfers |
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 |
US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7334086B2 (en) | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US7496915B2 (en) * | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7418585B2 (en) | 2003-08-28 | 2008-08-26 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7870553B2 (en) * | 2003-08-28 | 2011-01-11 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US20050050305A1 (en) * | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US7849297B2 (en) * | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
US9032404B2 (en) * | 2003-08-28 | 2015-05-12 | Mips Technologies, Inc. | Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor |
EP1658563B1 (en) * | 2003-08-28 | 2013-06-05 | MIPS Technologies, Inc. | Apparatus, and method for initiation of concurrent instruction streams in a multithreading microprocessor |
US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
US7711931B2 (en) * | 2003-08-28 | 2010-05-04 | Mips Technologies, Inc. | Synchronized storage providing multiple synchronization semantics |
US7594089B2 (en) * | 2003-08-28 | 2009-09-22 | Mips Technologies, Inc. | Smart memory based synchronization controller for a multi-threaded multiprocessor SoC |
US7836450B2 (en) * | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US20050086667A1 (en) * | 2003-09-30 | 2005-04-21 | Feng Jin | Symmetric Scheduling for parallel execution |
US7222064B1 (en) * | 2003-10-10 | 2007-05-22 | Unisys Corporation | Instruction processor emulation having inter-processor messaging accounting |
WO2005099334A2 (en) * | 2004-03-31 | 2005-10-27 | Intel Corporation | Event handling mechanism |
US8074051B2 (en) | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
JP4501593B2 (ja) * | 2004-08-25 | 2010-07-14 | セイコーエプソン株式会社 | 画像処理を並列処理で実行する際の負荷の割り付け |
JP4556554B2 (ja) * | 2004-08-25 | 2010-10-06 | セイコーエプソン株式会社 | 画像処理を並列処理で実行する際の負荷の割り付け |
TW200625097A (en) * | 2004-11-17 | 2006-07-16 | Sandbridge Technologies Inc | Data file storing multiple date types with controlled data access |
US7631130B2 (en) * | 2005-02-04 | 2009-12-08 | Mips Technologies, Inc | Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor |
US7681014B2 (en) | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US7490230B2 (en) | 2005-02-04 | 2009-02-10 | Mips Technologies, Inc. | Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor |
US7657883B2 (en) * | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor |
US7984281B2 (en) * | 2005-10-18 | 2011-07-19 | Qualcomm Incorporated | Shared interrupt controller for a multi-threaded processor |
US7702889B2 (en) * | 2005-10-18 | 2010-04-20 | Qualcomm Incorporated | Shared interrupt control method and system for a digital signal processor |
US7971205B2 (en) | 2005-12-01 | 2011-06-28 | International Business Machines Corporation | Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status |
EP2069947A4 (en) * | 2006-09-26 | 2013-10-09 | Qualcomm Inc | APPLICATION OF MATRIX INVERSION SOFTWARE IN A WIRELESS COMMUNICATION SYSTEM |
KR101545357B1 (ko) * | 2006-11-10 | 2015-08-18 | 퀄컴 인코포레이티드 | 파이프라인 컴퓨터 처리의 병렬화를 위한 방법 및 시스템 |
US7797514B2 (en) * | 2006-11-16 | 2010-09-14 | Texas Instruments Incorporated | Scalable multi-threaded sequencing/synchronizing processor architecture |
US8181185B2 (en) * | 2007-05-31 | 2012-05-15 | Intel Corporation | Filtering of performance monitoring information |
US8190864B1 (en) * | 2007-10-25 | 2012-05-29 | Oracle America, Inc. | APIC implementation for a highly-threaded x86 processor |
WO2009061547A1 (en) * | 2007-11-05 | 2009-05-14 | Sandbridge Technologies, Inc. | Method of encoding register instruction fields |
US8539188B2 (en) * | 2008-01-30 | 2013-09-17 | Qualcomm Incorporated | Method for enabling multi-processor synchronization |
US7657683B2 (en) * | 2008-02-01 | 2010-02-02 | Redpine Signals, Inc. | Cross-thread interrupt controller for a multi-thread processor |
KR20100133964A (ko) * | 2008-03-13 | 2010-12-22 | 아스펜 액퀴지션 코포레이션 | 유효 어레이를 비활성화함으로써 전력을 절약하기 위한 방법 |
EP2271992B1 (en) * | 2008-04-28 | 2013-04-03 | Hewlett-Packard Development Company, L. P. | Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems |
WO2010017263A1 (en) | 2008-08-06 | 2010-02-11 | Sandbridge Technologies, Inc. | Haltable and restartable dma engine |
ATE542177T1 (de) * | 2008-08-19 | 2012-02-15 | St Microelectronics Rousset | Weiterleitungsverfahren eines unterbrechungssignals direkt an eine virtuelle bearbeitungseinheit in einem system mit einer oder mehreren physischen bearbeitungseinheiten |
JP5173714B2 (ja) * | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びその割り込み処理方法 |
JP5225010B2 (ja) * | 2008-10-14 | 2013-07-03 | キヤノン株式会社 | プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。 |
US9026705B2 (en) * | 2012-08-09 | 2015-05-05 | Oracle International Corporation | Interrupt processing unit for preventing interrupt loss |
US10248463B2 (en) * | 2015-02-13 | 2019-04-02 | Honeywell International Inc. | Apparatus and method for managing a plurality of threads in an operating system |
US10069949B2 (en) | 2016-10-14 | 2018-09-04 | Honeywell International Inc. | System and method for enabling detection of messages having previously transited network devices in support of loop detection |
WO2019005860A1 (en) * | 2017-06-28 | 2019-01-03 | Apple Inc. | PROGRAMMING |
US10810086B2 (en) | 2017-10-19 | 2020-10-20 | Honeywell International Inc. | System and method for emulation of enhanced application module redundancy (EAM-R) |
US10783026B2 (en) | 2018-02-15 | 2020-09-22 | Honeywell International Inc. | Apparatus and method for detecting network problems on redundant token bus control network using traffic sensor |
CN117171102B (zh) * | 2023-09-07 | 2024-01-26 | 山东九州信泰信息科技股份有限公司 | 一种多线程无锁高速写文件的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103847A1 (en) * | 2001-02-01 | 2002-08-01 | Hanan Potash | Efficient mechanism for inter-thread communication within a multi-threaded computer system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694603A (en) * | 1982-09-28 | 1997-12-02 | Reiffin; Martin G. | Computer memory product with preemptive multithreading software |
US4980824A (en) * | 1986-10-29 | 1990-12-25 | United Technologies Corporation | Event driven executive |
US5524250A (en) * | 1991-08-23 | 1996-06-04 | Silicon Graphics, Inc. | Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers |
US6243735B1 (en) * | 1997-09-01 | 2001-06-05 | Matsushita Electric Industrial Co., Ltd. | Microcontroller, data processing system and task switching control method |
US6697935B1 (en) * | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6061710A (en) * | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
US6430593B1 (en) * | 1998-03-10 | 2002-08-06 | Motorola Inc. | Method, device and article of manufacture for efficient task scheduling in a multi-tasking preemptive priority-based real-time operating system |
AU3882000A (en) * | 1999-05-14 | 2000-12-05 | Clearwater Networks, Inc. | Interrupt and exception handling for multi-streaming digital processors |
US6687818B1 (en) * | 1999-07-28 | 2004-02-03 | Unisys Corporation | Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system |
US6754690B2 (en) * | 1999-09-16 | 2004-06-22 | Honeywell, Inc. | Method for time partitioned application scheduling in a computer operating system |
US6496925B1 (en) * | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US20010052053A1 (en) * | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
US6785887B2 (en) * | 2000-12-27 | 2004-08-31 | International Business Machines Corporation | Technique for using shared resources on a multi-threaded processor |
US20020144004A1 (en) * | 2001-03-29 | 2002-10-03 | Gaur Daniel R. | Driver having multiple deferred procedure calls for interrupt processing and method for interrupt processing |
-
2003
- 2003-04-01 US US10/404,175 patent/US6971103B2/en not_active Expired - Lifetime
- 2003-10-10 EP EP10010949A patent/EP2306313A1/en not_active Ceased
- 2003-10-10 AU AU2003284098A patent/AU2003284098A1/en not_active Abandoned
- 2003-10-10 JP JP2005501397A patent/JP2006503385A/ja not_active Withdrawn
- 2003-10-10 EP EP03776329A patent/EP1554651A4/en not_active Ceased
- 2003-10-10 WO PCT/US2003/032322 patent/WO2004036354A2/en active Application Filing
- 2003-10-10 KR KR1020057006201A patent/KR101002911B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103847A1 (en) * | 2001-02-01 | 2002-08-01 | Hanan Potash | Efficient mechanism for inter-thread communication within a multi-threaded computer system |
Also Published As
Publication number | Publication date |
---|---|
EP1554651A4 (en) | 2007-10-31 |
JP2006503385A (ja) | 2006-01-26 |
WO2004036354A2 (en) | 2004-04-29 |
AU2003284098A8 (en) | 2004-05-04 |
US6971103B2 (en) | 2005-11-29 |
AU2003284098A1 (en) | 2004-05-04 |
EP2306313A1 (en) | 2011-04-06 |
WO2004036354A3 (en) | 2004-11-18 |
KR20050050126A (ko) | 2005-05-27 |
EP1554651A2 (en) | 2005-07-20 |
US20040073910A1 (en) | 2004-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101002911B1 (ko) | 멀티스레디드 프로세서에서 고속 크로스-스레드 인터럽트를위한 방법 및 장치 | |
US6105051A (en) | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor | |
US7350006B2 (en) | System and method of interrupt handling | |
US6697935B1 (en) | Method and apparatus for selecting thread switch events in a multithreaded processor | |
US6567839B1 (en) | Thread switch control in a multithreaded processor system | |
EP1550089B1 (en) | Method and apparatus for token triggered multithreading | |
US6925643B2 (en) | Method and apparatus for thread-based memory access in a multithreaded processor | |
JP4179555B2 (ja) | マルチスレッド・プロセッサにおいてスレッドの優先度を調整するための装置および方法 | |
KR100936601B1 (ko) | 멀티 프로세서 시스템 | |
US5005121A (en) | Integrated CPU and DMA with shared executing unit | |
US20050108711A1 (en) | Machine instruction for enhanced control of multiple virtual processor systems | |
JP2005502119A (ja) | 複数スレッドの同時実行に対応するコンピュータシステムにおける割込み処理の方法 | |
KR19980079506A (ko) | 멀티스레드 프로세서에서 스레드 스위치 대기 시간을 감소시키기 위한 방법 및 장치 | |
US6963962B2 (en) | Memory system for supporting multiple parallel accesses at very high frequencies | |
WO1994027216A1 (en) | Multiprocessor coupling system with integrated compile and run time scheduling for parallelism | |
JPH02236735A (ja) | データ処理方法及び装置 | |
JP4057911B2 (ja) | 予め格納されるベクトルの割込処理システムおよび方法 | |
JP3797570B2 (ja) | セマフォ命令用のセマフォ・バッファを用いた装置と方法 | |
US5897654A (en) | Method and system for efficiently fetching from cache during a cache fill operation | |
US7437535B1 (en) | Method and apparatus for issuing a command to store an instruction and load resultant data in a microcontroller | |
JP4088763B2 (ja) | コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法 | |
GB2372348A (en) | A multi-mode, multi-tasking processor with reduction in context preservation and restoration to save processing time | |
US20220309026A1 (en) | Processor for processing external service requests using a symmetrical network interface | |
JPH0340169A (ja) | 多重プロセツサシステムおよび複数の処理装置を制御する方法 | |
JPH10240702A (ja) | 並列処理プロセッサおよびその処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
N234 | Change of applicant [patent]: notification of change of applicant and registration of full transfer of right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150930 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161125 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 10 |