cpu架构:x86和arm

Windows PC通常建立在Intel和AMD使用的x86架构,apple的计算机使用该公司的基于arm架构的M1和M2处理器。

ARM和x86:指令集的区别

arm:精简指令集(RISC) :将cpu简化为最低限度的基本功能,使cpu尽可能简单。ARM架构只使用34条指令,这些指令主要处理简单的数学运算并在寄存器和存储器位置之间移动数据。

x86:复杂指令集(CISC):将越来越多的特性和功能构建到芯片中,使程序员只需几行代码就可以执行复杂的操作。英特尔8086支持82条指令,允许更高级的数据操作------随着后续的修订和扩展,已膨胀到200多条指令。

RISC方法似乎有悖常理。较小的指令集意味着程序需要更长、更复杂才能获得相同的结果。但是,RISC芯片的物理设计可能比CISC芯片简单得多。这可以使制造更容易、更便宜,并且可以以更快的速度分解指令------在大多数情况下,每个操作都在一个时钟周期内完成。它也可以消耗更少的功耗,这就是为什么ARM处理器在智能手机中占主导地位的原因,因为电池寿命是关键。

虽然 CISC 和 RISC 方法是相反的,但差异并不像想象的那么重要。如今,很少有程序是用纯汇编语言编写的,因此开发人员无需担心底层架构:他们可以在让解释器或编译器处理翻译之前用 Python、C# 或其他语言编写。事实上,Apple 基于 ARM 的 Mac 包括一个实时转换层,可以运行为 x86 系统编写的程序,而无需修改。

功耗的差异也比以前小。多年来,英特尔一直在努力与ARM芯片的低功耗相匹配,这不仅是因为其CPU设计的复杂性,还因为其内部制造工艺无法像竞争对手那样快速缩小芯片内部晶体管的尺寸。这是一个令人尴尬的点:最新的英特尔芯片仍在使用 10nm 制造工艺(被称为"Intel 7"),而苹果的 M 系列处理器自 2020 年推出以来一直使用 5nm 工艺。

ARM 和 x86 CPU 如何访问 RAM

苹果的芯片和英特尔的芯片之间还有最后一个区别------这不是ARM架构所固有的,而是苹果自己做出的设计决定。英特尔的芯片依赖于外部系统RAM,而苹果则将内存直接集成到其M系列处理器的芯片中。

这意味着你永远无法升级 Apple Silicon 计算机上的内存,这可能会导致在选择规格时做出一些痛苦的决定。这也意味着主流芯片上根本没有真正的大量内存分配:M1 提供最大 16GB 的 RAM,而 M2 的 RAM 限制为 24GB。如果你想要 32GB 或更多,则需要升级到昂贵的 M1 Pro、Max 或 Ultra 系统。相比之下,英特尔的所有第 12 代和第 13 代处理器都可以使用高达 128GB 的 RAM。

然而,由于苹果的RAM实际上位于处理器逻辑旁边,并通过最快的结构连接到它,因此其处理器可以非常快速有效地访问代码和数据。标准 M1 的最大内存带宽为 68GB/秒,而 M2 高达 100GB/秒,M1 Pro、Max 和 Ultra 型号分别高达 200GB/秒、400GB/秒和 800GB/秒。对于英特尔来说,这完全取决于处理器、RAM 和主板的具体情况,但即使是最新、最快的酷睿 i9 也被限制在理论上的最大值为 90GB/秒。

更重要的是,苹果使用所谓的"统一内存架构unified memory architecture",这意味着整个内存范围都可以由CPU或片上GPU直接访问。与传统的 PC 架构相比,这提供了巨大的效率优势,在传统的 PC 架构中,CPU 和 GPU 各自具有独立的内存库,并且如果不来回复制数据,就无法协同处理相同的数据。

相关推荐
询问QQ:48773927814 小时前
基于MATLAB的时变滑膜仿真技术研究:非线性控制的角速度跟踪与误差分析
arm开发
切糕师学AI1 天前
ARM 架构中的 R15 程序计数器(PC)
arm开发·嵌入式·pc·程序计数器·寄存器
piaoroumi2 天前
AM62X内核裁剪
arm开发
切糕师学AI2 天前
ARM 架构中,R14链接寄存器(LR)是什么?
arm开发·寄存器·link register
切糕师学AI2 天前
ARM多核系统数据一致性深度解析:从硬件协议到软件实践
arm开发·多核·缓存一致性
猫猫的小茶馆2 天前
【ARM】内核移植(编译)
linux·arm开发·stm32·单片机·嵌入式硬件·mcu·pcb工艺
fruge2 天前
SIMD 编程实践:在 openEuler 上 x86 AVX 与 ARM Neon 性能探索
arm开发
智算菩萨2 天前
深度剖析U盘启动WINPE技术体系:从底层原理到企业级应用实践
arm开发·系统安全·系统维护
szxinmai主板定制专家2 天前
JETSON orin+FPGA+GMSL+AI协作机器人视觉感知
网络·arm开发·人工智能·嵌入式硬件·fpga开发·机器人
无奈笑天下2 天前
银河麒麟高级服务器版本【更换bond绑定的网卡】操作方法
linux·运维·服务器·arm开发·经验分享