欢迎光临散文网 会员登陆 & 注册

ARM体系学习1

2021-09-16 21:53 作者:秋名山西  | 我要投稿

      ARM处理器是一块RISC架构微处理器,虽然名字是微处理器,但是其功能却不“微”。这款嵌入式微处理器,与我们的生活息息相关,想不到吧,手机之所以能做到功能丰富、小巧轻便,就是靠ARM微处理器支撑起来的。接下来我们就作一些关于ARM体系结构的简单介绍。

    ARM微处理器属于精简指令集(RISC)阵营著名代表有ARM、苹果等公司,与之相对的就是复杂指令集,该阵营的著名代表为Intel公司。所谓的精简指令集与复杂指令集(CISC),简单理解就是两种不同的处理器设计理念。

        复杂指令集,致力于在硬件上实现尽可能所的指令运算电路,尽可能做到一条指令对应一个实际处理电路,这样做的好处带给了处理器十分强大的处理能力,指令集丰富,编译器设计难度小。弊端就是电路过于庞大,价格高,功耗高散热难度大。

        而精简指令集则只在硬件上实现基本的指令电路,其指令集也就只包含了基本的指令,其他的功能则需要使用这些基本的指令进行组合来实现。这样做的好处是电路足够简单,价格和功耗都能得到较好的解决。

    因此,CISC和RISC分别占据了不同的市场,其中CISC处理器主要占据了服务器和PC市场,RISC则占据了嵌入式相关的市场。但是随着RISC的不断发展,其也在逐渐向CISC的市场进行渗透。

ARM微处理器一般有ARM状态、Thumb状态、Thumb2状态这三种,并可以进行来回切换。其中ARM状态的处理器执行的是字对齐的ARM指令,Thumb执行的是半字对齐的Thumb指令,而Thumb2可以执行字对齐、半字对齐的混合对齐的指令。

        ARM体系结构的存储格式可以分为大端格式和小端格式。在大端格式中,数据的高字节存储在低地址中,数据的低字节存储在高地址中。而小端格式下,低地址存放的是数据的低字节,高地址存放的是数据的高字节。为便于理解,这里我们可以假设将0x1234存为char类型,则有如下示意图可以帮助理解大端存储和小端存储的不同。

    简单理解就是,从低地址开始,大端存储倒着放,小端存储顺着放。这样的存储方式也决定了各自的优势,大端存储的数据适合用于数据的政府判断,毕竟低地址第一位就是数据的符号位,网络通信中使用较多,例如tcp/ip通信中就有采用。小端存储则多被Intel pc机上采用。

    说完了存储模式,再来说说ARM存储器的七种运行模式,分别为

用户模式(usr):非特权模式,大部分任务在此模式下执行

系统模式(sys):使用和usr模式相同寄存器集的特权模式。

两种中断模式:分为快速中断和普通中断。普通中断属于通用的中断处理模式,快速中断用                        于高 速数据传输等快速中断处理。

三种异常模式:

监控(Supervisor) :当复位或软中断指令执行时将会进入这种模式

异常(Abort ): 当存取异常时,系统将会进入读取数据异常或者指令异常对应的处理程序中。

未定义模式(Undef) : 当执行未定义指令时会进入这种模式

以上七种模式,处理sys模式需要程序员编写指令进入,cpu无法自行进入外,其他模式cpu都可以自行进行。

好了,今天就到这里,未完待续..........


ARM体系学习1的评论 (共 条)

分享到微博请遵守国家法律