1 / 24

回 顾

回 顾. 第五章 ARM 及 Xscale 体系结构. 5.1 RISC 与 CISC 5.2 处理器总线结构与 ARM 总线 5.3 ARM 处理器的存储器层次 5.4 ARM 的 I/O 与中断处理 5.5 ARM 处理器的寄存器组织 5.6 ARM 处理器 CPU 组织结构 5.7 基于 JTAG 的 ARM 调试系统 5.8 ARM 系列综述. 5.4 ARM 的 I/O 与中断处理. 存储器映射 I/O 中断过程 ARM 中断响应的方式. 1. 存储器映射 I/O. ARM 采用存储器映像 I/O 的方式

dewei
Download Presentation

回 顾

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 回 顾

  2. 第五章 ARM及Xscale体系结构 • 5.1 RISC 与 CISC • 5.2 处理器总线结构与ARM总线 • 5.3 ARM处理器的存储器层次 • 5.4 ARM的I/O与中断处理 • 5.5 ARM处理器的寄存器组织 • 5.6 ARM处理器CPU组织结构 • 5.7 基于JTAG的ARM调试系统 • 5.8 ARM系列综述

  3. 5.4 ARM的I/O与中断处理 存储器映射I/O 中断过程 ARM中断响应的方式

  4. 1. 存储器映射I/O • ARM 采用存储器映像I/O的方式 • 对不同存储器地址的访问会影响到Cache和写缓冲的作用 • 把存储器映像I/O单元标识为Uncacheable和Unbufferable。 • 对I/o的访问通过调用SWI或通过C的函数库来使用这些调用。

  5. 2. 直接存储器存取DMA • DMA特点 • DMA方式下I/O数据块直接传送到存储器的缓冲区; • 比中断方式效率要高; • 高级ARM架构中使用。

  6. 3. 中断分类

  7. 4. 中断过程 • 基本中断处理流程; • I/O的中断处理过程; • 中断IRQ和快速中断FIQ。 • 为什么要使用FIQ。

  8. 5. 快速中断(FIQ)的使用 • 用于对I/O速率要求较高的事件; • FIQ在中断向量表中的位置 • 位于中断向量表的最后 (0x1C)位置; • 通过Cache锁操作,把中断向量与处理器程序一起锁定在Cache中; • FIQ快速中断异常模式中,有另外5个寄存器,用来提高FIQ中断响应速度。 • 对FIQ的请求响应时间 • 提高中断响应速度的设计方法

  9. 6. ARM的异常中断向量表

  10. 7. ARM异常中断响应过程 • 1. 将CPSR内容保存到SPSR中,各中断模式都有相应的物理SPSR寄存器; • 2. 设置当前的CPSR的相应位,包括: • 设置模式控制位[4:0],使处理器进入相应执行模式 • 设置中断标志CPSR[6]=1,禁止IRQ中断; • 当进入Reset或FIQ模式时,要置位CPSR[7]禁止FIQ中断 • 3. 将N+1指令地址保存到R14中; • 4. PC强制赋值到相应的中断矢量地址开始执行。

  11. 5.5 ARM处理器的寄存器组织 CPU的寄存器组织原理 ARM 的寄存器组织方式

  12. 用户可见寄存器 通用 数据 地址 条件代码 控制和状态寄存器 程序计数器PC: 待取指令地址 指令寄存器IR: 当前取来的指令 存储地址寄存器 MAR: 含有存储器位置的地址 存储缓冲寄存器 MBR: 含有将被西尔存储器的数据字或最近读出的字 程序状态字PSW 1. CPU的两类寄存器

  13. 2. 控制寄存器在指令周期中的使用----取指周期

  14. 3. 程序状态字寄存器(PSW) PSW一般含有条件代码加上其他状态信息,一般有如下: • 符号(sign) • 零 (zero) • 进位 (carry) • 等于 (equal) • 溢出 (overflow) • 中断允许/禁止 • 监督(supervisor)指出CPU是执行在监督模式还是用在用户模式中。某些特权指令只能在监督模式中能够执行。

  15. 4. ARM处理器工作模式

  16. 5. ARM的寄存器使用 • ARM的32位寄存器 • ARM的Thumb寄存器使用 • ARM的状态寄存器(PSW)

  17. 小 结

  18. 典型I/O中断处理流程 设备控制器或其 他硬件发出中断 保存处理器 状态信息 处理器结束当 前指令执行 处理中断 硬件 软件 处理器发出 中断认可信号 取回处理器 状态信息 PSW和PC入栈 取回原PSW和PC 装入基于中断 的新PC值

  19. 中断操作过程演示 Y T-M T-M 控制栈 控制栈 PC PC T T Y Y 中断服务例程 中断服务例程 Y+L Y+L GPR GPR N N 栈指针 栈指针 用户程序N+1 用户程序N+1 处理器 处理器 T T-M a.中断在指令N时出现 b. 由中断返回

  20. 对FIQ的请求响应时间 • FIQ的请求响应时间最长为28个周期: • 请求信号通过FIQ同步锁住时间:3 cycle; • 最长指令执行完成: 20 cycle; • 数据终止进入时间(数据终止优先级高于FIQ): 3 cycle; • 快速中断FIQ进入时间: 2 cycle; • 快速中断FIQ的入口,其最快处理器时间为4 cycle • 如果考虑到MMU的开销,由于MMU中写缓冲,Cache和TLB未命中等因素,最坏FIQ中断响应87cycle。

  21. 提高中断响应速度的设计方法 • 1. 提供大量的后备寄存器,在中断响应及返回时,作为保护现场和恢复现场的文本切换之用(Context Switching) • 2. 采用片内RAM的结构,这样可以加速异常处理的进入时间 • 3. Cache和TLB采用锁定方式,以确保中断处理等临界编码段不受未命中所产生的影响。

  22. ARM的32位寄存器文件 用户 系统 管理 中止 未定义 IRQ FIQ R8_fiq R9_fiq R10_fiq R11_fiq R12_fiq R13_fiq R13_IRQ R13_und R13_abt R13_svc R14_fiq R14_abt R14_und R14_irq R14_svc SPSR_irq SPSR_svc 未用 SPSR_fiq SPSR_und SPSR_abt

  23. ARM Thumb状态下寄存器文件 用户 系统 管理 中止 未定义 IRQ FIQ 通用寄存器和程序计数器 R0 R1 R2 R3 R4 R5 R6 R7 R13_fiq R13_IRQ R13(SP) R13_abt R13_und R13_svc R14_abt R14_und R14_fiq R14_irq R14(LR) R14_svc R15 状态寄存器 CPSR 未用 SPSR_irq SPSR_svc SPSR SPSR_abt SPSR_und SPSR_fiq

  24. ARM的PSW 条件码标志位 控 制 位 Overflow 模式位 Carry Zero Negative 工作状态位:“1”为Thumb FIQ禁止:“1”为禁止 IRQ禁止:“1”为禁止

More Related