




已阅读5页,还剩81页未读, 继续免费阅读
(计算机系统结构专业论文)基于arm体系的嵌入式系统开发技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 嵌入式系统的应用领域和复杂程度正在日益发展。嵌入式系统相对于通用计算 机系统具有差异巨大,资源有限,软硬件协同的特点。这些特点使得嵌入式系统应 用开发难度大、效率低。 a r m 、体系作为专为嵌入式系统设计的处理器内核,由于其高性能、低功耗、易 扩展的特点,已经成为嵌入式系统领域应用最广泛的处理器之一。a r m 体系嵌入式 系统开发也面临着如何提高开发效率和质量的问题,尤其是处理器相关和系统软件 这两个与系统平台密切相关的部分。本文主要讨论a r m 体系软件调试功能实现、操 作系统开发和硬件抽象技术。首先,a r m 体系必须提供必要的调试手段,这是各种软 件调试功能的基础。其次,系统软件,尤其是嵌入式操作系统,是a r m 体系嵌入式 系统的重要组成部分,它关系到系统能否达到所需的性能指标和能否使用大量现成 的应用程序。最后,在嵌入式系统中,至少在a r m 体系下使用硬件抽象技术将大大 提高应用程序和系统软件的开发效率。 最后介绍两个有我们开发的基于x s c a l e 体系和s t r o n g a r m 体系的嵌入式系统应 用实例s i t s a n g 和f e n g j i n g 。 关键词:嵌入式系统,嵌入式操作系统,a r m ,r i s c ,i a 3 2 ,软件调试,硬件断点, 软件断点,单步,嵌入式l i n u x ,w i n c e ,体系相关,平台相关,应用程序,驱动程 序,图形界面,q t e m b e d d e d ,硬件抽象。 a b s t r a c t t h ea p p l i c a t i o na r e a sa n dc o m p l e x i t yo ft h ee m b e d d e ds y s t e m sa r eg r o w i n g r a p i d l y c o n t r a c t e dt ot h eg e n e r a lc o m p u t e rs y s t e m s ,t h ee m b e d d e ds y s t e m s h a v es o m es p e c i a lc h a r a c t e r s :n u m e r o u s v a r i e t y ,i i m i t e dr e s o u r c e s ,a n d h a r d w a r e s o f t w a r ec o o p e r a t i o n ,w h i c hm a k et h ee m b e d d e ds y s t e md e v e l o p m e n t m o r ed i f f i c u l ta n dl e s se f f i c i e n t 矗奄哆p r o c e s s o rc o r ed e s i g n e df o re m b e d d e ds y s t e m s ,a r ma r c h it e c t a r eh a s b e c o m eo n eo ft h em o s tp o p u l a re m b e d d e dp r o c e s s o ra r c h i t e c t u r e sd u et oi t s h i 曲p e r f o r m a n c e ,l o wp o w e rc o n s u m p t i o n ,a n df l e x i b l ee x t e n s i o n a l i t y , a r m a r c h i t e c t u r eb a s e de m b e d d e ds y s t e m sd oa l s oh a v et h ep r o b l e m si ni m p r o v i n g t h ee f f i c i e n c ya n dq u a l i t yo fd e v e l o p m e n t s ,e s p e c i a l l yi nt h ea s p e c t so f p r o c e s s o rr e l a t e ds o f t w a r ea n ds y s t e ms o f t w a r e 。 i nt h i s t h e s i s ,t h e s o f t w a r ed e b u gf u n c t i o n a l i t yi m p l e m e n t a t i o n ,o sd e v e l o p m e n t ,a n dh a r d w a r e a b s t r a c t i o nt e c h n o l o g yo fa r ma r c b i t e c t a r ew i l lb es t u d i e d f i r s t l y ,a r m a r c h i t e c t u r em u s tp r o v i d en e c e s s a r yd e b u gm e t h o d s ,w h i c ha r et h eb a s i cf o r o t h e rs o f t w a r ed e b u gf u n c t i o n s s e c o n d l y ,s y s t e ms o f t w a r e ,e s p e c i a ll y e m b e d d e do s ,i sav i t a lc o m p o n e n to fa r 挞a r c h i t e e t u r ee m b e d d e ds y s t e m s j t d e t e r m i n e sw h e t h e rt h es y s t e m sa r ea b l et or e a c ht h ed e s i r e dp e r f o r m a n c e s t a n d a r d sa n da r ep o s s i b l et or e u s el a r g ea m o u n t so fe x i s t e da p p l i c a t i o n s o f t w a r e 。a tl a s t ,i nt h ea r e ao fe m b e d d e ds y s t e m s ,a tl e a s ti nt h es y s t e m s b a s e d0 na r ma r c h i t e c t u r e ,t h eh a r d w a r ea b s t r a c t i o nt e c h n o l o g yw i l li m p r o v e t h ee f f i c i e n c yo fa p p l i c a t i o na n ds y s t e ms o f t w a r ed e v e l o p m e n t a tt h ee n do ft h et h e s i s ,t w op l a t f o r m sd e v e l o p e db ym yg r o u pw i l lb e i n t r o d u c e da se x a m p l e s o n ei sx s c a l eb a s e d 口l a t f o r m 一s i t s a n g t h e o t h e ri ss t r o r l g a r 鳝b a s e d0 n 铲- f e n g j i n g 。 k e yw o r d s :e m b e d d e ds y s t e m ,e m b e d d e do s ,a r m ,r i s c ,i a 3 2 。s o f t a r ed e b u g g i n g ; h a r d w a r eb r e a kp o i n t ,s o f t w a r eb r e a kp o i n t ,s i n g l es t e p ,e m b e d d e dl i n u x , 并i n c g ,矗r c h i t e c t u r er e l a t e d ,p l a t f o r mr e l a t e d ,a p p l i c a t i o n ,d r i v e r ,g u i , q t e m b e d d e d ,h a r d w a r ea b s t r a c t i o n 1 前言 嵌入式系统的历史很长,早期的计算机系统都建为了特定的应用设计的,虽然 姿瓣豹电予技零不韪将它毽集或至g 痖曩系统中去,瞧是这熬诗算投系统麴设诗开发 目标与嵌入式系统是一致的。可是,嵌入式系统投术的发展却不如通用计算机系统 诲系亿。栎准纯,进展小褥多。这主要因为嵌入式系统应粥之闻千差万剐,开发难 度大,成本离。对予嵌入式系统面害,提麓开发效率,降低成本是促进其遂一步发 展的关键。 a r m 体系处溪器是餮嚣褒a 式系统矮域应翅最广泛酶焱入式徽处理器之一。这 是因为a r m 体系是专为嵌入式系统应用设计的,性能高而功耗低。a r m 内核能够灵 活地扩展备种外部设备,幂用s o c 技术提商芯片集成度,从而降低平台复杂性和成 本,提裹殿耀熬霹靠注。a 疑葵系据毒鼓缝译暴,操 乍系绞,委应媛程痔大量戒熟 的软件。 中国裔行设计开发的嵌入式处理器大稍采用s o c 技术,其处理嚣内较大部分采 用a 列体系或与之藏容。为了使缚这些嵌入式处理器能够麓效率撼应用于嵌入式系 统领域,糖于a r m 体系的嵌入式系统开发技术是其中的关键。这涉及到处理器的软 磴律诱试支持,集成开发环境,嵌入式搡律系统瑟应罨程痔开发环境等。 但是,基于a r m 体系的嵌入式系统开发面临着开发难度大、效率低的问题。这 婪问题来源于三个方面: 矗黢1 零系缺乏绞一黪款终璃试支跨 操作系统开发艇杂 模块傀设计翻软件重用永平低 我们j l 尊此进行了一些研究和搽索。针对一些a r m 体系处理器在软件提调试功熊 方面的特点,我们利用开发主机的处理能力,通过软件的方法解决了诸如单步、软 疆薛繇熹鼗潺滚遴售等滴越。 在操作系统开发方面,需要对系统软件进行分层,隔离出与硬件直接有关的体 系相关和平台相关两个层次,并利用操作系统定义的硬件抽象层加速操作系统移植。 为了提高应用程序开发效率,还需要在操作系统上建立了一套软件开发环境。 此外,为了提高发效率,需要对软硬件进行重用和模块化设计。这就要求降低 系统的差异性,硬件抽象变得和软件抽象一样,成为提高软件开发效率的关键技术。 n 为此我们希望将硬件抽象层降低到操作等系统软件阻下。利用x s c a l e 平台s i t s a n g , 我们对更低层次的硬件抽象技术作了初步的应用。 2 嵌入式系统 2 嵌入式系统 嵌入式系统是内嵌于应用系统的计算机系统。汽车上的各种计算机控制器与汽 车的各个功能模块紧密结合在一起的一系列嵌入式系统。在这种场合下的计算机系 统通常只处理特定的任务。例如,根据发动机转速控制输出功率的电子辅助系统只 负责从发动机采集的数据,对它们进行处理,并将动力输出到车轮或者蓄电池。这 个计算机系统通常不会再去管理汽车的其他部分,因而被集成为汽车动力系统的一 个模块。除了嵌入式控制器,手持移动设备是另一类嵌入式系统。它们的功能虽然 不像嵌入式控制器那样专门化,但是由于受到应用场台的限制,这类设备的资源非 常有限。由于各种手持移动设备的功能不同,无论是外观,用户交互手段,还是应 用软件都存在差异。手持移动设备还需要高效率的开发技术,以缩短应市时间,加 快产品更新。总而言之,嵌入式系统足与应用紧密结合的专用计算机系统。 2 1 嵌入式系统的特点 嵌入式系统的应用场合非常广泛,从日用家电,工业控制,到医疗设备领域。 相对于传统计算机系统,嵌入式系统具有以下特征:功能单一,在需求分析或系统 设计的时候能够对处理器性能,存储器容量,i o 带宽等有明确的需求指标:对可 靠性的要求与用户对被嵌入的应用系统的可靠性要求是一致的,通常非常严格;输 入输出设备特殊,往往没有键盘和显示器等与人交互的设备。 嵌入式系统与通用计算机系统相比更专门化,由于应用场合广泛,其软硬件设 计直接从具体应用出发,所以各种嵌入式系统之间差异巨大。此外,嵌入式系统的 资源以是否满足应用需求为设计标准,并受到应用环境的限制,所以比传统计算机 系统少许多。嵌入式系统的软硬件结合非常紧密,每一个嵌入式系统都是一个与众 不同的计算机系统。随着v l s i 技术的发展,软硬件之间的边界变得模糊起来,许多 逻辑功能既可以通过软件实现,也可以方便的通过硬件实现。软硬件功能的划分更 3 嵌入式系统 多的取决于开发效率,成本控制,和技术本身的扩展余地。虽然嵌入式系统各不相 同,但是它们也有一些常见的共性。这就是嵌入式系统的三个主要特点:差异巨大; 资源有限:软硬件协同。 2 2 嵌入式系统处理器 嵌入式系统作为一种计算机系统,其核心是嵌入式处理器。嵌入式处理器大致 分为以下三种: 单片机( m c u ) d s p 嵌入式微处理器( e m p u ) 事实上,嵌入式处理器领域中,这三类处理器之间的界限正在逐渐模糊,往往 一个处理器内集成了m c u 和d s p ,或者嵌入式微处理器和d s p 。而在大规模嵌入式系 统应用中,往往使用多个嵌入式处理器管理不同的模块。 基于这三种嵌入式处理器对嵌入式系统应用的架构有各自不同的特点,下面将 针对它们分别进行分析。 2 2 1 单琦机 单片机又称微控制器单元( m i c r o c o n t r o l l e ru n i t ,m c u ) 。它将一个计算机 系统的大部分组成部分集成在一块集成电路芯片上。芯片除了微处理器内核,还集 成了r o m ,r a m ,系统外部总线,总线控制器,定时器计数器,i o 控制器等。此外 根据不同的用途,不同型号的单片机会集成a d ,d a ,r s 2 3 2 ,u s b ,1 2 c ,l c d 控制 器,e t h e r n e t ,c a n 控制器,f l a s h ,e e p r o m 等外部设备,从而能够构成一个满足应 用需求的计算机系统。 单片机的核心是微处理器内核。目前广泛应用的微处理器内核有8 0 5 1 , m c 6 8 h c 0 5 ,m c b 8 h c 0 8 ,6 8 0 0 0 ,c o l d f i r e 等。其中8 0 5 1 ,6 8 0 0 0 等体系单片机有将 4 嵌入戎系统 :i 厦2 0 年的历史。由于单片机多数应用在控制领域,相对可靠性和兼容性而言,对她 璎器性黥豹要求并不突出。运过支持各静新密现鹃井部设备,这黧体系擎片辘依然 必有强大的生命力。 单片桃的程序和常数存储在r o m 中,r a m 用来存放程序运行时需要的变量,堆 栈秘动态数据。毅为程瘁楚在擎嚣掇芯片生产露露诧到嚣土r c # v i 中豹,这撵程疼被 0 意外损坏的可能性变得很小。但是,这也带来了新的问题。首先这不是传统的冯 诺伊曼计算机;其次,程序在开发时必须保证没裔错误,否则将没有机会邋改。不 富丽喻,最终用予产品的单片机不嚣要任何调试支持,丽好发用的单片机芯片则必 须支持这样的功能。这使得单片机的开发环境与其最终应用的环境是不同的。而且 避需要至少嚣静芯片:一耱翔来开发较件;舅一静稻子实精环境。 2 。2 2d s p d s p ( d i g i t a ls i g n a lp r o c e s s o r ) 燕耪能够实嚣抉速送行数字莛号处理懿嵌 入式处理器。自从1 9 7 8 年第一块d s p 芯片诞生以来,d s p 被广泛应用于通信,语音, 图像,褫频,信母处理领域。对予需要商性能c p u 才能炙现的实辩数字信号处理鹩 废用,爨过使用专用的d s p 芯片能够太蠛降低成本,功耗,和系绞复杂稷壤。 目前许多半鼯体生产厂家都有d s p 产品,常用的有t i 的t m s 3 2 0 系列,a d 的 矗d s p 2 1 x x 耱a d s p 2 1 x x 系凝,m o t o r o l a 酶m c 5 系捌等。 为了实现快速进行数字信号处理的目的,d s p 采取了些特殊的体系结构。d s p 芯片与大多数单片机一样。数据总线与程序总线通常是分开的:麒有流水线操作功 能;具蠢硬传鸯嚣黎器,能够在一今据令髑矮完成娴乘运算;具套套适合数字壤母 处理的指令集。此外,各种d s p 芯片还采用了一烘其它方法提高数字信号处理的性 能。有黧d s p 芯片采用怒缀咯镶络稳流水线,邵不仅数嚣和程序憨线分开,而量蒸 露一条以上的数据总线,这与片内集成的高速r a m 结合起来,能够大幅提高数据器 s 嵌入式系统 吐率:硬件支持循环和跳转指令:支持快速中断处理;某些d s p 芯片还集成了视频、 音频控制器。 下面这个t m s 3 2 0 c 2 5 指令的例子体现了d s p 特殊指令与硬件循环的特点: r p t k2 5 5 m a c d r p t s 指令要求重复执行下一条指令2 5 6 次,硬件循环支持将使得循环开销变得 很小:而m a c d 指令能够在一条指令周期完成l t ,d m o v ,m p y ,和a p a c 指令的功能。 2 2 3 嵌入式微处理器( e m p u ) 嵌入式微处理器与通用计算机系统的c p u 类似,是具有较强处理能力的通用 c p u 。嵌入式微处理器的通用性使其能够适用于各种应用,开发工作主要集中在平台 设计与软件开发,而不再是处理器本身的设计与开发。嵌入式微处理器的处理能力 通常远强于单片机和d s p ,所以它们可以运行复杂的操作系统。事实上,许多嵌入 式微处理器是从成功的通用计算机系统的c p u 改造而来。它们在软件方面有很好的 兼容性,所以一些通用计算机系统使用操作系统也被移植到嵌入式系统中来。通过 使用现成的程序和代码,应用软件开发的效率也得到了很大的提高。 与通用系统的c p u 一样,嵌入式微处理器的核心是处理器内核,目前比较成熟 的嵌入式处理器内核有3 8 6 e x ,m i p s ,p o w e rp c ,和a r m 等。其中3 8 6 和p o w e rp c 本身都是著名的通用计算机系统处理器。为了使这些处理器适用于嵌入式系统,它 们在功耗,可靠性,集成方式等方面都作了优化。作为代价,相同体系的嵌入式微 处理器的处理能力比一般的c p u 弱一些。而诸如m i p s 和a r m 这些专门为嵌入式系统 设计的处理器内核在设计之初久就考虑到这些问题。而相应的嵌入式操作系统也有 类似的情况,例如w i n c e 和嵌入式l i n u x 都是从台式机的操作系统演变而来;而 v x w o r k s ,q n x ,e c o s ,p a l mo s ,和s y m b i a no s 等则是专门根据嵌入式系统应用 需求设计的操作系统。 6 i 眨入式系统 在系统结构方面,嵌入式微处理器更接近于通用计算机系统的处理器,多采用 传统的冯诺伊曼结构。这也使得开发模式更接近通用计算机系统。此外,目前的嵌 入式处理器大多采用r i s c 结构。这主要基于两点原因。首先,r i s c 结构比c i s c 结 构简洁紧凑,有利于简化设计,降低集成度。其次,嵌入式系统应用不需要大量复 杂的运算,因而可以避免需要多指令周期的指令。但是随着嵌入式系统应用的发展, n 许多原来需要大型计算机系统的多媒体数据处理开始逐渐转向嵌入式系统,这就要 求嵌入式微处理器也能够提供相应的硬件指令支持。因而r i s c 处理器中逐渐增加了 乘法器,甚至d s p 。r i s c 和c i s c 之间的界限也被逐渐打破。 总的来说嵌入式微处理器是一类适用于嵌入式系统的c p u 。采用嵌入式微处理 器的嵌入式系统更接近于通用计算机系统。这一类嵌入式系统将在手持移动设备, 网络设备,和其它需要复杂处理的应用等方面得到广泛的使用。本文讨论的a r m 体 系处理器也属于这个种类。 2 3 嵌入式系统的一般开发方式 嵌入式系统应用都是专用的计算机系统,所以系统开发包含了硬件和软件两个 部分。对于某些功能特殊,批量大,成本要求高的系统,开发还包括专用芯片开发。 一般情况下嵌入式系统开发包括三个步骤: 需求分析 硬件设计与实现 软件设计与实现 从项目管理角度出发,嵌入式系统开发通常采用瀑布模型和v 字并行模型。 7 捷入式系统 图2 - 1 瀑布模型和v 字并行模型 瀑布模烈在需求分析后先进行硬 牛设计调试,等列硬件稳定以后再设计调试软 件。软件开发完全依赖硬件开发的结果。对于规模较小的嵌入式系统或者在成熟的 逶簿平台上嚣发瘟瘸较多采耀瀑毒模毽。 v 字并行模型的软硬件歼发是平行展开的。需求分析定义了硬件接口以厢,软 硬件就可以同时开发。各部分独立滴试稳定之后再集成调试。这样避免了软件开发 籀疯旋羧爱转调试弱壤嚣,挺裹了整个系绞瓣牙发效率。毽是,错谈霹能发现褥毙 较晚,最终集成调试遇到错误定位豳难。 由于嵌入式系绕虼处理8 力有限,自身不具备支持复杂嚣发的力,所以软件 开发较多采用交叉开发方法,即通过高性能的开发主机完成源程序编辑,编译,格 式转换等工俘,生成霹标霞秘,然瓣对嚣标代码遂行调试。嵌灭式蓉统敦穆潺试静 方法主要分为模拟_ 羊n 仿真两种。 8 i 捉入式系统 模拟是指通过软件模拟器目标机的行为,对生成的目标代码进行调试;仿真则 是由目标机或仿真器在更接近实用环境的条件下运行目标代码,并通过调试接口调 试软件。 模拟调试不需要实际的硬件平台就可以调试程序。模拟器分为处理器模拟器和 平台模拟器。处理器模拟器的模拟级别也各不相同,大致分为三类: o 指令模拟 周期精确模拟 时间精确模拟 指令级模拟器能够模拟处理器对于指令的处理行为,能够给出基于指令内容的 处理器的精确状态。周期精确模拟器能够给出每个时钟周期边界的处理器精确状态。 时间精确模拟器则能够进一步给出个时钟周期内的各个信号的精确状态。 h r m u l a t o r 就是一个能够实现上述三种模拟级别的a r m 体系模拟器。处理器级别模 拟器也是处理器设计实现过程中的重要验证工具。处理器模拟器至少在指令级别上 与目标处理器兼容,所以无论是二进制代码,汇编代码,还是高级语言代码都能够 在模拟器和目标处理器上兼容。 平台模拟器能够模拟系统平台的外部特性,例如输入输出设备,i o 设备,通 讯模块等。平台级模拟器往往并不给出处理器的精确状态,只在c c + + 源代码层面 上实现与嵌入式平台的软件兼容。源代码通过不同的编译工具分别运行在模拟主机 和目标平台上。这种类型的模拟器多用于模拟手持移动设备,如p a l m 系列设备模拟 器,n o k i a 9 2 1 0 模拟器,s y m b i a no s 模拟器,w i n c e 模拟器等。 由于运行与其它体系平台,处理器模拟器所能做到的仅仅是得到处理器的内部 状态,无法得到精确的时间信息。使用处理器模拟器调试程序可以验证程序在逻辑 上的正确性,并且能够得到程序运行时间的量化数据,但是由于没有考虑外围设备 的因素,这些数据与实际情况的差别很大。平台模拟器能够模拟部分i o 功能,但 9 i 眈k 式系统 是它与具体的处理器无关,所以它通常只能验证高级语言代码的正确性,而不能验 证汇编代码的正确性。模拟调试一般用来调试与硬件相关程度较低的代码,或用于 代码的初步调试。 仿真调试需要调试主机与目标平台同时参与,主机提供调试界面,目标机则负 。 责仿真运行程序。两者之间需要建立通讯,目标机还需要提供单步,断点等调试手 段。仿真调试分为两种:远程代理调试和在线仿真。 远程代理调试是在目标平台上驻留个代理程序,由它实现软件调试所需的功 能,并与调试主机交互。调试代理程序具体负责从调试主机接收被调试程序,接受 并实现调试主机发送的调试命令,向主机反映处理器和系统的状态。远程代理调试 主要用于硬件调试功能较弱的处理器,它们必须依赖代理程序才可能实现一些必需 的调试功能,例如a n g e l 。此外,操作系统及以上级别的远程调试也可认为属于这 种类型,例如远程g d b 。 由于对于处理器而言,调试代理程序本身也是一个底层系统程序,它会占用一 些系统资源,如存储器空间,地址空间,中断和异常,以及系统运行的开销。就调 试的目标而言,最终运行的软件是不需要代理程序的,因而调试过程中使用的代理 程序使得调试环境与运行环境有明显的不一致。 在线仿真是嵌入式系统开发最常用的方式。调试模块是处理器或者平台硬件的 一部分,并有自己的通讯接口和调试主机交互。在低速的单片机处理器上,调试模 块由处理器的固件实现,调试用的处理器与正式使用的处理器在内部实现和外部接 口上都有所不同。随着处理器性能的提高和功能的增强,调试模块需要完成更复杂 的工作,既要反映处理器的更多的信号,还不能影响处理器的正常运行状态。这使 得通过修改固件实现调试功能变得非常困难。现在大部分处理器都集成了专门的调 试模块。此外,大量信号的读写在时间和引脚数量上都对调试模块提出了新的要求。 1 0 嵌入式系统 边界扫描和高速审行通讯成为解决这些问题的关键技术。这方面裔一些标准的调试 缓翻,魏m o t o r o l a 静鹜豢诲试模式b d m ( b a c k g r o u n dd e b u gm o d e ) 、j t a g 秘n e x u s ( i e e e - 5 0 0 1i s t o ) 。 在线仿真调试的优点非常明照,它在处理器内部提供了调试手段,使得调试对 系统运行麓影购变褥毙较,j 、。在线傍真熊够在处纛器内核王终不正豢豹揍况f 避孬 调试,并且能够调试诸如快存和流水线等处理器内部状态。在线仿真不仅对于软件 调试菲鬻鲞要,瑟整是灞试整个嵌入式系统平台的爱重要手段。传统懿在线仿真技 术将调试功能全郝固化在处理器内部,这使得调试功能无法扩展。新的在在线仿真 技术将硬件调试模块与调试代理程序结合越来,通过调试模块动态加载调试代理稷 露以黧强谖试珐熊。 3a r m 体系结构及特点 本部分将从a r m 的历史、体系结构、以及a r m 在嵌入式系统应用的特点等,对 a r m 钵系结稳露令篱餮懿奔缨。 3 1 翩的历史 a 嬲体系楚出a d v a n c e dr i s cm a c h i n el t d ,设计豹r i s c 处理器内核i p ( i n t e l l e c t u a lp r o p e r t y ) 。a r m 公司技术核心的前身是a c o r n 小组,a c o r n 于1 9 8 5 年开发了整赛上第一个巍踅r i s c 锾楚壤器。a r m 公司本赛并不垒产笼瑗器芯片,它 只是一个i p 提供商。它向芯片生产商,如a t m e l ,s a m s u n g ,t i ,o k i 等提供a r m 内核的i p 授权,由这撼生产商在此基础上添加各自的扩展,外部设备接1 3 等,形成 应露熬瑾器。嚣嚣夫帮分熬a r m 处理嚣帮是这霉枣类型,铡絮:a t m e l 麴a t 9 1 系列, s m m s u n g 的$ 3 c 系列,t i 的o 姒p 系列等。由于这些处瑰器的内核是统一的,所以它 们在内核层面上互相兼容。i n t e l 公司通过收购的d e c 公司获褥了矗剐内核的授敖, 势在毖基礁土浚诗了与a r m 擐令蓑容懿s t r o n g a k m 和x s c a l e 体系处理器。到县翦为 止,基于a r m 体系内核的嵌入式微处理器在新趔嵌入式微处理器市场中的比例超过 了8 0 。 a 嬲架掏黩诞生至今已经发布了从a p , m v l 到a p 珊v 6 ,共六个版本的处理器内核。 下表是a r m 体系发展裁要事件: 表3 - i 煳体系发胜历史 时丽事锌 1 9 9 1 l m 发布第个嵌入式处理器内核a r m 6 t m 1 9 轫 a l 珏l 发毒a l 疆v 4 律系 1 9 9 3 糊发布嵌入式处理器向核a r m 7 “ t 9 4a r m 发毒针聱| 多爨薄斑趱靛嵌入焱轮蓬器癌竣a r m 7 5 0 0 t m 1 2 1 9 9 5a 蹦发布a r m v 5 体系 1 9 9 5 t h u m b 体系发枣 1 9 9 5 t i 发布第一个t h u m b 内核 1 9 9 5 蠊黼“发毒 1 9 9 6 s t r o n g h r i “发布 1 9 9 7 a r m 9 t d m i 雌布 1 9 9 & i n t e l 授权s t r o n g a r m 体系撒处理嚣“ 1 9 9 8 a 删发推a i n i l 胖t h u m b 2 0 0 0 酬9 2 2 p 发布 2 0 0 la r m 发布 r m v 6 体系 2 0 0 1 a 蕊麓布a r mv f p g - 铲和a r mv f p i o “向量浮点运算协妊理器 2 0 0 2 i n t e l 发布x s c a l e 处理器 图3 - i 聪体系发展时闯 3 2a r m 体系概述 a 蕊体系楚一季中典羹翡r i s c 楚理器体系,其蠢r i s c 掰有翁特征。主黉包括: 一个大规模的,统一的寄存器堆 l o a d s t o r e 指令体系结构 1 3 a r m 体系绱构及特点 简单的地址访问模式 掰番指令统一长度 绝大多数指令在一个指令周期内完成 几乎所有指令都能条件执行 几乎瑟毒攘令都在嗣一掺令蠲期游超a w 窝移馥爨 n 此外,a r m 体系还对r i s c 作了一些加强: - 使用一条l o a d s t o r e 指令能够同时访问当自状态的所有i 藏嗣寄存器 访阔内存擐令都能自动递增或递减寻址寄谨器 在a r m y 3 版本架构之后,为了在保持r i s c 优点的前摊下降低芯片面积,提高代 鹞密度,a r m 发潍了1 6 彼的t h u m b 体系。t h u m b 攒令长度阉定为l s 经,内棱菰章亍辩 将其解确为3 2 饿a r m 指令,这榉t h u m b 体系本质上就是a r m 。目前高端a r m 处理器 都同时支持3 2 能a r m 指令集和1 6 位t h u m b 指令集,以保持软件兼容性。 3 2 1a 强体系酌运行模式和异落 a r m 体系有七种运行模式,分剐是: 翅户竣式 系统模式 管理模式 中止模式 未定义模式 孛瑟i r q 模式 快中断f i q 模式 其中除了用户模式隧外的六种为特税模式,可l 筮访问当前状态寄存耩( c p s r ) 秘存德炊态毒存爨( s p s r ) ,并且愚五秘模式为吴紫模式分别对疲一哥中异常 1 4 a r m 体系结构及特点 ( e x c e p t i o n ) ,当异常发生时,处理器自幼进入相应的运行模式,程序计数器( p c ) 豢囱该舅鬻熬彝爨入口。港阉对发生多令簿鬻,处理器遘入爨先级塞载运幸亍模式。 褒3 - 2a 跏体系昀异常孜其向量 日租优先缀 茹常类型处理器模式异常向最地址优先级 0 复位管理o x o 0 0 0 0 0 0 0l ( 最高) 来定义指令束定义 o x 0 0 0 0 0 0 0 4右 软件中断( s w i )管理o x 0 0 0 0 0 0 0 86 颊取中止( 鞭指令存储器中止) 中止o x 0 0 0 0 0 0 0 c5 数据中止( 数据访湃稃储器中止)中止o x 0 0 0 0 1 02 中断i r q中断i r q0 x 0 0 0 0 0 0 1 8 4 快中断f i q恢中断f i q 0 x 0 0 0 0 0 0 l c3 当处理器进入髯常模式晴,就前获态酌c p s r 值傈存到异常禳式鹃s p s r ,被藉 躜程序的相关地址被保存到异常模式约r 1 4 ( l f ) 。从异常处理宠毕返回被打断的 程序时,需要根据r 1 4 返回被打断程序。进入各种异常模式时r 1 4 的内容略有不同, 返目枝蕊j 篷稍畜醚澍: 表3 - 3a 雕体系异常返回指令 异常娄型异常返回指夸 中断i r q ,快中断f i q ,预取拯令失败中止s u b sp c ,r 1 4 ,9 4 数据中止s u b sp c ,r 1 4 ,t t 8 软件中断米定义指令m 。v sp c r 1 4 与i a 3 2 体系相比,a r m 体系的状态间切换非常简洁,不需要设鬣各种门( g a t e ) , 囊援g d t 秘l d t ,并鼓内存装载t a s k 撼述子,曩一类吴鬻囊嚣一个异常惫鬟受责聪 转到异常处理程膨,并且凼它散转到具体处理代码。由于r i s c 指令的运行时间短而 鼠确定,所以可以通过优化异常处理程序保证及时处理异常。当发生异常差入,郎 a r m 体系结构发特点 在异常处理过程中发生了新的异常,需要由软件保存r 1 4 和s p s r 的内容,返回的时 候也需要软件恢复现场。使用a r m y 6 提供的新指令根据栈指针一次恢复多个寄存器, 能够将异常返回的时钟周期降低到a p 豳i v 5 的l 3 左右。 3 2 ,2 i p , m 寄存器 ,、 a r m 。体系有3 7 个寄存器,分为通用寄存器和状态寄存器两种。在任何运行模式 下至少可以访问1 6 个通用寄存器( r h u 5 ) ,特权模式下还能访问状态寄存器。为 了提高在运行模式之间切换的效率,异常模式各有自己独立的栈寄存器r 1 3 ( s p ) , 联接寄存器r 1 4 ( l r ) 和存储状态寄存器( s p s r ) 。所有寄存器的分布情况见下图: 模式 特权模式 异常模式 用户幕统管理中止米苴= 史 中断饥中断 r 口r 0r 0r dr 0 r lr lr ir l r 2r 2 r 4 r 6 氐r b f i q kr 9 _ f l q r 1 0 r 1 0r 1 0 kr i o f i q 砭1 1 kr l l 一曲 r 1 2r 1 2r 1 2 k ”2 铀 kr 1 3 一s v k r 1 3a b t k r 1 3 一4如r 1 3 一k qk r i 3 6 q r i & k r 1 43 v p k “- t 鞋r 1 4 _ u n dk “4 血k “4 勇 p cp c i p cp c 囤3 - 2 硒寄存器 1 6 a r m 体系结构及特点 t h u m b 状态下每种模式有r o r 7 和r 1 3 ( s p ) ,r 1 4 ( l r ) ,r 1 5 ( p c ) ,c p s r 和s p s r 。它们分别对应a r m 状态下的寄存器一一对应,参见下图: t h u m b 状凼 i m 状态 r or o r l,r i r 2 i r 2 r 3 一 ,r 3 r 4r 4 r 5r 5 r 6,r 6 r 7 i r 7 r 8 r 9 r i o r l l r 1 2 s ps p ( r 1 3 ) l r l r ( r 1 4 ) p cp c ( e 1 5 ) c p s rc p s r s p s rs p s r 图3 - 3t h u m b 与a 寄存器对应关系 3 ,2 3 协处理器 a r m 处理器内核设计的耳标是简洁,以保持r i s c 的优点。对于那些a r m 内核支 持以外的功能,如浮点数运算,内存管理,性能测试等,可以通过协处理器的形式 加以扩充。a 跚在硬件和软件两方面都定义了统一的接口用来扩展协处理器。a r m 最多可以扩展1 6 个协处理器,每个协处理器可以有至多1 6 个寄存器。 硬件实现方面,a r m 定义了四类协处理器接口信号: 时钟和时钟控制信号:m c l k 、n w a i t 、n r e s e t 流水线跟随信号:n m r e q 、s e q 、n t r a n s 、n o p c 、t b i t 应答信号:! n c p i 、c p a 、c p b 数据信号:d 3 1 :0 、d i ne 3 1 :0 、d o u t 3 1 :0 1 7 i l m 体系纠i 构及特点 如果协处理器也使用流水线,则必须与a r m 内核的流水线同步,因此协处理器 需要流水线跟随器( p i p e l i n ef o l l o w e r ) 。 从指令角度出发,a r m 有三类与控制协处理器的指令: c d p 指令,用来使协处理器执行一条协处理器指令。 l d c s t c 指令,用于协处理器的寄存器与存储器之间交换数据指令。 n m r c m c r 指令,用于协处理器的寄存器与a r m 内核寄存器之间交换数据的 指令。 3 2 4 快存( c a c h e ) a r m 体系广泛使用快存技术来提高存储器访问效率和降低功耗。使用快存能够 降低处理器访问存储器的时间,根据存储器访问的局部性规律,对指令和数据采用 分离的快存资源会进一步提高系统性能。以s a i i i 0 处理器为例,假设关闭快存时处 理器性能为1 ;单独使用指令快存时性能为1 9 5 :单独使用数据快存时性能为1 1 3 ; 而同时使能指令和数据快存时处理器效率为2 5 。 与其它体系处理器相比,a r m 体系为了在性能和功耗之间取得平衡,在快存设 计方面有两方面特点。 首先,高端a r m 体系处理器都采用3 2 6 4 路组相联结构。根据统计数据,快存 相联程度从直相联到3 2 6 4 路组相联快存命中率有明显提高,但是相联程度进一步 提高对命中率没有明显影响了。快存命中率高意味着减少了主存访f 7 次数,这将降 低处理器访问主存的带宽,从而降低处理器功耗。这对于嵌入式系统非常重要。 其次,a r m 体系引入了虚拟快存( v i r t u a lc a c h e ) 。为了提高快存命中时间, a r m 体系允许快存对缓存内容根据虚拟地址安排索引。虚拟快存根据m m u 映射的虚 拟地址缓存主存的数据,这样可以避免将虚拟地址映射到物理地址的开销。但是当 进程上下文切换造成虚拟地址映射改变时,处理器需要将快存中的数据全部失效以 1 8 删体系结构及特点 保证快存与主存数据的一致性。为此,a r m 体系还引入了进程标示( p r o c e s si d ) 概念,根据它判断是否需要更新整个快存的数据。这与i a 3 2 为了支持多处理器系统 提供的处理器标示( p r o c e s s o ri d ) 类似。 3 ,2 5 存储器管理 n 随着嵌入式系统应用的发展,存储器容量越来越大,应用程序的复杂程度也越 来越高。在通用计算机系统中广泛使用的虚拟内存技术也被应用于a r m 体系。存储 器管理单元( 删u ) 通过协处理器的方式与a r m 内核协同工作,通常存储器管理单元 协处理器是c p l 5 ,即最后一个协处理器。 + 存储器管理单元主要提供两方面功能: 虚拟地址与物理地址的映射 地址空间的访问保护 为了提高存储器访问效率,快存( c a c h e ) 和写缓冲( w r i t e b u f f e r ) 通常都与 存储器管理单元一起工作。由于a r m 体系的存储器空间和i 0 空间统一编址,所以 对于那些对应i o 设备的地址空间的读写操作不应该使用缓存和写缓冲。为此,a r m 体系的内存管理单元在描述地址空间时通过c ( c a c h a b l i t y ) 和b ( b u f f e r a b 儿i t y ) 两位指出该地址空间是否可被快存或写缓冲缓存。 在地址空间控制粒度方面,a r m 体系结构提供了1 m b 的段,a r m y 4 版本体系结构 的存储器管理单元支持4 k 和6 4 k 两种粒度的页;a r m v 5 版本体系结构还支持l k 大 小的页。与i a 3 2 体系结构相比,a r m 体系的段非常简单,只有固定的长度,不与页 同时使用,可以将其视为粒度更粗的页。使用段模式的优点是一个快表项能够解析 1 m b 的地址空间,适合于大块、线性、属性统一的地址空间。下面是使用段模式方 1 9 式下虚拟地址映射到物理地址的过程 t r a n s l a t i o n t a b l e b a s e a 翻悖锚o f l s t - l e v e l 幽州p t o r r r s t i e v i 圈3 - 4 段模式虚拟地址映射过程 使用页寻址方式需要两级页表。第一级页表描述子除了包含二级页表信息,还 包含域信息:第二级页表描述子则包含了该页的访问权限和物理地址基址。下面是 4 k b 页模式下虚拟地址映射到物理地址的过程: a r m 体系站构及特点 1 h n s 轴t l o n t a b l e 蝻o b 徽焉融毋i 蛳 f i r , 蜕- i e v e i a d d l eo f s e c o n d 4 e v e l 隧3 - 5 斌模式( 4 k b ) 虚拟地址映过程 此外,为了撮高虚拟地址与物理地址映射的效率,快表( t r a n s l a t i o nl o o k a s i d e b u f f e r ) 技术毪被应蘑予a r m 体系楚理器。 下图是一个使能快存系统寻址的结构框图 a r m 体系结构及特点 1 i i i i i i i i i ir l l l l l l l l l l l l ! ! i !i i i i i i i i i ! ! ! g ! ! 鬯 翻3 6c a c h e a b l e 系统寻址抠强 翔莱浃存袋骂缓狰螽中,数爨壹蔹觚浃存或譬缓渖读写;懿暴失效,弼塞c a c h e l i n ef e t c h 硬件访
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物资搬迁协议合同书模板
- 班班通安装劳务合同范本
- 精准扶贫房改造合同范本
- 销售店集体买车合同范本
- 牛肉面合作协议合同范本
- 物业消防水维修合同范本
- 燃气供货合同协议书模板
- 苗木移栽合同协议书样本
- 网签合同撤销协议书范本
- 甲状旁腺切除手术协议书
- 校园文化设计合同范本
- 违规宴请饮酒试题及答案
- 2025科级干部政治理论必考题库与答案
- 2025年河南省南阳市方城县多校中考二模 化学试题(含答案)
- 私人教练健身训练风险免责协议
- JT-T 600-2025 公路用防腐蚀粉末涂料及涂层
- 广西餐安考试试题及答案
- 2025-2030中国先进陶瓷材料行业市场发展趋势与前景展望战略研究报告
- 集采药品培训
- 化工设备操作规程
- 超市生鲜管理制度流程
评论
0/150
提交评论