DE10110504A1 - Controller für Prozessoren mit mehreren Befehlsthreads - Google Patents
Controller für Prozessoren mit mehreren BefehlsthreadsInfo
- Publication number
- DE10110504A1 DE10110504A1 DE10110504A DE10110504A DE10110504A1 DE 10110504 A1 DE10110504 A1 DE 10110504A1 DE 10110504 A DE10110504 A DE 10110504A DE 10110504 A DE10110504 A DE 10110504A DE 10110504 A1 DE10110504 A1 DE 10110504A1
- Authority
- DE
- Germany
- Prior art keywords
- thread
- execution
- threads
- control
- processor
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 25
- 239000000872 buffer Substances 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000013500 data storage Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 5
- 238000003491 array Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims 2
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009291 secondary effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/3802—Instruction prefetching
-
- 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
US Patentschrift Nr. 5,357,617 (Davis et al.) - Diese Patentschrift behandelt das Umschalten von einem Ausführungsthread auf einen anderen mit einem Overhead von Null. Die CPU schaltet hierbei kontinuierlich zwischen mehreren Befehlsthreads bei einer im Zeitmultiplex durchgeführten Zuweisung der CPU-Ressourcen um. Mit anderen Worten, mehrere Befehlsthreads werden über einen statischen Verschachtelungsmechanismus gesteuert.
Gn ist eine Zuteilung von einem gegebenen Thread n;
Rn ist eine Anforderung von einem gegebenen Thread n;
PA, PB und PC stellen Threads dar, die in alphabetischer Reihenfolge der tiefgestellten Indexzahlen entsprechend der Priorität geordnet sind;
n ist eine tiefgestellte Indexzahl, die einen Thread durch die Bit- oder die Binärzahl kennzeichnet.
Claims (33)
- a) Bereitstellen mehrerer Befehlsausführungsthreads als unabhängige Prozesse in einem sequentiellen Zeitrahmen;
- b) Einreihen der mehreren Ausführungsthreads in eine Warteschlange, so dass sie überlappend Zugriff auf die zugriffsfähigen Daten haben;
- c) Ausführen eines ersten Threads in der Warteschlange; und
- d) Übertragen der Ausführungssteuerung auf den nächsten Thread in der Warteschlange bei Eintreten eines Ereignisses, das bewirkt, dass die Ausführung des ersten Threads blockiert.
- a) eine CPU, die mit mehreren Befehlsausführungsthreads als unabhängige Prozesse in einem sequentiellen Zeitrahmen konfiguriert ist;
- b) eine Threadausführungssteuerung für
- 1. Einreihen der mehreren Ausführungsthreads in eine Warteschlange, um überlappenden Zugriff auf die zugriffsfähigen Daten zu haben;
- 2. Ausführen eines ersten Threads in der Warteschlange; und
- 3. Übertragen der Steuerung der Ausführung auf den nächsten Thread in der Warteschlange bei Eintreten eines Ereignisses, das bewirkt, dass die Ausführung des ersten Threads blockiert wird.
- a) Verwenden eines Prioritäts-FIFO, um einem Thread aus einer Vielzahl von Threads Priorität zu gewähren;
- b) Verwenden einer Zuteilungsvorrichtung zur Steuerung der Ausführung der Threads, welche Priorität haben, und
- c) Verwenden einer Threadsteuerungs-Zustandsmaschine, welche die Ausführungssteuerung zwischen den Threads bei Auftreten von Latenzzeitereignissen verschiebt.
- a) durch Laden einer Threadnummer in den FIFO, wenn eine Task an den Prozessor abgeschickt wird;
- b) durch Entfernen einer Threadnummer aus dem FIFO, wenn eine Task abgeschlossen wurde;
- c) durch Verschieben einer Threadnummer von der höchsten Priorität zur niedrigsten Priorität in dem FIFO, wenn eine Ereignis mit langer Latenzzeit eintritt, und
- d) durch Verwenden der Thread-Outlets des FIFO, um die Priorität festzustellen, abhängig davon, wie lange ein Thread sich im FIFO befunden hat.
Hierbei gilt: G ist eine Zuteilung
Rn ist eine Anforderung von einem gegebenen
Thread;
PA, PB und PC stellen Threads dar, alphabetisch geordnet nach ihren tiefgestellten Indexzahlen entsprechend der Priorität;
n ist eine Indexzahl, die einen Thread anhand der Bit- oder Binärzahl kennzeichnet
umfassend folgende Schritte
- a) Bestimmen, ob eine Anforderung R aktiv oder inaktiv ist;
- b) Bestimmen der Priorität der Threads P;
- c) Abstimmen der Anforderung R mit dem entsprechenden Thread P; und
- d) Zuteilen einer Anforderung zur Ausführung, wenn die Anforderung aktiv ist und wenn der entsprechende Thread P die höchste Priorität hat.
- a) Abschicken einer Task an einen Thread;
- b) Überführen des Threads von einem Initialisierungszustand in einen Bereit-Zustand;
- c) Anfordern von Ausführungszyklen für die Task;
- d) Überführen des Threads in den Ausführungszustand, wenn von der Zuteilungsvorrichtung ein Ausführungszyklus zugeteilt wurde;
- e) weiteres Anfordern von Ausführungszyklen, während die Task im Ausführungszustand in die Warteschlange eingereiht wird; und
- f) Rückführen des Threads in den Initialisierungszustand, wenn kein Latenzzeitereignis vorliegt, oder Senden des Threads in den Wartezustand bei Auftreten eines Latenzzeitereignisses.
- a) Zuordnen eines jeden Threads zu einem Prefetch- Puffer;
- b) Feststellen, ob ein Puffer, der einem Ausführungsthread zugeordnet wurde, voll ist;
- c) Feststellen, ob der dem Puffer zugeordnete Thread aktiv ist; und
- d) in Zeiträumen, in denen der Puffer nicht von einem aktiven Ausführungsthread verwendet wird, den Puffer in die Lage versetzen, vorab Befehle für den Ausführungsthread zu holen.
- a) ein Prioritäts-FIFO;
- b) eine Vielzahl von Threadsteuerungs-Zustandsmaschinen, eine für jeden Thread in einer Gruppe von mehreren Threads; und
- c) eine Zuteilungsvorrichtung zum Bestimmen einer Threadausführungspriorität unter den vielen Threads, die funktionsfähig mit dem FIFO und der Vielzahl von Threadsteuerungs-Zustandsmaschinen gekoppelt sind.
- a) Mittel zum Laden einer Threadnummer in den FIFO, wenn eine Task an den Prozessor abgeschickt wird;
- b) Mittel zum Entfernen einer Threadnummer aus dem FIFO, wenn eine Task abgeschlossen wurde;
- c) Verschieben der Threadnummer von der höchsten Priorität zur niedrigsten Priorität in dem FIFO, wenn ein Ereignis mit langer Latenzzeit eintritt, und
- d) die Thread-Ausgänge des FIFO, die zur Bestimmung der Priorität verwendet werden, abhängig von der Länge der Zeit, die sich ein Thread im FIFO befunden hat.
Hierbei gilt: G ist eine Zuteilung
Rn ist eine Anforderung eines gegebenen Threads;
PA, PB und PC stellen Threads dar, alphabetisch geordnet nach ihren tiefgestellten Indexzahlen entsprechend der Priorität;
n ist eine Indexzahl, die einen Thread anhand der Bit- oder Binärzahl kennzeichnet
umfassend folgende Schritte
- a) Bestimmen, ob eine Anforderung R aktiv oder inaktiv ist;
- b) Bestimmen der Priorität der Threads P;
- c) Abstimmen der Anforderung R mit dem entsprechenden Thread P; und
- d) Zuteilen einer Anforderung zur Ausführung, wenn die Anforderung aktiv ist und wenn der entsprechende Thread P die höchste Priorität hat.
- a) eine Task an einen Thread abzuschicken;
- b) den Thread von einem Initialisierungszustand in einen Bereitschaftszustand zu überführen;
- c) für die Task Ausführungszyklen anzufordern;
- d) den Thread bei Zuteilung eines Ausführungszyklus' durch die Zuteilungsvorrichtung in den Ausführungszustand zu überführen;
- e) weiter Ausführungszyklen anzufordern, während die Aufgabe im Ausführungszustand in die Warteschlange eingereiht ist; und
- f) das Paket in den Initialisierungszustand zurückzuführen, wenn kein Latenzzeitereignis vorliegt, oder das Paket in den Wartezustand zu senden, wenn ein Latenzzeitereignis vorliegt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/542,206 | 2000-04-04 | ||
US09/542,206 US6931641B1 (en) | 2000-04-04 | 2000-04-04 | Controller for multiple instruction thread processors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10110504A1 true DE10110504A1 (de) | 2001-10-18 |
DE10110504B4 DE10110504B4 (de) | 2006-11-23 |
Family
ID=24162787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10110504A Expired - Fee Related DE10110504B4 (de) | 2000-04-04 | 2001-03-03 | Verfahren und Computersystem zur Verwaltung von Threads |
Country Status (5)
Country | Link |
---|---|
US (2) | US6931641B1 (de) |
JP (1) | JP2001350638A (de) |
KR (1) | KR100368350B1 (de) |
CA (1) | CA2334393A1 (de) |
DE (1) | DE10110504B4 (de) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1416376A2 (de) * | 2002-11-01 | 2004-05-06 | Infineon Technologies AG | Multithread eingebetteter Prozessor mit deterministischem Befehlsspeicher |
WO2006083541A3 (en) * | 2005-02-04 | 2007-04-19 | Mips Tech Inc | Bifurcated thread scheduler in a multithreading microprocessor |
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 |
US7506140B2 (en) | 2005-02-04 | 2009-03-17 | Mips Technologies, Inc. | Return data selector employing barrel-incrementer-based round-robin apparatus |
US7509447B2 (en) | 2005-02-04 | 2009-03-24 | Mips Technologies, Inc. | Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor |
US7657891B2 (en) | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency |
US7664936B2 (en) | 2005-02-04 | 2010-02-16 | Mips Technologies, Inc. | Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages |
DE102004059972B4 (de) * | 2004-12-13 | 2010-07-01 | Infineon Technologies Ag | Thread-Scheduling-Verfahren, und Thread-List-Scheduler-Vorrichtung |
US7760748B2 (en) | 2006-09-16 | 2010-07-20 | Mips Technologies, Inc. | Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch |
US7773621B2 (en) | 2006-09-16 | 2010-08-10 | Mips Technologies, Inc. | Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch |
US7853777B2 (en) | 2005-02-04 | 2010-12-14 | Mips Technologies, Inc. | Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions |
US7961745B2 (en) | 2006-09-16 | 2011-06-14 | Mips Technologies, Inc. | Bifurcated transaction selector supporting dynamic priorities in multi-port switch |
US7990989B2 (en) | 2006-09-16 | 2011-08-02 | Mips Technologies, Inc. | Transaction selector employing transaction queue group priorities in multi-port switch |
DE112006000807B4 (de) * | 2005-04-05 | 2014-01-30 | Intel Corporation | Verwaltung von Sequenzer-Adressen |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US7480706B1 (en) * | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
US7093109B1 (en) * | 2000-04-04 | 2006-08-15 | International Business Machines Corporation | Network processor which makes thread execution control decisions based on latency event lengths |
US7237022B1 (en) * | 2000-06-29 | 2007-06-26 | Microsoft Corporation | Suspension and reinstatement of reference handles |
US8762581B2 (en) * | 2000-12-22 | 2014-06-24 | Avaya Inc. | Multi-thread packet processor |
KR100440577B1 (ko) * | 2001-12-28 | 2004-07-21 | 한국전자통신연구원 | 개방형 멀티서비스 시스템에서 선언적 우선순위를 이용한우선순위기반 분산 객체 호출 실행장치 및 그 방법 |
US7275247B2 (en) * | 2002-09-19 | 2007-09-25 | International Business Machines Corporation | Method and apparatus for handling threads in a data processing system |
US9088474B2 (en) | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
US8015567B2 (en) | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
US7984268B2 (en) | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
US7627721B2 (en) | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
US8478811B2 (en) | 2002-10-08 | 2013-07-02 | Netlogic Microsystems, Inc. | Advanced processor with credit based scheme for optimal packet flow in a multi-processor 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 |
US20050044324A1 (en) * | 2002-10-08 | 2005-02-24 | Abbas Rashid | Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
US8176298B2 (en) * | 2002-10-08 | 2012-05-08 | Netlogic Microsystems, Inc. | Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline |
US7924828B2 (en) | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
US7961723B2 (en) | 2002-10-08 | 2011-06-14 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for enforcing ordering between information sent on two independent networks |
US7461215B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor with implementation of memory ordering on a ring based data movement network |
US7237242B2 (en) * | 2002-12-31 | 2007-06-26 | International Business Machines Corporation | Dynamic thread pool tuning techniques |
US7496915B2 (en) | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7500239B2 (en) * | 2003-05-23 | 2009-03-03 | Intel Corporation | Packet processing system |
US20050055594A1 (en) * | 2003-09-05 | 2005-03-10 | Doering Andreas C. | Method and device for synchronizing a processor and a coprocessor |
US7472390B2 (en) * | 2003-10-01 | 2008-12-30 | Intel Corporation | Method and apparatus to enable execution of a thread in a multi-threaded computer system |
US8140829B2 (en) * | 2003-11-20 | 2012-03-20 | International Business Machines Corporation | Multithreaded processor and method for switching threads by swapping instructions between buffers while pausing execution |
US20060212874A1 (en) * | 2003-12-12 | 2006-09-21 | Johnson Erik J | Inserting instructions |
US7555753B2 (en) * | 2004-02-26 | 2009-06-30 | International Business Machines Corporation | Measuring processor use in a hardware multithreading processor environment |
US7890734B2 (en) | 2004-06-30 | 2011-02-15 | Open Computing Trust I & II | Mechanism for selecting instructions for execution in a multithreaded processor |
CN100440153C (zh) * | 2004-09-17 | 2008-12-03 | 松下电器产业株式会社 | 处理器 |
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 |
US7681014B2 (en) | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US7266674B2 (en) * | 2005-02-24 | 2007-09-04 | Microsoft Corporation | Programmable delayed dispatch in a multi-threaded pipeline |
JP2007026095A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | 並列演算装置 |
US9003421B2 (en) * | 2005-11-28 | 2015-04-07 | Intel Corporation | Acceleration threads on idle OS-visible thread execution units |
EP1963963A2 (de) * | 2005-12-06 | 2008-09-03 | Boston Circuits, Inc. | Verfahren und vorrichtung zur mehrkernverarbeitung mit eigenem thread-management |
KR100731983B1 (ko) * | 2005-12-29 | 2007-06-25 | 전자부품연구원 | 저전력 무선 디바이스 프로세서용 하드와이어드 스케줄러및 스케줄링 방법 |
US7870307B2 (en) * | 2006-01-30 | 2011-01-11 | Sony Computer Entertainment Inc. | DMA and graphics interface emulation |
GB2447907B (en) * | 2007-03-26 | 2009-02-18 | Imagination Tech Ltd | Processing long-latency instructions in a pipelined processor |
US9588810B2 (en) * | 2007-08-08 | 2017-03-07 | Microsoft Technology Licensing, Llc | Parallelism-aware memory request scheduling in shared memory controllers |
JP5128972B2 (ja) * | 2008-01-25 | 2013-01-23 | 学校法人日本大学 | 保安処理装置 |
US9596324B2 (en) | 2008-02-08 | 2017-03-14 | Broadcom Corporation | System and method for parsing and allocating a plurality of packets to processor core threads |
TW201007557A (en) * | 2008-08-06 | 2010-02-16 | Inventec Corp | Method for reading/writing data in a multithread system |
US9207943B2 (en) * | 2009-03-17 | 2015-12-08 | Qualcomm Incorporated | Real time multithreaded scheduler and scheduling method |
US8719223B2 (en) * | 2010-05-06 | 2014-05-06 | Go Daddy Operating Company, LLC | Cloud storage solution for reading and writing files |
US20110276784A1 (en) * | 2010-05-10 | 2011-11-10 | Telefonaktiebolaget L M Ericsson (Publ) | Hierarchical multithreaded processing |
US20120198458A1 (en) * | 2010-12-16 | 2012-08-02 | Advanced Micro Devices, Inc. | Methods and Systems for Synchronous Operation of a Processing Device |
US9354926B2 (en) * | 2011-03-22 | 2016-05-31 | International Business Machines Corporation | Processor management via thread status |
US9268542B1 (en) * | 2011-04-28 | 2016-02-23 | Google Inc. | Cache contention management on a multicore processor based on the degree of contention exceeding a threshold |
US9141391B2 (en) | 2011-05-26 | 2015-09-22 | Freescale Semiconductor, Inc. | Data processing system with latency tolerance execution |
US8656367B1 (en) * | 2011-07-11 | 2014-02-18 | Wal-Mart Stores, Inc. | Profiling stored procedures |
CN102281095A (zh) * | 2011-07-28 | 2011-12-14 | 航天东方红卫星有限公司 | 一种任务的回传方法 |
US9110656B2 (en) | 2011-08-16 | 2015-08-18 | Freescale Semiconductor, Inc. | Systems and methods for handling instructions of in-order and out-of-order execution queues |
CN104011703B (zh) | 2011-12-22 | 2017-04-12 | 英特尔公司 | 用于指定应用线程性能状态的指令的指令处理装置及相关方法 |
US9135014B2 (en) | 2012-02-15 | 2015-09-15 | Freescale Semiconductor, Inc | Data processing system with latency tolerance execution |
CN104205042B (zh) | 2012-03-30 | 2019-01-08 | 英特尔公司 | 用于具有通用cpu核心和紧密耦合的加速器的处理核心的上下文切换机制 |
US8904068B2 (en) * | 2012-05-09 | 2014-12-02 | Nvidia Corporation | Virtual memory structure for coprocessors having memory allocation limitations |
US9087202B2 (en) * | 2013-05-10 | 2015-07-21 | Intel Corporation | Entry/exit architecture for protected device modules |
KR102377726B1 (ko) * | 2015-04-17 | 2022-03-24 | 한국전자통신연구원 | 분산 파일 시스템에서의 파일 복제 제어 장치 및 방법 |
US10061619B2 (en) | 2015-05-29 | 2018-08-28 | Red Hat, Inc. | Thread pool management |
JP6503958B2 (ja) * | 2015-07-23 | 2019-04-24 | 富士通株式会社 | 表示情報制御プログラム、方法、及び装置 |
US10185564B2 (en) * | 2016-04-28 | 2019-01-22 | Oracle International Corporation | Method for managing software threads dependent on condition variables |
CN108337295B (zh) * | 2018-01-12 | 2022-09-23 | 青岛海尔智能家电科技有限公司 | 一种物联网通信方法、服务器及系统 |
JP7157542B2 (ja) * | 2018-03-30 | 2022-10-20 | 株式会社デンソー | プリフェッチコントローラ |
US11119972B2 (en) * | 2018-05-07 | 2021-09-14 | Micron Technology, Inc. | Multi-threaded, self-scheduling processor |
US10649922B2 (en) * | 2018-08-06 | 2020-05-12 | Apple Inc. | Systems and methods for scheduling different types of memory requests with varying data sizes |
KR102142498B1 (ko) * | 2018-10-05 | 2020-08-10 | 성균관대학교산학협력단 | Gpu 커널 정적 분석을 통해 gpu 프리패치를 수행하기 위한 gpu 메모리 제어장치 및 제어방법 |
US11210104B1 (en) * | 2020-09-11 | 2021-12-28 | Apple Inc. | Coprocessor context priority |
CN115421931B (zh) * | 2022-11-07 | 2023-03-28 | 深圳市明源云科技有限公司 | 业务线程控制方法、装置、电子设备及可读存储介质 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5353418A (en) | 1989-05-26 | 1994-10-04 | Massachusetts Institute Of Technology | System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread |
FR2678121B1 (fr) * | 1991-06-18 | 1994-04-29 | Matra Communication | Dispositif d'insertion de paquets numeriques dans un canal de transmission. |
US5430850A (en) | 1991-07-22 | 1995-07-04 | Massachusetts Institute Of Technology | Data processing system with synchronization coprocessor for multiple threads |
US5630128A (en) | 1991-08-09 | 1997-05-13 | International Business Machines Corporation | Controlled scheduling of program threads in a multitasking operating system |
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 |
US5483641A (en) | 1991-12-17 | 1996-01-09 | Dell Usa, L.P. | System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities |
US5404469A (en) | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
US5428769A (en) * | 1992-03-31 | 1995-06-27 | The Dow Chemical Company | Process control interface system having triply redundant remote field units |
JPH0659906A (ja) * | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 並列計算機の実行制御方法 |
US5485626A (en) * | 1992-11-03 | 1996-01-16 | International Business Machines Corporation | Architectural enhancements for parallel computer systems utilizing encapsulation of queuing allowing small grain processing |
US5608720A (en) * | 1993-03-09 | 1997-03-04 | Hubbell Incorporated | Control system and operations system interface for a network element in an access system |
WO1994027216A1 (en) * | 1993-05-14 | 1994-11-24 | Massachusetts Institute Of Technology | Multiprocessor coupling system with integrated compile and run time scheduling for parallelism |
JP3547482B2 (ja) | 1994-04-15 | 2004-07-28 | 株式会社日立製作所 | 情報処理装置 |
US5812811A (en) | 1995-02-03 | 1998-09-22 | International Business Machines Corporation | Executing speculative parallel instructions threads with forking and inter-thread communication |
US6237074B1 (en) * | 1995-05-26 | 2001-05-22 | National Semiconductor Corp. | Tagged prefetch and instruction decoder for variable length instruction set and method of operation |
JPH096633A (ja) * | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
GB2311882B (en) | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
US5944816A (en) | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
US5933627A (en) * | 1996-07-01 | 1999-08-03 | Sun Microsystems | Thread switch on blocked load or store using instruction thread field |
JP2970553B2 (ja) | 1996-08-30 | 1999-11-02 | 日本電気株式会社 | マルチスレッド実行方法 |
US5887166A (en) | 1996-12-16 | 1999-03-23 | International Business Machines Corporation | Method and system for constructing a program including a navigation instruction |
US6088788A (en) * | 1996-12-27 | 2000-07-11 | International Business Machines Corporation | Background completion of instruction and associated fetch request in a multithread processor |
US5907702A (en) | 1997-03-28 | 1999-05-25 | International Business Machines Corporation | Method and apparatus for decreasing thread switch latency in a multithread processor |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US5987492A (en) | 1997-10-31 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for processor sharing |
US6161166A (en) * | 1997-11-10 | 2000-12-12 | International Business Machines Corporation | Instruction cache for multithreaded processor |
US6240509B1 (en) | 1997-12-16 | 2001-05-29 | Intel Corporation | Out-of-pipeline trace buffer for holding instructions that may be re-executed following misspeculation |
US6504621B1 (en) * | 1998-01-28 | 2003-01-07 | Xerox Corporation | System for managing resource deficient jobs in a multifunctional printing system |
US6330584B1 (en) | 1998-04-03 | 2001-12-11 | Mmc Networks, Inc. | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US6507862B1 (en) * | 1999-05-11 | 2003-01-14 | Sun Microsystems, Inc. | Switching method in a multi-threaded processor |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
-
2000
- 2000-04-04 US US09/542,206 patent/US6931641B1/en not_active Expired - Fee Related
-
2001
- 2001-02-02 CA CA002334393A patent/CA2334393A1/en not_active Abandoned
- 2001-03-03 DE DE10110504A patent/DE10110504B4/de not_active Expired - Fee Related
- 2001-03-05 KR KR10-2001-0011116A patent/KR100368350B1/ko not_active IP Right Cessation
- 2001-04-03 JP JP2001104520A patent/JP2001350638A/ja active Pending
-
2004
- 2004-08-11 US US10/915,983 patent/US8006244B2/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1416376A2 (de) * | 2002-11-01 | 2004-05-06 | Infineon Technologies AG | Multithread eingebetteter Prozessor mit deterministischem Befehlsspeicher |
EP1416376A3 (de) * | 2002-11-01 | 2007-11-21 | Infineon Technologies AG | Multithread eingebetteter Prozessor mit deterministischem Befehlsspeicher |
US8108862B2 (en) | 2004-12-13 | 2012-01-31 | Infineon Technologies Ag | Out-of-order thread scheduling based on processor idle time thresholds |
DE102004059972B4 (de) * | 2004-12-13 | 2010-07-01 | Infineon Technologies Ag | Thread-Scheduling-Verfahren, und Thread-List-Scheduler-Vorrichtung |
US7664936B2 (en) | 2005-02-04 | 2010-02-16 | Mips Technologies, Inc. | Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages |
US7509447B2 (en) | 2005-02-04 | 2009-03-24 | Mips Technologies, Inc. | Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor |
US7613904B2 (en) | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US7657891B2 (en) | 2005-02-04 | 2010-02-02 | Mips Technologies, Inc. | Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency |
US7506140B2 (en) | 2005-02-04 | 2009-03-17 | Mips Technologies, Inc. | Return data selector employing barrel-incrementer-based round-robin apparatus |
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 |
US7853777B2 (en) | 2005-02-04 | 2010-12-14 | Mips Technologies, Inc. | Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions |
WO2006083541A3 (en) * | 2005-02-04 | 2007-04-19 | Mips Tech Inc | Bifurcated thread scheduler in a multithreading microprocessor |
DE112006000807B4 (de) * | 2005-04-05 | 2014-01-30 | Intel Corporation | Verwaltung von Sequenzer-Adressen |
US7760748B2 (en) | 2006-09-16 | 2010-07-20 | Mips Technologies, Inc. | Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch |
US7773621B2 (en) | 2006-09-16 | 2010-08-10 | Mips Technologies, Inc. | Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch |
US7961745B2 (en) | 2006-09-16 | 2011-06-14 | Mips Technologies, Inc. | Bifurcated transaction selector supporting dynamic priorities in multi-port switch |
US7990989B2 (en) | 2006-09-16 | 2011-08-02 | Mips Technologies, Inc. | Transaction selector employing transaction queue group priorities in multi-port switch |
Also Published As
Publication number | Publication date |
---|---|
US20050022196A1 (en) | 2005-01-27 |
JP2001350638A (ja) | 2001-12-21 |
US8006244B2 (en) | 2011-08-23 |
KR20010094951A (ko) | 2001-11-03 |
KR100368350B1 (ko) | 2003-01-24 |
CA2334393A1 (en) | 2001-10-04 |
DE10110504B4 (de) | 2006-11-23 |
US6931641B1 (en) | 2005-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10110504B4 (de) | Verfahren und Computersystem zur Verwaltung von Threads | |
DE4227345C2 (de) | Verfahren zur Ablaufsteuerung von Prozessen in einem Mehrprozessor-Computersystem | |
EP1146432B1 (de) | Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit | |
DE60223394T2 (de) | Verfahren und vorrichtung zum einteilen von anforderungen für einen dynamischen direktzugriffsspeicherbaustein | |
DE2809405C3 (de) | Prioritätssteuerschaltung | |
DE1524101C3 (de) | Mehrfach rechnende Datenverarbeitungsanlage | |
DE10085363B4 (de) | Verfahren und Einrichtung zum Verwalten von Ressourcen in einem Multithreaded-Prozessor | |
DE2828544C2 (de) | ||
DE69632634T2 (de) | Arbitrierungseinheit zum Multiprozessorsystembuszugriff mit Wiederholungsfähigkeit | |
DE4410775C2 (de) | Steuergerät und Arbeitsverfahren eines Betriebssystems für dieses Steuergerät | |
DE3638572C2 (de) | ||
DE2839726A1 (de) | Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system | |
DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
EP0010570B1 (de) | Verfahren und Einrichtung zur selbstadaptiven Zuordnung der Arbeitslast einer Datenverarbeitungsanlage | |
EP1164474A2 (de) | Verfahren zum hierarchischen Cachen von Konfigurationsdaten von Datenflussprozessoren | |
DE3500804A1 (de) | Unterbrechungssteuerkreis | |
DE1549479B1 (de) | Schaltungsanordnung zur adressierung eines aus mehreren moduln bestehenden speichers | |
DE112005003222T5 (de) | Dynamische Allokation eines Puffers auf mehrere Klienten bei einem Prozessor mit Threads | |
DE2454613C2 (de) | Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage | |
DE69726400T2 (de) | Festkörper-datenprozessor mit vielseitiger mehrquellen-unterbrechungsorganisation | |
DE10063915B4 (de) | Informationsverarbeitungsgerät, das eine Mehrzweckverarbeitung und Transaktionsverarbeitung ausführt | |
DE3936339A1 (de) | Controller fuer direkten speicherzugriff | |
EP1483682A2 (de) | Reconfigurierbarer prozessor | |
DE102010003512A1 (de) | Geteilte zentrale Verarbeitung von Daten | |
EP0010135A1 (de) | Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ASS., 7 |
|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT, DE |
|
R081 | Change of applicant/patentee |
Owner name: INTEL CORPORATION, SANTA CLARA, US Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US Effective date: 20130624 Owner name: INTEL CORPORATION, US Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP., ARMONK, US Effective date: 20130624 |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Effective date: 20130624 Representative=s name: BOEHMERT & BOEHMERT, DE Effective date: 20130624 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |