• 简中
    • 繁中
  • 注册
  • 查看作者
  • “32 位应用已死。”

    转载:本文来自微信公众号“CSDN”(ID:CSDNnews),作者:马超,转载经授权发布。

    曾经嘅经典都喺度逐渐消失。

    Android 全面拥抱 64 位 APP

    唔耐前,小米应用商店、OPPO 软件商店、VIVO 应用商店、腾讯应用宝、百度手机助手联合宣布,今后喺上述应用商店发布嘅所有应用必须支持 64 位架构,今年年底前全体应用及游戏均需按计划上传含有 64 位构建嘅应用包 apk。按照官方时间表,中国市场所有嘅移动安卓应用程序定于 2022 年 8 月底前全面普及 64 位。

    其实全线下架 32 位 APP 早已经是业界嘅共识嘎啦,2018 年 iOS 11 发布嘅时候,苹果就已经全面淘汰‌ 32 位嘅应用 APP,但是安卓作为一个开源共享嘅项目,好难强制推行淘汰 32 位程序,虽然 2019 年谷歌也曾公告提醒开发者们停止开发新嘅 32 位 APP 或为其提供更新,但是这项计划并没有被严格执行。唔过本次国内五大应用商店联合发布淘汰 32 位 APP 嘅计划,正式吹响‌国内安卓 APP 全面转向 64 位 APP 嘅号角。

    那么 32 位和 64 位嘅程序到底有乜嘢唔同,呢次升级又到底有何必要?下面笔者就为大家一一解读。

    32 位和 64 位相比到底差边‌?

    从技术角度上睇 64 位同 32 位,其实差异好大。十几年前,笔者啱啱进入金融行业嘅时候,就曾做过将应用由 32 位嘅服务器向 64 位小型机进行迁移嘅工作。

    从实际编码来睇,64 位同 32 位处理器嘅根本区别喺于长整型 long 和指针类型 pointer 嘅长度发生‌变化。喺 32 位体系下,integer 同 pointer 长度相等,因此代码中常常将 pointer 转换为 int 或者 unsigned int 以便运算。但对 64 位处理器编程时,将指针或者 long 类型数据赋值畀 int 型变量时,会发生数据截断同丢失。

    从工作机制角度上睇,64 位对 32 位嘅优势都系显而易见嘅。由于 32 位 CPU 一次只能处理 32 位长嘅数据,单指令处理能力唔超过 2 嘅 32 次方,因此喺对于 64 位数据进行加法运算时,就需要先进行低 32 位嘅加法,再将高 32 位相加,最后再将低 32 位嘅进位同结果进行合并处理,至少需要 4 条指令才能完成,而这对于 64 位处理器来讲只系一条指令嘅事。因此 32 位处理器嘅处理能力对比 64 位嚟讲真唔够睇。

    处理能力更强 64 位处理器是可以兼容 32 位程序嘅,唔过让 64 位系统运行 32 位嘅程序其实系一种降级运行状态。

    • 一方面,32 位程序喺而家嘅 64 位硬件上会导致性能严重得唔到发挥,反而会造成无谓嘅卡顿;

    • 另一方面嚟讲,由于32 位嘅程序 APP 往往都比较老旧,没有按照最新嘅开发指南进行编码,呢也意味住 32 位程序往往也唔会支持新版操作系统嘅各种省电、智能休眠特性,安全性也无从保障。所以从呢个角度上讲淘汰 32 位手机 APP 对于广大用户来讲绝对系一件好事。

    可能读到这里唔少读者会问 128 位嘅处理器能否对于 64 位处理器形成碾压呢?

    个人以为呢个问题嘅答案系咪定嘅,一方面目前 SIMD 也就是单指令多数据流技术,已经赋予 CPU 喺一个指令周期内,处理 128 位乃至更长数据嘅能力嘎啦,尤其系新版嘅 ARM V9 还拿出‌大杀招 SVE2 嘅新款 SIMD 指令集,呢项技术支持操作数变长,使 ARM 芯片可以喺一个指令周期内处理 128 到 2048 位变长嘅数据。可以说处理字长嘅问题已经基本唔存喺嘎啦,而且 64 位处理器对于内存寻址嘅能力一般可以达到 16T 甚至以上,呢也足够强大嘎啦,再升级到 128 位意义唔多。因此可以睇到各大厂对于推出 128 位处理器基本都唔系几“感冒”。

    Respect!嗰啲伟大嘅 32 位经典

    喺笔者一个资深嘅游戏玩家眼度,32 位经典作品简直多到‌数唔胜数嘅地步,《生化危机》、《恶魔城月下夜想曲》、《寄生前夜》、《恐龙危机》等等都系 3A 级大作,尤其系最终幻想系列嘅第 8 部,其主题曲《Eyes on me》至今还是经耐唔衰。

    笔者喺前文《MIPS 已死,转身 RISC-V》当中曾经提到过,1994 年一代索尼 Play Station 横空出世,喺 30 年前嘅远古时代就为广大玩家带来‌为之尖叫嘅图像处理效率,而当时 Play Station 所搭载嘅 CPU 正系 32 位嘅一代传奇之作,MIPS R3000A。 

    当然英特尔嘅 80386 都系唔遑多让,80386DX 嘅内部和外部资料汇流排是 32 位,位址汇流排都系 32 位,可以管理 4GB 内存空间和 64TB 嘅存储空间。而且 386 还奠定‌ X86 体系延用至今嘅三种工作模式。其中真实模式对应 16 位系统嘅运行模式,直接内存访问空间被限制喺 1M 位元组;386 保护模式对应 32 位嘅工作模式,处理器可以直接访问 4G 位元组嘅内存,并具有异常处理机制;虚拟 86 模式中 386 可以同时模拟多个 8086 处理器,来加强多工处理能力。

    初期推出嘅 80386 DX 处理器集成‌大约 27.5 万个电晶体,工作频率为 12.5MHz。此后 80386 处理器逐步提高到 20MHz、25MHz、33MHz 直至最后嘅 40MHz。也正系喺 386 真 32 位强大性能嘅加持下,先让当时嘅图形化操作系统 Windows 成为可能,也奠定‌后来 Wintel 联盟统治 IT 生态十几年嘅基础。 

    如果说 32 位 CPU 评选起来还存喺争议嘅话,32 位操作系统嘅最强王者恐怕非 Windows XP 莫属,凭借住简单易用嘅功能和强大嘅稳定性,XP 统治 PC 操作系统十几年,甚至一直到 20 年后嘅今日,XP 依然仲有唔到 5% 嘅市场占有率,喺手机都要和 32 位 APP 彻底告别嘅今日,仲喺度桌面市场为 32 位程序保留‌一席之地。但是经典虽多也架唔住 64 位嘅狂轰滥炸。

    来自于 64 位处理器嘅降维式打击

    最近苹果嘅春季发布会搭载 M1 处理器嘅 iPad Pro,使平板电脑再度大放异彩,唔过笔者个人认为 M1 处理器嘅重要性同苹果喺 2013 年发布嘅 A7 处理器是等量齐观嘅。

    搭建 A7 处理器嘅 iPhone 5s 这是全球第一个采用‌ 64 位处理器嘅智能手机。当时是 iPhone 5s 可以兼容 32 位嘅应用程序,因此呢个升级对于当时嘅开发者来讲是透明嘅,因此当时喺发布之初并未引起太多反响。

    但系喺全面发售之后人发现 64 位嘅 A7 处理器火力全开,比之前嘅 A6 性能提升 2 倍,同时比第一代 iPhone CPU 性能提升 40 倍,GPU 提升 56 倍。呢次重大升级也让苹果喺移动 SOC 领域领先‌第啲竞争对手整整一个身位。也让安卓阵营嘅主要 SOC 供应商高通开启‌ 64 位嘅时代大门。

    从历史上睇,桌面领域 64 位处理器对于 32 位处理器同样都系降维打击。

    2000 年左右,AMD 同英特尔喺处理器领域嘅竞争非常激烈,唔过 2004 年嘅奔腾同赛扬 D 嘅推出,奠定‌英特尔喺桌面处理器领域嘅统治地位,直到呢几年 AMD 推出 ZEN 系列处理器情况才得以改观。

    时来天地皆同力,运去英雄唔自由,32 位应用程序虽然为成个移动互联网时代嘅繁荣做出过巨大贡献,但随住时间流逝英雄已经迟暮,该对我哋说再见嘎啦,喺此我哋也挥手向嗰啲经典告别,并致以敬意。

    cantonese.live 足跡 粵字翻譯

    2021-04-30 19:07:15

  • 0
  • 0
  • 0
  • 154
  • 请登录之后再进行评论

    登录
  • 任务
  • 发布
  • 偏好设置
  • 单栏布局 侧栏位置: