什么是64位计算?
64位(64 bit)高性能计算是当前一个很热的话题,很多机构已经配置了、或将要升级至64位计算。但是实际上“64位”这个概念对我来说还是很模糊的。当然还有容易令人混淆的字(word),字节(byte),位(bit)的概念。
下面是我从互联网上找到的关于64位计算的一些资料:
1. Wikipedia: 64-bit
2. Microsoft: Overview of Windows XP Professional x64 Edition
3. IT168: 64位技术
对于64位技术,有各种不同的定义,Wikepedia的定义为:如果没有特别的描述,通常“64位” 计算机架构是指CPU整型寄存器有64比特的数据宽度。“64位”架构支持长度为64比特的整型数据。(Without further qualification, however, "64-bit" computer architecture generally has integer registers that are 64 bits wide, which allows it to support (both internally and externally) 64-bit "chunks" of integer data.)
64位计算主要优点是它能够支持更大的内存。由于内存地址是由整型数表示的。更大的整型数便意味着更大的内存支持。理论上,32位整型寄存器支持2^32个内存地址,即4GB,而64位整型寄存器支持2^64个内存地址,即16TB。实际上,由于其他的限制,Windows 32位操作系统对单个进程支持2GB内存,目前使用的Windows x64操作系统支持128GB内存。
我们并不能简单的认为64位的计算性能是32位的两倍。通常64位的性能会稍稍高于32位,但同时占用的内存也会稍稍多一些。笼统地说,64位计算极大地扩展了内存地址,但是和计算速度,内存使用(比如浮点数长度,单精度/双精度)并没有显著关系。
另外,要使用64位技术必要要有64位处理器、64位操作系统和64位软件。三者缺一不可。而现在64位应用软件相当匮乏,虽然最新版本的CAE软件中很多都实现了对64位计算的支持。
对64位操作系统而言,1 word = 64 bit, 1 byte = 8 bit。因此1 word = 8 byte。1GB内存可以换算成1024 * 128个字:1 Giga byte = 1024 Mega byte = 1024 * 1024 byte =1024 * 128 word。
对32位操作系统而言,1 word = 4 byte,1 GB = 1024 * 256 word。
没有评论:
发表评论