【技术实现步骤摘要】
【国外来华专利技术】利用排除区域的DSB操作
技术介绍
[0001]本公开整体涉及集成电路,并且更具体地涉及数据同步屏障(DSB)操作。
[0002]相关技术描述
[0003]现代计算机系统通常包括耦接到各种存储器设备(例如,随机存取存储器(RAM)、具有其自己的存储器的图形处理单元等)的多个处理器。在操作期间,那些处理器执行指令以实现各种软件例程,诸如用户软件应用程序和操作系统。作为实现这些软件例程的一部分,处理器通常检索数据、操纵数据、然后将该数据存储回到耦接到处理器的各种存储器设备中的一个存储器设备。为了管理数据,处理器执行加载/存储操作。加载操作将数据从存储器设备读取到处理器中,而存储操作将数据从处理器写入到存储器设备(尽管包括高速缓存的具体实施可在高速缓存中完成给定的加载或存储操作)。作为示例,处理器可执行加载操作以将数据从外围设备(例如,网卡)读取到处理器中。
技术实现思路
[0004]公开了与实现DSB操作相关的各种实施方案,该DSB操作可在不必完成以限定的排除存储区域为目标的所有未解决的加载/存储操作的情况下完成。一般来讲,片上系统(SOC)包括被配置为执行加载/存储操作的处理器,这些加载/存储操作可涉及向外部存储器(诸如外围设备的存储器和/或系统存储器)发出对数据的请求。在操作期间,第一处理器可响应于执行数据屏障指令而向第二处理器发出DSB操作请求。基于从该第一处理器接收到该DSB操作请求,该第二处理器可确保由第二处理器执行的指向排除区域之外的地址的未解决的加载/存储操作已经完成。在一些情况下,该排除区域 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:多个处理器,其中所述多个处理器各自包括能够编程以限定存储器地址空间的排除区域的一个或多个寄存器,并且其中所述多个处理器通信地耦接,其中:所述多个处理器中的第一处理器被配置为响应于执行数据屏障指令而发出第一数据屏障操作请求;所述多个处理器中的第二处理器被配置为基于从所述第一处理器接收到所述第一数据屏障操作请求:确保由所述第二处理器执行的指向所述排除区域之外的地址的未解决的加载/存储操作已经完成;并且向所述第一处理器回应所述第一数据屏障操作请求在所述第二处理器处完成,即使在指向所述排除区域内的地址的一个或多个加载/存储操作是未解决的且在所述第二处理器回应所述第一数据屏障操作请求完成时未完成的情况下。2.根据权利要求1所述的系统,其中所述第二处理器被配置为:将加载/存储操作与标识所述加载/存储操作是否指向所述排除区域内的地址的指示相关联,其中为了确保指向所述排除区域之外的地址的所述未解决的加载/存储操作已经完成,所述第二处理器被进一步配置为确定是否存在以下未解决的加载/存储操作,所述未解决的加载/存储操作具有标识所述未解决的加载/存储操作指向所述排除区域之外的地址的指示。3.根据权利要求1所述的系统,其中所述第二处理器被配置为:基于由未解决的加载/存储操作标识的地址和与所述排除区域相关联的地址范围之间的比较来确定所述未解决的加载/存储操作是否指向所述排除区域内的地址。4.根据权利要求1所述的系统,其中所述第二处理器被配置为响应于接收到第二数据屏障操作请求而执行以下操作,其中所述第二数据屏障操作请求指示所述第二处理器在考虑何时响应所述第一处理器时包括指向所述排除区域内的地址的未解决的加载/存储操作:确保由所述第二处理器执行的所有未解决的加载/存储操作已经完成;并且向所述第一处理器回应所述第二数据屏障操作请求在所述第二处理器处完成。5.根据权利要求1所述的系统,其中所述第二处理器被配置为:在处理所述第一数据屏障操作请求时,从所述多个处理器中的第三处理器接收第二数据屏障操作请求;并且响应于所述第二数据屏障操作请求为与所述第一数据屏障操作请求不同类型的,并发地处理所述第一数据屏障操作请求和所述第二数据屏障操作请求。6.根据权利要求1所述的系统,其中所述第二处理器被配置为:在处理所述第一数据屏障操作请求时,从所述多个处理器中的第三处理器接收第二数据屏障操作请求;并且响应于所述第二数据屏障操作请求为与所述第一数据屏障操作请求相同类型的,串行地处理所述第一数据屏障操作和所述第二数据屏障操作。7.根据权利要求1所述的系统,其中所述排除区域包括映射到所述多个处理器外部的I/O设备的一组地址。
8.根据权利要求1所述的系统,其中所述第一处理器被配置为发出两种不同类型的数据屏障操作请求,并且其中所述第二处理器被配置为:保持第一刷新指针和第二刷新指针,所述第一刷新指针和所述第二刷新指针中的每个刷新指针标识将在那里刷新所述第二处理器的加载/存储单元的相应加载/存储操作;响应于检测到所述第一数据屏障操作请求是所述两种不同类型中的第一类型,在所述第一刷新指针处刷新所述加载/存储单元;并且响应于检测到所述第一数据屏障操作请求是所述两种不同类型中的第二类型,在所述第二刷新指针处刷新所述加载/存储单元。9.根据权利要求8所述的系统,其中所述第二处理器被配置为:响应于完成未解决的加载/存储操作,修改所述第一刷新指针以标识按照指令顺序紧接在所述未解决的加载/存储操作之后发生的加载/存储操作。10.根据权利要求8所述的系统,其中所述第二处理器被配置为:响应于发起指向所述排除区域内的地址的加载/存储操作,将所述第一刷新指针设定为允许所述第二处理器在所述第一刷新指针处刷新所述加载/存储单元的有效状态。11.一种方法,包括:由第一处理器从第二处理器接收第一数据屏障操作请求;基于从所述第二处理器接收到所述第一数据屏障操作请求,所述第一处理器确保由所述第一处理器执行的指向排除区域之外的地址的未解决的加载/存储操作已经完成;并且由所述第一处理器向所述第二处理器回应所述第一数据屏障操作请求在所述第一处理器处完成,即使在指向所述排除区域内的地址的一个或多个加载/存储操作是未解决的且在所述第一处理器回应...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。