專利名稱:用于在總線上共享公共地址的裝置的方法和配置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于裝置之間的通信的領(lǐng)域。尤其是,本發(fā)明涉及
用于在總線上共享公共地址的裝置的方法和配置。
背景技術(shù):
在幾乎所有的計(jì)算機(jī)和基于處理器的裝置中建立數(shù)據(jù)總線以使各種組件之間的通信便利。例如,數(shù)據(jù)總線可以使處理器和隨機(jī)存取存儲(chǔ)器、其它特定用途集成電路(ASIC)以及外圍裝置之間的通信便利。但是某些總線需要協(xié)調(diào)用的復(fù)雜邏輯、高速和多線以供海量數(shù)據(jù)傳輸,其它數(shù)據(jù)總線是具有相對(duì)簡(jiǎn)單邏輯的單線、低速總線。單
線和二線數(shù)據(jù)總線避免了更復(fù)雜的總線所面臨的許多問(wèn)題,例如多跡線(trace)、多引線(pin)和門(mén)數(shù)高,在硬件和空間的要求方面使此類(lèi)總線顯著地減少成本。當(dāng)前的二線總線、比如由Philips電子N.V.所開(kāi)發(fā)的12C總線支持多個(gè)裝置之間的通信,對(duì)各個(gè)客戶端裝置分別尋址。由于將多個(gè)裝置包括在單個(gè)封裝中的趨勢(shì),對(duì)各個(gè)裝置分別尋址是有問(wèn)題的。特別地,多數(shù)芯片封裝在封裝內(nèi)包括多個(gè)管芯(die),并且每個(gè)管芯可包括可分別尋址的裝置,這顯著增加了實(shí)現(xiàn)數(shù)據(jù)總線所必需的地址的數(shù)量。更多的地址數(shù)量增加了實(shí)現(xiàn)此類(lèi)總線所必需的尋址邏輯的復(fù)雜性。此外,對(duì)于該總線,所述增加的復(fù)雜性增加單線和二線數(shù)據(jù)
總線的復(fù)雜性,因而增加與單線和二線凄t據(jù)總線關(guān)聯(lián)的開(kāi)銷(xiāo)、例如由總線接口所占用的硅區(qū)域
發(fā)明內(nèi)容
通過(guò)閱讀如下詳細(xì)說(shuō)明并參考附圖本發(fā)明的各方面就將顯而易見(jiàn)了,附圖中相同的參考標(biāo)號(hào)可指示相同單元
圖l描述了包括處理器、溫度傳感器、存儲(chǔ)控制器中心、存儲(chǔ)器以及具有平臺(tái)溫度控制器的輸入/輸出(I/O)控制器中心的系統(tǒng)的實(shí)施例;
圖2描述了具有兩個(gè)不同裝置的可尋址插槽(socket)的實(shí)施例;圖3描述了共享公共地址的裝置的總線接口的實(shí)施例的流程以及
圖4描述了從共享公共地址的裝置檢索數(shù)據(jù)的應(yīng)用(application)的實(shí)施例的流程圖。
具體實(shí)施例方式以下為附圖中所述的本發(fā)明的實(shí)施例的詳細(xì)說(shuō)明。實(shí)施例如此詳細(xì)以清楚地傳達(dá)本發(fā)明。然而,所4^供的細(xì)節(jié)的數(shù)量并非要限制實(shí)施例的預(yù)期變型,相反,其意圖是要覆蓋落入如隨附權(quán)利要求書(shū)所定義的本發(fā)明的精神和范圍的所有修改、等效和替代。設(shè)計(jì)以下詳細(xì)說(shuō)明以使這樣的實(shí)施例對(duì)本領(lǐng)域普通技術(shù)人員而言顯而易見(jiàn)?!愣?,預(yù)期用于在總線上共享^^共地址的裝置的方法和配置方法和配置。實(shí)施例可以包括用于々某介管理的主機(jī)裝置以及一個(gè)或多個(gè)與通信媒介耦合的客戶端裝置。主機(jī)裝置和/或客戶端裝置的一個(gè)或多個(gè)可以包括能夠在通信媒介上發(fā)起通信或消息的、和/或能夠經(jīng)由通信媒介接收通信的裝置。在隨后的說(shuō)明中,為了從接收通信的裝置中區(qū)別出發(fā)起通信的裝置,發(fā)起通信的裝置通常稱為發(fā)起裝置,而接收通信的裝置通常稱為接收裝置。在多數(shù)實(shí)施例中,通信i某介可以是例如簡(jiǎn)單串行傳輸(simple serial transport: SST)總線等的單線總線。
在一種實(shí)施例中,發(fā)起裝置能夠傳輸命令以請(qǐng)求共享公共 地址的兩個(gè)或兩個(gè)以上裝置之一的響應(yīng)。特別地,發(fā)起裝置的驅(qū)動(dòng)器 可以從例如軟件應(yīng)用程序或者其它代碼接收指令以從每個(gè)裝置采集 溫度數(shù)據(jù)。軟件應(yīng)用程序可以指示驅(qū)動(dòng)器傳輸命令,該命令具有與多 于一個(gè)的裝置中的第 一裝置相關(guān)聯(lián)的值。驅(qū)動(dòng)器可以4吏發(fā)起裝置在通 信、或者消息中用與第 一裝置和其它裝置相關(guān)聯(lián)的地址傳輸該命令。 在消息的持續(xù)時(shí)間內(nèi),第一裝置可以用溫度數(shù)據(jù)響應(yīng)而其它裝置不再 參與。在某些實(shí)施例中,該值是命令值,且共享公共地址的裝置 忽略具有與共享該公共地址的其它裝置相關(guān)聯(lián)的命令值的通信。在這
些實(shí)施例的多數(shù)實(shí)施例中,發(fā)起裝置可用的命令中多于一個(gè)的命令可 以從共享公共地址的裝置引起相同的響應(yīng)。在這樣的實(shí)施例中,裝置
可都以基本相同的方式用基本相同的定時(shí)響應(yīng)那些命令,以致所述裝
置可能不知道共享同一地址的其它裝置基本同時(shí)響應(yīng)所述命令。作為進(jìn)一步的說(shuō)明,多于一個(gè)的裝置可以駐留于同一模塊, 且可給該模塊分配單個(gè)地址。在至少一種實(shí)施例中,在裝置之間總線 的使用可以經(jīng)過(guò)比特(bit)爭(zhēng)用來(lái)裁定。在這些實(shí)施例的某些實(shí)施例 中,當(dāng)裝置與該裝置嘗試向總線寫(xiě)相比較而從該總線讀到不同比特 時(shí),該裝置可以識(shí)別比特爭(zhēng)用。例如,可把連接到總線的每個(gè)裝置設(shè) 計(jì)成根據(jù)在寫(xiě)邏輯0以后讀到邏輯1 (或者反之亦然)而終止參與信息。 在這樣的實(shí)施例中,發(fā)起裝置可傳送具有實(shí)質(zhì)上^v全部裝置引起相同 響應(yīng)的值的命令,而比特爭(zhēng)用可以確定裝置中僅一個(gè)裝置還是多個(gè)裝 置實(shí)際響應(yīng)該命令。雖然以下詳細(xì)論述的各部分根據(jù)總線、硬件、軟件以及其 它邏輯的具體配置和協(xié)議描述實(shí)施例,但是本領(lǐng)域普通技術(shù)人員要認(rèn) 識(shí)到可以其它配置和其它協(xié)議實(shí)施實(shí)施例以基本實(shí)現(xiàn)相同功能?,F(xiàn)在轉(zhuǎn)到附圖,圖1圖解了系統(tǒng)100的實(shí)施例。系統(tǒng)100是比 如個(gè)人電腦、膝上型電腦、工作站以及服務(wù)器的計(jì)算機(jī)系統(tǒng)。把類(lèi)似
7實(shí)施例實(shí)現(xiàn)為例如便攜式音樂(lè)播放器、便攜式視頻播放器、智能電話 或者其他蜂窩電話、數(shù)字視頻攝像機(jī)、數(shù)字照相機(jī)、個(gè)人數(shù)字助理
(PDA)、外部存儲(chǔ)裝置等。另外的實(shí)施例實(shí)現(xiàn)更大規(guī)模的服務(wù)器配 置,例如實(shí)現(xiàn)系統(tǒng)管理總線(system management bus: SMBus)的服務(wù) 器系統(tǒng)。在此類(lèi)實(shí)施例中,微控制器可以用作簡(jiǎn)單串行傳輸(SST) 主機(jī)以及SMBus到SST (SMBus-to-SST)的接口。系統(tǒng)100包括處理器140、與動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM) 模塊180耦合的存儲(chǔ)控制器中心150以及輸入/輸出(I/O)控制器中心 160。處理器140代表一個(gè)或多個(gè)用于系統(tǒng)的處理器,比如Intel⑧的 Pentium⑧處理器、Xeon⑧處理器、Itanium⑧處理器、Celeron⑧處理器 等。存儲(chǔ)控制器中心150和I/O控制器中心160代表芯片組,比如Inte鵬 的975X急速芯片組(Express Chipset) 、 865P芯片組、845G芯片組、 855GM芯片組、E7525芯片組、E8870芯片組、852GME芯片組、537EP 芯片組、854芯片組等。DRAM模塊180可為通過(guò)儲(chǔ)存數(shù)據(jù)和指令支持 處理器140的指令的執(zhí)行的系統(tǒng)存儲(chǔ)器,所述數(shù)據(jù)和指令與例如應(yīng)用 (application)邏輯181、諸如驅(qū)動(dòng)器(driver)邏輯182的驅(qū)動(dòng)器以及 其它代碼的應(yīng)用有關(guān)。本實(shí)施例可以實(shí)現(xiàn)三條分離總線由I/0控制器中心160所 服務(wù)的SST總線170和總線190以及由存儲(chǔ)控制器中心150所服務(wù)的總 線195。具體而言,1/O控制器中心160包括主機(jī)、管理并橋接SST總線 170和總線190之間的通信的平臺(tái)溫度控制器162。在某些實(shí)施例中,I/O 控制器中心160可包括分離的用于SST總線170和用于總線190的主機(jī), 帶有或者沒(méi)有^M妄器(bridge) 166,而在其它實(shí)施例中,1/0控制器中 心160可僅包括用于SST總線170或總線190的主機(jī)。在另外的實(shí)施例 中,總線主機(jī)的一個(gè)或兩者和/或橋接器166可設(shè)置在分離的集成電路
封裝中。平臺(tái)溫度控制器162可以控制系統(tǒng)IOO內(nèi)的溫度和氣流。例 如,平臺(tái)溫度控制器160可從與系統(tǒng)100有關(guān)的裝置讀取溫度數(shù)據(jù),并且調(diào)整工作量、強(qiáng)制通風(fēng)驅(qū)動(dòng)器、排氣風(fēng)門(mén)等以在系統(tǒng)100內(nèi)部維持
指定的工作條件。在其它實(shí)施例中,平臺(tái)溫度控制器160可以控制例 如只是工作量或者裝置的過(guò)熱保護(hù)的附加和/或其它功能。平臺(tái)溫度控制器162包括橋接器164和冷卻系統(tǒng)接口 166。橋 接器164可以使在比如SST總線170和總線190的一個(gè)以上總線的命令 的傳輸以及收集溫度數(shù)據(jù)便利。在另外的實(shí)施例中,平臺(tái)溫度控制器 162可以經(jīng)由存儲(chǔ)控制器中心150或者經(jīng)由與DRAM模塊180的直接連 接/人DRAM纟莫塊180存取溫度數(shù)據(jù)。冷卻系統(tǒng)接口 166可包括一個(gè)或多個(gè)在系統(tǒng)1 OO的各個(gè)區(qū)域 控制熱散逸的控制接口。例如,由在系統(tǒng)100上執(zhí)行的應(yīng)用邏輯181中 的指令和/或數(shù)據(jù)所表征的操作系統(tǒng)可以經(jīng)由驅(qū)動(dòng)器182以及冷卻系統(tǒng) 接口 166與平臺(tái)溫度控制器162接口 ,以從處理器140的核0總線接口 142和核1總線接口 146檢索當(dāng)前溫度數(shù)據(jù)。基于來(lái)自核的溫度讀數(shù), 根據(jù)這兩個(gè)核的溫度的較高溫度,操作系統(tǒng)可在核O和l之間轉(zhuǎn)移處理 工作量,或者,冷卻接口166例如通過(guò)調(diào)整風(fēng)扇速率調(diào)整氣流。舉例 來(lái)說(shuō),如果當(dāng)前在核0和1之間的工作量分配是各為百分之五十,那么, 如果核l的溫度數(shù)據(jù)顯示核1運(yùn)行得比核0更熱,則操作系統(tǒng)可以把工 作量分配改為核0百分之七十而核1百分之三十。在其它實(shí)施例中,冷 卻系統(tǒng)接口 166可以增加風(fēng)扇的風(fēng)扇速率以在核1周?chē)┘託饬鲝亩?增加從核l的熱散逸。圖1示出了經(jīng)由SST總線170和總線190與平臺(tái)溫度控制器 162耦合的三個(gè)溫度傳感器。DRAM模塊180也可包括由裝置O到N的一 個(gè)或多個(gè)裝置所表征的溫度傳感器。多數(shù)實(shí)施例可以包括與平臺(tái)溫度 控制器162耦合的多于或少于三個(gè)的溫度傳感器。平臺(tái)溫度控制器162可以向溫度傳感器11 O傳送請(qǐng)求溫度數(shù) 據(jù)的命令。在若干實(shí)施例中,因?yàn)闇囟葌鞲衅?10具有與給溫度傳感 器11 O所分配的地址相關(guān)聯(lián)的單個(gè)裝置,所以溫度傳感器110的總線接 口 110可從平臺(tái)溫度控制器162識(shí)別溫度讀取請(qǐng)求,而不管與該溫度讀
9取請(qǐng)求相關(guān)聯(lián)的命令值。在其它實(shí)施例中,總線接口112可以只響應(yīng) 具有與溫度傳感器110相關(guān)聯(lián)的命令值的命令。另一方面,處理器140包括兩個(gè)各自包括溫度傳感器和總線 接口的客戶端裝置帶有核0總線接口142的核0溫度傳感器和帶有核1 總線接口 146的核1溫度傳感器??山o處理器140分配單個(gè)地址以減少 由平臺(tái)溫度控制器162所處理的地址的總量。當(dāng)搡作系統(tǒng)請(qǐng)求來(lái)自處 理器140的核的溫度數(shù)據(jù)的檢索時(shí),驅(qū)動(dòng)器邏輯182的指令可以指示平 臺(tái)溫度控制器162經(jīng)由總線190向給處理器140所分配的地址傳送兩個(gè) 命令有命令值0的溫度讀取請(qǐng)求和有命令值1的溫度讀取請(qǐng)求。舉例 來(lái)說(shuō),平臺(tái)溫度控制器162可首先傳送具有命令值0的溫度請(qǐng)求。核0 總線接口 144識(shí)別該地址為給處理器140所分配的地址,并且包括命令 邏輯144以識(shí)別具有命令值0的命令。這樣,核0總線接口142響應(yīng)具有 命令值O的溫度讀取請(qǐng)求,讀取與核O相關(guān)聯(lián)的溫度數(shù)據(jù)并返回該溫度 數(shù)據(jù)。核1總線接口146的命令邏輯148也識(shí)別該地址為給處理器 140所分配的地址,但不響應(yīng)該命令,因?yàn)樵撁罹哂胁皇敲钸壿?148被設(shè)計(jì)來(lái)響應(yīng)的1或者其它值的命令值。在若干實(shí)施例中,命令邏 輯148在終止參與通信之前,可用響應(yīng)于報(bào)頭信息的幀校驗(yàn)序列(frame chech sequence: FCS )校驗(yàn)和(其與來(lái)自核O總線接口的FCS基本相同) 或者該FCS的至少一部分、例如最初的3個(gè)比特來(lái)響應(yīng)。在某些實(shí)施例 中,核l總線接口 146可以根據(jù)確定該命令具有0的命令值而忽略該命 令。在另外的實(shí)施例中,核1總線接口146可以不識(shí)別該命令因?yàn)樵撁?令值為O,并因而可忽略該命令?!┌押?的溫度數(shù)據(jù)返回到平臺(tái)溫度控制器162,平臺(tái)溫 度控制器162就可以傳送具有命令值1的第二溫度讀取請(qǐng)求。以類(lèi)似方 式,核0總線接口142可以識(shí)別該命令的地址為處理器140的地址,并 且可以不響應(yīng)或者可以用響應(yīng)于報(bào)頭信息的FCS校驗(yàn)和應(yīng)答(其與來(lái) 自核1總線接口的FCS基本相同)或者該FCS的至少一部分響應(yīng)。然后,核0總線接口 142可以根據(jù)具有命令值1的命令的收到而終止總線活 動(dòng)?;旧贤瑫r(shí)地,核1總線接口146的命令邏輯148可以識(shí)別所述具 有命令值l的溫度讀取請(qǐng)求,確定該命令為溫度讀取請(qǐng)求,并且通過(guò) 經(jīng)由總線190向平臺(tái)溫度控制器162傳送核1的溫度數(shù)據(jù)響應(yīng)該溫度讀 取請(qǐng)求。存儲(chǔ)控制器中心150可以包括用于總線195的主機(jī)。雖然總 線195可以具有與SST總線170或者總線190相同或者相似的規(guī)范,但是 可把總線195設(shè)計(jì)成對(duì)DRAM模塊180的DRAM單元進(jìn)行讀和/或?qū)?。?本實(shí)施例中,DRAM模塊180可以包括一個(gè)或多個(gè)雙列直插存儲(chǔ)器模 塊(dual-inline memory module: DIMM),每個(gè)才莫塊具有高達(dá)32個(gè)客 戶端裝置或由裝置O總線接口 183到裝置N總線接口 188所表征的總線 接口??蒑個(gè)模塊分配單個(gè)地址以減少與總線195相關(guān)聯(lián)的地 址的數(shù)量,并且DIMM上的32個(gè)裝置的每個(gè)裝置可以與0到31之間的某 個(gè)值相關(guān)聯(lián)。此外,DIMM上的每個(gè)總線接口可被設(shè)計(jì)成識(shí)別與0到31 之間的某個(gè)不同值相關(guān)聯(lián)的命令。這樣,存儲(chǔ)控制器中心150可以通 過(guò)用與值O相關(guān)聯(lián)的命令傳送被尋址到第一DIMM的讀命令,從DRAM 模塊180的該第一DIMM的裝置0讀。同樣,存儲(chǔ)控制器中心150可以通 過(guò)把與值1相關(guān)聯(lián)的寫(xiě)命令尋址到第三DIMM來(lái)對(duì)DRAM模塊180的第 三DIMM的裝置1寫(xiě)。在若干實(shí)施例中,某些命令可以由所有裝置識(shí)別并響應(yīng)。 舉例來(lái)說(shuō),命令邏輯184到189中的每個(gè)命令邏輯可以識(shí)別具有十六進(jìn) 制命令值OxFF的命令。舉例說(shuō)明,寫(xiě)命令可以具有十六進(jìn)制命令值 OxFF,并且存儲(chǔ)控制器中心150能夠通過(guò)把0xFF的寫(xiě)命令尋址到第一 DIMM而把第一DIMM上的全部存儲(chǔ)器單元置零。此外,讀命令可以 包括十六進(jìn)制命令值OxFF。如果總線結(jié)構(gòu)包括用于邏輯l的強(qiáng)上拉 (pull up)和用于邏輯O的弱下拉(pull down),那么存儲(chǔ)控制器中心 150可以經(jīng)由讀取命令從DIMM上的各個(gè)裝置請(qǐng)求來(lái)自單元的讀取,以試圖確定是否任何單元讀為邏輯l。如果全部響應(yīng)都是邏輯O,那么存
儲(chǔ)控制器中心50可以從全部裝置接收邏輯0的響應(yīng)。另一方面,所述 裝置的一個(gè)或多個(gè)裝置可用邏輯l響應(yīng),且比特爭(zhēng)用裁定可以終止來(lái) 自試圖以邏輯O響應(yīng)的裝置的數(shù)據(jù)的傳輸。注意,在本實(shí)施例中,裝 置僅需要維持(assert)用于邏輯l的強(qiáng)上拉而不管邏輯O,因?yàn)橄⒌?始發(fā)者將維持弱下拉。在其它實(shí)施例中,用于邏輯l的強(qiáng)上拉必須相 對(duì)于弱下拉足夠強(qiáng),以使強(qiáng)上拉可以勝過(guò)多個(gè)裝置的弱下拉,并還能 在總線上維持有效的邏輯l。圖2示出了具有兩個(gè)不同裝置、與裝置O總線接口 2IO耦合的 裝置O和與裝置1總線接口 230相耦合的裝置1的可尋址插槽200的實(shí)施 例200。舉例來(lái)說(shuō),裝置0和裝置1可以包括被包括在單片封裝內(nèi)并被 插入到插槽200的裝置。插槽200可以是在例如圖1的系統(tǒng)100的系統(tǒng)中的插槽,并且 可以與總線290耦合以把裝置0和裝置1與總線290上的其它裝置耦合。 在本實(shí)施例中,在總線290上給插槽200分配單個(gè)地址。為了使來(lái)自裝 置O和裝置1的唯一響應(yīng)的傳輸便利,裝置O總線接口 210可以只響應(yīng)具 有命令值的第 一集合的命令,而裝置1總線接口 230可以只響應(yīng)具有命 令值的第二集合的命令。在某些實(shí)施例中,第一集合和第二集合可以 包括相同命令值的某些命令值,例如這樣的命令,對(duì)于該命令來(lái)自裝 置O和裝置1的響應(yīng)將要基本相同。裝置0總線接口210可以包括地址邏輯212、命令邏輯214、 答復(fù)邏輯220以及爭(zhēng)用裁定器222。地址邏輯212可以確定總線290上的 通信是否被定向到給插槽200所分配的地址。當(dāng)?shù)刂愤壿?12確定通信 不被尋址到插槽200時(shí),裝置O總線接口可以不響應(yīng)此通信。另一方面, 當(dāng)?shù)刂愤壿?12確定通信被尋址到插槽210時(shí),命令邏輯214可以對(duì)在
該通信中所收到的命令進(jìn)行評(píng)估。命令邏輯214可以為確定是否要響應(yīng)此通信中的命令以及 如何響應(yīng)的邏輯。命令邏輯214包括命令值比較器216和命令解釋器
12(interpreter) 218。命令值比較器216可以將在該通信中所收到的命令 的命令值和與裝置O相關(guān)聯(lián)的命令值的第一集合中的值進(jìn)行比較。如 果命令值包括在該集合中,那么命令解釋器218可以確定該命令。舉 例來(lái)說(shuō),如果命令是讀溫度數(shù)據(jù),那么答復(fù)邏輯220可以讀取溫度傳 感器的數(shù)據(jù)并經(jīng)由總線290傳送該溫度數(shù)據(jù)。另一方面,如果命令解 釋器218確定該命令是復(fù)位(reset)溫度傳感器裝置的命令,那么答復(fù) 邏輯220可以復(fù)位溫度裝置并且可以用確認(rèn)答復(fù)或者不答復(fù)。爭(zhēng)用裁定器222可以是基于比特爭(zhēng)用實(shí)現(xiàn)總線290的總線裁 定的比特裁定器。舉例來(lái)說(shuō),如果答復(fù)邏輯220響應(yīng)命令試圖向總線 290寫(xiě)入邏輯0,但是在寫(xiě)入的確認(rèn)期間從總線290讀回了邏輯1,那么 爭(zhēng)用裁定器222可以停止對(duì)總線290的寫(xiě)入直到收到后來(lái)的消息。類(lèi)似于裝置0總線接口210,裝置1總線接口230包括地址邏 輯232、命令邏輯234、答復(fù)邏輯240以及爭(zhēng)用裁定器250。不同于裝置 0總線接口 210,裝置1總線接口 230響應(yīng)具有命令值的第二集合中的命 令值的命令。舉例來(lái)說(shuō),在收到通信時(shí),地址邏輯232可以確定該通 信的地址是否與插槽200相關(guān)聯(lián),命令邏輯234將確定該通信中的命令 的命令值是否在命令值的第二集合中,并且,如果該命令值是,那么 答復(fù)邏輯240可以通過(guò)傳送數(shù)據(jù)和/或執(zhí)行別的動(dòng)作響應(yīng)該命令。爭(zhēng)用 裁定器250監(jiān)視比特爭(zhēng)用,并且根據(jù)探測(cè)比特爭(zhēng)用終止來(lái)自裝置l總線 ,接口 230的對(duì)通信的響應(yīng)。圖3示出共享公共地址的裝置A和B的總線接口的實(shí)施例的 流程圖300。具體而言,流程圖300示出了通過(guò)裝置A總線接口與裝置B 總線接口的消息的邏輯流程。注意,對(duì)通過(guò)總線接口的消息進(jìn)行并行 評(píng)估。流程圖300始于接收具有命令的消息(單元305 )。舉例來(lái) 說(shuō),裝置A和裝置B可以駐留在相同的可尋址位置或者可以駐留在分配 有同一地址的不同的可尋址位置以達(dá)到總線上的通信目的。裝置A接 口可以確定與該消息相關(guān)聯(lián)的地址是否是裝置A總線接口的正確地址,或者是裝置A總線接口將對(duì)其響應(yīng)的地址(單元315)。如果該地 址不是裝置A接口設(shè)計(jì)來(lái)對(duì)其響應(yīng)的地址,則對(duì)該通信的評(píng)價(jià)結(jié)束。另 一方面,如果該消息的地址是裝置A總線接口設(shè)計(jì)來(lái)對(duì)其 響應(yīng)的 一個(gè)地址,那么裝置A總線接口可以確定該命令是否是這樣的 命令,裝置A總線接口對(duì)該命令的響應(yīng)與裝置B總線接口的對(duì)應(yīng)響應(yīng)相 同(單元320)。在多數(shù)實(shí)施例中,由來(lái)自該通信的命令值與裝置A總 線接口被設(shè)計(jì)來(lái)響應(yīng)的命令的值的一 系列比較完成單元320。例如, 裝置A總線接口可以適合用與裝置B總線接口大致相同的響應(yīng)響應(yīng)三 個(gè)命令。在這樣的實(shí)施例中,單元320可以連續(xù)地把與該通信相關(guān)聯(lián) 的命令值與這三個(gè)命令的值進(jìn)行比較。如果該通信的命令值與這三個(gè) 命令的任何命令匹配,那么裝置A總線接口將解釋并響應(yīng)來(lái)自該通信 的命令(單元330)。類(lèi)似地,裝置A總線接口以及裝置B接口可對(duì)可確定為錯(cuò)誤 的或不可識(shí)別的命令作出相同響應(yīng)。如果該命令是可確定為錯(cuò)誤的或 者不可識(shí)別的,那么裝置A總線接口可以解釋來(lái)自該通信的命令并以 可包括具有一個(gè)或多個(gè)反轉(zhuǎn)比特的FCS的不良寫(xiě)FCS (bad WriteFCS ) 對(duì)其進(jìn)行響應(yīng)(單元330)。在單元380,裝置B總線接口可以大致相 同的方法響應(yīng)。另一方面,在單元320如果與該通信相關(guān)聯(lián)的命令值與命令 值不匹配并且不是可確定為錯(cuò)誤的或者不可識(shí)別的,那么可把與該通 信相關(guān)聯(lián)的命令值和與裝置A相關(guān)聯(lián)的一個(gè)或多個(gè)命令值進(jìn)行比較
(單元325 )??砂堰@些命令值分配給裝置A,因此裝置A可用對(duì)該命 令的唯一響應(yīng)來(lái)響應(yīng)。舉例來(lái)說(shuō),如果裝置A包括DRAM才莫塊上的溫 度傳感器,那么具有與裝置A相關(guān)聯(lián)的命令值的命令可以發(fā)起包括來(lái)
自該溫度傳感器的溫度讀數(shù)的響應(yīng)(單元330)。在其它實(shí)施例中,超過(guò)兩個(gè)的裝置可以共享同一地址。在 這樣的實(shí)施例中,可4巴命令值與兩個(gè)或兩個(gè)以上的裝置的組相關(guān)耳關(guān), 因此裝置的子集響應(yīng)某些命令。例如,裝置的第一子集可以響應(yīng)具有
14第 一命令值的第 一復(fù)位命令,而裝置的第二子集可以響應(yīng)具有第二命 令值的第二復(fù)位命令。裝置B總線接口的命令評(píng)估路線可與裝置A總線接口類(lèi)似。 特別地,在單元360,裝置B接口可以確定與通信相關(guān)聯(lián)的地址是否是 裝置B接口被設(shè)計(jì)來(lái)響應(yīng)的一個(gè)地址。如果裝置B接口不被i殳計(jì)來(lái)響應(yīng) 該地址,那么裝置B接口可以終止對(duì)該通信的評(píng)估。在單元370,裝置B接口可以將與該通信相關(guān)聯(lián)的命令值和 將從裝置A接口和裝置B接口 ? 1起基本相同的響應(yīng)的 一個(gè)或多個(gè)命令 值進(jìn)行比較。如果匹配,則裝置B接口解釋并且響應(yīng)該命令(單元380 )。 如果該命令是可確定為錯(cuò)誤的或者不可識(shí)別的,那么裝置B接口可用 對(duì)應(yīng)答復(fù)響應(yīng)該命令(單元380)。否則,裝置B接口將該通信的命令 值和與裝置B相關(guān)聯(lián)的一個(gè)或多個(gè)命令值進(jìn)行比較。如果不匹配,貝'J 裝置B總線接口可什么也不做。另一方面,如果匹配,則裝置B接口可 以解釋該命令并作出相應(yīng)響應(yīng)(單元380)。圖4示出了從共享公共地址的裝置檢索數(shù)據(jù)的應(yīng)用 (application)的實(shí)施例的流程圖400。在某些實(shí)施例中,該應(yīng)用可以 與例如驅(qū)動(dòng)器(driver)的其它代碼交互以實(shí)現(xiàn)以下功能。例如,該應(yīng) 用可注意可收集或者寫(xiě)入數(shù)據(jù)的裝置,并且該驅(qū)動(dòng)器可以把來(lái)自應(yīng)用 的裝置描述關(guān)聯(lián)到具體命令。流程圖400始于選擇裝置作為消息的目標(biāo)(單元410)。例 如,該應(yīng)用可以選擇處理器作為消息的目標(biāo)以檢索溫度數(shù)據(jù)。在多數(shù) 實(shí)施例中,該應(yīng)用可以知道該處理器具有兩個(gè)核并且每個(gè)核中有一個(gè) 集成的溫度傳感器。因此,該應(yīng)用可以經(jīng)過(guò)驅(qū)動(dòng)器從每個(gè)核請(qǐng)求溫度 數(shù)據(jù)。該應(yīng)用可用第 一指示識(shí)別第 一個(gè)核和用第二指示識(shí)別第二個(gè) 核。然后,驅(qū)動(dòng)器可以確定給處理器所分配的地址(單元415)。根 據(jù)系統(tǒng)的配置,給處理器所分配的地址可為固定地址或者動(dòng)態(tài)分配的
理器的指示選擇該地址。
15
依據(jù)確定處理器的地址,驅(qū)動(dòng)器可以產(chǎn)生具有與第 一指示 相關(guān)聯(lián)的命令的消息和具有與第二指示相關(guān)聯(lián)的命令的消息。為了產(chǎn) 生第 一 消息,驅(qū)動(dòng)器可以從由第一指示所引用的命令的表中選擇命 令。然后,驅(qū)動(dòng)器可以向SST總線的主機(jī)的命令隊(duì)列傳送第一消息。 類(lèi)似地,驅(qū)動(dòng)器可以產(chǎn)生第二消息并且向該隊(duì)列傳送第二消息。然后, 該主機(jī)可以向該處理器連續(xù)傳送所述消息(單元430)。在傳送第一消息之后,該應(yīng)用可以從該處理器接收包括第 一個(gè)核的溫度讀數(shù)的答復(fù)(單元435 )。以類(lèi)似方式,該應(yīng)用可以響 應(yīng)第二消息接收第二個(gè)核的溫度讀數(shù)(單元435)。把本發(fā)明的另 一實(shí)施例實(shí)現(xiàn)為與執(zhí)行例如結(jié)合圖1所示的 系統(tǒng)100所述過(guò)程的過(guò)程的系統(tǒng)或者圖2-4所述的其它實(shí)施例配合使用 的程序產(chǎn)品。該程序產(chǎn)品的程序定義所述實(shí)施例的功能(包括本文所 述的方法),并且能夠被包括在各種數(shù)據(jù)和/或信號(hào)承載媒介上。示例 性的數(shù)據(jù)和/或信號(hào)承載媒介包括、但是不限制于(i)永久存儲(chǔ)在 不可寫(xiě)存儲(chǔ)媒介(例如,在計(jì)算機(jī)內(nèi)部的只讀存儲(chǔ)器裝置,比如由 CD-ROM驅(qū)動(dòng)器可讀的CD-ROM盤(pán))上的消息;(ii)存儲(chǔ)在可寫(xiě)存 儲(chǔ)媒介(例如,通用串行總線(USB)閃存驅(qū)動(dòng)器或者硬盤(pán)驅(qū)動(dòng)器) 上的可變信息;以及(iii)例如經(jīng)過(guò)計(jì)算機(jī)或者包括無(wú)線通信的電話 網(wǎng)由通信媒體交付給計(jì)算機(jī)的信息。后 一 實(shí)施例明確包括從因特網(wǎng)和 其他網(wǎng)絡(luò)所下載的信息。此類(lèi)數(shù)據(jù)和/或信號(hào)承載媒介在承載指引本發(fā) 明的功能的計(jì)算機(jī)可讀指令時(shí),代表本發(fā)明的實(shí)施例。通常,實(shí)現(xiàn)本發(fā)明的實(shí)施例所執(zhí)行的例行事務(wù)(routine),
可以是操作系統(tǒng)的部分或者特定應(yīng)用、組件、程序、模塊、對(duì)象或指 令序列。本發(fā)明的計(jì)算機(jī)程序一般包括將被計(jì)算機(jī)翻譯為機(jī)器可讀格 式和因此成為可執(zhí)行指令的指令中的多數(shù)指令。同樣,程序包括對(duì)程 序而言駐留在本地或者在存儲(chǔ)器中或在存儲(chǔ)裝置上找到的變量和數(shù) 據(jù)結(jié)構(gòu)。另外,下文所述的各種程序可以根據(jù)在本發(fā)明的具體實(shí)施例 中實(shí)現(xiàn)的應(yīng)用來(lái)識(shí)別。然而,要理解,使用隨后的任何特定程序命名
16僅為方便起見(jiàn),因此本發(fā)明將不限于在由此類(lèi)命名所確定和/或所暗示 的任何具體應(yīng)用中單獨(dú)使用。對(duì)受益于;^>開(kāi)的本領(lǐng)域技術(shù)人員而言顯而易見(jiàn),本發(fā)明 預(yù)期用于共享公共地址的裝置的系統(tǒng)和配置??衫斫?,要把詳細(xì)說(shuō)明 和附圖中所示和所述的本發(fā)明的形式僅視為示例。意圖是寬泛解釋隨 附權(quán)利要求書(shū)以涵蓋所公開(kāi)的實(shí)施例的全部變型。雖然已經(jīng)詳細(xì)描述了本發(fā)明的某些實(shí)施例,但是應(yīng)理解, 在沒(méi)有脫離由隨附權(quán)利要求書(shū)所定義的本發(fā)明的精神和范圍的條件 下,可進(jìn)行各種變化、替換和更改。雖然本發(fā)明的實(shí)施例可以達(dá)到多 個(gè)目的,但不是每個(gè)落入隨附權(quán)利要求書(shū)的范圍內(nèi)的實(shí)施例都會(huì)實(shí)現(xiàn) 每個(gè)目的。此外,并非想把本申請(qǐng)的范圍限制到說(shuō)明書(shū)中所說(shuō)明的所 述過(guò)程、機(jī)器、產(chǎn)品、物質(zhì)的組合、裝置、方法和步驟的特定實(shí)施例。 因?yàn)?,本領(lǐng)域普通技術(shù)人員將從本發(fā)明的公開(kāi)輕易理解,依照本發(fā)明 可使用目前存在的或者以后要被開(kāi)發(fā)的、基本執(zhí)行與本文所述的相應(yīng) 實(shí)施例相同的功能或者基本達(dá)到與本文所述的相應(yīng)實(shí)施例相同的結(jié) 果的過(guò)程、機(jī)器、產(chǎn)品、物質(zhì)的組合、裝置、方法或者步驟。所以, 隨附權(quán)利要求書(shū)旨在把此類(lèi)過(guò)程、機(jī)器、產(chǎn)品、物質(zhì)的組合、裝置、 方法或者步驟包括其范圍內(nèi)。
1權(quán)利要求
1. 一種識(shí)別被定向到第一裝置的命令的設(shè)備,所述設(shè)備包括命令比較器,根據(jù)與所述命令關(guān)聯(lián)的值將所述命令與所述第一裝置關(guān)聯(lián),其中,所述第一裝置和第二裝置以所述命令共享地址;以及所述第一裝置的命令解釋器,響應(yīng)所述命令與所述第一裝置的關(guān)聯(lián)接收所述命令以供執(zhí)行。
2. 如權(quán)利要求l所述的設(shè)備,還包括確定所述地址與所述第一裝 置和所述第二裝置關(guān)聯(lián)的地址比較器。
3. 如權(quán)利要求l所述的設(shè)備,還包括基于所述命令解釋器的解釋 響應(yīng)所述命令的答復(fù)邏輯。
4. 如權(quán)利要求3所述的設(shè)備,其中,所述答復(fù)邏輯要通過(guò)向發(fā)起 裝置的數(shù)據(jù)的傳送響應(yīng)所述命令,其中,所述發(fā)起裝置傳送所述命令。
5. 如權(quán)利要求l所述的設(shè)備,還包括響應(yīng)所述總線上的比特爭(zhēng)用 終止對(duì)所述命令的答復(fù)的傳輸?shù)臓?zhēng)用裁定器。
6. 如權(quán)利要求l所述的設(shè)備,還包括把所述命令比較器與串行總 線耦合的串行總線接口。
7. 如權(quán)利要求l所述的設(shè)備,其中,所述命令比較器包括忽略具 有與所述命令所關(guān)聯(lián)的值不同的命令值的其它命令的邏輯。
8. 如權(quán)利要求l所述的設(shè)備,其中,所述命令比較器包括拒絕具 有和與所述命令關(guān)聯(lián)的值不同的命令值的其它命令的邏輯。
9. 一種用一個(gè)以上裝置中的第一裝置識(shí)別命令的方法,所述方法 包括接收具有地址的信息命令以把所述命令與所述一個(gè)以上裝置關(guān)聯(lián);確定與所述命令關(guān)聯(lián)的第 一值;將所述第 一值與所述一個(gè)以上裝置的所述第 一裝置所關(guān)聯(lián)的第 二值進(jìn)行比較;以及如果所述第 一值與所述第二值匹配就響應(yīng)所述命令。
10. 如權(quán)利要求9所述的方法,還包括響應(yīng)所述命令的傳輸由所述 第一裝置和第二裝置傳送校驗(yàn)和。
11. 如權(quán)利要求9所述的方法,其中,確定所述第一值包括確定所 述命令的命令值。
12. 如權(quán)利要求9所述的方法,其中,比較所述第一值包括把所述 第 一值與所述第 一裝置的管芯數(shù)進(jìn)行比較。
13. 如權(quán)利要求9所述的方法,其中,響應(yīng)所述命令包括響應(yīng)所述 命令傳送數(shù)據(jù)。
14. 如權(quán)利要求9所述的方法,其中,響應(yīng)所述命令包括如果所述 第 一值與所述第二值不匹配則終止參與所述消息。
15. —種通過(guò)命令從一個(gè)以上接口中進(jìn)行選擇的系統(tǒng),所述系統(tǒng) 包括所述一個(gè)以上接口的第 一接口 ,響應(yīng)所述命令的命令值和與所述第 一接口關(guān)聯(lián)的裝置值的匹配而響應(yīng)具有與所述一個(gè)以上接口的所 述第一接口和第二接口關(guān)聯(lián)的地址的消息;以及與所述第 一接口耦合的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
16. 如權(quán)利要求15所述的系統(tǒng),其中,所述第二接口包括根據(jù)比 特爭(zhēng)用裁定總線的4吏用的爭(zhēng)用裁定器。
17. 如權(quán)利要求15所述的系統(tǒng),其中,所述第一接口包括將所述 命令的命令值與所述笫一接口的所述裝置值進(jìn)行比較的命令比較器。
18. 如權(quán)利要求15所述的系統(tǒng),其中,所述命令解釋器包括確定 對(duì)所述命令的響應(yīng)的邏輯。
19. 如權(quán)利要求18所述的系統(tǒng),還包括經(jīng)過(guò)總線傳送數(shù)據(jù)以響應(yīng) 所述命令的答復(fù)邏輯。
20. 如權(quán)利要求15所述的系統(tǒng),其中,所述第一接口包括用于處 理器的一個(gè)以上管芯的第一管芯的總線接口 。
21. 如權(quán)利要求15所述的系統(tǒng),其中,所述第一接口包括用于存儲(chǔ)器模塊上的一個(gè)以上存儲(chǔ)器芯片的第一存儲(chǔ)器芯片的總線接口 。
22. 如權(quán)利要求21所述的系統(tǒng),其中,所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 包括所述存儲(chǔ)器模塊上的存儲(chǔ)器芯片,且所述存儲(chǔ)器模塊包括所述第 一接口。
23. 如權(quán)利要求15所述的系統(tǒng),其中,所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 經(jīng)由存儲(chǔ)控制器中心與所述第 一接口耦合。
24. —種包含指令的機(jī)器可訪問(wèn)媒介,所述指令在被存儲(chǔ)裝置執(zhí)行時(shí),引起所述存儲(chǔ)裝置執(zhí)行操作,所述操作包括產(chǎn)生具有地址的消息以把命令與一個(gè)以上裝置關(guān)聯(lián),其中,所述 命令與命令值關(guān)聯(lián)以識(shí)別所述一個(gè)以上裝置的第 一裝置;以及向所述第 一裝置傳送所述消息。
25. 如權(quán)利要求24所述的機(jī)器可訪問(wèn)媒介,其中,所述操作還包 括選擇所述第一裝置作為所述命令的目標(biāo)。
26. 如權(quán)利要求24所述的機(jī)器可訪問(wèn)媒介,其中,選擇所述第一 裝置作為所述命令的所述目標(biāo)包括確定所述裝置的地址,并才艮據(jù)所述 命令值選擇所述命令以從與所述地址關(guān)聯(lián)的所述一個(gè)以上裝置的其 它裝置中區(qū)分所述第 一裝置。
27. 如權(quán)利要求24所述的機(jī)器可訪問(wèn)媒介,其中,產(chǎn)生所述消息 包括從一個(gè)以上命令中選擇所述命令,其中,所述一個(gè)以上命令包括 具有用于所述一個(gè)以上裝置的每個(gè)裝置的命令值的命令。
28. 如權(quán)利要求24所述的機(jī)器可訪問(wèn)媒介,其中,產(chǎn)生所述消息 包括產(chǎn)生具有所述命令值的所述命令。
29. 如權(quán)利要求24所述的機(jī)器可訪問(wèn)媒介,其中,傳送所述消息 包括經(jīng)驅(qū)動(dòng)器傳送所述消息。
全文摘要
公開(kāi)了用于在總線上共享公共地址的裝置的方法和配置。實(shí)施例可以包括用于媒體管理的主機(jī)和一個(gè)或多個(gè)與通信媒體相耦合的客戶端裝置。所述主機(jī)和/或一個(gè)或多個(gè)所述客戶端裝置可以包括能夠在通信媒體上發(fā)起通信的裝置,也稱為發(fā)起裝置。此外,所述主機(jī)和/或一個(gè)或多個(gè)客戶端裝置可包括能夠經(jīng)過(guò)通信媒體接收通信的裝置,也稱為接收裝置。應(yīng)用能夠傳送命令以請(qǐng)求由共享公共地址的兩個(gè)或兩個(gè)以上的裝置中的一個(gè)裝置所作的響應(yīng)。特別地,發(fā)起裝置的驅(qū)動(dòng)器可以從該應(yīng)用接收指令以向該裝置發(fā)送命令,且該裝置可以基于與該命令相關(guān)聯(lián)的值來(lái)識(shí)別此命令。
文檔編號(hào)G06F13/14GK101479711SQ200780024429
公開(kāi)日2009年7月8日 申請(qǐng)日期2007年6月29日 優(yōu)先權(quán)日2006年6月30日
發(fā)明者R·A·鄧斯坦 申請(qǐng)人:英特爾公司