计算机存储器包括主存、辅助存储和什么?
发布网友
发布时间:2023-02-09 07:39
我来回答
共1个回答
热心网友
时间:2023-03-03 14:38
计算机存储器包括主存(main memory),辅存(mass storage)和寄存器(register)。主存就是平时所说的内存,计算机运行时操作系统和其它进程的代码存储在其中。辅存主要指硬盘,也包括其它辅助存储设备,如软盘,U盘,光盘等,可以存放大量数据。寄存器位于CPU内,在指令执行时起临时存放作用。
寄存器和主存、主存和辅存之间存在不停的数据传输和交流,其速度和容量就影响了计算机的性能。如果寄存器和主存之间每条指令和每个数据都进行一次传输,那么计算机的运行速度就受到*。因此出现了高速缓冲存储器(cache memory),用于成批处理寄存器内的数据,以同主存进行交流。而且频繁使用的数据,CPU可以直接从高速缓存中读取,减少CPU的等待时间,提高系统效率。内存的容量有限,有时不能一次载入硬盘中所需的数据,这里会出现虚拟存储(virtual memory)的概念。虚拟存储是指当要接收的数据超过内存容量时,系统会在硬盘内分配足够的空间存储这些数据,再把这些数据分成很多页(page),再根据需要实时地把一定的页载入内存,这样用户感觉内存的容量就比真实的容量偏大。
另外,缓冲区(buffer)是用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域,使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。
这里再顺便说下脱机(spooling)的概念。脱机是指当多个进程要求同时使用非共享资源如打印机时,系统会根据需求把所有的数据同时读取到硬盘,再在打印机上逐个打印,这样给用户的感觉就是一台打印机同时打印多个进程包含的文件。
以下引用主要区别高速缓存(cache)和缓冲区(buffer):
Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期, Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。
Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。
Buffer和cache都是占用内存:
Buffer: 作为buffer cache的内存,是块设备的读写缓冲区
Cache: 作为page cache的内存, 文件系统的cache
如果cache的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。