CN1255740C - 带有可重构系统硬件栈的数字信号处理器 - Google Patents

带有可重构系统硬件栈的数字信号处理器 Download PDF

Info

Publication number
CN1255740C
CN1255740C CN 03115375 CN03115375A CN1255740C CN 1255740 C CN1255740 C CN 1255740C CN 03115375 CN03115375 CN 03115375 CN 03115375 A CN03115375 A CN 03115375A CN 1255740 C CN1255740 C CN 1255740C
Authority
CN
China
Prior art keywords
system hardware
hardware stack
digital data
unit
stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 03115375
Other languages
English (en)
Other versions
CN1521644A (zh
Inventor
陈进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University Han Yuan Technology Co., Ltd.
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University Han Yuan Technology Co Ltd
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University Han Yuan Technology Co Ltd, Shanghai Jiaotong University filed Critical Shanghai Jiaotong University Han Yuan Technology Co Ltd
Priority to CN 03115375 priority Critical patent/CN1255740C/zh
Publication of CN1521644A publication Critical patent/CN1521644A/zh
Application granted granted Critical
Publication of CN1255740C publication Critical patent/CN1255740C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

一种带有可重构系统硬件栈的数字信号处理器属于数字信号处理技术领域,系统硬件栈的操作寄存器包括系统硬件栈指针寄存器,系统硬件栈指针寄存器通过地址总线连接到系统硬件栈上。本发明的数字信号处理器通过设置端口值,程序可以运行在16个条目、32个条目、48个条目或者64个条目不同的系统硬件栈的环境下,用户可以从最小的系统硬件栈大小开始尝试运行程序,从小到大,评估应用程序在不同的系统硬件栈大小的基础上的执行效率,然后考虑每一种系统硬件栈的成本,找到最优的性价比。这样日后芯片量产时就可以使用这样的系统硬件栈大小,对于节约成本有很大的益处。

Description

带有可重构系统硬件栈的数字信号处理器
技术领域
本发明涉及的是一种数字信号处理器,特别是一种带有可重构系统硬件栈的数字信号处理器,属于数字信号处理技术领域。
背景技术
1999年美国学术出版社(Academic Press)出版的《数字信号处理器集成电路(DSP Integrated Circuits)》(作者:Lars Wanhammar)公开了一种现有技术的数字信号处理器的栈操作方法。在现有的数字信号处理运算过程中,对于循环操作、子程序和中断服务程序,都需要进行压栈和退栈的操作。为了能够提高程序的运行效率,和一般的CPU不同,现有的数字信号处理器(DSP)一般采用零开销的硬件循环,零开销的子程序操作和中断服务程序操作。所谓的零开销是指不需要用额外的指令把进行上述循环操作、子程序和中断服务程序前需要保存的芯片状态值压入堆栈,或者在完成上述操作时,为了恢复芯片的状态而把状态值从堆栈中取出。举例来说,一般的循环操作前,需要把当时的循环起始地址和循环次数压栈,另外把当时的指令计数器值和状态寄存器值压入堆栈,这样可以在多重嵌套循环中,子循环结束后能够正确执行上一层的循环操作。对于零开销的硬件循环,程序中不需要额外的四条指令进行压栈操作,而是芯片自动进行这些操作。然而必须在芯片中配置有高速的系统硬件栈才能实现上述的零开销的硬件循环,零开销的子程序操作和中断服务程序操作。需要压栈的次数越多,系统硬件栈越大,那样芯片面积越大,成本越高。根据程序的特点配置系统硬件栈的大小才能达到最好的性价比。原有通常的设计系统硬件栈的大小是固定的,这样不利于根据实际的应用程序调整最优的性价比。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种带有可重构系统硬件栈的数字信号处理器,通过端口信号的设置对系统硬件栈的大小进行重构操作,以用来评估系统硬件栈在实际应用中的效率和利用率。以便于量产时使用最合适的系统硬件栈大小,达到最优性价比。
本发明是通过以下技术方案实现的,本发明主要包括:地址发生器单元、指令译码单元、数字数据处理单元、数字数据存储器、程序控制单元,指令译码单元连接到程序控制单元,程序控制单元连接到地址发生单元、指令译码单元和数字数据处理单元,数字数据处理单元双向连接到数字数据存储器,地址发生器单元由地址总线连接到数字数据存储器,同时数字数据存储器由数据总线连接到地址发生器单元、指令译码单元和数字数据处理单元,数字数据总线与数字数据存储器相连,数字数据存储器存储提供要由所述数字信号处理器操作的数字数据,指令译码单元为所述数字信号处理器提取构成程序的指令,并把指令翻译成控制信号和数据信号,数字数据处理单元根据控制信号对输入的数据进行数字运算或者逻辑运算,地址发生器单元生成访问数字数据存储器的地址,程序控制单元根据所述指令生成控制所述数字信号处理器其他单元的操作命令信号。
程序控制单元中包括系统硬件栈和对系统硬件栈的操作控制寄存器。系统硬件栈的操作寄存器包括系统硬件栈指针寄存器,系统硬件栈指针寄存器通过地址总线连接到系统硬件栈上。系统硬件栈物理上最大放置64个条目,每个条目为24位。芯片外围管脚上有一个两位的端口,通过对这两位端口进行00,01,10,11这四种不同的设置,这个端口信号线连接到程序控制单元中的选择器上,栈指针寄存器也连接到选择器上,向上溢出信号从选择器中引出,从选择器引出的地址总线连接到系统硬件栈上,这样可把系统硬件栈配置成16个条目,32个条目,48个条目和64个条目四种不同的大小。
本发明的数字信号处理器的工作原理如下:数字信号处理器在设计时放有系统硬件栈64个条目,但是在使用过程中,使用者可以通过设置外围端口的信号值,把程序可见的系统硬件栈设置为16个、32个、48个或者64个条目。栈指针寄存器的大小为6位数字信号,但是针对每一种条目设置,栈指针寄存器的可用大小会自动调整。比如当系统硬件栈被设置为16个时,栈指针寄存器的大小只能是0~15,如果超过上下界值,数值会被自动取模回到界内。同时,芯片的状态寄存器中的系统硬件栈的向上溢出位和向下溢出位也会根据不同的端口配置显示出错信息,比如当芯片被配置为具有16个硬件栈时,压栈入17个24位的数据就会产生向上溢出的错误信息,尽管芯片中实际拥有64个条目的系统硬件栈。
本发明具有实质性特点和显著进步,在数字信号处理器设计完成后,把整个设计导入可编程逻辑阵列(FPGA)中,然后通过设置端口值,程序可以运行在16个条目、32个条目、48个条目或者64个条目不同的系统硬件栈的环境下,用户可以从最小的系统硬件栈大小开始尝试运行程序,从小到大,评估应用程序在不同的系统硬件栈大小的基础上的执行效率,然后考虑每一种系统硬件栈的成本,找到最优的性价比。以后真正的芯片量产时就可以使用这样的系统硬件栈大小。这样对于节约成本有很大的益处。
附图说明
图1本发明数字信号处理器的结构框图
图2本发明数字信号处理器中系统硬件栈的结构框图
具体实施方式
如图1所示,数字信号处理器核心5具有程序控制单元1、地址发生器单元2、指令译码单元3、和数字数据处理单元4,数字数据存储器6与数字信号处理器核心5相连。指令译码单元3把指令码翻译成数字信号处理器核心5内部的代表指令意义的控制信号,这些所述的控制信号连接到程序控制单元1,程序控制单元1向地址发生单元2、指令译码单元3和数字数据处理单元4发出控制这些模块工作所需的控制信号。数字数据处理单元接受来自数字数据存储器6的数据,对其进行运算。地址发生器单元2进行地址运算,地址运算的结果通过地址总线连接到数字数据存储器6上。数字数据存储器6根据地址发生器单元2产生的地址把相应的数字数据放到数据总线上,所述的数据总线连接到指令译码单元3和数据处理单元4,为它们提供指令和操作数。
如图2所示,系统硬件栈是程序控制模块中的一部分,整个系统硬件栈分成4个数据块:数据块11、数据块12、数据块13和数据块14。每个数据块的大小为16个24位的条目。栈指针寄存器16中的数据通过选择器15进行一定的取模运算后作为访问系统硬件栈的地址。size_sel[1:0]是芯片的输入信号,它是选择器15中的选择控制信号。
在选择器15中,向上溢出信号(overflow)的生成是根据选择控制信号size_sel[1:0]的不同而不同的。向上溢出信号传输到芯片的状态寄存器中,用户可以据此知道对于栈的操作已经溢出。size_sel[1:0]等于00表示有16个条目的栈,size_sel[1:0]等于01表示有32个条目的栈,size_sel[1:0]等于10表示有48个条目的栈,size_sel[1:0]等于11表示有64个条目的栈。举例来说,当size_sel[1:0]等于10时,如果栈指针寄存器16中的值超过47(表示压栈超过48个条目),向上溢出信号置高位,表示向上溢出。同样,栈指针寄存器16中的数据根据不同的设置进行不同的取模运算后作为访问系统硬件栈的地址。比如size_sel[1:0]等于01时,对栈指针寄存器16中的数值进行模数为32的取模运算,然后把结果作为访问系统硬件栈的地址。

Claims (3)

1.一种带有可重构系统硬件栈的数字信号处理器,主要包括:地址发生器单元(2)、指令译码单元(3)、数字数据处理单元(4)、数字数据存储器(6),其特征在于还包括程序控制单元(1),指令译码单元(3)连接到程序控制单元(1),程序控制单元(1)连接到地址发生单元、指令译码单元(3)和数字数据处理单元(4),数字数据处理单元(4)双向连接到数字数据存储器(6),地址发生器单元(2)由地址总线连接到数字数据存储器(6),同时数字数据存储器(6)由数据总线连接到地址发生器单元(2)、指令译码单元(3)和数字数据处理单元(4),数字数据总线与数字数据存储器(6)相连,数字数据存储器(6)存储提供要由所述数字信号处理器操作的数字数据,程序控制单元(1)根据所述指令生成控制所述数字信号处理器其他单元的操作命令信号,程序控制单元(1)中包括系统硬件栈和对系统硬件栈操作的控制寄存器,控制寄存器包括系统硬件栈指针寄存器(16),系统硬件栈指针寄存器(16)通过地址总线连接到系统硬件栈上,系统硬件栈物理上最大放置64个条目,每个条目为24位,通过对一个两位端口进行00,01,10,11这四种不同的设置,这个端口信号线连接到程序控制单元(1)中选择器(15)上,栈指针寄存器(16)也连接到选择器(15)上,向上溢出信号从选择器(15)中引出,从选择器(15)引出的地址总线连接到系统硬件栈上。
2.根据权利要求1所述的带有可重构系统硬件栈的数字信号处理器,其特征是,指令译码单元(3)为所述数字信号处理器提取构成程序的指令,并把指令翻译成控制信号和数据信号,数字数据处理单元(4)根据控制信号对输入的数据进行数字运算或者逻辑运算。
3.根据权利要求1所述的带有可重构系统硬件栈的数字信号处理器,其特征是,地址发生器单元(2)生成访问数字数据存储器(6)的地址。
CN 03115375 2003-02-13 2003-02-13 带有可重构系统硬件栈的数字信号处理器 Expired - Fee Related CN1255740C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03115375 CN1255740C (zh) 2003-02-13 2003-02-13 带有可重构系统硬件栈的数字信号处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03115375 CN1255740C (zh) 2003-02-13 2003-02-13 带有可重构系统硬件栈的数字信号处理器

Publications (2)

Publication Number Publication Date
CN1521644A CN1521644A (zh) 2004-08-18
CN1255740C true CN1255740C (zh) 2006-05-10

Family

ID=34284264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03115375 Expired - Fee Related CN1255740C (zh) 2003-02-13 2003-02-13 带有可重构系统硬件栈的数字信号处理器

Country Status (1)

Country Link
CN (1) CN1255740C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2525314B (en) * 2014-01-17 2016-02-24 Imagination Tech Ltd Stack pointer value prediction

Also Published As

Publication number Publication date
CN1521644A (zh) 2004-08-18

Similar Documents

Publication Publication Date Title
Wolf et al. Multiprocessor system-on-chip (MPSoC) technology
CN101178644B (zh) 一种基于复杂指令集计算机结构的微处理器架构
US7926060B2 (en) iMEM reconfigurable architecture
Page Reconfigurable processor architectures
CN101221541B (zh) 用于soc的可编程通信控制器
CN105183698A (zh) 一种基于多核dsp的控制处理系统和方法
CN1220150C (zh) 具有可配置的高速缓存/静态随机存取存储器的系统
CN110704364A (zh) 基于现场可编程门阵列的自动化动态重构方法及系统
TW544603B (en) Designer configurable multi-processor system
CN1450450A (zh) 采用双指令集的32位嵌入式微处理器
TW202117534A (zh) 用於轉換資料類型的轉換器、晶片、電子設備及其方法
JPH0594546A (ja) デジタルプロセツサ
CN103793208A (zh) 矢量dsp 处理器和协处理器协同运作的数据处理系统
CN1255740C (zh) 带有可重构系统硬件栈的数字信号处理器
CN1246784C (zh) 带有可重构通道数dma的数字信号处理器
CN112231625A (zh) 一种基于混合基算法的fft处理器及其工作方法
CN103020008A (zh) 计算能力增强的可重构微服务器
CN103677735B (zh) 一种数据处理装置及数字信号处理器
CN114528248A (zh) 阵列重构方法、装置、设备及存储介质
CN100357909C (zh) 一种仿真器芯片
CN107665281B (zh) 一种基于fpga的处理器模拟方法
US9223743B1 (en) Multiplier operable to perform a variety of operations
CN102567281B (zh) 可重构调度算子阵列结构、集成电路阵列结构及控制模块
CN1246786C (zh) 带有快速中断的数字信号处理器
CN101667114B (zh) 适于矩阵求逆的超长指令集微处理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHANGHAI JIAOTONG UNIV.; APPLICANT

Free format text: FORMER OWNER: SHANGHAI HANXIN SEMICONDUCTOR TECHNOLOGY CO., LTD.

Effective date: 20051021

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20051021

Address after: 200240 No. 800, Dongchuan Road, Shanghai, Minhang District

Applicant after: Shanghai Jiao Tong University

Co-applicant after: Shanghai Jiaotong University Han Yuan Technology Co., Ltd.

Address before: 201109 Shanghai Jianchuan Road No. 468

Applicant before: Shanghai Hanxin Semiconductor Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060510