【技术实现步骤摘要】
用于双存储器原子操作的硬件支持
该专利
一般涉及计算机处理器架构,并且更具体地,涉及对双存储器原子操作(dual-memoryatomicoperations)的新颖硬件支持。
技术介绍
在当今的应用前景中,越来越普遍的是需要同时原子地对两个存储器位置进行操作的软件用例。例如,一些应用需要存储数据(值或指针)以及用于存储相关联的时间戳、状态、标识符或计数的相应元数据。作为另一个示例,许多图工作负荷包含这样的用例,其中数据元素和作为第二元素被保持在存储器中的附加"描述符"需要被原子地联合修改。例如,在单最短源路径(SSSP)算法中,顶点具有距离和前趋。线程一次一个地处理顶点,并根据以下规则来尝试更新顶点的邻居的距离和前趋:如果当前顶点v1的距离加上连接到另一顶点v2的边的权重小于顶点v2的当前距离,则需要更新距离和前趋值二者。重要的是注意到,一次只有单个线程可以写距离和前趋值,否则可能记录错误的路径。为了原子地读或写两个存储器位置,传统方法使用第三存储器位置来实现锁定方案。这种细粒度锁定通常是昂贵 ...
【技术保护点】
1.一种包括多个核的处理器,每个核包括:/n多个多线程流水线(MTP),每个MTP与存储器相关联;原子单元(ATMU),用于执行原子操作;以及写组合缓冲器(WCB),用于管理对所关联的存储器中的高速缓存行的访问和锁定,所述MTP中的每个MTP包括:/n提取级,用于提取指令;/n解码级,用于解码具有用来指定操作码以及第一和第二存储器位置的字段的所述指令,所述操作码调用多个MTP中的第一MTP来向所述多个MTP中的第二MTP发送请求,所述第二MTP用来在所述第一和第二存储器位置上执行原子双存储器操作,所述第二MTP与所述第一存储器位置所映射到的存储器相关联;以及/n执行级,用于 ...
【技术特征摘要】 【专利技术属性】
20190624 US 16/4503001.一种包括多个核的处理器,每个核包括:
多个多线程流水线(MTP),每个MTP与存储器相关联;原子单元(ATMU),用于执行原子操作;以及写组合缓冲器(WCB),用于管理对所关联的存储器中的高速缓存行的访问和锁定,所述MTP中的每个MTP包括:
提取级,用于提取指令;
解码级,用于解码具有用来指定操作码以及第一和第二存储器位置的字段的所述指令,所述操作码调用多个MTP中的第一MTP来向所述多个MTP中的第二MTP发送请求,所述第二MTP用来在所述第一和第二存储器位置上执行原子双存储器操作,所述第二MTP与所述第一存储器位置所映射到的存储器相关联;以及
执行级,用于根据所述操作码执行所述指令;
其中所述第二MTP将使用其关联的ATMU和WCB来执行所述请求。
2.根据权利要求1所述的处理器,其中所述双存储器操作包括读-读,其中第三寄存器用于计算从中将值读到第一寄存器中的第一存储器地址,且计算从中将值读到第二寄存器中的第二存储器地址。
3.根据权利要求1所述的处理器,其中所述双存储器操作包括读-写,其中第三寄存器用于计算从中将值读到第一寄存器中的第一存储器地址,且计算将存储于第二寄存器中的值写到的第二存储器地址。
4.根据权利要求1所述的处理器,其中所述双存储器操作包括写-写,其中第三寄存器用于计算将存储于第一寄存器中的值写到的第一存储器地址,且计算将存储于第二寄存器中的值写到的第二存储器地址。
5.根据权利要求1-4中任一项所述的处理器,其中所述第一和第二存储器位置通过第一和第二存储器地址寻址,且其中所述指令进一步指定在计算所述第二存储器地址中使用的立即数。
6.根据权利要求1所述的处理器,其中所述双存储器操作包括在所述第一和第二存储器位置中的所述第一存储器位置上的原子交换(XC),而在所述第一和第二存储器位置中的所述第二存储器位置上执行五个不同操作中的一个操作,所述五个不同操作包括读(R)、写(W)、原子加(XA)、原子递增(XI)和原子交换(XC)。
7.根据权利要求1-6中任一项所述的处理器,其中所述第一和第二存储器位置在单个高速缓存行内。
8.根据权利要求1-7中任一项所述的处理器,其中所述第一MTP将把所述指令路由到耦合到所述双存储器位置位于其中的存储器的ATMU。
9.根据权利要求1-8中任一项所述的处理器,其中所述指令进一步指定所述第一和第二存储器位置每个的大小。
10.根据权利要求1-9中任一项所述的处理器,其中所述核中的每个包括各自并行处理十六个线程的四个MTP、两个单线程流水线STP、两个一兆字节便笺式存储器SPM及一个2GB封装内存储器IPM。
11.一种由处理器执行的方法,所述处理器包括:多个核,每个核包括多个多线程流水线(MTP),每个MTP与存储器相关联;原子单元(ATMU),用于执行原子操作;以及写组合缓冲器(WCB)用于管理对其关联的存储器中的高速缓存行的访问和锁定,所述方法包括:
初始化所述处理器;
由所述多个MTP中的第一MTP提取指令;
由所述第一MTP解码所述指令,所述指令具有用来指定操作码以及第一和第二存储器位置的字段,所述操作码调用所述第一MTP来向所述多个MTP中的第二MTP发送请求,所述第二MTP用来在所述第一和第二存储器位置上执行原子双存储器操作,所述第二MTP与所述第一存储器位置所映射到的存储器相关联;
由所述第一MTP执行所述指令以向所述第二MTP发送所述请求;以及
由所述第二MTP使用其关联的ATMU和WCB来执行所述请求。
技术研发人员:R鲍洛夫斯基,JB弗里曼,V卡夫,EM施瓦茨,IB加内夫,JM郝华德,A摩尔,S史密斯,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。