首页> 中国专利> 带有寄存器预读写优化硬件栈的数字信号处理器

带有寄存器预读写优化硬件栈的数字信号处理器

摘要

一种带有寄存器预读写优化硬件栈的数字信号处理器,在程序控制单元内部特别设计的硬件栈控制单元包括两组分开编址的硬件栈,两组影子寄存器,栈读写控制单元和预读预写控制单元。两组奇偶分开编址的硬件栈分别通过两个选择器与预读预写控制单元相连,预读预写控制单元通过译码器与两组影子寄存器相连,两组影子寄存器也分别通过两个选择器与栈读写控制单元相连,最后栈读写控制单元与数据总线以及预读预写控制单元相连。本发明利用两组分开编址的硬件栈,两组影子寄存器以及相应的控制单元,实现处理器内核对硬件栈单周期读写访问,使得数字信号处理器在任何情况下都能够以核心工作频率访问硬件栈,提高了数字信号处理器的执行效率。

著录项

  • 公开/公告号CN1556468A

    专利类型发明专利

  • 公开/公告日2004-12-22

    原文格式PDF

  • 申请/专利权人 上海汉芯半导体科技有限公司;

    申请/专利号CN200410015735.8

  • 发明设计人 李宇飞;陈健;

    申请日2004-01-09

  • 分类号G06F9/30;

  • 代理机构上海交达专利事务所;

  • 代理人毛翠莹

  • 地址 201109 上海市剑川路468号

  • 入库时间 2023-12-17 15:47:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-03-10

    专利权的终止(未缴年费专利权终止)

    专利权的终止(未缴年费专利权终止)

  • 2006-06-14

    授权

    授权

  • 2005-09-07

    专利申请权、专利权的转移专利申请权的转移 变更前: 变更后:

    专利申请权、专利权的转移专利申请权的转移

  • 2005-02-23

    实质审查的生效

    实质审查的生效

  • 2004-12-22

    公开

    公开

说明书

技术领域

本发明涉及的是一种数字信号处理器,特别是一种带有寄存器预读写优化硬件栈的数字信号处理器,对数字信号处理器中的硬件栈控制单元的结构进行了创新,属于数字信号处理技术领域。

背景技术

数字信号处理器是专门用于数字信号处理的芯片,数字信号处理程序中往往含有大量的循环执行的子程序,为提高循环的性能,许多数字信号处理器都提供专用的硬件循环指令,以此来提高数字信号处理器的运算效率。然而,这些硬件循环指令往往需要附加的系统硬件栈的支持。在美国摩托罗拉(Motorola)公司的DSP56300 Family Manual-24-bit Digital Signal Processor Revision3.0中,公开了系统硬件栈的一般实现形式。

在处理器内部,通常用嵌入式静态存储器或高速寄存器组来实现硬件栈。然而,当处理器内核以核心频率工作时,硬件栈的工作频率无法达到处理器的频率,同时处理器需要附加的等待周期才能够完成一次对硬件栈的访问,影响了硬件循环指令的性能。

发明内容

本发明的目的在于克服现有技术的不足,提出一种带有寄存器预读写优化硬件栈的数字信号处理器,把硬件栈的访问开销减少到最低,提高数字信号处理器的执行效率。

本发明涉及的数字信号处理器的核心部分包括:地址产生单元、指令译码单元、程序控制单元、算术运算单元。程序控制单元通过指令总线向指令存储器给出指令地址,并从指令存储器中接收指令将它送到指令译码单元。指令译码单元将译码以后的数据发送到两路并行的数据通道,即算术运算单元和地址产生单元。算术运算单元将其状态信息传给程序控制单元,并将运算结果送给数据存储器或者从数据存储器接收数据。地址产生单元将地址值送给数据存储器,指定相应的存储和读写的位置。本发明在程序控制单元内部特别设计了硬件栈控制单元,主要包括两组分开编址的硬件栈,两组影子寄存器,栈读写控制单元和预读预写控制单元。两组奇偶分开编址的硬件栈分别通过两个选择器与预读预写控制单元相连,预读预写控制单元通过译码器与两组影子寄存器相连,两组影子寄存器也分别通过两个选择器与栈读写控制单元相连,最后栈读写控制单元与数据总线以及预读预写控制单元相连。

