机器字长查看源代码讨论查看历史
机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。因为计算机中数的表示有定点数和浮点数之分,定点数又有定点整数和定点小数之分,这里所说的整数运算即定点整数运算。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通道的宽度。
- 中文名:机器字长
- 外文名:Machine word length
- 概 念:能处理的二进制数据的位数
- 影 响:对硬件造价及机器运行速度有影响
字 长一般是16位,32位或64位衡量单位位
定义
机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。因为计算机中数的表示有定点数和浮点数之分,定点数又有定点整数和定点小数之分,这里所说的整数运算即定点整数运算。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。[1]
机器字长反映了计算机的运算精度,即字长越长,数的表示范围也越大,精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。
机器字长与主存储器字长通常是相同的,但也可以不同。不同的情况下,一般是主存储器字长小于机器字长,例如机器字长是32位,主存储器字长可以是32位,也可以是16位,当然,两者都会影响CPU的工作效率。
衡量单位
衡量机器字长的单位可用“位(bit)”,位是计算机内最小的信息单位。8位构成一个“字节(byte)”,现代计算机的机器字长一般都是8位的整数倍,如8位,16位、32位、64位和128位等,即字长分别为2个字节、4个字节或是16个字节,所以也可以用“字节”来表示机器字长。字长的值是不固定的,对于不同的CPU,字长的值也可能不一样。8位的CPU一次只能处理一个字节,而32位的CPU一次就能处理4个字节,同理,字长为64位的CPU一次可以处理8个字节。
一般大型计算机字长为32位或64位;小型计算机字长为16位或32位;微型计算机字长有1位、4位、8位、16位、32位、64位等。市面上计算机的处理器大部分已达到64位,但可能会以32位字长运行,也没能展示它的字长的优越性,因为它必须与64位软件(如64位的操作系统等)相辅相成。也就是说,字长受软件系统的制约,例如,在32位软件系统中64位字长的在CPU只能当32位用。
影响
对硬件的造价
机器字长对硬件的造价也有较大的影响。它将直接影响加法器(或ALU),数据总线以及存储字长的位数。所以机器字长的确不能单从精度和数的表示范围来考虑。[2]
对机器的运行速度
机器的字长会影响机器的运行速度。若CPU字长较短,运算数据的位数较多,则需要经过两次或多次的运算才能完成,这样将影响整机的运行速度。
视频
科普中国·科学百科:机器字长