ARM体系结构:异常处理与入口/出口详解

需积分: 0 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内核整合到各种芯片中,满足不同市场的特定需求。