存储器屏障总线命令的有效执行的制作方法

文档序号:6454165阅读:112来源:国知局
专利名称:存储器屏障总线命令的有效执行的制作方法
技术领域
本发明通常涉及处理系统,且更特定而言,涉及在处理系统中有效地处理存储器 屏障总线命令的技术。背景技水计算机及其它现代处理系统已通过仅敲击几下小键盘便能够执行复杂的任务而 使电子工业发生革命性变化。这些复杂的任务通常涉及若干个装置,所述装置使用总 线以快速且有效的方式彼此进行通信。所述总线在处理系统中的各装置之间提供共享 通信链路。视具体的应用而定,连接到处理系统中总线的装置类型可有所不同。通常,总线 经配置以支持多个处理器、存储器装置和外围装置。在这些系统中,处理器常常通过 允许乱序地执行存储器操作来实现性能益处。例如,处理系统可通过重新排序存储器 操作的序列以允许在打开存储器中的新一页之前执行对同一页的所有操作来实现性能 益处。被允许重新排序存储器操作的处理系统通常称为"弱有序"处理系统。在某些情况下,存储器操作的重新排序可能会不可预测地影响程序行为。例如, 一个应用程序可需要处理器在从存储器读取之前,所述处理器将数据写入到存储器。 在弱有序处理系统中,无法保证此一定会发生。由此造成的结果会让人无法接受。人们使用各种技术以在弱有序处理系统中执行有序的存储器操作。 一种技术是简 单地延迟某些存储器操作,直到此前的所有存储器操作均执行完毕为止。在先前实例 中,处理器可延迟发出读取请求,直到其接收到保证所述数据已写入到所述存储器的 指示为止。现代处理器架构中的常见技术是当需要有序的存储器操作时使用称为"存储器屏 障"的总线命令。可使用"存储器屏障"来确保处理器在存储器屏障之前发出的全部 存储器存取请求都在所述处理器在存储器屏障之后发出的全部存储器存取请求之前执 行。此外,在先前实例中,处理器可在发出读取请求之前将存储器屏障发送到存储器。 此可确保处理器在其从存储器读取之前,对存储器进行写入操作。存储器屏障是将排序约束强加于弱有序处理系统中的存储器操作的有效方法,但从系统性能方面来说是效率低下的。在具有多个存储器装置的处理系统中,所述存储 器屏障可能是效率尤其低下的。在这些处理系统中,处理器将需要向其可存取的每一 个存储器装置发出存储器屏障以对存储器操作强制执行排序约束。因此,在存储器屏 障之后的下一存储器操作被延迟直到可由处理器存取的每一存储器装置完成所有未完 成的存储器操作为止。因此,持续需要在弱有序处理系统中执行存储器屏障操作的更 有效方法。发明内容本发明揭示弱有序处理系统的一个方面。所述处理系统包含存储器和经配置以向 所述存储器发出存储器存取请求(包含存储器屏障)的主装置。所述处理系统还包含 经配置以向所述主装置提供对所述存储器的存取的从属装置,所述从属装置进一步经 配置以产生指示将强制执行由所述主装置发出的存储器屏障所强加的排序约束的信 号,所述信号是在执行由所述主装置在所述存储器屏障之前向所述存储器发出的所有 存储器存取请求之前产生的。本发明揭示弱有序处理系统的另一个方面。所述处理系统包含存储器和经配置以 向所述存储器发出存储器存取请求(包含存储器屏障)的主装置。所述处理系统还包 >含经配置以向所述主装置提供对所述存储器的存取的从属装置,所述从属装置进一步 经配置以确认由所述主装置发出的存储器屏障,所述存储器屏障是在执行由所述主装 置在所述存储器屏障之前向所述存储器发出的所有存储器存取请求之前确认。本发明揭示一种在弱有序处理系统中执行存储器屏障的方法。所述处理系统包含 主装置、从属装置和存储器。所述方法包含从所述主装置向所述存储器发出存储器屏;障,且在所述从属装置处产生指示将强制执行由所述存储器屏障强加的排序约束的信号,所述信号是在执行由所述主装置在所述存储器屏障之前向所述存储器发出的所有存储器存取请求之前产生的。应理解,根据下文中仅以举例说明方式显示及描述本发明的各种实施例的详细说明,所属技术领域的技术人员将明了本发明的其它实施例。应了解,本发明能够具有 >其它和不同的实施例且其若干细节能够在各种其它方面进行修改,而所有这些皆不背离本发明的精神和范围。因此,本质上,将图式和详细说明视为举例说明性而非限制性。


