LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 杨珂

老问题x86-64的性能优势何在?

[复制链接]
发表于 2007-6-3 18:33:06 | 显示全部楼层
>>似乎最新的x86用的是risc的核心,用外围电路把向后兼容的cisc指令翻译成risc执行。

这种说法流传很广,但完全是误导性的。现在 RISC 和 CISC 基本上是互相渗透的。不过 x86 挣钱多,投注在其上的工程和技术资源也大大超过 RISC 阵营,在通用处理器级别上,无论上绝对效能还是性能/功耗比,x86 目前基本都占优势。

P4 比较烂,太依赖优化(但绝大多数程序员不会去手工做这种针对性优化的),在我看来买它不是有毛病就是上当受骗;但 Intel 新一代的 Core 微架构那是很猛的。整数计算不用说,浮点也直逼 Itanium。

最近的 Power 6 在它针对的领域商业应用方面可算地上最强,但论跑日常应用程序,还需要证明(不过恐怕永远没有这个机会了哈 )。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-3 20:12:40 | 显示全部楼层
can't access directly

是不是说内存不是浪费了,而是以非直接的方式使用
回复 支持 反对

使用道具 举报

发表于 2007-6-3 20:29:35 | 显示全部楼层
回楼上,我的理解是:
>896MB的物理内存,不能由内核直接访问。而那一部分如果是影射给应用程序的某个虚拟空间的话,应用程序是能够直接访问到这一部分内存的。
回复 支持 反对

使用道具 举报

发表于 2007-6-3 23:16:18 | 显示全部楼层
Post by 杨珂
can't access directly

是不是说内存不是浪费了,而是以非直接的方式使用

是的
看这个吧
http://kerneltrap.org/node/6067
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-3 23:32:44 | 显示全部楼层
Post by zhllg
是的
看这个吧
http://kerneltrap.org/node/6067


Thanks I am reading...
回复 支持 反对

使用道具 举报

发表于 2007-6-4 06:31:03 | 显示全部楼层
貌似内核空间(896M+128M(动态映射空间))和用户空间的区别吧,说错了请拍砖
回复 支持 反对

使用道具 举报

发表于 2007-6-5 19:20:05 | 显示全部楼层
64bit 想加速,就好象
一个人在大房间和小房间喝饭,速度是一样的,但如果该房间经常应付的是一些超级大胖那就不一样了
比方说 int x=z; x*=x; x/=x;
如果z 数的 bit 位达到64bit 或超过 32 bit,那么性能就会有区别。

个人意见
实际上,说白一点,就目前的情况,不少用户实际上了资本家的当了,成了更新催代的牺牲品,相信不会太久,个人电脑更会出现鼓吹很多大型计算机的“功能”来赚取淘汰,除非虚化的游戏(实际上它从经济学的角度理解是一个跟战争一样的消耗陷阱,开发商间的竞争就象冷战时的武器竞赛,被动的奢华),2000年的CPU已经足够日常使用了,比如看电影、打字和上网。

我的cpu支持 vmx emt64 却从来只运行在“兼容”的32bit模式下,更资深点的兄弟会提醒我们,到2000年,个人计算机的性能就已经发展到最健康的状态。
可以比较下tomb4 -> tomb7,windows2000 -> vista,visual c -> visual studio 2005 变化有没有十年前(比如从int x到 Glide、opengl/directx)跨度那么大?可玩家的升级却是跟以前一样的。
有历史的兄弟想想看,十来年,对个人电脑用户而言我们升级的什么,是娱乐应用、媒体压缩算法、GUI还是?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-5 19:46:47 | 显示全部楼层
想想win2k和vista还是挺有道理的

不过
Post by arli
2000年的CPU已经足够日常使用了

编译Gentoo不够哦。。。

还有就是3D性能 我第一个游戏是极品飞车9

以前一直不打 一是因为不是很有心思 而是因为3D效果不好太假
回复 支持 反对

使用道具 举报

发表于 2007-6-5 22:43:25 | 显示全部楼层
x86-64除了提供64位整数和可以直接访问>4GB的空间外,另外一个优势就是通用寄存器(general-purpose registers)从8个提升到16个,能更有效地利用优化过的指令. 其中一个优势就是减少cpu从内存中读取次数,减少读取等待时间.

目前gcc所生成的64位程序,是将32位的源代码编译成64位系统下可运行的程序,而并利用到x86-64中通用寄存器的优势.写asm程序的话,这个通用寄存器的优势会很明显.同样,如果用C写一个针对64位的程序,那么程序的作者需要在其软件中作出相应的优化来提升64位程序的效率.而目前的情况来看,没有多少程序是完全针对这个优势而作出优化.所以现在32位和64位的程序没有什么太多的差距.

另外,如果用64位的cpu运行32为的系统,那么系统只能看到8个通用寄存器,而如果用64位的系统的话,会看到全部的通用寄存器.

x86-64另外的优势就是NX bit,系统安全上防止buffer overflow.可以一定程度上起到反hack的作用,主要用于服务器方面.

总体来说,x84-64对于桌面系统来说,目前没有什么太多的优势.因人而定,选择32位或64位的系统.但是从长远方面来说,64位终究是将来的目标.

另外,如果有兴趣,可以看看World Domination 201,但是很长.一篇讨论64位下Linux,Windows和OSX的文章.一些论点指出未来2-30年linux有可能会替代Windows成为OS的主流.其中也有一些16位->32位的历史和64位的研究.
回复 支持 反对

使用道具 举报

发表于 2007-6-5 22:43:47 | 显示全部楼层
PS: 多发了一篇
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表