当前位置: 首页 > news >正文

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 各自具有独立的内存库,并且如果不来回复制数据,就无法协同处理相同的数据。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 差分传输与单端传输
  • SIP,VOIP状态码详解
  • DataWhale AI夏令营-《李宏毅深度学习教程》笔记-task3
  • SQL【2】稍稍进阶
  • 第四届先进制造技术与电子信息国际学术会议(AMTEI 2024)
  • RedisTemplate集成+封装RedisUtil
  • 使用golang的AST编写定制化lint
  • 【LeetCode】两数之和
  • VS2022使用指定的LLVM版本
  • Python 从入门到实战6(二维列表)
  • RedisMessageListenerContainer容器初始化
  • 力扣SQL仅数据库(196~569)
  • 剪画:轻松去除图片水印的操作!
  • skywalking服务部署
  • uniapp微信小程序开发测试获取手机号码
  • 【附node操作实例】redis简明入门系列—字符串类型
  • exports和module.exports
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • LeetCode算法系列_0891_子序列宽度之和
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Python - 闭包Closure
  • React as a UI Runtime(五、列表)
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • XForms - 更强大的Form
  • yii2权限控制rbac之rule详细讲解
  • 离散点最小(凸)包围边界查找
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 排序算法之--选择排序
  • 如何胜任知名企业的商业数据分析师?
  • 如何选择开源的机器学习框架?
  • 温故知新之javascript面向对象
  • 一个项目push到多个远程Git仓库
  • 一些css基础学习笔记
  • 栈实现走出迷宫(C++)
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • mysql面试题分组并合并列
  • 回归生活:清理微信公众号
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • (1)svelte 教程:hello world
  • (Java入门)抽象类,接口,内部类
  • (函数)颠倒字符串顺序(C语言)
  • (黑马点评)二、短信登录功能实现
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (七)Knockout 创建自定义绑定
  • (一)基于IDEA的JAVA基础10
  • (转)菜鸟学数据库(三)——存储过程
  • (转)程序员疫苗:代码注入
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .NET BackgroundWorker
  • .Net IE10 _doPostBack 未定义