在什么情况下内存是字节或字可寻址的以及为什么

mez*_*zda 5 memory cpu-architecture microprocessors

内存可以是字节可寻址的,也可以是字(2字节、4字节等)可寻址的(如果我错了,请纠正我)。

这(字节可寻址或字可寻址)取决于处理器架构吗?如果是,在什么情况下我们使用字节可寻址内存,在什么情况下我们使用字可寻址内存?

其原因是什么?换句话说,为什么存储器字节可寻址(如果是这样)以及为什么字可以寻址(如果是这样)及其原因。我在这个网站上看到了一些关于字节可寻址内存的问题,但没有人提供这些问题的答案。

Ale*_*nze 4

显然,不同的软件需要操作不同类型和大小的数据/变量,并且经常需要在同一代码中操作多个不同的数据/变量。

无论大小如何,都能够直接完整地访问这些变量,从而简化了编程,因为您不需要将 4 个 8 位字节粘合在一起以形成 32 位值或类似地提取单独的 8 位值来自 32 位内存位置。

现有的处理器在本机支持的数据大小方面不太灵活。例如,定点数字信号处理器。有些只能以 16 位字和 32 位双字的形式直接访问内存。我认为它们中缺少 8 位字节寻址并不是一个大问题,因为它们预计将进行大量信号处理,而不是通用且适合通用计算,并且信号样本很少是 8 位(这太粗略了),大多数情况下它们是 16 位的。

支持更少的数据大小和硬件中的其他功能使该硬件更简单、更便宜(包括消耗的能源),如果我们谈论成千上万的设备,这一点就变得很重要。

不同的问题需要不同的解决方案,因此具有多样性。