频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

64位系统深入剖析:不仅是内存这么简单

来源:IT168.com 作者: 出处:巧巧读书 2007-12-06 进入讨论组
上一页 1 2 3 4 5 6 7 下一页 

  在我们深入之前,先让我们来了解一下一些64位计算的基本概念:

  关于32位和64位,在我们探讨计算机程序员所说的“高层次”的差别(编程的差别)之前,先需要理解一些“低层次”的差别,我们要谈的焦点就是“word”。

  正如我们此前解释的,一个word就是一组要被同时处理的数据信息组合,它可能是你运行的程序里的一些数据,也可能是处理这些数据的一个指令。大多数时候指令或数据都是很长的,所以会被分割成几个word来被CPU处理。

  那么,如果一些指令很大,而一些指令很小,word的大小要多少才合适呢?它的决定因素是什么?

  有些时候是历史、兼容方面的原因,另外还有一个很大的因素对其有决定作用,那就是处理器的寄存器(register)。

  寄存器用来保存参加运算的操作数和中间结果,它是一个CPU可以同时处理的数据最大值。因为寄存器是CPU可以同时处理的最大数据长度,所以把word的大小设定为寄存器的大小就是很有必要的,这样一来,CPU就可以永远每次都处理标准同样大小的数据了。

  以上是寄存器的原因,那么历史的原因是什么呢?其实就是因为,最早的x86处理器——8086,它的构架定为16 bits大小寄存器,这意味着每条指令、每块数据以及每个内存寻址都必须是16 bits的。

小提示:1汉字=2字节=16位=2byte=16bit

  这些基本的老式处理器不像现在的处理器这么智能,它们不允许数据分成多个word来处理,使得处理器的处理能力受到了很大的限制(本来频率又低……),如果要处理的数据大于16 bits,它会被分割来处理,如果数据小于16 bits大小,就必须填充到16 bits大小处理器才可处理。

  近年来处理器性能频率得到了极大的提升,也提出了“桥接word”的处理概念,但是x86构架处理器还是需要受16 bits大小word处理方式的限制。而为了满足我们对计算机处理大量数据的日益增长的需求,计算机工程师们就开发除了一种分段管线的处理概念——一次多发出几个16bit word来同时处理。

64位系统深入剖析:不仅是内存这么简单(图二)
寄存器

  这个概念就产生了我们现在所听到的32位和64位的区别:一个32位的处理器可以同时处理双word数据(dwords),也就是两个16-bit数据同时处理;而一个64位处理器可以同时处理四个word数据(qwords),也就是四个16-bit数据被同时处理。

  现代的处理器没有是直接利用16-bit word的,那么为什么还要保留这个古老的原则呢?答案很简单,这就是出于兼容性的考虑,x86构架的整个目的就是为了创建一个可以因循的标准,所以会带来很大的历史负担。一个真正的64位处理器(例如Itanium、SPARC等)一点都不知道如何处理16-bit word指令数据,正如同一个16位处理器不知如何处理64-bit数据一样——它们一点都不兼容。

更多文章 更多内容请看系统优化大全系统安全设置系统安装手册专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 7 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章