Nothing Special   »   [go: up one dir, main page]

CN107005231A - 用于在高性能互连中定中心的方法、设备、系统 - Google Patents

用于在高性能互连中定中心的方法、设备、系统 Download PDF

Info

Publication number
CN107005231A
CN107005231A CN201580064554.0A CN201580064554A CN107005231A CN 107005231 A CN107005231 A CN 107005231A CN 201580064554 A CN201580064554 A CN 201580064554A CN 107005231 A CN107005231 A CN 107005231A
Authority
CN
China
Prior art keywords
voltage
test
phase
error rate
clock signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580064554.0A
Other languages
English (en)
Other versions
CN107005231B (zh
Inventor
M.瓦格
吴佐国
V.伊耶尔
G.S.帕斯达斯特
T.A.欣克
D.M.李
N.R.兰卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN107005231A publication Critical patent/CN107005231A/zh
Application granted granted Critical
Publication of CN107005231B publication Critical patent/CN107005231B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/26Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being duration, interval, position, frequency, or sequence
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/50Testing of electric apparatus, lines, cables or components for short-circuits, continuity, leakage current or incorrect line connections
    • G01R31/66Testing of connections, e.g. of plugs or non-disconnectable joints
    • G01R31/67Testing the correctness of wire connections in electric apparatus or circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/131Digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L9/00Automatic control not provided for in other groups of this subclass

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

在示例中,公开了一种用于在高性能互连(HPI)中定中心的系统和方法。当互连被从休眠状态上电时,可能必须对时钟信号“定中心”以确保数据在正确的时间被读取。可以使用多阶段方法,其中第一阶段包括用以识别最优参考电压的参考电压扫描。第二阶段包括用以识别最优相位的相位扫描。第三扫描包括二维“眼图”阶段,其中测试从前两次扫描导出的二维眼图内的多个值。在每种情况下,最优值是导致跨多个通道的最少位错误的值。在一个示例中,第二和第三阶段是用软件执行的,并且可以包括测试“受害者”通道,其中邻近的“侵略者”通道具有互补的位模式。

Description

用于在高性能互连中定中心的方法、设备、系统
相关申请的交叉引用
本申请要求2014年12月25日提交的题为“METHOD, APPARATUS, SYSTEM FORCENTERING IN A HIGH-PERFORMANCE INTERCONNECT”的美国非临时专利申请号14/583,139的权益和优先权,该申请被整体地通过引用结合到本文中。
技术领域
本公开涉及计算系统,并且特别地(但非排他性地)涉及高性能互连。
背景技术
高性能互连(HPI)是将代理(诸如处理核)相互耦合或耦合到存储器的下一代互连。因此,HPI是以在全速时大约8Gbps进行操作的极其快速的协议。然而,该极其快速的数据速率使得HPI与较慢的协议相比不那么能够容错。因此,随着时间推移,随着电压和温度变化,时钟信号可能从中心“漂移”,导致位错误。
附图说明
图1图示出用于包括多核处理器的计算系统的框图的实施例。
图2图示出用于高性能互连架构的分层堆栈的实施例。
图3图示出利用高性能互连架构的多处理器配置的实施例。
图4图示出高性能互连的状态机。
图5和5A图示出用于定中心(centering)的测试模式。
图6是用于定中心的方法的流程图。
图7图示出多核处理器的框图的实施例。
图8图示出用于处理器的框图的实施例。
图9图示出用于包括处理器的计算系统的框图的另一实施例。
图10图示出用于包括多个处理器插槽的计算系统的框图的实施例。
图11图示出用于计算系统的框图的另一实施例。
图12图示出用于计算系统的框图的另一实施例。
具体实施方式
在以下描述中,阐述了许多特定细节,诸如特定类型的处理器和系统配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量结果/高度、特定处理器管线阶段和操作等的示例,以便提供本发明的透彻理解。然而,对于本领域的技术人员而言将显而易见的是不需要采用这些特定细节来实施本发明。在其它实例中,并未详细地描述众所周知的组件或方法,诸如特定和替换处理器架构、用于所述算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实施方式、算法在代码中的特定表达、特定功率降低和选通技术/逻辑、以及计算机系统的其它特定操作细节,以免不必要地使本发明含糊难懂。
虽然可能参考特定集成电路中(诸如计算平台或微处理器中)的能量保存和能量效率来描述以下实施例,但其它实施例适用于其它类型的集成电路和逻辑器件。本文中所述的实施例的类似技术和讲授内容可以应用于也可以受益于更好的能量效率和能量保存的其它类型的电路或半导体器件。例如,公开实施例不限于台式计算机系统或Ultrabook™。并且还可以在其它装置中使用,诸如手持式装置、平板电脑、其它薄笔记本、片上系统(SOC)装置以及嵌入式应用。手持式装置的某些示例包括蜂窝电话、网际协议装置、数字式相机、个人数字助理(PDA)以及手持式PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)机顶盒、网络集线器、广域网(WAN)交换机或者可以执行下面讲授的功能和操作的任何其它系统。此外,本文中所述的设备、方法以及系统不限于物理计算装置,而是还可以涉及软件优化以实现能量保存和效率。如在以下描述中将容易地变得显而易见的,本文中所述的方法、设备以及系统的实施例(无论是参考硬件、固件、软件还是其组合)对与性能考虑相平衡的‘绿色技术’未来至关重要。
随着计算系统的进步,其中的组件正在变得更加复杂。结果,用以在组件之间进行耦合和通信的互连架构在复杂性方面也在增加,以确保满足带宽要求以实现最优组件操作。此外,不同的市场细分需要互连架构的不同方面以适应市场的需求。例如,服务器要求较高性能,而移动生态系统有时能够牺牲总体性能来实现功率节约。然而,以最大的功率节约提供最高的可能性能是大多数结构的单一目的。下面讨论了许多互连,其将潜在地受益于本文中所述的本发明的各方面。
图1
参考图1,描绘了用于包括多核处理器的计算系统的框图的实施例。处理器100包括任何处理器或处理装置、诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、片上系统(SOC)或用于执行代码的其它装置。在一个实施例中,处理器100包括至少两个核——核101和102,其可以包括不对称核或对称核(所示实施例)。然而,处理器100可以包括任何数目的处理元件,所述处理元件可以是对称的或不对称的。
在一个实施例中,处理元件指的是用以支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或能够保持用于处理器的状态的任何其它元件,所述状态诸如执行状态或架构状态。换言之,在一个实施例中,处理元件指的是能够独立地与代码(诸如软件线程、操作系统、应用或其它代码)相关联的任何硬件。物理处理器(或处理器插槽)通常指的是集成电路,其潜在地包括任何数目的其它处理元件,诸如核或硬件线程。
核常常指的是位于集成电路上的能够保持独立架构状态的逻辑,其中,每个独立保持的架构状态与至少某些专用执行资源相关联。与核相对,硬件线程通常指的是位于集成电路上的能够保持独立架构状态的任何逻辑,其中,独立保持的架构状态共享对执行资源的访问。如可以看到的,当某些资源被共享而其它的专用于架构状态时,硬件线程与核的命名法之间的线重叠。然而,核和硬件线程常常被操作系统视为单独逻辑处理器,其中,操作系统能够单独地调度每个逻辑处理器上的操作。
如图1中所示,物理处理器100包括两个核——核101和102。在这里,核101和102被视为对称核,即具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括无序处理器核,而核102包括有序处理器核。然而,核101和102可以单独地选自任何类型的核,诸如本地核、软件管理的核、被适配成执行本地指令集架构(ISA)的核、被适配成执行转译指令集架构(ISA)的核、协同设计的核或其它已知核。在异类核环境(即不对称核)中,可以利用某种形式的转译(诸如二进制转译)来在一个或两个核上调度或执行代码。然而为了进一步讨论,下面更详细地描述了核101中所示的功能单元,因为核102中的单元在所描绘实施例中以类似方式操作。
如所描绘的,核101包括两个硬件线程101a和101b,其也可以称为硬件线程槽101a和101b。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器100视为四个单独处理器,即能够同时地执行四个软件线程的四个逻辑处理器或处理元件。如上文提及的,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b相关联,第三线程可以与架构状态寄存器102a相关联,并且第四线程可以与架构状态寄存器102b相关联。在这里,架构状态寄存器(101a、101b、102a以及102b)中的每一个可以称为处理元件、线程槽或线程单元,如上所述。如所示,架构状态寄存器101a被复制在架构状态寄存器101b中,因此,各架构状态/上下文能够被存储用于逻辑处理器101a和逻辑处理器101b。在核101中,还可以复制其它较小资源(诸如分配器和重命名器块130中的指令指针和重命名逻辑)以用于线程101a和101b。某些资源(诸如重排序/引退单元135中的重排序缓冲器、ILTB120、加载/存储缓冲器以及队列)可以通过分区被共享。其它资源(诸如通用内部寄存器、(一个或多个)页表基址寄存器、低层级数据高速缓存器和数据TLB 115、(一个或多个)执行单元140以及无序单元135的各部分)潜在地被完全共享。
处理器100常常包括其它资源,其可以被完全共享、通过分区被共享或者被/对处理元件专用。在图1中,图示出具有处理器的例证性逻辑单元/资源的纯示例性处理器的实施例。要指出,处理器可以包括或者省略这些功能单元中的任何以及包括未描绘的任何其它已知功能单元、逻辑或固件。如所示,核101包括简化的典型无序(OOO)处理器核。但是在不同实施例中可以利用有序处理器。OOO核包括用以预测要执行/采取的分支的分支目标缓冲器120和用以存储用于指令的地址转译条目的指令转译缓冲器(I-TLB)120。
核101还包括被耦合到获取单元120以解码所获取的元素的解码模块125。在一个实施例中,获取逻辑包括分别地与线程槽101a、101b相关联的各定序器。通常,核101与第一ISA相关联,其定义/指定可在处理器100上执行的指令。作为第一ISA的一部分的机器代码指令常常包括指令的一部分(称为操作码),其参考/指定要执行的指令或操作。解码逻辑125包括从这些指令的操作码识别这些指令并在管线上传递已解码指令以实现如第一ISA所定义的处理的电路。例如,如下面更详细地讨论的,在一个实施例中,解码器125包括被设计成或被适配成识别特定指令(诸如交易指令)的逻辑。作为由解码器125进行识别的结果,架构或核101采取特定的预定义动作以执行与适当指令相关联的任务。重要的是要指出,本文中所述的任务、块、操作以及方法中的任何可以响应于单个或多个指令而执行;其中的某些可以是新或旧指令。要指出,在一个实施例中,解码器126识别同一ISA(或其子集)。替换地,在异类核环境中,解码器126识别第二ISA(第一ISA的子集或不同ISA)。
在一个示例中,分配器和重命名器块130包括用以预留资源的分配器,诸如用以存储指令处理结果的寄存器文件。然而,线程101a和101b潜在地能够实现无序执行,其中,分配器和重命名器块130还预留其它资源,诸如用以跟踪指令结果的重排序缓冲器。单元130还可以包括用以将程序/指令参考寄存器重命名成在处理器100内部的其它寄存器的寄存器重命名器。重排序/引退单元135包括用以支持无序执行和无序地执行的指令的稍后的有序引退的组件,诸如上文所述的重排序缓冲器、加载缓冲器以及存储缓冲器。
在一个实施例中,调度器和(一个或多个)执行单元块140包括用以在执行单元上调度指令/操作的调度器单元。例如,在具有可用浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器文件以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、转移执行单元、加载执行单元、存储执行单元及其它已知执行单元。
较低层级数据高速缓存器和数据转译缓冲器(D-TLB)150被耦合到(一个或多个)执行单元140。数据高速缓存器将存储最近使用/被操作的元素,诸如数据操作数,其潜在地被保持在存储器相干状态中。D-TLB将存储最近虚拟/线性到物理地址转译。作为特定示例,处理器可以包括用以将物理存储器分解成多个虚拟页的页表结构。
在这里,核101和102共享对较高层级或更远的高速缓存器(诸如与片上接口110相关联的第二级高速缓存器)的访问。要指出,更高层级或更远指的是增加或进一步远离(一个或多个)执行单元的高速缓存器层级。在一个实施例中,较高层级高速缓存器是最后层级数据高速缓存器——处理器100上的存储器分级结构中的最后高速缓存器——诸如第二级或第三级数据高速缓存器。然而,较高层级高速缓存器不限于此,因为其可以包括指令高速缓存器或者与其相关联。替代地可以在解码器125之后耦合追踪高速缓存器——一种指令高速缓存器,以存储最近解码的痕迹。在这里,指令潜在地指的是宏指令(即,由解码器识别的一般指令),其可以解码成许多微指令(微操作)。
在所描绘的配置中,处理器100还包括片上接口模块110。在历史上,下面更详细地描述的存储器控制器被包括于在处理器100外部的计算系统中。在此情形中,片上接口11将与在处理器100外部的装置通信,诸如系统存储器175、芯片集(常常包括用以连接到存储器175的存储器控制器集线器和用以连接外围设备的I/O控制器集线器)、存储器控制器集线器、北桥或其它集成电路。并且在此情形中,总线105可以包括任何已知互连,诸如多分支总线、点到点互连、串行互连、并行总线、相干(例如高速缓存相干)总线、分层协议架构、差分总线以及GTL总线。
存储器175可以专用于处理器100或者与系统中的其它装置共享。存储器175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)及其它已知存储装置。要指出,装置180可以包括图形加速器、被耦合到存储器控制器集线器的处理器或卡、被耦合到I/O控制器集线器的数据储存器、无线收发机、闪速装置、音频控制器、网络控制器或其它已知装置。
然而,最近,随着更多的逻辑和装置被集成在单个管芯(诸如SOC)上,这些装置中的每一个可以被结合在处理器100上。例如,在一个实施例中,存储器控制器集线器在与处理器100相同的封装和/或管芯上。在这里,核的一部分(核上部分)110包括用于与其它装置(诸如存储器175或图形装置180)对接的一个或多个控制器。包括用于与此类装置对接的互连和控制器的配置常常称为核上(或非核配置)。作为示例,片上接口110包括用于片上通信的环形互连和用于片外通信的高速串行点到点链路105。然而,在SOC环境中,可以将甚至更多装置(诸如网络接口、协处理器、存储器175、图形处理器180以及任何其它已知计算机装置/接口)集成在单个管芯或集成电路上以提供具有高功能性和低功耗的小外形因数。
在一个实施例中,处理器100能够执行编译器、优化和/或转译器代码177以对应用代码176进行编译、转译和/或优化以支持本文中所述的设备和方法或与之对接。编译器经常包括用以将源文本/代码转译成目标文本/代码的程序或程序集。通常,用编程器进行的程序/应用代码的编译是在多个阶段和多遍中完成的,以将高级编程语言代码变换成低级机器或汇编语言代码。然而,单遍编译器仍可以被用于简单编译。编译器可以利用任何已知的编译技术并执行任何已知的编译器操作,诸如词汇分析、预处理、解析、语义分析、代码生成、代码变换以及代码优化。
较大的编译器常常包括多个阶段,但是这些阶段常常被包括在两个一般阶段内:(1)前端,即一般地在其中可以进行句法处理、语义处理以及某些变换/优化,以及(2)后端,即一般地在其中进行分析、变换、优化以及代码生成。某些编译器指的是中间部分,其图示出编译器的前端与后端之间的描绘的模糊。结果,对编译器的插入、关联、生成或其它操作的提及可以在上述阶段或遍中的任何以及编译器的任何其它已知阶段或遍中进行。作为例证性示例,编译器潜在地在编译的一个或多个阶段中插入操作、调用、函数等,诸如在编译的前端阶段中插入调用/操作且然后在变换阶段期间将调用/操作变换成低级代码。要指出,在动态编译期间,编译器代码或动态优化代码可以插入此类操作/调用以及对代码进行优化以便在运行时间期间执行。作为特定例证性示例,可以在运行时间期间动态地优化二进制代码(已编译代码)。在这里,程序代码可以包括动态优化代码、二进制代码或其组合。
类似于编译器,转译器(诸如二进制转译器)静态地或动态地转译代码以优化和/或转译代码。因此,对代码、应用代码、程序代码或其它软件环境的执行的提及可以指的是:(1)动态地或静态地执行(一个或多个)编译器程序、优化代码优化器或转译器以编译程序代码、保持软件结构、实行其它操作、优化代码或转译代码;(2)主程序代码的执行,其包括操作/调用,诸如已被优化/编译的应用代码;(3),与主程序代码相关联的其它程序代码(诸如库)的执行,以保持软件结构、实行其它软件相关操作或优化代码;或者(4)其组合。
在一个实施例中,提供了新的高性能互连(HPI)。HPI是下一代高速缓存器相干、基于链路的互连。作为一个示例,可以在其中通常使用PCIe来连接加速器或I/O装置的高性能计算平台(诸如工作站或服务器)中利用HPI。然而,HPI不限于此。替代地,可以在本文中所述的系统或平台中的任何中利用HPI。此外,可以将所开发的各思想应用于其它互连,诸如PCIe。此外,可以扩展HPI以在与其它互连(诸如PCIe)相同的市场中竞争。为了支持多个装置,在一个实施方式中,HPI包括不可知的指令集架构(ISA)(即能够在多个不同装置中实现HPI)。在另一情形中,还可以利用HPI来连接高性能I/O装置,不仅仅是处理器或加速器。例如,可以通过适当的转变桥(即HPI至PCIe)将高性能PCIe装置耦合到HPI。此外,许多基于HPI的装置(诸如处理器)可以以各种方式(例如星形、环形、网状等)利用HPI链路。图3图示出多个潜在多插槽配置的实施例。如所描绘的双插槽配置305包括两个HPI链路;然而,在其它实施方式中,可以利用一个HPI链路。对于较大拓扑而言,可以利用任何配置,只要ID是可分配的且存在某种形式的虚拟路径即可。如所示,4插槽配置310具有从每个处理器到另一个的HPI链路。但是在配置315中所示的8插槽实施方式中,并不是每一个插槽都通过HPI链路被直接连接到彼此。然而,如果在处理器之间存在虚拟路径,则支持该配置。所支持处理器的范围在本地域中包括2-32个。通过节点控制器之间的多个域或其它互连的使用可以达到处理器的更高数目。
HPI架构包括分层协议架构的定义,其与PCIe的相似之处在于其还包括分层协议架构。在一个实施例中,HPI定义协议层(相干、非相干以及可选地其它基于存储器的协议)、路由层、链路层以及物理层。此外,如许多其它互连架构的HPI包括与功率管理器、用于测试和调试的设计(DFT)、故障处理、寄存器、安全性等有关的增强。
图2图示出HPI分层协议堆栈中的潜在层的实施例;然而,这些层不是必需的,并且在某些实施方式中可以是可选的。每个层处理其自己层级的信息粒度或量子(协议层205a、b用分组230,链路层210a、b用微片(flit)235,并且物理层205a、b用物理层微片(phit)240)。要指出,在某些实施例中,分组可以基于实施方式而包括部分微片、单个微片或者多个微片。
作为第一示例,物理层微片240的宽度包括链路宽度到位的1对1映射(例如,20位链路宽度包括20位的物理层微片等)。微片可以具有更大的尺寸,诸如184、192或200位。要指出,如果物理层微片240是20位宽而微片235的尺寸是184位,则采取分数个物理层微片240来发送一个微片235(例如,9.2个以20位的物理层微片发送184位微片235或者9.6个以20位的物理层微片发送192位微片)。要指出,物理层处的基本链路的宽度可以变化。例如,每个方向上的通道的数目可以包括2、4、6、8、10、12、14、16、18、20、22、24等。在一个实施例中,链路层210a、b能够在单个微片中嵌入多片不同的交易,并且在微片内,可以在微片内嵌入多个报头(例如,1、2、3、4)。在这里,HPI将报头分离成对应槽以使得微片中的多个消息能够被指派到不同的节点。
在一个实施例中,物理层205a、b负责物理介质(电或光学等)上的快速信息传输。物理链路在两个链路层实体(诸如层205a和205b)之间是点到点的。链路层210a、b从上层提取物理层205a、b,并且提供用以在两个直接连接的实体之间可靠地传输数据(以及请求)并管理流量控制的能力。物理层205a、b还负责将物理信道虚拟化成多个虚拟信道和消息类。协议层220a、b依赖于链路层210a、b来在协议消息传递到物理层205a、b以便跨物理链路传输之前将协议消息映射到适当消息类和虚拟信道中。链路层210a、b可以支持多个消息,诸如请求、探听、响应、写回、非相干数据等。
在一个实施例中,为了提供可靠的传输,由链路层210a、b提供循环冗余校验(CRC)错误检查和恢复程序以便隔绝在物理互连上发生的例程位错误的影响。链路层210a在发送机处生成CRC并在接收机链路层210b处进行检查。
在某些实施方式中,链路层210a、b将信用(credit)方案用于流量控制。在初始化期间,对发送器给定设定数目的信用以向接收机发送分组或微片。每当分组或微片被发送到接收机时,发送器根据所使用的虚拟网络的类型将其信用计数器减少表示分组或微片的一个信用。每当在接收机处释放了缓冲器时,信用针对该缓冲器类型被返回给发送器。当发送器的用于给定信道的信用已被耗尽时,在一个实施例中,发送器停止在该信道上发送任何微片。本质上,信用在接收机已经消耗该信息并释放适当的缓冲器之后被返回。
在一个实施例中,路由层215a、b提供了用以将分组从源路由到目的地的灵活且分布式的方式。在某些平台类型(例如,单处理器或双处理器系统)中,此层可能不是显式的,而可能是链路层210a、b的一部分;在这种情况下,此层是可选的。其依赖于由链路层210a、b作为用以确定如何路由分组的功能的一部分而提供的虚拟网络和消息类提取。在一个实施方式中,通过实施方式特定路由表来定义路由功能。此类定义允许各种使用模型。
在一个实施例中,协议层220a、b实现通信协议、排序规则以及相干性维护、I/O、中断及其它高级通信。要指出,在一个实施方式中,协议层220a、b提供用以协商用于组件和系统的功率状态的消息。作为潜在的添加,物理层205a、b还可以独立地或者相结合地设定各链路的功率状态。
多个代理可以连接到HPI架构,诸如归属代理(排序到存储器的请求)、高速缓存(向相干存储器发布请求并对探听进行响应)、配置(处理配置交易)、中断(处理中断)、传统(处理传统交易)、非相干(处理非相干交易)等。下面讨论用于HPI的层的更具体的讨论。
HPI的几个潜在特征的概述包括:不在归属节点处利用预分配;没有针对多个消息类的排序要求;将多个消息打包在单个微片中(协议报头)(即可以在定义槽中保持多个消息的打包微片);可以从4、8、16、20或更多通道进行缩放的宽链路;大型检错方案,其可以将8、16、32或多达64位用于错误保护;以及利用嵌入式时钟方案。
HPI物理层
HPI的物理层205a、b(或PHY)停靠在电气层(即连接两个组件的电导体)之上且在链路层210a、b下面,如图2中所示。物理层常驻于每个代理上并将相互分离的两个代理(A和B)上的链路层连接。本地和远程电气层被物理介质(例如导线、导体、光学等)连接。在一个实施例中,物理层205a、b具有两个主要阶段,即初始化和操作。在初始化期间,连接对链路层不透明,并且信令可以涉及到定时状态和握手事件的组合。在操作期间,连接对链路层透明,并且信令处于一定速度,所有通道作为单个链路一起操作。在操作阶段,物理层从代理A向代理B并从代理B向代理A传送微片。该连接也称为链路,并且在与链路层交换微片和当前配置的控制/状态(例如宽度)的同时从链路层提取某些物理方面,包括介质、宽度和速度。初始化阶段包括次要阶段,例如轮询、配置。操作阶段也包括次要阶段(例如链路功率管理状态)。
在一个实施例中,物理层205a、b还将:满足可靠性/错误标准、容忍链路上的通道的故障并转到标称宽度的一小部分、容忍链路的相反方向上的单个故障、支持热添加/去除、启用/禁用PHY端口、当尝试的次数已超过指定阈值时的超时初始化尝试等。
在一个实施例中,HPI利用旋转位模式。例如,当微片尺寸不符合HPI链路中的通道的倍数时,可能不能在通道上在整数倍的传输中发送微片(例如,192位微片并不是示例性20通道链路的整数倍。因此可以使以x20的微片交织以避免浪费带宽(即在不利用其余通道的情况下在某个点处发送部分微片)。在一个实施例中,确定该交织以优化发送机(Tx)和接收机(Rx)中的关键字段和复用器的等待时间。所确定模式还潜在地提供到/从较小宽度(例如,x8)的干净且快速的转换及新宽度下的无缝操作。
在一个实施例中,HPI利用嵌入式时钟,诸如20位嵌入式时钟或其它位数的嵌入式时钟。其它高性能接口可以将转送时钟或其它时钟用于带内重置。通过在HPI中嵌入时钟,其潜在地减少引脚输出。然而,在某些实施方式中,使用嵌入式时钟可以引起用以处理带内重置的不同设备和方法。作为第一示例,在初始化之后利用用以拖延链路微片传输并允许PHY使用(在附录A中更详细地描述)的阻断链路状态。作为第二示例,可以在初始化期间利用电气有序集,诸如电气空闲有序集(EIOS)。
在一个实施例中,HPI能够在没有转送时钟和第二较小位宽度链路的情况下利用第一位宽度方向来实现功率管理。作为示例,HPI包括部分链路宽度发送状态,其中利用部分宽度(例如x20全宽和x8部分宽度);然而,该宽度完全是例证性的,并且可以不同。在这里,PHY可以在没有链路层辅助或介入的情况下处理部分宽度功率管理。在一个实施例中,利用阻断链路状态(BLS)协议来进入部分宽度发送状态(PWTS)。在一个或多个实施方式中,PWTS退出可以使用BLS协议或静噪中断检测。由于不存在转送时钟,所以PWTLS退出可以包括重复抗扭斜,其保持链路的确定性。
在一个实施例中,HPI利用Tx适配。作为示例,将环回状态和硬件用于Tx适配。作为一个示例,HPI能够对实际位错误进行计数;这可能能够通过注入特殊化模式来执行。结果,HPI应能够以较低功率获得更好的电气裕度。当使用环回状态时,可以使用一个方向作为硬件反向信道,其中度量被作为训练序列(TS)有效负荷的一部分发送。
在一个实施例中,HPI能够在不在TS中交换同步计数器值的情况下提供等待时间固定。其它互连可以基于每个TS中的同步计数器值的此类交换来执行等待时间固定。在这里,HPI可以通过将电气空闲退出有序集(EIEOS)对齐到同步计数器而利用周期性重发的EIEOS作为用于同步计数器值的代理。这潜在地节约TS有效负荷空间,去除混叠和DC平衡问题以及简化要添加的等待时间的计算。
在一个实施例中,HPI提供链路状态机转换的软件和定时器控件。其它互连可以支持由硬件在进入初始化状态时设定的信号标(保持位)。从状态的退出在保持位被软件清零(clear)时发生。在一个实施方式中,HPI允许软件控制用于进入发送链路状态或环回模式状态的此类机制。在一个实施例中,HPI允许基于握手之后的软件可编程超时来进行从握手状态的退出,其潜在地使得测试软件更为容易。
在一个实施例中,HPI利用TS的伪随机位序列(PRBS)加扰。作为示例,利用23位PRBS(PRBS23)。在一个实施例中,通过类似的位尺寸、自播种的(self-seeded)存储元件(诸如线性反馈移位寄存器)来生成PRBS。作为一个示例,可以利用固定UI模式用旁路加扰至适配状态。但是通过用PRBS23对TS加扰,可以在没有旁路的情况下执行Rx适配。另外,可以在时钟恢复和采样期间减少偏移及其它错误。HPI方法依赖于使用Fibonacci LFSR,其可以是在TS的特定部分期间自播种的。
在一个实施例中,HPI在不改变PLL时钟频率的情况下支持模拟缓慢模式。某些设计可以将单独的PLL用于慢速度和快速度。然而,在一个实施方式中,HPI使用模拟缓慢模式(即PLL时钟以快速度运行;TX将位重复多次;RX进行过采样以对边缘进行定位并识别该位)。这意味着共享PLL的端口可以以慢速度和快速度共存。在其中倍数是快速度与慢速度的整数比的一个示例中,不同的快速度可以与同一慢速度一起工作,其可以在热附着的发现阶段期间使用。
在一个实施例中,HPI支持用于热附着的公共缓慢模式频率。如上所述,模拟缓慢模式允许共享PLL的HPI端口以慢速度和快速度共存。当设计师将模拟倍数设定为快速度与慢速度的整数比时,那么不同的快速度可以与同一慢速度一起工作。因此,可以将支持至少一个公共频率的两个代理热附着,无论主机端口运行的速度如何。软件发现然后可以使用缓慢模式链路来识别和设立最优链路速度。
在一个实施例中,HPI在没有终止变化的情况下支持链路的再初始化。可以对具有针对在可靠性、可用性和可服务性(RAS)中使用的发现过程被改变的时钟通道终止的带内重置提供再初始化。在一个实施例中,当HPI包括用以识别良好通道的输入信令的RX筛查时,用于HPI的再初始化可以在不改变终止值的情况下完成。
在一个实施例中,HPI支持稳健低功率链路状态(LPLS)进入。作为示例,HPI可以包括在LPLS中的最小停留(即链路在退出之前在LPLS中停留的最小时间量、UI、计数器值等)。替换地,可以协商LPLS条目,并且然后使用带内重置来进入LPLS。但是这在某些情况下可能掩蔽源自于第二代理的实际带内重置。在某些实施方式中,HPI允许第一代理进入LPLS并允许第二代理进入重置。第一代理在一定时间段内是无响应的(即最小停留),其允许第二代理完成重置且然后唤醒第一代理,使得能够实现到LPLS中的更加高效、稳健的进入。
在一个实施例中,HPI支持诸如去抖动检测、唤醒和针对通道故障的连续筛查之类的特征。HPI可以在延长时间段内寻找指定信令模式以检测从LPLS的有效唤醒,从而降低伪唤醒的机会。还可以在后台中使用相同硬件以便在初始化过程期间连续地筛查坏通道,有助于更稳健的RAS特征。
在一个实施例中,HPI支持对锁定步骤的确定性退出和重新开始回放。在HPI中,某些TS边界当在全宽度下操作时可以与微片边界重合。因此HPI可以识别并指定退出边界,使得可以与另一链路保持锁定步骤行为。另外,HPI可以指定可以用来与链路对保持锁定步骤的定时器。在初始化之后,HPI还支持带内重置被禁用的情况下的操作以支持锁定步骤操作的某些特色(flavors)。
在一个实施例中,HPI支持用于关键初始化参数的TS报头而不是有效负荷的使用。替换地,可以使用TS有效负荷来交换类似于ACK和通道数目之类的初始化参数。并且还可以使用用于传送通道极性的DC水平。然而,HPI可以在用于关键参数的TS报头中使用DC平衡代码。这潜在地减少有效负荷所需的字节的数目,并且潜在地允许将整个PRBS23模式用于对TS加扰,减少了对TS进行DC平衡的需要。
在一个实施例中,HPI支持用以在空闲通道的部分宽度发送链路状态(PWTLS)进入/退出期间增加活动通道的抗噪声性的措施。在一个实施例中,可以围绕着宽度变化点使用无效(或其它不可重试微片)微片以增加活动通道的抗噪声性。另外,HPI可以围绕着PWTLS退出的开始利用无效微片(即可以用数据微片将无效微片分解)。HPI还可以使用特殊化信令,其格式可以改变以降低假唤醒检测的机会。
在一个实施例中,HPI支持在PWTLS退出期间使用特殊化模式以允许非阻断抗扭斜。替换地,空闲通道可能在PWTLS退出时未被抗扭斜,因为其可能借助于转送时钟而保持扭斜。然而,通过使用嵌入式时钟,HPI可以使用特殊化信令,其格式可以改变以降低假唤醒检测的机会,并且还允许在不阻断微片流的情况下抗扭斜。这还通过无缝地将有故障通道断电、对其进行再适配并在不阻断微片流动的情况下使其返回在线而允许有更稳健的RAS。
在一个实施例中,HPI支持在没有链路层支持的情况下的低功率链路状态(LPLS)进入和更稳健的LPLS退出。替换地,可以在预先指定的主设备和从设备之间依赖链路层协商以从发送链路状态(TLS)进入LPLS。在HPI中,PHY可以使用阻断链路状态(BLS)代码来处理协商,并且可以支持代理是主设备或发起者以及直接地从PWTLS到LPLS的进入两者。从LPLS的退出可以是基于使用特定模式、其后是双方之间的握手以及超时引发的带内重置(如果其有任何失败的话)对静噪中断进行防跳。
在一个实施例中,HPI支持在初始化期间控制没有结果的循环。替换地,不能初始化(例如缺少良好的通道)可能导致重试初始化太多次,这潜在地浪费功率并难以调试。在HPI中,链路对可以在决定停止并在重置状态下断电之前尝试设定次数次初始化,其中,软件可以在重试初始化之前进行调整。这潜在地改善系统的RAS。
在一个实施例中,HPI支持高级IBIST(互连内置自测试)选项。在一个实施例中,可以利用模式发生器,其允许有用于任何引脚的最大长度的两个非相关PRBS23模式。在一个实施例中,HPI可能能够支持四个此类模式以及提供用以控制这些模式的长度(即动态地改变测试模式、PRBS23长度)的能力。
在一个实施例中,HPI提供用以对通道进行抗扭斜的高级逻辑。作为示例,可以使用TS锁定之后的TS边界来对通道进行抗扭斜。另外,HPI可以通过在有效负荷中的特定点期间比较LFSR中的通道PRBS模式来进行抗扭斜。此类抗扭斜可能在测试芯片中有用,其可能缺少检测TS或状态机以管理抗扭斜的能力。
在一个实施例中,从初始化到链路发送的退出在具有行星对齐的情况下在TS边界上发生。另外,HPI可以从该点开始支持所协商的延迟。另外,可以通过使用允许用于链路对的一个而不是两个行星对齐控制的主-从确定来控制两个方向之间的退出的顺序。
某些实施方式使用固定128UI模式来对TS加扰。其它实施方式使用固定的4kPRBS23来对TS加扰。在一个实施例中,HPI允许使用任何长度PRBS,包括整个(8M-1)PRBS23序列。
在某些架构中,适配具有固定持续时间。在一个实施例中,从适配(Adapt)的退出被握手交换而不是被定时。这意味着适配时间在两个方向之间可能是不对称的而只有任一侧所需要的那么长。
在一个实施例中,如果那些状态动作不需要再做,则状态机可以绕过状态。然而,这可能导致更复杂的设计和确认逸出。HPI不使用旁路——替代地其分发动作,使得每个状态下的短定时器可以用来执行所述动作并避免旁路。这潜在地有助于更加统一并同步的状态机转换。
在某些架构中,将转送时钟用于带内重置并将链路层用于分阶段部分宽度发送且用于低功率链路进入。HPI使用阻断链接状态代码类似功能。这些代码潜在地可能具有导致Rx处的“失配”的位错误。HPI包括处理失配的协议以及用以处理异步重置、低功率链路状态和部分宽度链路状态请求的手段。
在一个实施例中,针对环回TS利用128 UI加扰器。然而,这在环回开始时能够导致针对TS锁定的混叠,因此某些架构在此期间将有效负荷全部变成0。在另一实施例中,HPI利用统一有效负荷并针对TS锁定使用周期性地出现的未加扰EIEOS。
某些架构在初始化期间利用已加扰TS。在一个实施例中,HPI定义超序列,所述超序列是各种长度的已加扰TS与未加扰EIEOS的组合。这允许在初始化期间的更加随机化的转换,并且还简化TS锁定、等待时间固定以及其它动作。
HPI链路层
返回至图2,图示出用于链路层210a、b的逻辑块的实施例。在一个实施例中,链路层210a、b保证两个协议或路由实体之间的可靠数据传输。链路层210a、b从协议层220a、b提取物理层205a、b,链路层210a、b负责两个协议代理(A、B)之间的流量控制,并且向协议层(消息类)和路由层(虚拟网络)提供虚拟信道服务。协议层220a、b与链路层210a、b之间的接口通常是在分组层级。在一个实施例中,链路层处的最小传输单元称为微片,其是指定位数,诸如192。链路层210a、b依赖于物理层205a、b以将物理层205a、b的传输单元(物理层微片)调整(frame)为链路层210a、b的传输单元(微片)。另外,链路层210a、b可以在逻辑上分成两个部分,即发送器和接收机。一个实体上的发送器/接收机对可以被连接到另一实体上的接收机/发送器对。常常基于微片和分组而执行流量控制。还潜在地基于微片层级而执行错误检测和修正。
在一个实施例中,微片被扩展192位。然而,在不同变型中可以利用任何范围的位,诸如81-256(或更多)。在这里,还增加CRC字段(例如16位)以处理较大有效负荷。
在一个实施例中,TID(交易ID)在长度方面为11位。结果,可以去除分布式归属代理的预分配和启用。此外,在某些实施方式中,11位的使用允许使用TID而无需使用扩展TID模式。
在一个实施例中,报头微片被划分成3个槽,2个具有相等的尺寸的槽(槽0和1)以及另一较小槽(槽2)。浮动字段可以可用于槽0或1中的一个来使用。优化可以使用槽1和2的消息,从而减少对这些槽的操作码进行编码所需的位数。当需要槽0提供的更多位的报头进入链路层时,开槽算法就位以允许其接管用于附加空间的槽1有效负荷位。特殊控制(例如LLCTRL)微片可以消耗针对其需要值得位的全部3个槽。针对其中链路部分地忙碌的情况,开槽算法还可以存在以允许利用单独的槽,而其它槽不承载信息。其它互连可以允许每个微片单个消息而不是多个。微片内的槽的尺寸确定以及可以置于每个槽中的消息的类型潜在地甚至用降低的微片速率提供HPI的增加带宽。为了更详细地描述微片和多槽报头,参考附录B的微片定义小节。
在HPI中,大的CRC基线可以改善错误检测。例如,利用16位CRC。作为较大CRC的结果,还可以利用较大有效负荷。与用于CRC的16位的多项式相组合的CRC的16位改善错误检测。作为示例,存在最小数目的门以提供1)检测到1-4位错误2)检测到突发长度16或以下的错误。
在一个实施例中,利用基于两个CRC-16等式的旋转CRC。可以使用两个16位多项式,即来自HPI CRC-16的多项式和第二多项式。第二多项式具有最小数目的门要实现,同时保持以下各项的性质:1)检测到全部的1-7的位错误,2)x8链路宽度中的每个通道突发保护3)检测到突发长度16或更少的所有错误。
在一个实施例中,利用降低的最大微片速率(9.6对比4 UI),但是获得增加的链路吞吐量。作为增加微片尺寸的结果,实现每个微片多个槽的引入、有效负荷位的优化利用(用以去除很少使用字段或将其重定位的改变算法)、更多的互连效率。
在一个实施例中,用于3个槽的支持的一部分包括192位微片。浮动字段启用用于槽0或槽1的有效负荷的11个额外位。要指出,如果使用较大的微片,则可以使用较多浮动位。并且作为推论,如果使用较小微片,则提供较少的浮动位。通过允许字段在两个槽之间浮动,我们可以提供某些消息所需的额外位,同时仍保持在192位内并使带宽的利用率最大化。替换地,向每个槽提供11位HTID字段可以使用将不会被同样高效地利用的微片中的额外11位。
某些互连可以在协议层级消息中发送Viral状态并在数据微片中发送Poison状态。在一个实施例中,HPI协议层级消息和Poison状态被移动至控制微片。由于这些位很少被使用(仅在错误的情况下),所以将其从协议层级消息去除潜在地增加微片利用率。使用控制微片将其注入仍允许包含错误。
在一个实施例中,微片中的CRD和ACK位允许返回许多信用(诸如八个)或确认(ack)的数目(诸如8)。作为完全编码信用字段的一部分,当槽2被编码为LLCRD时,利用这些位作为信用[n]和确认[n]。这潜在地通过允许任何微片使用总共仅2位返回VNA信用的数目和确认的数目、而且允许其定义在使用完全编码LLCRD返回时保持一致来改善效率。
在一个实施例中,VNA对比VN0/1编码(通过将槽对齐至相同的编码来保存位)。可以将多槽报头微片中的槽对齐至仅VNA、仅VN0或者仅VN1。通过执行这一点,去除指示VN的每个槽位。这增加微片位利用的效率,并且潜在地使得能够从10位TID扩展至11位TID。
某些字段仅允许以1(用于VN0/1)、2/8/16(用于VNA)以及8(用于确认)的增量返回。这意味着返回大量的待决信用或确认可以使用多个返回消息。还意味着用于VNA和确认的奇数编号的返回值可以被留有可均匀划分值的搁浅(stranded)待决累积。HPI可以具有完全编码的信用(Credit)和确认 (Ack)返回字段,允许代理用单个消息返回用于池的所有累积的信用(Credit)或确认(Ack)。这潜在地改善链路效率,并且还潜在地简化逻辑实现(返回逻辑可以实现“清零”信号而不是全减幅器)。
路由层
在一个实施例中,路由层215a、b提供用以将HPI交易从源路由到目的地的灵活且分布式的方法。该方案是灵活的,因为用于多个拓扑的路由算法可以通过每个路由器处的可编程路由表来指定(一个实施例中的编程由固件、软件或其组合执行)。路由功能性可以是分布式的;路由可以通过一系列路由步骤来完成,每个路由步骤是通过源、中间或目的地路由器处的表的查找而定义的。源处的查找可以用来向HPI结构中注入HPI分组。中间路由器处的查找可以用来将HPI分组从输入端口路由到输出端口。目的地端口处的查找可以用来以目的地HPI协议代理为目标。要指出,在某些实施方式中,路由层是浅薄的,因为路由表和因此的路由算法并未具体地由规范定义。这允许通过系统实现来定义各种使用模型,包括灵活的平台架构拓扑。路由层215a、b依赖于链路层210a、b以便提供多达三个(或更多)虚拟网络(VN)的使用——在一个示例中为两个无死锁VN,即VN0和VN1,在每个虚拟网络中定义多个消息类。可以在链路层中定义共享自适应虚拟网络(VNA),但是此自适应网络可能没有直接暴露在路由概念中,因为每个消息类和VN可以具有专用资源和保证的转送进展。
路由规则的非穷举、示例性列表包括:(1)(消息类不变性):属于特定消息类的输入分组可以在同一消息类中的输出HPI端口/虚拟网络上被再次路由;(2)(交换)HPI平台可以支持“存储和转送”和“虚拟穿透”类型的交换。在另一示例中,HPI可以不支持“虫洞”或“回路”交换。(3)(互连无死锁)HPI平台可以不依赖于自适应流以用于无死锁路由。用使用VN0和VN1两者的平台,2个VN一起可以被用于无死锁路由;以及(4)(用于“叶路由器”的VN0)。在可以使用VN0和VN1两者的HPI平台中,可允许将VN0用于那些组件,其路由器未被用于路由通过;亦即,输入端口具有在此组件处终止的HPI目的地。在这种情况下,来自不同VN的分组可以被路由到VN0。其它规则(例如,VN0与VN1之间的分组移动)可以由平台相关路由算法管理。
路由步骤:在一个实施例中,用路由函数(RF)和选择函数(SF)来提及路由步骤。路由函数可以取分组到达该处的HPI端口和目的地节点ID作为输入;其然后提供2元组HPI端口号和虚拟网络——分组应在其路径上继续下去至目的地——作为输出。允许路由函数另外取决于输入虚拟网络。此外,用路由步骤允许提供多个<port#, virtual network>对。结果得到的路由算法被称为自适应性。在这种情况下,选择函数SF可以基于路由器具有的附加状态信息而选择单个2元组(例如,用自适应路由算法,虚拟网络的特定端口的选择可以取决于本地拥塞条件)。在一个实施例中,路由步骤由应用路由函数且然后应用选择函数以提供(一个或多个)2元组组成。
路由器表简化:HPI平台可以实现虚拟网络的合法子集。此类子集简化与路由器交换机处的虚拟信道缓冲和仲裁相关联的路由表的尺寸(减小列的数目)。这些简化可以以平台灵活性和特征为代价。VN0和VN1可以是无死锁网络,其根据使用模型而一起或单独地提供无死锁,通常向其分配最小虚拟信道资源。路由表的平面组织可以包括对应于节点ID的最大数目的尺寸。用此类组织,可以按目的地节点ID字段且可能按虚拟网络id字段对路由表编索引。还可以使得表组织为分级结构,目的地节点ID字段被细分成多个子字段,其是实施方式相关的。例如,在划分成“本地”和“非本地”部分的情况下,路由的“非本地”部分在“本地”部分的路由之前完成。在每个输入端口处减小表尺寸的潜在优点潜在地以被迫以分级方式向HPI组件分配节点ID为代价。
路由算法:在一个实施例中,路由算法定义从源模块到目的地模块的可允许路径的集合。从源到目的地的特定路径是可允许路径的子集,并且按照上文定义的一系列路由步骤而获得,所述路由步骤从源处的路由器开始、通过零个或更多中间路由器并以目的地处的路由器结束。要指出,即使HPI结构可以具有从源到目的地的多个物理路径,所允许的路径也是由路由算法定义的那些。
HPI相干性协议
在一个实施例中,HPI相干性协议被包括在层220a、b中以支持代理高速缓存来自存储器的数据行。希望高速缓存存储器数据的代理可以使用相干性协议来读取要加载到其高速缓存器中的数据行。希望在其高速缓存器中修改数据行的代理可以使用相干性协议来在修改数据之前获取该行的所有权。在修改一行之后,代理可以遵循以下协议要求——将该行保持在其高速缓存器中直到其响应于外部请求而将该行写回到存储器中或者包括该行。最后,代理可以满足外部请求而使其高速缓存器中的行无效。协议通过规定所有高速缓存代理可以遵循的规则来确保数据的相干性。其还提供了用于没有高速缓存器的代理相干地读和写存储器数据的手段。
可以实行两个条件以支持利用HPI相干性协议的交易。首先,协议在代理的高速缓存器中的数据之间且在那些数据与存储器中的数据之间保持数据一致性(作为示例基于每个地址)。非正式地,数据一致性可以指的是代理的高速缓存器中的每个有效数据行表示数据的最新值,并且在相干性协议分组中发送的数据表示数据的在其被发送时的最新值。当在高速缓存器中或者在传输中不存在数据的有效副本时,协议可以确保数据的最新值常驻于存储器中。其次,协议提供了用于请求的很好地定义的委托点(commitment point)。用于读取的委托点可以指示数据何时是可使用的;并且对于写入而言,其可以指示已写入数据何时是全局可观察的以及何时将被后续的读取所加载。协议可以支持相干存储器空间中的用于可高速缓存和不可高速缓存(UC)请求两者的这些委托点。
HPI相干性协议还可以确保由代理进行的相干性请求到相干存储器空间中的地址的转送进展。当然,交易最后可以被满足并被引退以实现适当的系统操作。在某些实施例中, HPI相干性协议可能不具有用于解决资源分配冲突的重试的概念。因此,可以将协议本身定义成不包含循环资源相关性,并且实施方式可以在其设计中注意不引入可以导致死锁的相关性。另外,协议可以指示设计在哪里能够提供对协议资源的公平访问。
逻辑上,在一个实施例中,HPI相干性协议由三个项目组成:相干性(或高速缓存)代理、归属代理以及连接各代理的HPI互连结构。相干性代理和归属代理一起工作以通过在互连上交换消息来实现数据一致性。链路层210a、b及其相关描述提供了互连结构的细节,包括本文中所讨论的其如何坚持相干性协议的要求。(可以指出的是,划分成相干性代理和归属代理是为了明了起见。设计可以在插槽内包含这两个类型的多个代理或者甚至将代理行为组合到单个设计单元中)。
在一个实施例中,HPI并未预分配归属代理的资源。在这里,接收代理接收请求分配资源以对其进行处理。发送请求的代理分配用于响应的资源。在这种情形中,HPI可以遵循关于资源分配的两个一般规则。首先,接收到请求的代理可以负责分配对其进行处理的资源。其次,生成请求的代理可以负责分配处理对请求的响应的资源。
针对资源的分配在探听请求中还可以扩展至HTID(连同RNID/RTID一起)。使用归属代理和转送的潜在降低来对支持对归属代理的响应(和到请求代理的数据转送)进行响应。
在一个实施例中,在探听请求和转送响应中也未预分配归属代理资源以支持对归属代理的响应(和到请求代理的数据转送)。
在一个实施例中,当对于请求代理而言再使用其RTID资源是安全的时,不存在用以在归属代理完成处理请求之前“及早”发送CmpO的归属资源能力的预分配。系统中的具有类似RNID/RTID的探听的一般处理也是协议的一部分。
在一个实施例中,使用有序响应信道来执行冲突解决。相干性代理使用RspCnflt作为用于归属代理发送FwdCnfltO的请求,其将被用针对相干性代理的冲突请求的CmpO(如果已调度任何的话)进行排序。
在一个实施例中,HPI经由有序响应信道来支持冲突解决。相干性代理使用来自探听的信息来帮助处理FwdCnfltO,其不具有“类型”信息并且不具有用于将数据转送到请求代理的RTID。
在一个实施例中,相干性代理阻断用于写回请求的转送以保持数据一致性。但是其还允许相干性代理在处理转送之前使用写回请求来提交不可高速缓存(UC)数据,并且允许相干性代理写回部分高速缓存行而不是支持用于转送的部分隐含写回的协议。
在一个实施例中,支持接受排他状态数据的读取无效(Rdlnv)请求。不可高速缓存(UC)读取的语义包括将已修改数据冲刷到存储器。然而,某些架构允许将M数据转送到无效读取,其迫使请求代理清理该行,如果其接收到M数据的话。Rdlnv简化流程,但是其不允许转送E数据。
在一个实施例中,HPI支持InvItoM至IODC功能性。InvItoM在没有接收到数据的情况下且在具有不久之后执行写回的意图的情况下请求高速缓存行的排他所有权。要求的高速缓存器状态可以是M状态以及E状态或任一者。
在一个实施例中,HPI支持用于持久性存储器冲刷的WbFlush。下面举例说明WbFlush的实施例。其可以作为持久性提交的结果而被发送。可以向持久性存储器冲刷写入。
在一个实施例中,HPI支持附加操作,诸如由路由层生成的用于“扇出(fanout)”探听的SnpF。某些架构不具有对扇出探听的明确支持。在这里,HPI归属代理生成单个“扇出”探听请求,并且作为响应,路由层在“扇出圆锥体”中生成到所有对等代理的探听。归属代理可以预期来自代理区段中的每一个的探听响应。
在一个实施例中,HPI支持附加操作,诸如由路由层生成的用于“扇出(fanout)”探听的SnpF。某些架构不具有对扇出探听的明确支持。在这里,HPI归属代理生成单个“扇出”探听请求,并且作为响应,路由层在“扇出圆锥体”中生成到所有对等代理的探听。归属代理可以预期来自代理区段中的每一个的探听响应。
在一个实施例中,HPI支持用高速缓存器推送提示的明确写回(WbPushMtoI)。在一个实施例中,相干性代理将具有提示的已修改数据写回到归属代理,其可以将已修改数据推送到“本地”高速缓存器,存储在M状态中,而不将数据写入到存储器。
在一个实施例中,相干性代理可以在转送共享数据时保持F状态。在一个实施例中,接收到“共享”探听或在此类探听之后的转送的具有F状态的相干性代理可以在将S状态发送到请求代理的同时保持F状态。
在一个实施例中,可以通过使一个表在“下一状态”列中参考另一子表来嵌套协议表,并且嵌套表可以具有附加或更细粒度的防护以指定哪些行(行为)被允许。
在一个实施例中,协议表使用行跨越来指示同样可允许行为(行)而不是添加“偏置”位以在行为之间进行选择。
在一个实施例中,组织动作表以便用作用于BFM(确认环境工具)的功能性引擎而不是使BFM团队基于其解释创建其自己的BFM引擎。
HPI非相干协议
在一个实施例中,HPI支持非相干交易。作为示例,非相干交易被称为不参与HPI相干性协议的交易。非相干交易包括请求及其对应完成。针对某些特殊交易,广播机制。
在HPI中定中心
在一个实施例中,当HPI被从断电状态带上来时,链路必须在其可以以其最大容量运行之前被“训练”。这是因为值随时间推移且在变化的条件(诸如温度)之间可能“漂移”。用类似于HPI的高速链路,必须使信号适当地在时域和电压域两者中居于中心以避免可能由参数漂移引入的位错误。
训练可以包括对时钟进行“定中心”或“再定中心”以确保信号在时域和电压域中适当地居于中心。在给定速度下,时钟具有其中数据行的样本将提供正确值的窗口。在窗口外面的采样可能产生位错误。时钟越快,窗口越小,并且反之亦然。因此,一个示例中且尤其是具有窄窗口的高速互连中的训练的重要方面是将时钟的Vref和相位(phase)移位,使得数据在窗口的中心处或附近被采样以使位错误最小化。然而,用如本文中所述的二维参数移位,在两个轴上选择最优值时出现挑战。
在一个示例中,训练包括最初以降低的速度(诸如半速)操作HPI,向HPI馈送诸如PRBS之类的已知值,并且然后采样回位模式。在采样之后,可以在电压域(Vref)中或在时域(相位)中使时钟移位。HPI检测位错误何时开始发生,因此探测眼图(eye)的边界。
定中心可以包括硬件和软件两者的组合(例如从基本输入输出系统(BIOS)芯片运行)。在一个示例中,提供了用于基本或初始定中心操作的硬件,其可以提供粗略的定中心解决方案。软件然后可以用来补充并细化初始定中心。软件定中心提供附加的灵活性,并且在某些情况下与硬件定中心相比提供更大的逻辑可编程性。这可以解决诸如例如硬件定中心当事实上甚至更近的中心经由附加通道可用时发现其相信的内容对于眼图而言是“附近中心”之类的问题。
在一个示例中,硬件包括用于相位调整的32个量子化延迟设置,但可以提供任何数目。Vref设置可以同样地被量子化。
测试涉及到跨每个通道扫描(sweep)量子化设置。在每次扫描之后,错误检测器枚举在扫描期间遇到的循环冗余校验(CRC)错误的数目,如果有的话。在一个示例中,合计每次扫描。因此,并不是关于每个通道上的CRC错误的数目而是所有通道上的CRC错误的数目对扫描进行评分。这意味着在某些情况下,对于单独通道而言最佳的设置可能对于总体上的互连而言并不是最佳的。
可以在初始启动时用硬件执行相位扫描,并且可以将其用来执行粗略定中心。在扫描完成之后,可以从BIOS加载软件指令以继续细化定中心。
在第二阶段(在一个示例中用软件执行)中,同样地跨量子化设置扫描Vref值。如前所述,每个扫描的结果是零个或更多CRC错误,并且合计每个量子化设置的结果。此扫描是以操作速度(在一个示例中8 Ghz)执行的以确保结果对于操作速度而言是有效的。
在第三阶段中,软件可以基于在前两个阶段中识别的最优值的横截面来构造二维“眼图”或区。眼图是“最佳猜测值”的长方形或卵形小区。在此阶段中,相位和Vref被一起测试,并且每个相位和参考电压对的结果被与每个其它相位和参考电压对相比较。
眼图内的最优性判定可以是不平凡的,因为眼图开端可以是不对称的,围绕着主要拐点是非单调的,并且是略微时变的。这是Tx适配的示例,即基于被使得可用于返回信道上的Tx的远程Rx度量来调整Tx值。在HPI中,通常在上游管芯上的核上运行的软件可以使用充当返回信道的HPI边带来访问本地管芯和远程管芯。HPI中,此类适配同时地在两个方向上发生,因为返回信道不在与链路层相同的导线上。
图4是更详细的链路状态机图,图示出可以包括在示例性HPI控制器中的链路状态和链路状态转换中的至少某些。在某些实施方式中,示例性链路状态机可以包括(除图4中所示的其它状态和状态转换之外)“定向环回”转换可以被提供以将通道置于数字环回中。例如,接收机通道可以在时钟恢复电路之后被环回到发送机通道。在某些情况下还可以提供“定中心”和“LB再定中心(LB_Recenter)”状态,其可以用来对齐数据符号,如在本说明书中所述。
可以通过提供串扰模式来增强上文所述的错误检测,如图5和5A中所示。在本示例中可以看到的是,一个通道的测试包括选择该通道作为“受害者”通道。可以在该通道上驱动测试模式,包括例如和PRBS。邻近通道以及达到n通道远(在本示例中,n=4)的通道是“侵略者”通道。这些通道接收串扰模式,其在这种情况下是测试模式的逻辑逆。其余通道是中性的。
图6是如本说明书中所述的定中心的流程图。
在方框610中,互连唤醒,诸如在机器已被关掉之后开始引导。
在方框620中,互连执行如上所述的初始阶段定中心。这可以包括用硬件执行相位扫描,并且选择结果为最少总体CRC位错误的设置。
在方框640中,一旦用硬件完成了粗略相位定中心,则可以使HPI达到其全速。
在方框650中,软件可以执行电压定中心。在某些示例中,软件还可以如本文中所述地细化相位定中心。
在方框670中,用软件构造眼图。
在方框680中,执行眼图定中心。如上所述,这是二维定中心方法,其中选择相位和参考电压对并相互比较。方法然后完成。
在某些示例中,还可以进行称为“再定中心”的操作。在再定中心中,微片停止,并且物理层微片接管互连。由于这点,并且由于定中心可能花费几微秒(在某些实施例中对于HPI而言慢得不可接受),因此不能如在某些其它互连中那样以周期为基础执行再定中心。相反地,再定中心可以是偶发的。
具体地,再定中心可以在HPI链路层中的错误跟踪器检测到在一时间跨度中接收到的CRC错误的数目大于阈值值时进行。例如,每1012位一个CRC错误可能是可接受的。但是超过那个可能是真错误的指示。因此,接收代理可以发送边带消息,其告知发送代理需要再定中心。当那发生时,发送代理确认该消息,并且两个代理进入再定中心。
边带上的消息可以是链路控制分组(LCP),其是在HPI边带上发送的特殊类别的分组。边带可以以低于链路层几个数量级的速度操作。例如,HPI边带可以以100至400 MHz操作。
在某些示例中,再定中心可以仅仅是硬件,因为当进行再定中心时,BIOS可能不可用。
某些R链路设计可以选择使用由被用PRBS23加扰的微片/分组组成的数据通道上的信令来完成低频率或连续CDR跟踪。在当不存在足够分组时的平静时段期间,PHY可以插入假LCP,因此可以保持跟踪。
要指出,可以在如前所述的任何电子装置或系统中实现上文所述的设备、方法以及系统。作为特定图示,下面的图提供了用于利用如本文中所述的发明的示例性系统。随着更详细地描述下面的系统,从以上讨论公开、描述并重访许多不同的互连。并且如容易地显而易见的,上文所述的进步可以应用于那些互连、结构或架构中的任何。
现在参考图7,示出了多核处理器的实施例的框图。如图7的实施例中所示,处理器700包括多个域。具体地,核域730包括多个核730A-730N,图形域760包括具有媒体引擎765的一个或多个图形引擎,以及系统代理域710。
在各种实施例中,系统代理域710处理功率控制事件和功率管理,使得域730和760的各单元(例如核和/或图形引擎)是可独立控制的,以根据在给定单元中进行的活动(或不活动)在适当的功率模式/水平下(例如活动、超频(turbo)、睡眠、休眠、深度睡眠或其它类似于高级配置功率接口的状态)动态地操作。域730和760中的每一个可以在不同的电压和/或功率下操作,并且此外,域内的各单元各自潜在地在独立的频率和电压下操作。要指出,虽然仅示出有三个域,但应理解本发明的范围在这方面不受限制,并且在其它实施例中可以存在附加域。
如所示,每个核730除各种执行单元和附加处理元件之外还包括低级高速缓存器。在这里,各种核被相互耦合并耦合到共享高速缓冲存储器,其由末级高速缓存器(LLC)的多个单元或切片740A-740N形成;这些LLC常常包括存储和高速缓存器控制器功能性,并且在核之间以及潜在地也在图形引擎之间被共享。
如看到的,环形互连750将核耦合在一起,并且经由多个环间断(stop)752A-752N(每个在核与LLC切片之间的耦合处)提供核域730、图形域760 和系统代理电路710之间的互连。如在图7中看到的,互连750被用来载送各种信息,包括地址信息、数据信息、确认信息以及探听/无效信息。虽然图示出环形互连,但可以利用任何已知的管芯上互连或结构。作为例证性示例,可以以类似方式利用上文所讨论的结构中的某些(例如,另一管芯上互连、英特尔片上系统结构(IOSF)、高级微控制器总线架构(AMBA)互连、多维网状结构或其它已知互连架构)。
如进一步描绘的,系统代理域710包括显示引擎712,其将提供关联显示器的控制和到关联显示器的接口。系统代理域710可以包括其它单元,诸如:集成存储器控制器720,其提供到系统存储器(例如,用多个DIMM实现的DRAM)的接口;用以执行存储器相干性操作的相干性逻辑722。可以存在多个接口以使得能够实现处理器与其它电路之间的互连。例如,在一个实施例中,提供了至少一个直接媒体接口(DMI)716接口以及一个或多个PCIe™接口714。显示引擎和这些接口通常经由PCIe™桥接器718耦合到存储器。此外,为了提供其它代理(诸如附加处理器或其它电路)之间的通信,可以提供一个或多个其它接口(例如英特尔®快速路径互连(QPI)结构)。
现在参考图8,示出的是代表性核的框图;具体地,核(诸如来自图7的核730)的后端的逻辑块。一般地,图8中所示的结构包括无序处理器,其具有前端单元870,所述前端单元870用来获取输入指令、执行各种处理(例如高速缓存、解码、分支预测等)并向无序(OOO)引擎880传递指令/操作。OOO引擎880对已解码指令执行进一步处理。
具体地,在图8的实施例中,无序引擎880包括分配单元882,其用以从前端单元870接收已解码指令(其可以是一个或多个微指令或uop的形式)并将其分配给诸如寄存器等的适当资源。接下来,向预留站884提供指令,预留站884预留资源并对其进行调度以便在多个执行单元886A-886N中的一个上执行。可以存在各种类型的执行单元,包括例如算术逻辑单元(ALU)、加载和存储单元、向量处理单元(VPU)、浮点执行单元及其它的。来自这些不同执行单元的结果被提供给重排序缓冲器(ROB)888,其获取未经排序的结果并使其返回到正确的程序顺序。
仍参考图8,要指出,前端单元870和无序引擎880两者都被耦合到存储器分级结构的不同层级。具体地示出的是指令级高速缓存器872,其进而耦合到中级高速缓存器876,该中级高速缓存器876进而耦合到末级高速缓存器895。在一个实施例中,在片上(有时称为非核(uncore))单元890中实现末级高速缓存器895。作为示例,单元890类似于图7的系统代理710。如上文所讨论的,UnCore 890与系统存储器899通信,其在所示实施例中是经由ED RAM实现的。还要指出,无序引擎880内的各种执行单元886与也与中级高速缓存器876通信的第一高速缓存器874通信。还要指出,附加核830N-2—830N可以耦合到LLC 895。虽然在图8的实施例中是在此高层级示出,但应理解的是可以存在各种变更和附加组件。
转到图9,图示出形成有包括用以执行指令的执行单元的处理器的示例性计算机系统的框图,其中,互连中的一个或多个实现根据本发明的一个实施例的一个或多个特征。系统900包括根据本发明(诸如在本文中所述的实施例中)的组件,诸如将采用包括用以执行算法以便处理数据的逻辑的执行单元的处理器902。系统900表示基于可从加利福尼亚州圣克拉拉市的英特尔公司获得的PENTIUM III™、PENTIUM 4™、Xeon™、Itanium、XScale™和/或StrongARM™微处理器的处理系统,但是还可以使用其它系统(包括具有其它微处理器的PC、工程工作站、机顶盒等)。在一个实施例中,采样系统900执行可从华盛顿州雷蒙德的微软公司获得的WINDOWS™操作系统的版本,但是还可以使用其它操作系统(例如UNIX和Linux)、嵌入式软件和/或图形用户界面。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
实施例不限于计算机系统。在其它装置(诸如手持式装置和嵌入式应用)中可以使用本发明的替换实施例。手持式装置的某些示例包括蜂窝电话、网际协议装置、数字式相机、个人数字助理(PDA)以及手持式PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或者可以执行根据至少一个实施例的一个或多个指令的任何其它系统。
在本所示实施例中,处理器902包括将实现用以执行至少一个指令的算法的一个或多个执行单元908。可以在单处理器台式计算机或服务器系统的背景下描述一个实施例,但在多处理器系统中可以包括替换实施例。系统900是‘集线器’系统架构的示例。计算机系统900包括用以处理数据信号的处理器902。作为一个例证性示例,处理器902包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现指令集的组合的处理器或者任何其它处理器装置,诸如数字信号处理器。处理器902被耦合到处理器总线910,其在处理器902与系统900中的其它组件之间发送数据信号。系统900的元件(例如图形加速器912、存储器控制器集线器916、存储器920、I/O控制器集线器924、无线收发机926、闪速BIOS 928、网络控制器934、音频控制器936、串行扩展端口938、I/O控制器940等)执行本领域的技术人员众所周知的其常规功能。
在一个实施例中,处理器902包括层级1(L1)内部高速缓冲存储器904。取决于架构,处理器902可以具有单个内部高速缓存器或多个层级的内部高速缓存器。其它实施例根据特定实施方式和需要而包括内部和外部高速缓存器两者的组合。寄存器文件906将在各种寄存器中存储不同类型的数据,所述各种寄存器包括整数寄存器、浮点寄存器、向量寄存器、分组寄存器、影子寄存器、检查点寄存器、状态寄存器以及指令指针寄存器。
执行单元908(包括用以执行整数和浮点操作的逻辑)也常驻于处理器902中。在一个实施例中,处理器902包括用以存储微代码的微代码(ucode)ROM,所述微代码在被执行时将实行用于某些宏指令的算法或处理复杂情形。在这里,微代码潜在地可更新以处理用于处理器902的逻辑程序错误/修复。针对一个实施例,执行单元908包括用以处理打包指令集909的逻辑。通过将打包指令集909包括在通用处理器902的指令集中,连同用以执行指令的关联电路一起,可以在通用处理器902中使用打包数据来执行许多多媒体应用所使用的操作。因此,通过使用处理器的数据总线的全宽来对打包数据执行操作,可以更高效地加速并执行许多多媒体应用。这潜在地消除了跨处理器的数据总线传输较小数据单元以执行一个或多个操作(每次一个数据元素)的需要。
在微控制器、嵌入式处理器、图形装置、DSP及其它类型的逻辑电路中还可以使用执行单元908的替换实施例。系统900包括存储器920。存储器存储器920包括动态随机存取存储器(DRAM)装置、静态随机存取存储器(SRAM)装置、闪存装置或其它存储器装置。存储器920存储将由处理器902执行的数据信号所表示的数据和/或指令。
要指出,可以在图9中所示的一个或多个互连上利用本发明的任何上述特征或方面。例如,未示出的用于耦合处理器902的内部单元的管芯上互连(ODI)实现上文所述的本发明的一个或多个方面。或者本发明与处理器总线910(例如英特尔快速路径互连(QPI)或其它已知高性能计算互连)、到存储器920的高带宽存储器路径918、到图形加速器912的点到点链路(例如快速外围组件互连(PCIe)合规结构)、控制器集线器互连922、I/O或用于耦合其它所示组件的其它互连(例如,USB、PCI、PCIe)相关联。此类组件的某些示例包括音频控制器936、固件集线器(闪速BIOS)928、无线收发机926、数据储存器924、包含用户输入和键盘接口942的传统I/O控制器910、诸如通用串行总线(USB)之类的串行扩展端口938以及网络控制器934。数据存储装置924可以包括硬盘驱动、软盘驱动、CD-ROM装置、闪存装置或其它大容量存储装置。
现在参考图10,示出了根据本发明的实施例的第二系统1000的框图。如图10中所示,多处理器系统1000是点到点互连系统,并且包括经由点到点互连1050进行耦合的第一处理器1070和第二处理器1080。处理器1070和1080中的每一个可以是处理器的某个版本。在一个实施例中,1052和1054是串行、点到点相干互连结构(诸如英特尔的快速路径互连(QPI)架构)的一部分。结果,可以在QPI架构内实现本发明。
虽然仅仅用两个处理器1070、1080示出,但应理解的是本发明的范围不受此限制。在其它实施例中,在给定处理器中可以存在一个或多个附加处理器。
示出了分别地包括集成存储器控制器单元1072和1082的处理器1070和1080。处理器1070还包括点到点(P-P)接口1076和1078作为其总线控制器单元的一部分;同样地,第二处理器1080包括P-P接口1086和1088。处理器1070、1080可以使用P-P接口电路1078、1088经由点到点(P-P)接口1050来交换信息。如图10中所示,IMC 1072和1082将处理器耦合到相应存储器,即存储器1032和存储器1034,其可以是被本地附着到相应处理器的主存储器的各部分。
处理器1070、1080各自使用点到点接口电路1076、1094、1086、1098经由单独的P-P接口1052、1054与芯片集1090交换信息。芯片集1090还沿着高性能图形互连1039经由接口电路1092与高性能图形电路1038交换信息。
共享高速缓存器(未示出)可以被包括在任一处理器中或者在两个处理器外面;但是经由P-P互连与处理器相连,使得如果处理器被置于低功率模式,则任一个或两个处理器的本地高速缓存器信息可以被存储在共享高速缓存器中。
可以经由接口1096将芯片集1090耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线,或者诸如快速PCI总线或另一第三代I/O互连总线之类的总线,但本发明的范围不受此限制。
如图10中所示,各种I/O装置1014被耦合到第一总线1016,连同将第一总线1016耦合到第二总线1020的总线桥接器1018一起。在一个实施例中,第二总线1020包括低引脚数(LPC)总线。在一个实施例中,各种装置被耦合到第二总线1020,包括例如键盘和/或鼠标1022、通信装置1027和存储单元1028,诸如磁盘驱动或其它大容量存储装置,其常常包括指令/代码和数据1030。此外,音频I/O 1024被示出为被耦合到第二总线1020的。要指出,其中所包括的组件和互连架构不同的其它架构是可能的。例如,作为图10的点到点架构的替代,系统可以实现多分支总线或其它此类架构。
现在参考图11,图示出根据本发明的实施例的存在于计算机系统中的组件的框图。如图11中所示,系统1100包括组件的任何组合。这些组件可以被实现为IC、其部分、分立电子装置或者被适配在计算机系统中或作为以其它方式被结合在计算机系统的机箱内的组件的其它模块、逻辑、硬件、软件、固件或其组合。还要指出,图11的框图意图示出计算机系统的许多组件的高级视图。然而,应理解的是在其它实施方式中,所示的组件中的某些可以被省略,可以存在附加组件,并且可以出现所示组件的不同布置。结果,可以在下面所示和所述的互连中的一个或多个的任何部分中实现上文所述的发明。
如在图11中看到的,在一个实施例中,处理器1110包括微处理器、多核处理器、多线程处理器、超低压处理器、嵌入式处理器或其它已知处理元件。在所示实施方式中,处理器1110充当主处理单元和中央集线器以便与系统1100的各种组件中的许多通信。作为一个示例,处理器1100被实现为片上系统(SoC)。作为特定例证性示例,处理器1110包括基于因特尔® Architecture Core™的处理器,诸如i3、i5、i7或可从加利福尼亚州圣克拉拉市的英特尔公司获得的另一此类处理器。然而,应理解的是在其它实施例中可以替代地存在诸如可从加利福尼亚州桑尼维尔市的Advanced Micro Devices公司(AMD)获得的其它低功率处理器、来自加利福尼亚州桑尼维尔市的MIPS 技术公司的基于MIPS的设计、从ARM控股有限公司或其客户或者其获得许可方或采用方获得许可的基于ARM的设计(诸如Apple A5/A6处理器、Qualcomm Snapdragon处理器或TI OMAP处理器)。要指出,此类处理器的许多客户版本被修改和改变;然而,其可以支持或认可执行如由处理器许可方阐述的定义算法的特定指令集。在这里,微架构实施方式可以改变,但是处理器的架构功能通常是一致的。下面将进一步讨论一个实施方式中的关于处理器1110的架构和操作的某些细节以提供例证性示例。
在一个实施例中,处理器1110与系统存储器1115通信。作为例证性示例,在实施例中,其可以经由多个存储器装置来实现以提供给定量的系统存储器。作为示例,存储器可以是根据基于联合电子装置工程会议(JEDEC)低功率双倍数据速率(LPDDR)的设计,诸如根据JEDEC JESD 209-2E的当前LPDDR2标准(2009年4月公布)或者将提供对LPDDR2的扩展以增加带宽的将称为LPDDR3或LPDDR4的下一代LPDDR标准。在各种实施方式中,单独存储器装置可以是不同封装类型的,诸如单管芯封装(DSP)、双管芯封装(DDP)或四管芯封装(9P)。在某些实施例中,这些装置被直接焊接到母板上以提供较低剖面解决方案,而在其它实施例中,装置被配置为一个或多个存储器模块,其进而通过给定连接器耦合到母板。并且当然,其它存储器实施方式是可能的,诸如其它类型的存储器模块,例如不同种类的双列直插存储器模块(DIMM)(包括但不限于microDlMM、MiniDIMM)。在特定例证性实施例中,存储器的大小在2GB与16GB之间,并且可以被配置为DDR3LM封装或LPDDR2或LPDDR3存储器,其被经由球栅阵列(BGA)焊接到母板上。
为了提供诸如数据、应用、一个或多个操作系统等信息的持久性存储,大容量储存器1120还可以耦合到处理器1110。在各种实施例中,为了使得能够实现更薄且更轻的系统设计以及改善系统响应性,可以经由SSD来实现此大容量储存器。然而,在其它实施例中,可以主要使用硬盘驱动(HDD)来实现大容量储存器,该硬盘驱动(HDD)具有较小量的SSD存储以充当SSD高速缓存器以使得能够在掉电事件期间实现上下文状态及其它此类信息的非易失性存储,使得当重新发起系统活动时可以进行快速上电。在图11中还示出的闪速装置1122可以例如经由串行外围接口(SPI)而耦合到处理器1110。此闪速装置可以提供系统软件的非易失性存储,包括基本输入/输出软件(BIOS)以及系统的其它固件。
在各种实施例中,系统的大容量储存器单独由SSD来实现或者被实现为具有SSD高速缓存器的磁盘、光学或其它驱动。在某些实施例中,将大容量储存器实现为SSD或者作为HDD以及恢复(RST)高速缓存器模块。在各种实施方式中,HDD提供320GB-4太字节(TB)及以上之间的存储,而RST高速缓存器是用具有24GB-256GB的容量的SSD实现的。要指出,此类SSD高速缓存器可以被配置为单级高速缓存器(SLC)或多级高速缓存器(MLC)选项以提供适当水平的响应性。在仅SSD选项中,可以在各种位置上(诸如在mSATA或NGFF槽中)容纳该模块。作为示例,SSD具有范围从120GB-1TB的容量。
在系统1100内可以存在各种输入/输出(IO)装置。在图11的实施例中具体地示出的是显示器1124,其可以是被配置在机箱的盖部分内的高清晰度LCD或LED面板。此显示面板还可以提供触摸屏1125,例如被外部适配在显示面板上,使得经由用户与此触摸屏的交互,可以向系统提供用户输入以使得能够实现例如关于信息显示、信息访问等的期望操作。在一个实施例中,显示器1124可以经由可以被实现为高性能图形互连的显示互连而被耦合到处理器1110。触摸屏1125可以经由另一互连(其在实施例中可以是I2C互连)被耦合到处理器1110。如图11中进一步所示,除触摸屏1125之外,通过触摸方式进行的用户输入还可以经由触控板1130发生,其可以被配置在机箱内,并且还可以被耦合到与触摸屏1125相同的I2C互连。
显示面板可以在多个模式下操作。在第一模式下,可以在其中显示面板对可见光透明的透明状态下布置显示面板。在各种实施例中,显示面板的大部分可以是显示器,除围绕着周界的边框之外。当系统在笔记本模式下操作且显示面板在透明状态下操作时,用户可以观看在显示面板上呈现的信息,同时还能够观看显示器后面的对象。另外,在显示面板上显示的信息可以被位于显示器后面的用户观看。或者显示面板的操作状态可以是其中可见光并未透射通过显示面板的不透明状态。
在平板模式下,系统被折叠关闭,使得显示面板的背面显示表面处于静止位置,使得当底座面板的底面停靠在表面上或者被用户握持时,其向外面朝用户。在平板操作模式下,背面显示表面起到显示器和用户接口的作用,因为此表面可以具有触摸屏功能,并且可以执行常规触摸屏装置(诸如平板装置)的其它已知功能。为此,显示面板可以包括透明度调整层,其被设置在触摸屏层与正面显示表面之间。在某些实施例中,透明度调整层可以是电致变色层(EC)、LCD层或者EC和LCD层的组合。
在各种实施例中,显示器可以是不同尺寸的,例如11.6''或13.3''屏幕,并且可以具有16:9纵横比以及至少300尼特亮度。并且显示器可以具有全高清晰度(HD)分辨率(至少1920×1080p),与嵌入式显示端口(eDP)兼容,并且是具有面板自动刷新的低功率面板。
关于触摸屏能力,系统可以提供显示器多点触摸面板,其是多点触摸电容的,并且具备至少5指的能力。并且在某些实施例中,显示器可以是具备10指能力的。在一个实施例中,触摸屏被容纳在防损坏和划痕的玻璃和涂层(例如,Gorilla Glass™或Gorilla Glass2™)内以实现低摩擦以减少“手指烧伤”并避免“手指跳过”。为了提供增强的触摸体验和响应性,在某些实施例中,触摸面板具有多点触摸功能(诸如在捏缩放期间的每个静态视图小于2个帧(30Hz))以及具有200nm(手指上到指针的滞后)的每个帧小于1cm(30Hz)的单点触摸功能。在某些实施方式中,显示器支持无边框玻璃,其具有也与面板表面齐平的最小屏幕边框以及当使用多点触摸时的有限IO干扰。
出于感知计算及其它目的,在系统内可以存在各种传感器且其可以被以不同方式耦合到处理器1110。某些惯性和环境传感器可以通过传感器集线器1140(例如经由I2C互连)而耦合到处理器1110。在图11中所示的实施例中,这些传感器可以包括加速度计1141、环境光传感器(ALS)1142、指南针1143和陀螺仪1144。其它环境传感器可以包括一个或多个热传感器1146,其在某些实施例中经由系统管理总线(SMBus)总线耦合到处理器1110。
使用存在于平台中的各种惯性和环境传感器,可以实现许多不同的用例。这些用例使得能够实现高级计算操作,包括感知计算,并且还允许关于功率管理/电池寿命、安全性以及系统响应性的增强。
例如,关于功率管理/电池寿命问题,至少部分地基于来自环境光传感器的信息,确定平台的位置上的环境光条件并相应地控制显示器的强度。因此,在某些光条件下减少操作显示器时所消耗的功率。
关于安全性操作,基于从传感器获得的上下文信息,诸如传感器信息,可以确定用户是否被允许访问某些安全文档。例如,可以允许用户在工作地点或家庭位置处访问此类文档。然而,当平台存在于公共位置处时阻止用户访问此类文档。在一个实施例中,此确定是基于例如经由特征点的GPS传感器或相机识别确定的位置信息。其它安全性操作可以包括提供装置(例如,如本文中所述的便携式平台和用户的台式计算机、移动电话等)在相互的近距离内的配对。在某些实施方式中,当这些装置被这样配对时,某些共享是经由近场通信实现的。然而,当装置超过一定范围时,此类共享可能被禁用。此外,当将如本文中所述的平台与智能电话配对时,可以将警报配置成当装置移动超过彼此的预定距离时、当处于公共位置时被触发。相反地,当这些配对装置处于安全位置(例如,工作地点或家庭位置)时,装置可以超过此预定极限而不触发此类警报。
还可以使用传感器信息来增强响应性。例如,即使当平台处于低功率状态时,仍可以使得传感器能够以相对低的频率运行。因此,确定例如由惯性传感器、GPS传感器等确定的平台的位置的任何变化。如果此类变化未被登记,则发生到先前的无线集线器(诸如Wi-Fi™接入点或类似无线使能器)的更快速连接,因为在这种情况下不需要扫描可用的无线网络资源。因此,实现了从低功率状态唤醒时的更大水平的响应性。
应理解的是使用经由如本文所述的平台内的集成传感器获得的传感器信息,可以启用许多其它用例,并且上述示例仅仅用于例证的目的。使用如本文中所述的系统,感知计算系统可以允许添加替换输入模式,包括手势识别,并且使得系统能够感测到用户操作和意图。
在某些实施例中,可以存在一个或多个红外或其它热感测元件或者用于感测用户的存在或移动的任何其它元件。此类感测元件可以包括一起工作、按序列工作或以这两种方式的多个不同元件。例如,感测元件包括提供初始感测(诸如光或声投射)、后面是用于由例如超声波飞行时间相机或图案化光相机进行的用于手势检测的感测的元件。
并且,在某些实施例中,系统包括用以产生光照线的光发生器。在某些实施例中,此线提供关于虚拟边界(即空间中的假想或虚拟位置)的视觉提示,在那里用户的用以通过或突破虚拟边界或平面的动作被解释为要与计算系统接合的意图。在某些实施例中,光照线可以随着计算系统转换至相对于用户的不同状态而改变色彩。该光照线可以用来为用户提供空间中的虚拟边界的视觉提示,并且可以被系统用来确定相对于用户的计算机状态的转换,包括确定用户何时期望与计算机接合。
在某些实施例中,计算机感测用户位置并进行操作以将用户的手通过虚拟边界的移动解释为指示用户要与计算机接合的意图的手势。在某些实施例中,在用户通过虚拟线或平面时,由光发生器产生的光可以改变,因此向用户提供用户已进入用于提供手势以向计算机提供输入的区域的视觉反馈。
显示屏可以提供计算机系统的相对于用户的状态转换的视觉指示。在某些实施例中,在其中由系统诸如通过使用感测元件中的一个或多个来感测用户的存在的第一状态下提供第一屏幕。
在某些实施方式中,系统采取行动以诸如通过面部识别来感测用户身份。在这里,可以在其中计算系统已识别用户身份的第二状态下提供到第二屏幕的转换,其中,此第二屏幕向用户提供用户已转换到新状态的视觉反馈。到第三屏幕的转换可以在其中用户已确认用户的识别的第三状态下发生。
在某些实施例中,计算系统可以使用转换机制来确定用于用户的虚拟边界的位置,其中,虚拟边界的位置可以随着用户和背景而改变。计算机可以产生光(诸如光照线)以指示用于与系统接合的虚拟边界。在某些实施例中,计算系统可以处于等待状态,并且光可以是以第一色彩产生的。计算系统可以诸如通过使用感测元件来感测用户的存在和移动而检测到用户是否已到达超过虚拟边界处。
在某些实施例中,如果用户已被检测为已穿过虚拟边界(诸如用户的手与虚拟边界线相比更接近于计算系统),则计算系统可以转换至用于从用户接收手势输入的状态,其中,用以指示该转换的机制可以包括指示虚拟边界变成第二色彩的光。
在某些实施例中,计算系统然后可以确定是否检测到手势移动。如果检测到手势移动,则计算系统可以继续进行手势识别过程,其可以包括使用来自手势数据库的数据,该手势数据库可以常驻于计算设备中的存储器中或者可以以其它方式被计算设备访问。
如果识别到用户的手势,则计算系统可以响应于输入而执行功能,并且如果用户在虚拟边界内则返回以接收附加手势。在某些实施例中,如果未识别到手势,则计算系统可以转换至错误状态,其中,用以指示错误状态的机制可以包括光指示虚拟边界变成第三色彩,如果用户在用于与计算系统接合的虚拟边界内,则系统返回以接收附加手势。
如上所述,在其它实施例中,系统可以被配置为可以在至少两个不同模式、即平板电脑模式和笔记本模式下使用的可转换平板电脑系统。该可转换系统可以具有两个面板,即显示面板和基座面板,使得在平板电脑模式下,两个面板被以相互上下的堆叠方式设置。在平板电脑模式下,显示面板面朝外,并且可以提供如在常规平板电脑中使用的触摸屏功能。在笔记本模式下,可以以开放的蛤壳(clamshell)配置来布置两个面板。
在各种实施例中,加速度计可以是具有至少50Hz的数据速率的3轴加速度计。还可以包括陀螺仪,其可以是3轴陀螺仪。另外,可以存在电子指南针/磁强计。并且,可以提供一个或多个接近传感器(例如,用于使盖打开以感测人何时(或是否)接近于系统并调整功率/性能以延长电池寿命)。针对某些OS的传感器融合,包括加速度计、陀螺仪以及指南针的能力可以包括增强的特征。另外,经由具有实时时钟(RTC)的传感器集线器,可以实现从传感器机制的唤醒以在系统的其余部分处于低功率状态时接收传感器输入。
在某些实施例中,内部盖/显示器打开开关或传感器将指示盖何时被闭合/打开,并且可以用来将系统置于已连接待机或者自动地从已连接待机状态唤醒。其它系统传感器可以包括用于内部处理器、存储器以及皮肤温度监视的ACPI传感器以使得能够基于感测到的参数而变成处理器和系统操作状态。
在实施例中,OS可以是实现已连接待机的Microsoft® Windows® 8 OS(在本文中也称为Win8 CS)。Windows 8已连接待机或具有类似状态的另一OS可以经由如本文中所述的平台来提供甚低超空闲功率以便以非常低的功率消耗保持例如连接到基于云的位置。平台可以指示3个功率状态,即屏幕开(正常);已连接待机(作为默认“关闭状态”);以及关机(零瓦的功率消耗)。因此,在已连接待机状态下,平台在逻辑上开启(处于最低功率水平),即使屏幕是关闭的。在此类平台中,可以使得功率管理对于应用程序而言是透明的,并且保持恒定的连接,部分地由于将使得最低供电组件能够执行操作的卸载技术。
在图11中还看到,各种外围装置可以经由低引脚计数(LPC)互连而耦合到处理器1110。在所示实施例中,各种组件可以通过嵌入式控制器1135被耦合。此类组件可以包括键盘1136(例如,经由PS2接口耦合)、风扇1137以及热传感器1139。在某些实施例中,触控板1130还可以经由PS2接口而耦合到EC 1135。另外,诸如根据2003年10月2日的可信计算组(TCG)TPM规范版本1.2的可信平台模块(TPM)之类的安全性处理器1138也可以经由此LPC互连而耦合到处理器1110。然而,应理解的是本发明的范围在这方面不受限制,并且安全信息的安全处理和存储可以是在安全性协处理器中的另一受保护位置上,诸如静态随机存取存储器(SRAM),或者作为只有当受到安全飞地(SE)处理器模式保护时此被解密的加密数据块。
在特定实施方式中,外围端口可以包括高清晰度媒体接口(HDMI)连接器(其可以具有不同的外形因数,诸如全尺寸、小型或微型);一个或多个USB端口,诸如根据通用串行总线修订版3.0规范(2008年11月)的全尺寸外部端口,至少一个在系统处于已连接待机状态且被用插头插到AC墙电力时被供电以便对USB装置(诸如智能电话)充电。另外,可以提供至少一个Thunderbolt™端口。其它端口可以包括外部可访问读卡器,诸如全尺寸SD-XC读卡器和/或用于WWAN的SIM读卡器(例如,8引脚读卡器)。针对音频,可以存在具有立体声和麦克风能力(例如,组合功能)的3.5mm插孔,具有用于插孔检测的支持(例如,使用盖中的麦克风的仅耳机支持或者在线缆中具有麦克风的耳机)。在某些实施例中,此插孔可以是可在立体声耳机与立体声麦克风输入端之间重新分派任务的。并且,可以提供用于耦合到AC砖的功率插孔。
系统1100可以以各种方式(包括无线地)与外部装置通信。在图11中所示的实施例中,存在各种无线模块,其中的每一个可以对应于针对特定无线通信协议配置的无线电。用于诸如近场之类的近范围内的无线通信的一个方式可以是经由近场通信(NFC)单元1145,其在一个实施例中可以经由SMBus与处理器1110通信。要指出,经由此NFC单元1145,相互紧密接近的装置可以通信。例如,用户可以使得系统1100能够经由将两个装置以紧密关系适配在一起并使得能够传输信息(诸如识别信息支付信息)、数据(诸如通信数据)等来与诸如用户的智能电话之类的另一(例如,)便携式装置通信。还可以使用NFC系统来执行无线功率传输。
使用本文中所述的NFC单元,用户可以将装置面对面遭遇并将装置面对面放置以通过利用此类装置中的一个或多个的线圈之间的耦合来实现近场耦合功能(诸如近场通信和无线功率传输(WPT))。更具体地,实施例为装置提供被战略地成形和放置的铁氧体材料,以提供线圈的更好耦合。每个线圈具有与其相关联的电感,该电感可以是结合系统的电阻、电容及其它特征选择的,以使得能够实现用于系统的公共谐振频率。
如在图11中进一步看到的,附加无线单元可以包括其它近程无线引擎,其包括WLAN单元1150和蓝牙单元1152。使用WLAN单元1150,可以实现根据给定电气和电子工程师协会(IEEE)802.11标准的Wi-Fi™通信,而经由蓝牙单元1152,可以发生经由蓝牙协议的近程通信。这些单元可以经由例如USB链路或通用异步收发机(UART)链路与处理器110通信。或者这些单元可以经由根据快速外围组件互连™(PCIe™)协议(例如根据快速PCI规范基础规范版本3.0(2007年1月17日公布))协议或者根据诸如串行数据输入/输出(SDIO)标准之类的另一此类协议的互连而耦合到处理器1110。当然,可以在一个或多个附加卡上配置的这些外围装置之间的实际物理连接可以是经由适配到母板的NGFF连接器。
另外,例如根据蜂窝或其它无线广域协议的无线光与通信可以经由WW AN单元1156发生,其进而可以耦合到订户身份模块(SIM)1157。另外,为了使得能够接收和使用位置信息,还可以存在GPS模块1155。要指出,在图11中所示的实施例中,WW AN单元1156和集成捕捉装置(诸如相机模块1154)可以经由诸如USB 2.0或3.0链路之类的给定USB协议或UART或I2C协议通信。再次地,这些单元的实际物理链接可以是经由NGFF附加卡到在母板上配置的NGFF连接器的适配。
在特定实施例中,可以以模块化方式提供无线功能,例如用具有对Windows 8 CS的支持的WiFi™ 802.11ac解决方案(例如,与IEEE 802.11abgn向后兼容的附加卡)。可以在内槽中(例如,经由NGFF适配器)配置此卡。附加模块可以提供蓝牙能力(例如,具有向后兼容性的蓝牙4.0)以及Intel®无线显示器功能。另外,可以经由单独装置或多功能装置来提供NFC支持,并且可以(作为示例)位于机箱的右前部分中以便于接近。另一附加模块可以是可以为3G/4G/LTE和GPS提供支持的WWAN装置。此模块可以在内部(例如,NGFF)槽中实现。可以对WiFi™、蓝牙、WWAN、NFC和GPS提供支持,使得能够实现从WiFi至WWAN无线电、根据无线千兆位规范(2010年7月)的无线千兆位(WiGig)的无缝转换,并且反之亦然。
如上所述,可以在盖中结合集成相机。作为一个示例,此相机可以是高分辨率相机,例如具有至少2.0兆像素(MP)的分辨率并扩展至6.0 MP及以上。
为了提供音频输入和输出,可以经由可以经由高清晰度音频(HDA)链路耦合到处理器1110的数字信号处理器(DSP)1160来实现音频处理器。同样地,DSP 1160可以与集成编码器/解码器(CODEC)和放大器1162通信,其进而可以耦合到可以在机箱内实现的输出扬声器1163。同样地,放大器和CODEC 1162可以被耦合成从麦克风1165接收音频输入,该麦克风1165在实施例中可以经由双阵列麦克风(诸如数字麦克风阵列)来实现以提供高质量音频输入以使得能够实现系统内的各种操作的语音激活控制。还要指出,可以从放大器/CODEC1162向耳机插孔1164提供音频输出。虽然在图11的实施例中用这些特定组件示出,但应理解本发明的范围在这方面不受限制。
在特定实施例中,数字音频编解码器和放大器能够驱动立体声耳机插孔、立体声麦克风插孔、内部麦克风阵列和立体声扬声器。在不同实施方式中,可以将编解码器集成到音频DSP中或者经由HD音频路径耦合到外围设备控制器集线器(PCH)。在某些实施方式中,除集成立体声扬声器之外,可以提供一个或多个低音扬声器,并且扬声器解决方案可以支持DTS音频。
在某些实施例中,处理器110可以被外部调压器(VR)和被集成在处理器管芯内部的多个内部调压器(称为完全集成调压器(FIVR))供电。处理器中的多个FIVR的使用使得能够将组件分组成单独功率平面,使得功率被FIVR调节和供应至仅该组中的平面。在功率管理期间,一个FIVR的给定功率层可以在处理器被置于某个低功率状态时被断电或掉电,而另一FIVR的功率层保持活动或满功率。
在一个实施例中,可以在某些深度睡眠状态期间可以使用维持功率平面以将用于多个I/O信号的I/O引脚(诸如处理器与PCH之间的接口、与多个VR的接口和与EC 1135的接口)通电。此维持功率平面还对支持板上SRAM或其中在睡眠状态期间存储处理器上下文的其它高速缓冲存储器的管芯上调压器供电。该维持功率平面还被用来对监视和处理各种唤醒源信号的处理器的唤醒逻辑通电。
在功率管理期间,在其它功率平面在处理器进入某些深度睡眠状态时被掉电或断电的同时,维持功率平面保持被通电以支持上述组件。然而,当不需要那些组件时,这可能导致不必要的功率消耗或耗散。为此,实施例可以提供已连接待机睡眠状态以使用专用功率平面来保持处理器上下文。在一个实施例中,已连接待机睡眠状态使用PCH的资源来促进处理器唤醒,该PCH本身可以存在于具有处理器的封装中。在一个实施例中,已连接待机睡眠状态促进在PCH中维持处理器架构功能直至处理器唤醒为止,这使得能够关掉先前在深度睡眠状态期间保持被通电的所有不必要处理器组件,包括关掉所有时钟。在一个实施例中,PCH包含时间戳计数器(TSC)和用于在已连接待机状态期间控制系统的已连接待机逻辑。用于维持功率平面的集成调压器也可以常驻于PCH上。
在实施例中,在已连接待机状态期间,集成调压器可以充当专用功率平面,其保持被通电以当处理器进入深度睡眠状态和已连接待机状态时支持在其中存储处理器上下文(诸如关键状态变量)的专用高速缓冲存储器。此关键状态可以包括与架构、微架构、调试状态相关联的状态变量和/或与处理器相关联的类似状态变量。
来自EC 1135的唤醒源信号在已连接待机状态期间可以被发送到PCH而不是处理器,使得PCH可以管理唤醒处理而不是处理器。另外,TSC被保持在PCH中以促进维持处理器架构功能。虽然在图11的实施例中用这些特定组件示出,但应理解本发明的范围在这方面不受限制。
处理器中的功率控制可以导致增强的功率节约。例如,可以在核之间动态地分配功率,单独的核可以改变频率/电压,并且可以提供多个深度低功率状态以使得能够实现非常低的功率消耗。另外,核或独立核部分的动态控制可以通过当组件不在被使用时将组件断电来提供减少的功率消耗。
某些实施方式可以特定功率管理IC(PMIC)以控制平台功率。使用这种解决方案,系统可以当处于给定待机状态时在延长的持续时间(例如,16小时)内经历非常低(例如,小于5%)的电池退化。在Win8空闲状态下,可以实现超过例如9小时的电池寿命(例如,在150尼特下)。关于视频重放,可以实现长的电池寿命,例如全HD视频重放可以进行达至少6小时。在一个实施方式中,平台可以针对使用SSD的Win8 CS具有例如35瓦时(Whr)的能量容量且针对使用具有RST高速缓存器配置的HDD的Win8 CS具有(例如,)40-44Whr的能量容量。
特定实施方式可以提供针对15W标称CPU热设计功率(TDP)的支持,具有达到约25WTDP设计点的可配置CPU TDP。平台可以由于上文所述的热特征而包括最少的通风口。另外,平台是枕头友好的(因为没有热空气吹向用户)。根据机箱材料可以实现不同的最高温度点。在塑料机箱(至少具有塑料的盖或基座部分)的一个实施方式中,最高工作温度可以是52摄氏度(C)。并且针对金属机箱的实施方式,最高工作温度可以是46℃。
在不同的实施方式中,可以将诸如TPM之类的安全性模块集成到处理器中,或者其可以是诸如TPM 2.0装置之类的分立装置。用也称为平台信任技术(PTT)的集成安全性模块,可以启用BIOS/固件以暴露用于某些安全性特征的某些硬件特征,包括安全指令、安全引导、Intel®防盗技术、Intel®身份保护技术、Intel®可信执行技术(TXT)和Intel®可管理性引擎技术以及安全用户接口,诸如安全键盘和显示器。
接下来转到图12,描绘了根据本发明的片上系统(SOC)的实施例。作为特定例证性示例,在用户设备(UE)中包括SOC 1200。在一个实施例中,UE指的是被最终用户用来进行通信的任何装置,诸如手持式电话、智能电话、平板电脑、超薄笔记本、具有宽带适配器的笔记本或任何其它类似通信装置。UE常常连接到基站或节点,其潜在地本质上对应于GSM网络中的移动站(MS)。
在这里,SOC 1200包括2个核——1206和1207。类似于上文的讨论,核1206和1207可以符合指令集架构,诸如基于Intel® Architecture Core™的处理器、Advanced MicroDevices公司(AMD)处理器、基于MlPS的处理器、基于ARM或其客户以及其许可方或采用方的处理器设计。核1206和1207被耦合到与总线接口单元1209和L2高速缓存器1210相关联以与系统1200的其它部分通信的高速缓存器控件1208。互连1210包括片上互连,诸如IOSF、AMBA或上文所讨论的其它互连,其潜在地实现所述发明的一个或多个方面。
接口1210提供到其它组件的通信信道,诸如将与SIM卡对接的订户身份模块(SIM)1230、将保持引导代码以便由核1206和1207执行以初始化并引导SOC 1200的引导ROM1235、将与外部存储器(例如DRAM 1260)对接的SDRAM控制器1240、将与非易失性存储器(例如Flash 1265)对接的闪速控制器1245、将与外围设备对接的外围控件840(例如串行外围接口)、将显示并接收输入(例如触摸使能输入)的视频编解码器1220和视频接口1225、将执行图形相关计算的GPU 1215等。这些接口中的任何一个可以结合本文中所述的本发明的方面。
另外,系统图示出用于通信的外围设备,诸如蓝牙模块1270、3G调制解调器1275、GPS 1285以及WiFi 1285。注意如上所述,UE包括用于通信的无线电。结果,这些外围通信模块并不全部是要求的。然而,在某种形式的UE中,将包括用于外部通信的无线电。
以下示例涉及根据本说明书的实施例。一个或多个实施例可以提供用以生成时钟信号;使时钟信号相移测试相位;测量该测试相位的误差率;以及至少部分地基于测试相位的误差率来选择时钟信号的操作相位的设备、系统、机器可读储存器、机器可读介质、基于硬件和/或软件的逻辑以及方法。
在至少一个示例中,移相器是量子化移相器。
在至少一个示例中,互连设备还包括误差比较器,其中,所述测试相位是第一测试相位,并且其中:
在至少一个示例中,移相器进一步使时钟信号移位第二测试相位;
在至少一个示例中,误差率检测器进一步测量第二测试相位的误差;以及
在至少一个示例中,误差比较器将第一测试相位的误差率与第二测试相位的误差率相比较并选择最优测试相位;并且
在至少一个示例中,操作相位选择器通过至少部分地基于最优测试相位来选择时钟信号的操作相位而至少部分地基于第一测试相位的误差率来选择时钟信号的操作相位。
在至少一个示例中,互连设备还包括参考电压移位器以及操作电压选择器,其中:参考电压移位器将使参考电压移位测试电压;其中,误差率检测器进一步测量测试电压的误差率;并且其中,操作电压选择器将至少部分地基于测试电压的误差率来选择时钟信号的操作参考电压。
在至少一个示例中,测试电压是第一测试电压;参考电压移位器将进一步使参考电压移位第二测试电压;误差比较器进一步将第一测试电压的误差率与第二测试电压的误差率相比较并选择最优测试电压;并且其中,操作电压选择器通过至少部分地基于最优测试电压来选择时钟信号的操作电压而至少部分地基于第一测试电压来选择时钟信号的操作电压。
在至少一个示例中,互连设备还包括眼图构造器以及二维因数移位器;其中:眼图构造器将至少部分地基于最优相位和最优电压来构造眼图;二维因数移位器将选择眼图内的第一和第二相位和电压对;误差率检测器进一步测量用于第一和第二相位和电压对中的每一个的误差率;并且误差率检测器进一步将第一相位和电压对的误差率与第二相位和电压对的误差率相比较,并选择最优相位和电压对。
在至少一个示例中,误差率检测器通过接收到第一通道上的测试模式以及至少一个邻近通道上的串扰模式来测量误差率。
在至少一个示例中,串扰模式是测试模式的逻辑逆。
在至少一个示例中,第一虚拟信道是实时虚拟信道(VC_RT),并且第二虚拟信道是辅助虚拟信道(VC_AUX)。
尽管已经关于有限数目的实施例描述了本发明,但是本领域技术人员将会从其认识到许多修改和变化。所意图的是,所附权利要求覆盖如落入该本发明的真实精神和范围内的所有此类修改和变化。
设计可经历各个阶段,从创建到模拟到制造。表示设计的数据可表示处于许多方式的设计。首先,如在模拟中有用的,可使用硬件描述语言或另一功能描述语言来表示硬件。另外地,可在设计过程的某些阶段产生具有逻辑和/或晶体管门的电路级模型。此外,在某些阶段大多数设计达到表示硬件模型中的各种装置的物理放置的数据级。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是指定各种特征在针对用于产生集成电路的掩模的不同掩模层上的存在或不存在的数据。在设计的任何表示中,可以以任何形式的机器可读介质来存储数据。诸如盘之类的存储器或者磁性或光学存储可以是机器可读介质,以存储经由光波或电波传送的信息,该光波或电波被调制或以其它方式被生成以传送此类信息。当指示或载送代码或设计的电学载波被传送时,在电信号的拷贝、缓冲或重传被执行的程度上,制作新的拷贝。因此,通信提供商或网络提供商可将物品(诸如被编码成载波的信息)至少暂时存储在有形的机器可读介质上,从而体现本发明的实施例的技术。
如本文所使用的模块指的是硬件、软件和/或固件的任何组合。作为一个示例,模块包括与非瞬时介质相关联的硬件(诸如微控制器),以存储被适配成要由微控制器执行的代码。因此,在一个实施例中,对模块的引用指的是具体被配置成识别和/或执行要被保持在非瞬时介质上的代码的硬件。此外,在另一实施例中,模块的使用指的是包括代码的非瞬时介质,其被具体适配成要由微控制器来实行以执行预定操作。并且如可以被推断的,在又一实施例中,术语模块(在该示例中)可指的是微控制器和非瞬时介质的组合。通常,被图示为分离的模块边界一般会变化并且潜在地重叠。例如,第一和第二模块可在潜在地保留某些独立硬件、软件或固件的同时共享硬件、软件、固件或其组合。在一个实施例中,术语逻辑的使用包括硬件,诸如晶体管、寄存器或其它硬件(诸如可编程逻辑装置)。
在一个实施例中,短语“用以”或“被配置成”的使用指的是布置、放在一起、制造、供应来销售、引进和/或设计一种设备、硬件、逻辑或元件来执行指定任务或确定任务。在该示例中,如果未正在操作的设备或其元件被设计、耦合和/或互连以执行所述指定任务,则该设备或其元件仍“被配置成”执行所述指定任务。作为纯粹例证性的示例,逻辑门可在操作期间提供0或1。但是“被配置成”向时钟提供使能信号的逻辑门不包括可提供1或0的每个潜在逻辑门。而是,逻辑门是以在操作期间1或0输出要启用时钟的某一方式耦合的一种逻辑门。再一次要指出,术语“被配置成”的使用不需要操作,而是作为代替着重于设备、硬件和/或元件的潜在状态,在这种情况下在该潜在状态中设备、硬件和/或元件被设计成当该设备、硬件和/或元件正在操作时执行特定任务。
此外,在一个实施例中,短语 ‘能够/能够用以’、和或‘可操作为’的使用指的是某种设备、逻辑、硬件和/或元件以能够实现该设备、逻辑、硬件和/或元件以具体方式的使用的这种方式被设计。如上文指出的,在一个实施例中,“用以”、“能够用以”或“可操作为”的使用指的是设备、逻辑、硬件和/或元件的潜在状态,在这种情况下该设备、逻辑、硬件和/或元件并没有正在操作,而是以能够实现设备以具体方式的使用的这种方式被设计。
如本文所使用的,值包括数字、状态、逻辑型状态或二进制逻辑型状态的任何已知表示。通常,逻辑电平、逻辑值或逻辑学值的使用也指的是1和0,其仅表示二进制逻辑状态。例如,1指的是高逻辑电平并且0指的是低逻辑电平。在一个实施例中,存储单元(诸如晶体管或闪存单元)可以能够保持单个逻辑值或多个逻辑值。然而,已经使用计算机系统中的值的其它表示。例如,十进制数10也可被表示为1010的二进制值以及十六进制字母A。因此,值包括能够在计算机系统中保持的信息的任何表示。
此外,状态可以由值或值的部分来表示。作为一个示例,第一值(诸如逻辑一)可表示默认或初始状态,而第二值(诸如逻辑零)可表示非默认状态。另外,在一个实施例中,术语重置和设置分别指的是默认和经更新的值或状态。例如,默认值潜在地包括高逻辑值(即重置),而经更新的值潜在包括低逻辑值(即设置)。要指出,值的任何组合可被用来表示任何数目的状态。
上面阐述的方法、硬件、软件、固件或代码的实施例可经由存储在可由处理元件执行的机器可访问介质、机器可读介质、计算机可访问介质或计算机可读介质上的指令或代码来实施。非瞬时机器可访问/可读介质包括提供(即存储和/或传送)处于由机器(诸如计算机或电子系统)可读的形式的信息的任何机构。例如,非瞬时机器可访问介质包括随机存取存储器(RAM)(诸如静态RAM(SRAM)或动态RAM(DRAM));ROM;磁或光学存储介质;闪速存储器装置;电存储装置;光学存储装置;声学存储装置;用于保持从瞬时(传播的)信号(例如载波、红外线信号、数字信号)接收的信息的其它形式的存储装置;等等,它们将与可从其接收信息的非瞬时介质相区分。
用于对逻辑编程以执行本发明的实施例的指令可被存储在系统的存储器(诸如DRAM、高速缓存、闪速存储器或其它存储)内。此外,可以经由网络或借助于其它计算机可读介质来分配该指令。因此,机器可读介质可包括用于存储或传送以由机器(例如计算机)可读的形式的信息的任何机构,但不限于软盘、光盘、压缩盘、只读存储器(CD-ROM)、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器、或在通过因特网经由电、光、声或其它形式的传播信号(例如载波、红外线信号、数字信号等等)的信息传输中使用的有形机器可读存储。因此,计算机可读介质包括适于存储或传送以由机器(例如计算机)可读的形式的信息或电子指令的任何类型的有形机器可读介质。
遍及该说明书对“一个实施例”或“实施例”的引用意指结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”在遍及本说明书的各个位置中的出现不一定都指的是同一实施例。此外,在一个或多个实施例中可以以任何适当方式来组合特定特征、结构或特性。
在前述说明书中,已经参考具体示例性实施例而给出详细描述。然而,将明显的是,可以在不偏离如所附权利要求中阐述的本发明的较广阔精神和范围的情况下对实施例做出各种修改和改变。相应地,要以例证性意义而非限制性意义来考虑说明书和附图。此外,实施例以及其它示例性语言的前述使用不一定指的是相同的实施例或相同的示例,而是可指代不同且有区别的实施例,以及潜在相同的实施例。