; 附图中举例来说而非限定方式图解说明本发明的各种方面,其中
图1是图解说明弱有序处理系统的实例的概念性方框图2是图解说明弱有序处理系统中系统总线互连的一个实例的功能方框图;及 图3是图解说明可较早地确认存储器屏障的从属装置的操作实例的流程图。
具体实施例方式
下文结合附图所阐述的详细说明旨在作为本发明的各种实施例的说明,而非计划 用来表示可实践本发明的仅有实施例。所述详细说明包含用于提供对本发明的透彻了 解目的的具体细节。然而,所属技术领域的技术人员将明了无需所述具体细节也可实 践本发明。在某些实例中,为避免模糊本发明的概念,以方框图形式显示众所周知的 结构和组件。
图1是图解说明弱有序处理系统的一个实例的概念性方框图。处理系统100可以是计算机、驻存在计算机中、或能够处理、检索和存储信息的任何其它系统。处理系统100可以是独立系统,或另一选择为,嵌入在如下装置中例如,无线或有线电话、 个人数字助理(PDA)、台式计算机、膝上型计算机、游戏控制台、寻呼机、调制解 调器、照相机、汽车设备、工业设备、视频设备、音频设备或需要处理能力的任何其 它适合装置。处理系统100可实施为集成电路、集成电路的一部分或跨越多个集成电 路分布。另一选择是,处理系统100可与离散组件或离散电路与集成电路的任一组合 一起实施。所属技术领域的技术人员应认识到,如何最佳地针对每一具体应用实施处 理系统100。
与总线架构一起显示处理系统100,所述总线架构将多个主装置连接到多个从属 装置。"主装置"是可发出总线请求的任何装置,且"从属装置"是响应于总线请求 的任何装置。在图1中所示的处理系统100中,主装置包括两个处理器102a、 102b。 每一处理器102a、 102b可以是任一类型的处理实体,包含(举例来说)微处理器、数 字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(EPGA)或其 它可编程逻辑、离散门或晶体管逻辑、或离散硬件组件。
处理器102a、 102b通过高速总线(通常称为系统总线104)连接到多个从属装置。 所述从属装置包含两个存储器控制器106a、 106b,每一者分别提供对独立存储器108a、 108b的存取。在处理系统的此实施例中,每一存储器108a、 108b可以是用来存储通 常由处理器102a、 102b需要的应用程序和数据的小的、高速、易失性存储器。通常用 RAM、 DRAM、或SDRAM来实施存储器108a、 108b,但实际上可用任何适合的存储 媒体来实施。通常,将存储器108a、 108b共同称为系统存储器。
连接到系统总线104的另一从属装置是桥接器110。桥接器110用来将高速系统 总线104连接到较慢、低级总线112。处理器102a、 102b可使用低级总线112来存取 外围装置(未显示)和额外的存储器108c、 108d。所述存储器108c、 108d可以是用 来存储处理器102a、 102b不经常需要的应用程序和数据的大的、便宜存储媒体,例如 硬盘驱动器、快闪存储器、可装卸磁盘或类似存储媒体。在某些架构中, 一个或两个 存储器可以是非易失性存储器,例如ROM、 PROM、 EPROM、 EEPROM存储器、 CD-ROM、或任何其它适合的固定存储媒体。桥接器110 (其是系统总线104上的从属装置)是低级总线112上多个从属装置 的主装置。低级总线112上的从属装置包含用于存储器108c的存储器控制器106c和 第二桥接器114。第二桥接器114用来将低级总线112连接到第二低级总线116,所述 第二低级总线116通过存储器控制器106d提供对存储器108d的存取。在第二低级总 线116上,第二桥接器114是主装置且存储器控制器106d是从属装置。在图1的处理系统100中,处理器102a、 102b可经配置以在操作系统及/或其它'软件的控制下执行指令。所述指令可驻存在各种存储器108a-108d中。也可将数据存储 在所述存储器装置108a-108d中,且处理器102a、 102b可检索所述数据以执行某些指 令。可将从执行这些指令而获得的新数据写回到所述存储器装置108a-108d中。在所示处理系统100的实施例中,任何处理器102a、102b可存取第一存储器108a, 但仅第二处理器102b可存取第二存储器108b。另外,每一存储器102a、 102b可存取;低级总线112、 116上的存储器108c、 108d。处理器可通过发出"存储器存取请求" 来存取存储器。"存储器存取请求"可以是写入请求、读取请求或任何其它与总线相 关的请求。处理器可通过将适当地址、控制信息和有效负载放置在系统总线104的传 输通道上来向目标存储器发出写入请求。在读取请求的情况下,处理器可将地址和控 制信息放置在传输通道上。响应于读取请求,目标存储器将有效负载发送回到系统总>线104的接收通道上的处理器。系统总线互连118将接收由处理器发出的写入请求。系统总线互连118解码地址 以确定将有效负载和控制信息路由到何处。在针对存储器108a或108b (即,系统存 储器)的写入请求的情况下,将有效负载及控制信息加载到用于目标存储器的存储器控制器中的缓冲器(未显示)中。在图1的弱有序处理系统100中,在可实现性能益 ;处时,存储器控制器可将其缓冲器中的内容乱序地写入目标存储器中。举例来说,存 储器控制器可重新排序目标存储器中的存储器存取请求序列以在打开存储器中的新一 页之前执行对同一页的所有请求。对低级总线112、 116上的存储器108c、 108d的写入请求可以类似方式执行,除 了路由选择是不同的以外。响应于对所述存储器108c、 108d的写入请求,系统总线互 >连118将有效负载连同控制信息路由到桥接器UO。桥接器IIO将有效负载和控制信 息传送到低级总线112以用于投递到低级总线互连120。低级总线互连120管理处理 器102a、 102b与处理系统100内的其它总线主装置(未显示)之间对存储器108c、 108d的存取。低级总线互连120将有效负载和控制信息最终投递到存储器控制器106c 或106d中的一者。每一存储器控制器106c和106d也可包含缓冲器(未显示)以在可;实现性能益处时允许乱序地执行写入操作。如以上所指示,处理器可通过将地址和控制信息放置在系统总线104的传输通道
上来发出读取请求。系统总线互连118使用所述地址以确定将控制信息路由到何处。对存储器108a或108b (即,系统存储器)的读取请求会导致系统总线互连118将控 制信息投递到将其加载到缓冲器(未显示)中的对应存储器控制器。对其它存储器108c、 108d的读取请求会导致系统总线互连118将控制信息投递到将其传送到低级总线112 的桥接器110。从那里,低级总线互连120将控制信息投递到存储器控制器106c或106d 中的一者的缓冲器(未显示)。用于目标存储器的存储器控制器可使用控制信息来将 有效负载投递回到发出读取请求的处理器。在可实现性能益处的意义上来说,用于目 标存储器的存储器控制器可乱序地执行其缓冲器中的存储器存取请求。在处理系统的某些实施例中, 一个或一个以上处理器可需要按照读取请求发出的 次序来接收所述读取请求的有效负载。例如,为减少复杂性而放松对处理系统的性能 要求的情况就是这样。另一选择是,可将处理器动态地切换到需要按针对某些应用程 序发出有效负载的次序来接收所述有效负载的模式和切换出所述模式。为维持此灵活 性,协议可包含"乱序读取属性"作为由处理器针对每一读取请求传输的控制信息的 一部分。可断言所述乱序读取属性以指示可以任何次序来执行对应读取请求。相反, 可在其它未决读取请求之前、之后或与其它未决读取请求交错来针对必须按次序执行 的一系列读取请求中的每一者去断言乱序读取属性。具有去断言乱序读取属性的读取 请求在本文中称为"按次序需要的"读取请求。除了读取和写入请求以外,处理器可发出存储器屏障。存储器屏障由系统总线互 连118接收并以传输通道的方式或通过边带发信号来将其路由到处理系统100中可由 发出所述存储器屏障的处理器存取的每一存储器。例如,由第一处理器102a发出的存 储器屏障将被系统总线互连118路由到系统存储器中的第一存储器108a以及低级总线 112、 116上的存储器108c、 108d两者。另一方面,由第二处理器102b发出的存储器 屏障将被系统总线互连118路由到图1的处理系统中所示的每个存储器108a-108d。一 旦处理器发出存储器屏障,处理器就会在发出另一存储器存取请求之前等待直到其接 收到"存储器屏障确认"为止。"存储器屏障确认"是来自从属装置指示可强制执行 由存储器屏障施加的排序约束的信号。在所描述的实施例中,经由接收通道将存储器 屏障确认从从属装置发送到发出处理器,然而,如所属技术领域的技术人员将容易地 理解,可使用边带发信号来发送存储器屏障确认。图2是图解说明系统总线连接118的实例的功能方框图。实际实施系统总线互连 118的方式将取决于具体应用和强加到处理系统的总设计约束。所属技术领域的技术 人员将认识到各种设计的可互换性,和如何最佳地针对每一具体应用来实施本文中所 述的功能性。系统总线互连118可用来接收来自处理器的存储器存取请求。如以上所论述,读 取或写入操作的存储器存取请求包含目标存储器的地址。存储器存取请求包含地址、 控制信息,且在写入请求的情况下,将有效负载加载到总线寄存器202中。还将地址 和控制信息提供给解码器204。解码器204用来确定总线寄存器202中的每一读取和
写入请求的目标存储器。解码器204的输出用来控制传输总线开关206。传输总线开 关206用来将总线寄存器202中的每一存储器存取请求引导到目标从属装置。接收总 线开关208用来将来自各个存储器的有效负载引导到发出读取请求的处理器。控制信息还包含可由解码器204检测的乱序读取属性。如果去断言乱序读取属性, 那么解码器204会警告控制器210。控制器210确定是否存在任何由同一处理器较早 地发出的针对除目标存储器以外的存储器的未决按次序读取请求。如果存在,那么控 制器210延迟从总线寄存器202中释放所述读取请求直到系统总线互连118接收到来 自所述未决读取请求的有效负载为止。如果控制器210确定不存在由同一处理器较早 地发出的未决按次序读取请求,或确定由同一处理器较早地发出的所有未决按次序读 取请求均是针对目标存储器的,那么总线寄存器202可立即释放读取请求并通过总线 开关206将其引导到目标存储器。在后面的情况中,目标存储器的存储器控制器可确 保所有未决按次序读取请求都按适当的次序执行。在替代实施例中,控制器210可从 总线寄存器202中立即释放所有按次序需要的读取请求,且控制将从多个存储器接收 的有效负载投递到所述处理器的次序。如以上所论述,存储器存取请求也可以是总线命令,例如存储器屏障。存储器屏 障被加载到总线寄存器202中并提供给解码器204。解码器204提示控制器210使用 总线开关206将总线寄存器202中的存储器屏障发送到可由发出处理器存取的每一存 储器。可由每一处理器存取的存储器可预备在控制器210中。返回图1,控制针对一存储器的所有存储器存取请求序列的从属装置可向发出存 '储器屏障的处理器发送存储器屏障确认。举例来说,存储器控制器106a、 106b控制针 对其相应存储器108a、 108b的所有存储器存取请求的序列。所述存储器控制器106a、 106b中的每一者可经配置以当在执行在一存储器屏障之后接收的任何存储器存取请 求之前接收所述存储器屏障时通过执行其缓冲器中的所有存储器存取请求而响应于存 储器屏障。如果以此方式配置存储器控制器106a、 106b,那么所述存储器控制器的每 一者可向系统总线互连118发回确认而不必等待执行其缓冲器中的所有未完成存储器 存取请求。在处理系统的某些实施例中,其中接收通道用于将存储器屏障确认发送到处理 器,协议可能需要计及一个或一个以上处理器可能不能在接收所有未决按次序需要的 读取请求的有效负载之前处理确认的可能性。 一个可能的解决方案是与存储器屏障一 '起传输"乱序启用"属性。不受接收存储器屏障确认的次序约束的处理器可断言与存 储器屏障一起传输的乱序启用属性。如果断言乱序启用属性,那么接收存储器屏障的 每一存储器控制器106a、 106b可在其一接收到存储器屏障时就将确认发送回到发出处 理器。另一方面,不能够在接收所有按次序需要的读取请求的有效负载之前处理存储 器屏障确认的处理器可去断言与存储器屏障一起传输的乱序启用属性。去断言的乱序 启用属性将需要接收存储器屏障的每一存储器控制器106a、 106b在将确认发送回到发 出处理器之前发送在存储器屏障之前发出的所有按次序需要的读取请求的有效负载。
无论哪一者,处理器都将能够发出随后存储器存取请求而不必等待执行完所有先前存 储器存取请求。因此,可减少系统总线104利用不足的可能性,由此提高性能。与存储器控制器106a、 106b形成对比,系统总线104与低级总线112之间的桥 接器110不能提供对由处理器发出的存储器屏障的确认,因为其不能保证由存储器屏 障强加的排序约束。更具体来说,桥接器110不能保证将在处理器发出存储器屏障之 后由所述处理器发出的存储器存取请求之前执行在存储器屏障之前从处理系统100中 的另一总线主设备(未显示)发出的且由低级总线互连120接收的所有存储器存取请 求。因此,桥接器IIO不能确认指定给存储器108c、 108d的一者或两者的存储器屏障。低级总线112上的存储器控制器106c可确认由处理器发出的存储器屏障。与系 统存储器中的存储器控制器106a、 106b很类似,存储器控制器106c负责控制针对存 储器108c的所有存储器存取请求的序列。因此,存储器控制器106c可经配置以当在 执行在一存储器屏障之后接收的任何存储器存取请求之前接收所述存储器屏障时通过 执行其缓冲器中的所有存储器存取请求而响应于所述存储器屏障。如果以此方式配置 存储器控制器106c,那么其也可将确认较早地发送回到发出处理器。确认的确切定时 将取决于乱序启用属性的状态。第二低级总线116上的桥接器114也可经配置以确认由处理器发出的存储器屏 障。与将系统总线104连接到低级总线112的桥接器110不同,两个低级总线112、 116之间的桥接器114可经配置以保证由存储器屏障强加的排序约束。因此,桥接器 114可将确认较早地发送回到发出处理器。同样,确认的定时将取决于乱序启用属性 的状态。图3是图解说明可在所有未决存储器存取请求执行完之前确认存储器屏障的从属 装置的操作实例的流程图。在此实例中,所述从属装置使用接收通道来确认存储器屏 障且经配置以支持允许一个或一个以上处理器发出按次序要求的读取请求的协议。所 述从属装置执行其缓冲器中在存储器屏障之前的所有未决存储器存取请求,但可较早 地确认存储器屏障,如图3中更全面地图解说明。在步骤302中,从属装置接收存储器屏障。在步骤304中,所述从属装置确定是 断言还是去断言乱序启用属性。如果断言乱序启用属性,那么在步骤310中从属装置 可通过下一总线交易的接收通道发送存储器屏障确认。另一方面,如果去断言乱序启 用属性,那么在步骤306中从属装置确定在其缓冲器中是否存在任何未决按次序要求 的读取请求。如果存在未决的按次序要求的读取请求,那么在步骤310中从属装置可 经由下一总线交易的接收通道发送存储器屏障确认。否则,从属装置必须在步骤310 中确认存储器屏障之前在步骤308中将按次序读取请求的有效负载发送到发出处理胆 益0提供上述说明以使所属技术领域的任何技术人员能够实践本文所述的各种实施 例。所述所属技术领域的技术人员易知对所述实施例的各种修改,且本文所界定的一 般原理可应用于其它实施例。因此,并不打算将权利要求书限定于本文所示实施例,
而是赋予其与权利要求书语言相一致的全部范围,其中除非明确指明,否则以单数形 式提及一元件并不打算表示"一个且仅一个",而是"一个或一个以上"之意。所有 为所属技术领域的技术人员所已知或此后将已知的贯穿此揭示内容所述各实施例的元 件的结构和功能等效物皆明确地以引用方式并入本文中并打算涵盖于权利要求书中。 而且,无论是否在权利要求书中明确地引用此揭示内容,本文所揭示的内容并不打算奉献给公众。各权利要求要素均不依据35U.S.C. §112第六段的规定加以解释,除非 使用短语"用于的装置"明确描述所述要素,或在方法项中使用短语"用于 的步骤"描述所述要素。
权利要求
1、一种弱有序处理系统,其包括存储器;主装置,其经配置以向所述存储器发出包含存储器屏障的存储器存取请求;及从属装置,其经配置以向所述主装置提供对所述存储器的存取,所述从属装置进一步经配置以产生指示将强制执行由所述主装置发出的存储器屏障所强加的排序约束的信号,所述信号是在执行由所述主装置在所述存储器屏障之前向所述存储器发出的所有存储器存取请求之前产生的。
2、 如权利要求1所述的弱有序处理系统,其中所述从属装置进一步经配置以在 执行在所述存储器屏障之前发出的对所述存储器的所有所述存储器存取请求之前向所 述主装置提供所述信号。
3、 如权利要求2所述的弱有序处理系统,其中由所述主装置发出的所述存储器 存取请求包含读取请求,所述弱有序处理系统进一步包括将所述主装置连接到所述从 属装置的一个或一个以上总线,所述一个或一个以上总线具有接收通道,且其中所述 从属装置进一步经配置以向所述接收通道上的所述主装置提供响应于所述读取请求的 有效负载和所述信号两者。
4、 如权利要求3所述的弱有序处理系统,其中所述读取请求中的每一者包含乱 序读取属性,且所述存储器屏障包含乱序启用属性,所述从属装置进一步经配置以当 去断言所述乱序启用属性时在于所述存储器屏障之前发出的具有去断言乱序读取属性 的所述读取请求的每一者的所述有效负载之后向所述主装置提供所述信号。
5、 如权利要求1所述的弱有序处理系统,其进一步包括一个或一个以上总线, 所述主装置和所述从属装置在同一总线上。
6、 如权利要求1所述的弱有序处理系统,其进一步包括一个或一个以上总线, 所述主装置和所述从属装置在不同总线上。
7、 如权利要求1所述的弱有序处理系统,其中所述从属装置包括用于所述存储 器的存储器控制器。
8、 如权利要求l所述的弱有序处理系统,其中所述从属装置包括桥接器。
9、 一种弱有序处理系统,其包括 存储器;主装置,其经配置以向所述存储器发出包含存储器屏障的存储器存取请求;及 从属装置,其经配置以向所述主装置提供对所述存储器的存取,所述从属装置进 一步经配置以确认由所述主装置发出的存储器屏障,所述存储器屏障是在执行由所述 主装置在所述存储器屏障之前向所述存储器发出的所有存储器存取请求之前确认的。
10、 如权利要求9所述的弱有序处理系统,其中所述从属装置进一步经配置以在 执行在所述存储器屏障之前发出的对所述存储器的所有所述存储器存取请求之前向所 述主装置提供所述存储器屏障确认。
11、 如权利要求10所述的弱有序处理系统,其中由所述主装置发出的所述存储 器存取请求包含读取请求,所述弱有序处理系统进一步包括将所述主装置连接到所述 从属装置的一个或一个以上总线,所述一个或一个以上总线具有接收通道,且其中所 述从属装置进一步经配置以向所述接收通道上的所述主装置提供响应于所述读取请求 的有效负载和所述存储器屏障确认两者。
12、 如权利要求11所述的弱有序处理系统,其中所述读取请求中的每一者均包 含乱序读取属性,且所述存储器屏障包含乱序启用属性,所述从属装置进一步经配置 以在去断言所述乱序启用属性时,在于所述存储器屏障之前发出的具有去断言乱序读 取属性的所述读取请求的每一者的所述有效负载之后向所述主装置提供所述存储器屏 障确认。
13、 如权利要求9所述的弱有序处理系统,其中所述从属装置和所述存储器耦合 在一起以使得向所述从属装置提供对所述存储器的所有存储器存取请求,而无论所述 存储器存取请求是从所述主装置还是从其它地方接收的。
14、 如权利要求9所述的弱有序处理系统,其进一步包括一个或一个以上总线, 所述主装置和所述从属装置在同一总线上。
15、 如权利要求9所述的弱有序处理系统,其进一步包括一个或一个以上总线, 所述主装置和所述从属装置在不同的总线上。
16、 如权利要求9所述的弱有序处理系统,其中所述从属装置包括用于所述存储 器的存储器控制器。
17、 如权利要求9所述的弱有序处理系统,其中所述从属装置包括桥接器。
18、 一种在具有主装置、从属装置和存储器的弱有序处理系统中执行存储器屏障 的方法,其包括向所述存储器发出来自所述主装置的存储器屏障;在所述从属装置处产生指示将强制执行由所述存储器屏障所强加的排序约束的 信号,所述信号是在执行由所述主装置在所述存储器屏障之前发出的对所述存储器的 所有存储器存取请求之前产生的。
19、 如权利要求18所述的方法,其进一步包括在执行在所述存储器屏障之前发 出的对所述存储器的所有所述存储器存取请求之前向所述主装置提供所述信号。
20、 如权利要求19所述的方法,其中所述弱有序处理系统进一步包括将所述主 装置连接到所述从属装置的一个或一个以上总线,所述一个或一个以上总线具有接收 通道,且其中所述主装置在所述存储器屏障之前发出的所述存储器存取请求包含读取 请求,所述从属装置向所述接收通道上的所述主装置提供响应于所述读取请求的有效 负载和所述信号两者。
21、 如权利要求20所述的方法,其进一步包括针对所述主装置在所述存储器屏 障之前发出的所述读取请求中的一者或一者以上去断言乱序读取属性,针对所述存储 器屏障去断言乱序启用属性,且在响应于所述去断言的乱序启用属性向所述主装置提 供所述信号之前向所述主装置提供所述一个或一个以上读取请求的所述有效负载。
22、 如权利要求18所述的方法,其中所述弱有序处理系统进一步包括一个或一个以上总线,且其中所述主装置经由所述一个或一个以上总线中的一者向所述从属装 置发出所述存储器屏障。
23、 如权利要求18所述的方法,其中弱有序处理系统进一步包括一个或一个以 上总线,且其中所述主装置在所述总线的第一者上向所述总线的第二者上的所述从属 装置发出所述存储器屏障。
24、 如权利要求18所述的方法,其中所述从属装置包括用于所述存储器的存储 器控制器。
25、 如权利要求18所述的方法,其中所述从属装置包括桥接器。
全文摘要
本发明针对弱有序处理系统和在弱有序处理系统中执行存储器屏障的方法。所述处理系统包含存储器和经配置以向所述存储器发出包含存储器屏障的存储器存取请求的主装置。所述处理系统还包含经配置以向所述主装置提供对所述存储器的存取的从属装置,所述从属装置进一步经配置以产生指示将强制执行由所述主装置发出的存储器屏障所强加的排序约束的信号,所述信号是在执行由所述主装置在所述存储器屏障之前向所述存储器发出的所有存储器存取请求之前产生的。
文档编号G06F9/38GK101395574SQ200780008020
公开日2009年3月25日 申请日期2007年3月7日 优先权日2006年3月10日
发明者理查德·爱拉尔德·霍夫曼, 詹姆斯·爱德华·小沙利文, 贾亚·普拉喀什·苏布拉马尼亚姆·贾纳桑 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1