win10家庭版— 专业的win10家庭版系统下载及资源分享平台

雨林木风 深度技术 萝卜家园 番茄花园 电脑公司

当前位置主页 > Win10家庭版教程 >

高速缓存存储器

时间:2016-12-11 07:57来源: 本站整理

  高速缓存(Caching)是现代计算机结构中的一个重要部件,在CPU的部寄存器和主存之间建立了一个Cache,有一些Cache是硬件实现的,如大多数计算机有指令Cache,用来暂存下一条欲执行的指令,如果没有指令Cache,CPU将会空等若干个周期,直到下一条指令从主存中取出。纯硬件实现的Cache不需要操作系统控制。

  有一些Cache是由程序员、编译系统和操作系统实现寄存器的分配或替换算法,以决定信息是保存在哪里。通常,运算的信息存放在主存中,每当访问时,它们被临时复制到一个速度较快的Cache中。当CPU访问一组特定信息时,首先检杳它是否在Cache中,如果已存在,可直接从中取出使用;若不存在,则从主存中读出信息。通常认为这批信息被再次用到的概率很高,所以从主存中读出的信息同时还要被复制到Cache中。由于高速Cache的容鬚:有限,Cache的管理是一个重要的问题,仔细确定其大小和替换策略,能够做到80%〜99%的所需信息在Cache中找到,可使系统性能提髙。

  主存也可以被看作是辅存的Cache,因为辅存中的数据必须复制到主存方能使用;同样,数据也必须先存在主存中,才能输出到辅存。操作系统可利用主存作为一个文件数据的Cache。如有些系统为防止硬盘出现故障时丢失数据或降低存储价格,利用主存作为Cache,自动地把老文件数据从辅存转储到海量存储器中,如磁带上。而这些Cache均需要操作系统的控制和管理。

  在采用Cache后,系统还要解决数据的一致性问题。在层次式存储结构中,相同的数据可能出现在不同的层次上。例如,要对储存在磁盘上的文件B中的一个整数A做加1操作。首先发出I/O指令,它把4所在的盘块读到主存中,再做加法操作。若采用Cache,再将A读到主存的同时,可能把.4的一个副本复制到CaChe,而A的另一个副本复制到CPU寄存器。因此,在若干个地方都有4的副本。当在CPU寄存器执行加1操作之后,在存储器各层次中3的值是不同的,仅当A的新值被写冋磁盘之后,A的值才会变成相同。

  在每次仅有一个进程执行的环境中,由于对整数A的存取总是得到存储层次中最高层的值,上述方法没有什么问题。然而,在一个多仟务环境中,CPU在许多进程之间来回切换,如果多个进程均需要存取A,那么,每个进程就要获得A的最新被修改过的值。

  在多CPU环境中,情况变得较为复杂,除了维护CPU寄存器外,CPU还包含一个局部数据Cache,于是,的副本可能同时出现在若干个Cache中。所有的CPU都并发地执行,对A值在某个Cache中的修改,立即会影响到所在的所有其他Cache,这个问题称作缓冲一致性(Coherency)问题,这种一致性通常山硬件来保证。

  在分布式环境中,情况变得尤其复杂,同一个文件的不同副本可能存储在地理上分散的不同计算机中,因为,各个副本在一个地方被修改,所有其他副本立刻就成为过时的了。有许多途径能确保文件的一致性,这些将在分布式系统中讨论。

我要分享:

本站发布的win10家庭版系统与电脑软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!

如侵犯到您的权益,请及时通知我们,我们会及时处理。

Copyright @ 2020 win10家庭版 xp6000.com