全文3000字,预计阅读时长:8分钟
适用于从事ARM软硬件设计、开发、调试的工程师、教师以及学生
对于大部分开发者来讲,ARM架构知识一直存放于盲盒之中,知之甚少;而ARM架构知识是ARM结构化知识中非常关键的一部分,它的缺失,会导致我们对于问题的系统化思考难以进行。所以增设了《ARM架构知多少-A系列》专栏来和大家一起学习ARM架构,完善知识结构,拓展系统思考边界。
这篇文章还处于书写过程中,请大家耐心等待~
!!!!!!!!!!!!!!!!!!!!!!!!!!
概念
指令
通常,我们所说的ARM架构指的是ARM的体系结构。与组成原理不同,体系结构描述的是ARM的各个功能属性,是使用ARM的接口抽象,而组成原理描述的是各个功能属性或接口的具体实现原理。
指令集
从系统角度来看,小结构构成了大结构,简单结构构成复杂结构,能够独立运作的结构单元构成了子系统结构,子系统结构相互连接交互构成系统结构。
类比
房屋建筑
1.房屋从功能角度看,有卧室、厨房、客厅、卫生间;从组成角度来看,由钢筋、混凝土、空心砖、管道组成;从系统的角度来看包含了卧室子系统、厨房子系统、客厅子系统、卫生间子系统、连接各个子系统的走廊、各个子系统运行的外部依赖水、电、煤气等。
2.房屋中的板楼、塔楼是根据不同的思想/方法论形成的不同房屋架构分支;住宅、公寓是架构分支针对不同领域推出的系列。
3.塔楼、板楼架构也在不断演进,形成不同的版本,比如10年前的板楼和现如今的板楼架构是有差异的。
,形成不同的架构图纸,开发商根据图纸以及部分定制建筑房屋,购买者根据其需求对房屋进行装修,住户根据其偏好进行使用。
翅膀
1.TBD
2.TBD
3.TBD
4.TBD
原理
ARM架构是一种计算机架构;
计算机理论模型源于图灵机,图灵机是一种计算模型,是一种抽象的数学计算;数学计算离不开数和运算,即数据和操作;
计算机架构源于冯诺依曼架构、哈佛架构,从图灵到冯诺依曼,计算机从理论世界走进了现实世界。
在物理世界,数据需要存储媒介,在计算机中与之对应的两个概念就是寄存器;而与操作对应的就是指令,指令组成了指令集。
在计算机中寄存器和指令集构成了编程模型,对应于抽象的计算模型。加上支撑编程模型的其他部件,构成了指令集架构(ISA,Instruction Set Architecture)。
TBD,这里再增加系统架构的描述,系统架构是那些总线架构,外部接口架构这种
图说
介绍指令集。
总结
对文章内容进行归纳总结,对价值&重要性进行说明,
前言:基本内容/知识体系、目的意图、价值、展望
参考
1.ARM A Profile Architecture Reference
2.ARM64指令集
附录
微架构又称为微体系结构/微处理器体系结构。是在计算机工程中,将一种给定的 指令集架构在处理器中执行的方法。一种给定指令集可以在不同的微架构中执行。实施中可能因应不同的设计目的和技术提升而有所不同。计算机架构是微架构和指令集设计的结合。
Core微架构的处理器
NetBurst微结构的缺陷是IPC(每时钟执行的指令条数)表现不佳,同频情况下Pentium 4有时还不如前代的PentiumⅢ。频率提高后,功耗随之上升,功耗过高,影响了主频的进一步提高。为了改善这种情况,Intel采用了Core微架构。
Core微架构是Intel在Yonah微架构基础之上改进而来的下一代微架构,采取共享式二级缓存设计,两个核心共享4MB或2MB的二级缓存,其内核采用高效的l4级有效流水线设计,每个核心都内建32KB 一级指令缓存与32 KB 一级数据缓存,而且两个核心的一级数据缓存之间可以直接传输数据。每个核心内建四组指令解码单元,支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码五条x86指令,并拥有改进的分支预测功能。每个核心内建五个执行单元,执行资源庞大。采用新的内存相关性预测技术。加入对EM-64T与SSE4指令集的支持,支持增强的电源管理功能,支持硬件虚拟化技术和硬件防病毒功能,内建数字温度传感器,还可提供功率报告和温度报告等,配合系统实现动态的功耗控制和散热控制。Core微架构处理器的内部结构如图1所示:
图1 Core微架构处理器的内部结构
Core微架构的处理器系列有用于桌面平台的Conroe、移动平台的Merom和服务器平台的Woodcrest;有Core处理器和Core 2处理器之分,从结构上又可分为单核Core Solo、双核Core Duo和Core 2 Duo以及四核的Core 2 Quad。在多核结构中耦合度的松紧决定四核协作效率的高低,而微架构则决定每个核心的运算效率、实际性能、功耗高低等关键的特性。Intel的Kentsfield/Yorkfield两代Core 2 Quad处理器都基于Core微架构。 [1]
使用微架构的原因
使用微架构有很多优势,但是同时也具有一定的风险。图2给出了一个简单的成本效益分析
图2 微架构成本分析表
由上图成本效益分析可以看到,在开发大型应用程序时,使用微架构可以获得最大收益。 [2]
Core微架构的优点
Core架构的优势体以下几个方面:
(1)拥有超宽的执行单元。在每个周期,Core架构的指令解码器可以同时发射四条指令,而AMD K8架构只能发射三条指令,换句话说,Core架构拥有更加出色的指令并行度。
(2) Core架构具有“微操作融合(Micro-p Fusion)”和“宏操作融合(Macro-p Fusion)”两项技术,可以对执行指令进行优化,通过减少指令的数量获得更高的效率,Intel表示这两项技术最多可带来67%的效率提升,这也是Core架构产品在低功耗状态下依然拥有强劲效能的主要秘密。
(3) Core微架构的SSE执行单元首度提供完整的128位支持。每个单元都可以在一个时钟周期内执行一个128位SSE指令,而在多个执行单元的共同作用下,Core架构核心可以在一个时钟周期内同时执行1 28位乘法、128位加法、128位数据载入以及128位数据回存,或者是可以同时执行四个32位单精度浮点乘法和四个32位单精度浮点加法,进而显著提升多媒体性能。
(4) Core微架构采用共享Cache设计。Cache资源利用率高于独占式设计,且多个核心可以高效协作。 [1]
XScale微架构处理器
XScale架构处理器是新一代为无线手持式应用产品开发的嵌入式处理器,是PCA开发式子台架构中的应用于系统与通信子系统中的嵌入式处理器。图3是XScale系统结构图:
图3 XScale系统结构图
(1)采用7/8级超级流水线:动态跳转预测;分支目标缓冲器BTB(BranchTargetBarfer)。
(2)支持多媒体处理技术:·新增乘/加器MAC;40位累加器;兼容ARMV5TE指令;特定DSP型协处理器CPO。
(3)指令快存(1-Cache):32KB。
(4)数据快存(D-Cache):32KB:可以重构为28KB片内RAM。
(5)微小数据快存(Mini-DCache):2KB。
(6)指令存储器管理单元IMMU:32路变换后备缓冲器TLB(快表)。
(7)数据存储器管理单元DMMU:32路变换后备缓冲器TLB(快表)。
(8)中断控制器。
(9)总线控制器。
(10)调试(Debug)接口:性能监控:协处理器CPl4;硬件断点;硬件观察点;BKPT指令;异常中断;JTAG接口;迹缓冲器。
(11)动态电源管理。XScale微架构处理器的时钟可以达1GHz、功耗1.6 W,并能达到1200MIPS。
下一篇:ARM架构知识(4)异常级别