装置引导的存储器屏障.pdf

上传人:大师****2 文档编号:1007301 上传时间:2018-03-25 格式:PDF 页数:24 大小:1.14MB
返回 下载 相关 举报
摘要
申请专利号:

CN200880017774.8

申请日:

2008.05.31

公开号:

CN101681323A

公开日:

2010.03.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/16申请日:20080531|||公开

IPC分类号:

G06F13/16; G06F13/42

主分类号:

G06F13/16

申请人:

高通股份有限公司

发明人:

理查德·杰拉尔德·霍夫曼; 贾亚·普拉喀什·贾纳桑; 巴里·乔·沃尔福德

地址:

美国加利福尼亚州

优先权:

2007.6.1 US 11/756,643

专利代理机构:

北京律盟知识产权代理有限责任公司

代理人:

刘国伟

PDF下载: PDF下载
内容摘要

本发明描述用于控制总线事务的同步以改进共享存储器系统中的性能并降低所述共享存储器系统中的功率要求的有效技术。还描述复杂的处理系统中的互连布置,其在总线主控器与共享的存储器装置之间提供有效的数据传送从而改进性能并降低功率使用。在一个实例中,叙述一种用于控制总线事务与远程装置的同步的方法。接收装置引导的存储器屏障命令。对所述装置引导的存储器屏障命令进行解码以确定一个或一个以上目的装置。响应于所述解码将存储器屏障命令选择性地路由到所述一个或一个以上目的装置。所描述的技术组合了高速装置引导的存储器屏障能力、改进的总线带宽功能性及功率节省特征。

权利要求书

1.  一种用于控制总线事务与远程装置的同步的方法,其包含:
接收装置引导的存储器屏障命令;
将所述装置引导的存储器屏障命令解码以确定一个或一个以上目的装置;以及
响应于所述解码将存储器屏障命令选择性地路由到所述一个或一个以上目的装置。

2.
  根据权利要求1所述的方法,其中所述装置引导的存储器屏障命令包含:
所述总线命令为地址引导的存储器屏障命令的指示;以及
经格式化以识别所选远程装置所响应的地址范围且被提供在地址通道上的地址值。

3.
  根据权利要求1所述的方法,其中所述装置引导的存储器屏障命令包含:
所述总线命令为段引导的存储器屏障命令的指示;以及
含有装置选择位以识别所选远程装置且被提供在地址通道上的属性。

4.
  根据权利要求1所述的方法,其中在总线互连中接收所述装置引导的存储器屏障命令。

5.
  根据权利要求1所述的方法,其进一步包含:
确定所述装置引导的存储器屏障命令为地址引导的存储器屏障命令;以及
将地址属性与装置地址范围进行比较以确定所述一个或一个以上目的装置。

6.
  根据权利要求1所述的方法,其进一步包含:
确定所述装置引导的存储器屏障命令为段引导的存储器屏障命令;以及
使用段属性中的指定位来确定所述一个或一个以上目的装置。

7.
  根据权利要求1所述的方法,其进一步包含:
向所述总线互连中的段寄存器加载对应于所述一个或一个以上目的装置的指定位。

8.
  根据权利要求7所述的方法,其进一步包含:
确定所述装置引导的存储器屏障命令为段引导的存储器屏障命令,其被引导用于阶层式连接的远程装置的第二层级上的远程装置;以及
使用所述段寄存器中的所述指定位来确定所述一个或一个以上目的装置。

9.
  根据权利要求1所述的方法,其进一步包含:
收集来自所述一个或一个以上目的装置的响应,所述响应指示所述存储器屏障命令完成;以及
向发送所述装置引导的存储器屏障命令的装置发送完成响应,所述完成响应指示所述装置引导的存储器屏障命令完成。

10.
  一种总线互连,其包含:
控制器,其经配置以接收并识别装置引导的存储器屏障命令;以及
解码器及路径选择单元,其响应于所述所识别的装置引导的存储器屏障命令而基于与所述装置引导的存储器屏障命令相关联的信息来选择远程装置且将存储器屏障命令选择性地路由到所述所选远程装置。

11.
  根据权利要求10所述的总线互连,其中所述与所述装置引导的存储器屏障命令相关联的信息包含:
所述总线命令为地址引导的存储器屏障命令的指示;以及
接收于地址通道上且经格式化以识别所选远程装置所响应的地址范围的地址值。

12.
  根据权利要求10所述的总线互连,其中所述与所述装置引导的存储器屏障命令相关联的信息包含:
所述总线命令为段引导的存储器屏障命令的指示;以及
含有装置选择位以识别所选远程装置且接收于地址通道上的段属性。

13.
  根据权利要求11所述的总线互连,其进一步包含:
多个地址范围寄存器;以及
比较器,其用于将所述地址属性与从所述多个地址范围寄存器的一者中选择的地址进行比较,以确定所述所选远程装置。

