教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社
目录:
体系结构
ARM 是典型的 RISC 体系,许多指令能够在单周期内执行
高速缓存内核
MPU – 内存保护单元
控制内存访问权限控制内存区域的属性(cacheable, bufferable)MMU – 内存管理单元
具有MPU的所有特性;提供虚拟地址到物理地址的转换Cache(高速缓存)
快速的本地内存;存放最近被访问过的内存的副本TCM – 紧耦合内存
快速的本地内存;特定的地址范围Write buffer(写缓存区)
减少了写数据到外部内存的次数
ARM 体系结构的发展
- 相同体系可能有完全不同的实现
- ARM7TDMI - arch v4T. 冯诺依曼结构,3级流水线,CPI 约为 1.9
- ARM920T - arch v4T. 哈佛结构,5级流水线,具有MMU
- TDMI 的含义
- T —— 支持 Thumb
- D —— 支持片上 Debug
- M —— 内嵌硬件乘法器
- I —— 嵌入式 ICE,支持片上辅助调试
指令流水线
- 将指令执行分为若干阶段,增加处理器指令流的速度
- ARM7TDMI 有三级流水,指令的执行分解为指令预取、指令译码、指令执行三个阶段
- 允许多个操作同时处理,而非顺序执行
- 处理器内核中都有一个程序计数器 PC,指向正被取的指令,而非正在执行的指令
- ARM7TDMI 和 ARM9TDMI 流水线的变化
ARM 处理器内核
ARM7TDMI
ARM9TDMI
ARM9E 处理器核
ARM11系列
Cortex 系列
内存及 IO
数据、状态、控制信息都是通过 CPU 的数据总线传送,存在 I/O 接口的不同端口中(数据、状态、控制端口)
CPU与I/O设备之间的接口信息
-
I/O端口的编址方法
存储器映射编址
I/O 端口的地址与内存地址统一编址,即 I/O 单元与内存单元在同一地址空间I/O 映射编址
I/O 端口与内存单元分开编址,即 I/O 单元与内存单元都有自己独立的地址空间两种方式的比较
ARM 的寻址空间是线性的地址空间,为 2^32 = 4G
Bytes 0 to 3 存储第一个 word,bytes 4 to 7 存储第二个 word
ARM 的I/O端口都是内存映射的方式,即对I/O端口的访问与内存的访问的方式完全一样
通常将 I/O 所映射的存储系统标识为非高速缓存(uncachable)和非缓冲(unbufferable)