`
whusl
  • 浏览: 100395 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

是32位还是64位更快?

 
阅读更多

其实题目的说法并不准确。如果希望详细了解,可以参考http://www.metsky.com/archives/220.html,但是我现在还不想讨论哪个更快,我只想说明 32 bits 和 64 bits之间到底是什么关系?

参考文章http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm

32位的软件是否能跑在64位的操作系统上?

简单地提32位或64位是不准确的!下面将介绍硬件、操作系统和应用程序中32位和64位的概念。

32位系统在过去的几十年里都是主流,因此绝大多数的软件和操作系统都是基于32位的。32位系统最大拥有4G的memory,然而,随着应用程序越来越大,4G的内存已经不能满足需求了。于是,就出现了64位的处理器以及64位的操作系统。

问题就来了,现在绝大多数的软件仍然是32位的,但是现在处理器已经升级到64位了。虽然操作系统也将慢慢朝64位发展,但是目前来说,32位的应用程序,操作系统大量存在。我们必须考虑兼容性的问题。

可以想象 Processor、Operation System、Application按层次划分开,Processor处于最里层,其次是OS层,然后才是Application层。

于是就出现这样的原则:

1、为了能够运行64位的Application,那么底层则必须能支持64位,换句话说,必须相应的配置 64位的OS,64位的Processor。

2、为了运行64位的OS,那底层必须配置 64位的Processor(和第一条差不多)

3、为了运行32位的OS,底层可以配置 32位 或 64位 的Processor

一般来说,32位的Application可以跑在任何配置的OS和Processor上( 除了64位的OS是不能跑在32位的Processor上的!),这是通过OS中的仿真模块完成的,现在主流的OS都已经实现了。 【此处的仿真到底是什么??也就是32位applicaion具体是如何运行在64位OS中的?】

需要注意的是,仿真模块是基于OS层的,因此可以被上层调用(如Application层),而设备驱动是与OS层平级的。因此无法通过仿真来兼容32bits到64bits中。所以,32bits的设备驱动是不可能安装到64bits的OS中!

常见问题

1、一个64位的cpu能否在64位的OS上运行标准的32位应用程序? 可以!64位系统向后兼容

2、一个32位的OS能否运行在64位的cpu上? 可以!

但是,需要注意的是,64位的软件中可能包含32位的代码,类似地,32位的软件中可能包含16位的代码。可是,16位的代码是不能在64位的OS中运行的!这也是为什么有些32位的软件不能在64位的OS中正常运行!

原文如下】第一次尝试翻译(其实就是按自己的理解)。还是贴上原文吧。

Very often we find ourself thinking:

Will this 32 bit software run on my 64 bit operating system? or Will this 64 bit software run on my computer?

Here's a short tutorial which attempts to answer these questions and helps us understand the concepts of 64 bit and 32 bit hardware, operating system and applications.

32 bit systems have been part of the mainstream computing for more than a decade since the time of the 80386. Therefore, most of the software and operating system code written during this time has been 32 bit compatible.

32 bit systems can address upto 4 GB memory in one go. Some modern applications require more memory than this to complete their tasks. This and progress in chip fabrication technology led to the development of 64 bit processors for mainstream computing.

So here comes the problem, much of the software available today is still 32 bit, but the processors have migrated to 64 bit. The operating systems are slowly catching up. Eventually even the applications will catch up. But for now, we have to cope up with all combinations of 32 and 64 bits in hardware, operating system and applications.

You can consider these three factors to be three layers with the processor as the lowest layer and the application as the highest layer as shown below:

To run a 64 bit application, you need support from all lower levels (64 bit OS and 64 bit processor).

To run a 64 bit OS, you need support from its lower level (a 64 bit processor).

A 32 bit OS will run on a 32 or 64 bit processor without any problems.

Similarly a 32 bit application will run on any combination of OS and processor (except a combination of 32 bit processor and 64 bit OS which is not possible). This is usually accomplished through emulation which is an operating system feature, part of all major operating systems.Device drivers run in parallel to the operating system. Emulation is done at the operating system level, and is available to its higher layer: the application. Therefore, it is not possible to install a 32 bit device driver on a 64 bit operating system.

Answers to common questions

Will a 64 bit CPU run a standard (32-bit) program on a 64-bit version of an OS? Yes it will. 64 bit systems are backward compatible with the 32 bit counterparts.

Will a 64-bit OS run a standard application on a 64 bit processor? Again, it will. This is because of backward compatibility.

Can I run W2K and WXP on an 64 bit CPU, and use old software? Yes, a 32 bit OS (W2K and WXP) will run on a 64 bit processor. Also, you should be able to run "old software" on a 64 bit OS.

However, before I close, let me also quote that many times, a 64 bit software will contain bits of 32 bit code. Similarly 32 bit software (usually very old ones) can have some code in 16 bit. Please be aware that 16 bit code will NOT run on 64 bit OS. This is one reason behind some 32 bit programs not working on 64 bit OSes.

小结】 单纯地说32位比64位快是不对的,其实有很多因素影响的,比如硬盘和CPU的串行总线。举例,64位系统一次可读取的字节数是32位系统的两倍,但是disk I/O又是性能的瓶颈,因此可能会导致64位比32位慢。当然,64位系统也有很多优点,比如在图像方面,可以显示得更加精细,效果当然会更好!

分享到:
评论

相关推荐

    nodejs安装32位及64位

    Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。 [1] Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用...

    谷歌浏览器(含32位、64位)

    1.首先下载谷歌浏览器软件包,解压后即得到32位与64位安装包 2.鼠标右击“我的电脑”,在“属性”中查看电脑的系统版本后,选择合适的版本双击,就可以开始安装了,安装完成就可以使用谷歌浏览器 了。

    Chrome(谷歌浏览器)64位 v75.0.3770.100

    Chrome浏览器64位发布了官方正式版,64位Chrome浏览器能更好地利用当今的硬件,并且对速度、安全性、稳定性...但是64位相对32位来讲对cpu和内存的运用更好了,有更多指令集,简单说就是速度会更快。据说提升百分之25。

    ZEMAX_2009_win7 保证好用(含32位和64位)

    ZEMAX 不只是透镜设计软件而已,更是全功能的光学设计分析软件, 具有直观、功能强大、灵活、快速、容易使用等优点,与其它软件不同的是 ZEMAX 的 CAD 转文件程序都是双向的,如 IGES 、 STEP 、 SAT 等格式都可转入...

    windows极速搜索SwiftSearch V7.51文件快速搜索中文汉化完美版32或64位可用

    SwiftSearch 特征就三个:超快、简单、强大。 作为一个办公一族来说,除了日常我们使用的 everything 之外,当然也有一些其它的优秀快速搜索工具,本站给大家提供的也有 FileSearchEX,Hddb,FileSearchy 等等,...

    很不错的更新补丁,让传输升级的agent 7.6更快速,这个包含32和64了

    很不错的更新补丁,让传输升级的agent 7.6更快速,这个包含32和64了

    超强任务管理器 Process Explorer (xp,win7/32/64)汉化版

    包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32...

    Primo Ramdisk Ultimate Edition 5.5.0 中文真正破解版完美支持32位和64位系统

    完美支持32位和64位系统。Primo Ramdisk是VSuite Ramdisk的第二代产品。Primo Ramdisk实现了更多的功能,更好的性能,以及更友好的用户界面。和 VSuite Ramdisk 同样,Primo Ramdisk 提供了对传统硬盘性能瓶颈问题的...

    Apache 2.4.33(32位 64位)最新版.zip

    功能非常强大的WEB服务器软件Apache HTTP Server Apache-2.4.33,这是它的32位和X64位版本,能够运行在所有的计算机平台上,由于其安全性高且具备跨平台能力,所以被广泛应用,是目前最为流行的WEB服务器软件。...

    MenuetOS-source_MenuetOS_MenuetOS源码_

    MenuetOS是一款完全用汇编...MenuetOS的32位版本采用GPL发布,但64位版本没有使用开源许可证,Menuet支持64位和32位x86汇编编程,用于更小、更快和更少的资源消耗型应用程序。这里提供的是其源代码。注意:汇编器为FASM

    草图大师2016(sketchuppro2016特别版)64位中文安装特别版

    sketchup pro 2016破解版是一款的草图快速制作软件。草图大师2016这款最新增强平行和垂直的推断参考...sketchup pro 2016破解版 32位下载sketchup pro 2016报错怎么办? 这是2016新增功能本身的一个Bug,只要在【系统

    三星4521f一体机驱动 for win7/xp 32&64位

    三星SamsungSCX4521F一体机驱动程序是...这款一体机具有一键省墨功能,省墨功能可以节省25的墨粉消耗,使您的墨粉使用寿命更长,喜爱的复印,使您能够更快的使用特殊复印功能,按下“喜爱的复印”您可以,欢迎下载体验

    Vutils:Vutils或Vic Utilities是用Modern C ++和Modern C ++编写的实用程序库。 它可以帮助您的编程更轻松,更快,更简单

    信息 Windows 32位和64位 TCHAR-ANSI和UNICODE 最小GW 用于32位应用程序 用于64位应用程序 微软Visual Studio 用于32位应用程序 用于64位应用程序 C ++生成器 用于32位应用程序 用于64位应用程序特征班级小路过程...

    MenuetOS 汇编语言编写的操作系统磁盘映像64位1.50版本

    Menuet 支持装配编程,以实现更快、更小、资源更少、资源消耗更少的应用程序。 MenuetOS 内核是用汇编语言编写的,与用其他语言编写的系统相比,它具有速度优势。例如,在主 x86-64 cpu 中计算具有透明度的 GUI,...

    WinNTSetup2.3.2.1汉化版(32/64位).zip

    -修正更多自定义语言问题2012年10月24日更新:版本 2.3.1.2*修正VHD 创建标签字符串的问题*Language.ini文件调整2012年10月10日更新: 版本 2.3.1.0-添加"取消按钮":-XP系统的安装,现在速度更快了,采用了新的...

    联想lenovo y460网卡驱动win7 32/64位

    联想lenovoy460无线网卡驱动是一款适用于win732位和64位操作系统的官方最新驱动程序,能帮助用户更好地连接上网,有需要者快下载吧!联想y460网卡驱动介绍如果你重装了联想Y460笔记本win732位旗舰版系统之后,没有...

    Toad_For_Oracle_DBA_11.6__64位商业版下载

    它还支持比其它第三方工具更多的SQL命令; ☆ 组件注册说明:☆ Toad for Oracle 11.6.0 (可通过注册机注册) Quest SQL Optimizer for Oracle 8.7.0 (可通过注册机注册) Toad Data Modeler 4.3.3 (无注册码) ...

    php5.5 zip 32位

    PHP 是一种新型的 CGI 程序编写语言,易学易用,运行速度快,可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows、Unix、Linux 平台的Web后台程序,内置了对文件上传、密码认证、Cookies 操作、邮件...

    C 语言编程常见问题解答.chm

    10.6 16位和32位的数是怎样存储的? 第11章 调试 11.1 如果我运行的程序挂起了,应该怎么办? 11.2 如何检测内存漏洞(leak)? 11.3 调试程序的最好方法是什么? 11.4 怎样调试TSR程序? 11.5 怎样获得...

    masscan-1.3.2-x64-x32-Release(64位和32位)五分钟内扫描整个互联网.zip

    它和这些扫描器最主要的区别是,它比这些扫描器更快。而且,masscan更加灵活,它允许自定义任意的地址范和端口范围。 如果您想获得超过两百万每秒的速度,您需要一个英特尔10-Gbps网卡和一个被称为PF_RING DNA...

Global site tag (gtag.js) - Google Analytics