当前位置: 首页 > 专利查询>艾色拉公司专利>正文

用于在双通道处理器中控制处理的装置和方法制造方法及图纸

技术编号:2919676 阅读:152 留言:0更新日期:2012-04-11 18:40
根据本发明专利技术的实施例,公开了一计算机处理器结构;尤其是公开了一种计算机处理器、一种操作所述处理器的方法以及一种计算机程序产品,所述计算机程序产品利用用于所述计算机的指令集合。在根据本发明专利技术的一个实施例中,提供了一种计算机处理器,包括:解码单元,用于解码来自于存储器的一串指令包,其中每个指令包包括多条指令;第一处理通道,其包括多个功能单元并可操作用于执行控制处理操作;第二处理通道,其包括多个功能单元并可操作用于执行数据处理操作;其中所述解码单元可操作用于接收指令包,并检测所述指令包是否定义了(i)多个控制指令或(ii)其中的一个或多个指令为数据处理指令的多个指令,以及其中当所述解码单元检测到所述指令包包括多个控制指令时,所述控制指令被提供给第一处理通道以按照程序顺序执行。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机处理器、操作所述处理器的方法以及包含用于所述计算机的指令集合的计算机程序产品。
技术介绍
为了提高计算机处理器的速度,现有技术中的结构已经使用了双执行通道来执行指令。双执行通道处理器能依据单指令多数据(SIMD)的原则进行操作,利用并行操作来提高处理器的速度。然而,尽管使用了双执行通道和SIMD处理,现在仍存在提高处理器速度的需求。典型的双执行通道处理器使用两个基本上相同的通道,所以每个通道都处理控制代码和数据路径(data path)代码。虽然已知的处理器支持32位标准编码和16位“紧凑”编码的组合,但这样的方案存在几个缺点,包括在16位格式中可用的少数几位信息中缺乏语义内容。此外,常规的通用数字信号处理器不能匹配在很多场合下的应用程序专用算法,其中包括执行例如卷积、快速傅立叶变换、Trellis/Viterbi编码、相关和有限脉冲响应滤波的特殊操作以及其它操作。
技术实现思路
在根据本专利技术的一个实施例中,提供了一计算机处理器。所述计算机处理器包括(a)解码单元,用于解码来自于存储器的一串指令包,其中每个指令包包括多条指令;(b)第一处理通道,其包括多个功能单元并可操作用于执行控制处理操作;以及(c)第二处理通道,其包括多个功能单元并可操作用于执行数据处理操作;其中所述解码单元可操作用于接收一指令包,并检测所述指令包是否定义了(i)多个控制指令或(ii)其中的一个或多个指令为数据处理指令的多个指令,并且其中当所述解码单元检测到所述指令包包括多个控制指令时,所述控制指令被提供给所述第一处理通道以按照程序的顺序执行。在相关的实施例中,所述计算机处理器的解码单元可操作用于检测包含三个控制指令的指令包以及用于控制执行所述三个控制指令中的每一个的控制过程,所述执行以所述指令在所述指令包中出现的顺序进行。所述解码单元也可操作用于检测包含多个长度相等的控制指令的指令包,或用于检测在指令包中的位长(bit length)在18位到24位之间的控制指令,以及特别用于检测每个均具有21位位长的多个控制指令。所述解码单元可操作用于接收并解码位长为64位的指令包。在进一步的相关实施例中,所述解码单元可操作用于检测何时在所述指令包中存在至少一数据处理指令,并且作为响应,使相关的数据被提供给所述数据处理通道。所述解码单元也可操作用于检测所述指令包包括至少一数据处理指令以及从一个或多个存储器存取指令、控制指令以及数据处理指令中选出的一个进一步的指令。所述至少一数据处理指令和所述进一步的指令可被同时执行。所述第二处理通道可专门用于数据处理操作的执行,并且数据处理指令可以汇编语言的形式提供。所述控制处理操作可基于直到第一预定义位宽的操作数执行,而所述数据处理操作可基于直到第二预定义位宽的数据执行,所述第二预定义位宽大于所述第一预定义位宽。在进一步的相关实施例中,所述第一处理通道可包括从一个或多个控制寄存器文件,控制执行单元,分支执行单元和装载/存储单元中选出的单元。所述第二处理通道可包括数据执行路径,所述路径包括可配置的数据执行单元。所述第二处理通道也可包括数据执行路径,所述路径包括固定的数据执行单元。在使用中,一个或多个所述可配置的和固定的数据执行单元可根据单指令多数据的原则进行操作。所述数据处理通道可包括一个或多个数据寄存器文件和装载/存储单元。一单个的装载/存储单元可被所述控制处理通道和所述数据处理通道通过各自的端口进行存取。在进一步的相关实施例中,所述解码单元可操作用于检测包含至少一数据处理指令的指令包,其中所述至少一数据处理指令的位长在30至38位之间,例如,所述位长可为34位。所述解码单元也可操作用于检测包含数据处理操作和存储器存取指令的指令包。所述存储器存取指令的位长可为,例如28位。所述解码单元也可操作用于检测包含数据处理指令和控制处理指令的指令包。所述控制处理指令可以是C代码或其变型。所述解码单元也可操作用于检测汇编语言形式的数据处理指令。在根据本专利技术的另一个实施例中,提供了一操作计算机处理器的方法,所述计算机处理器包括第一和第二处理通道,每一个处理通道具有多个功能单元,其中所述第一处理通道可操作用于执行控制处理操作而所述第二处理通道可操作用于执行数据处理操作。所述方法包括(a)从存储器中接收一系列指令包,每一个所述指令包包括多个定义操作的指令;(b)通过确定所述指令包是否定义了(i)多个控制指令或(ii)至少一个数据处理指令,来依次解码每一个指令包;并且其中当所述解码单元检测到所述指令包包括多个控制指令时,提供所述多个控制指令给所述第一处理通道以按照序列执行。在根据本专利技术的另一个实施例中,提供了一计算机程序产品,其中包括用于使计算机按照前述的方法进行操作的程序代码装置。在根据本专利技术的进一步的实施例中,提供了计算机程序代码,其中包括用于使计算机按照前述的方法进行操作的一系列指令。在根据本专利技术的另一个实施例中,提供了一计算机指令集合,其中包括第一类指令包和第二类指令包,所述第一类指令包中的每一个指令包包括顺序执行的多个控制指令,所述第二类指令包中的每一个指令包包括同时执行的至少一数据处理指令和一进一步的指令,所述进一步的指令从一个或多个存储器存取指令、控制指令和数据处理指令中选择得出。本专利技术的其它优点和新颖的特征部分地将在下面的描述中阐明,并且部分地通过下面的说明和附图的检验,对本领域的技术人员变得显而易见,或者可以通过实践本专利技术而被了解。附图说明为了更好地理解本专利技术,以及说明可以怎样实现上述内容,将通过举例的方式参考附图进行说明,其中图1是根据本专利技术的一个实施例的非对称双执行通道计算机处理器的结构图;图2显示了根据本专利技术的一个实施例的用于图1中的处理器的典型的指令类;以及图3是显示了根据本专利技术的一个实施例的可配置的深度(deep)执行单元的部件的示意图。具体实施例方式图1是根据本专利技术的一个实施例的非对称双通道计算机处理器的结构图。图1中的处理器在两个不同的硬件执行通道之间分割一单指令流100的处理专门用于处理控制代码的控制执行通道102和专门用于处理数据代码的数据执行通道103。依照控制代码和数据路径代码的不同特征,所述两个执行通道102、103的数据宽度、操作符和其它特征也不同。典型地,控制代码可能使用更少、更窄的寄存器,难以并行,典型地(但非排他地)被编写为C代码或另一高级语言的格式,以及其代码密度通常比其速度性能更重要。相反地,数据路径代码典型地可能使用宽的寄存器的大文件,高度并行,被编写为汇编语言的格式,以及其性能比其代码密度更重要。在图1中的处理器中,所述两个不同的执行通道102和103专门用于处理所述两种不同类型的代码,每一侧具有由寄存器的宽度和数目所区分的其固有结构的寄存器文件,例如控制寄存器文件104和数据寄存器文件105;所述控制寄存器按照位数计算,宽度较窄(在一个例子中,32位),而所述数据寄存器宽度较宽(在一个例子中,64位)。因此所述处理器是非对称的,由于其两个执行通道执行不同的专用功能的事实,其两个执行通道的位宽不同。在图1中的处理器中,所述指令流100由一系列指令包组成。提供的每一个指令包被指令解码单元101解码,所述指令解码单元101将控制指令与数据指令分本文档来自技高网...

【技术保护点】
一种计算机处理器,所述处理器包括:(a)解码单元,用于解码来自于一存储器的一串指令包,其中每个指令包包括多条指令;(b)第一处理通道,其包括多个功能单元并可操作用于执行控制处理操作;(c)第二处理通道,其包括多个功能 单元并可操作用于执行数据处理操作;其中所述解码单元可操作用于接收指令包,并检测所述指令包是否定义了(i)多个控制指令或(ii)其中的一个或多个指令为数据处理指令的多个指令,以及其中当所述解码单元检测到所述指令包包括多个控制指令时,所 述控制指令被提供给所述第一处理通道以按照程序的顺序执行。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:S诺勒斯
申请(专利权)人:艾色拉公司
类型:发明
国别省市:GB[英国]

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

1