减少处理器中写入通信量的方法和系统技术方案

技术编号:2881189 阅读:153 留言:0更新日期:2012-04-11 18:40
公开了一种用于减少处理器中写入通信量的指令执行设备和方法。该指令执行设备包括一个指令管道,用于产生一条指令的一个结果,一个寄存器文件包括至少一个写入端口用于存储所述结果,一个旁路电路允许存取所述结果,一个用于决定所述结果是否仅另一条指令所用的装置,以及一个寄存器文件控制器,用于当所述结果已由所述旁路电路存取以及已仅被另一条指令所用时防止所述结果存入所述写入端口。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般属于数字计算电路领域,尤其涉及一种以处理器方式使用的指令执行设备的方法和系统。
技术介绍
通常微处理器设计动机的标准在于,例如,减少这些设备的体积及能量消耗,以及减少整个成本。特别指出,在这一点上,可实现同时并行的大量指令的指令执行体系结构的发展代表此项技术的发展。现有的系统和方法提供上述类型的指令执行体系结构,例如,微处理器指令设置体系(ISAs)。有代表性地,实现这些ISAs使用一种所谓的“管道”方法来覆盖并发指令的不同执行阶段。一个传统的4-阶段管道包括(1)取数据,(2)解码,(3)执行以及(4)写回。数据传输类型的指令如一加载指令,通常需要另外一个指令管道阶段。在该周期的第一阶段,处理器从存储器取得一条指令。所取得指令的地址存储在称为程序寄存器或PC的内部寄存器。由于处理器正在等待存储器对指令做出响应,因此PC增1。这意味着下一周期的取数据阶段将取出存储器中下一连续位置的指令(除非PC被该周期的较后阶段修改)。在解码阶段,处理器存储另一称为指令寄存器或IR的内部寄存器返回的信息。上述IR将一条单独的机器指令解码为一二进制数。处理器再将IR中的数值解码以决定下一阶段将执行哪一操作。在执行阶段,处理器执行该指令。这一步骤通常需要更多的存储操作。例如,该指令可指示处理器从存储器中读取两个操作数(例如,将它们存入操作数寄存器),把它们相加以及将结果存储在第三位置(该操作数及结果的目的地址均被编码作为指令的一部分)。在管道的写回阶段,管道中的上述计算结果被写入(回收)一个寄存器文件中的一目的寄存器中。在另一种已有的管道方法中,提供电路为允许操作数或结果值不经过该寄存器文件。使用这种旁路电路,上述操作数及结果值在产生操作数指令被回收之前已经可用于并发指令(举例来说,写回到寄存器文件)。然而,这些传统类型的管道有许多缺点。例如,传统的管道方法通常在一寄存器文件种需要大量独立的寄存器来充分执行大量同时并行的指令。有代表性的,大寄存器文件占整个能量消耗的大部分。另外,每一条指令执行时管道的每一阶段都必须运行。这些缺点依次体现在能量消耗和处理器的体积上。因此,管道中所需的管道阶段和电路元件的数量的任何减少都在处理器中运行指令执行时可以引起(1)改善整个能量消耗以及(2)缩小处理器的整个体积。
技术实现思路
本专利技术的一个目的是解决如上所述的包括处理器的指令执行设备的局限性。本专利技术的另一个目的是提供一种处理器指令设置体系来减少管道方法中寄存器文件的写操作次数;另外一个优点是还可以减少处理器的整个能量消耗。另外,由于所需的写端口的数量减少寄存器文件的尺寸或硅面积减少了。处理器中寄存器写入通信量的缺点被与本专利技术中提供的指令执行设备的思想一致的设计所克服或减少。所述指令执行设备包括一个产生一条指令的一个结果的指令管道,一个至少包括一个用于存储结果的写入端口的寄存器文件,一个旁路电路用于允许访问结果,一个用于指出结果是否仅被另外一条指令所用的装置,以及一个用于控制当上述结果经旁路电路存取以及被用于另外一条指令时防止该结果存入写入端口的寄存器文件。在本专利技术的一个实施例中,用来指出结果是否被另外一条指令所用的方法包括对每一条指令编码。例如,每一条指令的“操作码”所指定的一个所谓的“死数据”域被指出上述结果是否将仅被另外一条指令所用。在本专利技术的另一个实施例中,用来表明第一结果是否仅被第二条指令所用的方法包括一个指令通道,用于决定在指令管道中的一条指令的结果以及该指令管道中另一条指令的另一结果是否被存储在寄存器文件的同一个写入端口。由于寄存器文件的写入端口被一条已在指令管道中的随后的指令“再使用”的,这表明第一个结果将仅被另外一条指令所用。本专利技术的这些和另外的实施例将在随后的介绍中详细描述。附图说明本专利技术的特点和优势将参考以下带有附图的最佳实施例的详细描述来理解,其中附图包括图1给出本专利技术一个指令执行设备的例子的一个框图;图2给出本专利技术另一个指令执行设备的例子的一个框图;以及图3给出一个描述如图1和2所示的减少寄存器写入通信量的处理过程的流程图。实施例说明随后详细描述的一部分体现在计算机存储器中数据位上的操作的符号表示法和算法或程序。这些算法描述以及表示法是一些数据处理技术的技术人员把他们的工作内容传达给其他也熟悉该技术的人员时所使用的方法。该算法通常设计为一系列有条理的步骤以得出所想要的结果。这些步骤需要物理量的物理操作。通常,但不是必须,这些物理量以电,磁或光信号的形式被存储,传输,结合,比较或进行其他操作。如图1所示,给出本专利技术一个指令执行设备的例子的一个框图。图1只是就效果进行了简要说明,而适用于本专利技术的整个处理器环境会包括例如缓冲存储器,RAM和ROM存储器,编译器或汇编程序等所有无需陈列于此的装置。通常,指令执行装置10会采用一个从121到12n(下文中全部称为“管道12”)的阶段-n管道指令设置寄存器体系(ISA),一个传统旁路电路14,一个寄存器文件16以及一个寄存器文件控制器18。上述管道12包括一定数量的管道阶段(例如,读数据,解码,执行和写回)。然而,应当理解,本专利技术不只是限制于一种特殊的管道体系。例如,管道中的阶段可以包括指令读取,解码,操作数读取,ALU执行,存储器存取以及把操作结果写回。另外,所述管道中的一系列阶段能够再细分。管道中的阶段数量是一种能够根据对类似指令的专门阐述而相应改变的体系结构特征。寄存器文件16包括至少一个用于存储数据可设定地址的目的写入端口20。本领域普通技术人员可以理解,所述寄存器文件可以是任何能够存储及允许存取记录/数据的传统的数据库/索引存储装置。寄存器文件控制器18包括许多用于控制把写数据写回寄存器文件16操作的逻辑,控制,管理,及传输功能。寄存器文件控制器18还包括如图3描述的操作程序。正如以下详述,这些程序的运行实现了减少寄存器文件写操作数到管道中的次数所必需的功能。指令可分为如下三种主要类型运算/逻辑,数据传输,及控制。运算和逻辑指令提供一种或两个变量的简单的功能,例如相加,相乘或逻辑AND。每一个阶段的时间取决于处理器的内部结构和所执行指令的复杂性。调节操作的时间片单元被称为时钟周期。指示处理器内部的操作的逻辑被外部时钟例如可以是一个在选定周期产生方波的电路来控制。执行一个操作数所需的时钟周期的数量决定它将需要的时间总和。我曾提到大量的指令产生一个结果仅被同一算法中随后的一条指令使用,(我将把在前指令称为“产生者”在后指令称为“消耗者”)。另外,在SPEC基准的一个寄存器数据分析中揭露了70%的整数结果和80-99%的浮点结果仅被使用一次,参见由M.Franklin等人撰写的一篇文章,题为“Register Traffic Analysis for Streamlining Inter-Operation Communication in Fine Grain Parallel Processors”,刊登于1992年12月微型体系结构国际讨论会年刊第25期(MICRO-25),第236页至245页。此外,大部分情况下,产生者回收之前消耗者已进入管道结构。对于特殊类型的控制器这种情况更多,例如超标量体系结构和VLIM处理器。因此,消耗者除了寄本文档来自技高网
...

【技术保护点】
一种用于一个处理器的指令执行设备,该指令执行设备包括: 一个指令管道(12),用于产生一个第一条指令的一个第一结果; 一个与所述指令管道相连的寄存器文件(16),该寄存器文件包括至少一个写入端口(20)用于存储所述第一个结果; 一个与所述指令管道(12)相连的旁路电路(14),该旁路电路(14)允许存取所述第一结果; 一个用于指示所述指令管道中所述第一结果是否被一个第二条指令所用的装置;以及 一个与所述指令管道(12)和寄存器文件(16)相连的寄存器文件控制器(18),该寄存器文件控制器(18)用于当所述第一结果已由所述旁路电路(18)存取以及已被管道(12)中的所述第二条指令所用时防止所述第一结果存入所述写入端口(20)。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:P斯特拉维尔斯
申请(专利权)人:皇家菲利浦电子有限公司
类型:发明
国别省市:NL[荷兰]

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

1