已阅读5页,还剩50页未读, 继续免费阅读
(电路与系统专业论文)32位risc微处理器核的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 p n ! 艿9 8 7 孑一p 随着计算机技术的发展和对其它行业的广泛渗透,计算机的嵌入式应用已越 来越成为研究与开发n 0 热点。a r m 公司是世界上1 6 3 2 位嵌入式微处理器解决 力案的头号供也商之一,它的a r m 开放犁体系结构已得到诸多公司的认可,并 应用到各自的产品叶1 去。a r m 系列微处理器核也快速成为便携式通信、多媒体 数字消费r 。品以及各种嵌入式应用的j l i 流和标准。, 本文参照a r m 7 t d m l 核的结构,设计r 一个3 2 位的r i s c 微处理器核。它 能兼容大部分的3 2 位a r m 指令( 除协处理器指令外) ,执行时序电与a r m 7 t d m i 一致。设计采用v h d l 的r t l 描述,并选用a l t e r a 的可编程逻辑器件( f p g a ) e p f l 0 k 1 3 0 e f c 4 8 4 2 作为目标器件,进行r 综合和后仿真仿真的结果表明, 所没计的微处理器核能正确执行所有预定指令。 本文采用的设计流程对于用f p g a 实现的系统是普遍适用的。在具体的电路 实现上,本文提出r 用f p g a 实现寄存器组等模块的方法,对于流水线的实现及 相关冲突的避免提出j 7 相应的方案。对于译码控制器、使用j 层次式的设计结 构。该结构便丁对各类指令分别进行凋试,提高r 设计进程的并行性和模块功能 的可扩腱性。这此都为自主设计r i s c 微处理器的i p 核提供r 值得借鉴的探索成 果和没计思路。 、l。 _ _ 关键词微处理器核 r i s c f p g a 仿真 中图分类g - t n 4 9 2 ,t p 3 6 8 1 a b s t r a c t t h ee m b e d d e da p p l i c a t i o no fc o m p u t e rh a sb e c o m eah o tt o p i ci nr e s e a r c ha n d d e v e l o p m e n t a r ml t d i st h e i n d u s t r y sl e a d i n gp r o v i d e ro f 16 1 3 2 一b i te m b e d d e d r i s c m i c r o p r o c e s s o r s o l u t i o n s m a n y i n t e r n a t i o n a le l e c t r o n i c s c o m p a n i e s h a v e l i c e n s e dt h ea r mr i s ca r c h i t e c t u r ei nt h e i rp r o d u c t s n o w ,a r m sm i c r o p r o c e s s o r c o r e sa r er a p i d l yb e c o m i n gt h ev o l u m er i s cs t a n d a r di ns u c hm a r k e t sa sp o r t a b l e c o m m u n i c a t i o n s ,m u l t i m e d i ad i g i t a lc o n s u m e ra n de m b e d d e d s o l u t i o n s i nt h i s p a p e r ,a 3 2 一b i tr i s cm i c r o p r o c e s s o rc o r ei s d e s i g n e do nt h e b a s i so f a r m 7 t d m ic o r es t r u c t u r e e x c e p tf o rt h ec o p r o c e s s o ri n s t r u c t i o n s ,i tc a ne x e c u t ea l l t h eo t h e r3 2 一b i ta r mi n s t r u c t i o n su s e d b ya r m 7 t d m i ,a n ds h a r e s t h es a m e i n s t r u c t i o nc y c l eo p e r a t i o n s t h ew h o l e d e s i g ni sm a d e i nr e g i s t e rt r a n f e rl e v e l ( r t l ) v h d lc o d ew ec h o o s ee p f i o k l 3 0 e f c 4 8 4 2o fa l t e r af p g af a m i l ya so u r t a r g e t d e v i c e ,t h e ns y n t h e s i z et h ed e s i g nc o d ea n dp e r f o r mt h es i m u l a t i o n ,w h i c hs h o w sa c o r r e c te x e c u t i o n i n s t r u c t i o n sa se x p e c t e d t h ed e s i g nf l o wu s e di nt h i sp a p e ri su n i v e r s a lt oa l lt h ef p g a i m p l e m e n t e d s y s t e m s w ep r o p o s et h es o l u t i o n sf o rc i r c u i t i m p l e m e n t a t i o n o fr e g i s t e rb a n ki n f p g a ,p i p e l i n i n gc o n t r o l a n dh a z a r d e l i m i n a t i n g i nd e c o d ea n dc o n t r o ll o g i c ,a h i e r a c h i c a ls t r u c t u r ei s u s e d ,w h i c h c a nb e e a s i l y u s e dt o d e b u ge a c h c l a s so f i n s t r u c t i o ni n d i v i d u a l l y s ot h ep a r a l l e l i s mo f d e s i g np r o c e s sa n dt h ee x p a n s i b i l i t yo f b l o c kf u n c t i o nh a sb e e ni m p r o v e d a l lt h e s es o l u t i o n sa n di d e a sc a nb eu s e df o rr e f e r e n c ei no t h e rs i m i l i a rd e s i g n so f m i c r o o r o c e s s o rc o r e k e y w o r d s : m i c r o p r o c e s s o r c o r er i s cf p g as i m u l a t i o n 3 2 位r i s c 徽处删器核的设汁 第一章慨述 第一章概述 l l嵌入式系统简介 以往我们按照汁算机的体系结构、运算速度、结构规模、适用领域,将其分 为大型计算机、中型机,小型机和微计算机,并以此来组织学科和产业分工,这 种分类沿袭r 约4 0 年。近1 0 年来,随着计算机技术和产品对其它行业的广泛渗 透,以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌人式应用 和非嵌入式应用将其分为嵌入式计算机和通用计算机。通用计算机具有计算机的 标准形态,通过装配不同的应用软件,以类同面目出现并应用在社会的各个方 面,其典型产品为p c ;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装 置、产品和系统中 嵌入式系统( e m b e d d e ds y s t e m ) 的定义是:以应用为中心、以计算机技术为基 础、软件硬什呵裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要 求的用i 十算:机系统。嵌人式计算机在应用数量上远远超过r 各种通用计算机, 例如,一台通用计算机的外部设备中就包含r5 - 1 0 个嵌入式微处理器,键盘、 鼠标、软驱,硬盘、显示卡、显示器、m o d e m 、网卡、声卡、打印机、扫描仪、 数字相机、u s b 集线器等均是由嵌入式处理器控制的。 嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o ru n i t ,e m p u ) 是嵌入式系统的核心 部件,其基础是通用计算机中的c p u 。在应用中,将微处理器装配在专门设计 的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体 积和功耗。为,满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标 准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做 厂各种增强。和工业控制计算机相比,嵌入式微处理器具有体积小,重量轻、成 本低、可靠性高的优点,但是在电路板上必须包括r o m 、r a m 、总线接口、 各种外设等器件,从而降低r 系统的可靠性,技术保密性也较差。 l 一2 a r m 微处理器的发展历史 1 9 8 3 年,英国的橡果计算机有限公司( a c o mc o m p u t e r sl i m i t e d ) 感到市场上 的1 6 位c i s c 微处理器的速度太慢,无法适用于更高性能的系统,于是,2 生r 自主没计一种新型微处理器的想法。受美国加州大学伯克莱分校r i s c i 计算机 研制成功的启发,橡果公司决定采用r i s c 这一形成不久的全新计算机系统结 构。经过两f i 不到的时问,第一块名为a r m 的处理器于1 9 8 5 年4 月诞生厂。 此时,a r m 二三食字母缩写代表着a c o r n r 1 s c m a c h i n e 。1 9 9 0 年橡果计算机公 3 2 位r i s c 微处理器核的没计 第一章概述 司更名为a d v a n c e d r i s cm a c h i n el i m i t e d ,仍用a r m 作为公司及产品的代g - 。 从】9 9 1 年起,a r m 公司与其他公司合作,陆续推出r a r m 6 ,a r m 7 , s t r o n g a r m ,a r m 9 ,a r m l 0 等一系列嵌人式r i s c 微处理器核,其功能也不断增 强。第一代的a r m 处理器只支持2 6 位寻址,从a r m 6 起,实现r3 2 位寻址。 从a r m 7 t d m i 开始,a r m 处理器同时支持两套指令集,一种是标准的3 2 位 a r m 指令集,另一种是紧缩型的1 6 位指令集t h u m b 。t h u m b 指令集能实 现原有3 2f _ ;_ j = a r m 指令集的大部分功能,而代码密度大大提高r 。在某些应用 场合,使用t h u m b 指令集显得更为精简和高效 4 。 _ | 年来,a r m 这一开放型体系结构已得到r 德州仪器( t e x a si n s t r u m e n t s ) , p h i l i p s ,l u c e n t ,s o n y ,h p ,i b m ,i n t e l 等诸多公司的认可,并应用到开发的产品中去。 现在,a r m 公司已成为l6 3 2 位嵌入式微处理器解决方案的头号供应商之一, a r m 的微处理器核也日益成为便携式通信( 最新技术如b l u e t o o t h ) 、多媒体数字 消费产品等嵌入式应用领域的主流和标准 l 一3本文的工作 在a r m 的系列产品中,a r m 7 t d m i 虽然不是最新推出的,但因为其简洁 的结构( 内部使用三级流水线) 、较为完善的功能( 如:支持1 6 位的t h u m b 指令 集,具有6 4 位结果的乘加运算功能等) 和较高的性价比,至今仍有广泛的应用领 域。a r m 7 t d m i 的结构如下所示: o 【3 10 1 d i n 3 1 a o t h o r s i g n a l s t c kt m $ n t r s tt 0 lt d ot a p s m 30 l i r 3o 】s c r e g 30 1 图s la r m 7 t d m i 的结构箱固 躲鼎薪燃端 e e t t州sr州溅黑铺 3 2 位r i s c 微处理器核的i 殳计第一章概述 本文参照a r m 7 t d m i 的体系结构,结合a r m 公司提供的数据手册 3 ,设 汁r 一个兼容3 2 位a r m 指令集的微处理器核,实现r 图5 一l 中c o r e 的大部分 功能,f :面向f p g a 进行厂综合和后仿真这是一次面向f p g a 实现复杂数字系 统的很好的实践,也为自主设计r i s c 微处理器的l p 核提供了一些探索成果和设 计思路。 本文采朋的系统设计流程如图5 2 所示。该流程能提供较准确的仿真结果, 对于用f p g a 实现的系统是普遍适用的 没计全部使用v h d l 的r t l 描述,对于其中的一些功能模块调用r a l t e r a f p g a 所提供的宏模块,以求得更好的综合结果和更可靠的性能。 论文共分七章。第二:章介绍ra r m 体系的结构特点、a r m 指令集以及 a r m 7 t d m i 的操作模式和寄存器组织形式第三章至第六章是论文的核心部分, 详细介绍r 微处理器核各部分的设计。第三章介绍与数据通道相关的硬件,即寄 存器组、桶型移位器和a l u 的实现方法。第四章介绍存储器接口及存储器读写 指令的实现。第五章介绍乘法器的设计和乘法指令的实现。第六章介绍整个译码 控制器的层次结构、流水线的控制和各种中断及异常处理的实现。第七章给出r 一些综合和仿真的结果,并进行r 一些问题的讨论。 9 52 本文使甬的系统设计漉程 3 2 位r i s c 微处理器核的设订第二章a r m 体系结构特点及指令集简介 第二章a r m 体系结构特点及指令集简介 2 1a r m 结构特点概述 a r m 属于r i s c ,因而其体系结构体现r 不少r j s c 技术的特点,主要有: ( 1 ) 有一个大寄存器组。a r m 的寄存器组共有3 7 个3 2 位的寄存器,在任一特定 模式下,其中的16 个是可使用的,其余的寄存器是为各种异常处理模式所专用 的。这样就减少厂进入结束异常处理时保存恢复现场的工作量,加快r 异常处 理的速度。 ( 2 ) 以寄存器一寄存器方式工作,即指令系统中除l o a d s t o r e 指令可访问存储 器外,其余指令都只与寄存器打交道。 ( 3 ) 简单的寻址方式,所有l o a d s t o r e 指令中访问存储器的地址仅由寄存器和 指令中的立h j 数确定。 ( 4 ) 指令长度一致,译码及控制逻辑采用硬布线实现 ( 5 ) 使用流水线技术 除此以外,由于a r m 系列产品主要是针对嵌入式系统应用的,出于低成本、 小面积、低功耗、高性能的考虑,a r m 的体系结构还有以下一些独有的特点: ( 1 ) 所有数据处理类指令的一个操作数在进入a l u 运算之前可进行左移或右移 移位操作和a l u 运算由同一条指令在一个执行周期内完成,大大提高r 指令的 编码效率和a l u 、移位器等硬件的使用效率 ( 2 ) 提供j - 自增自减的寻址方式,便于优化循环语句 ( 3 ) 提供r 多寄存器传送( m u l t i p l er e g i s t e rt r a n s f e r ) 语句需要在存储器和寄存器 之间进行大块数据交换时,使用该语句可提高数据的吞吐量 ( 4 ) 所有指令都可以有条件执行,这为诸如i f - e l s e 的条件判断语句的优化提供r 方便 2 - 2a r m 指令集介绍+ 2 2 - 1 指令分类 a r m 指令集的所有指令都是3 2 位的从功能上看,可分为6 类: ( 1 ) 跳转指令( b r a n c hi n s t r u c t i o n s ) 包括普通跳转指令( b ) 、跳转连接指令( b l ) 和跳转交换指令( b x ) 。b l 指令在 跳转的同时可以保存返回地址的值。b x 指令在跳转的同时完成a r m 指令集和 + 这里介绍的a r m 指令:t 要是a r m 7 t d m i 所支持的。随着a r m 产品的升级,指令也在不断扩展 3 2 位r i s c 微处理器核的设计第二章a r m 体系结构特点及指令集简介 t h u m b 指令集之间的臼j 换。 ( 2 ) 数据处理指令( d a t a p r o c e s s i n gi n s t r u c t i o n s ) 这类指令的第一操作数是寄存器,第二操作数是寄存器或立即数,通过a l u 可以对两个操作数完成加、减等算术运算和与、或等逻辑运算。其中第二操作数 在送人a l u 之前还可进行左移、右移等移位操作当数据处理指令的目的寄存 器是程序计数器p c 时,同样可以实现跳转功能。 另外,a r m 还有无符号数和有符号数的乘法和乘加运算指令它们需通过专 圳的乘法器肌i 以实现。 ( 3 ) 状态寄存器传送指令( s t a t u sr e g i s t e r t r a n s f e ri n s t r u c t i o n s ) 这类指令可以将状态寄存器的值复制到通用寄存器中,也可将通用寄存器中 的某些位传送给状态寄存器的一些状态标志位。 ( 4 ) 存储器存取指令( i o a da n d s t o r ei n s t r u c t i o n s ) 包括一个寄存器和存储器之间的数据读写指令( 读写的数据可以是字节、半字 或亨) ,多个寄存器和存储器之间的数据读写指令以及用来将一个寄存器的值和 一个存储器单元的值进行交换的数据交换指令( s w p ) ( 5 ) 协处理器指令( c o p r o c e s s o ri n s t r u c t i o n s ) 包括协处理器内部数据处理指令,主处理器和协处理器的寄存器传送指令以 及协处理器。j 存储器的数据传送指令。由于本文并未实现该类指令,故不加以详 细论述。 ( 6 ) 异常中断指令( e x c e p t i o n g e n e r a t i n gi n s t r u c t i o n s ) 主要包括软件中断指令( s w i ) 等另外,如果外部有复位信号、中断请求, 或者存储器访问失败,以及遇到未定义指令时,处理器都要进行相应的异常处 理。这些异常事件的产生虽然不象软中断那样是由指令激发的,但进行处理时的 操作步骤却和软件中断指令非常相似。因此,设计时可以放在一起加以考虑。 从执行周期看,最短的指令只需一个周期( 以数据处理指令为代表) ,最长的 指令需2 0 个周期( 存储器存取指令中的多寄存器取指令l d m ) 关于每一条指令的详细说明,请参阅文献 1 , 2 , 3 】。 ( 丰:a r m 系列产品中的一些( 包括a r m 7 t d m i ) 还支持1 6 位的t h u m b 指令。 由于木设汁斤朱包含t h u m b 指令,故不予讨论。) 2 - 2 - 2 指令的有条件执行 所有的a r m 指令都可以有条件地执行。在3 2 位的指令二进制编码中,最高 4 位即被称为“条件域”,它们指明r 在何种条件下该指令才能被执行一条指 令在译码时,先榆查当日i 程序状态寄存器c p s r ( c u r r e n tp r o g r a ms t a t u sr e g i s t e r ) 巾的负标志n ( n e g a t i v e ) ,零韧i 志z ( z e r o ) ,进位标志c ( c a r r y ) 和溢出标志v ( o v e r f l o w ) 3 2 位r i s c 微处删器核的设计第二章a r m 体系结构特点及指令集简介 是否满足“条件域”中描述的条件若是,则该指令被执行;若否,则该指令被 跳过,继续对下一条指令进行译码。 “条件域”的各编码值和对应的n z c v 标志位应满足的条件见表2 - l 。 c o d es u f f i x f l a g sm e a r l i n g 0 0 0 0e ozs e l e q u a l 0 0 0 1n ezc l e a rn o te q u a l 0 0 1 0c scs e l u n s i g n e dh i g h e ro r , s a m e 0 0 1 1c cce l e a r u n s i g n e dl o w e r 0 1 0 0m lns e i n e g a t i v e 0 1 0 1p lnc l e a r p o s i t i v eo rz e r o 0 1 1 0v svs e lo v e r f l o w 0 1 1 1v cvc l e a r n oo v e r f l o w 1 0 0 0h lcs e t a n dzc l e a r u n s i g n e dh i g h e r 1 0 0 1l s 、cc l e a r o r zs e l u n s i g n e dl o w e r o rs e i n e 1 0 1 0g en e q u a l s vg r e a t e r o re q u a l 1 0 1 1l tnn o t e q u a l t ov i e s st h a n 1 1 0 0g t zc l e a ra n d ( n e q u a l sv )g r e a t e rt h a n 1 1 0 1l ezs e t o r nn o te q u a l t o v )l e s s 廿1 a no re q u a l 1 1 1 0a l ( i g n o r e d )a l w a y s 表j 一1 器件编码总结 指令的有条件执行足a r m 指令的一大特色使用有条件执行的指令可减少 程序中跳转指令的数量。对于象a r m 7 这一类没有跳转预测功能的微处理器来 说,执行一条跳转指令,从流水线的被打断到重新充满,共需3 个时钟周期。因 此如果能合理使用指令的有条件执行这一功能,不仅能够提高代码密度,还能提 高程序的执行速度。下面f 以一段求两数最大公约数的程序为例,说明使用有条件 执行的指令的好处。 用c 语言,该程序可写为: i n tg o d ( i n ta ,i n tb ) w h i l e ( a 峰b ) d o i f ( a b ) a = a - b ; e l s e 3 2 位r i s c 微处理器楔的没计 第二章a r m 体系结构特点及指令集简介 b = b a : r e t u n la : 如果只有跳转指令可以有条件执行,则对应的汇编语言程序为 g c d c m p r 0 ,r l b e q e n d b l tl e s s s u br 0 ,r 0 ,r l b g c d l e s s s u b r l ,r l ,r 0 b g c d e n d 如果充分利用每一条a r m 指令都可有条件执行的特点,则上述程序可改写 为: g c d c m p r 0 ,r l s u b g tr 0 ,r 0 ,r l s u b l tr t ,r l ,r 0 b n e g c d 不仅指令数由原来的7 条减少为4 条,而且由于改写后的程序中只有一条跳 转指令,其余均为数据处理类指令( 它们各只需一周期执行) ,因此程序执行速度 也会大大加快。 2 3a r m 7 t d m i 的结构特点 2 - 3 1 三级流水线结构 为降低成本,a r m 7 t d m i 使用冯诺依曼( y o nn e u m a n n ) 结构,数据和指令 共用一个存储器。因此除大多数数据处理类指令可在一个周期内完成外,其他指 令需多个时钟周期来执行处理器内部使用r 三级流水线结构: 取指:从存储器中取得指令,将其放入指令流水寄存器。 译码:指令从流水寄存器中取出译码,产生下一执行周期所需的各个信号。 执行:这一阶段对于不同的指令可长可短,可以只需一个时钟周期,也可 跨越多个时钟j 土j 期。j “义地说,a l u 运算并写回寄存器,存储器数据读写等都 属丁执行阶段 图2 1 ( a ) 观,j jj 执行一系列单周期指令时的流水线时序,图2 - l ( b ) 显示r 既 3 2 位r i s c 微处州器核的没计 第二章a r m 体系结构特点及指令集简介 有单周期指令又有多周期指令时的流水线时序,其中要和存储器打交道的阶段都 以阴影示出。从图中可以看出,为避免控制信号间的冲突,对于当前指令的译码 只有在上一指令处于最后一个执行周期时才可开始。 2 - 3 2 p c 的行为特点 从图2 1 呵以看到,使用上述三级流水线结构会导致程序计数器( p c ) 所指向 的地址超前于当前指令所在的地址。假设当前指令在存储器中的地址是p c 贝0 在 当前指令的第一个执行周期时p c 的值必然为p c + 2 l ( l 为存放一条指令所占用的 地址数) 。事实上,a r m 内部的很多操作( 如跳转发生时保存返回地址) 都利用r p c 的这一特点。利于程序员来说,如果要在指令中使用p c 的值,也必须注意 到这一点。 1a d d 2s t r 3a d d 4a d d 5 a d d 豳2 一l i n ) 攀嗣款指令流水线戳穿 i n s t r u c t i o n t i m e 圈2 一l 瞄多圈期指令流水线时枣 2 - 4a r m 7 t d m i 的操作模式和寄存器组 2 - 4 1 a r m t t d m i 的操作模式 a r m 7 t d m l 共支持七种操作模式: ( 1 ) u s e r 模式( 简写为u s r ) :即用户模式,是正常执行a r m 程序的操作模式 ( 2 ) f 1 q 模式( 简写为f i q ) :用来处理快速中断请求的操作模式 ( 3 ) i r q 模式( 简写为i r q ) :用来处理普通中断请求的操作模式 ( 4 ) s u p e r v i s o r 模式( 简写为s v c ) :目p 监控模式,用于操作系统的一种保护操作模式 ( 5 ) a b o r t 模式( 简写为a b t ) :即无效模式, 写无效, ( 6 ) s y s t e m 模式( 简写为s y s ) :即系统模式 用于处理指令预取无效或存储器数据读 用于操作系统的一种有特权的用户模 3 2 位r i s c 微处j 哩器核的设计第二章a r m 体系结构特点及指令集简介 式。 ( 7 ) u n d e f i n e d 模式( 简写为u n d ) :即未定义模式,用来处理未定义指令。 模式的改变川以通过软件控制( 如执行rs w l 指令后即进入s v c 模式) ,外部 的中断请求或异常事件的发生来完成,大多数的应用程序都是在用户模式下运行 的。除用户模式外的其它六种模式又可统称为特权模式( p r e v i l e g e dm o d e s ) 。 系统当前处于何种操作模式是由当前程序状态寄存器c p s r 中的五位模式标 妙 位决定的。( 这在下文:睁有详细论述) 2 - 4 2 a r m 7 t d m i 的寄存器组 a r m 共有3 7 个3 2 位的寄存器其中的1 6 个是通用寄存器,记为r 0 - r 1 5 r 1 5 即是程序计数器p cr 1 4 可作为连接寄存器,在进行子程序调用时用来保存 返回地址的值。还有一个当前程序状态寄存器( c u r r e n tp r o g r a m s t a t u sr e g i s t e r , 简称为c p s r ) 用来保存一些标志位和状态控制位,除此以外的寄存器都是“备用 寄存器”( b a n k e dr e g i s t e r s ) ,为各种特权操作模式所专用,只有在特权操作模式下才 可以访问。c p s r 的备用寄存器又称作s p s r ( s a v e dp r o g r a m s t a t u sr e g i s t e r ) 。 各种操作模式所能使用的寄存器如图2 2 所示 s y s t e m & u s e r r 0 r 2 r 3 r 4 r 5 r 8 r 9 r 1 1 r 1 2 r 1 3 r 1 4 r 1 5 ( p c i a r ms t a t eg e n e 月lr e g i s t e r sa n dp r o g r a mc o u n t e r f i q s u p e w i s o r a b o r ti r qu n d e f i n e d r o r 1 r 3 r 4 r 5 r 6 r 7 r 8 一f i q r 9 _ f i q r 1 0 _ f i q r 1 1f i q r 1 2 _ f i q r 1 3 _ f i q r 1 4 _ f i q r 1 5 ( p c ) 叵匿 险b a n k e d r e g i s t e r r 0 r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 1 0 r 1 1 r 1 2 r 1 3 _ s v c r 1 4 _ s v c r 1 5 ( p c ) r 0 r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 r g r 1 0 r 1 1 r 1 2 r 1 3 _ a b t r 1 4 _ a b t r 1 5 ( p c ) r 0 r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 9 r 1 0 r 1 1 r 1 2 r 1 3 i r q r 1 4 i r q r 1 5 ( p c ) a r ms t a t ep r o g r a ms t a t u sr e g i s t e r s r 0 r 1 r 3 r 4 r 5 r 6 r 7 r 8 r 9 r 1 0 r 1 1 r 1 2 r 1 3 _ u n d r 1 t u n d r 1 5 ( p c ) 匿匿图图睦型睦剜陵剜随到 f e 2 2 a r m 状态下的寄存器组织形式 由图n ,见,除r o r 7 ,p c 和c p s r 这几个寄存器是所有模式都町使用的外 3 2 位r i s c 微处理器梭的i t i l -第二章a r m 体系结构特点及指令集简介 其它寄存器郁h 有在某个或某几个操作模式下才能使用。另外,f i q 模式使用的备 用寄存器是最多的。这样,从其它模式进入f i q 模式后,不必作很多寄存器现场 的保存工作就町以直接进行中断处理,从而保证r 快速中断请求能够得到快速的 响应。 状态寄存器( 包括c p s r 和s p s r ) f 1 9 各标志位定义如图2 3 所示。 图2 3 :状态寄存器的结构 最高四位称作条件码标志位,它们可以由算术运算或逻辑运算的结果来改 变,同时也_ e f j 来测试一条指令是否满足执行的条件这在2 - 2 2 中已论述过r 。 最低八位称作控制位。其中的i 和f 是中断使能控制位当置为“1 ”时,外部 相应的普通巾断请求或快速中断请求就被禁止。t 是状态位,为“1 ”时表明处于 t h u m b 状态( 即处理器执行的是1 6 位的t h u m b 指令) ,为0 时表明处于a r m 状态( 即处理器执行的是3 2 位的a r m 指令) 。最低四位是模式控制位,它们决定 j 当前处理器处于何种操作模式 模式控制位的取值与对应的操作模式及可使用的寄存器总结于表2 2 中 m 4 0 m o d ev i s i b l ea r ms t a t er e g i s t e r s 10 0 0 0u s e rr 14 一r 0 ,p c ,c p s r 10 0 0 1 f i q r 7 r 0 ,r 1 4 一f i qr 8 q ,p c ,c p s r ,s p s r _ f i q 】0 0 10 i r q r 1 2 r 0 ,r 1 4 一f i q ,r 13 一f i q ,p c ,c p s r ,s p s i l i r q 1 0 0 11 s u p e r v i s o r r 1 2 r 0 ,r 1 4 一s v c ,r 1 3 一s v c ,p c ,c p s r ,s p s r s v c 1 0 1l1a b o r t r 1 2 r 0 ,r 1 4 一a b t ,r 1 3 一a b t ,p c ,c p s r ,s p s r a b t 11 0 1 lu n d e f i n e d r 1 2 r 0 ,r 1 4 一u n d ,r 1 3 _ u n d ,p c ,s p s r _ u n d 1 1 1 1 1 s y s t e m r 1 4 r 0 ,p c c p s r 表2 2 。模式控翻位与操作模式和司甬寄存器 状态寄存器中的剩余2 0 位在a r m 7 t d m i 中没有使用,故作为保留位,以备 将来功能扩展之用, + 据a r m 公司的_ 最新报告,他们匕着手利用这些保留位开发s i m d 犁( 单指令多数据) 计算机的指令。详见【5 】。 3 2 位r i s c 微处理器核的设计第三章微处理器核的数据通道 第三章微处理器核的数据通道 从本章起,将依次介绍所设计的3 2 位微处理器核各主要模块的实现方法。 当然,我们所参照的数据 册 3 详细介绍fa r m 7 t d m i 核所具备的各种功能, 但绝不会将如何实现这些功能的细节都讲述出来。对于这些模块,我们可以按照 自己的理解去设计,只要最终的功能与数据手册中描述的相符就可以厂另外, 由于本文的没汁是面向f p g a 的,考虑到f p g a 实现的可能,有些部分的结构要 作相应的改动和简化。这在以后各章节的相关处都会加以说明。 3 - 1 3 2 位微处理器核的总体结构 按功能划分,系统的结构如图3 - 1 所示。 d o u l 3 0 】d i n l 3 10 1 固3 一3 2 位微处理器孩的系统框图 该框图基本上是按照a r m 7 t d m i 核的结构制定的为便于f p g a 实现,与 外部存储器相连的双向数据总线d 3 1 一o 】换成r 两组单向数据总线d i n 3 1 0 和 d o u t 31 o 。内部所有的三态总线都用多路选择器替代 3 2 位r i s c 徽址理器核的设计第三章微处理器核的数据通道 图中的i n s t r u c t i o np i p e l i n e 其实就是指令暂存器。2 - 3 中已指出, a r m 7 t d m i 在开始执行一条指令时,p c e 2 , 是指向该指令的后面第二条指令。 凶此可以使用一个深度为2 的f i f o 实现指令暂存器,这样,预取指令的深度为 2 ,保证r 上述p c 的行为特点( 注:早期的a r m 实现中的确采用r 预取深度 为2 的设计。但事实上预取深度可以任意选择,甚至可以动态变化,但必须保证 p c 向后偏移两条指令的特点。为r 简化设计,我们就采用预取深度为2 这一显 而易见的方法,) 系统的输人输出端l _ i 如下表所示 名称方向功能 m c l k 输入系统的主频列钟,控制存储器访问及所有内部操作 m c l k x 2 输入 辅助时钟,是m c l k 的二倍频,用来区分m c l k 的不同相位 n r e s e i 输入全局复位f 氐电平有效 d i n 3 10 】 输人数据总线,传送从存储器中读出的指令或数据 a b o n 输入高电平表示存储器访问无效 n f l q 输入快速中断请求 f 氐电平有效 n l r q 输入普通中断请求,低电平有效 a d d r 3 1 0 j 输出存储器访问地址 d o u t 3 10 输f j数据总线,传送要写入存储器的数据 m a s 1 o r输出 指明渎写存储器的数据长度( 字节、半字或字) n r w 输h 1 存储器读写指示,低电平:读操作,高电平:写操作 l o c k + + 输出 “锁定”访存,高电平有效,表示本次访存不允许被打断,其它设备只有在本 次访存结束后才能使用存储器 3 2 a r m 7 t d m l 的数据通道及时序 所谓数据通道,是指从寄存器组中读出操作数,经过桶型移位器( b a r r e ls h i f t e r ) 的移位操作和a l u 的运算,再写回寄存器组这一整条数据流向可见,所有的 数据处理类指令都要使用这一条通道另外,在跳转指令和存储器存取指令中, 地址的计算以及将外部存储器的值送入寄存器的操作也要使用这一通道 在数据通道中,除r 两端的寄存器,桶型移位器和a l u 都是组合电路。由 丁数据处理类指令是在一个时钟周期内完成数据运算的,这就要求这些组合电路 必须在一个时钟周期内有稳定的输出。因此,从桶型移位器的输入到a l u 输出 的延时是整个处理器中非常重要的一个指标,它直接影响到系统时钟m c l k 究竟 能跑多快。 + 弹细定义晴参矧第心章中有关存储器结构的说明 l o c k 仅在执行s w a p 指令时才会有效 3 2 位r i s c 微处理器陵的设计第三章微处理器核的数据通道 a r m 7 t d m i 芯片的外部输入时钟只有一个m c l k ,在内部将其分成r 两相不 交叠时钏,( 见图3 - 2 ) 。芯片内的寄存器都是用电平控制的锁存器实现的。这些锁 存器交替地在时钊第一相位和第二相位打开。整个数据通道的时序如图3 - 3 所 示、 j 厂叩i 厂弋 ;印丽弋: k 一1 c l o c kc y c l e 叫 固3 2a r m 7 t d m i 使甬的两相率交叠时钟 由图3 _ 3 可见,整个数据通道的延时由以下几部分组成: 寄存器渎 时间 移位器延时 a l u 运算延时 寄存器写入的建立时问 两相时钊,之间非交叠的时间 以上介绍的是a r m t t d m i 的数据通道及时序。下面就分别介绍本文的设计 中,利_ = f jf p g a 的结构实现寄存器组、桶型移位器和a l u 的方法由于很多用 于a s i c 的优化结构并不适用于f p g a ,所以设计结果所能达到的时序要求显然 不能和a r m 7 t d m i 核棚比这在文中也会加以说明和比较 a l uo p e r a n d s l a t c h e d 图3 3a r m 7 t d m i 的数据通遵时串 3 3 寄存器组( r e g i s t e rb a n k ) 的设计 如果所有的寄存器都按照a r m t t d m i 的标准采用电平控制的锁存器结构, 综合后会占川f p g a 内大量逻辑单元,很浪费资源,且性能无法保证通过对所 有指令的分析,根据寄存器的数据来源及读写操作的要求,可将它们分为三类: 3 2 位r i s c 微处理器核的设计第三章微处理器核的数据通道 ( 1 ) r 0 r 】4 ( 包括它f f 自9 备用寄存器) :这些寄存器的唯一数据来源就是a l u 总 线。 ( 2 ) p c :它具有a l u 总线、地址寄存器输出和中断矢量表这三个数据来源。 ( 3 ) c p s r 和s p s r :c p s r 要求能够对一些特定位( 女i j :n z c v 标志) 或位段( 如:模 式控制位m 4 o ) 进行读写操作c p s r 和s p s r 的内容还要能互相复制。 针列上述三类寄存器的不同特点,我们使用r 不同的结构来实现。 3 - 3 一】 r 0 r 1 4 及其备打寄存器 a l t e r a 的f p g a 提供r 用于实现片内r a m 的宏模块,这类宏模块综合后只 占用f p g a 片内的存储比特及少量逻辑单元,且功能可靠。由于这类宏模块只有 一个数据输入端,因此很适合用来实现r 0 r 1 4 和它们的备用寄存器 选用的宏模块为l p m r a md p ( f l e x l 0 e 和a c e x l k 等器件支持) 。这是一个 双口r a m ,可同时进行读写。我们采用它同步读写的功能,共需要7 个输人端 门,一个输出端r 丁,如下所示: 端口名韵:方向功能描述 w r e l 1 - 输入 写使能,高电平有效 w r a d d r e s s 输入写地址 w r c l o c k 输入 写同步时钟,上升沿有效 r d e n 输入读使能,高电平有效 r d a d d r e s s 输人读地址 r d c l o c k 输入读同步时钟,上升沿有效 d a t a 输人要写入的数据 q 输出读出的数据 当w r c l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重卡充电站配电系统设计
- 副食品供货配送应急保障手册
- 林场造林项目初步设计
- 熟肉制品加工项目社会稳定风险评估报告
- 高纯度碳酸锂项目技术方案
- 小学科学六年级上册(新教材)教科版教学设计
- 2026年品牌数字化高级设计师招聘笔试试卷 招录11人大全
- 2026中国兽药制剂行业技术进步与市场竞争格局分析报告
- 采购合同履约保证措施
- 2026全渠道零售商服务生态圈构建方案研讨及品牌商数字化转型竞品分析研究
- 认知作战-影响认知域的工具与技术
- 发展心理学 课件全套 雷雳 第1-11章 绪论、发展心理学理论观-生命的尾声
- CCFCSP认证考试历年真题
- 国家能源集团招聘笔试刷题题库
- 教育心理学课件
- 家长会课件:高一新生入学家长会课件
- 人力资源管理专业
- 蓝莓叶黄素背景调查-课件
- 名赋百篇评注
- 公司订单评审表
- 护患关系特点
评论
0/150
提交评论