CN103119572B - 节流的集成链路 - Google Patents

节流的集成链路 Download PDF

Info

Publication number
CN103119572B
CN103119572B CN201180046078.1A CN201180046078A CN103119572B CN 103119572 B CN103119572 B CN 103119572B CN 201180046078 A CN201180046078 A CN 201180046078A CN 103119572 B CN103119572 B CN 103119572B
Authority
CN
China
Prior art keywords
link
iio
processor
logical block
duration
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.)
Active
Application number
CN201180046078.1A
Other languages
English (en)
Other versions
CN103119572A (zh
Inventor
R·拉吉瓦
R·A·迈尔
S·J·乔丹
L·P·洛伊
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.)
MediaTek Inc
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 CN103119572A publication Critical patent/CN103119572A/zh
Application granted granted Critical
Publication of CN103119572B publication Critical patent/CN103119572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

本文描述了用于对在与处理器相同的管芯上集成的接口进行节流的方法和装置。在一个实施例中,来自集成输入/输出集线器(例如,集成在与处理器相同的管芯上)的信号使得对在IIO和输入/输出(IO)设备之间耦合的链路进行节流。还公开了其它实施例。

Description

节流的集成链路
相关申请
本申请与2010年9月25日提交的、题目为“THROTTLINGINTEGRATEDLINK”的美国临时专利申请No.61/386,505有关,并要求其优先权,故以引用方式将其全部内容并入本文并用于所有目的。
技术领域
概括地说,本公开涉及电子领域。更具体地说,本发明的实施例涉及用于对在与处理器相同的管芯上集成的接口进行节流的技术。
背景技术
在一些当前实现中,处理器可以通过I/O集线器(IOH)与输入/输出(I/O)设备进行通信。此外,可以在与IOH不同的集成电路(IC)设备上提供处理器。总线可以用于这些IC设备之间的通信。
但是,这些实现可能降低速度(例如,由于与在IC设备之间传输信号相关联的延迟),和/或增加功耗(例如,由于为了允许IC设备之间通信而需要存在另外的电路)。此外,对于分立的IOH组件来说,可能还需要另外的(板上)空间。
附图说明
参照附图提供了详细说明书。在附图中,附图标记的最左边数字标识该附图标记第一次出现时所在的图。在不同的附图中使用相同的附图标记指示类似或者相同的项目。
图1和图5-6描绘了可以用于实现本申请所讨论的各种实施例的计算系统的实施例的框图。
图2-3描绘了根据一些实施例的状态图。
图4描绘了根据一个实施例的时序图。
具体实施方式
在下面描述中,为了提供对各个实施例的透彻理解,描述了众多特定的细节。但是,可以在不使用这些特定细节的情况下实现一些实施例。在其它实例中,为了避免对具体的实施例造成模糊,没有详细地描述公知的方法、过程、组件和电路。
一些实施例涉及对与其它组件(例如,一个或多个处理器核心)集成在同一集成电路(IC)管芯上的链路(如,快速外围组件互连TM(PCIe)互连(根据(2007年1月17日发布的)PCIExpressTM规范基础规范版本2.0)))进行节流的技术。这些实施例可以减少延迟,减少功耗,减少管芯大小,和/或减少与计算设备中的功率管理相关联的复杂度。此外,一些实施例允许在两个集成组件(例如,PCIe组件和/或处理器核心)之间实现更多的控制和/或通信带宽,例如以便进一步完善功率状态操作/控制。
一个实施例允许将PCIeGen2.0互连集成到CPU(中央处理单元)管芯中,使其按照低功率包络部分(envelopeparts)进行安全地工作,其中PCIe温度可能变得与核心温度一样高。其允许在满足PCIe规范要求时进行该操作。在一个实施例中,这通过使用“强制拨通TxL0”,以便使用开/关调制来执行PCIe的Tx(发送)链路的热节流来实现。在一个实施例中,对于PCIe的Rx(接收)链路,可以使用不发送信用来强制节流。
在一个实施例中,可以在与处理器(其可以包括如本申请下面所更详细讨论的一个或多个处理器核心)相同的IC设备上集成IOH。这允许去除进行片外通信才需要的逻辑。例如,可以去除与通过互连(例如,物理链路)在片外传输信号相关联的逻辑。此外,还可以去除通常对该物理链路的发送、训练、测试、功率状态管理等等进行控制的逻辑。即使去除了该物理链路和另外的逻辑,在一些实施例中仍可以维持相同的通信机制,例如以便允许与其它现有逻辑、通信协议、设计需求等等相兼容。例如,在基于QPI(快速通道互连)的处理器中,可以去除QPI物理层和下层链路层。对于附带的IOH,物理层可以被。
可以在各种计算环境中提供上面所提及的要素中的一个或多个。更具体而言,图1根据一个实施例,描绘了计算系统100的一部分的框图。
系统100可以包括具有处理器部分102的中央处理单元(CPU)101(或者更通用的处理器)。CPU101组件可以位于单个IC管芯上。CPU101可以包括例如本申请参照图5所讨论的一个或多个处理器(或者处理器核心)。处理器102可以包括各种组件,例如一个或多个处理器核心、专用或者共享高速缓存、一个或多个存储器/图形控制模块等等(没有示出)。此外,CPU101可以通过总线104与诸如系统存储器106之类的其它组件进行通信。存储器106可以存储由CPU101指导的数据(例如,与一个或多个I/O设备107传输的数据)。在一些实施例中,设备107可以是根据PCIe(其包括PCIe2.0代和/或其它专用或者非专用I/O互连(如直接存储器接口(DMI))进行通信的外围设备。如下面所进一步讨论的,CPU101可以包括IIO120,IIO120提供对根据前述的PCIe规范和/或DMI与设备107进行通信的支持。
如图1中所示,处理器102可以包括协议逻辑108(例如,用于提供对系统100进行关闭或者唤醒的支持)、上层链路层逻辑110(例如,用于提供针对与IIO120的上层链路层通信的链路支持)和边带控制逻辑112(例如,用于代替如上所述的去除QPI物理层和下层链路层,提供边带通信支持)。在一个实施例中,上层链路层逻辑可以包括下面中的一个或多个:虚拟信道队列、流控制和/或信用逻辑、CRC(循环冗余校验)校验和/或生成逻辑、参数交换逻辑等等。此外,根据一些实施例,去除的下层链路层可以包括:Phit/Flit组件/拆件/混合(assembly/deassembly/swizzling)、物理层控制寄存器、链路功率(例如,L0s)和宽度模式、链路初始化/训练等等。
IIO120可以包括边带控制逻辑124(例如,用于与逻辑112传输边带信号)、一个或多个FIFO126(例如,用于通过互连/总线127,在上层链路层110和IIO120之间实现确定性数据传输)、链路逻辑128(例如,用于为处理器102和IIO120之间的通信提供链路支持)和协议逻辑130(例如,用于提供对系统100进行关闭或者唤醒的支持)。
在一个实施例中,相对更宽和/或更慢的总线/互连127可以消除高速电路和功率挑战(例如当与耦合非集成处理器和IOH的总线/互连相比时)。在一个实施例中,总线127是四倍的宽,其允许将频率减少四倍。可以增加有效比特,以便允许更多的灵活性(空搬运(flit)现在是可选的等等)和/或支持测试者模式。
在一些实施例中,增加了双方向(去往和来自IIO120)运转的FIFO126。当在处理器102组件(例如,逻辑110)和IIO120之间传输数据时,该数据基于写指针被写入到FIFO,并基于读指针被接收机读取。例如,写指针和读指针的分开是可编程的,以考虑处理器102组件(例如,逻辑110)和IIO120之间的时钟偏移差。这允许处理器102和IIO120为了灵活性、更细粒度的功率状态等等,而运行不同的锁相环(PLL)。
在一个实施例中,可以使用下面的边带信号(例如,通过逻辑112和/或124):
1、来自IIO120:
A.IIO_wake:IIO120请求将处于低功率模式的系统100唤醒;
B.IIO_is_awake:IIO120是唤醒的,其可以工作(例如,功率上升,PLL进行了锁定等等);以及
2、来自处理器102:
A.processor_wake(例如,WAKEUP_IIO_PLL):处理器102请求将处于低功率模式的系统100唤醒;
B.processor_is_awake(例如,BGFRun):处理器102是唤醒的。在一些实施例中,该信号还可以指示处理器102和IIO120都是唤醒的。继而,处理器102可以确定整个CPU101芯片何时启动,准备基于IIO_is_awake信号而运行。该信号可以对FIFO指针进行重置,并允许FIFO126其传送数据。
C.processor_temp_high(例如,PCUtoIIOTempHigh):响应于检测的温度(例如,其由管芯上的一个或多个传感器检测)达到门限温度(例如,其是可编程的),处理器102生成信号或者使信号被生成。
如图1中所示,CPU101还可以包括功率控制/管理单元150,其可以从检测(例如,包括CPU102的管芯的各个部分的)温度值的一个或多个传感器(没有示出)接收信号。继而,功率控制/管理单元150可以确定是否达到门限温度(例如,其是可编程的),使得生成信号以指示该状况(例如,下面所讨论的PCUtoIIOTempHigh信号)。该信号可以继而使得对一个或多个发送/接收链路进行节流,如下面所进一步讨论的。
此外,在一个实施例中,强制L0sTx(发送)可以如下所述地实现:(1)功率控制/管理单元150断言PCUtoIIOTempHigh信号;(2)PCUtoIIOTempHigh信号的断言启动ForceTxL0s状态机(例如,参见图2-3);(3)ForceTxL0s状态机“拨通”L0和L0s之间的Tx链路(其分别提供Tx链路的打开/关闭调制);(4)Tx链路在ForceTxL0s下保持可编程的持续时间。在该持续时间期间,IIO不对在Rx链路上接收的任何分组进行ACK(确认)信号。一种设计简化在于:在一些实施例中,这中的至少一些遵循RTL(电阻晶体管逻辑)中已经存在的(例如,智能启发式方法可以已经实现,因此强制L0sTX状态机将重用该状态机的至少一部分);(5)Tx单元发送ACK(确认),以便不在该链路的端点处触发错误恢复。此外,ForceTxL0s状态机定期地或者按照可编程的间隔(例如,在当前方向上:只要现有的L0s状态机这样做)转到L0,发送ACK(例如,以避免触发错误恢复),并返回到L0s。不释放信用,因此在Rx链路上执行流控制。
在一些实施例中,用于在Tx上的ForceL0s下发送ACK的策略取决于现有L0s状态机的实现,以及其用于发送ACK所遵循的策略。例如,如果现有的实现是智能的话,则ForceL0sTx将不实现用于ACK的定时器,并依赖于现有的ACK实现。
在一个实施例中,最终,Rx链路(端点Tx)将用完信用,可以检测到空闲,并自动转到L0s。一些实施例的一个目标在于:提供在最小改变的基础上,最终无缝集成到现有状态机。一些关键定时器值如下所述:例如,如果链路处于L0或者L0s,则调度更新FCP,以便每30us(或者微秒)至少传输一次。此外,超时可以是可选的,例如,具有200us的定时器,链路重新训练可以发生。此外,完成超时可以配置为至少50us,最多50ms。为了保持跟踪的三个问题包括:(1)不能进入L0s太长,使得端点认为存在错误(链路开始重新训练);(2)在接收到Rx分组的某个时间周期内,在Rx分组上向端点发送ACK;(3)返回UpdateFCP,使得用于发送/接收/处理UpdateFCP的时间是足够的。
图2-3根据一些实施例,描绘了用于TxForceL0s的高层状态转换图。这些状态机可以是不同的实体,与任何预先已有的基于空闲的L0s状态机分离。在一个实施例中,这些状态机可以安全地共存,并正确地相互操作。如图所示,在一些实施例中存在两个状态机:图2的用于将占空比控制为强制和释放TxL0s的状态机,以及图3的用于循环通过强制L0s机的状态机。
此外,可以提供三种可编程寄存器:
●THFL0SPERIOD:控制一个强制/释放周期的持续时间。以u秒(微秒的缩写)指定。
●THFL0SDUTY:控制释放L0s的持续时间。
●THFL0SACKTIMER:控制在将链路拉出L0s以服务ACK之前,对ACK缓冲多长时间。以u秒指定。(呈现去特征)
图2的第一状态机断言用于控制图3的第二状态机的强制L0s和释放L0s信号。缺省比特:CTCTRL[3]对强制TxL0s去特征。取决于实现,可以对这些机器的一个或多个状态进行组合。此外,这些状态机仅仅意味着解释概念性视图,实际实现和最终的状态机例如取决于现有的RTL。
在一些实施例中,提供两个寄存器来指定THFL0SPERIOD和THFL0SDUTY。图4中示出了它们的时序关系。例如,在周期“A”期间,将不发送事务层分组或者TLP(包括完成),并且将不返回流控制信用。
此外,如现有的RTL实现所执行的来发送更新流控制(UFC)消息(但返回零信用),并且在一个实施例中,将不存在用于控制何时发送该更新的专门尝试。当需要发送UFC消息时,将链路带出L0s,发送UFC消息,并且链路将返回到L0s。在时间周期A中返回的信用的数量将是0。
一些实施例可以使用启发式方法来决定何时发送ACK。强制TxL0s可以不对此进行显式控制,只要现有状态机需要发送ACK,就将该链路从L0s中带出,发送ACK,随后该链路将返回到L0s。UFC消息和ACK定时器在现有的状态机中可以已经存在。在时间周期A结束时,将返回流控制信用,发送所有TLP。PM消息和一些其它状况(取决于RTL分析)将还导致链路从L0s出来。
一些可选的例外包括:
●如果BIOS(基本输入/输出系统)禁用L0s,则将不实现强制L0s。即使传感器指示IIOPCIE链路应当执行强制L0s,也可以是这种情况。
●当PCIE链路启动时,当芯片已经变热时,其在完全功率下执行,并且没有被节流。换言之,当对链路进行初始化时,强制L0s可以不是有效的(在RTL中,使用“dl_active”来量化强制L0s。当链路完成对FC的初始化时,dl_active变成真,当该链路完成时,dl_active变为假)。
●DMI端口可以选择不参与强制L0s。
图5根据本发明的一个实施例,描绘了计算系统500的框图。系统500可以包括一个或多个代理502-1到502-M(本申请将其统称为“多个代理502”或者更通常的“代理502”)。在一个实施例中,多个代理502中的一个或多个可以是计算系统(例如,参照图1或者6所讨论的计算系统)中的组件里的任何一个。
如图5中所示,多个代理502可以通过网络结构504进行通信。在一个实施例中,网络结构504可以包括允许各个代理(例如,计算设备)传输数据的计算机网络。在一个实施例中,网络结构504可以包括通过串行(例如,点到点)链路和/或共享通信网络进行通信的一个或多个互连(或者互连网络)。例如,一些实施例可以促进对于链路的组件调试或者验证,所述链路允许与完全缓冲的双直列存储器模块(FBD)进行通信,例如,其中FBD链路是用于将存储器模块耦合到主机控制器设备(例如,处理器或者存储器集线器)的串行链路。可以从FBD信道主机发送调试信息,使得可以通过信道业务跟踪捕获工具(例如,一个或多个逻辑分析器)对调试信息及该信道进行观测。
在一个实施例中,系统500可以支持分层协议方案,该分层协议方案可以包括物理层、链路层、路由层、传输层和/或协议层。结构504还可以促进数据(例如,具有分组的形式)从一种协议(例如,高速缓存处理器或者高速缓存知道的存储器控制器)向用于点对点或者共享网络的另一种协议的传输。此外,在一些实施例中,网络结构504可以提供遵循一个或多个高速缓存一致协议的通信。
此外,如图5中的箭头的方向所示,代理502可以通过网络结构504来发送和/或接收数据。因此,一些代理可以使用单向链路进行通信,而其它代理使用双向链路进行通信。例如,一个或多个代理(例如,代理502-M)可以(例如,通过单向链路506)发送数据,其它代理(例如,代理502-2)可以(例如,通过单向链路508)接收数据,而一些代理(例如,代理502-1)可以(例如,通过双向链路510)既发送又接收数据。
图6根据本发明的实施例,描绘了在点对点(PtP)配置中布置的计算系统600。具体而言,图6示出了多个点对点接口将处理器、存储器和输入/输出设备互连的系统。参照图1-5讨论的操作可以由系统600的一个或多个组件执行。
如图6中所示,系统600可以包括一些处理器,但为了清楚说明起见,只示出了其中的两个处理器602和604。处理器602和604均可以包括本地存储器控制器集线器(MCH)606和608,来实现与存储器610和612的通信。存储器610和/或612可以存储各种数据,例如参照图1的存储器106所讨论的那些。如图6中所示,处理器602和604还可以包括IIO逻辑120,例如参照图1-5所讨论的那些。此外,尽管针对图6中的每一个处理器描绘了一个IIO逻辑120,但一些实施例可以使用单个IIO逻辑120。此外,尽管图6描绘了每一个IIO逻辑120耦合到一个I/O设备或者一种I/O设备类型,但每一个IIO逻辑120可以耦合到一个以上的I/O设备或者一种类型以上的I/O设备。
在一个实施例中,处理器602和604可以是参照图6所讨论的处理器602中的一个。处理器602和604可以分别使用PtP接口电路616和618,通过点对点(PtP)接口614交换数据。此外,处理器602和604中的一个或多个可以使用点对点接口电路626、628和632,通过单独的PtP接口(例如,接口624)与芯片组620交换数据。在图6所示的实施例中,仅仅一个处理器(处理器604)可以与芯片组620进行通信。通过IIO逻辑120,处理器(例如,处理器604)可以与高性能图形电路634交换数据。
在至少一个实施例中,可以将I/O功能集成到处理器602/504中。但是,本发明的其它实施例可以存在图6的系统600之中的其它电路、逻辑单元或者设备。此外,本发明的其它实施例可以分布在图6中所示的一些电路、逻辑单元或者设备中。
芯片组620可以(例如,使用接口电路641)与总线640进行通信。总线640可以具有与其通信的一个或多个设备,例如,总线桥642和I/O设备643(例如,其可以通过其它组件与IIO进行通信(如图6中所示)或者直接进行通信(如图1中所示))。通过总线644,总线桥642可以与诸如键盘/鼠标645、通信设备646(例如,调制解调器、网络接口设备、或者可以与计算机网络505进行通信的其它通信设备)、音频I/O设备和/或数据存储设备648之类的其它设备进行通信。数据存储设备648可以存储可以由处理器602和/或604执行的代码649。
在本发明的各个实施例中,本申请参照例如图1-6讨论的操作可以实现成硬件(例如,电路)、软件、固件、微代码或者其组合,它们可以提供成例如包括(如,非临时性)机器可读存储介质或者计算机可读存储介质的计算机程序产品,其中机器可读存储介质或者计算机可读存储介质上面存储有用于对计算机进行编程以执行本申请所讨论的处理的指令(或者软件程序)。
存储介质可以包括易失性存储器和/或非易失性存储器(或者存储设备)。例如,非易失性存储器可以包括下面中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、硬盘(例如,528)、软盘、光盘ROM(CD-ROM)、数字多用途盘(DVD)、闪存、磁光盘、或者能够存储电子数据(例如,其包括指令)的其它类型的非易失性机器可读介质。易失性存储器可以包括诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)等等之类的设备。
此外,举例而言,术语“逻辑”可以包括软件、硬件或者软硬件的结合。机器可读介质可以包括诸如本申请所讨论的那些的存储设备。另外,可以将这种计算机可读介质下载成计算机程序产品,其中可以经由通信链路(例如,总线、调制解调器或者网络连接),通过传播介质中提供的数据信号将程序从远程计算机(例如,服务器)传送给请求的计算机(例如,客户端)。
说明书中对于“一个实施例”或者“实施例”的引用意味着:结合该实施例描述的具体特征、结构或者特性可以包括在至少一个实现中。在说明书的各个地方出现的短语“在一个实施例中”,可以全部指代同一实施例,也可以不是全都指代同一实施例。
此外,在说明书和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。在本发明的一些实施例中,“连接”可以用于指示两个或者更多元件处于彼此之间的直接物理或者电接触。“耦合”可以意味着两个或者更多元件处于直接的物理或者电接触。但是“耦合”还可以意味着两个或者更多元件不是处于彼此之间的直接接触,而是彼此之间还可以进行协作或者交互。
因此,虽然用特定于结构特征和/或方法动作的语言描述了本发明的实施例,但应当理解的是,所要求保护的主题可以并不限于所描述的特定特征或者动作。相反,只是将这些特定特征和动作公开成实现所要求保护的主题的示例形式。

Claims (19)

1.一种集成电路设备,包括:
处理器;以及
耦合到所述处理器的集成输入/输出(IIO)逻辑单元,
其中,一信号使得对在所述IIO逻辑单元和输入/输出(IO)设备之间耦合的点对点链路进行节流,其中,第一先进先出(FIFO)设备存储从所述处理器发送到所述IIO逻辑单元的数据,而第二FIFO设备存储从所述IIO逻辑单元发往所述处理器的数据,其中,响应于所述处理器和所述IIO逻辑单元是唤醒的指示,所述第一FIFO设备和所述第二FIFO设备的读指针和写指针被重置以在所述处理器和所述IIO逻辑单元之间传送数据,其中,所述读指针和写指针的分开是能配置的,以考虑所述处理器的上层链路层逻辑单元与所述IIO逻辑单元之间的时钟偏移差,其中,所述链路是发送链路或者接收链路,其中,所述发送链路的节流是通过打开或者关闭调制来执行的,其中,所述发送链路在第一持续时间内保持在关闭状态,其中,响应于在所述接收链路上接收到分组并且在从接收到所述分组起的第二持续时间之内,所述发送链路在打开状态期间发送确认信号。
2.根据权利要求1所述的集成电路设备,其中,所述第一持续时间或所述第二持续时间是一可编程的持续时间。
3.根据权利要求1所述的集成电路设备,其中,在所述第一持续时间期间,所述发送链路禁止针对在所述接收链路上接收的任何分组发送一个或多个确认信号。
4.根据权利要求1所述的集成电路设备,其中,在所述第一持续时间期间,所述发送链路发送确认信号,以避免在所述链路的端点处触发错误恢复。
5.根据权利要求1所述的集成电路设备,其中,在所述第一持续时间期间,所述发送链路按照一可编程间隔退出所述关闭状态,发送确认信号和返回到所述关闭状态。
6.根据权利要求1所述的集成电路设备,其中,所述接收链路的节流是通过禁止向所述发送链路发送信用来执行的。
7.根据权利要求1所述的集成电路设备,其中,响应于缺少现有信用和检测到空闲状态,所述发送链路进入关闭状态。
8.根据权利要求1所述的集成电路设备,其中,所述处理器包括多个处理器核心。
9.根据权利要求1所述的集成电路设备,其中,所述上层链路层逻辑单元提供针对与所述IIO逻辑单元的上层链路层通信的链路支持。
10.根据权利要求1所述的集成电路设备,其中,所述上层链路层逻辑单元包括以下中的一个或多个:虚拟信道队列、流控制或信用逻辑单元、循环冗余校验(CRC)校验或生成逻辑单元、以及参数交换逻辑单元。
11.一种对链路进行节流的方法,包括:
响应于在集成输入/输出(IIO)逻辑单元和输入/输出(IO)设备之间耦合的链路处检测到一温度值,生成一信号,以使得对所述链路进行节流,
其中,所述链路是点对点链路,其中,所述链路是发送链路或者接收链路,其中,第一先进先出(FIFO)设备存储从处理器发送到所述IIO逻辑单元的数据,而第二FIFO设备存储从所述IIO逻辑单元发往所述处理器的数据,其中,响应于所述处理器和所述IIO逻辑单元是唤醒的指示,所述第一FIFO设备和所述第二FIFO设备的读指针和写指针被重置以在所述处理器和所述IIO逻辑单元之间传送数据,其中,所述读指针和写指针的分开是能配置的,以考虑所述处理器的上层链路层逻辑单元与所述IIO逻辑单元之间的时钟偏移差,其中,所述发送链路的节流是通过打开或者关闭调制来执行的,其中,所述发送链路在第一持续时间内保持在关闭状态,其中,响应于在所述接收链路上接收到分组并且在从接收到所述分组起的第二持续时间之内,所述发送链路在打开状态期间发送确认信号。
12.根据权利要求11所述的方法,其中,所述第一持续时间或所述第二持续时间是一可编程的持续时间。
13.根据权利要求11所述的方法,还包括:
在所述第一持续时间期间,所述发送链路按照一可编程间隔退出所述关闭状态,发送一个或多个确认信号和返回到所述关闭状态。
14.根据权利要求11所述的方法,其中,所述接收链路的节流是通过禁止向所述发送链路发送信用来执行的,并且其中,响应于缺少现有信用和检测到空闲状态,所述发送链路进入关闭状态。
15.根据权利要求11所述的方法,还包括:
通过所述IIO逻辑单元,在系统存储器和所述IO设备之间传输数据。
16.根据权利要求11所述的方法,其中,所述上层链路层逻辑单元包括以下中的一个或多个:虚拟信道队列、流控制或信用逻辑单元、循环冗余校验(CRC)校验或生成逻辑单元、以及参数交换逻辑单元。
17.一种计算系统,包括:
系统存储器,用于存储数据;
处理器,用于存取所存储的数据;以及
耦合到所述处理器的集成输入/输出(IIO)逻辑单元,
其中,一信号使得对在所述IIO逻辑单元和输入/输出(IO)设备之间耦合的点对点链路进行节流,
其中,通过所述IIO逻辑单元,在所述系统存储器和一个或多个I/O设备之间传输数据,
其中,所述链路是发送链路或者接收链路,其中,第一先进先出(FIFO)设备存储从所述处理器发送到所述IIO逻辑单元的数据,而第二FIFO设备存储从所述IIO逻辑单元发往所述处理器的数据,其中,响应于所述处理器和所述IIO逻辑单元是唤醒的指示,所述第一FIFO设备和所述第二FIFO设备的读指针和写指针被重置以在所述处理器和所述IIO逻辑单元之间传送数据,其中,所述读指针和写指针的分开是能配置的,以考虑所述处理器的上层链路层逻辑单元与所述IIO逻辑单元之间的时钟偏移差,其中,所述发送链路的节流是通过打开或者关闭调制来执行的,其中,所述发送链路在第一持续时间内保持在关闭状态,其中,响应于在所述接收链路上接收到分组并且在从接收到所述分组起的第二持续时间之内,所述发送链路在打开状态期间发送确认信号。
18.根据权利要求17所述的计算系统,其中,所述第一持续时间或所述第二持续时间是一可编程的持续时间。
19.根据权利要求17所述的计算系统,其中,所述接收链路的节流是通过禁止向所述发送链路发送信用来执行的。
CN201180046078.1A 2010-09-25 2011-09-26 节流的集成链路 Active CN103119572B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38650510P 2010-09-25 2010-09-25
US61/386,505 2010-09-25
US13/040,507 2011-03-04
US13/040,507 US9146610B2 (en) 2010-09-25 2011-03-04 Throttling integrated link
PCT/US2011/053335 WO2012047600A2 (en) 2010-09-25 2011-09-26 Throttling integrated link

