电子发烧友网 > 嵌入式技术 > 正文

嵌入式DSP处理器μDSP的体系结构 六级流水线设计与指令系统阐述

2020年11月26日 17:22 次阅读

作者:钟冬庆来源:微计算机信息在此特别鸣谢

近年来,我国电子信息产业和市场高速增长,DSP芯片产品需求量持续增大,虽然有一些集成电路设计企业从事DSP系统及相关产品的开发与应用,但在DSP芯片的研发上,只在某些大学、科研院所做过预研性课题,还没有形成自己的独立知识产权的技术,因此对DSP处理器的设计有不可估量的作用,而体系结构的设计是处理器设计的灵魂,处理器的设计首先从体系结构的设计开始,DSP处理器的体系结构一直紧紧围绕着DSP算法和各种应用的不断发展而改进和优化,随着各种并行处理技术(VLIW,SIMD,超标量,多处理机等)、可重构技术和低功耗体系结构技术的出现,使各种新的DSP处理器体系结构不断涌现,使得如今的DSP处理器性能不断提高,并使它们在通信、自动控制、雷达、气象、导航、机器人等许多嵌入式实时领域得到了广泛应用。而这些领域都要求处理器是高速、低功耗的。因此我们在对当前DSP体系结构的最新发展的全面考察的基础上,考虑到低功耗、低成本、高性能等要求,设计了一个16位嵌入式定点DSP处理器μDSP的体系结构,如图1。

下面就μDSP的总线结构、流水线设计、特殊的指令系统、寻址方式、强大的控制部件和高速的运算单元等几个方面对μDSP的体系结构设计进行了详细的阐述。

1.改进型哈佛总线结

由于DSP处理器主要应用于各类数据运算,数据吞吐率都非常大。特别是进行乘累加运算时,需要2个甚至3个数据同时参与运算,传统的冯?诺曼结构无法满足数据和指令存取的需求,所以,DSP处理器普遍采用哈佛总线结构。虽然哈佛结构使用采取分开的程序存储器和数据存储器,以满足同时存取数据和取指令的需求,但是这种结构由于缺乏指令和数据存储空间的灵活性,使得存储器空间不能得到灵活、充分的使用。

为进一步提高性能,μDSP采用了改进的哈佛结构,在采用分开的程序存储器和数据存储器的同时,允许数据存储在程序存储器中,数据存储器和程序存储器统一编址。程序存储器的大小为32K*24bit(指令为24位宽),数据存储器大小为32K*16bit(数据位宽为16)。

采用4总线结构,这4条总线分别是程序地址总线(PMA)、程序数据总线(PMD),数据地址总线(DMA)、数据数据总线(DMD)。存储器采用同步SRAM,并采用流水线方式存取数据和指令,完成一次访问需经过两级流水线。为进一步提高存取灵活性,程序总线既可以取指令,又可以存取数据,既可访问程序存储器,又可以访问数据存储器。另外,为了减少存储器的访问周期,增加了一个片内指令Cache,用来存放常用的指令,Cache的大小为64*43bit,可存储64个指令-地址对。指令Cache采用组相联映射方式,并采取最近最少使用(LeastRecentlyUsed)替换策略。

这种改进的哈佛结构不仅提高了指令和数据存取的效率,还提高了存储器的利用率,是一种比较好的结构。

2.六级流水线设计

流水线设计是现代处理器设计的核心。流水线的设计要考虑诸多的因素,比如流水线各级的平衡、流水线的吞吐率以及流水线的结构复杂度等方面,我们采用六级流水线设计,每一级的名称及需要完成的如下功能:

(1)Look-AheadAddress(LA):这一阶段程序控制器从各个地址来源中选出本时钟进入流水线的指令的地址,把指令地址放在PMA总线上,它也用于解决总线冲突问题。因为PMA总线可能同时被LA和AD两个阶段使用,这时总线发生冲突,程序控制器就查找这条指令是否在Cache里。如果命中(Hit),指令就从Cache中提前取出,使得AD可以使用总线;如果不命中(Miss),就让AD优先使用总线,程序控制器在下一个周期得到PMA总线。

