「Arm Arch」 微架构

简介: 「Arm Arch」 微架构

本文源自《书香度年华》「ARM 架构专栏」,是一系列由浅入深、循序渐进的文章,文章之间有一定的前后关联性,所以按顺序阅读,建议收藏专栏。

一、概念

 微架构(英语:Microarchitecture)又称为微体系结构微处理器体系结构。是在计算机工程中,将一种给定的 指令集架构 (instruction set architecture)在处理器中执行的方法。一种给定指令集可以在不同的微架构中执行。实施中可能因应不同的设计目的和技术提升而有所不同。计算机架构是微架构和指令集设计的结合。

二、基本部件

 微架构因应计算机指令系统的执行过程来设计。


2.1 计算机指令的执行过程

2.1.1 提取指令

2.1.2 翻译指令

2.1.3 计算机操作数所存放的地址

2.1.4 提取操作数

2.1.5 执行指令

2.1.6 返回结果

2.2 新型的微架构包含部件

2.2.1 流水线执行机制

2.2.2 指令发射和调度机制

2.2.3 On-die cache 片上高速缓存

2.2.4 存储器管理机制

2.2.5 协调处理器

2.2.6 转移预测机制

三、示例




图1 Cortex-A72 处理器微架构

图2 微架构

图3 Neoverse N1 微架构







三、总结


1. 本文主要从 Arm CPU 微架构;

参考

1.Arm CPU架构参考手册合集

2.AMBA 总线微架构参考手册合集

3.系统微架构参考手册合集指令集微架构参考手册合集

4.安全微架构参考手册合集

5.功耗控制系统架构PSCA

术语

图灵机


一个抽象的机器、思想模型;


总线


计算机各种功能部件之间传送信息的公共通信干线;


Trustzone


通过隔离实现可信域的技术;


Hypervisor


虚拟机监视器,是用来建立与执行虚拟机器的软件、固件或硬件。


附录

微架构又称为微体系结构/微处理器体系结构。是在计算机工程中,将一种给定的 指令集架构在处理器中执行的方法。一种给定指令集可以在不同的微架构中执行。实施中可能因应不同的设计目的和技术提升而有所不同。计算机架构是微架构和指令集设计的结合。


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。


皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~



“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~

下一章 第三章 系统微架构

相关文章
|
4月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
986 3
|
26天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
Docker 容器
docker:记录如何在x86架构上构造和使用arm架构的镜像
为了实现国产化适配,需将原x86平台上的Docker镜像转换为适用于ARM平台的镜像。本文介绍了如何配置Docker buildx环境,包括检查Docker版本、安装buildx插件、启用实验性功能及构建多平台镜像的具体步骤。通过这些操作,可以在x86平台上成功构建并运行ARM64镜像,实现跨平台的应用部署。
1635 2
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
2月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
2月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
69 0
|
2月前
|
NoSQL MongoDB Docker
求助,有没有大神可以找到arm64架构下mongodb的3.6.8版本的docker镜像?
在Docker Hub受限的情况下,寻求适用于ARM架构的docker镜像资源或拉取链接,以便在x86架构上获取;内网中的机器为ARM架构,因此优先请求适合ARM的Docker镜像或Dockerfile,非常感激您的帮助。
|
4月前
|
机器学习/深度学习 算法 数据库
阿里云服务器架构区别解析:从X86计算、Arm计算到高性能计算架构的区别参考
在我们选择阿里云服务器的架构时,选择合适的云服务器架构对于提升业务效率、保障业务稳定至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供参考和选择。
阿里云服务器架构区别解析:从X86计算、Arm计算到高性能计算架构的区别参考
|
3月前
ARM64架构提供的Cache操作
ARM64架构提供的Cache操作
|
19天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。