欢迎来到天天文库
浏览记录
ID:34595162
大小:1.83 MB
页数:108页
时间:2019-03-08
《嵌入式原理(8)arm及其编程模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ARM及其编程模型一.ARM简介二.RICS体系结构三.ARM体系结构四.ARM微处理器的编程模型五.ARM的异常中断六.ARM7TDMI处理器内核简介ARM处理器的应用ARM处理器的应用工业控制领域无线通信领域网络应用消费类电子产品成像设备和安全产品ARM简介ARMAdvancedRICSMachinesRISC精简指令集计算机ReducedInstructionSetComputerIP知识产权IntellectualPropertyARM简介ARM既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM公司
2、是设计公司,是知识产权(IP)供应商,本身不生产芯片,靠转让设计许可由合作伙伴来生产各具特色的芯片。世界各大半导体生产商从ARM公司购买其设计的ARM做处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。ARM公司商业模式的强大之处在于它在世界范围有超过100个的合作伙伴,从而激发了大量的开发工具和丰富的第三方资源。ATAPARM技术共享计划ARMPartnershipModelARMTechnologyAccessProgramARM与芯片生产商及嵌入式产品制造商的关系ARM(处理器)的特点体积小、功耗少、
3、成本低、性能高16位/32位双指令集全球众多的合作伙伴的保证供应ARM(32位的RISC微处理器)的(技术)特点ARM具有RISC体系的一般特点,如:具有大量的寄存器,大多数数据操作都在寄存器中完成。寻址方式灵活简单,执行效率高。通过载入和存储指令访问存储器。采用固定长度的指令格式。ARM体系芯片中的先进技术所有的指令都可以条件执行,以提高指令执行的效率。同一条数据处理指令中包含算术逻辑单元处理和移位处理。使用地址自动增加(减少)来优化程序中的循环处理。载入和存储指令可以批量传输数据,提高数据传输效率。RICS体系结构RISC精简指令集计算机Reduc
4、edInstructionSetComputerCISC复杂指令集计算机ComplexInstructionSetComputerCISC体系结构存在的问题设计的指令集越来越大,计算机的体系结构越来越复杂。CISC通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行。一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。随着需求的不断增加,设计的指令集越来越大,为支持这些新增的指令,计算机的体系结构会越来越复杂。CISC指令集的各种指令的使用频率相差悬殊。大约20%的指令会被反复使用,占整个程序代码的80%,余下的80%的
5、指令在程序代码中只占20%。RICS的诞生及其发展1980年,Patterson和Ditzel全面提出了精简指令集的设计思想。柏克莱大学的研究生依照此理论设计出了第一颗RISC处理器。RICSⅠ比当时的CICS处理器简单得多,在设计上所花费的功夫也少很多。整体功能上的表现与CISC处理器不相上下。自此之后,处理器设计方向便分别向着这两个大的方向发展。1980年以来,所有新的处理器体系结构都或多或少地采用了RICS的概念,甚至有些典型的CICS处理机中也采用了一些RICS设计思想。Intel公司的80486、Pentium系列等。RICS思想最成功也是第
6、一个商业化的实例就是ARM。RISC与CISC在构架上的区别(1/2)1)指令集的设计RISC构架的指令格式和长度通常是固定的(如ARM是32位的指令)。指令和寻址方式少而简单。大多数指令在一个周期内就可以执行完毕。CISC构架下的指令长度通常是可变的。指令类型也很多。一条指令通常要若干周期才可以执行完。RISC的处理器可以利用简单的硬件电路设计出指令解码功能,易于流水线的实现。CISC的复杂性使得需要通过只读存储器里的微码来进行解码。CISC的指令功能与指令参数变化较大,执行流水线作业时有较多的限制。RISC与CISC在构架上的区别(2/2)2)结构
7、的设计RISC在结构的设计上是一个载入/存储(load/store)构架。只有载入和存储指令可以访问存储器,数据处理指令只对寄存器的内容进行操作。为了加速程序的运算,RISC会设定多组的寄存器,并且指定特殊用途的寄存器。CISC构架则允许数据处理指令对存储器进行操作,对寄存器的要求相对不高。ARM体系结构1.ARM体系结构的版本2.ARM体系结构的变种3.ARM体系结构版本的命名格式4.ARM处理器系列ARM(指令集)体系结构-版本1(v1)基本数据处理指令(不包括乘法)。字节、字以及半字加载/存储指令。分支(branch)指令。包括用于子程序调用的分
8、支与链接(branch-and-link)指令。软件中断指令,用于进行操作系统调用。26位地址
此文档下载收益归作者所有