数字信号处理器制造技术

技术编号:2826838 阅读:272 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出一种数字信号处理器,包含至少一运算核心。每一运算核心中有至少两个功能块,各专属处理不同类型的指令串。每一功能块有专属的专用寄存器,供各自运算功能使用。一乒乓寄存器提供所述功能块轮流存取。运算核心中有一公用寄存器,包含至少两个读取端口各对应耦接一功能块,供所述功能块同时读取该公用寄存器,以及一写入端口耦接所述功能块其中之一,供其写入数据至该公用寄存器。

【技术实现步骤摘要】

本专利技术涉及一种数字信号处理器,特别涉及一种数字信号处理器核心运 算单元中可共享的寄存器结构。
技术介绍
图1是一现有的平行式核心(PAC)数字信号处理器(DSP)结构。典型 的数字信号处理器中包含有多个运算核心(Cluster) 200,每个运算核心200 中有各种不同的功能块(function unit)负责执行不同类型的指令串,例如 加载存储(Load/Store)单元212和数学运算(Arithmetic)单元222。 一 程控单元108负责所有指令串的获取、分派以及程序控管。该程控单元108 从一指令内存106中获取各种不同类型的指令串,然后依照类型各别发派至 所述运算核心200中的加载存储单元212或数学运算单元222以供执行。在 运算核心200中,每一功能块拥有对应的专用寄存器(register file),供 其专属使用。例如加载存储单元212耦接一地址寄存器214,而该数学运算 单元222则耦接一累加寄存器224。如果加载存储单元212和数学运算单元 222之间有数据要交换,则是通过一乒乓寄存器210来传送。该乒乓寄存器 210中包含多个寄存单元,等分为乒寄存单元202和乓寄存单元204两部份, 供所述功能块轮流存取。当该加载存储单元212存取乒寄存单元202时,该 数学运算单元222只能存取乓寄存单元204,而反之亦然。藉此加载存储单 元212和数学运算单元222可以共享和交换数据。这样的结构称为分布式寄存器结构,多半应用于极长指令集(very long instruction word; VLIW)的数字信号处理器。优点是,多个分散的寄存器 可以减少功率的消耗以及连结所需的端口 (port)数。然而缺点是当多个功 能块需要使用同一份数据时,数据的交换会显得不方便。即使是乒乓寄存器 210的结构,其中的兵寄存单元202和乓寄存单元204也没办法同时被加栽 存储单元212和数学运算单元222存取,必须轮流使用,或是将同一份数据 复制两份各放一边,造成空间上的浪费。此外,在某些特定应用的运算中,经常需要存取大量连续地址的lt据,例如有限脉冲响应(FIR)、无限脉冲响应(IIR)和快速傅立叶(FFT)算法。为了处理这些连续地址的数据,需要 执行大量相同功能而不同地址参数的程序代码。这种重复性很高的程序代码 占去了4艮多的存卡者空间。有荟于此,这种分布式寄存器结构是有待改良的。
技术实现思路
本专利技术提出一种数字信号处理器,包含至少一运算核心。每一运算核心 中有至少两个功維块,各专属处理不同类型的指令串。每一功能块有专属的 专用寄存器,供客自运算功能使用。 一乒乓寄存器提供所述功能块轮流存取。 运算核心中有一公用寄存器,包含至少两个读取端口各对应耦接一功能块, 供所述功能块同时读取该公用寄存器,以及一写入端口耦接所述功能块其中 之一,供其篇入数据至该公用寄存器。每一运算核心进一步包含至少两个指针寄存器,各专属于一对应的功能 块,存储一指标值和一位移值。每一指针寄存器中,该指针值每被读取一次, 就被加上该位移值成为更新的指标值。每一功能块支持一指位器指令,以对 应的指针寄存器中的指针值为执行参数。本专利技术的数字信号处理器中,进一步包含一数据存储器,通过一内存接 口供每一运算核心存取。 一指令内存存储不同类型的指令串。 一程控单元读 取该指令内存中的指令串,并根据指令串的类型将所述指令串发派给所述功 能块。所述功能块至少包含一加载存储单元,用以执行加载指令和存储指令。 所述专用寄存器则包含一地址寄存器,专属于该加载存储单元使用,包含多 个寄存单元,用以产生地址值供存取该数据存储器。所述功能块中另包含一数学运算单元,用以执行数学运算指令。而所述 专用寄存器中包含一累加寄存器,专属于该数学运算单元使用,包含多个寄 存单元,用以暂存数学运算结杲。该乒乓寄存器包含多个寄存单元,等分为一乒寄存单元和一乓寄存单元, 供所述功能块轮流存取。当该加载存储单元使用该乒寄存单元时,该数学运 算单元只能使用该乓寄存单元,而反之亦然。附图说明图1是一现有的平行式核心数字信号处理器结构;图2是本专利技术实施例之一的平行式核心数字信号处理器结构;图3是指针寄存器的示意图;以及图4是应用指针寄存器的流程图。附图符号说明104 数据存储器106 指令内存108 程控单元200 运算核心202 兵寄存器204 乓寄存器210 兵兵寄存器212 加载存储单元214 地址寄存器222 数学运算单元224 累加寄存器300 运算核心310 公用寄存器312 加栽存储单元313 写入端口314 地址寄存器315 读取端口316 指针寄存器322 数学运算单元324 累加寄存器325 读取端口326 指针寄存器具体实施方式图2是本专利技术实施例之一的平行式核心数字信号处理器结构。在图2的 数字信号处理器中,运算核心300是一改良结构,通过一内存接口存取该数据存储器104。指令内存106存储由外界输入的各种不同类型的指令串,而 程控单元108读取该指令内存106,根据指令串的类型将所述指令串发派给 所述功能块。加载存储单元312执行加载指令和存储指令,而数学运算单元 314执行数学运算指令。地址寄存器322专属于该加载存储单元312使用, 可包含8或16个32位的寄存单元,用以产生地址值供存取该数据存储器104。 而累加寄存器324专属于该322使用,可包含多个个40位的寄存单元,用以 暂存数学运算结果。每一运算核心300中,除了原有的乒乓寄存器210之外, 尚提供了一公用寄存器310,包含了两个读取端口 315和325,以及一个写入 端口 313。藉此,加载存储单元312和数学运算单元322可以各别通过该读 取端口 315和325同时读取该公用寄存器310,而通过写入端口 313,该加载 存储单元312可以写入数据至该公用寄存器310。在本结构中,公用寄存器 310尤其适合存储数值固定且同时被多个功能块需要的数据,例如FIR、 IIR 或FFT的运算系数,其中,可包含多个个32位的寄存单元连续排列,各对应 —指标值。所以该公用寄存器310具体来说就是一种系数寄存器,只有在初 始化的时候需要写入数据,之后只提供读取的功能。如果该公用寄存器310中的寄存单元数为8个,则其每一寄存单元所对 应的指针值以3位来表示。在本实施例中,公用寄存器310支持二读一写, 但本专利技术并不限定于此,也可以是多读一写,视功能块的个数而定。图3是一指针寄存器的示意图。在每一运算核心300中,另具备了两个 指针寄存器316和326,各专属于该加载存储单元312和322。指针寄存器以 零传输相位(CPO)寄存器实作,分为两个字段,CPO[n-l:0]和CP0[2n:n], 各用以存储一指标值和一位移值。其中,指标值每被读取一次,就自动被加 上位移值成为更新的指标值。以图3为例,指标值存储在CPO[n-l: 0]中共n 位,而位移值存储在CP0[2n:n]中为n+l位。这意味着位移值具有正负号, 在更新指标值的时候可以累加也可以累减。同时本专利技术的每一功能块额外支 持一种独特的指位器指令,在执行的时候以指针寄存器中的指针值为执行参 数。举例来说, 一连串传统的加载指令表示如本文档来自技高网
...

