大家好,欢迎来到IT知识分享网。
从1985年世界上第一代32位、6MHz的ARM处理器问世至今,短短34年的时间,ARM席卷全球移动电子设备。据报道,全世界99%的智能手机和平板电脑都采用ARM架构,约有43亿人每天都会触摸一台搭载ARM芯片的设备,占全球总人口的60%。那么,今天我们来聊一聊ARM处理器,在文章中,我会比较多的那DSP来和ARM做一些对比。
ARM的硬件架构
现今的大多数计算机依然采用的是比较传统的冯*洛伊曼结构,其特点程序空间和数据空间不独立,都存储在存储器中。相信学习过汇编语言的读者,对这一点会深有感触,在用汇编语言编写程序的时候,对地址的分配是要主要的。ARM7采用的就是这种结构。
在ARM9以及大多数的DSP中,应用的比较多的却是另一种结构,哈佛结构,其特点是程序空间和数据空间相互独立,提供了较大的数存储宽带,比较适合对一些数字信号的处理。
处理器的分类
在目前的处理器中一般分为CISC和RISC两大系列。
CISC是复杂指令集处理器,其最大的不合理之处在于,随着计算机技术的不断发展,各种指令集越来越多,但是常用的指令集只占源代码的20%,剩余的80%不常用。
为了改变这种不合理,RISC即精简指令集处理器,横空出世。其通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单,尽量使用单周期指令,便于流水线操作执行。
在这简单谈一下流水线技术,总结一下其特点在于几个指令能够并行执行,内部信息流要求通畅流动,这样就提升了CPU的运行速度。在ARM7系列中采用的一般为3级流水线,即预取——译码——执行,在ARM9系列中采用预取——译码——执行——访问——写回,在ARM10中采用预取——发射——译码——执行——访问——写回,在ARM11中采用预取—预取—发射——译码——转换——执行——访问——写回。
ARM处理器的寄存器结构
ARM处理器共有37个寄存器,被分为若干个组。其中31个为通用寄存器,包括程序计数器等,都为32位。6个为状态寄存器,用来标示CPU的工作情况即程序的运行状态,都为32位。
ARM处理器共有7种不同的处理器模式,即用户模式、管理模式、未定义模式、中止模式、特权模式、irq模式,fiq模式。
在每一种处理器模式中有一组相应的寄存器。任意时刻(也就是任意的处理器模式下),可见的寄存器包括15个通用寄存器(R0~R14)、一个或者两个状态寄存器以及程序计数器(PC)。
在所有的寄存器中,部分寄存器在各模式下,共用同一个物理寄存器;部分寄存器在各模式下,拥有独立的物理寄存器。
ARM处理器的指令结构
ARM微处理器支持两种指令集,即ARM指令集和THUMB指令集。ARM指令集长度为32位,THUMB指令集长度为16位。
THUMB指令集为ARM指令集的功能子集。它和等价的ARM代码相比能够节省30%—40%的空间,并且具有32位代码的所有优点,但是需要的运行时间较长。
ARM代码向THUMB代码跳转要通过BX指令,通过对数据项的最后一位进行判断,跳转之后,改变CPSR中的模式位。
ARM处理器的系统工作频率
ARM7系列微处理器的典型频率为0.9MPIS/MHZ,其工作系统主时钟的频率为20M~133MHZ。
ARM9系列微处理器的典型频率为1.1MPIS/MHZ,其工作系统主时钟的频率为100M~233MHZ.
ARM10系列工作系统主时钟的频率最大能达到700MHZ。
我使用过一款DSP2812的工作系统主时钟的频率最大能够达到150MHZ。
控制器速度的提升,对于一些实时性要求较高的在线操作系统,十分有益。
ARM微处理器的堆栈系统
ARM的堆栈能够向上和向下两个方向增长,所以一共有四种堆栈方式。这在单片机或是DSP中是不太能够见到。
小结
34年的飞速发展,现在的ARM早已不仅仅只是一个处理器,它的后面是一个生态系统,一个我们国家电子产业,十分依赖的生态系统。
美国对中兴、华为的卡脖子事件,警醒我们,不能一直在别人的大树下面休息,所以现在RSIC-V开始向前走,虽然很难,但是我们义无反顾。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/59244.html