管理管芯上的系统组织结构中的边带路由器的制造方法

文档序号:6496954阅读:150来源:国知局
管理管芯上的系统组织结构中的边带路由器的制造方法
【专利摘要】描述了用于管理管芯上的系统组织结构(OSF)中的边带路由器的方法和装置。在一个实施例中,可在运行时间中至少部分地基于存储在可由耦合到边带OSF路由器的代理访问的表中的信息重新配置边带OSF路由器。还公开了其它实施例。
【专利说明】管理管芯上的系统组织结构中的边带路由器
【技术领域】
[0001]本公开一般涉及电子学领域。更具体地,本发明的实施例涉及管理管芯上的系统组织结构(OSF)中的边带路由器的技术。
【背景技术】
[0002]集成电路芯片通常包括很多组件。芯片的总体性能可能与这些组件彼此多么快速地通信直接相关。为了在组件之间传达数据,可使用各种通信机制。然而,例如由于复杂性、成本等,通信机制可能不容易配置。这可能又会降低配置通信机制时的灵活性。
【专利附图】

【附图说明】
[0003]参照附图提供详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项目。
[0004]图1-4示出计算系统的实施例的框图,其可用于实现本文讨论的各个实施例。
【具体实施方式】
[0005]在以下描述中,阐述众多具体细节以提供对各实施例的透彻理解。然而,在没有这些具体细节的情况下也可实践某些实施例。在其它实例中,并未对公知方法、程序、组件以及电路进行详细描述以免模糊具体实施例。
[0006]在一些实施例中,OSF中的边带路由器可经由路由器管理端点(RM端点)配置。一般而言,OSF可包括主部分和边带部分。边带部分可包括一个或多个OSF边带路由器(例如,用于在OSF中的各代理之间路由消息)和端点(例如,在OSF中发送和接收消息的代理)。端点可通过发送消息彼此通信,这些消息通过OSF中的路由器在点对点接口链路上传播。如本文中讨论的,“边带”网络、组织结构、部分、信道等一般指的是用于传达带外信息的接口,例如用于消除专用线路,这些专用线路对再使用不同设计的电路块(诸如知识产权块)造成的最大风险。此外,在各实施例中,可将边带消息接口用于状态、电源管理、配置遮蔽、测试模式等等。
[0007]此外,在一些实例中,在没有RTL(寄存器传输逻辑)的再生成以及设计的再合成以增加新端点或改变端口 ID(标识符)的情况下,OSF边带路由器可能不是可配置的。同样,多个端口 ID可被分配给特定端点,或者可能需要执行减法解码以允许端口 ID改变。为此,一些实施例允许边带OSF路由器可配置成例如通过经由路由表重新配置(例如,通过使用固件)再使用OSF边带中的现有路由器来避免RTL的再生成或设计的再合成。
[0008]本文讨论的技术可应用于各种计算系统中,诸如参考图1和3-4讨论的那些。更具体地,图1示出根据本发明的一实施例的计算系统100的框图。系统100可包括一个或多个代理102-1至102-M(在本文中统称为“代理102”)。在实施例中,代理102中的一个或多个可以是诸如参考图3-4所讨论的计算系统之类的计算系统的组件中的任一个。
[0009]如图1所示,代理102可经由主组织结构104 (诸如0SF)通信。因此,在一实施例中,代理102和组织结构104可存在于同一集成电路管芯上。如本文所讨论的,“OSF”可指管芯上系统组织结构,该管芯上系统组织结构是可升级的、可配置的和/或产品专用的。例如,每个代理102可以是桥(例如,用于耦合到另一个组织结构)、IP块,或经由组织结构104耦合的电子设备的另一个组件。在一个实施例中,组织结构104可包括允许各代理(诸如计算设备)传达数据的计算机网络。在一实施例中,组织结构104可包括经由串行(例如,点对点)链路和/或共享的通信网络通信的一个或多个互连(或互连网络)。例如,某些实施例可便于允许与完全缓冲双列直插式存储器模块(FBD)通信的链路上的部件调试或验证,例如,其中FBD链路是用于将存储器模块耦合到主机控制器设备(诸如处理器或存储器中枢)的串行链路。调试信息可从FBD通道主机传输,以使得调试信息可沿着通道由通道通信量跟踪捕获工具(诸如一个或多个逻辑分析器)观测。
[0010]在一个实施例中,系统100可支持分层协议方案,该分层协议方案可包括物理层、链路层、路由层、传输层和/或协议层。对于点对点或共享网络,结构104还可便于数据(例如以分组形式)从一个协议(例如,高速缓存处理器或高速缓存知晓存储器控制器)传输到另一协议。而且,在某些实施例中,组织结构104可提供遵守一个或多个高速缓存一致性协议的通信。或者,组织结构104可遵守非一致性协议。
[0011]此外,如图1中的箭头方向所示,代理102可经由组织结构104发送和/或接收数据。因此,某些代理可利用单向链路通信,而其它代理可利用双向链路通信。例如,一个或多个代理(诸如代理102-M)可(例如,经由单向链路106)发送数据,其它代理(诸如代理102-2)可(例如,经由单向链路108)接收数据,而某些代理(诸如代理102-1)可(例如,经由双向链路110)发送和接收数据。在一些实施例中,链路106-110可以是OSF接口,该OSF接口提供协议和/或信令以允许IP块在多种设计之间交互操作。
[0012]在实施例中,耦合代理102的OSF接口(例如链路106-110)可提供两个端口,称为主信道和边带信道。主信道可以:(a)是用于对等体和/或上游之间的数据传递的高性能接口 ; (b)支持存储器(例如,32位、44位)、输入/输出(IO)、配置和消息事务;(c)支持外围组件互连(PCI)快速(“PCIe”,根据PCI快速基础规范3.0,版本0.5,2008年8月)排序规则和列举;(d)支持拆分事务协议;和/或(e)映射PCIe头部信息。边带信道可以:(i)提供边带接口以传达边带(在本文中可互换地称为“带外”)信息并消除专用线路;(ii)提供点对点网络;(iii)用于状态、电源管理、配置遮蔽、测试模式等等;和/或(iv)用于低性能(例如,不旨在用于主数据传送)。
[0013]如图1所示,在一些实施例中,可通过边带0SF120提供边带信道。边带0SF120可包括一个或多个路由器122,该路由器促进两个或更多个代理102之间经由接口 130、132和134的带外消息的通信。接口 130、132和134可被实现为点对点链路。同样,点对点链路可以是双向或单向的(例如,一个单向链路专用于消息发送,而另一个专用于消息接收)。
[0014]图2示出根据实施例的系统200的框图,其具有可存在于基于OSF的设计中的各种组件。在一个实施例中,系统200中的端点的至少一个(诸如参考图1讨论的代理102)可被配置为RM端点202 (其中在一个实施例中RM端点202可以是参考图1讨论的代理102之一)。RM端点202可访问和/或包括一个或多个(可编程)路由表(对于系统200中的一个或多个路由器,例如表204-1至204-X)。例如,路由表204-1可对应于OSF路由器210,路由表204-2可对应于OSF路由器212等。RM端点202本身可具有固定/静态端口 ID。同样,RM端点202可经由OSF路由器210与一个或多个其它端点220-1至220-Y和/或PCIe逻辑230通信。或者,端点202可耦合到一个以上的OSF路由器。
[0015]在一些实施例中,OSF路由器(例如,路由器210、212等)可从RM端点202 (例如,从表204-1至204-X)获得各种存储的信息,包括以下各项中的一个或多个:(I)耦合到OSF路由器的每个端点的端口 ID,例如用于确定路由;(2)支持的操作码信息用于经由边带OSF路由器的分组通信(如以下进一步讨论的);和/或(3)耦合到OSF路由器的每个端点的状态(其中例如根据存储的位,可启用或禁用端点的状态)。因此,每个表204-1至204-X可包括用于每个端点的项(I)至(3)(例如,根据存储在表204-1至204-X中的端点标识符)。
[0016]在实施例中,RM端点202允许安全的系统逻辑,诸如可管理引擎(ME)固件(其可被存储在存储器中,诸如参考图3-4讨论的那些存储器,包括系统中的高速缓存或存储器,例如存储器410)以配置OSF路由器(例如,路由器210和/或212)。该RM端点的一个应用是允许所支持的操作码(opcode)被编程。ME固件可通过RM端点限制或编程新支持的opcode,且OSF路由器将能够利用重新配置后的新opcode处理通信分组。这还可用于收紧OSF边带安全性,以限制仅某些操作码通过OSF边带路由。
[0017]在一个实施例中,RM端点202还可被用于利用耦合到OSF边带120的每个设备控制器(例如,用于每个端点220-1至220-Y)的某些操作码改变通信分组的路由。它的一个应用是允许通信分组的重定向。例如,通信分组可在由OSF路由器重新路由到预期端口之前被重定向至ME用于一个或多个附加服务例程。此外,可在运行时间中通过RM端点配置启用或禁用耦合到边带0SF120的设备控制器端点。这可用于出于安全原因或为了在调试期间隔离设备端口,锁定(或减少访问)设备控制器,以免进一步访问通过OSF边带。设备控制器端点还可在该特征已经被禁用时被锁定。
[0018]在一些实施例中,RM端点表可被实现为可编程寄存器块,例如,仅可由诸如ME固件或功率管理控制器(PMC)固件之类的安全逻辑访问。OSF路由器还可包括形成可从RM端点配置的路由表的逻辑。ME或PMC固件流也可被修改以在平台引导期间配置RM端点。在一些实施例中,可在参考图1和3-4讨论的系统的组件的任一个中提供PMC和/或ME。
[0019]根据一些实施例中,可(例如通过RM端点202)管理边带路由器以便:(a)在运送之前按客户配置OSF ; (b)基于客户需要配置某些安全性要求;(c)提供运行时间配置以便在耦合到OSF的代理之间路由消息;和/或(d)作为安全性的一部分,禁用OSF网络上的设备。
[0020]可使用各种类型的计算系统来实现本文中讨论的实施例(诸如参照图1-2所讨论的那些实施例)。例如,图3示出计算系统300的实施例的框图。图1的代理102中的一个或多个可包括计算系统300中的一个或多个组件。计算系统300可包括耦合到互连网络(或总线)304的一个或多个中央处理单元(CPU) 302 (在本文中可将其统称为“处理器302”)。处理器302可以是任何类型的处理器,诸如通用处理器、网络处理器(它可处理在计算机网络305上传达的数据)等(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器302可具有单核或多核设计。具有多核设计的处理器302可将不同类型的处理器核集成在同一集成电路(IC)管芯上。另外,具有多核设计的处理器302可实现为对称或非对称的多处理器。
[0021]处理器302可包括一个或多个高速缓存和/或存储器管理单元(MMU,未示出)。在各实施例中,高速缓存可以是私有的和/或共享的。一般而言,高速缓存存储与其它位置存储的原始数据相对应的数据或先前计算出的数据。为了减少存储器访问等待时间,一旦将数据存储在高速缓存中,就可通过访问经高速缓存的副本而非重新取出或重新计算原始数据来进行将来的使用。该高速缓存可以是用于存储由系统300的一个或多个组件使用的电子数据(例如,包括指令)的任何类型的高速缓存,诸如一级(LI)高速缓存、二级(L2)高速缓存、三级(L3)高速缓存、中级高速缓存、末级高速缓存(LLC)等。如图3所示,0SF104-120可耦合在一个或多个IP块303和处理器302之间(例如,通过互连304)。
[0022]芯片组306可附加地耦合到互连网络304。此外,芯片组306可包括存储器控制器中枢(MCH)308。MCH308可包括耦合到存储器312的存储器控制器310。存储器312可存储数据,例如包括由处理器302或与计算系统300的组件通信的任意其它设备执行的指令序列。在实施例中,存储器312可用于存储诸如参考图1-3所讨论的数据(诸如页表)。同样,在本发明的一个实施例中,存储器312可包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(RAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、静态RAM (SRAM)等。也可利用非易失性存储器,诸如硬盘。可将诸如多个处理器和/或多个系统存储器之类的另外的设备耦合到互连网络304。
[0023]MCH308还可包括(例如,在实施例中经由图形加速器)耦合到显示设备316的图形接口 314。在一个实施例中,图形接口 314可经由加速图形端口(AGP)耦合到显示设备316。在本发明的实施例中,显示设备316(诸如平板显示器)可通过例如信号转换器耦合到图形接口 314,该信号转换器将诸如视频存储器或系统存储器(例如,存储器312)之类的存储设备中存储的图像的数字表示转换成由显示器316解释和显示的显示信号。
[0024]如图3所示,中枢接口 318可将MCH308耦合到输入/输出控制中枢(ICH)320。ICH320可向耦合到计算系统300的输入/输出(I/O或10)设备提供接口。ICH320可通过诸如可遵守PCIe规范的外围组件互连(PCI)桥、通用串行总线(USB)控制器等等外围桥(或控制器)324耦合到总线322。桥324可在处理器302和外围设备之间提供数据路径。可使用其它类型的布局。同样,多个总线可例如通过多个桥或控制器耦合到ICH320。例如,总线322可遵守可从美国俄勒网州波特兰市的PCI专用业务组获得的PCI本地总线规范版本3.0 (2004)(在下文中称为“PCI总线”)。或者,总线322可包括遵守可从上述美国俄勒冈州波特兰市的PCI专用业务组获得的PC1-X规范版本3.0a (2003)(在下文中称为“PC1-X总线”)和/或PCI快速(PCIe)规范(PCIe快速基础规范,版本0.5,2008年8月)的总线。此外,总线322可包括总线系统的其它类型和配置。另外,在本发明的各实施例中,耦合到ICH320的其它外围组件可包括集成的驱动电子(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))等。
[0025]总线322可耦合到音频设备326、一个或多个盘驱动器328以及网络适配器330 (在实施例中可以是NIC)。在一个实施例中,耦合至总线322的网络适配器330或其它设备可经由开关逻辑312 (在一些实施例中,开关逻辑312可与图3的逻辑312相同或相似)与芯片组306通信。其它设备可耦合到总线322。同样,在本发明的一些实施例中,各部件(诸如网络适配器330)可耦合到MCH308。此外,可组合处理器302和MCH308,以形成单个芯片。[0026]另外,计算系统300可包括易失性和/或非易失性存储器(或存储)。例如,非易失性存储器可包括以下的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM (EPROM)、电 RPROM (EEPROM)、盘驱动器(例如,328)、软盘、紧致盘 ROM(CD-ROM)、数字多功能盘(DVD)、闪存、磁光盘或能够储存电子数据(例如,包括指令)的其它类型的非易失性机器可读介质。
[0027]在实施例中,存储器312可包括以下中的一个或多个:操作系统(0/S)332、应用334和/或设备驱动器336 (诸如OS、应用和/或设备驱动器)。存储器312还可包括MMIO操作专用的区域。作为存储器管理操作的一部分,可将存储在存储器312中的程序和/或数据交换到盘驱动328中。应用334可(例如在处理器302上)执行以便与耦合到网络305的一个或多个计算设备通信一个或多个分组。在实施例中,分组可以是可由从至少一个发送器发送到至少一个接收器(例如,通过诸如网络305之类的网络)的一个或多个电信号编码的一个或多个码元和/或值的序列。例如,每个分组可具有包括可用于路由和/或处理该分组的各种信息(诸如源地址、目的地地址、分组类型等)的首部。每个分组还可具有包括该分组正通过计算机网络(诸如网络305)在各计算设备之间传送的原始数据(或内容)的有效载荷。
[0028]在实施例中,应用334可利用0/S332来例如通过设备驱动器336与系统300的各部件通信。因此,设备驱动器336可包括网络适配器330专用命令,以便例如经由芯片组306在0/S332和网络适配器330或耦合到系统300的其它I/O设备之间提供通信接口。
[0029]在实施例中,0/S332可包括网络协议栈。协议栈一般指的是一组过程或程序,可执行该组过程或程序以处理通过网络305发送的分组,其中分组可适应特定协议。例如,可利用TCP/IP(传输控制协议/网际协议)栈来处理TCP/IP分组。设备驱动程序336可例如经由协议栈指示要处理的缓冲器338。
[0030]网络305可包括任何类型的计算机网络。网络适配器330还可包括直接存储器访问(DMA)引擎352,该DMA引擎352将分组写入分配给可用描述符(例如,存储在存储器312中)的缓冲器(例如,存储在存储器312中),以便通过网络305发送和/或接收数据。
[0031]图4示出根据本发明的一实施例的安排成点对点(PtP)配置的计算系统400。具体地,图4示出其中处理器、存储器和输入/输出设备通过多个点对点接口互连的系统。参照图1-3讨论的操作可由系统400的一个或多个组件来执行。
[0032]如图4所示,系统400可包括若干处理器,但为了清楚起见仅示出了其中两个处理器402和404。处理器402和404可各自包括本地存储器控制器中枢(MCH) 406和408以能够与存储器410和412 (其可存储MMIO区域)通信。存储器410和/或412可存储诸如参考图3的存储器312讨论的数据之类的各种数据。如图4所示,处理器402和404还可包括诸如参考图3讨论的高速缓存之类的一个或多个高速缓存。
[0033]在一实施例中,处理器402和404可以是参考图3讨论的处理器302之一。处理器402和404可分别使用点对点(PtP)接口电路416和418经由PtP接口 414来交换数据。同样,处理器402和404可各自使用点对点接口电路426、428、430和432经由各PtP接口422和424与芯片组420交换数据。芯片组420还可例如利用PtP接口电路437经由高性能图形接口 436与高性能图形电路434交换数据。
[0034]在至少一个实施例中,0SF104/120可将处理器402、404(例如,通过PtP接口 )耦合到一个或多个IP块303。然而,本发明的其它实施例可存在于图4的系统400内的其它电路、逻辑单元或设备中。而且,本发明的其它实施例可分布在图4中所示若干电路、逻辑单元或设备中。同样,处理器402、404可包括MMU。此外,0SF104/120可定位在系统400中的其它位置,诸如在芯片组420、通信设备446、耦合到总线440/744的设备内。
[0035]芯片组420可利用PtP接口电路441与总线440通信。总线440可具有与其通信的一个或多个设备,诸如总线桥442和I/O设备443。经由总线444,总线桥442可与诸如键盘/鼠标445、通信设备446 (诸如可与计算机网络305通信的调制解调器、网络接口设备或其它通信设备)、音频I/O设备、和/或数据存储设备448之类的其它设备通信。数据存储设备448可存储由处理器402和/或404执行的代码449。
[0036]在本发明的各实施例中,本文中例如参考图1-4讨论的操作可被实现为硬件(例如,电路)、软件、固件、微代码或其组合,它们可作为计算机程序产品来提供,该计算机程序产品例如包括其上存储有指令(或软件程序)的机器可读或计算机可读介质,这些指令用于对计算机进行编程以执行本文所讨论的过程。同样,术语“逻辑”可包括作为示例的软件、硬件和/或软件和硬件的组合。机器可读介质可包括诸如参考图1-4所讨论的存储设备之类的存储设备。此外,这种计算机可读介质可作为计算机程序产品来下载,其中该程序可经由通信链路(例如,总线、调制解调器或网络连接)通过设置在载波或其它传播介质中的数据信号从远程计算机(例如,服务器)传输到作出请求的计算机(例如,客户机)。
[0037]说明书中对“一个实施例”或“实施例”的引述意味着结合该实施例描述的具体特征、结构或特性可被包含于至少一种实现中。本说明书中各处出现的短语“在一个实施例中”可以或可以并非全部指代同一实施例。
[0038]另外,在本描述和权利要求中,可使用术语“耦合”和“连接”连同其派生词。在本发明的一些实施例中,可使用术语“连接”来指示两个或多个元件彼此直接物理或电气接触。“耦合的”可表示两个或更多个元件直接物理或电接触。然而,“耦合”也可意味着两个或多个元件可能彼此并未直接接触,但是仍然彼此协作或交互。
[0039]由此,尽管已经用结构特征和/或方法动作专用的语言描述了本发明的实施例,但是应该理解所要求保护的主题可并不被限定于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现所要求保护的主题的样本形式而公开的。
【权利要求】
1.一种集成电路,包括: 耦合第一代理和第二代理的边带管芯上的系统组织结构(OSF)路由器;以及 第一代理,访问用于存储关于边带OSF路由器的路由信息的路由表, 其中在运行时间中,至少部分地基于存储在路由表中的路由信息,能重新配置边带OSF路由器。
2.如权利要求1所述的集成电路,其特征在于,所述路由表包括以下中的一个或多个:耦合到边带OSF路由器的每个代理的端口标识符,经由边带OSF路由器的分组通信的所支持的操作码的信息,以及耦合到边带OSF路由器的每个代理的状态。
3.如权利要求2所述的集成电路,其特征在于,还包括安全逻辑,导致基于所支持的操作码信息重新配置边带OSF路由器。
4.如权利要求2所述的集成电路,其特征在于,还包括安全逻辑以在通过边带OSF路由器将分组路由到目的地之前对所述分组执行一个或多个服务例程。
5.如权利要求2所述的集成电路,其特征在于,每个代理的状态指示代理被启用还是
6.如权利要求1所述的集成电路,其特征在于,所述路由表仅由安全逻辑访问。
7.如权利要求1所述的集成电路,其特征在于,还包括多个边带OSF路由器,其中所述第一代理包括关于所述多个边带OSF路由器中的每一个的至少一个路由表。
8.如权利要求1所述的集成电路,其特征在于,所述第一代理具有静态端口标识符。
9.如权利要求1所述的集成电路,其特征在于,所述第一代理耦合到多个边带OSF路由器。
10.如权利要求1所述的装置,其特征在于,所述第一代理要包括处理器。
11.如权利要求10所述的集成电路,其特征在于,所述处理器包括一个或多个处理器核。
12.如权利要求1所述的集成电路,其特征在于,所述第二代理要包括逻辑块。
13.—种方法,包括: 将路由信息存储在第一代理能访问的路由表中;以及 在运行时间中,至少部分地基于所述第一代理可访问的所存储的路由信息,重新配置边带管芯上的系统组织结构(OSF)路由器。
14.如权利要求13所述的方法,其特征在于,所述路由表包括以下中的一个或多个:耦合到边带OSF路由器的每个代理的端口标识符,经由边带OSF路由器的分组通信的所支持的操作码的信息,以及耦合到边带OSF路由器的每个代理的状态。
15.如权利要求14所述的方法,其特征在于,还包括导致基于所支持的操作码信息重新配置边带OSF路由器。
16.如权利要求14所述的方法,其特征在于,还包括在通过边带OSF路由器将分组路由到目的地之前对所述分组执行一个或多个服务例程。
17.如权利要求14所述的方法,其特征在于,每个代理的状态指示所述代理被启用还是禁用。
18.—种系统,包括: 输入/输出(IO)设备;将处理器耦合到所述IO设备的边带管芯上的系统组织结构(OSF)路由器;以及 路由表,用于存储所述边带OSF路由器的路由信息, 其中在运行时间中,至少部分地基于存储在路由表中的路由信息,能重新配置边带OSF路由器。
19.如权利要求18所述的系统,其特征在于,所述路由表包括以下中的一个或多个:耦合到边带OSF路由器的每个代理的端口标识符,经由边带OSF路由器的分组通信的所支持的操作码的信息,以及耦合到边带OSF路由器的每个代理的状态。
20.如权利要求19所述的系统,其特征在于,还包括安全逻辑,用以导致基于所支持的操作码信息重 新配置边带OSF路由器。
【文档编号】G06F13/00GK103907102SQ201280053373
【公开日】2014年7月2日 申请日期:2012年10月2日 优先权日:2011年10月3日
【发明者】H·M·考, K·K·邱, V·Y·刘 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1