(电路与系统专业论文)16位dsp核心单元的设计.pdf_第1页
(电路与系统专业论文)16位dsp核心单元的设计.pdf_第2页
(电路与系统专业论文)16位dsp核心单元的设计.pdf_第3页
(电路与系统专业论文)16位dsp核心单元的设计.pdf_第4页
(电路与系统专业论文)16位dsp核心单元的设计.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 r 3 6 2 2 5 8 随着科学技术日新月异的蓬勃发展,各个领域对塞盟数主信量齄理系统的要求越来越 高,越来越迫切d s p 技术的产生和发展满足了这一要求的需要而嵌入式微处理器核心 单元有助于提高设计开发人员的工作效率和设计的质量,在系统开发过程中扮演着日益重 要的角色现实中需要把两者有效地结合起来,对设计者们提出了,一个迫切的要求这篇, 论文阶绍r 我在这方面所做的一些工作,) 讨论r 一个适合于多种应用的具有嵌人式d s p 核 ” 、 j 垒璺重的设计 设计过程中,采用rt o p d o w n 的设计方法对整个系统进行r 设计,选用t m s 3 2 0 c 2 5 作为整个设计的参考 该d s p 处理器核心单元的指令集和功能都与标准的t m s 3 2 0 c 2 5 兼 容,并用v h d l 语言在寄存器传输级对核心单元进行r 设计描述然后通过s y n o p s y s 的 c o m p i l e r l l 软件进行综合和优化,最后生成的网表文件在m a x + p l u s l l 中下载到a l t e r a 的器 件中进行测试和调试,验证芯片设计的正确性+ 、 本论文实现了垂t l i 墅吐一定点1 6 位d s p 核心单元,以里堕! 婴暖5 为基本框架,具有 嵌入式功能且能完成大量的复杂运算陀选取r 原来t m s 3 2 0 c 2 5 的1 3 9 指令中的4 8 条来 实现,既不影响它对大量运算的要求,同时又减少r 硬件的复杂度在i u m 的工艺条件下 综合,芯片的时钟频率可达到2 0 m h z ,规模在2 万门左右卜、 本课题在对于1 6 位定点d s p 的结构,堆栈的设计,移位器3 2 _ b i t 加法器和1 6 - b i t 的 乘法器等方面做了有益的探索测试的结果显示,芯片基本上达到了预期的设计要求 关键词:d s p 嵌入式f p g a 测试 分类号:t n 9 4 2 1 6 位d s p 桂o 单元的设计 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fs c i e n c et e c h n o l o g yn o w a d a y s ,e v e r yf i e l dh a sm u c hr e q u e s ta b o u t t h er e a f t i m ed i g i t a ls i g n a lp r o c e s s i n gs y s t e m t h eb o r na n dd e v e l o p m e n to fd s p t e c h n o l o g yh a v e a t t a i n e dt h i s g o a l a tt h es a m et i m e ,e m b e d d e d m i c r o p r o c e s s o rc o r e ,w h i c hw i l l i n c r e a s e d e s i g n e r sp r o d u c t i v i t y a n dt h e g e n e r a lq u a l i t y o fd e s i g n ,i sa k e y s o l u t i o nt o t o d a y s m i c r o e l e c t r o n i e sd e s i g n p r o b l e m sa n dp l a y i n gam o r ea n dm o r e i m p o r t a n tr o l e t od e s i g n e r s ,i t s t h e i rr e s p o n s i b i l i t i e st op u tt h e s et w ot h i n g st o g e t h e re f f e c i e n t l ya ss o o na sp o s s i b l e t h i sp a p e r s h o w sm ye f f o r ti nt h i sa s p e c ta n dr e p o r t so nt h ed e s i g no fa ne m b e d d e dd s pc o r es u i t a b l ef o r v a r i o u sa p p l i c a t i o n s i no r d e rt om e e tt h eo b j e c t i v et h a tt h ec o r ei st e c h n o l o g y i n d e p e n d e n t ,t h ed e s i g nt e c h n o l o g y i sb a s e do n h i g hl e v e ld e s c r i p t i o no f c o m p l e t ec i r c u i t t h i sc o r eu n i ti sd e s i g n e do nt h eb a s i so f t h e s t r u c t u r eo f t h e p r o d u c tt m s 3 2 0 c 2 5b y t ic o m p a n ya tr e g i s t e rt r a n s f e rl e v e l ( r t l ) i t si n s t r u c t i o n s e ta n df u n c t i o ni s c o m p a t i b l ew i t hs t a n d a r dt m s 3 2 0 c 2 5a f t e rt h ev h d l d e s c r i p t i o no f t h ec o r e u n i t ,i n i t i a lc o d e sa r es y n t h e s i s e da n do p t i m i z e db yt h ec o m p i l e r l ls o f t w a r eo fs y n o p s y sc o m p a n y t h e nt h en e t l i s tf i l e sc r e a t e db yc o m p i l e r l ia r ed o w n l o a d e db ys o f t w a r e m a x + p l u s l lt o a d e v i c eo f a l t e r a t h r o u g h t h i sd e v i c e ,w ec a nv e r i f yt h el o g i cf u n c t i o no f i n i t i a lc o d e s t h i sp a p e rd e s i g naf i x - p o i n t1 6 - b i td s pc o r eu n i t t h et h e o r yf o u n d a t i o no f t h i sd s p c o r ei s f r o mt m $ 3 2 0 c 2 5 t h ee n dc o r em o d u l ec a nb ee m b e d d e dt oa n o t h e rs o c s y s t e ma n dd oal o to f c a l c u l a t i o nw o r k i th a s4 8i n s t m c t i o n sw h i c ha r es e l e c t e df r o m1 3 9i n s t r u c t i o n o fi n i t i a l t m s 3 2 0 c 2 5 t h i ss e l e c t i o ni sb a s e do nt h ec o n s i d e r a t i o nt h a tt h ec o r ec a ns t i l ld oal o to f c a l c u l a t i o nw o r k a tt h es a m et i m ei ta l s oc a nr e d u c ei t s c o m p l e x i t y a l lc o d e sa r es y n t h e s i s e d u s i n gs y n o p s y ss o f t w a r ew i t h1 u m t e c h n o l o g y t h er e s u l ts h o w st h a tt h ef r e q u e n c yo fc l o c k c a l l a t t a i n2 0 ma n dt h es c a l ei sa b o u t2 0 ,0 0 0g a t e s t h e d e s i g no f t h i sp a p e rh a sd os o m eu s e f u le x p l o r a t i o no n1 6 - b i tf i x - p o i n td s ps t r u c t u r e s h i f t e r ,3 2 一b i ta d d e ra n d1 6 - b i tm u l t i p l i e r t h et e s tr e s u l ts h o w st h a tt h i sc h i pb a s i c a l l ya c h i e v e a n t i c i p a t eg o a l s a sf o rt h ep r o b l e m i nt h et e s to f t h i sc h i p ,i tn e e d sm o r et e s ta n d v e r i f y i n g o ni t 1 6 住d s p 桂g 单元的设计 第一章简夼 第一章简介 随着科学技术日异月新的蓬勃发展,各个领域对实时数字信号处理系统的要求越来越 高,越来越迫切d s p 技术的产生和发展满足r 这一要求的需要。本论文实现r 正向设计 一定点1 6 位d s p 核心单元,以t m s 3 2 0 c 2 5 为基本框架,具有嵌入式功能且能完成大量的 复杂运算 本章要讨论的主要课题是 d s p 技术发展概况( 1 1 ) 课题内容介绍( 1 , 2 ) 本课题的内容和特点 课题的意义及应用 1 1 d s p 技术发展概况 数字信号处理作为信号与信息处理的一个分支学科,是一个新兴的、极富活力的学科 其实时数字信号处理系统d s p 技术的应用,更是在国民经济的各领域,发挥着越来越重 要的作用 在数字信号处理技术发展的初期,实时数字信号处理系统由于受到速度,成本和体积 的限制,还没有充分的发展快速付里叶变换方法的提出和集成电路技术的发展,使得用 硬件来实现各种数字滤波和f f t 受到r 极大的关注,从而导致r 近二十年来d s p 技术与器 件的极为迅速的发展 为了提高运算速度,满足实时数字信号处理算法的要求,当前的d s p 都采用r 与通用 微处理器不同的结构,即放弃了冯诺依曼结构,而采用了哈佛结构“ d s p 大多采用了流水技术,使得每条指令的最终执行时间是在单个指令周期内完成 的这样使得处理速度大为提高d s p 所采用的程序存储区和数据存储区及程序总线和数 据总线分开的哈佛结构,为采用流水技术提供r 很大的方便 在数字信号处理算法中,乘法和累加是基本的大量的运算d s p 中设置r 硬件乘法器 和m a c ( 乘法并累加) 一类的指令,取两个操作数到乘法器中作乘法,并将乘积加到累加 器中,这些操作往往可在单个指令周期内完成,使得d s p 作乘加的速度大为提高 随着d s p 性能的不断改善,用d s p 来作实时处理己成为当今和未来技术发展的一个新 热点d s p 器件现有着广泛的应用,如通用数字信号处理,通信,声音语音信号处理,图 形图象信号处理,控制,仪器,医学电子学,军事,计算机,消费电子等 而这些应用主要是基于定点运算d s p 来完成的口前d s p 市场占有率晟高的是t i 公 1 6 住i ) s p 枉单元的设计 第一章简介 司的t m s 3 2 0 系列,包括1 6 位定点系列有t m s 3 2 0 c 1 x ,t m s 3 2 0 c 2 x ,t m s 3 2 0 c 5 x , 3 2 位浮点系列有t m s 3 2 0 c 3 x ,t m s 3 2 0 c 4 x ,多d s p 处理器t m s 3 2 0 c 8 x ,以及t i 公司 最新推出的t m s 3 2 0 c 2 0 0 0 ,t m s 3 2 0 c 5 0 0 0 和t m s 3 2 0 c 6 0 0 0 等应用广泛的定点运算d s p 机种之一的是t i 公司的1 6 b i t s t m s 3 2 0 c 2 5 t m s 3 2 0 c 2 5 共有1 3 3 条指令,8 个辅助寄存 器,8 层硬件堆栈、4 k 1 6 b i t s 片内程序r o m ,5 4 4 1 6 b i t s 片内程序数据r a m 由于采用rc m o s 技术。从而使功耗大大降低 1 2 课题内容介绍 本课题目标是设计一个指令集与t m s 3 2 0 c 2 5 的指令兼容,功能相仿的具有嵌入式d s p 核心模块f d c 2 5 模块设计的指标和时序的划分参考t m s 3 2 0 c 2 5 1 2 1 本课题的内容和特点 d s p 核心模块f d c 2 5 的设计具有如下的指标: 内部时钟周期时间5 0 n s ,时钟频率2 0 m 指令周期时间2 0 0 n s ,5 m i p s 4 8 条指令 2 5 6 。w o r d 可编程的片上数据程序r a m ,此r a m 空间大小可根据实际要求而 改变 3 2 - b i t a l u j j i 法器 1 6x 1 6 _ b i t 并行乘法器,且带有3 2 - b i t 结果寄存器 单周期的乘法) j u 法指令 有效使用程序空间并提高执行度的重复运算指令 对数据,程序控制的模块移动 具有详细运算单元的8 个辅助寄存器 8 层硬件堆栈 1 6 _ b n 并行移位器 对慢速的片外设备通讯时的等待状态 对t m s 3 2 0 c 1 x 代码的向上兼容性 具有自适应滤波,f f t 和扩展精确度的算术运算指令 对基- 2 f f t 的b i t - r e v e r s e d 索引寻址模式 通过对附录中t m s 3 2 0 c 2 5 的比较,可以看出f d c 2 5 d s p 核心模块具有如下的特点 1 、独立的正向设计过程,采用t o p d o w n 的设计流程 1 6 住d s p 枉。单元的设计 2 第一章简介 _-_一一 2 、采用软件硬件协同设计方法 3 、与t m s 3 2 0 c 2 5 的指令集兼容,功能相仿 4 、指令集的选取能满足大多数复杂计算和数据移动的需要 5 、专门的地址寻址发生器的设计 6 、三级流水操作 7 、采用数据和程序总线分开的哈佛总线结构 8 、多输出d o m i n o 逻辑( m u l t i p l e o u t p u t d o m i n o l o g i c :m o d l ) 的3 2 位加法器 9 、采用改进的b o o t h 算法乘法器 1 0 、改变堆栈指针地址的堆栈设计 1 1 、可作为r e u s e 模块嵌入式使用 1 2 2 课题的意义及应用 本文正向设计一1 6 位定点d s p 内部核心计算单元,具有哈佛总线结构和流水操作功 能 1 、对现有的1 6 位d s p 芯片结构的算法研究,以期得到较好的d s p 内部结构 2 ,对乘加器,地址发生器,堆栈等通用运算单元的设计研究 3 、对t o p - d o w n 设计方法和f p g a 验证相结合过程的尝试 5 、此核心模块可作为嵌入式模块应用于更大的系统中,可作为s o c 设计的一部分 6 、1 6 位嵌人式定点d s p 的应用领域非常广泛,有巨大的市场潜力 本文共分六章第二章介绍了我在开发d s p 过程中所采用的设计思想和流程;第三章 是论文的核心部分,对嵌人式核心单元中各模块的设计逐一作r 说明;第四章主要介绍了, 所设计的指令系统,及它所能完成的功能运算;第五章介绍了测试设计和结果,并对结果 进行了分析:第六章是全文的总结 1 6 位d s p 收。单元的设计 g :- 幸设计思想和流程 第二章设计思想和流程 本课题完全采用正向设计,改善r 设计的灵活性m n j - t 奠t m s 3 2 0 c 2 5 为框架蓝图 有一定的理论基础 本章要讨论的主要课题是: 设计思想( 2 1 ) - 设计流程( 2 2 ) 设计描述( 2 3 ) 2 1 设计思想 1 ,采用t o p d o w n 的设计流程,软、硬件协同设计方法,设计一d s p 核心模块 2 、指令集与t m s 3 2 0 c 2 5 的指令兼容,功能相仿 3 、与t i 公司t m s 3 2 0 开发系统相兼容 4 、设计核心单元的v h d l 模型,可作为r e u s e 模块 5 、采用流水控制结构和哈佛总线结构 6 、对核心单元进行可测性电路设计,保证对芯片有正确的测试结果 7 、结果的f p g a 验证 2 2 设计流程 整个模块的设计根据以下的步骤来实现: 1 、对整个电路进行合理的模块划分,如:译码单元,堆栈一程序计数器单元,内部r a m 单元,常用寄存器单元,辅助寄存器寻址单元,乘加器单元,控制单元和测试单元 2 、对每个模块用v h d l 语言进行开发,最后的程序通过加t e s t b e n c h 在a c t i v e - v h d l 软件中模拟若有错误,则修改v h d l 源程序,直至正确为止 3 、当整个系统都模拟正确时,将所有程序调入s y n o p s y s 公司的f p g ac o m p i l e r l l 中进 行可综合性分析若有些语句不能综合时,则回到第二步,直至正确为止 4 、在f p g ac o m p i l e r l i 中调入a l t e r a 的器件,f l e x l 0 k a 系列中的 e p f l o k l 0 0 a r c 2 4 0 3 器件,进行综合优化,并生成e d i f 文件 5 、在m a x + p l u si i 中调入此e d i f 文件,进行编译若出错,回到第二步,直至正确为 止 6 、同时可以生成加入延迟信息的v h d l 程序,将此程序在a c t i v e - v h d l 软件中模拟 查看加入延迟后的波形结果是否正确,若出错,回到第二步,直至正确为止 7 、在m a x + p l u si i 中生成正确的s o f 文件此s o f 文件包含有源程序的逻辑功能 1 6 位d s p 掇d 单元的设计 4 第- 二章设计思想和流程 8 、将此s o f 文件通过下载线d o w n l o a d 到已经做好的p c b 板上的a l t e r a 器件中,再读 人测试结果对结果进行分析,适当时修改源程序 整个设计流程可用下图清楚地表明 图2 1 设计流程 2 3 设计描述 在进行总体设计时,根据d s p 的体系结构与功能,我对整个系统作r 如下图所示的模 块划分 划分后整个系统由三大类模块构成第一类为需要逻辑综合生成电路的模块,如下图 ( 3 ) 所示,它们是整个系统设计的核心部分第二类为需要专门为测试电路加入的部分 如下图( 2 ) 所示,它们是整个系统设计的测试电路部分使用m a x + p l u s l i 库中的r o m 和r a m 单元,结合测试电路,使此电路能在a l t e r a 器件上正常运作,并能得到测试结果 第三类为系统仿真界面,包括用v h d l 语言描述的r o m 、r a m 模型,如下图( 1 ) 所示, 为整个系统提供模拟测试的结果接下来的部分将要对下图( 3 ) 中模块的功能与设计实 现进行详细介绍 1 6 位d s p 掇。单元的设计 第- 二章设计思想和流程 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ - ,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ 图2 2 d s p 系统的模块描述 1 6 住o s p 桂g 单元的设计 6 墨三主竺苎堡茎 一 第三章结构设计 d s p 微处理器的结构设汁,加强r 处理器结构的总体速度、通信和灵活性;控制信号和 指令提供浮点运算、存储器数据块传送、与慢速片外设备通信对许多数字信号处理的应 用增加r 总处理能力,是通过单周期乘仂指令、在片大型r a m 数据区、八部含专用运算单 元的辅助寄存器及其它一些性能来完成的 本章要讨论的主要课题是: 总体结构概述( 3 1 ) 总体说明 功能框图 内部硬件概述 存储器控制( 3 2 ) 在片数据r a m 块 辅助寄存器 存储器划分 存储器变址寄存器 存储器间的传送 程序计数器和堆栈 局部存储器接口 中央算术逻辑单元【c a l u ) ( 3 3 ) 换算移位器 a l u 和累加器 乘法器、t 和p 寄存器 系统控制( 3 4 ) 循环计数器 复位 状态寄存器 外部接口( 3 5 ) 存储器和i o 接口 芯片的输入和输出 信号描述 1 6 位d s p 核g 单元的设计 第三章结构设计 3 1 总体结构概述 3 i 1 总体说明 d s p 单元的结构基于t i 公司第二二代数字信号处理器t m s 3 2 0 c 2 0 之上另外,其指令 系统为t m s 3 2 0 c 1 0 的超指令系统,维持t m s 3 2 0 c 1 0 软件的向上兼容性本章简要介绍 d s p 单元的主要结构成分,示出功能框图并列出d s p 单元内部硬件概况表 d s p 单元这一高性能微处理器具备单一累加器哈佛型结构这种哈佛结构在保持f 两 个独立的存储总线结构:程序和数据,使得指令能高速地运行有指令能够在程序总线和 数据总线之间交流信息其程序和数据存储器可分别驻留于独立的地址空间,可允许指令 取和执行的全重叠所含的指令允许在两个空间间进行数据传送外部、程序和数据存储 器空间可复用相同的总线从而在减少设备引脚数的情况下增大两个地址空间的范围 d s p 单元内部结构保持两个独立的总线,可全速执行指令,增强处理能力 大型在片r a m 块,可以构成独立的程序和数据空间或构成两个相邻的数据块,加强r 系统设计的灵活性大多数处理器程序指令的执行,一般从快速外部程序存储器或在片程 序r a m 上以单机器周期的形式进行d s p 单元的灵活性还可通过使用r e a d y 信号与慢 速片外存储器或外设进行通信,然后指令成为多周期指令 d s p 单元其主要加强的部分有: 从片外r o m 上高速执行程序 - 2 5 6 字在片数据r a m 1 2 8 k 字外存扩展空间( 6 4 k 字程序存储器,6 4 k 字数据存储器) - 单周期乘加指令 支持浮点运算的指令系统 数据程序管理的数据块传送 与慢速片外存储器外设进行通信的等待状态 本身带有算术运算单元的八部辅助寄存器 - 位计算指令 3 1 2 功能框图 d s p 单元功能框图( 见图3 - 1 ) ,划出处理器内部的主要数据块和数据通道下面 章节将详述功能块的情况方框图亦示出rd s p 单元全部接e l 引脚 1 6 住d s p 桩, c a t 单元的设计 第三章结构设计 c l k r s r e a d y p s r w 注释: a c c h a c c l a r a u a r b a r p 条dp 累加器高位 累加器低位 辅助寄存器算术单元 辅助寄存器指针缓冲器 辅助寄存器指针 数据存储器页指针 q i r队列指令寄存器 i r 指令寄存器 p r p 寄存器 r p t c 循环指令计数器 t r t 寄存器d s p 单元结构围绕两 s t 0 ,s t l 状态寄存器 图3 1d s p 数字信号处理器框图 1 6 住d s p 挂。单元的设计 第三幸结构设计 主要总线:程序和数据总线程序总线传送来自程序存储器的指令代码和立即操作数数 据总线把不同的部分,诸如中央算术逻辑单元及辅助寄存器文件相互连接到数据r a m 程 序和数据总线可一起把来自在片r a m 块的数据以单周期的形式送往乘法器,以进行乘加 运算 d s p 单元具有高度的并行性,即在c a l u 执行数据操作的同时,亦可在辅助寄存器算 术运算单元( a r a u ) 执行算术运算这样的并行性使一组强有力的箅术、逻辑和位计算 运算等以单机器周期的形式来完成 3 1 3 内部硬件概述 d s p 单元内部硬件所完成的功能是其他处理器一般用软件或微代码来完成的如设备 含有进行单周期1 6 1 6 位乘、数据移位和地址计算与硬件这- j u 强型硬件方法,为原 来在单片机上不能进行的计算提供了,有力的计算途径 表3 1 列出rd s p 单元内部硬件概况这一综和包括内部处理单元、寄存器和总线, 分组按字母顺序排列表中所用符号与图3 1 以及下面章节的框图等所用符号相对应 表3 1内部硬件 单元符号功能 处理单元 算术逻辑单元 a l u 带有2 个3 2 位输人口和一个3 2 位输出口,馈送到累加器的3 2 位 二进制补码算术逻辑单元 中央算术逻辑单 c a l u 一组a l u 、乘法器、累加器和换算移位器 元 乘法器 m u l1 6 1 6 位并行乘法器 程序计数器 p c 1 6 位程序计数器,使用数据块传送( b l k d ,b l k p ) 和乘加 ( m a c ) 指令时,访问程序存储器和数据存储器 随机存储存储器 r a m 含2 5 61 6 单元的r a m 块,可构成数据或程序存储器 ( 数据或程序) 辅助寄存器算术 a r a u 1 6 位非符号算术运算单元用来完成辅助寄存器的数据运算 运算单元 循环计数器 r p t c 一个8 位计数器用以控制单指令的循环执行 1 6 住d s p 槭d 单元的设计 0 第三章结构设计 移位器 s f l ,移位器s f l ( 左移) 和s f r ( 右移) 置于a l u 输入,累加器输 s f r 出和乘积寄存器输出处累加器中亦有一内部移位器 累加器 a c c hf 3 13 2 位累加器分为两等分: a c c h ( 累加器高位) 和a c c l ( 累 1 6 ) 加器低位) 用来存储a l u 输出 a c c l ( 1 5 0 ) 辅助寄存器 a r oa r l含有八部1 6 位辅助寄存器( a r 0 一a r 7 ) 的寄存器文件用以寻 a r 2a r 3 址数据寄存器,暂存或通过a r a u 进行整数运算处理 a r 4a r 5 a r 6a r 7 ( 1 5 0 ) 辅助寄存器指针 a r p ( 2 一个3 位寄存器,用以选择五部寄存器其中的一个 0 】 寄存器 辅助寄存器指针 a r b( 2 一个3 位寄存器,用以缓冲a r p ,每次装入a r p 时,原来的值 缓冲区 0 ) 写入a r b ,但在l s t ( 装入状态寄存器) 指令时例外使l s t i 装人a r b 时。相同的值拷贝到a r p 数据存储器页指 d p ( 8 一部指向当前页地址的9 位寄存器数据页每页为1 2 8 字,形成 针 0 ) 5 1 2 页可寻址的数据存储器空间( 保留一些单元) , 指令寄存器 i r ( 1 5 1 6 位寄存器,用于存储当前执行的指令 0 ) 队列指令寄存器q 1 r( 1 51 6 位寄存器,用于存储前一个执行的指令 0 ) 乘法寄存器 p rr3 1 3 2 位乘积寄存器,保持乘法器的乘积 0 ) 堆栈 s t a c k 8 x 1 6 硬件堆栈中断或调用时,存储p c 的内容a c c l 和数据存 储器的值亦可推向或弹出堆栈 1 6 位i ) s p 枉。单元的设计 第三章结构设计 状态寄存器 s t 0 、 s t l 两部1 6 位状态寄序器,含状态和控制位 暂存寄存器 t rf1 5 1 6 位寄存器,为平法器保存操作敛或者为换算移位器移动代码。 01 总线 辅助寄存器文件 a f bf1 51 6 位总线,从a r p 指向的a r 传送数据 总线 0 、 数据总线 d ( 1 5 1 6 位总线发送数据 0 ) 数据存储器地址 d a bf1 5 1 6 位总线,含数据存储器地址 0 、 直接数据存储器 d r br1 5 1 6 位总线,含数据存储器直接地址,使d p 寄存器和指令的7 位 地址总线 0 ) 最低有效位连接起来 程序总线 p ( 1 5 1 6 位总线,友送指令( 和m a c 指令的数据) 0 ) 程序存储器地址 p a br1 5 1 6 位总线,含程序存储器地址 总线 0 ) 1 6 住d s p 桂。单元的设计2 第三幸结构设计 3 2 存储器控制 d s p 单元提供2 5 6x1 6 位字在片r a m ,一般情况下作为数据存储器,也可以作为程 序存储器本节介绍使用在片数据r a m 块、辅助寄存器、存储器之间的传送等有关存储器 管理的问题,同时介绍1 6 位程序计数器的功能、硬件堆栈、总线、引脚以及用于局部存储 器接口的控制信号等 3 2 1 在片数据r a m 块 2 5 6 字大小的数据r a m 块,可根据实际需要的大小来改变在我的实际设计中,一直 作为数据存储器,当然根据其用途,也可作为程序存储器 使用在片程序r a m 或高速外部程序存储器时,d s p 单 元可高速运转而无等待状态、 但可用r e a d y 线,使d s p 单元与慢速成本低的外部存储器 接口从慢速片外存储器向在 片程序r a m 下送程序,可加速处理过程,减少系统损耗 d s p 单元可寻址全部6 4 k 字程序存储器和6 4 k 字数据存 储器在片数据存储器划人6 4 k 数据存储器空间用b o 块结构进行存储器变换的详情见 3 , 2 3 节 1 6 位数据地址总线( d a b ) 用下述任意一种方式对数 据存储器进行寻址 1 ) 通过辅助寄存器文件总线( a f b ) 使用间接寻址 图3 2 在片数据r a m 方式; 2 ) 通过直接地址总线( d r b ) 采用直接寻址方式; 3 ) 利用程序存储器的立即操作数 图3 3 表示在直接、间接和立即寻址方式下对数据存储器进行寻址的1 6 位数据地址 总线的源码 如果使用直接寻址方式,9 位数据页指计指向1 2 8 字页面的其中一页由指令的7 位最 低有效位规定的数据存储器地址指向页面内的所需字用7 位d m a 链接9 位d p 形成直接 地址总线的地址 使用间接寻址方式时,当前选择的1 6 位辅助寄存器通过辅助寄存器文件总线访问数据 存储器正被选择的寄存器中提供数据存储器地址并且通过中央算术逻辑单元计算数据 时,辅助寄存器的内容可由辅助寄存器算术单元进行计算( 见图4 2 ) 直接和间接寻 址方式的详情见4 1 节 1 6 住d s p 挂心单元的谩计 第三章鲒构设计 指夸 d p 削姘址恒苎l 旦掣上逐日_ 。禾_ 堡竺墼j 指夸 直接手址1 棣作码1 a r p 1 j 产。- l a r ( a r p ) 卜吾叫堡竺墅j 指夸 立即操作数 玉i 三二 至豆叵l 或 9 c _ r i i _ p c 塑十丽石d 图3 3 指令操作数寻址方式 使用立即操作数时,隐含在指令字本身或在1 6 位立即操作数的情况下,字跟随指令操 作码 3 2 2 辅助寄存器 d s p 单元提供的寄存器文件含五部辅助寄存器( a r o a r 4 ) 这一部分讨论每一种 寄存器的功能及如何选择和存储辅助寄存器 辅助寄存器可用来直接存取数据存储器或数据暂存间接辅助寄存器寻址( 见图4 2 ) 可使指令操作数的数据存储器地址置人五部寄存器的其中一个3 位辅助寄存器指针指 向这些辅助寄存器,对a 0 一a 4 辅助寄存器指针分别装入0 ,1 ,2 ,3 ,4 ,5 ,6 或 7 。辅助寄存器和a r p 可从数据存储器或通过在指令中定义的立即操作数装人这些寄存 器的内容亦可存储在数据存储器 辅助寄存器文件 a r o 匪叵:j 肌单元蚍阱分 a r li1 0 i af0 0 0 0 a r 2 1 0 0 1 a i 辅助寄存嚣指针l 一一一j r r r a r p 10 | 1i1 卜+ a r 30 0 2 0 卜0 0 2 0 f f f f a r 7i0 1 2 0 图34 间接辅助寄存器寻址举例 辅助寄存器文件( a r o a r 7 ) 连接到辅助寄存器算术单元( a r a u ) ,示于图3 5 数 据存储器单元被寻址时,a r a u 可自动变址当前辅助寄存器由l 或a r 0 的内容来执行 变址结果信息存取表不要求中央算术逻辑单元( c a l u ) 进行地址计算,这样c a l u 可 用于其他运算 1 6 住d s p 牲a 单元的设计 d 第三章结构设计 图3 5 中,辅助寄存器0 ( a r 0) 固定连接到a r a u 的输入j 二另外一个输人通 过当前a r ( a r p 所指) 馈人a r ( a r p ) 的内容是a r p 指向的当前a r 的内容a r a u 完成下述功能: a r ( a r p ) + a r 0 一一a r ( a r p ) ,通过加a r 0 巾的十六位整数来变址当前a r ; a r ( a r p ) 一a r 0 一a r ( a r p ) ,通过减a r 0 中的十六位整数变址当前a r ; a r ( a r p ) + 1 一一a r ( a r p ) ,当前a r 自动增量1 ; a r ( a r p ) 一1 一一a r ( a r p ) ,当前a r 自动减量1 a r ( a r p ) 一一a r ( a r p ) ,当前a r ( a r p ) 值不变 除r 以上的功能外,d s p 单元_ j 的a r a u 还具有如下的功能: a r ( a r p ) + i r ( 7 0 ) 一a r ( a r p ) ,当前a r 值加上8 _ b i t 立即数值; a r ( a r p ) 一i r ( 7 0 ) 一a r ( a r p ) ,当前a r 值减去8 _ b l t 立即数值; a r ( a r p ) + r c a r 0 一a r 【a r p ) ,位倒向计算,当前a r 值加上倒向进位( r c ) 计算; a r ( a r i ) 一r c a r 0 一一a r i a r p ) ,位倒向计算,当前a r 值减去倒向进位( r c ) 计算; 虽然a r a u 与其他运算并行用于地址计算,但是,由于辅助寄存器文件可直接与数据 存储器通信,因此,a r a u 亦可用作附加的通用算术单元a r a u 执行1 6 位非符号算术运 算,而c a c u 则执行3 2 位二:进制补码算术运算指令所提供的转移取决于a r ( a r p ) 和a r 0 的比较结果 图3 5 亦表示一个3 位辅助寄存器指针缓冲器( a r b ) 为a r p 调用和中断所提供 的缓冲器 1 6 住d s p 桂。单元的设计 墨兰主苎塑苎竺一 - _ - - - - _ _ _ _ _ _ - _ _ _ _ _ _ _ _ - _ ,_ _ _ _ _ - _ - _ _ ,_ _ _ _ _ - - - _ _ - _ e ! 塑妻! 墨竺r 3 ) ( 1 6 ) l 一薯擎算l 三j 嚣差;l 毒辅助寄存器( a r i ) 1 6 ) 8 l i b 0 ( a f 0 ) ( 1 l ) 一叫单 i 辅助寄存嚣p 冀牛佩ff i 一一 m u x 7 ll t 一_ 。_ l 一 m u x i i i nbo u ti n a i r f3 j辅助寄存嚣算术单元 r i i 7 ia r a u ) ( 1 6 )j 3 l s b i 7 i 3 i或i rj 辅助寄存嚣文件总线( a f b ) 1 6【 _ 一。3 m s b i 3 m s b l 曩。,颡鼯芝;。;尊:藏攀蕊戳瀵,羲羲。l j 蕊嚣0 :3 疆嘲7 * c 、= _ | “6i 1 6 ,: 毫,、i 。强o + 蠢。一“;酾瀛 簸,穗:x 二鬈矗_ 一| 图35 辅助寄存器文件 3 2 3 存储器间的传送 d s p 单元为数据和程序块传送提供指令姒及有效利用可构成在片r a m 的数据传送功 能 b l k d 指令在数据存储器内部进行数据块传送,b l k d 指令把数据存储器的字块传送 到数据存储器b l k p 指令在内部程序存储器和数据存储器进行数据块传送,b l k p 指令 把程序存储器的字块传送到数据存储器这些指令完成在片或片外存储器的块传送 d s p 单元存储器结构是可编程的并对各种应用是可变的提供指令从外部数据存储器 或程序存储器向数据存储器传送字块,将在片数据r a m 块构成程序存储器,并将部分外部 数据存储器定义为整体存储器 d s p 单元可直接寻址大量存储器,数据块或程序代码块可存储在脱片低速存储器中, 然后装人在片存储器进行快速执行 b l k d 和b l k p 指令能够满足d s p 单元存储器间的块传送例3 1 表示b l k d 指令 在数据存储器内进行的块传送 倒3 1 外音够据存储器到内部字块的传送 这一程序用b l k d 指令把外部数据存储器块传送到内部数据存储块 m o v e dl a r p 0 r p t2 5 5 重复下一条指令2 5 6 次 b l k d 4 0 0 ,+ +外部字块传送到指定地址 r e t 返回主程序 对于具有外部程序存储器但无外部数据存储器的系统,可用b l k p 指令把程序存 1 6 住d s p 槭。单元的设计 储器块传送到数据存储器例3 2 表示b l k p 指令的用法 例3 2 程序存储器到数据存储器的块传送 这一程序使用b l k p 指令把数据值从程序存储器传送到数据存储器,具体指程序存储 器,单元2 ,3 ,4 和单元5 的值传送到数据存储器单元5 1 2 ,5 1 3 ,5 1 4 和5 1 5 中 m o v e pl a r p0 对闸接寻址方式建立参数 l r l k a r 0 , 5 1 2 b 0 的开始值装入a r 0 r p t k 3 建立循环 b l k p 2 ,+ 数据送人数据r a m r e t 返i 山卞程序 3 2 4 局部存储器接u d s p 单元局部存储器接口包括一条1 6 位并行数据总线( d 1 5 一d o ) ,一条1 6 位程 序地址总线( a 1 5 一a 0 ) ,用于存储器空阃选择的引脚( p s ) 以及不同的系统控制信号 等r w 信号控制传输方面使用r e a d y 信号可产生等待信号以便与慢速片外存储器 进行通信 1 6 位d s p 枉g 单元的设计 苎三主竺塑堡苎 3 3 巾央算术逻辑单元( c a l u ) d s p 单元含中央算术逻辑单元( c a l u ) ,这一译元含1 6 位换算移位器, 1 6 1 6 位并行乘法器,3 2 位算术逻辑单元( a l u ) ,3 2 位累加器( a c c ) 及一些适用于累加 器和乘法器输出的移位器本节叙述c a l u 组成部分及其功能图3 8 为c a l u 组成部 分的框图 在执行典型的a l u 指令时,产生下述情况: 1 ) 在数据总线上,从r a mq 取数据; 2 ) 通过换算移位器和完成算术运算的a l u 传送数据: 3 ) 结果传送到累加器 进人a l u 的一个输入,通过累加器来传送,另一输入从乘法器的乘积寄存器馈人或 者由数据存储器装人的换算移位器馈人 p r o g r a mb u s 图3 8 中央算术逻辑单元 3 3 1 换算移位器 d s p 单元换算移位器含连接到数据总线的1 6 位输入以及连接到a l u 的3 2 位输i _ i j 按 照指令编程,换算移位器在输人数据上左移0 1 6 位输出的最低有效位填零,最高有效 6 住d s p 柱。单元的设计 第三章结构设计 位可填零或为符号扩展,这可根据编程到状态寄存器s t o 的符号扩展方式位的状态来确 定 在许多微处理器的设计中,移位器都非常重要,主要表现在算术移位,逻辑移位和循 环移位在本论文的设计中,所有的移位器均按桶式移位器的原理设汁桶式移位器的原 理示下面的例子所述 图3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论