CN101258465A - 控制多线程处理器内的多个程序线程的***和方法 - Google Patents
控制多线程处理器内的多个程序线程的***和方法 Download PDFInfo
- Publication number
- CN101258465A CN101258465A CNA2006800324396A CN200680032439A CN101258465A CN 101258465 A CN101258465 A CN 101258465A CN A2006800324396 A CNA2006800324396 A CN A2006800324396A CN 200680032439 A CN200680032439 A CN 200680032439A CN 101258465 A CN101258465 A CN 101258465A
- Authority
- CN
- China
- Prior art keywords
- thread
- pattern
- control register
- mode
- 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
- 238000000034 method Methods 0.000 title claims description 62
- 230000004044 response Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 13
- 238000007726 management method Methods 0.000 claims description 8
- 230000000873 masking effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 230000000712 assembly Effects 0.000 description 10
- 238000000429 assembly Methods 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明揭示一种多线程处理器装置,且所述多线程处理器装置包含经配置以执行多个可执行程序线程的处理器以及模式控制寄存器。所述模式控制寄存器包含用以控制所述多个可执行程序线程中的第一者的第一执行模式的第一数据字段,以及用以控制所述多个可执行程序线程中的第二者的第二执行模式的第二数据字段。在特定实施例中,所述第一执行模式是运行模式,且所述第二执行模式是低功率模式。
Description
技术领域
本发明大体上涉及数字信号处理器和使用此类处理器的装置。更特定来说,本发明涉及由数字信号处理器寄存器执行多个程序线程。
背景技术
技术上的进步已产生更小且更强大的个人计算装置。举例来说,目前存在多种便携式个人计算装置,包含无线计算装置,例如较小、重量较轻且易于由用户携带的便携式无线电话、个人数字助理(PDA)和寻呼装置。更具体来说,便携式无线电话(例如,蜂窝式电话和IP电话)可通过无线网络传送语音和数据包。此外,许多此类无线电话包含可并入其中的其它类型的装置。举例来说,无线电话还可包含数字静止相机、数字摄像机、数字记录仪和音频文件播放器。而且,此类无线电话可包含可用来接入因特网的web界面。由此,这些无线电话包含重要的计算能力。
通常,随着这些装置变得越来越强大,程序员可能想要开发出越来越复杂的程序(例如,用于视频解码)。随着程序变得越来越复杂,可能有必要在两个或两个以上线程上编写并行程序。然而,在现用模式中使用多个线程可能会影响微处理器所需的功率和额外开销的量。
因此,提供经改进的控制多线程处理器内的多个程序线程的方法将是有利的。
发明内容
本发明揭示一种多线程处理器装置,且所述多线程处理器装置包含经配置以执行多个可执行程序线程的处理器和模式控制寄存器。所述模式控制寄存器包含用以控制所述多个可执行程序线程中的第一者的第一执行模式的第一数据字段,和用以控制所述多个可执行程序线程中的第二者的第二执行模式的第二数据字段。在特定实施例中,所述第一执行模式是运行模式,且所述第二执行模式是低功率模式。在另一特定实施例中,所述低功率模式是等待模式。在又一特定实施例中,在等待模式期间,与所述多个可执行程序线程中的第二者相关联的状态数据存储在耦合到处理器的存储器中。在另一特定实施例中,低功率模式是断开模式。此外,在特定实施例中,处理器可经配置以在交错基础上执行至多达六个不同程序线程。
在特定实施例中,多线程处理器还包含存储器单元和响应于所述存储器单元的定序器。所述定序器可支持超长指令字(VLIW)类型指令,且VLIW指令中的至少一者在执行期间使用若干操作数。在另一特定实施例中,多线程处理器还包含响应于定序器的第一指令执行单元、响应于定序器的第二指令执行单元、响应于定序器的第三指令执行单元和响应于定序器的第四指令执行单元。在特定实施例中,多线程处理器还包含寄存器文件,所述寄存器文件包含多个寄存器。在特定实施例中,所述寄存器文件可耦合到存储器单元,并耦合到第一指令执行单元、第二指令执行单元、第三指令执行单元和第四指令执行单元。在另一特定实施例中,所述寄存器文件包含模式控制寄存器。
在另一实施例中,揭示一种位于多线程处理器内的模式控制寄存器。在此实施例中,多线程处理器可包含第一数据字段,其可用于控制将由多线程处理器执行的第一程序线程的第一执行模式。此外,多线程处理器可包含第二数据字段,其用以控制将由多线程处理器执行的第二程序线程的第二执行模式。
在又一实施例中,揭示一种结合多线程处理器而使用的模块。在此实施例中,所述模块可包含可用于控制多线程处理器的第一功能的第一全局控制寄存器,和作为模式控制寄存器的第二全局控制寄存器。在此实施例中,模式控制寄存器包含可用于控制多线程处理器的第一线程的执行模式的第一字段,和可用于控制多线程处理器的第二线程的执行模式的第二字段。
在又一实施例中,揭示一种控制多个线程的方法。所述方法包含:从第一线程接收第一控制信号;响应于所述第一控制信号,改变控制寄存器的内容;以及基于所述控制寄存器的内容,将第二线程置于至少三个可选模式中的一者中。
在又一实施例中,揭示一种操作***。所述操作***包含:操作模块,其用以控制多个程序线程;线程模式模块,其用以从多个程序线程中的至少一者接收线程模式请求;以及线程控制寄存器,其响应于所述线程模式模块。在此特定实施例中,多个程序线程中的每一者的模式是基于线程控制寄存器的内容的。
在另一实施例中,揭示一种数字信号处理器,且所述数字信号处理器包含存储器、响应于存储器的定序器、耦合到存储器的寄存器文件、多线程处理器和全局模式控制寄存器。在此特定实施例中,全局模式控制寄存器包含可用于控制多线程处理器的第一线程的执行模式的第一字段,和可用于控制多线程处理器的第二线程的执行模式的第二字段。
在又一实施例中,揭示一种便携式通信装置,且所述便携式通信装置包含数字信号处理器。特定来说,所述数字信号处理器包含存储器和耦合到存储器的寄存器文件。所述寄存器文件包含全局模式控制寄存器。此外,所述全局模式控制寄存器包含可用于控制数字信号处理器的第一线程的执行模式的第一字段,和可用于控制数字信号处理器的第二线程的执行模式的第二字段。
本文所揭示的一个或一个以上实施例的优点可包含将一个线程置于低功率模式中,同时将另一线程置于现用模式中,以便节省功率。
另一优点可包含用全局控制寄存器来控制多个线程的模式。
又一优点可包含允许每一线程控制另一线程的模式。
在审阅整个申请案(包含以下部分:附图说明、具体实施方式和权利要求书)之后,将明白本发明的其它方面、优点和特征。
附图说明
参考结合附图考虑的以下具体实施方式,将更容易明白本文所描述的实施例的上述方面和附随优点,在附图中:
图1是示范性数字信号处理器的总图;
图2是数字信号处理器的一组示范性线程模式的总图;
图3是全局线程控制寄存器的示范性实施例的图;
图4是用于控制全局线程控制寄存器的示范性方法的流程图;
图5是用于数字信号处理器的操作***的总图;
图6是并入有数字信号处理器的便携式通信装置的总图;
图7是并入有数字信号处理器的示范性蜂窝式电话的总图;
图8是并入有数字信号处理器的示范性无线因特网协议电话的总图;
图9是并入有数字信号处理器的示范性便携式数字助理的总图;
图10是并入有数字信号处理器的示范性音频文件播放器的总图。
具体实施方式
图1说明数字信号处理器(DSP)100的示范性非限制实施例的框图。如图1所说明,DSP 100包含经由总线106耦合到定序器104的存储器102。在特定实施例中,总线106是六十四(64)位总线,且定序器104经配置以从存储器102检索具有三十二(32)位长度的指令。总线106耦合到第一指令执行单元108、第二指令执行单元110、第三指令执行单元112和第四指令执行单元114。图1指示每一指令执行单元108、110、112、114都可经由第一总线118耦合到通用寄存器文件116。通用寄存器文件116还可经由第二总线120耦合到定序器104和存储器102。
在特定实施例中,存储器102是内容可寻址存储器(CAM),其包含第一指令高速缓冲存储器122、第二指令高速缓冲存储器124、第三指令高速缓冲存储器126、第四指令高速缓冲存储器128、第五指令高速缓冲存储器130和第六指令高速缓冲存储器132。在操作期间,指令高速缓冲存储器122、124、126、128、130、132可彼此独立地被定序器104存取。另外,在特定实施例中,每一指令高速缓冲存储器122、124、126、128、130、132都包含多个指令、用于每一指令的指令导引数据,和用于每一指令的指令预解码数据。
如图1所说明,存储器102可包含指令队列134,所述指令队列134包含每一指令高速缓冲存储器122、124、126、128、130、132的指令队列。特定来说,指令队列134包含与第一指令高速缓冲存储器122相关联的第一指令队列136、与第二指令高速缓冲存储器124相关联的第二指令队列138、与第三指令高速缓冲存储器126相关联的第三指令队列140、与第四指令高速缓冲存储器128相关联的第四指令队列142、与第五指令高速缓冲存储器130相关联的第五指令队列144和与第六指令高速缓冲存储器132相关联的第六指令队列146。
在操作期间,定序器104可经由指令队列134从每一指令高速缓冲存储器122、124、126、128、130、132获取指令。在特定实施例中,定序器104以从第一指令队列136到第六指令队列146的次序从指令队列136、138、140、142、144、146获取指令。在从第六指令队列146中获取指令之后,定序器104返回到第一指令队列136,且继续依次从指令队列136、138、140、142、144、146中获取指令。
在特定实施例中,定序器104在第一模式下操作为支持超标量指令的2向超标量定序器。此外,在特定实施例中,所述定序器还在支持超长指令字(VLIW)的第二模式下操作。特定来说,定序器可操作为4向VLIW定序器。在特定实施例中,第一指令执行单元108可执行加载指令、存储指令和算术逻辑单元(ALU)指令。第二指令执行单元110可执行加载指令和ALU指令。而且,第三指令执行单元112可执行乘法指令、乘法累加指令(MAC)、ALU指令、程序重定向构造和转移寄存器(CR)指令。图1进一步指示第四指令执行单元114可执行移位(S)指令、ALU指令、程序重定向构造和CR指令。在特定实施例中,程序重定向构造可为零额外开销循环、分支指令、跳转(J)指令等。
如图1所描绘,通用寄存器116包含第一统一寄存器文件148、第二统一寄存器文件150、第三统一寄存器文件152、第四统一寄存器文件154、第五统一寄存器文件156和第六统一寄存器文件158。每一统一寄存器文件148、150、152、154、156、158对应于存储器102内的指令高速缓冲存储器122、124、126、128、130、132。此外,在特定实施例中,每一统一寄存器文件148、150、152、154、156、158具有相同的结构,且包含相等数目的数据操作数和地址操作数。
图1说明DSP 100可进一步包含耦合到定序器104的线程模式控制寄存器160。如图所示,线程模式控制寄存器160可以是独立寄存器。或者,线程模式控制寄存器可包含在通用寄存器116中。如所说明,DSP 100还可包含线程模式控制逻辑162。在说明性实施例中,线程模式控制逻辑162耦合到线程模式控制寄存器160。
在DSP 100的操作期间,指令由定序器104从存储器102获取,被发送到指定的指令执行单元108、110、112、114并在指令执行单元108、110、112、114处执行。每一指令执行单元108、110、112、114处的结果可写入到通用寄存器116,即写入到统一寄存器文件148、150、152、154、156、158中的一者。
在特定实施例中,DSP 100能够执行多个程序线程。此外,在特定实施例中,DSP 100可经配置以在交错基础上执行至多达六个不同的程序线程。这些程序线程可在多种不同模式下操作,包含运行模式或低功率模式。在特定实施例中,低功率模式可以是等待模式。在等待模式期间,与置于等待模式中的程序线程相关联的状态数据可存储在存储器102中。在另一特定实施例中,低功率模式可以是断开模式。在特定实施例中,每一线程的模式是基于线程模式控制寄存器160的内容的。
在示范性非限制实施例中,可通过线程模式控制逻辑162来对线程模式控制寄存器进行编程。此外,在示范性非限制实施例中,线程模式控制寄存器可包含多个数据字段,其中每一数据字段控制特定线程的执行模式。线程模式控制逻辑162可改变数据字段来改变特定线程的模式。举例来说,线程模式控制逻辑162可将数据字段从指示运行模式的数据改变为指示低功率模式的数据或指示调试模式的数据。在特定实施例中,线程模式控制逻辑162响应于由程序线程执行的指令,以改变另一线程的操作模式。由此,在特定实施例中,一个线程可控制另一线程的模式。
参看图2,说明多线程处理器的状态图。如所示,状态包含用户模式202、等待模式204、调试模式206、管理模式208和断开模式210。在特定实施例中,用户模式202和管理模式208还可被称作运行模式。而且,在特定实施例中,多线程处理器的个别线程在断开模式210下开始。一旦接收到开始信号,线程就可进入管理模式208。线程可从管理模式208进入若干不同模式。如果线程接收到等待信号,那么线程可进入等待模式204。响应于RTE或SSR信号,线程可进入用户模式202。在特定实施例中,RTE信号是指令信号。在特定实施例中,SSR信号是改变状态寄存器中的状态字段的信号。另外,响应于DE信号,线程可进入调试模式206。在特定实施例中,DE信号是来自硬件调试器的中断信号。
如果线程处于等待模式204,那么其可响应于恢复或中断信号而返回到管理模式208。响应于恢复信号,线程还可进入用户模式202。线程可响应于异常、中断或陷阱(trap)信号从用户模式202进入管理模式208。而且线程还可响应于等待信号而进入等待模式204,或线程可响应于DE信号而进入调试模式206。线程可响应于DR信号从调试模式206进入用户模式202或管理模式208。在特定实施例中,DR信号是来自硬件调试器的释放信号。
在多线程处理器的操作期间,可响应于控制信号而将个别线程置于多种不同模式中。这些控制信号可基于全局模式控制寄存器。可通过线程改变全局模式控制寄存器的内容以控制其它线程。
参看图3,其说明模式控制寄存器的示范性实施例。模式控制寄存器包含多种数据字段,其中包含第一保留数据字段302、第一运行模式字段304、第二运行模式字段306、第三运行模式字段308、第二保留字段310、第一接通/断开字段312、第二接通/断开字段314和第三接通/断开字段316。所述数据字段可以是所存储的指示特定线程的操作模式的二进制值。举例来说,第一运行模式数据字段304可存储表示线程0的执行模式的二进制值。如果数据字段304存储二进制值“1”,那么线程0处于等待模式。相反,如果第一运行模式数据字段304存储二进制值“0”,那么线程0处于运行模式。类似地,第二运行模式数据字段306可存储表示线程1的执行模式的二进制值。如所说明,接通/断开数据字段312、314分别存储表示线程0和线程1的“接通”或“断开”模式的二进制值。此外,所保留的数据字段302、310可保留用于其它用途,从而允许模式控制寄存器300用于除线程模式控制之外的其它功能。
参看图4,其说明控制多个程序线程的执行模式的方法。在步骤402处,响应于由处理器提供的复位信号对控制寄存器进行初始化。在特定实施例中,控制寄存器是全局寄存器。可在处理器的操作期间,或在处理器启动之后,或在另一适当的时间发出复位信号。进行到步骤404,处理器开始第一线程,标记为“线程0”。移动到步骤406,线程模式控制模块从线程0接收控制信号,以改变第二线程(标记为“线程X”)的模式。
在步骤408处,线程模式控制模块将掩码施加到控制寄存器,以改变与线程X相关联的寄存器中的数据段。掩码使与其它线程相关联的数据段保持不变。进行到步骤410,处理器基于所述控制寄存器的内容来确定处理器线程的模式。以此方式,线程X被置于四个可选模式中的一者中,所述可选模式包含等待模式、现用模式、断开模式或调试模式。在特定实施例中,控制寄存器控制至少三个不同线程的模式。
移动到决策步骤412,处理器确定其是否已接收到断电信号。如果处理器已接收到断电信号,那么方法进行到步骤414,并结束。如果处理器未接收到断电信号,那么方法在步骤416处继续。
在步骤416中,处理器从第三线程(标记为“线程Y”)接收控制信号。控制信号经断言以改变线程X的模式。所述方法接着返回到步骤408。
参看图5,说明用以控制多线程数字信号处理器的操作***500的示范性实施例。如所示,操作***500包含第一线程502(标记为“线程0”)、第二线程504(标记为“线程1”)和第三线程506(标记为“线程2”)。此外,操作***500包含控制模块508和线程模式模块510。在特定实施例中,线程模式模块510可包含掩蔽模块512。在另一特定实施例中,操作***500可控制线程控制寄存器514。在特定实施例中,控制模块508可控制线程502、504和506的操作。由此,线程502、504和506耦合到线程模式模块510。控制模块514和线程模式模块510可控制线程控制寄存器514。
在操作期间,控制模块508可控制线程502、504和506。举例来说,线程502可向线程模式模块510发出线程模式请求。响应于所述请求,线程模式模块510可使用掩蔽模块512将掩码施加到线程控制寄存器514。其后,控制模块508可读取线程控制寄存器514的内容,且基于所述寄存器的内容,将线程502、504和506置于适当的状态或操作模式中。以此方式,线程502、504和506中每一者都可控制其它线程的模式。通过使用掩蔽模块512将掩码施加到线程控制寄存器514,可改变线程502、504或506中的一者的模式,同时使其它线程的模式保持不变。
图6说明大体上被指定为620的便携式通信装置的示范性非限制实施例。如图6中所说明,便携式通信装置包含芯片上***622,所述芯片上***622包含数字信号处理器624。在特定实施例中,数字信号处理器624是图1中所示且本文所描述的数字信号处理器。图6还展示耦合到数字信号处理器624和显示器628的显示器控制器626。另外,输入装置630耦合到数字信号处理器624。如所示,存储器632耦合到数字信号处理器624。另外,编码器/解码器(CODEC)634可耦合到数字信号处理器624。扬声器636和麦克风638可耦合到CODEC 630。
图6还指示可耦合到数字信号处理器624和无线天线642的无线控制器640。在特定实施例中,电源644耦合到芯片上***602。另外,在特定实施例中,如图6中所说明,显示器626、输入装置630、扬声器636、麦克风638、无线天线642和电源644在芯片上***622的外部。然而,每一者都耦合到芯片上***622的组件。
在特定实施例中,数字信号处理器624利用交错式多线程来处理与程序线程相关联的指令,所述程序线程是执行便携式通信装置620的各个组件所需的功能性和操作所必需的。举例来说,当经由无线天线建立无线通信会话时,用户可对着麦克风638讲话。代表用户语音的电子信号可被发送到CODEC 634以被编码。数字信号处理器624可执行用于CODEC 634的数据处理,以对来自麦克风的电子信号进行编码。此外,可由无线控制器640将经由无线天线642接收到的传入信号发送到CODEC 634以被解码,并发送到扬声器636。当对经由无线天线642接收到的信号进行解码时,数字信号处理器624还可执行用于CODEC 634的数据处理。
此外,在无线通信会话之前、期间或之后,数字信号处理器624可处理从输入装置630接收到的输入。举例来说,在无线通信会话期间,用户可使用输入装置630和显示器628经由嵌入便携式通信装置620的存储器632内的web浏览器上网(surf theinternet)。数字信号处理器624可使输入装置630、显示器控制器626、显示器628、CODEC634和无线控制器640(如本文所描述)所使用的各个程序线程交错,以有效地控制便携式通信装置620和其中的各个组件的操作。与各个程序线程相关联的许多指令在一个或一个以上时钟循环期间同时执行。由此,可实质上减小由于浪费的时钟循环而导致的功率和能量消耗。
DSP 624进一步包含全局模式控制寄存器660。全局模式控制寄存器可用于控制经交错线程的执行模式。每一线程的执行模式可以是等待模式、现用模式、断开模式、调试模式,或其它适当模式。
参看图7,展示蜂窝式电话的示范性非限制实施例,且大体上被指定为720。如所示,蜂窝式电话720包含芯片上***722,所述芯片上***722包含耦合在一起的数字基带处理器724和模拟基带处理器726。在特定实施例中,数字基带处理器724是数字信号处理器,例如图1所展示且本文所描述的数字信号处理器。数字信号处理器包含用以控制数字信号处理器的线程的执行模式的全局模式控制寄存器780。如图7中所说明,显示器控制器728和触摸屏控制器730耦合到数字基带处理器724。又,芯片上***722外部的触摸屏显示器732耦合到显示器控制器728和触摸屏控制器730。
图7进一步指示视频编码器734(例如,逐行倒相(phase alternating line,PAL)编码器、循序色彩与存储(sequential couleur a memoire,SECAM)编码器或美国国家电视***委员会(NTSC)编码器)耦合到数字基带处理器724。此外,视频放大器736耦合到视频编码器734和触摸屏显示器732。而且,视频端口738耦合到视频放大器736。如图7中所描绘,通用串行总线(USB)控制器740耦合到数字基带处理器724。而且,USB端口742耦合到USB控制器740。存储器744和订户身份模块(SIM)卡746也可耦合到数字基带处理器724。此外,如图7所示,数字相机748可耦合到数字基带处理器724。在示范性实施例中,数字相机748是电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图7中进一步说明,立体声音频CODEC 750可耦合到模拟基带处理器726。另外,音频放大器752可耦合到立体声音频CODEC 750。在示范性实施例中,第一立体声扬声器754和第二立体声扬声器756耦合到音频放大器752。图7展示麦克风放大器758也可耦合到立体声音频CODEC 750。另外,麦克风760可耦合到麦克风放大器758。在特定实施例中,频率调制(FM)无线电调谐器762可耦合到立体声音频CODEC 750。而且,FM天线764耦合到FM无线电调谐器762。此外,立体声头戴式耳机766可耦合到立体声音频CODEC 750。
图7进一步指示射频(RF)收发器768可耦合到模拟基带处理器726。RF开关770可耦合到RF收发器768和RF天线772。如图7中所示,小键盘774可耦合到模拟基带处理器726。而且,具有麦克风776的单声道头戴耳机可耦合到模拟基带处理器726。此外,振动器装置778可耦合到模拟基带处理器726。图7还展示电源780可耦合到芯片上***722。在特定实施例中,电源780是将电力提供给蜂窝式电话720的需要电力的各个组件的直流(DC)电源。此外,在特定实施例中,电源是可再充电DC电池或从连接到AC电源的交流(AC)到DC变压器得到的DC电源。
在特定实施例中,如图7中所描绘,触摸屏显示器732、视频端口738、USB端口742、相机748、第一立体声扬声器754、第二立体声扬声器756、麦克风、FM天线764、立体声头戴式耳机766、RF开关770、RF天线772、小键盘774、单声道头戴耳机776、振动器778和电源780在芯片上***722的外部。另外,在特定实施例中,数字基带处理器724可使用本文所描述的交错式多线程,以便处理与和蜂窝式电话720相关联的不同组件中的一者或一者以上相关联的各个程序线程。
参看图8,其展示无线因特网协议(IP)电话的示范性非限制实施例,且所述非限制实施例大体上被指定为800。如所示,无线IP电话800包含芯片上***802,所述芯片上***802包含数字信号处理器(DSP)804。在特定实施例中,DSP 804是图1中所示且本文所描述的数字信号处理器。数字信号处理器804包含全局模式控制寄存器860,用以控制处理器的程序线程。如图8中所说明,显示器控制器806耦合到DSP 804,且显示器808耦合到显示器控制器806。在示范性实施例中,显示器808是液晶显示器(LCD)。图8进一步展示小键盘810可耦合到DSP 804。
如图8中进一步描绘,快闪存储器812可耦合到DSP 804。同步动态随机存取存储器(SDRAM)814、静态随机存取存储器(SRAM)816和电可擦除可编程只读存储器(EEPRORM)818也可耦合到DSP 804。图8还展示发光二极管(LED)820可耦合到DSP 804。另外,在特定实施例中,语音CODEC 822可耦合到DSP 804。放大器824可耦合到语音CODEC 822,且单声道扬声器826可耦合到放大器824。图8进一步指示单声道头戴耳机828也可耦合到语音CODEC 822。在特定实施例中,单声道头戴耳机828包含麦克风。
图8还说明无线局域网(WLAN)基带处理器830可耦合到DSP 804。RF收发器832可耦合到WLAN基带处理器830,且RF天线834可耦合到RF收发器832。在特定实施例中,蓝牙控制器836也可耦合到DSP 804,且蓝牙天线838可耦合到控制器836。图8还展示USB端口840也可耦合到DSP 804。另外,电源842耦合到芯片上***802,并经由芯片上***802向无线IP电话800的各个组件提供电力。
在特定实施例中,如图8所指示,显示器808、小键盘810、LED 820、单声道扬声器826、单声道头戴耳机828、RF天线834、蓝牙天线838、USB端口840和电源842均在芯片上***802的外部。然而,这些组件中的每一者都耦合到芯片上***的一个或一个以上组件。此外,在特定实施例中,数字信号处理器804可使用如本文所描述的交错式多线程,以便处理各个程序线程,包含与和IP电话800相关联的不同组件中的两者或两者以上相关联的执行链接线程。
图9说明大体上被指定为900的便携式数字助理(PDA)的示范性非限制实施例。如所示,PDA 900包含芯片上***902,所述芯片上***902包含数字信号处理器(DSP)904。在特定实施例中,DSP 904是图1中所示且本文所描述的数字信号处理器。数字信号处理器904包含用以控制处理器的程序线程的全局模式控制寄存器960。如图9中所描绘,触摸屏控制器906和显示器控制器908耦合到DSP 904。此外,触摸屏显示器耦合到触摸屏控制器906,并耦合到显示器控制器908。图9还指示小键盘912可耦合到DSP 904。
如图9中进一步所描绘,快闪存储器914可耦合到DSP 904。而且,只读存储器(ROM)916、动态随机存取存储器(DRAM)918和电可擦除可编程只读存储器(EEPROM)920可耦合到DSP 904。图9还展示红外数据协会(infrared data association,IrDA)端口922可耦合到DSP 904。另外,在特定实施例中,数字相机924可耦合到DSP 904。
如图9中所示,在特定实施例中,立体声音频CODEC 926可耦合到DSP 904。第一立体声放大器928可耦合到立体声音频CODEC 926,且第一立体声扬声器930可耦合到第一立体声放大器928。另外,麦克风放大器932可耦合到立体声音频CODEC 926,且麦克风934可耦合到麦克风放大器932。图9进一步展示第二立体声放大器936可耦合到立体声音频CODEC 926,且第二立体声扬声器938可耦合到第二立体声放大器936。在特定实施例中,立体声头戴式耳机940也可耦合到立体声音频CODEC 926。
图9还说明802.11控制器942可耦合到DSP 904,且802.11天线944可耦合到802.11控制器942。另外,蓝牙控制器946可耦合到DSP 904,且蓝牙天线948可耦合到蓝牙控制器946。如图9中所描绘,USB控制器950可耦合到DSP 904,且USB端口952可耦合到USB控制器950。另外,智能卡954(例如,多媒体卡(MMC)或安全数字卡(SD))可耦合到DSP 904。此外,如图9中所示,电源956可耦合到芯片上***902,且可经由芯片上***902向PDA 900的各个组件提供电力。
在特定实施例中,如图9中所指示,显示器910、小键盘912、IrDA端口922、数字相机924、第一立体声扬声器930、麦克风934、第二立体声扬声器938、立体声头戴式耳机940、802.11天线944、蓝牙天线948、USB端口952和电源950在芯片上***902的外部。然而,这些组件中的每一者都耦合到芯片上***上的一个或一个以上组件。另外,在特定实施例中,数字信号处理器904可使用本文所描述的交错式多线程,以便处理各个程序线程,包含与和便携式数字助理900相关联的不同组件中的两者或两种以上相关联的执行链接线程。
参看图10,展示音频文件播放器(例如,移动图片专家组音频层-3(MP3)播放器)的示范性非限制实施例,且其大体上被指定为1000。如所示,音频文件播放器1000包含芯片上***1002,芯片上***1002包含数字信号处理器(DSP)1004。在特定实施例中,DSP 1004是图1中所示且本文所描述的数字信号处理器。DSP 1004包含用以控制处理器的程序线程的全局模式控制寄存器1060。如图10中所说明,显示器控制器1006耦合到DSP 1004,且显示器1008耦合到显示器控制器1006。在示范性实施例中,显示器1008是液晶显示器(LCD)。图10进一步展示小键盘1010可耦合到DSP 1004。
如图10中进一步描绘,快闪存储器1012和只读存储器(ROM)1014可耦合到DSP1004。另外,在特定实施例中,音频CODEC 1016可耦合到DSP 1004。放大器1018可耦合到音频CODEC 1016,且单声道扬声器1020可耦合到放大器1018。图10进一步指示麦克风输入1022和立体声输入1024也可耦合到音频CODEC 1016。在特定实施例中,立体声头戴式耳机1026也可耦合到音频CODEC 1016。
图10还指示USB端口1028和智能卡1030可耦合到DSP 1004。另外,电源1032可耦合到芯片上***1002,且可经由芯片上***1002向音频文件播放器1000的各个组件提供电力。
在特定实施例中,如图10中所指示,显示器1008、小键盘1010、单声道扬声器1020、麦克风输入1022、立体声输入1024、立体声头戴式耳机1026、USB端口1028和电源1032在芯片上***1002的外部。然而,这些组件中的每一者都耦合到芯片上***上的一个或一个以上组件。而且,在特定实施例中,数字信号处理器1004可使用本文所描述的交错式多线程,以便处理各个程序线程,包含与和音频文件播放器1000相关联的不同组件中的两者或两种以上相关联的执行链接线程。
通过本文所揭示的结构的配置,控制多线程处理器中的多个线程的***和方法提供一种将不同程序线程置于不同状态中的途径。此外,所述***和方法可允许一个线程确定另一线程的状态。所述***和方法可用于以本文所描述的方式来控制任意数目的程序线程。
所属领域的技术人员将进一步了解,结合本文所揭示的实施例而描述的各种说明性逻辑块、配置、模块、电路和算法步骤可实施为电子硬件、计算机软件或其组合。为了清楚地说明硬件与软件的这种可互换性,上文已大体上依据各种说明性组件、块、配置、模块、电路和步骤的功能性描述了各种说明性组件、块、配置、模块、电路和步骤。将此类功能性实施为硬件还是软件取决于特定应用和强加在整个***上的设计约束。所属领域的技术人员可针对每一特定应用以各种不同的方式来实施所描述的功能性,但此类实施决策不应被解释为导致与本发明的范围偏离。
结合本文所揭示的实施例而描述的方法或算法的步骤可直接实施在硬件中,由处理器执行的软件模块中,或上述两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、CD-ROM、或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息,并将信息写入存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻留在ASIC中。ASIC可驻留在计算装置或用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留在计算装置或用户终端中。
本发明提供所揭示的实施例的先前描述,使得所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,不希望本发明限于本文所示的实施例,而是希望符合与所附权利要求书所界定的原理和新颖特征相一致的最广范围。
Claims (37)
1.一种多线程处理器装置,其包括:
处理器,其经配置以执行多个可执行程序线程;以及
模式控制寄存器,所述模式控制寄存器包含用以控制所述多个可执行程序线程中的第一者的第一执行模式的第一数据字段,和用以控制所述多个可执行程序线程中的第二者的第二执行模式的第二数据字段。
2.根据权利要求1所述的处理器装置,其中所述第一执行模式是运行模式,且所述第二执行模式是低功率模式。
3.根据权利要求2所述的处理器装置,其中所述低功率模式是等待模式。
4.根据权利要求3所述的处理器装置,其中在所述等待模式期间,与所述多个可执行程序线程中的所述第二者相关联的状态数据存储在耦合到所述处理器的存储器中。
5.根据权利要求2所述的处理器装置,其中所述低功率模式是断开模式。
6.根据权利要求1所述的处理器装置,其中所述处理器经配置以在交错基础上执行多达六个不同程序线程。
7.根据权利要求1所述的处理器装置,其进一步包括:
存储器单元;
定序器,其响应于所述存储器单元,所述定序器支持超长指令字(VLIW)类型指令,且所述VLIW指令中的至少一者在执行期间使用若干操作数;
第一指令执行单元,其响应于所述定序器;
第二指令执行单元,其响应于所述定序器;
第三指令执行单元,其响应于所述定序器;
第四指令执行单元,其响应于所述定序器;以及
寄存器文件,其包含多个寄存器,所述寄存器文件耦合到所述存储器单元,并耦合到所述第一指令执行单元、所述第二指令执行单元、所述第三指令执行单元和所述第四指令执行单元,所述寄存器文件包含所述模式控制寄存器。
8.根据权利要求1所述的处理器装置,其进一步包括耦合到所述模式控制寄存器以对所述模式控制寄存器进行编程的逻辑。
9.根据权利要求8所述的处理器装置,其中所述逻辑将所述第一数据字段从指示所述运行模式的数据改变为指示低功率模式的数据。
10.根据权利要求8所述的处理器装置,其中所述逻辑将所述第一数据字段改变为指示调试模式的数据。
11.根据权利要求9所述的处理器装置,其中所述逻辑响应于由所述多个可执行程序线程中除了所述多个可执行程序线程的所述第一者之外的一者执行的指令。
12.一种位于多线程处理器内的模式控制寄存器,所述模式控制寄存器包括:第一数据字段,其用以控制将由所述多线程处理器执行的第一程序线程的第一执行模式;以及
第二数据字段,其用以控制将由所述多线程处理器执行的第二程序线程的第二执行模式。
13.根据权利要求12所述的模式控制寄存器,其中所述第一数据字段是指示相对于所述第一程序线程的操作的运行模式、等待模式、断开模式和调试模式中的一者的第一所存储二进制值。
14.根据权利要求13所述的模式控制寄存器,其中所述运行模式是用户模式或管理模式。
15.根据权利要求12所述的模式控制寄存器,其中所述第二数据字段是指示相对于所述第二程序线程的操作的运行模式、等待模式、断开模式和调试模式中的一者的第二所存储二进制值。
16.一种结合多线程处理器使用的模块,所述模块包括:
第一全局控制寄存器,其用以控制所述多线程处理器的第一功能;以及
第二全局控制寄存器,其是模式控制寄存器,所述模式控制寄存器具有用以控制所述多线程处理器的第一线程的执行模式的第一字段,和用以控制所述多线程处理器的第二线程的执行模式的第二字段。
17.根据权利要求16所述的模块,其中所述第二全局控制寄存器耦合到线程控制逻辑。
18.根据权利要求16所述的模块,其中所述第二全局控制寄存器耦合到统一的寄存器,且可响应于所述多线程处理器的至少一个执行单元而更新。
19.一种方法,其包括:
从第一线程接收第一控制信号;
响应于所述第一控制信号,改变控制寄存器的内容;以及
基于所述控制寄存器的所述内容,将第二线程置于至少三个可选模式中的一者中。
20.根据权利要求19所述的方法,其进一步包括:
基于所述控制寄存器的所述内容,将第三线程置于所述至少三个可选模式中的一者中。
21.根据权利要求19所述的方法,其中所述控制寄存器是全局寄存器。
22.根据权利要求19所述的方法,其中通过将掩码施加到所述控制寄存器而改变所述控制寄存器的所述内容。
23.根据权利要求22所述的方法,其中所述控制寄存器由多个数据段组成,其中所述第二线程的模式基于所述多个数据段中的至少一者,且其中将掩码施加到所述控制寄存器包括:改变所述多个数据段中的所述至少一者的值,而不改变所述多个数据段中的至少其它一者的值。
24.根据权利要求23所述的方法,其中第三线程的模式基于所述多个数据段中的所述至少其它一者。
25.根据权利要求19所述的方法,其中所述至少三个可选模式包含现用模式、等待模式和断开模式。
26.根据权利要求25所述的方法,其中所述至少三个模式包含第四模式。
27.根据权利要求26所述的方法,其中所述第四模式是调试模式。
28.根据权利要求19所述的方法,其中所述控制寄存器确定至少三个不同线程的模式。
29.根据权利要求19所述的方法,其进一步包括:
从第三线程接收第二控制信号;
响应于所述第二控制信号,改变所述控制寄存器的内容;以及
基于所述控制寄存器的所述内容,将所述第二线程置于所述至少三个可选模式中的一者中。
30.根据权利要求19所述的方法,其进一步包括:
响应于复位信号,初始化所述控制寄存器的所述内容。
31.一种操作***,其包括:
控制模块,其用以控制多个程序线程;
线程模式模块,其用以从所述多个程序线程中的至少一者接收线程模式请求;以及
线程控制寄存器,其响应于所述线程模式模块,其中所述多个程序线程中的每一者的模式基于所述线程控制寄存器的内容。
32.根据权利要求31所述的操作***,其中所述多个程序线程中的每一者的模式选自由现用模式、等待模式和断开模式组成的群组。
33.根据权利要求31所述的操作***,其进一步包括:
掩蔽模块,其用以将掩码施加到所述线程控制寄存器,所述掩码用以改变所述多个程序线程中的至少一者的模式,同时使所述多个程序线程中的至少其它一者的模式保持不变。
34.一种数字信号处理器,其包括:
存储器;
定序器,其响应于所述存储器;
寄存器文件,其耦合到所述存储器;
多线程处理器;以及
全局模式控制寄存器,所述全局模式控制寄存器具有用以控制所述多线程处理器的第一线程的执行模式的第一字段,和用以控制所述多线程处理器的第二线程的执行模式的第二字段。
35.一种便携式通信装置,其包括:
数字信号处理器,其中所述数字信号处理器包括:
存储器;以及
寄存器文件,其耦合到所述存储器,所述寄存器文件包括:
全局模式控制寄存器,其中所述全局模式控制寄存器包含用以控制所述数字信号处理器的第一线程的执行模式的第一字段,和用以控制所述数字信号处理器的第二线程的执行模式的第二字段。
36.根据权利要求35所述的便携式通信装置,其中所述执行模式选自由现用模式、等待模式和断开模式组成的群组。
37.一种处理器,其包括:
用于处理多个程序线程的装置;以及
用于控制所述多个程序线程中的每一者的执行模式的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/180,017 | 2005-07-12 | ||
US11/180,017 US7849466B2 (en) | 2005-07-12 | 2005-07-12 | Controlling execution mode of program threads by applying a mask to a control register in a multi-threaded processor |
PCT/US2006/026662 WO2007008749A2 (en) | 2005-07-12 | 2006-07-07 | System and method of controlling multiple program threads within a multithreaded processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101258465A true CN101258465A (zh) | 2008-09-03 |
CN101258465B CN101258465B (zh) | 2015-07-01 |
Family
ID=37637814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680032439.6A Active CN101258465B (zh) | 2005-07-12 | 2006-07-07 | 控制多线程处理器内的多个程序线程的***和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7849466B2 (zh) |
CN (1) | CN101258465B (zh) |
MX (1) | MX2008000623A (zh) |
WO (1) | WO2007008749A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389122A (zh) * | 2014-08-20 | 2016-03-09 | 爱思开海力士有限公司 | 数据储存器件的操作方法 |
CN107003898A (zh) * | 2014-12-19 | 2017-08-01 | Arm 有限公司 | 包括至少一个具有线程模式和事务模式的资源的设备及方法 |
CN107656513A (zh) * | 2017-08-25 | 2018-02-02 | 歌尔丹拿音响有限公司 | 嵌入式设备的模式切换方法和嵌入式设备 |
CN115280726A (zh) * | 2020-01-23 | 2022-11-01 | 罗伯特·博世有限公司 | 串行总线***的用户站的发送/接收装置和通信控制装置以及在串行总线***中通信的方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10606641B2 (en) | 2017-10-20 | 2020-03-31 | Graphcore Limited | Scheduling tasks in a multi-threaded processor |
GB201717303D0 (en) * | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Scheduling tasks in a multi-threaded processor |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3790607B2 (ja) * | 1997-06-16 | 2006-06-28 | 松下電器産業株式会社 | Vliwプロセッサ |
US6256775B1 (en) * | 1997-12-11 | 2001-07-03 | International Business Machines Corporation | Facilities for detailed software performance analysis in a multithreaded processor |
US6426961B1 (en) * | 1998-09-02 | 2002-07-30 | Bellsouth Intellectual Property Corporation | Method and system for selection of mode of operation of a service in light of use of another service in an ADSL system |
US20020089348A1 (en) * | 2000-10-02 | 2002-07-11 | Martin Langhammer | Programmable logic integrated circuit devices including dedicated processor components |
US7127588B2 (en) * | 2000-12-05 | 2006-10-24 | Mindspeed Technologies, Inc. | Apparatus and method for an improved performance VLIW processor |
US6944850B2 (en) * | 2000-12-21 | 2005-09-13 | Intel Corporation | Hop method for stepping parallel hardware threads |
US7225446B2 (en) * | 2001-02-20 | 2007-05-29 | Pts Corporation | Context preservation |
GB2372348B (en) | 2001-02-20 | 2003-06-04 | Siroyan Ltd | Context preservation |
US6928645B2 (en) * | 2001-03-30 | 2005-08-09 | Intel Corporation | Software-based speculative pre-computation and multithreading |
EP1512070A2 (en) | 2002-05-24 | 2005-03-09 | Koninklijke Philips Electronics N.V. | Configurable processor |
US7191349B2 (en) * | 2002-12-26 | 2007-03-13 | Intel Corporation | Mechanism for processor power state aware distribution of lowest priority interrupt |
US7152170B2 (en) * | 2003-02-20 | 2006-12-19 | Samsung Electronics Co., Ltd. | Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating |
US7496915B2 (en) * | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US7451332B2 (en) * | 2003-08-15 | 2008-11-11 | Apple Inc. | Methods and apparatuses for controlling the temperature of a data processing system |
US7272700B1 (en) * | 2003-12-23 | 2007-09-18 | Altera Corporation | Methods and apparatus for indirect compound VLIW execution using operand address mapping techniques |
US7702045B2 (en) * | 2004-08-31 | 2010-04-20 | Theta Microelectronics, Inc. | Method for estimating wireless channel parameters |
US20060149921A1 (en) * | 2004-12-20 | 2006-07-06 | Lim Soon C | Method and apparatus for sharing control components across multiple processing elements |
US7454631B1 (en) * | 2005-03-11 | 2008-11-18 | Sun Microsystems, Inc. | Method and apparatus for controlling power consumption in multiprocessor chip |
-
2005
- 2005-07-12 US US11/180,017 patent/US7849466B2/en active Active
-
2006
- 2006-07-07 WO PCT/US2006/026662 patent/WO2007008749A2/en active Application Filing
- 2006-07-07 CN CN200680032439.6A patent/CN101258465B/zh active Active
- 2006-07-07 MX MX2008000623A patent/MX2008000623A/es active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389122A (zh) * | 2014-08-20 | 2016-03-09 | 爱思开海力士有限公司 | 数据储存器件的操作方法 |
CN105389122B (zh) * | 2014-08-20 | 2020-02-28 | 爱思开海力士有限公司 | 数据储存器件的操作方法 |
CN107003898A (zh) * | 2014-12-19 | 2017-08-01 | Arm 有限公司 | 包括至少一个具有线程模式和事务模式的资源的设备及方法 |
CN107656513A (zh) * | 2017-08-25 | 2018-02-02 | 歌尔丹拿音响有限公司 | 嵌入式设备的模式切换方法和嵌入式设备 |
CN115280726A (zh) * | 2020-01-23 | 2022-11-01 | 罗伯特·博世有限公司 | 串行总线***的用户站的发送/接收装置和通信控制装置以及在串行总线***中通信的方法 |
CN115280726B (zh) * | 2020-01-23 | 2024-07-23 | 罗伯特·博世有限公司 | 发送/接收装置和通信控制装置以及通信方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2007008749A3 (en) | 2007-06-07 |
US20070016759A1 (en) | 2007-01-18 |
MX2008000623A (es) | 2008-04-02 |
US7849466B2 (en) | 2010-12-07 |
CN101258465B (zh) | 2015-07-01 |
WO2007008749A2 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101203830B (zh) | 用于在交错的多线程环境中操作的数字信号处理器的寄存器堆 | |
CN101501634B (zh) | 使用标量/向量指令处理数据的***和方法 | |
US8745627B2 (en) | System and method of controlling power in a multi-threaded processor | |
US7814487B2 (en) | System and method of executing program threads in a multi-threaded processor | |
US7529958B2 (en) | Programmable power transition counter | |
EP1896919B1 (en) | System and method of counting leading zeros and counting leading ones in a digital signal processor | |
US20060230253A1 (en) | Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment | |
US8688761B2 (en) | Arithmetic logic and shifting device for use in a processor | |
CN101258465B (zh) | 控制多线程处理器内的多个程序线程的***和方法 | |
KR20070118705A (ko) | 레지스터 파일에 액세스하기 위해 프리디케이트 값을이용하는 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |