2.1 介绍

  

arm 处理器架构 arm处理器工作原理_数据总线

  ARM核心的基本结构指ARM架构显示处理器中处理的数据大小、指令架构、寄存器等的结构和运行原理

  ARM核心是利用ARM架构的基本原理实现的处理器核心部分。

  ARM的主要架构如下:

  

arm 处理器架构 arm处理器工作原理_地址总线_02

  

arm 处理器架构 arm处理器工作原理_数据总线_03

  ARM架构和ARM核心,以及架构所包含的硬件特性间的关系如下:

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_04

  

arm 处理器架构 arm处理器工作原理_寄存器_05

2.1.1 处理器命名规则

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_06

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_07

  

arm 处理器架构 arm处理器工作原理_数据总线_08

2.2 处理器内部结构

  ARM处理器的内部结构如图:

  

arm 处理器架构 arm处理器工作原理_寄存器_09

  

arm 处理器架构 arm处理器工作原理_寄存器_10

  • 执行的指令和数据通过地址总线和数据总线输入核心。
  • 冯*诺依曼体系结构体:将地址总线和数据总线并用的形态
  • 哈佛体系结构:将地址总线和数据总线分用的形态  

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_11

  ARM指令由2个源寄存器和1个结果寄存器组成,连接到ALU(算术逻辑单元)的两侧总线相当于从2个源寄存器进行的输入。

  柱式位移器在输入ALU之前执行数据的预处理任务。

  ALU会读取输入的值,执行运算并输出结果。

  数据处理指令在寄存器中存储运算结果,负载存储指令读取地址寄存器中的地址,并将其送到地址总线。

2.3 处理器模式

  

arm 处理器架构 arm处理器工作原理_地址总线_12

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_13

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_14

  

arm 处理器架构 arm处理器工作原理_寄存器_15

  

arm 处理器架构 arm处理器工作原理_寄存器_16

  CPSR显示程序执行时的状态,用于保存条件位,各位将保存算数及逻辑运算结果,从而表示条件分支指令。

  CPSR由标志(FLAG)、状态(STATUS)、扩展(EXTENSION)、控制(CONTROL)组成,各8位。状态域和扩展域是为以后使用而保留的部分。

  

arm 处理器架构 arm处理器工作原理_地址总线_17

  

arm 处理器架构 arm处理器工作原理_地址总线_18

2.4 处理器异常

  

arm 处理器架构 arm处理器工作原理_地址总线_19

  

arm 处理器架构 arm处理器工作原理_地址总线_20

  

arm 处理器架构 arm处理器工作原理_地址总线_21

2.5 硬件扩展功能

2.5.1 缓存  

   

arm 处理器架构 arm处理器工作原理_arm 处理器架构_22

  

arm 处理器架构 arm处理器工作原理_寄存器_23

2.5.2 内存管理装置

  

arm 处理器架构 arm处理器工作原理_寄存器_24

2.5.3 协处理器

  

arm 处理器架构 arm处理器工作原理_数据总线_25

  

arm 处理器架构 arm处理器工作原理_寄存器_26

  使用MRC或MCR等指令从协处理器内部各寄存器向ARM寄存器执行读写。

 2.6 环境

2.6.1 ctags

  对内核生成 tags 标签。

  确认 tags.sh 文件是否存在。

  ls -al ./scripts/tags.sh

  确认后,执行 make 命令生成 ARM 标签。

  make tags ARCH=arm

  

arm 处理器架构 arm处理器工作原理_数据总线_27

  

arm 处理器架构 arm处理器工作原理_寄存器_28

  tags 文件域的意义

  

arm 处理器架构 arm处理器工作原理_寄存器_29

  ctags 命令

  

arm 处理器架构 arm处理器工作原理_数据总线_30

arm 处理器架构 arm处理器工作原理_寄存器_31

 

2.6.2 cscope

  安装cscope: sudo apt-get install cscope

   构建cscope数据库。 make cscope ARCH=arm .会生成四各文件,如下

  

arm 处理器架构 arm处理器工作原理_arm 处理器架构_32

  

arm 处理器架构 arm处理器工作原理_寄存器_33

  

arm 处理器架构 arm处理器工作原理_数据总线_34

  

arm 处理器架构 arm处理器工作原理_寄存器_35

 2.6.3 联动tags 和cscope

  需要Souce explorer 插件:srcexpl.vim

   cs find s 函数名