为什么我们需要从辅助内存中将程序带入主内存以便执行? 为什么我们不能从二级内存执行程序? 虽然,目前可能不可能,但是将来有可能通过某种机制以某种方式直接从二级存储器执行程序吗?
答案 0 :(得分:2)
几乎所有现代CPU都通过从指令指针寄存器标识的主存储器中的地址获取指令来执行指令,在执行指令的CPU部分甚至开始工作之前,通过一个或多个高速缓存级别加载引用的存储器。设计一个可以直接从磁盘或网络流中获取指令的CPU将是一个相当大的项目,性能可能是可悲的。有一个原因是你的主内存比磁盘/网络访问快几个数量级,并且它和实际执行内核之间的缓存比主内存快几个数量级......
答案 1 :(得分:0)
在程序执行期间,大多数程序的某些部分需要被访问多次。每次我们需要特定数据时从二级存储器中读取显然需要很多时间。
最好将程序加载到更快的存储器(即主存储器)中,这样无论何时需要程序的一部分,都可以更快地访问它。类似地,更频繁使用的变量存储在高速缓冲存储器中以便更快地访问。它是关于速度的。
如果可以某种方式开发速度与主存储器一样快的负担得起的二级存储器,我们可以不将整个程序复制到主存储器中。但是,在程序执行期间,我们仍然需要一些内存来存储临时数据。
答案 2 :(得分:0)
主存储器用于将其与外部大容量存储设备(如硬盘驱动器)区分开来。 主存的另一个术语是RAM。计算机只能处理主存储器中的数据。 因此,您执行的每个程序和您访问的每个文件都必须从a复制 存储设备进入主存储器。计算机上的主存储器数量是至关重要的,因为它决定了 一次可以执行多少程序,以及程序可以随时获得多少数据。