I位编程的条军规.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I位编程的条军规

64位编程的33条军规 即使目前没有为纳米电子学、空气动力学、分子静力学、细胞生命周期建模等等编写高级应用程序,说不定以下这32条规则,对你向更高级处理器移植程序会有所帮助。近期以来,似乎大家都在谈及64位计算,如采用AMD Athlon 64处理器的笔记本、采用IBM PowerPC 970芯片的Apple G5、又或Intel Itanium架构是否会被取消,对此,IT界和新闻界似乎都还没有尽兴。新一轮处理器所带来的冲击,不仅表现在改善数据库执行效率、提高图形程序速度上,也为编写解决世界上最复杂科学问题的应用程序,铺平了道路。不管怎样,想利用64位处理器带来的好处,不只是仅仅拷贝一个程序到一台新计算机上那样简单,至少,应用程序需要用64位库重新编译,而最坏的情况就是需要重写整个程序,以便去除不可移植的指针算法等其他麻烦。即使这样,新的应用程序也不一定比在旧的32位平台上运行得更好。幸运的是,要弄清楚在开始之前需要做哪些工作,还是比较容易的,特别是相关处理器的性能和局限,同样地,只要遵循一定的规则,就能以最少的改动换来期望的结果。为了让大家有个好的开始,特拟出了以下32条“军规”,其中包括了开发64位应用程序所必须了解的技术和信息。 小小不利因素1、64位处理器不是最近几年才发明的,差不多在十年前,DEC和Sun公司就推出了用于高端服务器的64位处理器,Motorola公司也于不久后的1996年推出了它的PowerPC 620处理器,甚至在同年,任天堂公司也推出了它的Nintendo 64游戏系统。可直到近两年,随着AMD Athlon 64和IBM PowerPC 970处理器的面世,人们才开始关注到64位计算的到来。随着这些处理器应用于桌面系统,分析家们开始预测,32位计算即将灭亡(可能稍微有点过早)。2、64位架构处理器就本身而言,不会在速度上两倍于32位的同等处理器。为什么呢,因为64位这个术语,只是简单地描述了处理器通用寄存器的大小,虽然这个大小决定了一次可处理的数据量,但并不代表数据处理的速度。 3、某些应用程序在64位处理器上运行,可能实际上会较在同等的32位处理器上慢,主要是因为64位地址在缓存中占用了更多的空间,反而降低了缓存命中率。在Tony Bourke的一份对Sun Ultra 5工作站的独立调查报告中指出,不大量执行数据运算的程序,在64位平台上可能会降低20%的缓存命中率。“数据类型的扩大,如指针,意味着要占用更多的内存,此时内存成了瓶颈”,SUSE Linux项目经理Andreas Jaeger也表示,“在64位平台上,因为内存开销的增加,所以程序进行指针跟踪可能会更慢”。 好消息4、那为什么还需要64位处理器呢?其中的一个原因是,更宽的寄存器位可以一次处理更大的数字值。在32位系统上,2的32次方再加上1会引起溢出,因为在32位寄存器上,没有更多的位可以存储这个数值。而在许多编程语言中,由于提供了特殊的64位结构,所以开发32位程序的程序员一般都靠此来解决数值溢出这个问题,实际上,这些结构体需要处理器在两个32位寄存器上执行两次操作,这对那些需要经常执行复杂数学运算的程序来说,这个方法在执行效率上并没有优势。而64位处理器不再需要两个寄存器,这样,在科学计算领域中,程序员就可以编写出在更短的时间内解决更复杂问题的程序,一个最明显的例子就是VirginiaTech X超级计算机,由1100个Apple的双G5处理器构成,现在它是世界上排名第三的超级计算机。根据Apple公司的说法,G5处理器是被设计用来运行纳米电子学、化学、生物化学、空气动力学、分子静力学、细胞生命周期建模和计算声学等等高级应用程序的。    5、另一个64位计算的受益者是视频编辑(和渲染)。64位系统所带来的强大计算能力,对视频程序开发者来说,无疑是个好消息,以往那些需要解码大段视频的程序,如今可以更快更复杂。这对视频游戏业来说,更加如此,游戏开发者一直都在寻找新的方法来显现更加逼真的场景。    6、某些64位处理器有一些特殊的功能,这使得它们在速度上可以完全超越32位处理器。举例来说,AMD x84-64处理器有16个通用寄存器——比它的32位前辈多8个,PowerPC处理器有32个通用寄存器,而安腾(Itanium)有128个(虽然其中只有8个对程序员来说是可见的,另外120个由处理器按需分配)。就以上来说,应用程序可以在处理器内部保存更多的数据,以便随时取用,比起以往那种在需要数据时,再从内存里加载要好多了。   “Apple G5处理器内部包含两个64位浮点单元,在音频创建、3D渲染和科学计算等依赖于浮点运算的领域,可谓功不可没。”Apple开发者关系协会发言人Anuj Nayar如是说,“它同样也包含了两个64位

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档