ARM版本及系列_ARM

ARM版本及系列_ARM
ARM版本及系列_ARM

ARM公司简介

ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。1985年第一个ARM原型在英国剑桥诞生。

公司的特点是只设计芯片,而不生产。它提供ARM技术知识产权(IP)核,将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。有ARM7/ARM9等多个版本。除了一些Unix图形工作站外,大多数ARM核心的处理器都使用在嵌入领域。

ARM,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

ARM处理器的应用

到目前为止,基于ARM技术的微处理器应用约占据了32位嵌入式微处理器75%以上的市场份额。

全球80%的GSM/3G手机、99%的CDMA手机以及绝大多数PDA产品均采用ARM体系的嵌入式处理器。

“掌上计算”相关的所有领域皆为其所主宰。

主要应用:消费类电子,无线、图像应用开放平台、存储、自动化、智能卡、SIM 卡等。

ARM处理器的三大特点:耗电少功能强、16位/32位双指令集、众多合作伙伴。

各ARM体系结构版本

ARM体系结构从最初开发到现在有了很大的改进,并仍在完善和发展。

为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V6表示

ARM版本Ⅰ:V1版架构

该版架构只在原型机ARM1出现过,只有26位的寻址空间,没有用于商业产品。其基本性能有:

基本的数据处理指令(无乘法);

基于字节、半字和字的Load/Store指令;

转移指令,包括子程序调用及链接指令;

供操作系统使用的软件中断指令SWI;

寻址空间:64MB(226)。

ARM版本Ⅱ:V2版架构

该版架构对V1版进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32

位乘法指令和协处理器指令的支持。

版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用片上Cache 的ARM处理器。同样为26位寻址空间,现在已经废弃不再使用。

V2版架构与版本V1相比,增加了以下功能:

乘法和乘加指令;

支持协处理器操作指令;

快速中断模式;

SWP/SWPB的最基本存储器与寄存器交换指令;

寻址空间:64MB。

ARM版本Ⅲ:V3版架构

ARM作为独立的公司,在1990年设计的第一个微处理器采用的是版本3的ARM6。它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。

V3版架构(目前已废弃)对ARM体系结构作了较大的改动:

寻址空间增至32位(4GB);

当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中(Current Program Status Register);

增加了程序状态保存寄存器SPSR(Saved Program Status Register);

增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常。;

增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器;

增加了从异常处理返回的指令功能。

ARM版本Ⅳ:V4版架构

V4版架构在V3版上作了进一步扩充,V4版架构是目前应用最广的ARM体系结构,ARM7、ARM8、ARM9和StrongARM都采用该架构。

V4不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令异常。

指令集中增加了以下功能:

符号化和非符号化半字及符号化字节的存/取指令;

增加了T变种,处理器可工作在Thumb状态,增加了16位Thumb指令集;

完善了软件中断SWI指令的功能;

处理器系统模式引进特权方式时使用用户寄存器操作;

把一些未使用的指令空间捕获为未定义指令

ARM版本Ⅴ:V5版架构

V5版架构是在V4版基础上增加了一些新的指令,ARM10和Xscale都采用该版架构。

这些新增命令有:

带有链接和交换的转移BLX指令;

计数前导零CLZ指令;

BRK中断指令;

增加了数字信号处理指令(V5TE版);为协处理器增加更多可选择的指令;改进了ARM/Thumb状态之间的切换效率;

E---增强型DSP指令集,包括全部算法操作和16位乘法操作;

J----支持新的JA V A,提供字节代码执行的硬件和优化软件加速功能。

ARM版本Ⅵ:V6版架构

V6版架构是2001年发布的,首先在2002年春季发布的ARM11处理器中使用。在降低耗电量地同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD(Single Instruction, Multiple Data,单指令多数据)功能,将语音及图像的处理功能提高到了原型机的4倍。

此架构在V5版基础上增加了以下功能:

THUMBTM:35%代码压缩;

DSP扩充:高性能定点DSP功能;

JazelleTM:Java性能优化,可提高8倍;

Media扩充:音/视频性能优化,可提高4倍

ARM版本:V7版架构

ARM 11 之後分成三类:

Cortex - A/R/M

Cortex - A 系列面向尖端的基于虚拟内存的操作系统和用户应用;

Cortex - R 系列针对实时系统;

Cortex - M 系列对微控制器。

使用范围:1.5GHz-2.5 GHz 四核、八核或更高配置

设备特性:性能:高端整数、浮点数性能

可伸缩性:“大集成”> 4 个核。TCO 更低。

大内存设备:支持最高1TB、硬件虚拟化支持

可靠性:错误纠正、软故障恢复、监视设备完整性

ARM处理器系列

ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11。ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列。

每一个系列提供一套相对独特的性能来满足不同应用领域的需求。

ARM7系列

ARM9系列

ARM9E系列

ARM10E系列

ARM11系列

SecurCore系列

Intel的Xscale

Intel的StrongARM

ARM7微处理器系列

低功耗的32位RISC处理器,冯·诺依曼结构。极低的功耗,适合便携式产品。具有嵌入式ICE-RT逻辑,调试开发方便。

3级流水线结构。能够提供0.9MIPS的三级流水线结构

代码密度高,兼容16位的Thumb指令集。

对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。

指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。

主频最高可达130MIPS。

主要应用领域:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。

ARM7TDMI微处理器

4种类型:

ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。

ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。

注:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。

ARM7TDMI内部结构

组成:处理器核、用于边界扫描的TAP控制器、在线仿真器ICE。

双向数据总线D[31:0]被分割成单向输入和输出总线,以便于与外部存储器兼容。

ARM7TDMI的模块和内核框图

ARM7TDMI功能信号图

ARM9微处理器系列

ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。

5级整数流水线,

哈佛体系结构。

支持32位ARM指令集和16位Thumb指令集。

全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

主要应用:无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数码照相机和数码摄像机。

3种类型:ARM920T、ARM922T和ARM940T。

ARM9E微处理器系列

单一处理器内核提供微控制器、DSP、Java应用系统的解决方案。

支持DSP指令集。

5级整数流水线,指令执行效率更高。

支持32位ARM指令集和16位Thumb指令集。

支持VFP9浮点处理协处理器。

全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系

统。

MPU支持实时操作系统。

支持数据Cache和指令Cache,

主频最高可达300MIPS。

主要应用:下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。

3种类型:ARM926EJ-S、ARM946E-S和ARM966E-S。

ARM10E微处理器系列

与同等的ARM9比较,在同样的时钟频率下,性能提高了近50%,功耗极低。支持DSP指令集。

6级整数流水线,指令执行效率更高。

支持32位ARM指令集和16位Thumb指令集。

支持VFP10浮点处理协处理器。

全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

支持数据Cache和指令Cache。

主频最高可达400MIPS。

内嵌并行读/写操作部件。

主要应用:下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。

3种类型:ARM1020E、ARM1022E和ARM1026EJ-S。

SecurCore微处理器系列

专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案。

灵活的保护单元,以确保操作系统和应用数据的安全。

采用软内核技术,防止外部对其进行扫描探测。

可集成用户自己的安全特性和其他协处理器。

主要应用:对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。

4种类型:SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210。

Xscale处理器

基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。

支持16位的Thumb指令和DSP指令集。

已使用在数字移动电话、个人数字助理和网络产品等场合。

Xscale处理器是Intel目前主要推广的一款ARM微处理器

ARM系列流水线比较

ARM系列性能比较

ARM处理器核使用ARM体系结构版本的情况

cortexm3内核与arm7tdmi区别

低成本ARM 32位MCU,开发人员面临的两种选择 要使用低成本的 32位微控制器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。 1.ARM实现方法 ARM Cortex-M3是一种基于ARM V7架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。 ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。在成本和功耗方面,Cortex-M3具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。和所有的ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。迄今为止,已经有多家芯片制造商开始生产基于Cortex-M3内核的微控制器。 ARM7TDMI(包括ARM7TDMIS)系列的ARM内核也是面向同一类市场的。这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。众多的制造商(据ARM宣称,多达16家)出售基于ARM7系列的处理器以及其他配套的系统软件、开发和调试工具。在许多方面,ARM7TDMI 都可以称得上是嵌入式领域的实干家。 2.两者差异 除了使用哈佛结构, Cortex-M3还具有其他显著的优点:具有更小的基础内核,价格更低,速度更快。与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。 Cortex-M3 还集成了睡眠模式和可选的完整的八区域存储器保护单元。它采用THUMB-2指令集,最大限度降低了汇编器使用率。 3.指令集 ARM7可以使用ARM和Thumb两种指令集,而 Cortex-M3只支持最新的 Thumb-2指令集。这样设计的优势在于: 免去 Thumb和ARM代码的互相切换,对于早期的处理器来说,这种状态切换会降低性能。 Thumb-2指令集的设计是专门面向C语言的,且包括If/Then结构(预测接下来的四条语句的条件执行)、硬件除法以及本地位域操作。

stm32与arm7比较(经典)

我觉得ARM7会被STM32取代,STM32偏向不带系统的工业控制,外围设备甚至比ARM7、ARM9更丰富,而ARM7带不了大系统,想带系统至少也要从ARM9开始。要么直接上ARM9学学系统,要么就顺便学学STM32裸奔,ARM7不上不下没必要去学。 追问stm32有什么好书籍吗?发现资料挺少的 回答《ARM微控制器应用设计与实践》 个人觉得还是先学习ARM7 ,等学会了之后你自然也就会动的STM32! 两者肯定是有区别的,但是这是基本的学习过程。我也是这样走过来的 coretex-m3 是现在企业用的最多的cpu ,是arm7的升级版,我觉得arm7 ---- 微内核------arm9 -----Linux 是做好的学习路径 stm32是armv7内核arm7是armv4内核,构架不同。 进阶学习,是选择STM32好还是ARM7,还是ARM9?本人会51,而且做过相应的开发项目,最近想提升自己的能力,但是不知道是选择哪一个为好,是STM32、arm7,arm9,msp430,dsp???没有头绪,请大神指点 我建议您选择转向STM32,从开发角度来讲,STM32比51的编程更加简单,厂家的工程代码中提供了很多的库函数来操作GPIO,UART,SPI,AD,TIMER等资源,不需要像51一样

