![]() |
+ 低压差线性稳压器 |
+ 白光LED驱动 |
+ MOSFET |
+ 32位ARM核Cortex系列 |
+ CMOS逻辑电路 |
64位移动处理器在2013年首次亮相,而苹果iOS系统则是首个支持64位计算的移动操作系统。有意思的是,从最近的消息了解,苹果将有可能在iOS 11正式放弃对32位应用程序的支持,正式完成对64位生态系统的完全过渡。其实这是iOS 10.3测试版一个错误信息无意间爆的料,当用户尝试运行32位应用程序,系统竟然告诉用户无法在未来版本中运行,开发者需改进适配,正是这点让人浮想联翩。 在iOS平台上,苹果已经不止一次提供类似的暗示了,并非常希望开发者仅提供64位应用程序。例如说,去年年底的时候,苹果从App Store移除了一定数量应用程序,理由是不兼容,并向开发者发送电子邮件,提醒他们应用程序开发必须以64位为基础。 通常来说,我们不太会在意系统或手机是32位还是64位,毕竟新设备总是能够同时兼容32位和64位应用程序。但是,考虑到苹果总是能对谷歌移动生态系统产生一定的影响,就有必要来讨论一下,为何苹果要做出这样的举动,而Android是否应该效仿。 首先要简单的了解一下32位和64位的背景。32位和64位一般是指CPU的通用寄存器位宽,相对于32位而言,64位的CPU位宽增加一倍,使其能够处理更多更精确的数据,因此有一定加快数据处理的作用,特别是负载的情况下。再通俗来讲,32位和 64 位就是四车道和八车道的区别,在拥堵的晚高峰,八车道速度显然更快。 当然了,64位可寻址范围大大扩展,32位系统最大支持内存为4G。另外,32位系统和64位系统需要安装支持相应软件模式下的操作系统和驱动软件,也就是32位只能安装 32 位,64位安装64位的软件,但可兼容32位运算。 回到ARM处理器的线-A的转变过程中,引入了大量的新指令以便增强功能,也就是AArch64指令集。但为了保证ARMv8能够向后兼容,ARM在架构设计上仍保留了现有的AArch32和Thumb-32指令集。虽然这就意味着CPU核心管线部分需要进行更多设计,占用更多极其有限的芯片空间,但确保了这些传统指令也能够与新硬件一起工作。 需要注意的是,单个应用程序使用过长中,完全不可能同时使用ARMv7和ARMv8两种执行状态,因为AArch64与AArch32和Thumb-32指令集之间没有任何交互操作。因此,直接以AArch64指令集和ARMv8处理器为基础编写的应用程序,无法在ARMv7 Cortex-A系列处理器上运行。 不过,以 ARMv7 Cortex-A 处理器为基础编写的应用程序,仍可以在ARMv8处理器上运行,毕竟可通过保留的AArch32和Thumb-32执行状态运行。 苹果放弃对32位应用程序的支持表明,未来将完全拥抱 AArch64执行状态,其硬件处理器和软件iOS系统,还有应用程序的设计,所有都将只适用于 AArch64 指令集功能。好处自然不少,包括更大的寻址范围支持更大的内存,简化汇编程序,双精度浮点及更先进的SIMD运算,以及高达3至10倍的加速硬件加密性能等。 不过,开发者和开发商将无法再使用AArch32和Thumb-32指令集,因为必须更新应用程序。当然了,除了迫使开发人员利用全新64位架构的最新特性之外,这也十分有利于苹果更出色的完成下一代CPU的设计工作。苹果有出色的芯片设计团队,而且一直在规划放弃对旧架构的支持,完全可以借此尽可能多地释放芯片空间,降低制造成本,或者将释放的空间加以利用,加强CPU、GPU及其余部分,或引入更加先进的一些功能。 我们不清楚苹果如何设计下一代芯片,或许会是为64位进一步优化 CPU,而不一定是全部转为64位,保留部分传统硬件所需的32位指令,不会强行破坏与ARM签署的许可协议。因为ARM通常要求基于其授权架构的CPU设计,务必支持全部指令集,若遵守这一规定的话,苹果的芯片同样需要保留对AArch32和Thumb-32的支持,如此一来才能通过ARM的一致性测试。不过,ARM自己提倡灵活性设计,例如Cortex-A32就是基于32位版本的ARMv8架构设计,没有十分明确哪些指令集是强制性要求,这就相当于留给苹果更多的发挥空间。 有利有弊,而且也并非完全不可行,若是基于上述相同的原因,只要谷歌和智能手机芯片开发商(如高通和联发科)联手,软件和硬件上共同合作也能实现。但不可否认的是,Android 生态圈比苹果大很多,分布有大量不同的硬件配置,若立即执行同样的转变相信很难迅速组织起来,甚至在此过程中可能中断。 尽管如此,理论上谷歌也可以从软件方面做类似的事情,强制要求所有Google Play商店的应用程序转移到64位版本。不过,这同样需要一个长期的过渡时间,虽然今天入门级的智能手机和平板电脑都已经装备了64位处理器,但是依然依赖于大量的 32 位应用程序,而且线 位指令集的并不是很多,一旦放弃向后兼容后果不堪设想。 讲真的,Android 生态圈完全迁移到64位不太靠谱。例如说,许多Android车载娱乐系统仍基于ARMv7处理器打造。再看智能手表,包括华为、索尼和LG的手表,均搭载了32位的ARM Cortex-A7处理器设计。 另外,谷歌最近公布的Android Things物联网平台,其开发板的芯片也并没有兼容64位的应用程序。那Android阵营没办法全面过渡到单一的64位计算了?并非如此,只是可以预见,未来Android依然提供32位的支持,这是最两全其美的解决方案。 江南官方体育app 上一篇:全自动饱和蒸汽压测定仪厂家优惠价 下一篇:ARM基础知识教程(一):ARM |