【技术实现步骤摘要】
提交高速缓存行的方法和指令高速缓存
本专利技术一般涉及处理器性能,更具体地涉及进行零时钟提交(zeroclockretire)的指令高速缓存(icache),其中在零时钟提交期间,将存储在响应缓冲器中的高速缓存行在不插入时间延迟的情况下写入icache阵列中。
技术介绍
为了提高性能和效率,处理器通常包括一个以上级别的高速缓冲存储器,其中该高速缓冲存储器在本地存储从外部存储器中取得的信息以供处理电路更快速地访问。本文使用的术语“处理器”指代任意类型的处理单元,包括微处理器、中央处理单元(CPU)、一个或多个处理核和微控制器等。本文所使用的术语“处理器”还包括任意类型的处理器配置,诸如集成在芯片或集成电路(IC)上的处理单元等,这些处理单元包括内置于芯片系统(SOC)等的处理单元。在处理器从外部系统存储器请求的信息位于内部高速缓存中且引起高速缓存命中的情况下,将以减小的等待时间(latency)取得该信息,否则发生高速缓存未命中,并且从与内部高速缓冲存储器相比具有更长的等待时间的更高的高速缓存级和/或系统存储器中取得该信息。随着处理继续且随着内部处理器高速缓存被填充 ...
【技术保护点】
一种用于从处理器的响应缓冲器阵列向指令高速缓存阵列提交高速缓存行的方法,包括:在连续的时钟周期期间,向所述指令高速缓存阵列和所述响应缓冲器阵列提供多个循序地址;在第一时钟周期期间,检测命中所述响应缓冲器阵列的第一地址;在所述第一时钟周期之后的第二时钟周期期间,进行第一零时钟提交以从所述响应缓冲器阵列向所述指令高速缓存阵列写入第一高速缓存行;以及在所述第二时钟周期期间,使包括所述多个循序地址其中之一的第二地址旁路而不提供至所述指令高速缓存阵列。
【技术特征摘要】
2016.11.14 US 15/350,356;2016.11.30 US 15/364,4871.一种用于从处理器的响应缓冲器阵列向指令高速缓存阵列提交高速缓存行的方法,包括:在连续的时钟周期期间,向所述指令高速缓存阵列和所述响应缓冲器阵列提供多个循序地址;在第一时钟周期期间,检测命中所述响应缓冲器阵列的第一地址;在所述第一时钟周期之后的第二时钟周期期间,进行第一零时钟提交以从所述响应缓冲器阵列向所述指令高速缓存阵列写入第一高速缓存行;以及在所述第二时钟周期期间,使包括所述多个循序地址其中之一的第二地址旁路而不提供至所述指令高速缓存阵列。2.根据权利要求1所述的方法,其中,在所述第二时钟周期期间,进行第一零时钟提交和进行旁路的步骤包括:将所述指令高速缓存阵列切换到写入周期;选择所述响应缓冲器阵列的响应缓冲器;在取消选择所述第二地址的地址索引的情况下,将来自所选择的响应缓冲器的地址索引提供至所述指令高速缓存阵列的索引输入;将来自所选择的响应缓冲器的路值提供至所述指令高速缓存阵列的路输入;以及将来自所选择的响应缓冲器的标签地址和所述第一高速缓存行提供至所述指令高速缓存阵列的相应输入。3.根据权利要求2所述的方法,其中,选择所述响应缓冲器阵列的响应缓冲器的步骤包括:选择用于存储所述第一地址的响应缓冲器。4.根据权利要求2所述的方法,其中,选择所述响应缓冲器阵列的响应缓冲器的步骤包括:选择用于存储所述第一地址以外的地址的响应缓冲器。5.根据权利要求2所述的方法,其中,在取消选择所述第二地址的地址索引的情况下,将来自所选择的响应缓冲器的地址索引提供至所述指令高速缓存阵列的索引输入的步骤包括:控制用于在所选择的响应缓冲器的地址索引和所述多个循序地址的地址索引之间进行选择的选择逻辑。6.根据权利要求1所述的方法,其中,还包括:在所述第二时钟周期之后的后续时钟周期期间,检测命中所述响应缓冲器阵列的所述第二地址;以及在所述后续时钟周期期间,从所述响应缓冲器阵列的所选择的响应缓冲器开始读取周期。7.根据权利要求1所述的方法,其中,还包括:在所述第二时钟周期之后的第三时钟周期期间,检测所述第二地址是否命中所述响应缓冲器阵列;在所述第三时钟周期之后的第四时钟周期期间,检测第三地址是否命中所述响应缓冲器阵列;以及在所述第四时钟周期之后的第五时钟周期期间,进行第二零时钟提交以从所述响应缓冲器阵列向所述指令高速缓存阵列写入第二高速缓存行。8.根据权利要求1所述的方法,其中,还包括:在所述第二时钟周期之后的第三时钟周期期间,检测所述第二地址是否未命中所述响应缓冲器阵列;在备份所述第二地址的情况下临时暂停多个循序地址的提供;以及在重新开始多个循序地址的提供的情况下,再次向所述指令高速缓存阵列和所述响应缓冲器阵列提供所述第二地址。9.根据权利要求1所述的方法,其中,还包括:检测未命中所述指令高速缓存阵列且同样未命中所述响应缓冲器阵列的当前地址;通过所述指令高速缓存阵列来提供用于指示所述指令高速缓存阵列内的位置的第一路值;在保持所述当前地址的情况下临时暂停进行连续的读取周期;分配所述响应缓冲器阵列的第一响应缓冲器;在所述第一响应缓冲器内存储所述当前地址和所述第一路值;使用所述当前地址从外部存储器请求当前高速缓存行;在取得所述当前高速缓存行时,将取得的高速缓存行存储到所述第一响应缓冲器中;以及重新开始多个循序地址的提供。10.根据权利要求9所述的方法,其中,还包括:使所述当前地址递增一个高速缓存行以提供下一地址;提供所述下一地址以搜索所述指令高速缓存阵列;在所述下一地址未命中所述指令高速缓存阵列时,提供第二路值并使用所述下一地址从所述外部存储器请求下一高速缓存行;分配所述响应缓冲器阵列的第二响应缓冲器;在所述第二响应缓冲器中存储所述下一地址和所述第二路值;在取得所述下一高速缓存行时,将所述下一高速缓存行存储到所述第二响应缓冲器中。11.一种用于处理器的指令高速缓存,其包括:地址生成器,用于提供多个循序地址;响应缓冲器系统,用于接收所述多个循序地址,并且包括:多...
【专利技术属性】
技术研发人员:布兰特·比恩,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。