玩这么多年电脑,其实用的CPU的好多东西都不知道,记录一下学到的
文章目录
- 一、常见的指令集架构
- 1.**通用计算领域**
- 2.**特定用途或较少使用的指令集**
- 3.**GPU和特定运算领域**
- 二、微架构
- 三、两者的联系
一、常见的指令集架构
指令集架构(Instruction Set Architecture, ISA)是处理器可以理解和执行的指令和代码的集合。目前存在多种不同的指令集架构,它们各自适用于不同类型的计算设备和应用场景。
以下是一些主要的ISA:
1.通用计算领域
x86/x86-64 (AMD64): 广泛用于桌面电脑、笔记本电脑和服务器,由英特尔和AMD支持。
ARM: 广泛用于智能手机、平板电脑、嵌入式系统以及某些轻量级笔记本电脑和服务器。
MIPS: 曾经广泛用于多种设备,现在主要用于某些嵌入式系统。
PowerPC: 主要用于嵌入式系统和一些高性能计算系统。
SPARC: 主要用于某些高端服务器和工作站。
RISC-V: 一个开源指令集架构,正在逐渐增加受众和应用范围。
2.特定用途或较少使用的指令集
Itanium (IA-64): 由英特尔开发,主要面向高端服务器市场,但已经宣布逐步淘汰。
Alpha: DEC公司开发,现已不再生产。
AVR: 在微控制器中使用,由Atmel(现为Microchip的一部分)开发。
PIC: Microchip Technology开发的微控制器家族采用不同的指令集。
3.GPU和特定运算领域
CUDA: NVIDIA开发的并行计算平台和应用编程接口,用于其图形处理单元(GPU)。
OpenCL: 一个跨平台的并行编程框架,支持多种指令集和硬件平台。
为人所熟知的,x86架构因其强大的通用性和广泛的软件支持而在个人计算机和服务器领域占据主导地位,但是用过英特尔CPU的都知道,续航真的烂。而ARM架构则因其能效比较优秀,在移动设备和嵌入式系统中更受欢迎。
做嵌入式的同学都很熟悉ARMv7,它是很经典的ARM指令集架构。
ARMv7特点: 分为三个主要的剖面——A(应用程序)、R(实时)和M(微控制器)。其中ARMv7-A支持高性能应用处理器,带来了大量改进如更高效的分支预测、更大的寄存器文件等。
代表处理器: Cortex-A系列如Cortex-A8、Cortex-A9等,Cortex-R系列和Cortex-M系列如Cortex-M3/M4等
二、微架构
微架构是基于指令集架构定制的。
举个例子:当英特尔设计一颗CPU时,它们并不是在硬件出来之后将指令集“载入”进去。相反,他们会按照ISA的规范去设计和构建CPU硬件。
市场上常见的微架构:
- 英特尔(Intel)
Skylake: 第6代Core系列处理器微架构,对性能和能效进行了大幅改进。
Coffee Lake: Skylake的后续微架构,增加了核心数量。
Cannon Lake/Ice Lake/Tiger Lake: 新一代微架构,引入10纳米工艺技术,并提供更高的性能与能效。
Alder Lake: 第12代Core系列处理器微架构,采用混合架构设计,结合了高性能和高效率核心。 - AMD (Advanced Micro Devices)
Zen: 该微架构在性能和能源效率方面取得了显著飞跃,代表了AMD在高端CPU市场中的回归。
Zen 2: 进一步提高了性能,采用7纳米工艺,并引入了chiplet设计。
Zen 3: 对前代微架构进行了优化,提供了更好的IPC (每周期指令数) 性能。
Zen 4: 预期将进一步提升性能,采用更先进的制程技术。 - ARM Holdings
ARM Holdings 设计了许多不同类型的微架构,它们被广泛地授权给各种芯片厂商使用在移动设备、嵌入式系统以及越来越多的服务器和笔记本电脑中: Cortex-A, Cortex-R, Cortex-M 系列: 分别针对应用处理器、实时处理以及微控制器。 - 苹果(Apple)
Firestorm和Icestorm: 作为苹果自家的M1芯片中的高性能和高效率核心。 - NVIDIA
Tesla、Pascal、Volta、Turing、Ampere: 主要针对图形处理单元(GPU)的微架构。
三、两者的联系
需要分清楚的是,微架构和产品名字还是有一定区别的,比如intel的Xeon:
Xeon E5-2600 v3: 这里,“E5”表示产品类别,“2600”是型号,“v3”表示第三代的版本,该产品基于“Haswell”微架构。
Xeon Gold 6138: 在这个例子中,“Gold”表示产品定位和性能级别,“6138”是型号,而这款处理器可能基于“Skylake”微架构。还有ARM,cortex-m啊a啊系列什么的,都可以看作是一种微架构,比如cortex-m4是基于ARMv7E-M指令集架构。
Tesla、Pascal、Volta、Turing、Ampere是NVIDIA开发的图形处理单元(GPU)微架构的名字。这些微架构都是基于NVIDIA自己的CUDA指令集架构设计的。
AMD的ZEN架构是真的厉害,以后在研究一下。看看是怎么实现低能耗高性能的。