去记忆各个特殊寄存器的属性和用途。 STM32是现在市场上性价比非常高的一款ARM产品,使用的是Cortex-M3内核,在同等价位下,其内部资源比51要丰富更多。STM32同系列的产品,在软件和硬件上兼容性很好,尤其是从PIN脚少的芯片更换为PIN脚多的芯片的时候,代码都无需修改就能直接应用。 基于价格和使用性能的因素,STM32在很多产品中得到广泛应用,市场供货基本没有问题,现货相当充足,目前我们公司95%的产品都是基于STM32的。 如果你想从事嵌入式应用程序的开发,直接上ARM9开发,学习LINUX或安卓去。 如果你想从事嵌入式驱动程序的开发,或者想成为一名博学多才的主管,又或者未来你想成为一名架构师,你需要单片机给你打下硬件基础,那你可以以“低端单片机-高端单片机-低端ARM-高端ARM”来学。 我现在就是工作中用STM32,晚上回去自学ARM9。 楼主的进阶是指从51到ARM还是指已经基本掌握32位单片机? 如果有单片机基础,但是没有玩过ARM,建议学习STM32,甚至说没有玩过单片机想入门的也可以选择STM32,因为STM32例程丰富,资源比较多,市面上成熟的开发板也比较多,而且基本价格都在300以内。 而如果楼主已经对32位单片机比较了解,想学习嵌入式系统Linux/WIN CE等,可以考虑6410,或者楼主预算非常充足,可以考虑Cortex-A8/A9的开发板。我个人是比较熟悉STM32,没有玩过ARM9,稍稍玩过ARM7,现在是在学飞凌的6410了。 追问我玩的是51系列的单片机,感觉想提升一下,玩32位的,stm32貌似跑不起LINUX系统和WINCE系统,所以就是比较纠结选择哪一个开始作为学习 回答其实从51跨到LINUX还是有一定难度的,楼主可以考虑玩ARM9。我个人的学习轨迹是AVR-STM32(UCOSII)- 6410(LINUX)循序渐进,先易后难 追问谢谢你,我现在正式在自学ARM9和LINUX系统中 两者肯定是有区别的,但是这是基本的学习过程。我也是这样走过来的 coretex-m3 是现在企业用的最多的cpu ,是arm7的升级版,我觉得arm7 ---- 微内核------arm9 -----Linux 是做好的学习路径 stm32使用的是ARM公司开发的Cortex-M3内核,就是ARM芯片的一种,使用的是最新的ARM V7内核架构,Cortex还有A、R两个系列 专家的建议,初学者学三星的S3C44B0很好,虽然这块芯片被业界用烂了,不是处理器越高的就一定越好,学ARM9,要学Linux,精通Linux内核,这比精通ucosII难度大多了,专家建议先学ucosII,一个非常好的小的嵌入式实时操作系统。 相对来说STM32应用更广泛一些,既适合ARM也适合X86。 嗯,之前我也纠结过;后来我退回去把51学的烂熟;然后就上了ARM9linux;一路走过来累的半死;就是因为一下上的太多先学完了RAM9的基础,然后又上linux系统移植和内核实在是差的太多吃不透;偶然的一次机会接触了ARM7和stm32;觉得STM32是我用过最好用的ARM芯片;但是缺点也有不能上大系统(也有上大系统的,但是去研究不又从蹈覆辙了吗),主要用于工控。

第二章ARM_Cortex-M3内核结构

第二章ARM Cortex-M3内核结构教学目标 通过本章的学习,要理解ARM Cortex-M3内核结构,结合MCS-51单片机,分析其优缺点;掌握ARM Cortex-M3内核寄存器组织、处理器运行模式、存储器映象、异常及其操作;了解存储器保护单元及应用;了解ARM Cortex-M3调试组件的工作原理及应用。 本章是ARM Cortex-M3微控制器体系结构分析,内容涉及内核结构、CPU寄存器组织、存储器映射、异常形为及操作,在学习过程中与8位单片机(MCS-51单片机、PIC系列单片机等)结合分析,以期达到良好学习效果。 ARM Cortex-M3处理器简介 2.1.1 概述 ARM公司成立于上个世纪九十年代初,致力于处理器内核研究,ARM 即 Advanced RISC Machines 的缩写,ARM公司本身不生产芯片,只设计内核,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。这种运行模式运营的成果受到全球半导公司以及用户的青睐。目前ARM体系结构的处理器内核有:ARM7TDMI、ARM9TDMI、ARM10TDMI、ARM11以及Cortex等。2005年ARM推出的ARM Cortex系列内核,分别为:A系列、R系列和M系列,其中A系列是针对可以运行复杂操作系统(Linux、Windows CE、Symbian 等)的处理器;R系列是主要针对处理实时性要求较高的处理器(汽车电子、网络、影像系统);M系列又叫微控制器,对开发费用敏感,对性能要求较高的场合。 Cortex-M系列目前的产品有M0、M1、M3,其中M1用在FPGA中。Cortex-M系列对微控制器和低成本应用提供优化,具有低成本、低功耗和高性能的特点,能够满足微控制器设计师进行创新设计的需求。其中,ARM Cortex-M3处理器的性能是ARM7的两倍,而功耗却只有ARM7的1/3,适用于众多高性能、极其低成本需求的嵌入式应用,如微控制器、汽车系统、大型家用电器、网络装置等,ARM Cortex-M3提供了32位微控制器市场前所未有的优势。 Cortex-M3内核,内部的数据路径为32位,寄存器为32位,存储器接口也是32位。Cortex-M3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问分开进行。Cortex-M3还提供一个可选的MPU,对存储器进行保护,而且在需要的情况下也可以使用外部的cache。另外在Cortex-M3中,存储器支持小端模式和大端存储格式。Cortex-M3内部还附赠了很多调试组件,用于在硬件水平上支持调试操作,如指令断点,数据观察点等。另外,为支持更高级的调试,还有其它可选组件,包括指令跟踪和多种类型的调试接口。 2.1.2 内核结构组成及功能描述 Cortex-M3微控制器内核包括处理核心和许多的组件,目的是用于系统管理和调试支持。如图为Cortex-M3内核方框图。

