ARM基础原理
RISC微处理器和CISC微处理器的区别
RISC(Reduced Instruction Set Computer)是精简指令集计算机。
侧重点:如何使计算机的结构更加简单和如何使计算机的处理速度更加快速;
特点:指令数量少、简单指令、固定指令长度、减少指令格式和寻址方式、不用或少用微码控制、能耗较低;
应用:嵌入式处理器、各种移动终端。
CISC是复杂指令集计算机。
侧重点:硬件执行指令的功能性;
特点:指令数量多、设计复杂、能耗高;
应用:intel的处理器(电脑)。
ARM微处理器结构
ARM内核采用RISC体系结构。ARM体系结构的主要特征如下:
1、大量的寄存器;
2、 Load/Store体系结构;
3、每条指令都条件执行;
4、多寄存器的Load/Store指令;
5、能够在单时钟周期执行的单指令内完成一项普通的位移操作和一项普通的ALU操作;
6、通过协处理器指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型;
7、如果报Thumb指令集也当作ARM体系结构的一部分,那边还可以加上在Thumb体系结构中以高密度16位压缩形式表示指令集。
基本数据类型
ARM内核采用32位架构。基本数据类型有以下4种:
1、Byte : 字节, 8位;
2、HalfWord:半字,16位;
3、Word:字,32位;
4、 DoubleWord(Cortex-A支持):双字,64位。
ARM存储器的组织结
工作模式
ARM920T处理器的工作模式
除用户模式外,其余6种模式称为非用户模式或特权模式;用户模式和系统模式之外的5种模式称为异常模式。ARM处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
存储系统
1、提供多种类型的存储器件,如Flash、ROM、SRAM等;
2、Cache技术;
3、 写缓存技术(Write Buffer);
4、 虚拟内存和I/O地址映射技术。
流水线
处理器按照一系列步骤来执行每一条指令,典型的步骤如下:
1、从存储器读取指令(fetch);
2、 译码以鉴别它是属于哪一条指令(decode);
3、从指令中提取指令的操作数(这些操作数往往存在于寄存器中)(reg);
4、将操作数进行组合以得到结果或存储器地址(ALU);
5、如果需要,则访问存储器以存储数据(mem);
6、将结果写回到寄存器组中(res)。
流水线的分类:3级、5级、6级流水线。
3级流水线指令的执行过程
5级流水线指令的执行过程
6级流水线指令的执行过程
寄存器结构
ARM Cortex-A8处理器共有40个寄存器(32位),被分为若干个组(BANK),这些寄存器包括:
(1) 32个通用寄存器;
(2) 1个程序计数器(PC指针);
(3) 7个状态寄存器:1个CPSR当前程序状态寄存器,6个SPSR备份程序状态寄存器。