一个64位系统的优点 [英] Advantages of a 64 bit system

查看:193
本文介绍了一个64位系统的优点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从开发人员的角度我试图理解,什么是64位系统的卖点是什么?

From a developer perspective i am trying to understand , what is the selling point of a 64-bit system ?

据我所知,更多的寄存器供您使用,更多的内存可以分配给一个过程,但我不明白是什么让开发者的生活更轻松。什么例子?

I understand that more registers are at your disposal , more memory can be allocated to a process , but i cannot understand what makes a developer's life easier. Any examples ?

从性能角度看有没有看到任何的收益,如果一个程序在32位上运行比64位?

From a performance perspective are there any gains seen if a program is run on a 32bit vs 64 bit ?

干杯!

编辑:谢谢您的所有答复。我看到一些谈话对最终用户体验拍摄的,重要的,因为它可能是..我在,你可以挤出任何架构优势寻找更多。

EDIT : Thank you for all your replies. I see some conversations shooting towards end user experience , important as it may be.. I am looking more at any architectural benefits that you can squeeze out.

据我了解,它看起来像优化有很多的编译器,汇编器链,而不是一个功能,它程序员可以调用?

From what i understand , it looks like the optimizations are a lot at the compiler-assembler chain rather than a functionality which a programmer can call on ?

推荐答案

当你的地址空间64位一起玩,可以采用某些设计中,这将是很难用更少的地址空间。例如,一个朋友最近向我指出用于线程堆栈地址空间可以得到与32位系统上数千个线程的问题。但是,在64位系统上,这甚至不再远程接近是一个问题。这是主要的直接利益给开发商,可能会影响你如何写程序。不管机多少实际内存都有,这是真实的。

When you have 64-bits of address space to play with, you can adopt certain designs that would be very hard with less of an address space. For example, a friend recently pointed out to me that address space for thread stacks can get to be a problem with thousands of threads on a 32-bit system. But on a 64-bit system, this is no longer even remotely close to being a problem. This is the main direct benefit to developers that can affect how you write programs. And this is true regardless of how much actual memory the machine has.

我见过转换为64位已经看到,因为额外的寄存器的性能改善大部分程序可用。

Most programs I have seen converted to 64-bit have seen performance improvements because of the extra registers available.

具有64位地址可以抵消在某些程序这种性能的改善。额外的空间指针占用意味着他们需要更多的缓存,这让更少的空间,在你缓存其他事情。此外,他们占用更多的内存总线带宽时转移到和从主内存。

Having 64-bit addresses can offset this performance improvement in some programs. The extra space pointers take up mean they take more cache, which leaves less space in your cache for other things. Also they take up more memory bus bandwidth when being transferred to and from main memory.

有至少一个项目,在那里,提出重新编译在Linux的大多数程序中排序的,其中使用的所有额外寄存器混合模式,但仅使用32位的指针。我很感兴趣,这是因为它消除了64位程序一个性能劣势如何平移了。

There is at least one project out there that proposes to recompile most programs in Linux in a sort of mixed-mode in which all the extra registers are used, but only 32-bit pointers are used. I'm interested in how this pans out because it removes the one performance disadvantage of 64-bit programs.

有也是程序和算法,可以使用的64位寄存器一个小的(但重要)的子集。例如,大多数的 SHA-3候选旨在充分利用优势能力在同一时间做位操作时,操作数据的64位。

There is also a small (but important) subset of programs and algorithms that can make use of 64-bit registers. For example, most of the SHA-3 candidates are designed to take advantage of the ability to manipulate 64-bits of data at a time when doing bitwise operations.

最后,由于在CPU内部的数据路径现在宽64位,这也可以的意思是在CPU周边的移动里面的东西更多的带宽。但我希望这是在32位模式下运行,以及64位CPU的好处。

Lastly, since the data paths inside the CPU are now 64-bits wide, this can also mean there is more bandwidth inside the CPU for moving things around. But I would expect this to be a benefit on 64-bit CPUs running in 32-bit mode as well.

这篇关于一个64位系统的优点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