(2)PrefetchAddress(PA):这一阶段把指令地址送到存储器,开始取指令。由于使用的是同步两级流水SRAM,这一阶段指令并没有马上被取出,要到下一周期结束时才完成取指过程。

(3)FetchAddress(FA):这一阶段指令通过PMD总线从存储器取出。因为存储器需要两个周期的时间完成访问,即从地址放在总线上到得到数据需要两个周期,所以上一周期开始的取指令到这个周期结束。

(4)AddressDecode(AD):指令的某些部分被译码,比如DAG操作。如果指令需要存储器数据,这个数据的地址就放在适当的地址总线上。同时将没有解码的部分送到下一级。

(5)InstrucTIonDecode(ID):这个阶段对指令的其余部分译码。同时也用于等待存储器访问,由于取数据同样要两个周期。

(6)Execute(PC):这一阶段执行指令,设置各状态标志位,并把结果写到适当的寄存器中。

3.特殊的指令系统

处理器的设计首先从指令系统设计开始,不同的指令系统也决定了不同的处理器结构设计,μDSP的指令系统非常丰富,可以完成各种DSP算法所要求的功能,大体来说,需要设计以下4大类指令:程序流控制指令,数据移动指令,运算指令和多功能指令。必须满足以下要求:

(1)24位指令宽度;
(2)高密度指令编码;
(3)提供多功能指令,使得一条指令可完成多个操作;
(4)支持双字指令;
(5)提供零开销循环指令;
(6)与主流DSP(ADI公司的ADSP219x系列)兼容。

4.灵活的寻址方式

由于DSP算法的独特性,一般通用处理器的普通寻址方式不能满足要求,所以DSP处理器一般采用许多特殊的、灵活的寻址方式。μDSP中主要有6种寻址方式:直接寻址、前变址寻址、后变址寻址、循环寻址、位反寻址、分页寻址。要实现这些寻址方式,设计了一个数据地址发生器(DAG),如下图2,考虑到μDSP可以同时对程序存储器和数据存储器进行访问,设计了两个DAG,它们的不同之处在于:DAG1只能产生数据存储器地址,但有位反功能;DAG2可以产生数据存储器地址也可以产生程序存储器的地址,但是没有位反功能。它有4个寄存器组:索引寄存器组(IRegisters)、修改寄存器组(MRegisters),长度寄存器组(LRegisters)和基址寄存器组(BRegisters)。每个寄存器组有4个16位的寄存器,可以通过DMD总线进行读写。I寄存器组存放访问存储器的实际地址,M寄存器组用于保存地址偏移量,L寄存器组和B寄存器组则是专门用于循环寻址的,前者保存循环寻址中数据块的长度,后者保存循环寻址的首地址。图中虚线框中部分为DAG1所独有。

5.强大的控制部件

控制部件是完成整个DSP处理器各个部分之间协调工作的重要部件。控制部件主要负责指令地址的产生、流水线的控制以及处理各种相关、异常、中断等工作,以保证数据通路的正常工作。控制部件的任务是非常艰巨的,没有一个功能强大的控制部件,整个DSP处理器将无法正常工作。μDSP的控制部件按照功能可以大致分为指令地址选择逻辑、流水线控制逻辑、循环控制逻辑和中断控制器等几部分。

6.高速的运算单元

运算单元是DSP处理器的执行部件,是实现各种DSP算法的核心部分。所有算法的实现都是由运算单元的基本功能组合而成,所有的其他部件如控制部件、数据通路都是为运算单元服务的,为运算单元提供各种控制和充分的数据。μDSP有3个功能强大的高速运算单元:算术逻辑单元(ALU),乘法累加单元(MAC),移位器(Shifter)。

处理器的设计是一个非常复杂的工作,体系结构的设计是处理器设计的灵魂,设计者面临的任务非常复杂,要确定处理器的应用目标,针对应用目标需求判断哪些特征是最重要的,然后在不超出成本的范围内力求性能最高。

