(计算机应用技术专业论文)基于龙芯平台的windows+ce的移植与优化.pdf_第1页
(计算机应用技术专业论文)基于龙芯平台的windows+ce的移植与优化.pdf_第2页
(计算机应用技术专业论文)基于龙芯平台的windows+ce的移植与优化.pdf_第3页
(计算机应用技术专业论文)基于龙芯平台的windows+ce的移植与优化.pdf_第4页
(计算机应用技术专业论文)基于龙芯平台的windows+ce的移植与优化.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于龙芯平台的windows+ce的移植与优化.pdf.pdf 免费下载

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

文档简介

摘要 随着信息技术的发展,嵌入式操作系统的研究与开发已成为新的发展方向。嵌入式 操作系统w i n d o w sc e 以其操作方式简便、界面友好和支持多种文件格式等优点,广泛 应用于嵌入式领域。本文基于龙芯2 e 处理器,实现w i n d o w sc e 在龙芯平台上的移植 和优化。 w i n d o w sc e 移植与优化流程中,b s p ( b o a r ds u p p o r tp a c k a g e ,板级支持包) 的开 发是工作重点,同时,也是本课题研究的主要工作。b s p 是介于硬件平台与w i n d o w sc e 操作系统之间的一层软件系统,是操作系统的一部分。b s p 的主要功能是将w i n d o w sc e 操作系统与硬件平台交互的接口抽象出来,作为单独的一层函数,操作系统访问底层硬 件时不再直接访问硬件平台。b s p 主要由:o e m 抽象层( o e ma b s t r a c t i o nl a y e r ,o a l ) 、 引导程序( b o o tl o a d e r ) 、设备驱动程序及配置文件4 部分构成。开发b s p 的主要工作 是b o o tl o a d e r 与o a l 的设计与实现。w i n d o w sc e 操作系统下b o o tl o a d e r 的基本功 能是初始化硬件平台、加载操作系统映像文件。w i n d o w sc e 操作系统下o a l 的主要 功能是把操作系统内核对硬件的访问功能抽象出来,形成一些接口函数或库。当操作系 统需要访问硬件时,可直接调用这些抽象出来的接口函数或库。在开发环境中编译生成 w i n d o w sc e 操作系统的映像文件,还需编写必要的b i b 、r e g 、s o u r c e 及d i r s 等配 置文件;然后进行平台定制,根据龙芯硬件平台的特点定制操作系统必要的模块;最终 在开发环境中编译、链接生成最终的操作系统映像文件。 本课题结合龙芯2 e 处理器体系结构及w i n d o w sc e 操作系统页式管理的特点,对 龙芯2 e 平台的缓存管理进行了实现与优化。优化后的系统及应用程序整体性能提高了 约2 0 ,基于龙芯2 e 平台缓存功能的实现和优化取得了比较理想的效果。 本文设计实现的w i n d o w sc e 嵌入式操作系统已稳定、高效的运行在龙芯2 e 开发 板上,对于龙芯处理器在嵌入式领域的扩展具有广泛的应用价值和指导意义。 关键宇:w i n d o w sc e ,龙芯,板级支持包,引导程序,0 e n 抽象层 m i g r a t i o na n do p t i m i z a t i o no fw i n d o w sc e o nt h ep l a t f o r mo fl o o n g s o n f e n gd a q i a n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db ya s s o c i a t ep r o f w us h a o g a n g a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , t h er e s e a r c ha n dd e v e l o p m e n to fe m b e d d e d o p e r a t i n gs y s t e mh a sb e c o m et h en e wd f f e c t i o n o w n i n gt h ea d v a n t a g e so fs i m p l eo p e r a t i o n , f r i e n d l y i n t e r f a c ea n ds u p p o r t i n gav a r i e t yo ff i l ef o r m a t s ,t h ee m b e d d e do p e r a t i n gs y s t e mw i n d o w sc eh a sb e e n u s e di ne m b e d d e ds y s t e mf i e l dw i d e l y t h i sp a p e ra c h i e v e st h et r a n s p l a n t a t i o na n do p t i m i z a t i o no f w i n d o w sc eo nl o o n g s o np l a t f o r mb a s e do nt h el o o n g s o n2 ep r o c e s s o r i nt h ep r o c e s so ft h ew i n d o w sc et r a n s p l a n t a t i o na n do p t i m i z a t i o n , d e v e l o p i n gt h eb s p ( b o a r d s u p p o r tp a c k a g e ) i st h ep i v o ta n da l s ot h em a i nw o r ko f t h er e s e a r c ha tt h es a m et i m e t h eb s pi sal a y e r o fs o f t w a r es y s t e mw h i c hi sb e t w e e nt h eh a r d w a r ep l a t f o r ma n dt h ew i n d o w sc eo p e r a t i n gs y s t e m ,a n di s ap a r to f t h eo p e r a t i n gs y s t e m o n eo f t h em a i nf u n c t i o n so f b s pi st oa b s t r a c to u tt h ei n t e r f a c e sw h e r et h e w i n d o w sc eo p e r a t i n gs y s t e mi n t e r a c t sw i t ht h eh a r d w a r ep l a t f o r ma sas i n g l el a y e ro ff u n c t i o n ss ot h a t t h eo p e r a t i n g s y s t e mm a yn o t a c c e s st h eh a r d w a r ep l a t f o r md i r e c t l yw h e na c c e s s i n gt h eb o t t o m h a r d w a r e t h eb s pi sm a i n l yc o m p o s e do f4p a r t s ,t h eo e ma b s t r a c t i o nl a y e r ( o a l ) ,t h eb o o tl o a d e r t h ed e v i c ed r i v e r sa n dt h ec o n f i g u r a t i o nf i l e s t h em a i nt a s ko fd e v e l o p i n gb s pi st h ed e s i g na n d i m p l e m e n t a t i o no ft h eb o o tl o a d e ra n dt h eo a l t h eb a s i cf u n c t i o no fb o o tl o a d e ri nt h ew i n d o w sc e o p e r a t i n gs y s t e mi st oi n i t i a l i z et h eh a r d w a r ep l a t f o r ma n dl o a dt h eo p e r a t i n gs y s t e mi m a g ef i l e s t h em a i n f u n c t i o no fo a li nw i n d o w sc eo p e r a t i n gs y s t e mi st oa b s t r a c to u t t h ew a yt h a tt h eo p e r a t i n gs y s t e m k e r n e la c c e s s e st h eh a r d w a r es oa st of o r man u m b e ro fi n t e r f a c ef u n c t i o n sa n dl i b r a r i e s ,w h i c hc a nb e d i r e c t l yc a l l e dw h e nt h eo p e r a t i n gs y s t e mn e e d st oa c c e s st h eh a r d w a r e t og e n e r a t et h ew i n d o w sc e o p e r a t i n gs y s t e mi m a g ef i l e i n d e v e l o p i n ge n v i r o n m e n tt h r o u g hc o m p i l i n g ,n e e d st ow r i t et h e n e c e s s a r y b i b ,r e gs o u r c ea n dd i r sc o n f i g u r a t i o nf i l e s , t h e nt oc u s t o m i z et h ep l a t f o r m , n e c e s s a r y m o d u l e so ft h eo p e r a t i n gs y s t e ma c c o r d i n gt ot h ef e a t u r e so ft h el o o n g s o n sh a r d w a r ep l a t f o r m , a n d e v e n t u a l l yt og e n e r a t et h ef m a lo p e r a t i n gs y s t e mi m a g ef i l e i i it h ed e v e l o p i n ge n v i r o n m e n tt h r o u g h c o m p i l i n ga n dl i n k i n g c o m b i n e dw i t ht h el o o n g s o n2 ep r o c e s s o ra r c h i t e c t u r ea n dt h ep a g em a n a g e m e n tf e a t u r eo f w i n d o w sc e ,t h i sp a p e ra c h i e v e st h ei m p l e m e n t a t i o na n do p t i m i z a t i o no nt h ep l a t f o r mo fl o o n g s o n2 e p r o c e s s o rc a c h em a n a g e m e n t t h eo v e r a l lp e r f o r m a n c eo ft h eo p t i m i z e ds y s t e ma n da p p l i c a t i o np r o g r a m h a sb e e ni m p r o v e db ya b o u t2 0 a n ds a t i s f a c t o r yr e s u l th a sb e e ng o tb yt h ei m p l e m e n t a t i o na n d o p t i m i z a t i o no fl o o n g s o n2 ep l a t f o r mc a c h em a n a g e m e n t i nt h i sp a p e r , w i n d o w sc ee m b e d d e do p e r a t i n gs y s t e mh a so p e r a t e ds t a b l ya n de f f i c i e n t l y0 nt h e l o o n g s o n2 ed e v e l o pb o a r d , w h i c hh a sw i d ea p p l i c a t i o nv a l u ea n dd i r e c t i v es i g n i f i c a n c ef o re x p a n s i o no f l o o n g s o np r o c e s si ne m b e d d e ds y s t e mf i e l d k e yw o r d s :w i n d o w sc e ,l o o n g s o n , b o a r ds u p p o r tp a c k a g e ,b o o tl o a d e r , o a l 1 1 l 关于学位论文的独创性声明 本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的 成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外, 本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得中国石油 大学( 华东) 或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志 对研究所做的任何贡献均已在论文中作出了明确的说明。 若有不实之处,本人愿意承担相关法律责任。 学位论文作者签名:麦盔杰医 醐溯年 学位论文使用授权书 妒仉日 本人完全同意中国石油大学( 华东) 有权使用本学位论文( 包括但不限于其印刷版 和电子版) ,使用方式包括但不限于:保留学位论文,按规定向国家有关部门( 机构) 送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和 复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他 复制手段保存学位论文。 保密学位论文在解密后的使用授权同上。 学位论文作者签名:左查杰交 指导教师签名:盏兰塑:1 日期 日期 f 月 f 月 h 伽 中国石油大学( 华东) 硕士学位论文 第一章绪论 1 1 课题的提出、研究的背景及意义 近年来,嵌入式技术及产品已越来越多的融入到人们的生活和工作之中。w i n d o w s c e 是微软公司推出的一款功能强大的嵌入式操作系统。基于w i n d o w sc e 的嵌入式产 品,小到手机、p d a 等微型数字化设备,大到智能电器、信息家电等已经得到广泛的 应用。嵌入式操作系统w i n d o w sc e 已越来越多的被开发厂商支持和使用。在龙芯平台 上移植和优化w i n d o w sc e 嵌入式操作系统,将会成为龙芯处理器在嵌入式系统领域的 一个研究方向,具有重要的工程应用价值和意义。 龙芯处理器是我国自主研发具有完全自主知识产权的中央处理器。它具有低功 耗、低成本等特点,在嵌入式、工业控制等领域有着非常广阔的应用前景。龙芯处理器 主要包括三个系列,分别面向嵌入式应用、中低端桌面应用和低端服务器应用。其中龙 芯二号增强型处理器( 简称“龙芯2 e ) 是6 4 位高性能通用处理器,采用9 0 n m 的c m o s 工艺实现,芯片晶体管数目为4 7 0 0 万,芯片面积6 8 0 0 微米x 5 2 0 0 微米,最高工作频 率为1 g h z ,典型工作频率为8 0 0 m h z ,单精度峰值浮点运算速度为8 0 亿次秒,双精 度浮点运算速度为4 0 亿次秒,在1 g h z 主频下s p e cc p u 2 0 0 0 的实测分值达到5 0 0 分, 综合性能已经达到高端奔腾i i i 处理器以及中低端奔腾处理器的水平,而实测功耗为 5 7 瓦。 w i n d o w sc e 的出现与发展,大大降低了嵌入式系统的门槛,提高了工作效率,缩 短了产品开发周期。w i n d o w sc e 操作系统与w i n d o w s 桌面系统的操作方式、用户界面 和文件格式等方面兼容,因此,基于w i n d o w sc e 操作系统开发的产品更容易被用户所 接受。目前,w i n d o w sc e 以其良好的人机界面、丰富可靠的应用程序逐渐为厂家所接 受,在无线通信、工业控制、电子消费类产品中,占有越来越大的市场份额。 目前,龙芯处理器已支持l i n u x 、v x w o r k s 等操作系统,本课题将实现w i n d o w sc e 操作系统在龙芯2 e 平台上的移植和优化,并扩展基于w i n d o w sc e 操作系统的各种开 发工具、应用软件、解决方案在龙芯平台上的应用,这也将极大地丰富龙芯处理器和 w i n d o w sc e 的应用领域,对龙芯处理器的产业化推广有重要的工程应用价值。 第一章绪论 1 2 研究现状 1 2 1 嵌入式系统的发展历程和前景 随着信息技术的发展,嵌入式操作系统的研究和开发已成为新的发展方向。由于嵌 入式系统本身的特点所决定,嵌入式操作系统不可能由某一种体系结构的操作系统所垄 断。w i n d o w sc e 作为主流的嵌入式操作系统之一,在信息、工业等领域已得到了迅猛 的发展。 根据国际电气和电子工程师协会( i e e e ) 的定义,嵌入式系统是“控制、监视或 辅助设备、机器或车间运行的装置 ( a ne m b e d d e ds y s t e mi st h ed e v i c e su s e dt oc o n t r o l , m o n i t o r ,o ra s s i s tt h eo p e r a t i o no fe q u i p m e n t ,m a c h i n e r yo rp l a n t s ) 从2 0 世纪7 0 年代单片机的出现到今天各种嵌入式微处理器及微控制器的广泛引 用,嵌入式系统已有3 0 多年的历史。纵观嵌入式系统的发展历程,大致经历了4 个阶 段:无操作系统的嵌入算法阶段、简单监控式的实时操作系统阶段、通用的嵌入式实时 操作系统阶段和面向i n t e r a c t 的、特定应用的嵌入式操作系统乜1 。目前,嵌入式系统的 发展前景也主要有:家庭信息网络、移动计算设备、网络设备、自动化和测控仪器仪表 及交通电子与嵌入式系统等几个方向。 1 2 2w i n d o w sc e 的发展和现状 w i n d o w sc e1 0 于1 9 9 6 年问世,w i n d o w sc e1 0 是一种基于w i n d o w s9 5 而来的 嵌入式实时操作系统。2 0 0 0 年微软公司将w i n d o w sc e3 0 正式改名为w i n d o w sf o r p o c k e tp c ,简称p o c k e tp c 圆。所谓的p o c k e tp c 就是把p o c k e tw o r d 和p o c k e te x c e l 等 一些日常所需的办公软件的袖珍版本装到了p o c k e tp c 中,同时,w i n d o w sc e3 0 在娱 乐方面的性能做了很大的加强。2 0 0 2 年1 月,微软推出的首个以n e t 为名的嵌入式操 作系统w i n d o w sc e n e t ( 它是w i n d o w sc e3 0 的后续版本) 。2 0 0 6 年1 1 月,微软公司 推出了完全开源的嵌入式系统w i n d o w se m b e d d e dc e6 0 。 作为业内领先的嵌入式操作系统之一,w i n d o w s dc e 将为多种设备构建实时操作系 统,例如:互联网协议( i p ) 机顶盒、全球定位系统( g p s ) 、无线投影仪,以及各种 工业自动化、消费电子以及医疗设备等。 在w i n d o w s 嵌入式操作系统诞生十多年以来,微软将首次在“共享源计划( m i c r o s o f t s h a r e ds o u r c ep r o g r a m ) 中1 0 0 地开放w i n d o w se m b e d d e dc e6 0 内核的源代码。“共 享源计划使得基于龙芯平台的w ”m d o w sc e 的移植和优化研究更加深入和高效。 2 中国石油大学( 华东) 硕士学位论文 1 3 主要工作及目标 1 、研究与课题相关技术,主要包括2 个方面的内容: 首先是对龙芯体系结构及其指令集的学习和研究。基于龙芯体系结构的标准开发板 实现w i n d o w sc e ,需要对龙芯体系结构中的内存管理、缓存管理、中断、t l b 、异常 等知识点有深入的了解。 其次是对w i n d o w sc e 操作系统的体系结构及开发流程进行详细的分析和研究。了 解w i n d o w sc e 的进程、线程、调度、内存管理等基础知识,分析w i n d o w sc e 在龙芯 平台的开发流程及工作重点。 2 、分析w i n d o w sc e 的b s p 开发流程,明确课题的工作重点,首先进行b o o tl o a d e r 的开发。b o o tl o a d e r 的主要功能是初始化硬件平台、加载操作系统映像文件。通过对 比各种b o o tl o a d e r 工作模式的优劣,筛选出适合龙芯2 e 平台的e b o o t ( e t h e m e tb o o t l o a d e r ,以太网引导程序) ,并设计与实现基于龙芯平台的e b o o t 。 3 、o a l 的开发,并进行系统优化,提高w i n d o w sc e 在龙芯2 e 平台上的运行效 率。从功能上讲,o a l 是w i n d o w sc e 操作系统与硬件平台的接口。o a l 把操作系统 内核对硬件的访问功能抽象出来,形成一些接口函数或库。当w i n d o w sc e 访问硬件设 备时,可直接调用这些抽象接口函数或库。在开发环境中实现必要的配置文件,然后编 译、链接生成w i n d o w sc e 映像文件n k b i n 。在后期的调试和开发中,结合龙芯2 e 处 理器体系结构及w i n d o w sc e 操作系统页式管理的特点,对龙芯缓存的四路组相联方案 进行实现和优化。 4 、本文的目标:将嵌入式操作系统w i n d o w sc e 成功移植到龙芯2 e 平台上,并优 化其在龙芯2 e 平台上的运行效率,扩展龙芯处理器的应用领域。 1 4 本文的组织 第一章绪论。主要介绍了本课题的背景及意义、国内外的研究现状、课题的研究 内容、目标以及本文的组织结构; 第二章龙芯2 e 处理器及w i n d o w sc e 体系结构的介绍。本章简单的介绍了龙芯处 理器,特别是龙芯2 e 处理器的体系结构,着重分析了w i n d o w sc e 操作系统的层次体 系结构及进程、线程、内存管理等部分的工作原理。 第三章w i n d o w sc e 开发流程及驱动程序开发。分析w m d o w sc e 的开发流程,找 到w i n d o w sc e 开发的工作重点。详细介绍了w i n d o w sc e 的驱动程序的工作原理,并 3 第一章绪论 以串口驱动开发为例,介绍如何实现流式接口驱动程序。 第四章b s p 开发。开发并实现b s p 中的b o o tl o a d e r 与o a l ,然后编写必要的配 置文件,在开发环境中编译、生成w i n d o w sc e 的映像文件。根据龙芯2 e 处理器体系 结构与w i n d o w sc e 操作系统页式管理的特点,对缓存管理进行了实现与优化,以提高 w i n d o w sc e 在龙芯2 e 平台上的运行效率。 第五章结论。对研究工作进行总结,归纳了研究所取得成果和创新,并给出了有 待进一步研究、实现和解决的问题。 4 中国石油大学( 华东) 硕士学位论文 第二章龙芯2 e 处理器及w in d o w sc e 体系结构 2 1 龙芯2 e 处理器体系结构 2 1 1 龙芯处理器介绍 龙芯处理器是我国自主研发的一款高性能通用微处理器。其主要包括三个系列,龙 芯1 号处理器及其m 系列主要面向嵌入式应用,龙芯2 号超标量处理器及其口系列主 要面向桌面应用,龙芯3 号多核处理器系列主要面向服务器和高性能机应用n 3 。根据应 用的需要,其中部分龙芯2 号也可以面向部分高端嵌入式应用,部分低端龙芯3 号也可 以面向部分桌面应用。 龙芯处理器通过指令级并行性、数据级并行性及线程级并行性来提高性能。龙芯l 号系列微处理器实现了带有静态分支预测和阻塞c a c h e 的单发射、乱序执行流水线;龙 芯2 号系列微处理器实现了带有动态分支预测和非阻塞c a c h e 的超标量四发射、乱序执 行流水线,龙芯2 号系列微处理器还使用浮点数据通路复用技术,实现了定点的单指令 流多数据流指令n 1 ;下一代的龙芯3 号系列微处理器将实现片内多核技术。 2 1 2 龙芯2 e 处理器体系结构概述 龙芯2 e 处理器口1 是一款6 4 位m i p si i i 指令集的通用r i s c 处理器。龙芯2 e 的指 令流水线每个时钟周期取四条指令进行译码,并且动态地发射到五个全流水的功能部件 中。虽然指令在保证依赖关系的前提下进行乱序执行,但是指令的提交还是按照程序原 来的顺序,以保证中断和访存顺序执行。 四发射的超标量结构使得指令流水线中指令和数据相关问题十分突出,龙芯2 e 采 用乱序执行技术和激进的存储系统设计来提高流水线的效率。 乱序执行技术包括寄存器重命名技术、动态调度技术和跳转预测技术。寄存器重命 名解决w a r ( 读后写) 和w a w ( 写后写) 相关,并用于异常和错误跳转预测引起的 精确现场恢复,龙芯2 e 通过6 4 项的物理寄存器堆进行定点和浮点寄存器的重命名。动 态调度根据指令操作数准备好的次序而不是指令在程序中出现的次序来执行指令,减少 了r a w ( 写后读) 相关引起的阻塞,龙芯2 e 有一个1 6 项的定点保留站和一个1 6 项的 浮点保留站用于乱序发射,并通过一个“项的r e o r d e r 队列( 简称r o q ) 实现乱序执 行的指令按照程序的次序提交。跳转预测通过预测跳转指令是否成功跳转来减少由于控 制引起的阻塞,龙芯2 e 使用1 6 项的跳转目标地址缓冲器( b r a n c ht a r g e tb u f f e r ,简称 b t b ) ,2 k 项的跳转历史表( b r a n c hh i s t o r yt a b l e ,简称b h t ) ,9 位的全局历史寄存器 5 第二章龙芯2 e 处理器及w i n d o w sc e 体系结构 ( g l o b a lh i s t i r yr e g i s t o r ,简称g h r ) ,和4 项的返回地址栈( r e t u m a d d r e s ss t a c k ,简 称r a s ) 进行跳转预测。 龙芯2 e 先进的存储系统设计可以有效地提高流水线的效率。龙芯2 e 的一级c a c h e 由6 4 k b 的指令c a c h e 和6 4 k b 的数据c a c h e 组成,片上二级c a c h e 大小为5 1 2 k b ,均 采用四路组相联结构。龙芯2 e 处理器内部集成遵守j e s d 7 9 c 标准的d d r 控制器,加 快了处理器访问内存的速度。龙芯2 e 的t l b 有6 4 项,采用全相联结构,每项可以映 射一个奇页和一个偶页。龙芯2 e 通过2 4 项的访存队列以及8 项的访存失效队列( m i s s q u e u e ) 来动态地解决地址依赖,实现访存操作的乱序执行、非阻塞c a c h e 、取数指令 猜测执行( l o a ds p e c u l a t i o n ) 、写合并( s t o r ef i l lb u f f e r ) 等访存优化技术。 龙芯2 e 有两个定点功能部件和两个浮点功能部件口3 。浮点部件通过浮点指令的t i n t 域的扩展可以执行3 2 位和6 4 位的定点指令,以及8 位和1 6 位的用于媒体加速的s i m d 指令。 龙芯2 e 的基本流水线包括取指、预译码、译码、寄存器重命名、调度、发射、读 寄存器、执行、提交等9 级,每一级流水级包括如下操作: 取指:用程序计数器p c 的值去访问指令c a c h e 和指令t l b ,如果指令c a c h e 和指令t l b 全部命中,则把四条新的指令取到指令寄存器瓜。 预译码:主要对跳转指令进行译码并预测跳转的方向。 译码:把瓜中的四条指令转换成龙芯2 e 的内部指令格式送往寄存器重命名模 块。 寄存器重命名:为逻辑目标寄存器分配一个新的物理寄存器,并将逻辑源寄存 器映射到最近分配给该逻辑寄存器的物理寄存器。 调度:将重命名的指令分配到定点或浮点保留站中等待执行,同时送到r o q 中用于执行后的顺序提交;此外,跳转指令和访存指令还分别被送往跳转队列 和访存队列。 发射:从定点或浮点保留站中为每个功能部件选出一条所有操作数都准备好的 指令;在重命名时操作数没准备好的指令,通过侦听结果总线和f o r w a r d 总线 等待它的操作数准备好。 读寄存器:为发射的指令从物理寄存器堆中读取相应的源操作数送到相应的功 能部件。 执行:根据指令的类型执行指令并把计算结果写回寄存器堆;结果总线还送往 6 中国石油大学( 华东) 硕士学位论文 保留站和寄存器重命名表,通知相应的寄存器值已经可以使用了。 提交:按照r e o r d e r 队列记录的程序的顺序提交已经执行完的指令,龙芯2 e 最多每拍可以提交四条指令,提交的指令送往寄存器重命名表用于确认它的目 的寄存器的重命名关系并释放原来分配给同一逻辑寄存器的物理寄存器,并送 往访存队列允许那些提交的存数指令写入c a c h e 或内存。 上述是基本指令的流水级,对于一些较复杂的指令,如定点乘除法指令、浮点指令 以及访存指令,在执行阶段需要多拍。 龙芯2 e 处理器采用9 0 n m 的c m o s 工艺实现,布线层为七层铜金属,芯片晶体管 数目为4 7 0 0 万,芯片面积6 8 0 0 微米5 2 0 0 微米,最高工作频率为1 g h z ,典型工作频 率为8 0 0 m h z ,实测功耗为5 7 瓦。龙芯2 e 单精度峰值浮点运算速度为8 0 亿次秒, 双精度浮点运算速度为4 0 亿次,秒,在1 g h z 主频下s p e cc p u 2 0 0 0 的实测分值达到5 0 0 分,综合性能已经达到高端奔腾i i i 处理器以及中低端奔腾处理器的水平。 2 2win d o w sc e 体系结构 w i n d o w sc e 属于比较典型的微内核操作系统。所谓的微内核就是在系统的内核中 只实现那些必须由内核实现的基本功能;例如,进程、线程、调度及内存管理等最基本 的模块,而将图形系统、文件系统、设备驱动及通信等功能放在内核之外,并以系统服 务的形式提供各种功能,这种结构的优点是内核精炼,便于裁剪和移植,增加系统的稳 定性和灵活性;其不足之处是运行过程中用户态和内核态频繁地切换,降低的系统运行 效率。 图2 - 1w i n d o w sc e 体系结构 7 第二章龙芯2 e 处理器及w i n d o w sc e 体系结构 f i 9 2 1 w i n d o w sa r c h i t e c t u r es t r u e t u r a t i o n 如图2 1 所示,w i n d o w sc e 嵌入式操作系统的体系结构大致可分为4 个层次:硬 件层、o e m 层、操作系统层和应用层h 3 。w i n d o w sc e 的层次是由各个厂商提供的。一 般来说,硬件层和o e m 层由硬件o e m 厂商提供,也可由自己开发;操作系统层由微 软公司提供;应用程序层由独立的软件开发商提供。 2 2 1w i n d o w sc e 的层次体系结构 1 、硬件层 嵌入式操作系统在整个嵌入式系统中起着承上启下的作用。方面,操作系统为嵌 入式应用提供了一个运行的平台;另一方面,操作系统要运行在硬件之上,直接与硬件 打交道并管理硬件资源。因此,操作系统所依赖的硬件的特性就直接关系到操作系统的 结构和功能。 嵌入式系统中的硬件通常具有以下特点: 处理器体系结构不统一;嵌入式系统中的处理器从8 1 2 8 位不等,处理能力也 从几k h z 几m h z 甚至几g h z 各异,更重要的是,处理器彼此之间的指令集 及体系结构都不一样。 硬件资源通常受限;在嵌入式系统中,不仅处理器的种类繁多,内存通常也是 大小不等,有些嵌入式设备的内存只有几b y t e 。值得一提的是,因为嵌入式硬 件是以“够用为前提的,所以不是所有的嵌入式设备的资源都是稀缺的。比 如,某些娱乐设备( 例如,s o n y 公司的p l a ys t a t i o n3 游戏机) 为了增强图形 处理能力,使用了1 2 8 位的处理器,它的图形处理能力已经远远超出了桌面p c ; 一些航天设备上的嵌入式设备的数据处理能力也远远超过桌面p c 外部设备的种类繁多;嵌入式设备的应用环境十分广泛,因此嵌入式系统中用 到的外部设备与桌面电脑相比也要复杂得多。 实时性和可靠性要求;部分嵌入式设备应用在一些关键的工业控制领域。在这 些领域中,嵌入式系统的实时性和可靠性要求相当高。 嵌入式操作系统g r l n d o w sc e 的跨平台、可裁剪、模块化及微内核等特性都很好的 适应嵌入式系统的以上硬件特点。 2 、o e m 层 o e m 层是位于硬件成和操作系统成之间的一层与硬件相关的代码。它的主要作用 8 中国石油大学( 华东) 硕士学位论文 是对具体的硬件进行抽象,抽象出统一的接口函数或库,w i n d o w sc e 内核可以通过这 些接口函数或库与硬件进行通信。o e m ( o r i g i n a le q m p m e mm a n u f a c t u r e r ,原始设备制 造商) 层包括o e m 抽象层、引导程序、配置文件和驱动程序4 个模块。 o e m 抽象层佑1 ( o e ma b s t r a c t i o nl a y e r ,o a l ) 是整个o e m 层的主体。它包含了 与硬件高度相关的代码。o a l 主要负责w i n d o w sc e 内核与硬件平台的交互。当引导程 序加载结束后,由o a l 负责硬件平台的初始化,包括中断服务例程( i n t e r r u p ts e r v i c e r o u t i n e s ,i s r ) 嘲、实时时钟( r e a lt i m ec l o c k ,r t c ) 、计时器( t i m e r ) 、开关中断和 内核性能检测等初始化工作。 引导程序口1 ( b o o tl o a d e r ) 是在硬件开发板上执行的一段代码。b o o tl o a d e r 主要有 3 大功能:初始化目标硬件设备、控制启动过程及下载并执行操作系统映像。原则上讲 b o o tl o a d e r 的唯一目标就是加载并且执行操作系统的映像。 配置文件是一些包含配置信息的文件,这些配置信息通常与操作系统映像或源代码 相关。 3 、操作系统层 操作系统层主要实现了进程管理、线程管理、处理器管理、调度、物理内存和虚拟 内存管理、文件系统及设备管理等系统主要功能阻1 。 图2 - 2 w i n d o w s c e 内核结构 f i 9 2 - 2 w i n d o w sc ek e r n e ls t r u c t u r a t i o n 9 第二章龙芯2 e 处理器及w i n d o w sc e 体系结构 由于w i n d o w sc e 是一个微内核操作系统,所以其实现的基本功能都被放在多个独 立的进程( e ) 中实现,如:n k e x e 、g w e s e x e 、f i l e s y s e x e 、d e v i c e e x e 、 s e r v i c e s e x e 等。所有的应用程序都不能直接与操作系统或硬件平台交互,如果应用 程序希望访问w i n d o w sc e 所提供的服务,那么只能通过c o r e d l l d l l 进行,如图2 2 所示。对于系统中的系统调用、进程、线程、调度、同步、内存管理、文件系统、驱动 管理与服务以及图形系统等工作原理,需要做详细的了解,以便于开发驱动程序和应用 程序。 4 、应用层 应用层位于w i n d o w sc e 层次结构中的最高层。从系统的角度看,每个应用程序都 是w i n d o w sc e 中的一个单独的进程。通常,应用程序运行在权限较低的状态下。它使 用操作系统提供的a p i 接口函数与操作系统交互。 2 2 2 进程、线程和调度 w i n d o w sc e 是一个基于优先级的抢占式多任务( p r i o r i t yb a s e dp r e e m p t i v e m u l t i t a s k s ) 操作系统。在w i n d o w sc e 中,每一个应用程序都是一个进程,每一个进程 中可包含一个或多个线程。w i n d o w sc e 调度系统负责调度系统中的线程。w i n d o w sc e 的调度系统是基于优先级运行的。 1 、进程 进程( p r o c e s s ) 是程序的一次动态执行实例( i n s t a n c e ) 。进程和程序不同,当程序 被w i n d o w sc e 加载到内存并开始执行后就变成了一个实例或者说进程。进程与程序的 不同大致有: 进程是动态的概念,而程序是静态的概念。 进程有创建、执行及结束完整的生命周期,而程序只是一个文件。 一个程序可以对应多个进程,而一个进程只能对应一个程序。 一个进程是一个正运行的应用程序的实例。它由两个部分组成:一个是操作系统用 来管理这个进程的内核对象;另一个是这个进程拥有的地址空间。地址空间中包含应用 程序的代码段、静态数据段、堆、栈、非x i p ( e x e c u t ei np l a c e ) d l l p l 。从执行角度 方面看,一个进程由一个或多个线程组成。一个线程是一个执行单元,它控制c p u 执 行进程中某一段代码段。线程可以访问这个进程中所有的地址空间和资源。一个进程最 少包括一个线程来执行代码,这个线程又叫做主线程。 1 0 中国石油大学( 华东) 硕士学位论文 w i n d o w sc e 系统中,进程本身不参加系统的调度,也没有优先级和上下文。真正 参与系统调度的是线程,每个进程在创建的时候都会创建一个主线程作为该进程的默认 的执行体。从某种意义上说,进程只是线程的容器。 w i n d o w sc e 的虚拟内存机制负责把一个进程占有的内存与其他进程占有的内存隔 离。这样就防止了一个进程破坏其他进程内部的数据,导致进程崩溃。一个进程中打开 文件及内核对象等句柄在其他进程中是无效的。这样有利于构建稳定和安全的嵌入式操 作系统。当进程结束的时候,如果某些进程所占有的系统资源自己未释放,那么w i n d o w s c e 会负责把该进程占有的系统资源回收。 与桌面版本的w i n d o w s 不同,w i n d o w sc e n e t 最多支持3 2 个进程同时运行。这 是由整个系统分配给所有进程的总地址空间决定的。每个进程占据3 2 m b 的虚拟地址空 间,这也被称为一个s l o t n 们。w i n d o w sc e 操作系统本身也被分成了多个进程。在系统 启动的时候,f i l e s y s e x e 、g w e s e x e 及d e v i c e e x e 已经占据了多个s l o t ,因此,用户实 际可用的进程数只有不到3 0 个。因此,建议在构建复杂的应用程序的时候,如果需要 同时处理多个任务,应尽量选择多线程解决方案而不是采用多进程方案。 应用程序可通过c r e a t e p r o c e s s o i 函数创建一个新进程。函数的原型如下: b o o l c r e a t e p r o c e s s ( l p c w s t r l p s z l m a g e n a m e , 可执行文件的路径和名字; l p c w s t r l p s z c m d l i n e , 命令行参数; l p s e c u r i t ya t t r i b u t e s l p s a p r o c e s s ,不支持,设为n u l l : l p s e c u r i t ya t t r i b u t e s l p s a t h r e a d ,不支持,设为n u l l ; b o o lf l n h e r i t h a n d l e s ,不支持,设为n u l l ; d w o i mf

温馨提示

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

评论

0/150

提交评论