用于阻隔操作的条件式广播的方法和设备的制作方法

文档序号:6455752阅读:146来源:国知局
专利名称:用于阻隔操作的条件式广播的方法和设备的制作方法
技术领域
本发明大体上涉及计算机领域,且明确地说,涉及一种用于有条件地广播存储器阻 隔总线操作的方法和设备。
背景技术
计算机和其它电子系统和装置在许多应用中执行计算任务。这些系统和装置通常通 过整合多种独立的、特定功能电路或模块(例如处理器、数学协处理器、视频与图形引 擎、DMA控制器、GPS接收器、专用压縮或加密电路等)而越来越多地整合超出直接 计算的功能性。此些装置与存储器之间以及所述装置自身之间的高带宽数据转移对于实 现所需等级的性能来说是关键的。数据通信总线是众所周知的结构,其在处理系统中的 装置或模块之间提供共享通信链路。
共享总线上的装置的常见逻辑二分包括"主"装置和"从属"装置。主装置起始总 线事务,且通常为接入所述总线且在一些系统中为总线带宽的共享而在其自身之间进行 仲裁。从属装置响应由主装置起始的数据转移总线事务,从而响应于写入总线事务而从 主装置接受数据,并响应于读取总线事务而向主装置提供数据。大多数从属装置以对应 的总线事务在共享总线上发生的次序来执行数据转移操作。
在许多情况下,可通过允许数据转移操作(例如,存储器存取)无序执行来优化系 统性能。举例来说,可对存储器操作序列重新排序以允许对存储器中同一页的所有操作 在打开新页之前被执行。允许对存储器操作重新排序的处理系统通常被称为"弱有序" 处理系统。
相反,要求存储器操作看似以与其对应的总线事务相同的次序执行的处理系统被称 为"强有序"处理系统。应注意,强有序系统中的从属装置实际上可不按照总线事务次 序来执行存储器操作,只要存储器状态在任何时间对处理器来说看似存储器操作已经按 序执行。此特性被称为"全域可观测性"。总是以接收的次序执行数据转移操作的简单 从属装置本质上是全域可观测的。可无序执行数据转移操作的其它从属装置"窥探"数 据转移操作地址,并以总线事务次序向相同地址执行数据转移操作。这些类型的从属装置也是全域可观测的。不考虑总线事务次序而执行数据转移操作的从属装置不是全域可 观测的。
在一些情况下,即使在弱有序处理系统中,也必须强制实施数据转移操作次序以确 保正确的操作。举例来说,应用可能要求处理器在所述处理器从存储器位置进行读取之 前将数据写入到存储器。重新排序这些操作将导致在读取操作中返回不正确的数据。
在弱有序处理系统中,已使用各种常规技术来执行经排序的数据转移操作。 一种技 术仅仅是延迟特定数据转移总线事务,直到在其之前的所有数据转移操作均被执行为 止。在先前实例中,处理器可延迟发出读取请求,直到其接收到保证写入操作数据已被 写入到存储器位置的指示为止。强制实施数据转移操作排序的暂停程序执行对性能明显 具冇负而影响。
用于在弱有序处理系统中执行经排序的数据转移操作的另 一 种技术是将执行同步 总线事务界定为总线协议的--部分,也称为"存储器阻隔"。存储器阻隔是总线事务, 其确保在存储器阻隔发出之前由主装置发出的所有数据转移总线事务均在所述存储器 阻隔之后由主装置发出的任何数据转移总线事务之前被执行或看似已经被执行。任何存 储器阻隔均为不涉及主装置与从属装置之间的任何数据转移的总线事务。存储器阻隔操 作可由主装置明确地起始。或者,或另外,存储器阻隔操作可由总线控制器响应于由主 装置起始的强有序数据转移操作而产生。在先前实例中,存储器阻隔事务可由处理器在 发出读取总线事务之前发出。存储器阻隔将确保写入操作(以及任何其它先前发出的数 据转移操作)在读取操作被执行之前执行。2005年10月19日申请的第11/253,307号共 同待决美国专利申请案"在弱有序处理系统中强制实施强有序请求(Enforcing Strongly-Ordered Requests In A Weakly-Ordered Processing System)"中描述存储器阻隔, 所述专利申请案转让给本申请案的受让人,且以全文引用的方式并入本文中。
存储器阻隔在具有多个从属装置的处理系统中可能是低效的。在此些系统中,为了 强制实施排序约束,必须将存储器阻隔事务传播到可由发出强有序数据转移总线事务或 存储器阻隔操作的主装置接入的每个从属装置。在强有序数据转移总线事务或存储器阻 隔操作之后的总线事务被发出之前,必须从所述从属装置中的每一者接收存储器阻隔的 肯定应答。因此,存储器阻隔所强加的延迟由将响应的最缓慢的从属装置确定。这可能 不利地影响性能,特别是在较缓慢的从属装置不考虑存储器阻隔而以总线事务次序执行 数据转移操作的情况下。
2005年10月20日申请的第11/254,939号共同待决美国专利申请案"在弱有序处理 系统中强制实施强有序请求时使存储器阻隔减到最小(Minimizing Memory BarrierWhen Enforcing Strongly-Ordered Requests in a Weakly-Ordered Processing System)"揭示
一种动态地使存储器阻隔减到最小的系统和方法,所述专利申请案转让给本申请案的受 让人,且以全文引用的方式并入本文中。与每一从属装置相关联的状态寄存器在每主装 置基石出上指示从属装置当前是否具有来自所述从属装置可从其接收数据转移总线事务 的每一主装置的待决(未执行)数据转移操作。如果特定从属装置指示其不具有来自特 定主装置的任何待决数据转移操作,那么不需要将来自所述主装置的存储器阻隔传播到 所述从属装置。以此方式,仅在有必要强制实施总线事务排序的情况下传播存储器阻隔。 即,存储器阻隔仅导向具有来自需要强有序数据转移总线事务或存储器阻隔操作的主装 置的待决(先前发出的)数据转移操作的从属装置。
大多数常规系统均包含至少一些固有地提供全域可观测性的从属装置。关于此些从 属装置,无需为了确定是否使存储器阻隔事务导向从属装置而动态地监视所述从属装置 是否具有来自特定主装置的待决数据转移操作。

发明内容
根据本文所揭示的一个或一个以上实施例,确保全域可观测性的从属装置许多"选 择退出"存储器阻隔协议。在各种实施例中,选择退出决策可通过每一从属装置断言一 信号而动态地做出,可通过轮询从属装置中的状态寄存器以查实其全域可观测性而在开 机自我测试(POST)期间在系统范围内设置,可由软件设置,或者所述选择退出决策 可由系统设计者硬连线,使得只有能够执行无序数据转移操作的从属装置才参与所述存 储器阻隔协议。此选择退出决策通过仅视需要将存储器阻隔操作传播到从属装置来改进 系统性能并降低功率消耗,从而消除了与来自全域可观测的从属装置的存储器阻隔肯定 应答相关联的延迟。
--个实施例涉及一种弱有序处理系统。所述系统包含多个从属装置以及两个或两个 以上主装置,每一主装置经配置以使数据转移总线事务导向一个或一个以上从属装置。 所述系统进一步包含总线互连件,所述总线互连件经配置以在主装置与从属装置之间实 施数据转移总线事务,且进一步经配置以响应于来自主装置的强有序数据转移总线事务 请求而使执行同步总线事务导向并非全域可观测的一个或一个以上从属装置。
另一实施例涉及一种总线互连件,所述总线互连件操作以使数据转移总线事务从弱 有序处理系统的一个或一个以上主装置导向两个或两个以上从属装置。所述总线互连件 包含总线寄存器,其操作以使数据转移总线事务请求排成队列;以及控制器,其操作以控制数据转移总线事务从总线寄存器的发出,并进一步操作以响应于来自主装置的强 有序数据转移总线事务请求而向并非全域可观测的一个或一个以上从属装置发出执行 同步总线事务。
又一实施例涉及一种在弱有序处理系统中执行强有序数据转移总线事务的方法,所 述弱有序处理系统包含一个或一个以上主装置以及两个或两个以上从属装置。维持所述 从属装置中的哪些具全域可观测性的指示。响应于来自主装置的强有序数据转移总线事 务请求而向并非全域可观测的一个或一个以上从属装置发出执行同步总线事务。


图1是弱有序处理系统的功能框图2是弱有序处理系统中的总线互连件的功能框图3是用于弱有序处理系统的总线互连件中的控制器的一个实施例的功能框图;以

图4是用于弱有序处理系统的总线互连件中的控制器的另一实施例的功能框图。
具体实施例方式
下文结合所附图式而陈述的具体实施方式
意在作为本发明的各种实施例的描述,且 无意表示本发明可在其中实践的仅有实施例。明确地说,出于阐释的目的,相对于包括 向两个或两个以上存储器控制器发出存储器存取请求的一个或一个以上处理器以及一 总线互连件的处理系统而描述实施例。然而,本发明适用于在共享总线系统中向从属装 置发出数据转移总线事务的任何主装置,且不限于处理器和存储器控制器。
图1是弱有序处理系统的功能框图。可在计算机或其它计算系统(包含便携式电子
装置、嵌入式系统、分布式系统等)中安置处理系统ioo。可将处理系统100实施为集 成电路、离散组件或其任一组合。图1中仅描绘处理系统ioo的为阐释本发明的实施例
所需的那些部分。所属领域的技术人员将认识到如何针对每一特定应用最好地实施处理
系统100。
如图1中所描绘,处理系统IOO包含经由共享总线106与存储器装置104a到104c
通信的处理器102a到102c。任何特定应用所需的处理器和存储器装置的实际数目可视
所需的计算能力和总设计约束而有所不同。总线互连件108可用于使用点到点切换连接
来管理处理器102a到102c与存储器装置104a到104c之间的总线事务。在总线互连件
108的至少一个实施例中,可提供多个直接链路以允许两个或两个以上总线事务同时发
9生。
处理器102a到102c中的一者或一者以上可经配置以在操作系统或其它软件的控制 下执行指令。所述指令可驻存在存储器装置104a到104c的一者或一者以上中。数据也 可存储在存储器装置104a到104c中,并由处理器102a到102c检索以执行某些指令。 从执行这些指令产生的新数据可回写到存储器装置104a到104c中。每一存储器装置 104a到104c可包含存储器控制器(未图示)和存储媒体(未图示),如此项技术中已知。
每一处理器102a到102c可在总线106上具备用于与总线互连件108通信的专用信 道106a到106c。类似地,总线互连件108可使用总线上的专用信道106d到106f与每 一存储器装置104a到104c通信。作为实例,第一处理器102a可通过经由其在总线106 上的专用信道106a发送数据转移总线事务请求来存取目标存储器装置104b。总线互连 件108根据数据转移总线事务请求的地址确定目标存储器装置104b,并经由总线106上 的适当信道106e向目标存储器装置104b发出数据转移总线事务。数据转移总线事务可 以是写入事务、读取事务或任何其它与数据转移有关的总线事务。发端处理器102a到 102c可通过将适当的地址与有效负载放置在总线106上并断言写入启用信号来向冃标存 储器装置104a到104c发出写入事务。发端处理器102a到102c可通过将适当的地址放 置在总线106上并断言读取启用信号来向目标存储器装置104a到104c发出读取事务。 响应于读取请求,目标存储器装置104a到104c将把有效负载发回到发端处理器102a 到102c。发端处理器102a到102c还可发出非数据转移总线事务的总线事务,例如存储 器阻隔事务。
在处理系统100的至少一个实施例中,处理器102a到102c可将属性与每一存储器 存取请求一起传输。所述属性可以是描述数据转移总线事务的性质的任何参数。所述属 性可经由地址信道与地址一起传输。或者,可使用旁带信令或某一其它方法来传输所述 属性。所述属性可用以指示数据转移总线事务请求是否为强有序的。"强有序"请求指 代不能无序执行的数据转移总线事务请求。
总线互连件108可监视来自处理器102a到102c的每一数据转移总线事务请求的属
性。如果属性指示强有序数据转移总线事务请求,那么总线互连件108可对去往接受来
自主装置的总线事务且能够无序执行数据转移总线事务的每一从属装置(强有序数据转
移总线事务所导向的从属装置除外)的事务强制实施排序约束。作为实例,从第一处理
器102a到目标存储器装置104a的数据转移总线事务请求可包含属性。总线互连件108
可根据所述属性来确定事务是否为强有序的。如果总线互连件108确定所述事务是强有
序的,那么除目标存储器装置104a之外,总线互连件108向第一处理器102a能够存取的且可不按照总线事务次序执行数据转移总线事务的每个存储器装置104b和104c发送 存储器阻隔。总线互连件108还在无存储器阻隔的情况下向目标存储器104a发送强有 序数据转移总线事务,因为目标存储器装置104a由于与数据转移总线事务相关联的属 性的缘故而将隐含地将所述存储器阻隔处理为强有序请求。或者,处理器102a可在发 出强有序数据转移总线事务之前发出存储器阻隔总线事务。
图2是说明弱有序处理系统中的总线互.连件108的实例的功能框图。实际实施总线 互连件的方式将视设计考虑因素而定。所属领域的技术人员将认识到各种设计的可互换 性,以及如何针对每一特定应用而最好地实施本文中所描述的功能性。
参看图2,总线寄存器202可用以接收并存储来自总线106的信息。总线寄存器202 可以是任何类型的存储装置,例如先入先出(First-In-First-Out, FIFO)存储器或其它合 适存储装置。由总线寄存器202接收并存储的信息可以是任何总线相关信息,但更具体 地说可包含每一数据转移总线事务请求的地址和属性,且在写入操作的情况下,可包含 有效负载。总线寄存器202还可存储非数据转移总线事务(例如由主装置发出的存储器 阻隔操作)情况下的属性。还向解码器204提供每一数据转移总线事务请求的地址。解 码器204可用以为总线寄存器202中的每一数据转移总线事务请求确定目标存储器装 置。此确定用以控制总线开关206。总线开关206用以将每一数据转移总线事务从总线 寄存器202多路分用到总线106的适当信道以到达其目标存储器装置。控制器208可用 以控制数据转移总线事务从总线寄存器202释放的时序。
图3是用于弱有序处理系统的总线互连件108中的控制器208的一个实施例的功能 框图。控制器208基于其从解码器204接收到的信息而对存储器操作强制实施排序约束。 所述信息可包含每一总线事务的属性,其可存储在第一输入寄存器302中。所述信息还 可包含识别发端处理器能够存取的除目标存储器装置之外的每一存储器装置的数据。可 由每一处理器存取的特定存储器装置在设计阶段期间被预先配置,且因此可被编程或硬 连线到解码器204中。在任何情况下,第二输入寄存器304可用以存储此信息。第一输 入寄存器302和第二输入寄存器304可为分离的寄存器(如图3中所示),或替代地为 单个寄存器。在控制器208的一些实施例中,来自解码器204的信息可存储在与其它总 线互连功能共享的寄存器中。每一寄存器可以是FIFO或任何其它合适存储媒体。
控制器208通过控制数据转移总线事务从总线寄存器202释放的时序而对数据转移 操作强制实施排序约束。首先将结合指示强有序存储器数据转移总线事务准备好从总线 寄存器202释放的属性而描述所述过程。在此情况下,从第一输入寄存器302向存储器
阻隔产生器306提供所述属性作为启用信号。同时,向存储器阻隔产生器306的输入端提供存储在第二输入寄存器304中的数据。如上文所指示,存储在第二输入寄存器304 中的数据包含识别发端处理器能够存取的除目标存储器装置之外的每一存储器装置的 数据。当存储器阻隔产生器306由所述属性启用时,此信息用以为所述数据所识别的每 一存储器装置产生存储器阻隔。可通过发出导向所识别的存储器装置的存储器阻隔事务 来向适当的存储器装置提供每一存储器阻隔,以及识别起始强有序请求的发端处理器的 属性。或者,可使用旁带信令或通过其它合适方法向适当的存储器装置提供存储器阻隔。 存储器阻隔产生器306还可响应于来自主装置的存储器阻隔总线事务请求而产生存储器 阻隔总线事务,其也以与上文所描述的方式类似的方式存储在总线寄存器202中。
根据一个或一个以上实施例,存储器阻隔产生器306可用以抑制不必要的存储器阻 隔。举例来说,如果存储器装置固有地是全域可观测的,那么可由发端处理器存取的存 储器装置的存储器阻隔是多余的且可被抑制。可以许多方式来识别全域可观测的从属装 置。
在控制器208的一个实施例中,逻辑全域可观测性寄存器307针对系统中的每个从 属装置包含一个位。全域可观测性寄存器位的状态指示相关联的从属装置是否为全域可 观测的,且因此可免于存储器阻隔事务。全域可观测性寄存器307是存储器阻隔产生器 306的输入。全域可观测性寄存器307可包括由系统软件在开机自我测试(Power On Self Test, POST)期间在轮询从属装置以相对于总线事务的全域可观测性而查实所述从属装 置的行为和能力(例如通过对相应从属装置内的配置状态寄存器(CSR)进行读取)之 后设置的物理寄存器。
在一个实施例(其在ASIC或芯片上系统(System On Chip, SOC)环境中可能特别 有利)中,逻辑全域可观测性寄存器307的一个或一个以上位可由设计者硬连线到指示 对应从属装置的已知全域可观测性的预定状态。这可降低POST软件的复杂性且减少 POST软件的执行时间。
在另一实施例中,逻辑全域可观测性寄存器307的一个或一个以上位可包括来自从
属装置的动态二进制信号。这允许所述从属装置指示全域可观测性的周期。举例来说,
从属装置可在缓冲器中使数据转移操作排成队列,且不按照总线事务次序来执行所述操
作。当待决数据转移操作驻存在所述缓冲器中时,从属装置会指示缺少全域可观测性,
因此如果处理器发出强有序数据转移总线事务或存储器阻隔操作,那么要求存储器阻隔
总线事务导向所述从属装置。然而,如果缓冲器为空,那么从属装置可保证至少下一个
发生的数据转移总线事务的全域可观测性(即,从属装置保证先前向其发出的所有数据
转移操作均已被执行)。在此情况下,从属装置可经由二进制信号来指示其不需接收存
12储器阻隔事务,且只要其缓冲器为空就可维持此指示。
在任何给定实施方案中,逻辑全域可观测性寄存器307可按照特定应用中所要求或 需要而包括由系统软件、经硬连线的位或来自从属装置的动态信号设置的一个或一个以 上物理寄存器的任何混合。
参看图1到图3,现将提供实例以说明全域可观测性寄存器位可用以抑制存储器阻 隔的方式。在此实例中,处理系统可经配置以使得第一处理器102a可存取第一、第二 和第三存储器装置104a、 104b、 104c。当强有序数据转移总线事务由第一处理器102a 向第一存储器装置104a发出时(或者替代地当第一处理器102a所发出的存储器阻隔操 作位于总线寄存器202的输出端处时),来自第一输入寄存器302的对应属性启用存储 器阻隔产生器306。从第二输入寄存器304向存储器阻隔产生器306提供的数据识别第 一处理器104a可存取的除目标存储器装置之外的存储器装置。在此情况下,所述数据 识别第二存储器装置104b和第三存储器装置104c。存储器阻隔产生器306检査逻辑全 域可观测性寄存器307中对应于第二存储器装置104b和第三存储器装置104c的位307b、 307c,以确定存储器装置104b、 104c中的任一者是否为全域可观测的。在此实例中, 位307b指示全域可观测性,且位307c不指示全域可观测性。因此,存储器阻隔总线事 务被发出到第三存储器装置104c,且去往第二存储器装置104b的存储器阻隔被抑制。
返回到图3,控制器208中的逻辑308可用以针对存储器阻隔肯定应答而监视来自 存储器装置的反馈。"存储器阻隔肯定应答"使来自存储器装置的信号,其指示来自需 要强有序数据转移总线事务或发出存储器阻隔操作的处理器的每个数据转移操作(其先 于存储器阻隔)均已被执行。逻辑308使用来自第二输入寄存器304的数据和逻辑全域 可观测性寄存器307的位来确定应针对存储器阻隔肯定应答监视哪些存储器装置。当逻 辑308确定已接收到所有必要的存储器阻隔肯定应答时,逻辑308产生用以使对应的数 据转移总线事务从总线寄存器202释放的触发(或如果存储器阻隔操作直接由主装置发 出,那么产生下一个待决数据转移总线事务)。更具体地说,向选择多路复用器310的 输入端提供来自第一输入寄存器302的属性。多路复用器310用以在所述属性指示数据 转移总线事务为强有序的时,将逻辑308所产生的触发耦合到总线寄存器202。从多路 复用器310输出的释放信号也耦合到解码器,以使总线开关206 (见图2)的时序同步。
一旦数据转移总线事务从总线寄存器释放,所述数据转移总线事务就经过总线开关 206 (见图2)而路由到目标存储器装置。控制器208中的第二多路复用器312可用以在 指示强有序数据转移总线事务或主装置发出的存储器阻隔操作的属性被应用于选择输 入时,延迟从第一寄存器302和第二寄存器304释放数据,直到从目标存储器装置接收到数据转移肯定应答为止。如上文所论述,总线事务中所包含的属性对目标存储器装置 强制实施排序约束。即,目标存储器装置在执行强有序数据转移操作之前,执行由发端 处理器发出的所有未解决的数据转移操作。数据转移肯定应答由目标存储器装置在执行 强有序数据转移操作后产生。将数据转移肯定应答反馈到控制器208中的多路复用器 312,在多路复用器312处,所述数据转移肯定应答用以产生触发以从第一寄存器302 和第二寄存器304释放对应于总线寄存器202中的下一个数据转移总线事务的新数据。 如果所述新数据包含指示总线寄存器202中的对应数据转移总线事务为强有序的属性, 或包括主装置发出的存储器阻隔操作,那么重复相同的过程。否则,数据转移总线事务 可立即从总线寄存器202释放。
控制器208经配置以在第一输入寄存器302中的对应属性指示请求并非强有序的或 并非主装置发出的存储器阻隔操作时,立即使数据转移总线事务从总线寄存器202释放。 在所述情况下,所述属性停用存储器阻隔产生器306。此外,所述属性迫使多路复用器 310进入将内部产生的触发耦合到总线寄存器202以释放数据转移总线事务的状态。数 据转移总线事务从总线寄存器202释放,且经过总线开关206 (见图2)而耦合到目标 存储器装置。对应于下一个数据转移总线事务的数据接着通过从控制器208中的第二多 路复用器312输出的内部产生的触发,而从第一寄存器302和第二寄存器304释放。
图4是说明用于弱有序处理系统的总线互连件中的控制器的另一实施例的功能框 图。在此实施例中,强有序数据转移总线事务通过控制器208从总线寄存器202释放, 同时存储器阻隔被提供到适当的存储器装置。更具体地说,第一输入寄存器302用以向 存储器阻隔产生器306提供数据转移总线事务的属性。如果所述属性指示对应的数据转 移总线事务是强有序的,那么存储器阻隔产生器306被启用。当存储器阻隔产生器306 被启用时,来自第二输入寄存器304的数据用以识别可由发端处理器存取的除目标存储 器装置之外的每一存储器装置。对于所识别的每一存储器装置,存储器阻隔产生器306 检查逻辑全域可观测性寄存器307的对应位。接着针对除目标存储器装置之外(在那时) 不指示其是全域可观测的的每一存储器装置而产生存储器阻隔。
在存储器阻隔产生器306被启用的情况下,控制器208中的逻辑314可用以防止随 后的数据转移总线事务从总线寄存器202释放,直到强有序数据转移总线事务由目标存 储器装置执行为止。延迟316可用以允许内部产生的触发在所述触发被属性选通切断之 前,使强有序数据转移总线事务从总线寄存器202释放。以此方式,可向目标存储器装 置提供数据转移总线事务,同时向其余的可由发端处理器存取的非全域可观测的存储器 装置提供存储器阻隔。
14逻辑318可用以针对来自目标存储器装置的数据转移肯定应答和存储器阻隔肯定应 答而监视来自存储器装置的反馈。逻辑318使用来自第二输入寄存器304的数据和逻辑 全域可观测性寄存器307的位来确定针对存储器阻隔肯定应答将需要监视哪些存储器装 置。当逻辑318确定已接收到各种数据转移和/或存储器阻隔肯定应答时,逻辑318产生 触发以从第一输入寄存器302和第二输入寄存器304释放对应于总线寄存器202中的下 一个数据转移总线事务的新数据。所述触发通过多路复用器320而耦合,来自第一输入 寄存器202的属性迫使多路复用器320进入适当的状态。如果所述新数据包含指示总线 寄存器202中的对应的数据转移总线事务是强有序的,那么重复相同的过程。否则,数 据转移总线事务可经由逻辑314通过内部产生的触发直接从总线寄存器202释放。内部 产生的触发还可通过多路复用器320而耦合,以使数据从第一输入寄存器302和第二输 入寄存器304释放,以用于总线寄存器202中的下一个数据转移总线事务。
尽管本文己相对于共享总线系统的总线互连件108内的控制器208而描述了本发 明,但所属领域的技术人员将容易认识到本发明并不限于此实施方案。明确地说,用于 每一从属装置的全域可观测指示符可传播到每一主装置或可由每一主装置存取,每一主 装置可确定是否需要存储器阻隔总线事务,且如果需要的话,那么可确定应导向哪些从 属装置。
尽管本文中已相对于本发明的特定特征、方面和实施例而描述了本发明,但将明白, 在本发明的宽泛范围内,大量变化、修改和其它实施例是可能的,且因此,所有变化、 修改和实施例均将被视为在本发明的范围内。因此本实施例在所有方面均被解释为说明 性而j P限制性的,且在所附权利要求书的意义和等效范围内的所有改变均意在包含于本 实施例中。
权利要求
1. 一种弱有序处理系统,其包括多个从属装置;至少一个主装置,其经配置以将数据转移总线事务导向一个或一个以上从属装置;以及总线互连件,其经配置以在主装置与从属装置之间实施数据转移总线事务,且进一步经配置以响应于来自主装置的执行同步总线事务请求而将执行同步总线事务导向并非全域可观测的一个或一个以上从属装置。
2. 根据权利要求1所述的系统,其中所述总线互连件包含逻辑全域可观测性寄存器, 所述逻辑全域可观测性寄存器包括多个位,每一位对应于一从属装置,并指示所述 从属装置是否维持全域可观测性。
3. 根据权利要求2所述的系统,其中所述全域可观测性寄存器包括由系统软件在系统 初始化期间所设置的一个或一个以上物理寄存器。
4. 根据权利要求3所述的系统,其中所述系统软件轮询从属装置中的配置寄存器以查 实所述从属装置的全域可观测性。
5. 根据权利要求2所述的系统,其中所述逻辑全域可观测性寄存器的一个或一个以上 位是经硬连线的。
6. 根据权利要求2所述的系统,其中所述逻辑全域可观测性寄存器的一个或一个以上 位包括来自从属装置的动态二进制信号。
7. 根据权利要求6所述的系统,其中从属装置在执行数据转移操作之前缓冲所述数据 转移操作,且其中所述从属装置在其缓冲器为空时经由去往所述逻辑全域可观测性 寄存器的动态二进制信号来指示所述从属装置为全域可观测的。
8. 根据权利要求1所述的系统,其中来自所述主装置的数据转移总线事务请求包含指 示所述数据转移总线事务是否为强有序的属性。
9. 根据权利要求1所述的系统,其中接收所述执行同步总线事务的每一从属装置执行 所有先前从至少所述发出所述强有序数据转移总线事务的主装置接收到的数据转 移操作。
10. 根据权利要求1所述的系统,其中所述强有序数据转移总线事务所导向的所述从属装置对于主装置来说,看似在执行所述强有序数据转移总线事务之前,已执行所有 先前从至少所述发出所述强有序数据转移总线事务的主装置接收到的数据转移操 作。
11. 根据权利要求1所述的系统,其中所述总线互连件将所述执行同步总线事务仅导向 发出所述强有序数据转移总线事务请求的所述主装置可将数据转移总线事务导向 的非全域可观测的从属装置。
12. 根据权利要求1所述的系统,其中所述总线互连件进一步经配置以响应于强有序数 据转移总线事务请求而将执行同步总线事务导向并非全域可观测的一个或一个以 上从属装置。
13. —种总线互连件,其操作以将数据转移总线事务从弱有序处理系统中的一个或一个以上主装置导向两个或两个以上从属装置,所述总线互连件包括总线寄存器,其操作以使数据转移总线事务请求排成队列;以及控制器,其操作以控制数据转移总线事务从所述总线寄存器的发出,且进一步操作以响应于来自主装置的执行同步总线事务请求而将执行同步总线事务导向并非全域可观测的一个或一个以上从属装置。
14. 根据权利要求13所述的总线互连件,其中所述控制器包含逻辑全域可观测性寄存 器,所述逻辑全域可观测性寄存器指示哪些从属装置是全域可观测的。
15. 根据权利要求14所述的总线互连件,其中所述逻辑全域可观测性寄存器包括由系 统软件设置的物理寄存器。
16. 根据权利要求15所述的总线互连件,其中所述系统软件在设置所述全域可观测性寄存器之前,轮询从属装置中的状态寄存器以查实所述从属装置的全域可观测性。
17. 根据权利要求14所述的总线互连件,其中所述逻辑全域可观测性寄存器的一个或一个以上位由系统设计者硬连线。
18. 根据权利要求14所述的总线互连件,其中所述逻辑全域可观测性寄存器的一个或 一个以上位包括来自从属装置的动态二进制信号。
19. 根据权利要求18所述的总线互连件,其中从属装置操作以在执行数据转移操作之 前缓冲所述数据转移操作,所述从属装置在所述缓冲器为空时经由动态二进制信号 指示全域可观测性。
20. 根据权利要求12所述的总线互连件,其进一步包括解码器,所述解码器逻辑上连 接到所述控制器,且操作以查实待决数据转移总线事务导向哪一从属装置,且进一 步操作以检测强有序数据转移总线事务。
21. 根据权利要求14所述的总线互连件,其进一步包括从所述总线寄存器接收数据转 移总线事务的总线开关,所述总线开关操作以在所述解码器的控制下将所述数据转 移总线事务导向从属装置。
22. 根据权利要求13所述的总线互连件,其中所述控制器进一步操作以响应于强有序 数据转移总线事务请求而向并非全域可观测的一个或一个以上从属装置发出执行 同步总线事务。
23. —种在弱有序处理系统中执行强有序数据转移总线事务的方法,所述弱有序处理系 统包含一个或一个以上主装置以及两个或两个以上从属装置,所述方法包括维持所述从属装置中的哪些从属装置是全域可观测的的指示;以及 响应于来自主装置的执行同步总线事务请求而向并非全域可观测的一个或一个 以上从属装置发出执行同步总线事务。
24.根据权利要求23所述的方法,其进一步包括通过对从主装置接收到的每一数据转移总线事务请求的属性进行解码来检测强有序数据转移总线事务。
25. 根据权利要求23所述的方法,其中仅向发出强有序数据转移总线事务请求的所述 主装置可将数据转移总线事务导向的非全域可观测的从属装置发出所述执行同步 总线事务。
26. 根据权利要求23所述的方法,其中维持所述从属装置中的哪些从属装置是全域可 观测性的的指示包括维持逻辑全域可观测性状态寄存器,所述逻辑全域可观测性状 态寄存器的一个位对应于每一从属装置。
27. 根据权利要求26所述的方法,其进一步包括在初始化期间轮询从属装置中的状态寄存器以查实每一从属装置的全域可观测 性;以及设置物理全域可观测性状态寄存器。
28. 根据权利要求26所述的方法,其中维持所述从属装置中的哪些从属装置是全域可 观测的的指示包括从--个或一个以上从属装置接收指示所述从属装置的全域可观 测性的动态二进制信号。
29. 根据权利要求23所述的方法,其进一步包括,对于接收执行同步总线事务的每一 从属装置,执行来自至少所述发出所述强有序数据转移总线事务请求的主装置的所 有待决数据转移操作。
30. 根据权利要求23所述的方法,其进一步包括,对于接收所述强有序数据转移总线 事务的所述从属装置,在执行所述强有序数据转移总线事务之前,执行来自至少所 述发出所述强有序数据转移总线事务请求的主装置的所有待决数据转移操作。
31. 根据权利要求23所述的方法,其进一步包括接收强有序数据转移总线事务请求。
全文摘要
一种弱有序处理系统实施执行同步总线事务或“存储器阻隔”总线事务,以强制实施强有序数据转移总线事务。确保全域可观测性的从属装置可“选择退出”存储器阻隔协议。在各种实施例中,选择退出决策可通过每一从属装置断言一信号而动态地做出,可通过轮询所述从属装置并在全域可观测性寄存器中设置对应的位来在开机自我测试(POST)期间在系统范围内设置,或者所述选择退出决策可由系统设计者硬连线,使得只有能够执行无序数据转移操作的从属装置才参与所述存储器阻隔协议。
文档编号G06F13/16GK101506783SQ200780031817
公开日2009年8月12日 申请日期2007年8月31日 优先权日2006年8月31日
发明者吉姆·沙利文, 巴里·沃尔福德 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1