在现代计算机中如何访问、修改和寻址 HDDM(不是 RAM!)?

在现代计算机中如何访问、修改和寻址 HDDM(不是 RAM!)?

警告:是的,我知道维基百科的那篇文章。对我来说太难了!我希望有人能更简单地解释一下……


背景:我设计了一台 6 位计算机。它有 4kB 的 RAM 和 4kB 的 ROM(使用双地址)。两者的访问和读取方式与另一台相同:

  1. 12 位地址传送至解码器。
  2. 解码器解码应该访问哪个存储单元。
  3. 访问存储单元并将其内容传送至寄存器 A。

两者都受到严格限制。现在我们有了一台现代的 32 位计算机。它具有:

  • 4 GB RAM。有限。
  • 1 TB 的 HDDM,只需使用更大的 HDD 或更多的 HDD 即可扩展!

RAM 的一切都很清楚 - 它的读取和修改方式与我的计算机上的相同。但是我们如何访问 HDDM?

  • 我们是否必须在现代计算机硬件中加入一个巨大的解码器,才能处理大量单独的存储单元?但 HDD 内存仍然应该限制在一定大小?
  • 或者也许有一些微型磁盘在快速旋转,每个存储单元都发出自己的地址,而一些小型扫描仪则等待磁盘转到正确的位置进行扫描?但这种速度真的可能实现吗?

一般来说:那么我们如何才能拥有无限量的 HDDM?如何访问、读取和修改 HDDM?

额外的:SSDM 是通过解码器访问的,所以它比 HDDM 更快吗?

答案1

对于非直接寻址的设备,您不必使用固定数量的线路为它们提供特定地址,许多设备允许您发送多个字节来描述您希望它们访问的地址。存储设备通常没有连接到它们的地址线,因此实现命令总线,允许您发送一组类似于以下内容的字节:

  1. 第一个字节:“我想读一些东西,你收到的接下来的 6 个字节将是要读取的地址”
  2. 第 2 个字节:地址字节 1
  3. 第 3 个字节:地址字节 2
  4. 第 4 个字节:地址字节 3
  5. 第 5 个字节:地址字节 4
  6. 第6个字节:地址字节5
  7. 第7个字节:地址字节6

然后它们就会离开,过一段时间后会开始向您发送在该地址找到的数据字节。

您还可以将“一个数据块”的基本数量重新定义为单个字节以外的其他内容(如内存使用)。因此,地址 0 是 512 字节块,地址 1 是下一个 512 字节块,依此类推。

硬盘等都使用这两种方法。你需要研究的是逻辑块寻址

这仍然遇到与我们从 32 位处理器更改为 64 位处理器时遇到的问题类似的问题,旧硬件必须更换,因为它无法物理支持新的接口和寻址方案。前几代硬盘接口仅支持高达 137GiB 的存储空间和 28 位块地址,而较新的接口支持 48 位寻址,允许寻址高达 128 PiB。

控制器和从属设备都必须能够使用较新的标准进行通信,以便它们支持更大的尺寸,如果其中一个无法发送所有所需的信息,那么就需要以某种方式进行替换。

相关内容