二、ARM处理器
2.1 介绍
ARM核心的基本结构指ARM架构显示处理器中处理的数据大小、指令架构、寄存器等的结构和运行原理
ARM核心是利用ARM架构的基本原理实现的处理器核心部分。
ARM的主要架构如下:
ARM架构和ARM核心,以及架构所包含的硬件特性间的关系如下:
2.1.1 处理器命名规则
2.2 处理器内部结构
ARM处理器的内部结构如图:
- 执行的指令和数据通过地址总线和数据总线输入核心。
- 冯*诺依曼体系结构体:将地址总线和数据总线并用的形态
- 哈佛体系结构:将地址总线和数据总线分用的形态
ARM指令由2个源寄存器和1个结果寄存器组成,连接到ALU(算术逻辑单元)的两侧总线相当于从2个源寄存器进行的输入。
柱式位移器在输入ALU之前执行数据的预处理任务。
ALU会读取输入的值,执行运算并输出结果。
数据处理指令在寄存器中存储运算结果,负载存储指令读取地址寄存器中的地址,并将其送到地址总线。
2.3 处理器模式
CPSR显示程序执行时的状态,用于保存条件位,各位将保存算数及逻辑运算结果,从而表示条件分支指令。
CPSR由标志(FLAG)、状态(STATUS)、扩展(EXTENSION)、控制(CONTROL)组成,各8位。状态域和扩展域是为以后使用而保留的部分。
2.4 处理器异常
2.5 硬件扩展功能
2.5.1 缓存
2.5.2 内存管理装置
2.5.3 协处理器
使用MRC或MCR等指令从协处理器内部各寄存器向ARM寄存器执行读写。
2.6 环境
2.6.1 ctags
对内核生成 tags 标签。
确认 tags.sh 文件是否存在。
ls -al ./scripts/tags.sh
确认后,执行 make 命令生成 ARM 标签。
make tags ARCH=arm
tags 文件域的意义
ctags 命令
2.6.2 cscope
安装cscope: sudo apt-get install cscope
构建cscope数据库。 make cscope ARCH=arm .会生成四各文件,如下
2.6.3 联动tags 和cscope
需要Souce explorer 插件:srcexpl.vim
cs find s 函数名
二、ARM处理器的更多相关文章
- 二、冯式结构与哈佛结构及ARM处理器状态和处理器模式
2.1 冯式结构与哈佛结构 2.1.1 两者的区别 如果是独立的存储架构和信号通道那就是哈佛结构,否则就是冯式结构 结构与是否统一编址没有关系,也与 CPU 没有关系,与计算机的整体设计有关 CACH ...
- 基于ARM处理器的反汇编器软件简单设计及实现
写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...
- 【嵌入式开发】ARM 芯片简介 (ARM芯片类型 | ARM处理器工作模式 | ARM 寄存器 | ARM 寻址)
: 12MHz 晶振 对应 405 ~ 532 MHz 处理速度; -- : 16K 指令缓存, 16K 数据缓存; -- : 32KB 指令缓存, 32KB 数据缓存; (3) 内存接口对比 : 提 ...
- ARM处理器解析
按图分析: ARM处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏.不同模式可以访问的寄存器不同,可以运行的指令不同. (1)user(10000):普通应用程序运行的模式(应用程 ...
- 热烈祝贺华清远见《ARM处理器开发详解》第2版正式出版
2014年6月,由华清远见研发中心组织多名业 内顶尖讲师编写的<ARM处理器开发详解>一书正式出版.本书以S5PV210处理器为平台,详细介绍了嵌入式系统开发的各个主要环节,并注重实践,辅 ...
- ARM处理器的寄存器
在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节:每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节.整个过 ...
- ARM 处理器的几个相关术语
生产ARM的厂商很多,自然ARM处理器的名字就五花八门.但是,它们有些共同点,那就是:架构和核心. 架构这个概念太宽不太懂,一般不同的架构会有不同的指令集,在不同的架构下面还可以有多种核心.核心就是指 ...
- ARM处理器模式
ARM处理器模式 ARM处理器共有7种运行模式: l 用户模式(User,usr):正常程序执行的模式 l 快速中断模式(FIQ,fiq):用于高速数据传输和通道处理 l 外部中断模式(IRQ, ...
- ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】
转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常 ...
随机推荐
- [代码]Delphi实现窗体内嵌其他应用程序窗体
实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达成了内嵌的效果. 本文实现的是内嵌一个记事本程序, ...
- BZOJ1895Pku3580 supermemo——非旋转treap
题目描述 给出一个初始序列fA1;A2;:::Ang,要求你编写程序支持如下操作: 1. ADDxyD:给子序列fAx:::Ayg的每个元素都加上D.例如对f1,2, 3,4,5g执行"AD ...
- UVA11401-Triangle Counting-递推
给出一个数字n,计算从1到n能组成几个不同的三角形. n的范围是10^6,大概就是递推吧.从F[i-1]到F[i]可以线性求出.要注意结果超出int. #include <cstdio> ...
- ajax 提交字符串到后台 反序列化
MVC后台 或者 Webapi 都可以使用此方式 前台 @using (Html.BeginForm("Test","Test")) { <input t ...
- 【HDU 1021】Fibonacci Again(找规律)
BUPT2017 wintertraining(16) #5 A HDU - 1021 题意 There are another kind of Fibonacci numbers: F(0) = 7 ...
- linux 分区、目录及用途
主要分区: 目录 建议大小 格式 描述 / 10G-20G ext4 根目录 swap <2048M swap 交换空间 /boot 200M左右 ext4 Linux的内核及引导系统程序所需要 ...
- 字符串格式化format方法
通过位置参数传参 print('{}, {}'.format('KeithTt', 18)) # KeithTt, 18 位置参数可以通过索引调用 print('{1}, {0}'.format('K ...
- Java8的Stream流(一) --- 基础用法
Java8中的Stream Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象. Stream的特性及优点: 无存储. Stream不是一种数据 ...
- Android中用文件初始化sqlite 数据库(二)
博 androidsqlite启动时数据库初始化 方法1已经讲述了一种初始化数据库的方法 它的数据库初始化不是用sql语句,而是用一个现成的sqlite的二进制文件进行直接copy到Android系 ...
- BSGS
北上广深/拔山盖世算法. yaT+b = z mod p p为质数,Hash表存b,枚举a,复杂度p0.5 记得特判y = 0的情况. inline void solve3() { Hash::cle ...