机器字长,字长,寄存器或运算器位数,CPU位数,操作系统位数,字,指令字长,存储字长的概念与关系

  • Post author:
  • Post category:其他


在学计组的过程,我们总是会碰到这样的说法,xx位计算机,以字编址,某16位机器,xx位处理器。这种说法越见越多,最后很容易混稀概念,所以我们最好将这些概念全部写出来,理解其中的关系。


1.计算机位数(机器字长)=字长=寄存器或运算器位数=CPU位数

计算机位数:计算机一次能处理的二进制数长度,即机器字长。

机器字长:“某16位或32位机器”,16,32指字长,也称机器字长。

字长:通常指CPU内部用于整数运算的数据通路的宽度,因此字长等于CPU内部用于整数运算的运算器位数和通用寄存器宽度,它反映了计算机处理信息的能力。

寄存器或运算器位数:所能存二进制数位数。

CPU位数:一个时钟周期内处理器同时寄存和处理的二进制位数,由于CPU能直接访问寄存器,因此寄存器位数与CPU位数一致。


2.字,指令字长,存储字长

字:表示被处理信息的单位,用来度量数据类型的宽度。因此字的位数并不是确定值,如x86机器将字定义为16位(汇编语言课程中),也就是两个字节,在32位arm机器中,字定义为32位(嵌入式课程中)。

指令字长:字节的整数倍,指一个指令字中包含的二进制代码位数。

存储字长:字节的整数倍,一个存储单元存储的二进制代码的长度。

指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,则需要2个访存周期来取出一条指令;若指令字长等于存储字长,则取指周期等于机器周期。


3.操作系统位数

操作系统位数:操作系统可寻址位数(小于等于CPU位数)。

这里提两个有意思的知识点,一是32位处理器只能装32位操作系统而不能装64位操作系统,64位处理器能装32或64位操作系统,原因就在于寻址范围,32位处理器的地址总线宽度为32或36位,因此它能表示的地址范围为2^32(即4G)或2^36,因此与64位操作系统冲突。二是有种说法为32位的操作系统最大只支持4GB的内存,这个从一我们也能知道原因,其实就是地址范围的限制,32位操作系统寻址范围为2^32,又因其为字节编址,因此最大只支持4GB内存。需要说明的是,一个计算机能支持多大内存并不只操作系统一个因素,跟CPU地址总线宽度也有关系,比如说64位处理器地址总线一般为36或40位,也即寻址范围为64G或1T,那么其所支持的内存最大为64GB或1TB(也有说64位处理器地址总线也为64位,总之原理是一样的),还要考虑操作系统能不能支持更大内存。总之,64位处理器与64位操作系统从理论上来说最大支持2^64,但实际情况还要看处理器与操作系统的具体设计。



版权声明:本文为qq_48186867原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。