Claims (30)

1.一种互连设备,包括:
时钟发生器,其用以生成时钟信号;
移相器,其用以将时钟信号相移测试相位;
误差率检测器,其用以测量测试相位的误差率;以及
操作相位选择器,其用以至少部分地基于测试相位的误差率来选择时钟信号的操作相位。
2.权利要求1的互连设备,其中,所述移相器是量子化移相器。
3.权利要求1的互连设备,还包括误差比较器,其中,所述测试相位是第一测试相位,并且其中:
移相器进一步使时钟信号移位第二测试相位;
误差率检测器进一步测量第二测试相位的误差;以及
误差比较器将第一测试相位的误差率与第二测试相位的误差率相比较并选择最优测试相位;并且
操作相位选择器通过至少部分地基于最优测试相位来选择时钟信号的操作相位而至少部分地基于第一测试相位的误差率来选择时钟信号的操作相位。
4.权利要求3的互连设备,还包括:
参考电压移位器以及操作电压选择器,其中:
参考电压移位器使参考电压移位测试电压;
其中,误差率检测器进一步测量测试电压的误差率;并且
其中,操作电压选择器将至少部分地基于测试电压的误差率来选择时钟信号的操作参考电压。
5.权利要求4的互连设备,其中:
测试电压是第一测试电压;
参考电压移位器进一步使参考电压移位第二测试电压;
误差比较器进一步将第一测试电压的误差率与第二测试电压的误差率相比较并选择最优测试电压;并且
其中,操作电压选择器通过至少部分地基于最优测试电压来选择时钟信号的操作电压而至少部分地基于第一测试电压来选择时钟信号的操作电压。
6.权利要求5的互连设备,还包括眼图构造器以及二维因数移位器;其中:
眼图构造器至少部分地基于最优相位和最优电压来构造眼图;
二维因数移位器选择眼图内的第一和第二相位和电压对;
误差率检测器进一步测量用于第一和第二相位和电压对中的每一个的误差率;并且
误差率检测器进一步将第一相位和电压对的误差率与第二相位和电压对的误差率相比较,并选择最优相位和电压对。
7.权利要求1-6中的任一项的互连设备,其中,所述误差率检测器通过接收到第一通道上的测试模式以及至少一个邻近通道上的串扰模式来测量误差率。
8.权利要求7的互连设备,其中,所述串扰模式是测试模式的逻辑逆。
9.一种互连系统,包括:
第一代理;
第二代理;以及
互连,其用以将第一代理通信耦合到第二代理,包括:
时钟发生器,其用以生成时钟信号;
移相器,其用以将时钟信号相移测试相位;
误差率检测器,其用以测量测试相位的误差率;以及
操作相位选择器,其用以至少部分地基于测试相位的误差率来选择时钟信号的操作相位。
10.权利要求9的互连系统,其中,所述移相器是量子化移相器。
11.权利要求9的互连系统,其中,所述互连还包括误差比较器,其中,所述测试相位是第一测试相位,并且其中:
移相器进一步使时钟信号移位第二测试相位;
误差率检测器进一步测量第二测试相位的误差;以及
误差比较器将第一测试相位的误差率与第二测试相位的误差率相比较并选择最优测试相位;并且
操作相位选择器通过至少部分地基于最优测试相位来选择时钟信号的操作相位而至少部分地基于第一测试相位的误差率来选择时钟信号的操作相位。
12.权利要求11的互连系统,其中,所述互连还包括:
参考电压移位器以及操作电压选择器,其中:
参考电压移位器使参考电压移位测试电压;
其中,误差率检测器进一步测量测试电压的误差率;并且
其中,操作电压选择器将至少部分地基于测试电压的误差率来选择时钟信号的操作参考电压。
13.权利要求12的互连系统,其中:
测试电压是第一测试电压;
参考电压移位器进一步使参考电压移位第二测试电压;
误差比较器进一步将第一测试电压的误差率与第二测试电压的误差率相比较并选择最优测试电压;并且
其中,操作电压选择器通过至少部分地基于最优测试电压来选择时钟信号的操作电压而至少部分地基于第一测试电压来选择时钟信号的操作电压。
14.权利要求13的互连系统,其中,所述互连还包括眼图构造器以及二维因数移位器;其中:
眼图构造器至少部分地基于最优相位和最优电压来构造眼图;
二维因数移位器选择眼图内的第一和第二相位和电压对;
误差率检测器进一步测量用于第一和第二相位和电压对中的每一个的误差率;并且
误差率检测器进一步将第一相位和电压对的误差率与第二相位和电压对的误差率相比较,并选择最优相位和电压对。
15.权利要求9-14中的任一项的互连系统,其中,第一代理驱动第一模式至第一通道上且驱动串扰模式至第二通道上,并且其中,所述误差率检测器通过对第一模式进行采样来测量误差率。
16.权利要求15的互连系统,其中,所述串扰模式是测试模式的逻辑逆。
17.具有存储于其上的可执行指令的一个或多个计算机可读介质,所述可执行指令用以:
生成时钟信号;
使时钟信号相移量子化测试相位;
检测测试相位的误差率;以及
至少部分地基于测试相位的误差率来选择时钟信号的操作相位。
18.权利要求17的一个或多个计算机可读介质,其中,所述测试相位是第一测试相位,并且所述指令进一步用以:
使时钟信号移位第二测试相位;
测量第二测试相位的误差;
将第一测试相位的误差率与第二测试相位的误差率相比较并选择最优测试相位;并且
通过至少部分地基于最优测试相位来选择时钟信号的操作相位而至少部分地基于第一测试相位的误差率来选择时钟信号的操作相位。
19.权利要求18的一个或多个计算机可读介质,其中,所述指令进一步用以:
使参考电压移位测试电压;
测量测试电压的误差率;以及
至少部分地基于测试电压的误差率来选择时钟信号的操作参考电压。
20.权利要求19的一个或多个计算机可读介质,其中,所述测试电压是第一测试电压,并且所述指令进一步用以:
使参考电压移位第二测试电压;
将第一测试电压的误差率与第二测试电压的误差率相比较并选择最优测试电压;并且
通过至少部分地基于最优测试电压来选择时钟信号的操作电压而至少部分地基于第一测试电压来选择时钟信号的操作电压。
21.权利要求20的一个或多个计算机可读介质,其中,所述指令进一步用以:
至少部分地基于最优相位和最优电压来构造眼图;
选择眼图内的第一和第二相位和电压对;
测量用于第一和第二相位和电压对中的每一个的误差率;以及
将第一相位和电压对的误差率与第二相位和电压对的误差率相比较,并选择最优相位和电压对。
22.权利要求17-21中的任一项的一个或多个计算机可读介质,其中,所述指令进一步用以接收到第一通道上的测试模式以及至少一个邻近通道上的串扰模式。
23.权利要求22的一个或多个计算机可读介质,其中,所述串扰模式是测试模式的逻辑逆。
24.权利要求17-21中的任一项的一个或多个计算机可读介质,其中,所述指令进一步用以检测误差率已超过阈值,并执行再定中心。
25.一种执行互连定中心的方法,包括:
生成时钟信号;
将时钟信号相移量子化的第一测试相位;
检测第一测试相位的误差率;
将时钟信号移位量子化的第二测试相位;
测量第二测试相位的误差;
将第一测试相位的误差率与第二测试相位的误差率相比较以选择最优测试相位;并且
至少部分地基于最优测试相位来选择时钟信号的操作相位。
26.权利要求25的方法,还包括:
将时钟信号的参考电压移位第一量子化测试电压;
测量第一测试电压的误差率;
使参考电压移位量子化第二测试电压;
将第一测试电压的误差率与第二测试电压的误差率相比较以选择最优测试电压;并且
至少部分地基于最优测试电压来选择时钟信号的操作电压。
27.权利要求26的方法,还包括:
至少部分地基于最优相位和最优电压来构造眼图;
选择眼图内的第一和第二相位和电压对;
测量用于第一和第二相位和电压对中的每一个的误差率;以及
将第一相位和电压对的误差率与第二相位和电压对的误差率相比较,并选择最优相位和电压对。
28.权利要求25-27中的任一项的方法,还包括接收到第一通道上的测试模式以及接收至少一个邻近通道上的串扰模式。
29.权利要求28的方法,其中,所述串扰模式是测试模式的逻辑逆。
30.权利要求25-27中的任一项的方法,还包括检测误差率已超过阈值,并执行再定中心。
CN201580064554.0A 2014-12-25 2015-11-28 用于在高性能互连中定中心的方法、设备、系统 Active CN107005231B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/583139 2014-12-25
US14/583,139 US9692402B2 (en) 2014-12-25 2014-12-25 Method, apparatus, system for centering in a high performance interconnect
PCT/US2015/062855 WO2016105862A1 (en) 2014-12-25 2015-11-28 Method, apparatus, system for centering in a high-performance interconnect

