[发明专利]具有第一协议域和第二协议域的数据处理装置及其方法有效
申请号: | 201280071045.7 | 申请日: | 2012-03-02 |
公开(公告)号: | CN104145251B | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 威廉·亨瑞·佛兰德斯;拉玛穆尔西·古鲁·普拉萨哈;阿肖克·库玛尔·图马拉;詹姆师德·加拉;潘尼德拉·库玛·曼娜瓦 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F12/0831 | 分类号: | G06F12/0831 |
代理公司: | 北京东方亿思知识产权代理有限责任公司11258 | 代理人: | 李晓冬 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 第一 协议 第二 数据处理 装置 及其 方法 | ||
技术领域
本发明涉及数据处理领域,更特别地,本发明涉及包括具有不同协议用于处理写请求和探听请求的第一协议域和第二协议域的数据处理装置。
背景技术
数据处理装置可以在多个位置储存同一数据的不同版本。例如,两个设备可以各自具有本地缓冲器,并且每个缓冲器可以同时保持与内存中同一地址关联的数据的多个版本。一致性协议(例如,MESI协议)可以被用于确保同一数据的多个版本的一致性。一致性协议可以使用写请求和探听请求来保持一致性。例如,储存有数据值的本地版本的设备可以发出写请求以请求将本地版本写入另一位置(比如内存)。然后其它设备可以从其它位置访问更新过的本地版本。或者,如果设备要求访问特定数据值,则它可以向其它设备发出探听请求以检查那些设备是否储存有该数据的本地版本,如果是,则要求访问本地版本。因此,使用写请求和探听请求数据的一致性可以被维持。
发明内容
从一个方面来看,本发明提供一种数据处理装置,包括:
第一协议域和第二协议域,各自包括至少一个被配置为发出用于将与写目标地址关联的数据的本地版本写入另一位置的写请求并接收用于访问与探听目标地址关联的数据的本地版本的探听请求的设备;以及
桥,被配置为在所述第一协议域和所述第二协议域之间传送所述写请求和所述探听请求;
其中所述第一协议域被配置为在写进程协议下操作,其中,如果挂起的写请求的所述写目标地址和挂起的探听请求的所述探听目标地址一样,则所述挂起的探听请求被阻塞直到所述挂起的写请求被服务;
所述第二协议域被配置为在探听进程协议下操作,其中,如果挂起的写请求的所述写目标地址和挂起的探听请求的所述探听目标地址一样,所述挂起的写请求被阻塞直到所述挂起的探听请求被服务;
所述桥被配置为检测死锁状态,在所述死锁状态下,由所述第一协议域向所述第二协议域发出的挂起的写请求的所述写目标地址与由所述第二协议域向所述第一协议域发出的挂起的探听请求的所述探听目标地址一样;以及
所述桥被配置为在检测到所述死锁状态时对选定请求做出早期响应,而不用等待所述选定请求被服务,所述选定请求包括所述挂起的写请求或所述挂起的探听请求,所述早期写响应向发出所述选定请求的发出协议域指示所述选定请求已被服务。
如果探听请求和写请求关于同一目标地址挂起,探听请求访问的数据的状态可以不同,取决于在服务探听请求时写请求是否已经被服务。因此,不同协议可以规定不同规则以决定写请求和探听请求中的哪一个被先服务。在探听进程协议中,挂起的写请求被拖延直到挂起的探听请求被服务,而在写进程协议中挂起的探听请求被拖延直到写请求被服务。
本技术认识到在具有使用写进程协议的第一协议域和使用探听进程协议的第二协议域的装置中可能出现死锁状态。如果由第一协议域向第二协议域发出的挂起的写请求的写目标地址和由第二过程向第一协议域发出的挂起的探听请求的探听目标地址一样,则死锁状态发生。在这种状态中,根据写进程协议,第一协议域将拖延挂起的探听请求直到挂起的写请求已经被服务。然而,根据探听进程协议,挂起的写请求不会被服务因为第二协议域将拖延挂起的写请求直到挂起的探听请求已经被服务。
为解决这个问题,连接第一协议域和第二协议域的桥可以检测死锁状态是否已发生。如果死锁状态被检测到,则桥将对挂起的写请求或挂起的探听请求做出早期响应,而不用等待该请求被服务(对其做出早起响应的请求被称为“选定请求”)。早期写响应向发出选定请求的发出协议域指示选定请求已被服务,即使选定请求实际上并没有被服务。由于从发出协议域的角度看选定请求显得已经被服务,因此挂起的写请求和挂起的探听请求中的另一个不再被阻塞,这样发出协议域现在则可以服务另一请求。因此,死锁被解决。
写请求可以包括写回请求(write back request)或写清请求(write clean request)。发出写回请求的设备使它的被写回另一位置的数据的本地版本无效。因此,设备对数据不再具有独有访问,其它设备现在可以不需要与该设备协商即可访问数据。
另一方面,发出写清请求的设备可以保留对被写回到其它位置的数据的独有访问。数据的本地版本将经常被发出写清请求的设备保留。然而,在一些场合设备可以使高速缓存中的数据无效,但是保留独有访问以允许数据被重新载入到高速缓存中而不需要发出探听请求去检查另一设备是否正在储存有相应版本的数据。设备保留独有访问时,如果另一设备希望储存数据的本地版本,则该另一设备将向该设备发出探听请求以请求访问数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280071045.7/2.html,转载请声明来源钻瓜专利网。