ARM体系结构:异常处理与入口/出口详解
需积分: 0 11 浏览量
更新于2024-08-20
收藏 4.19MB PPT 举报
"本文主要介绍了ARM体系结构,包括其异常入口和出口的处理方式,以及ARM微处理器的一些基本特征。ARM公司是著名的处理器内核设计商,授权合作伙伴生产基于ARM架构的芯片。ARM处理器特点包括支持Thumb/ARM指令集、多级流水线、内置缓存、灵活的数据存储格式和处理器模式等。"
异常处理在ARM体系结构中扮演着关键角色,不同的异常类型对应不同的处理方式和返回指令。当发生异常时,处理器会进入相应的处理器模式,并在退出异常时使用特定的指令恢复程序计数器(PC)以继续执行程序。
1. **BL指令**(Branch and Link): 当执行BL指令时,处理器会在PC+4的位置设置新的PC值,因为BL指令执行后通常会跳转到新的地址。对于Thumb指令集,PC会增加2个字节,而对于ARM指令集,PC会增加4个字节。
2. **软件中断(SWI)**: 当执行SWI指令时,处理器会执行MOVS PC, R14_svc指令,进入服务模式(svc),并更新PC值为PC+4,这通常用于执行操作系统服务调用。
3. **未定义的指令**: 如果执行到未定义的指令,处理器会执行MOVS PC, R14_und,同样进入未定义模式(und),PC值更新为PC+4。
4. **预取指中止**: 发生预取指中止时,SUBS PC, R14_abt, #4指令被用来处理,处理器进入中止模式(abt),PC值设为当前指令地址加4,这是因为预取指中止通常涉及到预取的下一条指令。
5. **快中断(FIQ)**: 快中断使用SUBS PC, R14_fiq, #4,进入快中断模式(fiq),PC值设为当前指令地址加4,用于高速数据传输或硬件中断。
6. **中断(IRQ)**: 中断处理使用SUBS PC, R14_irq, #4,进入中断模式(irq),PC值同样设为当前指令地址加4,用于常规中断处理。
7. **数据中止**: 数据中止导致SUBS PC, R14_abt, #8,进入中止模式(abt),此时PC值设为引起数据中止的指令地址加8,因为它可能涉及到加载或存储指令。
8. **复位**: 复位不涉及具体的返回指令,因为复位时R14_svc中的值是不可预知的,处理器会从一个固定的地址开始执行。
ARM体系结构的其他特性包括:
- **ARM/Thumb双指令集**: 支持16位的Thumb指令集和32位的ARM指令集,提供了代码尺寸和性能之间的平衡。
- **流水线技术**: ARM处理器通常采用三级或五级流水线,提高指令执行效率。
- **缓存**: 内置指令和数据缓存,提升数据访问速度。
- **字节序**: 支持大端和小端两种字节存储方式,适应不同系统需求。
- **数据类型**: 支持字节、半字和字三种数据类型。
- **处理器模式**: 包括用户模式、系统模式、FIQ模式、IRQ模式、 svc模式、und模式和abt模式,用于不同级别的权限和异常处理。
- **嵌入式在线仿真**(ICE-RT): 便于调试和开发。
- **AMBA总线架构**: 提供标准的片上系统互连方案。
- **存储器映像**: 描述了处理器如何访问和组织内存。
ARM处理器的这些特性使其广泛应用于嵌入式系统,从移动设备到工业控制等各种领域。通过授权合作模式,ARM公司与众多半导体制造商合作,将ARM内核整合到各种芯片中,满足不同市场的特定需求。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-03-29 上传
2021-01-27 上传
2018-08-05 上传
清风杏田家居
- 粉丝: 21
- 资源: 2万+
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