Hardware 如果磁盘访问速度比RAM快,并且从磁盘访问数据没有成本,那么为什么需要RAM呢?

Hardware 如果磁盘访问速度比RAM快,并且从磁盘访问数据没有成本,那么为什么需要RAM呢?,hardware,Hardware,撇开成本和速度不谈。为什么把主存放在电脑里 我对上述问题的假设是,磁盘的速度和RAM一样快,或者比RAM快。因此,如果某个东西不适合缓存,它可以进入磁盘。真正的问题是,如果从某个磁盘访问的速度很高且成本很低,那么可以消除RAM吗?或者RAM在这些条件下仍然重要且必要。如果是,请告诉我原因 这是一种假设情况 为清晰起见进行了编辑 因为磁盘访问比RAM访问慢几个数量级 但是,如您所说,如果磁盘访问速度比RAM快,那么几乎没有理由使用RAM 或者,要真正回答这个问题:没有任何理由。从历史上看,不能保证

撇开成本和速度不谈。为什么把主存放在电脑里

我对上述问题的假设是,磁盘的速度和RAM一样快,或者比RAM快。因此,如果某个东西不适合缓存,它可以进入磁盘。真正的问题是,如果从某个磁盘访问的速度很高且成本很低,那么可以消除RAM吗?或者RAM在这些条件下仍然重要且必要。如果是,请告诉我原因

这是一种假设情况


为清晰起见进行了编辑

因为磁盘访问比RAM访问慢几个数量级

但是,如您所说,如果磁盘访问速度比RAM快,那么几乎没有理由使用RAM


或者,要真正回答这个问题:没有任何理由。

从历史上看,不能保证计算机会有一个硬盘——您可以加载软盘(或磁带驱动器,或当时存在的任何介质)中的所有内容。这意味着不可能交换空间,如果您的程序不适合CPU缓存,它需要去某个地方,而RAM满足了这个需要。即使现在,,像live boot这样的操作系统在没有RAM的情况下无法工作,因为需要的空间比片上缓存中的空间要大。

如果这是关于假想的未来,我会假设,无论他们使用什么技术来提高硬盘的速度,他们都只会应用于RAM,这样RAM仍然至少和硬盘一样快。我们已经有了几十年的代码,这些代码假定存在RAM和另一个更大的存储介质。如果没有存储介质,程序通常会在RAM中创建一个虚拟存储介质,并假装它是硬盘或类似的东西。除非我们想打破向后兼容性,否则我们会被束缚在这个范例上

你能解释一下为什么LiveBoot操作系统没有RAM就不能工作吗。我对上述问题的假设是,磁盘的速度和RAM一样快,或者比RAM快。因此,如果某个东西不适合缓存,它可以进入磁盘。真正的问题是,如果从某个磁盘访问的速度很高且成本很低,那么可以消除RAM吗?或者在这些情况下RAM是否仍然重要和必要。@tintin-在正常操作下,live boot OS不应写入磁盘。它甚至可能无法读取磁盘(例如,我使用Ubuntu live boot诊断磁盘问题)。它可能无法写入磁盘上的文件系统(5年前,Linux写入NTFS充其量是危险的)。它可能会选择一个可热插拔的磁盘来进行内存交换,如果该磁盘被移除会发生什么?你是说将来某一天磁盘的速度实际上比RAM快吗?因为现在RAM是最快的。无寻道时间和非常快的传输速率。事实上,当测量硬盘的速度时,它是指它们在RAM中读写的速度。事实上,这是在一次采访中问我的。我的答案是,我们需要RAM来加快访问速度,而且即使磁盘速度比RAM快,或者和RAM一样快,它们也必须在物理上靠近处理器,以实现与RAM一样的更好的加速,因为数据传输受到光速的限制。如果这不是物理上完成的,并且又引入了一个中间存储,那么我们就有了类似RAM的东西。所以,我们需要RAM,如果不是的话,至少我们需要CPU缓存。