繁体   English   中英

是否需要将程序带到主存储器中执行?

[英]Necessity to bring program to main memory for execution?

为什么需要将程序从辅助存储器引入主存储器中以便执行? 为什么我们不能从辅助存储器执行程序? 虽然,目前可能尚不可行,但将来是否可以通过某种机制通过某种方式直接从辅助存储器执行程序?

几乎所有现代CPU都通过从指令指针寄存器标识的主存储器中的地址中提取指令来执行指令,在执行指令的CPU部分甚至开始工作之前,通过一个或多个高速缓存级别加载引用的存储器。 设计一个CPU,例如,可以直接从磁盘或网络流中获取指令,这将是一个相当大的项目,而且性能可能很可悲。 有一个原因是,您的主内存运行速度比磁盘/网络访问快几个数量级,并且在它和实际执行核心之间的缓存甚至比主内存快几个数量级...

通常,在程序执行期间需要多次访问程序的某些部分。 每次我们需要特定数据从辅助存储器读取时,显然将需要大量时间。

最好将程序加载到较快的内存(例如Main memory)中,以便每当需要一部分程序时,都可以更快地访问它。 同样,更频繁使用的变量存储在高速缓存中,以实现更快的访问。 一切都与速度有关。

如果能够以某种方式开发价格可承受的二级存储器,其速度与主存储器一样快,那么我们可以在不将整个程序复制到主存储器中的情况下进行操作。 但是,在程序执行期间,我们仍然需要一些内存来存储临时文件。

主存储器用于将其与外部大容量存储设备(例如硬盘驱动器)区分开。 主存储器的另一个术语是RAM。 计算机只能操作主内存中的数据。 因此,必须将执行的每个程序和要访问的每个文件从存储设备复制到主存储器中。计算机上的主存储器数量至关重要,因为它决定了一次可以执行多少个程序以及可以处理多少数据。易于使用的程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM