[发明专利]用于存储器层次知晓的生产者-消费者指令的装置和方法在审
申请号: | 201180075740.6 | 申请日: | 2011-12-21 |
公开(公告)号: | CN104011694A | 公开(公告)日: | 2014-08-27 |
发明(设计)人: | S·赖金;R·凡伦天;R·萨德;J·Y·曼德尔布莱特;R·夏勒夫;L·诺瓦克夫斯基 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F13/14 | 分类号: | G06F13/14;G06F13/38;G06F12/08 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 存储器 层次 知晓 生产者 消费者 指令 装置 方法 | ||
背景技术
发明领域
本发明一般涉及计算机处理器领域。更具体而言,本发明涉及用于实现用于在处理器中各核之间转移数据的存储器层次知晓的生产者-消费者指令的装置和方法。
相关技术描述
参照图1,在CPU150的两个核101、102以生产者-消费者模式工作并且其中一个核101为生产者且另一个核102为消费者的模型中,它们之间的数据转移如所解说地执行。生产者核101(在该示例中为核0)使用常规存储操作来写入,其初始到达生产者核的级1(L1)高速缓存110(即,数据在最终被转移到级2(L2)高速缓存111、级3(L3)高速缓存112并随后到主存储器100之前首先被复制到L1高速缓存110)。在数据仍存储在生产者核101的L1高速缓存110内时,消费者核102初始地在其自己的L1高速缓存113中检查数据且未命中,随后在其自己的L2高速缓存115中检查数据且未命中,并随后在共享L3高速缓存112中检查数据且未命中。最后,消费者核实现监听协议以监听生产者核101的L1高速缓存110,由此导致命中。随后使用监听协议从生产者的L1高速缓存110中转移数据。
前述办法遭受到低等待时间和低带宽,这是因为执行数据转移操作所需的监听协议没有像标准读/写处理器操作那样被性能优化。现有办法的附加缺点是生产者核的高速缓存被它永远不会消耗的数据所污染,由此驱逐它在将来可能需要的数据。
由此,需要用于在CPU的各核之间交换数据的更高效机制。
附图说明
可结合附图从以下详细描述中获得对本发明的更好理解,其中:
图1解说了用于在CPU的两个核之间交换数据的现有技术处理器架构。
图2解说了根据本发明一个实施例的用于在CPU的生产者核与消费者核之间交换数据的处理器架构。
图3解说了用于在CPU的生产者核与CPU的消费者核之间交换数据的方法的一个实施例。
图4解说了可在其上实现本发明的各实施例的计算机系统。
图5解说了可在其上实现本发明的各实施例的另一计算机系统。
图6解说了可在其上实现本发明的各实施例的另一计算机系统。
具体实施方式
在下面的描述中,出于说明目的,阐述了众多具体细节以便提供对以下描述的本发明的实施例的全面理解。然而,对本领域技术人员将显而易见的是,没有这些具体细节中的一些也可实施本发明的诸实施例。在其他实例中,众所周知的结构和设备以框图形式示出,以避免淡化本发明的实施例的底层原理。
在一个实施例中,当在中央处理单元(CPU)内从生产者核向消费者核转移数据时,如同在现有实现中一样,生产者核不会将该数据存储在其自己的L1高速缓存中。确切而言,生产者核将执行指令以导致数据被存储在两个CPU核共用的最高高速缓存级。例如,如果生产者核与消费者核两者均能读/写访问级3(L3)高速缓存(有时也称为较低级高速缓存),则L3高速缓存被用来交换数据。然而,注意,本发明的底层原理不限于用于交换数据的任何特定高速缓存级的使用。
如图2中所解说的,本发明的一个实施例在多核中央处理单元(CPU)250的上下文内实现。出于简单起见,本发明的此实施例的细节针对两个核201-202示出,但底层原理等同地应用于CPU250的所有核。消费者核201和生产者核202分别具有专用L1高速缓存201和202、分别具有专用L2高速缓存211和215、以及共用的L3高速缓存222和主存储器100。
在操作中,生产者核201(在此示例中为核0)的核-核生产者-消费者逻辑211a初始地将要被交换的数据写到CPU250内的填充缓冲器251。高速缓存(诸如分别为L1、L2和L3高速缓存212、213和214)在固定大小(在一个特定实施例中为64字节)的高速缓存线中工作,而典型存储操作在大小上可从1字节变化到64字节。在一个实施例中,填充缓冲器251被用来组合多个存储直至完整的高速存储线被填充且随后数据在各高速缓存级之间移动。因此,在图2中示出的示例中,数据被写入到填充缓冲器251直至等于完整高速缓存线的量被存储。驱逐循环随后被生成,并且数据从填充缓冲器251移至L2高速缓存211并随后从L2高速缓存移至L3高速缓存222。然而,与现有实现形成对比,从填充缓冲器发源到L2和L3高速缓存的驱逐循环所附属的属性使得L3高速缓存222保持数据的副本以用于与消费者核202的数据交换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180075740.6/2.html,转载请声明来源钻瓜专利网。