【问题标题】:in what cases memory is byte or word addressable and why在什么情况下内存是字节或字可寻址的,为什么
【发布时间】:2012-04-11 09:43:45
【问题描述】:

内存可能是字节可寻址或字(2 字节、4 字节等)可寻址的(如果我在这里错了,请纠正我)。

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

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

【问题讨论】:

  • 现代通用 CPU 倾向于字节寻址。 DSP 可以是字可寻址的。一些历史悠久的 CPU 是字可寻址的,有时字长很奇怪(IIRC,PDP-11 是 Unix 和 C 最初编写的,有 18 位字和字可寻址内存)。

标签: memory cpu-architecture computer-architecture microprocessors


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2012-11-11
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多