集成电路热管理系统的制作方法

文档序号:6618604阅读:498来源:国知局
专利名称:集成电路热管理系统的制作方法
技术领域
本发明一般涉及热管理在集成电路中的使用。
背景技术
第一代异类Cell宽频引擎TM( BE )处理器是包括64位Power PC 处理器内核和8个单指令多数据(SIMD)协处理器内核的多核芯片, 能够进行大量浮点处理,针对计算加强负荷和宽带富媒体(rich media ) 应用进行了最优化。高速存储器控制器和高带宽总线接口也集成在芯 片上。Cell BE突破性的多核架构和超高速通信能力使实时响应取得 了巨大的进步,在一些情况下是最新PC处理器性能的10倍。Cell BE 是操作系统中立的,并且同时支持多个操作系统。这种类型处理器的 应用范围包括具有显著增强真实感的下一代游戏系统、构成家庭中数 字媒体和流式内容的网络中心(hub)的系统、用以开发和分发数字 内容的系统、以及加速可视化和超级计算应用的系统。
当今的多核处理器经常受限于热考虑。典型的解决方案包括冷却 和功率管理。冷却可能是昂贵和/或难以封装的。功率管理通常是粗略 的动作,其对大量(如果不是全部的话)处理器进行"调节(throttling )", 以响应于所达到的热限制。例如热管理的其他技术通过仅对超过给定 温度的单元进行调节来帮助解决这些粗略的动作。然而,大多数热管 理技术影响应用的实时保证。因此,提供一种热管理解决方案将是有 益的,该热管理解决方案为处理器提供即使在需要处理器调节的热条 件下也能保证应用的实时特性的方法。在不满足实时保证的情况下, 通知应用管理者,使得可以实现修正动作。

发明内容
说明性实施方式的不同方面提供了用于管理热管理系统的计算 机实现的方法、数据处理系统和处理器。说明性实施方式确定多个数
字热传感器被指示为是故障的还是工作的(functional)。响应于所述 多个数字热传感器中的至少一个数字热传感器是工作的,说明性实施 方式对与该工作的数字热传感器相关联的集成电路中的至少一个单 元的节电模式进行监控。响应于至少一个单元处于节电模式,说明性 实施方式禁用该工作的数字热传感器。


现在将结合附图仅通过示例的方式来描述本发明的实施方式,其

图1描述了其中可以实现说明性实施方式的方面的数据处理系统 网络的图示;
图2描述了其中可以实现说明性实施方式的方面的数据处理系统 的框图3描述了其中可以实现说明性实施方式的方面的Cell BE芯片 的示例性框4示出了根据说明性实施方式的示例性热管理系统;
图5示出了根据说明性实施方式的温度图以及可能发生中断和动 态调节的各点;
图6示出了根据说明性实施方式的用于记录最大温度的操作的流 程图7示出了根据其他说明性实施方式的用于通过性能监控来跟踪 热数据的操作的流程图8A和图8B示出了根据其他说明性实施方式的用于高级热中断 产生的操作的流程图9示出了根据其他说明性实施方式的用于在热管理系统中支持 深度节电模式和部分良好的操作的流程图10示出了根据其他说明性实施方式的用于热调节控制特征的
操作的流程图,该热调整控制特征支持独立于温度的热敏软件应用的
实时测试;
图11示出了根据其他说明性实施方式的用于对中断延迟影响最
d 、的热调节控制实现的操作的流程图12示出了根据其他说明性实施方式的用于热调节滞后的操作 的流程图;以及
的流程图。
具体实施例方式
说明性实施方式涉及管理热管理系统。提供图1-图2,作为其中 可以实现说明性实施方式的数据处理环境的示例性框图。应当意识 到,关于可以实现本发明方面或实施方式的环境,图l-图2只是示例 性的,而无意断言或暗示任何限制。可以对所描述的环境进行多种修 改,而没有背离说明性实施方式的精神和范围。
现在参考附图,图1描述了其中可以实现说明性实施方式的方面 的数据处理系统网络的图示。网络数据处理系统100是其中可以实现 说明性实施方式的计算机网络。网络数据处理系统100包括网络102, 其是用以在网络数据处理系统100内连接在一起的各种设备和计算机 之间提供通信链路的媒介。网络102可以包括连接,例如有线、无线 通信链路,或者光纤缆线。
在所示的例子中,服务器104和服务器106以及存储单元108连 接至网络102。此外,客户端IIO、 112和114连接至网络102。这些 客户端110、 112和114可以例如是个人计算机或者网络计算机。在 所描述的例子中,服务器104为客户端110、 112和114提供数据,. 例如引导文件、操作系统镜像以及应用。在此例子中,客户端IIO、 112和114是服务器104的客户端。网络数据处理系统IOO可以包括 其他服务器、客户端以及未示出的其他设备。
在所描述的例子中,网络数据处理系统IOO是具有网络102的互
联网,其中网络102表示使用传输控制协议/互联网协议(TCP/IP )协 议族相互通信的网络和网关的全球集合。互联网的核心是主节点或主 机计算机之间的高速数据通信线路的主干,包括成千上万对数据和消 息进行路由的商业、政府、教育和其他计算机系统。当然,网络数据 处理系统100还可以实现为多种不同类型的网络,例如内联网、局域 网(LAN)或广域网(WAN)。图1意在示例,并非作为对不同"i兌 明性实施方式的架构限制。
现在参考图2,示出了其中可以实现说明性实施方式的若干方面 的数据处理系统的框图。数据处理系统200是计算机的示例,例如图 1中的服务器104或者客户端110,实现说明性实施方式过程的计算 机可用代码或指令可以位于所述计算机中。
在所描述的例子中,数据处理系统200使用中心架构,包括北桥 和存储器控制器中心(MCH) 202以及南桥和输出/输出(I/O)控制 器中心(ICH)204。处理单元206、主存储器208以及图形处理器210 连接至北桥和存储器控制器中心202。图形处理器210可以通过加速 图形端口 (AGP)连接至北桥和存储器控制器中心202。
在所描述的例子中,LAN适配器212连接至南桥和I/O控制器中 心204。音频适配器216、键盘和鼠标适配器220、调制解调器222、 只读存储器(ROM) 224、硬盘驱动器(HDD) 226、 CD-ROM驱动 器230、通用串行总线(USB)端口和其他通信端口 232以及PCI/PCIe 设备234通过总线238和总线240连接至南桥和I/O控制器中心204。 PCI/PCIe "i殳备可以包括例如用于笔记本计算机的以太网适配器、附加 卡和PC卡。PCI使用卡式总线控制器,而PCIe不使用。ROM 224 例如可以是闪速二进制输入/输出系统(BIOS)。
石更盘驱动器226和CD-ROM驱动器230通过总线240连4妄至南 桥和I/O控制器中心204。硬盘驱动器226和CD-ROM驱动器230例 如可以使用集成驱动电子设备(IDE )或者串行高级技术附件(SATA ) 接口 。超级I/0( SIO )设备236可以连接至南桥和I/O控制器中心204。 操作系统在处理单元206上运行,并且协调和提供对图2中数据处理
系统200内的各种组件的控制。作为客户端,操作系统可以是商业上 可获得的操作系统,例如Microsoft Windows XP (Microsoft和 Windows是微软公司在美国、其他国家、或两者的商标)。面向对象 的编程系统,例如JavaTM编程系统,可以与操作系统结合运行,并提 供从数据处理系统200上执行的Java程序或者应用对操作系统的调用 (Java是Sun Microsystems公司在美国、其他国家、或两者的商标)。 作为服务器,数据处理系统200例如可以是IBM eServer pSeries⑧计算机系统,运行高级交互式可执行(AIX )操作系统或者 LINUX操作系统(eServer、 pSeries和AIX是国际商业机器公司在美 国、其他国家、或两者的商标,而Linux是Linus Torvalds在美国、 其他国家、或两者的商标)。数据处理系统200可以是在处理单元206 中包括多个处理器的对称多处理器(SMP)系统。可选地,可以使用 单处理器系统。
用于操作系统、面向对象的编程系统以及应用或程序的指令位于 例如硬盘驱动器226的存储设备上,并可以载入主存储器208,用以 由处理单元206执行。处理单元206使用计算机可用的程序代码来执 行用于说明性实施方式的过程,其中程序代码可以位于诸如主存储器 208、只读存储器224或者一个或多个外围设备226和230的存储器 中。
本领域的普通技术人员将会意识到,图l-图2中的硬件可以依赖 于实现而变化。除了图1-图2中所描述的硬件之外或是取代这些硬件, 可以使用其他内部硬件或者外围设备,例如闪存、等同的非易失性存 储器或者光盘驱动器等等。而且,说明性实施方式的过程可以应用于 多处理器数据处理系统。
在 一 些说明性实施方式中,数据处理系统200可以是个人数字助 理(PDA),所述个人数字助理被配置有提供非易失性存储器的闪存, 用于存储操作系统文件和/或用户产生的数据。
总线系统可以包括一个或多个总线,例如图2中所示的总线238 或者总线240。当然,可以使用任意类型的通信构造或架构来实现总
线系统,该构造或架构在与其附4妾的不同组件或召 送。通信单元可以包括一个或多个用以传输和接收数据的设备,例如
图2的调制解调器222或者网络适配器212。存储器例如可以是主存 储器208、只读存储器224或者例如可存在于图2中的北桥和存储器 控制器中心202中的高速緩存。图1-图2所描述的示例和上述示例并 不意味着隐含架构限制。例如,除了采取PDA形式外,数据处理系 统200还可以是平板式计算机、膝上型计算机或者电话设备。
图3示出了其中可以实现说明性实施方式的若干方面的Cell BE 芯片的示例性框图。Cell BE芯片300是单片多处理器实现,其针对 以例如游戏控制台、桌面系统和服务器的富媒体应用为目标的分布式 处理。
可以在逻辑上将Cell BE芯片300划分为以下功能性组件Power PC⑧处理器元件(PPE) 301,协处理器单元(SPU) 310、 311和312, 以及存储器流控制器(MFC) 305、 306和307。尽管示出了协处理器 元件(SPE) 302、 303和304以及PPE301作为例子,但可以支持任 意类型的处理器元件。示例性CellBE芯片300实现包括1个PPE 301 和8个SPE,尽管图3只示出了 3个SPE302、 303和304。 CELL处 理器的SPE是被设计用以加速媒体和数据流负荷的新处理器架构的 首次实现。
Cell BE芯片300可以是片上系统,使得在单个微处理器芯片上 提供图3中所描述的每个元件。此外,Cell BE芯片300是异类处理 环境,其中SPU310、 311和312中的每一个可以从系统中其他SPU 中的每一个接收不同的指令。此外,用于SPU310、 311和312的指 令集不同于Power PC⑧处理器单元(PPU) 308的指令集,例如,PPU 308可以执行Power 架构中基于精简指令集计算机(RISC )的指令, 而SPU 310、 311和312扭j亍向量化指令。
每个SPE包括一个SPU 310、 311或312,其具有自己的本地存 储(LS)区域313、 314或315以及专用MFC 305、 306或307,其中 专用MFC305、 306或307具有相关联的存储器管理单元(MMU )316、317或318,以保持和处理存储器保护和访问允许信息。尽管再次示 出SPU作为例子,但可以支持任意类型的处理器单元。而且,Cell BE 芯片300实现了元件互连总线(EIB) 319和其他I/0结构,以便支持 片上和外部数据流。
EIB 319的作用是针对PPE301和SPE 302、 303和304的主片上 总线。此外,EIB 319接口连接至专用于片外访问的其他片上接口控 制器。片上接口控制器包括存储器接口控制器(MIC) 320和Cell BE 接口单元(BEI) 323,其中MIC 320提供2个极限数据率I/O ( XIO ) 存储器通道321和322,以及BEI 323 4是供2个高速外部I/O通道以 及用于Cell BE 300的内部中断控制。BEI 323被实现为总线接口控制 器(BIC,标识为BIC0和BIC1 )324和325以及I/O接口控制器(IOC ) 326。两个高速外部I/O通道连接至Redwood Rambus Asic Cell (RRAC)接口的一个极(polarity),为Cell BE 30(U是供灵活的输 入和输出(FlexIO—0和FlexIO—1 ) 353。
每个SPU310、 311或312具有相应的LS区域313、 314或315 以及协执行单元(SXU) 354、 355或356。每个单个SPU 310、 311 或312可以执行仅仅来自其关联LS区域313、314或315内的指令(包 括数据装载和存储操作)。为此原因,经由SPU 310、 311和312专 用的MFC 305、 306和307, MFC直接存储器访问(DMA)操作执行 去往或来自系统中别处存储设备的全部所需数据传送。
在SPU 310、 311或312上运行的程序只使用LS地址来参考其自 己的LS区域313、314或315。然而,还针对每个SPU的LS区域313、 314或315指派全部系统的存储器映射内的实际地址(RA) 。 RA是 设备将对其进行响应的地址。在Power PC⑧中,应用通过有效地址 (EA)来参考存储器位置(或设备),EA继而被映射为针对该存储 器位置(或设备)的虚拟地址(VA) , VA继而被映射为RA。 EA 是应用用来参考存储器和/或设备的地址。该映射允许操作系统分配比 系统中物理存在的存储器更多的存储器(也即,VA所参考的术语虚 拟存储器)。存储器映射是系统中的所有设备(包括存储器)及其相
应RA的列表。存储器映射是实际地址空间的映射,其中该映射识别
设备或存储器将对其进行响应的RA。
这允许授权软件将LS区域映射为过程的EA,以实现一个SPU 的LS和其他SPU的LS区域之间的直接存储器访问传送。PPE 301 还可以使用EA来直接访问任何SPU的LS区域。在Power PC②中, 存在3个状态(问题、授权和管理者)。授权软件是在授权状态或管 理者状态中运行的软件。这些状态具有不同的访问权限。例如,授权
器。问题状态是处理器在运行应用时通常处于的状态,并通常被禁止 访问系统管理资源(例如用于映射实际存储器的数据结构)。
MFC DMA数据命令总是包括一个LS地址和一个EA。 DMA命 令将存储器从一个位置复制到其他位置。在这种情况下,MFC DMA 命令在EA和LS地址之间复制数据。LS地址直接寻址对应于MFC 命令队列的相关联SPU310、 311或312的LS区域313、 314或315。 命令队列是MFC命令的队列。存在保持来自SPU的命令的一个队列,: 以及保持来自PXU或其他设备的命令的一个队列。然而,可以将EA 布置或映射为访问系统中的任何其他存储器存储区域,包括其他SPE 302、 303和304的LS区i或313、 314和315。
主存储设备(未示出)由系统(例如图2中所示系统)中的PPU 308, PPE 301, SPE 302、 303和304以及I/O设备共享。保持在主存 储器中的所有信息对于系统中的所有处理器和设备是可见的。程序使 用EA来参考主存储器。由于MFC代理命令队列、控制和状态工具 具有RA,并且使用EA来映射RA,因此Power处理器元件可以使用 主存储设备和相关联SPE 302、 303和304的本地存储设备之间的EA 来发起DMA才喿作。
作为示例,当SPU 310、 311或312上运行的程序需要访问主存 储器时,SPU程序产生具有适当EA和LS地址的DMA命令,并将 该DMA命令放置到MFC 305、 306或307命令队列中。在SPU程序 将命令ii置到队列中之后,MFC 305、 306或307才丸^亍该命令,并在
LS区域和主存储器之间传送所需数据。MFC 305、 306或307为例如 PPE301的其他设备所产生的命令提供第二代理命令队列。MFC代理 命令队列通常用来在开始SPU之前将程序存储在本地存储设备中。 MFC代理命令还可以用于上下文存储操作。
EA地址向MFC提供可由MMU转换为RA的地址。转换过程允 许系统存储器的虚拟化,以及实际地址空间中存储器和设备的访问保 护。由于LS区域一皮映射为实际地址空间,因此EA还可以寻址所有 SPULS区域。
Cell BE芯片300上的PPE301包4舌64 4立PPU 308和Power PC 存储子系统(PPSS) 309。 PPU308包含处理器执行单元(PXU) 329、 一级(LI)高速緩存330、 MMU 331以及替换管理表(RMT ) 332。 PPSS 309包括可高速緩存接口单元(CIU) 333、不可高速緩存单元 (NCU) 334、 二级(L2)高速緩存328、 RMT 335以及总线接口单 元(BIU) 327。 BIU 327将PPSS 309连接至EIB 319。
SPU 310、 311或312和MFC 305、 306和307通过具有容量的单 向通道彼此通信。通道基本上是使用34个SPU指令之一来访问的 FIFO;读通道(RDCH )、写通道(WRCH )和读通道计数(RDCHCNT ), RDCHCNT返回通道中的信息量。容量是FIFO的深度。通道传输去 往和来自MFC 305、 306和307以及SPU 310、 311和312的数据。 BIU 339、 340和341将MFC 305、 306和307连接至EIB 319。
MFC 305、 306和307为SPU 310、 311和312提供两个重要功能。 MFC 305、 306和307在SPU 310、 311或312, LS区域313、 314或 315,以及主存储器之间移动数据。此外,MFC 305、 306和307在 SPU 310、 311和312与系统中的其他设备之间提供同步工具。
MFC 305、 306和307实现具有4个功能性单元直接存4诸器访 问控制器(DMAC) 336、 337和338; MMU 316、 317和318;原子 单元(ATO) 342、 343和344; RMT 345、 346和347;以及BIU 339、 340和341。 DMAC 336、 337和338维护和处理MFC命令队列(MFC CMDQ)(未示出),其包括MFC SPU命令队列(MFC SPUQ )和
MFC代理命令队列(MFC PrxyQ )。 16条目的MFC SPUQ处理从SPU 通道接口接收的MFC命令。8条目的MFC PrxyQ通过存储器映射输 入和输出(MMIO )装载和存储操作来处理来自其他设备(例如,PPR 301或SPE 302、 303和304)的MFC命令。典型的直接存储器访问 命令在LS区域313、 314或315与主存储器之间移动数据。使用MFC DMA命令的EA参数对包括主存储器、本地存储设备以及具有RA的 所有设备的主存储设备进行寻址。使用MFC DMA命令的本地存储参 数来寻址相关联的逻辑存储设备。
在虚拟模式中,MMU316、 317和318提供地址转换和存储器保 护工具,以便处理来自DMAC 336、 337和338的EA转换请求,并 发回转换后的地址。每个SPE的MMU维护分段旁视緩沖器(SLB) 和转换旁视緩冲器(TLB ) 。 SLB将EA转换为VA,并且TLB将SLB 所产生的VA转换为RA。 EA由应用使用,并且通常是32位或者64 位地址。不同的应用或者应用的多个副本可以使用相同的EA来参考 不同的存储位置(例如,应用的两个副本,每个具有相同的EA,将 需要两个不同的物理存储器位置)。为了实现它,首先将EA转换到 大的多的VA空间中,VA空间对于才喿作系统下运^"的所有应用是7^ 共的。由SLB来执行EA到VA的转换。继而使用TLB将VA转换 为RA,其中TLB是包含VA到RA映射的映射表或者页表的高速緩 存。该表由操作系统维护。
ATO 342、 343和344提供维护与系统中其他处理单元的同步所 需的数据高速緩存级别。原子直接存储器访问命令为协处理器元件提 供用以执行与其他单元的同步的装置。
BIU 339、 340和341的主要功能是为SPE 302、 303和304提供 到EIB的接口。 EIB 319在Cel1 BE芯片300上的所有处理器内核与 附接至EIB 319的外部接口控制器之间提供通信路径。
MIC 320提供EIB 319与XIO 321和322中一个或两个之间的接 口 。极限数据率(XDRTM )动态随机访问存储器(DRAM )是由Rambus 提供的高速、高串行存储器。由Rambus提供的宏访问极限数据率动
态随机访问存储器,在此文档中称为XIO 321和322。
MIC 320在EIB 319上只是从属的。MIC 320确认在其配置地址 范围内的命令,该地址范围对应于所支持的中心中的存储器。
BIC 324和325管理从EIB 319到两个外部设备任意一个的片上 或片外数据传送。BIC 324和325可以与1/0设备交换非一致的业务 量,或者它可以将EIB319扩展至其他设备,该设备甚至可以是其他 Cell BE芯片。在用来扩展EIB 319时,总线协议维护Cell BE芯片300 中的高速緩存和附接的外部设备中高速緩存之间的一致性,其中附接 的外部设备可以是其他Cell BE芯片。
IOC 326处理在1/0接口设备中发起的、并以一致EIB 319为目 的地的命令。I/O接口设备可以是附接至I/O接口的任何设备,例如 附接多个I/O设备或者以非一致方式访问的其他Cell BE芯片300的 1/0桥芯片。IOC 326还截取EIB 319上以位于I/O桥芯片或非一致 Cell BE芯片300之中或之后的存储器映射寄存器为目的地的访问, 并将它们路由到适当的I/O接口。 IOC 326还包括内部中断控制器 (lie) 349和I/O地址转换单元(I/O Trans) 350。
普适逻辑351是为Cell BE芯片300提供时钟管理、测试特征和 加电序列的控制器。普适逻辑可以提供用于处理器的热管理系统。普 适逻辑包含通过联合测试行动组(JTAG)或串行外围接口 (SPI)接 口与系统中其他设备的连接,其中JTAG和SPI是本领域公知的。
尽管已经提供了如何可以实现不同组件的特定示例,但是这并不 意味着限制其中可以使用说明性实施方式方面的架构。说明性实施方 式的方面可以与任何多核处理器系统结合使用。
在应用或软件的执行期间,Cell BE芯片中区域的温度可能升高。 若保持不加限制,温度可能升高到最大特定结温度之上,这导致不正 确的操作或物理损坏。为了避免这些情况,Cell BE芯片的数字热管 理单元在操作期间监控并试图控制Cell BE芯片内的温度。数字热管 理单元包括在此描述的热管理控制单元(TMCU)和10个分布式数 字热传感器(DTS)。
8个SPE的每一个中都具有一个传感器, 一个传感器位于PPE中, 并且一个靠近线性热二极管。线性热二极管是计算温度的片上二极 管。将这些传感器定位在相关联单元内通常在大多数应用的执行期间 经历最大温度升高的区域附近。热控制单元监控来自这些传感器的每 一个的反馈。如果传感器的温度升到高于可编程点之上,则可以将热 控制单元配置为导致对PPE或者一个或多个SPE的中断,并动态地 对相关联PPE或SPE的执行进行调节。
在可编程数目的周期内停止和运行PPE或SPE提供了所必需的 调节。中断允许授权软件采取修正动作,同时动态调节试图在没有软 件干预的情况下将宽带引擎芯片内的温度保持在可编程水平之下。授 权软件将调节水平设置为等于或低于应用提供的推荐设置。每个应用 可以是不同的。
如果对PPE或SPE进行调节没有有效地管理温度并且温度继续 升高,普适逻辑351在温度达到热过载温度(由可编程配置数据定义) 时停止Cell BE芯片的时钟。热过载特征保护Cell BE芯片不受物理 损坏。从这种情况中恢复需要硬重置。DTS所监控的区域的温度不一 定是相关联PPE或SPE内最热的点。
图4示出了根据说明性实施方式的示例性热管理系统。可以将热 管理系统实现为集成电路,例如图3的普适逻辑单元351提供的集成 电路。热管理系统可以是专用集成电路、处理器、多处理器或者异类 多核处理器。热管理系统在IO个分布式DTS(为了筒单仅示出了 DTS 404、 406、 408和410)与热管理控制单元(TMCU) 402之间划分。 SPU传感器440中的DTS 404和406的每一个、PPU传感器442中的 DTS 408、以及靠近线性热二极管(未示出)的传感器444中的DTS 410 提供当前温度检测信号。该信号指明温度等于或低于TMCU402所设 置的当前温度检测范围。TMCU402使用来自DTS404、 406、 408和 410的信号的状态来继续跟踪每个PPE或SPE的DTS 404、 406、 408 和410的温度。由于对温度进行跟踪,TMCU402将当前温度提供为 数值,其代表相关联PPE或SPE内的温度。对各个传感器进行校准
的制造设置内部校准存储428。
除了上述TMCU402的元件之外,TMCU402还包含多路复用器 446和450、工作寄存器448、比较器452和454、串行器456、热管 理控制状态机458以及数据流(DF )单元460。多路复用器446和450 对各种传出和传入信号进行合成,以用于在单个媒介上的传输。工作 寄存器448保持TMCU402中执行的乘法的结果。比较器452和454 提供两个输入的比较功能。比较器452是大于等于比较器。比较器454 是大于比较器。串行器456将来自源的低速并行数据转化为高速串行 数据以用于传输。串行器456与SPU传感器440上的解串行器462 和464结合工作。解串行器462和464将接收到的高速串行数据转化 为低速并行数据。热管理控制状态机558启动TMCU402的内部初始 化。DF单元460控制去往和来自热管理控制状态一几458的数据。
可以将TMCU 402配置为使用中断逻辑416来导致PPE的中断, 以便使用调节逻辑418来动态地对PPE或SPE的执行进行调节。
点进行比较。每个DTS具有独立的可编程中断温度。如果温度在所 编程的中断温度范围内,如果PPE是启用的,则TMCU 402产生对 PPE的中断。取决于方向位,在温度高于或低于所编程水平的情况下 产生中断,这将在稍后讨论。此外,第二可编程中断温度可以导致到 系统控制器的注意信号的断言。系统控制器在系统平面上,并通过 SPI端口与Cell BE连接。
如果与PPE或SPE相关联的DTS所检测到的温度等于或高于调 节点,则TMCU 402对PPE或者一个或多个SPE的执行进行调节, 这是通过独立地启动和停止该PPE或SPE来完成的。软件可以4吏用 热管理寄存器来控制调节的比率和频率,热管理寄存器例如为热管理 停止时间寄存器和热管理比例寄存器。
图5示出了根据说明性实施方式的温度图以及可能发生中断和动 态调节的各点。在图5中,线500可以代表PPE或SPE的温度。如 果PPE或SPE正常运行,则在标记为"N"的区域中没有调节。当PPE或SPE的温度达到调节点时,TMCU开始对相关联PPE或SPE 的执行进行调节。将发生调节的区域标记为"T"。当PPE或SPE的 温度下降到末端调节点之下时,执行返回正常操作。
如果温度出于任何原因而继续上高并达到完全调节点或之上的 温度,则TMCU 402停止PPE或SPE,直到温度下降到完全调节点之 下。将PPE或SPE停止的区域标记为"S"。将在温度达到或超过完 全调节点时停止PPE或SPE称为内核停止保护。
在此示例性说明中,中断温度设置在调节点之上;因此,TMCU 402产生中断,其是对软件的通知因为温度处于或者仍然在内核停 止温度之上,因此停止相应的PPE或SPE;假设热中断屏蔽寄存器 (TM_ISR)被设为活动,参见图4中的422,则允许PPE或SPE在 未决中断期间继续。如果动态调节被禁用,则授权软件管理热条件。 不对热条件进行管理可能导致相关联PPE或SPE的不适当操作或由. 热过载功能引起的热关机。
返回图4,热传感器状态寄存器包括热传感器当前温度状态寄存 器412和热传感器最大温度状态寄存器414。这些寄存器允许软件读 取每个DTS的当前状态,确定在一段时间中达到的最高温度,并在 温度达到可编程温度时导致中断。热传感器状态寄存器具有相关联的 实际地址分页,该分页可被标记为管理者授权的。
热传感器当前温度状态寄存器412包含针对每个DTS的当前温度 的编码或数字值。由于传感器的温度检测的延迟、读取这些寄存器的 延迟、以及正常的温度波动,这些寄存器中所报告的温度是较早时间 点的温度,并且可能没有反映软件接收到数据时的实际温度。由于每 个传感器具有专用的控制逻辑,DTS 404、 406、 408和410中的控制 逻辑并行地采样所有传感器。TMCU 402在采样周期的结尾更新热传 感器当前温度状态寄存器412的内容。TMCU 402将热传感器当前温 度状态寄存器412中的值改变为当前温度。TMCU 402每个 SenSampTime周期对新的当前温度进行轮询。SenSampTime配置字段 控制采样周期的长度。
热传感器最大温度状态寄存器414包含每个传感器从上次读取热 传感器最大温度状态寄存器414开始所达到的经过数字编码的最大温 度。由软件或者任何片外设备(例如片外设备472或片外I/O设备474 ) 读取这些寄存器,这使TMCU 402将每个传感器的当前温度复制到寄 存器中。在读取之后,TMCU402从这点开始继续跟踪最大温度。每 个寄存器的读取是独立的。 一个寄存器的读取不影响其他寄存器的内 容。
每个传感器具有专用控制逻辑,因此DTS404、 406、 408和410 中的控制逻辑并行地釆样所有传感器。TMCU402将热传感器最大温 度状态寄存器414中的值改变为当前温度。TMCU 402每个 SenSampTime周期对新的当前温度进行轮询。SenSampTime配置字段 控制采样周期的长度。
中断逻辑416中的热传感器中断寄存器控制对PPE的热管理中断 的产生。这组寄存器包括热传感器中断温度寄存器420 (TS—ITR1和 TS一ITR2)、热传感器中断状态寄存器422 (TS—ISR)、热传感器中 断屏蔽寄存器424 (TS—IMR)以及热传感器全局中断温度寄存器426 (TS一GITR)。热传感器中断温度寄存器420和热传感器全局中断温 度寄存器426包含针对导致对PPE的热管理中断的温度的编码。
当针对传感器的热传感器当前温度状态寄存器412中以数字格式 经过编码的温度大于或等于热传感器中断温度寄存器420中相应传感 器的中断温度编码时,TMCU 402设置热传感器中断状态寄存器422 中的相应状态位(TSJSR[Sx])。当针对任何传感器的热传感器当前 温度状态寄存器412中的温度编码大于或等于热传感器全局中断温度 寄存器426中的全局中断温度编码时,TMCU402设置热传感器中断 状态寄存器422中的相应状态位(TS—ISR[Gx])。
如果任何热传感器中断温度状态寄存器422的位(TS—ISR[Sx]), 被设置,并且热传感器中断屏蔽寄存器424中的相应屏蔽位 (TS—IMR[Mx])也被设置,则TMCU402断言对PPE的热管理中断 信号。如果任何热传感器中断状态寄存器422的位(TS—ISR[Gx])被
设置,并且热传感器中断屏蔽寄存器424中的相应屏蔽位
(TS—IMR[Cx])也被设置,则TMCU 402断言对PPE的热管理中断 信号。
为了清除中断条件,授权软件应当将热传感器中断屏蔽寄存器中 的任何相应屏蔽位设置为"0"。为了启用热管理中断,授权软件保 证温度低于对于相应的寄存器的中断温度,并继而执行以下序列。在 温度不低于中断温度时启动中断可能导致产生立刻的热管理中断。
1. 将"1"写到热传感器中断状态寄存器422中的相应状态位。
2. 将"1"写到热传感器中断屏蔽寄存器424中的相应状态位。 热传感器中断温度寄存器420包含用于位于SPE、 PPE中以及靠
近线性热二极管的传感器的中断温度水平。TMCU 402对该寄存器中 经过编码的中断温度水平与热传感器当前温度状态寄存器412中的相 应中断温度编码进行比较。这些比较的结果产生热管理中断。每个传 感器的中断温度水平是独立的。
除了在热传感器中断温度寄存器420中设置的独立的中断温度水 平之外,热传感器全局中断温度寄存器426包含第二中断温度水平。 该水平适用于Cell BE芯片中的所有传感器。TMCU 402对该寄存器 中经过编码的全局中断温度水平与针对每个传感器编码的当前温度 编码进行比较。这些比较的结果产生热管理中断。
全局中断温度的目的是提供Cell BE芯片中温度升高的早期指 示。授权软件和系统控制器可以使用该信息来启动控制温度的动作, 例如,提高风扇速度,跨过单元对应用软件进行再平衡,等等。
热传感器中断状态寄存器422标识哪些传感器满足中断条件。中 断条件是指每个热传感器中断状态寄存器422位所具有的特定条件, 在满足该条件时可能发生中断。仅在相应的屏蔽位被设置的情况下向 PPE给出实际中断。
热传感器中断状态寄存器422包含三组状态位数字传感器全局 阈值中断状态位(TSJSR[Gx])、数字传感器阔值中断状态位 (TS一ISR[Sx])以及数字传感器全局低于阈值中断状态位(TS—ISR[Gb])。
当热传感器当前温度状态寄存器412中针对传感器编码的温度大 于或等于热传感器中断温度寄存器420中相应传感器的中断温度编 码、并且相应的方向位热传感器中断屏蔽寄存器424 TM—IMR[Bx]= '0,时,TMCU 402设置热传感器中断状态寄存器422中的状态位
(TS一ISR[Sx])。此外,当热传感器当前温度状态寄存器412中针对 传感器的温度编码低于热传感器中断温度寄存器420中相应寄存器的 中断温度编码、并且相应的方向位热传感器中断屏蔽寄存器424 TM—IMR[Bxfr时,TMCU 402设置热传感器中断状态寄存器422 TS一ISR[Sx]。
当任何参与传感器的当前温度大于或等于热传感器全局中断温 度寄存器426以及热传感器中断屏蔽寄存器424 TSJMR[Bg]的温度 时,TMCU 402将热传感器中断状态寄存器422 TS—ISR[Gx]设置为 "0"。各个热传感器中断状态寄存器422 TSJSR[Gx]位指明哪些相 应的传感器满足这些条件。
当热传感器中断屏蔽寄存器424 TS一IMR[Cx]中的所有参与传感 器的当前温度都低于热传感器全局中断温度寄存器426以及热传感器 中断屏蔽寄存器424 TSJMR[bg]的温度时,TMCU 402将热传感器中 断状态寄存器422 TS—ISR[Gb]设置为"1"。由于所有参与传感器的 当前温度都低于热传感器全局中断温度寄存器426的温度,因此只存 在一个状态位热传感器中断状态寄存器422 (TS—ISR[Gb])用于全局 低于阈值中断条件。
一旦热传感器中断状态寄存器422中的状态位(TS—ISR[Sx]、[Gx] 或[Gb])被设置为"1",则TMCU 402维持该状态,直到授权软件 将该状态位重置为"0"。授权软件通过将"1"写到热传感器中断状 态寄存器422中的相应位来将状态位重置为"0"。
热传感器中断屏蔽寄存器424包含用于各个传感器的两个字段以 及用于全局中断条件的多个字段。中断条件是指每个热传感器中断屏 蔽寄存器424位所具有的特定条件,在满足该条件时可能发生中断。 仅在相应的屏蔽位被设置的情况下向PPE给出实际中断。
用于各个传感器的两个热传感器中断屏蔽寄存器数字热阈值中
断字段是TS一IMR[Mx]和TS—IMR[Bx]。热传感器中断屏蔽寄存器424 TS一IMR[Mx]屏蔽位阻止中断状态位产生对PPE的热管理中断。热传 感器中断屏蔽寄存器424 TS—IMR[Bx]方向位设置用于中断条件的温 度方向,其在热传感器中断温度寄存器420中的相应温度之上或之下。 通过将热传感器中断屏蔽寄存器424TS一IMR[Bx]设置为'T,来将用 于中断条件的温度设置为低于热传感器中断温度寄存器420中的相应 温度。通过将热传感器中断屏蔽寄存器424TS—IMR[Bx]设置为"0" 来将用于中断条件的温度设置为等于或高于热传感器中断温度寄存 器420中的相应温度。
用于全局中断条件的热传感器中断屏蔽寄存器424字段是 TS—IMR[Cx]、 TS_IMR[BG]、 TS—IMR[Cgb]和TS—IMR[A]。热传感器 中断屏蔽寄存器424 TS一IMR[Cx]屏蔽位阻止全局阈值中断,并选择 哪些传感器参与全局低于阈值中断条件。热传感器中断屏蔽寄存器 424 TS一IMR[Bc]方向位选择用于全局中断条件的温度方向。热传感器 中断屏蔽寄存器424TS—IMR[Cgb]屏蔽位阻止全局低于阈值中断。热 传感器中断屏蔽寄存器424 TS_IMR[A]断言向系统控制器的注意。注 意是给系统控制器的信号,其指明普适逻辑需要注意或者具有针对系 统控制器的状态。可以将注意映射为系统控制器中的中断。系统控制 器在系统平面上,并且通过SPI端口与Cell宽带引擎连接。
通过将热传感器中断屏蔽寄存器424 TS一IMR[B(j]设置为"1"来 设置在热传感器中断屏蔽寄存器424 TS—IMR[Cx]中设置的所有参与
围。通过将热传感器中断屏蔽寄存器424TS一IMR[Bc]设置为"0"来 设置在任意参与传感器的温度大于或等于热传感器全局中断温度寄 存器426中的相应温度时发生全局中断条件的温度范围。如果将热传 感器中断屏蔽寄存器424 TS—IMR[A]设置为"1",则当任意热传感 器中断屏蔽寄存器424 TS一IMR[Cx]位及其相应的热传感器中断状态
寄存器422状态位(TS—ISR[Gx])都被设置位"1"时,TMCU 402 断言注意(attention)。此外,当热传感器中断屏蔽寄存器424 TS—IMR[Cgb]和热传感器中断状态寄存器422 TS—ISR[Gb]都被设置 为"1"时,TMCU 402断言注意。
当任意热传感器中断屏蔽寄存器424 TS—IMR[Mx]位及其相应的 热传感器中断状态寄存器422状态位(TSjSR[SxJ)都被设置为"1" 时,TMCU 402向PPE给出热管理中断。当任意热传感器中断屏蔽寄 存器424 TSJMR[Cx]位及其相应的热传感器中断状态寄存器422状 态位TS—ISR[Gx]都被设置为"1"时,TMCU 402产生热管理中断。 此外,当热传感器中断屏蔽寄存器424 TSJMR[Cgb]和热传感器中断 状态寄存器422 TS—TSR[Gb]都被设置为"1"时,TMCU 402向PPE 给出热管理中断。
调节逻辑418中的动态热管理寄存器包含用于控制PPE或SPE 的执行调节的参数。动态热管理寄存器是一组寄存器,包含热管理控 制寄存器430 (TM_CR1和TM—CR2)、热管理调节点寄存器432 (TM—TPR)、热管理停止时间寄存器434 ( TM—STR1和TM_STR2 )、 热管理调节比例寄存器436 (TM—TSR)以及热管理系统中断屏蔽寄 存器438 (TM—SIMR)。
热管理调节点寄存器432设置用于传感器的调节温度点。在热管 理调节点寄存器432中可以设置两个独立的调节温度点,ThrottlePPE 和ThrottleSPE, 一个用于PPE, 一个用于SPE。而且,该寄存器中还 包含用于禁用调节和停止PPE或SPE的温度点。当温度等于或高于 调节点时,PPE或SPE的执行调节开始。当温度下降到禁用调节的温 度(TMTPR[EndThrottlePPE/EndThrottleSPE])之下时,调节停止。 如果温度达到完全调节或停止温度 (TM—TPR[FullThrottlePPE/FullThrottleSPE]) , TMCU 402停止PPE 或SPE的执行。热管理控制寄存器430控制调节行为。
热管理停止时间寄存器434和热管理调节比例寄存器436控制调 节的频率和量。当温度达到调节点时,TMCU402在热管理停止时间
寄存器434中的相应值中的停止时间乘以热管理比例寄存器436中的 相应比例值所指定的时钟数目内停止相应的PPE或SPE。 TMCU 402 继而允许PPE或SPE在运行时间乘以相应比例值所指定的时钟数目 内运行,其中运行时间是基于实现的固定时间量减去停止时间的差。
两者的乘数。 一个例子可以是(停止x比例)/(运行x比例)。内核停止的 时间百分比保持相同,但是可以增加周期或者降低频率。该序列继续, 直 到 温 度 下 降 到 禁 用 调 节 (TMTPR[EndThrottlePPE/EndThrottleSPE])之下。
热管理系统中断屏蔽寄存器438选择哪些PPE中断将导致TMCU 402禁用调节。当这些中断仍然未决并且屏蔽仍然选择该未决中断时, TMCU 402将继续阻止调节。如果屏蔽被解选择或中断不再未决, TMCU 402将不再阻止调节。
热管理控制寄存器430针对每个PPE或SPE独立地设置调节模 式。控制位在两个寄存器之间分割。下面是可以针对每个PPE或SPE 独立设置的5种不同模式。
禁用动态调节(包括内核停止保护)。
正常操作(启用动态调节和内核停止保护)。
PPE或SPE始终调节(启用内核停止保护)。
禁用内核停止保护(启用动态调节,并且禁用内核停止保护)。
PPE或SPE始终调节,并且禁用内核停止保护。
对于正在运行应用或操作系统的PPE或SPE,授权软件应当将控 制位设置为正常操作。如果PPE或SPE没有运行应用代码,授权软 件应当将控制位设置为禁用。"PPE或SPE总是调节"模式意在应用 开发。这些模式有助于确定应用是否可以在极限调节条件下进行操 作。只有当授权软件主动地管理热事件时,才能够允许PPE或SPE 与动态调节或内核停止保护禁用结合执行。
热管理系统中断屏蔽寄存器438控制哪些PPE中断导致热管理逻 辑临时停止对PPE进行调节。在中断未决时,TMCU 402临时挂起针
对两个线程的调节,而不论中断的目标线程。当线程不再未决时,只 要调节条件仍然存在,则可以恢复调节。从不根据系统中断条件来禁
用SPE的调节。可以覆盖调节条件的PPE中断条件如下 夕卜部 递减
管理者递减 系统错误 热管理
热管理调节点寄存器432包含PPE或SPE的执行调节开始和结 束的已编码温度点。该寄存器还包含对PPE或SPE的执行完全调节 的已编码温度点。
软件使用热管理调节点寄存器中的值来设置三个温度点,以用于 在三个热管理状态之间改变正常运行(N) 、 PPE或SPE调节(T) 以及PPE或SPE停止(S ) 。 TMCU 402支持用于PPE和SPE的独立 温度点。
当热传感器当前温度状态寄存器412中经过编码的传感器当前温 度等于或大于调节温度(ThrottlePPE/ThrottleSPE)时,相应PPE或 SPE的执行调节开始(如果启用的话)。执行调节继续,直到相应传 感器的已编码当前温度小于结束调节的已编码温度(EndThrottlePPE/ EndThrottleSPE )。作为保护测量,如果经过编码的当前温度等于或 大于完全调节点(FullThrottlePPE/FullThrottleSPE),贝'J TMCU 402 停止相应的PPE或SPE。
热管理停止时间寄存器434控制应用于热管理调节状态中的指定 PPE或SPE的调节量。热管理停止时间寄存器434中由软件设置的值 代表停止内核的时间量相对于允许内核运行的时间量(停止/运行)或 者说停止内核的时间百分比。热管理调节比例寄存器436控制PPE或 SPE停止和运行的实际时钟数目(NClk)。
热管理调节比例寄存器436控制PPE或SPE在热管理调节状态 期间停止和运行的实际周期数。该寄存器中的值是配置环设置 TN^Config[MinSt叩SPE]的倍数。以下等式计算停止和运行周期的实 际数目
SPE运行和停止时间
PEStopTime = (TMSTR1 [St叩Core(x)] * TM—Config[MinStopSPE]) * m
TM一TSR[ScaleSPE] SPERunTime = (32 - TM—STRl[StopCore(x)]) * TM—Config[MinStopSPE]) *
TM一TSR[ScaleSPE]
Power PC 元件运行和停止时间
PPESt叩Time = (TM一STR2[StopCore(8)] * TM—Config[MinStopPPE]) *
TM一TSR[ScalePPE] PPERunTime = (32陽TM—STR2[StopCore(8)]) * TM一Config[MinStopPPE]) *
TM一TSR[ScalePPE]
运行和停止时间可以由中断以及对各种热管理寄存器进行写操作的 授权软件变更。
片上性能监控器466可以提供性能监控,其可以跟踪由例如DTS 404、 406、 408和410的温度传感设备所提供的热数据。热数据可以 存储在存储器470中,或是写入片外设备472 (例如图2的主存储器 208 )或片外I/O设备474 (例如图2的南桥和输入/输出(I/O )控制 器中心(ICH) 204)。位于性能监控器466中的控制器468控制将热 数据发送到哪里的决定。
尽管以下描述涉及一个指令流和一个处理器,但是,指令流可以 是指令流的集合,并且处理器可以是处理器的集合。换言之,集合可 以是刚好单个指令流和单个处理器,或者是两个或更多指令流和处理 器。
使用上文描述的架构,可以对Cell BE芯片的热管理和热调节进 行多种改进以及添加可编程性。这些改进中的一些和所添加的可编程 性支持关4建的特征以及其他增强可用性的特征。
图6示出了根据说明性实施方式的用于记录最大温度的操作的流 程图。操作开始时,包含CellBE芯片(例如图3的CellBE芯片300) 的计算机系统启动或重置(步骤602)。如前所述,CellBE芯片包括
通过图3的普适逻辑单元351提供的热管理系统。对于每个DTS,例 如图4的DTS404、 406、 408和410,热管理系统包括一组最大温度 状态寄存器和一组当前温度状态寄存器,例如图4的最大温度状态寄 存器414和当前温度状态寄存器412。当前温度状态寄存器存储从热 管理控制状态机(例如图4的热管理控制状态机458 )上次感知其目 标DTS以来该DTS的当前温度。最大温度状态寄存器存储从上次计 算机系统在最大温度状态寄存器中进行读取或者计算机系统重置以 来其目标DTS的最大温度。可以使用任意数目的例如处理器、集成 电路的设备来读取最大温度状态寄存器,或者通过使用串行外围接口
(SPI)端口或联合测试行动组(JTAG)端口的设备来读取。虽然这 样,通过JTAG端口读取没有引起重置。
将下面的讨论说明性地限制为 一个DTS ,计算机系统启动或重置
(步骤602)后的最大温度是零。只要热管理控制状态机感知到DTS 的温度,热管理控制状态机就将所感知的DTS温度发送给比较器, 例如图4的比较器454 (步骤604)。比较器对所感知的温度与存储 在针对该DTS的最大温度状态寄存器中的当前最大温度进行比较(步 骤606)。如果在步骤606处所感知的温度高于最大温度状态寄存器 中存储的当前最大温度,则所感知的最大温度变为新的最大温度,并 且热管理控制状态机将该新的最大温度记录在最大温度状态寄存器 中(步骤608)。换言之,热管理控制状态机重写或替换存储在最大 温度状态寄存器中的当前最大温度。如果在步骤606所感知的温度低 于或等于最大温度状态寄存器中所存储的当前最大温度,则最大温度 状态寄存器保持最大温度状态寄存器中存在的当前最大温度(步骤 610)。
最大温度状态寄存器中的当前最大温度停留在最大温度,直到计 算机系统以读取请求的形式读取最大温度状态寄存器(步骤612)或 是计算机系统重置。如果当前最大温度未被读取,则操作返回步骤 604。如果在步骤612计算机读取了当前最大温度,则热管理控制状 态机将当前最大温度重置为当前温度状态寄存器中的当前温度(步骤
614),操作返回步骤604。
对于该操作的示例,如果例如处理器内核或处理器本身的特定单 元的DTS在一段时间内感知到的温度是67。C、 70°C、 75。C、 72。C 和74。C,则最大温度状态寄存器中的最大温度将是75。C。如果在DTS 的第四感知之后,计算机系统发出读取请求,则返回的最大温度将是 75°C。然而,这时热管理控制状态机将最大温度重置为当前温度,并 且在DTS执行的最后的感知之后,最大温度状态寄存器中的最大温 度将是74。C。
因此,最大温度状态寄存器的目的是记录从最大温度寄存器最后 被读取以来DTS所达到的最大温度。该最大温度信息辅助操作系统 来确定在应用或程序的执行期间DTS所达到的最大温度,而无需持 续对当前温度寄存器进行轮询。持续的轮询将影响系统的性能并因此 可能影响最大温度。此外,轮询当前温度并未保证读取了最大温度。 如果最大温度出现在对当前温度的读取之间,将出现这种情况。
图7示出了根据其他说明性实施方式的通过性能监控来跟踪热数 据的操作的流程图。如前所述,Cell BE芯片包括通过图3的普适逻 辑单元351提供的热管理系统。可以通过性能监控器,例如图4的性 能监控器466,来提供性能监控。性能监控可以对由温度感知设备(例 如图4的DTS404、 406、 408和410 ) 4是供的热数据、其内部存^f诸器 (例如图4的存储器470)中的热数据、写入主存储器(例如图2的 主存储器208或图4的片外设备472 )或写入I/O设备(例如图2的 南桥和输入/输出(I/O )控制器中心(ICH ) 204或图4的片外I/O设 备474 )的热数据进行跟踪。
性能监控支持两种主要跟踪模式固定时间段的跟踪或持续跟 踪。热性能的跟踪可以是迹线,例如图5的迹线500。性能监控还可 以提供采样频率的配置,以控制两次连续采样之间的时间段。此外, 可以使用热信息的压缩以增加采样间隔。 一种压缩技术是仅在改变发 生时存储热信息。也可以将相同的热采样的数目的计数随同热信息一 起存储。这是有益的技术,因为热信息通常改变较慢。
通过性能监控器的跟踪热数据操作开始时,热管理控制状态机, 例如图4的热管理控制状态机458,将性能监控器设置为跟踪模式(步
骤702)。说明性地,将以下讨论限制为一个DTS,热管理控制状态 机感知DTS的温度(步骤704)并将所感知的DTS温度发送给当前 温度状态寄存器和/或其他数据结构以便存储(步骤706)。此时,热 管理控制状态机确定性能监控器是否还在运行(步骤708)。 一旦性 能监控器在步骤702中启动,性能监控器将在用户指定的时间段内运 行,或是运行直到用户通过用户输入将其停止。然而,性能监控器也 可以根据特定的热条件而停止。特定的热条件称为触发器,例如,在 一组信号中查找特定条件的逻辑分析器。在软件调试中使用触发器是 有益的。例如,用户可以建立性能监控器,以便在达到热条件时停止 或^r查停止系统。这可以允许用户准确地确定哪段代码或代码组合导 致了热条件。在步骤708,如果性能监控器还在运行,则操作返回步 骤704。
返回步骤708,如果性能监控器不再运行,则热管理控制状态机 读取存储在存储器中的温度信息,并将所存储的信息图形化地显示给 用户(步骤710),此后操作结束。如箭头712所示,还可以在操作 仍然进行时同时显示在步骤706发送给当前温度状态寄存器和/或其 他数据结构的所感知的温度(步骤710),而不是等待跟踪结束。
因此,性能监控器跟踪由DTS提供的热数据。自动跟踪热数据 消除了对软件持续轮询当前温度寄存器的需要。性能监控对于收集负 荷的热数据而言是重要的,因为性能监控无需插入附加代码来轮询热 数据,而插入附加代码来轮询热数据可能改变负荷的行为。换言之, 性能监控提供了实时跟踪软件应用的热属性的非入侵式方法。将热信 息发送给性能监控器的其他益处是能够根据预指定的热条件来触发 或停止记录热信息。此外,还可以使用性能监控器在满足热条件时停 止系统(或者检查停止)。这么做允许用户确定哪个代码段或代码段 组合产生了热条件。用户继而可以重写该代码段或避免特定的组合, 从而避免热事件。
图8A和图8B示出了根据其他说明性实施方式的用于高级热中 断产生的操作的流程图。如前所述,Cell BE芯片包括通过图3的普 适逻辑单元351提供的热管理系统。高级热中断产生是帮助操作系统 处理热事件的又一特征。高级热中断逻辑是热管理控制单元(例如图 4的TMCU 402)的部分。热中断在存在热条件(也即,芯片温度升 高到特定阈值以上)时提示操作系统。在这样的事件中,操作系统将 采取修正动作以降低芯片温度。修正动作可以由软件中断处理机来处
统继而在恢复正常操作之前等待热条件消失。这通常需要操作系统等 待特定的时间量,继而轮询处理器温度以确定恢复正常操作是否安 全。通过高级热中断产生,操作系统可以将中断设置为检测温度何时 下降到特定阈值以下,由此消除轮询当前温度寄存器的需要。图4的 组合热传感器中断屏蔽寄存器424 ( TS_IMR )和热传感器中断状态寄 存器422 (TS—ISR)使操作系统处理热事件容易很多。
可以在本地级别和全局级别执行高级热中断产生。换言之,高级 热中断产生可以在特定DTS上单独地执行(本地),或是在所有DTS 例如图4的DTS 404、 406、 408和410上执行(全局)。热传感器中 断屏蔽寄存器的方向位是Bg和Bx。中断方向限定产生中断的条件。 中断可以在溫度从低于中断温度变为等于或高于中断温度时产生,或 者在温度从高于或等于中断温度变为低于中断温度时产生。热管理控 制状态机通过中断屏蔽寄存器中的方向位Bg和Bx来标识条件。BG 是全局方向位。当Bc设置为"0"时,热管理控制状态机在任意DTS 的温度大于等于全局中断温度时产生中断。当BG设置为"1"时,热 管理控制状态机在所有DTS的温度低于全局中断温度时产生中断。 Bx是本地方向位,其中X是各个相关联的DTS的数目。当Bx设置 为"0"时,热管理控制状态机在各个DTS的温度大于等于DTS中断 温度时产生中断。当Bx设置为"1"时,热管理控制状态机在各个 DTS的温度低于DTS中断温度时产生中断。热中断状态寄存器 (TS ISR)记录哪个传感器导致了高级热中断。软件读取该寄存器,
以确定发生了哪个条件、以及哪个或哪些传感器导致了中断。 一旦软 件读取了热中断状态寄存器中的状态位,热管理控制状态机便重置该 状态位。
因此,可以从全局和本地的视角示出用于高级热中断产生的操
作。图8A描述全局高级热中断产生,以及图8B描述了本地高级热 中断产生。在图8A的全局高级热中断产生中的操作开始时,热管理 控制状态机将全局中断温度T设置为温度T1,并将全局中断方向BG 设置为"0"(步骤802)。热管理控制状态机感知DTS的温度(步 骤804)。热管理控制状态机确定是否有任何从DTS感知到的温度大 于或等于温度T1 (步骤806)。如果没有所感知的温度大于或等于温 度Tl,则操作返回步骤804。如果在步骤806任何一个所感知的温度 大于或等于温度Tl,则热管理控制状态机产生中断,并设置热中断 状态寄存器中相应的状态位,以记录哪个或哪些传感器导致了中断 (步骤808 )。操作系统继而将服务该中断,并可以减慢处理器上的 负荷或将处理器的一些负荷卸载(offload)给系统中的其他处理器。
在产生中断之后,热管理控制状态机将全局中断温度T设置为温 度T2,并且将全局中断方向Bc设置为"1"(步骤810)。应当将温 度T2设置为小于等于温度Tl。热管理控制状态机再次感知DTS的 温度(步骤812)。热管理控制状态机确定来自DTS的所有感知到的 温度是否都低于温度T2 (步骤814)。如果没有所感知的温度低于温 度T2,则操作返回步骤812。如果在步骤814处所有所感知的温度都 低于温度T2,则热管理控制状态机产生中断,并设置热中断状态寄 存器中相应的状态位,以记录哪个或哪些传感器导致了中断(步骤 816)。这时,操作系统恢复正常操作现在是安全的。操作系统继而 将服务该中断,并将系统恢复到正常操作。接下来,操作返回步骤802, 在此,将全局中断温度T设置为温度Tl,并将全局中断方向BG设置 为"0"。
该操作的示例是如果所有DTS都具有80。C的全局中断温度以 及全局中断方向"0"。 一旦例如处理器内核或处理器本身的相关联
单元的任何DTS感知到温度大于或等于80。C,热管理控制状态机将
产生中断,并设置热中断状态寄存器中相应的状态位,以记录哪个或 哪些传感器导致了中断。操作系统继而将服务该中断,并且可以减慢 处理器上的负荷或是将处理器的一些负荷卸载给系统中的其他处理 器。而且,此时热管理控制状态机可以将全局中断温度重置为示例性
的77。C,并将全局中断方向设置为"1"。负荷将继续以慢模式操作 或是保持脱离处理器,直到DTS感知到所有DTS的温度低于77°C。 一旦热管理控制状态机确定所感知的温度低于77。C,热管理控制状 态机产生其他中断。热管理控制状态机将全局中断温度设置为80。C, 将全局中断方向设置为"0",并且操作系统继而恢复负荷的正常操 作。
转到图8B,将说明性实施方式限制为一个DTS,但是说明针对 每个DTS是一样的。在针对本地高级热中断产生的操作开始时,热 管理控制状态机将本地中断温度T设置为温度T3,并将本地中断方 向Bx设置为"0"(步骤852)。热管理控制状态机感知DTS的温度 (步骤854)。热管理控制状态机确定来自DTS的所感知温度是否大 于或等于温度T3 (步骤856)。如果所感知温度没有大于或等于温度 T3,则操作返回步骤854。如果所感知温度大于或等于温度T3,则热 管理控制状态机产生中断,并设置热中断状态寄存器中相应的状态 位,以记录哪个或哪些传感器导致了中断(步骤858 )。操作系统继 而将服务该中断,并可以减慢处理器上的负荷或将处理器的一些负荷 卸载给系统中的其他处理器。
在热管理控制状态机产生中断之后,热管理控制状态机将本地中 断温度T设置为温度T4,并且将本地中断方向Bx设置为"1"(步 骤860)。应当将温度T4设置为小于或等于温度T3。热管理控制状 态机再次感知DTS的温度(步骤862 )。热管理控制状态机确定来自 DTS的所感知温度是否低于温度T4 (步骤864)。如果所感知的温度 没有低于温度T4,则操作返回步骤862。如果所感知的温度低于温度 T4,则热管理控制状态机产生中断,并设置热中断状态寄存器中相应
的状态位,以记录哪个或哪些传感器导致了中断(步骤866)。此时,
操作系统现在恢复正常操作是安全的。操作系统继而将服务该中断,
并将系统恢复到正常操作。接下来,操作返回步骤852,在此,热管 理控制状态机将本地中断温度T设置为温度T3,并将本地中断方向 Bx设置为"0"。
该操作的示例是如果给定的DTS具有80°C的本地中断温度以 及本地中断方向"0"。 一旦相关联单元的DTS感知到温度大于或等 于80°C,热管理控制状态机将产生中断,并设置热中断状态寄存器 中相应的状态位,以记录哪个或哪些传感器导致了中断。操作系统继 而将服务该中断,并且可以减慢处理器上的负荷或是将处理器的 一些 负荷卸载给系统中的其他处理器。而且,此时热管理控制状态机可以 将本地中断温度重置为示例性的77。C,并将本地中断方向设置为"1"。 负荷将继续以慢模式操作或是保持脱离经历热条件的处理器单元或 者处理器,直到DTS感知到温度低于77。C。 一旦热管理控制状态机 确定所感知的温度低于77。C,热管理控制状态机产生其他中断。热 管理控制状态机将本地中断温度设置为80。C,将本地中断方向设置 为"0",并且操作系统继而恢复负荷的正常操作。
因此,高级热中断产生允许操作系统对中断产生进行编程,以跟 随温度改变的方向并消除在热中断情况下中断处理机持续轮询当前 温度的需要。
图9示出了根据其他说明性实施方式的在热管理系统中支持深 度节电模式和部分良好的操作的流程图。如前所述,Cell BE芯片包 括通过图3的普适逻辑单元351提供的热管理系统。在图3的Cell BE 芯片300中,存在多种节电模式。依赖于每种节电模式的实现, 一些 可能限制DTS (例如图4的DTS 404、 406、 408和410 )的可访问性。 例如,如果SPU (例如图3的SPU310、 311和312)处于节电模式, 其中时钟被关闭,即解串行器(例如图4的解串行器462)被禁用, 串行器(例如图4的串行器456 )和DTS (例如图4的DTS 404 )之 间的通路将不起作用。节电模式的另一示例可以是关闭电源。在这种 情况下,可能禁用实际的DTS。另一示例是热管理控制状态机在制造 检测过程中将处理器中的传感器或单元确定为损坏。如果该传感器或 单元是冗余的,则制造可以将该传感器或单元标记为故障,从而创建 部分良好的处理器,该处理器仍将通过有限数目的单元或处理器起作 用。在任一情况下,热管理控制状态机(例如图4的热管理控制状态
机458 )需要监控这些节电模式的状态,并屏蔽不工作的DTS参与热 管理任务(例如,调节、中断等)。
返回图9,其描述了在热传感和热管理系统中支持深度节电模 式和部分良好的操作的流程图。操作开始时,热管理控制状态机使用 来自各个DTS的数据跟踪DTS的状态(步骤902)。热管理控制状 态机将数据存储在内部校准存储设备中,例如图4的内部校准存储设 备428中。如前所述,节电模式、故障DTS、或者通过数据流(例如 图4的数据流460)与热管理控制状态机通信的SPU可能禁止特定 DTS的操作。由制造过程报告的部分良好情况的效果与节电模式类 似,只是部分良好是永久性情况,并且DTS将被永久屏蔽。在SPU 被标记为故障的情况下,热管理控制状态机关闭整个SPU,并禁用串 行器。在DTS被标记为故障的情况下,热管理控制状态机屏蔽该DTS。 热管理控制状态机确定DTS或SPU是有故障的还是工作的(步骤 904)。如果DTS或SPU是有故障的,则热管理控制状态机屏蔽该 DTS (步骤906),此后操作结束。
为了屏蔽处于功率管理状态的DTS,热管理控制状态机将当前 温度状态寄存器(例如图4的当前温度状态寄存器412)的相关当前 温度状态寄存器重置为最低温度设置0x0。可选方法还可以是通过 设置状态位来分配相关当前温度状态寄存器的编码,以指明该DTS 被屏蔽,这可能比仅仅重置传感器读取更为精确。热管理控制状态机 继而停止从当前温度状态寄存器到和来自DTS的通信。停止通信是 可选步骤,主要是为了节电以及不执行无用的开销工作。热管理控制 状态机继而产生信号,以指明DTS当前被屏蔽并且不应当参与热管 理任务。最后,热管理控制状态机重置DTS的状态。当与该DTS相
关的单元,例如处理器内核或处理器本身,退出节电模式时,热管理 控制状态机恢复与DTS的通信、恢复当前温度状态寄存器的更新、
并发送DTS可以参与热管理任务的信号。
返回步骤904,如果DTS和SPU都是工作的,则热管理控制状 态机开始与DTS的通信(步骤908 )。热管理控制状态机监控SPU 的功率管理状态,以确定SPU何时进入节电模式(步骤910)。直到 SPU进入节电模式,操作返回步骤908。如果SPU进入节电模式并且 DTS被禁用,则热管理控制状态机通过上文关于步骤906讨论的方法 屏蔽该DTS (步骤912)。由于将DTS指明为禁用并工作的,因此热 管理控制状态机继续监控SPU的功率管理状态(步骤914)。直到 SPU退出节电模式,操作返回步骤912。当SPU退出节电模式、并且 DTS不再被禁用时,热控制状态机开始与DTS的通信、恢复当前温 度状态寄存器的更新、并发送DTS可以参与热管理任务的信号(步 骤916),操作返回步骤908。
因此,屏蔽部分良好、故障、或者是处于节电模式的DTS的温 度读取将不工作的或被禁用的DTS与参与热管理任务相隔离开。
图10示出了根据其他说明性实施方式的支持不依赖于温度的热 敏软件应用的实时测试的热调节控制特征的操作的流程图。如上所 述,Cell BE芯片包括通过图3的普适逻辑单元351提供的热管理系 统。热管理控制寄存器(例如图4的热管理控制寄存器430),提供 对各种热调节控制特征的访问和配置。将热调节设计为通过在热事件
的情况下使用调节以削减性能来降低温度。
热管理停止时间寄存器(例如图4的热管理停止时间寄存器434 ) 和热管理调节比例寄存器(例如图4的热管理调节比例寄存器436) 一起设置调节量和调节行为。在实时系统中,需要保证实时期限。对 于软件开发者和质量保证团队来说,了解和测试最大调节量是很重要 的,其中,最大调节量是程序或代码段可以容忍并仍然保证实时系统 的实时期限的热管理停止时间寄存器和热管理调节比例寄存器的最 大设置。热管理控制状态机提供不论温度总是提供调节的模式,而不
是调整导致热事件并由此触发调节条件的硬件的实际温度。热管理控 制状态机在热管理控制寄存器中设置该模式,其将芯片设置为恒定调 节状态。该特征帮助软件开发者观'J试其代码并使其代码满足实时标准。
操作开始时,接收热管理停止时间寄存器和热管理调节比例寄存
器热控制设置(步骤1002)。热管理控制状态机使用热管理停止时间 寄存器和热管理调节比例寄存器的设置来确定将如何执行调节。接 着,热管理控制状态机设置测试模式,并将热管理控制寄存器设置为 始终调节设置(步骤1004)。接着,程序运行,以用于实时确认软 件或程序在热管理停止时间寄存器和热管理调节比例寄存器热控制 设置下将满足实时期限(步骤1006)。检测模式可以是任意类型的调 节模式,例如始终调节或随机调节。接着,热管理控制状态机确定是 否满足实时期限(步骤1008 )。如果没有满足实时期限,则热管理拉 制状态机将当前的热管理停止时间寄存器和热管理调节比例寄存器 热控制设置记录为失败(步骤1010)。热管理控制状态机继而确定是 否存在将减小调节量的任何新的热管理停止时间寄存器和热管理调 节比例寄存器热控制设置(步骤1012)。如果存在新的热管理停止时 间寄存器和热管理调节比例寄存器热控制设置,则操作返回步骤 1002。如果在步骤1012不存在任何新的热管理停止时间寄存器和热 管理调节比例寄存器热控制设置,则操作结束。
返回步骤1008,如果满足实时期限,则热管理控制状态机将当前 热管理停止时间寄存器和热管理调节比例寄存器热控制设置记录为 通过(步骤1014)。热管理控制状态机确定是否存在将提高调节量的 任何新的热管理停止时间寄存器和热管理调节比例寄存器热控制设 置(步骤1016)。如果存在新的热管理停止时间寄存器和热管理调节 比例寄存器热控制设置,则操作返回步骤1002。如果在步骤1016, 没有任何新的热管理停止时间寄存器和热管理调节比例寄存器热粒 制设置,则操作结束。
因此,提供始终调节的操作模式帮助软件开发者检测其代码并使
其代码在最差情况的热条件下满足实时期限。软件开发者和质量保证 团队还可以使用该特征来确定程序或代码段可以容忍并仍保证满足 实时系统的实时期限的最大调节量。 一旦热管理控制状态机确定并确 认最大调节量,软件可以设置在完全调节发生的条件下发生的中断。 如果热管理控制状态机曾经产生该中断,则热管理控制状态机将存在 违反或不满足实时保证的可能性通知应用。
除了始终调节控制设置之外,实现还可以提供这样的模式发出 随机热事件或受控随机热事件,以便仿真更真实的调节交互和软件执 行。该技术类似于在总线上随机发出错误以测试错误恢复码。
图11示出了根据其他说明性实施方式的用于对中断延迟影响最
小的热调节控制实现的操作的流程图。如上所述,Cell BE芯片包括 通过图3的普适逻辑单元351提供的热管理系统。当计算机系统的任 意部分处于调节条件中时,调节条件降低整个系统的性能。按照多久 之后可以服务于中断以及将花费多长时间来服务该中断,性能的降低 增加了中断的延迟。中断延迟的增加严重牵连整个系统,并因此希望 并需要使热调节对中断延迟的影响最小化。最小化由于中断延迟而对 热调节的影响是一个针对PPU (例如图3的PPU308 )调节控制的特 征。SPU,例如图3的SPU310、 311和312不进行中断,并因此不 受该特征的影响。
操作开始时,热管理控制状态机(例如图4的热管理控制状态机 458 )监控所有PPU中断状态位以及热管理系统中断屏蔽寄存器,例 如图4的热管理系统中断屏蔽寄存器438 (步骤1102)。热管理系统 中断屏蔽寄存器控制中断的屏蔽。热管理控制状态机确定是否存在任 何未屏蔽的未决中断(步骤1104)。如果没有未决中断或是存在未决 中断但是受到屏蔽,则操作返回步骤1102。
如果在步骤1104处存在未屏蔽的未决中断,则热管理控制状态 机临时禁用任何调节模式,不论是部分调节还是完全调节状态(步骤 1106)。禁用调节模式允许PPU临时以完全性能进行操作并处理任 何未决中断,而没有由热调节效果导致的任何延时。热管理控制状态机再次监控所有PPU中断状态和热管理系统中断屏蔽寄存器(步骤 1108)。热管理控制状态机确定是否存在任何未屏蔽的未决中断(步 骤1110)。如果没有未决中断或是存在未决中断但是受到屏蔽,操作
返回步骤1108。当在步骤1110中断状态清除时,热管理控制状态机 将PPU恢复到原始调节模式(步骤1112),并且操作返回步骤1102。 中断处理机可以选择在中断处理机子程序的开始还是子程序的 结束处来清除中断状态位。中断处理机可以位于Power处理器元件
(例如图3的Power处理器元件301 )中,或由Power处理器元件寺丸 行的软件中。如果中断处理机选择在开始处清除中断状态位并且还希 望避免任何PPU的性能下降,则中断处理机可以在清除中断状态位 之前禁用热调节。换言之,中断不会导致控制寄存器的改变。因此, 在存在未屏蔽中断时,调节仍然是启用的,但是由热管理控制单元(例 如图4的TMCU402)挂起。如果中断处理机应当在处理中断之前重 置中断状态,则处理机应当将控制寄存器设置为禁用调节(或者将调 节量减小到可接受的水平)、重置中断、服务中断、并继而重新启用 调节或者将调节量设置回先前的水平。可以通过将热管理控制寄存器
(例如图4的热管理控制寄存器430)设置为OXX来执行示例性的热 调节禁用,其中X无关紧要。在中断子程序的结束,中断处理机应当 将热管理控制寄存器设置回其原始值。如果中断处理机在中断子程序 结束处清除中断状态位,则无需其他工作,并且只要中断状态位是活 动的,热管理控制状态机就将保持PPU不进入调节模式。
图12示出了根据其他说明性实施方式的用于热调节滞后的操作 的流程图。如前所述,Cell BE芯片包括通过图3的普适逻辑单元351 提供的热管理系统。热调节滞后是进行改变(例如调节和结束调节) 与该改变的响应或效果之间的延迟。例如,如果将调节点设置为75°C 并将结束调节点设置为72°C,则滞后的范围是从75。C到72。C。图5 描述了热调节滞后。
热管理调节点寄存器(例如图4的热管理调节点寄存器432)提 供两个温度设置调节温度和结束调节温度。应当将调节温度设置为高于结束调节温度。温度差限定了调节温度和结束调节温度之间的滞 后量,由此提供了可编程的滞后量。
说明性地将以下讨论限制为一个DTS,在滞后热调节操作开始 时,热管理控制状态机设置热管理调节点寄存器中的调节温度和结束
调节温度(步骤1202)。热管理控制状态机感知DTS的温度(步骤 1204)。热管理控制状态机确定来自DTS的感知温度是否大于或等 于调节温度(步骤1206)。如果所感知温度不大于或等于调节温度, 则操作返回步骤1204。如果在步骤1206处所感知的温度大于或等于 调节温度,则热管理控制状态机启动调节模式(步骤1208 )。
热管理控制状态机再次感知DTS的温度(步骤1210)。热管理 控制状态机确定来自DTS的所感知温度是否大于或等于调节温度(步 骤1212)。如果所感知温度不小于结束调节温度,则操作返回步骤 1210。如果在步骤1212中DTS小于结束调节温度,则热管理控制状 态机禁用调节模式(步骤1214),操作返回步骤1204。
因此,假设热管理控制寄存器被适当配置为允许调节模式,则当 温度上升到等于或高于调节温度时,热管理控制状态机将单元置于调 节模式中。热管理控制状态机保持该单元为调节模式,直到温度下降 到结束调节温度之下。如果结束调节温度小于调节温度,则所识别的 滞后在禁用调节模式之前允许单元充分冷却。如果没有滞后,则单元 可能非常频繁地进入和离开调节模式,并降低调节的总体效率和处理 器的效率。
处理器调节的示例性方法可以通过阻塞指令分派来实现。如果非 常频繁地启用和禁用调节,则可能很经常地排空(flush)处理器的流 水线,因此降低了处理器的能力。处理器调节的另一示例性方法可以 通过减慢时钟频率来实现。
图13示出了根据其他说明性实施方式的热调节逻辑实现的操作 的流程图。图13表示以上附图中描述的完整的热管理解决方案。如 前所述,Cell BE芯片包括通过图3的普适逻辑单元351提供的热管 理系统。TMCU,例如图4的TMCU 402,包括多个动态热管理寄存
器。动态热管理寄存器是热管理控制寄存器、热管理调节点寄存器、 热管理停止时间寄存器、热管理调节比例寄存器以及热管理系统中断
屏蔽寄存器,例如图4的热管理控制寄存器430 (TM一CR1和 TM—CR2)、热管理调节点寄存器432 (TM_TPR)、热管理停止时 间寄存器434( TM—STR1和TM—STR2 )、热管理调节比例寄存器436 (TM_TSR)以及热管理系统中断屏蔽寄存器438 (TM—SIMR)。
热管理调节点寄存器设置DTS的调节点。可以在热管理调节点 寄存器中设置两个独立的调节点, 一个用于PPE, 一个用于SPE。该 寄存器中还包含用于启用调节和禁用调节或是停止PPE或SPE的温 度点。当温度等于或高于调节点时,PPE或SPE的调节执行开始。当 温度下降到禁用调节的温度之下时,调节停止。如果温度达到了完全 调节温度或停止温度,则停止PPE或SPE的执行。
热管理控制状态机使用热管理停止时间寄存器和热管理调节比 例寄存器来控制调节的频率和量。当温度达到调节点时,热管理控制 状态机在热管理调节比例寄存器中的相应比例值所指定的时钟数目 内停止相应的PPE或SPE。继而,热管理控制状态机在热管理停止时 间寄存器中的运行值乘以相应比例值所指定的时钟数目内允许PPE 或SPE运行。该序列继续,直到温度下降到禁用调节以下。
热管理控制状态机使用热管理系统中断屏蔽寄存器来选择在中 断未决时哪些中断禁用PPE的调节。
热管理控制寄存器针对每个PPE或SPE独立地设置调节模式。 下面是针对每个PPE或SPE独立设置的5种不同模式
禁用动态调节(包括内核停止保护) 正常操作(启用动态调节和内核停止保护) PPE或SPE始终调节(启用内核停止保护) 禁用内核停止保护(启用动态调节,并且禁用内核停止保护) PPE或SPE始终调节,并且禁用内核停止保护
作为实现热调节逻辑的操作,热管理控制状态机设置热管理调节 点寄存器中的调节温度和结束调节温度(步骤1302)。热管理控制状
态机感知DTS的温度(步骤1304)。热管理控制状态才几确定来自DTS 的所感知温度是否大于或等于调节温度(步骤1306)。如果所感知温 度没有大于或等于调节温度,则操作返回步骤1304。如果所感知的温 度大于或等于调节温度,则热管理控制状态机启动调节模式(步骤 1308)。
接着,热管理控制状态机通过热管理控制寄存器中指明的值所指 出的调节类型来控制调节(步骤1310)。 一旦指出了调节类型,热管 理控制状态机就通过热管理停止时间寄存器中指明的调节量来对调 节进行限制(步骤1312)。停止时间寄存器设置处理器将停止多长时 间与将允许处理器运行多长时间的比率,或者说调节百分比。最后, 热管理控制状态机通过热管理比例寄存器中所指定的值来缩放 (scale)停止和运行时间的持续时间(步骤1314)。此时,操作分开 为并发的操作步骤1316和1322。在步骤1316,热管理控制状态机 感知DTS的温度。热管理控制状态机确定来自DTS的所感知温度是 否大于或等于调节温度(步骤1318)。如果所感知温度不小于结束调 节温度,则操作返回步骤1316。如果DTS小于结束调节温度,则热 管理控制状态机禁用调节模式(步骤1320),操作返回步骤1304。
返回步骤1314,在实现最终调节限制之后,热管理控制状态机并 发地针对任何未决中断而监控所有PPU中断状态(步骤1322)。如 果在实现调节时遇到中断,则热管理控制状态机临时禁用任何调节模 式,直到该中断已得到处理,此时,启用调节(不论是部分调节或完 全调节状态)并且操作返回步骤1308。关于图ll给出了中断状态监 控的深入讨论。
因此,Cell BE芯片中所包括的热管理系统的热中断逻辑提供了 管理Cell BE芯片的热条件以及保护Cell BE芯片及其组件的动态方式。
说明性实施方式的形式可以采用全硬件实施方式,全软件实施方 式,或者包含硬件和软件元件两者的实施方式。说明性实施方式在软 件中实现,软件包括但不限于固件、驻留软件、微代码等等。
此外,说明性实施方式的形式可以采用计算机程序产品,其可以 从计算机可用或计算机可读介质访问,提供由计算机或任意指令执行 系统使用或与之结合的程序代码。为了该描述的目的,计算机可用或 计算机可读介质可以是包含、存储、通信、传播或传输指令执行系统、 装置或设备使用或与之结合的程序的任何有形装置。
介质可以是电、磁、光、电磁、红外或半导体系统(或装置或设 备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、
磁带、可移动计算机盘、随机访问存储器(RAM )、只读存储器(ROM )、 刚性磁盘和光盘。光盘的当前示例包括致密盘-只读存储器 (CD-ROM)、致密盘-读/写(CD-R/W)以及DVD。
适于存储和/或执行程序代码的数据处理系统将包括至少 一 个处 理器,其通过系统总线直接或间接地耦合至存储器元件。存储器元件 可以包括在程序代码执行期间使用的本地存储器,大容量存储设备, 以及高速緩存存储器,其中高速緩存存储器提供至少一些程序代码的 临时存储以降低在执行期间从大容量存储设备获取代码的次数。
输入/输出或者1/0设备(包括但不限于键盘、显示器、指示设备 等)可以直接或者通过中介I/0控制器耦合至系统。
网络适配器也可以耦合至系统,以使数据处理系统能够通过中介 的私有或公共网络变为耦合至其他数据处理系统或远程打印机或存 储设备。调制解调器、缆线调制解调器和以太网卡仅是网络适配器的 当前可用类型中的几个。
出于说明和描述的目的已经给出了对说明性实施方式的描述,但 这并非意在详尽或是限制为所公开形式的说明性实施方式。对于本领 域的普通技术人员来说,多种修改和变形将是显然的。选择和描述实 施方式是为了最好地阐释说明性实施方式的原理、实践应用,以及使 本领域的其他普通技术人员能够理解到,说明性实施方式具有各种变 形的多种实施方式也适合于预期的特定用途。
权利要求
1.一种用于管理集成电路中的热管理系统的计算机实现的方法,包括确定多个数字热传感器中的任意传感器是被指示为有故障的还是工作的;响应于所述多个数字热传感器中的至少一个数字热传感器是工作的,监控与所述工作的数字热传感器相关联的集成电路中的至少一个单元的节电模式;以及响应于所述至少一个单元处于节电模式,禁用所述工作的数字热传感器。
2. 根据权利要求1所述的方法,其中,所述确定、监控和禁用步 骤由驻留在所述集成电路中的热管理控制状态机来执行。
3. 根据权利要求1所述的方法,还包括响应于所述多个数字热传感器的至少一个数字热传感器是工作 的,确定与所述工作的数字热传感器相关联的所述至少一个单元是否 是有故障的;以及响应于与所述工作的数字热传感器相关联的所述至少一个单元是有故障的,禁用所述工作的数字热传感器。
4. 根据权利要求1所述的方法,其中,通过屏蔽所述工作的数字 热传感器来禁用所述工作的数字热传感器。
5. 根据权利要求4所述的方法,其中,屏蔽所述工作的数字热传 感器包括重置与所述工作的数字热传感器相关联的当前温度状态寄存器; 停止所述状态寄存器与所述工作的数字热传感器之间的通信;以及产生信号,以指明所述工作的数字热传感器当前被屏蔽并且不应 当参与热管理任务。
6. 根据权利要求1所述的方法,还包括监控所述至少一个单元的所述节电模式;以及 响应于所述至少一个单元退出所述节电模式,启用所述工作的数 字热传感器。
7. 根据权利要求6所述的方法,其中,启用所述工作的数字热传 感器还包括恢复当前温度状态寄存器与所述工作的数字热传感器之间的通信;当前温度;以及产生信号,以指明所述工作的数字热传感器应当参与热管理任务。
8. 根据权利要求1所述的方法,还包括响应于所述多个数字热传感器中的至少一个数字热传感器是有 故障的,屏蔽所述有故障的数字热传感器。
9. 根据权利要求8所述的方法,其中,屏蔽所述有故障的数字热 传感器包括重置与所述有故障的数字热传感器相关联的当前温度状态寄存器;停止所述状态寄存器与所述有故障的数字热传感器之间的通信;以及产生信号,以指明所述有故障的数字热传感器当前被屏蔽并且不 应当参与热管理任务。
10. —种数据处理系统,包括 总线;耦合至所述总线的存储器,其中,所述存储器包括指令集合;以及耦合至所述总线的集成电路,其中,所述集成电路执行所述指令 集合,以执行权利要求1到9中任一项所述的步骤。
11. 一种处理器,包括 至少一个处理内核; 热管理控制状态机;以及数字热传感器,其中,所述处理内核执行指令集合,以执行权利 要求1到9中任一项所述的步骤。
全文摘要
提供了用于管理热管理系统的状态机、计算机实现的方法、数据处理系统以及处理器。确定多个数字热传感器是有故障的还是工作的。响应于多个数字热传感器中的至少一个是工作的,监控与工作的数字热传感器相关联的集成电路内的至少一个单元的节电模式。响应于该至少一个单元处于节电模式,禁用工作的数字热传感器。
文档编号G06F1/32GK101356486SQ200780001298
公开日2009年1月28日 申请日期2007年6月13日 优先权日2006年6月21日
发明者C·R·约翰斯, M·F·王 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1