用于模块式管芯上相干互连的方法、设备和系统的制作方法

文档序号:9524167阅读:385来源:国知局
用于模块式管芯上相干互连的方法、设备和系统的制作方法
【技术领域】
[0001 ] 本公开内容涉及计算系统,并且具体地(但不排他地),涉及管芯上互连。
【附图说明】
[0002]图1是用于包括多核处理器的计算系统的框图的一实施例。
[0003]图2是根据一实施例,包括相干结构IP逻辑的系统的一部分的框图。
[0004]图3是根据一实施例的多个结构IP逻辑的网状互连实现的高级框图。
[0005]图4是示出根据一实施例的相干结构IP逻辑块的另外细节的框图。
[0006]图5是根据另一实施例的相干结构IP逻辑块的框图。
[0007]图6是根据一实施例的方法的流程图。
[0008]图7是根据另一实施例的方法的流程图。
[0009]图8是根据本发明的一个实施例的SoC的框图。
【具体实施方式】
[0010]在下面的描述中,陈述了许多特定的细节,如特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量/高度、特定处理器管道级和操作等的示例,以便提供对本发明的详尽理解。但是,对本领域的技术人员将显而易见的是,实践本发明可无需采用这些特定细节。在其它实例中,诸如特定和备选处理器架构、用于所述算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、代码中算法的特定表述、特定掉电和门控技术/逻辑及计算机系统的其它特定操作细节的已知的组件或方法未详细描述,以免不必要地混淆本发明。
[0011]虽然下面的实施例可参照在特定集成电路中的节能和能量效率进行描述,如在计算平台或微处理器中,但其它实施例适用于其它类型的集成电路和逻辑装置。本文中所述实施例的类似技术和教导可应用到也可从更佳的能量效率和节能中受益的其它类型的电路或半导体装置。例如,公开的实施例不限于台式计算机系统或Ultrabooks?。而且它也可在诸如手持式装置、平板、其它薄的笔记本、芯片上系统(SoC)装置的其它装置及嵌入式应用中使用。手持式装置的一些示例包括蜂窝电话、因特网协议装置、数码相机、个人数字助理(PDA)及手持式PC。嵌入式应用一般包括微控制器、数字信号处理器(DSP)、芯片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换器或能够执行下面教导的功能和操作的任何其它系统。另外,本文中所述设备、方法和系统不限于物理计算装置,而是也可涉及用于节能和能量效率的软件优化。如在下面的描述中将变得容易明白的,本文中所述方法、设备和系统的实施例(无论是在硬件、固件、软件还是其组合的引用中)对于与性能考虑平衡的“绿色技术”未来是重要的。
[0012]随着计算系统在发展,其中的组件变得越来越复杂。因此,在组件之间耦合并且进行通信的互连架构复杂性也增大,以确保用于最佳组件操作的带宽要求得以满足。此外,不同市场部门要求互连架构的不同方面以满足市场的需要。例如,服务器要求更高性能,而移动生态系统有时能够牺牲总体性能以实现节能。然而,大多数结构的单个目的是以最大节能提供最高可能性能。下面讨论了多个互连,这些互连将可能从本文中所述本发明的方面中受益。
[0013]参照图1,示出了用于包括多核处理器的计算系统的框图的一实施例。处理器100包括任何处理器或处理装置,如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、芯片上系统(SoC)或执行代码的其它装置。在一个实施例中,处理器100包括至少两个核——核101和102,其可包括不对称核或对称核(所示实施例)。然而,处理器100可包括可以是对称或不对称的任何数量的处理元件。
[0014]在一个实施例中,处理元件指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或能够保持处理器的状态(诸如执行状态或架构状态)的任何其它元件。换而言之,在一个实施例中,处理元件指能够与诸如软件线程、操作系统、应用的代码或其它代码独立关联的任何硬件。物理处理器(或处理器插座)一般指集成电路,它可能包括任何数量的其它处理元件,如核或硬件线程。
[0015]核经常指位于能够保持独立架构状态的集成电路上的逻辑,其中每个独立保持的架构状态与至少一些专用执行资源相关联。与核相比,硬件线程一般指位于能够保持独立架构状态的集成电路上的任何逻辑,其中独立保持的架构状态共享对执行资源的访问。如可看到的,当共享某些资源,并且其它资源专用于某种架构状态时,硬件线程与核的名称之间的界线重叠。然而,核和硬件线程经常被操作系统视为单独的逻辑处理器,其中,操作系统能够单独调度每个逻辑处理器上的操作。
[0016]如图1所示的物理处理器100包括两个核——核101和102。这里,核101和102被视为对称核,即,具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括无序处理器核,而核102包括有序处理器核。然而,核101和102可从任何类型的核中单独选择,如原生核(native core)、软件管理的核、适用于执行原生指令集架构(ISA)的核、适用于执行转换的指令集架构(ISA)的核、共同设计的核或其它已知核。在异构核环境(即,不对称核)中,诸如二进制转换的某种形式的转换可用于调度或执行在一个或两个核上的代码。然而为进一步进行讨论,下面进一步详细描述核101中示出的功能单元,而核102中的单元以所示实施例中类似方式操作。
[0017]如图所示,核101包括两个硬件线程101a和101b,它们也可称为硬件线程槽101a和101b。因此,诸如操作系统的软件实体在一个实施例中可能将处理器100视为四个单独的处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上面暗示的,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b相关联,第三线程可与架构状态寄存器102a相关联,以及第四线程可与架构状态寄存器102b相关联。这里,如上所述,每个架构状态寄存器(101a、101b、102a和102b)可称为处理元件、线程槽或线程单元。如图所示,在架构状态寄存器101b中复制架构状态寄存器101a,因此各个架构状态/上下文能够被存储用于逻辑处理器101a和逻辑处理器101b。在核101中,也可为线程101a和101b复制诸如分配器和重命名器块130中的指令指针和重命名逻辑的其它更小的资源。诸如重排序/引退单元135中的重排序缓冲器、ILTB 120、加载/存储缓冲器及队列的一些资源可通过分区来共享。可能完全共享诸如通用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 115、执行单元140及部分无序单元135的其它资源。
[0018]处理器100经常包括其它资源,这些资源可完全共享,通过分区共享或专用于处理元件或由处理元件专用。在图1中,示出了具有处理器的说明性逻辑单元/资源的纯示范处理器的一实施例。注意,处理器可包括或忽略任何这些功能单元以及包括任何其它已知的未示出功能单元、逻辑或固件。如图所示,核101包括简化的代表性无序(000)处理器核。但在不同实施例中可利用有序处理器。000核包括预测要执行/采用的分支的分支目标缓冲器120和存储指令的地址转换条目的指令转换缓冲器(1-TLB) 120。
[0019]核101还包括耦合到获取单元120以将获取的元素解码的解码模块125。在一个实施例中,获取逻辑包括分别与线程槽101a、101b相关联的单独序列。通常,核101与定义/指定在处理器100上可执行指令的第一 ISA相关联。作为第一 ISA的一部分的机器代码指令经常包括引用/指定要执行的指令或操作的部分指令(称为操作码)。解码逻辑125包括从其操作码识别这些指令并且在管道中传递解码的指令以便如第一 ISA定义的处理的电路。例如,如下面更详细讨论的,在一个实施例中,解码器125包括设计成或适用于识别诸如事务指令的特定指令的逻辑。由于解码器125进行的识别,架构或核101采用特定的预定义动作以执行与适当指令相关联的任务。重要的是注意,可响应于单个或多个指令,执行本文中所述任何任务、块、操作和方法;一些指令可以是新指令或旧指令。要注意的是,在一个实施例中,解码器126识别相同ISA(或其子集)。备选地,在异构核环境中,解码器126识别第二 ISA (第一 ISA的子集或完全不同的ISA)。
[0020]在一个示例中,分配器和重命名器块130包括分配器以保留资源,如存储指令处理结果的寄存器文件。然而,线程101a和101b有可能能够无序执行,其中分配器和重命名器块130也保留其它资源,如跟踪指令结果的重排序缓冲器。单元130也可包括寄存器重命名器以将程序/指令引用寄存器重命名为处理器100内部的其它寄存器。重排序/引退单元135包括支持无序执行和以后无序执行指令的有序退引的组件,如上述重排序缓冲器、加载缓冲器和存储缓冲器。
[0021]在一个实施例中,调度器和执行单元块140包括在执行单元上调度指令/操作的调度
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1