【技术保护点】
一种数字信号处理器,包括:至少一运算核心,包含:至少两个功能块,各专属处理不同类型的指令串;至少两个专用寄存器,各专属于一对应的功能块,供各自运算功能使用;一乒乓寄存器,耦接所述功能块,供所述功能块轮流存取;一公用寄存器,包含:至少两个读取端口各对应耦接一功能块,供所述功能块同时读取该公用寄存器,以及一写入端口耦接所述功能块其中之一,供其写入数据至该公用寄存器。

【技术特征摘要】
1. 一种数字信号处理器,包括至少一运算核心,包含至少两个功能块,各专属处理不同类型的指令串;至少两个专用寄存器,各专属于一对应的功能块,供各自运算功能使用;一乒乓寄存器,耦接所述功能块,供所述功能块轮流存取;一公用寄存器,包含至少两个读取端口各对应耦接一功能块,供所述功能块同时读取该公用寄存器,以及一写入端口耦接所述功能块其中之一,供其写入数据至该公用寄存器。2. 如权利要求1所述的数字信号处理器,其中每一运算核心进一步包含至少两个指针寄存器,各专属于一对应的功能 块,存储一指标值和一位移值;以及每一指针寄存器中,该指针值每被读取一次,就被加上该位移值成为更 新的指标值。3. 如权利要求2所述的数字信号处理器,其中,每一功能块支持一指位 器指令,以对应的指针寄存器中的指针值为执行参数。4. 如权利要求1所述的数字信号处理器,进一步包含一数据存储器,通 过一 内存接口供每一运算核心存取。5. 如权利要求4所述的数字信号处理器,进一步包含 一指令内存...

【专利技术属性】
技术研发人员:彭权成黄柏涵
申请(专利权)人:财团法人工业技术研究院
类型:发明
国别省市:71[中国|台湾]

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

1