本文的创新点:主要对μDSP的体系结构设计进行了详细的阐述,对哈佛总线结构进行了改进,定义了六级流水线的名称和功能,指出了特殊的指令系统应达到的要求,给出了μDSP的体系结构的结构图,并详细介绍了一个数据地址发生器的设计等。

参考文献:

[1]王小明毛敏,基于DSP的实时多任务嵌入式系统,微计算机信息2005.10-2

[2]PhilLapsleyet.al,DSPProcessorFundamental:ArchitecturesandFeatures,Berkeley,California:BerkeleyDesignTechnology,Inc,1996

[3]ADSP-219x/2191DSPHardwareReference,AnalogDevicesInc,2000

[4]JL.Hennessy,DA.Patterson著,计算机体系结构:量化研究方法(第三版)。北京:机械工业出版社,2003

作者简介:钟冬庆,男,1971.12,汉,讲师,研究方向:计算机应用技术。

通信地址:江西省赣南师范学院数学与计算机系

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

第二期:J1939通信数据链路层(上)

主题简介及亮点:J1939通信是商用车,军工,船舰 ,农机,发电机,特种设备等上面的常用通信标准,这两年在新能源车上应用
发烧友学院发表于 2019-03-07 00:00 4919次阅读
第二期:J1939通信数据链路层(上)

英特尔和AMD的8核游戏电脑哪个比较好?

最近游戏电脑配置迎来新的升级阶段,比如英伟达和AMD都发布了新一代显卡,而AMD的Zen 3锐龙50....
发表于 2020-11-26 17:10 51次阅读
英特尔和AMD的8核游戏电脑哪个比较好?

传微软Win10 2021年版本可原生运行安卓A...

近日,外媒windowslatest报料称,微软内部正在计划针对Win 10进行一次大改版,用以让2....
发表于 2020-11-26 15:59 69次阅读
传微软Win10 2021年版本可原生运行安卓A...

腾讯科技申请量子芯片等多项专利

企查查显示,日前,腾讯科技(深圳)有限公司新增多条专利信息。其中包括“量子芯片、量子处理器及量子计算....
发表于 2020-11-26 15:59 36次阅读
腾讯科技申请量子芯片等多项专利

什么是点对点光端机和节点光端机,有什么区别

对光端机这块了解的朋友应该都知道,以前老式的光端机是有分点对点式光端机与节点式光端机的。而现在光端机....
发表于 2020-11-26 14:36 46次阅读
什么是点对点光端机和节点光端机,有什么区别

麒麟990处理器怎么样_麒麟990和骁龙865哪...

麒麟990是由华为推出的一款高性能运行使用的芯片,其中的性能还是非常不错的,不说特别强,起码也是中规....
发表于 2020-11-26 14:18 43次阅读
麒麟990处理器怎么样_麒麟990和骁龙865哪...

快慢指针、左右指针的常见算法

作者:labuladong 公众号:labuladong 本文是一两年前发过的一篇文章,当时没多少人....
发表于 2020-11-26 14:09 55次阅读
快慢指针、左右指针的常见算法

苹果M1X芯片部分参数曝光

今年双十一,苹果在第三场新品发布会上正式推出了自研芯片 M1,以及搭载该芯片的新款 MacBook ....
发表于 2020-11-26 12:13 332次阅读
苹果M1X芯片部分参数曝光

2021款的iPad产品介绍

苹果公司基本上每一年都会更新自家的主要硬件设备,比如Macbook、iPad、iPhone等产品,其....
发表于 2020-11-26 12:09 390次阅读
2021款的iPad产品介绍

消息称M1版Mac大量旧程序无法正常运转

尽管苹果透过M1版MacBook Air及MacBook Pro,展示了自家Apple Silico....
发表于 2020-11-26 12:01 295次阅读
消息称M1版Mac大量旧程序无法正常运转

