gpt4 book ai didi

assembly - 字和字节有什么区别?

转载 作者:IT王子 更新时间:2023-10-28 23:28:19 25 4
gpt4 key购买 nike

我做了一些研究。一个字节是 8 位,一个字是内存中可以寻址的最小单位。单词的确切长度各不相同。我不明白的是有一个字节有什么意义?为什么不说 8 位?

我问了一个教授这个问题,他说现在大多数机器都是字节寻址的,但是那会是什么词呢?

最佳答案

字节:今天,一个字节几乎总是 8 位。然而,那个 wasn't always the case并且没有“标准”或规定这一点的东西。由于 8 位是一个方便使用的数字,因此它成为了事实上的标准。

:natural size with which a processor is handling data (寄存器大小)。今天遇到的最常见的字长是 8、16、32 和 64 位,但其他大小也是可能的。例如,有几个 36 bit machines ,甚至12 bit machines .

字节是 CPU 的最小可寻址单元。如果要设置/清除单个位,首先需要从内存中获取相应的字节,将位弄乱,然后将字节写回内存。

相比之下,word 的一个定义是处理器一次可以进行处理(如加法和减法)的最大位 block ——通常是整数寄存器的宽度。该定义有点模糊,因为某些处理器可能针对不同的任务(例如整数与浮点处理)具有不同的寄存器大小,或者能够访问寄存器的一部分。字长是大多数操作使用的最大寄存器大小。

还有一些处理器具有不同的指针大小:例如,8086 是一个 16 位处理器,这意味着它的寄存器是 16 位宽。但是它的指针(地址)是 20 位宽,是通过将两个 16 位寄存器以某种方式组合起来计算出来的。


在某些手册和 API 中,术语 “word” 可能会“停留”在以前的旧版大小上,并且可能与平台演变为时处理器的实际当前字长不同支持更大的寄存器大小。例如,Intel 和 AMD x86 手册仍然使用 "word" to mean 16 bits DWORD(双字,32 位)和 QWORD(四字,64 位)更大。然后这会反射(reflect)在一些 API 中,例如 Microsoft 的 WinAPI。

关于assembly - 字和字节有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com