计算机的位数与性能关系的理解与实践_第1页
计算机的位数与性能关系的理解与实践_第2页
计算机的位数与性能关系的理解与实践_第3页
计算机的位数与性能关系的理解与实践_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 计算机的位数与性能关系的理解与实践计算机的位数与性能关系的理解与实践 刘顺海 广州大学松田学院电气与汽车工程系 广州增城 511370 摘要 摘要 PC 机 CPU 的结构从 16 位变成 32 位 很快又出现了到 64 位的 Merced 每一 种更新换代版本的出现 都使处理器的速度和性能有很大的改进 这种速度和性能的改进 过程还将继续下去 笔者比较了 PC 机使用的 32 位操作系统与 64 位操作系统运行游戏每秒 帧频数值测试的差别 得出了近年来使用这两种不同的操作系统运行 微软模拟飞行 X 软件的测试数据 认为 Vista 64bit SP1 是较适合运行该软件的操作系统 关键词关键词 个人计算机 位数 速度和性能 微软模拟飞行 ComprehendingComprehending andand PracticingPracticing aboutabout capabilitycapability byby bitsbits ofof computercomputer Liu Shunhai Department of electric and Automobile engineering Sontan College of Guangzhou University ZengCheng GuangDong Guangzhou 511370 Abstract The CPU s architecture has changed from 16 bits to 32 bits and soon with the Merced to 64 bits With each newer version improvements followed that increased the processor s speed and performance From all indications this process of speed and performance improvement will continue There is difference of the frequence per second on the computer operating system between 32 bits and 64 bits to run the PC Games Over the past few years I have had a practice to run the Microsoft Flight Simulator X on the variety operating system and got some result for dedicate I think the Vista 64bit SP1 is better to run it Key Words Personal Computer Word Length Speed and Performance Microsoft Flight Simulator X 人类不断的追求推动科学技术持续地发展 信息爆炸的时代 对计算机处理能力提出 了更高的要求 个人计算机 PC 机 CPU 的结构从 16 位变成 32 位 很快又出现了到 64 位 的 Merced 每一种更新换代版本的出现 都使处理器的速度和性能有很大的改进 这种 速度和性能的改进过程还将继续下去 自从计算机进入多媒体阶段 图像和语音需要处理的数据量非常巨大 促使计算机行 业用各种方法不断引入新理论 新技术和新体系结构来提高提高性能 其中包括增加计算 机的位数 1 1 位数对 CPU 处理数据速度的影响 2 位数又称为字长 是计算机 CPU 的 1 个非常重要的技术指标 它表示在 1 个机器周期 有的资料又称为总线周期 里 CPU 与内存进行数据访问的最大位数 回顾 PC 机的发展历 史是从 16 位经过 32 位到今天的 64 位 比如 Intel 公司的 CPU 就是从当年的 8086 和 80286 的 16 位 CPU 经过以后的 80386 的 32 位 CPU 到现在采用了 EM64T 技术的 64 位 CPU 如图 1 所示 图 1 64 位 CPU 内部结构 在图 1 中的右上角上方标注有 63 31 15 7 和 0 数字 这些数字是表示寄存器的位 数 的矩形可以看到 Intel CPU 的通用寄存器的发展过程 图中右下角最里面也就是最小 的那个矩形就是 Intel 公司当年的 16 位 CPU8086 和 80286 的寄存器 当年的微型计算机的 位数为 8 位 所以 Intel 公司的 16 位寄存器也分为高 8 位 AH 和低 8 位 AL 两部分 汇编语言的知识告诉我们 8086CPU 运行乘法指令 MUL 的时候 与 8 位寄存器相乘的时 钟周期为 70 77 个 与 16 位寄存器相乘的时钟周期为 118 143 个 这是因为被乘数 和乘数是 8 位的时候 它们的积要用 16 位寄存器来存放 所以速度较快 而被乘数和乘数 是 16 位的时候 它们的积要用 32 位的空间存放 但是 8086 是 16 位的 CPU 没有 32 位的 寄存器 于是就用 2 个寄存器串联起来当 32 位寄存器使用 所以速度就慢了 同理 64 位 CPU 与 32 位 CPU 也象这样运行乘法指令 当被乘数和乘数是 32 位的时候 前者只用 1 个寄存器 后者用 2 个寄存器 当 CPU 的主频是一样的时候 也就是它们的时 钟周期相同 前者速度自然比后者快 如果被乘数和乘数是 64 位的 也想在 CPU 内部进行乘法运算 那么 32 位的 CPU 就无 法在 CPU 内部完成 必须借用其他方法 比如利用存储器存放中间结果和最终结果 这就 需要更多的时钟周期 而 64 位 CPU 就能办得到 它只要用 2 个寄存器串联起来就可以存放 1 个 128 位的积 从这里可以看到 64 位 CPU 计算能力要强很多 计算的精度也从 64 位提 高到 128 位 2 2 位数较长的 CPU 可以管理更多的内存空间 更长的位数可以支持更大的内存 32 位 Windows 能够支持最多 4 GB 系统内存 而在 64 位 Windows 下 最多可以使用 128 GB 的物理内存和 16 TB 的虚拟内存 计算机在运行过程中 要把大量的数据暂时存放在存储器中 由于内存比外存速度快 在同样规模的计算过程中 存放在内存中的数据比例越多 则运行越快 存储分配把程序中需要用变量 各种简单类型变量 数组变量等 保存被处理的数据 和各种状态信息 变量在使用之前必须安排好 动态存储管理的基本问题是系统如何应用 户提出的 请求 分配内存 又如何回收那些用户不再使用而 释放 的内存 以备新的 请求 产生时重新进行分配 在系统运行的初期 整个内存区基本上分隔成两大部分 低地址区包含若干占用块 高地址区 即分配后的剩余部分 是一个 空闲块 经过一段时间以后 有的用户运行结 束 它占用的内存区变成空闲块 这就使整个内存区呈现出占用块和空闲块犬牙交错的状态 如图 2 所示 In x86 31157063 AH AL Added by x86 64 3 a 系统运行初期 b 系统运行若干时间之后 图 2 动态存储分配过程中的内存状态 图中划有斜线部分表示占用块 也就是已分配给用户使用的地址连续的内存区 未划 斜线部分表示空闲块或可利用空间块 即未曾分配的地址连续的内存区 此时 若又有新的用户进入系统请求分配内存 那系统将 策略一 系统继续从高地址的空闲块中进行分配 而不理会已分配给用户的内存区是 否已空闲 直到分配无法进行 即剩余的空闲块不能满足分配的请求 时 系统才去回收 所有用户不再使用的空闲块 并且重新组织内存 将所有空闲的内存区连接在一起成为一 个大的空闲块 策略二 用户一旦运行结束 便将它所占内存区释放成为空闲块 同时 每当新的用 户请求分配内存时 系统需要巡视整个内存区中所有空闲块 并从中找出一个 合适 的 空闲块分配之 在此策略下 系统需建立一张记录所有空闲块的 可利用空间表 此表的 结构可以是 目录表 也可以是 链表 如图 3 所示 图 3 内存状态 在这个具体的例子里 我们看到的最大数据为 99999 自然 这个数字越大在同一个 时间内可以操作的内存区就越大 前面提到的 32 位 CPU 最大寻址能力为 4GB 而 64 位 CPU 最大寻址能力为 128GB 这就是 2 者的寻址能力的差别 这里可以看出如果高端地址区足够大 也就是可利用空间表足够大 许多操作就不必 到物理硬盘中的虚拟内存进行 具体表现就是不用反复地对硬盘进行读取 3 3 在目前流行的 PC 机上位数较长的操作系统有较好的运行效果 这几年我在自己的计算机上试用了微软公司的模拟飞行软件 Microsoft Flight Simulator X 以下简称 FSX 为了检验两种位数不同的操作系统运行效果 分别使用 Windows XP SP3 32bit Vista 64bit SP1 等两种位数不同的操作系统进行该软件 现将 有关运行 FSX 每秒帧数的平均值 Avg 最大值 Max 和最小值 Min 的数据整理如表 1 所示 U1 U2 U3 U4 U5 U6 U7 U8 U1 U2 U3 U4 U5 U6 U7 U8 25000 39000 0 10000 31000 59000 99999 4 表 1两种操作系统的测试数据 Operating SystemFrames Time ms Min Max Avg Windows XP SP3 32bit 3749 00 87540 33 23 33 55 33 42 83 Vista 64bit SP13503 33 88073 00 25 00 49 33 39 78 每秒最小帧数 Min 是反映操作系统在负荷最重的时候的计算机能力 具体表现是正 常飞行过程中图像出现停顿现象 也就是俗称的 卡 这是由于计算机的速度不能满足正 常帧频数要求的结果 在表中可以看到Vista SP1 64bit 的平均值是 25 00 Windows XP SP3 32bit 是 23 33 64 位的表现比 32 位好 4 4 结论 计算机的位数对计算机的性能有着重要的影响 位数较长的 CPU 在高精度运算中有明 显的优势 更宽的数据总线具有更大的寻址能力 配合适当的内存可以获得更强的计算机 能力 在比较不同位数操作系统方面 通过测试 笔者认为 尽管 64 位的操作系统提高的 性能没有预期那样多 这是因为 FSX 本身是 1 个 32 位软件 64 位操作系统不是它理想的 运行平台 64 位操作系统运行它的时候要通过兼容软件来实现 这就占用了一部分资源 再加上 64 位操作系统本身的资源就很大 也防碍了它的发恽 尽管如此 数据显示在每秒 最小帧数 Min 项目上 64 位操作系统比 32 位操作系统仍然有 7 16 的提高 如果开发者 使用原来的代码 在 64 位操作系统上重新编译 那么一定还有更大的性能提升空间 相信 更多位数的计算机将会不断地出现 参考文献 1 周明德 微型计算机系统原理及应用 第五版 清华大学出版社 2007 年 1 月 2 严蔚敏 吴伟民 数据结构 C 语言版 清华大学出版社 2008 年 3 月 3 刘兆毓 郑家农 计算机英语 第三版 实用教程 清华大学出版社 2007 年 9 月 4 The

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论