CN109074114A - 用于使用箝位来进行数据保留和供给噪声缓解的装置 - Google Patents

用于使用箝位来进行数据保留和供给噪声缓解的装置 Download PDF

Info

Publication number
CN109074114A
CN109074114A CN201780024205.5A CN201780024205A CN109074114A CN 109074114 A CN109074114 A CN 109074114A CN 201780024205 A CN201780024205 A CN 201780024205A CN 109074114 A CN109074114 A CN 109074114A
Authority
CN
China
Prior art keywords
transistor
power
power grid
logic
grid
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
CN201780024205.5A
Other languages
English (en)
Other versions
CN109074114B (zh
Inventor
P·A·迈内尔茨哈根
S·T·吉姆
A·A·塔佩洛
M·M·科拉
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 CN109074114A publication Critical patent/CN109074114A/zh
Application granted granted Critical
Publication of CN109074114B publication Critical patent/CN109074114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Image Generation (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

提供了一种装置,该装置包括:第一功率栅晶体管,耦合至非栅控功率供给节点和栅控功率供给节点,该第一功率栅晶体管具有可由第一逻辑控制的栅极端子;以及第二功率栅,耦合至非栅控功率供给节点和栅控功率供给节点,该第二功率栅晶体管具有可由第二逻辑控制的栅极端子,其中,第一功率栅晶体管比第二功率栅晶体管大,并且其中,第二逻辑可操作以:弱导通第二功率栅,完全导通第二功率栅,断开第二功率栅,以及将第二功率栅连接为二极管。

Description

用于使用箝位来进行数据保留和供给噪声缓解的装置
优先权要求
本申请要求2016年5月10日提交的题为"APPARATUS FOR DATA RETENTION ANDSUPPLY NOISE MITIGATION USING CLAMPS(用于使用箝位来进行数据保留和供给噪声缓解的装置)"的美国专利申请号15/151,402的优先权,其通过引用其整体结合于此以用于所有目的。
附图说明
随着用于手持式设备(例如,智能电话)的高效功率管理变得至关重要,进入和/或退出(多个)掉电模式变得相当频繁。今天,许多处理器使用细粒度的功率栅控、借助于功率栅(PG)来减少非活动电路块的泄漏功率。这些PG使得电路块进入包括破坏性睡眠的各种功率模式。术语“破坏性睡眠”常规意义上是指其中存储器中的数据因为功率供给水平被降低到接近于零而丢失的睡眠模式。为了返回到正常模式,可能必须从次级存储器源恢复存储器和其他顺序逻辑(诸如,触发器和锁存器)中的数据,并且该过程降低了计算系统的整体性能。对于恒定的功率预算,可以权衡泄漏节省(来自破坏性睡眠)以获得性能增益。遗憾的是,常规的破坏性睡眠导致存储器和触发器数据丢失,而数据需要在各种睡眠状态下被保留。进一步地,栅控(gated)功率域的快速唤醒可能导致邻近电路中的供给噪声。
背景技术
从以下给出的详细描述并从本公开的各实施例的附图,将更全面地理解本公开的实施例,然而它们不应当被理解为将本公开限于特定实施例,而是仅用于解释和理解。
图1图示出根据本公开的一些实施例的具有用于数据保留和供给噪声缓解的装置的数据处理系统的框图。
图2图示出根据本公开的一些实施例的具有一个或多个处理器核、集成存储器控制器以及集成图形处理器,并且具有用于数据保留和供给噪声缓解的装置的处理器的框图。
图3图示出根据本公开的一些实施例的图形处理器的框图,该图形处理器可以是分立的图形处理单元,或者可以是与多个处理核集成的图形处理器。
图4图示出根据本公开的一些实施例的用于图形处理器的图形处理引擎(GPE)的框图。
图5图示出与执行单元相关的图形处理器的另一实施例的框图。
图6图示出线程执行逻辑,该线程执行逻辑包括在GPE的一些实施例中采用的处理元件的阵列。
图7图示出图示根据本公开的一些实施例的图形处理器执行单元指令格式的框图。
图8是图形处理器的另一实施例的框图,该图形处理器包括图形流水线、媒体流水线、显示引擎、线程执行逻辑以及渲染输出流水线。
图9A图示出图示根据一些实施例的图形处理器命令格式的框图。
图9B图示出根据本公开的一些实施例的图形处理器命令序列的框图。
图10图示出根据本公开的一些实施例的用于数据处理系统的图形软件架构。
图11A图示出根据本公开的一些实施例的具有用于数据保留和供给噪声缓解的集中式装置的嵌入式构建块(EBB)。
图11B图示出根据本公开的一些实施例的具有用于数据保留和供给噪声缓解的分布式装置的EBB。
图12图示出具有独立的1-Vt(一阈值)和2-Vt(二阈值)箝位的用于数据保留的装置。
图13图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解并且具有破坏性睡眠、活动、旁路、多阈值箝位操作模式的装置。
图14A图示出根据本公开的一些实施例的被配置成以破坏性睡眠进行操作的、用于数据保留和供给噪声缓解的装置。
图14B图示出根据本公开的一些实施例的被配置成在旁路/活动模式下进行操作的、用于数据保留和供给噪声缓解的装置。
图14C图示出根据本公开的一些实施例的被配置成在1-Vt箝位模式下进行操作用于数据保留和供给噪声缓解的装置。
图14D图示出根据本公开的一些实施例的被配置成在2-Vt箝位模式下进行操作的、用于数据保留和供给噪声缓解的装置。
图15图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置,该装置将两层堆叠p型驱动器用于次功率栅,并且该装置具有破坏性睡眠、活动/旁路操作模式以及多阈值箝位。
图16图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置,该装置将两层堆叠n型驱动器用于次功率栅,并且该装置具有破坏性睡眠、活动/旁路操作模式以及多阈值箝位。
图17图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置,该装置将两层堆叠n型驱动器用于次功率栅,并且该装置具有破坏性睡眠、活动/旁路操作模式以及多阈值箝位。
图18图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置,该装置将两层堆叠p型驱动器用于针对次功率栅,并且该装置具有破坏性睡眠、活动/旁路操作模式以及多阈值箝位。
图19图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置,该装置将n层堆叠p型驱动器用于次功率栅,并且该装置具有破坏性睡眠、活动/旁路操作模式以及多阈值箝位。
图20图示出根据一些实施例的具有用于数据保留和供给噪声缓解的装置的智能设备或计算机系统或SoC(芯片上系统)。
具体实施方式
可以将用于睡眠模式期间的数据保留的现有方案分类为微架构方法和以电路为中心的方法。微架构方案包括:在发起睡眠模式之前,将触发器和存储器的状态读出到外部存储设备(例如,非易失性存储器)中;以及在从睡眠模式唤醒之后,通过写回数据来恢复触发器和存储器的状态。该方法使用硬件以用于将数据扫描在外部数据存储中并且从外部存储扫描出数据。由于与保存和恢复数据相关联的显著的等待时间(latency),该方法还影响系统性能。
以电路为中心的方法包括保留触发器和针对存储器(或针对其位单元)的单独的供给电压。即使通过将从锁存器转换为常开电路来避免阴影锁存器,保留触发器相较于其对等的非保留触发器也需要相当大的面积开销。为了确保存储器(诸如,静态随机存取存储器)中的数据保留,要求针对位单元的常开供给网格。这可能是昂贵的开销,因为非保留电路块可能是功率栅控的(power-gated),而保留电路保持导通(即,该方法可能需要高面积成本的隔离单元)。
在一些实施例中,为了在栅控电路的唤醒期间降低尖锐的di/dt电流峰(例如,电流相对于时间的导数)和共享供给轨上的相关联的电压下降,唤醒过程被减缓。例如,在触发次功率栅的单个长菊式链前,首先使用数模(DAC)逐渐导通主功率栅。通常,不允许同时唤醒共享电压域中的不同的逻辑块,以避免高冲击电流和供给噪声。所有的这些方案都导致长唤醒等待时间,并且可能潜在地影响系统性能。
与这些用于数据保留的微架构和以电路为中心的方法相反,一些实施例向所有的保留和非保留电路提供单个保留电压。在一些实施例中,提供了一种装置,该装置包括耦合至非栅控功率供给节点和栅控功率供给节点的第一功率栅晶体管,并且其中,该第一功率栅晶体管具有可由第一逻辑控制的栅极端子。第一功率栅晶体管是主要功率栅(或主功率栅)。在一些实施例中,该装置进一步包括:耦合至非栅控功率供给节点和栅控功率供给节点的第二功率栅,并且其中,该第二功率栅晶体管具有可由第二逻辑控制的栅极端子。(多个)第二功率栅晶体管是次功率栅,并且其中,第一功率栅晶体管的尺寸(W)显著地大于第二功率栅晶体管(例如,第一功率栅晶体管的面积比第二功率栅晶体管大10倍)。在一些实施例中,第二逻辑可操作以:弱导通第二功率栅,完全导通第二功率栅,以及断开第二功率栅。
由于不需要保存和恢复数据,因此各实施例的方案几乎不会产生超出在常规的功率栅控的电路中发现的唤醒等待时间的系统性能影响。进一步地,由于现有功率栅被重新用于启用若干保留性睡眠模式,因此面积开销可忽略不计。另外,在一些实施例中,所有电路共享单个供给轨,其可以被保持在保留电压(例如,针对保留性睡眠),衰减到地(例如,破坏性睡眠),或者被上拉到功率供给水平(例如,针对活动操作)。根据各实施例和附图的描述,其他技术效果将是显而易见的。
在下列描述中,讨论了众多细节,以提供对本公开的实施例的更全面的解释。然而,将对本领域的技术人员显而易见的是,可在没有这些特定细节的情况下实施本公开的实施例。在其他实例中,以框图形式,而不是详细地示出公知的结构和设备,以避免使本公开的实施例变得模糊。
注意,在实施例的对应附图中,信号利用线来表示。一些线可以较粗,以指示更多成份信号路径,和/或在一个或多个末端处具有箭头,以指示主要信息流动方向。此类指示不旨在是限制性的。相反,线可以结合一个或多个示例性实施例使用,以促进对电路或逻辑单元的更加容易的理解。如由设计需要或偏好所规定,任何所表示的信号都可实际包括可以在任何一个方向上行进且可利用任何合适类型的信号方案来实现的一个或多个信号。
贯穿说明书以及在权利要求书中,术语“连接的”意指直接连接而没有任何中介设备,诸如,被连接的物体之间的电气、机械或磁性连接。术语“耦合的”意指直接的或间接的连接,诸如,被连接的物体之间的直接的电气、机械或磁性连接,或者意指通过一个或多个无源或有源中介设备的间接连接。术语“电路”或“模块”可指被布置成彼此协作以提供所期望的功能的一个或多个无源和/或有源组件。术语“信号”可指至少一个电流信号、电压信号、磁信号、和/或数据/时钟信号。“一”、“一个”和“该”的含义包括复数引用。“在……中”的含义包括“在……中”和“在……上”。
术语“缩放”一般指将设计(示意图和布局)从一种工艺技术转换为另一种工艺技术,并随后在布局区域中被减小。术语“缩放”一般还指在同一技术节点内缩小布局和设备尺寸。术语“缩放”还可指相对于另一参数(例如,功率供给水平)来调整(例如,减速或加速,即分别为缩小或放大)信号频率。术语“基本上”、“接近”、“近似”、“附近”以及“大约”一般指位于目标值的+/-10%内。
除非以其他方式指定,否则使用序数词“第一”、“第二”及“第三”等来描述共同的对象,仅表示类似对象的不同的实例正在被引用,而不旨在暗示如此所描述的对象必须按照给定序列(无论是时间上的、空间上的、按排名的或按任何其他方式的)。
为了本公开的目的,短语“A和/或B”和“A或B”意指(A)、(B)或(A和B)。为了本公开的目的,短语“A、B、和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。在说明书和权利要求书中,术语“左”、“右”、“前”、“后”、“顶”、“底”、“上”、“下”等如果出现,则用于描述性目的,且不一定用于描述永久的相对位置。
为了实施例的目的,此处所描述的各电路和逻辑块中的晶体管是金属氧化物半导体(MOS)晶体管或其衍生物,其中MOS晶体管包括漏极、源极、栅极和体端子。晶体管和/或MOS晶体管衍生物还包括三栅极晶体管和鳍式场效应晶体管、栅极全包围圆柱形晶体管、隧穿FET(TFET)、方形线或矩形带状晶体管、铁电场效应晶体管(FeFET)或实现晶体管功能的其他设备,如碳纳米管或自旋电子器件。MOSFET对称的源极端子和漏极端子是完全相同的端子并且在此处被可互换地使用。另一方面,TFET器件具有非对称源极端子和漏极端子。本领域技术人员将领会,其他晶体管(例如,双极面结形晶体管——BJT PNP/NPN、BiCMOS、CMOS等)可被使用,而不背离本公开的范围。术语“MN”指示n型晶体管(例如,NMOS、NPN BJT等),术语“MP”指示p型晶体管(例如,PMOS、PNP BJT等)。
图1图示出根据本公开的一些实施例的具有用于数据保留和供给噪声缓解的装置的数据处理系统100的框图。数据处理系统100包括一个或多个处理器102以及一个或多个图形处理器108,并且可以是单处理器台式系统、多核工作站系统或具有大量处理器102或处理器核107的服务器系统。在一些实施例中,数据处理系统100是在移动设备、手持式设备或嵌入式设备中使用的片上系统集成电路(SOC)。
数据处理系统100的实施例可包括或可并入以下各项内:基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台、移动游戏控制台、手持式游戏控制台或在线游戏控制台)。在一些实施例中,数据处理系统是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统100也可包括可穿戴设备,可与可穿戴设备耦合或可集成在可穿戴设备内,该可穿戴设备诸如,智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备。在一些实施例中,数据处理系统100是电视机或机顶盒设备,该电视机或机顶盒设备具有一个或多个处理器102以及由一个或多个图形处理器108生成的图形界面。
在一些实施例中,一个或多个处理器102各自包括一个或多个处理器核107,该一个或多个处理器核107用于处理指令,该指令当被执行时,执行用于系统和用户软件的操作。在一些实施例中,一个或多个处理器核107中的每一个都配置成处理特定的指令集109。指令集109可促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经由超长指令字(VLIW)的计算。多个处理器核107各自都可处理不同的指令集109,不同的指令集109可包括用于促进对其他指令集的仿真的指令。处理器核107也可包括其他处理设备,诸如,数字信号处理器(DSP)。
在一些实施例中,处理器102包括高速缓存存储器104。取决于架构,处理器102可具有单个内部高速缓存或多级内部高速缓存。在一些实施例中,高速缓存存储器在处理器102的各组件之间共享。在一些实施例中,处理器102也使用可利用已知的高速缓存一致性技术而在处理器核107之间共享的外部高速缓存(例如,第3级(L3)高速缓存或末级高速缓存(LLC))(未示出)。寄存器堆106附加地包括在处理器102中,寄存器堆106可包括用于存储不同类型数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器以及指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可专用于处理器102的设计。
在一些实施例中,处理器102耦合至处理器总线110以在处理器102与系统100中的其他组件之间传输数据信号。系统100使用示例性“中枢”系统架构,该示例性“中枢”系统架构包括存储器控制器中枢116和输入输出(I/O)控制器中枢130。存储器控制器中枢116促进存储器设备与系统100的其他组件之间的通信,而I/O控制器中枢(ICH)130提供经由本地I/O总线至I/O设备的连接。
在一些处理器中,存储器设备120可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备或具有适当的性能以充当进程存储器的某个其他存储器设备。存储器120可存储用于在处理器102执行进程时使用的数据122和指令121。存储器控制器中枢116也与任选的外部图形处理器112耦合,该任选的外部图形处理器112可与处理器102中的一个或多个图形处理器108通信以执行图形和媒体操作。
ICH 130使外围设备能够经由高速I/O总线而连接至存储器120和处理器102。IO外围设备包括音频控制器146、固件接口128、无线收发机126(例如,Wi-Fi、蓝牙)、数据存储设备124(例如,硬盘驱动器、闪存等)以及用于将传统(legacy)(例如,个人系统2(PS/2))设备耦合至系统的传统I/O控制器140。一个或多个通用串行总线(USB)控制器142连接输入设备(诸如,键盘和鼠标144的组合)。网络控制器134也可耦合至ICH 130。在一些实施例中,高性能网络控制器(未示出)耦合至处理器总线110。
图2图示出处理器200的实施例的框图,该处理器具有一个或多个处理器核202A-N,集成存储器控制器214以及集成图形处理器208。应指出,图2的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
处理器200可包括附加的核,该附加的核多至由虚线框表示的附加核202N并包括由虚线框表示的附加核202N。核202A-N中的每一个都包括一个或多个内部高速缓存单元204A-N。在一些实施例中,每一个核都具有对一个或多个共享高速缓存单元206的访问权。
在一些实施例中,内部高速缓存单元204A-N和共享高速缓存单元206表示处理器200内的高速缓存存储器层次结构。高速缓存存储器层次结构可包括每一个核内的至少一个层级的指令和数据高速缓存以及一个或多个层级的共享的中间级高速缓存(诸如,第2级(L2)、第3级(L3)、第4级(L4)或其他层级高速缓存),其中,在外部存储器之前的最高层级的高速缓存被分类为末级高速缓存(LLC)。在一些实施例中,高速缓存一致性逻辑维持各种高速缓存单元206与204A-N之间的一致性。
在一些实施例中,处理器200也可包括一组一个或多个总线控制器单元216和系统代理210。一个或多个总线控制器单元管理一组外围总线(诸如,一个或多个外围组件互连总线(例如,PCI、PCI Express))。在一些实施例中,系统代理210提供用于各种处理器组件的管理功能。在一些实施例中,系统代理210包括用于管理对各种外部存储器设备(未示出)的访问的一个或多个集成存储器控制器214。
在一些实施例中,核202A-N中的一个或多个包括对同时的多线程操作的支持。在此类实施例中,系统代理210包括用于在多线程处理期间协调并操作核202A-N的组件。在一些实施例中,系统代理210可附加地包括功率控制单元(PCU),该PCU包括用于调节核202A-N和图形核208的功率状态的逻辑和组件。
在一些实施例中,处理器200附加地包括用于执行图形处理操作的图形处理器208。在一些实施例中,图形处理器208与一组共享高速缓存单元206以及系统代理单元210耦合,系统代理单元210包括一个或多个集成存储器控制器214。在一些实施例中,显示控制器211与图形处理器208耦合,以将图形处理器输出驱动至一个或多个所耦合的设备。在一些实施例中,显示控制器211可以是经由至少一个互连而与图形处理器耦合的分开的模块,或者可以集成在图形处理器208或系统代理210内。
在一些实施例中,使用基于环的互连单元212来耦合处理器200的多个内部组件,然而可使用替代的互连单元,诸如,点对点互连、交换互连或其他技术(包括本领域中公知的技术)。在一些实施例中,图形处理器208经由I/O链路213来与环形互连212耦合。
示例I/O链路213表示各种各样的I/O互连中的至少一者,该I/O互连包括促进各种处理器组件与高性能嵌入式存储器模块218(诸如,eDRAM模块)之间的通信的封装I/O互连。在一些实施例中,核202-N和图形处理器208中的每一者都将嵌入式存储器模块218用作共享的末级高速缓存。
在一些实施例中,核202A-N是执行相同的指令集架构的同构核。在另一实施例中,核202A-N就指令集架构(ISA)方面而言是异构的,其中,核202A-N中的一个或多个执行第一指令集,而其他核中的至少一个执行第一指令集的子集或不同的指令集。
在一些实施例中,处理器200可以是一个或多个基板的部分,或可使用各种工艺技术中的任一技术而实现在一个或多个基板上,该工艺技术例如,互补式金属-氧化物半导体(CMOS)、双极结型/互补式金属-氧化物半导体(BiCMOS)或N型金属-氧化物-半导体逻辑(NMOS)。附加地,处理器200可实现在一个或多个芯片上,或可实现为片上系统(SOC)集成电路,该SOC集成电路除其他组件之外还具有所示组件。
图3图示出图形处理器300的一个实施例的框图,该图形处理器300可以是分立的图形处理单元,或可以是与多个处理核集成的图形处理器。应指出,图3的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
在一些实施例中,经由至图形处理器上的寄存器的存储器映射的I/O接口,并且经由置入处理器存储器中的命令来与图形处理器通信。在一些实施例中,图形处理器300包括用于访问存储器的存储器接口314。在一些实施例中,存储器接口314可以是至以下各项的接口:本地存储器、一个或多个内部高速缓存、一个或多个共享外部高速缓存和/或系统存储器。
在一些实施例中,图形处理器300也包括用于将显示输出数据驱动到显示设备320的显示控制器302。在一些实施例中,显示控制器302包括用于显示的一个或多个覆盖平面(overlay plane)以及视频或用户接口元件的多个层的综合的硬件。在一些实施例中,图形处理器300包括用于将媒体编码至一个或多个媒体编码格式、从一个或多个媒体编码格式解码或在一个或多个媒体编码格式之间转码的视频编解码引擎306,该媒体编码格式包括但不限于:移动图片专家组(MPEG)格式(诸如,MPEG-2)、高级视频译码(AVC)格式(诸如,H.264/MPEG-4AVC)以及电影电视工程师协会(SMPTE)421M/VC-1,以及联合图像专家组(JPEG)格式(诸如,JPEG和运动JPEG(MJPEG)格式)。
在一些实施例中,图形处理器300包括用于执行二维(2D)光栅化(rasterizer)操作(包括例如位边界块转移)的块图像转移(BLIT)引擎304。在一些实施例中,使用图形处理引擎(GPE)310的一个或多个组件来执行2D图形操作。在一些实施例中,GPE 310是用于执行图形操作(包括三维(3D)图形操作和媒体操作等)的计算引擎。
在一些实施例中,GPE 310包括用于执行3D操作的3D流水线312,该3D操作诸如,使用作用于3D基元形状(例如,矩形、三角形等)的处理函数来渲染三维图像和场景。在一些实施例中,3D流水线312包括可编程和固定功能元件,该可编程和固定功能元件执行元件内的各种任务和/或繁衍(spawn)执行线程至3D/媒体子系统315。当3D流水线312可用于执行媒体操作时,GPE 310的实施例也包括专门用于执行媒体操作(诸如,视频后处理和图像增强)的媒体流水线316。
在一些实施例中,媒体流水线316包括用于执行一个或多个专业媒体操作的固定功能或可编程逻辑单元,该专业媒体操作诸如,取代或代表视频编解码引擎306的视频解码加速、视频去隔行(de-interlacing)以及视频编码加速。在一些实施例中,媒体流水线316附加地包括用于繁衍出供在3D/媒体子系统315上执行的线程的线程繁衍单元。所繁衍的线程在3D/媒体子系统315中所包括的一个或多个图形执行单元上执行用于媒体操作的计算。
在一些实施例中,3D/媒体子系统315包括用于执行由3D流水线312和媒体流水线316繁衍的线程的逻辑。在一个实施例中,流水线将线程执行请求发送至3D/媒体子系统315,该3D/媒体子系统315包括用于仲裁各种请求并将各种请求分派至可用的线程执行资源的线程分派逻辑。执行资源包括用于处理3D和媒体线程的图形执行单元的阵列。在一些实施例中,3D/媒体子系统315包括用于线程指令和数据的一个或多个内部高速缓存。在一些实施例中,子系统也包括用于在多个线程之间共享数据并用于存储输出数据的共享存储器,该共享存储器包括寄存器和可寻址存储器。
图4图示出用于图形处理器的GPE 410的实施例的框图。应指出,图4的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
在一些实施例中,GPE410是参考图3所描述的GPE 310的某个版本。返回参考图4,在一些实施例中,GPE 410包括3D流水线412和媒体流水线416,其中的每一者可以与图3的3D流水线312和媒体流水线316的实现方式不同或类似。
返回参考图4,在一些实施例中,GPE 410与命令流送器403耦合,该命令流送器403将命令流提供至GPE 3D和媒体流水线412、416。在一些实施例中,命令流送器403耦合至存储器,该存储器可以是系统存储器、或者内部高速缓存存储器和共享高速缓存存储器中的一个或多个。在一些实施例中,命令流送器403从存储器接收命令,并且将这些命令发送至3D流水线412和/或媒体流水线416。3D和媒体流水线通过以下方式来处理命令:通过经由相应流水线内的逻辑来执行操作;或通过将一个或多个执行线程分派至执行单元阵列414。在一些实施例中,执行单元阵列414是可缩放的,使得此阵列包括基于GPE 410的目标功率和性能等级的可变数量的执行单元。
在一些实施例中,采样引擎430与存储器(例如,高速缓存存储器或系统存储器)和执行单元阵列414耦合。在一些实施例中,采样引擎430提供用于可缩放执行单元阵列414的存储器访问机制,该存储器访问机制允许执行阵列414从存储器读取图形和媒体数据。在一些实施例中,采样引擎430包括用于为媒体执行专业图像采样操作的逻辑。
在一些实施例中,采样引擎430中的专业媒体采样逻辑包括去噪/去隔行模块432、运动估计模块434以及图像缩放和过滤模块436。在一些实施例中,去噪/去隔行模块432包括用于对经解码的视频数据执行去噪或去隔行中的一者或多者的逻辑。去隔行逻辑将隔行的(interlaced)视频内容的交替场组合为单个视频帧。去噪逻辑降低或去除来自视频和图像数据的数据噪声。在一些实施例中,去噪逻辑和去隔行逻辑是运动自适应的,并且基于在视频数据中检测到的运动量来使用空间或时间上的过滤。在一些实施例中,去噪/去隔行模块432包括专用运动检测逻辑(例如,在运动估计引擎434内)。
在一些实施例中,运动估计引擎434通过对视频数据执行视频加速功能(诸如,运动向量估计和预测)来提供对视频操作的硬件加速。运动估计引擎确定运动向量,该运动向量描述图像数据在相继的视频帧之间的变换。在一些实施例中,图形处理器媒体编解码器使用视频运动估计引擎434以在宏块层级上执行对视频的操作,该在宏块层级上对视频的操作原本可能是计算密集型的以使用通用处理器来执行。在一些实施例中,运动估计引擎434一般可用于图形处理器组件以辅助视频解码和处理功能,该视频解码和处理功能对视频数据内的运动的方向和幅度是敏感的或自适应于视频数据内的运动的方向或幅度。
在一些实施例中,图像缩放和过滤模块436执行图像处理操作以增强所生成的图像和视频的视觉质量。在一些实施例中,缩放和过滤模块436在将数据提供至执行单元阵列414之前的采样操作期间处理图像和视频数据。
在一些实施例中,GPE 410包括数据端口444,该数据端口444为图形子系统提供访问存储器的附加机制。在一些实施例中,数据端口444促进用于操作的存储器访问,该操作包括渲染目标写入、恒定缓冲器读取、抓取存储器空间读取/写入以及媒体表面访问。在一些实施例中,数据端口444包括用于对存储器的访问进行高速缓存的高速缓存存储器空间。高速缓存存储器可以是单个数据高速缓存,或者可分离为用于经由数据端口来访问存储器的多个子系统的多个高速缓存(例如,渲染缓冲器高速缓存、恒定缓冲器高速缓存,等等)。在一些实施例中,在执行单元阵列414中的执行单元上执行的线程通过经由数据分配互连交换消息来与数据端口通信,该数据分配互连耦合GPE 410的子系统中的每一个。
图5图示出与执行单元有关的图形处理器的另一实施例的框图500。应指出,图5的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
在一些实施例中,图形处理器包括环形互连502、流水线前端504、媒体引擎537和图形核580A-N。在一些实施例中,环形互连502将图形处理器耦合至其他处理单元(包括其他图形处理器或一个或多个通用处理器核)。在一些实施例中,图形处理器是集成在多核处理系统内的许多处理器中的一个。
在一些实施例中,图形处理器经由环形互连502接收批量命令。传入的命令由流水线前端504中的命令流送器503解释。图形处理器包括用于经由(多个)图形核580A-N来执行3D几何处理和媒体处理的可缩放执行逻辑。对于3D几何处理命令,命令流送器503将命令供应至几何流水线536。对于至少一些媒体处理命令,命令流送器503将命令供应至视频前端534,该视频前端534与媒体引擎537耦合。在一些实施例中,媒体引擎537包括用于视频和图像后处理的视频质量引擎(VQE)530以及用于提供硬件加速的媒体数据编码和解码的多格式编码/解码(MFX)533引擎。在一些实施例中,几何流水线536和媒体引擎537各自都生成用于由至少一个图形核580A提供的线程执行资源的执行线程。
图形处理器包括可缩放线程执行资源,该可缩放线程执行单元特征为模块化核580A-N(有时称为核片(core slice)),每一个模块化核都具有多个子核550A-N、560A-N(有时称为核子片(core sub-slice))。图形处理器可具有任何数量的图形核580A至580N。在一些实施例中,图形处理器包括图形核580A,该图形核580A至少具有第一子核550A和第二核子核560A。在另一实施例中,图形处理器是具有单个子核(例如,550A)的低功率处理器。在一些实施例中,图形处理器包括多个图形核580A-N,每一个图形核都包括第一子核的集合550A-N以及第二子核的集合560A-N。第一子核的集合550A-N中的每一个子核都至少包括执行单元552A-N和媒体/纹理采样器554A-N的第一集合。第二子核的集合560A-N中的每一个子核都至少包括执行单元562A-N和采样器564A-N的第二集合。在一些实施例中,每一个子核550A-N、560A-N都共享一组共享资源570A-N。在一些实施例中,共享资源包括共享高速缓存存储器和像素操作逻辑。其他共享资源也可包括在图形处理器的各种实施例中。
图6示出线程执行逻辑600,该线程执行逻辑600包括在图形处理引擎的一个实施例中采用的处理元件的阵列。应指出,图6的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
在一些实施例中,线程执行逻辑600包括像素着色器602、线程分派器604、指令高速缓存606、包括多个执行单元608A-N的可缩放执行单元阵列、采样器610、数据高速缓存612和数据端口614。在一些实施例中,所包括的组件经由互连结构被互连,该互连结构链接至组件中的每一个组件。在一些实施例中,线程执行逻辑600包括通过指令高速缓存606、数据端口614、采样器610和执行单元阵列608A-N中的一者或多者而至存储器(诸如,系统存储器或高速缓存存储器)的一个或多个连接。在一些实施例中,每一个执行单元(例如,608A)是能够为每一个线程并行地执行多个同时的线程并处理多个数据元素的单独的向量处理器。在一些实施例中,执行单元阵列608A-N包括任何数量的单独执行单元。
在一些实施例中,执行单元阵列608A-N主要用于执行“着色器”程序。在一些实施例中,阵列608A-N中的执行单元执行包括对许多标准的3D图形着色器指令的原生支持的指令集,使得以最少的转换来执行来自图形库(例如,Direct 3D和OpenGL)的着色器程序。执行单元支持顶点和几何处理(例如,顶点程序、几何程序、顶点着色器)、像素处理(例如,像素着色器、碎片着色器)和通用处理(例如,计算和媒体着色器)。
执行单元阵列608A-N中的每一个执行单元对数据元素的数组进行操作。数据元素的数量是“执行尺寸”或用于指令的通道数量。执行通道是用于数据元素访问、掩码和指令内的流控制的执行的逻辑单元。通道的数量可独立于用于特定的图形处理器的物理算术逻辑单元(ALU)或浮点单元(FPU)的数量。在一些实施例中,执行单元608A-N支持整数和浮点数据类型。
执行单元指令集包括单指令多数据(SIMD)指令。各种数据元素可作为紧缩数据类型被存储在寄存器中,并且执行单元将基于元素的数据尺寸来处理各种元素。例如,当对256位宽的向量操作时,向量的256个位被存储在寄存器中,并且执行单元将此向量操作为四个单独的64位紧缩数据元素(四字(QW)尺寸的数据元素)、八个单独的32位紧缩数据元素(双字(DW)尺寸的数据元素)、十六个单独的16位紧缩数据元素(字(W)尺寸的数据元素)、或三十二个单独的8位数据元素(字节(B)尺寸的数据元素)。然而,不同的向量宽度和寄存器尺寸是可能的。
一个或多个内部指令高速缓存(例如,606)被包括在线程执行逻辑600中以对用于执行单元的线程指令进行高速缓存。在一些实施例中,一个或多个数据高速缓存(例如,612)被包括以对线程执行期间的线程数据进行高速缓存。在一些实施例中,采样器610被包括在内,以便为3D操作提供纹理采样,并为媒体操作提供媒体采样。在一个实施例中,采样器610包括专用纹理或媒体采样功能,用于在将所采样的数据提供至执行单元之前的采样过程期间处理纹理或媒体数据。
在执行期间,图形和媒体流水线经由线程繁衍和分派逻辑而将线程发起请求发送至线程执行逻辑600。在一些实施例中,线程执行逻辑600包括本地线程分派器604,该本地线程分派器604仲裁来自图形和媒体流水线的线程发起请求,并且在一个或多个执行单元608A-N上实例化所请求的线程。例如,几何流水线(例如,图5的536)将顶点处理、曲面细分(tessellation)或集合处理线程分派至线程执行逻辑600。返回参考图6,在一些实施例中,线程分派器604也可处理来自执行着色器程序的运行时线程繁衍请求。
一旦一组几何对象已被处理并光栅化为像素数据,就调用像素着色器602,以便进一步计算输出信息并使结果被写入输出表面(例如,颜色缓冲器、深度缓冲器、模板缓冲器等)。在一些实施例中,像素着色器602计算将跨光栅化的对象而被插值的各种顶点属性的值。在一些实施例中,像素着色器602随后执行API供应的像素着色器程序。为了执行像素着色器程序,像素着色器602经由线程分派器604而将线程分派至执行单元(例如,608A)。在一些实施例中,像素着色器602使用采样器610中的纹理采样逻辑来访问存储在存储器中的纹理映射中的纹理数据。对纹理数据和输入几何数据的算术操作计算用于每一个几何碎片的像素颜色数据,或丢弃一个或多个像素而不进行进一步处理。
在一些实施例中,数据端口614提供存储器访问机制,以供线程执行逻辑600将经处理的数据输出到存储器,从而在图形处理器输出流水线上进行处理。在一些实施例中,数据端口614包括或耦合至一个或多个高速缓存存储器(例如,数据高速缓存612),该高速缓存存储器用于对用于经由数据端口进行的存储器访问的数据进行高速缓存。
图7图示出图示根据本公开的一些实施例的图形处理器执行单元指令格式700的框图。在一些实施例中,图形处理器执行单元支持具有按照多种格式的指令的指令集。实线框示出一般被包括在执行单元指令中的组件,而虚线框包括任选的且仅被包括在指令的子集中的组件。如所图示描述的指令格式700是宏指令,体现在它们是供应至执行单元的指令,这与一旦指令经处理就由指令解码而得到的微操作相对照。
在一些实施例中,图形处理器执行单元原生地支持按照128位格式710的指令。基于所选择的指令、指令选项或操作数的数量,64位压缩的指令格式730可用于一些指令。原生的128位格式710提供对所有指令选项的访问,而在64位格式730中,一些选项和操作是受限的。在64位格式730中可用的原生指令随实施例不同而变化。在一些实施例中,使用索引字段713中的索引值集合来部分地压缩指令。执行单元硬件基于索引值来引用压缩表的集合,并且使用压缩表输出来重构按照128位格式710的原生指令。
对于每一种格式,指令操作码712定义执行单元将执行的操作。执行单元遍及(across)每一个操作数的多个数据元素地并行执行每一个指令。例如,响应于加法指令,执行单元遍及(across)表示纹理元素或图片元素的每一个颜色通道地执行同时的加法操作。默认地,执行单元跨操作数的所有数据通道执行每一条指令。在一些实施例中,指令控制字段714实现对某些执行选项(诸如,通道选择(例如,预测)和数据通道顺序(例如,拌和(swizzle)))的控制。对于128位指令710,执行尺寸(exec-size)字段716限制将被并行地执行的数据通道的数量。在一些实施例中,执行尺寸字段716不可用于64位紧凑的指令格式730。此处,访问或地址模式以字段726表达。
一些执行单元指令具有多达三个操作数,这三个操作数包括两个源(src)操作数scr0 720、scr1 722以及一个目的地718。在一些实施例中,执行单元支持双目的地指令,其中目的地中的一个是隐含的。数据操纵指令可具有第三源操作数(例如,SRC2 724),其中,指令操作码712确定源操作数的数量。指令的最后一个源操作数可以是利用指令传递的立即数(例如,硬编码的)值。
在一些实施例中,基于操作码位字段对指令分组以简化操作码解码740。对于8位操作码,位4、5和6允许执行单元确定操作码的类型。示出的精确的操作码分组仅为示例。在一些实施例中,移动和逻辑操作码组742包括数据移动和逻辑指令(例如,移动(mov),比较(cmp))。在一些实施例中,移动和逻辑组742共享五个最高有效位(MSB),其中,移动(mov)指令是0000xxxxb(例如,0x0x)形式的,并且逻辑指令是0001xxxxb(例如,0x01)形式的。流控制指令组744(例如,调用(call),跳转(jmp)等)包括0010xxxxb(例如,0x20)形式的指令。混杂的指令组746包括指令的拌和,包括0011xxxxb(例如,0x30)形式的同步指令(例如,等待(wait),发送(send))。并行的数学指令组748包括0100xxxxb(例如,0x40)形式的逐成分的算术指令(例如,加(add),乘(mul))。并行的数学组748跨数据通道并行地执行算术操作。向量数学组750包括0101xxxxb(例如,0x50)形式的算术指令(例如,dp4)。向量数学组对向量操作数执行算术(诸如,点积计算)。
图8是图形处理器的另一实施例的框图800,该图形处理器包括图形流水线820、媒体流水线830、显示引擎840、线程执行逻辑850以及渲染输出流水线870。应指出,图8的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
在一些实施例中,图形处理器是包括一个或多个通用处理核的多核处理系统内的图形处理器。图形处理器通过对一个或多个控制寄存器(未示出)的寄存器写入或经由通过环形互连802而发布至图形处理器的命令而受控。在一些实施例中,环形互连802将图形处理器耦合至其他处理组件(诸如,其他图形处理器或通用处理器)。由命令流送器803解释来自环形互连802的命令,该命令流送器803将指令供应至图形流水线820或媒体流水线830的各个组件。
在一些实施例中,命令流送器803指导顶点取出器805组件的操作,该顶点取出器805从存储器读取顶点数据,并且执行由命令流送器803提供的顶点处理命令。在一些实施例中,顶点取出器805将顶点数据提供给顶点着色器807,该顶点着色器807对每一个顶点执行坐标空间变换和照明操作。在一些实施例中,顶点取出器805和顶点着色器807通过经由线程分派器831将执行线程分派至执行单元852A、852B来执行顶点处理指令。
在一些实施例中,执行单元852A、852B是具有用于执行图形和媒体操作的指令集的向量处理器的阵列。在一些实施例中,执行单元852A、852B具有附连的L1高速缓存851,该附连的L1高速缓存专用于每一个阵列或在多个阵列之间被共享。高速缓存可配置为数据高速缓存、指令高速缓存、或经分区以在不同的分区中包含数据和指令的单个高速缓存。
在一些实施例中,图形流水线820包括曲面细分组件,用于执行对3D对象的硬件加速的曲面细分。可编程壳体(hull)着色器811配置曲面细分操作。可编程域着色器817提供对曲面细分输出的后端评估。曲面细分器813在壳体着色器811的指示下操作,并且包含专用逻辑,该专用逻辑用于基于作为输入而被提供至图形流水线820的粗糙的几何模型来生成精细的几何对象的集合。在一些实施例中,如果不使用曲面细分,则可绕过曲面细分组件811、813和817。
在一些实施例中,可由几何着色器819经由分派至执行单元852A、852B的一个或多个线程来处理完整的几何对象,或完整的几何对象可直接继续到裁剪器829(例如,通过流出框823)。在一些实施例中,几何着色器819对整个几何对象操作,而不是像在图形流水线的先前的级中那样对顶点或顶点微片处理。如果禁用曲面细分,则几何着色器819从顶点着色器807接收输入。在一些实施例中,几何着色器819是可由几何着色器程序编程的,以便在禁用曲面细分单元时执行几何曲面细分。
在光栅化之前,由裁剪器829处理顶点数据,该裁剪器829是固定功能裁剪器或具有裁剪和几何着色器功能的可编程裁剪器。在一些实施例中,渲染输出流水线870中的光栅化器873分派像素着色器以将几何对象转换为它们各自的像素表示。在一些实施例中,像素着色器逻辑被包括在线程执行逻辑850中。
图形引擎具有允许数据和消息在图形引擎的主要组件之间传送的互连总线、互连结构或某个其他互连机制。在一些实施例中,执行单元852A、852B和相关联的(多个)高速缓存851、纹理和媒体采样器854、以及纹理/采样器高速缓存858经由数据端口856互连,以执行与图形引擎的渲染输出流水线组件的存储器访问和通信。在一些实施例中,采样器854、高速缓存851、858和执行单元852A、852B各自都具有分开的存储器访问路径。
在一些实施例中,渲染输出流水线870包含将基于顶点的对象转换为它们相关联的基于像素的表示的光栅化器和深度测试组件873。在一些实施例中,光栅化逻辑包括用于执行固定功能三角和直线光栅化的窗口器/掩码器单元。在一个实施例中,相关联的渲染和深度缓冲器高速缓存878、879也是可用的。在一些实施例中,像素操作组件877对数据执行基于像素的操作,但是在一些实例中,与2D操作相关联的像素操作(例如,利用混合(blend)进行的位块图像转移)由2D引擎841执行,或在显示时由显示控制器843使用上层的显示平面来替代。在一些实施例中,共享的L3高速缓存875可用于所有的图形组件,从而允许在不使用主系统存储器的情况下共享数据。
在一些实施例中,图形处理器媒体流水线830包括媒体引擎337和视频前端834。在一些实施例中,视频前端834从命令流送器803接收流水线命令。在一些实施例中,媒体流水线830包括分开的命令流送器。视频前端834在将命令发送至媒体引擎837之前处理媒体命令。在一些实施例中,媒体引擎包括线程繁衍功能,以便繁衍用于经由线程分派器831而分派至线程执行逻辑850的线程。
在一些实施例中,图形引擎包括显示引擎840。在一些实施例中,显示引擎840在图形处理器外部,并且经由环形互连802或某个其他互连总线或结构而与图形处理器耦合。在一些实施例中,显示引擎840包括2D引擎841和显示控制器843。在一些实施例中,显示引擎840包含能够独立于3D流水线操作的专用逻辑。在一些实施例中,显示控制器843与显示设备(未示出)耦合,该显示设备可以是如在膝上型计算机中的系统集成的显示设备或经由显示设备连接器而附连的外部显示设备。
在一些实施例中,图形流水线820和媒体流水线830可配置以基于多个图形和媒体编程接口来执行操作,并且不专用于任何一个应用编程接口(API)。在一些实施例中,用于图形处理器的驱动器软件将专用于特定图形或媒体库的API调用转化为可由图形处理器处理的命令。在各种实施例中,为Khronos Group所支持的开放图形库(OpenGL)和开放计算语言(OpenCLTM)、来自微软公司的Direct3D库提供支持,或者在一个实施例中,为OpenGL和D3D两者提供支持。也可为开放源计算机视觉库(OpenCV)提供支持。如果可完成从未来API的流水线至图形处理器的流水线的映射,则也将支持兼容3D流水线的未来API。
图9A图示出图示根据一些实施例的图形处理器命令格式900的框图,并且图9B图示出根据本公开的一些实施例的图形处理器命令序列910的框图。应指出,图9A-图9B的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
图9A中的实线框示出一般被包括在图形命令中的组件,而虚线包括任选的且仅被包括在图形命令的子集中的组件。图9A的示例图形处理器命令格式900包括用于标识该命令的目标客户机的数据字段902、命令操作码(操作码)904以及用于命令的相关数据906。在一些实施例中,子操作码905和命令尺寸908也包括在一些命令中。
在一些实施例中,客户机902指定图形设备的处理命令数据的客户机单元。在一些实施例中,图形处理器命令解析器检查每一个命令的客户机字段以调整对命令的未来处理,并且将命令数据路由至适当的客户机单元。在一些实施例中,图形处理器客户机单元包括存储器接口单元、渲染单元、2D单元、3D单元和媒体单元。每一个客户机单元都具有处理命令的对应的处理流水线。一旦由客户机单元接收到命令,此客户机单元就读取操作码904以及子操作码905(如果存在),以便确定将执行的操作。客户机单元使用命令的数据906字段中的信息来执行命令。对于一些命令,预期有显式的命令尺寸908来指定命令的尺寸。在一些实施例中,命令解析器基于命令操作码自动地确定命令中的至少一些命令的尺寸。在一些实施例中,命令经由双字的倍数而对准。
在一些实施例中,图9B中的流程图示出采样命令序列910。虽然流程图910中的框是以特定顺序示出的,但是可以修改动作的顺序。因此,所图示出的各实施例能以不同的顺序来执行,并且一些动作/框可并行地执行。根据某些实施例,所列举的框和/或操作中的一些是任选的。所呈现的框的编号是为了清楚起见,并且不旨在规定各框必须按其发生的操作顺序。另外,来自各流程的操作能以各种组合来采用。
在一些实施例中,以图形处理器的实施例为特征的数据处理系统的软件或固件使用所示的命令序列的某个版本来建立、执行并终止图形操作的集合。出于说明性目的示出并描述采样命令序列,然而,实施例不限于这些命令,也不限于此命令序列。此外,命令能以命令序列中的批量命令被发布,使得图形处理器将以至少部分地并发的方式来处理命令序列。
在一些实施例中,采样命令序列910能以流水线转储清除(flush)命令912开始,以使任何活动的流水线完成用于流水线的当前待定的命令。在一些实施例中,3D流水线922和媒体流水线924不并发地操作。执行流水线转储清除以使活动的图形流水线完成任何待定的命令。在一些实施例中,响应于流水线转储清除,用于图形处理器的命令解析器将暂停命令处理,直到活动的绘制引擎完成待定的操作且相关读取高速缓存被无效为止。任选地,渲染高速缓存中被标记为“脏”(dirty)的任何数据可转储清除至存储器。在一些实施例中,流水线转储清除命令912可用于流水线同步,或可在将图形处理器置于低功率状态之前使用。
在一些实施例中,当命令序列要求图形处理器在多个流水线之间显式地切换时,使用流水线选择命令913。在一些实施例中,除非上下文将为两个流水线发布命令,否则在发布流水线命令之前,在执行上下文内,流水线选择命令913仅需要一次。在一些实施例中,紧接着经由流水线选择命令913进行的流水线切换之前,需要流水线转储清除命令912。
在一些实施例中,流水线控制命令914配置用于操作的图形流水线,并且用于对3D流水线922和媒体流水线924编程。在一些实施例中,流水线控制命令914为活动的流水线配置流水线状态。在一些实施例中,流水线控制命令914用于流水线同步,并且用于在处理批量命令之前,清除来自活动的流水线内的一个或多个高速缓存存储器的数据。
返回缓冲器状态命令916用于配置供相应的流水线用于写入数据的返回缓冲器的集合。一些流水线操作需要对一个或多个返回缓冲器的分配、选择或配置,在处理期间,操作将中间数据写入到该一个或多个返回缓冲器中。图形处理器也使用一个或多个返回缓冲器以存储输出数据并执行跨线程通信。在一些实施例中,返回缓冲器状态916包括选择用于流水线操作集合的返回缓冲器的尺寸和数量。
命令序列中的其余命令基于用于操作的活动的流水线而有所不同。基于流水线确定920,命令序列被定制至以3D流水线状态930开始的3D流水线922或以媒体流水线状态940开始的媒体流水线924。
用于3D流水线状态930的命令包括用于以下状态的3D状态设置命令:顶点缓冲器状态、顶点元素状态、恒定颜色状态、深度缓冲器状态以及在处理3D基元命令之前将配置的其他状态变量。至少部分地基于使用中的特定的3DAPI来确定这些命令的值。在一些实施例中,3D流水线状态930命令也能够在如果不使用某些流水线元件时选择性地禁用或绕过那些元件。
在一些实施例中,3D基元932命令用于提交将由3D流水线处理的3D基元。经由3D基元932命令而被传递至图形处理器的命令和相关联的参数被转发至图形流水线中的顶点取出函数。顶点取出函数使用3D基元932命令数据来生成顶点数据结构。顶点数据结构被存储在一个或多个返回缓冲器中。在一些实施例中,3D基元932命令用于经由顶点着色器对3D基元执行顶点操作。为了处理顶点着色器,3D流水线922将着色器执行线程分派至图形处理器执行单元。
在一些实施例中,3D流水线922经由执行934命令或事件来触发。在一个实施例中,寄存器写入触发命令执行。在一些实施例中,经由命令序列中的“go”(“走”)或“kick”(“踢除”)命令来触发执行。在一些实施例中,使用流水线同步命令以通过图形流水线来转储清除命令序列来触发命令执行。3D流水线将为3D基元执行几何处理。一旦操作完成,得到的几何对象被光栅化,并且像素引擎对得到的像素上色。用于控制像素着色和像素后端操作的附加命令也可被包括以用于那些操作。
在一些实施例中,当执行媒体操作时,采样命令序列910跟随媒体流水线924路径。一般而言,用于媒体流水线924的编程的特定使用和方式取决于将执行的媒体或计算操作。在媒体解码期间,特定的媒体解码操作可卸载至媒体流水线。也可绕过媒体流水线,并且可使用由一个或多个通用处理核提供的资源完全地或部分地执行媒体解码。在一些实施例中,媒体流水线也包括用于通用图形处理器单元(GPGPU)操作的元件,其中,图形处理器用于使用与图形基元的渲染不是显式相关的计算着色器程序来执行SIMD向量操作。
在一些实施例中,以与3D流水线922类似的方式来配置媒体流水线924。媒体流水线状态命令940的集合被分派或置入到命令序列中并在媒体对象命令942之前。在一些实施例中,媒体流水线状态命令940包括用于配置将用于处理媒体对象的媒体流水线元件的数据。这包括用于配置媒体流水线内的视频解码和视频编码逻辑的数据,诸如,编码或解码格式。在一些实施例中,媒体流水线状态命令940也支持使用指向包含批量状态设置的“间接”状态元素的一个或多个指针。
在一些实施例中,媒体对象命令942提供指向用于由媒体流水线处理的媒体对象的指针。媒体对象包括包含待处理的视频数据的存储器缓冲器。在一些实施例中,在发布媒体对象命令942之前,所有媒体流水线状态都必须是有效的。一旦流水线状态经配置,并且媒体对象命令942经排队列,媒体流水线924就经由执行944命令或等效的执行事件(例如,寄存器写入)来触发。随后,可通过由3D流水线922或媒体流水线924提供的操作对来自媒体流水线924的输出进行后处理。在一些实施例中,以与媒体操作类似的方式来配置和执行GPGPU操作。
图10图示出根据本公开的一些实施例的用于数据处理系统的图形软件架构1000。应指出,图10的具有与任何其他附图相同的附图标记(或名称)的那些元件能以所描述的方式类似的任何方式操作或起作用,但不限于此。
在一些实施例中,软件架构包括3D图形应用1010、操作系统1020以及至少一个处理器1030。在一些实施例中,处理器1030包括图形处理器1032以及一个或多个通用处理器核1034。在一些实施例中,图形应用1010和操作系统1020各自都在数据处理系统的系统存储器1050中执行。
在一些实施例中,3D图形应用1010包含一个或多个着色器程序,该着色器程序包括着色器指令1012。着色器语言指令可以是高级着色器语言(诸如,高级着色器语言(HLSL)或OpenGL着色器语言(GLSL))中的。应用也包括适用于由通用处理器核1034执行的机器语言中的可执行指令1014。应用也包括由顶点数据定义的图形对象1016。
在一些实施例中,操作系统1020可以是来自微软公司的操作系统、专属的类UNIX操作系统、或使用Linux内核的变体的开放源类UNIX操作系统。当Direct3D API在使用中时,操作系统1020使用前端着色器编译器1024以将HLSL中的任何着色器指令1012编译为低级着色器语言。编译可以是即时(just-in-time)编译,或应用可执行共享预编译。在一个实施例中,在3D图形应用1010的编译期间,高级着色器被编译为低级着色器。
在一些实施例中,用户模式图形驱动器1026可包含后端着色器编译器1027以将着色器指令1012编译为硬件专用表示。当OpenGL API在使用中时,GLSL高级语言中的着色器指令1012被传递至用户模式图形驱动器1026以进行编译。在一些实施例中,用户模式图形驱动器1026使用操作系统内核模式函数1028来与内核模式图形驱动器1029通信。在一些实施例中,内核模式图形驱动器1029与图形处理器1032通信以分派命令和指令。在一些实施例中,操作系统内核模式函数1028用于与图形API(例如,Directs D/OpenGL)1022进行通信。
就本文中所描述的各种操作和功能的程度而言,它们可被描述或定义为硬件电路、软件代码、指令、配置和/或数据。内容可具体化在硬件逻辑中,或可具体化为直接可执行的软件(“目标”或“可执行”形式)、源代码、设计成用于在图形引擎上执行的高级着色器代码或用于特定处理器或图形核的指令集中的低级汇编语言代码。本文中所述的实施例的软件内容可经由具有存储于其上的内容的制品来提供,或者可经由操作通信接口以便经由此通信接口来发送数据的方法来提供。
非暂态机器可读存储介质可使机器执行所描述的功能或操作,并且包括以可由机器(例如,计算设备、电子系统等)访问形式存储信息的任何机制,诸如,可记录/非可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备等)。通信接口包括对接至硬连线的、无线的、光学介质等中的任一者以向另一设备通信的任何机制,诸如,存储器总线接口、处理器总线接口、网际连接、盘控制器等。通信接口通过以下方式来配置,提供配置参数或发送信号以使通信接口准备好提供描述软件内容的数据信号。可经由发送至该通信接口的一个或多个命令或信号来访问此通信接口。
所描述的各种组件可以是用于执行所描述的操作或功能的装置。本文所述的每个组件包括软件、硬件、或者软件和硬件的组合。组件可实现为软件模块、硬件模块、专用硬件(例如,专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。除了本文中所述的内容之外,还可对本发明的所公开的实施例和实现方式进行各种修改而不背离它们的范围。因此,本文中的示例和范例应当被解释成解说性的,而非限制性的。本公开的范围应当仅通过参照所附权利要求书来界定。
图11A图示出根据本公开的一些实施例的具有用于数据保留和供给噪声缓解的集中式装置的嵌入式构建块(EBB)1100。应指出,图11A的具有与任何其他附图的元件相同的附图标记(或名称)的那些元件能以与被描述的方式类似的任何方式操作或起作用,但不被限制于此。
在一些实施例中,EBB 1100(例如,执行单元552A或参考图1-图10所描述的任何逻辑块)包括第一逻辑1101、第一功率栅(PG1)1102、第二逻辑1103、第二功率栅(PG2)1104、非栅控供给节点、栅控供给节点以及逻辑/电路1105。在一些实施例中,PG1(也称为第一功率栅晶体管)耦合至非栅控功率供给节点和栅控功率供给节点。此处,术语非栅控供给节点一般是指经由源(例如,电压调节器、低压降调节器等)直接被提供功率供给的功率供给节点。术语栅控功率供给节点一般是指经由功率栅间接地被提供功率供给的功率供给节点。功率栅可以将栅控功率供给节点从非栅控功率供给节点电断开。(多个)功率栅还可以相较于非栅控功率供给节点上的功率供给水平来改变栅控功率供给节点的功率供给水平。
在一些实施例中,PG1 1102具有可由第一逻辑1101控制的栅极端子。第一逻辑1101接收控制信号(例如,睡眠模式、旁路模式、1-Vt箝位模式、2-Vt箝位模式、n-Vt箝位模式,其中,'n'是大于2的整数,等等)。在一些实施例中,第一逻辑1101接收睡眠和旁路信号(其为控制信号的部分)。在一些实施例中,当PG2处于1Vt、2Vt或nVt箝位模式时,PG1 1102将保持断开。例如,第一逻辑1101将知晓PG2 1104处于1Vt、2Vt或nVt箝位模式。
此处,PG1 1102是主要功率栅(或主功率栅)。在一些实施例中,PG2 1104耦合至非栅控功率供给节点和栅控功率供给节点。在一些实施例中,PG2 1104具有可由第二逻辑1103控制的栅极端子。根据一些实施例,PG2 1104是次功率栅,并且PG1 1102的尺寸(例如,面积)显著地大于PG2 1104(例如,第一功率栅晶体管比第二功率栅大10倍)。在一些实施例中,第二逻辑1103可操作以:弱导通PG2 1104,完全导通PG2 1104,断开PG2 1104,在栅控功率供给节点上启用1-Vt箝位,在栅控功率供给节点上启用2-Vt箝位,以及在栅控功率供给节点上启用n-Vt箝位。
在一些实施例中,可以将1-Vt和2-Vt箝位实现为分布式或集中式电路。对于集中式实现方式,如参考图11A所图示,PG2 1104及其驱动器电路(例如,第二逻辑1103)被包含在单个EBB中。
图11B图示出根据本公开的一些实施例的具有用于数据保留和供给噪声缓解的分布式装置的EBB 1120(例如,执行单元552A或参考图1-图10描述的任何逻辑块)。应指出,图11B的具有与任何其他附图的元件相同的附图标记(或名称)的那些元件能以与被描述的方式类似的任何方式操作或起作用,但不被限制于此。与图11A相比,此处的'N'个PG2跨EBB1120的平面布置(floorplan)分布,其中,'N'是大于一的整数。由此,在一些实施例中,存在'N'个PG2(例如,PG2 1104-1至PG2 1104-N)以及相关联的'N'个第二逻辑(例如,1103-1至1103-N)。在一些实施例中,每一行分布式PG2元件共享驱动器电路,以实现最小的面积开销。
图12图示出具有独立的1-Vt和2-Vt箝位的用于数据保留的装置1200。应指出,图12中的具有与任何其他附图中的元件相同的附图标记(或名称)的那些元件能以与所描述的方式类似的任何方式操作或起作用,但不被限制于此。
在一些实施例中,第一逻辑1101(或第一驱动器)包括p型晶体管MP1,该p型晶体管与n型晶体管MN1串联地耦合,使得晶体管MP1的源极端子耦合至非栅控或共享功率供给(vccgt)节点,晶体管MP1的漏极端子耦合至晶体管MN1的漏极端子。在一些实施例中,晶体管MP1由第一睡眠信号"slpb"控制,而晶体管MN1由旁路信号"bps"控制。在一些实施例中,PG1 1102包括p型晶体管MPG(例如,主要功率栅),该p型晶体管MPG具有耦合至晶体管MP1和MN1的漏极端子的栅极端子、耦合至非栅控功率供给节点的源极端子、以及耦合至栅控功率供给节点的漏极端子。在一些实施例中,当"slpb"为低并且"bps"为低时,逻辑或EBB处于睡眠模式,并且导通晶体管MP1,其进而断开功率栅MPG。在一些实施例中,当睡眠逻辑要被旁路时,使"bps"为高(同时使"slpb"为高),这使得晶体管MN1将被导通,其进而导通功率栅MPG,该功率栅MPG也被称为MPG 1102。
在一些实施例中,装置1200包括用于提供1-Vt箝位和2-Vt箝位功能的分开的次功率栅,使得每一个功率栅具有相关联的控制逻辑。在该示例中,p型晶体管MPC-1 1104-1是可由逻辑1103-1控制的次功率栅。逻辑1103-1可包括耦合在非栅控供给节点与栅控供给节点之间的p型晶体管MP2-1和MP3-1的堆叠,使得晶体管MP2-1和MP3-1的公共节点耦合至功率栅MPC-1 1104-1的栅极端子。此处,晶体管MP2-1可由第二睡眠信号"slpb'"控制,而晶体管MP3-1可由低态有效(active-low)的1-Vt使能信号(en_1vt_b)控制。为了将功率栅MPC-11104-1配置为1-Vt箝位,断开晶体管MP2-1并导通晶体管MP3-1。由此,功率栅变为二极管连接的,并且将栅控供给节点上的电压水平降低大约晶体管MPC-1的一个阈值电压。对于完全破坏性的睡眠,slpb=slpb'=slpb"=0。对于1Vt箝位模式,slpb=slpb"=0,但是slpb'=l。对于2Vt箝位模式,slpb=slpb'=0,但是slpb"=l。
继续装置1200的示例,为了提供用于通过2-Vt对栅控功率供给节点上的电压箝位能力,提供了分开的功率栅和相关联的逻辑。此处,功率栅1104-21可操作以提供2-Vt箝位,并且耦合至其相关联的驱动逻辑1103-21。逻辑1103-21包括在非栅控供给节点与栅控供给节点之间耦合的p型晶体管MP2-21和MP3-21的堆叠。MP2-21的栅极端子由第三睡眠信号"slpb""控制,而晶体管MP3-21的栅极端子可由低态有效2-Vt使能信号"en_2vt_b"控制,使得晶体管MP2-21和MP3-21的公共节点耦合至功率栅MP2C-21 1104-21的栅极端子。功率栅1104-21包括p型二极管连接的晶体管MPC-21,其与次功率栅晶体管MP2C-21串联地耦合。当将要启用2-Vt箝位时,"en_2vt_b"为低,这使得晶体管MP2C-21将是与二极管连接的MPC-21串联地二极管连接的。
在该拓扑中,为了启用1-Vt箝位,需要添加设备MPC1 1104-1及其驱动器1103-1。同样,为了启用2-Vt箝位,需要插入功率栅1104-21的附加设备MPC-21和MP2C-21以及相关联的驱动器1103-21。这些1-Vt和2-Vt箝位可能需要相当大的面积开销。例如,原始MPG宽度'Z'的10%用于构建1-Vt箝位1104-1,并且原始MPC1宽度'Z'的20%用于构建2-Vt箝位1104-21。
图13图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的、并且具有破坏性睡眠、活动、旁路操作、1-Vt箝位和2-Vt箝位模式的装置1300。应指出,图13中的具有与任何其他附图中的元件相同的附图标记(或名称)的那些元件能以与所描述的方式类似的任何方式操作或起作用,但不被限制于此。此处,负载(例如,逻辑/电路1105)和解耦电容器Cdecap耦合至栅控功率供给节点。
在一些实施例中,可以通过分离功率栅的部分(例如,晶体管MPG 1102,MPC-11104-1和MP2C-21 1104-21的宽度的总和)并且重新配置该功率栅以启用一个或若干个中间睡眠/箝位模式来减小图12的总面积。例如,与图12的装置1200相比,原始MPG宽度'Z'的10%可以用于构建保留箝位,其可以通过1-Vt或2-Vt来箝位,使得第一功率栅MPG1具有Z=9个单位,并且第二功率栅MPG2具有Z=1个单位。在一些实施例中,MPG的部分被重新配置为保留箝位,并且由此避免使用和/或添加设备MPC-1、MP2C-21。
在一些实施例中,第二逻辑1303/1103包括p型晶体管MP2和MP3、旁路n型晶体管MN2、p型晶体管MP1a和MP2a以及三态缓冲器Tbuf1和Tbuf2的堆叠。在一些实施例中,晶体管MN2可由"bps'"控制。在一些实施例中,"bps"和"bps'"是相同的信号。在一些实施例中,"bps"和"bps'"是独立的旁路信号。例如,在一些实施例中,"bps"用于旁路MPG1,但"bps'"被设置成用于禁用晶体管MN2并因此不旁路第二功率栅MPG2。在一些实施例中,晶体管MP2和MP3的公共节点耦合至第二功率栅MPG2 1104的栅极端子。在一些实施例中,晶体管MN2的漏极端子耦合至第二功率栅MPG2的栅极端子。
在一些实施例中,MP2的栅极端子由Tbuf1和晶体管MP1a的输出控制。在一些实施例中,当"en_2vt_b"为逻辑高时,Tbuf1接收"slpb'"并将"slpb'"驱动至晶体管MP2的栅极。此处,"slpb'"和"slpb"可以是相同的或独立的信号。例如,在一些实施例中,"slpb"用于将第一功率栅MPG1置于睡眠模式,但"slpb'"可被设置成用于将晶体管MPG2保持在活动模式。在另一示例中,在其中将要断开MPG1(slpb=0)同时需要断开MP2(slpb'=l)的情况下,分开的slpb和slpb'信号允许启用1-Vt箝位模式。在一些实施例中,当"en_2vt_b"为逻辑低时,Tbuf1被置于高阻抗状态,并且不对晶体管MP2的栅极进行驱动。
在一些实施例中,MP3的栅极端子由Tbuf2和晶体管MP2a的输出控制。在一些实施例中,当"en_2vt_b"为逻辑高时,Tbuf2接收"en_1vt_b"并将"en_1vt_b"驱动至晶体管MP3的栅极。在一些实施例中,当"en_2vt_b"为逻辑低时,Tbuf2被置于高阻抗状态,并且不对晶体管MP3的栅极进行驱动。
本领域技术人员将会领会,功率栅的总尺寸典型地是非常大的(例如,对于一个执行单元552A,总宽度大约为11,880μm),而用于第二功率栅MPG2的第二逻辑1303/1103的驱动器是相对小的(例如,原始PG尺寸的大约1%)。由此,在一些实施例中,图12的现有功率栅MPG 1102被重复使用以便以低面积开销启用箝位模式。
例如,图12的现有p型功率栅MPG 1102的、一般用于破坏性睡眠的部分被重新配置为二极管连接的晶体管MPG2 1304/1104,以实现1-Vt压降保留箝位模式,而该功率栅的大部分保持为主功率栅。例如,代替针对图12的MPG的10个单位的'Z',此处MPGl 1302/1102具有9个单位,而MPGl 1302/1102的一个等同单位被重新配置为可由第二逻辑1303控制的次功率栅MPG21304/1104。根据一些实施例,1-Vt箝位和2-Vt箝位由与次功率栅MPG2相关联的第二逻辑1303导出。
当启用1-Vt箝位模式(例如,"en_1vt_b"=0)时,将跨负载的电压(即,栅控功率供给节点上的电压)降低到VCC-Vtp,其中,"Vtp"为第二功率栅MPG2的阈值电压,并且其中,VCC是非栅控功率供给。1-Vt压降箝位模式通过相较于待机模式(例如,时钟栅控模式,其中,触发器和其他序列化单元的时钟被栅控,而功率栅完全导通)的降低的漏电流来表征。在一些实施例中,为了提供更多的能量节省,第二逻辑1303/1103的两个堆叠的二极管连接的p设备型设备MP2和MP3启用更深的睡眠模式,该更深的睡眠模式由跨负载电路的大约VCC-2Vtp的压降表征。
在一些实施例中,为了使此2-Vt压降箝位模式的面积成本最小化,晶体管MP2和MP3被设计成用于是相比功率栅MPG2 1304/1104而言的小设备。在一些实施例中,当将栅控供给轨调节到大约VCC-2Vtp时,晶体管MP2和MP3仅贡献总负载电流的小部分。根据一些实施例,负载漏电流中的最大的部分由MPG2提供。在一些实施例中,仅MPG2被弱导通(例如,其栅极电压为VCC-Vt),并且提供负载电流中的大部分。在一些实施例中,在箝位模式期间,断开MPG1。
取决于非栅控功率供给节点上的输入供给电压VCC,箝位模式可以用于实现存储器和触发器中的数据保留。例如,对于非栅控功率供给节点上的0.75V与1.1V之间的典型的输入电压,1-Vt箝位可以确保保留,而2-Vt箝位可能需要大约1.1V的更高的输入来确保保留。根据一些实施例,对于所述有的输入电压,为了缓解唤醒期间的di/dt和VCC噪声的目的,1-Vt箝位和2-Vt箝位还可以用于中间破坏性睡眠模式。
图14A-图14D图示出装置1300的四种操作状态。这四种操作状态为:1)破坏性睡眠;2)旁路/活动;3)1-Vt箝位模式;以及4)2-Vt箝位模式。应指出,图14A-图14D中的具有与任何其他附图的元件相同附图标记(或名称)的那些元件能以与所描述的方式类似的任何方式来操作或起作用,但不限于此。
图14A图示出根据本公开的一些实施例的被配置成以破坏性睡眠进行操作的、用于数据保留和供给噪声缓解的装置1400(与1300相同)。在破坏性睡眠(DS)模式下,"slpb"和"slpb'"被设置为逻辑低'0',"bps"和"bps'"被设置为逻辑低'0',"en_2vt_b"被设置为逻辑高'1',"en_1vt_b"被设置为逻辑'1'。由此,晶体管MP1和MP2是导通的,而晶体管MN1、MN2、MP3、MP1a,MP2a、MPG1和MPG2是断开的。在破坏性睡眠模式期间,非栅控供给节点为大约VSS(接地),因为它超时放电。
图14B图示出根据本公开的一些实施例的被配置成以旁路/活动模式进行操作的、用于数据保留和供给噪声缓解的装置1420(与1300相同)。在活动和/或旁路模式下,"slpb"和"slpb'"被设置为逻辑高'1',"bps"和"bps'"被设置为逻辑高'1',"en_2vt_b"被设置为逻辑高'1',"en_1vt_b"被设置为逻辑'1'。由此,晶体管MP1和MP2是断开的,功率栅MPG1和MPG2是导通的,晶体管MN1和MN2是导通的,晶体管MP3、MP1a和MP2a是断开的。在旁路/活动模式期间,非栅控供给节点被拉高到VCC(例如,与非栅控功率供给节点上的功率供给相同的功率供给水平)。在一些实施例中,破坏性睡眠模式和活动/旁路模式保持与具有单个功率栅的基线设计等同,因为MPG1和MPG2是并联连接的,并且两者都可以利用本地缓冲器被强断开或导通。
图14C图示出根据本公开的一些实施例的被配置成以1-Vt箝位模式进行操作的、用于数据保留和供给噪声缓解的装置1430(与1300相同)。在1-Vt箝位模式下,"slpb"and"bps"被设置为逻辑低'0',"slpb'"被设置为逻辑高'1',"bps'"被设置为逻辑低'0',"en_2vt_b"被设置为逻辑高'1',并且"en_1vt_b"被设置为逻辑'0'。由此,晶体管MN1、MPG1、MP2、MP1a和MP2a是断开的,晶体管MP1和MP3是导通的,并且晶体管MPG2被导通(二极管连接的)。在该1-Vt箝位模式下,通过导通器件MP3,第二功率栅MPG2被配置为二极管连接的晶体管。在此情况下,栅控供给节点上的电压稳定在等于VCC-Vtp的电压。
图14D图示出根据本公开的一些实施例的被配置成以2-Vt箝位模式进行操作的、用于数据保留和供给噪声缓解的装置1440(与1300相同)。在2-Vt箝位模式下,"slpb"和"bps"被设置为逻辑低'0',"bps'"被设置为逻辑低'0',"slpb'"为不关心'X'(即,其可以被设置为逻辑'1'或'0'),"en_2vt_b"被设置为逻辑高'0',并且"en_1vt_b"为不关心'X'(即,其可以被设置为逻辑'1'或'0')。由此,晶体管MN1、MN2、MPG1是断开的,晶体管MP1、MP1a和MP2a是导通的,晶体管MP2和MP3是导通的(二极管连接的),并且晶体管MPG2被弱导通。
在2Vt箝位模式期间,器件MP2和MP3两者均被配置为二极管连接的晶体管,这将栅控供给节点调节为大约VCC-2Vt的电压,其中,"VCC"是非栅控节点上的电压。由于晶体管MP2和MP3是小型器件,因此它们向负载提供总负载电流中的小部分。为了实现2-Vt箝位操作,通过利用跨MP2的Vtp压降,通过将第二功率栅MPG2的栅极驱动至VCC-Vtp来弱导通第二功率栅MPG2。由此,第二功率栅MPG2将电流中的大部分供给到负载,而MP2和MP3供给负载电流中的小部分并且用于将栅控供给节点维持在恒定的电压。由于非栅控供给节点与栅控供给节点之间的被弱导通的第二功率栅MPG2,从非栅控供给节点到栅控供给节点的压降略微低于2Vtp。与将晶体管的栅极端子偏置到地(当该晶体管是p型晶体管时)或者将其栅极端子偏置到VCC(当该晶体管是n型晶体管时)不同,本公开中的术语"弱导通"一般是指通过将晶体管的栅极端子恰好偏置在大约其阈值电压处以便恰好导通该设备。
图15图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置1500,该装置1500将两层堆叠p型驱动器用于次功率栅,并且该装置1500具有破坏性睡眠、活动/旁路、1-Vt箝位和2-Vt箝位操作模式。装置1500类似于装置1300。在一些实施例中,导通/断开装置1300中的三态缓冲器所需的任何附加的使能信号在三态缓冲器内部完成。在一些实施例中,第二逻辑1503/1103中的缓冲器或驱动器Tbuf_a和Tbuf_b是三态缓冲器。例如,由"en_2vt"和"en_2vtb"(其为"en_2vt"的反转)启用或禁用Tbuf_a和Tbuf_b。此处,用于节点名称和信号名称的标记可互换地使用。例如,取决于句子的上下文,"en_2vt"可指节点"en_2vt"或信号"en_2vt"。
图16图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置1600,该装置将两层堆叠n型驱动器用于次功率栅,并且该装置1600具有破坏性睡眠、活动/旁路操作、1-Vt箝位和2-Vt箝位操作模式。装置1600可以是任何EBB(例如,执行单元552A或参考图1-图10所描述的任何逻辑块)的部分。
图13的实施例图示出用于功率供给的功率栅控架构,而图16的实施例图示出用于接地供给的接地栅控架构。在一些实施例中,第一逻辑1601(或第一驱动器)包括p型晶体管MP1,该p型晶体管MP1与n型晶体管MN1串联地耦合,使得晶体管MP1的源极端子耦合至非栅控或共享供给(vccgt),并且晶体管MP1的漏极端子耦合至晶体管MN1的漏极端子。在一些实施例中,晶体管MN1由睡眠信号"slp"控制,而晶体管MP1由旁路信号"pbsb"控制。在一些实施例中,第一接地栅包括n型晶体管MNG1 1602(例如,主要接地栅极),该n型晶体管MNG11602具有耦合至晶体管MP1和MN1的漏极端子的栅极端子、耦合至非栅控接地供给节点的源极端子以及耦合至栅控接地供给节点(例如,虚拟VSS)的漏极端子。
在一些实施例中,第二逻辑1603包括n型晶体管MN2和MN3、旁路p型晶体管MP2、n型晶体管MN1a和MN2a、以及三态缓冲器Tbuf_a和Tbuf_b的堆叠。在一些实施例中,晶体管MP2可由"pbsb'"控制。在一些实施例中,"pbsb"和"pbsb'"是相同的信号。在一些实施例中,"pbsb"和"pbsb'"是独立的旁路信号。例如,在一些实施例中,"pbsb"用于旁路第一接地栅MNG1,而"pbsb'"被设置成用于禁用晶体管MP2并因此不旁路第二接地栅MNG2。在一些实施例中,晶体管MN2和MN3的公共节点耦合至第二接地栅MNG2 1604的栅极端子。在一些实施例中,晶体管MP2的漏极端子耦合至接地栅MNG2的栅极端子。
在一些实施例中,MN2的栅极端子由Tbuf_a和晶体管MN1a的输出控制。在一些实施例中,当"en_2vt"为逻辑低并且"en_2vtb"为逻辑高时(其中,"en_2vtb"是"en_2vt"的反转),Tbuf_a接收"en_1vt"(启用1-Vt模式)信号,并且将该"en_1vt"信号驱动至晶体管MN2的栅极。在一些实施例中,"en_2vt"还控制晶体管MN1a的栅极端子。
在一些实施例中,当"en_2vtb"为逻辑高并且"en_2vt"为逻辑低时,Tbuf_b接收睡眠信号"slp'",并将"slp'"驱动至晶体管MN3的栅极。此处,"slp'"和"slp"可以是相同的或独立的信号。例如,在一些实施例中,不同的"slp"和"slp'"信号用于在将MNG2用于箝位模式的同时能够断开MNG1。在一些实施例中,当"en_2vtb"为逻辑低并且"en_2vt"为逻辑高时,Tbuf_b被置于高阻抗状态,并且不对晶体管MN3的栅极进行驱动。然而,"en_2vt"对MN2a进行驱动,MN2a被导通以将MN3的栅极耦合至MN3的漏极端子并且耦合至第二接地栅MNG2的栅极端子。
在一些实施例中,为了启用破坏性睡眠模式,"slp"和"slp'"被设置为逻辑高,"pbsb"和"pbsb'"被设置为逻辑高,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑低。在一些实施例中,为了启用旁路/活动模式,"pbsb"和"pbsb'"被设置为逻辑低,"slp"和"slp'"被设置为逻辑低,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑低。
在一些实施例中,为了启用1-Vt模式,"pbsb"和"pbsb'"被设置为逻辑高,"slp"被设置为逻辑高,"slp'"被设置为逻辑低,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑高。在一些实施例中,为了启用2-Vt模式,"pbsb"和"pbsb'"被设置为逻辑高,"slp"被设置为逻辑高,"slp"'为不关心(例如,可以被设置为逻辑低或逻辑高),"en_1vt"为不关心(例如,可以被设置为逻辑低或逻辑高),"en_2vt"被设置为逻辑高,并且"en_2vtb"被设置为逻辑低。相较于图13的装置1300,此处虚拟VSS相对于地被升高1-Vt或2-Vt以分别实现1-Vt箝位或2-Vt箝位,而不是降低栅控功率供给的电压水平(或对栅控功率供给的电压水平箝位)。
图17图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置1700,该装置1700将两层堆叠n型驱动器次功率栅,并且该装置1700具有破坏性睡眠、活动/旁路、1-Vt箝位和2-Vt箝位操作模式。应指出,图17中的具有与任何其他附图中的元件相同的附图标记(或名称)的那些元件能以与所描述的方式类似的任何方式操作或起作用,但不被限制于此。相较于图13的第二逻辑1303,此处使用n型堆叠而不是p型堆叠。
在一些实施例中,第二逻辑1703/1103包括由串联地耦合在一起并且耦合在非栅控功率供给节点(VCC)与栅控功率供给节点之间的晶体管MN2和MN3形成的n型堆叠。在一些实施例中,耦合晶体管MN2和MN3的公共节点耦合至第二功率栅MPG2 1304/1104的栅极。在一些实施例中,MN2的栅极端子由"en_2vt"控制。在一些实施例中,MN3的栅极端子由"en_1vt"和p型晶体管MPa控制。在一些实施例中,晶体管MPa由"en_2vtb"控制,其中,晶体管MPa的源极/漏极端子耦合至第二功率栅MPG2的栅极和MN3的栅极。
在一些实施例中,第二逻辑1703/1103包括p型晶体管MP22,该p型晶体管MP22与n型晶体管MN22串联地耦合,使得耦合晶体管MP22与晶体管MN22的公共节点耦合至第二功率栅MPG2 1304/1104的栅极端子。在一些实施例中,MP22的源极端子耦合至非栅控供给节点,MP22的漏极端子耦合至MN22的漏极端子,并且MP22的栅极端子耦合至睡眠信号"slpb'"。在一些实施例中,MN22的源极端子耦合至地,MN22的漏极端子耦合至MP22的漏极端子,并且MN22的栅极端子耦合至睡眠信号"bps'"。
在一些实施例中,为了启用破坏性睡眠模式,"slpb"和"slpb'"被设置为逻辑低,"bps"和"bps'"被设置为逻辑低,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑低。在一些实施例中,为了启用旁路/活动模式,"slpb"和"slpb'"被设置为逻辑高,"bps"和"bps'"被设置为逻辑高,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑低。
在一些实施例中,为了启用1-Vt模式,"bps"和"bps'"被设置为逻辑低,"slpb'"被设置为逻辑低,"slpb'"被设置为逻辑高,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑高。在一些实施例中,为了启用2-Vt模式,"bps"和"bps'"被设置为逻辑低,"slpb"被设置为逻辑低,"en_1vt"不被驱动(例如,三态的),"en_2vt"被设置为逻辑高,"en_2vtb"被设置为逻辑低。
图18图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置1800,该装置1800将两层堆叠p型驱动器用于次功率栅,并且该装置1800具有破坏性睡眠、活动/旁路、1-Vt箝位和2-Vt箝位操作模式。装置1800类似于装置1600但具有不同的第二逻辑1803(而不是1603)。装置1800可以是任何EBB(例如,执行单元552A或参考图1-图10所描述的任何逻辑块)的部分。
在一些实施例中,第二逻辑1803包括串联地耦合在一起并且耦合在栅控接地供给节点(虚拟Vss)和非栅控接地供给节点(VSS)之间的晶体管MP2和MP3形成的p型堆叠。在一些实施例中,耦合晶体管MP2和MP3的公共节点耦合至第二接地栅MNG2 1604的栅极。在一些实施例中,MP3的栅极端子由"en_2vtb"控制。在一些实施例中,MP2的栅极端子由"en_1vtb"和n型晶体管MNa控制。在一些实施例中,晶体管MNa由"en_2vt"控制,其中,晶体管MNa的源极/漏极端子耦合至第二接地栅MNG2 1604的栅极和MP2的栅极。
在一些实施例中,第二逻辑1803包括p型晶体管MP22,该p型晶体管MP22与n型晶体管MN22串联地耦合,使得耦合晶体管MP22和晶体管MN22的公共节点耦合至第二接地栅MNG21604的栅极端子。在一些实施例中,MP22的源极端子耦合至非栅控供给节点,MP22的漏极端子耦合至MN22的漏极端子,并且MP22的栅极端子耦合至睡眠信号"pbsb'"。在一些实施例中,MN22的源极端子耦合至地(VSS),MN22的漏极端子耦合至MP22的漏极端子,并且MN22的栅极端子耦合至睡眠信号"slp'"。
在一些实施例中,为了启用破坏性睡眠模式,"slp"和"slp'"被设置为逻辑高,"pbsb"和"pbsb'"被设置为逻辑高,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑高。在一些实施例中,为了启用旁路/活动模式,"slp"和"slp'"被设置为逻辑低,"pbsb"和"pbsb'"被设置为逻辑低,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑高。
在一些实施例中,为了启用1-Vt模式,"pbsb"和"pbsb'"被设置为逻辑高,"slp"被设置为逻辑高,"slp'"被设置为逻辑低,"en_2vt"被设置为逻辑低,"en_2vtb"被设置为逻辑高,并且"en_1vt"被设置为逻辑低。在一些实施例中,为了启用2-Vt模式,"pbsb"和"pbsb'"被设置为逻辑高,"slp"被设置为逻辑高,"slp'"被设置为逻辑低,"en_1vt"不被驱动(例如,三态的),"en_2vt"被设置为逻辑高,并且"en_2vtb"被设置为逻辑低。
图19图示出根据本公开的一些实施例的用于数据保留和供给噪声缓解的装置1900,该装置1900将n层堆叠p型驱动器用于次功率栅,并且该装置1900具有破坏性睡眠、活动/旁路、以及多阈值箝位操作模式。相较于图15,此处,p型驱动器MP2、MP3、MP4、……MPn的堆叠用于实现第二逻辑1903。正如MP2由Tbuf1驱动并由MP1a控制,在一些实施例中,MP4由三态缓冲器Tbuf3和相关联的晶体管MP3a驱动,其中,Tbuf3可由"en_3vt"和"en_3vtb"控制,并且MP3a由"en_3vtb"控制。在一些实施例中,MPn由三态缓冲器Tbufn和相关联的晶体管MPna驱动,其中,Tbufn可由"en_nvt"和"en_nvtb"控制,并且MPna由"en_nvtb"控制。
此处,en_1vt、en_1vtb、en_2vt和en_2vtb以与如参考图14A-图14D所描述的相同的方式被控制。在一些实施例中,
en_3vt、……、en_3nvt默认设置为0,使晶体管MP4……MPn保持开路(即,保持旁路)。根据一些实施例,为了在栅控功率供给上增加附加的Vt压降,en_3vt被断言(即,=en_3vt=1)。例如,为了增加进一步的Vt压降,en_4vt被断言,以此类推。
图20图示出根据一些实施例的用于数据保留和供给噪声缓解的智能设备或计算机系统或SoC(芯片上系统)2100装置。应指出,图20中的具有与任何其他附图中的元件相同的附图标记(或名称)的那些元件能以与所描述的方式类似的任何方式操作或起作用,但不被限制于此。
图20图示出移动设备的实施例的框图,其中可以使用平面接口连接器。在一些实施例中,计算设备2100表示移动计算设备,诸如计算平板、移动电话或智能电话、启用无线的电子阅读器、或其他无线移动设备。将会理解,某些组件被概示地示出,并且并非此类设备的所有组件都被示出在计算设备2100中。
在一些实施例中,计算设备2100包括第一处理器2110,第一处理器2110具有根据所讨论的一些实施例的用于数据保留和供给噪声缓解的装置。计算设备2100的其他块也可包括一些实施例的用于数据保留和供给噪声缓解的装置。本公开的各实施例还可包括2170内的网络接口(诸如,无线接口),使得系统实施例可被结合至无线设备(例如,蜂窝电话或个人数字助理)中。
在一个实施例中,处理器2110可以包括一个或多个物理设备,诸如微处理器、应用处理器、微控制器、可编程逻辑器件或其他处理装置。由处理器2110执行的处理操作包括操作平台或操作系统的执行,应用和/或设备功能在该操作平台或操作系统上被执行。处理操作包括与通过人类用户和/或通过其他设备的I/O(输入/输出)相关的操作、与功率管理相关的操作、和/或与将计算设备2100连接至另一设备相关的操作。处理操作还可包括与音频I/O和/或显示I/O相关的操作。
在一个实施例中,计算设备2100包括音频子系统2120,该音频子系统2120表示与向计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)组件。音频功能可以包括扬声器和/或头戴式耳机输出以及麦克风输入。用于此类功能的设备可以被集成至计算设备2100中,或被连接至计算设备2100。在一个实施例中,用户通过提供由处理器2110接收并处理的音频命令来与计算设备2100进行交互。
显示子系统2130表示提供视觉和/或触觉显示以供用户与计算设备2100交互的硬件(例如,显示设备)和软件(例如,驱动器)组件。显示子系统2130包括显示接口2132,该显示接口2132包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口2132包括与处理器2110分开的用于执行与显示相关的至少一些处理的逻辑。在一个实施例中,显示子系统2130包括向用户提供输出和输入两者的触摸屏(或触摸板)设备。
I/O控制器2140表示与同用户的交互相关的硬件设备和软件组件。I/O控制器2140可操作以管理作为音频子系统2120和/或显示子系统2130的部分的硬件。另外,I/O控制器2140图示出用于附加设备的连接点,该附加设备连接至计算设备2100,用户可通过计算设备2100与系统进行交互。例如,可被附连至计算设备2100的设备可包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备、或用于与特定应用一起使用的其他I/O设备(诸如,读卡器或其他设备)。
如以上所提到,I/O控制器2140可与音频子系统2120和/或显示子系统2130进行交互。例如,通过麦克风或其他音频设备的输入可提供用于计算设备2100的一个或多个应用或功能的输入或命令。另外,音频输出可被提供作为显示输出的替代或附加。在另一示例中,如果显示子系统2130包括触摸屏,则显示设备还充当可以至少部分地由I/O控制器2140管理的输入设备。在计算设备2100上还可以存在附加的按钮或开关,以提供由I/O控制器2140管理的I/O功能。
在一个实施例中,I/O控制器2140管理多个设备,诸如,加速度计、相机、光传感器或其他环境传感器、或者可以被包括在计算设备2100中的其他硬件。该输入可以是直接用户交互的部分,以及向系统提供环境输入以影响其操作(诸如,过滤噪声、调整显示器以进行亮度检测、应用相机的闪光灯或其他特征)。
在一个实施例中,计算设备2100包括功率管理2150,该功率管理2150用于管理电池功率使用、电池充电、以及与功率节省操作相关的特征。存储器子系统2160包括用于在计算设备2100中存储信息的存储器设备。存储器可包括非易失性(如果到存储器设备的功率中断,则状态不改变)和/或易失性(如果到存储器设备的功率中断,则状态不确定)存储器设备。存储器子系统2160可存储应用数据、用户数据、音乐、照片、文档或其他数据、以及与计算设备2100的应用和功能的执行相关的系统数据(不论是长期的还是暂时的)。
还提供实施例的要素作为用于存储计算机可执行指令(例如,用于实现本文中所讨论的任何其他过程的指令)的机器可读介质(例如,存储器2160)。该机器可读介质(例如,存储器2160)可包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、相变存储器(PCM)或适于存储电子指令或计算机可执行指令的其他类型的机器可读介质。例如,本公开的实施例可作为计算机程序(例如,BIOS)来下载,其可通过数据信号的方式经由通信链路(例如,调制解调器或网络连接)从远程计算机(例如,服务器)转移至请求计算机(例如,客户机)。
连接性装置2170包括用于使计算设备2100能够与外部设备通信的硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如,驱动器、协议栈)。计算设备2100可以是诸如其他计算设备、无线接入点或基站之类的分开的设备,以及诸如头戴式设备、打印机之类的外围设备或其他设备。
连接性装置2170可以包括多种不同类型的连接性装置。为了概述,图示出计算设备2100具有蜂窝连接性装置2172和无线连接性装置2174。蜂窝连接性装置2172一般是指由无线载波提供的蜂窝网络连接性装置,诸如经由GSM(全球移动通信系统)或其变型或衍生类型、CDMA(码分多址)或其变型或衍生类型、TDM(时分复用)或其变型或衍生类型、或者其他蜂窝服务标准提供。无线连接性装置(或无线接口)2174是指不是蜂窝式的无线连接性装置,并且可以包括个域网(诸如,蓝牙、近场等)、局域网(诸如,Wi-Fi)和/或广域网(诸如,WiMax)或其他无线通信。
外围连接2180包括用于进行外围连接的硬件接口和连接器以及软件组件(例如,驱动器、协议栈)。将会理解,计算设备2100既可以是连接至其他计算设备的外围设备("至"2182),也可具有连接至计算设备2100的外围设备("自"2184)。计算设备2100通常具有"对接"连接器以连接到其他计算设备,以用于诸如管理(例如,下载和/或上载、改变、同步)计算设备2100上的内容之类的目的。另外,对接连接器可以允许计算设备2100连接至某些外围设备,这些外围设备允许计算设备2100控制例如对视听或其他系统的内容输出。
除了专用对接连接器或其他专用连接硬件之外,计算设备2100还可经由常见的或基于标准的连接器来建立外围连接1680。常见类型可以包括通用串行总线(USB)连接器(其可以包括数种不同硬件接口中的任何一种)、包括MiniDisplayPort(微型显示端口)(MDP)的DisplayPort(显示端口)、高清晰度多媒体接口(HDMI)、火线或其他类型。
说明书中对“实施例”、“一个实施例”、“一些实施例”、或“其他实施例”等的引用意味着结合这些实施例所描述的特定特征、结构或特征被包括在至少一些实施例中,但不一定包括在所有实施例中。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定都指相同实施例。如果说明书陈述“可能”、“可以”或“能够”包括组件、特征、结构或特性,则不一定必须包括该特定组件、特征、结构或特性。如果说明书或权利要求书引用“一(a或an)”要素,则并不意味着只有一个该要素。如果说明书或权利要求书引用“附加”要素,则不排除有多于一个的该附加要素。
此外,可在一个或多个实施例中以任何合适的方式组合特定特征、结构、功能或特性。例如,在与第一实施例和第二实施例相关联的特定特征、结构、功能或特性不相互排斥的任何情况下都可将第一实施例与第二实施例组合。
尽管结合本公开的特定实施例描述了本公开,但根据前面的描述,此类实施例的许多替代方案、修改和变型对本领域普通技术人员来说将是显而易见的。本公开的实施例旨在涵盖落入所附权利要求书的宽泛范围之内的所有这些替代方案、修改和变型。
此外,为了说明和讨论简单起见并且为了不使本公开模糊,在所呈现的附图内可以或可以不示出公知的到集成电路(IC)芯片和其他组件的功率/接地连接。此外,为了避免使本公开模糊,并且还考虑到关于此类框图布置的实现方式的细节很大程度上取决于将实现本公开的平台的事实,能以框图形式示出布置(即此类细节完全应当在本领域技术人员的认知范围内)。在陈述特定细节(例如,电路)以描述本公开的示例实施例的情况下,对本领域普通技术人员应当显而易见的是,可以在没有这些特定细节或在这些特定细节的变型的情况下实施本公开。说明书因此被视为是说明性的而不是限制性的。
下列示例涉及进一步的实施例。可以在一个或多个实施例中的任何地方使用示例中的细节。本文中所描述的装置的所有任选特征也可相对于方法或过程来实现。
例如,提供了一种装置,该装置包括:第一功率栅晶体管,耦合至非栅控功率供给节点和栅控功率供给节点,该第一功率栅晶体管具有可由第一逻辑控制的栅极端子;以及第二功率栅,耦合至非栅控功率供给节点和栅控功率供给节点,该第二功率栅晶体管具有可由第二逻辑控制的栅极端子,其中,第一功率栅晶体管比第二功率栅晶体管大,并且其中,第二逻辑具有多个模式,这些模式包括:弱导通第二功率栅,二极管连接第二功率栅,基本导通第二功率栅,以及断开第二功率栅。
在一些实施例中,第二逻辑包括全体在尺寸上小于第二功率栅的尺寸的多个晶体管。在一些实施例中,第二逻辑可操作以弱导通第二功率栅,使得在非栅控功率供给节点与栅控功率供给节点之间形成至少两个二极管。在一些实施例中,第二逻辑可操作以在普通活动模式期间基本导通第二功率栅,并且其中,该第二逻辑可操作以在破坏性睡眠模式期间完全断开第二功率栅。
在一些实施例中,第二逻辑可操作以使得第二功率栅在非栅控功率供给节点与栅控功率供给节点之间电气地形成二极管。在一些实施例中,第二逻辑包括第一p型晶体管,该第一p型晶体管耦合至第二功率栅的栅极端子和非栅控功率供给节点。在一些实施例中,第二逻辑包括第二p型晶体管,该第二p型晶体管与第一p型晶体管串联地耦合,并且耦合至第二功率栅的栅极端子和栅控功率供给节点。在一些实施例中,第二逻辑包括第三p型晶体管,该第三p型晶体管耦合至第一p型晶体管的栅极端子和第二功率栅的栅极端子。
在一些实施例中,第二逻辑包括第四p型晶体管,该第四p型晶体管耦合至第二p型晶体管的栅极端子和栅控功率供给节点。在一些实施例中,第二逻辑包括第一n型晶体管,该第一n型晶体管耦合至第二功率栅的栅极端子和接地节点。在一些实施例中,第一逻辑包括:第一p型晶体管,耦合至非栅控功率供给节点和第一功率栅的栅极端子;以及第一n型晶体管,与第一p型晶体管串联地耦合,该第一n型晶体管耦合至第一功率栅的栅极端子和接地节点。。
在另一示例中,提供了一种装置,该装置包括:第一功率栅晶体管,耦合至非栅控功率供给节点和栅控功率供给节点,该第一功率栅晶体管具有可由第一逻辑控制的栅极端子;以及第二功率栅,耦合至非栅控功率供给节点和栅控功率供给节点,该第二功率栅晶体管具有可由第二逻辑控制的栅极端子,其中,第一功率栅晶体管比第二功率栅晶体管大,并且其中,第二逻辑包括:第一p型晶体管,耦合至第二功率栅的栅极端子和非栅控功率供给节点;第二p型晶体管,与第一p型晶体管串联地耦合,并且耦合至第二功率栅的栅极端子和栅控功率供给节点;第三p型晶体管,耦合至第一p型晶体管的栅极端子和第二功率栅的栅极端子;以及第四p型晶体管,耦合至第二p型晶体管的栅极端子和栅控功率供给节点。
在一些实施例中,第一、第二、第三和第四晶体管全体在尺寸上小于第二功率栅的尺寸。在一些实施例中,第二逻辑可操作以弱导通第二功率栅,使得在非栅控功率供给节点与栅控功率供给节点之间形成至少两个二极管。在一些实施例中,第二逻辑可操作以在普通活动模式期间基本导通第二功率栅,并且其中,该第二逻辑可操作以在破坏性睡眠模式期间完全断开第二功率栅。在一些实施例中,第二逻辑可操作以使得第二功率栅在非栅控功率供给节点与栅控功率供给节点之间电气地形成二极管。在一些实施例中,第一逻辑包括:第一p型晶体管,耦合至非栅控功率供给节点和第一功率栅的栅极端子;以及第一n型晶体管,与第一p型晶体管串联地耦合,该第一n型晶体管耦合至第一功率栅的栅极端子和接地节点。
在另一示例中,提供了一种系统,该系统包括:存储器;处理器,耦合至存储器,该处理器包括:第一逻辑块;第二逻辑块;非栅控功率供给节点,沿第一逻辑块和第二逻辑块延伸;第一功率栅晶体管,耦合至非栅控功率供给节点和栅控功率供给节点,该非栅控功率供给节点对于第一逻辑块与第二逻辑块是公共的,第一功率栅晶体管具有可由第一逻辑控制的栅极端子;以及第二功率栅,耦合至非栅控功率供给节点和栅控功率供给节点,该第二功率栅晶体管具有可由第二逻辑控制的栅极端子,其中,第一功率栅晶体管比第二功率栅晶体管大,并且其中,第二逻辑可操作以:弱导通第二功率栅,基本导通第二功率栅,断开第二功率栅,以及将第二功率栅配置为二极管;无线接口,用于允许处理器与另一设备通信。。在一些实施例中,该处理器是图形处理器,并且其中,第一逻辑块和第二逻辑块中的至少一者是执行单元。在一些实施例中,该处理器包括电压调节器,以向非栅控功率供给节点提供功率供给。
在另一示例中,提供了一种方法,该方法包括:在低功率模式期间,断开第一功率栅,该第一功率栅耦合至非栅控功率供给节点和栅控功率供给节点;弱导通第二功率栅,该第二功率栅耦合至非栅控功率供给节点和栅控功率供给节点;以及将第二功率栅配置为二极管;或者导通耦合至第二功率栅的第一晶体管和第二晶体管以使得由该第一晶体管和第二晶体管形成至少两个二极管。在一些实施例中,在破坏性睡眠模式期间,该方法包括:断开第一功率栅、第二功率栅、第一晶体管和第二晶体管。在一些实施例中,在活动模式期间,该方法包括:导通第一功率栅和第二功率栅,并且断开第一晶体管和第二晶体管。在一些实施例中,在另一低功率模式期间,该方法包括:导通第一晶体管和第二晶体管中的至少一者,使得由该第一晶体管和第二晶体管中的一者以及由第二功率栅形成至少一个二极管。
在另一示例中,提供了一种设备,该设备包括:用于在低功率模式期间断开耦合至非栅控功率供给节点和栅控功率供给节点的第一功率栅的装置;用于弱导通耦合至非栅控功率供给节点和栅控功率供给节点的第二功率栅的装置;以及用于将第二功率栅配置为二极管的装置;或者用于导通耦合至第二功率栅的第一晶体管和第二晶体管以使得由该第一晶体管和第二晶体管形成至少两个二极管的装置。
在一些实施例中,该设备包括:用于在破坏性睡眠模式期间断开第一功率栅、第二功率栅、以及第一和第二晶体管的装置。在一些实施例中,该设备包括:用于在活动模式期间导通第一和第二功率栅并且断开第一和第二晶体管的装置。在一些实施例中,该设备包括:用于在另一低功率模式期间导通第一和第二晶体管中的至少一者以使得由第一和第二晶体管中的一者以及由第二功率栅形成至少一个二极管的装置。
提供了将允许读者弄清本技术公开的本质和主旨的摘要。应当理解,摘要将不用来限制权利要求的范围或含义。所附的权利要求由此被结合到具体实施方式中,每一项权利要求本身作为单独的实施例。

Claims (24)

1.一种装置,包括:
第一功率栅晶体管,耦合至非栅控功率供给节点和栅控功率供给节点,所述第一功率栅晶体管具有能由第一逻辑控制的栅极端子;以及
第二功率栅,耦合至所述非栅控功率供给节点和所述栅控功率供给节点,所述第二功率栅晶体管具有能由第二逻辑控制的栅极端子,其中,所述第一功率栅晶体管比所述第二功率栅晶体管大,并且其中,所述第二逻辑具有多个模式,所述多个模式包括:
弱导通所述第二功率栅,
二极管连接所述第二功率栅,
基本导通所述第二功率栅,以及
断开所述第二功率栅。
2.如权利要求1所述的装置,其中,所述第二逻辑包括全体在尺寸上小于所述第二功率栅的尺寸的多个晶体管。
3.如权利要求1所述的装置,其中,所述第二逻辑能操作以弱导通所述第二功率栅,使得在所述非栅控功率供给节点与所述栅控功率供给节点之间形成至少两个二极管。
4.如权利要求1所述的装置,其中,所述第二逻辑能操作以在普通活动模式期间基本导通所述第二功率栅,并且其中,所述第二逻辑能操作以在破坏性睡眠模式期间完全断开所述第二功率栅。
5.如权利要求1所述的装置,其中,所述第二逻辑能操作以使得所述第二功率栅在所述非栅控功率供给节点与所述栅控功率供给节点之间电气地形成二极管。
6.如权利要求1所述的装置,其中,所述第二逻辑包括第一p型晶体管,所述第一p型晶体管耦合至所述第二功率栅的栅极端子和所述非栅控功率供给节点。
7.如权利要求6所述的装置,其中,所述第二逻辑包括第二p型晶体管,所述第二p型晶体管与所述第一p型晶体管串联地耦合,并且耦合至所述第二功率栅的栅极端子和所述栅控功率供给节点。
8.如权利要求7所述的装置,其中,所述第二逻辑包括第三p型晶体管,所述第三p型晶体管耦合至所述第一p型晶体管的栅极端子和所述第二功率栅的栅极端子。
9.如权利要求8所述的装置,其中,所述第二逻辑包括第四p型晶体管,所述第四p型晶体管耦合至所述第二p型晶体管的栅极端子和所述栅控功率供给节点。
10.如权利要求1所述的装置,其中,所述第二逻辑包括第一n型晶体管,所述第一n型晶体管耦合至所述第二功率栅的栅极端子和接地节点。
11.如权利要求1所述的装置,其中,所述第一逻辑包括:
第一p型晶体管,耦合至所述非栅控功率供给节点和所述第一功率栅的栅极端子;以及
第一n型晶体管,与所述第一p型晶体管串联地耦合,所述第一n型晶体管耦合至所述第一功率栅的栅极端子和接地节点。
12.一种装置,包括:
第一功率栅晶体管,耦合至非栅控功率供给节点和栅控功率供给节点,所述第一功率栅晶体管具有能由第一逻辑控制的栅极端子;以及
第二功率栅,耦合至所述非栅控功率供给节点和所述栅控功率供给节点,所述第二功率栅晶体管具有能由第二逻辑控制的栅极端子,其中,所述第一功率栅晶体管比所述第二功率栅晶体管大,并且其中,所述第二逻辑包括:
第一p型晶体管,耦合至所述第二功率栅的栅极端子和所述非栅控功率供给节点;
第二p型晶体管,与所述第一p型晶体管串联地耦合,并且耦合至所述第二功率栅的栅极端子和所述栅控功率供给节点;
第三p型晶体管,耦合至所述第一p型晶体管的栅极端子和所述第二功率栅的栅极端子;以及
第四p型晶体管,耦合至所述第二p型晶体管的栅极端子和所述栅控功率供给节点。
13.如权利要求12所述的装置,其中,所述第一晶体管、所述第二晶体管、所述第三晶体管和所述第四晶体管全体在尺寸上小于所述第二功率栅的尺寸。
14.如权利要求12所述的装置,其中,所述第二逻辑能操作以弱导通所述第二功率栅,使得在所述非栅控功率供给节点与所述栅控功率供给节点之间形成至少两个二极管。
15.如权利要求12所述的装置,其中,所述第二逻辑能操作以在普通活动模式期间基本导通所述第二功率栅,并且其中,所述第二逻辑能操作以在破坏性睡眠模式期间完全断开所述第二功率栅。
16.如权利要求12所述的装置,其中,所述第二逻辑能操作以使得所述第二功率栅在所述非栅控功率供给节点与所述栅控功率供给节点之间电气地形成二极管。
17.如权利要求12所述的装置,其中,所述第一逻辑包括:
第一p型晶体管,耦合至所述非栅控功率供给节点和所述第一功率栅的栅极端子;以及
第一n型晶体管,与所述第一p型晶体管串联地耦合,所述第一n型晶体管耦合至所述第一功率栅的栅极端子和接地节点。
18.一种系统,包括:
存储器;
处理器,耦合至所述存储器,所述处理器包括:
第一逻辑块;
第二逻辑块;
非栅控功率供给节点,沿所述第一逻辑块和所述第二逻辑块延伸;
第一功率栅晶体管,耦合至所述非栅控功率供给节点和栅控功率供给节点,所述非栅控功率供给节点对于所述第一逻辑块与所述第二逻辑块是公共的,所述第一功率栅晶体管具有能由第一逻辑控制的栅极端子;以及
第二功率栅,耦合至所述非栅控功率供给节点和所述栅控功率供给节点,所述第二功率栅晶体管具有能由第二逻辑控制的栅极端子,其中,所述第一功率栅晶体管比所述第二功率栅晶体管大,并且其中,所述第二逻辑能操作以:
弱导通所述第二功率栅,
基本导通所述第二功率栅,
断开所述第二功率栅,以及
将所述第二功率栅配置为二极管;
无线接口,用于允许所述处理器与另一设备通信。
19.如权利要求18所述的系统,其中,所述处理器是图形处理器,并且其中,所述第一逻辑块和所述第二逻辑块中的至少一者是执行单元。
20.如权利要求18所述的系统,其中,所述处理器包括电压调节器,以向所述非栅控功率供给节点提供功率供给。
21.一种方法,包括:
在低功率模式期间,断开第一功率栅,所述第一功率栅耦合至非栅控功率供给节点和栅控功率供给节点;
弱导通第二功率栅,所述第二功率栅耦合至所述非栅控功率供给节点和所述栅控功率供给节点;以及
将所述第二功率栅配置为二极管;或者
导通耦合至所述第二功率栅的第一晶体管和第二晶体管,使得由所述第一晶体管和所述第二晶体管形成至少两个二极管。
22.如权利要求21所述的方法,包括:在破坏性睡眠模式期间,断开所述第一功率栅、所述第二功率栅、所述第一晶体管和所述第二晶体管。
23.如权利要求21所述的方法,包括:在活动模式期间,导通所述第一功率栅和所述第二功率栅,并且断开所述第一晶体管和所述第二晶体管。
24.如权利要求21所述的方法,包括:在另一低功率模式期间,导通所述第一晶体管和所述第二晶体管中的至少一者,使得由所述第一晶体管和所述第二晶体管中的一者以及由所述第二功率栅形成至少一个二极管。
CN201780024205.5A 2016-05-10 2017-04-05 用于使用箝位来进行数据保留和供给噪声缓解的装置 Active CN109074114B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/151,402 US9766827B1 (en) 2016-05-10 2016-05-10 Apparatus for data retention and supply noise mitigation using clamps
US15/151,402 2016-05-10
PCT/US2017/026208 WO2017196464A1 (en) 2016-05-10 2017-04-05 Apparatus for data retention and supply noise mitigation using clamps