浅谈ARM Cortex系列处理器之区别

浅谈ARM Cortex系列处理器之区别市面上ARM Cortex系列包括3个系列,包括ARM Cortex-A, ARM Cortex-R, ARM Cortex-M,Z这三种系列,并且每个系列又分多种子版本,每个子版本都有各自的特点。很好的为设计人员提供非常广泛的具有可扩展性的性能选项,从而有机会在多种选项中选择最适合自身应用的内核,而非千篇一律的采用同一方案。 其中, 1,Cortex-A—面向性能密集型系统的应用处理器内核 2, Cortex-R—面向实时应用的高性能内核 3, Cortex-M—面向各类嵌入式应用的微控制器内核 Cortex-A处理器为利用操作系统(例如Linux或者Android ,IOS)的设备提供了一系列解决方案,这些设备被用于各类应用,从低成本手持设备到智能手机、平板电脑、机顶盒以及企业网络设备等。早期的Cortex-A系列处理器(A5、A7、A8、A9、A12、A15和A17)基于ARMv7-A架构。每种内核都共享相同的功能集,例如NEON媒体处理引擎、Trustzone安全扩展、单精度和双精度浮点支持、以及对多种指令集(ARM、Thumb-2、Thumb、Jazelle 和DSP)的支持。与此同时,这些处理器也具有极高的设计灵活性,能够提供所需的最佳性能和预期的功效。 介绍过Cortex-A,下面介绍Cortex-R系列——衍生产品中体积最小的ARM处理器,这一点也最不为人所知。Cortex-R处理器针对高性能实时应用,例如硬盘控制器(或固态驱动

控制器)、企业中的网络设备和打印机、消费电子设备(例如蓝光播放器和媒体播放器)、以及汽车应用(例如安全气囊、制动系统和发动机管理)。Cortex-R系列在某些方面与高端微控制器(MCU)类似,但是,针对的是比通常使用标准MCU的系统还要大型的系统。例如,Cortex-R4就非常适合汽车应用。Cortex-R4主频可以高达600MHz(具有2.45DMIPS/MHz),配有8级流水线,具有双发送、预取和分支预测功能、以及低延迟中断系统,可以中断多周期操作而快速进入中断服务程序。Cortex-R4还可以与另外一个Cortex-R4 构成双内核配置,一同组成一个带有失效检测逻辑的冗余锁步(lock-step)配置,从而非常适合要求安全系数的系统。 最后,我们来讨论Cortex-M系列,自首款Cortex-M处理器于2004年发布以来,此系列处理器Cortex-M4、Cortex-M3、Cortex-M1 FPGA 和Cortex-M0 Cortex-M7等几种相关处理器。特别设计针对竞争已经非常激烈的MCU市场。Cortex-M系列基于ARMv7-M架构(用于Cortex-M3和Cortex-M4)构建,而较低的Cortex-M0+基于ARMv6-M架构构建。当一些主流MCU供应商选择这系列内核,并开始生产MCU器件后,Cortex-M处理器迅速受到市场青睐。可以肯定的说,Cortex-M之于32位MCU就如同8051之于8位MCU——受到众多供应商支持的工业标准内核,各家供应商采用该内核加之自己特别的开发,在市场中提供差异化产品。例如,Cortex-M系列能够实现在FPGA中作为软核来用,但更常见的用法是作为集成了存储器、时钟和外设的MCU。在该系列产品中,有些产品专注最佳能效、有些专注最高性能、而有些产品则专门应用于诸如智能电表这样的细分市场 其中,Cortex-M3和Cortex-M4是非常相似的内核。二者都具有1.25DMIPS/MHz 的性能,配有3级流水线、多重32位总线接口、时钟速率可高达200MHz,并配有非常高效的调试选项。最大的不同是,Cortex-M4的内核性能针对的是DSP。Cortex-M3和Cortex- M4具有相同的架构和指令集(Thumb-2)。然而,Cortex-M4增加了一系列特别针对处理DSP算法而优化的饱和运算和SIMD指令。以每0.5秒运行一次的512点FFT 为例,如果分别在同类量产的Cortex-M3 MCU和Cortex-M4 MCU上运行,完成同样的工作,Cortex-M3所需功耗约是Cortex-M4所需功耗的三倍。而对于成本特别敏感的应用或者正在从8位迁移到32位的应用而言,Cortex-M系列的最低端产品可能是最佳选择。虽然Cortex-M0+的性能为0.95DMIPS/MHz,比Cortex-M3和Cortex-M4的性能稍稍低一些,但仍可与同系列其他高端产品兼容。

ARM和MIPS分析与比较.

