小菜寻路 2015-05-07 07:41 采纳率: 25%
浏览 2289
已结题

关于系统位数和地址总线位数以及int和指针大小的疑问

问题1:32位,64位系统。地址总线各为多少?
问题2:指针的大小是等于机器字长还是等于地址总线的位数?
问题3:为什么linux上64位系统的getconf WORD_BIT值为32位?是表示机器字长是32位吗?还是说他的值就是int值的大小而不具有别的意义?如果是表示机器字长是32位的话,那么为什么指针的大小是8字节?

  • 写回答

2条回答 默认 最新

  • 醉墨涵湫 2015-05-07 07:47
    关注

    32位和64位从软件到硬件全部都有涉及,并且衡量的标准也比较模糊,在这里从软件到硬件归纳分析一下
    一:32位和64位的区别:
    1、32位和64位一般是指CPU的通用寄存器位宽,所以64位的CPU位宽增加一倍
    2、可寻址范围大大扩展,32位系统支持最大内存位4G,64位系统理论支持最大内存2^64=18446,744,073,709,551,616,约1600万TB,相当于16EB。(实际还受制于操作系统和主板约束),实际的CPU尤其是这两年的CPU都是采取兼容设计的,内部总线不到64位,后期的CPU逐渐都会采用标准的64位。
    3、32位系统和64位系统需要安装支持相应系统模式下的操作系统和驱动软件,也就是32位只能安装32位,64位安装64位的但可兼容32位运算。
    4、目前约定俗成的x86就是代表32位操作系统,x64代表64位操作系统。

    64位系统的理论优点:
    1、64位系统理论支持安装最大16EB的内存,具体跟CPU的地址总线宽度有关,地址总线宽度及支持内存大小见下面的表格
    2、所有64位寄存器仍然使用相同的划分方案,仍支持执行8位运算
    3、RIP(新的64位指令指针)替代32位的EIP指针(再早期的IP指针为16位),并向下兼容。
    4、SIMD指令使用新的寄存器,CPU在64位模式下有16、64位MMX寄存器
    5、XMM寄存器为16位,用来做SSE浮点运算指针
    6、只有FPU寄存器是80位宽度,其它剩余的寄存器和指令都是64位宽度

    64位CPU的实用优点:
    64位的系统在视频编辑、文件搜索、科学计算、人工智能、平面设计、视频处理、3D动画和游戏、数据库以及各种网络服务器等方面具备更强大的优势,尤其是在工程制图、3D、音视频制作等领域的具有极佳的应用效果。64位系统效能发挥需要三大模块支撑:硬件、操作系统、上层软件。普通的32位软件是无法在64位操作系统上体现出性能差别的。

    二、如何判断您的计算机是否支持64位操作系统
    硬件上的区分:
    1、CPU: AMD在2003年春季发布第一款针对服务器的x86架构64位服务器处理器皓龙,秋天发布了同样架构的速龙64系列处理器,揭开了64位运算新篇章(当然这是指桌面处理器,专业的64位甚至更高位的处理器早就有了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等)。2005年4月26日,微软正式发布了64位操作系统Windows Server 2003 x64 Edition和Windows XP Professional x64 Edition,距离第一片64位x86处理器上市有两年多时间。
    也就是说目前发布的通用处理器,包括INTEL、AMD几乎都是64位的,天缘认为只要主板不是“偷工减料”的采用兼容性设计,都是可以支持64位操作系统安装,当然实际支持内存的大小还决定CPU的地址总线宽度和您的主板情况。实际运行还跟前端总线有关,比如早期的FSB和Core i5、Core i7使用的QPI(对抗AMD的HT总线)。
    2、主板:目前市面的主流主板都是支持64位CPU的。
    3、内存:基本无限制,当然为了搭配新最新的CPU和主板,速度上最好不要拖后腿就可以了。

    软件上区分:
    1、操作系统:目前Windows的大部分系列都有对应的64位版本发布。比如Windows 7除了家庭版初级班没有64位,其它都有,windows Server 2008R2只发布64位版本。
    2、驱动程序和软件:这一点最为头疼,从目前来看,驱动程序除了部分老设备(比如打印机、扫描仪较老可能会没有64位驱动),新的设备都会发布64位驱动程序,但是64位的软件就非常缺乏,而且很多企业由于应用市场关系,目前64位应用还没到非用不可的地步,所以很多企业都还未开发64位版本软件,即使开发出来,售价也相当高。这种现状可能会持续稍后的3-5年不会一下改观。

    三:在硬件相同的情况下(且硬件支持64位、内存2GB),32bit的OS用32bit的3DSMAX渲染速度 和 64bit的OS用64bit的3DSMAX渲染速度,哪个快?”及“游戏的载入速度呢?例如《鬼泣4》,例如《金刚狼》,例如《巫师》...”,这个问题 应该是很多网友都会遇到的。

    测试条件就是硬件条件相同且都支持64位和内存足够,这是目前主流硬件的基本配置了。问题中的渲染一词在同等条件下仍然是程序运行速度的问题(需要排除依赖显卡的独立部分,因为在Windows 7上很多渲染工作已转交给GPU来完成),下面的回答也必须要以这个为节点或条件。问题2的游戏载入速度同问题1中的渲染,还有个比较特殊的地方,就是还跟DIRECTX版本和驱动等相关,所以也必须规定软件条件必须相同,只有位上差异,故仍是哪个更快的问题。

    1、计算机操作系统和软件角度
    首先看操作系统和上层软件,无论64位系统还是64位软件都是必须按照64位格式进行编译,也就是默认的字长64位,运行 时,除了一些特殊的独立计算,比如位运算,其它非标准字长变量运行时都是需要进行转换的。32位也是一样,这一点还看不出来哪个优劣(只指速度),即使硬件条件相同,实际上还是有速度上的差异,那就看谁的格式转换最少,这就决定于应用程序的类型和设计方法了。
    操作系统也是软件,可以看一下 Windows 7 64位版安装文件大小就知道了,肯定要比32位要大,这里问题就来了,同样一个文件(打个比方),32位可能是1M,而64位的可能就是2M,那么从硬盘上读取就存在时间差异。所以文件大是个劣势。
    这里就可以看出不同版本系统或软件实际运行效率几乎相当

    2、计算机硬件角度
    1、物理硬盘的运行时间,64位系统肯定会让物理硬盘花费更多的时间,如果是固态硬盘则可以解决这个问题,物理硬盘的设计理念决定谁也改变不了这个结果,多读数据就是要花费更多时间,而固态硬盘可以完全按照64位来设计存储位宽,寻址时间几乎不受影响。
    2、 再看CPU,现在的CPU都是按照标准64位总线宽度设计的。内 部各种运算机制都是对64位有利的,也就是说单从CPU角度考虑(不计可能集成的前 端总线影响),64位速度会略胜32位。
    3、内存方面,内存颗粒芯片大都是按照8位设计BANK重组,当然现在也有16、32位宽,今后肯定也会出现64位宽内存芯片。目前来讲对32位、64位影响都很小。
    4、 再来看看CPU的前端总线,早期的并行总线无论对32位和64位影响都很小,因为是信号都是大家一起走(手拉手一起过桥),今后的CPU到北桥之间(注: 现在有INTEL CPU集成了北桥,只不过把串行总线拿到内部而已)几乎都将采用串行技术,同等速率下(假设内存无影响下),肯定是32位数据传送更快,排队过桥肯定人少 的更快过去。
    5、除此之外,实际上除了北桥和CPU和内存,主板上就没什么东西了,主体PCI总线几乎都是并行的,显卡模块也是独立出的,影响很小。

    四:总结
    1、纵观上述分析,所以在相同的硬件环境下,这个环境必须要包含到硬盘或CPU的串行总线(原因是这两者影响最大,原因下面分析),64位的肯定没有32位快。(固态硬盘除外)
    2、有意的人为设计出使用固态硬盘和全并行环境,那么两者理论速度相当,目前业界还没到这个水平和需求的时候。反之,也可以有意的人为设计出让32位运行慢,而64位运行快的系统。
    3、64位系统和软件的重要优点不能不提,那就是更加精确、精细。jexleven的问题也出来结果了,那就是玩3D游戏,64位界面绝对要比32位界面更加漂亮,音质更好,还有一堆“更大"(内存更大、硬盘更大,理论上并行的东西支持也更多),试试便知。
    4、以后如果使用固态硬盘或把普通硬盘的瓶颈问题解决,并且前端总线速度跟上去,那么64位系统运行速度将会有较大提升,与32位系统速度差距也会越来越小,当然了,使用专业的测试软件仍然是可以测试出差距的(架构可能调整,结果暂时也无法确定)。

    以上来自网络收集 以下为个人见解

    五:关于32位和64位系统的其它问题综合

    1、装32位操作系统运行快,还是64位操作系统运行快?
    从总体运行效率看,肯定是32位系统快,对于系统硬件配置不是太高端的用户,推荐安装32位操作系统。

    2、我是否有必要安装64位操作系统?
    对于做科学运算、工程制图、3D制作、音频视频编辑的用户,推荐尝试安装64位操作系统,那样更能彰显64位的优势,前提是软件是64位的。
    (或许只有固态硬盘才能体现出这些优势。如果是普通机械硬盘,或许还没32系统运行感觉好。)

    3、买电脑时商家总是推荐支持64位是怎么回事?
    不要相信商家所谓的64位支持,纯粹是寻找卖点而已。

    对于普通常用软件来说。就算是固态硬盘,64位也是不如32位的。要想在64位体现优势,高性能硬盘和64位软件缺一不可。

    原文地址:http://user.qzone.qq.com/754631993/blog/1330926360

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!