RU2004123622A - Способ и устройство для приостановки исполнения потока до момента осуществления определенного доступа к памяти - Google Patents
Способ и устройство для приостановки исполнения потока до момента осуществления определенного доступа к памяти Download PDFInfo
- Publication number
- RU2004123622A RU2004123622A RU2004123622/09A RU2004123622A RU2004123622A RU 2004123622 A RU2004123622 A RU 2004123622A RU 2004123622/09 A RU2004123622/09 A RU 2004123622/09A RU 2004123622 A RU2004123622 A RU 2004123622A RU 2004123622 A RU2004123622 A RU 2004123622A
- Authority
- RU
- Russia
- Prior art keywords
- address
- processor
- command
- thread
- response
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims 12
- 230000004044 response Effects 0.000 claims 19
- 238000012544 monitoring process Methods 0.000 claims 6
- 239000000872 buffer Substances 0.000 claims 3
- 230000001419 dependent effect Effects 0.000 claims 3
- 239000000725 suspension Substances 0.000 claims 3
- 238000001514 detection method Methods 0.000 claims 2
- 238000005192 partition Methods 0.000 claims 1
- 230000011664 signaling Effects 0.000 claims 1
- 238000000638 solvent extraction Methods 0.000 claims 1
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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
- Debugging And Monitoring (AREA)
Claims (45)
1. Процессор, содержащий: множество исполняющих устройств для исполнения множества потоков, включая первый поток, имеющий первую команду, имеющую ассоциированный с ней адресный операнд, указывающий отслеживаемый адрес; средства приостановки для приостановки исполнения упомянутого первого потока; средство мониторинга, предназначенное для того, чтобы вызвать возобновление первого потока в качестве реакции на доступ к памяти по отслеживаемому адресу.
2. Процессор по п.1, в котором средство мониторинга вызывает возобновление в качестве реакции на доступ к памяти, только если доступ к памяти указывает на фактическую или потенциальную операцию записи по отслеживаемому адресу.
3. Процессор по п.1 или 2, в котором средство мониторинга вызывает возобновление первого потока в качестве реакции на доступ к памяти, если первый поток приостановлен и отслеживаемые события немаскированы.
4. Процессор по п.1, дополнительно содержащий логические средства обнаружения событий, предназначенные для того, чтобы вызвать возобновление первого потока в качестве реакции на событие, отличное от упомянутого доступа к памяти.
5. Процессор по п.4, в котором упомянутое событие представляет собой прерывание или нарушение.
6. Процессор по п.1, в котором упомянутый ассоциированный адресный операнд есть неявный операнд.
7. Процессор по п.6, в котором упомянутый ассоциированный адресный операнд хранится в заранее определенном регистре.
8. Процессор по п.1, в котором упомянутые средства приостановки приостанавливают исполнение первого потока в качестве реакции на вторую команду, при этом первая команда активирует средство мониторинга, и вторая команда демаскирует события, о которых просигнализировало средство мониторинга.
9. Процессор по п.8, в котором упомянутая вторая команда только запускает монитор, если была выполнена первая команда.
10. Процессор по п.1, в котором средства приостановки приостанавливают исполнение упомянутого первого потока в качестве реакции на первую команду.
11. Процессор по п.1, дополнительно содержащий средства когерентности для улучшения возможности наблюдения за операциями сохранения по упомянутому отслеживаемому адресу.
12. Процессор по п.1, дополнительно содержащий средства когерентности для гарантирования того, что никакой кэш в пределах домена когерентности не хранит информацию по упомянутому отслеживаемому адресу в модифицированном или исключительном состоянии.
13. Процессор по п.11 или 12, в котором упомянутые средства когерентности вычищают строку кэша, связанную с упомянутым отслеживаемым адресом, из всех внутренних кэшей и генерируют транзакцию шины, соответствующую считыванию строки, в отношении строки кэша, связанной с упомянутым отслеживаемым адресом, к другим процессорам, подключенным к данному процессору.
14. Процессор по п.13, в котором средства когерентности вызывают генерирование процессором цикла шины для предотвращения исполнения транзакции записи по упомянутому отслеживаемому адресу любыми другими абонентами шины без широковещания о транзакции записи.
15. Процессор по п.13, дополнительно содержащий средства для формирования сигнала обращения в качестве реакции на считывание информации другим абонентом шины по упомянутому отслеживаемому адресу.
16. Процессор по п.15, в котором упомянутые средства для формирования сигнала обращения формируют сигнал обращения во время фазы слежения в отношении транзакции шины, которая включает в себя отслеживаемый адрес.
17. Процессор по п.16, дополнительно содержащий логические средства трансляции адресов для трансляции упомянутого ассоциированного адресного операнда в отслеживаемый адрес, который представляет собой физический адрес.
18. Процессор по п.17, в котором отслеживаемый адрес выбран из набора, состоящего из физического адреса, виртуального адреса, относительного адреса и линейного адреса.
19. Процессор по п.1, дополнительно содержащий множество разделяемых ресурсов, подлежащих разбиению на разделы таким образом, чтобы выделить часть каждого разделяемого ресурса каждому активному потоку из упомянутого множества потоков, когда несколько потоков активны, при этом упомянутые средства приостановки освобождают любой из упомянутого множества разделов, выделенных для первого потока, в качестве реакции на приостановку выполнения упомянутого первого потока.
20. Процессор по п.19, в котором средство мониторинга вызывает повторное разбиение на разделы упомянутого множества разделяемых ресурсов, чтобы приспособиться к исполнению первого потока, в качестве реакции на доступ к памяти по отслеживаемому адресу.
21. Процессор по п.20, в котором множество разделяемых ресурсов содержит: очередь команд; буфер переупорядочения; пул регистров; множество буферов сохранения.
22. Процессор по п.21, дополнительно содержащий множество дублированных ресурсов, причем упомянутое множество дублированных ресурсов дублируется для каждого из множества потоков и упомянутое множество дублированных ресурсов содержит: множество переменных состояния процессора; указатель команды; логические средства переименования регистров.
23. Процессор по п.22, дополнительно содержащий: множество совместно используемых ресурсов, которое доступно для использования любым из упомянутого множества потоков, причем упомянутое множество совместно используемых ресурсов включает в себя: множество исполняющих средств; кэш; планировщик.
24. Система для обработки машинных команд, содержащая: процессор по любому из пп.1-23; память для хранения команд для упомянутого множества потоков.
25. Система по п.24, дополнительно содержащая: многопоточную операционную систему; интерфейс мультимедиа.
26. Процессор, содержащий: препроцессор для приема первой команды и второй команды, причем первая команда имеет операнд, указывающий отслеживаемый адрес; множество ресурсов исполнения для выполнения первой команды и второй команды и для входа в зависящее от реализации состояние в качестве реакции на вторую команду, если первая команда была выполнена; монитор, предназначенный для того, чтобы вызвать выход из зависящего от реализации состояния в качестве реакции на доступ к памяти по отслеживаемому адресу.
27. Процессор по п.26, в котором множество ресурсов исполнения входит в зависящее от реализации состояние в качестве реакции на вторую команду, если первая команда была выполнена и не произошло событий принудительного останова после выполнения первой команды, но перед выполнением второй команды.
28. Процессор по п.26 или 27, в котором упомянутый операнд представляет собой неявный операнд из заранее определенного регистра, указывающий линейный адрес, при этом процессор дополнительно содержит логические средства трансляции адресов для трансляции упомянутого линейного адреса с целью получения отслеживаемого адреса, который представляет собой физический адрес.
29. Процессор по п.26, дополнительно содержащий логические средства когерентности, предназначенные для гарантирования того, что никакой кэш в другом процессоре, подключенном к процессору, не хранит информацию по упомянутому отслеживаемому адресу в модифицированном или исключительном состоянии.
30. Процессор по п.29, дополнительно содержащий средства для формирования сигнала обращения в качестве реакции на слежение со стороны за отслеживаемым адресом другого процессора.
31. Процессор по п.26, в котором первая команда и вторая команда представляют собой команды из первого потока множества потоков, и упомянутое зависящее от реализации состояние включает в себя состояние без разбиения на разделы, в котором разбитые на разделы ресурсы для первого потока освобождены.
32. Процессор, содержащий: множество разделяемых между потоками ресурсов для приема команд; множество совместно используемых ресурсов для выполнения команды совместно с упомянутым множеством разделяемых между потоками ресурсов; логические средства приостановки потока для приостановки первого потока в качестве реакции на команду в первом потоке, причем упомянутые логические средства приостановки потока освобождают разделы упомянутого множества разделяемых между потоками ресурсов, связанные с первым потоком, в дополнение к приостановке первого потока; монитор, предназначенный для того, чтобы вызвать выполнение процессором повторного разбиения множества разделяемых между потоками ресурсов на разделы и возобновления выполнения первого потока в качестве реакции на доступ к адресу памяти, указанному первым потоком.
33. Процессор по п.32, в котором доступ к адресу памяти задан первой командой, выполняемой в упомянутом первом потоке, и монитор демаскирован для сигнализации об отслеживаемых событиях, чтобы вызвать возобновление потока командой, в качестве реакции на которую логические средства приостановки потока приостанавливают первый поток.
34. Процессор по пп.32 или 33, в котором множество разделяемых ресурсов включает в себя: очередь команд; буфер переупорядочения; пул регистров; множество регистров сохранения, причем упомянутый процессор дополнительно содержит: множество дублированных ресурсов, причем упомянутое множество дублированных ресурсов дублируется для каждого из упомянутого множества потоков, при этом упомянутое множество дублированных ресурсов содержит: множество переменных состояния процессора; указатель команды; логические средства переименования регистров.
35. Способ обработки машинных команд, содержащий этапы, на которых: принимают первый код операции в первом потоке исполнения, причем упомянутый первый код операции имеет ассоциированный с ним адресный операнд, указывающий отслеживаемый адрес; приостанавливают упомянутый первый поток; обнаруживают доступ к памяти по отслеживаемому адресу; возобновляют упомянутый первый поток в качестве реакции на обнаружение доступа к памяти по отслеживаемому адресу.
36. Способ по п.35, в котором этап приостановки первого потока включает в себя этапы, на которых: принимают вторую команду в первом потоке; приостанавливают первый поток в качестве реакции на вторую команду.
37. Способ по п.35 или 36, в котором доступ к памяти представляет собой доступ для записи.
38. Способ по п.37, дополнительно содержащий этапы, на которых транслируют упомянутый ассоциированный адресный операнд в отслеживаемый физический адрес, причем этап обнаружения доступа к памяти по отслеживаемому адресу включает в себя этап, на котором обнаруживают доступ для записи по отслеживаемому физическому адресу.
39. Способ по п.38, дополнительно содержащий этап, на котором предотвращают получение другими абонентами монопольного использования информации, хранящейся по отслеживаемому адресу.
40. Способ по п.35, в котором этап обнаружения включает в себя этапы, на которых: принимают информацию цикла из внешней транзакции шины; обнаруживают операции записи по отслеживаемому адресу.
41. Способ по п.35, дополнительно содержащий этап, на котором возобновляют упомянутый первый поток в качестве реакции на событие, отличающееся от доступа к памяти по отслеживаемому адресу.
42. Способ по п.41, в котором упомянутое событие представляет собой прерывание.
43. Способ по п.42, в котором упомянутое прерывание представляет собой маскированное прерывание, что указано вторым операндом, которое тем не менее должно рассматриваться как событие принудительного останова.
44. Способ по п.35, дополнительно содержащий этап, на котором транслируют линейный адрес, ассоциированный с первым кодом операции, в физический адрес.
45. Способ по п.44, дополнительно содержащий этап, на котором сигнализируют об обращении, если другой абонент шины считывает по упомянутому физическому адресу.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/039,579 US7363474B2 (en) | 2001-12-31 | 2001-12-31 | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
US10/039,579 | 2001-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2004123622A true RU2004123622A (ru) | 2005-03-27 |
RU2308754C2 RU2308754C2 (ru) | 2007-10-20 |
Family
ID=21906217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004123622/09A RU2308754C2 (ru) | 2001-12-31 | 2002-12-11 | Способ и устройство для приостановки исполнения потока до момента осуществления определенного доступа к памяти |
Country Status (11)
Country | Link |
---|---|
US (2) | US7363474B2 (ru) |
JP (2) | JP4601958B2 (ru) |
KR (1) | KR100814993B1 (ru) |
CN (1) | CN100383740C (ru) |
AU (1) | AU2002364557A1 (ru) |
DE (2) | DE10297596B4 (ru) |
GB (1) | GB2400947B (ru) |
HK (1) | HK1066883A1 (ru) |
RU (1) | RU2308754C2 (ru) |
TW (2) | TWI322959B (ru) |
WO (1) | WO2003058447A2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239657B2 (en) | 2007-02-07 | 2012-08-07 | Qualcomm Incorporated | Address translation method and apparatus |
Families Citing this family (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127561B2 (en) * | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
US7653912B2 (en) * | 2003-05-30 | 2010-01-26 | Steven Frank | Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations |
US7213093B2 (en) * | 2003-06-27 | 2007-05-01 | Intel Corporation | Queued locks using monitor-memory wait |
US8984199B2 (en) * | 2003-07-31 | 2015-03-17 | Intel Corporation | Inter-processor interrupts |
US20050108711A1 (en) * | 2003-11-13 | 2005-05-19 | Infineon Technologies North America Corporation | Machine instruction for enhanced control of multiple virtual processor systems |
US7310722B2 (en) * | 2003-12-18 | 2007-12-18 | Nvidia Corporation | Across-thread out of order instruction dispatch in a multithreaded graphics processor |
US7490218B2 (en) * | 2004-01-22 | 2009-02-10 | University Of Washington | Building a wavecache |
US7657882B2 (en) | 2004-01-22 | 2010-02-02 | University Of Washington | Wavescalar architecture having a wave order memory |
US7770179B1 (en) * | 2004-01-30 | 2010-08-03 | Xilinx, Inc. | Method and apparatus for multithreading on a programmable logic device |
US7823162B1 (en) | 2004-01-30 | 2010-10-26 | Xilinx, Inc. | Thread circuits and a broadcast channel in programmable logic |
US7552042B1 (en) | 2004-01-30 | 2009-06-23 | Xilinx, Inc. | Method for message processing on a programmable logic device |
US8984517B2 (en) * | 2004-02-04 | 2015-03-17 | Intel Corporation | Sharing idled processor execution resources |
US7581214B2 (en) * | 2004-04-15 | 2009-08-25 | Intel Corporation | Live set transmission in pipelining applications |
JP4376692B2 (ja) * | 2004-04-30 | 2009-12-02 | 富士通株式会社 | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
US8607241B2 (en) * | 2004-06-30 | 2013-12-10 | Intel Corporation | Compare and exchange operation using sleep-wakeup mechanism |
US8074030B1 (en) | 2004-07-20 | 2011-12-06 | Oracle America, Inc. | Using transactional memory with early release to implement non-blocking dynamic-sized data structure |
US7206903B1 (en) * | 2004-07-20 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for releasing memory locations during transactional execution |
US7703098B1 (en) | 2004-07-20 | 2010-04-20 | Sun Microsystems, Inc. | Technique to allow a first transaction to wait on condition that affects its working set |
KR101051703B1 (ko) | 2004-08-09 | 2011-07-25 | 삼성전자주식회사 | 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템 |
US7434009B2 (en) * | 2004-09-30 | 2008-10-07 | Freescale Semiconductor, Inc. | Apparatus and method for providing information to a cache module using fetch bursts |
US7257679B2 (en) * | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Sharing monitored cache lines across multiple cores |
US7313673B2 (en) * | 2005-06-16 | 2007-12-25 | International Business Machines Corporation | Fine grained multi-thread dispatch block mechanism |
US9003421B2 (en) * | 2005-11-28 | 2015-04-07 | Intel Corporation | Acceleration threads on idle OS-visible thread execution units |
KR100763200B1 (ko) | 2006-02-24 | 2007-10-04 | 삼성전자주식회사 | 인터럽트 가능한 스레드 동기화 방법 및 장치 |
KR100771877B1 (ko) | 2006-07-21 | 2007-11-01 | 삼성전자주식회사 | 오동작 방지용 커맨드 세트 프로토콜 처리 방법 및 장치 |
US20080022079A1 (en) * | 2006-07-24 | 2008-01-24 | Archer Charles J | Executing an allgather operation with an alltoallv operation in a parallel computer |
US8443341B2 (en) * | 2006-11-09 | 2013-05-14 | Rogue Wave Software, Inc. | System for and method of capturing application characteristics data from a computer system and modeling target system |
US8898438B2 (en) * | 2007-03-14 | 2014-11-25 | XMOS Ltd. | Processor architecture for use in scheduling threads in response to communication activity |
US7937532B2 (en) * | 2007-03-30 | 2011-05-03 | Intel Corporation | Method and apparatus for speculative prefetching in a multi-processor/multi-core message-passing machine |
JP4420055B2 (ja) | 2007-04-18 | 2010-02-24 | 日本電気株式会社 | マルチスレッドプロセッサ及びそれに用いるスレッド間同期操作方法 |
US8161480B2 (en) | 2007-05-29 | 2012-04-17 | International Business Machines Corporation | Performing an allreduce operation using shared memory |
KR101109029B1 (ko) * | 2007-06-20 | 2012-01-31 | 후지쯔 가부시끼가이샤 | 연산 장치 |
US20090006663A1 (en) * | 2007-06-27 | 2009-01-01 | Archer Charles J | Direct Memory Access ('DMA') Engine Assisted Local Reduction |
JP2009110209A (ja) * | 2007-10-29 | 2009-05-21 | Panasonic Corp | 演算処理装置、プロセッサ、プログラム変換装置およびプログラム |
US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
US8127080B2 (en) | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8225120B2 (en) * | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
US8316218B2 (en) | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
US8171476B2 (en) * | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
US8312458B2 (en) * | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
US8516484B2 (en) * | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
US8145849B2 (en) | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
US8422402B2 (en) | 2008-04-01 | 2013-04-16 | International Business Machines Corporation | Broadcasting a message in a parallel computer |
US8281053B2 (en) | 2008-07-21 | 2012-10-02 | International Business Machines Corporation | Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations |
CN101788922B (zh) * | 2009-01-22 | 2013-12-25 | 国际商业机器公司 | 基于辅助线程实现事务存储系统的方法和装置 |
KR101581311B1 (ko) * | 2009-03-11 | 2015-12-31 | 삼성전자주식회사 | 플래시 메모리 장치 및 그 제어 방법 |
US8886919B2 (en) | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
US8230201B2 (en) * | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
US8082315B2 (en) * | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
US8156275B2 (en) | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US8364862B2 (en) * | 2009-06-11 | 2013-01-29 | Intel Corporation | Delegating a poll operation to another device |
WO2010151267A1 (en) * | 2009-06-26 | 2010-12-29 | Intel Corporation | Optimizations for an unbounded transactional memory (utm) system |
EP2284693A1 (en) * | 2009-08-03 | 2011-02-16 | C.R.F. Società Consortile per Azioni | Wait instruction |
US8695002B2 (en) * | 2009-10-20 | 2014-04-08 | Lantiq Deutschland Gmbh | Multi-threaded processors and multi-processor systems comprising shared resources |
US8447960B2 (en) * | 2010-01-08 | 2013-05-21 | International Business Machines Corporation | Pausing and activating thread state upon pin assertion by external logic monitoring polling loop exit time condition |
US20110173420A1 (en) * | 2010-01-08 | 2011-07-14 | International Business Machines Corporation | Processor resume unit |
US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
US9424087B2 (en) | 2010-04-29 | 2016-08-23 | International Business Machines Corporation | Optimizing collective operations |
US8949577B2 (en) | 2010-05-28 | 2015-02-03 | International Business Machines Corporation | Performing a deterministic reduction operation in a parallel computer |
CN102483708B (zh) * | 2010-07-07 | 2016-01-20 | 松下电器产业株式会社 | 处理器 |
US8776081B2 (en) | 2010-09-14 | 2014-07-08 | International Business Machines Corporation | Send-side matching of data communications messages |
US8566841B2 (en) | 2010-11-10 | 2013-10-22 | International Business Machines Corporation | Processing communications events in parallel active messaging interface by awakening thread from wait state |
US8713362B2 (en) | 2010-12-01 | 2014-04-29 | International Business Machines Corporation | Obviation of recovery of data store consistency for application I/O errors |
US8694821B2 (en) * | 2010-12-03 | 2014-04-08 | International Business Machines Corporation | Generation of standby images of applications |
CN102736945B (zh) * | 2011-03-31 | 2016-05-18 | 国际商业机器公司 | 一种运行应用程序的多个实例的方法和系统 |
CN102760176B (zh) * | 2011-04-29 | 2015-02-11 | 无锡江南计算技术研究所 | 硬件事务级仿真方法、引擎及系统 |
US8893083B2 (en) | 2011-08-09 | 2014-11-18 | International Business Machines Coporation | Collective operation protocol selection in a parallel computer |
US8910178B2 (en) | 2011-08-10 | 2014-12-09 | International Business Machines Corporation | Performing a global barrier operation in a parallel computer |
US8667501B2 (en) | 2011-08-10 | 2014-03-04 | International Business Machines Corporation | Performing a local barrier operation |
US8868843B2 (en) | 2011-11-30 | 2014-10-21 | Advanced Micro Devices, Inc. | Hardware filter for tracking block presence in large caches |
US9798548B2 (en) * | 2011-12-21 | 2017-10-24 | Nvidia Corporation | Methods and apparatus for scheduling instructions using pre-decode data |
WO2013095570A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Instruction that specifies an application thread performance state |
JP5819184B2 (ja) | 2011-12-28 | 2015-11-18 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
WO2013101188A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Memory event notification |
US8706847B2 (en) | 2012-02-09 | 2014-04-22 | International Business Machines Corporation | Initiating a collective operation in a parallel computer |
US9495135B2 (en) | 2012-02-09 | 2016-11-15 | International Business Machines Corporation | Developing collective operations for a parallel computer |
CN104205042B (zh) | 2012-03-30 | 2019-01-08 | 英特尔公司 | 用于具有通用cpu核心和紧密耦合的加速器的处理核心的上下文切换机制 |
US9218288B2 (en) | 2012-06-15 | 2015-12-22 | International Business Machines Corporation | Monitoring a value in storage without repeated storage access |
US9256455B2 (en) * | 2012-11-20 | 2016-02-09 | Red Hat Isreal, Ltd. | Delivery of events from a virtual machine to host CPU using memory monitoring instructions |
US9563425B2 (en) * | 2012-11-28 | 2017-02-07 | Intel Corporation | Instruction and logic to provide pushing buffer copy and store functionality |
US9141454B2 (en) * | 2012-12-27 | 2015-09-22 | Intel Corporation | Signaling software recoverable errors |
US10705961B2 (en) | 2013-09-27 | 2020-07-07 | Intel Corporation | Scalably mechanism to implement an instruction that monitors for writes to an address |
US9250935B2 (en) * | 2013-11-25 | 2016-02-02 | Marvell World Trade Ltd. | Systems and methods for loop suspension in java programming |
US9218185B2 (en) | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
US9552033B2 (en) * | 2014-04-22 | 2017-01-24 | Qualcomm Incorporated | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems |
US9778949B2 (en) * | 2014-05-05 | 2017-10-03 | Google Inc. | Thread waiting in a multithreaded processor architecture |
US9256477B2 (en) * | 2014-05-29 | 2016-02-09 | Netapp, Inc. | Lockless waterfall thread communication |
US9477521B2 (en) | 2014-05-29 | 2016-10-25 | Netapp, Inc. | Method and system for scheduling repetitive tasks in O(1) |
US9304702B2 (en) | 2014-05-29 | 2016-04-05 | Netapp, Inc. | System and method for parallelized performance data collection in a computing system |
GB2529899B (en) * | 2014-09-08 | 2021-06-23 | Advanced Risc Mach Ltd | Shared Resources in a Data Processing Apparatus for Executing a Plurality of Threads |
JP6227151B2 (ja) * | 2014-10-03 | 2017-11-08 | インテル・コーポレーション | アドレスへの書き込みに対する監視命令を実行するスケーラブル機構 |
US9575802B2 (en) | 2014-10-28 | 2017-02-21 | International Business Machines Corporation | Controlling execution of threads in a multi-threaded processor |
US11080064B2 (en) | 2014-10-28 | 2021-08-03 | International Business Machines Corporation | Instructions controlling access to shared registers of a multi-threaded processor |
CN107111523B (zh) * | 2014-11-11 | 2020-10-20 | 瑞萨电子株式会社 | 命令执行控制系统和命令执行控制方法 |
WO2016088220A1 (ja) * | 2014-12-03 | 2016-06-09 | 株式会社日立製作所 | 計算機及び論理プロセッサの制御方法 |
CN105843592A (zh) * | 2015-01-12 | 2016-08-10 | 芋头科技(杭州)有限公司 | 一种在预设嵌入式系统中实现脚本操作的系统 |
GB2537115B (en) * | 2015-04-02 | 2021-08-25 | Advanced Risc Mach Ltd | Event monitoring in a multi-threaded data processing apparatus |
US10908909B2 (en) | 2015-06-09 | 2021-02-02 | Optimum Semiconductor Technologies Inc. | Processor with mode support |
KR102476357B1 (ko) | 2015-08-06 | 2022-12-09 | 삼성전자주식회사 | 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법 |
US9916178B2 (en) * | 2015-09-25 | 2018-03-13 | Intel Corporation | Technologies for integrated thread scheduling |
GB2544994A (en) * | 2015-12-02 | 2017-06-07 | Swarm64 As | Data processing |
CN105677487B (zh) * | 2016-01-12 | 2019-02-15 | 浪潮通用软件有限公司 | 一种控制资源占用的方法及装置 |
US11023233B2 (en) | 2016-02-09 | 2021-06-01 | Intel Corporation | Methods, apparatus, and instructions for user level thread suspension |
US11061730B2 (en) * | 2016-11-18 | 2021-07-13 | Red Hat Israel, Ltd. | Efficient scheduling for hyper-threaded CPUs using memory monitoring |
CN108255587B (zh) * | 2016-12-29 | 2021-08-24 | 展讯通信(上海)有限公司 | 一种同步多线程处理器 |
US10353817B2 (en) * | 2017-03-07 | 2019-07-16 | International Business Machines Corporation | Cache miss thread balancing |
US10275254B2 (en) | 2017-03-08 | 2019-04-30 | International Business Machines Corporation | Spin loop delay instruction |
TWI648620B (zh) * | 2017-08-07 | 2019-01-21 | 慧榮科技股份有限公司 | 記憶體裝置以及操作指令錯誤處理方法 |
KR102043538B1 (ko) * | 2018-01-18 | 2019-11-11 | 주식회사 알티스트 | 파티셔닝을 적용하여 프로세스를 모니터링하는 컴퓨팅 시스템 |
CN109508229A (zh) * | 2018-09-19 | 2019-03-22 | 安徽慧视金瞳科技有限公司 | 一种多点同时绘制的匹配方法 |
US11068407B2 (en) | 2018-10-26 | 2021-07-20 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a load-reserve instruction |
US10884740B2 (en) | 2018-11-08 | 2021-01-05 | International Business Machines Corporation | Synchronized access to data in shared memory by resolving conflicting accesses by co-located hardware threads |
US11119781B2 (en) | 2018-12-11 | 2021-09-14 | International Business Machines Corporation | Synchronized access to data in shared memory by protecting the load target address of a fronting load |
US11086672B2 (en) | 2019-05-07 | 2021-08-10 | International Business Machines Corporation | Low latency management of processor core wait state |
US11231881B2 (en) | 2020-04-02 | 2022-01-25 | Dell Products L.P. | Raid data storage device multi-step command coordination system |
US11106608B1 (en) | 2020-06-22 | 2021-08-31 | International Business Machines Corporation | Synchronizing access to shared memory by extending protection for a target address of a store-conditional request |
CN111857591A (zh) * | 2020-07-20 | 2020-10-30 | 北京百度网讯科技有限公司 | 用于执行指令的方法、装置、设备和计算机可读存储介质 |
CN114489792B (zh) * | 2021-03-25 | 2022-10-11 | 沐曦集成电路(上海)有限公司 | 处理器装置及其指令执行方法 |
US11693776B2 (en) | 2021-06-18 | 2023-07-04 | International Business Machines Corporation | Variable protection window extension for a target address of a store-conditional request |
CN116185891B (zh) * | 2023-04-27 | 2023-07-21 | 珠海妙存科技有限公司 | 描述符管理方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4491910A (en) * | 1982-02-22 | 1985-01-01 | Texas Instruments Incorporated | Microcomputer having data shift within memory |
JPS59111526A (ja) | 1982-12-16 | 1984-06-27 | Fujitsu Ltd | 信号処理方式 |
JPH06105460B2 (ja) | 1988-06-07 | 1994-12-21 | 富士通株式会社 | マルチプロセッサのプロセッサ切換え装置 |
GB8817911D0 (en) | 1988-07-27 | 1988-09-01 | Int Computers Ltd | Data processing apparatus |
US4965718A (en) | 1988-09-29 | 1990-10-23 | International Business Machines Corporation | Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data |
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 |
JP2866241B2 (ja) | 1992-01-30 | 1999-03-08 | 株式会社東芝 | コンピュータシステムおよびスケジューリング方法 |
US5428757A (en) * | 1992-04-29 | 1995-06-27 | International Business Machines Corporation | Method for reducing translation look aside buffer purges in a multitasking system |
US5546593A (en) | 1992-05-18 | 1996-08-13 | Matsushita Electric Industrial Co., Ltd. | Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream |
JP3678759B2 (ja) | 1992-07-21 | 2005-08-03 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込を発生するための装置および割込を発生するための方法 |
US5493660A (en) * | 1992-10-06 | 1996-02-20 | Hewlett-Packard Company | Software assisted hardware TLB miss handler |
US5584031A (en) | 1993-11-09 | 1996-12-10 | Motorola Inc. | System and method for executing a low power delay instruction |
US5546037A (en) | 1993-11-15 | 1996-08-13 | Cirrus Logic, Inc. | NAPNOP circuit for conserving power in computer systems |
US5584014A (en) * | 1994-12-20 | 1996-12-10 | Sun Microsystems, Inc. | Apparatus and method to preserve data in a set associative memory device |
JPH08212512A (ja) * | 1995-02-03 | 1996-08-20 | Hitachi Ltd | 磁気記憶装置及びそれに用いる薄膜磁気ヘッドとその製造方法 |
JPH08320797A (ja) | 1995-05-24 | 1996-12-03 | Fuji Xerox Co Ltd | プログラム制御システム |
JPH096633A (ja) | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
US5933627A (en) | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
EP1291765B1 (en) | 1996-08-27 | 2009-12-30 | Panasonic Corporation | Multithreaded processor for processing multiple instruction streams independently of each other by flexibly controlling throughput in each instruction stream |
US5961639A (en) | 1996-12-16 | 1999-10-05 | International Business Machines Corporation | Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution |
US5835705A (en) * | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
AU6586898A (en) | 1997-03-21 | 1998-10-20 | University Of Maryland | Spawn-join instruction set architecture for providing explicit multithreading |
UA55489C2 (ru) * | 1997-10-07 | 2003-04-15 | Каналь+ Сосьєте Анонім | Устройство для обработки информации в нескольких информационных потоках |
US6076157A (en) | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6016542A (en) * | 1997-12-31 | 2000-01-18 | Intel Corporation | Detecting long latency pipeline stalls for thread switching |
JP2000010910A (ja) * | 1998-06-22 | 2000-01-14 | Nec Corp | データ転送制御装置およびデータ転送制御方法ならびに記録媒体 |
US6920634B1 (en) * | 1998-08-03 | 2005-07-19 | International Business Machines Corporation | Detecting and causing unsafe latent accesses to a resource in multi-threaded programs |
US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
US6401155B1 (en) * | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
SG65097A1 (en) | 1998-12-28 | 2001-08-21 | Compaq Computer Corp | Break event generation during transitions between modes of operation in a computer system |
US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US6351808B1 (en) * | 1999-05-11 | 2002-02-26 | Sun Microsystems, Inc. | Vertically and horizontally threaded processor with multidimensional storage for storing thread data |
US6341347B1 (en) * | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
US6357016B1 (en) | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6496925B1 (en) | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
US6671795B1 (en) | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
US6931639B1 (en) * | 2000-08-24 | 2005-08-16 | International Business Machines Corporation | Method for implementing a variable-partitioned queue for simultaneous multithreaded processors |
TW461627U (en) * | 2000-12-21 | 2001-10-21 | Hon Hai Prec Ind Co Ltd | Electrical connector |
US6625698B2 (en) * | 2000-12-28 | 2003-09-23 | Unisys Corporation | Method and apparatus for controlling memory storage locks based on cache line ownership |
US6463511B2 (en) * | 2000-12-29 | 2002-10-08 | Intel Corporation | System and method for high performance execution of locked memory instructions in a system with distributed memory and a restrictive memory model |
US7120762B2 (en) * | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
US7127561B2 (en) | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
US20030126379A1 (en) | 2001-12-31 | 2003-07-03 | Shiv Kaushik | Instruction sequences for suspending execution of a thread until a specified memory access occurs |
US20030126416A1 (en) | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
-
2001
- 2001-12-31 US US10/039,579 patent/US7363474B2/en active Active
-
2002
- 2002-12-11 CN CNB028265904A patent/CN100383740C/zh not_active Expired - Lifetime
- 2002-12-11 AU AU2002364557A patent/AU2002364557A1/en not_active Abandoned
- 2002-12-11 DE DE10297596.5T patent/DE10297596B4/de not_active Expired - Lifetime
- 2002-12-11 WO PCT/US2002/039786 patent/WO2003058447A2/en active Application Filing
- 2002-12-11 KR KR1020047010389A patent/KR100814993B1/ko active IP Right Grant
- 2002-12-11 JP JP2003558691A patent/JP4601958B2/ja not_active Expired - Lifetime
- 2002-12-11 RU RU2004123622/09A patent/RU2308754C2/ru not_active IP Right Cessation
- 2002-12-11 DE DE10297856.5A patent/DE10297856B4/de not_active Expired - Lifetime
- 2002-12-11 GB GB0412867A patent/GB2400947B/en not_active Expired - Lifetime
- 2002-12-25 TW TW091137282A patent/TWI322959B/zh not_active IP Right Cessation
- 2002-12-25 TW TW097151472A patent/TWI590153B/zh not_active IP Right Cessation
-
2004
- 2004-12-07 HK HK04109671A patent/HK1066883A1/xx not_active IP Right Cessation
-
2007
- 2007-08-08 US US11/891,076 patent/US20080034190A1/en not_active Abandoned
-
2008
- 2008-03-26 JP JP2008081180A patent/JP4990829B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239657B2 (en) | 2007-02-07 | 2012-08-07 | Qualcomm Incorporated | Address translation method and apparatus |
RU2461870C2 (ru) * | 2007-02-07 | 2012-09-20 | Квэлкомм Инкорпорейтед | Способ и устройство трансляции адреса |
Also Published As
Publication number | Publication date |
---|---|
JP4990829B2 (ja) | 2012-08-01 |
JP2006500639A (ja) | 2006-01-05 |
US20030126186A1 (en) | 2003-07-03 |
DE10297856B4 (de) | 2014-07-17 |
US20080034190A1 (en) | 2008-02-07 |
GB2400947A (en) | 2004-10-27 |
WO2003058447A2 (en) | 2003-07-17 |
TW200305820A (en) | 2003-11-01 |
DE10297596B4 (de) | 2017-09-07 |
JP4601958B2 (ja) | 2010-12-22 |
US7363474B2 (en) | 2008-04-22 |
RU2308754C2 (ru) | 2007-10-20 |
TWI322959B (en) | 2010-04-01 |
TWI590153B (zh) | 2017-07-01 |
CN1688974A (zh) | 2005-10-26 |
KR20040068993A (ko) | 2004-08-02 |
KR100814993B1 (ko) | 2008-03-18 |
CN100383740C (zh) | 2008-04-23 |
DE10297596T5 (de) | 2004-12-02 |
WO2003058447A3 (en) | 2004-12-16 |
AU2002364557A8 (en) | 2003-07-24 |
GB2400947B (en) | 2005-08-24 |
GB0412867D0 (en) | 2004-07-14 |
TW200941340A (en) | 2009-10-01 |
AU2002364557A1 (en) | 2003-07-24 |
HK1066883A1 (en) | 2005-04-01 |
JP2008165834A (ja) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2004123622A (ru) | Способ и устройство для приостановки исполнения потока до момента осуществления определенного доступа к памяти | |
US9069605B2 (en) | Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention | |
US7287135B2 (en) | Adapting RCU for real-time operating system usage | |
US8332619B2 (en) | Primitives to enhance thread-level speculation | |
US7631307B2 (en) | User-programmable low-overhead multithreading | |
US7624257B2 (en) | Digital data processing apparatus having hardware multithreading support including a register set reserved for special class threads | |
US6871264B2 (en) | System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits | |
US6282601B1 (en) | Multiprocessor data processing system and method of interrupt handling that facilitate identification of a processor requesting a system management interrupt | |
EP3048527B1 (en) | Sharing idled processor execution resources | |
JP2006500639A5 (ru) | ||
US9575816B2 (en) | Deadlock/livelock resolution using service processor | |
US20140129784A1 (en) | Methods and systems for polling memory outside a processor thread | |
Keckler et al. | Concurrent event handling through multithreading | |
US20060036810A1 (en) | System, application and method of reducing cache thrashing in a multi-processor with a shared cache on which a disruptive process is executing | |
US9753799B2 (en) | Conditional pattern detector for detecting hangs | |
JPH04123234A (ja) | マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式 | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
Viara | CPOS: a real-time operating system for the IRCAM Musical Workstation | |
Fuchs et al. | Systems Group, Department of Computer Science, ETH Zurich | |
Fuchs | Hardware transactional memory and message passing | |
Goddard | Division of labor in embedded systems | |
JPH1196022A (ja) | リアルタイム処理計算機 | |
Forin et al. | Asymmetric Real Time Scheduling on a Multimedia Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20181212 |