有人已经确认内存中的每个位置/地址都有 8 位。
我能知道为什么吗?它与内存芯片架构有关吗?或者是因为32位CPU。这 8 位是否适用于其他操作系统,例如 FreeBSD、Mac、Linux?每个位置的位数与内存中地址线的数量有什么关系吗?
是否有任何其他架构具有每个地址的不同位数?
有人已经确认内存中的每个位置/地址都有 8 位。
我能知道为什么吗?它与内存芯片架构有关吗?或者是因为32位CPU。这 8 位是否适用于其他操作系统,例如 FreeBSD、Mac、Linux?每个位置的位数与内存中地址线的数量有什么关系吗?
是否有任何其他架构具有每个地址的不同位数?
通常情况下,维基百科有一个答案:
没有 8 位字节的架构包括 CDC 6000 系列科学大型机,它将 60 位浮点字分成 10 个 6 位字节。这些字节方便地保存来自打孔 Hollerith 卡的字符数据,通常是大写字母和十进制数字。由于机器的 12 位 I/O 架构,CDC 也经常将 12 位数量称为字节,每个包含两个 6 位显示代码字符。PDP-10 使用汇编指令 LDB 和 DPB 来加载和存储从 1 到 36 位的任何宽度的字节——这些操作在今天的 Common Lisp 中仍然存在。在某些计算机上使用了六、七或九位的字节,例如在 PDP-10 的 36 位字中。UNIVAC 1100/2200 系列计算机(现为 Unisys)在其 36 位字中以 6 位 (Fieldata) 和 9 位 (ASCII) 模式寻址。
八位字节普遍存在背后的因素包括 1960 年代引入的 IBM System/360 体系结构和 1970 年代引入的 8 位微处理器的流行。八位字节一词明确地指定了一个八位字节(例如在协议定义中)。
这是一个硬件架构,而不是操作系统。您每天都会遇到的所有体系结构,每个字节使用 8 位。可能有现代例外,特别是在极端情况下(大型机、超级、嵌入式),但我不知道有任何例外。
在某种程度上,它完全是任意的——但 8 位很方便。
它包含 256 个值,因此它足够大,可以存储所有大小写字母、数字和符号,而且它可以被 2 和 4 整除,这对于一些事情来说很方便。
内存地址是内存中特定字节的位置。
一个字节有 8 位。
一些 DSP 架构使用 16 位可寻址单元。在许多 PIC 单片机上,以指令大小(12 位或 14 位)的倍数访问代码存储器。我认为数据大小是 2 的幂,并且可以有效地存储字符数据是很有用的。使用 16 位来保存字符在历史上被认为是浪费的(恕我直言,在许多情况下,它仍然是),并且 4 位太小而无法使用。