- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统应用 李 刚 ligang6867@ 北京科技大学信息工程学院 参考书 嵌入式计算机系统设计原理,computers as components, principles of embedded computing system design, wayne wolf, 机械工业出版社,2002 ARM嵌入式处理器结构与应用基础,马忠梅等,北航出版社,2002 嵌入式实时操作系统VxWorks及其开发环境Tornado,孔祥营等,中国电力出版社,2002 参考文献 嵌入式系统开发圣经,探矽工作室,中国青年出版社,2002 嵌入式Linux系统设计与应用.王学龙. 清华大学出版社,2001年 UC/OS-II-源代码公开的实时嵌入式操作系统.邵贝贝. 中国电力出版社,2001 可编程逻辑器件及设计理念,www.X 第二章、嵌入式系统体系结构 嵌入式指令集 嵌入式CPU 存储器 I/O设计 SOC 一、嵌入式指令集 嵌入式微处理器(EMPU) 嵌入式控制器(EMCU) 嵌入式数字信号处理器(EDSP) 在片系统/片级系统(SOC) 微处理器(ARM)/DSP(SHARC) 计算机系统体系结构 1、冯.诺依曼结构 五大部件: ALU/Controller/Memory/Input/Output 核心部件:CPU—Memory 存储程序(stored program) 计算机系统体系结构 指令执行次序: 顺序 跳转 程序计数器Program Counter(PC) 计算机系统体系结构 2、哈佛体系结构 程序与数据有单独的存储器 程序计数器只能指向程序存储器 目前仍然广泛应用 指令cache与数据cache 适用于实时信号处理(大部分DSP) 大量数据流入计算机 数据必须在精确的时间内处理完成 计算机系统体系结构 3、RISC与CISC CISC:复杂指令系统计算机 RISC:精简指令系统计算机 RISC 一般性能比CISC高 计算机系统体系结构 4、汇编语言种类 1). 堆栈型汇编 2). 累加器型汇编 3). 通用寄存器型汇编 嵌入式微处理器—ARM ARM:只设计内核的英国公司 属于RISC体系 自己不制造VLSI设备,只提供授权 ARM7采用冯.诺依曼体系 ARM9采用哈佛体系 对汇编程序员透明 32位长的字 4个8bit的字节 32位地址长度 可以配置为低序或者高序 字的最低位放最低位字节(低序) 字的最低位放最高位字节(高序) 嵌入式DSP处理器—SHARC 使用哈佛结构的嵌入式DSP处理器 SHARC存储器结构 SHARC指令48位 基本数据字32位 地址位32位 片上带大量的存储器 系列中的21061有1Mbit片上存储器 存储器包括 PM:程序存储器 DM:数据存储器 芯片外还能够加更多的存储器 SHARC数据类型 32位IEEE单精度浮点 40位IEEE扩展精度浮点 32位整数 主要设计为浮点密集型运算 适用DSP 改进的哈佛结构 程序存储器可以包含数据与指令 数据可以并行取出 SHARC体系结构 整数操作使用R0到R15—16个整数寄存器 浮点操作使用F0到F15—16个浮点寄存器 所有数据都是40bit,如果32位数据存储时,存在高32位。 三个数据功能单元 一个ALU 一个乘法器 一个移位器 整数运算 Rn=Rx+Ry 加 Rn=Rx-Ry 减 Rn=Rx+Ry+CI 进位加 Rn=Rx-Ry+CI-1 借位减 Rn=(Rx+Ry)/2 平均 COMP(Rx, Ry) 比较 Rn=Rx+CI 进位加 Rn=Rx+CI-1 借位加 Rn=Rx+1 加1 Rn=Rx-1 减1 Rn=-Rx 求反 Rn=ABS Rx 绝对值 Rn=PASS Rx 将Rx拷贝到Rn Rn=Rx and Ry 逻辑加 Rn=Rx or Ry 逻辑或 Rn=Rx xor Ry 逻辑异或 Rn=Not Rx 逻辑非 Rn=Min(Rx, Ry) 求最小值 Rn=Max(Rx, Ry) 求最大值 Rn=Clip Rx by Ry 在[-Ry,Ry]范围内截取Rx 溢出处理 溢出导致最大范围的值 不是循环 浮点运算 Fn=Fx+Fy Fn=Fx-Fy Fn=ABS(Fx+Fy) Fn=ABS(Fx-Fy) Fn=(Fx+Fy)/2 COMP(Fx, Fy) Fn=-Fx Fn=ABS Fx Fn=Pass Fx Fn=RND Fx 舍入 Fn=Scalb Fx by Ry 用Ry换算成Fx的指数 Rn=Mant Fx 提取Fx的尾数 Rn=LOGB Fx 把Fx的指数换算成整数 Rn
文档评论(0)