首页> 中国专利> 管理管芯上的系统组织结构中的边带路由器

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

摘要

描述了用于管理管芯上的系统组织结构(OSF)中的边带路由器的方法和装置。在一个实施例中,可在运行时间中至少部分地基于存储在可由耦合到边带OSF路由器的代理访问的表中的信息重新配置边带OSF路由器。还公开了其它实施例。

著录项

  • 公开/公告号CN103907102A

    专利类型发明专利

  • 公开/公告日2014-07-02

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201280053373.4

  • 发明设计人 H·M·考;K·K·邱;V·Y·刘;

    申请日2012-10-02

  • 分类号G06F13/00;G06F13/38;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人张东梅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 00:35:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-19

    授权

    授权

  • 2014-07-30

    实质审查的生效 IPC(主分类):G06F13/00 申请日:20121002

    实质审查的生效

  • 2014-07-02

    公开

    公开

说明书

技术领域

本公开一般涉及电子学领域。更具体地,本发明的实施例涉及管理管芯上 的系统组织结构(OSF)中的边带路由器的技术。

背景技术

集成电路芯片通常包括很多组件。芯片的总体性能可能与这些组件彼此多 么快速地通信直接相关。为了在组件之间传达数据,可使用各种通信机制。然 而,例如由于复杂性、成本等,通信机制可能不容易配置。这可能又会降低配 置通信机制时的灵活性。

附图说明

参照附图提供详细描述。在附图中,附图标记最左边的数字标识该附图标 记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项 目。

图1-4示出计算系统的实施例的框图,其可用于实现本文讨论的各个实施 例。

具体实施方式

在以下描述中,阐述众多具体细节以提供对各实施例的透彻理解。然而, 在没有这些具体细节的情况下也可实践某些实施例。在其它实例中,并未对公 知方法、程序、组件以及电路进行详细描述以免模糊具体实施例。

在一些实施例中,OSF中的边带路由器可经由路由器管理端点(RM端点) 配置。一般而言,OSF可包括主部分和边带部分。边带部分可包括一个或多个 OSF边带路由器(例如,用于在OSF中的各代理之间路由消息)和端点(例如, 在OSF中发送和接收消息的代理)。端点可通过发送消息彼此通信,这些消息 通过OSF中的路由器在点对点接口链路上传播。如本文中讨论的,“边带”网 络、组织结构、部分、信道等一般指的是用于传达带外信息的接口,例如用于 消除专用线路,这些专用线路对再使用不同设计的电路块(诸如知识产权块) 造成的最大风险。此外,在各实施例中,可将边带消息接口用于状态、电源管 理、配置遮蔽、测试模式等等。

此外,在一些实例中,在没有RTL(寄存器传输逻辑)的再生成以及设计 的再合成以增加新端点或改变端口ID(标识符)的情况下,OSF边带路由器可 能不是可配置的。同样,多个端口ID可被分配给特定端点,或者可能需要执 行减法解码以允许端口ID改变。为此,一些实施例允许边带OSF路由器可配 置成例如通过经由路由表重新配置(例如,通过使用固件)再使用OSF边带中 的现有路由器来避免RTL的再生成或设计的再合成。

本文讨论的技术可应用于各种计算系统中,诸如参考图1和3-4讨论的那 些。更具体地,图1示出根据本发明的一实施例的计算系统100的框图。系统 100可包括一个或多个代理102-1至102-M(在本文中统称为“代理102”)。在 实施例中,代理102中的一个或多个可以是诸如参考图3-4所讨论的计算系统 之类的计算系统的组件中的任一个。

