内存可以是字节可寻址的,也可以是字(2字节,4字节等)可寻址(如果我错了,请纠正我)。
这是(字节可寻址还是字可寻址)取决于处理器架构? 如果是的话,在什么情况下我们选择字节可寻址存储器,在什么情况下我们选择字可寻址存储器?
原因是什么?换句话说,为什么存储器字节是可寻址的(如果是这样的话)以及为什么字可寻址(如果是这样的话)及其原因。我在这个网站上看到了关于字节可寻址内存的几个问题,但没有人提供这些问题的答案。
答案 0 :(得分:4)
显然,不同的软件需要使用不同类型和大小的数据/变量进行操作,并且通常需要在同一代码中使用多个不同的软件进行操作。
能够直接和整体地访问这些变量,无论大小如何,都简化了编程,因为您不需要粘合在一起,例如,4个8位字节形成32位值或类似地提取个体8来自32位内存位置的位值。
存在处理器在本机支持的数据大小方面不是非常灵活。例如,定点数字信号处理器。有些只能直接访问内存为16位字和32位双字。我认为它们中没有8位字节寻址不是一个大问题,因为它们需要进行大量的信号处理,而不是通用,适合通用计算,信号样本很少是8位(这太粗糙了),大多数情况下它们都是16位。
在硬件中支持更少的数据大小和其他功能使得这种硬件更简单,更便宜(包括消耗的能量),如果我们谈论成千上万的设备,这就变得非常重要。
不同的问题需要不同的解决方案,因此种类繁多。