发布网友 发布时间:2022-04-05 15:00
共1个回答
热心网友 时间:2022-04-05 16:29
摘要Cache(高速缓冲存储器)、主存储器、辅助存储器;三者速度依次降低。Cache通常位于CPU内,主存可以理解为现代计算机中的内存条,而辅存则为大容量硬盘。*存储系统结构层次中的”Cache-主存”层次主要用于解决CPU和主存的速度不匹配的问题;而“主存-辅存”层次主要解决存储系统的容量问题;咨询记录 · 回答于2021-11-09*存储系统是指哪三种存储器?计算机系统为何采用*存储系统?Cache(高速缓冲存储器)、主存储器、辅助存储器;三者速度依次降低。Cache通常位于CPU内,主存可以理解为现代计算机中的内存条,而辅存则为大容量硬盘。*存储系统结构层次中的”Cache-主存”层次主要用于解决CPU和主存的速度不匹配的问题;而“主存-辅存”层次主要解决存储系统的容量问题;希望我的回答让你有帮助,谢谢!选择Cache缓存技术或虚拟内存技术的基本工作原理进行描述。高速缓冲存储器(Cache):在多体交叉存储器中可知,I/O向主存请求的级别高于CPU访存,这就出现了CPU等待I/O访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而降低了CPU的工作效率。为了避免CPU与I/O争抢访存,可在CPU与主存之间加一级缓存,这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。从另一角度来看,主存速度的提高始终跟不上CPU的发展。据统计CPU的速度平均每年改进60%,而组成主存的动态RAM速度平均每年只改进7%,结果是CPU和动态RAM之间的速度间隙平均每年增大50%。因此也希望由高速缓存Cache来解决主存与CPU的不匹配问题。Cache的出现主要解决CPU不直接访问主存, 只与高速Cache交换信息。那么,这是否可能呢?通过大量典型程序的分析,发现CPU从主存取指令或取数据在一定时间内,只是对主存局部地址区域的访问。这是由于指令和数据在主存内都是连续存放的,并且有些指令和数据往往会被多次调用(如子程序循环程序和一些常数),也即指令和数据在主存的地址分布不是随机的,而是相对的簇聚,使得CPU在执行程序时,访存具有相对的局部性,这就叫程序访问的局部性原理。根据这一原理,很容易设想,只要将CPU近期要用到的程序和数据, 提前从主存送到Cache, 那么就可以做到CPU在一定时间内只访问Cache。一般Cache采用高速的SRAM制作,其价格比主存贵,但因其容量远小于主存,因此能很好地解决速度和成本的矛盾。磁盘缓冲区:硬盘的缓冲区是硬盘与外部总线交换数据的场所。硬盘的读数据的过程是将磁信号转化为电信号后,通过缓冲区一次次地填充与清空,再填充,再清空,一步步按照PCI总线的周期送出,可见,缓冲区的作用是相当重要的。它的作用也是提高性能,但是它与缓存的不同之处在于:一、它是容量固定的硬件,而不像缓存是可以由操作系统在内存中动态分配的。二、它对性能的影响大大超过磁盘缓存对性能的影响,因为如果没有缓冲区,就会要求每传一个字(通常是4字节)就需要读一次磁盘或写一次磁盘。虚拟内存:当内存不足时把一些还没开始工作或者阻塞的进程以及相关资源从内存移到外存上(一般是磁盘),等进程被调度了再从外存把这些进程以及相关资源移到内存,外存上负责存储这些临时数据的部分就是虚希望我的回答让你有帮助,谢谢!