计算机上的信息存储单位与日常生活中计算单位存在很大的差别,易于导致相关概念的混淆,而且认识这些对测试计算机性能具有很重要的意义。
一. 计算机信息存储单位
计算机信息用二进制的形式表示常用的单位有 位、字以及字节。它也是存储器存储信息的最小单位,通常用 b 来表示,如 1b
- 位(bit):计算机中最小的数据单位,存放一位二进制数,即 0 或 1,例如 11010100 是一个 8 位 2 进制数
- 字节(Byte):字节是计算机表示存储容量的最常用的存储单位,为一组相邻的二进制数码。一个字节由 8 位二进制数(即 1 B = 8 b) 组成,通常用 B 表示。一个字符占一个字节,一个汉字占两个字节。
- 字(word):字是指在计算机中作为一个整体被存取、传送、处理的一组二进制数数据长度。一个字通常由多个(一般是字节的整数倍)字节构成。
- 字长:一个字的位数(即字长)是计算机系统结构中的一个重要特性。例如,286 微机由 2 个字节组成,字长为 16位;32位的 468 微机由 4 个字节组成,字长为 32位。字长是由 CPU 的类型所决定,不同的计算机系统的字长是不同的,常见的有 8 位、16 位、32 位、64 位等,字长越长,计算机一次处理的信息位就越多,精度就越高,字长是计算机性能的一个重要指标,目前主流微机正在由 32 位机向 64 位机转变
- 字块:在信息处理中,一群字作为一个单元处理的称为 字块(或称 字组)
注意: 字与字长的区别,字是单位,而字长是指标。正如重量与公斤的关系,重量为指标,公斤为单位。重量需要用公斤来衡量
存储容量的计量单位有 B(字节)、KB(千字节)、MB(兆字节)以及 GB(十亿字节) 等
换算关系如下:
二. 几个概念
关于计算机中常见的几种概念
- 机器字长:CPU 一次能处理多少位的并行运算,通常与 CPU 的寄存器位数有关。通常计算机的运算器长度和寄存器的位数与机器字长一致。如某机器字长16 位,表示该机器中,每次能完成两个16 位二进制数的运算。
- 存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的 MDR(Memory Address Register,即主存地址寄存器) 的位数
- 指令字长:计算机指令字的位数
- 数据字长:计算机数据存储所占用的位数
三. 关于几个提问
1.机器字长对计算机的影响
机器的字长会影响机器的运算速度。倘若 CPU 字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度
机器的字长对硬件的造价也有较大的影响。它将直接影响加法器(或ALU),数据总线以及存储字长的位数。所以机器字长的确不能单从精度和数的表示范围来考虑
为了适应不同的要求及协调运算精度和硬件造价间的关系,大多数计算机均支持变字长运算,即机内可实现半字长、全字长(或单字长)和双倍字长运算
2.在C语言中, int 类型数据到底占多少字节
跟编译器有关,16 位的 C 编译器 int 型占 2 字节;32 位和 64 位的编译器通常是 4 字节。使用前可以通过 sizeof(int) 看看当前编译器如何定义的
3. 关于微型计算机的几个性能指标
一个微型计算机价值的主要依据:性价比
主频:CPU(微处理器)的时钟工作频率。例如 CPU PIV 主频 3.0Ghz 以上
运算速度:衡量 CPU 工作快慢的指标(每秒完成多少次运算),可达每秒几十万亿次。 IBM 最新生产的欧洲最快的超级计算机(名为 MareNostrum)每秒钟可以运算 40 万亿次
字长:CPU 一次可以处理的二进制位数,字长主要影响计算机的精度和速度,字长越长,计算机处理数据的速度越快,计算精度越高
cache: 高速缓冲存储器。缓存大小也是CPU的重要指标之一,缓存容量的增大,可以大幅度提升 CPU 内部读取数据的命中率
主存容量(内存容量):衡量计算机记忆能力的指标,内存越大,机器的运行速度就越快
输入输出数据传输速率:与外设交换数据的速度。如与硬盘交换数据的速率、打印机的输出速率等
4.为什么新买回来的硬盘容量变小了?
正常情况下,存储器的容量是以 2 的 10 次方进位的,即1kB=1024Byte、1MB=1024kB、1GB=1024MB
而硬盘、U 盘的生产厂家是以 1000 进位的,也就是在硬盘上的计算相当于 1kB=1000Byte、1MB=1000kB、1GB=1000MB
那么,如果以一个标准的 500GB 的硬盘为例:
按照硬盘厂家的算法,500GB 硬盘的实际容量为:C=500×1000×1000×1000=500000000000ByteC=500×1000×1000×1000=500000000000Byte
但对于操作系统来说,这么多字节的数据实际上是:C=500000000000÷1024÷1024÷1024=465.66GBC=500000000000÷1024÷1024÷1024=465.66GB
相比之下,要比标称值少了差不多 35GB,这就是我们所说的变小了