arm体系结构
文章平均质量分 78
leftover_crazy
这个作者很懒,什么都没留下…
展开
-
arm体系结构学习笔记 part2 -- 中断相关
中断分类: 1.由软件中断指令SWI引起的软件中断。SWI中断可以实现从用户模式到特权模式的切换。一般用于特权操作的系统程序。 2.由外设引起的硬件中断。arm有两个中断控制信号 一个是fiq一个是irq 。中断控制器是这两个中断和多个外部中断之间的桥梁。通过设置cpsr的6 7位可以使能或者禁止这两类中断。 中断响应时间: 外部中断信号发出到取出中断服务程序的第一条指令经历的时间。FIQ模式下备份寄存器最多,保证了FIQ不需要花更多的时间去备份寄存器数据,而ldm和stm的执原创 2010-12-05 19:21:00 · 1260 阅读 · 0 评论 -
arm体系结构学习笔记 part1--处理器模式与寄存器
ARM920T supports seven modes of operation: · User (usr): The normal ARM program execution state · FIQ (fiq): Designed to support a data transfer or channel process · IRQ (irq): Used for general-purpose interrupt handling · Supervisor (svc): Protected m原创 2010-12-04 22:25:00 · 2181 阅读 · 1 评论 -
arm体系结构学习笔记 part3 -- 异常处理机制
先来看看异常向量表: 这个表格给出了当异常发生时候的程序将跳转到的地址 以及跳转到该地址的同时arm核所处的异常模式以未定义异常为例当arm核执行时遇到未定义的指令时 程序将自动跳转到异常向量表中的0x00000004地址处执行 并将处理器切换为未定义模式 与此同时其实arm核还完成了cpsr到spsr_und的备份以及设置异常处理完毕的返回地址保存到lr_und而复位异常的跳转地址为0x0 这是每次系统重新加电的时候arm核总是从0x0地址开始取指令指令 而系统上电时系统所处的模式总是svc原创 2010-12-07 22:15:00 · 2548 阅读 · 1 评论 -
arm体系结构学习笔记 part4 -- 异常处理的返回
先来说说arm指令的处理过程:pc寄存器保存的总是当前正在取指的指令的地址。如果有如下指令序列S1,S2,S3,S4,S5这五条指令在内存中分布为:PC寄存器保存的总是当前正在取址的指令的地址,arm态下指令长度为4个字节,如图所示当前正在执行的指令为pc-8即pc的值为当前正在执行的指令加8同理在arm9五级流水的情况下:原创 2010-12-08 22:31:00 · 4211 阅读 · 1 评论