64位平台以及对应用程序开发的影响

 

1、64位平台的发展
  64位平台是计算自然发展的一部分。正如在能够使用更强大的平台后计算就会从16位移植到32位一样,最近几年,几乎所有的计算机不可避免的都变为64位。主要厂商包括AMD与英特尔提供了广泛的x64处理器,无论是原始设备制造商(OEM)和系统制造商提供的64位系统,还是从发烧友的台式机和笔记本电脑到一路至四路多处理器的计算机服务器,随着Windows X64的发布,64位计算技术已经进入主流市场. 截至2005年底,几乎所有新的服务器级的电脑将已达到64位。即时将消费水平预计放慢,但到2006年年底,大多数的新电脑及工作站都已是64位。目前的x86和x64处理器的服务器级的电脑,价格基本上是相同的。即使这些公司期望运行32位版本的服务器,一个x64架构处理器也是较好的选择。 发烧友和工作站级机器的处理器价格也基本相同。在未来的一年,我们期待看到大量h获取广阔的消费空间. 无论是通过早期的还是后期的,每个人使用的64位计算机架构的好处,便是令人难以置信的性价格比,毫无额外费用,每个人都可以达到新水平的计算能力而不会增加成本。
  但是,现在的情况对开发人员而言意味着什么?他们何时转换为64位计算以及为什么要转换为64位计算,这种转换的内在价值是什么?通过研究针对64位计算的特定的价值观,本文将对这些问题做出部分回答。
  通过64位平台,开发人员可以利用其应用程序的更多的性能,这样不仅激发出更有效的应用程序,而且还允许这些应用程序用于新用途、新用户和新市场。使用64位平台,开发人员在进入这些新市场的同时可以利用他们目前在32位平台上的代码和专业知识方面的投入。

2、性能
  更大的内存访问和64位寄存器都为64位系统提供了更高的性能。
2.1更大的内存访问:
  由于32位体系结构的内存高达4GB,因此使用3GB内存的应用程序将可用的操作系统内存限制为最多1GB。应用程序的内存增加势必以操作系统的内存减少为代价,这样会在某种程度上降低操作系统的性能和吞吐量。对于需要大量内存才能有效处理大量存档信息的系统,如(网络服务器和数据库服务器)而言,这是个值得注意的问题。
  同时,如果32位系统上的一个应用程序需要3GB 以上的内存,就必须在该应用程序代码内部进行一些特殊操作,例如,物理地址扩展(physical addressing extensions,PAE)和地址窗口扩展(Address Windowing Extensions,AWE),允许32位应用程序实现API(或者在PAE/AWE顶部对自己的内存进行管理)以访问2或3GB以上的内存。但是,这些额外的代码需要更多的维护和更多测试,同时还会带来许多需要解决的潜在问题。所有移植到64位平台或者为64位平台开发的应用程序的一个显著好处是增加了内存的可用性,与32为系统相比,在64位系统中无须额外的编码或特殊的API就能使用额外的内存。而且,较少的代码提高了应用程序的整体性能,用户会更加满意。
  64位CPU可以处理64位操作,还可以对64位的内存地址空间进行寻址。64位体系结构提供将近4.5千兆字节的可用内存,远大于当前(或不远的将来)应用程序可能需要的内存。
  运行于这些体系结构上的Windows操作系统允许16TB的虚拟内存(每64为进程8TB)。即使是运行在64位操作系统上地32为应用程序也能从该增加的内存中受益。默认情况下,64位操作系统的32位程序可以使用多达2GB的内存并对它进行寻址,这与标准的32位系统相同。然而,应用于该应用程序的二进制或EXE文件的标志将这个空间加倍,从而允许访问32位进程的4GB直接可寻址内存。
  这比在Boot.ini文件中设置3GB开关的32位Windows系统上相同的应用程序可寻址的内存空间多了1GB。与32位系统不同,在64位系统上,这样做不会减少操作系统的可用内存数量,内存受限的32位应用程序将在64位Windows系统上即刻得到缓解。
  本机64位操作系统还会从增加的内存中得到相当大的好处。所有缓冲区,高速缓存,句柄表等变得更大,并且都已经适应了可用受支持的64位寻址模型寻址增加的内存,因此,作为操作系统增加的空余空间的结果,开发人员可以期望操作系统具有较高的可靠性和稳定性,这会进一步提高其应用程序的可靠性和稳定性。
  为了获取高速缓存并增加其相应的性能而实现大的内存缓冲区,一个64位应用程序会得到与底层操作系统相同的好处。较大的缓冲区和缓存会使数据访问速度更快,并且支持更多的并发用户。增加的内存还会引发新的使用方案,新的客户方案,以及应用程序中新的市场细分,这一切都取决于具体的应用程序。数据库系统是一组突出了更多直接可用内存的优点的应用程序,SQL Server 2000 64位版本,Oracle和其他数据库系统都进行了迁移,以便在操作系统平台上支持64位以及更多能打动人心的、前所未见的性能。



表1 .内存地址比较, 32位和64位windows

