- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
嵌入式微处理器体系结构
嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统RISC和复杂指令集系统CISC。
冯·诺依曼体系结构和哈佛体系结构;
(1)冯·诺依曼结构的计算机由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,程序指令和数据的宽度相同。程序计数器(PC)是CPU内部指示指令和数据的存储位置的寄存器。
(2)哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。提高执行速度,提高数据的吞吐率,具有较高的执行效率。
2、CISC和RISC
类别 CISC RISC
指令系统 指令数量很多 较少,通常少于100
执行时间 有些指令执行时间很长,
如整块的存储器内容拷贝;
或将多个寄存器的内容
拷贝到存贮器 没有较长执行时间的指令
编码长度 编码长度可变,1-15字节 编码长度固定,通常为4个字节
寻址方式 寻址方式多样 简单寻址
操作 可以对存储器和寄存器只能对寄存器对行算术和逻辑操作,
进行算术和逻辑操作Load/Store体系结构
编译 难以用优化编译器生成
高效的目标代码程序 采用优化编译技术,生成高效的目标代码程序
二、ARM状态各模式下的寄存器
1、所有的37个寄存器,分成两大类:
(1)31个通用32位寄存器;
(2)6个状态寄存器。
2、R0~R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。
3、寄存器R8~R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器
4、寄存器R8~R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度
5、寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。
处理器工作模式
ARM处理器有7种工作模式;
●usr(用户模式):ARM处理器正常程序执行模式。
●fiq(快速中断模式):用于高速数据传输或通道处理
●irq(外部中断模式):用于通用的中断处理
●svc(管理模式):操作系统使用的保护模式
●abt(数据访问终止模式):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
●sys(系统模式):运行具有特权的操作系统任务。
●und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(PrivilegedModes);其中除去用户模式和系统模式以外的5种又称为异常模式(ExceptionModes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。
2、除用户模式外,其它模式均为特权模式。ARM内部全部系统资源和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。
3、此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
ARM异常处理
1、当异常产生时,ARM核:
(1)拷贝CPSR到SPSR_mode
(2)设置适当的CPSR位:
a.改变处理器状态进入ARM态
b.改变处理器模式进入相应的异常模式
c.设置中断禁止位禁止相应中断(如需要)
(3)保存返回地址到LR_mode
(4)设置PC为相应的异常向量地址
2、返回时,异常处理程序需要:
(1)从SPSR_mode恢复CPSR
(2)从LR_mode恢复PC
(3)注意:这些操作只能在ARM态执行.
ARM指令集
ARM寻址方式:掌握ARM微处理器9种寻址方式的特点。
(1).寄存器寻址
操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编号,寄存器的内容是操作数,指令执行时直接取出寄存器值操作。
例如指令:
M
您可能关注的文档
- 屏山县中医医院医疗违规处罚规定(修改稿).doc
- 嵌c基础Linux源代码.doc
- 嵌合抗原受体修饰T细胞(CAR-T细胞)制剂制备质量管理规范(征求意见稿).docx
- 嵌入式091三月份基层团组织创意大赛总结.doc
- 嵌入式Linux操作系统学习规划.docx
- 嵌入式linux基本操作实验一的实验报告.docx
- 嵌入式linux实验二.doc
- 嵌入式Linux系统开发教程很完整的习题答案.doc
- 嵌入式MP3播放器设计.doc
- 嵌入式操作系统.doc
- 2024_2025学年高中语文第四单元古典诗歌118汉乐府两首上邪教案3粤教版必修1.doc
- 2024年江苏省沛县施工员之设备安装施工基础知识资格考试必背200题题库及答案【真题汇编】.docx
- 教科版四年级科学上册第三单元《运动和力》测试卷及答案(含六套题)完整版724272333.pdf
- 河北省石家庄第二中学2024年高三冲刺模拟语文试卷含解析.pdf
- 2023-2024年四川省绵竹市施工员之设备安装施工基础知识资格考试必背200题王牌题库附答案.docx
- 起重机械安全管理人员和作业人员考核大纲.pdf
- 金属塑性成型原理知到课后答案智慧树章节测试答案2025年春江西理工大学.docx
- 2024黑龙江省施工员之设备安装施工基础知识考试必刷200题题库大全及答案【新】.docx
- 2024年实习期劳动合同官方版(三篇).pdf
- 2024年江苏省栖霞区施工员之设备安装施工基础知识资格考试完整版附参考答案(培优).docx
文档评论(0)