ARM与MIPS分析与比较 2008-04-06 10:37:21 阅读474 评论0 字号:大中小 [前言] 这是一个几年以来我一直想做的“功课”,之所以称之为“功课”,而不能说是“文章”,是因为我觉得自己的知识还远远不够,不管是深度还是广度,也不管是全面性还是透彻性,我都不敢。但是我实在是很想把我的一些理解写出来,然后能和其他朋友一起探讨,纠正错误,补充完善,最终目的就是要加深对ARM和MIPS 这两种CPU架构的认识。 这里的目前最多只能算个草稿吧,请大家不断的补充。 [正文] 1.流水线结构 pipeline - MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。 - ARM has barrel shifter shifter是两面性的,一方面它可以提高数学逻辑运算速度,另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的adder/shift register相比,效率更高,但是也占用更多的芯片面积。 - MIPS have "branch delay slot" and "load delay slot" MIPS使用编译器来解决上面的两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后靠编译器及其他软体技术,来达成RISC的完整概念。 2.指令结构 instruction - MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture ARM11 局部64位 - MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令, - ARM has 4-bit condition code in every instruction ARM 在这一点很像x86。MIPS在MIPS IV也加入"conditional move"指令,来提高pipeline的效率。 - ARM has pre- and post-increment addressing modes auto-increment/decrement on load/store instructions - 在节省代码空间方面,MIPS16很类似ARM Thumb 3.寄存器 register - 由于MIPS内核中有32个寄存器(Register),而ARM只有16个,这种结构设计上的先天优 势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。

Cortex系列ARM核心及体系结构简介.

众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的知识产权授权给各个芯片厂商,精简的CPU架构,高效的处理能力以及成功的商业模式让ARM公司获得了巨大的成功,使他迅速占据了32位嵌入式微处理器的大部分市场份额,甚至现在,ARM芯片在上网本市场的也大有与INTEL的ATOM处理器一较高低的实力。 目前,随着对嵌入式系统的要求越来越高,作为其核心的嵌入式微处理器的综合性能也受到日益严峻的考验,最典型的例子就是伴随3G网络的推广,对手机的本地处理能力要求很高,现在一个高端的智能手机的处理能力几乎可以和几年前的笔记本电脑相当。为了迎合市场的需求,ARM公司也在加紧研发他们最新的ARM架构,Cortex系列就是这样的产品。在Cortex之前,ARM核都是以ARM 为前缀命名的,从ARM1一直到ARM11,之后就是 Cortex系列了。Cortex在英语中有大脑皮层的意思,而大脑皮层正是人脑最核心的部分,估计ARM公司如此命名正有此含义吧。 一.ARMv7架构特点 下表列出了ARM微处理器核心以及体系结构的发展历史: 表一: ARM微处理器核心以及体系结构的发展历史 我们可以看到,Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构,而我们比较熟悉的三星的S3C2410芯片是ARMv4架构,ATMEL公司的 AT91SAM9261芯片则是ARMv5架构。

ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用 31%的内存,减小了系统开销。 同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。另外,ARMv7架构对于早期的ARM处理器软件也提供很好的兼容性。 ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器和低成本应用提供优化。下图为v5至v7架构比较: 图一:v5至v7架构比较 由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。下面一一介绍。 二.Cortex-A8 Cortex-A8第一款基于ARMv7构架的应用处理器。Cortex-A8是ARM公司有史以来性能最强劲的一款处理器,主频为600MHz到1GHz。A8可以满足各种移动设备的需求,其功耗低于300毫瓦,而性能却高达2000MIPS。 Cortex-A8也是ARM公司第一款超级标量处理器。在该处理器的设计当中,采用了新的技术以提高代码效率和性能,采用了专门针对多媒体和信号处理的NEON

DSP与ARM技术比较

DSP: DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。 其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,源源超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。 DSP芯片,由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件I/O支持; (6)具有在单周期内操作的多个硬件地址产生器; (7)可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

ARM与Mips架构对比.

CPU架构对比(MIPS 和 ARM) 一、概述: RISC(精简指令集处理器)家族的两大佼佼者MIPS 和ARM ,相对应的是CISC(复杂指令集处理器),典型的是X86家族的系列 二、应用领域: 1.在1GHz以上的应用,ARM架构的产品相比之下不还不是很多。 MIPS架构用在200MHz或者是266MHz以下的应用比较少,而这恰恰是ARM的主攻市场。 2.ARM 在手机等便携式领域, MIPS 在住宅网关、线缆调制解调器、线缆机顶盒等 3.ARM 采用硬核授权; MIPS 采用软核授权,用户可以自己配置,做自己的产品。 目前发展方向: ARM的下一代走向多内核结构,而MIPS公司的下一代核心则转向硬件多线程功能(multithreading) MIPS 的multithreading 很类似Intel 的 HyperThreading技术。 五、简要对比: 1.流水线结构 MIPS 是最简单的体系结构之一,所以使大学喜欢选择 MIPS 体系结构来介绍计算体系结构课程。 MIPS最初的设计思想就是使用简单的RISC硬体 2.指令结构 instruction MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令, 3.寄存器 register MIPS内核中有32个寄存器(Register),而ARM只有16个,这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。 ARM 有一组特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制; 相对应的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。 4.地址空间 MIPS 起始地址是0xbfc00000,会有4Mbyte的大小限制,但一般MIPS芯片都会采取一些方法解决这个问题。 ARM没有这种问题。 MIPS24K 起始地址改到了0xbf000000,现在有16Mbyte的空间了。 6.性能 具体性能比较,因为差异性太大,所以很难分出谁好谁坏。从个人经验来讲MIPS4k和ARM9基本上是同一个级别的,但ARM9性能似乎要比MIPS4K好。

Cortex系列ARM内核介绍