Publications (2)

Publication Number Publication Date
CN107005231A true CN107005231A (zh) 2017-08-01
CN107005231B CN107005231B (zh) 2021-06-08

Family

ID=56151374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580064554.0A Active CN107005231B (zh) 2014-12-25 2015-11-28 用于在高性能互连中定中心的方法、设备、系统

Country Status (4)

Country Link
US (2) US9692402B2 (zh)
EP (1) EP3238064B1 (zh)
CN (1) CN107005231B (zh)
WO (1) WO2016105862A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196736A (zh) * 2018-02-26 2019-09-03 爱思开海力士有限公司 电子设备及其操作方法
CN112988233A (zh) * 2021-02-06 2021-06-18 江南大学 一种面向分支指令预测的偏差矫正器及方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692402B2 (en) 2014-12-25 2017-06-27 Intel Corporation Method, apparatus, system for centering in a high performance interconnect
US9825809B2 (en) * 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10474611B2 (en) 2017-09-19 2019-11-12 International Business Machines Corporation Aligning received bad data indicators (BDIS) with received data on a cross-chip link
US11031688B2 (en) * 2017-11-03 2021-06-08 Dell Products, Lp System and method for operating an antenna adaptation controller module
US11327259B2 (en) * 2017-12-07 2022-05-10 Intel Corporation Integrated circuit package with electro-optical interconnect circuitry
EP3557786A1 (en) 2018-04-16 2019-10-23 Samsung Electronics Co., Ltd. Method of testing rf integrated circuit
US10606790B2 (en) * 2018-04-16 2020-03-31 Intel Corporation Precoding mechanism in PCI-express
US10635444B2 (en) 2018-06-29 2020-04-28 International Businss Machines Corporation Shared compare lanes for dependency wake up in a pair-based issue queue
CN108958749A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 实现封装形式的bios数据刷写的方法、装置及设备
US10649489B2 (en) 2018-09-14 2020-05-12 Apple Inc. Portable electronic device
US10530614B2 (en) * 2018-12-21 2020-01-07 Intel Corporation Short link efficient interconnect circuitry
EP4275231A4 (en) 2021-01-11 2024-05-22 YSI, Inc. INDUCED CROSSTALK CIRCUIT FOR IMPROVED SENSOR LINEARITY
US12014052B2 (en) 2021-03-22 2024-06-18 Google Llc Cooperative storage architecture
US12079061B2 (en) * 2022-10-04 2024-09-03 Qualcomm Incorporated Power management for peripheral component interconnect

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275193B1 (en) * 2005-08-11 2007-09-25 Xilinx, Inc. Method and apparatus for measuring crosstalk on a programmable logic device
US20080209306A1 (en) * 2005-12-30 2008-08-28 Timothy Frodsham Error monitoring for serial links
US20090016476A1 (en) * 2007-07-11 2009-01-15 Kim Sang-Yun Method for shifting a phase of a clock signal and memory chip using the same
JP2010028662A (ja) * 2008-07-23 2010-02-04 Anritsu Corp デマルチプレクサ
CN101897119A (zh) * 2007-12-14 2010-11-24 莫塞德技术公司 具有多个装置的系统中的时钟再生和时序方法以及具有可变数据对准的存储器控制器
US20110066926A1 (en) * 2006-09-27 2011-03-17 Otto Schumacher Phase shift adjusting method and circuit
CN102109604A (zh) * 2009-12-28 2011-06-29 中国科学院微电子研究所 Gps/galileo导航基带处理芯片及导航接收机
CN103378827A (zh) * 2012-04-18 2013-10-30 德克萨斯仪器股份有限公司 用于在延迟线中生成多个延迟的方法和延迟电路
CN103412644A (zh) * 2012-05-14 2013-11-27 微软公司 附属设备架构
CN103718182A (zh) * 2011-08-09 2014-04-09 飞思卡尔半导体公司 电子器件和计算机程序产品
CN103854703A (zh) * 2012-11-30 2014-06-11 慧荣科技股份有限公司 待测装置、测试器及用于测试待测装置的方法
EP2775620A2 (en) * 2013-03-04 2014-09-10 Ricoh Company, Ltd. Clock signal generating circuit, and clock signal generating method of clock signal generating circuit

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55143825A (en) * 1979-04-25 1980-11-10 Nec Corp Digital phase shifter
US6745353B2 (en) * 2001-03-15 2004-06-01 Intel Corporation Method and apparatus for sliding window link physical error detection
US20040181714A1 (en) * 2003-03-13 2004-09-16 Jungerman Roger L. Variable data rate bit error measurements using bit replication
US7336749B2 (en) 2004-05-18 2008-02-26 Rambus Inc. Statistical margin test methods and circuits
US8422568B2 (en) 2004-01-28 2013-04-16 Rambus Inc. Communication channel calibration for drift conditions
US20080082880A1 (en) * 2006-09-06 2008-04-03 Hsin-Po Wang Method of testing high-speed ic with low-speed ic tester
WO2008076700A2 (en) * 2006-12-13 2008-06-26 Rambus Inc. Interface with variable data rate
ITMI20072450A1 (it) * 2007-12-31 2009-07-01 St Microelectronics Srl Sistema di comunicazione tra un primo ed un secondo dispositivo sincroni temporalmente non correlati.
US7869544B2 (en) * 2008-01-03 2011-01-11 International Business Machines Corporation System for measuring an eyewidth of a data signal in an asynchronous system
US8352793B2 (en) * 2008-08-15 2013-01-08 Apple Inc. Device testing method and architecture
US8139700B2 (en) * 2009-06-26 2012-03-20 International Business Machines Corporation Dynamic quadrature clock correction for a phase rotator system
JP2011103603A (ja) * 2009-11-11 2011-05-26 Sony Corp 無線送信装置、無線受信装置、無線通信システム及び無線通信方法
KR20110100465A (ko) * 2010-03-04 2011-09-14 삼성전자주식회사 메모리 시스템
US8184757B2 (en) * 2010-06-21 2012-05-22 Synopsys, Inc. Pattern agnostic on-die scope
KR101839882B1 (ko) * 2011-12-29 2018-03-20 에스케이하이닉스 주식회사 위상차 양자화 회로 및 이의 지연값 조절회로, 지연회로
US8941430B2 (en) 2012-09-12 2015-01-27 Nvidia Corporation Timing calibration for on-chip interconnect
US8995514B1 (en) * 2012-09-28 2015-03-31 Xilinx, Inc. Methods of and circuits for analyzing a phase of a clock signal for receiving data
US9746877B2 (en) * 2013-06-11 2017-08-29 Agency For Science, Technology And Research Detecting and correcting an error in a digital circuit
US9397872B2 (en) * 2014-07-01 2016-07-19 Samsung Display Co., Ltd. System and method of link optimization
US9692402B2 (en) * 2014-12-25 2017-06-27 Intel Corporation Method, apparatus, system for centering in a high performance interconnect
CN106921386B (zh) * 2015-12-24 2019-11-01 瑞昱半导体股份有限公司 半速率时钟数据回复电路

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275193B1 (en) * 2005-08-11 2007-09-25 Xilinx, Inc. Method and apparatus for measuring crosstalk on a programmable logic device
US20080209306A1 (en) * 2005-12-30 2008-08-28 Timothy Frodsham Error monitoring for serial links
US20110066926A1 (en) * 2006-09-27 2011-03-17 Otto Schumacher Phase shift adjusting method and circuit
US20090016476A1 (en) * 2007-07-11 2009-01-15 Kim Sang-Yun Method for shifting a phase of a clock signal and memory chip using the same
CN101897119A (zh) * 2007-12-14 2010-11-24 莫塞德技术公司 具有多个装置的系统中的时钟再生和时序方法以及具有可变数据对准的存储器控制器
JP2010028662A (ja) * 2008-07-23 2010-02-04 Anritsu Corp デマルチプレクサ
CN102109604A (zh) * 2009-12-28 2011-06-29 中国科学院微电子研究所 Gps/galileo导航基带处理芯片及导航接收机
CN103718182A (zh) * 2011-08-09 2014-04-09 飞思卡尔半导体公司 电子器件和计算机程序产品
CN103378827A (zh) * 2012-04-18 2013-10-30 德克萨斯仪器股份有限公司 用于在延迟线中生成多个延迟的方法和延迟电路
CN103412644A (zh) * 2012-05-14 2013-11-27 微软公司 附属设备架构
CN103854703A (zh) * 2012-11-30 2014-06-11 慧荣科技股份有限公司 待测装置、测试器及用于测试待测装置的方法
EP2775620A2 (en) * 2013-03-04 2014-09-10 Ricoh Company, Ltd. Clock signal generating circuit, and clock signal generating method of clock signal generating circuit

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H. HARRER 等: "High-speed interconnect and packaging design of the IBM System z9 processor cage", 《IBM JOURNAL OF RESEARCH AND DEVELOPMENT》 *
胡建国: "高性能微处理器的验证技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196736A (zh) * 2018-02-26 2019-09-03 爱思开海力士有限公司 电子设备及其操作方法
CN112988233A (zh) * 2021-02-06 2021-06-18 江南大学 一种面向分支指令预测的偏差矫正器及方法
CN112988233B (zh) * 2021-02-06 2024-03-26 江南大学 一种面向分支指令预测的偏差矫正器及方法

Also Published As

Publication number Publication date
US9692402B2 (en) 2017-06-27
CN107005231B (zh) 2021-06-08
US10560081B2 (en) 2020-02-11
EP3238064A4 (en) 2018-12-05
WO2016105862A1 (en) 2016-06-30
US20170294906A1 (en) 2017-10-12
EP3238064A1 (en) 2017-11-01
US20160191034A1 (en) 2016-06-30
EP3238064B1 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
CN107005231A (zh) 用于在高性能互连中定中心的方法、设备、系统
CN107924380B (zh) 使用业务类别分配高速缓存的方法、装置和系统
TWI524184B (zh) 用於在分散式記憶體組織架構中處理位址衝突之方法、設備及系統
CN107003971B (zh) 用于高性能互连中的嵌入式流通道的方法、装置、系统
CN108027785B (zh) 用于对链路拆分进行去偏斜的方法、设备和系统
CN104981815B (zh) 用于用安全属性限制cpu事务的方法、装置和系统
CN112506844B (zh) 针对pcie进行sris模式选择的系统、方法和装置
CN105027444B (zh) 集成时钟差分缓冲
CN108701109A (zh) 用于计算机扩展总线的插件机制的方法、装置和系统
CN110532212A (zh) 用于有效外围组件管理的dvsec的系统、方法和装置
CN107278299A (zh) 经由可重配置的虚拟交换机实现次级总线功能性的方法、装置和系统
CN105830053A (zh) 用于快速配置机制的装置、方法和系统
CN112579496B (zh) 减少引脚计数接口
CN105009101A (zh) 提供与数据缓冲器相关联的监听滤波
CN110121703B (zh) 用于向量通信的系统和方法
CN109643299A (zh) 在具有现有tlp定义的pcie上的持久存储器写入语义
TW201725516A (zh) 用以針對實體層裝置的組件傳輸資料之控制器
CN109643577A (zh) 用于存储器训练的电参数的多维优化

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant