会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 硬件 / 硬件环路

硬件环路

阅读:1036发布:2020-05-13

IPRDB可以提供硬件环路专利检索,专利查询,专利分析的服务。并且本发明的一个实施例构成一个可编程序处理器,用以支持一环路构成指令,可以将此环路构成指令的数码解码,还可从此环路构成指令检测零偏置环路。随后,就可立刻将该指令串中的下一个指令作为环路中的第1指令发送出去。此环路构成指令还可用来检测单个指令环路。,下面是硬件环路专利的具体信息内容。

1.一种方法,其特征在于,包括:将一个环路构成指令解码;

从环路构成指令中检测零偏置环路;以及    接在环路构成指令后发送下一个指令来作为环路中的第1指令。

2.如权利要求1中所述的方法,其特征在于,在将环路的环路状态写入到一组寄存器以前检测零偏置环路。

3.如权利要求1中所述的方法,其特征在于,该方法还包括:将指令装入环路硬件,装入环路硬件中的第1个指令是接在环路构成指 令后的下一个指令。

4.如权利要求3中所述的方法,其特征在于,该方法还包括:在环路随后的反复循环过程中从环路硬件发送至少几个指令。

5.如权利要求1中所述的方法,其特征在于,该方法还包括:从环路构成指令检测单个指令环路。

6.如权利要求5中所述的方法,其特征在于,该方法还包括:将接在环路构成指令后的下一个指令装入环路寄存器。

7.如权利要求6中所述的方法,其特征在于,该方法还包括:在环路随后的反复循环过程中,从环路寄存器来发送下一个指令。

8.如权利要求1中所述的方法,其特征在于,通过将环路构成指令中的起动偏置与一给定数值相比较来检测零偏置。

9.如权利要求8中所述的方法,其特征在于,通过将环路构成指令中的起动偏置与环路构成指令的宽度相比较来检测 零偏置。

10.一种装置,其特征在于,包括:一控制单元,适宜于用来从环路构成指令中检测零偏置环路;以及环路硬件。

11.如权利要求10中所述的装置,其特征在于,环路硬件包括至少2个并联连接的环路缓冲器;并且,该控制单元适宜于用来发送指令并将至少几个指令装入至少2个环路缓 路器;装入缓冲器的第1指令是在环路构成指令后的下一个指令。

12.如权利要求11中所述的装置,其特征在于,该控制单元适宜于用来从环路缓冲器发送指令以使环路接着反复循环。

13.如权利要求10中所述的装置,其特征在于,该控制单元适宜于用来检测单个指令环路。

14.如权利要求13中所述的装置,其特征在于,环路硬件包括单个指令环路寄存器,而控制单元适宜于用来接在环路构 成指令后发送下一个指令并在检测到零偏置单个指令环路后,将该下一个指 令装入单个指令环路寄存器。

15.如权利要求14中所述的装置,其特征在于,该控制单元适宜于用来从单个指令环路寄存器发送下一个有关环路随后 作反复循环的指令。

16.一个系统,其特征在于,它包括:一SRAM存储装置;以及

一与该存储装置相连的处理器,该处理器的特征在于,它含有一控制单 元,该控制单元适宜于用来:将环路构成指示解码;

从环路构成指令检测零偏置环路;以及发送接在环路构成指令后的下一个指令来作为环路中的第1指令。

17.如权利要求16所述的系统,其特征在于,该控制单元适宜于用来在环路状态被定写入到一组寄存器之前检测零偏 置环路。

18.如权利要求16所述的系统,其特征在于,该控制单元适宜于用来将指令装入环路硬件,装入环路硬件的第1指令 是接在环路构成指令后的下一个指令。

19.如权利要求18所述的系统,其特征在于,该控制单元适宜于用来在环路随后的反复循环过程中从环路硬件发送至 少一几个指令。

20.如权利要求16所述的系统,其特征在于,该控制单元适宜于用来从环路构成指令检测单个指令环路。

21.如权利要求20所述的系统,该系统还包括一个环路寄存器,其特征 在于,该控制单元适宜于用来在检测到单个指令零偏置后将下一个指令装入环 路寄存器中。

22.如权利要求21所述的系统,其特征在于,该控制单元适宜于用来在随后环路的反复循环过程中从环路存储器发送 下一个指令。

23.如权利要求16所述的系统,其特征在于,该控制单元适宜于用来通过将环路构成指令中的起始偏置值与给定数字 相比较而来检测零偏置。

24.如权利要求23中所述的系统,其特征在于,该给定的数字相当于环路构成指令的宽度。

25.一种方法,其特征在于,包括:将一个环路构成指令解码;

从环路构成指令检测环路的顶和底正指向同一指令;以及执行单一指令环路。

26.如权利要求25所述的方法,其特征在于,执行单一指令环路包括:将指令发送到解码级之外;

将该指令装入环路寄存器;以及从该环路寄存器重新再发送该指令。

27.如权利要求26所述的方法,其特征在于,该指令是第1指令,该方 法还包括:读取接在该单个指令环路后的第2指令。

28.如权利要求27所述的系统,该方法还包括:在从环路寄存器再发送第1指令给定次数以后再发送第2指令。

29.如权利要求25所述的方法,其特征在于,环路构成指令包括起动偏置和终止偏置;并且,从环路构成指令来作环路的顶和底正指而同一指令的检测包括:确定起 动偏置和终止偏置相等。

30.如权利要求25所述的方法,其特征在于,还包括:从环路构成指令检测零偏置;以及发送紧接在环路构成指令后的下一个指令来作为零偏置单个指令环路中 的第1指令。

31.如权利要求30所述的方法,其特征在于,检测零偏置包括将起动偏置和给定数字相比较。

32.如权利要求31所述的方法,其特征在于,检测零偏置包括将起动偏置和环路构成指令的宽度相比较。

33.一种装置,其特征在于,包括:一控制单元,适宜于用来从环路构成指令检测环路的顶和底正指向同一 个指令;以及环路硬件。

34.如权利要求33所述的装置,其特征在于,环路硬件包括至少一个单个指令环路寄存器,并且,该控制单元适宜于用来在从环路构成指令检测环路的顶和底正指向同一 指令后将指令装入该单个指令环路寄存器。

35.如权利要求34所述的装置,其特征在于,该控制单元适宜于用来从单个指令环路寄存器发送有关使环路作反复循 环的指令。

36.如权利要求33所述的装置,其特征在于,该控制单元适宜于用来从环路构成指令检测零偏置环路,且发送紧接在 环路结构指令后的下一个指令来作用零偏置单个指令环路中的第1指令。

37.如权利要求36所述的装置,其特征在于,检测零偏置环路包括将起动偏置与给定的数字相比较。

38.如权利要求37中所述的装置,其特征在于,该给定的数字相应于环路构成指令的宽度。

39.一种系统,其特征在于,包括:一个SRAM存储装置;以及一个与有存储装置相连的处理器,其特征在于,该处理器包括一控制单 元,该控制单元适宜于用来:将环路构成指令解码;

从环路构成指令检测环路的顶和底正指向同一指令;以及执行单个指令环路。

40.如权利要求39的系统,该系统还包括单个指令环路寄存器,其特征 在于,单个指令寄存器包括:将环路指令发送到解码级以外;

将环路指令装入环路寄存器;以及从环路寄存器再发送环路指令。

41.如权利要求39中所述的系统,其特征在于,该控制单元还适宜于用来从环路构成指令检测零偏置环路,且发送紧接 在环路构成指令后的下一个指令来作为零偏置单个指令环路中的第1指令。

42.如权利要求41中所述的系统,其特征在于,检测零偏置环路包括将起动偏置与给定的数字相比较。

43.如权利要求42中所述的系统,其特征在于,该给定的数字相当于环路构成指令的宽度。

44.如权利要求40中所述的系统,其特征在于,环路指令是第1指令,该控制单元还适宜于用来:读取接在单个指令环路后的第2指令。

45.如权利要求44中所述的系统,其特征在于,该控制单元还适宜于用来:

在从环路寄存器发送第1指令给定数字的次数后发送第2指令。

说明书全文

本发明涉及可编程序处理器中所用的硬件环路

在诸如数字信号处理(DSP)系统之类的可编程序处理器的设计中,有二 个对立的设计指标:处理速度和功率消耗。传统的处理器包括用来提高软件 指令执行速度的各种硬件。但是,这种附加的硬件通常会增大处理器的功率 消耗。

用以提高可编程序处理器之速度的一顶技术就是“硬件环路”,它可以 是用来在环路结构内加快执行软件的硬件。硬件环路可以通过在局域寄存器 中高速存储指令来减少执行软件所用的同步脉冲周期的个数,因此可使需要 从存储装置或者高速指令存储器中读取同一指令的次数减少好多。

硬件环路引起了一些问题。这些问题包括要避免诸如构成损失或者转移 损失之类的损失。构成损失是与构成硬件环路相关的功率损失(通常是处理 时间的增加)。同样,转移损失是与转移分支相关的功能损失(通常也是处 理时间的增加)。

附图说明

