用于在交错的多线程环境中操作的数字信号处理器的寄存器堆的制作方法

文档序号:6567858阅读:110来源:国知局
专利名称:用于在交错的多线程环境中操作的数字信号处理器的寄存器堆的制作方法
技术领域
本发明一般而言涉及数字信号处理器。更特定而言,本发明涉及数字信号处理器 的寄存器堆。
背景技水
技术进步已产生越来越小但愈加强大的个人计算装置。例如,当前存在各种便携 式个人计算装置,包含例如便携式无线电话、个人数字助理(PDA)和传呼装置等无 线计算装置,其均是小型、轻重量且便于用户携带的装置。更具体而言,例如蜂窝式 电话及IP电话等便携式无线电话可通过无线网络传递语音和数据包。此外,许多此类 无线电话均包含并入本文中的其它类型装置。例如,无线电话也可包含数字摄像机、 数字录像机和音频文件播放器。此外,此类无线电话可包含用于存取因特网的网站接 口。因此,所述无线电话包含显著的计算能力。
通常,随着此类装置变的更小且更强大,其变的愈加受资源限制。例如,屏幕尺 寸、存储器和文件系统空间的可用量及输入和输出能力的量均会因装置的小尺寸而受 到限制。此外,电池尺寸、电池所提供的电力量和电池寿命也受到限制。 一种增加所 述装置的电池寿命的方法是在通电所述装置的同时减小所述装置内的数字信号处理器 处于空闲状态的时间量。
因此,提供一种在便携式通信装置中使用的改进的数字信号处理器是有利的。

发明内容
本发明揭示一种处理器装置,所述处理器装置包含存储器和响应于所述存储器的 定序器。所述定序器支持极长指令字(VLIW)型指令且至少一个VLIW指令包在执行期 间使用若干个操作数。所述处理器装置进一步包含多个响应于所述定序器的指令执行 单元及多个寄存器堆。所述多个寄存器堆中的每一者包含多个寄存器且所述多个寄存 器堆耦合到所述多个指令执行单元。此外,所述多个寄存器堆中的每一者包含若干个 数据读取端口且所述多个寄存器堆中每一者的数据读取端口的数量小于由所述至少一 个VLIW指令包使用的操作数的数量。
在特定实施例中,所述定序器进一步支持超标量型指令且至少一个超标量指令在 执行期间使用若干个操作数。在另一特定实施例中,所述多个寄存器堆中每一者的数 据读取端口的数量小于由所述至少一个超标量指令使用的操作数的数量。在又一特定实施例中,所述至少一个VLIW指令或所述至少一个超标量指令在执行期间使用的操 作数的数量为六且所述数据读取端口的数量为四。在又一特定实施例中,所述多个寄 存器堆中的每一者包含少于三个的数据写入端口。在又一特定实施例中,所述多个寄 存器堆中的每一者包含三个数据写入端口 。
在特定实施例中,所述多个寄存器堆包含六个寄存器堆。此外,在另一特定实施 例中,所述存储器包含六个指令高速缓存存储器且每一指令高速缓存存储器与所述六 个寄存器堆中的一者相关联。此外,在特定实施例中,所述存储器包含六个指令队列。 每一指令队列与所述存储器内的单个指令高速缓存存储器相关联且每一指令队列均耦 合到所述定序器。
在另一实施例中,揭示一种操作数字信号处理器的方法,所述方法包含在解码时 钟循环期间经由第一数据读取端口存取寄存器堆。此外,所述方法包含在所述时钟改 变到寄存器堆存取时钟循环时维持经由所述第一数据读取端口对所述寄存器堆的存取 及在所述寄存器堆存取时钟循环期间经由所述第一数据读取端口从所述寄存器堆检索 第一操作数。另外,本文所揭示的方法包含在所述寄存器堆存取时钟循环期间经由所 述第一数据读取端口存取所述寄存器堆。
在另一实施例中,揭示一种对数字信号处理器内的寄存器堆进行更新的方法,所 述方法包含在指令执行时钟循环期间经由第一数据写入端口对所述寄存器堆进行第 一次更新及在写回时钟循环期间经由所述第一数据写入端口对所述寄存器堆进行第二 次更新。
在又一实施例中,揭示一种多线程处理器装置,所述多线程处理器装置包含存
储器;定序器,其响应于所述存储器;多个指令执行单元,其响应于所述定序器;及 第一寄存器堆,其包含第一多个寄存器。所述第一寄存器堆耦合到所述多个指令执行
单元中的每一者且所述第一寄存器堆支持对将执行的第一程序线程的执行。此外,所 述第一寄存器堆包含不多于四个的数据读取端口。所述多线程处理器装置也包含第二
寄存器堆,所述第二寄存器堆包含第二多个寄存器。所述第二寄存器堆耦合到所述多 个指令执行单元中的每一者且所述第二寄存器堆支持对将执行的第二程序线程的执 行。另外,所述第二寄存器堆包含不多于四个的数据读取端口。
在又一实施例中,揭示一种便携式通信装置,所述便携式通信装置包含数字信号
处理器。所述数字信号处理器包含存储器;定序器,其响应于所述存储器来提取具 有若干个操作数的程序指令;至少一个指令执行单元,其响应于所述定序器;及多个 寄存器堆,其耦合到所述至少一个指令执行单元。所述多个寄存器堆中的每一者包含
不多于四个的数据读取端口且所述操作数的数量大于四。
在又一实施例中,揭示一种音频文件播放器,所述音频文件播放器包括数字信 号处理器、耦合到所述数字信号处理器的音频编码器/解码器(CODEC)、耦合到所述数 字信号处理器的多媒体卡、及耦合到所述数字信号处理器的通用串行总线(USB)端口。
所述数字信号处理器包含存储器;定序器,其响应于所述存储器来提取具有若干个
操作数的程序指令;至少一个指令执行单元,其响应于所述定序器;及多个寄存器堆, 其耦合到所述至少一个指令执行单元。所述多个寄存器堆中的每一者包含不多于四个 的数据读取端口且所述操作数的数量大于四。
在又一实施例中,揭示一种处理器装置,所述处理器装置包含用于在解码时钟 循环期间经由第一数据读取端口存取寄存器堆的装置,用于在所述时钟改变到寄存器 堆存取时钟循环时维持经由所述第一数据读取端口对所述寄存器堆的存取的装置,及 用于在所述寄存器堆存取时钟循环期间经由所述第一数据读取端口从所述寄存器堆检 索第一操作数的装置。此外,所述处理器装置包含用于在所述寄存器堆存取时钟循 环期间经由所述第一数据读取端口存取所述寄存器堆的装置,用于在所述时钟改变到 第一指令执行时钟循环时维持经由所述第一数据读取端口对所述寄存器堆的存取的装 置,及用于在所述第一指令执行时钟循环期间经由所述第一数据读取端口从所述寄存 器堆检索第二操作数的装置。
在另一实施例中,揭示一种处理器装置,所述处理器装置包含用于在指令执行
时钟循环期间经由第一数据写入端口对寄存器堆进行第一次更新的装置;及用于在写 回时钟循环期间经由所述第一数据写入端口对所述寄存器堆进行第二次更新的装置。
本文所揭示的一个或一个以上实施例的优点可包含存取的操作数数量大于寄存 器堆中的数据读取端口的数量。
另一优点可包含在一个时钟循环期间提供对等于数据读取端口数量的操作数数 量的存取及在下一时钟循环期间提供经由所述相同数据读取端口对最多达数据读取端 口数量的更多操作数的存取。
又一优点可包含明显减小数字信号处理器内的存储器的尺寸。
又一优点可包含明显减小与制造数字信号处理器相关联的一种或一种以上成本。 又一优点可包含明显减少耦合到数字信号处理器的电源的电力消耗。 在阅读整个申请案之后,本发明的其它方面、优点及特征将变的显而易见,所述 申请案包含以下部分


