使用流水线式寄存器的数据处理系统的功率降低及其方法技术方案

技术编号:2891195 阅读:227 留言:0更新日期:2012-04-11 18:40
在数据运算逻辑单元(54)中,在MAC运算之后消除不需要的写回到地寄存器(82)来降低功率。由控制电路(89)监视提供到数据ALU(54)的一系列指令,对于一个结果具有相同目的地的两个或多个连续指令被检测时,该结果被写到流水线式寄存器(78)而不是写到在连续指令中命名的目的地寄存器(82)。因此,仅驱动到流水线式寄存器(78)的短的轻负荷总线,而不是驱动到目的寄存器(82)的较长的重负荷的总线。(*该技术在2015年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及数据处理,具体涉及在使用流水线式寄存器的数据处理系统中的功率降低。数字信号处理是对按规则间隔取样的并且数字化的实时信号进行的运算处理。数字信号处理器(DSP)用于数字信号处理功能,例如信号的滤波、混合和比较。在一些数字信号处理系统中,DSP可能包括一个主处理器,用以处理任何数字信号的处理事务。主处理器可包括例如一个微计算机或微处理器。DSP典型地包括一个数据运算逻辑单元(ALU),用以执行数学计算。数据ALU可能是流水线式的,可增加性能。流水线式数据ALU包括输入寄存器的寄存器堆、两个执行单元、累加器寄存器和流水线式寄存器。ALU的基本操作是乘法/累加(MAC)运算。在数字信号处理器中通常使用两个二进制数相乘和相加或将该结果与一个第三二进制数累加的电路。在信号处理算法中,例如付里叶变换、有限脉冲响应滤波器(FIR)、无限脉冲响应滤波器(IIR)和类似的算法,有助于具有应用硬件来执行MAC指令的能力。当数据ALU例如按照实现FIR滤波器的算法,对一个预定迭代数执行迭代MAC指令时,把乘法运算的结果用以作为累加运算的一个操作数。其它操作数可存储在多个累加器寄存器的一个寄存器内。在典型的数据ALU中,累加运算的结果在写回到累加器寄存器时,或可写到用于MAC指令的每次迭代的多个输入寄存器的一个寄存器内。对于预定迭代数执行MAC指令,并且每次累加运算的结果写回到相同的累加器寄存器中。累加器和累加器寄存器之间的总线可能当长,并具有相当重的容性的负荷。为此,在每次迭代之后写回到累加器寄存器,可能消耗大量的功率。据此,在这里以一种形式提供一种数据处理系统,该系统具有一个流水线式运算逻辑单元,该流水线式运算逻辑单元具有一个输入寄存器、第一和第二执行单元、一个流水线式寄存器和一个控制电路。第一执行单元连接到输入寄存器上,执行第一算术运算,以获得第一结果。该流水线式寄存器连接到第一执行单元上,存储第一结果。累加器寄存器存储第三操作数。第二执行单元连接到流水线式寄存器和累加器寄存器上,执行第二算术运算,以获得第二结果。该控制电路监视提供到数据运算逻辑单元的一系列指令,当控制电路检测该系列指令的连续指令时,这些指令对于第二结果要求相同的目的地,则该控制电路使第二结果被写入到流水线式寄存器。在另一个实施例中,提供一种用以在数据处理系统中执行算术运算的方法,该方法具有以下步骤从输入寄存器读取第一操作数输入到第一执行单元,对第一操作数执行第一算述运算,得到第一结果,存储第一结果在中间寄存器,对第一结果执行第二算术运算,获得第二结果,和当连续指令对于第二结果具有相同的目的地时,监视用于执行算术运算的一系列指令和检测,并响应检测两个相同的目的地,存储第二结果于中间寄存器中。本专利技术的这些特点和其它特点以及优点将结合以下附图阅读下文的详细描述就会更清楚。附图说明图1示出根据本专利技术的数据处理系统的方框图。图2示出图1的数据处理系统的数据运算逻辑单元的方框图。图3示出根据本专利技术的实施例的16比特乘/累加运算和各种寄存器中的数据调整。图4示出图1的程序控制单元的状态寄存器的方框图。总的来说,本专利技术提供了在流水线式数据ALU中降低的功率损耗。在MAC操作之后通过消除不必要的写回到相同的目的地寄存器来降低功率。监视提供给数据ALU的一系列指令。当检测到对于一个结果具有相同目的地方两个或多个连续指令时,该结果被写入流水线式寄存器,而不写入连续指令中命名的目的地寄存器。鉴此,只有到流水线式寄存器的短的轻负荷,总线被驱动,而不是驱动至目的地寄存器的较长的重负荷的总线,结果明显地降低功率。当涉及信号、状态比特、或类似设备分别进入其逻辑“真”或逻辑“假”时,使用了术语“肯定”和“否定”。如果逻辑“真”状态是数字逻辑电平“1”,则逻辑“假”状态将是数字逻辑电平“0”。而如果逻辑“真”状态是数字逻辑电平“0”,则逻辑“假”状态将是数字逻辑电平“1”。术语“总线”用于涉及多个信号,可用于传送一个或多个各种类型的信息,例如数据、地址、控制或状态。参照图1—4可更全面地描述本专利技术。图1和3所示的每个方框代表电路。图4所示的每个方框代表流程图中一个或多个步骤。图1以方框图形式示出根据本专利技术的数据处理系统20。在图1所示的实施例中,数据处理系统20是一个数字信号处理器(DSP)并设置在一个单一的集成电路中。在另一个实施例中,数据处理系统20例如可能是一个微计算机或微处理器。数据处理系统20包括定时器22、主接口24、增强串行同步接口(ESSI)26、串行异步接口(SCI)28、程序RAM(随机存取存储器)和指令高速缓冲存储器30、X存储器32、Y存储器34、地址产生单元/直接存储器存取(DMA)控制器36、外部地址总线开关38、内部数据总线开关40、DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)总线接口和指令高速缓冲存储器控制器42、外部数据总线开关44、程序控制单元(PCU)46和数据运算单元(ALU)54。程序控制单元46包括程序中断控制器48、程序解码控制器50和程序地址产生器52。标有“YAB”的地址总线56、标有“XAB”的地址总线57、标有“PAB”的程序地址总线58、和标有“DAB”的地址总线59连接在地址产生单元/DMA控制器36和外部地址总线开关38之间。标有“DDB”的数据总线60连接到主接口24和外部数据总线开关44之间。标有“YDB”的数据总线61、标有“XDB”的数据总线62、标有“PDB”的程序数据总线63、标有“GDB”的程序数据总线64连接在内部数据总线开关40和外部数据总线44之间。定时器22包括三个定时器,它们能够使用内部或外部定时,和能够中断数据处理系统20或发信号给外部装置。此外,在已出现规定数目的事件之后,定时器22能用于发信号给DMA转移。三个定时器的每一个定时器连接到单个双向插头或端子。此外,定时器22的每个定时器连接到总线57、总线59、程序中断控制器48和总线60。主接口24为数据处理系统20和其它设备,例如微计算机、微处理器或DMA控制器之间提供用于通信的双向接口。而且主接口24经总线60双向地连接到外部数据总线开关44,经总线57和59双向的连接到总的数据总线64、程序中断控制器48、地址产生单元/DMA控制器36和外部地址总线开关38。此外,主接口24双向地连接到50个外部插头或端子,用于从主处理器的双向数据转移,地址寄存器选择和控制通信。增强串行同步接口(ESSI)26连接到12个双向外部插头提供与外部串行设备,例如包括一个或多个工业标准编译码器,DSP(数字信号处理器),或微处理器的串行通信。ESSI26还有连接到总线57,总线59和总线60的端子。串行通信接口(SCI)28接到3个双向外部插头,提供与外部设备的串行通信。SCI还有接到总线57,总线59和总线60的端子。图1所示数据处理系统20的实施例有三个存储空间程序RAM和指令高速缓冲存储器30、X存储器32和Y存储器34。在另一个实施例中,可能有更多或更少的存储空间。程序RAM和指令高速缓冲存储器30连接到地址总线58和数据总线63。X存储器32连接到地址总线57、地址总线59、数据总线60和数据总线62。Y本文档来自技高网...

【技术保护点】
一种数据处理系统(20),具有一个流水线式运算逻辑单元(54),该流水线式运算逻辑单元(54),其特征在于:一个输入寄存器(71);一个第一执行单元(76),连接到输入寄存器(71),用于执行第一算术运算,以便得到第一结果;一个 流水线式寄存器(78),连接到第一执行单元(76),用于存储第一结果;一个累加器寄存器(83),用于存储第三操作数;一个第二执行单元(80),连接到流水线寄存器(78)和累加器寄存器(83),用于执行第二算述运算,以便得到第二结果; 和一个控制电路(89),用于监视一系列指令,这些指令提供给流水线式运算逻辑单元(54),当控制电路(89)检测对于第二结果要求相同目的地的系列指令的连续指令时,控制电路(89)使第二结果写入到流水线寄存器(78)。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:朱达莱昂内尔阿德尔曼戴维德加兰蒂约姆萨伦特
申请(专利权)人:摩托罗拉公司
类型:发明
国别省市:US[美国]

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

1