2. 2 64位寄存器
  寄存器是一个系统可提供的最快内存类型。他们创建并存储CPU操作和其他计算的结果。32位X86 CPU包括8个通用寄存器。64位X64处理器由16个寄存器,Itanium处理器拥有更先进的寄存器引擎(128个浮点寄存器和120个通用寄存器),并且支持更复杂的寄存器操作,这些都是通过全新的体系结构实现的。所有CPU寄存器都允许本机执行64位操作。通过提供更多寄存器以及更多寄存空间,64位处理器(以及为他们编写的应用程序和操作系统)可以更有效地处理数据,每个时钟周期都可以移动更多信息。
  Microsoft针对Windows 64位平台的开发工具支持使用更多的寄存器,从而帮助应用程序开发人员为64位平台开发速度更快、性能更好的应用程序。对所有的编译器,链接器和库进行了重新设计,以便充分利用支持的64位处理器的较大的寄存器组。分析工具和优化内置有关基础的64位体系结构的知识,从而允许开发人员充分利用64位平台,这样会产生更快的应用程序性能,并且增加用户满意度。诸如Itanium处理器上的寄存器重命名/旋转这样的特殊功能为应用程序带来了额外的性能改善。使用Microsoft和许多其他厂商开发的工具,开发人员可以使用这些功能并获得更高的应用程序性能,而无需进行任何其他工作。
  在32位开发中,基于整数的计算必须使用32位寄存器,在64位系统上,用于相同计算的寄存器是64位的,像c/c++这样的语言完全支持64位操作。在32位系统上处理64位数据需要开发人员拆分数据,并对相同的操作使用两个32位寄存器。

3、 新的市场机会
  开发人员应该牢记,增加一个应用程序的可用内存、寄存器和系统性能可能会使组织通过以前不可能实现的方式使用应用程序,还可能允许新类型的用户,客户和组织,甚至新的市场细分使用该应用程序。无论一家公司销售软件还是销售软件通过某种方式利用的产品或服务,当今64位系统的新增功能(硬件和软件)是今后若干年新收入来源的关键。
  2004年4月,Microsoft和主要的行业合作伙伴宣布雄踞两个主要基准首位:
  Hewlett-Packard使用Intel Itanium 2芯片以及64位版本的Microsoft SQL Server 2000 64位版本和Windows Server 2003 Datacenter Edition的强大组合,在它的64位处理器Superdome系统上以$9.82/tpmC的成本实现了658.277事务处理数/分钟新的最高TPC-C1结果。每个tpmC的价格比最近的Unix系统结果的成本低66%.
  Siebel Systems Inc.、Unisys corp.和Microsoft 因Siebel eBusiness Application而占据了基准的首位-30,000个并发用户在一台安装乐64位版本的SQL Server 2000和Windows Server 2003 Datacenter Edition的Unisys ES7000服务器上运行Siebel 7.此结果有力证明了想要确保高性能ISV应用程序的客户可以在要求最高的环境中进行调整。
  借助其64位产品,Microsoft已经在一度由高端UNIX系统和数据库占据的领域中树立了领导地位。64位版本的SQL Server 2000和Windows Server 2003已经共同证明了他们能够伸缩;而且与专用的UNIX系统相比,要获得、拥有并对他们进行操作更易于管理且成本更低。

4、客户端和服务器:更好的价格性能比
  Windows Server 2003和Windows XP支持X64 扩展体系结构。他们通过提供32位和64位应用程序的高性能操作,为性能关键的应用程序提供最通用的平台。在可见的很短的时间内,基于X64 的硬件将成为新的主流平台。
  这就是引入Xeon体系结构的原因,与之兼容的AMD-64系统的可用性支持所有人使用64位系统。现在,可以用32位系统的价格获得64位系统。64位系统将很有可能用新的硬件代替市场上的32位系统。所有系统都将在支持64位的处理器上运行,当客户需要更多能力和内存时,他们将升级到64位windows操作系统,在相同的硬件上运行相同的应用程序,唯一的额外硬件开销是他们可能选择增加的内存。
  Microsoft还承诺支持Itanium体系结构。用于基于64位Itanium系统的windows Server 2003对于高伸缩的应用程序而言是最经济有效的平台,因为它可以用最低的开发,部署和管理成本提供最高级别的可伸缩性。

5、结论
  对于开发人员而言,64位平台为其延伸了新的用途、新用户以及新的市场。对于内部的开发人员而言,这意味着他们的工作将为其组织提供更大的价值。对于商业开发人员而言,获得这些好处所付出的任何代价微乎其微。当他们抓住64位计算所增加的价值时,即可利用现有的知识和代码投入。
  目前,不管是Windows还是UNIX/LINUX系统,都已经提供了32位和64位的版本,主流的计算设备,从客户端工作站到多路服务器,其CPU也都已经大量采用64位设备。这对于需要处理海量数据和复杂的高性能空间分析的GIS软件来说,已经具备了一个很好的硬件设备和软件基础。但目前主要的GIS产品,大部分都还是通过32兼容方式运行在64位平台上,虽然获得了一些性能的提高,但还没有充分发挥基础设备的能力。即将发布的基于“共相式”内核UGC的SuperMap GIS 2008产品,将提供真正的64位版本,可以支持Windows/Linux/Unix的64位系统,为客户带来前所未有的高性能GIS平台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值