首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >32位架构和64位架构主要在应用程序速度和内存管理方面有何不同?

32位架构和64位架构主要在应用程序速度和内存管理方面有何不同?
EN

Stack Overflow用户
提问于 2016-08-05 12:47:27
回答 1查看 303关注 0票数 0

据我所知,操作系统架构通常用于加速我们的操作系统,并添加具有更高内存管理的新功能。但是,在iOS中,我对架构有一点困惑,我们通常在应用程序中设置如下:

代码语言:javascript
复制
Architectures - Standard Architecture (armv7,arm64) Valid Architectures - armv7,arm64,armv7s.

因此,我们收到了许多与数据类型大小和转换相关的警告,因为64位体系结构是使用数据路径宽度、整数大小和内存地址宽度为64位的处理器。

所以我的问题是:当我为32位支持的体系结构或64位体系结构生成IPA文件时,我想了解这背后的机制是什么(我现在知道,在XCode-6之后,我们将只使用64位体系结构来构建我们的应用程序,并在我们的应用程序中启用Bitcode,以减小我们的应用程序大小)。

有没有人能帮我理解一下IOS中的架构机制?

EN

回答 1

Stack Overflow用户

发布于 2016-08-05 13:26:19

你可以这样想,在32位体系结构中,cpu有32条数据传输线连接到ram来传输数据,其中一条线一次可以发送1位(每个时钟周期,可以一次寻址最大功率(2,1)=2字节地址),它可以是0和1,所以总共2位可以用一个line.so来寻址。如果你有2条线,你可以发送(0,0),(0,1),(1,0),(1,1)中的任何一对平均总共4个字节,这基本上是2的幂,所以如果你有3个平均8个字节

因此,如果你有32位内存,你可以发送2^32 (2的32次方)= 4294967296,也就是4 GB,所以如果你有8 gb内存,32位cpu系统,那么你的操作系统一次最多可以寻址4 gb内存。一种解决方案是将64位地址分成两部分,并将它们存储在32位寄存器( cpu的音速存储部分,用于计算虚拟内存地址)中,以访问大于4 gb的内存。

因此,无论是手机、笔记本电脑还是台式机,在每个cpu上基本上都是一样的。虽然64位系统比32位系统消耗更多的功率。

您可以尝试使用theselinksposts来深入研究它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38781308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档