专利名称:用于限制伪唤醒的静噪滤波的制作方法
技术领域:
本申请一般涉及电子学领域。更具体地讲,本发明的实施方式涉及用于限制伪唤 醒的静噪滤波。
背景技术:
随着集成电路(IC)制造技术不断改进,制造商能够将额外的功能集成到单个硅 基片上。然而,随着这些功能的数目不断增加,单个IC芯片上的部件的数目也不断增加。 额外的部件增加了额外的信号切换,从而产生更多的热。额外的热可能会通过热膨胀使IC 芯片遭到破坏。此外,额外的热可能会限制包括这些芯片的计算设备的使用位置和/或应 用。例如,便携式计算设备可能仅仅依赖于电池电能。因此,当把额外的功能集成到便携式 计算设备中时,减小功耗的需求就变得越来越重要,例如,可使得电池电能维持更长的时间 段。非便携式计算系统因其IC部件使用更多的电能并产生更多的热,也面临着冷却和发电 的问题。
结合附图,提供详细的说明。在这些图中,标号最左边的数字标识了该标号首次出 现的那个图。在不同的图中,使用相同的标号标识了相似的或完全相同的项。图1、4_5示出了可用于实现本文所讨论的各种实施方式的计算系统的实施方式 的框图。图2示出了根据一个实施方式的流程图。图3示出了根据一个实施方式的样本静噪滤波电路。
具体实施例方式在下面的描述中,阐明了大量的具体细节,为的是透彻理解各个实施方式。然而, 一些实施方式可以在没有这些具体细节的情况下得到实施。在其它情况下,公知的方法、过 程、部件和电路都不再详细描述,以凸显特定的实施方式。在一个实施方式中,I/O电路、内 部时钟和/或转发时钟被关闭,同时保持内部存储器中的链接状态。应该注意到,用于保存 状态的内部存储器与模拟I/O和时钟相比通常具有显著较低的功耗,因此产生了显著的功 率节约,而不影响链接恢复。本文所讨论的一些实施方式一般涉及限制通过链路(比如点对点或串行链路)而 耦合的计算设备部件的伪唤醒,以减小功耗和/或热耗散。例如,当耦合到链路的代理从正 常或标准功耗状态(比如被称为“L0”、活动等)进入到较低功耗状态(比如被称为Li、空 闲、睡眠模式、中止等)时,该链路上的后续信号电平变化(比如其形式是单个脉冲)可以 指示从Ll状态中退出。然而,随着半导体形状因子持续减小和/或使用更复杂的电路,更 长的链路迹线可能减小信号完整性并允许引入噪声。这可能产生伪唤醒,且因伪唤醒而导 致不必要的功耗或热耗散。为此,在一个实施方式中,一个选择时间段(比如50ns)内的多
4个脉冲(比如四个脉冲)可以被用于指示唤醒事件。额外的脉冲及其出现所持续的时间可 能限制因链路上的噪声或信号恶化而导致的伪唤醒的出现。此外,脉冲的数目和静噪窗口 可以是可编程的,便于根据实际的硬件行为调整方案。各种计算系统都可以被用于实现本文所讨论的实施方式,比如结合图1、4_5所讨 论的系统。更具体地讲,图1示出了根据本发明的实施方式的计算系统100的框图。系统 100可以包括一个或多个代理102-1到102-M(本文统称为“代理102”)。在一个实施方式 中,代理102中的一个或多个可以是诸如结合图4或5所讨论的计算系统等的计算系统中 的任何部件。如图1所示,代理102可以通过网络架构104进行通信。在一个实施方式中,网络 架构104可以包括一种允许各种代理(比如计算设备或其部件)传输数据的计算机网络。 在一个实施方式中,网络架构104可以包括通过串行(比如点对点)链路和/或共享通信 网络进行通信的一个或多个互连(或互连网络)。例如,一些实施方式可以促进能与全缓冲 双直插式存储器模块(FBD)进行通信的那些链路上的部件调试或验证,例如,其中FBD链路 是串行链路,用于将存储器模块耦合到主控制器设备(比如处理器或存储器集线器)。调试 信息可以是从FBD信道主机发出的,使得信道流量跟踪捕获工具(比如一个或多个逻辑分 析器)可以沿着该信道观察该调试信息。在一个实施方式中,系统100可以支持分层协议方案,该方案可以包括物理层、链 路层、路由层、传输层和/或协议层。对于点对点或共享网络,上述架构104还可以促进从 一个协议(比如高速缓存处理器或高速缓存知晓存储器控制器)到另一个协议的数据(比 如以分组为形式)的传输。此外,在一些实施方式中,网络架构104可以提供遵守一个或多 个高速缓存相关协议的通信。此外,如图1中的箭头的方向所示,代理102可以通过网络架构104发送和/或接 收数据。因此,一些代理可以使用单向链路进行通信,而其它代理可以使用双向链路进行通 信。例如,一个或多个代理(比如代理102-M)可以发送数据(比如通过单向链路106),其 它代理(比如代理102-2)可以接收数据(比如通过单向链路108),而一些代理(比如代理 102-1)可以既发送数据又接收数据(比如通过双向链路110)。此外,如图1所示,代理102-1可以包括静噪检测逻辑112-1,以确定代理102_1何 时要退出低功耗状态(比如Li),下文结合图2、3会进一步讨论。此外,系统100的其它代 理中的全部或一部分可以包括其自己的静噪逻辑(未示出)。图2示出了根据一实施方式基于一个选择时间段内出现的多个脉冲产生唤醒事 件的方法200的流程图。在一个实施方式中,图1的逻辑112-1可以执行方法200的操作 205-214。此外,在一些实施方式中,图3的电路300也可以被用于执行操作205-214。参照图1-2,在操作202处,代理(比如代理102)可以处于活动状态(比如L0)。 在操作204处,例如,该代理可以进入到较低功耗状态(比如睡眠或Li),因为该代理所附 连到的链路(比如图1的代理102-1的链路110)上没有活动。在一些实施方式中,在操作 204处,可能只有该代理的一部分进入到较低功耗状态(例如,一部分或处理器可以被置于 Ll中,而其它部分可以留在LO中)。一旦静噪退出脉冲被检测到205(它可能源自另一个 代理,所述另一个代理通过结合图1所讨论的串行链路而耦合到操作202/204的代理),则 窗口计数器(比如计数时钟周期)或定时器(计数时间)可以被启动206,并且脉冲计数器也可以被启动208。脉冲计数208将针对每个检测到的脉冲增加1,直到窗口计数/定时器 (例如,在50ns之后,或者在寄存器中或存储器内某一位置所存储的某一其它可编程数目 之后)结束210。一旦窗口计数结束210,则在操作212处将来自脉冲计数208的脉冲的数 目与阈值(例如,4,或者在寄存器中或存储器内某一位置所存储的某一其它可编程数目) 进行比较。在操作214处,如果达到了该阈值(例如,根据实现方式,脉冲的数目等于或者 超过该阈值),则唤醒事件可以出现(比如通过使该代理进入到活动(比如L0)状态的信 号),并且方法200可以在操作202处重新开始。否则,方法200可以从操作204重新开始 (例如,响应于检测到的静噪退出205等,重新设置脉冲计数并且重新启动窗口定时器)。在一个实施方式中,仅当一个信号保持“高”这一状态达到一定时间量(S卩,并非 边沿被检测到,而是(比如电压)电平检测),才把它视为脉冲(比如对脉冲计数208而 言)。或者,若在指定时间段内检测到正确数目的上升沿(或下降沿,这取决于实现方式), 则可以将信号视为脉冲。相应地,在一个实施方式中,逻辑112-1为某一时间量之内所接收 到的脉冲的数目进行计数。如果该逻辑在指定时间之内看到正确的脉冲数目,则它将该情 形视为静噪退出指示;否则,它重新设置脉冲计数和脉冲计数定时器,开始寻找新的脉冲序 列。图3示出了根据一实施方式基于一个选择时间段内出现的多个脉冲产生唤醒事 件的电路300的框图。在一个实施方式中,图1的逻辑112-1可以包括电路300。此外,图 2的方法200的至少一些操作可以按上文所讨论的那样由电路300执行。如图3所示,在锁存器302 (该锁存器可以是边沿或电平触发的,正如上文结合图 2所讨论的那样)的S输入上,可以接收静噪退出指示信号301 (该信号可以与图2的信号 205相同或相似)。例如,可以从代理所耦合到的链路中接收静噪退出指示信号301。锁存 器302耦合到同步器逻辑304。逻辑304可以提供时钟交叉。更具体地讲,信号301可以不 与任何时钟相关联(例如,它可以是模拟的)。相应地,同步器逻辑304使信号301适应接 收代理的时钟域,并且在一些实施方式中可以不是必需的(例如,在信号301已经被同步到 接收代理的时钟域的情况下)。逻辑304的输出被提供给反相器306 (它耦合到锁存器302的“d”输入)、触发器 308以及“与”门310。触发器308可以充当一个延迟元件,使得“与”门310将对第二个和 后续脉冲301输出逻辑高信号。“与”门310的输出能够启动窗口计数器/定时器311 (比 如执行图2的操作206)、脉冲计数器312 (它对比如结合图2和操作208所定义的脉冲进行 计数),并且使阈值寄存器314输出其存储的值。一旦窗口计数器/定时器311已结束(参照图2的窗口结束210),则它向脉冲计 数器312产生信号315以输出其脉冲计数(并且重新设置脉冲计数)。比较器316将阈值 寄存器的值与来自312的脉冲计数进行比较,并且向包括电路300的代理产生唤醒事件信号。图4示出了计算系统400的实施方式的框图。计算系统400可以包括耦合到互 连网络(或总线)404的一个或多个中央处理单元(CPU)402(它们可以被统称为“处理器 402”)。图1的代理102中的一个或多个可以包括计算系统400的一个或多个部件。此外, 系统400的一个或多个部件可以包括逻辑112-1,从而包括处理器402中的一个或多个。处 理器402可以是任何类型的处理器,比如通用处理器、网络处理器(它可以处理在计算机网络405上传输的数据)等(包括简化指令集计算机(RISC)处理器或复杂指令集计算机 (CISC)处理器)。此外,处理器402可以具有单核或多核设计。多核设计的处理器402可以 将不同类型的处理器核集成到相同的集成电路(IC)管芯上。此外,多核设计的处理器402 可以被实现成对称的或非对称的多处理器。处理器402可以包括一个或多个高速缓存,在各种实施方式中这些高速缓存可以 是专用的和/或共享的。通常,高速缓存存储与别处所存储的或先前计算出的原始数据相 对应的数据。为了减小存储器存取等待时间,一旦数据被存储在高速缓存中,则通过对经高 速缓存的副本进行存取,而非重新获取或重新计算原始数据,就可以实现将来的使用。高速 缓存可以是任何类型的高速缓存,比如1级(Li)高速缓存、2级(L2)高速缓存、3级(L3) 高速缓存、中间级高速缓存、最后一级高速缓存(LLC)等,用于存储由系统400的一个或多 个部件使用的电子数据(比如包括各种指令)。另外,这些高速缓存可以位于各种位置(比 如在本文所讨论的计算系统的其它部件之内,这包括图1或5的系统)。芯片组406可以另外耦合到互连网络404。此外,芯片组406可以包括图形存储器 控制集线器(GMCH) 408。GMCH 408可以包括耦合到存储器412的存储器控制器410。存储 器412可以存储数据,例如,所述数据包括指令序列,所述指令序列可由处理器402来执行, 或者可由与计算系统400的部件进行通信的任何其它设备来执行。此外,在本发明的一个 实施方式中,存储器412可以包括一个或多个易失性存储(或存储器)设备,比如随机存取 存储器(RAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、静态RAM (SRAM)等等。也可以使用非易 失性存储器,比如硬盘。另外的设备可以耦合到互连网络404,比如多个处理器和/或多个 系统存储器。GMCH 408还可以包括耦合到显示设备416的图形接口 414(例如,在一个实施方 式中,通过图形加速器进行耦合)。在一个实施方式中,图形接口 414可以通过加速的图形 端口(AGP)而耦合到显示设备416。在本发明的实施方式中,显示设备416(比如平板显示 器)可以通过信号转换器而耦合到图形接口 414,该信号转换器将存储设备(比如视频存储 器或系统存储器(比如存储器412))中所存储的图像的数字表示转换成由显示器416翻译 并显示的显示信号。如图4所示,集线器接口 418可以将GMCH 408耦合到输入/输出控制集线器 (ICH) 4200 ICH 420可以提供一个到输入/输出(I/O)设备的接口,所述输入/输出(I/O) 设备耦合到计算系统400。ICH 420可以通过比如与PCIe规范相符的外围部件互连(PCI) 桥、通用串行总线(USB)控制器等外围桥(或控制器)424耦合到总线422。桥424可以在 处理器402和外围设备之间提供数据路径。也可以使用其它类型的拓扑。而且,多个总线 可以通过多个桥或控制器耦合到ICH420。此外,总线422可以包括其它类型和配置的总线 系统。此外,在本发明的各种实施方式中,耦合到ICH 420的其它外围设备可以包括集成驱 动电子设备(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、USB端口、键盘、鼠标、并行 端口、串行端口、软盘驱动器、数字输出支持(比如数字视频接口(DVI))等。总线422可以耦合到音频设备426、一个或多个磁盘驱动器428以及网络适配器 430(在一个实施方式中,它可以是NIC)。在一个实施方式中,耦合到总线422的网络适配 器430或其它设备可以与芯片组406进行通信。其它设备可以耦合到总线422。此外,在 本发明的一些实施方式中,各种部件(比如网络适配器430)可以耦合到GMCH 408。另外,处理器402和GMCH 408可以被组合起来形成单个芯片。在一个实施方式中,存储器控制器 410可以被设置在一个或多个CPU 402中。此外,在一个实施方式中,GMCH 408和ICH 420 可以被组合成外围控制集线器(PCH)。另外,计算系统400可以包括易失性和/或非易失性存储器(或存储设 备)。例如,非易失性存储器可以包括下列中的一个或多个只读存储器(ROM);可编程 ROM(PROM);可擦除PROM(EPROM);电EPROM(EEPROM);硬盘驱动器(比如428);软盘;紧致 盘ROM (⑶-ROM);数字化视频光盘(DVD);闪存;磁光盘;或能够存储电子数据(比如包括指 令)的其它类型的非易失性机器可读介质。在一个实施方式中,存储器412可以包括下列中的一个或多个操作系统(0/ S) 432 ;应用程序434 ;和/或设备驱动程序436。存储器412也可以包括专用于存储器映射 I/O (MMIO)操作的区域。作为存储器管理操作的一部分,存储器412中所存储的程序和/或 数据可以被换入磁盘驱动器428中。应用程序434可以执行(例如,在处理器402上),从 而与耦合到网络405的一个或多个计算设备进行一个或多个分组的传输。在一个实施方式 中,分组可以是一个或多个码元和/或值的序列,该序列可以通过从至少一个发送者传输 到至少一个接收者(例如,通过像网络405这样的网络)的一个或多个电信号来进行编码。 例如,每个分组可以具有首部,该首部包括可用于路由和/或处理该分组的各种信息,比如 源地址、目的地址、分组类型等。每个分组也可以具有有效负载,该有效负载包括该分组正 通过计算机网络(比如网络405)在各种计算设备之间转移的原始数据(或内容)。在一个实施方式中,例如,通过设备驱动程序436,应用程序434可以使用0/S 432 与系统400的各种部件进行通信。因此,设备驱动程序436可以包括网络适配器430专用 命令,以在0/S 432与网络适配器430或耦合到系统400的其它I/O设备(比如通过芯片 组406进行耦合)之间提供通信接口。在一个实施方式中,0/S 432可以包括网络协议栈。协议栈一般是指一组规程或程 序,执行这组规程或程序就可以处理通过网络405发送的分组,其中所述分组可以符合指 定的协议。例如,可以使用TCP/IP栈来处理TCP/IP(传输控制协议/互联网协议)分组。 设备驱动程序436可以指示存储器412中要被处理的缓冲器,例如,通过协议栈来实现。网络405可以包括任何类型的计算机网络。网络适配器430还可以包括直接存储 器存取(DMA)引擎,该引擎将分组写入分配给可用描述符(例如,存储器412中所存储的) 的缓冲器(例如,存储器412中所存储的),以通过网络405发送和/或接收数据。另外,网 络适配器430可以包括网络适配器控制器,所述网络适配器控制器可以包括执行适配器相 关操作的逻辑(比如一个或多个可编程处理器)。在一个实施方式中,适配器控制器可以是 MAC(介质存取控制)部件。网络适配器430还可以包括存储器,比如任何类型的易失性/ 非易失性存储器(例如,包括一个或多个高速缓存和/或参照存储器412所讨论的其它存 储器类型)。图5示出了根据本发明的实施方式按照点对点(PtP)配置安排的一种计算系统 500。特别是,图5示出了一种系统,其中处理器、存储器和输入/输出设备通过多个点对点 接口进行互连。结合图1-4所讨论的各种操作都可以由系统500的一个或多个部件来执行。如图5所示,系统500可以包括若干个处理器,为了清晰可见,仅仅示出了其中 的两个处理器502和504。处理器502和504可以各自包括本地存储器控制器集线器(GMCH) 506和508,从而能够与存储器510和512进行通信。存储器510和/或512可以存 储各种数据,比如结合图4的存储器412所讨论的那些数据。如图5所示,处理器502和 504 (或系统500的其它部件,比如芯片组520、I/O设备543等)也可以包括一个或多个高 速缓存,比如结合图1-4所讨论的那些高速缓存。在一个实施方式中,处理器502和504可以是结合图4所讨论的处理器402之一。 处理器502和504可以分别使用点对点(PtP)接口电路516和518,通过点对点(PtP)接口 514来交换数据。此外,处理器502和504可以使用点对点接口电路526、528、530和532, 通过各个PtP接口 522和524各自与芯片组520交换数据。芯片组520还可以通过高性能 图形接口 536与高性能图形电路534交换数据,例如,使用PtP接口电路537来实现。在至少一个实施方式中,处理器502、504可以包括逻辑112-1。然而,本发明的其 它实施方式可以存在于图5的系统500之内的其它电路、逻辑单元或设备中。此外,本发明 的其它实施方式可以分布于图5所示的若干电路、逻辑单元或设备中。芯片组520可以使用PtP接口电路541与总线540连通。总线540可以具有与它 连通的一个或多个设备,比如总线桥542和/或I/O设备543。通过总线544,总线桥542 可以与其它设备连通,比如键盘/鼠标545、通信设备(比如调制解调器、网络接口设备或可 与计算机网络405进行通信的其它通信设备)、音频I/O设备和/或数据存储设备548。数 据存储设备548可以存储可由处理器502和/或504执行的代码549。在本发明的各种实施方式中,本文所讨论的各种操作(比如结合图1-5所讨论的 那些操作)可以被实现成硬件(比如电路)、软件、固件、微代码或它们的组合,这些操作可 以作为计算机程序产品来提供,例如,包括其上存储有指令(或软件规程)的机器可读或计 算机可读介质,所述指令被用于对计算机进行编程以执行本文所讨论的处理过程。此外,作 为示例,术语“逻辑”可以包括软件、硬件或者软件与硬件的组合。机器可读介质可以包括 存储设备,比如结合图1-5所讨论的那些存储设备。另外,这种计算机可读介质可以作为计 算机程序产品被下载,其中经由通信链路(比如总线、调制解调器或网络连接)通过载波或 其它传播介质中所提供的数据信号,就可以将程序从远程计算机(比如服务器)转移到请 求计算机(比如客户机)。在本说明书中,所提到的“一个实施方式”或“实施方式”意味着结合该实施方式 所描述的特定的特征、结构或特性可以被包括在至少一种实现方式中。本文中多处出现的 表述“在一个实施方式中,,可能全部指代相同的实施方式,或者也可能并非全部指代相同的 实施方式。此外,在说明书和权利要求书中,术语“耦合”和“连接”及其衍生词都是可以使用 的。在本发明的一些实施方式中,“连接”可能被用于指示两个或更多个元件彼此直接物理 接触或电接触。“耦合”可能意味着两个或更多个元件直接物理接触或电接触。然而,“耦 合”也可能意味着两个或更多个元件彼此并不直接接触,但仍然彼此协作或交互作用。由此,尽管已经用详尽到结构特征和/或方法动作的语言描述了本发明的实施方 式,但是应该理解,所要求保护的主题可能并不限于所描述的特定的特征或动作。相反,特 定的特征和动作是作为实现所要求保护的主题的示例形式而予以揭示的。
权利要求
一种装置,包括耦合到第二代理的第一代理;所述第一代理包括用于确定所述第一代理是否退出较低功耗状态的逻辑,所述逻辑包括脉冲计数器,用于对所述逻辑在一时间段内所接收到的脉冲的数目进行计数;以及比较器,所述比较器基于脉冲计数器的输出与阈值的比较结果,产生唤醒事件信号以使第一代理退出较低功耗状态。
2.如权利要求1所述的装置,还包括窗口定时器,用于向脉冲计数器指示所述时间段的结束。
3.如权利要求1所述的装置,还包括“与”门,用于接收与脉冲相对应的信号以及与脉冲相对应的信号的延迟版本。
4.如权利要求1所述的装置,其特征在于,第二代理产生在所述时间段内被所述逻辑接收到的脉冲。
5.如权利要求1所述的装置,还包括耦合到所述比较器的寄存器,用于存储所述阈值。
6.如权利要求1所述的装置,其特征在于,所述脉冲计数器基于脉冲的边沿对脉冲进行计数。
7.如权利要求1所述的装置,其特征在于,所述脉冲计数器基于脉冲的电平对脉冲进行计数。
8.如权利要求1所述的装置,其特征在于,所述第一代理和所述逻辑是在相同的集成电路管芯上。
9.如权利要求1所述的装置,还包括 包括所述第一代理的处理器。
10.如权利要求1所述的装置,其特征在于, 所述处理器包括多个处理器核。
11.一种方法,包括对第一代理在一时间段内从第二代理接收到的脉冲的数目进行计数;以及基于脉冲的数目与阈值的比较结果,产生唤醒事件信号以使第一代理退出较低功耗状态。
12.如权利要求11所述的方法,还包括 通过串行链路使第一代理和第二代理相耦合。
13.如权利要求11所述的方法,还包括 响应于所述时间段的结束的指示,终止计数。
14.如权利要求11所述的方法,其特征在于,对脉冲的数目进行计数是基于脉冲的边沿而执行的。
15.如权利要求11所述的方法,其特征在于, 对脉冲的数目进行计数是基于脉冲的电平而执行的。
16.一种系统,包括串行链路,用于使第一代理和第二代理相耦合;所述第一代理包括用于确定所述第一代理是否退出较低功耗状态的静噪逻辑,所述静 噪逻辑包括脉冲计数器,用于对所述逻辑在一时间段内所接收到的脉冲的数目进行计数; 比较器,所述比较器基于脉冲计数器的输出与阈值的比较结果,产生唤醒事件信号以 使第一代理退出较低功耗状态;以及窗口定时器,用于向脉冲计数器指示所述时间段的结束。
17.如权利要求16所述的系统,还包括“与”门,用于接收与脉冲相对应的信号以及与脉冲相对应的信号的延迟版本。
18.如权利要求16所述的系统,其特征在于,第二代理产生在所述时间段内被所述逻辑接收到的脉冲。
19.如权利要求16所述的系统,其特征在于,所述脉冲计数器基于脉冲的边沿或电平对脉冲进行计数。
20.如权利要求17所述的系统,还包括耦合到第一或第二处理器中的至少一个的音频设备。
全文摘要
描述了涉及静噪滤波以限制伪唤醒的方法和装置。在一个实施方式中,静噪逻辑基于一时间段内多个脉冲(源自某一个代理)的出现,为另一代理产生一唤醒事件。也揭示了其它实施方式。
文档编号H03H1/00GK101938260SQ201010227040
公开日2011年1月5日 申请日期2010年6月29日 优先权日2009年6月30日
发明者B·A·坦南特, D·佩特洛夫, S·S·坦, S·T·斯里尼瓦桑 申请人:英特尔公司