Cortex系列ARM内核介绍 众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的知识产权授权给各个芯片厂商,精简的CPU架构,高效的处理能力以及成功的商业模式让ARM公司获得了巨大的成功,使他迅速占据了32位嵌入式微处理器的大部分市场份额,甚至现在,ARM芯片在上网本市场的也大有与INTEL的ATOM处理器一较高低的实力。 目前,随着对嵌入式系统的要求越来越高,作为其核心的嵌入式微处理器的综合性能也受到日益严峻的考验,最典型的例子就是伴随3G网络的推广,对手机的本地处理能力要求很高,现在一个高端的智能手机的处理能力几乎可以和几年前的笔记本电脑相当。为了迎合市场的需求,ARM公司也在加紧研发他们最新的ARM架构,Cortex系列就是这样的产品。在Cortex之前,ARM核都是以ARM为前缀命名的,从ARM1一直到ARM11,之后就是Cortex系列了。Cortex在英语中有大脑皮层的意思,而大脑皮层正是人脑最核心的部分,估计ARM公司如此命名正有此含义吧。 一.ARMv7架构特点 下表列出了ARM微处理器核心以及体系结构的发展历史: 表一: ARM微处理器核心以及体系结构的发展历史 我们可以看到,Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构,而我们比较熟悉的三星的S3C2410芯片是ARMv4架构,ATMEL公司的AT91SAM9261芯片则是ARMv5架构。 ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解

arm系列性能比较

ARM系列芯片选择的原则及性能比较 分类:ARM相关2011-09-09 11:05 615人阅读评论(0) 收藏举报多媒体处理网络存储电子商务工作产品 ARM芯片选择的一般原则: 1. 功能USB 网络串口液晶显示 2. 性能功耗速度 3. 价格 4. 操作系统支持 5. 熟悉程度和开发资源 6. 供货稳定大厂家通用的芯片 ARM系列MMU/MPU结构 功耗 mW/MHz 速度 MIPS/MHz 主频MHz应用领域 ARM7 不带3级流水 线 冯诺依曼 结构 0.28 0.9 20-133 工业产品 ARM9 MMU 5级流水 线 哈佛结构 0.7 1.1 100-233 消费、医疗、工业 ARM10E MMU MPU 6级流水 线 V5架构 1000 1.25 300-700 无线设备、数字消费品 ARM11 MMU 8级流水 线 V6架构 0.4 350-500 消费类、网络,多媒体处 理方面优势 Cortex Cortex-A MMU V7架构<300 2.0 600-1000 应用,消费、无线产品Cortex-R MMU V7架构0.27 1.62 300 实时控制 汽车电子、网络和影像系 统 Cortex-M MPU 3级流水0.19 1.25 100 微控制器、汽车车体系

线 V7架构 统、网络装置 SecurCore MPU 5级流水 线 - -- -- 安全方面,电子商务,网 络银行 MMU:存储管理单元 MPU:存储保护单元、 比较项目ARM7 Cortex-M3 架构 ARMv4T(冯诺依曼) 指令和数据总线共用,会出现瓶颈 ARMv7-M(哈佛) 指令和数据总线分开,无瓶颈 指令集32位ARM指令+16位Thumb指令 两套指令之间需要进行状态切换 Thumb/Thumb-2指令集16位和32位 指令可直接混写,无需状态切换 流水线 3级流水线若出现转移则需要刷新流水线, 损失惨重 3级流水线+分支预测出现转移时流水线无需 刷新,几乎无损失 性能0.95DMIPS/MHz(ARM模式) 1.25DMIPS/MHz 功耗0.28mW/MHz 0.19mW/MHz 低功耗模 式 无内置睡眠模式 面积0.62mm2(仅内核)0.86mm2(内核+外设) 中断普通中断IRQ和快速中断FIQ太少,大量外 设不得不复用中断 不可屏蔽中断NMI+1-240个物理中断 每个外设都可以独占一个中断,效率高 中断延迟 24-42个时钟周期,缓慢12个时钟周期,最快只需6个 中断压 栈 软件手工压栈,代码长且效率低硬件自动压栈,无需代码且效率高存储器保 护 无8段存储器保护单元(MPU) 内核寄存 器 寄存器分为多组、结构复杂、占核面积多寄存器不分组(SP除外),结构简单工作模式 7种工作模式,比较复杂只有线程模式和处理模式两种,简单乘除法 指令 多周期乘法指令,无除法指令单周期乘法指令,2-12周期除法指令 位操作无访问外设寄存器需分“读-改-写”3步走先进的Bit-band位操作技术,可直接访问外设 寄存器的某个值 系统节拍 定时 无内置系统节拍定时器,有利于操作系统移植

ARM版本及系列

ARM 指令集版本和ARM 版本 常常能看到ARM7,ARM9,ARM11,以及armv6k等不同的表达。且在GCC编译中,常常要用到-march, -mcpu等。他们分别表达什么涵义呢?Sam自己也不很清楚,只是大概有个模糊的概念。今天就仔细研究一下。 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业。设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。1985年,第一个ARM原型在英国剑桥诞生。ARM公司的特点是只设计芯片,而不生产。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。 ARM公司定义了6种主要的指令集体系结构版本。V1-V6。(所以上面提到的ARMv6是指指令集版本号) ARMv1: 该版本的原型机是ARM1,没有用于商业产品。 ARMv2: 对V1版进行了扩展,包含了对32位结果的乘法指令和协处理器指令的支持。 ARMv3: ARM公司第一个微处理器ARM6核心是版本3的,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。

ARMv4: 当前应用最广泛的ARM指令集版本。 ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。 ARMv5: ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。 ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。 ARM10也采用。 其中后缀意义如下: E:增强型DSP指令集。包括全部算法和16位乘法操作。 J:支持新的Java。 ARMv6: 采用ARMv6核的处理器是ARM11系列。 ARM1136J(F)-S基于ARMv6主要特性有SIMD、Thumb、Jazelle、DBX、(VFP)、MMU。ARM1156T2(F)-S基于ARMv6T2 主要特性有SIMD、Thumb-2、(VFP)、MPU。 ARM1176JZ(F)-S基于ARMv6KZ 在ARM1136EJ(F)-S 基础上增加MMU、TrustZone。ARM11 MPCore基于ARMv6K 在ARM1136EJ(F)-S基础上可以包括1-4 核SMP、MMU。 ARM处理器核:

ARM9系列芯片分析与选型1

ARM系列芯片分析与选型 1.ARM公司及相关产品介绍 ARM公司于1991年成立于英国剑桥,主要出售ARM IP的授权。目前,ARM 处理器(即采用ARM IP核的处理器)已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。ARM处理器应用占据了32位RISC微处理器很大的市场,ARM技术已渗入生活的各个方面。 目前市面上常见的ARM处理器架构可分为ARM7、ARM9、ARM10、ARM11以及Cortex系列,每个系列又包括很多种IP内核的产品。ARM 也是嵌入式处理器中首先推出多核架构的厂商。生产ARM芯片的厂家很多,主流半导体厂商的产品比较齐全,供货也相对更有保障。Samsung、NXP、 Cirrus Logic、Atmel、Freescale、TI、ST、Winbond等主流半导体厂商的ARM芯片产品列表见本刊网站,其中有些产品已供货,有些正在样片阶段,有些正在开发,还有许多产品不支持外部存储器的扩展。 2.主要ARM芯片供应商 目前可以提供ARM芯片的著名欧美半导体公司有:英特尔、德洲仪器、三星半导体、摩托罗拉、飞利浦半导体、意法半导体、亿恒半导体、科胜讯、ADI 公司、安捷伦、高通公司、Atmel、Intersil、Alcatel、Altera、Cirrus Logic、Linkup、Parthus、LSI logic、Micronas, silicon Wave、Virata、Portalplayer inc.、NetSilicon,Parthus。的许多著名半导体公司如东芝、三菱半导体、爱普生、富士通半导体、松下半导体等公司较早期都大力投入开发了自主的32位CPU 结构,但现在都转向购买ARM公司的芯核进行新产品设计。由于它们购买ARM 版权较晚,现在还没有可以销售的ARM芯片,而OKI、NEC、AKM、OAK、Sharp、Sanyo、Sony、Rohm等半导体公司目前都已经批量生产了ARM芯片。韩国的现代半导体公司也生产提供ARM芯片。另外,国外也有很多设备制造商采用ARM公司的芯核设计自己的专用芯片,如美国的IBM、3COM和新加坡的创新科技等。我国

哪种ARM Cortex内核更适合:A系列、R系列、M系列

ARM Cortex内核系列提供非常广泛的具有可扩展性的性能选项,设计人员有机会在多种选项中选择最适合自身应用的内核,而非千篇一律的采用同一方案。Cortex系列组合大体上分为三种类别: ● Cortex-A—面向性能密集型系统的应用处理器内核 ● Cortex-R—面向实时应用的高性能内核 ● Cortex-M—面向各类嵌入式应用的内核 Cortex-A处理器为利用操作系统(例如Linux 或者Android)的设备提供了一系列解决方案,这些设备被用于各类应用,从低成本手持设备到智能手机、平板电脑、机顶盒以及企业网络设备等。早期的Cortex-A系列处理器(A5、A7、A8、A9、A12、A15 和A17)基于ARMv7-A架构。每种内核都共享相同的功能集,例如NEON媒体处理引擎、Trustzone安全扩展、单精度和双精度浮点支持、以及对多种指令集(ARM、Thumb-2、Thumb、Jazelle和DSP)的支持。与此同时,这些处理器也具有极高的设计灵活性,能够提供所需的最佳性能和预期的功效。 尽管Cortex-A5内核是Cortex A系列中体积和功耗都最低的成员,但它拥有支持多核性能的潜能,并且与该系列中的高级成员(A9和A15)兼容。对于

那些之前采用ARM926EJ-S或ARM1176JZ-S处理器的设计人员来说,选择A5是自然的,因为它具有更高的性能和更低的芯片成本。 Cortex-A7在功耗和体积上与Cortex-A5相似,但其性能提升20%左右,且与Cortex-A15和Cortex-A17有完全的架构兼容性。Cortex-A7是成本敏感型智能手机和平板电脑的理想选择,而且它还可以与Cortex-A15或Cortex-A17组合使用,形成ARM 称为“big.LITTLE”的处理结构。big.LITTLE结构实质上是一种功耗优化技术;高性能CPU(例如Cortex-A17)和高效率CPU(例如Cortex-A7)的组合配置能够提供更高的持久性能,同时因为更高效的内核很好的满足了应用对中低性能的需求,这种组合还显著节省整体功耗,节省75%的CPU耗能,并且延长的使用寿命。智能手机和平板电脑的性能需求发展远比容量的增长快得多,因此这种配置带给开发人员明显的优势。诸如big.LITTLE等设计方法,作为整体系统设计策略的一部分,能够显著降低这种电池技术造成的差距。 接下来让我们看看Cortex-A系列处理器中的高级别产品——Cortex-A15和Cortex-A17内核。这两款内核都是高性能处理器,也可用于多种配置中。

