CN1096640C - 计算机存储器系统 - Google Patents
计算机存储器系统 Download PDFInfo
- Publication number
- CN1096640C CN1096640C CN95194319A CN95194319A CN1096640C CN 1096640 C CN1096640 C CN 1096640C CN 95194319 A CN95194319 A CN 95194319A CN 95194319 A CN95194319 A CN 95194319A CN 1096640 C CN1096640 C CN 1096640C
- Authority
- CN
- China
- Prior art keywords
- cache
- cpu
- system controller
- signal
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开可应用于运行在双方式下的存储系统的一种有效的超高速缓存的刷新机制。双方式采用两个物理上各不相同但在整个逻辑地址中的至少一部分上具有共用的逻辑地址的主存储空间。由辅助超高速缓存对表示方式切换的信号(SMIACT#)提供中断。在超高速缓刷新结束之前阻止SMIACT#到达系统控制器,确保将超高速缓存的内容回写到数据原始驻留的正确存储体上,因为尽管CPU实际已生成SMIACT#但系统控制器认为方式尚未切换。
Description
本发明涉及用于具有辅助超高速缓存的PC机的超高速缓存刷新硬件的机制,该机制可很好地应用于具有多个方式的对存储单元采用多地址系统的系统。
CPU具有用于刷新内部超高速缓存命名为FLUSH#的一种信号输入。当 控制和管理对存储器的访问的系统控制器把FLUSH#信号驱动成低电平时,迫使CPU刷新芯片上超高速缓存的全部内容。通常CPU系统是由一些部件组成的而不是只有CPU,例如包括:一个主存储器,用于存储信息并由CPU访问以获取其中所存储的数据,一个第一超高速缓冲存储器,它存在于CPU和主存储器之间,以提供对所需数据相对很快的访问以及存储不时由CPU访问的并且重复存储在主存储器里的一部分数据,另外最好还包括一个第二超高速缓存,它存在于第一超高速缓存和主存储器之间,其不如第一超高速缓存那样快,但具有存储更多数据的能力。第二超高速缓存也具有目的及功能相似的一条命名为FLUSH#的信号输入线路。
在CPU和辅助超高速缓存之间存在两种数据写处理方式。一种方式是写入通过(write-through)操作,即使CPU只要求把数据写入到辅助超高速缓存,这种操作也同时向辅助超高速缓存和主存储器写入数据,另一种方式是回写(write-back)操作,这种操作在CPU要求把数据写入到辅助超高速缓存时只把数据写到辅助超高速缓存。换言之,在回写操作情况下,在主存储器里将没有备份数据。容易设想在数据传送上回写操作效率更高,但是它具有这样一个缺点,在超高速缓存刷新时出于备份的目的必须把辅助超高速缓存的内容传送到或者“回写”到主存储器里。
称为CPU总线的公共数据传送线路系统将这些部件连接起来。因为对于系统的所有部件总线是共有的,当响应FLUSH#信号启动回写阶段时可能出现访问冲突。因此,为避免这种冲突需要一种仲裁机制。在回写至被修改的线路之前,为了启动回写阶段辅助超高速缓存必须获得对CPU总线的所有权。
本文中提及的CPU系统典型地表示在图1中。该图中,第一超高速缓存包含在CPU里并且没有示出。假定主存储器和辅助超高速缓存连接,但这也没有示出。辅助超高速缓存通过FLUSH#和CPU以及系统控制器连接。系统控制器是一个部件,它控制CPU、辅助超高速缓存和主存储器之间的输入/输出操作。FLUSH#提供系统控制器对CPU的刷新第一和辅助超高速缓存的请求。CPU经过HOLD和HLDA和系统控制器连接。当系统控制器请求CPU释放总线时,HOLD被驱动。接着,CPU在结束当前正使用总线的任务之后释放总线,并认定HLDA以通知总线已被释放的事实。但是,因为辅助超高速缓存既不能向CPU又不能向系统控制器传送获得总线的信号,在这种系统中辅助超高速缓存本身不能得到总线的所有权。这样得出一个结论,即回写操作是不能在这种系统中实现的,因为为了达到回写操作,辅助超高速缓存必须在启动回写阶段之前序分地获得总线的所有权。
这是现有技术中的主要问题。为解决这个问题,系统中增添了所谓BOFF#线路。这条线路把辅助超高速缓存和CPU连接起来。当它被认定时,CPU将立即放释放总线线路,接着在下一个CPU周期辅助超高速缓存得到对总线的所有权。BOFF#强迫CPU夭折当前的任务并在以后从第一超高速缓存恢复该任务。但是,当CPU正在对历史灵敏的方式下工作时如果辅助超高速缓存认定BOFF#,则这种方法可能造成问题。例如,如果CPU处于I/O周期,则CPU不应该为释放总线而中止它的运行,因为在I/O操作即数据传送的中途释放总线将会造成数据的不一致性,即使以后恢复该I/O周期这种不一致性也不能得到恢复。还应该注意到,超高速缓存既不可能察觉出CPU是否工作在对历史灵敏的方式下,也不可能选择性地在CPU不处于对历史灵敏的工作方式下的时间窗口期间认定BOFF#。
辅助超高速缓存获得总线所有权的另一种方法是当CPU生成一个伪I/O周期时认定BOFF#,如由Phil Milling和Jorge Lenta编写的资料“L00k-Aside Store In Cache Functional Specification,Preliminaryrevision 1.1(Jan.93)”中所述。这种方法可解决第一种方法中所造成的问题,因为当辅助超高速缓存检测出系统控制器认定FLUSH#时辅助超高速缓存将进入刷新待决状态。在这种刷新待决状态下,辅助超高速缓存等待设想由CPU稍后生成的伪I/O周期。但是,在这种方法中,因为CPU必须生成伪I/O周期,刷新周期必须由CPU启动,即实际上是由系统软件激励的。其问题在于它不能应用于由系统控制器启动刷新的系统。
这种方法的一种替代方式是在CPU生成刷新证实周期时认定BOFF#。这种方法为:当辅助超高速缓存检测出系统控制器认定FLUSH#时,辅助超高速缓存进入刷新待决状态并且等待由CPU在其完成芯片上超高速缓存刷新后生成的刷新证实周期。但是这种方法不能进行在不生成刷新证实周期的CPU类型上。实际上,非常有限的CPU类型生成刷新证实周期,这意味在各种系统中该方法不是普遍采用的。
近来,许多用于个人机(PC)系统里的CPU为例如节电设备的对应用透明的系统服务使用双方式存储器管理。例如Intel公司的X86 CPU芯片采纳一种方式,这种方式在整个地址范围的至少一部分上利用具有公用的单值地址的两种明显不同的存储系统。这意味着一个特定的地址对应于两个不同的物理单元,并且这两个不同物理单元中的任何一个是由通过检测系统运行的当前方式所定义的。相对于标准方式这种增加的方式通常称为“系统管理方式”,并经常缩写为SMM。当系统必须进入SMM时,系统控制器将中断常规的程序执行并通过生成对CPU的系统管理中断(SMI#)以调用SMM。
在图7中示意这种双方式系统。在这种系统中,操作是由标准方式和系统管理方式两种方式组成的,由CPU生成的SMIACT#定义。例如,当把SMIACT#驱动成高电平时,整个系统运行在标准方式下,这意味着将对标准RAM进行存储器访问。反之,当把SMIACT#驱动成低电平时,整个系统进入SMM,这意味着也可对SMRAM进行存储器访问。请注意,在图7中,SMRAM存在于1000至2000的逻辑地址的范围内,从而对这个范围内的地址的访问将向SMRAM进行,即使整个系统进行在SMM下对其它存储器地址的访问仍将向标准RAM进行。
SMRAM是SMM下CPU专用的一个物理存储器,其尺寸为32KB至4GB,含有SMM处理程序代码、相关的系统专用SMM数据以及表示进入SMM之前处理器状态的处理器状态信息。当CPU进入SMM时,CPU认定SMIACT#低电平从而提醒系统控制器切换到SMRAM空间。接着CPU以一种堆栈状形式从SMRAM空间的顶部开始把当前寄存器状态信息存储到SMRAM里。这称之为处理器状态转储、语境转换或状态保留。一旦完成状态保留阶段,则开始SMI处理程序的执行。CPU认定SMICAT#输出以指示存储示器控制器CPU运行在SMM下。系统逻辑应该确保只有该区域可由CPU和SMI处理程序访问。
尚不存在一种系统可允许系统控制器利用FLUSH#在标准方式和SMM两种方式下都刷新CPU芯片上的超高速缓存和辅助超高速缓存。这是因为双方式机在超高速缓存刷新情况下不预先采用回写方法。但可设想双方式和回写方法的并存将提高个人机的性能,从而必须解决带有回写和SMM的超高速缓存的刷新问题。
当CPU需要转换方式时,经常要提出超高速缓存刷新请求。在不做出特殊努力下,很有可能辅助超高速缓存和主存储器之间的数据一致性被扰乱,因为几乎在实际超高速缓存刷新操作的同一时刻CPU生成SMIACT#。这意味着如果已经生成SMIACT#并且系统控制器已把它的存储体从一种改变到另一种(例如从SMRAM到标准RAM),从超高缓存的回写将进入超高速缓存的内容原本不属于它的错误存储器中。
从而,本发明的一个目的是提供一种有效的机制,既使得超高速缓存的刷新不会扰乱回写阶段,又使得无须关心刷新操作和回写阶段之间的定时。
本发明的另一个目的是执行不由CPU启动的刷新周期,或更具体地,执行系统控制器启动的刷新周期。
本发明的另一个目的是提供一种有效的机制,以在具有诸如标准方式和系统管理方式的双方式的系统中实现超高速缓存刷新。
本发明的另一个目的是提供一种和Intel公司的X86 CPU的总线接口充分兼容的超高速缓存刷新机制,其中系统控制器无须关心超高速缓存刷新操作和回写阶段之间的定时。
本发明的主要方面,是一种计算机存储器系统,它包括:一个CPU、一个系统控制器和一个经过总线与所述CPU和所述系统控制器连接的超高速缓冲存储器,其特征在于还具有:
第一信号,由所述系统控制器向所述CPU和所述超高速缓冲存储器产生,用于刷新所述超高速缓冲存储器的内容;
第二信号,响应于所述第一信号,由所述超高速缓冲存储器向所述CPU产生,用于请求所述CPU释放所述总线;
第三信号,响应于所述第二信号,由所述CPU向所述超高速缓冲存储器产生,用于向所述超高速缓冲存储器通知CPU已经释放了所述总线,所述第三信号并不传送到所述系统控制器,从而所述超高速缓冲存储器先于所述系统控制器检测到所述CPU已经释放了所述总线;以及
第四信号,在所述超高速缓冲存储器完成了一次刷新操作之后,由所述超高速缓冲存储器向所述系统控制器产生。
本发明还提供一种用于在计算机存储器系统中刷新超高速缓冲存储器的方法,该计算机存储器系统包括:一个CPU、一个系统控制器、一个经过总线与所述CPU和所述系统控制器连接的超高速缓冲存储器以及一条由所述CPU、所述系统控制器或所述超高速缓冲存储器中的任何一个启动以便指示请求所述总线的信号线,所述存储器系统以多种方式工作,每种方式使用多个物理上不同的主存储空间中的一种相关的主存储空间,多个物理上不同的主存储空间在全部逻辑地址区域的至少一部分中具有共同的逻辑地址,其特征在于包括以下步骤:
所述系统控制器向所述CPU和所述超高速缓冲存储器产生第一信号,用于刷新所述超高速缓冲存储器的内容;
所述超高速缓冲存储器,响应于所述第一信号,向所述CPU产生第二信号,用于请求所述CPU释放所述总线;
所述CPU向所述超高速缓冲存储器产生第三信号,只请求将所述存储器系统切换到一个不同的方式;
所述超高速缓冲存储器向所述系统控制器产生第四信号,请求切换所述方式;其中所述第四信号是在所述超高速缓冲存储器的刷新已经完成之后产生的,从而所述超高速缓冲存储器防止所述CPU在所述超高速缓冲存储器的刷新已经完成之前切换所述方式。
本发明还提供一种用于在计算机存储器系统中刷新超高速缓冲存储器的方法,该计算机存储器系统具有:一个CPU、一个系统控制器、一个经过总线与所述CPU和所述系统控制器连接的超高速缓冲存储器以及一条由所述CPU、所述系统控制器或所述超高速缓冲存储器中的任何一个启动以便指示请求所述总线的信号线,所述存储器系统以多种方式工作,每种方式使用多个物理上不同的主存储空间中的一种相关的主存储空间,多个物理上不同的主存储空间在全部逻辑地址区域的至少一部分中具有共同的逻辑地址,其特征在于包括以下步骤:
所述系统控制器产生第一信号,用于请求将所述方式从第一方式改变到第二方式;
所述超高速缓冲存储器响应于所述第一信号产生第二信号,请求所述CPU释放所述总线;
所述CPU响应于所述第二信号产生第三信号,用于切换所述方式,其中所述第三信号由所述超高速缓冲存储器中断,以防止所述系统控制器在所述超高速缓冲存储器已经完成超高速缓冲存储器刷新之前检测到所述第三信号。
本发明还提供一种计算机存储器系统,具有:一个CPU、一个系统控制器以及一个经过总线与所述CPU和所述系统控制器连接的超高速缓冲存储器,所述存储器系统以多种方式工作,每种方式使用多个物理上不同的主存储空间中的一种相关的主存储空间,多个物理上不同的主存储空间在全部逻辑地址区域的至少一部分中具有共同的逻辑地址,其特征在于具有:
一个由所述CPU产生的信号,该信号请求由所述超高速缓冲存储器中断正被切换的所述方式,以防止所述系统控制器在所述超高速缓冲存储器已经完成超高速缓冲存储器刷新之前检测到所述第三信号,从而所述超高速缓冲存储器防止所述CPU在所述超高速缓冲存储器的刷新已经完成之前切换所述方式。
在本发明的另一个方面里,提供由辅助超高速缓存进行的信号(SMIACT #)中断以防止系统控制器检测方式切换。当CPU生成SMIACT #并由系统控制器检测出SMIAT #时,系统控制器为超高速缓存切换存储体至回写,造成扰乱超高速缓存和主存储器之间的存储器一致性。但是本发明在完成超高速缓存刷新之前恰好阻止SMIACT #到达系统控制器,以确保超高速缓存的内容回写到该数据原始驻留过的正确存储体上,因为尽管CPU实际上已生成SMIACT #但系统控制器认为方式尚未切换。
图1是现有技术中普通实现的存储系统。
图2是本发明的存储系统的第一实施方式的示意图。
图3是图2中所示存储系统的信号时序图。
图4是本发明的存储系统的第二实施方式的示意图。
图5是图4所示存储系统的信号时序图,图中来自CPU和来自辅助超高速缓存的总线访问不冲突。
图6是图4所示存储器系统的另一个信号时序图,图中来自CPU和来自辅助超高速缓存的总线访问相冲突。
图7是出于说明目的的双方式存储系统的示意图。
本发明的一种实施方式的实现如图2中所示。该系统包括一个CPU、一个系统控制器以及一个与CPU及系统控制器两者相连接的辅助超高速缓存。在本发明的该实施方式中,控制HOLD及HLDA信号以达到超高速缓存刷新。当辅助超高速缓存开始刷新时,它认定L2HOLD,L2HOLD和系统控制器的一个输出量SHOLD进行“或”运算。辅助超高速缓存接收来自CPU的HLDA并且把HLDA作为L2HLDA传送给系统控制器。HOLD和HLDA是具有“背景”材料中所提到的相同功能的信号。HOLD请求CPU释放总线,但在本发明中HOLD是由SHOLD和L2HOLD进行“或”运算建立的。这意味着,如系统控制器通过采用SHOLD那样,辅助超高速缓冲也可以通过认定L2HOLD向CPU提出释放总线的请求。典型地,当系统控制器需要为窥探或者为检测超高速缓存和主存储器之间的一致性而使用总线时系统控制器认定SHOLD。来自CPU的HLDA表示容许辅助超高速缓存得到总线。和图1中相反,因为HLDA由辅助超高速缓存中断,辅助超高速缓存可以在系统控制器之前检测该许可。这意味着来自辅助超高速缓存的总线请求优选于来自系统控制器的总线请求,这使得作出许可后能立即开始回写阶段。
通过参照图3所示的时序图可很好地说明刷新操作。在周期1中,系统控制器认定FLUSH #为低电平,这是来自系统控制器的启动刷新操作的请求。在周期1的结尾辅助超高速缓存检测出FLUSH #并在周期2把L2HOLD驱动成高电平。L2HOLD和SHOLD进行“或”运算,产生馈送给CPU的输出HOLD,其迫使CPU浮动CPU总线。当CPU释放总线时,在周期3中HLDA被认定为高电平,通过检测出HLDA为高电平从周期4的开始端起,超高速缓存启动回写阶段。HLDA处于高电平可看成是CPU对辅助超高速缓存启动其操作的许可,因为总线已由CPU释放。在周期20辅助超高速缓存结束回读阶段,并且取消认定L2HOLD使得HOLD为低电平。这将使CPU在周期21取消认定HLDA以使辅助超高速缓存接收该信号并且把该信号作为L2HLDA传送给系统控制器
但是,应该注意,CPU并不总是在紧接HOLD被认定的周期之后的那个周期内释放总线。只有在某个周期结束CPU的未完成的任务之后CPU才会释放总线。从而在图3中,CPU恰好未执行一个在周期3之后尚未结束的任务。但是如果CPU正在处理对历史敏感的事情,它将继续该任务直至把该任务完成为止,这样可能在周期10与周期100把HLDA认定为高电平。是否CPU应该立即把总线传递给辅助超高速缓冲进行刷新操作或者CPU应该继续其任务直至完成的决定完全取决于CPU。以这种方法,即使CPU正做对历史敏感的事情,仍可获得适当的回读阶段,从而解决了现有技术中存在的一个主要问题。
这种机制可以防止系统控制器偶然地启动窥探操作,因为HLDA是由辅助超高速缓存中断的从而在回写周期内使L2HLDA保持低电平。只有当系统控制器知道辅助超高速缓存认定L2HLDA之后(其意味着已结束回写阶段)才开始窥探。以这种方式,辅助超高速缓存可以根据刷新请求主动地启动其回写操作,从而解决现有技术中的另一个问题。
本发明的另一种实施方式实施于以双方式,例如标准方式和系统管理方式,运行的系统中。当一个系统中可利用双方式时事情变为更复杂,因为超高速缓存必须准确回写到对应于当前运行方式的正确物理存储器中。即更详细地,在标准方式期间的超高速缓存刷新的情况下,必须向标准RAM而不是向系统管理RAM(SMRAM)进行回写。如果在标准方式下错误地向SMRAM回写,则数据一致性会被扰乱。同样,如果在系统管理方式(SSM)下执行超高速缓存刷新,则必须向SMRAM而不是标准RAM回写。如果错误地向标准RAM回写,一样会扰乱数据一致性。
在该实施方式中,通过控制信号AHOLD、BOFF #和SMIACT#实现本发明的上述目的。连接系统各部件的信号线路如图4中所示。辅助超高速缓存可驱动L2AHOLD和L2BOFF #,它们分别和作为系统控制器的输出量的SAHOLD及SBOFF #进行“或”运算及“反或”运算。
当系统控制器想执行刷新操作时,系统控制器把FLUSH #认定为低电平,这也由辅助超高速缓存检测出并迫使超高速缓存把L2AHOLD认定为高电平,以迫使CPU浮动其地址总线并防止CPU进入随后的会消耗一定数量总线周期的任务。但如在前一种实施方式中所述那样,如果CPU正在执行一个对历史敏感的任务,则CPU不必在辅助超高速缓存认定L2AHOLD之后立即放弃总线。
尽管CPU把SMIACT #驱动成低电平,辅助超高速缓存把L2SMIACT #保持在其电平上。这防止系统控制器把存储体从标准存储器切换到SMRAM,以确保把数据回写到它所属于的正确存储器上。换言之,当一个系统应用双方式时,SMIACT #是一个把一种方式切换到另一种方式的信号,并且若直接向系统控制器传送SMIACT #的改变,则系统控制器设想运行模式已经改变并切换存储体,因而造成向错误存储体进行回写。如果不由辅助超高速缓存控制而直接向系统控制器传送SMIACT#则会出现这种情况。从而,如图4中所示,SMIACT #由辅助超高速缓存拦截,以通过把L2SMIACT #保持在相同电平上使系统控制器认为方式尚未改变。以这种方法,系统控制器认为方式没有改变从而不切换存储体,所以辅助超高速缓存里的数据成功地回写到标准RAM,实现数据的一致性。
该机制将遵照两种情况中的一种:
(i)CPU不在辅助超高速缓存认定L2AHOLD的同时认定ADS #,或者
(ii)在认定L2AHOLD的同时,CPU认定ADS #。ADS #是由CPU、辅助超高速缓存和系统控制器生成的一个信号,告诉系统的其它部件请求总线。图2和4中ADS #的功能实质上类似。当在辅助超高速缓存希望启动回写操作的时刻CPU不想使用总线,即意味着不和L2AHOLD同时认定ADS #,则遵照情况1。当在辅助超高速缓存想要启动回写阶段的同一时刻CPU希望使用总线时,即意味着同时认定ADS #和L2AHOLD,则遵照情况2。换言之,情况2是来自CPU和辅助超高速缓存的两个总线访问请求相冲突的情况。
对于情况1,其时序图如图5中所示。
a)在周期1系统控制器认定FLUSH #。这是系统控制器通知CPU启动刷新操作。在周期1的结尾处辅助超高速缓存也检测出FLUSH #。
b)当辅助超高速缓存检测出FLUSH #为低电平时,它在周期2把L2AHOLD驱动到高电平以使CPU在下一个周期浮动地址总线。对L2AHOLD和SAHOLD进行“或”运算并作为AHOLD馈送给CPU。
c)如果CPU不启动下一个总线周期,则可启动回读操作。这是通过已提到的ADS #检测的。如果在周期2中CPU不和AHOLD同时把ADS#驱动成低电平,辅助超高速缓存认定CPU不使用总线,因此可以启动回读阶段,从而在周期3把L2BOFF#驱动成低电平。
d)在周期4辅助超高速缓存成功地启动回读阶段(ADS #由辅助高速缓存驱动)。
e)应该注意,尽管在周期2中SMIACT #被认定成低电平,但是辅助超高速缓存并不相应地把L2SMIACT #认定成低电平。这表明即使运行方式已改变,也可以对适当的存储器实现回写操作。更详细地说,FLUSH #是由系统控制器在要求改变运行方式时认定的。该信号使CPU在相继的同期中把SMAICT #认定为低电平,这通知辅助超高速缓存运行方式发生变化。只要辅助超高速缓存确认步骤(a)至(d)的CPU阶段已结束它立即开始回写周期,但因为在本阶段辅助超高速缓存没有把L2SMIACT #认定成低电平,因此没有通知系统控制器运行方式的改变,从而系统控制器不切换被回写的存储体。这造成辅助超高速缓存把信息回写到原始所驻留的原始存储体上或者把信息回写到CPU想要存储成该信息的存储体上。在把回写周期应用到双运行方式系统的情况下,这种推迟SMIACT #对L2SMIACT #的切换是本发明的关键之处。
同样,通过进行所述的操作,保证CPU不在周期3中把ADS #驱动成低电平,因为在先前的周期中AHOLD是高电平的。
对于情况2,这是来自CPU的和来自辅助超高速缓存的两个总线请求相互冲突的情况,如图6所示,应对情况2的操作按下述修改。如所述,这是一种同时认定ADS #和AHOLD的情况,其中ADS #是来自CPU的总线请求信号,而AHOLD是来自辅助超高速缓存或者来自系统核心的总线请求。
前两个步骤是相同的,这两个步骤是:
a)在周期1系统控制器认定FLUSH #。这是系统控制器通知CPU启动刷新操作。在周期1的结尾处该FLISH #也由辅助超高速缓冲检测。
b)当辅助超高速缓存检测出FLUSH #为低电平时,它在周期2中把L2AHOLD驱动成高电平以使CPU在下一个周期浮动地址总线。L2AHOLD和SAHOLD进行“或”运算并且按AHOLD馈送给CPU,以告诉CPU辅助超高速缓存希望为回写阶段占用总线。
但在本情况下,恰好ADS #和AHOLD同时被认定,这与情况1中的状况是不同的,从而出现如下的修改步骤:
c)在周期2中和AHOLD处于高电平的同时,CPU把ADS #驱动成低电平。AHOLD保持高电平直至RDY #变成低电位,RDY #变成低电位表示CPU完成利用总线的现行任务。应该注意,该RDY #指示CPU占用总线的结束。
d)当在周期4的结尾处辅助超高速缓存检测出RDY #变成低电平时,AHOLD和BOFF #同时下跌。
e)接着在周期4辅助超高速缓存成功地启动回写阶段(WBADS#)。至于SMIACT #和L2SMIACT #之间的关系,则和情况1的关系完全相同。
通过进行上述的操作,保证CPU在周期5不会把ADS #驱动为低电平,因为在周期4 AHOLD是高电平的。应该注意,尽管该实施方式是根据双方式系统叙述的,但它也可以应用于单方式系统。
尽管所说明的本发明的实施方式是最佳的实现,熟练的技术人员可理解可进行各种可能的修改。从而,本发明有权利得到权利要求书的全部范围内的保护。
Claims (5)
1.一种计算机存储器系统,包括:一个CPU、一个系统控制器和一个经过总线与所述CPU和所述系统控制器连接的超高速缓冲存储器,其特征在于具有:
第一信号,由所述系统控制器向所述CPU和所述超高速缓冲存储器产生,用于刷新所述超高速缓冲存储器的内容;
第二信号,响应于所述第一信号,由所述超高速缓冲存储器向所述CPU产生,用于请求所述CPU释放所述总线;
第三信号,响应于所述第二信号,由所述CPU向所述超高速缓冲存储器产生,用于向所述超高速缓冲存储器通知CPU已经释放了所述总线,所述第三信号并不传送到所述系统控制器,从而所述超高速缓冲存储器先于所述系统控制器检测到所述CPU已经释放了所述总线;以及
第四信号,在所述超高速缓冲存储器完成了一次刷新操作之后,由所述超高速缓冲存储器向所述系统控制器产生。
2.根据权利要求1的计算机存储器系统,其特征在于具有:第五信号,由所述系统控制器产生,并且与所述第二信号进行“或”运算,用于请求所述CPU释放所述总线。
3.根据权利要求2的计算机存储器系统,其特征在于所述第五信号也被送到所述超高速缓冲存储器。
4.一种计算机存储器系统,具有:一个CPU、一个系统控制器以及一个经过总线与所述CPU和所述系统控制器连接的超高速缓冲存储器,所述存储器系统以多种方式工作,每种方式使用多个物理上不同的主存储空间中的一种相关的主存储空间,多个物理上不同的主存储空间在全部逻辑地址区域的至少一部分中具有共同的逻辑地址,其特征在于具有:
一个由所述CPU产生的信号,该信号请求由所述超高速缓冲存储器中断正被切换的所述方式,以防止所述系统控制器在所述超高速缓冲存储器已经完成超高速缓冲存储器刷新之前检测到所述信号,从而所述超高速缓冲存储器防止所述CPU在所述超高速缓冲存储器的刷新已经完成之前切换所述方式。
5.根据权利要求4的计算机存储器系统,其特征在于所述超高速缓冲存储器系统将所述超高速缓冲存储器的内容回写到在方式切换之前该存储器系统通常所在的先前方式下所访问的主存储器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN95194319A CN1096640C (zh) | 1995-06-08 | 1995-06-08 | 计算机存储器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN95194319A CN1096640C (zh) | 1995-06-08 | 1995-06-08 | 计算机存储器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1154167A CN1154167A (zh) | 1997-07-09 |
CN1096640C true CN1096640C (zh) | 2002-12-18 |
Family
ID=5082663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95194319A Expired - Fee Related CN1096640C (zh) | 1995-06-08 | 1995-06-08 | 计算机存储器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1096640C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6799264B2 (en) * | 2001-02-20 | 2004-09-28 | Koninklijke Philips Electronics N.V. | Memory accelerator for ARM processor pre-fetching multiple instructions from cyclically sequential memory partitions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0309994A2 (en) * | 1987-09-28 | 1989-04-05 | Compaq Computer Corporation | Method and apparatus for implementing memory coherency |
EP0377296A2 (en) * | 1989-01-04 | 1990-07-11 | Compaq Computer Corporation | Cache coherency control when programmable option selection (POS) and memory expansion |
-
1995
- 1995-06-08 CN CN95194319A patent/CN1096640C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0309994A2 (en) * | 1987-09-28 | 1989-04-05 | Compaq Computer Corporation | Method and apparatus for implementing memory coherency |
EP0377296A2 (en) * | 1989-01-04 | 1990-07-11 | Compaq Computer Corporation | Cache coherency control when programmable option selection (POS) and memory expansion |
Also Published As
Publication number | Publication date |
---|---|
CN1154167A (zh) | 1997-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1138212C (zh) | 计算机系统中对功能卡实现无破坏性带电插入和拔出的方法和系统 | |
CN1273891C (zh) | 最小单位地更新多个文件的方法 | |
CN1248118C (zh) | 以推测方式使高速缓存中的缓存行失效的方法及系统 | |
CN101317160B (zh) | 软件辅助的嵌套硬件事务 | |
US8055872B2 (en) | Data processor with hardware accelerator, accelerator interface and shared memory management unit | |
CN1024599C (zh) | 用以保持高速缓冲存储器完整性的方法与装置 | |
CN1945557A (zh) | 处理页面复制期间的dma操作的存储控制器和方法 | |
JPH06309224A (ja) | データ・ページの制御方法及びデータ処理システム | |
JP2010157130A (ja) | メモリシステム | |
CN1959644A (zh) | 在数据处理系统中仲裁线程访问共享资源的系统和方法 | |
CN1866230A (zh) | 具等待机制的存储器仲裁器 | |
CN110347611B (zh) | 存储器系统和存储器系统的操作方法 | |
TW518464B (en) | A method and apparatus to perform a round robin and locking cache replacement scheme | |
US5588128A (en) | Dynamic direction look ahead read buffer | |
JP2002354217A (ja) | 画像形成装置および画像形成方法 | |
TW200400436A (en) | Method, apparatus, and computer program product for migrating data subject to access by input/output devices | |
CN1096640C (zh) | 计算机存储器系统 | |
CN116450216A (zh) | 共享硬件运算单元的局部缓存方法 | |
KR100246864B1 (ko) | 제2캐시 메모리를 위한 캐시 플러시 방법 및 캐시 메모리를 갖춘 컴퓨터 메모리 시스템 | |
US6938118B1 (en) | Controlling access to a primary memory | |
US7003637B2 (en) | Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests | |
JPH1011348A (ja) | Dramの制御装置およびそのdram | |
JPS63292348A (ja) | データ処理装置 | |
JP3808525B2 (ja) | ライト及び/もしくはリードアクセス優先順位管理装置 | |
US20150143387A1 (en) | Dynamic linking and loading of post-processing kernels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |