iPhone中64位A7有什么好处


21

我试图弄清楚为什么在iPhone中使用64位处理器如此重要。我知道寄存器将是原来的两倍,因此处理器可以处理两倍的数据,从而可以提高性能。

但是,我认为很快就不会有很多手机的内存超过4GB。似乎过大,会对电池寿命产生负面影响。

我看到的另一个问题是,现在大多数变量都需要两倍的内存。这将在具有少量内存的移动环境中产生问题。

我相信Apple的员工很聪明,他们这样做的理由可能很充分,我只是想了解他们。

编辑

对GPU的了解不多,但有人告诉我,使用64位寄存器,可以将2个像素加载到每个寄存器中,并且可以分别对其进行操作。关于64位有图形优势吗?


2
顺便提一句-更高的处理能力意味着程序员可以负担得比以前更懒惰(更少的优化),原因可能是鼓励应用程序开发人员。
弗拉德·普雷达

3
@ Chris.Stover-今天没有优势。当然,明天,一旦手机拥有更多内存,iOS应用程序将能够使用更多内存。在短短5年中,手机的存储容量至少增加了200%。如果这种趋势继续下去,我们将在很短的时间内看到6GB-8GB的手机。当他们这样做时,苹果公司也很期待。一切都归结为事实,ARM可能会仅许可以后的64位设计。实际上,这归因于手机现在具有更多的寄存器,这确实使其速度更快。64位规范在今天并不重要。
Ramhound 2013年

1
它不是两倍,而是大了几个数量级。32位处理器只能寻址4 GB的RAM顶部。64位处理器可以处理大约18 Exabytes,这要高3个数量级。
世界工程师

7
没有更多的640k内存限制
Reactgular

1
怀疑Nexus 5将具有3 GB的RAM,并将于下个月发布。我认为4 GB以上的存储空间并没有您想象的那么远。
布伦登

Answers:


25

这主要是因为它给广大群众留下了深刻的印象。更大的数字显然更好,因此使用64位处理器的任何事物显然都比使用32位处理器的事物更好。新的CPU是显著比其前任更好,但在苹果的方式,他们不会去尝试的营销基础上的技术规格-他们只是要告诉你的是,64位A7新的和更好的32 A-6位。查看技术规格后,您会看到:

  • 28nm和32nm 芯片厂
  • 改进的集成图形处理器
  • ARM v8体系结构 v.ARM v7(添加SIMD功能;从13个通用寄存器跳转到31个)
  • 片上(即-更快)主内存

除此之外,还有一个事实是,它们现在可以在我们遇到“ 4GB隔离墙”之前开始推出(向后兼容)64位硬件。几年后,当必须使用64位时,所有硬件都将支持它,并且不需要处理旧的32位体系结构。


1
我实际上在Wiki文章中找不到该信息的来源。其他站点报告了1.5GHz的双核。维基页面上说A7是1.7GHz八核。请参阅以下内容:en.wikipedia.org/wiki/Apple_
system_on_chip

2
@ Chris.Stover只是表明苹果不销售技术规格上的硬件-他们只是想推动“更新更好”!而不是告诉您为什么新硬件实际上更好。
肖恩·麦克索明

2
ARM v7已经支持40位地址线(1 TB RAM),尽管该32位体系结构上的应用程序只能寻址4 GB。Arm v8当前支持32位应用程序,因此向后兼容不是问题。
gbjbaanb 2013年

16

ARMv7上没有“ 4GB隔离墙”,因为许多ARMv7内核都支持LPAE(大型物理地址扩展),这是x86上PAE的一个概念,只是LPAE使用40位寻址。这意味着配备LPAE的ARMv7可以寻址高达1TB的RAM

还必须提到的是,即将推出的ARMv8内核(包括A7)将不使用64位物理寻址。A7最有可能使用40位或44位物理寻址。以后最多可以访问16TB RAM。

当然,使用ARMv7上的LPAE或ARMv8上的AArch32模式时,应用程序仍然是32位的,因此应用程序本身一次只能访问4GB。但是我认为这不会很快成为移动设备上的问题。

您担心应用程序将使用更多的内存(64位指针),但是如果应用程序以32位模式(AArch32)运行,情况并非如此。

另一方面,ARMv8在ARMv7方面提供了其他体系结构改进,与AArch64不相关。

TL,DR:A7的64位是营销marketing头。即使在具有超过4GB RAM的系统上,对于32位应用程序,它也没有提供比LPAE显着的优势。而且64位应用程序即将面世。

更新:高通市场营销主管(现任前高管已被降职,以接受这些评论)已证实这一点

高通公司高级副总裁兼首席营销官阿南德·钱德拉塞克(Anand Chandrasekher)在接受采访时说:“我知道噪音很大,因为苹果公司在其A7上使用了[64位]。” “我认为他们正在做一个营销头。消费者从中得到的零收益。”

Chandrasekher说,64位的好处是更多的内存可寻址性,但这与当今的智能手机或平板电脑无关。iPhone 5s只有1GB的DRAM。