重新写一篇Cortex系列ARM内核详细介绍_华清远见

重新写一篇Cortex系列ARM内核详细介绍 今天重新写了一篇关于Cortex系列ARM内核的详细介绍,希望对在学习的新手有所帮助。好了,废话不多说,请往下看正题! ARM公司在经典处理器ARM11以后的产品改用Cortex命名,并分成A、R和M三类,旨在为各种不同的市场提供服务。Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在 TechCon 上推出)ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R 系列,基于v7M的称为Cortex-M系列。 Cortex就是ARM公司一个系列处理器的名称。比如英特尔旗下处理器有酷睿,奔腾,赛扬。ARM在最初的处理器型号都用数字命名,最后一个是ARM11系列,在应用ARMv7架构后,推出了Cortex这一系列,老式的则命名为Classic系列 一.ARMv7架构特点 下表列出了ARM微处理器核心以及体系结构的发展历史: 表一: ARM微处理器核心以及体系结构的发展历史

我们可以看到,Cortex系列属于ARMv7架构,这是ARM公司最新的指令集架构,而我们比较熟悉的三星的S3C2410芯片是ARMv4架构,ATMEL公司的AT91SAM9261芯片则是ARMv5架构。 ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,Thumb-2技术是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用 31%的内存,减小了系统开销。同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。此外,ARMv7还支持改良的运行环境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。另外,ARMv7架构对于早期的ARM处理器软件也提供很好的兼容性。 ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器和低成本应用提供优化。下图为v5至v7架构比较: 图一:v5至v7架构比较 由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。下面一一介绍。 二.Cortex-A8 Cortex-A8第一款基于ARMv7构架的应用处理器。Cortex-A8是ARM公司有史以来性能最强劲的一款处理器,主频为600MHz到1GHz。A8可以满足各种移动设备的需求,其功耗低于300毫瓦,而性能却高达2000MIPS。 Cortex-A8也是ARM公司第一款超级标量处理器。在该处理器的设计当中,采用了新的技术以提高代码效率和性能,采用了专门针对多媒体和信号处理的NEON技术。同时,还采用了Jazelle RCT技术,可以支持JAVA程序的预编译与实时编译。

ARM+MIPS 详细比较 非常好的资料!!!

MIPS(Million Instructions Per Second)是CPU处理能力的一个指标,它的字面意思是每秒种执行指令的平均条数。 这个指标缺少了一个重要的评估标准,哪就是CPU的时钟是多少?同样的CPU,只要在允许的范围内,使用的系统时钟频率越高,当然MIPS也越高。 所以更能体现指标应该是MIPS/MKHz,也就是系统时钟(CPU的工作时钟)为1M时,平均能够执行的指令数。 国内2本中文介绍STM32的书中,一本是这样介绍的:“STM32的32位Cortex-M3内核,时钟频率可达72MHz,指令速度可接近80MIPS”。另外一本写到“32位Cortex-M3处理器所具备RISC结构、1.25DMIPS/MHz的处理性能......”。 那么作为嵌入式硬件工程师,如何理解和分析这个指标呢? 首先从最基本的硬件常识和基础分析。CPU的工作是按时钟节拍工作的,对于非并行处理RICS架构的CPU,一个CLK最多能执行一条实际的指令(不考虑指令的功能),这个是实在的,也是上限!也就是说:1MIPS/MHz到顶了(A VR给出的是接近1MIPS/MHz的指标)。 那么STM32的1.25DMIPS/MHz是什么含义?这里面的D是什么意思? 网上查了一下(https://www.360docs.net/doc/c65453995.html,/A-D/detaila-d/ComputerTestStandardIntro.htm),基本明白了D的含义。简单说吧:2个CPU,每个CLK都能执行一条指令,这个是相同的,都是“1MIPS/MHz”。但我们让它门做某个处理运算,一个需要执行10条指令完成,而另一个因为指令系统中具备专用的处理这个运算的指令,所以只需要5条指令就行了。故第2个CPU 的性能为“2DMIPS/MHz”。 可见DMIPS/MHz是一个相对的、综合指标。Cortex-M3好象没有具体给出内核每个时钟周期具体能执行的平均指令数(应该每CLK不到一个指令),而是给出1.25DMIPS/MHz,有点不实在。 因为要达到这个1.25DMIPS/MHz指标,还要看程序员的水平。比如上面的例子,如果程序员水平低,用了20条指令才完成运算,那么CPU的性能就成为0.5DMIPS/MHz了。 所以,我个人认为,嵌入式硬件工程师应该注意和掌握的是CPU每个CLK具体能够执行指令的条数,最大就是一个CLK一条了。这样能清楚的进行系统的分析。 举例说明:如果用STM32产生1M的方波,采用定时器0.5us间隔中断,中断中将I/O取反的方法,其CPU的效率如何? 简单评估:假定STM32的时钟为72M,那么0.5us最多为36条指令执行的时间。扣除中断响应、现场保护、现场恢复、中断返回所必要的时间,中断中你还可以写几条指令?此时CPU的效率如何?还能做其他事情吗?

相关主题
相关文档
最新文档