14.
  根据权利要求12所述的总线互连,其进一步包含:
选择器,其用于使用所述段属性中的指定位来识别所述所选远程装置。

15.
  根据权利要求12所述的总线互连,其进一步包含:
选择器寄存器,其用于存储第二层级段属性中的指定位,以识别附接在互连的远程装置的第二阶层式层级处的所选远程装置。

16.
  一种用于控制总线事务与远程装置的同步的总线主控器方法,其包含:
向总线互连发布装置引导的存储器屏障命令,以控制总线事务与所选远程装置的同步;
从所述总线互连接收完成响应,所述完成响应指示所述装置引导的存储器屏障命令完成;以及
响应于所述完成响应向与所述所选远程装置相关联的不同总线主控器发送通知。

17.
  根据权利要求16所述的总线主控器方法,其中所述装置引导的存储器屏障命令包含:
所述装置引导的存储器屏障命令为地址引导的存储器屏障命令的指示;以及
经格式化以识别所选远程装置所响应的地址范围且提供在地址通道上的地址值。

18.
  根据权利要求16所述的总线主控器方法,其中所述装置引导的存储器屏障命令包含:
所述装置引导的存储器屏障命令为段引导的存储器屏障命令的指示;以及
含有装置选择位以识别所选远程装置且提供在地址通道上的段属性。

19.
  根据权利要求16所述的总线主控器方法,其中所述装置引导的存储器屏障命令包含:
对一个或一个以上所选远程装置的强有序存储器操作正在进行中的指示;以及
段属性的边带信号上的指示,所述段属性含有装置选择位以识别所述所选远程装置。

20.
  根据权利要求16所述的总线主控器方法,其进一步包含:
向所述总线互连中的段寄存器加载对应于所述一个或一个以上目的装置的指定位;以及
存储选择器寄存器的第二层级段属性中的指定位,以识别附接在互连的远程装置的第二阶层式层级上的所选远程装置。

说明书

