当前位置: 首页 > 专利查询>苹果公司专利>正文

用于I/O流量的一致性开关制造技术

技术编号:8593910 阅读:198 留言:0更新日期:2013-04-18 07:04
本公开涉及一种用于I/O流量的一致性开关。一种用于在SoC中将流量从I/O装置路由到存储器的系统、设备和方法。一致性开关通过处理器联合体上的一致性端口将一致流量路由至存储器控制器的实时端口。一致性开关将非一致流量路由到存储器控制器的非实时端口。一致性开关还可以在两个路径之间动态切换。流量的路由可以经由配置寄存器来配置,并且尽管软件能够发起对配置寄存器的更新,但是实际的一致性开关硬件将实施该更新。软件可以对配置寄存器的软件可写拷贝进行写入来发起针对事务标识符的对到存储器的流路径的更新,并且,随后,一致性开关更新配置寄存器的工作拷贝并实施该新路由。

【技术实现步骤摘要】

本专利技术一般地涉及片上系统,并且具体地,涉及用于在片上系统中路由事务的方法和机制。
技术介绍
片上系统(SoC)由于电子产业的持续技术提高在复杂度额尺寸上越来越高。通常的SoC可以包括连接到包含一个或多个处理器的处理器联合体的多个输入/输出(I/O)装置。处理器联合体通常可以包括一个或多个处理器以及一个或多个缓存,并且处理器联合体可以耦接到存储器控制器的CPU端口,其中处理器联合体可以通过CPU端口来访问存储器。I/o装置可以耦接到处理器联合体上的一致性(coherency)端口并通过存储器控制器的CPU端口来访问存储器。来自I/O装置的流量的一部分可以是缓存一致的(cache coherent)。来自I/O装置的流量的另一部分可以是低性能事务,并且低性能事务中的一些可以针对非可共享存储器。通常,鉴于硬件、性能和功率,核实每个事务的缓存一致性的成本很高。另外,来自I/O装置的流量会与处理器联合体竞争存储器控制器上的CPU端口上的存储带宽。此外,来自I/o装置的流量也不一定引起在处理器联合体中发生探听活动。
技术实现思路
在一个实施例中,一种设备,可以包括一个或多个处理器、存储器控制器、一个或多个I/o装置和一致性开关。这一个或多个处理器可以位于处理器联合体中,并且处理器联合体可以耦接到存储器控制器的实时端口。处理器联合体可以包括一级或多级缓存,并且,处理器联合体还可以包括耦接到一致性开关的一致性端口。一致性开关可以耦接到这一个或多个I/o装置、处理器联合体和存储器控制器。在一些实施例中,该设备可以包括非实时(NRT)模块,并且一致性开关可以经由NRT模块耦接到存储器控制器。该设备还可以包括复用器并且一致性开关可以经由复用器耦接到一个或多个I/O装置。一致性开关可以接收来自一个或多个I/O装置的事务,并且一致性开关可以将接收的事务在设备内的两条分离的路径上路由到存储器控制器。第一路径传递经过处理器联合体上的一致性端口并且经过存储器控制器的第一端口。来自已知是一致的源的流量可以经由第一路径被路由到存储器。第二路径可以传递经过NRT模块并且经过存储器控制器的第二端口。来自已知是非一致的源的流量可以经由第二路径被路由到存储器。已知是非一致的源可以生成仅访问非共享存储器的事务。在一个实施例中,一致性开关可以基于伴随事务的标识符来确定路由事务的路径。在各个实施例中,一致性开关可以配置为将流量从一致路径重新分配到非一致路径或从非一致路径分配到一致路径。一致性开关可以维护配置寄存器,并且,配置寄存器可以存储每个事务标识符的指示符。指示符可以指定对应的事务是应当经由一致的还是非一致的路径被路由到存储器。在一个实施例中,一致性开关可以维护配置寄存器的两个拷贝。配置寄存器的第一拷贝可以是软件可写拷贝并且配置寄存器的第二拷贝可以是工作拷贝。工作拷贝也可以称为影子拷贝。具有配置寄存器的两个拷贝可以辅助流量的动态切换。例如,配置寄存器的两个拷贝可以允许软件发起对配置寄存器的改变,同时,一致性开关硬件可以控制对系统行为的实际改变。具体地,软件应用可以更新配置寄存器的软件可写拷贝来基于事务标识符重新分配流量流。一致性开关可以检测对软件可写拷贝的更新,并且随后一致性开关可以更新被用来实际实现新路由的工作拷贝。鉴于以下对在此提出的方法的更详细描述,这些和其它特征和优点将对本领域技术人员变得显而易见。附图说明通过结合附图参考以下描述,可以更好地理解方法和机制的以上和更多优点,在附图中图1是图示出集成电路的一部分的一个实施例的框图。图2是图示出由一致性开关路由事务的框图。图3是图示出一致性开关的一个实施例的框图。图4是根据一个或多个实施例的配置单元的框图。图5是配置寄存器的影子拷贝的一个实施例的框图。图6是图示出用于路由事务和操作一致性开关的方法的一个实施例的一般流程图。图7是图示出用于更新一致性开关的配置寄存器的方法的一个实施例的一般流程图。图8是系统的一个实施例的框图。图9是图示出计算机可读介质的一个实施例的框图。具体实施例方式在以下描述中,阐述了大量具体细节来提供对在此提出的方法和机制的透彻理解。然而,本领域技术人员将认识到,可以在没有这些具体细节的情况下实践各个实施例。在一些实例中,公知的结构、组件、信号、计算机程序指令和技术没有被详细描述以避免使在此描述的方式模糊。将明白,为了图解的简化和清楚起见,图中示出的元件不一定是按比例绘制的。例如,一些元件的尺寸会相对于其它元件被放大。本说明书包括对“一个实施例”的引用。不同的上下文中出现的短语“在一个实施例中”不一定是指相同实施例。具体的特征、结构或特点可以以符合本公开的任意适合的方式被组合。并且,贯穿本申请使用的词语“可以”以许可含义使用(即,意味着有可能性)而不是以强制含义使用(即意味着必须)。类似地,词语“包括”意味着包括但不限于。术语。以下段落提供对本公开(包括权利要求书)中找得到的术语的定义和/或上下文。“包含” 。该术语是开放式的。如权利要求书中所使用的,该术语不排除另外的结构或步骤。考虑记载了“一种处理器,包含缓存……”的权利要求。这样的权利要求不排除处理器包括另外的组件(例如网络接口、交叉开关)。“配置为”。各种单元、电路或其它组件可以被描述为或声称为“配置为”执行一个或多个任务。在这样的上下文中,“配置为”用于通过指明所述单元/电路/组件包括在操作期间执行所述一个或多个任务的结构(例如,电路)来意指结构。这样,可以说所述单元/电路/组件被配置为执行该任务,即使该指定的单元/电路/组件当前并不是在工作的(例如,没有开启)。与“配置为”语言一起使用的单元/电路/组件包括硬件——例如,存储可运行来实现操作的程序指令的存储器、电路等。单元/电路/组件“被配置为”执行一个或多个任务的记叙明确地意在不针对该单元/电路/组件调用35U. S. C. § 112第六段。另外,“配置为”可以·包括由软件和/或固件(例如,FPGA或同通用处理器运行的软件)操纵来以能够执行所讨论的一个或多个任务的方式工作的普通结构(例如,普通电路)。“配置为”也可以包括使得制造工艺(例如,半导体制造设备)适配适合实现或执行一个或多个任务的制造装置(例如集成电路)。“第一”、“第二”等。如这里所使用的,这些术语被用作在它们之后的名词的标记,并且不暗指任何类型的排序(例如,空间的、时间的、逻辑的),除非明确这样定义。例如,在具有五个端口的存储器控制器中,术语“第一”和“第二”端口可以用来指代五个端口中的任何两个端口。“基于”。如这里使用的,该术语用来描述影响确定的一个或多个因素。该术语并不排除可能影响确定的另外的因素。即,确定可以仅基于那些因素,或可以至少部分地基于那些因素。考虑短语“基于B确定A”。虽然B可以是影响A的确定的一个因素,但是,这样的短语并不排除还基于C来确定A。在其它实例中,A可以仅基于B来确定。现在参考图1,示出图示出集成电路(IC)的一部分的一个实施例的框图。在所图示的实施例中,IC 10包括一致性开关(一致性开关)12、复用器14、直接存储器访问(direct memory access, DMA)控制器15、I/O装置16、18和20、处理器联合体22、非实时(non-real本文档来自技高网...

【技术保护点】
一种设备,包括:存储器控制器,包括多个端口;处理器联合体,耦接到所述多个端口中的第一端口;一个或多个输入/输出(I/O)装置;以及一致性开关,耦接为接收来自该一个或多个I/O装置的事务;其中,所述一致性开关配置为:响应于确定所接收的事务是一致事务,将该事务路由到所述处理器联合体;以及响应于确定所接收的事务是非一致事务,将所接收的事务路由到所述存储器控制器的多个端口中的第二端口。

【技术特征摘要】
2011.09.07 US 13/226,7181.一种设备,包括 存储器控制器,包括多个端口 ; 处理器联合体,耦接到所述多个端口中的第一端口 ; 一个或多个输入/输出(I/O)装置;以及 一致性开关,耦接为接收来自该一个或多个I/o装置的事务; 其中,所述一致性开关配置为 响应于确定所接收的事务是一致事务,将该事务路由到所述处理器联合体;以及响应于确定所接收的事务是非一致事务,将所接收的事务路由到所述存储器控制器的多个端口中的第二端口。2.如权利要求1所述的设备,其中,所述一致性开关配置为基于与所接收的事务对应的标识符来确定所接收的事务是否是一致事务。3.如权利要求1所述的设备,其中,所述处理器联合体配置为经由一致端口从所述一致性开关接收一致事务,并且其中,所述处理器联合体配置为一致地执行一致事务缓存。4.如权利要求1所述的设备,其中,所述一致性开关经由复用器耦接到所述多个I/O装置。5.如权利要求1所述的设备,其中,所述存储器控制器配置为 在该第一端口上接收实时存储请求;以及 在该第二端口上接收非实时存储请求。6.如权利要求5所述的设备,其中,所述存储器控制器配置为在所述多个端口中的每个端口上并行地接收事务。7.如权利要求1所述的设备,其中,所述处理器联合体包括一个或多个缓存,并且其中,所述处理器联合体配置为经由所述一致性端口来探听所接收的事务。8.—种设备,包括 一致性开关; 处理器联合体,包括一个或多个处理器; 存储器控制器,耦接到所述处理器联合体和所述一致性开关;以及 多个I/O装置; 其中,所述一致性开关配置为 接收来自所述多个I/O装置的多个事务; 至少部分地基于存储在配置寄存器的影子拷贝中的值来选择第一路径或者第二路径以用于路由所接收的事务;以及 响应于检测到所述配置寄存器的更新来更新所述配置寄存器的所述影子拷贝。9.如权利要求8所述的设备,其中,所述第一路径经过所述处理器联合体到所述存储器控制器的第一端口,并且其中,所述第二路径绕过所述处理器联合体。10.如权利要求8所述的设备,其中,所述配置寄存器是软件可写的,并且其中,来自所述处理器联合体的给定处理器配置为更新所述配置寄存器。11.如权利要求8所述的设备,其中,所述配置寄存器是软件可写的,并且其中,所述设备还包括位于所述处理器联合体外部的、配置为更新所述配置寄存器的I/O处理器。12.如权利要求8所述的设备,其中,所述设备还包括复用器,并且其中,所述一致性开关还配置为 接收两个分离的端口上的返回数据; 将从所述两个分离的端口接收的数据混合;以及 将混合后的数据在单个路径上递送给所述复用器。13.如权利要求12所述的设备,其中,所述复用器耦接到所述多个I/O装置。14.如权利要求8所述的设备,其中,所述值是单个比特。15.如权利要求8所述的设备,其中,伴随事务的标识符被用作所述配置寄...

【专利技术属性】
技术研发人员:T·J·米利特M·肯彻纳S·S·德塞
申请(专利权)人:苹果公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1