用于执行与通用串行总线(usb)装置的管理组件传输协议(mctp)通信的方法、设备和系统的制作方法
【技术领域】
[0001] 本公开内容涉及计算系统,并且具体地说,涉及系统内的管理通信。
【附图说明】
[0002] 图1示出用于包括多核处理器的计算系统的框图的一实施例。
[0003] 图2是根据本发明的一实施例的系统的框图。
[0004] 图3是根据本发明一实施例的供应商定义的消息分组的框图。
[0005] 图4是根据本发明的一实施例的通信方法的流程图。
[0006] 图5是根据本发明的另一实施例的通信方法的流程图。
[0007] 图6是根据本发明的一实施例的USB装置的框图。
[0008] 图7是其中包括封装或隧穿的MCTP分组的USB分组的框图。
[0009] 图8是根据本发明的一实施例,互连各种系统的网络的框图。
[0010] 图9是根据本发明的一实施例,用于在客户端系统上执行远程控制操作的方法的 流程图。
[0011] 图10示出晶片上互连的一实施例。
[0012] 图11示出晶片上互连的另一实施例。
[0013] 图12示出网状互连结构的一实施例。
[0014] 图13示出网状互连结构的另一实施例。
【具体实施方式】
[0015] 在下面的描述中,陈述了许多特定的细节,如特定类型的处理器和系统配置的示 例、特定硬件结构、特定体系结构和微体系结构细节、特定寄存器配置、特定指令类型、特定 系统组件、特定测量/高度、特定处理器流水线级和操作等的示例,以便提供本发明的详尽 理解。但是,本领域的技术人员将明白,实践本发明可无需采用这些特定细节。在其它实 例中,诸如特定和备选处理器体系结构、用于所述算法的特定逻辑电路/代码、特定固件代 码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、代码中算法的特 定表述、特定掉电和选通技术/逻辑及计算机系统的其它特定操作细节等熟知的组件或方 法未详细描述,以免不必要地混淆本发明。
[0016] 虽然下面的实施例可参照在特定集成电路中的节能和能量效率进行描述,如在计 算平台或微处理器中,但其它实施例适用于其它类型的集成电路和逻辑装置。本文中所述 实施例的类似技术和教导可应用到也可从更佳的能量效率和节能中受益的其它类型的电 路或半导体装置。例如,公开的实施例不限于台式计算机系统或Ultrabooks?。而且它也 可在诸如手持式装置、平板、其它薄的笔记本、系统芯片(SoC)装置及嵌入式应用等其它装 置中使用。手持式装置的一些示例包括蜂窝电话、因特网协议装置、数码相机、个人数字助 理(PDA)及手持式PC。嵌入式应用一般包括微控制器、数字信号处理器(DSP)、系统芯片、 网络计算机(NetPC)、机顶盒、网络集线器、宽域网(WAN)交换器或能够执行下面教导的功 能和操作的任何其它系统。另外,本文中所述设备、方法和系统不限于物理计算装置,而是 也可涉及用于节能和能量效率的软件优化。如在下面的描述中将变得容易明白的一样,本 文中所述方法、设备和系统的实施例(无论是在硬件、固件、软件还是其组合的引用中)对于 通过性能考虑均衡的"绿色技术"未来是重要的。
[0017] 随着计算系统在发展,其中的组件变得越来越复杂。因此,在组件之间耦合并且 进行通信的互连体系结构复杂性也增大,以确保用于最佳组件操作的带宽要求得以满足。 此外,不同市场部门(market segment)需求互连体系结构的不同方面以满足市场的需要。 例如,服务器要求更高性能,而移动生态系统有时能够牺牲总体性能以实现节能。然而,大 多数结构(fabric)的单纯目的是以最大节能提供最高可能性能。下面讨论了多个互连,这 些互连将可能从本文中所述本发明的方面中受益。
[0018] 参照图1,示出了用于包括多核处理器的计算系统的框图的一实施例。处理器 100包括任何处理器或处理装置,如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络 处理器、手持式处理器、应用处理器、协处理器、系统芯片(SoC)或执行代码的其它装置。在 一个实施例中,处理器100包括至少两个核-核101和102,这可包括不对称核或对称核 (所示实施例)。然而,处理器100可包括可以是对称或不对称的任何数量的处理元件。
[0019] 在一个实施例中,处理元件指支持软件线程的硬件或逻辑。硬件处理元件的示例 包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和 /或能够为处理器保持诸如执行状态或体系结构状态等状态的任何其它元件。换而言之,在 一个实施例中,处理元件指能够与诸如软件线程、操作系统、应用程序等代码或其它代码独 立相关联的任何硬件。物理处理器(或处理器插座)一般指集成电路,它可能包括任何数量 的其它处理元件,如核或硬件线程。
[0020] 核经常指位于能够保持独立架构状态的集成电路上的逻辑,其中每个独立保持的 架构状态与至少一些专用执行资源相关联。与核不同,硬件线程一般指位于能够保持独立 架构状态的集成电路上的任何逻辑,其中独立保持的架构状态共享对执行资源的访问。正 如可看到的一样,在某些资源共享,并且其它资源专用于某种架构状态时,硬件线程与核的 名称之间的界线重叠。然而,核和硬件线程经常被操作系统视为单独的逻辑处理器,这种情 况下,操作系统能够单独调度每个逻辑处理器上的操作。
[0021] 如图1所示的物理处理器100包括两个核-核101和102。此处,核101和102 被视为对称核,即,带有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括 乱序处理器核,而核102包括有序处理器核。然而,核101和102可从任何类型的核中单独 选择,如自然核(native core)、软件管理的核、适用于执行自然指令集体系架构(ISA)的 核、适用于执行转换的指令集体系结构(ISA)的核、共同设计的核或其它已知核。在异类核 环境(即,不对称核)中,诸如二进制转换等一些形式的转换可用于调度或执行在一个或两 个核上的代码。然而为进一步进行讨论,下面进一步详细描述核101中所示功能单元,而核 102中的单元以所示实施例中类似方式操作。
[0022] 如图所示,核101包括两个硬件线程101a和101b,它们也可称为硬件线程槽 101a和101b。因此,诸如软件系统等软件实体在一个实施例中可能将处理器100视为四个 单独的处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上暗示的 一样,第一线程与体系结构状态寄存器l〇la相关联,第二线程与体系结构状态寄存器101b 相关联,第三线程与体系结构状态寄存器l〇2a相关联,以及第四线程与体系结构状态寄存 器102b相关联。此处,如上所述,每个体系结构状态寄存器(101a、101b、102a和102b)可 称为处理元件、线程槽或线程单元。如图所示,在体系结构状态寄存器l〇lb中复制体系结 构状态寄存器l〇la,以便各个体系结构状态/上下文能够存储用于逻辑处理器101a和逻 辑处理器l〇lb。在核101中,也可为线程101a和101b复制诸如分配器和重命名块130中 的指令指针和重命名逻辑等其它更小的资源。诸如重排序/退出单元135中的重排序缓冲 区、ILTB 120、加载/存储缓冲区及队列等一些资源可通过分区共享。可能完全共享诸如通 用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 115、执行单元140及部分 乱序单元135等资源。
[0023] 处理器100经常包括其它资源,这些资源可完全共享,通过分区共享或专用于处 理元件。在图1中,示出了带有处理器的说明性逻辑单元/资源的纯示范处理器的一实施 例。注意,处理器可包括或忽略任何这些功能单元以及包括任何其它熟知的未示出功能单 元、逻辑或固件。如图所示,核101包括简化的代表性乱序(〇〇〇)处理器核。但在不同实施 例中可利用有序处理器。〇〇〇核包括预测要执行/采用的分支的分支目标缓冲区120和存 储指令的地址转换条目的指令转换缓冲区(I-TLB) 120。
[0024] 核101还包括耦合到获取单元120以将获取的元素解码的解码模块125。在一个 实施例中,获取逻辑包括分别与线程槽l〇la、101b相关联的单独序列。通常,核101与定义 /指定在处理器100上可执行指令的第一 ISA相关联。作为第一 ISA的一部分的机器代码 指令经常包括引用/指定要执行的指令或操作的部分指令(称为操作码)。解码逻辑125包 括从其操作码识别这些指令并且在流水线中传递解码的指令以便如第一 ISA定义般处理 的电路。例如,如下面更详细讨论的一样,在一个实施例中,解码器125包括设计成或适用 于识别诸如事务指令等特定指令的逻辑。由于解码器125进行的识别,体系结构或核101 采用特定的预定义动作以执行与适当指令相关联的任务。重要的是注意,可响应单个或多 个指令,执行本文中所述任何任务、块、操作和方法;一些指令可以是新指令或旧指令。要注 意的是,在一个实施例中,解码器126识别相同ISA (或其子集)。备选,在异类核环境中,解 码器126识别第二ISA (第一 ISA的子集或完全不同的ISA)。
[0025] 在一个示例中,分配器和重命名器块130包括分配器以预留资源,如存储指令处 理结果的寄存器文件。然而,线程l〇la和101b有可能能够乱序执行,其中分配器和重命名 器块130也预留其它资源,如跟踪指令结果的重排序缓冲区。单元130也可包括寄存器重 命名器以将程序/指令引用寄存器重命名为处理器100内部的其它寄存器。重排序/退出 单元135包括支持失序执行和以后失序执行指令有序退引的组件,如上述重排序缓冲器、 加载缓冲器和存储缓冲器。
[0026] 在一个实施例中,调度器和执行单元块140包括在执行单元上调度指令/操作的 调度器单元。例如,浮点指令在具有可用浮点执行单元的执行单元端口上调度。与执行单 元相关联的寄存器文件也包括在内,以存储信息指令处理结果。示范执行单元包括浮点执 行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元及其它已知执行单元。
[0027] 较低级数据高速缓存和数据转换缓冲区(D-TLB) 150耦合到执行单元140。数据 高速缓存要存储最近使用/操作针对的元素,如数据运算符,这些元素可能以存储器一致 性状态中保持。D-TLB要用于存储最近的虚拟/线性到物理地址转换。作为一个特定的示 例,处理器可包括页表结构(structure)以将物理存储器分解为多个虚拟页面。
[0028] 此处,核101和102共享对更高级或更外层(further-out)高速缓存的访问,如 与芯片上接口 110相关联的第二级高速缓存。注意,更高级或更外层指增大或变得离执行 单元更远的高速缓存级。在一个实施例中,更高级高速缓存是末级数据高速缓存-处理 器100上存储器层次结构中的末级高速缓存-如第二或第三级数据高速缓存。然而,更高 级尚速缓存并非受如此限制,因为它可与指令尚速缓存相关联或者包括指令尚速缓存。追 踪高速缓存-一种类型的指令高速缓存-可转为在解码器1125后耦合以存储最近解码 指令。此处,指令可能指可解码成多个微指令(宏操作)的宏指令(即,解码器识别的通用指 令)。
[0029] 在所示配置中,处理器100也包括芯片上接口模块110。从历史而言,下面更详细 描述的存储器控制器已包括在处理器100外部的计算系统中。在此情形中,芯片外接口 11 要与处理器100外部的装置进行通信,如系统存储器175、芯片集(经常包括连接到存储器 175的存储器控制器中心(hub)和连接外设装置的I/O控制器中心)、存储器控制器中心、北 桥或其它集成电路。而且在此情形中,总线105可包括任何已知互连,如多点(mutli-drop) 总线