ARM微处理器硬件架构!
- 格式:docx
- 大小:8.12 KB
- 文档页数:3
张凌001关于ARM的内核架构很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。
咱先来当下最火的ARM吧1.ARMARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Intel的Xscale- Intel的StrongARM ARM11系列2. Cortex 系列32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。
Cortex 系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。
由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。
基于v7A的称为“Cortex-A系列。
高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7和Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。
1Cortex-M系列Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;2Cortex-R系列Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;3Cortex-A 系列Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等 ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。
ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。
Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。
围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。
以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用,这里就不再介绍。
ARM 处理器架构发展● Cortex-A57、A53处理器Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,首次采用64位ARMv8架构,意义重大,这也是ARM最近刚刚发布的两款产品。
Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。
这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。
应用案例:预计于2014年推出。
● Cortex-A15处理器架构解析ARM Cortex-A15处理器隶属于Cortex-A系列,基于ARMv7-A架构,是业界迄今为止性能最高且可授予许可的处理器。
Cortex-A15 MPCore处理器具有无序超标量管道,带有紧密耦合的低延迟2级高速缓存,该高速缓存的大小最高可达4MB。
ARM(包括ARMv7⼯作模式介绍)寄存器、⼯作模式和指令集(来源:IT165收集)转载于: /uid-30234312-id-5077078.html本章介绍ARM处理器的基础特性,包括寄存器、⼯作模式和指令集的细节。
我们也会涉及⼀些处理器实现细节,包括指令流⽔线和分⽀预测。
ARMv7架构是⼀个32位处理器架构。
它是⼀种load/store架构,意味着数据处理指令操作通⽤寄存器中的值。
只有加载(load)和存储(store)指令访问存储器。
通⽤存储器也是32位的。
本书中,字(word)代表32位,双字(doubleword)代表64位,半字(halfword)代表16位宽。
尽管ARMv7架构是⼀种32位架构,单独的处理器对所有模块和内部连接的实现不⼀定必须都是32位宽。
例如,对于指令获取和数据访问,具有64位或更宽的路径是可能的。
实现ARMv7-A架构的处理器不具有由架构固定的存储器映射。
处理器能访问4GB的虚拟地址空间,存储器和外设都可以在那个空间范围之内⾃由地映射。
我们将会在第9章和第10章中讲述存储器管理,那⾥我们会看到缓存和内存管理单元(MMU)。
4.1 指令集 ⼤多数ARM处理器⽀持超过⼀种指令集: >ARM--- ⼀种32位指令集 >Thumb--- ⼀种16位指令集,具有更好的代码密度(但是相⽐ARM代码,性能有所降低)在程序的控制之下,处理器可以在这两种指令集之间来回切换。
所有的Cortex-A系列处理器实现了Thumb-2技术,它扩展了Thumb指令集。
混合使⽤32位和16位指令,以Thumb指令集的代码密度和接近ARM指令集的性能。
⾃从所有的Cortex-A系列处理器⽀持这⼀扩展,针对它们的软件常被编译成Thumb指令集。
(本⽂作者注:按照⽂章《如何使⽤Thumb-2改善代码密度和性能》所述,Thumb-2代码⼤⼩约为ARM代码的74%,性能则为其98%)4.2 模式 ARM架构有9种处理器模式,在表4-1中所总结。
到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?⼀⽂帮你梳理基础概念【科普】前⾔有粉丝问我到底什么是ARM,搞不清楚Cortex、arm内核、arm架构、ARM指令集、soc这些概念都是什么关系,下⾯⼀⼝君给⼤家整理⼀下关于ARM相关的⼀些概念。
1、ARM既可以认为是⼀个公司的名字,也可以认为是对⼀类微处理器的通称,还可以认为是⼀种技术的名字。
2、ARM公司是专门从事基于RISC技术芯⽚设计开发的公司,作为知识产权供应商,本⾝不直接从事芯⽚⽣产,⽽是转让设计许可,由合作公司⽣产各具特⾊的芯⽚。
3、ARM处理器的内核是统⼀的,由ARM公司提供,⽽⽚内部件则是多样的,由各⼤半导体公司设计,这使得ARM设计嵌⼊式系统的时候,可以基于同样的核⼼,使⽤不同的⽚内外设,从⽽具有很⼤的优势。
下⾯我们针对这些概念,给⼤家逐⼀介绍。
ARM公司ARM⾸先是⼀个公司,即Advanced RISC Machines的缩写。
但是他本来并不叫这个名字,来看看ARM公司的成长历史。
1978年,⼀个名叫Hermann Hauser的奥地利籍物理学博⼠,还有他的朋友,⼀个名叫Chris Curry的英国⼯程师成⽴了⼀家名字叫“CPU”的公司。
这家CPU公司的全称,是Cambridge Processor Unit,字⾯意思是“剑桥处理器单元”。
CPU公司成⽴之后,主要从事电⼦设备设计和制造的业务。
他们接到的第⼀份订单,是制造赌博机的微控制器系统。
这个微控制器系统被开发出来后,称之为Acorn System 1。
之所以叫Acorn,就是因为他们想在电话黄页⾥排在Apple(苹果)公司的前⾯。
在Acorn System 1之后,他们⼜陆续开发了System 2、3、4,还有⾯向消费者的盒式计算机——Acorn Atom。
到了1981年,公司迎来了⼀个难得的机遇——英国⼴播公司BBC打算在整个英国播放⼀套提⾼电脑普及⽔平的节⽬,他们希望Acorn能⽣产⼀款与之配套的电脑。
arm芯片引脚定义ARM芯片是一种常见且广泛应用于各种电子设备中的微处理器架构。
ARM芯片以其高效、低功耗和灵活性而闻名,并被广泛应用于智能手机、平板电脑、物联网设备和嵌入式系统等领域。
而在ARM芯片中,引脚定义是一个重要的概念,它决定了芯片的功能和连接方式。
在ARM芯片中,引脚定义是指芯片上的各个引脚所代表的功能和作用。
不同的引脚承担不同的任务,如输入、输出、电源供应或地连接等。
这些引脚定义非常重要,因为它们确定了芯片与外部设备之间的通信和交互方式。
ARM芯片的引脚定义通常包括以下几个方面:1. 电源引脚:ARM芯片需要供电才能正常工作,因此电源引脚是非常重要的一类引脚。
这些引脚通常与电源接口相连,用于连接外部电源适配器或电池。
电源引脚的定义包括正电源、负电源和地引脚,确保芯片能够获得所需的电力。
2. 时钟引脚:时钟引脚用于提供芯片的时钟信号,使芯片内的各个部件以统一的时序进行工作。
时钟引脚通常与外部时钟源相连,以确保芯片能够按照事先规定的频率进行工作。
这些引脚的定义包括时钟源输入和时钟输出。
3. 输入/输出引脚:输入/输出引脚用于连接芯片与外部设备之间的通信。
这些引脚通常与外围设备相连,如传感器、显示器、键盘等。
输入/输出引脚的定义取决于具体的应用场景和功能需求,可以是数字输入/输出、模拟输入/输出,或是特殊功能引脚,如中断引脚、复位引脚等。
4. 特殊功能引脚:特殊功能引脚用于实现芯片的特殊功能需求。
这些引脚通常与芯片内部的特殊模块或外部设备相连。
例如,串行通信接口(如UART、SPI、I2C)、PWM输出、模拟输入/输出等。
特殊功能引脚的定义取决于具体的应用场景和功能需求。
除了上述主要的引脚定义外,ARM芯片还可以根据具体的应用需求和设计要求定义其他类型的引脚,如供电管理引脚、调试和编程引脚等。
这些引脚的定义使得ARM芯片具有更加丰富和灵活的功能,在满足不同应用需求的同时,也提供了设计和调试的便利性。
CPU架构讲解X86、ARM、RISC、MIPS一、当前CPU的主流架构:1.X86架构采用CISC指令集(复杂指令集计算机),程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。
2.ARM架构是一个32位的精简指令集(RISC)架构。
3.RISC-V架构是基于精简指令集计算(RISC)原理建立的开放指令集架构。
4.MIPS架构是一种采取精简指令集(RISC)的处理器架构,可支持高级语言的优化执行。
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,是区分不同类型CPU的重要标示。
二、目前市面上的CPU分类主要分有两大阵营:1.intel、AMD为首的复杂指令集CPU;2.IBM、ARM为首的精简指令集CPU。
两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM的CPU是PowerPC架构,ARM是ARM架构。
三、四大主流CPU架构详解(X86、ARM、RISC、MIPS)1.X86架构X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。
1978年6月8日,Intel 发布了新款16位微处理器8086,也同时开创了一个新时代:X86架构诞生了。
X86指令集是Intel为其第一块16位CPU(i8086)专门开发的,IBM 1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。
采用CISC(Complex Instruction Set Computer,复杂指令集计算机)架构。
与采用RISC不同的是,在CISC处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。
随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以Intel所生产的所有CPU仍然继续使用X86指令集。
ARMv7架构是在ARMv6架构的基础上诞生的。
该架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。
Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销,同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。
ARMv7架构还采用丁NEON技术,将DSP和媒体处理能力提高了近4倍。
并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。
此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptlve Compilation)技术的使用。
在与早期的ARM处理器软件兼容性方而,ARMv7架构在设计时充分考虑到了。
ARM Cortex-M系列支持Thumb-2指令集(Thumb指令集的扩展集),可以执行所有已存的为早期处理器编写的代码。
通过一个前向的转换方式,为ARM Cortex-M系列处理器所写的用户代码可以与ARM Cortex-R系列微处理器完全兼容。
ARMCortex-M系列系统代码(如实时操作系统)可以很容易地移植到基于ARMCortex-R系列的系统上。
ARMCortex-A和Cortex-R 系列处理器还支持ARM 32位指令集,向后完全兼容早期的ARM处理器,包括从1995年发布的ARM7TDMI处理器到2002年发布的ARMll处理器系列。
图1为v5~v7架构的处理器技术比较。
由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。
这些新的ARM Conex处理器系列都是基于ARMv7架构的产品,从尺寸和性能方面来看,既有少于33 000个门电路的ARM Cortex-M系列,也有高性能的ARMCortex-A系列。
其中,ARM Cortex-A系列是针对日益增长的,运行包括Linux、Windows CE和Symhian操作系统在内的消费者娱乐和无线产品设计的;ARM Cortex-R系列针对的是需要运行实时操作系统来进行控制应用的系统,包括汽车电子、网络和影像系统;ARM Cortex-M系列则是为那些对开发费用非常敏感同时对性能要求不断增加的嵌入式应用(如微控制器、汽车车身控制系统和各种大型家电)所设计的。
ARM
微处理器硬件架构
ARM
微处理器硬件架构
冯诺依曼结构则是程序空间和数据空间不独立的结构 哈佛结
构是指程序和数据空间独立的体系结构 , 减轻
程序运行时的 访存瓶颈。
典型 PC 机 --冯诺依曼架构
冯· 诺依曼体系的特点
1
)数据与指令都存储在存储器中
2
)被大多数计算机所采用
3) ARM7
——冯诺依曼体系 哈佛体系架构
哈佛体系结构的特点
1)
程序存储器与数据存储器分开
目的是为了
2)
提供了较大的数存储器带宽
3)
适合于数字信号处理
4) 大多数 DSP
都是哈佛结构
5) ARM9
是哈佛结构
CISC :复杂指令集( Complex Instruction Set
Computer
) 具有大量的指令和寻址方式
8/2 原则: 80% 的程序只使用 20%
的指令 大多数程序只使
用少量的指令就能够运行
RISC :精简指令集( Reduced Instruction Set
Computer)
在通道中只包含最有用的指令 确保数据通道快
速执行每一条指令 使 CPU 硬件结构设计变得更为简单 流水
线技术: 几个指令可以并行执行 提高了 CPU 的运行效率
内部信息流要求通畅流动 为增加处理器指令流的速度,
ARM7 系列使用 3 级流水线 .
允许多个操作同时处理,而
非顺序执行。
注, PC 指向正被取指的指令,而非正在执行的指令
ARM
处理器内核流水线超标量执行
超标量 CPU 采用多条流水线结构。
超标量体系结构描述一种微处理器设计,它能够在一个时钟
周期执行多个指令。在超标量体系结构设计中,处理器或指
令编译器能够判断指令能独立于其它顺序指令而执行,还是
依赖于另一指令,必须跟其按顺序执行。处理器然后使用多
个执行单元同时执行两个或更多独立指令。超标量体系结构
设计有时称 “ 第二代 RISC” 。 高速缓存
( CACHE )
1
、为什么采用高速缓存 微处理器的时钟频率比内存速度提
高快得多,高速 缓存可以提高内存的平均性能。
2
、高速缓存的工作原理 高速缓存是一种小型、快速的存储
器,它保存部分 主存内容的拷贝。
总线和总线桥存储器系统
RAM
:随机存取存储器
SRAM
:静态随机存储器
DRAM
:动态随机存储器
1) SRAM 比 DRAM
快
2) SRAM 比 DRAM
耗电多
3) DRAM 存储密度比 SRAM
高得多
4) DRAM
需要周期性刷新
ROM
:只读存储器
FLASH
:闪存