具有指令预解码器的直接存储器访问单元的制作方法

文档序号:6502758阅读:403来源:国知局
专利名称:具有指令预解码器的直接存储器访问单元的制作方法
背景处理器可使用指令管线来执行指令。处理器管线可包括例如取指、对指令解码、以及执行指令的级。尽管处理器是在执行级中执行指令的,但是下一个顺序的指令可同时在解码级中解码(并且再下一个指令可同时在取指级中取回)。注意,每一级可与一个以上的时钟周期相关联(例如,解码级可包括预解码级和解码级,这些级中的每一个都与一个时钟周期相关联)。因为不同的管线级可同时在不同的指令上工作,所以能够提高处理器的性能。
但是,在指令被解码之后,处理器可能会确定下一个顺序的指令不应被执行(例如,当已解码的指令与跳转或分支指令相关联时)。在此情形中,当前在解码和取指级中的指令可从管线中移除。这一称为“分支误预测损失”的情况会降低处理器的性能。
附图简述

图1是一种装置的框图。
图2示出指令管线级。
图3是根据某些实施例的一种装置的框图。
图4是根据某些实施例的一种方法。
图5示出根据某些实施例的指令管线级。
图6是根据某些实施例的一种装置的示例。
图7是根据某些实施例的一种系统的框图。
详细描述图1是装置100的框图,该装置包括全局存储器110,用于存储指令(例如,在引导过程期间被加载到全局存储器110中的指令)。全局存储器110可存储例如m个字(例如,100,000个字),其中每个字有n位(例如,32位)。
直接存储器访问(DMA)引擎120可从全局存储器110顺序地检索指令,并将指令传送到处理元件处的本地存储器130(例如,传送到处理元件的高速缓冲存储器)。例如,可使用到DMA引擎120的n位输入路径,来从全局存储器110检索指令。然后DMA引擎120可使用写信号(WR)和写地址(WR ADDRESS),经由n位输出路径将指令传送到本地存储器130。
然后,处理器140可使用读信号(RD)和读地址(RD ADDRESS),经由n位路径从本地存储器130检索顺序指令。处理器140随即可执行这些指令。为提高性能,处理器140可使用图2中所示的指令管线200来执行指令。当处理器140在处理级230中执行指令时,下一个顺序指令同时在解码级220、222中被解码(而再下一个指令同时在取指级210中被取回)。
注意,单个级可与一个以上的时钟周期相关联,特别是以相对较高的时钟频率。例如,在图2中所示的管线200中,需要两个时钟周期来取回一条指令(C0和C1)。类似地,对指令解码需要一个时钟周期(C2)来将指令部分地翻译成“已预解码”的指令,并需要另一个时钟周期(C3)来将已预解码的指令转换为能被执行的已完全解码的指令。
在指令被解码之后,处理器140可能会确定下一个顺序指令将不会被执行(例如,当已解码的指令与跳转或分支指令相关联时)。在此情形中,当前在解码级220、222和取指级210中的指令可从管线200中移除。因取回和解码不会被执行的指令而浪费的时钟周期被称为“分支延迟时隙”。
减少分支延迟时隙数可提高处理器140的性能。例如,如果已部分或完全解码的指令被存储在全局存储器110中,则可将预解码级220从管线200中移除,并减少分支延迟时隙数。但是,已预解码的指令将会显著地大于原始的指令。例如,一条32位指令在解码之后可能具有100位。因此,将已解码的指令存储在全局存储器110中可能是不切实际的(例如,因为所需的存储器区域太大)。
图3是根据某些实施例的装置300的框图。和以前一样,DMA单元320经由输入路径从存储器单元310顺序地检索指令。但是,根据这一实施例,DMA单元320还包括指令预解码器,用于对指令预解码。
图4是根据某些实施例的可由DMA单元320执行的方法。注意,本文中所描述的任何方法都可由硬件、软件(包括微码)、或硬件和软件的组合来执行。例如,存储介质可在其上存储当由机器执行时会产生根据本文中所描述的任何实施例的性能的指令。
在402,从存储器单元310检索指令。在404,DMA单元320随即对该指令预解码。DMA单元320可例如部分地或完全地对指令解码。在406,将来自DMA单元320的已预解码的指令提供给处理单元处的本地存储器330。
再次参考图3,处理器340随即可从本地存储器330检索已预解码的指令,并执行该指令。图5示出根据某些实施例的指令管线500。因为DMA单元320已经对指令预解码,所以与图2相比,可减少处理器340生成已完全解码的指令所需的时钟周期数(分支延迟时隙C0到C2),并可提高处理器340的性能。此外,因为只有本地存储器330才需要足够大以存储已预解码的指令(而存储器单元310仍然存储较小的原始指令),所以可限制所导致的存储器区域增长。如果DMA单元320完全解码了指令,则甚至可进一步减少分支延迟时隙数(尽管需要进一步增加本地存储器330的大小以存储已完全解码的指令)。
图6是根据某些实施例的装置600的示例,该装置包括全局存储器610,用于存储n位的指令。DMA引擎620顺序地检索指令,而指令预解码逻辑622对每条指令预解码,以生成q位的已预解码的指令(例如,在高速缓存未命中时,或通过受软件控制的DMA命令)。
DMA引擎620随即可使用写信号(WR)和p位写地址(WR ADDRESS),经由q位输出路径将已预解码的指令传送到本地存储器630。本地存储器630可以是例如,能够存储已被预解码的2p个字的处理器高速缓存(例如,10位写地址可访问1,024条指令)。注意,因为指令已被预解码,所以q可能大于n(例如,因为已预解码的指令大于原始指令)。存储在本地存储器630中的已预解码的指令可包括例如执行单元控制信号和/或标志。
处理器140随即可使用读信号(RD)和p位读地址(RD ADDRESS),经由q位路径从本地存储器630检索已预解码的指令。处理器640可包括例如与图2相比使用较少管线级来执行指令的精简指令集计算机(RISC)设备等(例如,因为至少与解码相关联的某一部分分支延迟时隙不再是必需的)。
图7是根据某些实施例的系统700的框图。具体地,系统700是带多向天线740的无线设备。系统700可以是例如码分多址(CDMA)基站。
该无线设备包括片上系统(SOC)装置710、同步动态随机存取存储器(SDRAM)单元720、以及外围部件互连(PCI)接口单元730(诸如根据题为“PCIExpress 1.0”(2002)的PCI标准工业集团(SIG)文献操作的单元等)。SOC装置710可以是例如带有存储数字信号处理器(DSP)指令和数据的全局存储器的数字基带处理器。此外,多个DMA引擎可根据本文中所描述的任何实施例,从全局存储器检索指令,对指令预解码,并将已预解码的指令提供给多个DSP(例如,DSP1到DSPN)。
以下示出各种其它实施例。这些实施例并不构成对所有可能实施例的定义,并且本领域技术人员将会理解,许多其它实施例是可能的。此外,尽管为清楚起见简单描述了以下实施例,但是本领域技术人员将会理解,在需要的情况下,如何对以上描述进行任何修改来适应这些及其它实施例和应用。
尽管已描述了DMA单元包括内置指令预解码器的某些实施例,但是指令预解码器可改为外置于DMA单元。例如,当指令从外置于处理单元的存储器被“传入”时,外置于DMA单元的单元可对指令部分地或完全地解码。此外,尽管某些实施例是结合SOC实现来描述的,但是本文中所描述的部分或所有单元可使用多个集成电路来实现。
本文中所描述的数个实施例纯粹是为说明的目的。本领域技术人员将会从此描述中认识到,可实施经修改和变更的其它实施例,而它们仅受所附权利要求书限定。
权利要求
1.一种方法,包括从存储器单元检索指令;在直接存储器访问单元对所述指令预解码;以及将来自所述直接存储器访问单元的已预解码的指令提供给处理元件。
2.如权利要求1所述的方法,其特征在于,所述提供包括,将所述已预解码的指令存储在所述处理元件本地的存储器中。
3.如权利要求2所述的方法,其特征在于,所述已预解码的指令是要由所述处理元件执行的已完全解码的指令。
4.如权利要求1所述的方法,其特征在于,还包括在所述处理元件处对所述已预解码的指令解码;以及经由处理器管线执行所述已解码的指令。
5.如权利要求1所述的方法,其特征在于,还包括在引导过程期间,将指令加载到所述存储器单元中。
6.如权利要求1所述的方法,其特征在于,所述处理元件是精简指令集计算机设备。
7.如权利要求6所述的方法,其特征在于,所述已预解码的指令包括执行控制信号。
8.一种装置,包括输入路径,用于从存储器单元接收指令;直接存储器访问单元,包括用于对所述指令预解码的指令预解码器;以及输出路径,用于将来自所述直接存储器访问单元的已预解码的指令提供给处理元件。
9.如权利要求8所述的装置,其特征在于,还包括被耦合到所述输入路径的所述存储单元。
10.如权利要求9所述的装置,其特征在于,还包括被耦合到所述输出路径的所述处理元件。
11.如权利要求10所述的装置,其特征在于,所述处理单元包括本地存储器,用于存储所述已预解码的指令。
12.如权利要求10所述的装置,其特征在于,包括多个处理元件,其中每个处理元件与一个包括指令预解码器的直接存储器访问单元相关联。
13.如权利要求10所述的装置,其特征在于,所述输入路径有n位,所述输出路径有q位,并且n<q。
14.如权利要求10所述的装置,其特征在于,所述直接存储器访问单元、所述存储器单元和所述处理元件被构造在集成电路上。
15.如权利要求10所述的装置,其特征在于,所述处理元件是具有指令管线的精简指令集计算机设备。
16.一种物品,包括其上存储指令的存储介质,当所述指令被机器执行时,导致以下动作从存储器单元检索指令,在直接存储器访问单元处对所述指令预解码,以及将来自所述直接存储器访问单元的已预解码的指令提供给处理元件。
17.如权利要求16所述的物品,其特征在于,所述提供包括,将所述已预解码的指令存储在所述处理元件本地的存储器中。
18.一种装置,包括全局存储器,用于存储指令;指令预解码器;以及处理器,其中所述指令预解码器在指令从所述全局存储器传送到所述处理器时对所述指令预解码。
19.如权利要求18所述的装置,其特征在于,还包括直接存储器访问单元,用于安排要从所述全局存储器单元检索的指令,以及安排要向所述处理器提供的已预解码的指令。
20.如权利要求18所述的装置,其特征在于,已预解码的指令包括执行控制信号。
21.一种系统,包括多向天线;以及具有直接存储器访问单元的装置,所述直接存储器访问单元包括输入路径,用于从存储器单元接收指令,指令预解码器,用于对所述指令预解码,以及输出路径,用于将已预解码的指令提供给处理元件。
22.如权利要求21所述的系统,其特征在于,所述装置是数字基带处理器。
23.如权利要求22所述的系统,其特征在于,所述数字基带处理器被构成为片上系统。
24.如权利要求21所述的系统,其特征在于,所述系统是码分多址基站。
全文摘要
根据某些实施例,指令在直接存储器访问单元处被预解码。
文档编号G06F9/30GK1894660SQ200480037087
公开日2007年1月10日 申请日期2004年12月10日 优先权日2003年12月22日
发明者C·阿尔博拉, A·古普塔, T-H·陆 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1