【技术实现步骤摘要】
本专利技术涉及一种微处理器的快取存储器,特别是涉及一种其内区分为堆栈存储器与非堆栈存储器存取的快取存储器。
技术介绍
微处理器是一种数字装置,用以执行电脑程序的指令。一典型的电脑系统包括一微处理器,其连接一系统存储器,而系统存储器储存程序指令及将被程序指令处理的数据(即资料,以下均称为数据)。如此一系统的运作受限于如下事实从系统存储器读取数据进入微处理器,或自微处理器将数据写入系统存储器所需的时间,远长于微处理器执行处理这些数据的指令所需的时间。此一时间差常在一到二个级数之间。因此,在等待存储器(即内存、存储器,以下均称为存储器)读取或写入数据时,微处理器是处于闲置状态而无事可做。微处理器的设计者长久以来就认识到以下一个事实程序倾向于在相对较长的时间内存取相对较小的一部份数据,例如频繁地存取程序变数。具有此一特征的程序被称为具有良好的时间局部性(temporal locality),此一特征被称为存储存取局部性原理(the locality of reference principle)。为了利用此一原理,典型的现代微处理器通常包括一个或多个快取存储器。快取存储器或快取,在电气上接近微处理器的核心,且为相对较小的存储器,用于暂时性地储存数据内容的一部份,这些数据通常常驻于较大且较远离微处理器的核心的存储器,例如系统存储器。进行数据的快取操作是将数据存入快取的储存元件中,然后,比起自较远的存储器提供数据,自该快取存储器可以较快的速度提供数据。当微处理器执行一存储器读取指令,如载入或弹出指令,微处理器先检查所要的数据是否出现在快取存储器,即要读取的地址是 ...
【技术保护点】
一种自堆栈快取存储器进行快速推测性弹出操作的装置,其特征在于,其包括:一后入先出(last-in-first-out)存储器,该后入先出存储器用于快取压入(push)指令的目位置相关的快取单位(cacheline)的数据,该后入 先出存储器并具一顶层(topentry),用以储存最新的压入(push)指令的目的地址相关的一快取单位;一输入单元,连接该后入先出存储器,该输入单元用于指示:一自该快取存储器要求数据的指令是一指定该数据来源地址的弹出(pop)指 令;以及逻辑单元,连接该输入单元,该逻辑单元用于回应该输入单元,并在决定该来源地址与储存在该顶层的快取单位的地址是否匹配之前,控制该后入先出存储器推测性地自该顶层提供该数据至该弹出指令。
【技术特征摘要】
US 2004-1-16 10/759,5591.一种自堆栈快取存储器进行快速推测性弹出操作的装置,其特征在于,其包括一后入先出(last-in-first-out)存储器,该后入先出存储器用于快取压入(push)指令的目位置相关的快取单位(cache line)的数据,该后入先出存储器并具一顶层(top entry),用以储存最新的压入(push)指令的目的地址相关的一快取单位;一输入单元,连接该后入先出存储器,该输入单元用于指示一自该快取存储器要求数据的指令是一指定该数据来源地址的弹出(pop)指令;以及逻辑单元,连接该输入单元,该逻辑单元用于回应该输入单元,并在决定该来源地址与储存在该顶层的快取单位的地址是否匹配之前,控制该后入先出存储器推测性地自该顶层提供该数据至该弹出指令。2.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,还包括一比较器,连接该逻辑单元,在该逻辑单元控制该后入先出存储器推测性地提供该数据至该弹出指令之后,该比较器用于比较该来源地址与储存在该顶层的快取单位的地址。3.根据权利要求2所述的堆栈快取存储器的装置,其特征在于,还包括一输出单元,连接该逻辑单元,如果该比较器指示该弹出指令的该来源地址与储存在该顶层的该快取单位的地址不匹配,该输出单元用于指示该后入先出存储器不正确地推测性提供该数据至该弹出指令。4.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,其中所述的弹出指令包括一指令,其用于自一系统存储器的堆栈弹出该数据,而该系统存储器连接一包括此快取存储器的微处理器。5.根据权利要求4所述的堆栈快取存储器的装置,其特征在于,其中所述的堆栈的地址包括有最新压入指令的目的地址、弹出指令的来源地址包括在该堆栈地址,而该堆栈地址是在该系统存储器上、或自该弹出数据的返回地址。6.根据权利要求4所述的堆栈快取存储器的装置,其特征在于,其中所述的快取单位包括多个字节的数据,这些字节数目等于能在快取存储器与该系统存储器之间传递的最小字节数目。7.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,其中所述的快取单位包括一第一字节组的数据,其中提供给该弹出指令的该数据包括一第二字节组的数据,且其中该第一字节组的字节数至少二倍于该第二字节组的字节数。8.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,其中所述的快取自该快取存储器的该快取单位的数据与一包括该快取存储器的系统的其他存储器保持一致性。9.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,其还包括一偏移量,供应该逻辑单元,该偏移量用于指定位于该顶层的快取单位的数据的位置,而该数据是由最新的压入指令所定。10.根据权利要求9所述的堆栈快取存储器的装置,其特征在于,其中所述的逻辑单元控制该后入先出存储器,推测性地自该顶层的快取单位的数据的地址,提供该数据,而该地址是由该偏移量所定。11.根据权利要求10所述的堆栈快取存储器的装置,其特征在于,其中,如果为回应该弹出指令,而更新该偏移量,致使该偏移量绕越该顶层的快取单位,该逻辑单元将令该后入先出存储器移出其内的该顶层。12.根据权利要求9所述的堆栈快取存储器的装置,其特征在于,其中,如果在存入该最新的压入指令所定的该数据之前,更新该偏移量,致使该偏移量绕穿该顶层的快取单位,该逻辑单元将令该后入先出存储器下移,因而产生一新的顶层,其中该逻辑单元将由该最新的压入指令所定的该数据存入该新的顶层中由该偏移量所定的地址。13.根据权利要求9所述的堆栈快取存储器的装置,其特征在于,其还包括一算术单元,连接该逻辑单元,该算术单元用于更新该偏移量。14.根据权利要求13所述的堆栈快取存储器的装置,其特征在于,其中所述的算术单元更新该偏移量包括将一由指令所定的运算元加于该偏移量,其中该指令指定该运算元加至一微处理器内的堆栈指针寄存器,而该微处理器包括该快取存储器。15.根据权利要求14所述的堆栈快取存储器的装置,其特征在于,其中,如果该偏移量的更新致使该偏移量绕越该顶层的快取单位,该逻辑单元将令该后入先出存储器移出其内的该顶层。16.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,其中所述的最新的压入指令是指相对于储存于该后入先出存储器的多个该快取单位的数据及尚未被弹出的数据的至少一者为最新。17.根据权利要求1所述的堆栈快取存储器的装置,其特征在于,其中所述的最新压入指令的该目的地址所相关的该快取单位包括一尚未自系统存储器堆栈弹出的最新压入指令的数据。18.一种自堆栈快取存储器进行快速推测性弹出操作的装置,其特征在于,其包括多个第一类储存元件,规划为一随机存取快取存...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。