图1是表示本发明一实施例的管系可编程序处理器之一例的方框图。
图2是表示本发明一实施例的一个示例执行管系的方框图。
图3是表示本发明一实施例可装入早计寄存器时的示例性时间变化过程 的流程图。
图4是表示本发明一实施例如何用环路构成指令来确定早计寄存器值的 流程图。
图5是表示硬件环路单元的一实施例的电路方框图。
图6是表示根据本发明的、包括早计寄存器的调整在内的运作模式的流 程图。
图7是表示本发明一实施例的更新结构寄存器值的方法的流程图。
图8是表示本发明一实施例的另一种更新结构计算寄存器值的方法的流 程图。
图9是表示本发明一实施例的采用早计寄存器所实现的时间过程优化的 流程图。
图10是表示本发明一实施例的一种调整早计数值的有效方法的流程图。
图11是表示本发明一实施例的电路中的计数器的方框图。    
图12是表示本发明一实施例的混合运作模式的流程图。
图13是表示本发明一实施例的仅在前n-1个执行级中具有计数器的混合 电路的方框图。
图14是表示本发明一实施例的硬件环路单元的方框图。
图15是表示本发明一实施例的一种方案情况的示意图。
图16是表示本发明一实施例的一种方案情况的流程图。
图17是表示本发明一实施例的一种方案情况的另一个流程图。
图18是表示本发明一实施例的另一种方案情况的示意图。
图19是表示又一种方案情况的流程图。
图20是表示本发明实施例两种方案情况的流程图。
图21是表示本发明一实施例的用于检测零偏置环路的运作模式的流程 图。
图22是表示本发明一实施例的用于检测和处理单个指令零偏置环路的运 作模式的流程图。
图23A-23C是表示本发明一实施例的许多相互连接的硬件环路的方框 图。
图24是表示本发明实施例的功率节省电路的方框图。
详细描述
图1是支持有效的硬件环路而并不过分增加功率消耗的编程处理器2的 方框图。
为了支持硬件环路,处理器2可通过设定环路的进入和退出状态来支持 一个予置硬件的环路构成指令。进入和退出状态可以用环路状态:顶、底和 计算来确定。顶状态确定环路的最初指令(或称顶指令)。底状态确定环路 的最后指令(或称底指令)。而计算状态确定环路的反复循环次数。
硬件环路的进入可以发生在最初“顶匹配”时。顶匹配可以发生在程序 计数器(PC)指向环路的顶指令时。硬件环路的退出可以发生在最后“底匹 配”时。底匹配可以发生在程序计数器指向环路的底指令时。
通过将数值予置到最初顶匹配并将数值减小到各个底匹配,该硬件就可 保持当它遇到了最后底匹配时的轨迹。这样,环路的状态:顶、底和计算就 可决定硬件环路的进入和退出状态。
处理器2可以包括执行器系4和控制单元6。控制单元6可以在同一步脉 冲周期中控制通过管系4的指令和/或数据资料的流程。例如,在处理一指令 时,控制单元6可以指定管系的各个组件来解读指令,并正确执行包括例如 将结果写回到存储器中在内的相应的运作。
可将指令装入管系4的第1级中并在随后的各级中进行处理。在系统的 一个周期中数据资料可在管系4中的多级间通过。指令的结果可以快速地呈 现在管系4的末端。
控制单元6可以包括下述可使硬件环路加速而又不过分增加处理器2之 功率消耗的硬件环路单元8。
图2是表示一示例管系的方框图。管系10具有有利于在单个同步脉冲周 期中执行多项指令的多个级。在管系10中,一个指令可以在一最初同步脉冲 周期中进入到指令读取(IF)级12。然后,在随后的同步脉冲周期中该指令 可以继续沿着管往下走。在前一个指令执行之后,另一个指令就可进入IF级 12。这样,通常另一个指令是在随后的一个同步脉冲周期中进入IF级12、且 接着在随后的同步脉冲周期中往下走的。同样,附加指令分别在随后的同步 脉冲周期中进入IF级12。管系中的级的数目决定了该管系可以同时提供服务 的指令的数目。
管系的不同级可以如下运作。可以通过读取单元13在IF级12中读取指 令,并在DEC级14中从指令寄存器15来进行解码。在AC级18中,数据地 址发生器19可计算任何用于运作的存储地址。
在执行级(EX1-EXn)22和28中,执行单元23和29可以执行特殊的 运作,例如将二个数字相加或相乘。执行单元可以包含用于运作的特殊硬件, 这些运作可包括例如1个或多个算术逻辑单元(ALU)、浮动点单元(FPU) 和桶形移位器,尽管本发明的范围并不只限于此方面内容。各种数据-例如 数据地址发生器所产生的地址,从存储器检索到的数据或者从数据寄存器检 索到的数据等都可用于执行单元。在写回级(WB)30,其结果可写入到存储 器位置、或输出到管系的数据寄存器、或诸如结构寄存器32之类的管系中的 数据寄存器中。管系10的各级可以包括一个或多个诸如触发器之类的、用于 储存数据资料的储存电路。
如上所述,处理器2可以支持环路构成指令。通过将硬件环路的边界(例 如顶和底)写入管系中的结构寄存器32,环路构成指令就可以予置硬件环路。 环路构成指令也可将一个数值予置到结构寄存器32中,表明该环路要执行的 次数。此外,该环路构成指令还可确定一个偏置值,表明在该环路到达顶之 前随从该环路构成指令的指令数目。在予置了硬件环路之后,该硬件环路就 可在管系10中运作,直到满足该环路的退出状态(例如数值等于零的底匹配) 时为止。
结构寄存器32通常是在例如WB级30结束时指令指定后就装入了。因 此,储存在结构寄存器32中的进入和退出状态要从环路构成指令进入管系10 起经过几个同步脉冲周期之后才会被更新。因为进入和退出状态要经过几个 同步脉冲周期之后才会被更新,所以还存在着构成硬件环路的限制条件。例 如,如果在环路构成指令指定之前环路中的最初指令进入管系10的话,结构 寄存系不会构成可将该指令作为环路的一部分。而且,此问题会随着管系深 度的加大而加重。
在一个实施中,通过将管系中的一组早计寄存器34、35、36予以保持, 处理器2可以克服这些限制。如图2所示,早计寄存器ETop34和EBot35可 以保留在解码级而ECnt可保留在AC级。
安置一组早计寄存器34、35和36可以通过减小或避免环路构成损失来 提高处理器2的处理速度。如上所述,几个同步脉冲周期可以在环路构成指 令进入管系时间和结构寄存器被写入时间之间通过。不过,虽计寄存器可以 在环路构成指令写入到结构寄存器中之前很久前就先装入。由于这个原因, 采用早计寄存器可以减少用于构成硬件环路所化的时间。
早计寄存器可以是用来予报或推测结构寄存器之数值的推测寄存器。推 测寄存器与结构寄存器不同,它并不可被系统的指令组支持。因此,不能用 程序码来通入推测寄存器。由于这个原因,程序员就不能用对待结构寄存器 同样的方法来将数据资料送入推测寄存器或从其中取出。
可以用几种不同的方法来装载早计寄存器。例如,早行寄存器可以简单 地通过将一常规指令寄存器移动到结构寄存器处来完成装载。换句话说,系 统可以指令结构寄存器号对另一个寄存器装入某些内容,其结果,早计寄存 器就可被更新。而装载寄存器的另一种方法是从存储器中“弹出”。换句话 说,系统可从存储器中取出数据资料,将此数据资料装入结构寄存器中,并 将早计寄存器更新。
但是,常规的寄存器出现的问题是它们会引起环路构成损失。由于系统 在取得移动的数据资料而将之写入以前一直是阻止管系工作的,这就会产生 这些损失。为了避免这些损失,可以在结构寄存器被写入之前用环路构成指 令来装载早计寄存器。
下列示例表示用于产生一示例性的环路构成机器指令的语句:
LSETUP(PC Relative TOP,PC Relative Bottom)Counter=X
PC Relative TOP表明从当前的指令到环路起动(起动偏置)的距离。PC Relative Bottom表明从当前的指令到环路终结(终结偏置)的距离。此外, 所采用的计数器(Counter)可以是一个计数寄存器和一个表明环路中反复循 环数目的环路数值。
图3是表示本发明一实施例可装入早计寄存器时的示例性时间变化过程 的流程图。如上所述,环路构成指令可包含以计数值、顶值和底值有式来表 示的环路状态。这三个数值合起来可确定硬件环路的进入和退出状态。
计算值可表示环路将作的反复循环次数。一旦环路构成指令进入AC (38),该计算值就可写入ECnt寄存器39。可通过寄存器从包含在不同管系 中的数据资料寄存器移动来完成对ECnt寄存器的初始写入。在一种运作模式 中,可以用包含在DAG管系中的PREG寄存器(参见图6)的数据资料来写 入该ECnt寄存器。
顶值和底值可以表明哪个指令是环路的顶以及哪个指令是环路的底。但 是,环路构成指令中的顶值和底值可以是与程序计数器(PC)相关的。因此, 在AC级中的计算(40)可用来获得分别要被写入到ETop34和EBot35寄存 器中的顶值和底值。在环路构成指令进入到EX1(41)后,就可将顶值和底 值写入ETop34和EBot35寄存器(42)。
ETop寄存器34可被装载成指示环路的最初指令(环路的顶)。EBot寄 存器35可被装载成指示环路的最后指令(环路的底)。ECnt寄存器36可被 装载成指明电流要经过环路的次数。在一个实施例中,当电流经过环路时 ECnt36向下计数而减小。
图4是表示当接收到环路构成指令并由管系10处理时硬件环路单元8的 一种运作模式的流程图。根据一种格式,环路构成指令可以表明包括启动偏 置(S-Offset)和终止偏置(S-Offset)在内的几个构成变量。起动偏置可 表明在指令串中从环路构成指令到环路中最初指令的距离。同样,终止偏置 可表明在指令串中从环路构成指令到环路中最后指令的距离。
例如,如果环路中的该最初指令是紧接在环路构成指令后的指令,那么 该起动偏置就会是环路构成指令的宽度。如果,在指令串中,在环路构成指 令和环路中的最初指令之间有一个指令的话,那么该起动偏置将会是环路构 成指令和这一个指令的宽度。同样,如果在环路构成指令和最初指令之间有 二个指令的话,那么该起动偏置将会是环路构成指令和这二个指令的宽度。
如图4所示,起动偏置和终止偏置通常都是由环路构成指令(44)来确 定的。不过,环路构成指令确定相对于程序计数器(PC)的偏置。因此,PC 值也必须确定45。随后,用该PC值和起动偏置来计算ETop寄存器数据(46)。 此外,用该PC值和终止偏置来计算EBot寄存器数据(47)。一旦计算好了, 就可将早计寄器数据资料写入到早计寄存器(48)中。
将图4和图2作一比较,可表示出在写入ETop和EBot寄存器时的示例 性的时间变化过程。在DEC级14中会发生步骤44和45。在AC级18中会 发生步骤46和47。因此,在EX1级22中还可发生写入步骤48,尽管本发明 的范围并不限于这方面内容。
一旦装入了早计寄存器后,就可用它来构成硬件环路。图5是表示将一 个硬件环路单元8连接到指令取出(IF)单元50和管系10的解码单元52上 的一实施例的方框图。在这一实施例中,可用早计寄存器检测指令串57中的 环路。然后,将一个或多个环路指令装入环路硬件54。一旦装入了环路指令, 就可一次又一次地从环路硬件发送环路指令。这样,如果早计寄存器检测到 一个指令环路,那么,可用IF单元50将一个或多个环路指令读取一次,而随 后就反复地从硬件单元8发送。
采用早计寄存器会引起几个问题。例如,由于早计寄存器数据资料需要 调整,就会产生由于采用早计寄存器而引起的问题。如果管系必定要为一信 号转换服务,那么管系的现时运作就要中止。如果这一中止发生在早计寄存 器已经写入之后但在其各个结构寄存器写入之前,那么该早计寄存器的数据 资料就会要调整。换句话说,由于早计寄存器早已写入,在环路完成之前要 在管系中中止就要求对早计寄存器的数据资料作一调整。
图6是表示包括早计寄存器的调整在内的运作模式的流程图。图6特别 表示出包括在ETop、EBot、ECnt寄存器调整中的时间变化过程。
如图6所示,早计寄存器可被写入76。在图6的一个实施例中,早计寄 存器特定为ETop、EBot和ECnt寄存器(如图2所示)。如果在结构寄存器 被写入之前82就发生管系中的中止,那么,不中断的指令可从管系83中发 送出来,且可通过写入包含在其各结构计算部件84中的数据资料来调整早计 寄存器。
在处理背对背的硬件环路时,图6所示的运作模式将特别有用。例如, 如果在它完成之前第2环路中止了,则第1环路可能仍然要执行其管系中的 其余的指令。图6中的调整技术提供了一种通过相应地调整早计寄存器值来 处理这个变动的方法。
图7表示用早计(ECnt)数据资料来更新结构寄存器值的方法。数据资 料可以以上述的任何一种方式写入到ECnt寄存器90中。然后,ECnt寄存器 资料可沿着管系92向下送,以使它在WB级中写入到结构寄存器93中。而 后,在环路94的每个随后的反复循环中可减小ECnt寄存器数据96并再沿管 系92向下发送。这个过程可继续下去直到该环路完成其最后的反复循环98。
图8表示更新结构计数寄存器的另一种方法。图8所示的运作模式并不 在环路的每次反复循环之后将ECnt数据资料沿管系向下发送,而是将ECnt 数据资料发送一次。接着,在随后的环路反复循环中再发送单一个有效的缩 溅信息容量用以调整结构计数寄存器。
在图8中,数据资料可以以上述任何一种方式写入到ECnt寄存器90中。 而后,ECnt寄存器数据资料可沿管系92向下发送,这样它就可在WB级中被 写入到结构计数寄存器中。在随后的环的反复循环中,可发送单一个有效的 缩减信息容量102用以使结构计数寄存器104数值减小。该过程可以持续进 行直到环路完成其最后反复循环98为止。
图9是表示由于采用了早计寄存器而获得的时间变化过程的优化。如图9 所示,可将环路的进入/退出状态装入到一组早计寄存器120中。而后在环路 构成指令124实施之前就可检测进入/退出状态122。
ECnt寄存器的调整会出现另外的一些问题。ECnt寄存器的调整可以在环 路完成之前管系出现中止的任何时刻来进行。这是由于有效指令还会在管系 之中且这些有效指令在它们一旦实施了后就会调整结构计数寄存器值的缘 故。    
一种对ECnt寄存器在中止后的数据资料进行修正的方法是使指令在中止 之前就完成且随后即用其结构对应值来写入ECnt寄存器。不过,如果转移损 失小于它排离管系所化之时间的话这就会增加一个附加的损失。
图10表示一种调整早计值的有效方法。如图所示,在环路构成指令进入 AC级180后,就可写入早计寄存器182。在此时刻ECnt数据资料可沿管系184 向下发送。如果发生了中止185,未受阻止的指令可送出186且可用其结构对 应物187中的数据资料来写入ECnt寄存器。
在这个底匹配190处可将一有效的缩减信息容量沿管系192向下发送。 当产生一有效的信息容量以供发送的指令退出各管级194时,一有效的缩减 信息就会从该退出管级196移离。换句话说,在发送一有效的信息容量时(例 如在192)计数器数值就增大,并且在产生一有效的缩减信息容量以供发送的 指令退出该管级时,单个的一计数器数值就减小(例如在196)。
如果在管系198中发生中止,就可用在中止级处的计数器中的有效缩减 信息容量的数字来调整早计寄存器188。该调整值还会在管系中、比发生中止 时的那个级更后一些的各管级的多个计数器上出现。图10的诸步骤可自动反 复直到所有的环路指令都退出管系200为止。
ECnt寄存器可以在各个底匹配(例如用于每次经过环路)处减小数值。 但是,仅仅是单一个有效的缩减信息容量沿管系向下发送,而不是在每次底 匹配后将整个ECnt值向下沿管系传播开去。这样,就可在DSP系统中实现减 少硬件。计数器组可监视有效的信息容量以及产生这些信息容量以供发送的 相关指令。如此,计数器组就可连续监视早计寄存器和其结构对应物之间的 动态差异。
图11是表示电路中的计数器的方框图。如图所示,计数器可保持在DEC 210,211,212和213以后的管系的各级上。因此,可将单一个有效的缩减信 息容量沿着管系传播下去用以考虑在早计寄存器和其结构对应物之间的差 异,计数器可与多路转换器相连接。各路转换器220可确定用那个计数器(如 果有的话)来调整早计寄存器36。
在另一些实施例中,在某些级上不会发生中止,或者当有某个指令留在 某个级中时中止可被抑制住。在这么些实施例中,可通过在抑制中止的级中 安设计数器来减少电路硬件。
计数器210、211、212和213的宽度可根据需要来改变。例如,计数器210 可以是个1比特计数器而计数器211可以是一个2比特计数器。计数器212 和213的最小深度取决于管系执行级n的个数。计数器210可以是个1比特 计数器,因为它总是为数值1或0。例如,如果其时在AC中是底匹配指令则 它的数值为1。当该指令离开了AC时,计数器回复到0。
计数器211和下一个计数器(例如用于级EX2的)可以是2比特计数器, 尽管本发明的范围在这方面并无限制。这是由于计数器211(例如EX1计数 器)可具有一个最大值2,而EX2计数器可具有一个最大值3。EX3计数器可 具有一个最大值4,故它就要3比特的。同样,以下的三个计数器(例如EX4 -EX6)可以是能够分别表示5-7之间数值的3比特计数器。
通过考虑计数器所要保有的最大值就可确定各级计数器的宽度。这就相 当于环路是个单一指令环路的情况。因此,计数器的深度就相当于在该计数 器和AC之间的级的个数。不过,其尺寸大小也取决于在特定的级中是否发生 中止,故某些级可无需计数器。
另一种运作模式是调整早计寄器的混合方法。如果与排离管系相关的损 失大于转移损失,则可用停留在所选管系的级上的计数器来调整早计寄存器。 然而,如果了管系损失小于或等于转移损失的话,那么就可以施行管系中的 指令,而从其结构对应物来调整早计寄存器。可根据管系中发生中止的地方 来选择系统的运作。在一种情况中,如果中止发生在EX3级或WB级中,那 么可排离具有3个执行级的管系,但如果中止发生在EX3级之前,那么就可 不排离管系而调整早计计数器。
图12表示一混合运作模式的流程图。如图所示,如果中止230发生在第 n级之前,则计数器可调整早计值228。但如果中止230发生在第n级之后, 那么管的指令可流过管系并施行232。而后再用它们结构对应物233中的数据 资料来更新早计寄存器。变量n可限定允许通过管系的指令化费小于或等于 转移损失234的时间总量的时刻。
图13表示在前n-1执行级具有计数器的混合电路。如果指令已进入第n 执行级,则电路可使管系能够在中止之后执行其指令。但是,如果指令尚未 进入第n执行级,则电路在中止后会调整早计寄存器。另外,变量n可限定 允许通过管系的指令化费小于或等于转移损失之时间总量的时刻。在其他的 情况中,变量n可早得多就保留在管系中(例如在转移损失较大之处)。
诸如环路寄存器和环路缓冲器之类的附加环路硬件会改进快速硬件环 路。在此所说的环路硬件具有一些优点。在某些设施中,环路硬件会遮盖掉 转移损失。此外,还可免除每次环路反复循环都要用到诸如高速缓冲存储器 或SRAM之类的存储装置而可使环路硬件切省能源。另外,以下将述的环路 硬件会具有极少的编程限制。同时,环路硬件还可免除会在编程存储器中出 现的对接限制。
再参见图1,图1表示出一个具有执行管系4和控制单元6的可编程序处 理器2。控制单元6包括有硬件环路单元8。
硬件环路单元8可包括串连连接的一组或多组环路缓冲器。除此之外, 硬件环路单元还包括一个或多个单个指令环路寄存器。一个环路缓冲器和/或 环路寄存器的组群可合在一起而成为环路硬件。该组群会改进快速硬件环路。
再参照图5,图5是表示硬件环路单元8与管系10的一指令读取单元50 和一解码单元52相连接的方框图。指令读取单元50可将许多的输入中的一 个提供给硬件环路单元8。硬件环路单元8包括与环路硬件54相连接的一多 路转换器56。环路硬件54包括一组或多组环路缓冲器和/或多个环路寄存器。 此外,这些环路缓冲器组包括串联连接的给定个数的缓冲器。每一组环路缓 冲器具有一个相关的环路寄存器。
图14是表示硬件环路单元8的一实施例的另一方框图。硬件环路单元8 可与一指令读取单元50和一解码器(未图示)相连接。
硬件环路单元8包括一个与环路硬件相连接的多路转移器260。环路硬件 包括一组串联连接的环路缓冲器271、272、273和274。这些缓冲器给另一个 多路转移器280提供输入。多路转移器260和280依次将输入提供给多路转 移器290。多路转移器290的输出与环路寄存器296相连,该寄存器反过来又 与多路转移器260的输入相连。硬件环路单元8的输出给解码器提供输入。
多路转移器260可具有多个输入。这些输入包括来自寄存器(例如仿效 器指令寄存器)的输入和来自读取单元50的输入。此外,多路转移器260还 可具有来自环路指令寄存器的输入和来自一个或多个其他硬件环路单元的输 入。
图14示例性地示出由深度为4的一组环路缓冲器和单个指令寄存器所组 成的环路硬件。但是,在其他的一些实施例中也可采用任意个数的缓冲器和/ 或单个指令寄存器。
在所示例的运作模式中,环路缓冲器用于二种不同的情况。在一种情况 中,环路中的每项指令都与环路缓冲器相适应。而在另一种情况中,并非每 项指令都与环路缓冲器相应。下面依次对每种情况进行讨论。
图15是一种情况的说明图。如图所示,深度为4的环路缓冲器组可装入 3指令环路(I2-I4)。如此环路缓冲器和VTop寄存器中的一个不可装入任 何数据资料。指令I2-I4可多次执行直到出现环路退出状态为止。如图所示, 退出状态可在每当I4指令从环路缓冲器发出时得以较核。
图16是表示一种情况的流程图。如图所示,可以发送指令300,可将指 令装入到环路缓冲器302,并且可阻断存储装置304。阻断存器可以节省输向 DSP系统的功率。在将指令装入到缓冲器组后302,随后就可将指令从缓冲器 组发送出去306。指令可一次次地不断发送,直到出现环路退出状态为止。
图17是表示一种情况的另一种流程图。如图所示,可以发送指令(310), 可将指令装入到环路缓冲器中(314),可将存储装置阻断(316),并且可 将环路计数值予置好(312)。只要不出现环路退出状态(318),环路计数 值就可减小(320),且可从一组环将缓冲器发送指令(322)。可将存储装 置阻断直到环路计数值到达一给定的数X为止(316)。而且,X可定为当环 路2完成后在读取单元中环路之后的下一个指令可立即准备就绪。这样就可 避免环路退出损失。
在另一些实施例中,环路值予置为零312。而后,调整320是增加环路值 而不是如图17所示的减小。还有一些实施例可藉助于图15-17了解清楚。
图18是另一种情况的说明图。如图所示,深度为4的环路缓冲器组可装 入4个环路指令(I2-I5)。此外,VTop寄存器可装环路中的下一个指令的 地址。VTop可为持留在管系中的地址寄存器(参见图2、37)。在环路随后 的反复循环中,在读取了I6时就可执行指令I2-I5。在I5执行之后I6当即就 准备就续以付执行。在环路的反复循环中可核校退出状态。
图19是表示图18情况的流程图。如图所示,当发送了第一分组指令时 332,就可将第一分组指令装入到一组缓冲器中330。接着,第二分组指令即 可装入到寄存器中334。且可发送到第二分组指令336。在随后环路的反复循 环中(反复循环的数目系由退出状态决定338),当读取了第二分组指令时342, 就可将第一分组指令从缓冲器组发送出去340。而后就可发送第二分组指令 344。
按照图19的运作模式可有几个好处。例如,每当第一分组指令从缓冲器 组发送时,如果不启动存储装置就可节省功率。此外,在发送第一分组指令 时读取第二分组指令可使环路损失最小化。在一个实施例中,环路缓冲器具 有的深度至少可与转移损失相当。这样,与读取第二分组指令相关的损失可 被发送第一分组指令掩盖掉了。这就可加快DSP系统的速度。不过,在其他 的、节省功率为更重要的设计特征的(例如用于由电池供电装置的电路)实 施例中,深度更深的缓冲器会更加有用。
第一分组指令可以是与环路缓冲器组相适应的指令个数。而第二分组指 令则可以是接在缓冲器中所装入的那些指令之后的环路中的下一个指令。或 者,第二分组指令也可以是接在缓冲器中所装入的那些指令之后的多个指令。
图20是表示上述情况的硬通常的流程图。如图所示,可将第一分组指令 装入缓冲器组之中350且将之发送出去352。如果环路的所有的指令都与环路 缓冲器相匹配354,那么,存储装置就会阻断355,且这些指令就可从缓冲器 组中连续发送出去356,直到出现退出状态为止358。
如果并非所有环路指令都与环路缓冲器相匹配354,那么,就可发送第二 分组指令360,且可将这些指令的起动地址装入到寄存器之中362。在随后的 环路反复循环中(如同由退出状态所决定的那样364),当从存储器中读取了 第二分组指令时368,就可从缓冲器组中发送第一分组指令366。而后就可发 送第二分组指令370。
在图18的情况中,每当有一个底匹配时就会对VTop所指的地址作一次 访问。这样,在读取第二分组指令时就可传送第一分组指令。
在环路中的第一分组指令发送出去之前已将高速缓冲存储器接通、并将 对接缓冲器装填的第二分组指令。对接缓冲器可持有多个指令(取决于多个 指令的宽度)。如果第二分组指令包括多个指令,则可将此多个指令对接到 对接缓冲器中,其中,第二分组指令的第一个指令为一个与VTop寄存器相关 的指令。
运作还包括在与VTop相关的指令传送时访问在与VTop相关的的指令后 的下一个指令。例如,在一种运作模式中,与VTop相关的指令是一个64比 特的指令。当此64比特指令传送时,就读取下一个64比特的指令(如同由 存储器中的对接所决定的那样)。通过一再地将此重复,DSP系统就可快速 高效地传送指令。    
传统的装有硬件环路的可编程序处理器系统对其运作数码有诸多限制。 然而,却又极其希望要提供具有很少的编程限制的硬件环路。根据本发明的 一个系统的实施例可只有一个编程限制。此单一个限制是系统在其环路底部 没有分支。
快速硬件环路会有环路缓冲器要求成为失效的情况,这些情况可包括在 环路缓冲器塞满了条件分支时的失效。这样,在一种运作模式中,如果在环 路中的前n个指令中的一个为条件分支的话,一组环路缓冲器就会失效。变 量n由环路缓冲器组的深度来决定。
环路缓冲器会要求失效的另一种情况是在装载环路缓冲器时收到转换信 号。此外,环路缓冲器会在用于自调整码的C-SYNC之后要求失效。这样, 其他运作模式还包括在上述二种情况中出现其一种时而使环路缓中器失效。
零偏置环路还会引起其他问题。偏置会涉及到环路构成指令和环路中的 最初或最后指令之间的距离。在传统领域的系统中,必须要有偏置来促进硬 件环路的构成或者用来考虑系统中的编程异常情况。但是,由于零偏置环路 可以减小处理时间,故要设零偏置环路是极其有利的。
即使在没有早计寄存器和环路缓冲器的系统中,零偏置环路也会带来问 题。例如,在上述的系统中,在写入早计寄存器之前(例如在EX-1中), 零偏置环路的第一个指令已经在AC之中了。这样,由于甚至在ETop和EBot 被写入之前环路之初就已存在DEC了,故电路极易“错过”顶匹配。
已设计了特殊运作模式和电路装置来检测和处理零偏置环路,在一种运 作模式中,将环路构成指令中的起动偏置(S-偏置)与一个已知值相比较用 以检测零偏置。这样就建成了零偏置的早期检测。在一个特定的实施例中, 系将S-偏置与4来作比较。(此处,4系指32比特指令的4个比特)。一 旦完成检测,即使在早计寄存器被写入之前也能够构成零偏置环路。
图21是表示用于检测零偏置环路的运作模式的流程图。如图所示,可将 一环路构成指令解码380。而后,将S-偏置与给定数字相比较382(该给定 的数字相当于环路构成指令的宽度)。这样,即使在早计寄存器被写入之前 也可检测零偏置环路。如果检测到了零偏置环路384的话,如上所述,就可 将环路中的下面n个指令发送出去并装入环路缓冲器386。
图22是表示用以检测和处理单个指令零偏置环路特殊情况之运作模式的 流程图。如图所示,可将环路构成指令解码388。如果检测到了零偏置390, 并且起动偏置与终止偏置相等392,那么,即可实施单个指令环路394。在S -偏置与环路构成指令宽度相等时可检测到零偏置。而当S-偏置与e-偏置 相等时可检测到单个指令环路。
特殊的硬件促进尽快地构成和执行单个指令环路。再参见图14,可将环 路寄存器296用于这些特殊情况。这样,可通过给环路硬件(诸如环路寄存 器296)装载单个指令、且将该指令反复地送出硬件环路单元8直到出现单个 指令环路的退出状态为止来完成步骤394。
可通过将一特殊环路指令寄存器296中的解码器指令保持住(参见图14) 来检测单个指令环路而后又执行之。此外,存储装置不会接通,且其上游各 级都被阻断,用以节省功率。而且,由于单个指令环路被发送到环路指令寄 存器296以外,故指令读取单元50可自由读取下一个指令(例如,来自一高 速缓冲器的)。这样,当单个指令环路已结束执行时,下一个指已经处在指 令读取单元50之中了,从而可形成零环路退出。
类似地,零偏置硬件环路可分为三种情况。在第一种情况中,零偏置个 指令环路可通过环路指令寄存器立即发送到解码器以外。在第二种情况中, 零偏置n-指令环路可立即被检测到并完全装载到一个深度为n的环路缓冲器 组中。而在第三种情况中,零偏置环路可立即被检测到并且该环路的第一n- 指令被装入到一个深度为n的环路缓冲器组中。下一个指令可以与VTop寄存 器相关连。
在一实施例中,如上所述,环路硬件可安设在管系中。这就比将缓冲器 安设在高速缓冲存储器中要好得多。
在一种运作模式中,环路指令可存储在环路硬件中,而使其与指令边界 相对接。这就比将指令与地址边界对接要好得多。一旦与环路硬件中的指令 边界对接了,在它们随后从环路硬件发送出来时就无须再作指令对接了。
为了将指令与指令边界对接,可将一组指令以执行命令的方式装入到环 路硬件中去,且可将下一个指令的地址存储在地址寄存器中。此外,可将第 二组指令以执行命令的方式装入到存储装置中去。将指令以执行命令的方式 装入到环路硬件中去可包括将n个随后的指令装入到n个缓冲器中,这里n 是个正整数。而且,此n个随后的指令可以是任意的随后的指令,它包括最 初的n个环路指令或者最后的n个环路指令。
在其他的实施例中(如图23A-23C所示)可设置许多硬件环路单元。任 意个数的硬件环路单元的输出都可与一个或多个其他的硬件环路单元的各个 输入相连接。这样,可通过第一硬件环路单元的输出来装载第二硬件环路单 元。这样,对装载第二硬件环路单元也可同存储装置不启动同样地节省功率。
在某些情况中,可用多个环路单元来作嵌套环路(或者是套管环路)运 作。内部硬件环路单元可保持住一个或多个在外部硬件环路单元中对接好的 指令。而且,还可将对接的指令从外部硬件环路单元发送到内部硬件环路单 元的输入上来装载内部硬件环路单元。
在又一些其他实施例中,安设有多个独立的硬件环路单元。但是,如果 在相同的DSP系统中采用二个或二个以上的独立的硬件环路单元的话,要加 以限制条件。例如,当二个环路都具有相同的底指令时,该二环路中之一要 规定为外部环路。如果无此限制则电路就会有二个底匹配,就不知道该把哪 一个的数值减小。
另外的又一种运行模式包括硬件环路的功率管制。当使硬件环路工作时, 将ETop寄存器去与PC作比较,用以考虑各个顶匹配。类似地,将EBot寄存 器去与PC作比较,用以考虑各个底匹配。但是,当硬件环路不工作时,只有 比较器电路中的开关动作才消耗功率。因此,在硬件环路不工作时使底匹配 和顶匹配比较器电路也不工作将会是有好处的。通过在硬件环路工作时选择 给比较器的输入来停止比较器的运作可节省功率。
图24是表示功率节省电路的一个示例性的实施例。ETop寄存器400和 EBot寄存器402分别将许多输入中的一个提供给多路转换器404和406。多 路转换器404和406的输出可以是比较器408和410的输入。输给比较器408 和410的其他的输入可来自多路转换器412的输出。多路转换器412的输入 可来自程序计数器414,环路工作停止信号416来自一控制单元。多路转换器 404、406和412可设置成当硬件环路不工作时,使多路转换器412的输出与 多路转换器404和406的输出不同。这就可确保在硬件环路停止工作时在比 较器408和410中没有开关动作。
在另一个实施例中,将相同的环路工作停止信号416送给多路转换器404, 406和412。不过,在多路转换器412接收该信号之前有一个倒向器(未图示) 将一信息存储单元倒向。这样,当环路工作停止信号送入电路时,多路转换 器412的输出就与多路转换器404和406的不同。
图24也示出一个用于使ECnt寄存器418的数值增加的示例性电路。在 该环路的各通道上,多路转换器420可使ECnt寄存器的数值减小。不过,如 果必须,调整信号(例如修整值422)可相应地调整ECnt。一旦环路完成了 它的最后反复循环,比较器424就发送表明它的信号425。
图24说明如何检测底匹配和顶匹配。当比较器410检测到程序计数器412 和ETop寄存器具有相同值时,就发送一个顶匹配值428。当比较器408检测 到程序计数器和EBot寄存器具有相同值时,就发送出一个底匹配信号430。
最后,图24表示设置在管系中的VTop寄存器432。如所述,VTop可以 是地址寄存器,它可将接在多个装入环路硬件(未图示)的指令之后的下一 个指令的地址保持住。
以上已描述了本发明的各种实施例。例如,已描述了多种用于安设在处 理器中的硬件环路的技术。处理器可设置在各种系统中,这些系统包括通用 的计算机系统、数字处理系统、超小型计算机,个人数字处理装置(PDA)以 及蜂窝电话。在本文中,以上所讨论的硬件环路可便于提高处理速度而不致 过大地增加功率消耗。在这种系统中,可将处理器与一个存储装置连用,该 存储装置可以是诸如快速存储装置或储存有一个运作系统和其他应用软件的 统计随机过程存储器(SRAM)。这些实施例和其他实施例都包括在下述权利 要求的范围之内。

发明背景

高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用