【技术实现步骤摘要】
高速缓存行的非对齐加载指令的推测并行执行系统和方法
本专利技术一般涉及一种执行加载指令的进程,以从微处理器的存储器中加载信息,更具体地涉及一种高速缓存行的非对齐加载指令的推测并行执行的系统和方法,以加载跨越高速缓存行边界的数据。
技术介绍
计算机程序包括用于执行程序功能的指令,包括用于从存储器读取数据的加载指令(loadinstructions)。典型的计算机系统包括用于执行指令的微处理器以及耦接到微处理器的、用于存储计算机程序以及可应用的数据和信息的部分的外部系统存储器。从系统存储器加载数据消耗宝贵的处理时间,因此微处理器往往会包括较小的并且显著快速的高速缓存存储器,以加载用于处理的数据。高速缓存存储器典型地包括在微处理器内,以便快速访问。高速缓存存储器可以位于外部,但是,如果这样,通常经由单独的和/或专用的高速缓存总线来连接以获得较高的性能。数据块可以一次拷贝到高速缓存存储器,并且当从高速缓存存储器而非较大的较慢的外部系统存储器进行操作时,微处理器执行得较快且较高效。高速缓存存储器由一顺序序列的高速缓存行构成,其中每一个高速缓存行典型地具有预定长度。例如,高速缓存行通常的尺寸是64字节,但也可考虑替换的高速缓存尺寸。计算机程序可能重复地执行一个或多个加载指令,诸如在一个循环中等等,以从高速缓存存储器中的特定存储器位置加载特定的数据量。每个加载指令可以包括加载地址和数据长度。但是,在软件程序中指定的加载地址可能不是由微处理器用来访问高速缓存存储器的相同的物理地址。诸如基于x86指令集架构的现代的微处理器执行包括分段(segmentation)和分页等的地 ...
【技术保护点】
一种执行高速缓存行非对齐加载指令的推测并行执行的微处理器,包括:预测器,预测加载指令是否是非对齐的;前端,发射指令到调度器,其中当预测器预测所述加载指令是非对齐加载指令的时候,所述前端将所述加载指令标注为非对齐的;非对齐加载派遣器,检测从所述调度器派遣的被标注为非对齐的加载指令,向第一加载流水线派遣所述被标注为非对齐的加载指令,并派遣所述被标注为非对齐的加载指令的副本到第二加载流水线;存储器系统,包括所述第一和第二加载流水线,其中所述存储器系统确定所述被标注为非对齐的加载指令的第一地址以从第一高速缓存行访问第一数据,并确定所述被标注为非对齐的加载指令的所述副本的第二地址以从第二高速缓存行访问第二数据;以及合并逻辑,合并所述第一数据和所述第二数据以提供所述被标注为非对齐的加载指令的结果数据。
【技术特征摘要】
1.一种执行高速缓存行非对齐加载指令的推测并行执行的微处理器,包括:预测器,预测加载指令是否是非对齐的;前端,发射指令到调度器,其中当预测器预测所述加载指令是非对齐加载指令的时候,所述前端将所述加载指令标注为非对齐的;非对齐加载派遣器,检测从所述调度器派遣的所述加载指令是否被标注为非对齐,当从所述调度器派遣的所述加载指令被标注为非对齐时,所述非对齐加载派遣器并行地向第一加载流水线及第二加载流水线派遣所述被标注为非对齐的加载指令;存储器系统,包括所述第一和第二加载流水线,其中所述存储器系统确定所述被标注为非对齐的加载指令的第一地址以从第一高速缓存行访问第一数据,并确定所述被标注为非对齐的加载指令的第二地址以从第二高速缓存行访问第二数据;以及合并逻辑,合并所述第一数据和所述第二数据以提供所述被标注为非对齐的加载指令的结果数据,其中,所述第一加载流水线与所述第二加载流水线是分立的。2.根据权利要求1所述的微处理器,其中所述存储器系统还确认所述被标注为非对齐的加载指令是否是实际上非对齐的,并且提供非对齐指示,以及其中在所述被标注为非对齐的加载指令被确认为是实际上非对齐的时候,确定所述第一地址和所述第二地址。3.根据权利要求2所述的微处理器,其中所述预测器包括:队列,存储已经被确认为是实际上非对齐的每一个加载指令的非对齐指令指针;以及搜索和控制逻辑,从所述前端接收新加载指令的指令指针,并且当在所述队列内发现所述新加载指令的所述指令指针的匹配时,向所述前端提供非对齐检测信号。4.根据权利要求3所述的微处理器,其中当所述新加载指令的所述指令指针与所存储的已经被确认为实际上非对齐的加载指令的所述非对齐指令指针之一匹配时,发现与所述新加载指令的所述指令指针的匹配。5.根据权利要求3所述的微处理器,其中所述搜索和控制逻辑从所述存储器系统接收所述非对齐指示以及相应的非对齐指令指针,并且当所述非对齐指示指示对应的加载指令是实际上非对齐的时候,将所述非对齐指令指针存储到所述队列。6.根据权利要求2所述的微处理器,其中所述预测器包括:队列,存储已经被确认为实际上非对齐的每一个加载指令的非对齐指令指针、前次地址和跳步;搜索和控制逻辑,从所述前端接收新加载指令的指令指针,并且当在所述队列内发现与所述新加载指令的所述指令指针匹配的匹配条目时,提供匹配信号;相加逻辑,使用所述新加载指令的数据长度以及所述匹配条目的相应的前次地址和相应的跳步来确定所述新加...
【专利技术属性】
技术研发人员:邸千力,张俊杰,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。