能够高效处理汇聚设备应用的多线程处理器制造技术

技术编号:2852944 阅读:179 留言:0更新日期:2012-04-11 18:40
一个多线程处理器包括:一个指令解码器,用于解码所检索的指令以为每个所提取的指令确定指令类型;一个整数单元,连接到指令解码器,用于处理整数型指令;和一个矢量单元,连接到指令解码器,用于处理矢量型指令。一个缩减单元最好与矢量单元相连,并接收在矢量单元内处理的并行数据单元。缩减单元根据并行数据单元生成串行输出。处理器可以被配置以至少执行控制编码、数字信号处理器(DSP)编码、Java编码和网络处理编码,因此,特别适合于在汇聚设备内使用。该处理器最好被配置以结合指令流水线化使用令牌触发线程化。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本申请一般涉及数字数据处理器领域,更具体地说,涉及多线程处理器。
技术介绍
多线程处理器是支持多个不同的指令序列或“线程”同时执行的处理器。常规的线程化技术例如在下述文献中描述M.J.Flynn,“Computer ArchitecturePipelined and Parallel Processor Design”,Jones and Bartlett Publishers,Boston,MA,1995和G.A.Blaauw和Frederick P.Brooks,“Computer ArchitectureConcepts andEvolution”,Addison-Wesley,Reading,Massachusetts,1997,两篇文献在此引用作为参考。现有的多线程处理器通常并不为了在汇聚设备内使用而进行优化,所述汇聚设备包括配置以处理语音、数据、音频、视频和其它通过多种不同介质传输的信息的设备。这种设备通常需要执行多种不同类型的编码,包括与信号处理操作有关的数字信号处理器(DSP)编码以及用Java或另一种面向对象编程语言编写的高级程序应用编码。这种汇聚设备的更具体的例子是最近开发出的诸如第三代合作项目(3GPP)宽带CDMA(WCDMA)系统的高速CDMA通信系统的无线移动单元,所述系统在3GPP技术规范TS 25.1xx中予以描述,此规范在此引用作为参考。因此,需要一种特别适合于在汇聚设备内使用的改进型多线程处理器。
技术实现思路
本专利技术提供一种改进型多线程处理器,它在一个说明性的实施例中能够有效地执行基于RISC的控制编码、DSP编码、Java编码和网络处理编码,因而,特别适合于在3GPP WCDMA移动单元或其它汇聚设备内使用。根据本专利技术的一个方面,一种多线程处理器包括一个指令解码器,用于解码所检索出的指令以确定每个所检索指令的指令类型;一个整数单元,耦合到所述指令解码器,用于处理整数型指令;和一个矢量单元,耦合到所述指令解码器用于处理矢量型指令。一个缩减单元优选地与矢量单元相关连,并接收在矢量单元内处理的并行数据单元。缩减单元根据所述并行数据单元生成串行输出。该处理器优选地被配置以结合指令流水线化技术使用令牌触发线程化。附图说明图1是根据本专利技术的多线程处理器的说明性实施例的方框图。图2是说明含有图1的多线程处理器的处理系统的一种可能实施方式的方框图。具体实施例方式在此将结合示例性的多线程处理器和相应的处理系统来说明本专利技术。然而,应当理解本专利技术并不需要使用该说明性实施例的具体的多线程处理器和处理系统结构,通常更适合于在希望提供改进型处理器性能的任何多线程处理器或信息处理系统应用内使用。此外,尽管特别适合于在汇聚设备内使用,但是本专利技术的多线程处理器也可以在其它类型的设备内使用。如在下文中将要更详细地描述的,根据本专利技术的多线程处理器的说明性实施例能够执行基于RISC的控制编码、数字信号处理器(DSP)编码、Java编码和网络处理编码。该处理器包括单指令多数据(SIMD)矢量单元、缩减单元和长指令字(LIW)复合指令执行。图1图示根据本专利技术的多线程处理器102。该多线程处理器102包括多线程超高速缓冲存储器110、多线程数据存储器112、指令解码器116、寄存器文件118和存储器管理单元(MMU)120。多线程超高速缓存存储器110在此也称作多线程超高速缓存。多线程超高速缓存110包括多个线程超高速缓存110-1、110-2、…、110-N,其中N通常代表该多线程处理器102所支持的线程数量,在这个具体的例子中,N=4。当然,也可以使用其它的N值,如对于本领域的技术人员来说显而易见的。因而,每个线程具有在多线程超高速缓存110内与之相关的相应线程超高速缓存。类似地,数据存储器112包括N个不同的数据存储器的例子,如图所示标记为数据存储器112-1、112-2、…、112-N。处理器102可以执行令牌触发多线程,例如在上述代理人案卷号1007-8和标题为“用于令牌触发多线程化的方法和设备”的美国专利申请中所描述的。令牌触发线程化通常将不同的令牌分配给多个处理器线程中的每个线程。例如,令牌触发线程化可以使用一个令牌与当前的处理器时钟周期结合来识别处理器线程中的一个具体线程,该线程将发出用于随后的时钟周期的指令。也可以使用或者替代地使用其它类型的线程化。多线程超高速缓存110内的每个线程超高速缓存可以包括具有一组或多组存储器位置的存储器阵列。给定的线程超高速缓存还包括一个线程标识符寄存器,用于存储一个相关的线程标识符。多线程超高速缓存110通过MMU 120与处理器102外部的主存储器(未图示)形成接口。类似于超高速缓存110,MMU 120包括用于处理器所支持的N个线程中每个线程的单独实例。MMU 120确保来自主存储器的适当指令被下载到多线程超高速缓存110。可包括超高速缓存控制器或者与之相连的MMU 120可以执行至少一部分地址映射技术,例如完全相关映射、直接映射或组相关映射。适合于结合本专利技术使用的说明性的组相关映射技术在于2002年6月4日提交的共同转让给本申请人的美国专利申请10/161,774和10/161,874中进行了描述,这两篇专利文献在此引用作为参考。数据存储器112通常还直接连接到上述的外部主存储器,尽管这个连接在附图中并没有明确地图示出。还与数据存储器112连接的是数据缓存器130。在上面引用的代理人案卷号为1007-5和标题为“用于在多线程处理器内的基于线程的存储器存取的方法和设备”的美国专利申请中描述了数据存储器112或与多线程处理器相连的其它存储器。通常,多线程超高速缓存110用于存储将由多线程处理器102执行的指令,而数据存储器112存储由指令操作的数据。指令由指令解码器116从多线程超高速缓存110中提取出并解码。根据指令类型,指令解码器116可以将给定的指令或相关信息转发给处理器内的各个其它单元,如在下文中将要描述的。处理器102还包括一组辅助寄存器132,在这个例子中,包括控制寄存器(CR)134、链接寄存器(LR)136和计数器寄存器(CTR)138。这些辅助寄存器通过修改所提取的指令的位置来协助程序控制流。如图所示,图示了与该说明性实施例内的每个线程相连的每个辅助寄存器134、136和138的一个实例。处理器102内的其它寄存器包括支路寄存器140和程序计数器(PC)寄存器142。类似于辅助寄存器134、136和138,程序计数器寄存器142包括用于每个线程的一个实例。支路寄存器140从指令解码器116接收指令,并结合程序计数器寄存器142将输入提供给加法模块144。单元140、142和144总的包括处理器102的一个分支单元。该分支单元控制由处理器所执行的指令流水线内的指令的提取。寄存器文件118提供整数结果的临时存储。解码从指令解码器116提供给整数指令队列(IQ)150的指令,并通过使用图示为包括用于每个线程的单独实例的偏移单元152来选择正确的硬件线程单元。偏移单元152将明确的比特插入寄存器文件地址,以便并不中断独立的线程数据。对于给定的线程来说,这些明确的比特可以包括诸如相应的线程标识符。如图所示,寄存器文件118连接到输入寄本文档来自技高网...

