欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

ARM不同版本架构详解及对应系列芯片介绍

最编程 2024-02-29 16:16:45
...

目录

0.前言

1.ARM架构

V1架构

V2架构

V3架构

V4架构

V5架构

V6架构

V7架构

V8架构

2.架构和各系列关系


0.前言

        最近更新的有点少,但不能没有。

        先推荐一首歌《梦醒时分》——伍佰。

        简单说一下ARM架构,以及各芯片对应关系,起码以后茶话夜谈能插一嘴。


1.ARM架构

        现在应该到了V8。基于不同架构设计出来的内核处理器在硬件方面可能不同,但是架构的指令集都基于RISC指令集而设计的。


V1架构

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

        其基本性能有:

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

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

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

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

                寻址空间:64MB(226)。


V2架构

        该版架构对V1版进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32位乘法指令和协处理器指令的支持。

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

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

                乘法和乘加指令;

                支持协处理器操作指令;

                快速中断模式;

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

                寻址空间:64MB。


V3架构

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

        变种版本有3G和3M。版本3G是不与版本2a向前兼容的版本3,版本3M引入了有符号和无符号数乘法和乘加指令,这些指令产生全部64位结果。

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

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

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

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

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

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

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


V4架构

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

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

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

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

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

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

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

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


V5架构

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

        这些新增命令有:

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

                计数前导零CLZ指令;

                BRK中断指令;

                增加了数字信号处理指令(V5TE版); 为协处理器增加更多可选择的指令;

                改进了ARM/Thumb状态之间的切换效率;

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

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


V6架构

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

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

                THUMBTM:35%代码压缩;

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

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

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


V7架构

        32位、16位混合编码指令; 增强了SIMD、DSP功能扩 展,为OS、音视频处理应用系统提供优化功能。


V8架构

        ARM公司首款支持64位指令集的处理器架构,包括64位通用寄存器SP (堆栈指针)和PC (程序计数器),64位数据处理和扩展的虚拟寻址。

        V8版架构支持三个主要指令集:

                A32 (或ARM) : 32位固定长度指令集,通过不同架构变体增强部分32位执行架构,是一种AArch32指令集

                T32 (Thumb) :以16位固定长度指令集的形式引入。在引|入Thumb-2技术时增强为16位和32位混合长度指令集;

                A64:提供与ARM和Thumb指令集类似功能的32位固定长度指令集,是一种AArch64指令集。


2.架构和各系列关系

        一张图搞明白架构和各系列之间的对应关系。


        ARM公司在ARM11以后改用Cortex命名,并分成A、R和M三类,M系列有M0、M0+、M3、M4、M7。 Cortex-M3是ARM公司推出的基于ARMv7架构的MCU内核,ST公司在此内核的基础上完成了USART、DMA、GPIO等外围电路的设计。在M系列不同内核开发下的STM32,大致可分成低功耗系列、主流系列、高性能系列3个部分。

        M3系列广受学生党喜爱,STM32F103C8T6