作者:小白菜 | 来源:互联网 | 2023-05-18 18:52
摘要:我们经常听到这几个名词“处理器位数&&操作数位数&&操作系统位数&&地址总线位数&&指令位数的区别“,但是这几个名词之间有什么区别,又有什么联系?本文主要为你解答这些困惑!
1.处理器位数
CPU一次能够处理的最大位数,本质上与ALU相关,体现在寄存器上,例如16b处理器中只有ax,32b中就是eax,64位处理器中就是rax。
如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位处理器,比如Intel80286CPU需要8个指令,32位的处理器需要4个指令,而64位处理器则只要两个指令,显然,在工作频率相同的情况下,64位处理器的处理速度会比16位、32位的更快。
2.地址总线位数
地址总线表示的是寻址范围,注意,地址总线位数并不一定等于字长。
比如IntelPentium4处理器的数据总线为32位,地址总线也是32位。8086的数据总线为16位,地址总线为20位。新兴的64位处理器的数据总线为64位,地址总线大部分是32位(和48位)。
3.操作码位数
如果指令长度是固定的:组成操作码字段的位数一般取决于计算机指令系统的规模,所需指令数越多,组成操作码字段的位数也就越多。例如,一个指令系统只有8条指令,则需要3位操作码;如果有32条指令,则需要5位操作码。一般来说,一个包含n位操作码的指令系统最多能够表示2n条指令。
4.操作数位数
操作码和地址码都应存入指令寄存器,操作码和操作数和起来才是指令位数。因为操作数位数不一样,所以大部分情况下,对于cisc的处理器,操作数位数是不固定的。
5.一些关系
32b的操作系统可以运行在64b的CPU上;但是64b的OS没法运行在32b的cpu上,因为64b的操作系统在编写的时候,肯定会有rax之类的寄存器操作,但是32b的cpu就不会有这些寄存器。
6.指令位数
指令的长度相差悬殊,从一些微控制器(microcontroller)中的4位(bit)到一些超长指令字系统中的几百位。大部分现代的个人计算机、大型计算机、超大型计算机中的处理器的指令尺寸在16到64位之间。在一些构架中,特别是RISC构架中,指令长度是固定的,通常与其构架的字长一致。在其他的构架中,指令有不同的长度,但通常是字节或者半个字的整数倍。