ARM基础(一)

本文详细介绍了ARM处理器的相关概念,包括CPU核心的功能划分、SOC芯片的概念、ARM处理器的不同应用方向及其内核特性,还深入探讨了ARM处理器的工作模式和寄存器布局。

目录

1.cpu核

1.1通过功能cpu核分为:

1.1.1主频

1.1.2高速缓存

1.1.3多核集成

1.1.4硬件浮点运算

1.1.5数据运算

1.1.6功耗

1.1.7机器码设计

2.SOC芯片

3.ARM处理器

3.1ARM处理器内核

        3.1.1RISC结构特性

        3.1.2CISC结构特性

4.ARM的编程模型

        4.1ARM处理器的七个基本工作模式

                4.1.1User(用户模式)

                4.1.2System(系统模式)

                4.1.3Abort(中止模式)

                4.1.4Undef(未定义模式)

                4.1.5FIQ(快速中断模式)

                4.1.6IRQ(中断模式)

                4.1.7SVC supervisor(管理模式)

                4.1.8Cortex中特有的模式——Monitor(安全模式)

        4.2寄存器

                4.2.1寄存器用途细分


1.cpu核

1.1通过功能cpu核分为:

        主频、高速缓存、多核集成、硬件浮点运算、数据运算、功耗、机器码设计

1.1.1主频

        

1.1.2高速缓存

        处于cpu与内存间,存储处理器近期可能使用数据。(for循环是放在高速缓存中的)

1.1.3多核集成

        在一个处理器中集成多个完整的计算引擎——内核,通过一个总线控制器提供所有总线控制信号和命令信号,即由总线控制器控制所有的核。

1.1.4硬件浮点运算

        硬件执行浮点操作,即为硬件浮点运算

        硬浮点:有单独的硬件浮点运算单元——FPU,编译器直接将代码编译成为能被FPU识别的指令,ARM在执行这些指令的时候直接转给协处理器执行。通常FPU有一套额外的寄存器来实现浮点的传递与运算。

协处理器——协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。

1.1.5数据运算

        一般进行+,-,*运算,/运算还是较为困难。

1.1.6功耗

        功耗需要尽量低。

1.1.7机器码设计

        早期机器码设计通过打孔表示01,后来电路要么开要么关即01代表高电平与低电平。由于不同公司设计的机器码不一样,因此没有根据机器码来写的C语言可以移植,而汇编不可移植,编译器会翻译成机器码。        

2.SOC芯片

        (system on chip)片上系统,意思是它是是一个产品,它具有专用目标的集成电路,其中包含完整系统的全部内容。组成单元为CPU核+外围控制器。例如:德州仪器,高通,三星,华为海思,联发科等都是做的SOC芯片。

3.ARM处理器

        ARM处理器在芯片上的应用方向主要为:高性能方向,实时方向,低功耗、低成本的微控制器方向。

3.1ARM处理器内核

        3.1.1RISC结构特性

                RISC(Reduced Instruction Set Computer)——精简指令集处理器,发展方向为令计算机结构更加简单及处理速度更加快速。在功耗、体积、价格等方面有很大优势,多用于嵌入式领域。

        3.1.2CISC结构特性

                CISC——复杂指令集处理器,侧重于硬件执行指令的功能性,CISC指令及处理器的硬件结构复杂,在处理能力上有很大优势。多用于个人电脑处理器。

4.ARM的编程模型

        4.1ARM处理器的七个基本工作模式

                

                除了用户模式与系统模式外的模式称为异常模式               

                4.1.1User(用户模式)

                        非特权模式,大部分任务执行在这种模式中。

                

                4.1.2System(系统模式)

                        使用和user相同寄存器集的特权模式,操作系统的一些特权任务可以用这个模式执行。

                

                4.1.3Abort(中止模式)

                        当存取异常时会进入这个模式。用于支持虚拟内存或存储器保护,当用户程序访问非法地址或者没有权限读取的内存地址时候会进入该模式。

                4.1.4Undef(未定义模式)

                        当执行未定义指令时候会进入这个模式。该模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作会进入未定义模式。

                

                4.1.5FIQ(快速中断模式)

                        当一个高优先级(fast)中断产生时候会进入这个模式。用来处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理中。

                4.1.6IRQ(中断模式)

                        当一个低优先级(normal)中断产生时候将会进入该模式。用来处理一般中断请求,该模式也称为特权模式,可以自由访问系统硬件资源。

                

                4.1.7SVC supervisor(管理模式)

                        当复位或者软中断(软件中断)指令执行时候会进入该模式,该模式是CPU上电后的默认模式,因此在该模式下主要用来做系统的初始化。当用户模式下的用户程序请求使用硬件资源时候,通过软件中断进入该模式。

                4.1.8Cortex中特有的模式——Monitor(安全模式)

                        为了安全而扩展出来的用于执行安全监控代码的模式;也是一种特权模式。

        4.2寄存器

                CPU内部的存储单元。

                在ARM体系结构下,ARM架构提供37个32-bits的寄存器,布置在不同的组中,由当前所处模式决定哪一组被操作。在任何一种模式下内核都能进行存取。

               

                4.2.1寄存器用途细分

 

                        R0-R10   存放用户数据;

                        R11  (fp)         用来记录一个栈空间开始地址;

                        R12  (ip)      用来临时存放堆栈指针;

                        R13  (sp)(私有)         用作堆栈指针。每一种模式都有自己的R13,即每一种模式

                        都有自己的堆栈指针;

                        R14   (lr)(私有)         用作连接寄存器(返回地址);

                        R15   (pc)                      用作程序计数器。

                        CPSR                            存储当前内核状态和模式标示。

                        SPSR                           当异常发生时候,保存发生前的CPSR值,可以让处理器返

                        回异常发生之前的状态。(系统模式和用户模式没有)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值