本发明以如下方式工作。由于把硬件栈奇偶分开编组,当栈已满时,如果栈顶落在偶数区,那么栈底一定落在奇数区,反之亦然。对硬件栈分区的结果是,能够分别同时访问不同的分区,栈顶和栈底始终在不同的分区,这样访问栈顶和栈底就不会互相冲突。当数字信号处理器内核以核心工作频率写硬件栈时候,栈读写控制单元并不发出处理器等待信号,而是以同样的工作频率将数据写入的影子寄存器中,同时,预读预写控制单元将根据写入数据的硬件栈地址用处理器核心的工作频率访问系统的硬件栈;当数字信号处理器以核心的工作频率读硬件栈时,栈读写控制单元并不发出处理器等待信号,而是以相同的工作频率从预读影子寄存器中选择正确的数据返回给处理器核心,然后,预读预写控制单元将根据写入数据的硬件栈地址以处理器核心的工作频率访问系统的硬件栈,将硬件栈的数据写入影子寄存器保证数据的同步性。

本发明利用两组分开编址的硬件栈,两组影子寄存器以及相应的控制单元,实现处理器内核对硬件栈单周期读写访问,使得数字信号处理器在任何情况下都能够以核心工作频率访问硬件栈,提高了数字信号处理器的执行效率。

附图说明

图1为本发明数字信号处理器的整体结构框图。

如图1所示,本发明的数字信号处理器由数字信号处理器内核和指令存储器,数据存储器连接而成,其中内核包括程序控制单元,指令译码单元,算术运算单元和地址产生单元。硬件栈控制单元位于程序控制单元内。

图2为本发明硬件栈控制单元的结构框图。

如图2所示,硬件栈控制单元主要包括栈读写控制单元,预读预写控制单元,分组硬件栈,影子寄存器,选择器,译码器以及相应的读写控制信号和数据总线接口。

具体实施方式

以下结合附图对本发明的技术方案作进一步描述。

图1中描述了本发明的数字信号处理器中各个组成模块之间的关系。如图1所示,本发明涉及的数字信号处理器的核心部分包括:地址产生单元、指令译码单元、程序控制单元、算术运算单元。数字信号处理器内核的指令译码单元与算术运算单元及地址产生单元相连,并双向连接到程序控制单元;程序控制单元连接到指令存储器,通过指令总线向指令存储器给出指令地址,并从指令存储器中接收指令将它送到指令译码单元。指令译码单元将译码以后的数据发送到两路并行的数据通道,即算术运算单元和地址产生单元。算术运算单元和程序控制单元单向相连,并双向连接到数据存储器,算术运算单元将其状态信息传给程序控制单元,并将运算结果送给数据存储器或者从数据存储器接收数据。地址产生单元通过地址总线连接到数据存储器,将地址值送给数据存储器,指定相应的存储和读写的位置,同时与算术运算单元双向连接,能与算术运算单元进行双向数据交换。本发明特别设计的硬件栈控制单元位于程序控制单元内。

硬件栈控制单元的结构如图2所示,主要包括以下几大部分:栈读写控制单元,处理器内核通过该单元读出或写入数据;预读预写控制单元,它是影子寄存器和分组硬件栈之间的预读预写接口;分组硬件栈,它按栈指针对应的地址进行奇偶分开编址;选择器;译码器;写寄存器的控制信号和数据总线接口;硬件栈到预读预写控制单元的选择器;预读预写控制单元到硬件栈的读写控制信号和数据总线;栈读写控制单元到预读预写控制单元的控制信号;影子寄存器组。

处理器核心部分通过栈读写控制单元读出或写入数据,栈读写控制单元的两个输出控制信号分别与预读预写控制单元和译码器相连;预读预写控制单元连到分组硬件栈,它按栈指针对应的地址进行奇偶分开编址;硬件栈按奇偶地址分成两个区,奇地址区和偶地址区的输出又分别连到两个选择器;影子寄存器的输出也分别连到另外两个选择器,该两个选择器的选择信号由栈读写控制单元控制,并且是反向的。译码器的输出分别接到影子寄存器组上作为某个影子寄存器的选择信号。

本发明的工作细节分为两部分。处理器内核对硬件栈的读操作:栈读写控制单元向译码器发出读硬件栈的地址数据,译码器通过数据总线接口产生对应的读信号,两组影子寄存器的数据经过选择器通过栈读写控制单元的选择信号,产生被选中的数据输出给处理器内核。栈读写控制单元通过控制信号通知预读预写控制单元——“处理器内核执行了一次读操作”,预读预写控制单元通过控制信号线向分组硬件栈发出预读信号,两组硬件栈的数据通过选择器返回预读预写控制单元,该单元通过控制信号线向译码器发出写影子寄存器信号,新的数据通过数据总线接口被写入其中一组影子寄存器。处理器内核对硬件栈的写操作:栈读写控制单元向译码器发出写寄存器的地址和数据,同时通过信号线通知预读预写控制单元处理器内核在执行一个写操作。这时候,预读预写控制单元直接通过数据总线向分组硬件栈写入数据;此外译码器通过数据总线接口向影子寄存器写入数据,寄存器中的数据被更新。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号