Publications (2)

Publication Number Publication Date
CN103119572A CN103119572A (zh) 2013-05-22
CN103119572B true CN103119572B (zh) 2016-04-06

Family

ID=45871820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180046078.1A Active CN103119572B (zh) 2010-09-25 2011-09-26 节流的集成链路

Country Status (5)

Country Link
US (2) US9146610B2 (zh)
CN (1) CN103119572B (zh)
DE (1) DE112011103225B4 (zh)
TW (1) TWI476596B (zh)
WO (1) WO2012047600A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782456B2 (en) 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8850250B2 (en) * 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
US9146610B2 (en) * 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
WO2014065880A1 (en) * 2012-10-22 2014-05-01 Robert Beers Coherence protocol tables
US10162789B2 (en) 2015-09-03 2018-12-25 Altera Corporation Distributed multi-die protocol application interface
US20170212579A1 (en) * 2016-01-25 2017-07-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Storage Device With Power Management Throttling
US10152446B2 (en) * 2016-10-01 2018-12-11 Intel Corporation Link-physical layer interface adapter
CN110140379A (zh) * 2016-11-07 2019-08-16 A9.Com公司 用于增强网状联网的系统和方法
CN109445680B (zh) * 2018-08-20 2020-03-31 华为技术有限公司 一种对硬盘进行管理的方法及装置
CN109460316B (zh) * 2018-09-17 2020-12-11 至誉科技(武汉)有限公司 基于温差均衡的数据恢复方法以及系统、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893153A (en) * 1996-08-02 1999-04-06 Sun Microsystems, Inc. Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
US6487689B1 (en) * 1999-07-08 2002-11-26 Lucent Technologies Inc. Receiver initiated recovery algorithm (RIRA) for the layer 2 tunneling protocol (L2TP)
US6721840B1 (en) * 2000-08-18 2004-04-13 Triscend Corporation Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory
US6980024B1 (en) * 2000-06-12 2005-12-27 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989004516A1 (en) 1987-11-10 1989-05-18 Echelon Systems An input/output section for an intelligent cell which provides sensing, bidirectional communications and control
US5404544A (en) 1992-06-05 1995-04-04 Advanced Micro Devices System for periodically transmitting signal to/from sleeping node identifying its existence to a network and awakening the sleeping node responding to received instruction
US5761516A (en) 1996-05-03 1998-06-02 Lsi Logic Corporation Single chip multiprocessor architecture with internal task switching synchronization bus
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6442697B1 (en) 2000-03-24 2002-08-27 Intel Corporation Method and apparatus to control processor power and performance for single phase lock loop (PLL) processor systems
US6989835B2 (en) * 2000-06-28 2006-01-24 Sun Microsystems, Inc. Flexible video architecture for generating video streams
US6536024B1 (en) 2000-07-14 2003-03-18 International Business Machines Corporation Method for making integrated circuits having gated clock trees
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US20030226050A1 (en) 2000-12-18 2003-12-04 Yik James Ching-Shau Power saving for mac ethernet control logic
WO2002084509A1 (en) 2001-02-24 2002-10-24 International Business Machines Corporation A novel massively parrallel supercomputer
US6696854B2 (en) * 2001-09-17 2004-02-24 Broadcom Corporation Methods and circuitry for implementing first-in first-out structure
TW546560B (en) 2001-12-28 2003-08-11 Inventec Corp Method of achieving computer power saving through memory throttling
US7003658B2 (en) 2002-02-21 2006-02-21 Inventec Corporation Method for user setup of memory throttling register in north bridge via BIOS to save power
US7898994B2 (en) 2002-02-25 2011-03-01 Hewlett-Packard Development Company, L.P. Power saving in multi-processor device
US7865744B2 (en) 2002-09-04 2011-01-04 Broadcom Corporation System and method for optimizing power consumption in a mobile environment
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7783842B2 (en) 2003-01-09 2010-08-24 International Business Machines Corporation Cache coherent I/O communication
US6871119B2 (en) * 2003-04-22 2005-03-22 Intel Corporation Filter based throttling
US7733915B2 (en) * 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
US7242736B2 (en) * 2003-05-15 2007-07-10 Sun Microsystems, Inc. Data transfer
US7340548B2 (en) 2003-12-17 2008-03-04 Microsoft Corporation On-chip bus
US7237131B2 (en) 2003-12-30 2007-06-26 Intel Corporation Transaction-based power management in a computer system
US7181188B2 (en) 2004-03-23 2007-02-20 Freescale Semiconductor, Inc. Method and apparatus for entering a low power mode
US7734797B2 (en) * 2004-03-29 2010-06-08 Marvell International Ltd. Inter-processor communication link with manageability port
US7596638B2 (en) * 2004-06-21 2009-09-29 Intel Corporation Method, system, and apparatus to decrease CPU temperature through I/O bus throttling
US7353374B1 (en) 2004-06-22 2008-04-01 Xilinx, Inc. Integrated circuit with supervisory control circuit
US7610497B2 (en) 2005-02-01 2009-10-27 Via Technologies, Inc. Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory
JP4649257B2 (ja) 2005-04-04 2011-03-09 キヤノン株式会社 マルチcpuシステム
US20060239194A1 (en) * 2005-04-20 2006-10-26 Chapell Christopher L Monitoring a queue for a communication link
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US7484014B2 (en) * 2005-09-28 2009-01-27 Intel Corporation System for flexible and negotiable exchange of link layer functional parameters
US20070094436A1 (en) * 2005-10-20 2007-04-26 Keown William F Jr System and method for thermal management in PCI express system
US8304698B1 (en) * 2005-12-09 2012-11-06 Globalfoundries Inc. Thermal throttling of peripheral components in a processing device
US7813289B2 (en) * 2006-02-02 2010-10-12 Infineon Technologies Ag Electrical idle detection circuit including input signal rectifier
JP2007249808A (ja) 2006-03-17 2007-09-27 Canon Inc 機能拡張システム及び機能拡張機器
US8553720B2 (en) * 2006-04-19 2013-10-08 Marvell World Trade Ltd. Adaptive speed control for MAC-PHY interfaces
US7685444B2 (en) 2006-04-28 2010-03-23 Nokia Corporation Power saving in circuit functions through multiple power buses
US7739528B2 (en) 2006-06-09 2010-06-15 Broadcom Corporation Method for managing and controlling the low power modes for an integrated circuit device
US20100169896A1 (en) 2006-08-08 2010-07-01 Koninklijke Philips Electronics N.V. Electronic device and method of controlling a communication
US7814371B2 (en) 2006-09-27 2010-10-12 Intel Corporation Apparatus and method for point-to-point interconnect testing
US7949794B2 (en) 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US20080162855A1 (en) * 2006-12-29 2008-07-03 Tessil Thomas Memory Command Issue Rate Controller
US20080162748A1 (en) 2006-12-31 2008-07-03 Blaise Fanning Efficient power management techniques for computer systems
JP2008194563A (ja) 2007-02-08 2008-08-28 Sumitomo Metal Mining Co Ltd 日射遮蔽膜および波長選択型遮蔽膜
US8775701B1 (en) * 2007-02-28 2014-07-08 Altera Corporation Method and apparatus for source-synchronous capture using a first-in-first-out unit
US8219786B1 (en) * 2007-03-20 2012-07-10 Nvidia Corporation Request coalescing for instruction streams
US7734859B2 (en) * 2007-04-20 2010-06-08 Nuon, Inc Virtualization of a host computer's native I/O system architecture via the internet and LANs
EP2058725A3 (en) 2007-06-11 2015-07-22 Mediatek Inc. Method of and apparatus for reducing power consumption within an integrated circuit
US7809869B2 (en) * 2007-12-20 2010-10-05 International Business Machines Corporation Throttling a point-to-point, serial input/output expansion subsystem within a computing system
GB2457667B (en) 2008-02-19 2012-01-11 Advanced Risc Mach Ltd Data transfer between devices within an integrated circuit
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
US8977788B2 (en) * 2008-08-13 2015-03-10 Intel Corporation Observing an internal link via an existing port for system on chip devices
US8181059B2 (en) 2008-09-26 2012-05-15 Apple Inc. Inter-processor communication channel including power-down functionality
US20100153759A1 (en) 2008-12-15 2010-06-17 Singhal Rakshit Power gating technique to reduce power in functional and test modes
US9189049B2 (en) 2008-12-24 2015-11-17 Stmicroelectronics International N.V. Power management in a device
US8136001B2 (en) * 2009-06-05 2012-03-13 Freescale Semiconductor, Inc. Technique for initializing data and instructions for core functional pattern generation in multi-core processor
KR101283482B1 (ko) * 2009-12-11 2013-07-12 한국전자통신연구원 Pci 익스프레스 프로토콜 처리 장치
US8671234B2 (en) 2010-05-27 2014-03-11 Stmicroelectronics, Inc. Level shifting cable adaptor and chip system for use with dual-mode multi-media device
US8782456B2 (en) 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8850250B2 (en) 2010-06-01 2014-09-30 Intel Corporation Integration of processor and input/output hub
US9146610B2 (en) * 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893153A (en) * 1996-08-02 1999-04-06 Sun Microsystems, Inc. Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
US6487689B1 (en) * 1999-07-08 2002-11-26 Lucent Technologies Inc. Receiver initiated recovery algorithm (RIRA) for the layer 2 tunneling protocol (L2TP)
US6980024B1 (en) * 2000-06-12 2005-12-27 Altera Corporation I/O circuitry shared between processor and programmable logic portions of an integrated circuit
US6721840B1 (en) * 2000-08-18 2004-04-13 Triscend Corporation Method and system for interfacing an integrated circuit to synchronous dynamic memory and static memory

