用于指令对准的方法和设备技术

技术编号:2852268 阅读:139 留言:0更新日期:2012-04-11 18:40
一种指令对准单元,用于在具有管线架构的数字处理器中对准指令。该指令对准单元包括:指令队列;管线级n中的当前指令缓冲器和下一指令缓冲器;管线级n+1中的经对准指令缓冲器;指令提取逻辑,用于从指令高速缓存或从下一指令缓冲器向该当前指令缓冲器中加载指令,并用于从指令高速缓存或从指令队列向下一指令缓冲器中加载指令;以及对准控制逻辑,响应于包含在指令中的指令长度信息,所述指令用于控制指令从当前指令缓冲器和下一指令缓冲器传递到经对准指令缓冲器。对准控制逻辑包括用于预解码指令以提供指令长度信息的预解码器,和响应于指令长度信息用于产生当前指令指针以便控制指令向经对准指令缓冲器的传递的指针产生逻辑。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数字处理器,并且更具体地,涉及方法和设备,其用于对准从指令高速缓存提取的可变长度指令并用于向指令解码器提供经对准的指令。
技术介绍
数字信号计算机或数字信号处理器(DSP)是特殊用途的计算机,其设计用于为数字信号处理应用优化性能,例如快速傅立叶变换、数字滤波器、图像处理、无线系统中信号处理及语音识别。数字信号处理器应用典型地具有以下特征实时操作、高中断率和密集数值运算。此外,数字信号处理器应用在存储器访问操作中倾向于密集并需要大量数据的输入和输出。数字信号处理器架构典型地被优化以便有效执行此种运算。除了数字信号处理器应用之外,DSP频繁地被要求进行微控制器操作。微控制器操作涉及数据处理但典型地不需要大规模运算。数字信号处理器可利用管线架构以获得高性能。如该
中所公知的,管线架构包括多个管线级,其每个执行一特定操作,如指令提取、指令解码、地址产生、算术操作等等。程序指令根据连续的时钟周期而前进通过管线级,且若干指令可同时处于完成的各种级中。为了编码的紧凑,一些处理器支持具有变化长度的指令。例如,一个处理器支持16位指令、32位指令和64位指令。关于存储器边界在指令对准上没有限制,使得存储器可尽可能得紧凑。在指令执行期间,指令典型地从存储器移到指令高速缓存,所述指令高速缓存也没有对指令对准的限制。因此,每个指令高速缓存行依赖于指令长度可包括一个或多个指令,且指令可能跨过指令高速缓存行。从指令高速缓存提取的指令通常与高速缓存行对准。因而,在将从指令高速缓存提取的指令发布到指令解码器之前需要对准指令。在理想条件下,每个时钟周期应向指令解码器发布一经对准的指令。用于指令对准的技术在现有技术中是公知的。然而,现有技术的指令对准技术没有为深管线、高性能的处理器提供令人满意的性能。相应地,需要用于对准可变长度指令的改进的方法和设备。
技术实现思路
根据本专利技术的第一方面,提供了指令对准单元用于在具有管线架构的数字处理器中对准指令。该指令对准单元包括当前指令缓冲器和管线级n中的下一指令缓冲器;管线级n+1中的经对准的指令缓冲器;指令提取逻辑,用于从存储器或从下一指令缓冲器向当前指令缓冲器中加载指令,并用于从存储器向下一指令缓冲器中加载指令;以及对准控制逻辑,其响应于包含在指令中的指令长度信息以便控制指令从当前指令缓冲器和该下一指令缓冲器传递到经对准的指令缓冲器。当前指令缓冲器、下一指令缓冲器和经对准指令缓冲器每个可包括用于保持指令字的多个寄存器。每个指令可包括一个或多个指令字。当当前指令缓冲器和下一指令缓冲器为满的时,指令队列可保持从存储器提取的指令。将指令提供到指令对准单元的存储器典型地是指令高速缓存。对准控制逻辑可包括预解码器,用于预解码指令以提供指令长度信息;指令长度寄存器,用于保持经预解码的长度信息;及指针产生逻辑,其响应于指令长度信息,用于产生当前指令指针以便控制指令从当前指令缓冲器,且如果需要,从下一指令缓冲器,传递到对准指令缓冲器。预解码器可包括第一预解码器,用于预解码来自存储器的指令;及第二预解码器,用于预解码下一指令寄存器中的指令。对准控制逻辑可进一步包括多路复用器,用于选择第一预解码器的输出、第二预解码器的输出或指令长度寄存器输出,并将所选择的指令长度信息供给到指令长度寄存器。每个指令长度寄存器可包括用于对应的指令字的一有效位。预解码器和指令长寄存器可位于管线级n中,而指针产生逻辑可位于管线级n+1中。指针产生逻辑可包括下一指针选择逻辑,用于响应于当前指令指针而从指令长度寄存器选择下一指令指针的;及当前指针选择逻辑,用于从下一指令指针选择当前指令指针。当前指针选择逻辑可包括状态锁存器,其包含一状态位,当下一指令指针的低位位(low order bit)为零时,所述状态位被设置;及选择逻辑,其在状态位被设置时,用于将下一指令指针的高位位(high order bit)选择为当前指令指针。指针产生逻辑可进一步包括新指针选择逻辑,用于选择新指针作为当前指令指针以响应分支指令。指针产生逻辑可利用逻辑电路,其中值的集合中的每个值由一位(bit)来表示,用于控制下一指令指针和当前指令指针的选择。指针产生逻辑可进一步利用逻辑电路,其中值的集合中的每个值由一位来表示,用于控制指令从当前指令缓冲器和下一指令缓冲器向经对准指令缓冲器传递。根据本专利技术的另一方面,提供了一种用于在带有管线架构的数据处理器中对准指令的方法。该方法包括将指令从存储器或从下一指令缓冲器加载到当前指令缓冲器中;当当前指令缓冲器为满时,将指令从存储器加载到下一指令缓冲器中;以及响应于包含在指令中的指令长度信息来控制指令从当前指令缓冲器和下一指令缓冲器传递到经对准指令缓冲器。根据本专利技术进一步的方面,对准控制逻辑被提供于指令对准单元中以便在具有管线架构的数字处理器中对准指令。指令对准单元包括当前指令缓冲器、下一指令缓冲器和经对准指令缓冲器。对准控制逻辑包括在第一管线级中,用于预解码指令以提供指令长度信息的预解码器,及用于保持经预解码的指令长度信息的指令长度寄存器;以及,在第二管线级中,响应于指令长度信息的指针产生逻辑,用于生成当前指令指针以便控制指令从当前指令缓冲器以及,如需要,从下一指令缓冲器加载到经对准指令缓冲器。根据本专利技术进一步的方面,提供了指令对准系统,用于在具有管线架构的数字处理器中对准指令。该指令对准系统包括指令队列;管线级n中的当前指令缓冲器和下一指令缓冲器;管线级n+1中的对准指令缓冲器;指令提取逻辑,用于从指令高速缓存或从下一指令缓冲器将指令加载到当前指令缓冲器中,并用于从指令高速缓存或从指令队列将指令加载到下一指令缓冲器中;以及对准控制逻辑,其响应于包含在指令中的指令长度信息以便控制指令从当前指令缓冲器和下一指令缓冲器传递到经对准的指令缓冲器。附图说明为了更好地理解本专利技术,参考了附图,所述附图在此引入以供参考,其中图1是具有管线架构的数字处理器的框图;图2是图1中所示的提取单元和解码单元的简化框图;图3是根据本专利技术的指令对准系统的实施例的简化框图;图4是指令对准单元的数据路径的较详细的框图;图5是指令对准数据路径和对准控制逻辑的较详细的框图;图6是图5的指针产生逻辑的示意性框图;图7是示意图,说明了指令高速缓存的四个行(line)的实例;以及图8A-8E说明了在处理图7中所示的指令高速缓存行时对于五个连续时钟周期指针产生逻辑的操作。具体实施例方式数字信号处理器(DSP)一实施例的框图在图1中示出。数字信号处理器包括计算核心10和存储器12。计算核心10是DSP的中央处理器。如下所述,核心10和存储器12可具有管线架构。在此实施例中,核心10包括指令提取单元20、指令解码单元22、加载/存储单元24、执行单元30以及系统单元32,其可包括分支解析单元(branch resolution unit)。指令提取单元20和指令解码单元22在下面讨论。加载/存储单元24控制到存储器12的访问。存储器读数据可从存储器12传递到执行单元30中的寄存器文件(register file)。存储器写数据可从执行单元30中的寄存器文件传递到存储器12。在提取单元20中没有指令高速缓存的情况下,指令提取单元可访问存储器12。系统单本文档来自技高网
...

【技术保护点】
一种用于在具有管线架构的数字处理器中对准指令的指令对准单元,包括:管线级n中的当前指令缓冲器和下一指令缓冲器;管线级n+1中的经对准指令缓冲器;指令提取逻辑,用于将指令从存储器或从所述下一指令缓冲器加载到所述当前指令 缓冲器中以及用于将指令从所述存储器加载到所述下一指令缓冲器中;以及对准控制逻辑,其响应于包含在指令中的指令长度信息用于控制指令从所述当前指令缓冲器和所述下一指令缓冲器向所述经对准指令缓冲器的传递。

【技术特征摘要】
【国外来华专利技术】US 2003-5-21 10/442,3291.一种用于在具有管线架构的数字处理器中对准指令的指令对准单元,包括管线级n中的当前指令缓冲器和下一指令缓冲器;管线级n+1中的经对准指令缓冲器;指令提取逻辑,用于将指令从存储器或从所述下一指令缓冲器加载到所述当前指令缓冲器中以及用于将指令从所述存储器加载到所述下一指令缓冲器中;以及对准控制逻辑,其响应于包含在指令中的指令长度信息用于控制指令从所述当前指令缓冲器和所述下一指令缓冲器向所述经对准指令缓冲器的传递。2.如权利要求1所述的指令对准单元,其中所述当前指令缓冲器、所述下一指令缓冲器和所述经对准指令缓冲器每个包括用于保持多个指令字的寄存器,且其中每个指令包括一个或多个指令字。3.如权利要求2所述的指令对准单元,其中所述对准控制逻辑包括预解码器,用于预解码指令以提供指令长度信息;指令长度寄存器,用于保持经预解码的指令长度信息;一指令长度寄存器,对应于所述当前指令缓冲器中的每个寄存器;以及指针产生逻辑,其响应于指令长度信息用于产生当前指令指针,以便控制指令从所述当前指令缓冲器,且如果必要,从所述下一指令缓冲器向所述经对准指令缓冲器传递。4.如权利要求3所述的指令对准单元,其中所述预解码器包括用于预解码来自所述存储器的指令的第一预解码器和用于预解码所述下一指令寄存器中的指令的第二预解码器,所述对准控制逻辑进一步包括多路复用器,用于选择所述第一预解码器的输出、所述第二预解码器的输出或所述指令长度寄存器的输出且用于提供所选的指令长度信息到所述指令长度寄存器。5.如权利要求4所述的指令对准单元,其中每个指令长度寄存器包括用于对应的指令字的有效位。6.如权利要求3所述的指令对准单元,其中所述预解码器和所述指令长度寄存器位于管线级n中,且所述指针产生逻辑位于管线级n+1中。7.如权利要求3所述的指令对准单元,其中所述指针产生逻辑包括下一指针选择逻辑,用于从所述指令长度寄存器选择下一指令指针以响应所述当前指令指针;以及当前指针选择逻辑,用于从所述下一指令指针选择当前指令指针。8.如权利要求7所述的指令对准单元,其中所述当前指针选择逻辑包括状态锁存器,其包含状态位,当所述下一指令指针的低位位为零时被设置;以及选择逻辑,当所述状态位被设置时用于选择所述下一指令指针的较高位位作为当前指令指针。9.如权利要求8所述的指令对准单元,其中所述指针产生逻辑进一步包括新指针选择逻辑。用于选择新指针作为当前指令指针以响应分支指令。10.如权利要求8所述的指令对准单元,其中所述指针产生逻辑利用逻辑电路,其中值的集合中的每个值由一位来表示,用于控制下一指令指针和当前指令指针的选择。11.如权利要求3所述的指令对准单元,其中所述指针产生逻辑利用逻辑电路,其中值的集合中的每个值由一位来表示,用于控制指令从所述当前指令缓冲器和所述下一指令缓冲器向所述经对准指令缓冲器传递。12.如权利要求1所述的指令对准单元,其中当所述当前指令缓冲器和所述下一指令缓冲器为满时,指令队列保持从所述存储器所提取的指令。13.一种用于在具有管线架构的数字处理器中对准指令的方法,包括将指令从存储器或从下一指令缓冲器加载到当前指令缓冲器中;当所述当前指令缓冲器为满时,将指令从所述存储器加载到所述下一指令缓冲器中;以及控制指令从所述当前指令缓冲器和所述下一指令缓冲器向经对准指令缓冲器传递,以响应包含在所述指令中的指令长度信息。14.如权利要求13所述的方法,其中所述当前指令缓冲器、所述下一指令缓冲器和所述经对准指令缓冲器每个包括用于保持多个指令字的寄存器,其中所述指令包括一个或多个指令字,且其中控制指令从所述当前指令缓冲器和所述下一指令缓冲器向所述经对准指令缓冲器的传递包括控制指令字从所述当前指令缓冲器和所述下一指令缓冲器的寄存器向所述经对准指令缓冲器的寄存器的传递。15.如权利要求14所述的方法,其中控制指令的传递包括预解码指令以提供指令长度信息以及产生当前指令指针以响应指令长度信息以便控制指令从所述当前指令缓冲器和所述下一指令缓冲器向所述经对准指令缓冲器传递。16.如权利要求15所述的方法,其中产生当前指令指针包括从所述指令长度信息选择下一指令指针以响应所述当前指令指针,以及从所述下一指令指针选择所述当前指令指针。17.如权利要求16所述的方法,其中选择当前指令指针包括当所述下一指令指针的低位位为零时选择所述下一指令指针的较高位位作为当前指令指针。18.如权利要求17所述的方法,其中产生当前指令指针进一步包括选择新指针作为当前...

【专利技术属性】
技术研发人员:唐M特兰拉维普拉塔普辛格迪帕杜赖斯瓦米斯里坎斯坎南
申请(专利权)人:模拟装置公司
类型:发明
国别省市:US[美国]

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

1