具体实施方式
及权利要求书。

结合附图参照下文详细说明,将更容易了解本文所述的实施例的方面及伴随优 点,附图中
图1是实例性数字信号处理器的一般示意图2是图1中所示数字信号处理器的实例性统一未分割寄存器堆的一般示意图3是图解说明图1中所示数字信号处理器的详细的交错多线程操作的示意图4是并入有数字信号处理器的便携式通信装置的一般示意图5是并入有数字信号处理器的实例性蜂窝式电话的一般示意图6是并入有数字信号处理器的实例性无线因特网协议电话的一般示意图7是并入有数字信号处理器的实例性便携式数字助理的一般示意图8是并入有数字信号处理器的实例性音频文件播放器的一般示意图。
具体实施例方式
图1图解说明数字信号处理器(DSP)100的实例性非限制实施例的方块图。如图1 中所图解说明,DSP100包含经由总线106耦合到定序器104的存储器102。在特定实 施例中,总线106是六十四(64)位总线且定序器104经配置以从长度为三十二(32)个位 的存储器102中检索指令。总线106耦合到第一指令执行单元108、第二指令执行单 元IIO、第三指令执行单元112、及第四指令执行单元114。图l指示每一指令执行单 元108、 110、 112、 114可经由第一总线118耦合到通用寄存器堆116。通用寄存器堆 116也可经由第二总线120耦合到定序器104及存储器102。
在特定实施例中,存储器102包含第一指令高速缓存存储器122、第二指令高速 缓存存储器124、第三指令高速缓存存储器126、第四指令高速缓存存储器128、第五 指令高速缓存存储器130和第六指令高速缓存存储器132。在操作期间,指令高速缓 存存储器122、 124、 126、 128、 130、 132可由定序器104彼此独立地存取。另外,在 特定实施例中,每一指令高速缓存存储器122、 124、 126、 128、 130、 132包含多个指 令。
如图1中所图解说明,存储器102可包含指令队列134,所述指令队列包含耦合 到每一指令高速缓存存储器122、 124、 126、 128、 130、 132的指令队列。特定而言, 指令队列134包含与第一指令高速缓存存储器122相关联的第一指令队列136、与 第二指令高速缓存存储器124相关联的第二指令队列138、与第三指令高速缓存存储 器126相关联的第三指令队列140、与第四指令高速缓存存储器128相关联的第四指 令队列142、与第五指令高速缓存存储器130相关联的第五指令队列144和与第六指 令高速缓存存储器132相关联的第六指令队列146。
在操作期间,定序器104可经由指令队列134从每一指令高速缓存存储器122、 124、 126、 128、 130、 132提取指令。在特定实施例中,定序器104以从第一指令队 列136到第六指令队列146的次序从指令队列136、 138、 140、 142、 144、 146提取指 令。在从第六指令队列146提取指令后,定序器104返回到第一指令队列136并继续 从指令队列136、 138、 140、 142、 144、 146提取指令。
在特定实施例中,定序器104在第一模式中作为支持超标量指令的2-路超标量定 序器操作。此外,在特定实施例中,所述定序器也以支持极长指令字(VLIW)指令的第 二模式操作。特定而言,所述定序器可作为4-路VLIW定序器操作。在特定实施例中, 第一指令执行单元108可执行载入指令、存储指令及算术逻辑单元(ALU)指令。第二 指令执行单元UO可执行载入指令及ALU指令。此外,第三指令执行单元可执行乘法 指令、乘法累加指令(MAC)、 ALU指令、程序再定向结构和转移寄存器(CR)指令。图1进一步指示第四指令执行单元114可执行移位(S)指令、ALU指令、程序再定向结构 和CR指令。在特定实施例中,所述程序再定向结构可是零开销环路、分支指令、跳 跃(J)指令等。
如图l中所描绘,通用寄存器116包含第一统一寄存器堆148、第二统一寄存 器堆150、第三统一寄存器堆152、第四统一寄存器堆154、第五统一寄存器堆156和 第六统一寄存器堆158。每一统一寄存器堆148、 150、 152、 154、 156、 158对应于存 储器102内的指令高速缓存存储器122、 124、 126、 128、 130、 132 。此外,在特定 实施例中,每一统一寄存器堆148、 150、 152、 154、 156、 158具有相同结构且包含若 干个数据操作数及若干个地址操作数。
在数字信号处理器100的操作期间,指令是由定序器104从存储器102提取且操 作数是从寄存器堆148、 150、 152、 154、 156、 158提取。此外,指令及操作数发送到 指定的指令执行单元108、 110、 112、 114,并在指令执行单元108、 110、 112、 114 处执行。此夕卜,从通用寄存器116 (例如,从统一寄存器堆148、 150、 152、 154、 156、 158中的一者)检索一个或一个以上操作数,且在执行所述指令期间使用所述操作数。 可将每一指令执行单元108、 110、 112、 114处的结果写入到通用寄存器116,也就是 说,写入到统一寄存器堆148、 150、 152、 154、 156、 158。
参照图2,图中显示统一未分割寄存器堆的实例性非限制实施例,且通常将所述 统一未分割寄存器堆表示为200。如图所示,统一未分割寄存器堆200包含三十二(32) 个寄存器202且每一寄存器包含三十二(32)个位204。图2指示统一未分割寄存器堆 200可包含第一数据读取端口 206、第二数据读取端口 208、第三数据读取端口 210 和第四数据读取端口 212。此外,统一未分割寄存器堆200包含第一数据写入端口 214、第二数据写入端口 216和第三数据写入端口 218。
在特定实施例中, 一个或一个以上指令可与统一未分割寄存器堆200相关联。此 外,在执行每一指令期间,可经由四个读取端口 206、 208、 210、 212和三个写入端口 214、 216、 218来存取与每一指令相关联的统一未分割寄存器堆200。然而,由于下述 交错多线程方法,可经由四个数据读取端口 206、 208、 210、 212从统一未分割寄存器 堆200检索多于四个的用于所述指令的操作数。
现在参照图3,图中显示用于数字信号处理器的详细的交错多线程方法。图3显 示所述方法包含分支例程300、载入例程302、存储例程304和s管线例程306。每 一例程300、 302、 304、 306包含多个步骤,所述多个步骤是针对由定序器从指令队列 提取的每一指令在六个时钟循环期间实施。在特定实施例中,所述时钟循环包含解 码时钟循环308、寄存器堆存取时钟循环310、第一执行时钟循环312、第二执行时钟 循环314、第三执行时钟循环316和写回时钟循环318。此外,每一时钟循环包含第一 部分和第二部分。
图3显示在分支例程300期间,在方块320处,在解码时钟循环的第一部分期间 在定序器内对指令实施快速解码。在方块322处,在解码时钟循环308的第二部分期间,定序器存取寄存器堆,例如,针对第一操作数开始寄存器堆存取。方块322的寄 存器存取在寄存器堆存取时钟循环310内结束且第一操作数是从所述寄存器堆检索。 在特定实施例中,定序器经由第一数据读取端口存取寄存器堆。如图所示,方块322 的寄存器堆存取发生在解码时钟循环308的第二部分和寄存器堆存取时钟循环310的 第一部分期间。因此,寄存器堆存取使解码时钟循环308与寄存器堆存取时钟循环310 重叠。
在方块324处,也在解码时钟循环308期间,定序器开始对指令的全解码。由定 序器实施的全解码发生在解码时钟循环308的第二部分和寄存器堆存取时钟循环310 的第一部分内。
在寄存器堆存取时钟循环310期间,在方块326处,定序器产生指令虚拟地址 (IVA)。此后,在方块328处,定序器实施页检査以确定与虚拟地址页号相关联的物理 地址页。移到第一执行时钟循环312,在方块330处,定序器实施指令队列查找。在 方块332处,定序器对指令高速缓存存储器进行第一次存取并检索所述指令的第一双 字。在特定实施例中,每一指令包含三个双字,例如,第一双字、第二双字及第三双 字。在方块334处,在第一执行时钟循环312期间,定序器将来自所述指令高速缓存 存储器的双字对准。
继续到第二执行时钟循环314,定序器对所述指令高速缓存存储器进行第二次存 取以在方块336处检索所述指令的第二双字。接下来,在方块338处,定序器将从所 述指令高速缓存存储器检索的双字对准。
继续到第三执行时钟循环316,定序器对所述指令高速缓存存储器进行第三次存 取以在方块342处检索第三双字。在定序器对所述指令高速缓存存储器进行第三次存 取后,所述定序器在方块344处将第三双字对准。
如图3中所图解说明,在载入例程302期间,在方块350处,定序器在解码时钟 循环308的第一部分期间对所述指令实施快速解码。在方块352处,在解码时钟循环 308的第二部分期间,定序器开始寄存器堆存取。如图所示,由定序器实施的第二寄 存器存取跨两个时钟循环,也就是说,包含解码时钟循环308的第二部分和寄存器堆 存取时钟循环310的第一部分。因此,所述寄存器堆存取在寄存器堆存取时钟循环310 内结束且可检索第二操作数。接下来,在第一执行循环312期间,在方块354处,第 一指令执行单元内的地址产生单元基于先前读取的寄存器堆内容产生所述指令的第一 虚拟地址。
在方块356处,在第二执行时钟循环314期间,数据转换后备缓冲器(DTLB)实施 第一虚拟地址的地址转换以产生第一物理地址。仍在第二执行时钟循环314内,在方 块358处,定序器实施标签检查。
移到第三执行循环316,在方块360处,定序器存取数据高速缓存存储器静态随 机存取存储器(SRAM)以从所述SRAM读取数据。此外,在第三执行循环内,在方块 362处,定序器经由第一数据写入端口对与所述指令相关联的寄存器堆进行第一次更新。在特定实施例中,定序器以后递增地址的结果更新寄存器堆。接下来,在写回时
钟循环318期间,在方块364处,载入对准器对数据进行移位以使双字内的数据对准。 在分块366处,也在写回时钟循环318内,定序器经由第一数据写入端口以从所述高 速缓存存储器载入的数据对所述指令的寄存器堆进行第二次更新。
图3显示在存储例程304期间,在方块368处,定序器在解码时钟循环308期间 对所述指令实施快速解码。此外,在解码时钟循环308期间,在方块370处,定序器 经由第三数据读取端口对与所述指令相关联的寄存器堆进行第三次存取。方块370的 寄存器存取发生在解码时钟循环308的最后部分和寄存器堆存取时钟循环310的第一 部分内。因此,寄存器堆在解码时钟循环308内开始并在寄存器堆存取时钟循环310 内结束。在特定实施例中,在寄存器堆存取时钟循环310期间从所述寄存器堆检索第 三操作数。
如图3中所描绘,在寄存器堆存取时钟循环310的第二部分期间,定序器在方块 372处经由第三数据读取端口对所述指令的寄存器堆进行第四次存取。所述第四寄存 器堆在寄存器堆存取时钟循环310内开始且在第一执行时钟循环312内结束,其中从 所述寄存器检索第四操作数。在特定实施例中,使用第三数据读取端口来存取寄存器, 以检索第三操作数和第四操作数。在方块374处,在多路复用器处对来自定序器的数 据的一部分实施多路复用。此外,在第一执行时钟循环312期间,在方块376处,第 二指令执行单元内的第二地址产生单元基于来自寄存器堆的先前所读取的数据产生所 述指令的虚拟地址。
继续到第二执行时钟循环314,在存储例程期间,在方块378处,数据转换后备 缓冲器(DTLB)将所述指令的先前产生的虚拟地址转换成物理地址。在方块380处,在 第二执行时钟循环314内,定序器实施数据高速缓存存储器标签检查。此外,在第二 执行时钟循环314期间,在方块382处,存储对准器在将存储数据写入到数据高速缓 存存储器之前将所述存储数据对准到双字内的适当字节、半字或字边界。移到第三执 行时钟循环316,在方块384处,定序器对数据高速缓存存储器静态随机存取存储器 进行更新。然后,在方块386处,定序器经由第二数据写入端口以在第三执行时钟循 环316期间执行所述指令的结果对所述指令的寄存器堆进行第三次更新。
如图3中所图解说明,所述s管线例程306在解码时钟循环308期间在方块388 处开始,其中对所述指令的实施快速解码。在方块390处,定序器经由第四数据读取 端口对所述指令的寄存器堆进行第五次存取。第五寄存器堆存取也跨两个时钟循环且 在解码时钟循环308的第二部分内开始并在其中检索第五操作数的寄存器堆存取时钟 循环310的第一部分内结束。仍在寄存器堆存取时钟循环310期间,在多路复用器处 对来自所述指令寄存器堆的数据的一部分实施多路复用。此外,在寄存器堆存取时钟 循环310期间,定序器在方块394处经由第四数据读取端口对所述指令的寄存器堆进 行第六次存取。对所述寄存器堆的第六存取在寄存器堆存取时钟循环310的第二部分 内开始且在第一执行时钟循环312的第一部分内结束。在第一执行时钟循环312期间检索第六操作数。
继续到第二执行时钟循环314,在方块396处,将在第五寄存器堆存取及第六寄 存器堆存取期间检索的数据发送到64位移位器、向量单元和符号/零扩展器。此外, 在第一执行时钟循环期间,在方块398处,对来自移位器、向量单元和符号/零扩展器 的数据实施多路复用。
移到第二执行时钟循环314,在方块400处将来自移位器、向量单元和符号/零扩 展器的经多路复用的数据发送到算术逻辑单元、计数前导零单元或比较器。在方块402 处,在单个多路复用器处对来自算术逻辑单元、计数前导零单元和比较器的数据实施 多路复用。在对所述数据实施多路复用后,移位器将经多路复用的数据移位,以在第 三执行时钟循环316期间在方块404处将所述数据乘以2、 4、 8等。然后,在方块406 处,移位器的输出饱和。在写回时钟循环318期间,在方块408处,经由第三写入数 据端口对所述指令的寄存器堆进行第四次更新。
在特定实施例中,如在图3中所图解说明,用于数字信号处理器的交错多线程方 法利用每一寄存器的四个读取端口和每一寄存器的三个写入端口 。由于读取端口和写 入端口可再循环使用,因而可经由四个读取数据端口检索六个操作数。此外,可经由 三个写入数据端口将四个结果更新到寄存器堆。
图4图解说明便携式通信装置的实例性非限制实施例,且通常将所述便携式通信 装置表示为420。如图4中所图解说明,所述便携式通信装置包含芯片上系统422,所 述芯片上系统包含数字信号处理器424。在特定实施例中,数字信号处理器424为图1 中所示及在本文中所述的数字信号处理器。图4也显示耦合到数字信号处理器424和 显示器428的显示器控制器426。此外,输入装置430耦合到数字信号处理器424。如 图所示,存储器432耦合到数字信号处理器424。另外,编码器/解码器(CODEC)434 可耦合到数字信号处理器424。扬声器436和麦克风438可耦合到CODEC 430。
图4也指示无线控制器440可耦合到数字信号处理器424和无线天线442.在特定 实施例中,电源444耦合到芯片上系统422.此外,在特定实施例中,如图4中所图解 说明,显示器428、输入装置430、扬声器436、麦克风438、无线天线442和电源444 处在芯片上系统422的外部。然而,其每一者均耦合到芯片上系统422的组件。
在特定实施例中,数字信号处理器424利用交错多线程来处理与程序线程相关联 的指令,所述程序线程是便携式通信装置420的各种组件实施所需功能性及作业所必 需的。例如,当经由无线天线建立无线通信会话时,用户便可对着麦克风438讲话。 代表用户的语音的电子信号发送到CODEC 434以便进行编码。数字信号处理器424 可实施数据处理以使CODEC 434对来自麦克风的电子信号进行编码。此外,无线控 制器440可将经由无线天线442接收的进入信号发送到CODEC434以进行解码并发送 到扬声器436。数字信号处理器424也可在对经由无线天线442接收的信号进行解码 时针对CODEC 434实施数据处理。
此外,在无线通信会话之前、期间或之后,数字信号处理器424可处理从输入装置430接收的输入。例如,在无线通信会话期间,用户可使用输入装置430及显示器 428以经由万维网浏览器在因特网上冲浪,所述万维网浏览器嵌于便携式系统装置420 的存储器432内。如本文所述,数字信号处理器424可将由输入装置430、显示控制 器426、显示器428、 CODEC 434及无线控制器440使用的各种程序线程交错,以有 效地控制便携式通信装置420以及其中的各种组件的操作。许多与各种程序线程相关 联的指令是在一个或一个以上时钟循环期间同时执行。由此,显著降低因浪费的时钟 循环而引起的功率和能量消耗。
参照图5,其显示蜂窝式电话的实例性非限制实施例且所述蜂窝式电话通常表示 为520。如图所示,蜂窝式电话520包含芯片上系统522,所述芯片上系统522包含耦 合在一起的数字基带处理器524及模拟基带处理器526。在特定实施例中,数字基带 处理器524为数字信号处理器,例如,图1中所示及在本文中所述的数字信号处理器。 如图5中所图解说明,显示器控制器528和触摸屏控制器530耦合到数字基带处理器 524。处在芯片上系统522外部的触摸屏显示器532又耦合到显示器控制器528和触摸 屏控制器530。
图5进一步指示耦合到数字基带处理器524的视频编码器534,例如,相位交替 线(PAL)编码器、连续色彩记忆(SECAM)编码器或美国国家电视系统委员会(NTSC)编 码器。此外,视频放大器536耦合到视频编码器534及触摸屏显示器532。此外,视 频端口 538耦合到视频放大器536。如在图5中所描绘,通用串行总线(USB)控制器 540耦合到数字基带处理器524。此外,USB端口 542耦合到USB控制器540。存储 器544及订户身份模块(SIM)卡546也可耦合到数字基带处理器524。此外,如在图5 中所示,数字照相机548可耦合到数字基带处理器524。在实例性实施例中,数字照 相机548是电荷耦合装置(CCD)照相机或互补金属氧化物半导体(CMOS)照相机。
如图5中的进一步图解说明,立体声音频CODEC 550可耦合到模拟基带处理器 526。此外,音频放大器552可耦合到立体声音频CODEC 550。在实例性实施例中, 第一立体声扬声器554及第二立体声扬声器556耦合到音频放大器552。图5显示麦 克风放大器558也可耦合到立体声音频CODEC 550。另外,麦克风560可耦合到麦克 风放大器558。在特定实施例中,调频(FM)无线电调谐器562可耦合到立体声音频 CODEC 550。此外,FM天线564耦合到FM无线电调谐器562。此外,立体声耳机 566可耦合到立体声音频CODEC 550。
图5进一步指示射频(RF)收发机568可耦合到模拟基带处理器526。 RF开关570 可耦合到RF收发机568及RF天线572。如图5中所示,键盘574可耦合到模拟基带 处理器526。此外,带有麦克风的单声道头戴耳机576可耦合到模拟基带处理器526。 此外,振动器装置578可耦合到模拟基带处理器526。图5也显示电源580可耦合到 芯片上系统522。在特定实施例中,电源580是为蜂窝式电话520中需要用电的各种 组件供电的直流(DC)电源。此外,在特定实施例中,电源是可再充电式DC电池或DC 电源,其是从连接到AC电源的交流(AC)至DC转换器引出。
在特定实施例中,如图5中所描绘,触摸屏显示器532、视频端口 538、 USB端 口 542,照相机548、第一立体声扬声器554、第二立体声扬声器556、麦克风560、 FM天线564、立体声耳机566、 RF开关570、 RF天线572、键盘574、单声道头戴耳 机576、振动器578、及电源580均处在芯片上系统522的外部。此外,在特定实施例 中,数字基带处理器524及模拟基带处理器526可使用本文中所述的交错多线程,来 处理各种程序线程,所述程序线程与一个或一个以上与蜂窝式电话520相关联的不同 组件相关联。
参照图6,图中显示无线因特网协议(IP)电话的实例性非限制实施例,且通常 将所述无线因特网协议(IP)电话表示为600。如图所示,无线IP电话600包含芯片 上系统602,所述芯片上系统包含数字信号处理器(DSP) 604。在特定实施例中,DSP 604是在图1中所示及在本文中所述的数字信号处理器。如在图6中所图解说明,显 示器控制器606耦合到DSP 604且显示器608耦合到显示器控制器606。在实例性实 施例中,显示器608是液晶显示器(LCD)。图6进一步显示键盘610可耦合到DSP 604。
如图6中进一步所描绘,快闪存储器612可耦合到DSP604。同步动态随机存取 存储器(SDRAM)614、静态随机存取存储器(SRAM)616和电可擦可编程唯读存储器 (EEPROM)618也可耦合到DSP 604。图6也显示发光二极管(LED)620可耦合到DSP 604。另外,在特定实施例中,语音CODEC 622可耦合到DSP 604。放大器624可耦 合到语音CODEC 622且单声道扬声器626可耦合到放大器624。图6进一步指示单声 道头戴耳机628也可耦合到语音CODEC 622。在特定实施例中,单声道头戴耳机628 包含麦克风。
图6也图解说明无线局域网(WLAN)基带处理器630可耦合到DSP 604。 RF收发 机632可耦合到WLAN基带处理器630且RF天线634可耦合到RF收发机632。在 特定实施例中,蓝牙控制器636也可耦合到DSP 604且蓝牙天线638可耦合到控制器 636。图6也显示USB端口 640也可耦合到DSP 604。此外,电源642耦合到芯片上 系统602且经由芯片上系统602为无线IP电话600的各个组件供电。
在特定实施例中,如图6中所指示,显示器608、键盘610、 LED 620、单声道扬 声器626、单声道头戴耳机628、 RF天线634、蓝牙天线638、 USB端口 640和电源 642均处在芯片上系统602的外部。然而,所述组件中的每一者均耦合到所述芯片上 系统中的一个或一个以上组件。此外,在特定实施例中,数字信号处理器600可使用 本文所述的交错多线程,来以处理各种程序线程,所述程序线程与一个或一个以上与 IP电话600相关联的不同组件相关联。
图4图解说明便携式数字助理(PDA)的实例性非限制实施例,所述便携式数字 助理通常表示为700。如图所示,PDA700包含芯片上系统702,所述芯片上系统包含 数字信号处理器(DSP)704。在特定实施例中,DSP 704是在图1中所示及在本文中所 述的数字信号处理器。如图7中所描绘,触摸屏控制器706及显示器控制器708耦合 到DSP704。此外,触摸屏显示器耦合到触摸屏控制器706及显示器控制器708。图7也指示键盘712可耦合到DSP 704。
如图7中进一步描绘,快闪存储器714可耦合到DSP 704。此外,唯读存储器 (ROM)716、动态随机存取存储器(DRAM)718和电可擦可编程唯读存储器 (EEPROM)720可耦合到DSP 704。图7也显示红外线数据协会(IrDA)端口 722可耦合 到DSP704。另外,在特定实施例中,数字照相机724可耦合到DSP704。
如图7中所示,在特定实施例中,立体声音频CODEC 726可耦合到DSP 704。 第一立体声放大器728可耦合到立体声音频CODEC 726且第一立体声扬声器730可 耦合到第一立体声放大器728。另外,麦克风放大器732可耦合到立体声音频CODEC 726且麦克风734可耦合到麦克风放大器732。图7进一步显示第二立体声放大器736 可耦合到立体声音频CODEC 726且第二立体声扬声器738可耦合到第二立体声放大 器736。在特定实施例中,立体声耳机740也可耦合到立体声音频CODEC 726。
图7也图解说明802.11控制器742可耦合到DSP 704且802.11天线744可耦合 到802.11控制器742。此外,蓝牙控制器746可耦合到DSP 704且蓝牙天线748可耦 合到蓝牙控制器746。如图7中所描绘,USB控制器750可耦合到DSP 704且USB端 口 752可耦合到USB控制器750。另外,智能卡754 (例如,多媒体卡(MMC)或安全 数字卡(SD))可耦合到DSP 704。此外,如图7中所示,电源756可耦合到芯片上系 统702且可经由芯片上系统702为PDA700中的各组件供电。
在特定实施例中,如图7中所指示,显示器710、键盘712、 IrDA端口 722、数 字照相机724、第一立体声扬声器730、麦克风734、第二立体声扬声器738、立体声 耳机740、 802.11天线744、蓝牙天线748、 USB端口 752和电源750均处在芯片上系 统702的外部。然而,所述组件中的每一者均耦合到所述芯片上系统中的一个或一个 以上组件。另外,在特定实施例中,数字信号处理器704可使用本文所述的交错多线 程,来处理各种程序线程,所述程序线程与一个或一个以上与便携式数字助理700相关联的不同组件相关联。
参照图8,图中显示音频文件播放器(例如,移动图画专家群组音频层-3(MP3) 播放器)的实例性非限制实施例,且所述音频文件播放器通常表示为800。如图所示, 音频文件播放器800包含芯片上系统802,所述芯片上系统包含数字信号处理器 (DSP)804。在特定实施例中,DSP 804是在图1中所示及在本文中所述的数字信号处 理器。如图8中所图解说明,显示器控制器806耦合到DSP804且显示器808耦合到 显示器控制器806。在实例性实施例中,显示器808是液晶显示器(LCD)。图8进一步 显示键盘810可耦合到DSP 804。
如图8中进一步描绘,快闪存储器812和唯读存储器(ROM)814可耦合到DSP 804。 另外,在特定实施例中,音频CODEC 816可耦合到DSP 804。放大器818可耦合到音 频CODEC 816且单声道扬声器820可耦合到放大器818。图8进一步指示麦克风输入 822和立体声输入824也可耦合到音频CODEC 816。在特定实施例中,立体声耳机826 也可耦合到音频CODEC 816。
图8也指示USB端口 828和智能卡830可耦合到DSP804。另外,电源832可耦 合到芯片上系统802且可经由芯片上系统802为音频文件播放器800中的各组件供电。
在特定实施例中,如图8中所指示,显示器808、键盘810、单声道扬声器820、 麦克风输入822、立体声输入824、立体声耳机826、 USB端口 828和电源832均处在 芯片上系统802的外部。然而,所述组件中的每一者均耦合到所述芯片上系统上的一 个或一个以上组件。此外,在特定实施例中,数字信号处理器804可使用本文所述的 交错多线程来处理各种程序线程,所述程序线程与一个或一个以上与音频文件播放器 800相关联的不同组件相关联。
通过本文所揭示结构的配置,用于在交错多线程环境中操作的数字处理器的寄存 器堆提供多个寄存器堆,所述多个寄存器堆各自具有四个数据读取端口和三个数据写 入端口 。每一寄存器堆包含数据操作数及地址操作数且每一寄存器堆可用于支持特定 的程序线程。在操作期间,特定指令可经由四个数据读取端口来存取多达六个操作数。 例如,可在一个时钟循环期间检索四个操作数并可在下一时钟信号期间检索两个操作 数。仅使用四个数据读取端口会明显减小数字信号处理器所需存储器的尺寸。因此, 与制造包含本文所揭示寄存器堆的数字信号处理器相关联的成本明显减小。此外,耦 合到数字信号处理器的电源的功率消耗明显减小。
所属领域的技术人员应进一步了解,结合本文所揭示实施例来描述的各种说明性 逻辑块、配置、模块、电路和算法步骤可实施为电子硬件、计算机软件或二者的组合。 为清晰地图解说明硬件与软件的互换性,上文大致就其功能性来描述各种说明性组件、 块、配置、模块、电路和步骤。此种功能性是作为硬件还是软件而实施取决于特定应 用和施加于整个系统的设计制约条件。所属领域的技术人员可针对每一特定应用以不 同方式实施上述功能性,但是,所述实施决定绝对不应被解释为导致背离本发明的范 围。
结合本文所揭示实施例所描述的方法或算法的步骤可直接实施在硬件、由处理器 执行的软件模块或二者的组合中。软件模块可驻存于RAM存储器、快闪存储器、ROM 存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可装 卸磁盘、CD-ROM、或此项技术中已知的任一其它形式的存储媒体中。实例性存储媒 体耦合到处理器,以使所述处理器可从存储媒体读取信息及向所述存储媒体写入信息。 另一选择为,存储媒体可是处理器的组成部分。所述处理器和存储媒体可驻存于ASIC 中。ASIC可驻存于计算装置或用户终端机中。另一选择为,处理器和存储媒体可作为 离散组件驻存于计算装置或用户终端机中。
上文对所揭示实施例的说明旨在使所属领域的技术人员均能够制作或使用本发 明。所属领域的技术人员将易知对所述实施例的各种修改,且本文所界定的一般原理 也可应用于其它实施例,这并不背离本发明的精神或范围。因此本发明并非打算限定 于本文所示的实施例,而应赋予其由以下权利要求书所界定的原理和新颖特性相一致的最宽广范围。
权利要求
1、一种处理器装置,其包括存储器;定序器,其响应于所述存储器,所述定序器支持极长指令字(VLIW)型指令,其中至少一个VLIW指令在执行期间使用若干个操作数;多个指令执行单元,其响应于所述定序器;及多个寄存器堆,所述多个寄存器堆中的每一者包含多个寄存器,所述多个寄存器堆耦合到所述多个指令执行单元;其中所述多个寄存器堆中的每一者包含若干个数据读取端口;且其中所述多个寄存器堆中每一者的数据读取端口的数量小于由所述至少一个VLIW指令使用的操作数的数量。
2、 如权利要求1所述的处理器装置,其中所述定序器进一步支持超标量型指令 且其中至少一个超标量指令在执行期间使用若干个操作数。
3、 如权利要求2所述的处理器装置,其中所述多个寄存器堆中每一者的数据读 取端口的数量小于由所述至少一个超标量指令使用的操作数的数量。
4、 如权利要求3所述的处理器装置,其中在所述至少一个VLIW指令或所述至 少一个超标量指令的执行期间使用的所述操作数的数量为六且所述数据读取端口的数 量为四。
5、 如权利要求4所述的处理器装置,其中所述多个寄存器堆中的每一者包含少 于四个数据写入端口。
6、 如权利要求5所述的处理器装置,其中所述多个寄存器堆中的每一者包含三 个数据写入端口。
7、 如权利要求1所述的处理器装置,其中所述多个寄存器堆包括六个寄存器堆。
8、 如权利要求7所述的处理器装置,其中所述存储器包含六个指令高速缓存存 储器且每一指令高速缓存存储器与所述六个寄存器堆中的一者相关联。
9、 如权利要求8所述的处理器装置,其中所述存储器包含六个指令队列,其中 每一指令队列均与单个指令高速缓存存储器相关联。
10、 如权利要求9所述的处理器装置,其中每一指令队列耦合到所述定序器。
11、 一种操作数字信号处理器的方法,所述方法包括 在解码时钟循环期间,经由第一数据读取端口存取寄存器堆; 在所述时钟改变到寄存器堆存取时钟循环时,维持经由所述第一数据读取端口对所述寄存器堆的存取;在所述寄存器堆存取时钟循环期间经由所述第一数据读取端口从所述寄存器堆检索第一操作数;及在所述寄存器堆存取时钟循环期间经由所述第一数据读取端口存取所述寄存器堆。
12、 如权利要求11所述的方法,其进一步包括.-在所述时钟改变到第一指令执行时钟循环时,维持经由所述第一数据读取端口对 所述寄存器堆的存取在所述第一指令执行时钟循环期间经由所述第一数据读取端口从所述寄存器堆 检索第二操作数。
13、 如权利要求12所述的方法,其进一步包括在所述解码时钟循环期间经由第二数据读取端口存取寄存器堆; 在所述时钟改变到所述寄存器堆存取时钟循环时,维持经由所述第二数据读取端口对所述寄存器堆的存取;及在所述寄存器堆存取时钟循环期间经由所述第二数据读取端口从所述寄存器堆检索第三操作数。
14、 如权利要求13所述的方法,其进一步包括在所述寄存器堆存取时钟循环期间经由所述第二数据读取端口存取所述寄存器堆;在所述时钟改变为所述第一指令执行时钟循环时,维持经由所述第二数据读取端 口对所述寄存器堆的存取;及在所述第一指令执行时钟循环期间经由所述第二数据读取端口从所述寄存器堆 检索第四操作数。
15、 如权利要求14所述的方法,其进一步包括-在所述解码时钟循环期间经由第三数据读取端口存取所述寄存器堆; 在所述时钟改变到所述寄存器堆存取时钟循环时,维持经由所述第三数据读取端口对所述寄存器堆的存取;及在所述寄存器堆存取时钟循环期间经由所述第三数据读取端口从所述寄存器堆 检索第五操作数。
16、 如权利要求15所述的方法,其进一步包括 在所述解码时钟循环期间经由第四数据读取端口存取所述寄存器堆; 在所述时钟改变到所述寄存器堆存取时钟循环时,维持经由所述第四数据读取端口对所述寄存器堆的存取;及在所述寄存器堆存取时钟循环期间经由所述第三数据读取端口从所述寄存器堆 检索第六操作数。
17、 如权利要求16所述的方法,其进一步包括在第三指令执行时钟循环期间经由第一数据写入端口对所述寄存器堆进行第一 次更新;及在写回时钟循环期间经由所述第一数据写入端口对所述寄存器堆进行第二次更新。
18、 如权利要求17所述的方法,其进一步包括在第三指令执行时钟循环期间经 由第二数据写入端口对所述寄存器堆迸行第三次更新。
19、 如权利要求18所述的方法,其进一步包括在写回时钟循环期间经由第三数 据写入端口对所述寄存器堆进行第四次更新。
20、 一种对数字信号处理器内的寄存器堆进行更新的方法,所述方法包括-在指令执行时钟循环期间经由第一数据写入端口对所述寄存器堆进行第一次更新;及在写回时钟循环期间经由所述第一数据写入端口对所述寄存器堆进行第二次更新。
21、 如权利要求20所述的方法,其进一步包括在所述指令执行时钟循环期间经 由第二数据写入端口对所述寄存器堆进行第三次更新。
22、 如权利要求21所述的方法,其进一步包括在写回时钟循环期间经由第三数 据写入端口对所述寄存器堆进行第四次更新。
23、 一种多线程处理器装置,其包括-存储器;定序器,其响应于所述存储器; 多个指令执行单元,其响应于所述定序器;第一寄存器堆,其包含第一多个寄存器,所述第一寄存器堆耦合到所述多个指令 执行单元中的每一者,所述第一寄存器堆支持对将要执行的第一程序线程的执行,所述第一寄存器堆包含不多于四个数据读取端口;及第二寄存器堆,其包含第二多个寄存器,所述第二寄存器堆耦合到所述多个指令 执行单元中的每一者,所述第二寄存器堆支持对将要执行的第二程序线程的执行,所 述第二寄存器堆包含不多于四个数据读取端口。
24、 如权利要求23所述的多线程处理器装置,其进一步包括 第三寄存器堆,其包含第三多个寄存器,所述第三寄存器堆耦合到所述多个指令执行单元中的每一者,所述第三寄存器堆支持对将要执行的第三程序线程的执行,所述第三寄存器堆包含不多于四个数据读取端口 ;第四寄存器堆,其包含第四多个寄存器,所述第四寄存器堆耦合到所述多个指令 执行单元中的每一者,所述第四寄存器堆支持对将要执行的第四程序线程的执行,所述第四寄存器堆包含不多于四个数据读取端口 ;第五寄存器堆,其包含第五多个寄存器,所述第五寄存器堆耦合到所述多个指令 执行单元中的每一者,所述第五寄存器堆支持对将要执行的第五程序线程的执行,所述第五寄存器堆包含不多于四个数据读取端口;及第六寄存器堆,其包含第六多个寄存器,所述第六寄存器堆耦合到所述多个指令 执行单元中的每一者,所述第六寄存器堆支持对将要执行的第六程序线程的执行,所述第六寄存器堆包含不多于四个数据读取端口 。
25、 如权利要求24所述的多线程处理器装置,其中每一寄存器堆包含四个数据读取端口。
26、 如权利要求24所述的多线程处理器装置,其中每一寄存器堆包含不多于三 个数据写入端口。
27、 如权利要求26所述的多线程处理器装置,其中每一寄存器堆包含三个数据 写入端口。
28、 一种便携式通信装置,其包括 数字信号处理器; 其中所述数字信号处理器包含存储器;定序器,其响应于所述存储器以提取具有若干个操作数的程序指令; 至少一个指令执行单元,其响应于所述定序器;及多个寄存器堆,其耦合到所述至少一个指令执行单元,所述多个寄存器堆中 的每一者包含不多于四个数据读取端口且其中所述操作数的数量大于四。
29、 如权利要求28所述的便携式通信装置,其中所述多个寄存器堆中的每一者 包含不多于三个数据写入端口 。
30、 如权利要求28所述的便携式通信装置,其中所述定序器在第一操作模式中 支持极长指令字(VLIW)型指令且其中所述定序器在第二操作模式中支持超标量型指 令。
31、 如权利要求30所述的便携式通信装置,其中所述存储器包含六个指令高速缓存存储器且每一指令高速缓存存储器与所述六个寄存器堆中的一者相关联。
32、 如权利要求31所述的便携式通信装置,其中所述存储器包含六个指令队列, 其中每一指令队列与所述存储器内的单个指令高速缓存存储器相关联且其中每一指令 队列耦合到所述定序器。
33、 如权利要求32所述的便携式通信装置,其中所述数字信号处理器利用交错 的多线程来执行来自多个程序线程的指令,所述多个程序线程是从所述存储器内的所 述指令高速缓存存储器中检索的。
34、 如权利要求33所述的便携式通信装置,其中所述数字信号处理器交错六个 独立程序线程。
35、 如权利要求28所述的便携式通信装置,其进一步包括 模拟基带处理器,其耦合到所述数字信号处理器; 立体声音频编码器/解码器(CODEC),其耦合到所述模拟基带处理器; 射频(RF)收发机,其耦合到所述模拟基带处理器;RF开关,其耦合到所述RF收发机;及 RF天线,其耦合到所述RF开关。
36、 如权利要求28所述的便携式通信装置,其迸一步包括语音编码器/解码器(CODEC),其耦合到所述数字信号处理器;蓝牙控制器,其耦合到所述数字信号处理器; 蓝牙天线,其耦合到所述蓝牙控制器;无线局域网媒体存取控制(WLAN MAC)基带处理器,其耦合到所述数字信号处理器;RF收发机,其耦合到所述WLANMAC基带处理器;及 RF天线,其耦合到所述RF收发机。
37、 如权利要求28所述的便携式通信装置,其进一步包括-立体声编码器/解码器(CODEC),其耦合到所述数字信号处理器; 802.11控制器,其耦合到所述数字信号处理器;802.11天线,其耦合到所述802.11控制器; 蓝牙控制器,其耦合到所述数字信号处理器; 蓝牙天线,其耦合到所述蓝牙控制器;通用串行总线(USB)控制器,其耦合到所述数字信号处理器;及 USB端口 ,其耦合到所述USB控制器。
38、 一种音频文件播放器,其包括 数字信号处理器;音频编码器/解码器(CODEC),其耦合到所述数字信号处理器; 多媒体卡,其耦合到所述数字信号处理器; 通用串行总线(USB)端口,其耦合到所述数字信号处理器;且 其中所述数字信号处理器包含 存储器;定序器,其响应于所述存储器以提取具有若干个操作数的程序指令; 至少一个指令执行单元,其响应于所述定序器;及多个寄存器堆,其耦合到所述至少一个指令执行单元,所述多个寄存器堆中 的每一者包含不多于四个数据读取端口且其中所述操作数的数量大于四。
39、 一种处理器装置,其包括用于在解码时钟循环期间经由第一数据读取端口存取寄存器堆的装置;用于在所述时钟改变到寄存器堆存取时钟循环时维持经由所述第一数据读取端口对所述寄存器堆的存取的装置;用于在所述寄存器堆存取时钟循环期间经由所述第一数据读取端口从所述寄存器堆检索第一操作数的装置;用于在所述寄存器堆存取时钟循环期间经由所述第一数据读取端口存取所述寄存器堆的装置;用于在所述时钟改变到第一指令执行时钟循环时维持经由所述第一数据读取端口对所述寄存器堆的存取的装置;及用于在所述第一指令执行时钟循环期间经由所述第一数据读取端口从所述寄存 器堆检索第二操作数的装置。
40、 一种处理器装置,其包括用于在指令执行时钟循环期间经由第一数据写入端口对寄存器堆进行第一次更 新的装置;及用于在写回时钟循环期间经由所述第一数据写入端口对所述寄存器堆进行第二 次更新的装置。
全文摘要
本发明揭示一种处理器装置,所述处理器装置包含存储器及响应于所述存储器的定序器。所述定序器支持极长指令字(VLIW)型指令且至少一个VLIW指令包在执行期间使用若干个操作数。所述处理器装置进一步包含多个响应于所述定序器的指令执行单元及多个寄存器堆。所述多个寄存器堆中的每一者均包含多个寄存器且所述多个寄存器堆耦合到所述多个指令执行单元。此外,所述多个寄存器堆中的每一者均包含若干个数据读取端口且所述多个寄存器堆中每一者的数据读取端口的数量小于由所述至少一个VLIW指令包使用的操作数的数量。
文档编号G06F9/38GK101203830SQ200680022104
公开日2008年6月18日 申请日期2006年4月24日 优先权日2005年4月26日
发明者卢西恩·科德雷斯库, 埃里希·普罗恩德克, 威廉·C·安德森, 穆罕默德·艾哈迈德 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1