Also Published As

Publication number Publication date
US10241952B2 (en) 2019-03-26
US9146610B2 (en) 2015-09-29
CN103119572A (zh) 2013-05-22
WO2012047600A2 (en) 2012-04-12
TWI476596B (zh) 2015-03-11
US20120079159A1 (en) 2012-03-29
US20160085711A1 (en) 2016-03-24
TW201227320A (en) 2012-07-01
WO2012047600A3 (en) 2012-08-16
DE112011103225B4 (de) 2023-03-23
DE112011103225T5 (de) 2013-07-18

Similar Documents

Publication Publication Date Title
CN103119572B (zh) 节流的集成链路
US8850249B2 (en) Enabling idle states for a component associated with an interconnect
KR101529460B1 (ko) 플랫폼에서 유휴 링크 전력을 감소시키는 방법 및 장치
CN106209695B (zh) 给加载/存储通信协议提供低功率物理单元
US8782456B2 (en) Dynamic and idle power reduction sequence using recombinant clock and power gating
US8850250B2 (en) Integration of processor and input/output hub
US7441128B2 (en) Power-state management of peripheral device by north bridge for power management of computer system
CN111552657A (zh) 使用消息总线接口的phy重新校准
US9015510B2 (en) Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
CN104050060A (zh) 高速串行i/o链路应用中用于从低功率状态快速而稳健恢复的自适应控制环保护
CN105027444A (zh) 集成时钟差分缓冲
CN115203084A (zh) 高速外围组件互连(pcie)接口装置及其操作方法
US6874047B1 (en) System and method for implementing an SMBus/I2C interface on a network interface card
Kwa et al. PCI Express* Architecture Power Management
KR102668564B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
Qin et al. Design of the Multi-computer communication system based on RS485
Baig et al. Integrated LTSSM (link training & status state machine) and MAC layer of USB 3.0 device for reliable SuperSpeed data transactions
Sayyah et al. Network-aware design-space exploration of a power-efficient embedded application
CN117980860A (zh) 用于管理处于掉电状态下的控制器的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221118

Address after: China Taiwan Hsinchu Science Park Hsinchu city Dusing Road No. 1

Patentee after: MEDIATEK Inc.

Address before: California, USA

Patentee before: INTEL Corp.