【技术保护点】
一种多线程处理器,包括:一个指令解码器,用于解码所检索的指令以确定至少一个子集的所提取指令中的每个指令的指令类型;一个整数单元,连接到指令解码器,用于处理从指令解码器接收的整数型指令;和一个矢量单元,连接到指令解码器 ,用于处理从指令解码器接收的矢量型指令。

【技术特征摘要】
US 2001-12-20 60/341,289;US 2002-10-11 10/269,3721.一种多线程处理器,包括一个指令解码器,用于解码所检索的指令以确定至少一个子集的所提取指令中的每个指令的指令类型;一个整数单元,连接到指令解码器,用于处理从指令解码器接收的整数型指令;和一个矢量单元,连接到指令解码器,用于处理从指令解码器接收的矢量型指令。2.根据权利要求1的多线程处理器,还包括一个缩减单元,与矢量单元相关连,并接收在矢量单元内处理的并行数据单元,该缩减单元根据该并行数据单元生成一个串行输出。3.根据权利要求1的多线程处理器,其中通过指令解码器从多线程处理器的多线程超高速缓存存储器检索指令,该多线程超高速缓存存储器包括用于处理器的多个线程中每个线程的线程超高速缓存。4.根据权利要求1的多线程处理器,其中整数单元还包括一个整数指令队列,它具有一个连接到指令解码器的输出的输入;一个寄存器文件,它具有连接到整数指令队列的输出的一个输入;一个偏移单元,它具有连接到一个寄存器文件的输入的一个输出;和一个加法单元,它具有连接到寄存器文件的一个输出的至少一个输入。5.根据权利要求4的多线程处理器,其中偏移单元包括用于由处理器支持的多个线程中每个线程的单独实例。6.根据权利要求1的多线程处理器,其中矢量单元还包括一个矢量指令队列,它具有连接到指令解码器的一个输出的一个输入;一个矢量文件,它具有连接到矢量指令队列的一个输出的一个输入;一个偏移单元,它具有连接到矢量文件的一个输入的一个输出;和至少一个运算单元,它具有连接到矢量文件的一个输出的一个输入。7.根据权利要求6的多线程处理器,其中偏移单元包括用于由处理器支持的多个线程中每个线程的一个单独实例。8.根据权利要求1的多线程处理器,其中该处理器被配置为至...

【专利技术属性】
技术研发人员:埃德姆赫凯内克马扬穆德吉尔约翰C格洛斯纳
申请(专利权)人:杉桥技术公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1