装置引导的存储器屏障
技术领域
本发明大体上涉及处理系统中的存储器一致性的领域,且更明确地说涉及与存储器屏障操作有关的改进。
背景技术
例如蜂窝式电话、膝上型计算机、个人数据助理(PDA)等的许多便携式产品利用处理器执行程序,例如通信及多媒体程序。所述产品的处理系统包括用于处理指令及数据的处理器复合体。所述便携式产品、其它个人计算机等的功能复杂性要求高性能处理器及存储器。同时,便携式产品具有电池形式的有限能量源且以减小的功率电平提供高性能操作从而增加电池寿命。当前正开发的许多个人计算机也经设计从而以低功率耗用来提供高性能以减少总能量消耗。
为确保正确操作及存储器使用的一致性,处理器复合体通常对使用由多个处理器、多个程序线程、多个直接存储器存取(DMA)装置或更大体来说由多个总线主控器所共享的存储器的操作进行排序。为控制多个总线主控器之间的存储器使用,可在两个或两个以上处理器或主控器之间界定制造者/消费者关系。在所述关系中,向共享的存储器写入数据或“有效负载”的一个处理器或主控器称作制造者。将接收写入的有效负载或对写入的有效负载进行操作的另一处理器或主控器称作消费者。有效负载可为单个数据项或更复杂,例如(举例来说)多个信息包或数据帧。
为了保持多个总线主控器之间的次序,消费者不可存取有效负载直到制造者通知其可安全存取有效负载为止。所述通知可借助软件/硬件中断、旗语更新或设定一个或多个存取指示位的寄存器写入而发生。接着,消费者总线主控器可安全地开始读取刚刚写入的有效负载信息且执行其对有效负载的处理。当消费者已完成其处理时,其可将被修改的有效负载写回存储器且在所述过程中变为经修改的有效负载的制造者。
在消费者准备好从存储器中读取另一有效负载时,其通过(例如)软件/硬件中断、旗语更新或寄存器写入来通知制造者其准备好处理新的有效负载。此有序序列可无限地继续。在此制造者/消费者关系中,在向消费者发信号通知其可存取有效负载之前将整个有效负载完全写入存储器是至关重要的。如果在此发生之前向消费者发信号,则消费者实际上可能读取到“过期的”有效负载数据或来自前一有效负载的数据。由于互连布置中的写入缓冲及到存储器的任何桥接,即使制造者在其主控器接口上具有从互连布置中的第一缓冲器接收的写入完成指示,写入数据也可能被存储并呈现在中间级中。在所述情况下总线事务的同步未得以保持。
发明内容
本发明认识到提供更为有效的用于控制总线事务的同步的方法及设备可改进处理器系统中的性能且降低功率要求。还认识到,复杂的处理系统中的互连布置需经设计以在处理器与共享的存储器装置之间提供有效的数据传送从而改进性能并减少功率使用。为达到所述目的,本发明的实施例叙述一种用于控制总线事务与远程装置的同步的方法。接收装置引导的存储器屏障命令。对所述装置引导的存储器屏障命令进行解码以确定一个或一个以上目的装置。响应于解码将存储器屏障命令选择性地路由到一个或一个以上目的装置。
另一实施例叙述一种总线互连。总线互连包括经配置以接收并识别装置引导的存储器屏障命令的控制器。总线互连还包括解码器及路径选择单元,其响应于所识别的装置引导的存储器屏障命令而基于与所述装置引导的存储器屏障命令相关联的信息来选择远程装置且将存储器屏障命令选择性地路由到所选远程装置。
另一实施例叙述一种用于控制总线事务与远程装置的同步的总线主控器方法。向总线互连发布装置引导的存储器屏障命令以控制总线事务与所选远程装置的同步。从总线互连接收完成响应,所述完成响应指示装置引导的存储器屏障命令的完成。响应于完成响应,向与所选远程装置相关联的不同总线主控器发送通知。
应了解,所属领域的技术人员将根据以下详细描述而易于明了本发明的其它实施例,其中以说明的方式展示并描述本发明的各种实施例。如将认识到,均在不偏离本发明的精神及范围的前提下,本发明能够存在其它及不同实施例且能够在各种其它方面中修改其若干细节。因此,将认为图式及详细描述在本质上为说明性的且非限制性的。
附图说明
附图中以实例的方式且非限制的方式说明了本发明的各种方面,在附图中:
图1说明无线通信系统;
图2为处理器复合体,其具有多个总线主控器、采用装置引导的存储器屏障命令的总线互连及多个从属装置;
图3为用于解译并响应地址引导的存储器屏障命令的互连系统;
图4说明结合地址引导的存储器屏障命令使用的地址属性的示范性地址格式;
图5展示结合段引导的存储器屏障命令使用的段属性的示范性装置选择器格式;
图6展示说明在发布用于从地址通道接收装置信息(例如图4的地址格式400或图5的装置选择器格式500所提供)的装置引导的存储器屏障命令中的时序事件序列的时序图;
图7说明用于解译并响应段引导的存储器屏障命令的互连系统;以及
图8说明总线互连中响应于装置引导的存储器屏障命令的事件序列的流程图。
具体实施方式
希望下文中结合附图陈述的详细描述作为对本发明的各种示范性实施例的描述且不希望仅表示可实践本发明的实施例。出于提供对本发明的透彻理解的目的,详细描述包括特定细节。然而,所属领域的技术人员将明了,可脱离这些特定细节来实践本发明。在一些情形中,以框图形式展示众所周知的结构及组件以避免混淆本发明的概念。
图1说明可有利地采用本发明的实施例的示范性无线通信系统100。出于说明的目的,图1展示三个远程单元120、130及150以及两个基站140。将认识到,常见无线通信系统可具有多得多的远程单元及基站。分别包括由组件125A、125C、125B及125D来表示的硬件组件、软件组件或两者的远程单元120、130、150及基站140已适合于实施下文中进一步论述的本发明。图1展示从基站140到远程单元120、130及150的前向链路信号180及从远程单元120、130及150到基站140的反向链路信号190。
在图1中,远程单元120被展示为移动电话,远程单元130被展示为便携式计算机且远程单元150被展示为无线本地环路系统中的固定位置远程单元。以实例的方式,远程单元可替代地为蜂窝式电话、寻呼机、对讲机、手持式个人通信系统(PCS)单元、例如个人数据助理的便携式数据单元,或例如仪表读取装备的固定位置数据单元。虽然图1说明根据本发明的教示的远程单元,但本发明不限于这些示范性说明的单元。本发明的实施例可合适地用于任何具有共享的存储器子系统的装置中。
图2为处理器复合体200的示范性实施例,其具有多个总线主控器204到206、采用装置引导的存储器屏障命令的总线互连220及222以及多个从属装置210到212及216到218。多个总线主控器204到206及多个从属装置210到212及216到218经由总线互连220及222彼此耦合。特定应用所需要的总线主控器、从属装置及总线互连的实际数目(如果存在)可视处理要求及设计约束而改变。每一总线主控器可为处理器、多个处理器的群集、数字信号处理器、支持多个程序线程的线程处理器、直接存储器存取(DMA)控制器等。
例如总线互连220的总线互连管理总线业务且在一个或一个以上总线主控器与多个从属装置之间提供连接路径。从属装置可为存储器控制器、例如桥接A从属装置211及总线互连222的用于互连到另一总线互连装置的桥接装置、例如硬盘控制器的外围装置、通用串行总线(USB)控制器、交互显示器装置、将控制器耦合到发射器及接收器的无线电装置等。可使用专用集成电路(ASIC)技术、现场可编程门阵列(FPGA)技术或其它可编程逻辑、离散门或晶体管逻辑或合适用于既定应用的任何其它可用技术来建构总线主控器、总线互连装置及从属装置。
在总线主控器或从属装置内使用的处理器可经配置以在存储于存储媒体上的程序的控制下执行指令,所述存储媒体直接在局部上与处理器相关联(例如,可经由指令高速缓冲存储器而可用)或可经由总线互连而从从属装置存取。总线主控器还可处理驻存于存储器装置中的数据,所述存储器装置直接在局部上与处理器相关联(例如,可经由数据高速缓冲存储器而可用)或可经由总线互连而从从属装置存取。存储媒体可包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、紧密光盘(CD)、数字视频光盘(DVD)、其它类型的可装卸光盘或任何其它合适的存储媒体。
以一般形式说明总线互连220及222,其具有单独的写入数据、地址及读取数据总线及相关联的控制信号。在许多系统中,可使用组合的写入及读取数据总线。大体来说,视特定系统的要求,单独的地址、读取数据及写入数据通道符合特定总线架构或标准。为清晰论述写入传输路径,描述写入通道(WCH)224、地址通道(ACH)226及传播读取、写入、屏障及类似响应的响应通道(RSP)228,其允许从源装置向目的装置传达传送地址、传送属性、命令及写入数据。注意,可有利地使用单独的写入响应通道以获得改进的系统性能。
传送属性可为描述传送的性质或提供传送所需的额外信息的参数。举例来说,描述传送的传送属性可与地址通道相关联且可用以识别将接收传送的一个或多个目的装置。或者,视通信子系统的架构而定,可使用边带信令来传输传送属性或将传送属性包括作为数据包中的标头的一部分。进一步假设(虽然不限于此布置)从属装置的总线接口附着到相同或相似类型的接口。这些单独的接口通常经缓冲以支持多个装置之间的总线业务的流量控制及改变。明确地说,示范性处理器复合体200说明从总线主控器204到206到多个从属装置210到212及216到218中的任一者的写入路径的缓冲器230到245。了解到,同样以类似方式但在相反方向上建构总线主控器与从属装置之间的读取数据路径。
所述处理器复合体200中的总线主控器可能有时需要有序的读取及写入操作事务,所述读取及写入操作事务越过源点与目的点之间的各个总线。出于说明的目的,描述示范性数据传送情境,其中总线主控器204为在存储数据之前处理数据的处理器,B从属装置218为将接收数据的存储器单元,且总线主控器205为将获取存储在B从属装置218中的数据以用于随后存储在硬盘上的硬盘控制器。可在高层级上观看数据传送情境,其中总线主控器204发送待存储于B从属装置218中的数据块且接着引导总线主控器205从B从属装置218存储装置检索数据且将其保存到硬盘。所述情境由如下步骤组成:经由总线互连220中的缓冲器230及234将数据块传送到桥接A从属装置211中的缓冲器237、传送到总线互连222中的缓冲器239及242且传送到B从属装置218中的缓冲器245。B从属装置218接着将所述数据块存储在其存储器中。一旦已存储所述数据块,便经由总线互连222将确认发送回桥接A从属装置211、总线互连220及总线主控器204。总线主控器204接着告知总线主控器205可获取所述数据块以将其存储在硬盘上。总线主控器205经由两个总线互连220及222沿接收路径获取数据且完成存储到磁盘的操作。此类型的操作序列被称作制造者-消费者模型。
在复杂系统中,其中多个总线主控器存储并检索来自存储器B从属装置218的数据,归因于总线存取的仲裁等待时间及总线上的传输时间,这些事务可花费相对较长的时间。高性能处理器可继续处理且准备好在前一操作完成之前向同一装置发送进一步数据。使处理器总线主控器204停滞直到接收到确认为止或要求总线主控器记住操作次序可能急剧地降低性能。
如上文所指示,多处理器系统中的总线主控器可能有时需要有序的读取及写入事务,所述读取及写入事务越过各种系统互连总线到共享的存储器设施中。对存储器的读取及写入操作中的许多者要求读取及写入事务以与其起始时相同的次序完成。注意,虽然保持此排序关系,但无序地执行不相关的读取及写入事务可能产生性能收益。因此,可使用弱有序存储器模型。弱有序存储器模型允许缓和(例如)写入-读取、读取-读取及读取-写入程序次序,包括先读取自身写入(read-to-own-write early)。弱有序存储器模型通常不允许先读取其它的写入(read-of-other′s-write early)。
此对有序及无序事务两者的需要已导致一些架构使用栅栏或存储器屏障操作以用于在需要时强制进行有序事务。当在本文中使用时,存储器屏障是用以在共享存储器的事务之间强加次序的大体操作。举例来说,描述两种类型的存储器屏障。第一类型为数据存储器屏障(DMB),其简单地在总线主控器先前进行的存储器存取与后续存储器存取之间建立屏障。DMB确保在DMB之前发布的所有未完成的显式存储器存取均在任何随后的存储器事务开始之前完成。第二类型为数据同步屏障(DSB),其不仅建立屏障还强制进行文本同步。DSB以类似于DMB的方式操作,额外要求为,在完成DSB之前不执行在DSB之后发布的存储器存取。举例来说,在完成DSB之前通常不执行所有高速缓冲存储器、分支预测器及翻译后备缓冲器(TLB)维护指令。
在制造者-消费者关系中,制造者总线主控器所起始的数据传送操作应在向消费者(不同的总线主控器)发信号通知所述数据已传送且现在可用之前完成。如果未满足所述要求,则即使制造者在其主控器接口上具有写入完成指示,仍可将写入数据存储并呈现在互连子系统内的中间级中,例如在缓冲器230到245中。
解决所述问题的一种方法使用制造者在其已写入整个有效负载之后且在向消费者发信号之前向总线互连发送数据同步屏障(DSB)。以此方式,强制完成来自此主控器的所有先前事务。一旦屏障操作完成,制造者便通知消费者,保证写入有效负载。此方法的缺点在于,通常需要总线互连将来自总线主控器的屏障操作解译为向总线主控器存取的所有从属装置广播屏障命令的指示。为完成此对屏障命令的广播,仲裁通向从属装置中的每一者的总线接口,向从属装置广播屏障命令且接着等待对所有所广播的屏障命令的响应。一接收到来自从属装置中的每一者的所有响应,便可将完成响应返回发起屏障命令的总线主控器。由于制造者可存取许多从属装置且从属装置可为到具有额外从属装置的另一总线互连的桥接器,因此仲裁每一从属装置且等待来自从属装置中的每一者的响应的过程可能极为耗时。认识到,此方法可能导致性能损失及增加的功率消耗。
为解决所述问题,使用有利的装置引导的存储器屏障命令,其提供与发送到总线互连的有效负载数据相关联的装置信息。装置信息可采用地址的形式,例如表示一个或多个装置可能响应的地址范围的若干高阶地址位或以特定位位置来识别装置的选择位。这些装置引导的存储器屏障命令在例如地址总线或边带信号路径的信令路径上提供装置特定信息。举例来说,可使用例如地址通道ACH 226的地址通道从总线主控器发送地址引导的存储器屏障命令以提供总线命令的属性及地址。地址引导的存储器屏障命令的唯一编码使得能够在总线互连及接收所述命令的任何附接装置中识别其。
总线互连对地址引导的存储器屏障命令进行解码且利用来自地址总线的所选高阶地址位来确定对于相关联的有效负载数据寻址哪一从属装置。地址引导的存储器屏障命令可指定单个从属装置与有效负载数据相关联。由于从属装置通常被指派以唯一的地址范围,所以总线互连中可包括地址解码及总线导引功能以支持正常的读取及写入数据传送且其经延伸以支持装置引导的存储器屏障命令。地址引导的存储器屏障命令控制对寻址的一个或多个从属装置的同步。认识到,通过所述装置引导的命令,对一个或多个目标从属装置产生DSB且所述DSB通常不会分配到其它装置。装置引导的存储器屏障命令有利地减少了控制总线事务的同步所需要的广播操作的数目,其节省了系统总线上的功率及带宽两者。
图3为用于解译并响应地址引导的存储器屏障命令的互连系统300的示范性实施例。互连装置300说明具有总线主控器接口306及308的两个总线主控器302及304、总线互连309及具有从属装置接口314到316的多个从属装置310到312。虽然展示了两个总线主控器及三个从属装置,但了解,特定应用所需要的总线主控器及从属装置的实际数目可视处理要求及设计约束而改变。
在示范性操作情境中,总线主控器302向总线互连309发布将具有地址引导的存储器屏障命令的数据包传送到从属装置311的请求。从总线主控器接口306将地址引导的存储器屏障(ADB)命令接收到请求队列318中。ADB命令在被选定时在内部请求总线320上可用且被接收于命令解码及控制器322中。ADB命令在命令解码及控制器322中被解码,其使得地址解码及路径选择单元324能够从地址范围寄存器326选择与数据包总线请求相关联的恰当地址范围。针对与例如从属装置310到312的每一从属装置相关联的存储器区域来编程地址范围寄存器。如下文中进一步详细描述,将与从属装置的事务相关联的地址范围值与ADB命令所供应的地址进行比较。
基于一个或多个目的从属装置,在内部路径332到334上将事务请求传递到仲裁器328到330中的一者或一者以上。在实例情境中,在内部路径333上将事务请求传递到仲裁器329。仲裁器328到330与例如总线主控器302及304的多个总线主控器相关联且仲裁所述总线主控器的对从属装置的存取权。仲裁器328到330分别连接到请求队列338到340。请求一旦被仲裁,便将屏障请求传递到请求队列339且其从请求队列339经由从属装置接口315传递到目的从属装置311。
命令解码及控制器322对地址引导的存储器屏障(ADB)命令进行解码且产生数据同步屏障(DSB)命令以用于传送到指定的从属装置。举例来说,ADB命令、下文中更详细描述的段引导的存储器屏障(SDB)命令及数据同步屏障(DSB)命令可采用以下表1中所展示的各种命令的示范性编码:

