数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位。 在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字。字通常分为若干个字节(每个字节一般是8位)。在存储器中,通常每个单元存储一个字。因此每个字都是可以寻址的。字的长度用位数来表示。 计算机的每个字所包含的位数称为字长,计算的字长是指它一次可处理的二进制数字的数目。一般地,大型计算机的字长为32-64位,小型计算机为12-32位,而微型计算机为4-16位。字长是衡量计算机性能的一个重要因素。 字节是寻址的最小单位。内存中两个紧挨着的字节,它们的内存地址差1。但是一个字节内的位,就没有地址的概念。你当然也可以定义一种计算机,每个位对应一个内存地址,但是在现代太另类了,估计没有人为你的计算机编程。 字是计算机一次处理数据的最大单位。多数情况下,这有几个含义:CPU的寄存器的长度是一个字;CPU一个指令最多从内存中读取的数据量就是一个字;最大的寻址空间,是 计算机一般使用字节(byte)作为最小可寻址的内存单位,内存中的每个字节都有一个唯一的数字标识,也就是它的地址了,通常使用一个十六进制的数来表示。如果是占用多个字节内存的数据,则它的地址就是所使用字节中最小的地址。 虽然字节是最小可寻址单位,但是并不是 CPU 的最小读取单位。CPU 从内存中读取数据时需要通过 cache 来作为中间层,会根据目标地址首先在 cache 中找,如果找不到,就会首先从内存加载数据到 cache 中,然后再读取。单次从内存加载到 cache 的数据大小叫做 cache line,它的大小跟硬件有关,一般是 16 到 256 字节。 字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。字节是二进制数据的单位。一个字节通常8位长。但是,一些老型号计算机结构使用不同的长度。为了避免混乱,在大多数国际文献中,使用词代替byte。 在计算机领域, 对于某种特定的计算机设计而言,字是用于表示其自然的数据单位的术语。在这个特定计算机中,字是其用来一次性处理事务的一个固定长度的位(bit)组。一个字的位数(即字长)是计算机系统结构中的一个重要特性。 字长在计算机结构和操作的多个方面均有体现。计算机中大多数寄存器的尺寸是一个字长。计算机处理的典型数值也可能是以字长为单位。CPU和内存之间的数据传送单位也通常是一个字长。还有而内存中用于指明一个存储位置的地址也经常是以字长为单位的。 尽管内存以字节为单位,现代处理器的内存子系统仅限于以字的大小的力度和对齐方式访问,处理器按照字节块的方式读取内存。一般按照2, 4,8, 16 字节为粒度进行内存读取。合理的内存对齐可以高效的利用硬件性能。 https://books.innohub.top/rustinfo/info/alignmentB与bit
字(Word)
字长
本质区别
2^字长(如果一个字是64位,那么最大的寻址空间就是2的64次方)。概念区别
内存对齐
以4字节存取粒度的处理器为例,读取一个int变量(32bit 系统), 处理器只能从4的倍数的地址开始。假如没有内存对齐机制,将一个int放在地址为1的位置。现在读取该int时,需要两次内存访问。第一次从0地址读取,剔除首个字节,第二次从4地址读取,只取首个字节;最后两下的两块数据合并入寄存器,需要大量工作。参考
https://worktile.com/kb/p/38205
https://wmf.im/p/%E5%86%85%E5%AD%98%E5%AF%B9%E9%BD%90/