如图1所示,代理102可经由主组织结构104(诸如OSF)通信。因此, 在一实施例中,代理102和组织结构104可存在于同一集成电路管芯上。如本 文所讨论的,“OSF”可指管芯上系统组织结构,该管芯上系统组织结构是可 升级的、可配置的和/或产品专用的。例如,每个代理102可以是桥(例如, 用于耦合到另一个组织结构)、IP块,或经由组织结构104耦合的电子设备的 另一个组件。在一个实施例中,组织结构104可包括允许各代理(诸如计算设 备)传达数据的计算机网络。在一实施例中,组织结构104可包括经由串行(例 如,点对点)链路和/或共享的通信网络通信的一个或多个互连(或互连网络)。 例如,某些实施例可便于允许与完全缓冲双列直插式存储器模块(FBD)通信 的链路上的部件调试或验证,例如,其中FBD链路是用于将存储器模块耦合 到主机控制器设备(诸如处理器或存储器中枢)的串行链路。调试信息可从 FBD通道主机传输,以使得调试信息可沿着通道由通道通信量跟踪捕获工具 (诸如一个或多个逻辑分析器)观测。

在一个实施例中,系统100可支持分层协议方案,该分层协议方案可包括 物理层、链路层、路由层、传输层和/或协议层。对于点对点或共享网络,结构 104还可便于数据(例如以分组形式)从一个协议(例如,高速缓存处理器或 高速缓存知晓存储器控制器)传输到另一协议。而且,在某些实施例中,组织 结构104可提供遵守一个或多个高速缓存一致性协议的通信。或者,组织结构 104可遵守非一致性协议。

此外,如图1中的箭头方向所示,代理102可经由组织结构104发送和/ 或接收数据。因此,某些代理可利用单向链路通信,而其它代理可利用双向链 路通信。例如,一个或多个代理(诸如代理102-M)可(例如,经由单向链路 106)发送数据,其它代理(诸如代理102-2)可(例如,经由单向链路108) 接收数据,而某些代理(诸如代理102-1)可(例如,经由双向链路110)发 送和接收数据。在一些实施例中,链路106-110可以是OSF接口,该OSF接口 提供协议和/或信令以允许IP块在多种设计之间交互操作。

在实施例中,耦合代理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)用于低性能(例如,不旨在用于主数据传送)。

如图1所示,在一些实施例中,可通过边带OSF120提供边带信道。边带 OSF120可包括一个或多个路由器122,该路由器促进两个或更多个代理102 之间经由接口130、132和134的带外消息的通信。接口130、132和134可被 实现为点对点链路。同样,点对点链路可以是双向或单向的(例如,一个单向 链路专用于消息发送,而另一个专用于消息接收)。

图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路由器。

在一些实施例中,OSF路由器(例如,路由器210、212等)可从RM端点 202(例如,从表204-1至204-X)获得各种存储的信息,包括以下各项中的一 个或多个:(1)耦合到OSF路由器的每个端点的端口ID,例如用于确定路由; (2)支持的操作码信息用于经由边带OSF路由器的分组通信(如以下进一步 讨论的);和/或(3)耦合到OSF路由器的每个端点的状态(其中例如根据存 储的位,可启用或禁用端点的状态)。因此,每个表204-1至204-X可包括用 于每个端点的项(1)至(3)(例如,根据存储在表204-1至204-X中的端点 标识符)。

在实施例中,RM端点202允许安全的系统逻辑,诸如可管理引擎(ME) 固件(其可被存储在存储器中,诸如参考图3-4讨论的那些存储器,包括系统 中的高速缓存或存储器,例如存储器410)以配置OSF路由器(例如,路由器 210和/或212)。该RM端点的一个应用是允许所支持的操作码(opcode)被 编程。ME固件可通过RM端点限制或编程新支持的opcode,且OSF路由器将能 够利用重新配置后的新opcode处理通信分组。这还可用于收紧OSF边带安全 性,以限制仅某些操作码通过OSF边带路由。

在一个实施例中,RM端点202还可被用于利用耦合到OSF边带120的每 个设备控制器(例如,用于每个端点220-1至220-Y)的某些操作码改变通信 分组的路由。它的一个应用是允许通信分组的重定向。例如,通信分组可在由 OSF路由器重新路由到预期端口之前被重定向至ME用于一个或多个附加服务 例程。此外,可在运行时间中通过RM端点配置启用或禁用耦合到边带OSF120 的设备控制器端点。这可用于出于安全原因或为了在调试期间隔离设备端口, 锁定(或减少访问)设备控制器,以免进一步访问通过OSF边带。设备控制器 端点还可在该特征已经被禁用时被锁定。

在一些实施例中,RM端点表可被实现为可编程寄存器块,例如,仅可由 诸如ME固件或功率管理控制器(PMC)固件之类的安全逻辑访问。OSF路由器 还可包括形成可从RM端点配置的路由表的逻辑。ME或PMC固件流也可被修改 以在平台引导期间配置RM端点。在一些实施例中,可在参考图1和3-4讨论 的系统的组件的任一个中提供PMC和/或ME。

根据一些实施例中,可(例如通过RM端点202)管理边带路由器以便: (a)在运送之前按客户配置OSF;(b)基于客户需要配置某些安全性要求; (c)提供运行时间配置以便在耦合到OSF的代理之间路由消息;和/或(d) 作为安全性的一部分,禁用OSF网络上的设备。

可使用各种类型的计算系统来实现本文中讨论的实施例(诸如参照图1-2 所讨论的那些实施例)。例如,图3示出计算系统300的实施例的框图。图1 的代理102中的一个或多个可包括计算系统300中的一个或多个组件。计算系 统300可包括耦合到互连网络(或总线)304的一个或多个中央处理单元(CPU) 302(在本文中可将其统称为“处理器302”)。处理器302可以是任何类型的处 理器,诸如通用处理器、网络处理器(它可处理在计算机网络305上传达的数 据)等(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。 此外,处理器302可具有单核或多核设计。具有多核设计的处理器302可将不 同类型的处理器核集成在同一集成电路(IC)管芯上。另外,具有多核设计的 处理器302可实现为对称或非对称的多处理器。

处理器302可包括一个或多个高速缓存和/或存储器管理单元(MMU,未示 出)。在各实施例中,高速缓存可以是私有的和/或共享的。一般而言,高速 缓存存储与其它位置存储的原始数据相对应的数据或先前计算出的数据。为了 减少存储器访问等待时间,一旦将数据存储在高速缓存中,就可通过访问经高 速缓存的副本而非重新取出或重新计算原始数据来进行将来的使用。该高速缓 存可以是用于存储由系统300的一个或多个组件使用的电子数据(例如,包括 指令)的任何类型的高速缓存,诸如一级(L1)高速缓存、二级(L2)高速缓 存、三级(L3)高速缓存、中级高速缓存、末级高速缓存(LLC)等。如图3 所示,OSF104-120可耦合在一个或多个IP块303和处理器302之间(例如, 通过互连304)。

芯片组306可附加地耦合到互连网络304。此外,芯片组306可包括存储 器控制器中枢(MCH)308。MCH308可包括耦合到存储器312的存储器控制 器310。存储器312可存储数据,例如包括由处理器302或与计算系统300的 组件通信的任意其它设备执行的指令序列。在实施例中,存储器312可用于存 储诸如参考图1-3所讨论的数据(诸如页表)。同样,在本发明的一个实施例 中,存储器312可包括一个或多个易失性存储(或存储器)设备,诸如随机存 取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态 RAM(SRAM)等。也可利用非易失性存储器,诸如硬盘。可将诸如多个处理 器和/或多个系统存储器之类的另外的设备耦合到互连网络304。

MCH308还可包括(例如,在实施例中经由图形加速器)耦合到显示设 备316的图形接口314。在一个实施例中,图形接口314可经由加速图形端口 (AGP)耦合到显示设备316。在本发明的实施例中,显示设备316(诸如平 板显示器)可通过例如信号转换器耦合到图形接口314,该信号转换器将诸如 视频存储器或系统存储器(例如,存储器312)之类的存储设备中存储的图像 的数字表示转换成由显示器316解释和显示的显示信号。

如图3所示,中枢接口318可将MCH308耦合到输入/输出控制中枢(ICH) 320。ICH320可向耦合到计算系统300的输入/输出(I/O或IO)设备提供接 口。ICH320可通过诸如可遵守PCIe规范的外围组件互连(PCI)桥、通用串 行总线(USB)控制器等等外围桥(或控制器)324耦合到总线322。桥324 可在处理器302和外围设备之间提供数据路径。可使用其它类型的布局。同样, 多个总线可例如通过多个桥或控制器耦合到ICH320。例如,总线322可遵守 可从美国俄勒冈州波特兰市的PCI专用业务组获得的PCI本地总线规范版本 3.0(2004)(在下文中称为“PCI总线”)。或者,总线322可包括遵守可从上 述美国俄勒冈州波特兰市的PCI专用业务组获得的PCI-X规范版本3.0a(2003) (在下文中称为“PCI-X总线”)和/或PCI快速(PCIe)规范(PCIe快速基础 规范,版本0.5,2008年8月)的总线。此外,总线322可包括总线系统的其 它类型和配置。另外,在本发明的各实施例中,耦合到ICH320的其它外围组 件可包括集成的驱动电子(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、 USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例 如,数字视频接口(DVI))等。

总线322可耦合到音频设备326、一个或多个盘驱动器328以及网络适配 器330(在实施例中可以是NIC)。在一个实施例中,耦合至总线322的网络 适配器330或其它设备可经由开关逻辑312(在一些实施例中,开关逻辑312 可与图3的逻辑312相同或相似)与芯片组306通信。其它设备可耦合到总线 322。同样,在本发明的一些实施例中,各部件(诸如网络适配器330)可耦合 到MCH308。此外,可组合处理器302和MCH308,以形成单个芯片。

另外,计算系统300可包括易失性和/或非易失性存储器(或存储)。例 如,非易失性存储器可包括以下的一个或多个:只读存储器(ROM)、可编程 ROM(PROM)、可擦除PROM(EPROM)、电RPROM(EEPROM)、盘 驱动器(例如,328)、软盘、紧致盘ROM(CD-ROM)、数字多功能盘(DVD)、 闪存、磁光盘或能够储存电子数据(例如,包括指令)的其它类型的非易失性 机器可读介质。

在实施例中,存储器312可包括以下中的一个或多个:操作系统(O/S) 332、应用334和/或设备驱动器336(诸如OS、应用和/或设备驱动器)。存 储器312还可包括MMIO操作专用的区域。作为存储器管理操作的一部分,可 将存储在存储器312中的程序和/或数据交换到盘驱动328中。应用334可(例 如在处理器302上)执行以便与耦合到网络305的一个或多个计算设备通信一 个或多个分组。在实施例中,分组可以是可由从至少一个发送器发送到至少一 个接收器(例如,通过诸如网络305之类的网络)的一个或多个电信号编码的 一个或多个码元和/或值的序列。例如,每个分组可具有包括可用于路由和/或 处理该分组的各种信息(诸如源地址、目的地地址、分组类型等)的首部。每 个分组还可具有包括该分组正通过计算机网络(诸如网络305)在各计算设备 之间传送的原始数据(或内容)的有效载荷。

在实施例中,应用334可利用O/S332来例如通过设备驱动器336与系统 300的各部件通信。因此,设备驱动器336可包括网络适配器330专用命令, 以便例如经由芯片组306在O/S332和网络适配器330或耦合到系统300的其 它I/O设备之间提供通信接口。

在实施例中,O/S332可包括网络协议栈。协议栈一般指的是一组过程或 程序,可执行该组过程或程序以处理通过网络305发送的分组,其中分组可适 应特定协议。例如,可利用TCP/IP(传输控制协议/网际协议)栈来处理TCP/IP 分组。设备驱动程序336可例如经由协议栈指示要处理的缓冲器338。

网络305可包括任何类型的计算机网络。网络适配器330还可包括直接存 储器访问(DMA)引擎352,该DMA引擎352将分组写入分配给可用描述符(例 如,存储在存储器312中)的缓冲器(例如,存储在存储器312中),以便通 过网络305发送和/或接收数据。

图4示出根据本发明的一实施例的安排成点对点(PtP)配置的计算系统 400。具体地,图4示出其中处理器、存储器和输入/输出设备通过多个点对点 接口互连的系统。参照图1-3讨论的操作可由系统400的一个或多个组件来执 行。

如图4所示,系统400可包括若干处理器,但为了清楚起见仅示出了其中 两个处理器402和404。处理器402和404可各自包括本地存储器控制器中枢 (MCH)406和408以能够与存储器410和412(其可存储MMIO区域)通信。 存储器410和/或412可存储诸如参考图3的存储器312讨论的数据之类的各种 数据。如图4所示,处理器402和404还可包括诸如参考图3讨论的高速缓存 之类的一个或多个高速缓存。

在一实施例中,处理器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交换数据。

在至少一个实施例中,OSF104/120可将处理器402、404(例如,通过 PtP接口)耦合到一个或多个IP块303。然而,本发明的其它实施例可存在于 图4的系统400内的其它电路、逻辑单元或设备中。而且,本发明的其它实施 例可分布在图4中所示若干电路、逻辑单元或设备中。同样,处理器402、404 可包括MMU。此外,OSF104/120可定位在系统400中的其它位置,诸如在芯 片组420、通信设备446、耦合到总线440/744的设备内。

芯片组420可利用PtP接口电路441与总线440通信。总线440可具有与 其通信的一个或多个设备,诸如总线桥442和I/O设备443。经由总线444, 总线桥442可与诸如键盘/鼠标445、通信设备446(诸如可与计算机网络305 通信的调制解调器、网络接口设备或其它通信设备)、音频I/O设备、和/或数 据存储设备448之类的其它设备通信。数据存储设备448可存储由处理器402 和/或404执行的代码449。

在本发明的各实施例中,本文中例如参考图1-4讨论的操作可被实现为硬 件(例如,电路)、软件、固件、微代码或其组合,它们可作为计算机程序产 品来提供,该计算机程序产品例如包括其上存储有指令(或软件程序)的机器 可读或计算机可读介质,这些指令用于对计算机进行编程以执行本文所讨论的 过程。同样,术语“逻辑”可包括作为示例的软件、硬件和/或软件和硬件的组合。 机器可读介质可包括诸如参考图1-4所讨论的存储设备之类的存储设备。此外, 这种计算机可读介质可作为计算机程序产品来下载,其中该程序可经由通信链 路(例如,总线、调制解调器或网络连接)通过设置在载波或其它传播介质中 的数据信号从远程计算机(例如,服务器)传输到作出请求的计算机(例如, 客户机)。

说明书中对“一个实施例”或“实施例”的引述意味着结合该实施例描述 的具体特征、结构或特性可被包含于至少一种实现中。本说明书中各处出现的 短语“在一个实施例中”可以或可以并非全部指代同一实施例。

另外,在本描述和权利要求中,可使用术语“耦合”和“连接”连同其派 生词。在本发明的一些实施例中,可使用术语“连接”来指示两个或多个元件 彼此直接物理或电气接触。“耦合的”可表示两个或更多个元件直接物理或电 接触。然而,“耦合”也可意味着两个或多个元件可能彼此并未直接接触,但 是仍然彼此协作或交互。

由此,尽管已经用结构特征和/或方法动作专用的语言描述了本发明的实 施例,但是应该理解所要求保护的主题可并不被限定于所描述的具体特征或动 作。相反,这些具体特征和动作是作为实现所要求保护的主题的样本形式而公 开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号