表1
表1的编码可在总线互连309中被解码并解译以识别不同类型的存储器屏障命令。可经由总线互连309将编码传递到从属装置,所述从属装置可将编码解码并解译为指示数据同步屏障(DSB)命令的“1xx”。还可使用此技术或其它所述编码技术来编码数据存储器屏障命令。
命令解码及控制器322向若干仲裁器328到330供应DSB命令。基于实例情境的地址引导的存储器屏障命令及所选地址范围,仲裁器329准许总线主控器302的请求且将DSB命令传递到请求队列339。当从请求队列339中选出时,经由从属装置接口315将DSB命令传递到从属装置311。
例如返回信号路径344所指示,从属装置311在其可确保满足DSB的排序要求后通过在响应通道上的返回确认来确认接收到DSB命令。总线互连309经由总线主控器接口306将返回确认传递到总线主控器302。如下文中进一步描述,如果基于DSB命令将存储器屏障命令发送到多个从属装置,则在对发出请求的总线主控器进行回应之前首先收集来自所有从属装置的确认。
图4说明结合地址引导的存储器屏障命令使用的地址属性的示范性地址格式400。在例如图2的ACH 226的地址通道(其具有(例如)32位宽度)上提供的信息可分为J位段地址404及保留字段406。J位段地址404表示从属装置所响应的地址的高阶位。举例来说,参数“J”可为16个位,其为32位地址的16个高阶位。从属装置中的每一者被映射到系统地址空间中的特定地址范围,从而将系统地址空间分段。视从属装置的功能而定,可向从属装置指派较大的地址范围或可指派多个单独的地址范围。举例来说,如果从属装置为存储装置,则可指定较大的地址范围。可向具有多项功能的从属装置指派多个单独的地址范围。基于经分段的地址映射,可选择J的值以使得可以特定的J位段地址值来识别个别从属装置或多个从属装置。
图5展示结合段引导的存储器屏障命令来使用的段属性的示范性装置选择器格式500。例如图1的ACH 226的地址通道(其具有(例如)32位宽度)可在通道上提供信息,所述信息被划分为保留字段504及多个从属装置启用位506到508。或者,可在边带信令路径上提供从属装置启用位506到508。从属装置启用位506到508使得能够识别将接收存储器屏障命令的从属装置。举例来说,通过16个从属装置启用位,可逐一启用16个从属装置。举例来说,图3的从属装置311可经指定以对应于从属装置启用位S1507,所述从属装置启用位S1507可出于段引导的存储器屏障命令的目的而接着用以指示从属装置311是否将接收屏障命令。可通过使用从属装置启用位506到508来启用从属装置的各种组合。
针对例如图2的处理器复合体200的系统,可使用地址格式400或装置选择器格式500来指定从属装置的阶层式布置,从而识别第一层级互连上的例如从属装置210到212的从属装置且单独地识别第二层级互连上的例如从属装置216到218的从属装置。举例来说,使用地址格式400,可针对第一层级互连指定J位段地址404,其中“J”经设定等于16个位,从而允许使用保留字段406(其也具有16个位)来指定第二层级互连的第二段地址字段。以类似的方式,可将装置选择器格式500划分为两个段,所述两个段各自单独地指定两层级互连阶层的从属装置启用位。还注意,两层级阶层可使用组合的方法。举例来说,第一层级互连可使用地址格式的第一分区中的J位段地址字段404且第二层级互连使用保留字段406中的从属装置启用位。
视特定系统中的地址通道的总线宽度及每一阶层式层级上的从属装置的数目而定,在单个格式内的所述阶层式规定可能是不可能的。在所述情形中,举例来说,可在总线互连220或桥接从属装置211内指定装置选择器寄存器。借助每一桥接互连路径中的32位宽度的地址通道及也为32位宽度的装置选择器寄存器,可在多层级阶层式系统的每一层级上识别32个从属装置。可借助标准加载或复制机构来加载装置选择器寄存器中的位,例如(例如)通过使用直接加载指令。
图6展示说明在发布用于从地址通道接收装置信息(例如图4的地址格式400或图5的装置选择器格式500所提供)的装置引导的存储器屏障命令中的时序事件序列的时序图600。通过参看互连系统300的示范性元件来指示图6的时序事件与图3的元件之间的示范性关系,可适当地采用互连系统300的示范性元件来执行图6的时序事件。
时序图600说明从具有装置引导的存储器屏障命令的总线主控器302到从属装置311的总线事务的信号及时序事件。信号包括系统提供的时钟602及总线主控器302信号主控器地址有效信号(MAVLD)604、主控器地址通道(MADDR)605及主控器属性(MATTRB)信号606。总线互连309提供的信号包括互连地址就绪(IARDY)信号608、总线互连读取响应(IRRSP)信号610、互连地址有效(IAVLD)信号612、互连地址通道(IADDR)613及互连属性(IATTRB)信号614。从属装置311提供的信号包括从属装置地址就绪(SARDY)信号616及从属装置读取响应(SRRSP)信号618。时钟602提供其它信号的时序参考。
第一总线事务以总线主控器302起始将装置引导的存储器屏障命令传送到从属装置311开始。在时间T1630,主控器断言主控器地址有效(MAVLD)信号604且在地址通道上提供主控器属性(ADB)值(例如图4的地址格式400或图5的装置选择器格式500)作为装置引导的存储器屏障命令的部分。作为响应,总线互连309发布IARDY信号608且接受请求、主控器提供的属性(MATTRB)信号606及来自地址通道MADDR 605的地址或从属装置启用位。MATTRB信号606包括对装置引导的存储器屏障命令的类型的指示。
总线互连309仲裁目的路径且将DSB请求写入到请求队列339。在时间Tk1 634,当总线互连309就绪时,总线互连309断言互连地址有效(IAVLD)信号612且提供互连属性(IATTRB)值以指定数据同步屏障(DSB)。注意,对于到从属装置的DSB请求,在到从属装置的接口上不使用互连地址通道IADDR 613。作为响应,从属装置311断言SARDY信号616且接受请求及来自互连地址通道的由总线互连309提供的属性(IATTRB)信号614。IATTRB信号614包括DSB命令指示,其不需要地址信息来进行适当操作,因为其为从属装置终点。在时间Tk2 638,如从属装置读取响应(SRRSP)信号618所指示,总线互连309接着从从属装置311处接收读取响应。虽然简单说明了SRRSP信号618,但注意,在读取响应传送时将使用读取有效及读取就绪信号。在时间Tj3 642(考虑到总线互连的内部处理,其可能在一个或一个以上循环之后),向总线主控器断言IRRSP 610以指示已完成排序操作。
图7说明用于解译并响应段引导的存储器屏障命令的互连系统700。互连装置700说明具有总线主控器接口706及708的两个总线主控器702及704、总线互连709及具有从属装置接口314到316的多个从属装置310到312。虽然展示了两个总线主控器及三个从属装置,但了解,特定应用所需要的总线主控器及从属装置的实际数目可视处理要求及设计约束而改变。
在示范性操作情境中,总线主控器702向总线互连709发布将段引导的存储器屏障命令传送到从属装置311的请求。从总线主控器接口706将段引导的存储器屏障(SDB)命令接收到请求队列718中。SDB命令在被选定时在内部请求总线720上可用且被接收于命令解码及控制器746中。SDB命令在命令解码及控制器746中被解码,其使得选择器及路径选择单元748能够使用段属性中的指定位(例如与段引导的存储器屏障命令相关联的图5的多个从属装置启用位506到508)来确定所选远程装置。
基于一个或多个所选远程从属装置,经由内部路径332到334将事务请求传递到仲裁器328到330中的一者或一者以上。在实例情境中,经由内部路径333将事务请求传递到仲裁器329。仲裁器328到330与例如总线主控器702及704的多个总线主控器相关联且仲裁所述总线主控器的对从属装置的存取权。仲裁器328到330分别连接到请求队列338到340。请求一旦被仲裁,便将屏障请求传递到请求队列339且其从所述请求队列经由从属装置接口315传递到目的从属装置311。命令解码及控制器746对段引导的存储器屏障命令进行解码且产生数据同步屏障(DSB)指令以用于传送到指定的从属装置。
命令解码及控制器746向若干仲裁器328到330供应DSB命令。基于段引导的存储器屏障命令及实例情境的所选远程装置,仲裁器329准许总线主控器702的请求且将DSB命令传递到请求队列339。当从请求队列339中选出时,经由从属装置接口315将DSB命令传递到从属装置311。
例如返回信号路径344所指示,从属装置311通过响应通道上的返回确认来确认接收到DSB命令。总线互连309经由总线主控器接口706将返回确认传递到总线主控器702。如果基于段选择字段将存储器屏障命令发送到多个从属装置,则在对发出请求的总线主控器进行回应之前首先收集来自所选从属装置的确认。
针对例如图2的处理器复合体200的系统,可使用装置选择器格式500来指定从属装置的阶层式布置,从而识别第一层级互连上的例如从属装置210到212的从属装置及第二层级互连上的例如从属装置216到218的从属装置。视特定系统中的地址通道的总线宽度及每一阶层式层级上的从属装置的数目而定,在单个格式内的阶层式规格可能是不可能的。在所述情形中,举例来说,可在总线互连709或图2的桥接从属装置211内指定例如选择器寄存器750的装置选择器寄存器。通过每一桥接互连路径中的32位宽度的地址通道及也为32位宽度的选择器寄存器750,可在多层级阶层式系统的每一层级上识别三十二个从属装置。可通过标准加载或复制机构来加载选择器寄存器750中的位,例如通过使用直接加载指令。
图8说明总线互连中响应于装置引导的存储器屏障命令的事件序列的流程图800。分别通过参看互连系统300及700的示范性元件来指示图8的块与图3及图7的元件之间的示范性关系,可适当地采用互连系统300及700的示范性元件来执行图8的事件序列。
在块804开始,总线主控器302向总线互连309传输装置引导的存储器屏障命令。在块806,总线互连309将请求排入请求队列318中。在决策块808,总线互连309确定传送请求为正常传送还是屏障命令。如果请求是针对正常传送,则随后进行正常传送流程。如果请求为屏障命令,则到达决策块810。在决策块810,总线互连确定屏障为地址引导的存储器屏障还是段引导的存储器屏障。
如果请求为地址引导的存储器屏障,则到达块812。在块812,在地址解码及路径选择单元324中将来自总线主控器的提供在地址通道上的地址与从地址范围寄存器326提供的可用从属装置可寻址区域进行比较。选择那些具有匹配的从属装置可寻址区域的从属装置作为目的从属装置。如果请求为段引导的存储器屏障,则到达块814。在块814,在选择器及路径选择单元748中选择图5的装置选择器格式500中指示的从属装置作为目的从属装置。在块816,将存储器屏障命令转发到一个或多个所选目的从属装置。在决策块818,总线互连309等待对所有屏障响应的待决接收。一旦已接收到所有屏障响应,则达到块820。在块820,将屏障响应转发到发出请求的总线主控器,其在此情境中为总线主控器302。在此点处,地址/段引导的存储器屏障操作完成。
强有序存储器存取提供用于控制从主控器向从属装置的数据传送请求的序列或对其强加程序次序的另一种机制。可将强有序存储器存取看作非高速缓冲存取且可能共享存取位置。强有序存储器存取进行操作就如同存取受到栅栏(例如通过使用数据存储器屏障命令而获得的)保护一样。存取类型可提供在单独的信号集合上,其指示对附接装置的存取是否为强有序存储器存取。接收对强有序存储器存取的指示的总线互连向可能由起始强有序存储器存取的总线主控器所存取的所有从属装置(除目标从属装置以外)广播数据存储器屏障命令。在接收到DMB的所有从属装置均已确认完成DMB之后,互连装置向目标从属装置发布强有序存取。
通过使用段引导的强有序存储器存取,如在例如(举例来说)图5的装置选择器格式500的装置选择器格式中唯一地识别,互连装置被告知一个或多个目标从属装置且有利地不广播DMB。可直接对所述一个或一个以上从属装置目标进行强有序存取。由于强有序存取需要地址通道,所以边带信号可为用以识别目标从属装置的从属装置启用寄存器位提供信号路径。
结合本文中揭示的实施例来描述的各种说明性逻辑块、模块、电路、元件及/或组件可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中描述的功能的任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。还可将处理器实施为计算组件的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合或适用于所要应用的任何其它所述配置。
结合本文中所揭示的实施例来描述的方法可直接以硬件、由处理器执行的软件模块或所述两者的组合体现。软件模块可驻存于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器以使得所述处理器可从所述存储媒体中读取信息且将信息写入到所述存储媒体。在替代方案中,存储媒体可与处理器成一体。
虽然在指令高速缓冲存储器、数据高速缓冲存储器及其它类型的高速缓冲存储器的说明性实施例的背景中揭示了本发明,但将认识到,所属领域的技术人员可采用与以上论述及所附的权利要求书一致的广泛多种实施方案。

装置引导的存储器屏障.pdf_第1页
第1页 / 共24页
装置引导的存储器屏障.pdf_第2页
第2页 / 共24页
装置引导的存储器屏障.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《装置引导的存储器屏障.pdf》由会员分享,可在线阅读,更多相关《装置引导的存储器屏障.pdf(24页珍藏版)》请在专利查询网上搜索。

本发明描述用于控制总线事务的同步以改进共享存储器系统中的性能并降低所述共享存储器系统中的功率要求的有效技术。还描述复杂的处理系统中的互连布置,其在总线主控器与共享的存储器装置之间提供有效的数据传送从而改进性能并降低功率使用。在一个实例中,叙述一种用于控制总线事务与远程装置的同步的方法。接收装置引导的存储器屏障命令。对所述装置引导的存储器屏障命令进行解码以确定一个或一个以上目的装置。响应于所述解码将。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1