CN101344842B - 多线程处理器及其多线程处理方法 - Google Patents

多线程处理器及其多线程处理方法 Download PDF

Info

Publication number
CN101344842B
CN101344842B CN2007101185880A CN200710118588A CN101344842B CN 101344842 B CN101344842 B CN 101344842B CN 2007101185880 A CN2007101185880 A CN 2007101185880A CN 200710118588 A CN200710118588 A CN 200710118588A CN 101344842 B CN101344842 B CN 101344842B
Authority
CN
China
Prior art keywords
instruction
processor
thread
threads
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007101185880A
Other languages
English (en)
Other versions
CN101344842A (zh
Inventor
梅思行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Simplight Nanoelectronics Co ltd
Original Assignee
SUZHOU SIMPLNANO ELECTRONICS CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SUZHOU SIMPLNANO ELECTRONICS CO Ltd filed Critical SUZHOU SIMPLNANO ELECTRONICS CO Ltd
Priority to CN2007101185880A priority Critical patent/CN101344842B/zh
Publication of CN101344842A publication Critical patent/CN101344842A/zh
Application granted granted Critical
Publication of CN101344842B publication Critical patent/CN101344842B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明披露了一种并行处理多个线程的处理器和处理器并行处理多个线程的方法。在并行处理多个线程的处理器中,所述多个线程可以来自不同应用程序。所述处理器包括架构性存储,分别为多个线程提供独立的指令和数据存放;指令发射单元,读取所述多个线程的指令并且将其发射到执行引擎;执行引擎,为多个线程共享,对来自指令发射单元的指令加以执行。本发明避免了在双核方案中复制执行流水线的需要,允许硬件资源的较好利用,在多个处理线程之间达到了较好的负载平衡,使芯片的成本大为降低。

Description

多线程处理器及其多线程处理方法
技术领域
本发明涉及处理器,具体地说涉及在处理器中进行多线程并行处理。
背景技术
处理器,特别是嵌入式处理器,越来越广泛地应用在移动通信、数字消费电子和智能控制设备等领域,其功能已由单一走向多元化。在同一个处理器中往往需要运行处理能力和特性均有所不同的应用程序。以便携式数字信息产品来说,既有大量实时的数字音频和视频处理,同时还要运行系统软件,处理通信协议/信令及用户交互信息。图1示意了一种现有技术的双处理器核架构。该架构包括一个微处理器核(MCU)和一个数字信号处理器(DSP)核。微处理器核在低功耗下运行实时操作系统,进行通信和交互等多种处理。DSP核进行高速实时数字运算。CPU核和DSP核之间往往需要通信。然而,这样的体系存在一定的功能重叠,比如CPU核和DSP核各自有自己的存储器、寄存器文件、通用寄存器(GPR)、存取单元、取指令单元、指令发射单元和总线等等,存在一定的硬件资源浪费。其次,在运行的时候,往往出现一个处理器核空闲而另一个处理器核忙的情形,直接限制了处理性能。第三,在双核环境下用户无法像开发单处理器程序一样去开发双核应用系统,需要在不同的平台上分别完成CPU核和DSP核的编程、调试、编译优化和连机测试的过程。
因此,迫切地需要有一种能够克服以上问题的新的处理器架构。
发明内容
根据本发明的第一方面,提供一种并行处理多个线程的处理器,该处理器包括为多个线程提供独立指令和数据存放的构架性存储,以及包括取指单元、指令发射单元、执行引擎及分支预测逻辑单元,其中,取指单元包括程序计数器、取指逻辑单元、PC控制器。
该取指单元中的程序计数器用于产生指明线程下一组指令地址的程序计数值;该取指逻辑单元对该程序计数值进行处理并将处理后的程序计数值发送出去,以便取出相应指令供所述指令发射单元接收。该指令发射单元对其接收到的多个线程指令进行冲突检查,再将该冲突检查的指令发送至所述执行引擎。该执行引擎为多个线程共享,其用于对来自指令发射单元的指令加以执行。
该分支预测逻辑单元在发现分支指令情况下,预测该分支的目标地址,如果预测正确,则将确认信号发送至所述PC控制器中的多路选择器选择预测的目标地址,并将该预测到的目标地址发送至程序计数器中进行更新,如果预测错误则选择备份的程序计数值。
根据本发明的第二方面,提供一种处理器并行处理多个线程的方法,该处理器包括为多个线程提供独立指令和数据存放的构架性存储。
该处理器中的取指单元从该多个线程中读取指令,该处理器中的指令发射单元对从取指单元接收的指令进行冲突检查,并从通过冲突检查的指令中选择指令,再将该指令发射至执行引擎,以便执行引擎对该指令加以执行。
当发现分支指令时,分支预测逻辑单元预测分支的目标地址,并将其发送至程序计数值多路选择器。如果预测正确,则确认信号指示所述程序计数值多路选择器选择预测的目标地址,并将所述预测目标地址发送至程序计数器加以更新。如果预测错误,则选择备份的程序计数值。
优选地,所述多个线程来自不同应用程序。
本发明避免了在双核方案中复制执行流水线的需要,允许硬件资源的较好利用,在多个处理线程之间达到了较好的负载平衡,使芯片的成本大为降低。
附图说明
下面将参照附图对本发明的优选实施方案进行更详细的说明,其中:
图1示意了一种现有技术的双处理器核架构;
图2是根据本发明一个实施方案的双线程处理器核的结构框图;
图3是对分支指令进行处理的示意图;
图4是根据本发明一个实施方案的双线程控制和管理的示意图;以及
图5是根据本发明的一个实施方案的片上系统(SoC系统)的结构图。
具体实施方式
本发明的处理器采用了基于单个可编程引擎进行多线程处理的集成模型。它没有采用两个分离的MCU和DSP核来进行不同应用的处理。与之相反,本发明在单个核内以多线程模式进行有关处理。
为简化说明起见,下文以双线程模式为例来描述本发明的各个具体实施方案。
图2是根据本发明一个实施方案的双线程处理器核的结构框图。该处理器核经配置可以同时处理来自不同应用程序的两个线程,即线程0和线程1。线程0和线程1的指令分别独立存储在指令高速缓冲存储器(简称指令高速缓存)的不同区域。换句话说,不同线程的指令高速缓存或其区域应当在物理或逻辑上是分离的。
如图2所示,处理器核包括取指单元210、指令发射单元230和共享的执行引擎250。取指单元210从指令高速缓存202分别取出线程0和1的指令。指令发射单元230从中选择可执行的指令,送往执行引擎250执行。
指令高速缓存202可以集成于处理器核内,也可以位于处理器核外。
下文进一步说明处理器核的具体结构。
取指单元210包括两个程序计数器(PC)PC0和PC1、取指逻辑单元212、指令缓冲单元214、和PC控制器216。
PC0和PC1产生分别指明线程0和线程1的下一组指令地址的程序计数(PC)值。PC0和PC1可以是能够产生程序计数值的常规设计的计数器,也可以包括增量计数器、分支检测逻辑和其它并非本发明关键的特征。在一个例子中,PC0和PC1分别由start_pc0和start_pc1信号提供初始PC值。
取指逻辑单元212对PC0和PC1产生的PC值进行处理,并且将处理后的PC值送往指令高速缓存。所述处理可以是交替选择PC值,也可以是将PC值并行送往指令高速缓存。
在一个优选实施方案中,取指逻辑单元212是一个多路选择器,用于在每个时钟周期交替从PC0和PC1产生的两个PC值中选择一个PC值,并且将之送往指令高速缓存。
指令高速缓存202根据接收到的PC值,取出相应的指令,并且将之送给指令缓冲单元214。优选地,当指令高速缓存未命中时,可以从外部SDRAM存储器提取指令。另外,处理器核可以为每个线程配备进出指令高速缓存202的专用线路,以避免这2个线程发生冲突。
指令缓冲单元214接收和存放来自指令高速缓存的线程0和线程1的指令,维持每个线程的程序次序并且为指令发射单元230提供每个线程的指令。在一个优选实施方案中,指令缓冲单元210为每个线程提供数个(比如4)指令缓冲区。如此,即便在由于分支预测或指令高速缓存未命中而导致指令提取停顿的时候,指令缓冲区也保持足够的指令供执行用。
如果指令缓冲单元214发现某个线程的指令缓冲区满,则发该线程缓冲区满信号buf_full给PC控制器216。后者将指示该线程对应的程序计数器,PC0或PC1,使之暂停计数。
指令发射单元230从指令缓冲单元214接收线程0和线程1的指令,并且对线程0和线程1的指令进行冲突检查;然后将通过冲突检查的指令发射给执行引擎250。指令发射单元230可以选择任一线程的指令,而不管上一次选择的指令来自哪一个线程。
执行引擎250包括存取单元(LS)252,算术逻辑/存取(ALU/LS)单元254,算术逻辑(ALU)256,乘法累加单元(MAC)258和固定功能单元260。固定功能单元260包含专用运算硬件,执行比如快速傅立叶变换(FFT)。
执行引擎250可以包括任意数量的执行单元,每个执行单元可以采用一般意义上的常规设计。
对于不同的待执行指令,处理器核可以选择不同的指令执行单元接收该指令并且加以执行。根据指令选择指令执行单元属于常规技术,不是本发明的关键所在。
在一个优选实施方案中,双线程处理器核是一个多发射超标量机。比如,指令发射单元可以将例如4个指令同时送往不同的执行单元。多发射特征可以令处理器核利用现有的指令级并行(ILP)来实现性能目标,而不需要过高的时钟频率。在一个例子中,每个时钟周期发射的指令可以按任意需要的组合从候选线程的指令中选取,比如可以限定为每个时钟周期每线程一个指令,也可以允许从同一线程发射多个指令。
在一个优选实施方案中,算术逻辑/存取(ALU/LS)单元254通过连接线向PC控制器216提供信号,指示PC控制器216条件分支此前被错误预测并且需要恢复正确的PC值。需要说明,算术逻辑/存取(ALU/LS)单元254也可以由具有算术逻辑功能的其它指令执行单元代替。
处理器核也包括两个通用寄存器组GPR0和GPR1,分别存放两个线程的操作数,便于执行单元读取。另外,也可以供执行单元回写两个线程的执行结果。GPR0例如是由32个32比特寄存器构成的寄存器组,用于线程0。GPR1例如是由32个16比特的寄存器构成的寄存器组,为线程1所用。处理器核100还可以包括两个控制寄存器(CR),或者其它的架构性存储。
在一个优选实施方案中,取指单元210包括线程控制器240,它根据某个线程的运行线程(active_thread)信号控制与该线程相关PC值的产生与指令的提取。在进一步优选的实施方案中,如果当前运行的线程(比如线程0)判断有新的独立线程(比如线程1)需要执行的时候,则产生运行线程信号。这样,线程控制器240通知前述的取指逻辑单元212与指令缓冲单元214,允许取指逻辑单元212选择与该线程有关的PC值,将之送往指令高速缓存202,并且允许指令缓冲单元214接收该线程的指令。
由上文可见,本发明采用独立的架构性存储为2个线程提供各自指令和数据的存放,同时流水线被统一而且为2个线程共享,从而取得较好的负载平衡和硬件利用。
普通技术人员知道,线程中不可避免存在着一些分支指令。图3是对分支指令进行处理的示意图。
如图3所示,当发现分支指令的时候,分支预测逻辑320预测分支的目标地址,并且将其发往PC控制器230中的PC值多路选择器330。
算术逻辑单元ALU340在执行分支指令后将确认该预测是否正确,并且将确认信号发送给PC值多路选择器330。算术逻辑单元ALU340可以是任何具有ALU功能的执行单元。
同时,PC控制器230还包括一个PC备份部分332和PC增量部分334。PC备份部分332保存有此前所取指令PC值的备份,PC增量部分334存储正常的PC增量值。
如果预测正确,表明预测的地址有效,则确认信号指示PC值多路选择器330选择预测的目标地址,将之送往PC310加以更新。如果预测错误,则选择备份的PC值。在没有分支发生的情况下,PC310按正常方式工作,选择正常的PC增量值并且将之加到当前PC值上,产生新的PC值。
在从SRAM取指令的情况下,鉴于SRAM的访问时间与时钟周期相比并不算短,加上从预测到确认分支的时间,有可能会超过一个时钟周期,难以使PC在同一个时钟周期内进行正确的变更,因此有可能导致在下一时钟周期所取指令被作废。如前文所述,通过线程0和线程1交替取指,即便发生分支,相应的PC也能够及时变更,避免时钟周期空转。
为了达到双核设计上最高的MIPS数,在一个实施方案中,处理器核采用了从取指令到结果回写的多发射指令(例如4个发射)路径。有时难以在实施于典型处理器上的任何正常应用程序中找到如此高的指令级并行ILP。然而,本发明的处理器核是双线程机,每个线程代表通常运行于两个不同核上的两个独立应用程序之一。结果,在每个线程的应用程序上所需的并行度实际上是2而不是4,这样更易于完全开发硬件的峰值发射率。
图4是该实施方案的双线程控制和管理的示意图。
如图4所示,在每个周期,来自线程0和线程1之一的4个指令从指令高速缓存取出,送入该线程的指令缓冲区410或420之内。如前文所述,线程0和线程1指令的提取可以是交替进行的。指令缓冲区即便在由于分支预测或指令高速缓存错失而导致指令提取停顿的时候也保持足够的指令供执行用。
然后,从两个线程的指令缓冲区410和420中读取指令到指令发射单元220。
在一个优选实施方案中,处理器核是一个顺序机器,只有最早的一条或多条指令将被读取,以查看它们能否被发射。
在一个优选实施方案中,从不同线程的指令缓冲区读取的指令数不同。设定从线程0读取的指令数为2,从线程1读取的指令数为3。这样做是为了因应线程所需性能的不同。
指令发射单元220包括两个冲突检查单元430和440,分别对线程0的指令和线程1的指令进行冲突检查。冲突检查的结果chk stats将送往线程选择器460。
线程选择器460根据各个指令的冲突检查结果chk stats,产生发射选择信号,并且用之控制发射多路选择器450。线程选择器460可以按各种方式配置,在线程0和线程1之间作出选择。
在一个优选实施方案中,线程选择器460包括优先级逻辑电路462,它基于线程的类型和/或特点,为线程设定不同的处理优先级。在一个例子中,线程1相比线程0而言有较高的优先级。如果所有条件都相同,也就是所有的5个指令不存在危险,那么来自线程1的3个指令和来自线程0的1个指令将会被发射往执行单元。线程0的另一个指令由于优先级低而需要等待到下一时钟周期。在另一个例子中,优先级逻辑电路462经配置为线程0和1提供同等的优先级,例如,交替地选择线程0和1。在又一个例子中,优先级逻辑电路462可以选择线程0和1中有效时间最久的线程。
发射多路选择器450根据发射选择信号选择待执行指令,送往执行引擎,供相关执行单元执行。
如前文所述,线程0的指令数例如为2,线程1的指令数例如为3。由于在大部分时间会有来自线程0和线程1的指令可供选择,因此依然有较高的概率实现来自线程0和线程1的4个指令的最大发射率。
执行引擎包含5个执行单元,以支持每个周期发射给它们的4个指令。
为了减少在发射阶段进行寄存器端口争用检查的复杂性,两个线程的寄存器文件将配有充足的端口,为这2个线程的每一个提供最大的发射率。如果假定每个指令有2个源操作数和1个目的操作数,线程0的32x 32比特寄存器文件将会有4个读端口和2个写端口,以支持为线程0所发射的2个指令。同样地,线程1的16x32比特寄存器文件将会有6个读端口和3写端口,支持3个常规RISC指令或者2个常规RISC指令加上一对16比特的MAC指令(这实际上等于对于线程1而言有4个发射)。
图5是根据本发明的一个实施方案的片上系统(SoC系统)的结构图。如图5所示,SoC系统包括双线程处理器核500,启动只读存储器(BootRom)510,指令高速缓存(I-Cache)520,数据高速缓存(Data-Cache)530,静态随机存储器(SRAM)540,中断控制器550,DMA560,系统管理单元570和外部接口580。
双线程处理器核500可以同时执行两个线程的处理。这两个线程可以来自彼此独立的应用程序,也可以来自同一个应用程序。在一个例子中,处理器核500采用线程0进行基带处理,线程1进行操作系统和其它的L2/L3处理。
指令高速缓存520可以采用任何常规设计。它分为两部分,分别存储待执行线程0和线程1的指令。这两部分彼此应当独立。
数据高速缓存530用于存放与待执行线程指令有关的数据。
处理器核500分别与指令高速缓存520和数据高速缓存530相连,从指令高速缓存520和数据高速缓存530中读取线程指令和相关数据,从而进行相应的线程处理。
此外,静态随机存储器(SRAM)540起内存作用,存放待执行的线程指令和数据;中断控制器550为处理器核500提供矢量化中断方案;系统管理单元570广播复位信号;BootRom510供系统内部启动用;DMA560提供存储器和外部设备之间的直接存储器访问;外部接口580作用在于将处理器核500连接到系统和外部设备总线,使之能够访问外部系统资源。
SoC系统还可以配备系统总线接口子系统,即AMBA-AHB总线模块,在其上可以连接外部接口控制器、SDRAM存储器控制器、静态存储器控制器(FLASH/SDRAM)、ABB接口控制器、RFIC接口控制器等。
SoC系统还可以配备外围设备总线子系统,即AMBA-APB模块,在其上可以连接APB桥接器接口控制器、UART接口控制器、SIM卡接口控制器、小键盘接口控制器、PWM接口控制器等。
上文结合双线程模式对本发明进行了描述。需要指出,这仅是举例,本发明可以适用于两个以上线程的多线程模式。
低成本和低功耗是处理器设计的两个最为重要的目标。在整个设计过程中,从架构到实施都需要有效地解决这两个问题。因此,面积利用率是非常重要的因素,因为面积小即意味着低成本和低功耗。
本发明的处理器采用了基于单个可编程引擎进行多线程处理的集成模型。采用本发明,避免了在双核方案中复制执行流水线的需要,允许硬件资源的较好利用,在多个处理线程之间达到了较好的负载平衡,使芯片的成本大为降低。本发明处理器核的多线程模型对编程人员来说是透明的,它们仍然可以继续将多个线程视为在多个不同硬件资源上运行的分离任务。
此外,在统一的平台上独立开发一套指令集,该指令集包括典型的RISC指令集,常用DSP指令,基带专用长指令,协处理器指令,节约代码大小的16比特指令子集。这套指令集有助于自由地较低成本地满足目标应用需求。另外,无需在不同的平台上分别完成CPU核和DSP核的编程、调试、编译优化和连机测试的过程。
本发明的多线程处理器核及其多线程处理方法可以并行处理来自不同应用程序的多个线程,比如视频和基带处理程序,或者音频和基带处理程序。它还可以并行处理同一应用程序的彼此独立的不同线程。
本发明的多线程处理器核不仅可以作为嵌入式处理器应用在移动通信终端、数字消费电子终端和智能控制设备等领域,还可以在其它领域广泛应用。
显而易见,在此描述的本发明可以有许多变化。比如,根据目标应用的特点和拟处理线程数,执行引擎中不同的执行单元有不同的数量(比如,包括两组ALU、LS,一个MAC)。
这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。

Claims (16)

1.一种并行处理多个线程的处理器,其特征在于,该处理器包括为多个线程提供独立指令和数据存放的构架性存储,以及包括取指单元、指令发射单元、执行引擎及分支预测逻辑单元,其中,取指单元包括程序计数器、取指逻辑单元、PC控制器;
所述取指单元中的程序计数器用于产生指明线程下一组指令地址的程序计数值;所述取指逻辑单元对该程序计数值进行处理并将处理后的程序计数值发送出去,以便取出相应指令供所述指令发射单元接收;
所述指令发射单元对其接收到的多个线程指令进行冲突检查,再将该冲突检查的指令发送至所述执行引擎;
所述执行引擎为多个线程共享,其用于对来自所述指令发射单元的指令加以执行;
所述分支预测逻辑单元在发现分支指令情况下,预测该分支的目标地址,如果预测正确,则将确认信号发送至所述PC控制器中的多路选择器选择预测的目标地址,并将该预测到的目标地址发送至所述程序计数器中进行更新,如果预测错误则选择备份的程序计数值。
2.如权利要求1所述的处理器,其特征在于所述处理器包括指令缓冲单元,它包含多个指令缓冲区,每个指令缓冲区存放来自指令高速缓冲存储器的所述多个线程中一个线程的指令。
3.如权利要求1所述的处理器,其特征在于所述多路选择器交替选择多个线程的程序计数值。
4.如权利要求1所述的处理器,其特征在于所述架构性存储包括多个通用寄存器组,每个通用寄存器组存放与所述多个线程中一个线程的指令有关的数据。
5.如权利要求1所述的处理器,其特征在于所述架构性存储包括多个指令高速缓冲存储部分或单元,每个指令高速缓冲存储部分或单元存储所述多个线程中一个线程的指令。
6.如权利要求1所述的处理器,其特征在于所述执行引擎包括存取单元,算术逻辑/存取单元,算术逻辑单元,乘法累加单元和固定功能单元中的一部分或全部。
7.如权利要求1所述的处理器,其特征在于所述处理器包括线程控制器,根据运行线程信号控制与之相关的线程指令的提取。
8.如权利要求1所述的处理器,其特征在于所述处理器包括程序计数控制器,控制程序计数器的计数。
9.如权利要求1所述的处理器,其特征在于所述指令发射单元包括多个线程冲突检查单元,分别产生多个线程的指令的冲突检查结果;线程选择器,根据多个线程的指令的冲突检查结果,产生发射选择信号;发射多路选择器,根据发射选择信号,选择指令送往执行引擎。
10.如权利要求9所述的处理器,其特征在于所述线程选择器包括一个线程类型优先级逻辑电路,赋予不同线程不同的优先级。
11.如权利要求1所述的处理器,其特征在于指令发射单元以超标量模式发射指令。
12.如权利要求1所述的处理器,其特征在于所述多个线程来自不同应用程序。
13.如权利要求1所述的处理器,其特征在于所述多个线程来自同一应用程序的不同独立部分。
14.一种处理器并行处理多个线程的方法,其特征在于,该处理器包括为多个线程提供独立指令和数据存放的构架性存储;且该方法包括:
取指单元从该多个线程中读取指令;指令发射单元对从取指单元接收的指令进行冲突检查,并从通过冲突检查的指令中选择指令,再将该选择到的指令发射至执行引擎,以便执行引擎对该指令加以执行;
当发现分支指令时,分支预测逻辑单元预测分支的目标地址,并将其发送至程序计数值多路选择器;如果预测正确,则确认信号指示所述程序计数值多路选择器选择预测的目标地址,并将所述预测目标地址发送至程序计数器加以更新;如果预测错误,则选择备份的程序计数值。
15.如权利要求14所述的方法,其特征在于所述处理器包括指令高速缓存,分别存储多个线程的指令;所述方法包括交替利用与多个线程有关的程序计数值,从指令高速缓存中提取指令的步骤。
16.如权利要求14所述的方法,其特征在于所述发射的步骤包括基于线程优先级从所述多个线程的指令选择指令的步骤。
CN2007101185880A 2007-07-10 2007-07-10 多线程处理器及其多线程处理方法 Expired - Fee Related CN101344842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101185880A CN101344842B (zh) 2007-07-10 2007-07-10 多线程处理器及其多线程处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101185880A CN101344842B (zh) 2007-07-10 2007-07-10 多线程处理器及其多线程处理方法

Publications (2)

Publication Number Publication Date
CN101344842A CN101344842A (zh) 2009-01-14
CN101344842B true CN101344842B (zh) 2011-03-23

Family

ID=40246853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101185880A Expired - Fee Related CN101344842B (zh) 2007-07-10 2007-07-10 多线程处理器及其多线程处理方法

Country Status (1)

Country Link
CN (1) CN101344842B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023844B (zh) * 2009-09-18 2014-04-09 深圳中微电科技有限公司 并行处理器及其线程处理方法
CN101739242B (zh) * 2009-11-27 2013-07-31 深圳中微电科技有限公司 一种流数据处理方法及流处理器
CN102004719B (zh) * 2010-11-16 2015-05-20 清华大学 支持同时多线程的超长指令字处理器结构
CN102768623A (zh) * 2011-05-06 2012-11-07 中兴通讯股份有限公司 一种vliw流水线的发射方法和装置
CN102955716B (zh) * 2011-08-19 2016-05-18 苏州简约纳电子有限公司 一种多线程处理器和处理方法
CN104054049B (zh) * 2012-01-06 2018-04-13 英特尔公司 用于复制源数据从而实现对源数据的并行处理的方法和系统
GB2510655B (en) * 2013-07-31 2015-02-25 Imagination Tech Ltd Prioritizing instructions based on type
CN104424032A (zh) * 2013-08-29 2015-03-18 华为技术有限公司 多线程处理器中分支预测资源的调度方法、设备和系统
US20150074353A1 (en) * 2013-09-06 2015-03-12 Futurewei Technologies, Inc. System and Method for an Asynchronous Processor with Multiple Threading
US20160170770A1 (en) * 2014-12-12 2016-06-16 Qualcomm Incorporated Providing early instruction execution in an out-of-order (ooo) processor, and related apparatuses, methods, and computer-readable media
GB2551548B (en) * 2016-06-22 2019-05-08 Advanced Risc Mach Ltd Register restoring branch instruction
CN108255517B (zh) * 2016-12-29 2020-05-05 展讯通信(上海)有限公司 处理器及请求指令缓存数据的方法
CN106945406B (zh) * 2017-04-01 2018-06-05 杭州旗捷科技有限公司 耗材芯片的操作方法、耗材芯片、耗材容器、耗材设备
CN112631858A (zh) * 2020-12-18 2021-04-09 苏州浪潮智能科技有限公司 一种线程监控方法、系统、设备以及介质
US20220413911A1 (en) * 2021-06-29 2022-12-29 International Business Machines Corporation Routing instructions in a microprocessor
CN114168202B (zh) * 2021-12-21 2023-01-31 海光信息技术股份有限公司 指令调度方法、指令调度装置、处理器及存储介质
CN114942831A (zh) * 2022-03-31 2022-08-26 上海阵量智能科技有限公司 处理器、芯片、电子设备及数据处理方法
CN117009054B (zh) * 2023-07-27 2024-06-28 北京登临科技有限公司 一种simt装置、线程组动态构建方法及处理器

Also Published As

Publication number Publication date
CN101344842A (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101344842B (zh) 多线程处理器及其多线程处理方法
US7363467B2 (en) Dependence-chain processing using trace descriptors having dependency descriptors
JP5372929B2 (ja) 階層マイクロコードストアを有するマルチコアプロセッサ
EP1570351B1 (en) Cross partition sharing of state information
US5933627A (en) Thread switch on blocked load or store using instruction thread field
US9170818B2 (en) Register renaming scheme with checkpoint repair in a processing device
US7853779B2 (en) Methods and apparatus for scalable array processor interrupt detection and response
EP1562109B1 (en) Thread id propagation in a multithreaded pipelined processor
CN102362257B (zh) 使用相关矩阵追踪解除分配的加载指令的方法、系统和处理器
KR101594502B1 (ko) 바이패스 멀티플 인스턴스화 테이블을 갖는 이동 제거 시스템 및 방법
US9015450B2 (en) Apparatus utilizing efficient hardware implementation of shadow registers and method thereof
US20130297912A1 (en) Apparatus and method for dynamic allocation of execution queues
JP2006524380A (ja) 同時マルチスレッド(smt)プロセッサにおいてスレッドごとのプロセッサ・リソース使用率を決定するためのアカウンティング方法および論理
US8495649B2 (en) Scheduling threads having complementary functional unit usage on SMT processors
WO2015024452A1 (zh) 一种分支预测方法及相关装置
US7493478B2 (en) Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
EP2573673B1 (en) Multithreaded processor and instruction fetch control method of multithreaded processor
WO2012106716A1 (en) Processor with a hybrid instruction queue with instruction elaboration between sections
US20080320240A1 (en) Method and arrangements for memory access
US20100095305A1 (en) Simultaneous multithread instruction completion controller
CN116302106A (zh) 用于促进分支预测单元的改善的带宽的设备、方法和系统
CN101371223A (zh) 运算数的提早有条件选择
CN116501389B (zh) 指令缓冲单元、处理器及计算机系统
US7831979B2 (en) Processor with instruction-based interrupt handling
US5713012A (en) Microprocessor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SUZHOU JIANYUENA ELECTRONICS CO., LTD.

Free format text: FORMER OWNER: BEIJNG SIMPLE LIGHT ELECTRONICS CO., LTD.

Effective date: 20100604

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100088 ROOM 1001, BLOCK B, JINQIU INTERNATIONAL BUILDING, NO.6, ZHICHUN ROAD, HAIDIAN DISTRICT, BEIJING TO: 215021 ROOM A-0305, INTERNATIONAL SCIENCE PARK, NO.1355, JINJIHU AVENUE, SUZHOU CITY INDUSTRIAL PARK DISTRICT

TA01 Transfer of patent application right

Effective date of registration: 20100604

Address after: 215021 A-0305, international science and Technology Park, 1355 Jinji Lake Avenue, Suzhou Industrial Park

Applicant after: SUZHOU SIMPLIGHT NANOELECTRONICS CO.,LTD.

Address before: 100088 Beijing City, Haidian District Zhichun Road Jinqiu International Building No. 6 room 1001 building B

Applicant before: BEIJING SIMPLIGHT NANOELECTRONICS Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110323

CF01 Termination of patent right due to non-payment of annual fee