Publications (2)

Publication Number Publication Date
CN109074114A true CN109074114A (zh) 2018-12-21
CN109074114B CN109074114B (zh) 2021-01-22

Family

ID=59828211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780024205.5A Active CN109074114B (zh) 2016-05-10 2017-04-05 用于使用箝位来进行数据保留和供给噪声缓解的装置

Country Status (4)

Country Link
US (2) US9766827B1 (zh)
EP (1) EP3455694B1 (zh)
CN (1) CN109074114B (zh)
WO (1) WO2017196464A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503520B2 (en) * 2017-09-26 2019-12-10 Intel Corporation Automatic waking of power domains for graphics configuration requests
US10261563B1 (en) * 2017-12-12 2019-04-16 Apple Inc. Hybrid power switch
JP6988517B2 (ja) * 2018-01-25 2022-01-05 トヨタ自動車株式会社 電力変換装置
US10908673B2 (en) 2018-02-07 2021-02-02 Intel Corporation Reliable digital low dropout voltage regulator
US10804903B1 (en) * 2018-11-16 2020-10-13 Jia Di Asynchronous circuit stacking for simplified power management

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060145726A1 (en) * 2002-10-25 2006-07-06 Renesas Technology Corp. Low power consumption MIS semiconductor device
CN101278459A (zh) * 2005-09-30 2008-10-01 莫塞德技术公司 低功率睡眠模式运行的启动电路
US7863971B1 (en) * 2006-11-27 2011-01-04 Cypress Semiconductor Corporation Configurable power controller
CN102915064A (zh) * 2011-08-04 2013-02-06 Nxp股份有限公司 快速启动电压调节器
US8456140B2 (en) * 2010-07-14 2013-06-04 Arm Limited Power control apparatus and method for controlling a supply voltage for an associated circuit
CN203071897U (zh) * 2011-06-29 2013-07-17 英特尔公司 低功率、低延时的功率门控设备
CN104620243A (zh) * 2012-09-10 2015-05-13 德克萨斯仪器股份有限公司 非易失性逻辑阵列的可定制的备份和恢复
US20150170736A1 (en) * 2013-12-13 2015-06-18 Qualcomm Incorporated Process tolerant current leakage reduction in static random access memory (sram)
US9071248B2 (en) * 2010-03-03 2015-06-30 Freescale Semiconductor, Inc. MOS transistor drain-to-gate leakage protection circuit and method therefor
US20160035397A1 (en) * 2014-08-04 2016-02-04 International Business Machines Corporation Overvoltage protection for a fine grained negative wordline scheme

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960009956B1 (ko) * 1994-02-16 1996-07-25 현대전자산업 주식회사 반도체 소자의 감지 증폭기
JPH0973784A (ja) * 1995-09-07 1997-03-18 Nec Corp 半導体装置及びその制御回路
US6242948B1 (en) * 1997-11-19 2001-06-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device
KR100269643B1 (ko) * 1997-11-27 2000-10-16 김영환 전력소비 억제회로
JP2001230664A (ja) * 2000-02-15 2001-08-24 Mitsubishi Electric Corp 半導体集積回路
DE10120790A1 (de) * 2001-04-27 2002-11-21 Infineon Technologies Ag Schaltungsanordnung zur Verringerung der Versorgungsspannung eines Schaltungsteils sowie Verfahren zum Aktivieren eines Schaltungsteils
US7498836B1 (en) * 2003-09-19 2009-03-03 Xilinx, Inc. Programmable low power modes for embedded memory blocks
US7590962B2 (en) 2003-12-17 2009-09-15 Sequence Design, Inc. Design method and architecture for power gate switch placement
WO2007008579A2 (en) * 2005-07-08 2007-01-18 Zmos Technology, Inc. Source transistor configurations and control methods
TW200707177A (en) 2005-08-08 2007-02-16 Ind Tech Res Inst Leakage current control circuit with a single low voltage power supply and method thereof
US7372746B2 (en) * 2005-08-17 2008-05-13 Micron Technology, Inc. Low voltage sensing scheme having reduced active power down standby current
US7671663B2 (en) * 2006-12-12 2010-03-02 Texas Instruments Incorporated Tunable voltage controller for a sub-circuit and method of operating the same
KR101477512B1 (ko) 2008-03-18 2014-12-31 삼성전자주식회사 액티브 클럭 쉴딩 구조의 회로 및 이를 포함하는 반도체집적 회로
BRPI0903769B1 (pt) * 2009-09-15 2019-03-06 Empresa Brasileira De Pesquisa Agropecuária - Embrapa Método e kit para identificação precoce de deposição de gordura em bovinos
KR20120090513A (ko) * 2011-02-08 2012-08-17 삼성전자주식회사 파워 게이팅 반도체 회로 및 이를 포함하는 반도체 장치
US8519775B2 (en) * 2011-07-28 2013-08-27 Arm Limited Voltage regulation of a virtual power rail
DE112011105644T5 (de) 2011-09-23 2014-08-28 Intel Corporation Ladungssparende Power-Gate-Vorrichtung und Verfahren
US20130135955A1 (en) * 2011-11-29 2013-05-30 Edward M. McCombs Memory device including a retention voltage resistor
US9501132B2 (en) 2014-08-06 2016-11-22 Intel Corporation Instruction and logic for store broadcast and power management

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060145726A1 (en) * 2002-10-25 2006-07-06 Renesas Technology Corp. Low power consumption MIS semiconductor device
CN101278459A (zh) * 2005-09-30 2008-10-01 莫塞德技术公司 低功率睡眠模式运行的启动电路
US7863971B1 (en) * 2006-11-27 2011-01-04 Cypress Semiconductor Corporation Configurable power controller
US9071248B2 (en) * 2010-03-03 2015-06-30 Freescale Semiconductor, Inc. MOS transistor drain-to-gate leakage protection circuit and method therefor
US8456140B2 (en) * 2010-07-14 2013-06-04 Arm Limited Power control apparatus and method for controlling a supply voltage for an associated circuit
CN203071897U (zh) * 2011-06-29 2013-07-17 英特尔公司 低功率、低延时的功率门控设备
CN102915064A (zh) * 2011-08-04 2013-02-06 Nxp股份有限公司 快速启动电压调节器
CN104620243A (zh) * 2012-09-10 2015-05-13 德克萨斯仪器股份有限公司 非易失性逻辑阵列的可定制的备份和恢复
US20150170736A1 (en) * 2013-12-13 2015-06-18 Qualcomm Incorporated Process tolerant current leakage reduction in static random access memory (sram)
US20160035397A1 (en) * 2014-08-04 2016-02-04 International Business Machines Corporation Overvoltage protection for a fine grained negative wordline scheme

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TSUNG-CHU HUANG ; JING-CHI TZENG ; YUAN-WEI CHAO ; JI-JAN CHEN: "《A Supply-Gating Scheme for Both Data-Retention and Spike-Reduction》", 《2006 INTERNATIONAL SYMPOSIUM ON VLSI DESIGN, AUTOMATION AND TEST》 *
石匆: "《分布式睡眠晶体管网络综合技术研究》", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
EP3455694A4 (en) 2020-01-01
EP3455694A1 (en) 2019-03-20
CN109074114B (zh) 2021-01-22
WO2017196464A1 (en) 2017-11-16
US20180024761A1 (en) 2018-01-25
US9766827B1 (en) 2017-09-19
EP3455694B1 (en) 2021-11-17
US10418076B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
CN109074114A (zh) 用于使用箝位来进行数据保留和供给噪声缓解的装置
KR102279119B1 (ko) 구성가능하고 프로그래밍가능한 이미지 프로세서 유닛
Veredas et al. Custom implementation of the coarse-grained reconfigurable ADRES architecture for multimedia purposes
Kleihorst et al. Camera mote with a high-performance parallel processor for real-time frame-based video processing
CN105518746B (zh) 混合请求式图形转换表影子化
CN109313606A (zh) 用于共享虚拟存储器在异构处理系统中管理数据一致性的方法和装置
CN106462939A (zh) 可缩放gpu中的数据分布组构
CN106537447A (zh) 图形处理器执行资源的动态缩放
TW200818054A (en) Tile based precision rasterization in graphics pipeline
US8775777B2 (en) Techniques for sourcing immediate values from a VLIW
CN108369733A (zh) 使用三角形的属性的加权平均来合并粗像素着色的片段
WO2007146574A2 (en) Convolution filtering in a graphics processor
EP2024819A2 (en) Graphics processor with arithmetic and elementary function units
KR102278021B1 (ko) 이미지 프로세서 런타임 효율성을 개선하기 위한 프로그램 코드 변환
TWI601096B (zh) 用於細分表面的直接和互動式射線追蹤之方法及設備
CN106662999A (zh) 用于simd结构化分支的方法和装置
CN106575451A (zh) 延迟的粗像素着色
Huang et al. Memory-hierarchical and mode-adaptive HEVC intra prediction architecture for quad full HD video decoding
CN107257989A (zh) 群集的调色板压缩
CN106575440A (zh) 恒定缓冲器大小多采样抗混叠深度压缩
Suzuoki et al. A microprocessor with a 128-bit CPU, ten floating-point MAC's, four floating-point dividers, and an MPEG-2 decoder
US11023998B2 (en) Apparatus and method for shared resource partitioning through credit management
Park et al. Programmable multimedia platform based on reconfigurable processor for 8K UHD TV
CN109844802A (zh) 用于在图形处理器中提高线程并行性的机制
CN107004252B (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