1系统平台的硬件结构
- 格式:doc
- 大小:326.50 KB
- 文档页数:4
国产天脉1型操作系统的嵌入式软件开发配置张斌(陕西宝成航空仪表有限责任公司研发中心,宝鸡721006)摘要:本文介绍了中航631所研制的天脉1型嵌入式实时操作系统,分析了天脉1型操作系统及相关平台的配置方式㊂针对M S L层及O S层特点,在P1013硬件系统上实现了天脉1的配置和工程应用㊂应用结果表明,基于天脉1型操作系统的嵌入式软件具备强实时㊁稳定性高并支持多任务的特点,能够提高武器装备质量㊂关键词:天脉1操作系统;嵌入式;M S L配置中图分类号:T P319文献标识码:AE m b e d d e d S o f t w a r e C o n f i g u r a t i o n o f A C o r e O S1.X O p e r a t i n g S y s t e mZ h a n g B i n(A V I C S HA N X I B A O C H E N G A V I A T I O N I N S T R UM E N T C o.,L t d.,B a o j i721006,C h i n a)A b s t r a c t:T h e A C o r e O S1.X e m b e d d e d r e a l-t i m e o p e r a t i n g s y s t e m i s i n t r o d u c e d i n t h e p a p e r.T h e c o n f i g u r a t i o n o f A C o r e O S1.X o p e r a t i n g s y s t e m a n d r e l a t e d p l a t f o r m s a r e a n a l y z e d.A c c o r d i n g t o t h e c h a r a c t e r i s t i c s o f M S L l a y e r a n d O S l a y e r,t h e s y s t e m i s i m p l e m e n t e d o n P1013h a r d w a r e s y s t e m.T h e e n g i n e e r i n g r e s u l t s s h o w t h a t t h e e m b e d d e d s o f t w a r e b a s e d o n A C o r e O S1.X o p e r a t i n g s y s t e m h a s t h e c h a r a c t e r i s t i c s o f s t r o n g r e a l-t i m e,h i g h s t a b i l i t y a n d m u l t i t a s k s u p p o r t,w h i c h c a n i m p r o v e t h e q u a l i t y o f w e a p o n e q u i p m e n t.K e y w o r d s:A C o r e O S1.X o p e r a t i n g s y s t e m;m e a s u r e m e n t o f r e l a t i v e l e v e l;M S L c o n f i g u r a t i o n0引言嵌入式实时操作系统是管理嵌入式计算机软件/硬件资源㊁为应用软件提供运行平台的核心基础软件㊂在我国的航空装备上曾经大量使用了国外的商用操作系统(如V x W o r k s等),但是由于不掌握核心技术,难以发现和消除这些系统中可能存在的安全隐患,对国家和航空装备的安全性造成严重的影响㊂因此,嵌入式实时操作系统国产替代势在必行㊂天脉1型嵌入式操作系统(简称天脉1,英文名为A C o r e O S1.X)是中航工业西安航空计算所研发的针对航空应用需求设计的机载嵌入式实时操作系统,能够完全满足机载环境所提出的强实时㊁高安全㊁高可靠㊁高确定㊁可裁剪㊁可升级等特殊要求㊂目前,天脉1型嵌入式操作系统已在我国多型军㊁民用航空装备上广泛应用㊂本文介绍了天脉1型操作系统在P1013硬件系统上的配置方法㊂1天脉1操作系统简介天脉1操作系统(A C o r e O S)采用C语言与汇编语言开发,按照G J B和D O178B进行研发测试,是一款面向多任务应用的强实时性嵌入式操作系统,能够协助用户管理嵌入式系统硬件资源,降低应用软件开发难度㊂A C o r e O S操作系统具有以下突出特点:①强实时性:其内核可抢占㊁中断可嵌套㊁优先级抢占㊁防止优先级反转㊁中断响应快速;②可靠性:其基于MMU存储保护设计㊁提供错误接管机制㊁按照A级软件研制;③可维护性:其采用模块化㊁层次化结构,接口符合标准;④兼容性:提供V x W o r k s兼容包,支持C/C++语言,提供符合P O S I X接口的运行时库;⑤适用性:支持国产处理器㊁支持常用功能组件(如图形组件㊁文件系统㊁运行时库),支持系统级调试;⑥支持硬件层抽象,能够实现M S L软件与操作系统软件间的分离,通过修改M S L软件可将操作系统移植到同系列㊁不同处理器结构上,M S L软件可配置㊁可裁剪㊂天脉1型操作系统依据A S A A C标准所定义的三层软件架构设计而成,包含模块支持层(M S L)㊁操作系统层(O S L)及应用层(A L)㊂三层软件结构独立,相互分离,系统组件可配置㊁可裁剪,提供灵活的空间配置㊁内存配置,开发人员可根据硬件特点进行针对性开发设计㊂通过分层设计实现各层软件之间的分离,解决了操作系统在不同图1 天脉1操作系统三层结构硬件平台的可移植性㊁硬件设备升级和应用软件可重用的问题㊂基于天脉1操作系统开发的软件结构图如图1所示㊂2 M S L 配置模块支持层(M S L )用于在天脉系列操作系统中将硬件层抽象,形成独立可运行部分,为上层操作系统内核提供硬件操作访问接口㊂M S L 配置包含处理器配置㊁组件配置㊁设备配置及空间配置,如图2所示㊂对于每一个配置项,其右边均有其属性选择项,开发人员可根据当前硬件环境通过下拉菜单或手动输入边界范围配置各类属性㊂图2 M S L 配置组件图2.1 B S P 包修改板级支持包(B o a r d S u p p o r t P a c k a ge ,B S P )需在购买天脉1时配套购买,P 1013的B S P 为P P C e 500系列㊂B S P 包括启动代码与驱动代码,启动代码为汇编指令,主要为初始化e 500v 2C P U 核心㊁关闭c a c h e㊁初始化堆栈以及代码段重定位,为之后运行C 程序创建环境㊂B S P 包另外一部分为驱动代码,包括串口㊁网络㊁定时器㊁存储等㊂2.2 配置运行空间运行空间指程序在R AM 中的运行空间,以及各个段的划分保证程序的运行㊂在天脉操作系统中,需要分别配置M S L 以及O S 的内存空间㊂首先打开M S L 配置(m s l .c f g ),在空间配置的S D R AM 中配置物理起始地址为0,大小为0x 10000000,虚拟地址与物理地址一致,属性为MM _D E F A U L T _A T -T R ㊂该段空间指定了M S L 与O S 在内存中的运行空间㊂在M S L 配置完成后,打开M S L 的内存配置(后缀为m t p 的文件),配置R AM 分区起始地址为0,大小为0x 10000000,这段地址必须在M S L 空间配置的S D R AM范围内㊂v e c t o r 段装入地址改为0x 01000000,指示向量段的起始位置㊂H E A P 大小为0x 0C 000000,起始地址为0x 04000000㊂b o o t r o m 的起始地址改为0x 01000000(与向量段保持一致)㊂需要注意向量段的大小要至少大于0x 4000㊂v e c t o r 段㊁d a t a 段㊁b s s 段㊁H E A P 段的总和要小于等于R A M 分区㊂2.3 配置F l a s h 设备在M S L 配置中,设备下的存储设备上右键点击新建ңF l a s h 设备,在新建出来的F l a s h 设备上右键点击新建,选择S 29G L 512P 并设置参数.2.4 配置映像描述文件与R O M 空间映像描述文件是M S L 通过F l a s h 驱动写在F l a s h 上的一小段数据,记录了M S L ㊁O S 以及A P P 的加载㊁固化地址㊁映像大小等信息,当M S L 运行后会检测在指定的地址上是否存在映像描述文件,如果不存在,则在指定地址上写描述文件;如果存在,则检测描述文件的内容;如存在O S 已经被固化的信息,则会自动从描述文件记录的地址读取O S 并运行,A P P 也是同理㊂映像配置参数图如图3所示,基本参数一栏中指定了映像描述文件的地址,R OM 空间指示除M S L 外其余映像的固化空间,L o a d 空间指示A P P 在R AM 中的运行空间㊂图3 映像配置参数图2.5 配置串口串口使用的是S T 16552标准串口,代码位于$(M S L _T A R G E T )/m s l /b o a r d /p p c /p1013/d r i v e r /s e r i a l /s t 16552.c ,另外在$(M S L _T A R G E T )/m s l /b o a r d /p p c /p 1013/i n c l u d e /pl a t f o r m.h 中,将C C S B A R 的宏值改为0x F F 700000㊂串口的波特率㊁数据位㊁停止位㊁校验模式㊁通信模式的配置在m s l .c f g 下的设备ң串口控制器ңST 16552ңC OM 1在S T 16552上右键点击,新建ң串口,添加第二路串口并设置参数即可㊂串口配置如图4所示㊂图4 串口配置图2.6 配置网络M S L 下网卡相关配置在M S L 配置ң组件ң目标机代理ң设备配置,I P 与端口的配置在M S L 配置ң组件ң目标机代理ң通信配置ңU D P 通道㊂网络配置如图5所示㊂图5 网络配置图注意:M S L 下的网络协议栈只包括最基本的网络收发以及p i n g 命令所用的I C M P 协议,T C P 与U D P 通信无法使用㊂2.7 下载并运行M S L完成以上基本系统配置后,在工程上点击右键选择构建项目,编译生成的可执行程序位于$(W o r k s p a c e )/$(M S L _T A R G E T )/p1013_r o m _b u r n 目录下㊂将M S L 的I P 设置为与开发机器同一网段㊂目标机连接串口与网口,打开串口助手,上电后在倒计时的时刻输入空格键后,输入 s t o p 进入u b o o t ㊂设置u b o o t 下I P :s e t i p a d d r 10.10.6.122;设置t f t p 服务端I P :s e t s e r v e r i p 10.10.6.28;保存环境变量改动:s a v e e n v ㊂u b o o t 下I P 尽量设置为与M S L 的I P 不同,否则可能导致M S L 运行后无法连接目标机㊂设置完毕后下载m s l .b i n 到内存0x 1000000地址中并运行:t f t p 1000000m s l .b i n ;go 1000000下载地址应当与M S L 内存配置中v e c t o r 段的装入地址一致,否则无法运行M S L ㊂当看到 M S L f o r A C o r e O s以及I P 地址等信息后,表示M S L 启动成功㊂M S L 启动图如图6所示㊂图6 M S L 启动图3 O S 配置A C o r e O S 配置包括内核㊁目标机代理㊁系统时间㊁设备管理组件㊁F A T 文件系统㊁大容量文件系统㊁主机文件系统等与操作系统运行参数及功能组件相关的配置㊂O S 配置定义了操作系统内核组件,以可配置组件方式向开发人员提供操作接口㊂同时,O S 配置定义了应用任务的部分属性㊂4 文件系统的配置文件系统的配置主要为在M S L 下的D F L 设备配置与O S 配置下的F A T 文件系统组件配置㊂首先打开M S L 配置,在设备下的存储设备菜单上点击右键,选择新建ңD F L 设备,在D F L 设备上右键选择新建ңn o r f l a s h 设备,配置大小等参数㊂文件系统配置如图7所示㊂图7 文件系统配置图此处的起始地址指文件系统在F l a s h 设备上的起始地址,大小指示文件系统在F l a s h 上占用的大小㊂在M S L 下添加完D F L 设备后,打开O S 配置,在A C o r e O S 配置上右键选择新建ңF A T 文件系统,在生成的F A T 文件系统子菜单上点击右键选择新建ң设备信息表,再设备信息表上右键选择新建ң设备信息,随后修改其中的相关参数㊂F l a s h 设备配置如图8所示㊂图8 F l a s h 设备配置图需要注意以下几点:①设备信息表中的设备名需要与M S L 配置下D F L设备名保持一致,否则无法创建文件系统㊂②设备类型中的值0x 50表明文件系统建立在F l a s h 设备上,如果为R a m d i s k 文件系统,此处应为0x F 8㊂③当设备第一次加载文件系统组件时需要将格式化选项设置为t r u e,运行系统时格式化需要耗费一段时间,等待格式化完成并且系统启动成功后,再次运行系统可以将格式化选项设置为f a l s e ,无需再次格式化;如果修改了文件系统的其他配置(如起始地址或起始盘符)后,同样也需要执行一次格式化,才可使修改后的配置生效㊂5 结 语本文介绍了国产天脉1操作系统的特点,详细描述了基于P 1013硬件系统B S P 包开发㊁M S L ㊁O S L 以及文件系统的配置,对基于相似硬件系统开发国产天脉1操作系统应用具有一定的借鉴意义㊂参考文献[1]天脉技术白皮书,2020.[2]A C o r e O S 机载嵌入式实时操作系统参考手册,2017.[3]A C o r e O S 机载嵌入式实时操作系统程序员手册,2017.[4]李向东,徐宁.基于国产天脉1型操作系统的嵌入式软件开发配置[J ].信息通信,2016(12):162164.张斌(高级工程师),主要从事嵌入式系统软件设计和惯性导航技术研究㊂(责任编辑:薛士然 收稿日期:2020-11-02)C I T E 2021圆满闭幕:把脉产业方向,共绘发展蓝图4月11日,第九届中国电子信息博览会(C I T E 2021)在深圳会展中心圆满收官㊂本届博览会以 创新驱动高质量发展 为主题,现场有超1500家参展商,发布了近万件新产品㊁新技术,全方位㊁多角度展示了电子信息产业的最新发展成果㊂同时,博览会期间还举办了近100场同期活动,吸引了超过10万名专业观众到场参观,500多万观众网上观展,共有500多家媒体参与了宣传报道㊂本次展会的重点包括:5G+各种应用(物联网㊁智慧生活㊁车联网㊁工业互联网),信息技术创新应用,超高清显示技术以及大数据存储等㊂在为期3天的博览会期间,还特别举办了 1+5+N 系列重要活动,涵盖5G+产业㊁信息技术创新应用㊁显示技术㊁基础电子和I C 技术㊁大数据技术五大分论坛及其他行业活动,包含中国电子信息博览会开幕论坛㊁2021中国(深圳)5G 峰会㊁中国工业互联网产业发展论坛㊁2021中国车联网大会㊁第三届中国智慧家庭高峰论坛㊁首届信息技术创新应用产业大会㊁2021中国国际显示产业大会㊁2021深圳国际大数据与存储峰会㊁首届中国基础电子元器件产业峰会等在内的近百场论坛活动㊂论坛邀请了中国工程院院士沈昌祥㊁中国科学院院士尹浩㊁美国医学与生物工程学院院士潘毅㊁国际欧亚科学院院士赵生捷㊁瑞典皇家学院院士L a r s S a m u e l s o n㊁京东方科技集团股份有限公司副总裁齐铮等专家学者㊁企业代表,聚焦电子信息技术发展㊁人工智能㊁可信计算㊁智能终端㊁新型显示材料等电子信息产业热点话题各抒己见,共同探讨电子信息产业未来㊂2021年是我国十四五规划开局之年,以科技创新推动产业升级,推动经济持续高质量发展,已成为这个时代的大趋势㊂于2013年创办的中国电子信息博览会,至今已走过9年的发展历程㊂自创办以来,每年都会展现信息技术的最新成果,从底层新兴技术推动产业变革,赋能实体经济,推动社会转型升级㊂目前,中国电子信息博览会已成为在国际上具有高度影响力的信息科技高端交流平台,不仅为电子产业的快速发展做出了积极㊁巨大的贡献,更是成为了引领产业未来发展的一大 风向标㊂。
1计算机系统的的层次结构以现代通⽤计算机系统可以分成哪⼏级它们的相对位置各机器级的实现是⽤的翻译技术还是解释技术z⽬前情况来看MO ⽤硬件实现⼤的数2软件层⾼级语⾔通过软件MI ⽤微程序固件实现实现2汇编语⾔M 2M 5⽤软件实现ii 传统机器语⾔䎚鱲2瀶固件就是具备软件功能的⼀种硬件硬件实现作业控制语⾔微程序以什么是翻译技术什么是解释技术翻译技术⽤转换程序将⾼⼀级机器级上的程序整个地址转换为低⼀级机器级上的等效程序之后在低⼀级机器级上实现的技术解释技术在低级机器级上⽤⼀串语句或指令来仿真⾼级机器级上的⼀条语句或指令的功能是通过对⾼级机器级上的每条语句或指令逐条解释的技2.1计算机系统结构组成和实现的定义和研究⽅⾯1从计算机的层次结构⻆度来看系统结构system Architecture 是对计算机系统中各级界⾯的定义及其上下的功能分配iiiiii2计算机系统结构也称计算机系统的体系结构computer Architecture 它只是系统结构中的⼀部分指的传统机器语⾔机器级州的系统结构因此它是软件和硬件1固件的交接⾯是机器语算结论计算机系统结构研究的是软硬件之间的功能分配以及对传统机器级界⾯的确定为机器语⾔汇编语⾔程序设计者或编译程序⽣成系统设计或⽣成的程序能在机器结嘔趣魂䃴䏈臨嚹櫉出㒧瀃暶软礮 嚻㗸磡璐璐额嚻嚻 㓸年就⽬前的通⽤机和总其计算机系统结构的属性包括以D 硬件能够直接识别和处理的数据类型及格式等的数据表示系最⼩可寻址单位寻址种类地址计算等的寻址⽅式统通⽤寄存器的设置涨数量使⽤约定等的寄存器组织以⼆进制或汇编指令的操作类型格式排序⽅式控制机构等的指全系统构外主存的最⼩编址单位编址⽅式容量最⼤可编址空间等的存储系统组织以中断的处理与分级中断处理程序的功能与⼊⼝地址等的中断机构系统机器级的管态与⽤户态的定义与切换8输⼊1输出设备的连接使⽤⽅式流量操作结束出错指示等的机器级⼯10结构以系统各部分的信息保护⽅式和保护机构等属性_Énn 囎的讞囄 龖嚻欏㺦䵴 邈悦的縅 辄算樾设计䯁ì点2专⽤部件的设置是否设置乘除法浮点运算字符处理地址运算等专⽤部件设置的数量与机器要达到的速度价格以及专⽤部件的使⽤频率有关机烈各种操作对部件的共享程度分时共享使⽤程度⾼虽然限制了速度但价格便宜设置部件的降低共享程度因操作系统并⾏度提⾼可提⾼速度但价格也会提⾼4功能部件的并⾏度是⽤顺序串⾏还是⽤重叠流⽔或分布式控制和处理iii 䨊i ǐiiiiiiii iiiiiiiiin 控制机构的组成⽅式⽤硬件还是微程序控制是单机处理还是的机或功能分布处理成7预估预判技术⽤什么原则为优化性能预测未来⾏为6计算机的实现computer Implementation指的是计算机组成的物理实现包括处理机珔等部件的物理结构器件的集成度和速度器件模块插件底板的划分与连接专⽤器件的设计微组装技术信号传输电源冷却及整机装配技术等7计算机实现的设计着眼于器件技术和微组装技术器件技术起着主导作⽤8指令系统的确定属于计算机系统结构指令的实现如取指令指令操作码译码计算操作数地址取数运算送结果等的操作的安排三和排序属于汢籃噍感实现这些指令功能的具体计电路器件的说⽜的装⾣䃢⼰技术属于计算机实现ftpmsn琺迹歛辔緪appointingpinetnn感乘法器加法⼀位移器的物理实现中的类型叔美成度数量价格以及微组装技术的确定和选择属于计算机实现-0ns中央处理机任存算外⼀箱溜畦侧的概念性结构图䃴嚻蜘理雄和醚-嚻制品外诞级槬以瑡⼼纙斌䴍出硬件⽅⾯2通道机实设备控制器i10机器1汇编指令系统数据表示是否采⽤通道⽅式输⼊1输出的确定属于计算机系统结构指令采⽤重叠流⽔还是其他⽅式解释数据通路宽度的确定通道采⽤结合型还是独⽴型属于计算机组成2.2系统结构组成和实现的相互关系和影响1相同结构如指令系统相同的计算机可以因速度不同⽽采⽤不同的组成⼀种组成也可以有多种不同的实现⽅法2组成也会影响结构了组成设计向上决定结构向下受限于实现技术4由于计算机组成和计算机实现关系密切有⼈将它们合称计算机实现即计算机系统的逻辑实现和物理实现ǜjiiiiii iiiiiiii能分配和确定程序设计者所看到的机器级界⾯的计算机系统结构称结论计算机系统结构设计的任务是进⾏软硬件的功能分配确定传统机器级的软硬件界⾯但作为计算机系统结构这⻔学科来讲实为程序设计者看到的计算机系统结构把着眼于如何更好更合理地实现分配给硬件的功能的计算机组成称为计算机设计者看到的计算机系统结构3计算机系统的软硬件取舍与设计思路引软硬件实现的优缺点1从原理上来讲软件的功能可以由硬件或固件来完成硬件的功能也可以由软件来模拟完成只是它们在性能价格实现的难易程度是不同的2软件实现的速度慢编制复杂编程⼯作量⼤程序所占存储空间量较的i 但是所花硬件少硬件的实现上也就相对简单容易硬件的成本低解题的灵活性和适性就好了具有相同功能的计算机系统其软硬件功能分配⽐例可以在很宽的范围内变化如下图⼀般来说提⾼硬件功能的⽐例可提⾼解题速度减少程序所需的时间但会增加硬件成本降低硬件利⽤率和计算机系统的灵活性及适应性提⾼软件功i ǘjf ǘǜǜ是⾼系统的灵活性适应性但是解题速度会下降软件设计费⽤和所需的存储器⽤量增加了原则D 应考虑在现有的硬器件主要是逻辑器件和存储器件的条件下系统要有⾼的性价⽐以实现费⽤速度和其他性能⽅⾯考虑2要考虑到准备采⽤和可能采⽤的组成技术使之尽可能不要过的或不合理地限制各种组成实现技术的采⽤了不能仅从硬的⻆度考虑如何便于应⽤组成技术的成果和便于发挥器件技术的发展还应从软的⻆度把如何为编译和操作系统的实现以及1⾼级语⾔程序的设计提供更的更好的硬件⽀持放在⾸位软硬件取舍的最终⽬标提⾼性能降低消耗评判性能的标准使⽤者响应时间完成任务的时间服务者吞吐量单位时间内的⼯作总量2软硬件取舍成本计算13软件开发费⽤C 软件重复设计的次数品硬件开发费⽤R 软件复制和存储的次数的更件实现的费⽤i Dn Nt Mn Ms 软件重复⽣产的费⽤例如批量部署1软件实现的费⽤Ds x clvtM tn Mn 硬件重复⽣产的费⽤⽣产计算机系统台数3.3计算机系统的定量设计原理真实程序的运⾏时间是衡量计算机性能的唯⼀可靠的①⼤概率事件优先原则喧⾛曼n 铡压n 缩原理oir提⾼经常性事件的处理速度经常性事件例如程序中的循环体②阿姆达尔Amdahl 定律定义系统性能的加速⽐确定对性能限制最⼤的部分计算改进某些部件所获得的性能提⾼③程序的局部性 效旦 璧和空间㞗盥改进效果好的⾼性能系统应是个各部分性能功能平衡得到提⾼的系统时间局部性现在正在使⽤的信息将来还要使⽤如程序中存在循环空间局部性将来要使⽤的信息与现在正在使⽤的信息在程序位置上是相邻的因为指令通常是顺序存放的数据也通常是以向量阵列树表等形式簇数据时间局部性空间局部性And 定律系统性能改进前⼆总执⾏时间部件加速⽐指令循环语句总加速⽐⼆系统性能改进后总执⾏时间瞿善⼆1-可改进⽐例可改进⽐例变量数据顺序语句字符串常量数据4计算机系统的设计⽅法①计算机系统⼀般有3种设计⽅法D 由上往下⾃顶向底专⽤机设计⽅法先考虑满⾜应⽤要再逐级向下设计串⾏设计⽅法周期⻓成本⾼难以量化2由下往上⾃底向顶通⽤机设计⽅法不考虑应⽤要求先根据已有条件设计硬件软件设计需要被动地适应硬件3⾃中间开始向两边设计它可以克服以上两⽅式中软硬件设计分离和脱节的致命缺点5软件应⽤器件的发展对系统结构的影响-5.1软件发展对系统结构的影响①软件的可移植性Portability 指的是软件不修改或只经少量修改就可由⼀台机器移到另⼀台机器上运⾏同⼀软件可应⽤于不同的环境软件兼容性i 向后兼容第⼀代电⼦管valve 1945-1954IBM 701机器档次当前机器第⼆代i 晶体管Transistor 19551964IBM7030㿚䨻容向后兰道时间第三代集成电路四1965-1974IBM张巧第四代⼤规模集成电路以红19741940IBM 3090Pc 第五代微处理器19902000IntelArm ②实现可移植性的常⽤⽅法D 采⽤系列机由同⼀⼚家⽣产的具有相同的系统结构但具有不同组成和实现的⼀系列不同型号的机器2模拟和仿真使件能够在具有不同系统结构的机器之间相互移植3i 实理软件移植的⼀种理想的⽅法例如Java 语⾔程序能在不同架构平台上运⾏模拟姚妣啊䲉犌⻰台 瞅⼀雅 额殆机⼀⼀刷啪镶处理器件发展历史通常⽤〇解释的⽅法去实现运⾏速度慢性能较差只适⽤于移植运⾏时间短使⽤次数少且在时间短上没有约束和受限制的软件仿真emulation ⽤⼀台现有的机器缩主机上的微程序〇去解释另⼀台机器⽬标机的指令集运⾏速度⽐模拟⽅法的快仿真只能在系统结构差距不⼤的机器之间使⽤区别模拟和仿真的区别在解释使⽤的语⾔模拟是⽤机器语⾔程序解释解释程序存储于主存中仿真使⽤微程序解释解释程序存储于控制存储器中③模拟与仿真的选择离频繁使⽤易于仿真的机器指令宜⽤仿真以提⾼速度较少使⽤的难以仿真的指令以及北操作宜⽤模拟即使两种机器系统差别不⼤往往也需要⽤模拟来完成机器间的映像11④3种⽅法的优缺点统⼀⾼级语⾔可以解决结构相同或完全不相同的机器间移植是未来发展⽅向但是⽬前难以解决只能做到相对统⼀系列机是当前遍采⽤的⽅法但只能实现同⼀系列内的软件兼容虽然允许发展变化但兼容的约束反过来会阻碍系统结构取得突破性的进展模灵活可实现不同系统结构间的软件移植但结构差别过⼤时效率速度会急剧下降伤真在速度上损失⼩但不灵活只能差别不⼤的系统之间使⽤否则效率也会过低且难以仿真需要与模拟结合才⾏此外发展异种机联⽹也是实现软件移植的⼀种途径5.2应⽤的发展对系统结构的影响不同的应⽤对计算机系统结构的设计提出了不同的要求应⽤需求是促使机算机系统结构发展的最根本的动⼒在不同的领域需要⾼性能的系统结构多媒体引了游戏⾼清影⾳⽹络应⽤⾼性能路由防⽕墙科学计算天⽓预报⽯油勘探班⽤户⻘尵 器件⼚家⽣产时固定的器件的⽤户即机器设计者只能使⽤不能改变器件内部功能现场为⽤户根据需要可改变器件内部功能⽤户为专⻔按⽤户要求⽣产的⾼度集成的以红器件完全按照⽤户要求设计的⽤户⽚称为全⽤户⽚⼀般同⼀系列内各档机器可分别⽤通⽤⽚现场⽚和⽤户为实现6系统结构的并⾏性开发及计算机轰统的分类6.1并⾏性概念与开发6.1.1并⾏性的含义与级别①并⾏性包含同时性和并发性两重含义⾃然性simultaneity 指两个或约个事件在同⼀时刻发⽣并发性concurrency 指两个或㑜事件在同⼀⽇②䲜䉪厵并⾏鍳靠 礜为了能并⾏处理以提⾼计算机解题的效率CnnD 计算机系统执⾏程序⻆度由低到⾼等级齽产操作之间的并⾏执⾏2指令之间放条指令的并⾏执⾏14作业或程序之间c______12计算机系统中处理数据⻆度由低到⾼等级冯⽒分类法1972冯泽云1位串字串同时只对⼀个字 齹⼯整处理通常指串⾏单处理机⽆并⾏性2位并字串并⾏单处理机3i 位为串字并不⼀⼀对许的字的同⼀位称位⽚进⾏处理3并⾏性贯穿于计算机信息加⼯的各个步骤和阶段的i 存储器操作并⾏2处理器操作并骤并⾏了处理器并⾏tiiiiii inin4指令任务作业并⾏皊之⼆及以上的并⾏是所处之理机同0时对然⾦撧或相关的的组娄-対居进⾏处理操作上避流的数据流计算机6.1.2并发性开发的途径时间重叠i鼝相互错不轮流重叠使⽤同⼀套硬件设备的各个部分加快硬件周转来赢得速度②资源重复邈邈䟐群Replication重复设置硬件资源来提⾼可靠性或性能③资源共享逛䬒aresharing⽤软件⽅法让的个⽤户按⼀定时间顺序轮流使⽤同⼀套资源来提⾼资源利⽤率相应地6.1.3多机系统的耦合度耦合度⽤于反映的机系统中各机器之间物理连接的紧密度和交叉作⽤能⼒的强弱1各种脱机处理系统是最低耦合系统lease coupled system 2多台计算机通过通道或通信线路实现互连以较低频带在⽂件或数据集⼀级相互作⽤这种系统被称为松散耦合系统loosely a system或间接耦合系统Indirectly Coupled system3多台计算机通过总线或⾼速开关琏共享主存有较⾼的信息传输速率可实现数据集⼀级任务级作业级并⾏则称该系统为紧密耦合系统Tighcoupled system 或直接耦合系统Directly c oupled system 6.1.4计算机系统的分类弗林分类瀓按照指令流和数据流的的倍性进⾏分类共分为4类数据流由执令流调⽤的数据序列圝鬬管⾔ 䨻⽇搻䲜时处于同⼀执⾏阶段的指令或数据的最⼤数⽬单指令流单数据流GED Single Instruction stream Single Data stream 单指令流的数据流Gen single Instruction stream Multiple Data Stream 阵列处理机和相联处理机多指令流多数据流㟗⽆实现对应的应⽤传统的单处理计算机多指令流单数据流MIS D -。
微型计算机系统(简称微机系统)与传统的计算机系统一样,也是由硬件系统和软件系统两大部分组成。
计算机硬件系统由控制器、运算器、存储器、输入设备、输出设备五大基本部件构成。
软件系统由系统软件和应用软件两大部分组成。
系统软件包括操作系统、语言处理程序、数据库管理系统、网络通信管理程序等部分。
应用软件包括的面非常广,它包括用户利用系统软件提供的系统功能、工具软件和其它实用软件开发的各种应用软件。
当前使用比较多的操作系统有UNIX、Linux,MS-DOS 和Windows操作系统。
内存又称为主存,分为随机存储RAM和只读存储器ROM两种,速度比外存快由于CPU比内存速度快,目前,在计算机中还普遍采用了一种比主存储器存取速度更快的超高速缓冲存储器,即Cache,置于CPU 与主存之间,以满足CPU 对内存高速访问的要求。
有了CaChe 以后,CPU 每次读操作都先查找CaChe,如果找到,可以直接从Cache中高速读出;如果不在CaChe中再由主存中读出在微型计算机中,常用的外存有磁盘、光盘和磁带,磁盘又可以分为硬盘和软盘。
基数是指该进制中允许选用的基本数码的个数。
每一种进制都有固定数目的计数符号。
十进制:基数为10,10个记数符号,0、1、2、……9。
每一个数码符号根据它在这个数中所在的位置(数位),按“逢十进一”来决定其实际数值。
二进制:基数为2,2 个记数符号,0 和1。
每个数码符号根据它在这个数中的数位,按“逢二进一”来决定其实际数值。
八进制:基数为8,8个记数符号,0、1、2、……7。
每个数码符号根据它在这个数中的数位,按“逢八进一”来决定其实际的数值。
十六进制:基数为16,16个记数符号,0-9,A,B,C,D,E,F。
其中A~F对应十进制的10~15。
每个数码符号根据它在这个数中的数位,按“逢十六进一”决定其实际的数值。
字节简写为B,人们采用8位为1个字节。
1个字节由8个二进制数位组成。
字节是计算机中用来表示存储空间大小的基本容量单位。
软考系统架构设计师教程考点精讲(一)软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。
系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛为您准备了几个重要的教程章节考点精讲,希望对您的学习有所帮助。
第一章1.1.1系统架构师的概念现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。
架构本质上存在两个层次:概念层,物理层。
1.2.1系统架构师的定义负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。
主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。
要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。
1.2.2系统架构师技术素质对软件工程标准规范有良好的把握。
1.2.3系统架构师管理素质系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力;必须提供特定的方法和模型作为理想的技术解决方案;必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。
1.2.4系统架构师与其他团队角色的协调系统分析师,需求分析,技术实现系统架构师,系统设计,基于环境和资源的系统技术实现项目管理师,资源组织,资源实现来源:由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。
所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。
对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。
1.3系统架构师知识结构需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。
1 系统平台的硬件结构
本文使用的系统平台硬件功能框图如图1所示,该平台采用Samsung公司的处理器S3C2410。
该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器,资源丰富,带独立的16KB的指令Cache和16KB数据Cache,LCD控制器、RAM控制器,NAND闪存控制器,3路UART、4路DMA、4路带PWM 的Timer、并行I/O口、8路10位ADC、Touch Screen接口,I2C接口,I2S接口、2个USB接口控制器、2路SPI,主频最高可达203MHz。
在处理器丰富资源的基础上,还进行了相关的配置和扩展,平台配置了16MB 16位的FLASH和64MB 32位的SDRAM,通过以太网控制器芯片AX88796扩展了一个网口,另外引出了一个HOST USB接口。
在USB接口上外接一个带USB口的摄像头。
另外,还配有分辨率为320×240,256色的LCD。
2 嵌入式Linux简介
Linux操作系统具有相当多的优点,他的内核稳定、功能强大、支持多种硬件平台、源代码完全开放,可裁减和低成本的特性非常适合于嵌入式应用,并且Linux本身直接提供完整的TCP/IP协议,可非常方便地进行网络应用。
但Linux内核本身不具备强实时性,且内核体积较大,而且嵌入式系统的硬件资源有限,因此把Linux用于嵌入式系统,必须对Linux进行实时化和嵌入式化,即通过配置内核,裁减shell和嵌入式C库对系统定制,使整个系统能够存放到容量较小的FLASH中,Linux的动态模块加载,使Linux的裁减极为方便,高度模块化的部件使添加非常容易。
整个系统软件是在嵌入式Linux的基础上构建的。
S3C2410平台使用的Linux内核是在Linux-2.4.18内核打上patch-2.4.18-S3C2410这个补丁后编译而成。
S3C2410平台使用的文件系统是yaffs,文件系统包括应用程序、模块、配置文件和库等,图像的采集和显示是建立在嵌入式Linux内核之上的,整个软件系统如图2所示。
通常宿主机和目标板上的处理器不同,宿主机通常为Intel处理器,而目标板如图1所示为SAMSUNG S3C2410,所以程序需要使用针对处理器特点的编译器才能生成在相应平台上可运行的代码,GNU编译器提供这样的功能,在编译时,可以选择开发所需的宿主机和目标机,从而建立开发环境。
在进行嵌入式开发前的第一步工作就是把一台PC机作为宿主机开发机,并在其上安装指定操作系统。
对于嵌入式Linux,宿主机PC上应安装Linux系统。
之后,在宿主机上建立交叉编译调试的开发环境,开发环境的具体建立这里不细谈。
本文采用移植性很强的C语言在宿主机上编写视频采集程序,再利用交叉编译调试工具编译链接生成可执行代码,最后向目标平台移植。
3 基于Video4Linux的图像采集
Video4Linux是Linux中关于视频设备的内核驱动,他为针对视频设备的应用程序编程提供一系列接口函数,在Linux下,视频采集设备的正常使用依赖于对Video4 Linux标准的支持。
如果使用Video4Linux,在编译内核时,一定要选中Multimedia Devices下的Video for Linux选项,本文针对的设备文件是/ dev / video,使用的器件是基于OV511的USB摄像头。
在运行程序前,一定要先加载USB及OV511设备驱动模块,同时加载Video4Linux模块,分别使用命令:modprobe usbcore,modprobe usbohci,modprobe videodev 和modprobe ov511,以确保生成设备文件/dev/video,若使用的Linux操作系统不支持modprobe命令,也可使用insmod命令。
一般来讲,基于Video4Linux的图像采集的程序流程如图3所示。
以下简单介绍程序的编写,在这里只给出关键部分的实现代码。
首先,必须声明包含2个头文件:
在获取图像信息后,还可根据需要改变这些信息,例如对比度、亮度、调色板等,具体做法是先给video_picture中相应变量赋新值,再利用VIDIOCSPICT ioct1函数。
第2部分,使用mmap方式的单帧图象采集:
然后调用ioct1(grab_fd,VIDIOCSYNC,&frame)函数,该函数成功返回则表示采集完毕,采集到的图像数据放到以data为起始地址,长度为240×320×3的内存区域中,读取该内存中的数据便可得到图像数据。
在此基础上同样可实现连续帧的采集,即一次采集连续多帧图像的数据,Video4Linux最多支持一次采集32帧,此时首先要设置grab_buf.frame为要采集的帧数,而每一帧的数据在内存中的位置为data+
grab_vm.offsets[frame],其中grab_vm为video_mbuf结构体变量的一个声明,利用ioct1(fd,VIDIOCGMBUF,&grab_vm)便可获得grab_vm的信息。
4 基于FrameBuffer的图象显示
当Video4Linux使用mmap方式采集图像时,他总是尽最大努力将图像直接显示在屏幕上,但并不一定能够完成,因此一个完整的设备应该具有图像显示的功能,一般来讲,嵌入式Linux下显示一幅图像总共有以下几种方法:
(1)在利用Video4Linux采集图像时,将采集到的图象数据直接放到FrameBuffer的内存映射区中,而Video4Linux也支持这种功能,利用VIDIOCSFBUF和VIDIOCGFBUF这两个ioct1函数,可设置和获得struct video_buffer。
但该方法并不是每个图像采集设备都支持。
(2)进图像数据存成各种格式(例如bmp),在各种GUI软件中,均会直接显示不同格式的图像的函数,如MiniGui中的FillBoxWithBitmap函数。
(3)直接将图像数据写入FrameBuffer中。
在这里主要介绍第3种。
FrameBuffer设备是运行在Linux控制台上的一个优秀的图形接口,他几乎支持所有的硬件,提供了统一的API接口,很好地实现了硬件无关性,他可以直接操作显存,而且还留有提供图形加速功能的接口,运行时不需要root权限;FrameBuffer的设备节点是/dev/fb*,用户若要使用他,需要在编译内核时选中FrameBuffer,其简单的使用程序如下:
从vinfo和finfo中取得显存起始地址、分辨率、色深等信息,然后根据这些计算出需映射显存的大小。
由此便可直接操作大小为screensize,起始地址为fbp的内存区域,在LCD上直接显示图像、图形、文字等,例如执行memset(fbp,0,screensize)将进行清屏操作。
需要注意的是,对于色深为8位或8位以下的设备,在进行绘图操作前还需要设置合适的调色板,操作调色板要用到fb_camp结构,执行ioctl(fd,FBIOGETCMAP,&old_cmap)将保存调色板信息,执行ioctl (fd,FBIO-PUTCMAP,&new_cmap)将设置新的调色板。
以下介绍如何显示一个象素,这里假设LCD 为24位色的。
由此便可逐一显示每个象素,进而显示整幅图像。
5 结语
由于Linux的驱动模型支持模块堆叠技术,内核开发者已提供了一些通用模块,因此,虽然文中是以USB摄像头为例,但只要针对自己的图像采集设备编写基于Video4 Linux的驱动程序,针对自己的LCD 编写基于FrameBuffer的驱动程序,以上的程序便可成为通用的图像采集与显示程序。
应用本文所述方法完成图像采集与显示工作,再加上相关的处理并接入网络,就构成了一个智能终端设备,可用于工厂、银行等场合全天候的智能监控,图像的网络通信等,具有广阔的是市场和应用前景。