ARM介绍

什么是ARM?

ARM即可以是一家芯片设计厂商的名字,也可以代表一类微处理器的通称,还可以表示为一种技术的名称(这个问题面试的时候可能问道)

1、ARM是一个公司:Advanced RISC Machine
    Acorn RISC Machine芯片:ARM

2、ARM内核
        对于任何一款ARM芯片,有两个部分,一个是ARM内核,一个是外设
        ARM内核:包含:寄存器组、指令集、总线、存储映射规则、中断规则和调试组件等
        外设:定时器、iic、uart等cpu直接的外部模块,由芯片厂商自己设计与ARM内核衔接

3.ARM体系/ARM架构:由ARM公司设计的ARM内核的结构,内核中的部件如何协调工作,执行程序。即ARM内核的设计方式就叫做架构

ARM体系架构

架构有很多种,常见的为

冯诺依曼架构
    冯诺依曼架构的核心:存储程序、顺序执行

哈弗架构
     哈弗架构把数据和程序分开编址

1、arm cpu工作模式以及寄存器
2、流水线
3、异常向量表(异常处理)
4、汇编指令

ARM体系架构中CPU如何运行程序

        我们知道,计算机中都是二进制,所以输入的是二进制,而

        ARM架构中就是通过arm指令集架构来控制CPU,指令集是arm体系结构(处理器结构设计)中最重要的一部分。对于32位处理器cpu,cpu获取到32位的内容,这32位的01代表什么作用,有什么意义,即32位不同的01序列,不同的值代表不同的机器指令(机器要执行什么),如果再arm体系架构中有指令集,在cpu内部知道每串01代表什么,cpu硬件能够完美解析并执行指令,如寻址、异常处理。

指令(机器指令):用二进制表示一串机器码,机器码表示一个特定的动作
        arm指令:有arm公司针对armcpu(arm体系架构)设计的指令
        指令集:指令的集合
        RISC:精简指令集,ARM架构使用精简指令集

        ARM指令:根据ARM汇编了解

 

ARM架构工作模式

        ARM处理器工作模式
        在Cotex系列之前,有7种工作模式
        在Cortex系列之后,有8种工作模式
        ARM架构设计多个工作模式,主要是为了应对CPU在执行时的意外情况

用户模式(user):用户程序的工作模式,运行在操作系统的用户态,不能操作其他硬件资源,只能执行处理自己的数据,也不能切换到其他模式,要切换到其他模式,只能产生中断或其他异常

系统模式(system):系统模式是特权模式,不受用户模式的限制。使用同一套寄存器。操作系统通过该模式使用户访问受限的资源

一般中断模式(IRQ):用于处理一般的中断请求。一般在硬件产生中断信号后会自动进入该模式,是一种特权模式,可以自由访问系统硬件资源
快速中断模式(FIQ):用于处理时间要求比较紧急的中断请求。一般在高速数据传输及通道种
        
管理模式(spuer visor):一般CPU上电之后会自动进入该模式,该模式主要完成系统的初始化,软中断也会进入该模式。如果在用户模式下可以通过软中断进入该模式,请求访问硬件资源

未定义模式(undefined):未定义指令中止。CPU在指令的译码阶段不能识别该指令操作时,则会进入该模式

终止模式非法访问(abort):当用户非法访问内存,没有权限读写内存地址时,会进入该模式

安全模式(monitor):为了安全而扩展出来的用于执行安全监控代码的模式


模式之间可以进行切换, 只要产生对应的异常就可以切换到对应的模式种

 

ARM寄存器
        寄存器:是一种特殊的存储器,在CPU内部,可以用来存储数据,但是存储的内容有一定作用
        对于Cortex A 有40个寄存器,每个寄存器有32bit
        对于寄存器是没有地址的,用编号表示
        
        对CPU内部的存储单元存在单位:
        word:字----32bit
        halfword:半字---16bit
        Byte:字节-----8bit

 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值