“主要是……您需要它来提供超过4GB的内存寻址能力。仅此而已。您并不是真的需要它来提高性能,而64位应用程序中使用的大多数应用程序是大型服务器级应用程序。”钱德拉塞克(Chandrasekher)以前是英特尔移动平台小组的负责人。(来源


9

只专注于A7存在ARMv8有一个明显的收获。ARM正在重新启动其指令集和体系结构。

与向下兼容ARMv7,下一版本也声称

  • 新指令集(A64)
  • 修订了AArch64状态下的异常处理
  • 较少的银行登记簿和方式

因此,在架构差异上ARMv8面临挑战ARMv7,为系统开发人员提供更简洁的界面,这很可能会删除旧版功能,从而带来更好的平台。这意味着您应该期待更好的性能/能量,而不是对电池造成负面影响。

有关更多信息,请参见ARM体系结构预览


+1。Gruber在daringfireball.net/2013/09/the_iphone_5s_and_5c上也很好地描述了ARMv8的优势。(向下滚动到“ A7:ARMv8和64位体系结构。”)
Josh Kelley 2013年

4

64位处理器超过32位的最大优势是内存的移动,而不是内存的大小。确实32位可以对直接访问施加4GB的限制。有许多硬件/软件解决方案可以克服该限制。

64位处理器可以在单个处理器操作中简单地读取/写入更多数据。它允许汇编代码对8个字节的块执行操作。与32位处理器相比,这可能具有很大的性能优势。浮点计算在64位上比32位上更快,并且当CPU使用双寄存器时,它可以对128位数据块进行操作。

64位处理器还具有更大的物理内存带宽。如果您有录制1080p的摄像机并想要编辑该视频。在1GB视频文件上执行操作将仅在64位上更快。

即使处理器的Ghz保持不变,上述所有情况均成立。

如果64位如此好,那为什么不使用128位呢?

您添加到CPU管线中的位数越多,CPU必须移动的数据就越多。CPU无法将该带宽缩小到16或32。因此,这对软件开发人员造成了问题。大多数软件(您的日历,便笺等)不依赖大量数据,因此128位将占用大量带宽。这可能会开始影响性能和电池寿命。因此,CPU制造商必须在带宽和软件需求之间找到平衡。

我很惊讶苹果在移动计算时代这么快就发布了新的64处理器。我认为他们这样做的真正动力是3D图形。使用64位处理器,手机可以将更多数据快速移至GPU。这将允许快速的3D游戏和更令人印象深刻的图形。您将真正开始看到实时3D中64位的优势,因为该过程很大程度上取决于数据。


4
最新/现代的CPU体系结构比您在此描述的要复杂得多。CPU通过称为cache lines内存总线的单元将数据从内存中移出,内存总线可能具有16位或32位或64位。不需要匹配CPU拱的本机字大小。没错,最大的问题是移动数据,但是该问题属于其他一些硬件/体系结构领域。FP是在FPU上完成的,实际上速度非常快,并且可以使用单精度或双精度尺寸。实际上,对于视频解码或3D相同,它们具有所有自己的专用硬件,不一定是64位。
auselen 2013年

4
有一个很棒的文档what every programmer should know about memory可供好奇的开发人员akkadia.org/drepper/cpumemory.pdf
auselen 2013年

2

处理大量数字时,事情变得更容易。在加密(在拥有安全的手机的PRISM之后变得非常重要)和科学应用中,大量数字极为重要。


1

如果您坚持使用32位,现在可能不会遇到问题,但是在不久的将来肯定会出现问题。从桌面世界吸取的教训是,过渡将是一个漫长而痛苦的过程。因此,您应该尽早开始,而不是稍后开始。

令我惊讶的是,智能手机并非一开始就没有64位。


我通过将当前应用程序转换为32位进行了测试。我有很多警告,但没有错误。幸运的是,苹果为每个警告提供了建议的修复程序,因此我只需单击每个警告,然后按Enter键即可接受该修复程序。花了大约5分钟,我以64位的速度启动并运行。没头痛没问题……到目前为止
克里斯·斯托弗(Chris.Stover)2013年

0

我认为没有很多技术优势。首先,我认为当您考虑使用iPad时,iPad更为合理(它具有更大的电池,因此可以支持更多的内存,处理器的更高能耗等)。再来看一下其他正在进行的公告。AMD刚宣布它将在2014年出货64位ARM处理器。面对高端Android和Win8平板电脑,这基本上是Apple保持市场领先地位。


0

从短期来看,几乎没有什么。实际上,它在某些方面有所退步。我知道三个主要优点。

  1. 更大的数字,64位要好得多,这对加密货币是一个福音。与手机上的指纹扫描仪结合使用可能会很有趣。
  2. 同样,对64位和大量数字的改进也有助于物理渲染。考虑到iOS7用户界面中使用的物理量,这很方便。这也使游戏开发人员受益,尤其是在具有更大屏幕空间的产品(例如iPad)上。
  3. 它还为使用此功能的当前手机增加了一定程度的未来验证。

0

基准。

对于某些能够同时使用x86,MIPS和ARM ISA的32位和64位体系结构模式的实现,在某些重要应用程序上64位模式的基准测试速度更快。一个关键原因是64位ISA较新,因此ISA架构师对应用程序统计信息以及在定义ISA时如何针对该组应用程序行为进行优化了解得更多。而且,新的处理器ISA必须能够适应摩尔定律增长的应用程序内存需求,并且在移动设备领域的应用程序内存需求已经增长了100万倍。

因此,新的arm64 ISA可能会在您可能开发的任何性能受限制的代码(在我的代码中具有)上更快地进行基准测试,并允许愚蠢的C指针处理可能在十年或更长时间后变得常见的庞大虚拟地址空间(比原来的32位ARM ISA要少得多。

您对特定应用程序的性能(确认措施)是选择arm64的重要原因。


-4

64位允许与OSX桌面版本(全部为64位)共享更多代码


但是目前所有ios应用程序都必须保持32位兼容性,因此无论如何,任何仅64位的代码都必须转换为32位。
布赖恩·陈

1
但是无论如何,它们是完全不同的体系结构(x86-64与armv8)。零增益(使用C / C ++ / ObjC编写的程序可以在任意数量的位上工作,即使不是必需的)。
Jan Hudec
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.