(电路与系统专业论文)32位嵌入式risc处理器核的vlsi实现.pdf_第1页
(电路与系统专业论文)32位嵌入式risc处理器核的vlsi实现.pdf_第2页
(电路与系统专业论文)32位嵌入式risc处理器核的vlsi实现.pdf_第3页
(电路与系统专业论文)32位嵌入式risc处理器核的vlsi实现.pdf_第4页
(电路与系统专业论文)32位嵌入式risc处理器核的vlsi实现.pdf_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

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

文档简介

3 2 位嵌入式r i s c 处理器核的v l s i 实现 摘要 摘要 随着i c 制造技术的高速发展,嵌入式系统的应用越来越广。应用范围包括了从高性能的 s o c 到个人数字助理和移动电话的各个领域。作为嵌入式系统的核一e l , ,嵌入式微处理器的优劣 直接决定了整个系统的性能。由a r m 公司提供的开放式a r m 处理器结构已经得到了全世界许 多i c 生产厂家,诸如德州仪器,索尼。飞利浦,国际商用机器,英特尔等公司的承认和接受。 a r m 公司己经成为了全球最大的1 6 3 2 位微处理器的供应商。 我们设计了一个与商用a r m 7 兼容的3 2 位嵌入式r i s c 处理器。在a r m 7 的基础上,对 结构进行了适当的改进以提高性能。传统的冯诺依曼结构被哈佛结构所取代,流水线的深度从 三级增加到了五级。为减少流水线的互锁,提高c p i 的值,还在流水线中引进了特殊的旁路电 路。同时,考虑到d s p 扩展功能的需要将乘法指令的执行时间从四个时钟周期减小到了两个 周期。 另一方面。面向i n t e m e t 应用的嵌入式系统产品一直深受人们的关注。我们在r i s c 处理器 的基础上,增加了对j a v a 功能的支持,使得处理器除本地指令集外,能够额外支持j a v a 卡虚拟 机规范。通过结合市场上成熟的j a v a 处理器,在自己的设计中,采用了一系列硬件加速技术来 提高j a v a 指令的执行效率。 最后,我们使用了两种硬件验证技术:x i l i n x 通用f p g a 板和a p t i x 公司提供的s y s t e m e x p l o r e rm p 3 c f 硬件验证器进行系统硬件验证。在c s m c 0 6 u m 单元库上进行了逻辑综合,并 完成最后的版图设计,采用了c p g a l 3 2 标准封装。整个设计规模约为4 2 万门,处理器速度可 达6 0 m h z 。通过我们的设计,希望能够为自主设计嵌入式微处理器和j a v a 协处理i p 核提供设 计经验和探索成果。 关键词嵌入式系统,流水线,异常,冯诺依曼,哈佛,堆栈,指令折叠,r i s c ,a r m c p i ,m i p s ,j a v a ,m ,j c v m ,c a c h e 3 2 位嵌入式k i s c 处理器核的v l s i 实现a b s t r a c t a b s t r a c t 、矾也t h ef a s td e v e l o p m e n to f i cm a n u f a c t u r i n g t e c h n o l o g y , t h ee m b e d d e ds y s t e m sa r em o r ea n d m o r e w i d e l y u s e d t h e s e a p p l i c a t i o n se n c o m p a s sa w i d e r a n g e f r o m h i g hp e r f o r m a n c e i n s y s t e m o n - c h i p ( s o c ) d e v i c e st h a ts u p p l yn e t w o r k i n g ,i op r o c e s s i n gt op o w e r - c o n s u m p t i o n - l i m i t e d p e r s o n a ld i g i t a la s s i s t a n t sa n dc e l lp h o n e s a s t h ek e y p a r to f a ne m b e d d e d s y s t e m ,t h em i c r o p r o c e s s o r c a nd e f i n i t e l yd e t e r m i n et h ep e r f o r m a n c eo ft h ew h o l es y s t e m t h eo p e na r c h i t c c t u r eo fa r m 。 p r o c e s s o r , p r o v i d e db ya d v a n c e r i s cm a c h i n e sl t d h a sb e e na d m i t t e da n d a d o p t e db ym a n y w o r l d w i d ei cm a n u f a c t o r e ss u c ha st i ,p h i l i p s ,l u c a n t ,s o n y , h p , i b ma n di n t e l t h ea r ml t d i st h e c u r r e n t1 a r g e s t1 6 3 2 b i te m b e d d e d m i c r o p r o c a s s o rp r o v i d e ri nt h ew o r l d w ed e s i g n e da3 2 b i te m b e d d e dr i s cp r o c e s s o rc o m p a t i b l ew i 也c o m r n e m i a la r m 7a n ds o m e a r c h i t e c t u r er e f o r mm e t h o d sh a v eb e e na d o p t e dt oi m p r o v et h ep e r f o r m a n c e t h e c o nn e u m m a n a r c h i t e c t u r ei ss u b s t i t u t e db yh a r v a r dm e m o r ya r c h i t e c t u r ea n dt h ep i p e l i n ed e p t hi si n c r e a s e df r o m t h r e es t a g e st of i v es t a g e s f o r w a r d i n gp a t h sh a v ea l s ob e e ni n t r o d u c e dt ot h ep i p e l i n ei no r d e rt o r e d u c et h en u m b e ro fi n t e r i n c kc a s e sa n dh e n e er e d u c et h ea v e r a g en u m b e ro fc l o c k sp e ri n s t l u c t i o n c p i i no r d e rf o rd s pe x t a n s i o n ,w eu t i l i z e da3 2 3 2m u l t i p l i e , w i t ha na c c n n l n l a t o r , s u p p o r t i n g t w o - c y c l eo u t p u tf o rm u l t i p l yi u s t m c t i o n s 1 1 1a d d i t i o n ,t h e r a p i d l yd e v e l o p i n g i n t e r n c ta p p l i a n c em a r k e ti ss p a r k i n gs i g n i f i c a n ti n t e r e s ti nt h e u s eo fj a v a ,s ot h ee x t e n s i o no fd i r e c t l ye x e c u t i o no fj a v ab y t c c o d ei sp r e s e n t e dh a s e do nt h er i s c d e s i g n n o to n l yt h en a t i v ei u s t m c f i o ns e tb u ta l s ot h ej a v ac a r dv i r t u a lm a c h i n es p e c i t i c a t i o ba r et o t h ec a p a b i l i t yo ft h ep r o c e s s o r c o m b i n e dw i t ht h em a t u r ej a v aa p p l i c a t i o ni nt h es t a t eo fa r t ,w e a d o p t e d as e r i a lo f h a r d w a r e a c c e l e r a t i n gt e c h n o l o g y t oe n h a n c et h ee x e c u t i o n e f f i c i e n c yo f j a v a f i n a l l y , 血ex i l i n xf p g a b o a i da n da p f i xs y s t e me x p l o r e rm p 3 c fa r eb o 血u s e df o rh a r d w a r e v e r i f i c a t i o n w ea l s oi m p l e m e n tt h ec h i po nc s m c0 6 u mc m o s p r o c e s sw i t hc p g a l 3 2p a c k a g e t h et o t a l g a t ec o u n t s i sa b o u t4 2t h o u s a n dg a t e sw i 也t h em a x i m u ms p e e da t6 0m h z i tw i l lp u t f o r w a r dab r o a da p p r o a c ht ot h es i m i l a re m b e d d e dm i c r o p r o c e s s o ra n dj a v ai pd e s i g n k e y w o r d se m b e d d e ds y s t e m ,p i p e f i n e ,e x c e p t i o n v o n i n e u m a n ,h a r v a r d ,s t a c k i n s h m c t i o n f o l d i n g ,r i s c 。a r m ,c p i ,m i p s ,j a v a ,m ,j c v m ,c a c h e 3 2 位鼓入式r l s c 处理器核的v l s i 实现 刚舌 随着网络时代的到来,网络通信、信息安全和信息家电产品将越来越普及,可重用的i p 核和s o c 技术也在这一潮流中得到了重视和发展。嵌入式c p u 作为s o c 芯片的核心,对s o c 设 计非常关键。传统的8 位微处理器由于芯片面积小,开发方便得到了广泛的应用。但由于其 总线宽度仅为8 比特,性能相对较低。而随着无线通信、掌上电脑、网络通信、数字音频播放 器、数字高清晰度电视等应用的不断扩展,系统控制部分越来越复杂,对微控制器的性能要求 也日趋提高,因此3 2 位c p u 核逐步成为市场主流。 信息家电在我国飞速发展,同时,家庭网络也在中国迅速崛起,j a v a 处理芯片将在这两方 面扮演重要角色。一方面s u n 公司正致力于与消费电子设备制造商携手合作,推出基于j a v a 技 术的新型信息家电产品;另一方面,由于j a v a 语言的跨平台和网络特性,绝大多数信息家电厂 商正努力增强对j a v a 的支持。直接将j a v a 技术做在芯片上,作为信息家电设备的核心将是大 势所趋。 本文在对3 2 位嵌入式微处理器进行了深入研究的基础上,设计并实现了一个带有j a v a 扩 展功能的3 2 位处理器核。采用哈佛结构、五级流水线的系统架构,多寄存器、固定长度的指令 集,灵活的优先级中断,优化的条件执行方式,三读两写的寄存器组,两周期的乘加单元和特 殊的旁路电路实现了r i s c 处理器的功能;六级流水线结构,指令折叠译码,环形堆栈c a c h e , 快速的状态切换完成了j a v a 功能的扩展,在硬件加速的基础上,进一步将j a v a 指令处理效率 提高了近4 0 ,而规模仅增大了不到2 0 。 本文主要分为以下部分: 第一章为嵌入式系统概述。主要对嵌入式系统的定义和应用进行了介绍,同时对a r m 微处 理器发展历史和a 姒架构的五种不同版本作了阐述。 第二章为a r m 体系结构。主要包括:a r m 指令集特点;内部存储器结构,比较了基于堆栈, 累加器和通用寄存器组的三种方式的区别:流水线的作用;常用流水线结构;七种异常模式; 特殊的状态寄存器;a r m 系列指令集等。 第三章是我们设计所采用的a i 瑚v 4 指令集的介绍。对跳转、数据处理、乘法、状态寄存器 访问、存储器访问、异常中断指令等六大类指令进行了详述,并就指令的条件执行这一特点加 以阐述。 第四章是我们设计的重点,主要介绍嵌入式微处理器核各个模块的设计和具体电路实现a 3 2 位嵌入式r 】s c 处理器核的v l s i 实现前言 其中p c 设计、流水线冲突处理、异常响应及多周期指令执行是设计中的难点。 第五章对整个设计流程和最后的实现结果作了介绍,包括f p g a 验证和a s i c 实现。 第六章主要介绍了微处理器的j a v a 扩展,设计中采用了硬件实现、扩展流水线、指令折叠、 堆栈c a c h e 等加速手段来提高指令执行速度。 在最后的结论中,对本文设计的微处理器核与商用a r m 7 进行了比较,还将我们采用的j a v a 部分硬件加速手段与市场上成熟的加速方法进行了对比。从中可以看到本文的设计具有相当 好的性能优势。 - 3 2 位靛入式r i s c 处理器核的v l s i 实现 第一章嵌入式系统概述 第一章嵌入式系统概述 1 1 嵌入式系统的应用 嵌入式系统是把计算机直接嵌入到应用系统之中,它融合了计算机软硬件技术、通信技术 和半导体微电子技术,是信息技术的最终产品。嵌入式系统早期主要应用于军事及航空航天等 领域,以后逐步广泛的应用于工业控制、仪袁仪器、汽车电子、通信和家用消费类等领域。随 着i n t e m e t 的发展,新型的嵌入式系统正朝着信息家电i a ( i n f o r m a t i o na p p l i c a t i o n ) 和3 c ( c o m p u t e r 、c o m m u n i c a t i o n 、c o n s u m e r ) 产品方向发展。嵌入式系统是由嵌入式处理器、嵌入 式系统软件和嵌入式应用软件所组成。其中嵌入式微处理器是整个嵌入式系统的核心。 r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) 处理器具有结构简单、处理速度快和处理功能强 等优点,新型的嵌入式系统大多数都采用r i s c 处理器作为核。如a r m 公司的a r m 、h i t a c h i 公司的s h 、m i p s l s il o # c i d t a l d e n y t o s h i b a 公司的m 1 p s 和m o t o r o l a 公司的m c o r n 等都 是新型嵌入式系统常用的r i s c 型处理器。其中a r m 架构的r 1 s c 处理器所占的比重最大。 1 2 a r m 微处理器发展历史 a r m 公司( a d v a n c e dr i s cm a c h i n el i m f f e d ,简称为a r ml i m i t e d ) 正式成立于1 9 9 0 年, 在1 9 8 5 年4 月第一个a r m 原型在英国剑桥的a c o r n 计算机有限公司诞生。随着3 2 位微处 理器的发展及应用需求的增加,基于a r m 核的3 2 位r 1 s c 微处理器以其功耗小、性能强、价 格合理已经占领了8 0 f 拘r i s c 的市场,越来越显示出它在微处理器领域中的优势a a r m 架构自诞生至今,发生了很大的演变,至今已定义了5 种不同的版本 1 v i 版架构 该版架构只在原型机a r m l 出现过,其基本性能如下: 基本的数据处理器指令( 无乘法) ; 字节、半字和字的l o a d s t o r e 指令; 转移指令,包括子程序调用及链接指令: ! ! 堡壁垒壅垦堡竺墼墨矍苎竺兰! ! 壅翌 兰= 兰壁垒壅墨竺塑堕 软件中断指令; 寻址空间:6 4 m 字节。 2 v 2 版架构 该版本架构对v l 版进行了扩展,如a r m 2 与a r m 3 ( v 2 a 版) 架构,增加了以下功能 乘法和乘加指令; 支持协处理器操作指令; 快速中断模式; s w w s w p b 的最基本存储器与寄存器交换指令; 寻址空阃:6 4 m 字节。 3 v 3 版架构 v 3 架构对a r m 体系结构作了较大的改动,把寻址空间增至3 2 位( 4 g 字节) ,增加了当前 翟序状态寄存器c p s r ( c u r r e n tp r o g r a ms t a t u sr e 舒s l e f ) 和程序状态保存寄存器s p s r ( s a v e d p r o g r a ms t a m s r e g i s t e r ) 以便于异常( e x c e p t i o n ) 的处理。增加了中止( a b o r t ) 和未定义( u n d ) 两种处理器模式。a r m 6 就采用该版构架。指令集变化如下: 增加了m r s m s r 指令,以访问新增的c p s r s p s r 寄存器; 增加了从异常处理返回的指令功能。 4 v 4 版架构 v 4 架构是目前应用最广的a r m 体系结构,对v 3 版架构进行了进一步扩充,有的还引进 了1 6 位的t h u m b 指令集,使a r m 使用更加灵活。a r m 7 、a r m 8 、a r m 9 和s t r o n g a r m 都 采用该版架构。指令集增加了以下功能: 符号化和非符号化半字及符号化字节的存,取指令; 增加了1 6 位t h u m b 指令集: 完善了软件中断s w i 指令的功能 处理器系统模式处于特权方式时可使用用户模式的寄存器组: 把一些未使用的指令空间捕获为未定义指令。 5 v 5 版架构 这是最新推出的a r m 架构,在v 4 版基础上增如了一些新的指令,a r m 0 和x s c a e 都采 3 2 位嵌入式r i s c 处理器核的v l s i 实现 第一章嵌入式系统概述 用该版架构,这些新增指令有: 带有链接和交换的转移b l x 指令; 计数前导零c l z 指令: b r k 中断指令; 增加了信号处理指令( v 5 t e 版) : 为协处理器增加更多可选择的指令。 3 2 位嵌入式r i s c 处理器核的v l s i 安现 第二章a r m 体系结构 第二章a r m 体系结构 a r m 系列是一种精简指令集处理器,它具有通常r i s c 处理器的特点: 一个大的通用寄存器堆; 以寄存器一寄存器方式工作,仅l o a d s t o r e 类型指令可以访问内存单元; 简单的内存寻址方式,所有的l o a d s t o r e 指令中内存的访问地址都由通用寄存器和指令中的 立即数决定: 所有指令长度统一,便于译码实现。 除上述r i s c 结构的共性外,a r m 结构还具有自己的特点”: 所有数据处理类型指令的操作数在进入a l u 之前可以进行左移或右移。移位操作和a l u 运算由同一条指令在一个执行周期内完成,提离了指令编码效率和a l u 、桶式移位器等硬 件的利用效率: 采用了自增,自减的寻址方式,优化循环语句; 提供了多寄存器传送指令,大大提高了通用寄存器堆和内存之间的数据交换能力: 所有指令均条件执行,增强了指令的吞吐能力。 在a r m 公司的系列处理器中,a r m 7 系列虽然不是最新的产品,但是由于其具有结构简 单,功能完备,技术成熟等优点,在通讯和消费类电子领域都具有广泛的应用背景。我们以该 型号处理器为例。对a r m 系列处理器结构做一个简单的介绍。 2 1 内部存储结构 内部存储结构是微处理器之间最基本的区别【”通常的微处理器有三种内部存储结构选择: 堆栈,累加器和通用寄存器组。操作数可以显式表示,也可以隐式表示。 在堆栈式的微处理器中,操作数总是隐式的处于栈顶;在累加器式的微处理器中,其中一 个操作数被隐式声明为累加器;在基于通用寄存器组的微处理器中,只具有显式的操作数,它 们或者是一系列的寄存器蛆,或者是内存中的一部分单元。我们一般将指令可以直接访问内存 的结构称为r e g i s t e r - m e m o r y 结构,只能通过l o a d s t o r e 类型指令访问内存的结构称为l o a d - s t o r e 6 3 2 位嵌入式r i s c 处理器核的v l s i 实现第二章a r m 体系结构 或r e g i s t e r - r e g i s t e r 结构。第三种结构,即所有的操作数都位于内存单元中,称为m e m o r y - m e m o r y 结构,迄今为止未曾实现过。 表2 1 显示了一条简单的指令c = a + b 是如何在这三种不同类型的微处理器上实现的。 s t a c ka c c u m u l a t o r r e g i s t e r ( r e g i s t e r - m e m o r y )r e g i s t e r ( 1 0 a d - s t o r e ) p u s h al o a d al o a d r l a l o a d r l ,a p u s h ba d d ba d d r l bl o a d r 2 b a d ds t o r e cs t o r e c r l a d d r 3 ,r i ,r 2 p o p cs t o r e c ,r 3 表2 1指令c = a + b 执行顺序 尽管早期的绝大多数计算机采用了堆栈或累加器结构,但是从1 9 8 0 年后差不多所有的微处 理器都使用l o a d s t o r e 类型的寄存器结构。基于寄存器组( g e n e r a l - p u r p o s er e g i s t e r ,简称g p r ) 的微处理器的迅速发展基于两个因素:一是因为寄存器和c p u 内部其他存储机制一样,速度快 于普通的内存。二是相对于其他内部存储单元来说,寄存器更容易被编译器有效的使用。接下 去我们将基于s t a c k 结构的微处理器和基于g p r 的微处理器进行比较。 基于堆栈的微处理器需要使用多个周期将操作数压入到栈顶,以便处理单元能够从该处取 得操作数,计算完成后,又需要至少一个周期将计算结果从操作数栈项弹出送到存储单元。而 对于基于寄存器组的微处理来说。不需要额外的周期对操作数进行处理,因为g p r 允许直接对 多个寄存器单元的同时访问。这种优势是很明显韵,研究显示【1 1 ,为了完成和g p r 一样的操作, 栈式微处理器必须多使用3 0 以上的时间来对堆栈进行操作。 考虑如下一条a d d 指令 基于g p r 的微处理器 基于堆栈的微处理器 a d d r 3 ,r 2 ,r i l o a dl l o a d2 a d d s t o r e3 表2 2两种不同类型的处理器对a d d 指令的解释 图2 1 表示了上述情况: 3 2 位嵌入式r i s c 处理器核的v l s i 实现 第二章a r m 体系结构 g p r - b a s e d m x c r o p r o c e s s o r s t a c k - b a s e d 1 0 a d _ 1l o a d _ 2 a d ds t o r e3 图2 i两种类型的微处理器上a d d 指令的执行 我们可以看到,当操作数已经位于寄存器组内时,g p r 类型的微处理器只需要一条指令就 能够完成a d d 操作执行完成;相比较而言,堆栈类型的微处理器需要四条指令来完成同一操 作,即使在操作数已经位于堆栈内时,还需要额外的一个周期将两个操作数压入栈顶计算完 成后,将栈顼结果放到栈内指定位置。 a r m 7 是一类基于g p r 的处理器,由3 7 个3 2 位的寄存器组成大寄存器组,在任一特定模 式下,其中的1 6 个是可以使用的,其余的寄存器是为各种异常处理模式所专用,这样就减少了 进入,结束异常处理时保存恢复现场的工作量加快了异常处理的速度。寄存器组为两读一写的 形式,可以同时读出两个相同,不同寄存器的值,写入一个寄存器的值。 1 6 个可供使用的寄存器组中,两个有特殊的作用: l i n kr e g i s t e r :第1 4 个寄存器r 1 4 作为链接寄存器( l i n kr e g i s t e r ,l r ) ,用来保存跳转指 令的下一螽指令。便于从子程序中返回。其余情况下该寄存器与其他的通用寄存器完全等价。 p r o g r a mc o u n t e r :第1 5 个寄存器r 1 5 被用来作为程序计数器( p r o g r a mc o u n t e r t p c ) ,指 向下一条待执行的指令。所有a r m 指令都占用4 个字节( 3 2 位字) 的存储空间,并且是字对 齐的,因此p c 的低两位都是逻辑零,实际上只有3 0 位的有效位。 除上述两个寄存器外,其余1 4 个寄存器没有特殊的硬件用途。它们具体的使用完全根据软 3 2 位嵌入式r s c 处理器核的v l s i 实现 第二章a r m 体系结构 件来决定。例如,软件中通常定义寄存器r 1 3 为堆栈指针( s t a c kp o i n t e r ,s p ) 。 主要的1 6 个寄存器在非特权模式下使用,被称作用户模式寄存器组。用户模式与其他的特 权模式不同,具有以下特点: 用户模式是唯一不用通过产生异常来切换到其他处理器模式的状态; 相对于特权模式来说用户模式对存储器和协处理器的访问较少。 2 2 流水线结构 2 2 1 流水线的作用 流水线是一种实现多指令重叠执行的机制,在现今微处理器设计中,流水线技术成为提高 c p u 速度的一种重要手段。它可以看作是在顺序的指令流当中利用了并行机制,是处理器硬件 实现的范畴,对程序设计人员来说是不可见的。流水线中的每一级都完成指令功能的一部分, 不同的级别同时完成不同指令的不同部分。级与级之间互相连接形成管状结构,指令从流水线 的一端进入,执行之后从另一端输出。在流水线中,每一级的执行时间称为一个机器周期 ( m a c h i n ec y c l e ) 。由于在同一个时间整个流水线的每一级都在运作,因此机器周期取决于流水 线中时延最长的那一级。 流水线设计者的主要任务是平衡流水线的每一级,如果能够合理的划分流水线的各个级别, 理想情况下,流水线处理器中,每条指令的执行时间等于: 韭塑查些塾里登宝塑全垫堑堕间( e q u a t i 。n 2 1 ) 流水线的级数 在这种情况下,流水线速度提高的倍数等于流水线的级数。但是,这种理想状态是无法实 现的,首先,流水线不能完全平衡的划分,其次,流水线会引入某些冲突,导致流水线不能一 直顺序的正常流动。流水线的引入能减少每条指令的平均执行时间可以从如下两个方面来理解, 一方面,我们可以将流水线的作用看作是减少了每条指令执行的时钟周期数( c l o c kc y c l ep e r i n s t r u c t i o n ,c p i ) ;另一方面,我们也可以看作是减少了整个时钟周期。如果从多周期指令角度 出发,引入流水线可以视为减少了c p i ;如果从长指令周期角度出发,则可以看作降低了时钟 周期。 3 2 位嵌入式k i s c 处理器核的v l s i 实现 第二章a r m 体系结构 2 2 2 常用的流水线结构 常用的流水线级别有两级、三级、四级、五级和多级。 i 两级涮( 线 第一级:取指令( i n s t r u c t i o nf e t c h ) :从指令存储器中取出指令; 第二级:执行( e x e c u t e ) :对取出的指令译码,取操作数,运算,写回操作结果。 2 三级流水线 第一级:取指令( i n s t r u c t i o nf e t c h ) :从指令存储器中取出指令: , 第二级:译码( i n s t r u c t i o n d e c o d e ) :对取出的指令译码,产生控制信号: 第三级:执行( e x e c u t e ) :取操作数,运算,写回操作结果。 3 四级流水线 第一级:取指令( i n s t r u c t i o nf e t c h ) :从指令存储器中取出指令; 第二级:译码( i n s t r u c t i o nd e c o d e ) :对取出的指令译码,产生控制信号,取操作数 第三级:执行( e x e c u t e ) :运算: 第四级:写回( w r i t eb a c k ) :写回操作结果。 4 五级流水线 第一级;取指令( i n s t r u c t i o nf e t c h ) :从指令存储器中取出指令; 第二级:译码( i n s t r u c t i o n d e c o d e ) :对取出的指令译码,产生控制信号,取操作数 第三级:执行( e x e c u t e ) :运算; 第四级:内存操作( d a t a m e m o r y ) :内存访阀; 第五级:写回( w r i t eb a c k ) :写回操作结果到寄存器组。 5 多级流水线 流水线在五级以上的统称为多级流水线,也称为超级流水线( s u p c = rp i p e h n e ) a 根据 e q u a t i o n 2 1 流水线级数越多,流水深度越深,理论上处理器速度会越快。但是研究表明1 2 】,当 深度增加到一定程度后,流水线的功能反而会随着深度的增加而降低。在一般情况下,深度的 限度约为1 0 。我们以m i p s r 4 0 0 0 为例,它的各级流水线功能如下【4 】: 第一级:取指令( i n s t r u c t i o n f e t c h f i r s t c y c l e ) :取指令前半周期,选择程序指针( p r o g r a m c o u n t e r , p c ) ,按指令地址访问指令c a c h e ; 0 3 2 位嵌入式r i g c 处理器棱的v l s i 实现 第二章a r m 体系结构 第二级:取指令( i n s t r u c t i o nf e t c hs e c o n dc y c l e ) :取指令后半周期,完成对指令c a c h e 的访问; 第三缀;取操作数( r e g i s t e r f i l ef e t c h ) :指令译码,冲突检测,指令c a c h e 命中判断: 第四级:执行( e x e c u t e ) :有效地址计算,a l u 运算,确定是否符合转移条件并计算转移目标 的地址: 第五级;取数( d a t a f e t c hf i r s tc y c l e ) :取数前半周期。访问数据c a c h e ; 第六级:取数( d a t a f e t c hs e c o n dc y c l e ) :取数后半周期完成对数据c a c h e 的访问; 第七级:核对标签数( t a g c h e e k ) :确定数据c a c h e 是否命中; 、 第八级:写回结果( w r i t eb a c k ) :操作结果写回到寄存器组中。 2 3 异常 a r m 系列一共支持7 种异常相应的每种异常都有一个特权模式与之对应。这7 种异常分 别是: 全局复位( r e s e t ) 快速中断( f a s ti n t e r r u p t ) : 普通中断( n o r m a li n t e r r u p t ) ; 预取指令无效( p r e f e t c h a b o r t ) 数据存储器无效( d a t a a b o r t ) ; 试图执行未定义指令( u n d e t m e d ) ; 软件中断指令,用于对操作系统的调用( s o f t a r ei n t e r r u p t ) 。 当异常发生时,用户模式下的一些通用奇存器被该异常模式所对应的特殊寄存器所取代, 所有的异常模式都有与之相对应的r 1 3 和r 1 4 寄存器。除此之外,快速中断模式下还有更多的 特殊寄存器。相对于其他一些模式,除r 1 3 和r 1 4 外,在异常进入时,它额外保存了r 8 r 1 2 一 共5 个寄存器,因此,进行该狰异常处理时,就不需要对这五个寄存器进行额外的各份和恢复 操作。 除此之外处理器还具有第六种特权模式一一系统模式。它使用用户模式下的寄存器组, 但是可以对一些用户模式下不能访问的资源,诸如某些存储器单元和协处理器进行访问。 异常发生时,处理器执行完当前指令后转到该异常下特定的中断矢量处开始执行异常返 3 2 位嵌入式r i s c 处理器核的v l s i 实现 第二章a r m 体系结构 回时根据备用寄存器中的值恢复现场,从发生异常的地方继续正常指令的执行。具体的异常处 理参见4 1 2 异常模式与中断处理。 2 4 状态寄存器 在a r m 结构中处理器所处的状态信息存储在个特定的寄存嚣孛:当前程序状态寄存器 ( 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 c p s r ) ,它保存了如下信息; 4 位条件标志( n e g a t i v e ,z e r o ,c a r r y ,o v e r f l o w ) : 对于快速中断和普通中断的两位中断屏蔽标志; 5 位标识当前处理器状态位; l 位指示处在a r m 还是t h u m b 状态。 每种异常模式还具有一个特殊的保存程序状态寄存器( s a v e dp r o g r a ms t a t u sr e g i s t e r , s p s r ) ,用于织存异常发生时的c p s r 值。对于c p s r 和s p s r 这两个:发态寄存器有特定的操作 指令。具体信息参见4 1 1 状态寄存器。 2 5 a r m 系列指令集 一般来说a r m 系列的指令集可以分为以下的七大类: 跳转指令; 数据处理指令; 柔法指令: 状态寄存器访问指令; 存储器访问指令; 协处理器指令; 异常中断指令。 所有的指令前都有一个4 位的标志位,只有标志位所标识的条件满足时,该条指令才会执 行。4 位标志位共可以标识1 6 种条件,大致分为如下几类: 相等不相等; 有符号无符号条件下的( , , = : 3 2 位嵌入式p d s c 处理器核的v l s i 实现 第二章a r m 体系结构 4 位标志位各自单独标识一种条件; 绝对执彳j :绝对不执行。 具体的指令集参见第三章a r mv 4 指令集介绍。 3 2 位嵌入式r i s c 处理器核的v l s i 实现第三章a r m v 4 指令集介绍 第三章a r mv 4 指令集介绍 3 1 a r m 指令集特点 在我们的设计中,采用了a r m v 4 的指令系统,它具有通常的r i s c 处理器指令集的以下 特点【2 1 : 所有的指令等长( 3 2 b i t ) ; 只有特殊类型的指令,通常是l o a d s t o r e 类型,才能够访问存储器; 简单的内存寻址方式,支持寄存器和立即数寻址。 除了以上r i s c 指令集的优点,a r mv 4 指令系统还具有如下特点: 所有指令均为条件执行,只有当它们的条件域满足标志寄存器中的标志位时,该指令 才执行; 数据处理指令的第二个操作数在进入a l u 之前可以进行至多3 2 位的移位; 提供6 种乘加指令,操作数可以是有符号数或无符号数,操作结果可以是3 2 位或6 4 位: 提供块数据传送指令l d i v u s t m ,可以用单一指令完成多寄存器的传送。 3 2 a r mv 4 指令集介绍 a r mv 4 指令集从功能上看,可以分为七大类( 该套指令集不支持t h u m b 指令) 3 2 1 跳转指令( b r a n c hi n s t r u c t i o n s ) 指令格式 指令描述: 2 4 位的偏移量左移两位后与程序计数器相加得到跳转后的指令地址。如果l = i ,跳转过程 4 兰堡! 塑! 坚! 些翌堡垫竺坚! 壅翌 苎三兰垒! 坚! 塑全叁坌塑 中,同时需要将跳转指令的下一条指令放入链接寄存器r 1 4 中。这种情况下通常是子程序调用 在调用返回时将r 1 4 的值复制到p c 中即可。 指令汇编格式列表: 表3 ,l跳转指令汇编 3 2 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 ) 指令格式 3 l 2 日2 72 6 2 5 2 42 l2 01 0 1 61 51 2 1 10 指令描述: a r m v 4 一共定义了1 6 种数据处理指令。这类指令的第一操作数是寄存器( r n ) ,第二操 作数是寄存器或立即数( o p e r a n d 2 ) 。通过a l u 可以对i z v i 操作数完成加、减等算术运算和与、 或等逻辑运算。其中,第二个操作数在送入a l u 中进行运算前还可以在桶式移位器中进行左移、 右移等移位操作。当数据处理指令的目的寄存器是程序计数器p c 时,还可以实现跳转功能。 指令汇编格式列表 a n d o p c o d e = 0 0 0 0逻辑与 e o r o p e o d e = 0 0 0 1逻辑异或 s u b o p c o d e , - - - 0 0 1 0 减 r s b o p e o d e = o o t l 反向减 a d d o p c o d e - - o 1 0 0 加 a d c o p c o d e = o l o l带进位加 s b c o p c o d e = 0 1 1 0带借位减 r s c o p e o d e = 0 1 1 1 反向减 t s t o p e o d e = 1 0 0 0逻辑与测试 t e qo p e o d e = 1 0 0 t 逻辑相等测试 c m p o p c o d c = 1 0 1 0 比较 c m n o p c o d e = l o l l反向比较 o r r o p c o d c f f i l l 0 0逻辑或 m o vo p c o d c = 11 0 1移动赋值 b i co p e o d e = 1 1 1 0位清除 m v n o p e o d e = 1 1 1 l 取反移位赋值 3 2 位嵌入式r i s c 处理器核的v l s i 实现 第三章a r m v 4 指令集介绍 表3 2 数据处理指令汇编 3 2 3 乘法指令( m u l t i p l yi n s t r u c t i o n s ) 指令描述: a r m 一共有两种类型的乘法指令:短乘法,结果为3 2 位;长乘法,结果为6 4 位。 上述两类的乘法还支持乘加运算,即乘法的结果还可以和其他寄存器的值相加后再存入目 的寄存器。区别在于对于短乘法,提供累加的值是不同于两个源操作数和目的寄存器的第四 个寄存器;而对于长乘法,提供累加的值就是两个目的寄存器。 指令汇编格式列表 m u lm u l = = 0 0 0乘法 m l am u l = ,0 0 1乘加 u m u l lm u b l 0 0 无符号数乘法 u m l a lm s b l 0 1无符号数乘加 s m u l lm s l 鼍0有符号数乘法 s m l a lm u l ;i i l有符号数乘加 袭3 3跳转指令汇编 3 2 4 状态寄存器访问指令( s t a t u sr e g i s t e ra c c e s si n s t r u c t i o n s ) 指令格式: 1 ) 状态寄存器到通用寄存器传送指令( m r s ) 2 82 72 3 z 22 11 6 1 51 21 1 0 2 ) 通用寄存器到状态寄存器传送指令( m s r ) 1 6 茵式菱_ 叵 3 2 位嵌入式r i s c 处理器核的v l s i 实现 第三章a r m v 4 指令集介绍 这类指令可以将状态寄存器的值复制到通用寄存器中,也可以将通用寄存器中的某些位传 送给状态寄存器的一些标志位。指令i ) 为状态寄存器到通用寄存器的传送指令,r = 0 表示待 传送的是c p s r ;r = 1 表示传送待的是s p s r 。指令2 ) 是通用寄存器到状态寄

温馨提示

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

评论

0/150

提交评论