【HarmonyOS HiSpark AI Camera试用连载 】移植自研AE算法到AI Camera第一步在配套官方SDK中跑通

本来想一步到位直接在harmony这个系统中直接将自研的自动曝光算法移植上去,但是3516dv300作为一款没有测试过的海思平...
发表于 2020-11-26 11:54 19次阅读
【HarmonyOS HiSpark AI Camera试用连载 】移植自研AE算法到AI Camera第一步在配套官方SDK中跑通

高度集成µPMIC MAX8893处理器的功能及...

Maxim推出的用于多媒体应用处理器的高度集成µPMIC MAX8893。器件在2.5mm x 3.....
发表于 2020-11-26 11:50 35次阅读
高度集成µPMIC MAX8893处理器的功能及...

解析红米K30 Pro与荣耀V30 Pro的区别

红米K30pro搭载的是高通的骁龙865+LPDDR5+UFS3.1,外挂5G基带;而荣耀V30pr....
发表于 2020-11-26 11:47 336次阅读
解析红米K30 Pro与荣耀V30 Pro的区别

一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

发表于 2020-11-26 11:42 0次阅读
一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

iPhone12的BOM价格曝光

最近,第三方分析机构Fomalhaut给出了iPhone 12的物料成本预估,其价格不高,BOM价格....
发表于 2020-11-26 11:38 322次阅读
iPhone12的BOM价格曝光

三星S21系列手机有什么特点?

在华为Mate 40系列,苹果iPhone 12系列登场后,三星的S21系列也要登场了。随着曝光信息....
发表于 2020-11-26 11:26 395次阅读
三星S21系列手机有什么特点?

俄罗斯将研发基于Elbrus VLIW架构的32...

据报道,俄罗斯联邦工业和贸易部已竞标开发基于Elbrus VLIW架构的32核处理器。CPU将针对各....
发表于 2020-11-26 10:31 32次阅读
俄罗斯将研发基于Elbrus VLIW架构的32...

AMD有望在明年初发布锐龙5000H系列游戏本处...

AMD有望在明年初发布基于Zen3架构的锐龙5000U系列轻薄本、锐龙5000H系列游戏本处理器,至....
发表于 2020-11-26 10:10 175次阅读
AMD有望在明年初发布锐龙5000H系列游戏本处...

数字降噪声处理器JK-DP50的性能指标、原理及...

随着数字信号处理(DSP)技术的迅猛发展,以数字信号处理器及相关算法为技术的数字降噪声技术也不断出现....
发表于 2020-11-26 10:00 49次阅读
数字降噪声处理器JK-DP50的性能指标、原理及...

对标Mac mini,联想正开发1L体积迷你主机

10 月份,联想发布了 YOGA 27 高端一体机,在设计和性能方面都远超市面上的一体机产品。现在,....
发表于 2020-11-26 09:58 83次阅读
对标Mac mini,联想正开发1L体积迷你主机

AMD R7 5800U现身Geekbench:...

根据爆料者 @ Leakbench 的消息,采用全新 Zen 3 架构的 R7 5800U 的处理器....
发表于 2020-11-26 09:53 71次阅读
AMD R7 5800U现身Geekbench:...

iPad 9消息:升级A13处理器

当前的苹果iPad产品线主要包括iPad、iPad mini、iPad Air和iPad Pro。 ....
发表于 2020-11-26 09:39 85次阅读
iPad 9消息:升级A13处理器

苹果M1 Mac Air跑分曝光:近112万

苹果公司推出了首款自研基于 ARM 架构的 Mac 芯片 M1,配备 8 核中央处理器、8 核图形处....
发表于 2020-11-26 09:38 79次阅读
苹果M1 Mac Air跑分曝光:近112万

机械革命正式推出全新深海泰坦X3-S

今年4月,机械革命举办2020年新品发布会,正式推出全新深海泰坦X3-S,配备17.3英寸的巨屏及搭....
发表于 2020-11-26 09:36 85次阅读
机械革命正式推出全新深海泰坦X3-S

