ARM(Advanced RISC Machines)
概述:有三种含义,它是一个公司的名称,是一类微处理器的通称,还是一种技术的名称。
技术特征
体积小、低功耗、低成本、高性能。
支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8/16位器件。
大量使用寄存器,指令执行速度更快。
大多数数据操作都在寄存器中完成。
寻址方式灵活简单,执行效率高。
指令长度固定。
嵌入式RISC微处理器
概述:RISC(Reduced Instruction Set Computer)是精简指令集计算机,RISC把着眼点放在如何使计算机的结构更加简单和如何使计算机的处理速度更加快速上。RISC选取了使用频率最高的简单指令,抛弃复杂指令,固定指令长度,减少指令格式和寻址方式,不用或少用微码控制。
嵌入式CISC微处理器
概述:传统的复杂指令级计算机(CISC)更侧重于硬件执行指令的功能性,使CISC指令及处理器的硬件结构更加复杂。
RISC和CISC的区别
ARM的基本数据类型
ARM采用32位架构,ARM的基本数据类型有以下3种。
Byte:字节,8bit。
Halfword:半字,16bit(半字必须与2字节边界对齐)。
Word:字,32bit(字必须与4字节边界对齐)。
注意
ARM 系统结构 v4 以上版本支持以上3种数据类型,v4 以前版本仅支持字节和字。
ARM指令编译后是4个字节(与字边界对齐),Thumb指令编译后是2个字节(与半字边界对齐)
ARM工作模式
注意:除用户模式外的其他7种处理器模式成为**特权模式**。在特权模式下,程序可以访问所有的系统资源,也可以任意进行处理器模式切换。其中以下6种又称异常模式。
快速中断模式(fiq)
外部中断模式(irq)
特权模式(svc)
数据访问中止模式(abt)
未定义指令中止模式(und)
监控模式(mon)(Cortex-A特有模式)
注意:
处理器模式可以通过软件控制切换,也可以通过外部中断或异常处理过程进行切换。
大多数的用户程序运行在用户模式下。当处理器工作在用户模式时,应用程序不能够访问受操作系统保护的一些系统资源,应用程序也不能直接进行处理器模式切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理过程中进行处理器模式切换。这种体系结构可以使操作系统控制整个系统资源的使用。
当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中都有一组专用寄存器以供相应的异常处理程序使用,这样就可以保证在进入 ARM 的工作模式异常模式时用户模式下的寄存器(保存程序运行状态)不被破坏。
ARM的流水线结构
本文用的Cortex-A9是ARMv7架构,使用3级流水线,分为取指、译码、执行。
取指令:从寄存器装载一条指令。
译码:识别被执行的指令,并为下一个周期准备数据通路的控制信号。在这一级,指令占有译码逻辑,不占用数据通路。
执行:处理指令并将结果写会寄存器。
当处理器执行简单的数据处理指令时,流水线使得平均每个时钟周期能完成1条指令。但1条指令需要3个时钟周期来完成,因此,有3个时钟周期的延时,但吞吐率是每个周期1条指令。
ARM9使用5级流水线:取指、译码、执行、缓冲/数据、回写。
寄存器组织
根据ARM型号的不同,寄存器数量有所不同,本文所述Cortex-A9有
40个32位寄存器。
33个通用寄存器。(不分组寄存器R0-R15,分组寄存器R8-R14,程序计数器R15)
6个状态寄存器:1个CPSR(current program status register,当前程序状态寄存器),6个SPSR(saved prgram status register,备份程序状态寄存器)。
1个PC(program counter,程序计数器)。
寄存器R13(SP)
概述:寄存器R13在ARM处理器中常用做堆栈指针,称为SP,保存的是每种模式下的栈空间的地址,每一种模式都有自己的栈空间。异常处理程序负责初始化自己的的R13,使其指向该异常模式专用的栈地址。在异常处理程序入口处,将用到的其他寄存器的值保存在堆栈中,返回时,重新将这些值加载到寄存器。通过这种保护程序现场的方法,异常不会破坏被其中断的程序现场。
寄存器R14(LR)
概述:寄存器R14又被称为连接寄存器(LR),它在ARM体系结构中具有下面两种特殊作用;
每一种处理器模式用自己的R14存放当前子程序的返回地址。
当通过BL或BLX指令调用子程序时,R14被设置成该子程序的返回地址。在子程序返回时,把R14的值复制到程序计数器(PC)。
R14也可以被用做通用寄存器使用。
寄存器R15(PC)
寄存器R15用作程序计数器(PC)。保存的是正在取指的指令的地址。
程序状态寄存器(CPSR和SPSR)
每一种处理器模式下都有一个专用的物理寄存器做备份程序程序状态寄存器(=SPSR)。在所有处理器模式下都可以访问当前程序状态寄存器(CPSR)。当特定的异常中断发生时,这个物理存储器负责存放当前程序状态寄存器的内容(SPSR用于保存CPSR的状态)。当异常处理程序返回时,再将其内容恢复到当前程序状态寄存器。
标志位
N、Z、C、V通称为条件标志位。(在这里不做赘述,如需详细了解可以参考系统书籍)。
Q标志位
用于在异常中断发生时保存和恢复CPSR中的Q标志位。(在带DSP指令扩展中,表示增强的DAP指令是否发生了溢出)。
控制位
CPSR的低8位(I、F、T及M【4:0】)统称为控制位。当异常发生时,这些位的值将发生相应的变化。另外,如果在特权模式下,也可以通过软件编程来修改这些位的值。
中断禁止位:I=1,IRQ被禁止;F=1,FIQ被禁止
状态控制位(T位是处理器的状态控制位):T=0,处理器处于ARM状态(即正在执行32位的ARM指令);T=1,处理器处于Thumb状态(即正在执行16位Thumb指令)。当然,T位只有在T系列的ARM处理器上才有效,在非T系列的ARM版本中,T位始终为0。
模式控制位:M【4:0】作为位模式控制位,这些位的组合确定了处理器处于哪种状态
==注:==博客所用开发平台为三星ARM Cortex-A9四核CPU的Exynos-4412。
上一篇:ARM之I2C总线协议介绍
下一篇:ARM串行通信与并行通信介绍
推荐阅读
史海拾趣
FREESCALE (NXP) 公司发展的五个故事
故事一:从摩托罗拉剥离到独立上市
FREESCALE的前身可以追溯到摩托罗拉的半导体部门。2002年,面对半导体业务的持续亏损,摩托罗拉集团决定剥离该部门。2004年,摩托罗拉半导体产品事业部正式更名为FREESCALE半导体公司,并在次年成功上市。这一剥离与上市过程标志着FREESCALE作为一个独立实体的诞生,为其后续的发展奠定了基础。独立后的FREESCALE迅速调整战略,专注于嵌入式电子解决方案,特别是在汽车电子、工业控制等领域取得了显著成就。
故事二:与恩智浦(NXP)的合并
2015年,FREESCALE与另一家半导体巨头恩智浦(NXP)达成合并协议,这是半导体行业内的一次重大整合。合并后的公司成为全球最大的汽车半导体供应商之一,并在多个关键技术领域占据领先地位。此次合并不仅增强了双方的市场竞争力,还促进了资源共享和技术创新,为未来的增长开辟了更广阔的空间。合并后的公司在全球范围内拥有更强大的研发和销售网络,能够更好地服务于全球客户。
故事三:从亏损到盈利的转型
在成为独立公司之前,FREESCALE的前身——摩托罗拉的半导体部门曾长期面临亏损困境。然而,在剥离并独立运营后,FREESCALE通过一系列战略调整和市场拓展措施,成功实现了从亏损到盈利的转型。公司注重技术创新和产品研发,不断推出符合市场需求的新产品,同时加强与客户和合作伙伴的合作,共同推动行业发展。这些努力使得FREESCALE在激烈的市场竞争中脱颖而出,成为半导体行业的佼佼者。
故事四:技术创新的引领者
FREESCALE一直致力于技术创新,不断推动半导体技术的进步。公司在嵌入式处理器、模拟芯片、射频芯片等多个领域拥有深厚的技术积累和丰富的产品线。例如,FREESCALE推出的基于Arm Cortex-M系列的微控制器在智能家居、智能穿戴等领域得到了广泛应用;其汽车半导体产品更是广泛应用于高级驾驶员辅助系统、车载网络等领域,为汽车行业的智能化转型提供了有力支持。FREESCALE的技术创新不仅提升了自身产品的竞争力,也为整个行业的发展注入了新的活力。
故事五:全球布局与本地化服务
为了更好地服务全球客户,FREESCALE(及合并后的NXP)在全球范围内进行了广泛的布局。公司在多个国家和地区设立了研发中心、生产基地和销售网络,能够快速响应客户需求并提供本地化服务。同时,FREESCALE还积极与全球各地的合作伙伴建立紧密关系,共同推动技术创新和市场拓展。这种全球布局与本地化服务的策略使得FREESCALE能够更好地融入当地市场,为客户提供更加贴心和高效的服务。
在电子行业的众多初创公司中,Crowd Supply Inc.以其独特的理念和模式崭露头角。公司成立之初,便聚焦于开放式硬件和社区驱动的产品开发,这在当时的行业环境中还是一个较为新颖的概念。创始人团队由一群富有热情和创新精神的电子工程师和产品开发专家组成,他们通过线上平台汇聚了一群同样对电子硬件感兴趣的爱好者和开发者。初期,公司面临资金短缺、市场认可度低等挑战,但通过不断试错和社区反馈,逐渐找到了自己的发展方向。
在XXXX年,Exel Microsystems Inc公司成功进入国际市场。公司凭借优质的产品和服务,赢得了国外客户的认可和信任。为了更好地服务国际市场,Exel还在多个国家和地区设立了分支机构和研发中心。这一市场拓展的成功不仅为公司带来了更多的商业机会,也提升了公司的国际知名度和影响力。
1985年,泰德·维特(Ted Waitt)和Mike Hammond两位年轻人决定辍学创业。他们利用维特祖母的15,000美元存款作为担保,从银行获得了10,000美元贷款,租用了一台计算机,并准备了一份三页的经营计划。在维特父亲位于爱荷华州苏城的牧场里,他们创办了TIPC Network公司(Gateway的前身)。公司起步时,主要向得克萨斯电脑器械公司销售零配件,并开展计算机邮购业务。得益于直销商业模式,Gateway在短短四个月内就实现了10万美元的销售额。
自上世纪60年代起,TDK就开始在中国布局。首先,在台湾建立合资公司,随后在香港设立销售网络及生产线。进入80年代后,TDK正式踏足中国大陆,在华东及华南多个地区建立生产基地,并逐渐将业务扩展至全国。TDK在中国的发展不仅推动了当地电子工业的进步,也为公司自身赢得了广阔的市场空间。目前,TDK在中国的员工人数近6万人,占TDK全球员工总数的近55%。
圜达实业于1985年在台湾新北市创立,创始人凭借对电子开关行业的深刻理解和前瞻视野,决定专注于研发制造各类程序开关、触动开关等产品。公司初创时期面临资金短缺、市场竞争激烈等挑战,但创始人凭借坚定的信念和不懈的努力,逐步在市场上站稳脚跟。
不少消费者在使用手机的过程中,发现手机待机时间大幅度缩水。其实,除了有部分原因是商家过分夸大了手机的待机时间外,还和消费者使用手机的环境和方式有关。 对于如何延长手机待机时间,手机维修人士认为:首先,在恶劣天气里和密封环境下尽 ...… 查看全部问答∨ |
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。&nbs ...… 查看全部问答∨ |
在未来的5至10年里,传统的汽车机械系统(如刹车和驾驶系统)将变成通过高速容错通信总线与高性能CPU相连的电气系统。在一辆装备了综合驾驶辅助系统的汽车上,诸如电控(control by-wire)刹车、电控驾驶和电子阀门控制等特性将为驾驶员带来终极驾 ...… 查看全部问答∨ |
|
有个DIP封装的元器件,它的引脚可以在顶层和底层之间切换使用吗?就是说在顶层的时候可以用引脚连接,切换到底层时候那个元器件还可以连接到底层的元器件吗?谢谢!… 查看全部问答∨ |
|
请问一块液晶显示器的电源板的STB对地电阻一般为多少?谢谢。 请问一块液晶显示器的电源板的STB对地电阻一般为多少?谢谢。 我用指针万用表测的两种情况: 1、红笔接STB,黑笔接地,测得的阻值为0; 2、黑笔接STB,红笔接地,测得的阴值为400欧。 请问这样正常否?烦各位回我一下 ...… 查看全部问答∨ |