已阅读5页,还剩74页未读, 继续免费阅读
(计算机软件与理论专业论文)嵌入式非对称多处理器操作系统的构建.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学硕士研究生学位论文 嵌入式非对称多处理器操作系统的构建 摘要 在嵌入式系统飞速发展的今天,非对称多处理器硬件构成的系统具 有广泛的应用前景。但由于目前业界支持嵌入式非对称多处理器结构 的操作系统尚无成熟的低成本产品,导致应用开发周期较长,滞后的 软件系统制约了硬件的飞速发展。因此,构建一个嵌入式非对称多处 理器操作系统的意义是非常重大的。 首先,本文提出了一个嵌入式非对称多处理器操作系统的框架,本 文所提出的操作系统框架综合考虑了硬件平台对操作系统的需求。从 中断机制、任务管理机制、通信机制等几方面人手设计了这个框架。 它既能方便的管理调度整个系统物理上属于不同处理器的硬件资源, 又为程序员提供了便捷的开发环境,同时还保证了整个系统的效率, 即各处理器之间任务的分配、调度、同步等问题。此外,在提出这个 操作系统框架的过程中,我们还详细分析了这个操作系统所适用的硬 件平台,及该操作系统的层次结构以及针对这种硬件结构所必须具备 的一些其它特点。 接下来,在1 m s 3 2 0 v c 5 4 7 1 双核处理器上实现了该操作系统框架。 t m s 3 2 0 v c 5 4 7 1 开发板上的双核处理器分别是a r m 7 t d m i 和d s p 核 v c 5 4 7 1 ,子系统之间通过一块共享内存进行通信,它们拥有的硬件资 太原理工大学硕士研究生学位论文 源完全不同。d s p 处理速度快,功能相对简单;而a r m 处理速度相 对慢些,但功能要丰富的多。本文以a r m 子系统为例说明了该操作 系统在系统调用,中断处理,任务管理,存储管理等特性并进一步分 析了它的引导启动过程。在整个系统的统一调度,尤其是处理器问通 信这一多处理器系统中比较关键的部分,本文也做了细致的考虑和设 计。 最后,在实现了上述操作系统的基础上,本文还利用开发板的资源 特性,设计并实现了个音频采样、播放以及数据传递的实验来验证 操作系统的运行性能。该实验通过音频数据在不同子系统间的传递, 验证了子系统的通信和任务调度、中断机制、系统调用、硬件驱动等 环节。实验结果表明本文所实现的操作系统是正常运行的,本文所提 出的框架也是可行的。 本文的意义不仅在于实现了一个嵌入式非对称多处理器操作系统, 更在于验证了本文所提出的嵌入式非对称多处理器操作系统框架是可 行的,为此类操作系统的发展提供了一个基础和模型。 关键词:嵌入式,非对称多处理器,操作系统,a r m ,d s p 太原理工大学硕士研究生学位论文 b u 。d d 4 ga no p e r a h n gs y s t e m e m b e d d e da s y 心厦e t r y f u l t i p r o c e s s o r a b s t r a c t i nr e c e n ty e a r s ,w h i l et h ee m b e d d e d s y s t e md e v e l o p i n gf l e e t l y , t h e a s y m m e t r ym u l t i - p r o c e s s o r ( a m p ) h a r d w a r ep l a t f o r m sa l s oc o m ef o r t h w i t h o u ta n ys u i t a b l eo s s u p p o r t i n g ,i tt a k e sal o n gt i m et ow o r k o nt h e h a r d w a r e ,a n dc a u s e sh a r d w a r es y s t e m ss t a g n a n c y b a s e do nt h i sp o i n t , w e a i m e da tb u i l d i n ga no sf o ra m p p l a t f o r m d u r i n go u rr e s e a r c h ,w ed i d 0 1 1 1 w o r ki na n a l y z i n gs u c ha l lo s ,b u i l tar e a lo so nt m s 3 2 0 v c 5 4 7 1 , a n da l s ov e r i f i e di tw i t ha l le x p e r i m e n t a tf i r s t ,w ed e s i g n e daf r a m ef o ra m p s y s t e m i tc a nn o to n l ye a s i l y m a n a g ea n du s ee v e r yh a r d w a r er e s o u r c e st h a tc o n n e c t e dt od i f f e r e n t p r o c e s s o r s ,b u ta l s oa c ti nh i g hp e r f o r m a n c e f u r t h e rm o r e ,h e r ew e a l s o e x p l a i nw h a tt y p eo f h a r d w a r ep l a t f o r ma r en e e d e dr u n n i n gs u c ha nf r a m e , t h es t r u c t u r ea n ds o m eo t h e rc h a r a c t e r i s t i c so ft h ef r a m e s e c o n d l y , t oa c t u a l i z et h i so so nt m s 3 2 0 v c 5 4 7 1i sa l s oap a r to fo u r w o r k t h e r ea r et w op r o c e s s o r so nt h i sb o a r d ,a r m 7 t d m io nt h ea r m s u b s y s t e ma n dv c 5 4 7 1o nt h ed s ps u b s y s t e m ,h a v i n gd i f f e r e n tr e s o u r c e s i i i 太原理工大学硕士研究生学位论文 t h e i rc o m m u n i c a t i o n sb a s eo nas h a r e dm e m o r yb l o c k d s pi sf a s t e ri n c o m p u t i n ga n dw i t hf e w e rf u n c t i o n sw h e nc o m p a r e dw i t ha r m w e e x p l a i nh o wt h eo s a c t si ns y s t e mc a l l ,h a n d l i n gi n t e r r u p t ,m a n a g i n gt a s k s , a n dm e m o r ym a n a g e m e n t sa n ds h o wh o wt h es y s t e ms t a r t s a sa n i m p o r t a n tp a r t , t h ec o m m u n i c a t i o n sb e t w e e np r o c e s s o r sa r ea l s o e m p h a t i c a l l yd i s c u s s e d f i n a l l y , a f t e rs u c ha no s i sb u i l tu p ,w eu s ea ne x p e r i m e n tt ot e s ta n d v e r i f yi t t h ee x p e f i r n e n tt r a n s f u rt h ew a v ei m p o r t e df r o md s p s i d et o a r ms i d et os e n dt op c a l lt h e s ea l eu n d e rt h ec o n t r o lo fo u ro s t h e r e s u l ts h o w e du st h a to u ro sr t m sv e r yw e l l ,a n de n c o u r a g e du st oc o n t i n u e o u rw o r kn o to n l yb u i l tu ps u c ha no s ,m o l ei m p o r t a n t , b u i l tu pa b a s e m e n ta n dm o d e lf o rt h i sk i n do f0 s k e yw o r d s :e m b e d d e d ,a s y m m e t r ym u l t i - p r o c e s s o r , o p e r a t i n gs y s t e m , a r m ,d s p i v 声明 y9 7 9 3 8 7 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:盈墅星日期:圣堑望旦盟塑 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) o 签 名:整翼日期:至兰垒变旦壁旦 导师签名:日期: 太原理工大学硕士研究生学位论文 1 1 嵌入式操作系统概述 第一章绪论 嵌入式系统是指嵌入到某些专用系统中的计算机系统。用于嵌入式系统的操 作系统称为嵌入式操作系统。一般而言,嵌入式操作系统有其区别于一般操作系 统的特点,但这些特点并不是嵌入式操作系统必须具备的: 嵌入式操作系统通常有实时要求,尤其是用于控制目的的嵌入式系统时。 许多嵌入式操作系统的内核是“微内核”结构。 许多嵌入式操作系统不支持文件系统,或者支持文件系统只用于设备驱动 而不支持文件存储。 许多嵌入式操作系统不采用存储管理技术,即不采用虚拟存储技术。 许多嵌入式操作系统不划分“系统空间”和“用户空间”。 嵌入式操作系统通常具有较强的可移植性。 常见的商用嵌入式操作系统有:v x w o r k s 嘲,q n x 【3 】p s o s 嗍,w m d o w sc e t 5 1 等; 常见的源代码开放的嵌入式操作系统有:p c o s ,m a c h 嘲,l a c l i n u x 川,r t l i n u x 嘲, a r m _ l i n u x t g l ,t t m e s y sl i n u x l l 伽等。 1 2 本文的出发点 上述这些操作系统,无论是商用还是开源,都已经经过了较长时间的发展, 性能相对稳定,但是却有其历史局限性。 近年来,嵌入式系统作为计算机应用发展的个重要分支,随着计算机整体 技术的飞速进步,嵌入式系统本身的发展同样日新月异。在这种背景下,早期嵌 入式系统“硬件上运行汇编语言应用程序的模式”难以满足实际应用中对复杂硬 件资源管理和可移植性的需要。特别对于类似t m s 3 2 0 v c 5 4 7 1 这样一类 a r m + d s p 的双核嵌入式处理器,用汇编语言编写应用程序简直是难以想象的。 太原理工大学硕士研究生学位论文 解决这一问题的主要方法就是将特定的操作系统移植到嵌入式系统中形成“硬件 + 操作系统+ 高级语言应用程序”的开发模式。 有了操作系统的支持,系统中的应用软件就变得更加易于修改和扩展,并且 程序员在开发应用程序的过程中也不需要考虑过多的硬件特性,从而可以大大的 加快开发速度。然而,在过去若干年的嵌入式系统发展历史中,由于嵌入式系统 应用的局限性,决定了所使用的硬件并不具有非常好的性能,这就给嵌入式操作 系统的使用带来了很大的阻碍。但非常幸运的是,硬件也是在飞速发展的,现在 的嵌入式系统中使用的c p u 普遍具有相对较快的运算速度,而且其外围设备也越 来越完善。也就是说,现在的嵌入式系统中硬件的发展已经为操作系统的引入做 好了一切准备,甚至有某些场合不使用操作系统已经不能满足需求了。 在嵌入式操作系统中,使用比较广泛,源代码开放,适合于做教学研究和扩 展的操作系统目前主要有两个:l a c l i n u x 和i i c o s 一。 由于i - l c l i n u x 继承于l i n u x 的特性,所以系统更加成熟稳定,也更容易进行软 件开发。但是它的实时性特征受到其依时间片轮转原则进行任务调度的限制,不 像o c o s 一利用可剥夺内核的机制确保其实时性。p c o s - i i 作为微内核只提供最 基本的功能,软件开发者必须根据需要添加其它必要的功能,在应用上并不十分 方便。 大型d s p 算法越来越依赖实时操作系统的支持。譬如( 1 7 2 8 的5 0 阶综合滤波 器的参数更新约占全部计算量的4 0 ,需分配在4 帧采样矢量中5 r 另w l i - f :g 。诸如 此类的任务管理加重了算法设计的负担。更加复杂的计算任务可能需要多个d s p 处理器构成系统,而每个d s p 硬件可能并不复杂,构建此类系统的硬件设计相对 简单。而进行多处理器管理从而使用户算法增加对硬件的透明性,则需要操作系 统的支持。此外,基于d s p 的嵌入式设备发展到今天已经大量融入了更多的系统 特征。除通常意义的高速运算应用外,往往带有若干外部设备如键盘、红外端口、 l c d 等。随着互联网的发展,对网络的支持已经成为数字设备必不可少的部分。 特别对于典型的d s p 应用系统,音、视频信息在处理后需要立即传送到网络。引 入p 网络管理必然涉及存储器管理和任务管理等操作系统才可能提供的支持。 太原理工大学硕士研究生学位论文 1 3 本文的目的与意义 本文的目的是为嵌入式非对称多处理器硬件平台设计一种专用的操作系统 ( 嵌入式非对称多处理器操作系统,e m b e d d e da s y m m e t r ym u l t i - p r o c e s s o r s o p e r a t i n gs y s t e m ,e a m p o so e a m p o s 可以为嵌入式非对称多处理器硬件系统提供良好的操作系统级的支 持,从而帮助程序员大大提高应用程序的开发速度和质量,改变目前嵌入式非对 称多处理器系统发展缓慢的现状,促进这一领域的发展。 1 4 本文的主要内容 1 4 1 本文完成的主要工作 根据上文描述的嵌入式非对称多处理器系统的发展现状和前景,开发一种用 于嵌入式非对称多处理器硬件平台的操作系统是有现实意义的。正是基于这一现 实意义,本文展开了对构建这样的一个操作系统的理论研究和实际实现,并通过 简单实验加以检验。具体而言,本文完成了以下工作: 1 分析嵌入式非对称多处理器系统硬件特点及实际应用对操作系统特性的需 求。根据这些特性提出了一个嵌入式操作系统的框架分析。并对这个系统框架做 了基本描述。 2 实现了所提出的这个操作系统。 针对t m s 3 2 0 v c 5 4 7 1 开发板,具体工作分为如下几个部分: 1 ) 对p c o s 进行改造,为其添加了系统调用,并将核心函数封装,便于应 用程序调用。作为子系统使用。 2 ) 完善了操作系统的必要代码。包括存储管理、任务调度、中断管理等。 3 ) 将改造的子系统移植到了开发板的d s p 端 太原理工大学硕士研究生学位论文 4 ) 整合a r m 端的子系统和d s p 端的子系统构成一个完整的嵌入式操作系统, 管理开发板所有的硬件资源。对于使用者来说,此时已经不存在两个独立的予系 统了,开发板全部资源在一个完整的协调的嵌入式操作系统管理之下。 3 为了验证操作系统的运行状况,在这个平台上完成了一个音频采样、播放 及数据传送的实验。 1 4 2 本文的组织 本文主要章节内容安排是这样的: 第一章,绪论。介绍本文的出发点、目的和意义。 第二章,介绍本文的相关背景知识。 第三章,详细描述本文所提出的嵌入式非对称多处理器操作系统。分析该操 作系统的特性:整个操作系统的分析,整个操作系统的结构,操作系统对硬件平 台的要求;操作系统内部的中断机制,系统调用,处理器间通信机制,任务管理 机制,存储器管理系统。 第四章,介绍在t m s 3 2 0 v c 5 4 7 1 开发板上实现的这样一个操作系统( a d o s ) o 着重以a r m 子系统为例介绍了a d o s 中子系统的运行原理和相关代码,又以d s p 子系统中的音频接口为例,说明了a d o s 对硬件资源的驱动。此外还讨论了系统 管理层的特性。包括,系统的初始化、中断机制、系统调用机制、任务调度机制、 存储管理机制,以及两处理器之间的任务管理和通信机制。 第五章,介绍了为验证操作系统运行情况所进行的音频采样播放及数据传递 的实验。本章内容具体包括,对实验目的、原理、环境的介绍,实验方法的分析 以及对实验过程的详细描述,最后根据实验结果,得出了a d o s 的运行状况良好, 从而证明了本文所提出的e a m p o s 框架是可行的。 第六章,本文的总结及对后续研究的展望。 太原理工大学硕士研究生学位论文 2 1 本文的研究基础 第二章背景知识介绍 目前在嵌入式领域对操作系统的使用主要集中在 t c l i n u x 、p c o s - i i 以及一系 列由这两者改造派生出的操作系统。相e e t t c l i n u x 和t t c o s 一1 1 的特点:l a c l i n u x 整个系统更完善,对不同处理器的兼容性也更好,但这些完备的系统特性同时加 大了系统的负担,对于一个特定的嵌入式系统来说往往会引起很多不必要的资源 浪费。i a c l i n u x 本身对实时性的支持不够好,往往应用于对实时性要求相对较低 的场合或者资源足够丰富的硬件平台;观c o s - n ,在实时性方面有突出的表现, 而且对系统资源的要求也很小,对于d s p 硬件系统更是具有得天独厚的优势。【2 l 】 本文选用了l a c o s - i i 作为基础。未经特殊说明,本文所指的l a c o s i i 的版本 为v 2 5 0 。 2 2g c o s - i i 概述 i _ t c o s - l i 是j e a nj l a b r o s s e 在1 9 9 0 年前后编写的个实时操作系统内核。经 过1 0 多年的发展,已经在世界范围内获得了相当的成功。 严格来说,l a c o s 一1 1 只是一个实时操作系统内核,它仅仅包含了任务调度、 任务管理、时间管理和任务问的通信和同步等基本功能,没有提供输入输出管理、 文件系统、网络等额外服务。但由于l a c o s l i 良好的可扩展性和源代码开放,这 些非必须的功能完全可以由用户自己根据需要分别实现。目前,已经出现了基于 p c o s 一的相关应用:包括文件系统( 1 a c f s ) ,图形处理系统( 1 a c g u i ) 、f l a s h l o a d e rp c f l 以及第三方提供的t c p i p 网络协议栈等。 i t c o s 一1 1 的目标是实现一个基于优先级调度的抢占式的实时内核,并在这个 内核之上提供最基本的系统服务,例如信号量、邮箱、消息队列、内存管理、中 断管理等。虽然p c o s 一并不是一个商业的实时操作系统,但p c o s - i i 的稳定性 5 太原理工大学硕士研究生学位论文 却被数百个商业级的应用所验证,其应用领域包括便携式电话、运动控制卡、自 动支付终端、交换机等。1 1 2 2 3t i c o s i i 原理分析 为了更好的了解l a c o s - i i 的工作原理,下面将分为5 个方面介绍t t c o s i i 的 内核执行机制。 2 3 1 任务调度 实时性,在嵌入式系统中是一个很重要的概念。所谓实时性,就是指系统是 否能在要求的时间内得到需要的反馈;所谓实时性系统,就是指在这种系统中, 一个优先级高的任务能够获得立即的、没有延迟的服务,不需要等待其他任何优 先级低的任务,而且在它得到c p u 的使用权后,它可以一直执行到工作结束或是 有更高等级的进程出现为止。可以看出,严格来讲,一个实时性系统未必能提供 系统需要的实时性,而一个非实时性系统也未必不能满足系统需要的实时性。这 方面的差异完全是由硬件的特性和操作系统以及应用程序的效率所决定的。 v c o s - i i 的任务调度是完全基于任务优先级的抢先式调度,也就是高优先级 的任务一旦处于就绪状态,则立即抢占正在运行的低优先级任务的处理器资源。 为了简化系统设计,p c o s 一规定所有的任务的优先级都不同,因此任务的优先 级也同时唯一标示了该任务本身。 任务调度将在以下情况出现时发生: 高优先级的任务因为需要某种临界资源,主动要求挂起,让出处理器,此时 将调度就绪状态的低优先级任务获得执行。这种调度也称为任务级的上下文切换。 高优先级的任务因为时钟节拍到来,在时钟中断的处理程序中,内核发现高 优先级任务获得了执行条件( 例如休眠的时钟到时) ,则在中断态直接切换到高优 先级任务运行。这种调度也称为中断级的上下文切换。 太原理工大学硕士研究生学位论文 这两种调度方式在p c o s i i 的执行过程中非常普遍,一般说来前者大多发生 在系统服务( 例如请求信号量) 中,后者则都是发生在时钟中断的服务程序中。 l u c o s - l l 的调度机制为其实时性提供了保障。 2 3 2 任务管理 l a c o s 一最多可管理6 4 个任务,系统保留了4 个最高优先级的任务和4 个最 低优先级的任务,所以用户可以使用的任务数有5 6 个。 l a c o s i i 提供了任务管理的各种函数调用,包括创建任务、删除任务、改变 任务的优先级、任务挂起和恢复等。 系统初始化时会自动产生两个任务:一个空闲任务,它的优先级最低,该任 务仅仅给个整型变量做累加运算;另一个是统计任务,它的优先级为次低,该 任务负责统计当前c p u 的利用率。 2 3 3 时间管理 i t c o s 的时间管理是通过定时中断来实现的。该定时中断一般每l o m s 或者 l o o m s 发生一次,实际的频率通过用户对硬件系统的定时器编程来决定,中断发 生的时间间隔是固定不变的,该中断也成为一个时钟节拍。 a c o s 一要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相 关的系统函数,例如中断级的任务切换函数、系统时间函数。 2 3 4 任务间通信与同步 对于一个多任务的操作系统来说,任务问的通信和同步是必不可少的。在 v t c o s i i 中提供了4 种同步对象,分别是信号量、邮箱、消息队列和事件。在 i j c o s 一2 5 1 中还提供了互斥锁来解决实时系统的优先级反转问题。 所有这些同步对象都有创建、等待、发送、查询的接口用于实现进程问的通 信和同步。这一部分也是多任务的操作系统必须提供的系统服务,否则任务问的 同步和互斥就无法实现。 太原理工大学硕士研究生学位论文 2 3 5 内存管理 在a n s ic 中可以使用m a l l o c 和f r e e 两卜函数来动态分配和释放内存。但是 在嵌入式实时操作系统中,多次这样的操作会导致内存碎片,而且由于内存管理 算法的原因,m a l l o c 和f r e e 的执行时间也是不确定的。这对于嵌入式领域的应用 非常不利。 为了消除内存碎片和执行时间的不确定性,在p c o s 一中把连续的大块内存 按分区来管理。每个分区中包含整数个大小相同的内存块,但不同分区之间的内 存块大小可以不同。用户需要动态分配内存时,系统选择一个适当的分区,按块 来分配内存。释放内存时将该块放回它以前所属的分区。这样就能有效解决内存 碎片的问题,同时执行时间也是固定的,利于实时性管理。 2 4i j c o s i i 的缺陷 t a c l i n u x 支持多种协议,而g c o s1 t 只是一个单纯的内核,不提供其他附加功 能,甚至不支持系统调用。g c o s 的传统结构和普通的操作系统是不同的,应 该说它更接近应用程序。p c o s 中的任务是和其内核起由外部编译器编译, 再在开发板上运行的,应用程序可以直接调用内核中的函数。由于任务管理方面 的特异性,p c o si i 不需要提供对系统调用的支持,这样它获得了更好的实时性, 但同时也损失了灵活性,另外也不适用于多核处理器系统。 2 5 非对称多处理器系统简介 具有不止一个处理器的系统,称为多处理器系统;而类似t m s 3 2 0 v c 5 4 7 1 这 种d s p + a r m 的具有不同功能、相互独立的处理器的系统称为非对称多处理器系 统。对称多处理器结构是指系统中,所有的c p u 在运行时( 除系统引导和初始化 过程之外) 都是“对称”的,或者说都是“平等”的,没有主次之分,通常物理 上也采用同一种c p i 卜一在这样的系统中,实际上已经没有严格意义上的中央处 理器了。所有的c p u 通过同一条总线共享同一个内存以及所有的外设。为了减少 访问内存的冲突,对称多处理器结构中的各个c p u 通常都有自己的高速缓存。 太原理工大学硕士研究生学位论文 对称式多处理器系统中,系统资源如存储器和磁盘输入输出( i 0 ) 被系 统中的所有微处理器共享,工作负载被均匀地分配到所有可用处理器上,从而避 免对某些特定任务,一些处理器忙不过来,而另一些处理器却闲着。当加入微处 理器时,对所有的任务,对称式多处理器系统的性能都会提高。 运行时,各个c p u 动态的从系统的就绪进程队列中调度进程加以执行。一个 进程在不同的时间中可以在不同的c p u 上运行;中断请求则动态的分配给其中的 某个c p u ,由这个c p u 提供中断服务。除共享内存外,进程间通信手段还有进程 间通信和处理器之间的中断请求。尽管系统中所有的处理器都配备了自己的高速 缓冲存储器,并且都采用相同的时钟脉冲,但是由于指令的长短不一,加上访问 内存时可能会有的冲突以及高速缓冲的使用等因素,一般而言指令的边界是不能 对齐的。因此系统的各个c p u 仍然是在独立、异步的执行指令。 在非对称式多处理器系统中,任务和系统资源由不同的微处理器进行管理。 例如,一个处理器处理i 0 ,而另一个处理器处理网络操作系统任务。非对称式 多处理器系统不进行负载平衡。一个微处理器可能忙碌不堪,而另一个处理器却 可能空闲无事。 显然,在类似这样的非对称多处理器结构中,由于各c p u 具有的不同特性以 及其所控制的外围设备的不同,它们在功能上不能也不应该是平等的,而应该在 整个系统中分担不同的任务。其中有的c p u 负责整体的协调和任务调度,而其他 c p u 则负责各自的具体职责。这样的系统,某种程度上类似传统的冯诺伊曼结 构,但更复杂,因为每个多处理器结构中,处理器的数量以及功能都是不同的。 与单处理器系统相比,多处理器结构的实现必须考虑和解决一些特殊问题。 首先是处理器问的同步和互斥。从宏观上讲,这也是进程问通信的问题,但 是多个处理器的存在使这个问题复杂化了。在单处理器结构中,各个进程看上去 是并行的,但实际上却是串行的,因为在任一个时刻只有一个进程在真正运行。 在这样的系统中,保证进程间的同步和互斥是比较容易的。基本上依靠对临界资 源的互斥操作,也就是对临界资源的操作中途不发生进程调度,而且不产生与所 使用的临界资源有关的中断,就可以保证操作的互斥性。但是在多处理器结构中, 太原理工大学硕士研究生学位论文 由于系统中有多个处理器在独立的运行,即使能在单条指令中完成的操作也有可 能受到干扰。 单处理器结构中进程的同步可以通过信号量控制,而且由于只有一个处理器, 并不存在严格意义上的同步,而对于多处理器结构,由于一般来说进程间的通信 是通过共享内存实现的,只要适当控制进程对共享内存的访问频率,不同c p u 上 运行的进程就可能达到同步的效果。综合来看,多处理器结构对互斥和同步操作 要求的更严格。 另一个问题是高速缓存与内存之问内容的一致性问题。在单处理器结构中, 使用高速缓存的目的仅在于通过提高c p u 取指令和读写数据的速度来改善系统的 性能。高速缓存一般在c p u 内部,有非常高的访问效率。当c p u 读数据时,系 统硬件会根据目标地址判断这部分数据是否在高速缓存中。如果在则“命中”否 则从内存将目标所在的一小块数据装入高速缓存。一旦装入了高速缓存,再要读 取同一缓存的数据时就能在高速缓存中“命中”,因而不需要到内存中去读了。高 速缓存中的内容也会随时间而“老化”,当高速缓存的容量不够时就把最老的内容 丢掉,从而达到周转使用高速缓存空间的目的。 在多处理器结构中情况就更复杂了。因为一个c p u 并不知道别的c p u 会在何 时改变内存的内容。采用高速缓存时的写操作有两种模式,一种称为“穿透”模 式,在这种模式中高速缓存对于写操作忽略,每次都直接写入内存,所以实际上 只是对读操作使用的高速缓存,效率相对较低。另一种称为“回写”模式,写的 时候先写入高速缓存,然后由高速缓存的硬件在周转使用缓冲线时自动写入内存, 或者由软件主动“冲刷”有关的缓冲线。在对称多处理器结构中,高速缓存的作 用比在单处理器结构中更为重要,因为它不但可以提高取指令和读写数据的速度, 还有利于减少多个c p u 在访问内存时的冲突。一般的内存都不允许在同一时间内 受到多个c p o 的访问,所以,在对称多处理器结构中通常每个c p u 都有较大的 高速缓存,从而一旦把高速缓存装满以后,就可以运行相当长的时间而无需经常 读写物理内存。 太原理工大学硕士研究生学位论文 单处理器系统中的d m a 操作都是由设备驱动程序主动的启动的,所以设备驱 动程序知道什么时候应该丢弃哪些缓冲线的内容,什么时候应该冲刷哪些缓冲线 的内容。在对称多处理器结构中,每个c p u 都有可能改变内存中的内容,并且是 异步的改变。就是说,每个c p u 都只知道自己何时会改变内存的内容,但不知道 别的c p u 会在什么时候改变内存的内容,也不知道自己本地的高速缓存中的内容 是否已经与内存中不一致。反之,每个c p u 都可能因为改变了内存的内容而使其 他c p u 的高速缓存变的不一致了。 还有一个问题是针对中断的处理。在单处理器结构中,所有的中断请求都由 同一个c p u 响应和处理。但在多处理器结构中,由于存在多个c p u ,如果使用一 套操作系统进行管理,对于中断就显得非常难以处理。甚至需要某些硬件特性加 以支持。 而在非对称多处理器结构中,各处理器是不同的,而且每个处理器都分别拥 有自己独立的外设,各处理器之间的通信通过共享内存实现。在不同的处理器上, 运行着不同的操作系统,这样可以某种程度上避免某些对称多处理器系统中存在 的问题。在对于共享内存的使用方面,由于每个处理器都有各自独立的内存用以 处理独立的事务,而不同处理器进程间需要进行的通信则可以通过共享内存来实 现。但随着多个操作系统的引入,如何协调各系统问的任务调度、进程调度,如 何更有效的利用硬件资源,这样的问题也必须解决。 2 61 m s 3 2 0 v c 5 4 7 1 开发板简介 本文使用的是开发板是1 1 公司的产品:t m s 3 2 0 v c 5 4 7 1 评估板。其处理器芯 片t m s 3 2 0 v c 5 4 7 1 由t m s 3 2 0 c 5 4 x 的d s p 子系统和a r m 7 t d m 核精简指令集 的微控器( a r m ) 子系统两部分组成。开发板上提供一块共享内存供两部分通信。 两个子系统之间通过这个耦合机制相互作用,数字信号处理器d s p 承担运算密集 型处理,a r m 承担系统的控制和管理任务( 如显示、人机交互等) 。 2 6 1a r m 子系统简介 1 a r m 子系统包括睁j : 太原理工大学硕士研究生学位论文 a r m 7 t d m ir i s c 微控制器核,工作频率4 7 5 m h z 1 6 k 片内s r a m 图2 - 1a r m 端硬件结构图 r i g2 - 1b l o c kd i a g r a me v m 3 2 0 v c 5 4 7 1 ,a r m 7s i d e 以太网接1 3 通用同步收发器( u a r t ) u a r t r d a 红外接口 串行口( s p i ) 通用i o 管脚 - 1 2 c 总线接口 三个计时器其中两个是通用计时器、一个看门狗计时器。 中断处理器 1 2 太原理工大学硕士研究生学位论文 外部存储器支持f l a s h ,s r a m ,s d r a m ,r o m 用于a r m 外设的时钟管理单元 可编程锁相环时钟产生器( p l l ) 2 a r m 核简介1 5 】【1 6 1 1 7 】【1 8 1 1 9 1 2 0 a r m 核采用的是a r m 7 t d m i 内核,a r m 7 t d m i 采用了精简指令结构 ( r i s c ) ,这种指令结构比复杂指令结构( c i s c ) 在指令集上更简单,同时在指 令解码器上也比c i s c 简单。故在指令吞吐量和实时中断响应上比c i s c 性能更优, 适合实时性要求。 a r m 7 t d m i 具有t h u m b 和a r m 两种指令集。t h u m b 指令集是a r m 指 令集的扩展,以a r m 指令集为基础,只有正常a r m 指令的一半,为1 6 位指令 系统,提供了非常高效的指令密度。a r m 7 t d m i 可以同时执行a r m 指令集和 t h u m b 指令集,且它们在同一个地址空问,可以相互混合执行。这样可以调整 代码量和性能,更好的满足应用。 a r m 7 t d m l 支持7 种处理器运行模式: 用户模式:程序正常的运行状态 - 快速中断模式:主要为快速数据传输或通道处理设计 中断模式:用于通用中断操作 监控模式:操作系统的保护模式 终止模式:取数据或指令错误后进人该模式 系统模式:操作系统中有特权的用户模式 未定义模式:当有未定义的指令被执行时进入该模式 除了用户模式和系统模式外,其他5 种模式称为异常模式。模式之间的切换 可以通过软件控制,也可以通过中断方法或异常处理过程进行切换。应用程序发 生异常中断时,处理器进入相应的异常模式。每一种异常模式中都有一组寄存器, 太原理工大学硕士研究生学位论文 供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的 寄存器不被破坏。处理器模式的转换涉及a r m 7 t d m i 内核中的寄存器。 a r m 处理器共有3 7 个寄存器:3 1 个通用寄存器,包括程序计数器( p co 这些寄存器都是3 2 位的。6 个状态寄存器。这些寄存器也是3 2 位的,但只使用其 中的1 2 位。 3 通用输人输出口( g p i o ) v c 5 4 7 1 提供的3 6 个g p i o ( 通用i o ) 端口被分成两组:g p i o ( 1 9 :0 ) , k b g p i o ( 1 5 :0 ) 。该接口共有1 2 个状态腔制寄存器。通过设置内部寄存器的相应 位,可把i o 端口配置成输入或输出模式,还可以设置成正常的g p i o 、k b g p i o 功能或者第二功能。 k b g p i o 是键盘通用输入输出端口。k b g p i o ( 1 5 :8 ) 设置为输入可作为键盘的 行线,k b g p i o ( 7 :0 ) 设置为输出可作为键盘的列线。若列引脚k b g p i o ( 7 :0 ) 的输出 值设为0 ,同时打开行引脚k b g p i o ( 1 5 :8 ) 中断,就可以执行键盘扫描功能。 k b g p i o 管脚的使用方法类似于g p i o 。 2 6 2d s p 子系统简介 1 d s p 子系统主要包括1 1 】: t m s 3 2 0 c 5 4 xd s pc p u 核 d s p 子系统包括7 2 k 字片上r a m ( 1 6 k 字的d a r a m 数据空间。4 0 k 字 的s a r a m 程序空间,1 6 k 字的s a r a m 数据空间) 。没有片内r o m 外部存储器接口,可扩展片外的各种存储器类型。 共享内存接口 两个多通道的缓冲串口( m c b s p s ) 用于时钟产生的可编程锁相环( p l l ) 一个独立的软件可编程硬件计时器 太原理工大学硕士研究生学位论文 一个六通道直接存储器访问( d m a ) 控制器。可以使六个数据块在没有c p u 干预的情况下独立传送。 软件可编程等待状态发生器。只需要通过软件编程就可把外部总线周期扩 展到1 4 个机器周期,以适应较慢的片外存储器和f o 设备。 _ _ 一 e x p s f j l 朗 n t4 l w t 刭 r e 妇 v c 弘“ r f c e _ _ 一 2 d s p 核圈 图2 - 2 v c 5 4 7 t 端硬件结构图 f i g2 - 2b l o c kd i a g r a me v m 3 2 0 v c 5 4 7 1 。v c 5 4 x xs i d e t m s 3 2 0 c 5 4 xd s p ( 简称c 5 4 x ) 是1 6 - b i t 数字信号处理器,运算速度1 0 0 m i p s 。 d s p 采用改进的哈佛结构具有1 条数据总线和3 条程序总线。比起传统冯诺依曼 结构有更高的指令执行速度。它是定点d s p ,不过由于内部集成了一个支持单周 期指令e x p 的专用硬件指数编码器,所以也可执行浮点运算,并可在单周期 内完成乘法运算。高度并行的算术逻辑运算单元a i ,专用硬件逻辑,片内存储 器,片内外设和高度专业化的指令集使得指令执行时的多重流水线结构将指令周 期降低到了最小值,在一个机器周期内完成两个读和一个写操作。 3 d s p 端的中断1 2 3 1 1 2 4 1 1 2 s 1 d s p 由于其应用的专业性,其提供的中断机制也更加具体。 太原理工大学硕士研究生学位论文 5 4 7 1 共有3 0 个中断向量,每个向量占4 个字的空间。 - 使用向量一般用一条跳转指令转到相应中断服务子程序,其余空位用n o p 填充 未使用的向量直接用r e t e 返回,防止意外进入未用中断。 例如时钟中断,如果不使用该中断,则代码为: t i n tbj i n t n o p n o p 而如果要在这个中断被触发时执行某操作,则代码为: _ t i n tbt i n t h a n d l e r n o p n o p 4 音频编解码模块嘲 t m s 3 2 0 v c 5 4 7 1 提供两个高速全双工的多通道缓存串行1 3 ( m c b s p 0 ,m c b s p 1 ) 。它提供了双缓存的发送寄存器和三缓存的接收寄存器,具有全双工的同步或 异步通信功能,允许连续的数据流传输;数据发送和接收有独立可编程的帧同步 信号;能够与工业标准的解码器、模拟接1 2 1 芯片或其它串行a i d 与d a 设备相连; 支持外部时钟输入或内部可编程时钟;每个串行1 3 最多可支持1 2 8 通道的发送和 接收;串行字长度可选,支持u 律a 律编码和反向解码输出。 m c b s p 通过7 个引脚( d x , d r ,c l k x ,c l k r y s x ,f s r ) 与外设接口。d x 和d r 引脚完成与外部设备进行通信时数据的发送和接收,由c l k x ,c l k r , f s x ,f s r 实 现时钟和帧同步的控制。由c l k s 来提供系统时钟。发送数据时,c p u 和d m a 控制器将要发送的数据写到数据发送寄存器d x r ,在f s x 作用下,由d x 引脚输 出。接收数据时,来自d r 引脚的数据在f s r 和c l k 作用下,从数据接收寄存器 d r r 中读出数据。 太原理工大学硕士研究生学位论文 串行口的操作由串行控制寄存器s p c r 和引脚控制寄存器p c r 来决定;接收 控制寄存器r c r 和发送控制寄存器x c r 分别设置接收和发送的各种参数,如帧 长度等 模拟接口芯片( a r c ) 具有高度可编程性,与d s p 的接口设计简单,高性能,低 功耗,较少的外围器件,是当前语音处理的主流产品。 a i c 2 3 有两路模拟输,一路模拟输出通道和一对数字i o 口。和d s p 的通信 由以下几个引脚完成:d o u t 和d i n 分别用于向d s p 发送a d 转换后的数据和 接收d s p 处理后的数据。s c l k 决定a i c 2 3 的数据转换速率。f s 提供数据发送的 帧同步控制信号输出到下一级a i c 2 3 。d s c i 作为直接参数配置模式工作时的串行 输人。由m 0 和m 1 确定f s 信号的模式,如脉冲模式等。m s 设定主从a i c 2 3 。 由m c l k 引脚输入a i c 2 3 工作的主时钟。 太原理工大学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土地换荒地协议书
- 2026-2031中国硅片行业发展趋势及投资前景分析报告
- 2026-2031中国光电鼠标市场全景评估研究报告
- 2025安全生产考试题库(含答案)
- 医院心肺复苏术理论知识比赛试题及答案
- 2025年机关事业单位工勤技能考试职业道德题库附答案
- 药品质量管理制度职责及岗位操作规程培训试卷及答案
- 2025公司企业防洪防汛应急预案演练脚本方案
- 2025年新闻记者职业资格考试题库含答案
- 电子工业版(第3版)教学设计-2023-2024学年中职中职专业课电子信息类71 电子与信息大类
- 特种设备日管控、周排查、月调度管理制度
- MOOC 写作与表达-常熟理工学院 中国大学慕课答案
- 钢结构厂房加固施工方案
- 如何预防错混料
- 电气设备老化机理与寿命评估
- 中国梦英语讲解完美版ok
- 腹腔镜乙状结肠癌根治术护理查房
- 冬季施工防冻措施
- 产品价格管理体系(制度)完整版
- 1.4.1+用空间向量研究直线、平面的位置关系 【知识精讲精研】高二数学 课件(人教A版2019选择性必修第一册)
- 管道开挖安全技术交底
评论
0/150
提交评论