爆料称2021年重新设计的Mac包括英特尔机型

可靠爆料者 @L0vetodream 今天在 Twitter 上提出,2021 年下半年即将推出的重....
发表于 2020-11-26 09:30 61次阅读
爆料称2021年重新设计的Mac包括英特尔机型

M1潜力巨大,苹果系统蕴藏大悬机

当外界以为苹果对于之前 M1 芯片的种种说辞只是传统的官方广告术语的时候,上周的真机一亮相,就让绝大....
发表于 2020-11-26 09:24 74次阅读
M1潜力巨大,苹果系统蕴藏大悬机

工业AI视觉产品与解决方案提供商深视科技完成Pr...

国内领先的工业 AI 视觉产品与解决方案提供商「上海深视科技」于近日宣布完成数千万元人民币 Pre-....
发表于 2020-11-26 09:19 122次阅读
工业AI视觉产品与解决方案提供商深视科技完成Pr...

非公版的RX 6800系列将正式解禁

今天晚上22点整,非公版的RX 6800系列将正式解禁,届时我们也会带来蓝宝石RX 6800系列超白....
发表于 2020-11-26 09:08 146次阅读
非公版的RX 6800系列将正式解禁

机器学习处理器单元支持浮点的乘加运算

  随着机器学习(Machine Learning)领域越来越多地使用现场可编程门阵列(FPGA)来进行推理(inference)加速...
发表于 2020-11-26 06:42 0次阅读
机器学习处理器单元支持浮点的乘加运算

基于可编程逻辑器件和IPX2805实现SPI4....

