深入理解64-bit(七)

来源:互联网 发布:java应用架构设计pdf 编辑:程序博客网 时间:2024/05/16 06:50

4          小结

优缺点

32-bit

64-bit

实例或备注

硬件

涉及对象

子项

寄存器[1]

个数

[2]

[3]

增加的64位寄存器数量

直接寻址能力

寻址范围从232 扩大到 264 bit,物理内存的限制被突破

4G

操作系统和应用程序共享最多4G的内存,通常

16EB[4]

 

更大的内存访问范围[5]

更多的内存加载数据[6]

32位机器上处理64位数据

 

需要开发人员拆分数据(不可直接使用,需要修改代码)

可直接在64位寄存器上使用

 

64位机器上处理32位数据

 

 

 

64位机器上处理32位数据,通常支持[7]

软件

操作系统

指针(句柄)

 

 

 

编译器、链接器、库

 

 

以便充分利用支持的64位处理器的较大的寄存器组

 

Java虚拟机

 

区分32-bit的虚拟机,但32-bit的虚拟机对于java编译后的字节码则提供64-bit的支持

区分64-bit的虚拟机

 

应用程序

同样的数据

耗费较少内存

耗费更多内存

因更长的指针和一些数据类型导致的内存中边界对齐导致

应用方式

文件处理

文件本身的大小

处理较小尺寸的文件

处理更大尺寸的文件

 

数值型

 

 

受限于数据类型

字符型

 

 

不受限制

开发方式

Windows

相同的开发环境和API

 

 

 

相同的开发技巧

 

 

 

其他

 

 

 

1 FORTRAN and C 代码比Java语言需要更多地考虑移植性。[8]

2

 



[1] 寄存器是一个硬件系统提供的可供最快访问的内存类型。

[2] X86-328个通用寄存器。

[3] x86-6416个寄存器;Itanium128个浮点寄存器、128个通用寄存器。

[4] Windows64-bit操作系统为操作系统内核和用户的应用程序各提供了最大8TB的虚拟空间。

[5] 可直接寻址的可能性显著增加,降低了间接寻址带来的时间消耗,因此速度更快。

[6] 将更多的大型数据加载到内存中,供处理器访问。由于访问内存中数据的速度比访问磁盘驱动器上数据的速度快10000倍,因此更能加快速度。

[7] 大多数适用于32-bit版本Windows的程序都可以在 64-bit版本的Windows 上运行。但许多防病毒程序例外。适用于32-bit版本Windows的设备驱动程序无法在运行64-bit版本Windows的电脑上运行。

[8] Java的数据类型,被JDK屏蔽,不受操作系统限制。所以,Java程序在32-bit64-bitJDK下是一致的。

0 0
原创粉丝点击