为了展现能为PC提供更高效能和更佳电源效率的市场定位,Intel在今年的Computex Taipei 2006中发表了新的P965 Express芯片组。此芯片组工作代号为Broadwater,它除了支持Intel采用双核心运算的新核心微架构(Core Microarchitecture),同时也应用了Intel最新的SST(Simple Serial Transport)总线技术,由于它可用来量测运算次系统的健全状态(包括温度和电压),因此也可称为系统健全状态总线(System Health Bus)。与SMBus相较之下,单线的SST总线能为PC中的系统控制及管理信息工作提供更快速的通讯传输效能。
对于新总线的需求
传统的SMBus在使用上有三大缺点,包括传输速度太慢、噪讯问题严重以及传送的信息不够充分。SST提出的目的即是针对SMBus的这些问题做出改善,进而能提供系统等级的温度管理方案。
在传输速度上,支持CPU的总线正朝网络化的架构发展,而且被要求能以更高的速度及更大的弹性来进行传输。目前SMBus的操作频率频率是100KHz或400KHz,所能达到的传输速率远低于1Mbps的最低需求。
噪声问题方面,SMBus的噪声问题会造成讯息错误(message corruption)。SMBus的误码率(bit error rate;BER)相当高,错误的产生和频率频率及终端装置的数量是有关连的。
在信息的准确性上,SMBus是一个单字节(single-byte)协议,在每个传送序列的芯片地址和缓存器指针(register pointer)地址数据中,所能接收的承载数据(payload)是一组单字节的数据。如果要改善传输讯息的效益,需要发展一套让单一讯息中具有读写多字节能力的新协议。
SST在以上三个问题点都做了改善,Intel同时也为PC和服务器、工业感测网络和可携式产品等其他应用到处理器的产品,在温度管理与风扇控制方面开创了一套新的方案。
SST如何工作
SST是一个用于系统温度管理的单线串行传输协议,以1.5V操作,在目前的建置下具有1Mbps的数据传输率。如(图一)所示,Intel的2006年平台是由具有温度传感器的内存信道控制器(Memory Channel Controller;MCH或(G)MCH)、输入输出信道控制器(I/O Channel Controller;ICH8)和温度传感器所组成的[2]。
单线SST协议是以时间为基础。举例来说,25%的工作周期(duty cycle)代表「0」,75%的工作周期代表「1」。由于不知道频率频率,主机(host)会在传送开始时产生一个短序列(short sequence)来表示三个「0」。SST和SMBus相似,是一套网络由一个主装置(master)对多个子装置(slave)来运作,当slave接收到0的short burst时,会将它解译为25%的工作周期。此作法和其他的单线作法没有很大的不同,但这是已实行方案中最快的作法。它能达到2Mbps的速度,但现在的应用速度是1Mbps。每个设备可实行的速度最大可达2Mbps,最低到2Kbps,也就是它能提供1:1000的操作速度范围。
SST的地址脚位(address pin)有三种状态,每个脚位可以是高脚位或低脚位链接,或是浮动的(floated),所以每个脚位有三种地址。相较之下,SMBus所使用的脚位只有二种状态。虽然SMBus和SST同样都定义了地址脚位,不过,SST让每个脚位有三种地址的架构改善了对有限脚位资源的利用。
《图一 SST的架构包括内存信道控制器(MCH)、I/O信道控制器(ICH8)和外部温度传感器》 |
|
ICH8的SST总线在多个温度传感器之间进行传输。虽然称为温度传感器,还具有额外的讯号调节(signal conditioning)和处理能力。现在只有两个传感器在平台上,上面的传感器链接到CPU内的温度二极管;第二个温度传感器位于下方,它会量测电压和散热器下游的空气温度(也就是位于一般位置的机盒内空气)。
MCH中的管理引擎(Manageability Engine;ME box)是一个执行Flash内存芯片中程序代码的微控制器,其中也包括BIOS程序代码。量测到的温度和驱动风扇的PWM输出是由这些软件所产生的。ME可为Intel的静音系统技术(Quiet System Technology)执行先进速度控制算法(advanced speed control algorithms),此外,ME中的内存位置为风扇的操作提供了系统配置参数。
平台环境控制接口(Platform Environmental Control Interface;PECI)也是一种单线序列总线,它是SST的一种专属性延伸技术。这个总线支持处理器数字温度计(Digital Thermometer;DT),并以CPU 终端电压(Vtt)在运作。这个CPU的内部数字温度计会透过PECI接口指示芯片的温度,或将温度值提供给内部的风扇速度控制系统。PECI和DT的详细内容将在此系列的下篇文章中讨论。
ICH8风扇控制有三种脉宽调变(PWM)输出。在默认状况下,输出的驱动很低,此时风扇是停止的,直到以下的情况发生:内部看门狗定时器的时间到了(默认值是4秒)、系统从韧体程序PWM控制缓存器得到输入讯号,或PWM的极性反转,它的输出是一个有5V 容忍度的开路回路。ICH8有四组TACH输入来监控最多四台风扇,输入值最高可达3.3V,并具有DC滞后作用(hysteresis)和数字滤波功能。
这个新架构强调透过先进算法来改善系统的噪音,此作法能减少需改变速度的风扇数目,并能更有效地运用风扇和额外的传感器。如(图二)所示,整合到最新Intel处理器中的处理器数字温度计会被运用到此系统中,图中的TD表示温度二极管(thermal diode)。此外,由于允许独立风扇被移出并采用小型化的造型设计,此设计能降低对空间的需求。
《图二 SST和PECI将数字温度计(DT)和温度二极管(TD)的数据传送到ICH8,以进行风扇控制》 |
|
任何一个SST上的传送数据报括写入(write)的部分和读取(read)的部分,host进行写入动作并读取从slave传来的数据。在一个讯息动作里,终端装置应该会对数据有所反应。当host发出如GetIntTemp()的指令时,就会传回温度传感器的内部温度。写入数据(Write Data)的长度是0x01,读取数据(Read Data)的长度是0x02,而指令程序代码(Command Code)是0x00。在(图三)所示的范例中,温度传感器装置位于0x48这个地址的总线数据传回了60°C的温度值。
《图三 取得内部温度(GetIntTemp())指令范例》 |
|
其他的SST指令包括,用来读取设备标识区块(Device Identifier Block;DIB)的GetDIB() 指令(0xF7)、Ping()指令、ResetDevice()指令、GetExtTemp(),和GetAllTemps()以及选择性的SST指令,如Alert()、Suspend()。具有电压监控功能的温度传感器会响应其他的指令,包括:GetVolt12V()、GetVolt5V()、GetVolt3p3V()、GetVolt2p5V()、GetVoltVccp()和GetAllVoltages(),以及一些厂商专属的指令。
不同协议的整合、相对于传输频率的讯息大小改善,以及每个讯息封包中讯框检查序列(frame check sequence;FCS)的可用性等,都是针对SMBus的噪声问题所提出的改善作法,因此,SST的误码率比起SMBus来说好很多。
处理系统数据
为了对新的总线建置进行支持,Intel已为电路板制造商开发了组态(configuration)、flash image工具和SPI Flash Programmer程序软件。系统整合设计师可运用Intel开发的调校工具来进行微调,以获得优化的设定。在优化的程序中,每个风扇都针对个别的传感器进行优化的调校。为了降低噪音的状况,会尽量使用安静的风扇,而非吵杂的风扇,因此,当处理器的负担沉重时,稳态(steady state)下的声功率(sound power)可以降低[3]。
目前的应用
已有不少产品根据SST总线的定义被开发出来,它们都能提供架构中所定义的额外温度传感器。如(图四)所示,SST总线能为不同的建置方式提供弹性的作法。相较于SMBus,只要为具有温度感测和电压监控能力的单一温度传感器增加最少的硬件,SST就能获得明显改善的量测能力。
《图四 Intel针对PC温度及电压量测提出的架构》 |
|
(图五)显示二个温度传感器的范例,他们是整合式的温度传感器,能为CPU内部及外部传感器进行讯号调节,并能使用SST总线的传输能力。两个传感器之间的差异在于aSC7531同时具有温度和电压输入,aSC7521则只有温度输入;不过,aSC7521有二个地址脚位(address pin),而aSC7531只有一个。
《图五 用来处理系统温度信息的两种不同解决方案:(a)只用于温度处理的IC,以及(b)同时用于温度处理和电压监控的IC》 |
|
图五的两颗IC都能在50°C到70°C之间为远程传感器提供±1°C的准确性,并在40°C to 70°C之间为它的内部传感器提供±2°C的准确性。就-40 to 125°C的整个操作范围来说,两种传感器的读取能提供最大达±3°C的准确性。
未来的系统强化
在SST总线的建置发展下,采用新总线技术的桌上型或膝上型计算机将会更为可靠、安静,也能提供更高的效能。不过,传输的需求并不只限于温度和电压。SST因让更多的元素可以链接到网络中,进而让热量及噪音的管理表现能获得更大的改善;这些元素包括系统中关于热量管理的其他参数,例如风扇速度控制或风扇转速(rpm)的读取。
所量测的电压可以位于系统的任何地方,例如电源供应器或主板上;同样的,温度的感测也可以在系统中的任何地方,包括在电源供应器中,或风扇本身(量测流入空气温度)。驱动器等其他组件则可以依循协议和汇报的程序代码来进行操作。当沟通管道被建立起来后,任何数据都能够被传输,而且可以是各种型式的数据。
为了解决与SMBus相关的许多问题,SST网络协议已放入Intel的生产计划中,不久后我们将听到采用的系统制造业表示,系统的热量管理和风扇的噪音降低等议题都基于SST的能力而获得了改善。(作者为Andigilog产品应用工程师)
(本专栏系列将介绍如何从桌面计算机及便携计算机中移除热量及减低噪音的技术原理及解决方案,接下来的系列将陆续介绍:PECI和CPU数字温度计、智能型系统控制、电源供应器中的SST,以及智能型风扇,敬请期待)