SPI-4.2(System Packet Interface)是 OIF(Optical Inte....
发表于 2020-11-25 17:19 174次阅读
基于可编程逻辑器件和IPX2805实现SPI4....

苹果M1处理器相当于一台什么配置的台式机

苹果M1处理器可以说是惊艳了四方,那么以生产力用户最常接触的Adobe套件为参考,M1处理器相当于一....
发表于 2020-11-25 17:18 447次阅读
苹果M1处理器相当于一台什么配置的台式机

华为Mate30E Pro价格持续走低?

华为在不久之前发布了最新的Mate40系列,Mate40系列的性能确实非常的强大,其中高配机型Mat....
发表于 2020-11-25 17:06 431次阅读
华为Mate30E Pro价格持续走低?

联想拯救者R9000X笔记本GTX1650Ti配...

联想将于 11 月 30 日发布拯救者 Y9000X R9000X 2021,分别搭载英特尔 i7 ....
发表于 2020-11-25 16:21 147次阅读
联想拯救者R9000X笔记本GTX1650Ti配...

苹果M1 Mac中最便宜的mini性能最强?

不知道有多少人和我一样在双十一的凌晨两点。观看了苹果直播的新品发布会。以前都没看过苹果的直播,这是第....
发表于 2020-11-25 16:10 490次阅读
苹果M1 Mac中最便宜的mini性能最强?

好饭不怕晚:6800/6800XT 首发测评

我们直接上正菜,游戏性能对比,游戏测试均采用预设最高特效进行,要强调一下这个环节是还没打开3A平台加....
发表于 2020-11-25 15:55 147次阅读
好饭不怕晚:6800/6800XT 首发测评

苹果M1 Mac在实际应用中的表现如何?

随着全新的 Mac 产品陆续来到用户手中,评测也陆续公开,M1 芯片的实力已经多方位地展示在了我们面....
发表于 2020-11-25 15:51 169次阅读
苹果M1 Mac在实际应用中的表现如何?

M1芯片MacBook Pro上手体验

对于这个M1芯片,大家最关注的应该就是性能了。先来看看跑分情况。 Geekbench下,单核1705....
发表于 2020-11-25 15:42 499次阅读
M1芯片MacBook Pro上手体验

锐龙5000处理器、RX 6000显卡, AMD...

AMD的锐龙5000处理器、RX 6000显卡已经陆续上市,它们不仅各自的性能强大,还支持一项合体神....
发表于 2020-11-25 15:30 140次阅读
锐龙5000处理器、RX 6000显卡, AMD...

Mythic公司推出业界首款模拟矩阵处理器M11...

说到人工智能硬件,我们向来事无巨细。WikiChip密切关注的一家公司是Mythic。这家公司还没有....
发表于 2020-11-25 15:27 270次阅读
Mythic公司推出业界首款模拟矩阵处理器M11...

英特尔自研芯片的新战略解读

英特尔(Intel Corp.)比任何一家公司都更有资格代表「硅谷」这个名称中富有历史感的「硅」字。....
发表于 2020-11-25 15:10 332次阅读
英特尔自研芯片的新战略解读

iPhone 6S被苹果彻底抛弃

谁能想到,iPhone 6S 已经是五年前发布的机型了。2015年,苹果正式发布了 iPhone 6....
发表于 2020-11-25 14:49 143次阅读
iPhone 6S被苹果彻底抛弃

苹果M1 Mac芯片被砍了一半?

一般来说,新品发售以后,各种拆解结构就开始动手了。 像是 iPhone12 系列发布后,拆解网站 i....
发表于 2020-11-25 14:27 313次阅读
苹果M1 Mac芯片被砍了一半?

苹果M1处理器若变成台式机相当于什么配置?

苹果M1处理器可以说是惊艳了四方,那么以生产力用户最常接触的Adobe套件为参考,M1处理器相当于一....
发表于 2020-11-25 14:22 254次阅读
苹果M1处理器若变成台式机相当于什么配置?

苹果M1处理器运行Adobe套件相当于一台6代i...

苹果M1处理器可以说是惊艳了四方,那么以生产力用户最常接触的Adobe套件为参考,M1处理器相当于一....
发表于 2020-11-25 13:59 168次阅读
苹果M1处理器运行Adobe套件相当于一台6代i...

TMS320F280049C 程序在仿真器仿真可以运行,但是断电重新上电就无法自动运行

下文是配置的CMD文件: MEMORY { PAGE 0 :    /* BEGIN is used for the "boot to S...
发表于 2020-11-25 10:12 0次阅读
TMS320F280049C 程序在仿真器仿真可以运行,但是断电重新上电就无法自动运行

如何在STM32F10x处理器平台中实现IAP功能?

Cortex-M3是首款基于v7-M体系结构的32位标准处理器,结构,包含高效灵活的Thumb-2指令集,拥有杰出的低功耗特性,...
发表于 2020-11-24 06:42 0次阅读
如何在STM32F10x处理器平台中实现IAP功能?

首款基于Pixelworks的第六代移动视觉处理器i6发布

提供领先的创新视频和显示处理解决方案提供商——Pixelworks, Inc.(纳斯达克股票代码:PXLW)今日发布了其第六...
发表于 2020-11-23 14:02 0次阅读
首款基于Pixelworks的第六代移动视觉处理器i6发布

想咨询大家多台DSP,如何输出错相的PWM波?

在做一个DC-DC电源多模块错相并联的项目,想利用两台DSP设备输出错相180的控制信号,驱动两个电源模块的开关管...
发表于 2020-11-18 10:59 202次阅读
想咨询大家多台DSP,如何输出错相的PWM波?

DSP28355的DAC7728芯片如何让他开始采样 并且传输数据

       DAC_Ctrl= 0x0A18;        DAC_OffsetA = 2731; //-5V偏...
发表于 2020-11-16 19:32 202次阅读
DSP28355的DAC7728芯片如何让他开始采样 并且传输数据

ARM、DSP、FPGA的特点和区别

发表于 2020-11-15 15:05 303次阅读
ARM、DSP、FPGA的特点和区别

dsp程序可以运行但是引脚无法输出PWM波形怎么办

我在watch windows上可以看到数值 但是引脚上测不出PWM波形??? ...
发表于 2020-11-13 20:13 202次阅读
dsp程序可以运行但是引脚无法输出PWM波形怎么办