了解 CPU、RAM 和硬盘驱动器

har*_*nja 5 memory cpu hard-drive computer-architecture

我目前正在阅读有关计算机如何工作的内容,特别是 CPU、RAM、硬盘驱动器如何同时协同工作。

根据我所读到的内容,CPU 使用所谓的控制单元从 RAM 中获取数据。然后处理数据。

但在 CPU 从 RAM 获取数据之前,必须将数据从硬盘加载到 RAM,因为访问 RAM 比访问硬盘快。

我的问题是:CPU可以直接从硬盘上获取数据吗?

硬盘驱动器如何传输数据或将数据加载到 RAM?就像 CPU 到 RAM 使用控制单元一样?

我已经阅读了一些关于 I/O 磁盘的内容。I/O 磁盘与此有关吗?

use*_*ser 8

CPU可以直接从硬盘获取数据吗?

否。 CPU(或更准确地说,在 CPU 上运行的软件)启动从硬盘(例如通过发出 SATAREAD DMA命令)到 RAM 中指定位置的传输,并且稍后(异步)在传输完成时发出信号完全的。

正如维基百科对DMA 的解释,直接内存访问 (DMA) 是计算机化系统的一项功能,它允许某些硬件子系统独立于中央处理单元 (CPU) 访问主系统内存。

为了存储大量数据,CPU 使用其缓存和系统 RAM。它不像硬盘那样直接访问外围设备。

硬盘驱动器如何传输数据或将数据加载到 RAM?

如上所述,通过向硬盘发出请求以将特定扇区或扇区范围从硬盘传输到 RAM,如今几乎总是使用 DMA。现代存储设备使用LBA寻址,但这主要是一个实现细节。

通过使用 DMA,CPU 可以在传输运行时自由处理其他任务,从而显着提高整体系统性能和响应能力。

在所有这些中,CPU 只运行从 RAM 提供给它的任何代码。