位、字节、字长、字——众说纷纭、自己整理

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:39   2255   0

一、位:表示一个二进制数码0或1,是计算机存储处理信息的最基本 的单位。

二、字节(Byte) :一个字节由8个位组成 。它表示作为一个完整处理单位的8个二进制数码。

三、字(Word) :16个位为一个字(即两个字节是一个字) ,它代表计算机处理指令或数据的二进制数位数,是计算机进行数据存储和数据处理的运算单位。通常称16位是一个字,32位是一个双字,64位是两个双字。

四、字长:

1、理解1:

字长并非一个十分严格的概念。在一个 CPU 指令集中,每条指令都可以处理长度不同的操作数。这时就把大多数指令能处理的最长长度但是又不花费额外周期的操作数长度称为字长。比如说,大多数指令都能处理 8 位,16 位,32 位数据,但是处理 32 位数据要花费更多的时钟周期,而处理 8 位和 16 位的时间一样,那么就称字长是 16 位。

其实,CPU 指令集众多,各种例外是难免的。比如,8088 处理 16 位操作数的时候,只要不涉及主内存(只是立即数或者寄存器)就不花费额外周期,否则花费额外周期。所以称为准 16 位。再比如,如今的支持 SSE 指令集的 CPU,所称的字长从历史角度考虑,根本就没把 SSE 这种单指令多数据的情况算进去。

而且,字长还经常会从地址总线宽度,数据总线宽度这类概念借用过来。总之,说 64-bit CPU,32-bit CPU 的时候,明白自己指什么就好,不必拘泥于字长这个概念。

作者:冯东
链接:https://www.zhihu.com/question/20536161/answer/15410344
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2、理解2:

平常我们说的32位机,64位机,说的就是32字长,64字长,英文叫word size

字长越大,CPU运算能力越牛逼

4位
8位
16位
32位
64位,现在大部分CPU都这个水平

字长:CPU一次操作可以处理的二进制比特数(0或1), 1字长 = 1 bit

举例子

一个字长是8的cpu,一次能进行不大于1111,1111 (8位) 的运算

一个字长是16的cpu ,一次能进行不大于 1111,1111,1111,1111(16位)的运算

作者:DADAman
链接:https://www.zhihu.com/question/20536161/answer/68029650
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP