專利名稱:基于差錯率調(diào)節(jié)發(fā)送器輸出電壓的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電壓調(diào)節(jié)系統(tǒng)和方法,更具體地說,涉及基于差錯率調(diào)節(jié)發(fā)送器輸出電壓的系統(tǒng)和方法。
背景技術(shù):
通信一般包括發(fā)送數(shù)據(jù)的發(fā)送器和操作上耦合到該發(fā)送器以接收數(shù)據(jù)的接收器。在通信過程中消耗功率。降低功耗是所希望的,特別對于電池供電的設(shè)備。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的系統(tǒng)包括控制邏輯;以及發(fā)送器,操作上耦合到控制邏輯,所述發(fā)送器具有輸出電壓,其中控制邏輯基于與發(fā)送器相關(guān)的差錯率調(diào)節(jié)輸出電壓的大小。
根據(jù)本發(fā)明的方法包括確定與發(fā)送器相關(guān)的差錯率;以及基于所述差錯率對發(fā)送器的輸出電壓大小進(jìn)行編程。
為了詳細(xì)地描述本發(fā)明的示范性實(shí)施例,現(xiàn)在將參考所附附圖,其中圖1顯示了根據(jù)本發(fā)明一實(shí)施例的系統(tǒng)示意圖;圖2顯示了根據(jù)本發(fā)明另一實(shí)施例的系統(tǒng)示意圖;圖3顯示了一方法實(shí)施例;以及圖4顯示了另一方法實(shí)施例。
具體實(shí)施例方式
在以下描述中都使用了特定術(shù)語,并要求參照特定的系統(tǒng)部件。如本領(lǐng)域技術(shù)人員所知道的,計(jì)算機(jī)公司可以用不同的名稱提到一個(gè)部件。本申請文件不想在名稱不同但功能相同的部件之間進(jìn)行區(qū)分。在以下討論以及在權(quán)利要求中,術(shù)語“包括”和“包含”以開放式方式使用,并由此應(yīng)解釋為表示“包括,但不限于…”。同樣,術(shù)語“耦合”用于表示間接或者直接電連接。由此,如果第一設(shè)備耦合到第二設(shè)備,則該連接可以通過直接電連接或通過經(jīng)其它設(shè)備和連接的間接電連接。術(shù)語“系統(tǒng)”代表兩個(gè)或更多個(gè)部件的連接,并例如可用于代表計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)子系統(tǒng)。
現(xiàn)在參照圖1,系統(tǒng)10顯示為包括中央處理單元(CPU)12、一對電橋設(shè)備14和18、存儲器16、只讀存儲器(ROM)20以及一個(gè)或多個(gè)外圍設(shè)備22和24。電橋設(shè)備14和18包括北橋14和南橋18。北橋14耦合到CPU 12、存儲器16以及南橋18,以在其間提供通信。南橋18耦合到ROM 20以及外圍設(shè)備22和24。
ROM 20存儲基本輸入/輸出系統(tǒng)(BIOS)可執(zhí)行代碼。在系統(tǒng)初始化過程中由CPU 12執(zhí)行BIOS,并拷貝到存儲器16,用于從其中進(jìn)一步執(zhí)行。BIOS使CPU 12實(shí)現(xiàn)一個(gè)或多個(gè)功能,例如本文描述的功能。
外圍設(shè)備22和24可以是任意類型的外圍設(shè)備。例如,外圍設(shè)備可包括網(wǎng)絡(luò)接口控制器(NIC)或調(diào)制解調(diào)器。根據(jù)本發(fā)明的至少一個(gè)實(shí)施例,各外圍設(shè)備22和24通過外設(shè)部件互連(PCI)-Express總線與南橋18對接。在這種實(shí)施例中,各外圍設(shè)備22和24是PCI-Express兼容的。
南橋18包括各外圍設(shè)備22和24的總線接口。外圍設(shè)備22的接口包括發(fā)送器34和接收器36。這個(gè)接口還包括差錯率值和發(fā)送器輸出電壓值的存儲器。差錯率值表示南橋18和外圍設(shè)備22之間越過總線的傳輸差錯的發(fā)生率。發(fā)送器輸出電壓值是指示相關(guān)發(fā)送器(即發(fā)送器34)的期望輸出電壓大小的值。在一些實(shí)施例中,發(fā)送器是差動發(fā)送器,并且輸出電壓大小是發(fā)送器的輸出電壓擺幅。基于差錯率該輸出電壓擺幅是動態(tài)可編程的。存儲器例如可包括上述各值的寄存器。在圖1所示的實(shí)施例中,存儲器包括可以存儲并讀取差錯率值的第一寄存器30以及可以存儲所希望的發(fā)送器輸出電壓擺幅值以對相關(guān)發(fā)送器的輸出電壓擺幅進(jìn)行編程的第二寄存器32。發(fā)送器34向外圍設(shè)備22內(nèi)的接收器56輸出數(shù)據(jù)。同樣,南橋內(nèi)的接收器36接收來自外圍設(shè)備22內(nèi)的發(fā)送器54的數(shù)據(jù)。外圍設(shè)備22包括接到南橋18的總線接口。外圍設(shè)備22內(nèi)的接口包括發(fā)送器54、接收器56以及差錯率值和發(fā)送器輸出電壓值的存儲器。如圖所示,存儲器包括可以存儲差錯率值的第一寄存器50以及可以存儲發(fā)送器輸出電壓值的第二寄存器52。
在一些實(shí)施例中,系統(tǒng)10可以只包括單個(gè)外圍設(shè)備22。然而,在其它實(shí)施例中,例如圖1所示的實(shí)施例中,可以包括多個(gè)外圍設(shè)備。如果耦合附加外圍設(shè)備,則南橋18包括各外圍設(shè)備的總線接口。例如,在圖1所示的實(shí)施例中,南橋18包括外圍設(shè)備24的總線接口。這種接口包括發(fā)送器44、接收器46以及差錯率和發(fā)送器輸出電壓值的存儲器。這種存儲器包括可以存儲差錯率值的第一寄存器40和可以存儲發(fā)送器輸出電壓值的第二寄存器42。外圍設(shè)備24包括與外圍設(shè)備22類似的總線接口。具體說來,外圍設(shè)備24內(nèi)的接口包括發(fā)送器64、接收器66以及如圖所示可以分別存儲差錯率和發(fā)送器輸出電壓值的存儲器(第一和第二寄存器60和62)。
現(xiàn)在將描述圖1內(nèi)系統(tǒng)10的操作。以下討論集中在南橋18內(nèi)的發(fā)送器34的編程能力上,但這種討論同樣適用于發(fā)送器44、54和64等。發(fā)送器34是可編程的,并且更具體地說,發(fā)送器的輸出電壓擺幅的大小是可編程的。根據(jù)本發(fā)明的各種實(shí)施例,發(fā)送器34的輸出電壓擺幅的編程能力是基于與發(fā)送器34相關(guān)的差錯率。
與發(fā)送器34相關(guān)的差錯率可以根據(jù)任何適當(dāng)技術(shù)確定或者以其它方式測量。例如,可以計(jì)算循環(huán)冗余校驗(yàn)(CRC)位,并用于檢測傳輸差錯。在預(yù)定或可編程時(shí)間間隔內(nèi)計(jì)算錯誤數(shù)量,導(dǎo)出差錯率。周期性確定發(fā)送器34的差錯率(例如,每秒鐘一次、每分鐘一次等),并且與所確定的差錯率相關(guān)的值存儲在寄存器30內(nèi)。通過檢查寄存器30內(nèi)存儲的差錯率值,系統(tǒng)10可以周期性地確認(rèn)發(fā)送器34的差錯率狀態(tài)??刂七壿嬛芷谛员O(jiān)測寄存器30以確認(rèn)差錯率值,并基于差錯率相應(yīng)地調(diào)節(jié)發(fā)送器34的發(fā)送器輸出電壓擺幅。在圖1的實(shí)施例中,控制邏輯包括執(zhí)行來自BIOS ROM 20的BIOS的CPU 12??刂七壿?執(zhí)行BIOS代碼的CPU 12)從寄存器30中讀取差錯率值,并將該差錯率值與一個(gè)或多個(gè)閾值相比較。如果差錯率值超過第一閾值,則控制邏輯對第二寄存器32進(jìn)行編程,以具有一個(gè)使發(fā)送器34以更高的輸出電壓擺幅工作的發(fā)送器輸出電壓值。第一閾值設(shè)為這樣的等級超過它,就確定發(fā)送器34的差錯率是不可接受的。閾值可以是固定的或者可編程的??梢酝ㄟ^增大發(fā)送器的輸出電壓擺幅來減小差錯率,這是控制邏輯通過可編程寄存器32做到的。
在一些實(shí)施例中,可以提供一對閾值,第一閾值和第二閾值。第一閾值大于第二閾值。第一閾值表示這樣一個(gè)差錯率等級超過它就認(rèn)為差錯率過大。如果需要,則使用第二閾值(其低于第一閾值),以產(chǎn)生滯后現(xiàn)象。因此,如果相關(guān)差錯率超過第一閾值,則增大發(fā)送器的輸出電壓擺幅。如果差錯率低于第二閾值,則減小輸出電壓擺幅。通過能夠使發(fā)送器電壓擺幅減小,可以節(jié)約系統(tǒng)功率,這通常對電池供電系統(tǒng)特別有益。此外,對于給定的期望差錯率,本申請所描述的技術(shù)能夠?qū)l(fā)送器輸出電壓擺幅設(shè)定到相當(dāng)?shù)偷牡燃?,但仍然足以獲得期望差錯率的等級。
控制邏輯可以相對于其它發(fā)送器44、54以及64實(shí)現(xiàn)與上述功能相同的功能。在某些實(shí)施例中,控制邏輯以希望方式彼此獨(dú)立地分別對四個(gè)發(fā)送器進(jìn)行編程。
圖1的控制邏輯(執(zhí)行BIOS代碼的CPU 12)可在系統(tǒng)初始化過程中并在運(yùn)行時(shí)間期間周期性地實(shí)現(xiàn)上述功能。在運(yùn)行時(shí)間期間,控制邏輯可以在預(yù)定時(shí)間間隔,例如每秒一次、每分鐘一次、十分鐘一次等,調(diào)節(jié)各種發(fā)送器的輸出電壓擺幅。該時(shí)間間隔是可編程的。
圖2顯示與圖1系統(tǒng)類似的系統(tǒng)100。然而在圖2中,除各種發(fā)送器34、44、接收器36、46以及可編程寄存器30、32、40、42以外,南橋18還包括控制邏輯71。同樣地,控制邏輯71嵌入在南橋18內(nèi)。類似地,外圍設(shè)備22和24分別包括控制邏輯。外圍設(shè)備22內(nèi)包括控制邏輯102,并且外圍設(shè)備24內(nèi)包括控制邏輯104。歸因于圖1的控制邏輯(執(zhí)行BIOS代碼的CPU)的功能由圖2的各種控制邏輯電路71、102和104實(shí)現(xiàn)。例如,圖2中南橋18的控制邏輯71周期性監(jiān)測寄存器30和40的差錯率值,并基于如上所述的那些差錯率值與相關(guān)閾值的比較,對發(fā)送器輸出電壓寄存器32和42進(jìn)行重新編程,以使發(fā)送器34和44的輸出電壓發(fā)生如上所述的變化。同樣,102的控制邏輯監(jiān)測外圍設(shè)備22的差錯率,并通過向寄存器52寫入新值來調(diào)節(jié)發(fā)送器54的輸出電壓擺幅。外圍設(shè)備24的控制邏輯104監(jiān)測發(fā)送器64的差錯率,并基于差錯率與相關(guān)閾值的比較,通過向寄存器62寫入新值,來調(diào)節(jié)發(fā)送器64的輸出電壓擺幅的大小。
在圖2的實(shí)施例中,嵌入在各總線設(shè)備18、22和24內(nèi)的控制邏輯動態(tài)地(即,在運(yùn)行時(shí)間期間)監(jiān)測相關(guān)差錯率,并相應(yīng)地調(diào)節(jié)發(fā)送器的輸出電壓擺幅。在某些實(shí)施例中,CPU 12在系統(tǒng)初始化過程中通過執(zhí)行BIOS代碼,初始化發(fā)送器輸出電壓寄存器42、52和62內(nèi)的值。其后,控制邏輯電路71、102和104在CPU 12不參與的情況下持續(xù)實(shí)現(xiàn)監(jiān)測差錯率和調(diào)節(jié)發(fā)送器輸出電壓擺幅的功能。然而如果需要,CPU 12可以在BIOS的控制下以預(yù)定的輪詢間隔周期性地監(jiān)測設(shè)備18、22、24的差錯率,同時(shí)控制邏輯電路71、102、104還監(jiān)測相關(guān)發(fā)送器的差錯狀態(tài),并相應(yīng)地對所指示的增大發(fā)送器輸出電壓擺幅作出反應(yīng)。
圖3顯示了包括動作130和132的方法實(shí)施例。在132,該方法包括確定與發(fā)送器相關(guān)的差錯率。該動作可以由上述任一實(shí)施例實(shí)現(xiàn),例如,在BIOS 20控制下的CPU 12或任一控制邏輯電路71、102和104。在132,該方法包括基于相關(guān)差錯率對發(fā)送器的輸出電壓大小進(jìn)行編程。此外,該動作可由在BIOS控制下的CPU 12或由任一控制邏輯電路71、102和104實(shí)現(xiàn)。
圖4顯示了包含動作140-150的更詳細(xì)的方法實(shí)施例,該方法將差錯率與如上所述的一對閾值相比較。在140,該方法包括讀取差錯率寄存器,例如,寄存器30、50以及60。如果從相關(guān)寄存器讀取的差錯率值大于第一閾值,如判定動作142所確定的,則控制轉(zhuǎn)到動作144,其中該方法包括對發(fā)送器電壓寄存器進(jìn)行編程,以增大發(fā)送器輸出電壓擺幅。然而,如果差錯率不大于第一閾值,則控制轉(zhuǎn)到判定動作146,其中將差錯率值與第二閾值相比較。如果差錯率小于第二閾值,并且在本文描述的實(shí)施例中第二閾值小于第一閾值,則控制轉(zhuǎn)到動作148,其中對發(fā)送器輸出電壓寄存器進(jìn)行編程,以便減小發(fā)送器輸出電壓擺幅。因?yàn)橄嚓P(guān)發(fā)送器的差錯率足夠低,因此可以降低發(fā)送器的輸出電壓擺幅是確定的。如果差錯率不小于第二閾值,則該方法在150結(jié)束。圖3和圖4的方法實(shí)施例可以在運(yùn)行時(shí)間內(nèi)實(shí)現(xiàn),并且如上文所述的,可以在運(yùn)行時(shí)間內(nèi)以周期間隔實(shí)現(xiàn)。
上述討論意思是本發(fā)明原理及各種實(shí)施例的說明。一旦完全明白了上述公開內(nèi)容,對于本領(lǐng)域技術(shù)人員來說,各種變化以及修改都是顯而易見的。例如,而不是讓CPU 12或各種控制邏輯電路71、102、104輪詢各種差錯率寄存器,該硬件可配置為,當(dāng)差錯率超過第一閾值或低于第二閾值時(shí)實(shí)行中斷。此外,盡管為多種不同用途的每種用途顯示了一個(gè)寄存器(例如,存儲差錯率值的寄存器30,存儲發(fā)送器輸出電壓值的寄存器32),但是可以使用多個(gè)寄存器存儲特定類型的值。以下權(quán)利要求書用于解釋為包含所有的這種變化和修改。
權(quán)利要求
1.一種系統(tǒng)(10),包括控制邏輯(12、71、102、104);以及發(fā)送器(44、54、64),操作上耦合到所述控制邏輯,所述發(fā)送器具有輸出電壓;其中所述控制邏輯基于與所述發(fā)送器相關(guān)的差錯率調(diào)節(jié)所述輸出電壓的大小。
2.如權(quán)利要求1所述的系統(tǒng),還包括其中寫入所述差錯率的寄存器(30、50、60),并且其中所述控制邏輯使用來自第一寄存器的差錯率調(diào)節(jié)所述大小。
3.如權(quán)利要求1所述的系統(tǒng),還包括寄存器(32、52、62),所述控制邏輯將值寫入所述寄存器(32、52、62),以調(diào)節(jié)所述大小。
4.如權(quán)利要求1所述的系統(tǒng),其中所述控制邏輯在所述系統(tǒng)的運(yùn)行時(shí)間期間多次調(diào)節(jié)所述大小。
5.如權(quán)利要求1所述的系統(tǒng),其中所述控制邏輯將所述差錯率與第一閾值相比較,如果所述差錯率超過所述第一閾值,則所述控制邏輯增大所述大小。
6.如權(quán)利要求1所述的系統(tǒng),其中所述控制邏輯將所述差錯率與閾值相比較,如果所述差錯率小于所述閾值,則所述控制邏輯減小所述大小。
7.如權(quán)利要求1所述的系統(tǒng),還包括多個(gè)發(fā)送器,每個(gè)都具有可由所述控制邏輯基于相關(guān)差錯率調(diào)節(jié)的輸出電壓大小。
8.一種方法,包括確定(130)與發(fā)送器相關(guān)的差錯率;以及基于所述差錯率對所述發(fā)送器的輸出電壓大小進(jìn)行編程(132)。
9.如權(quán)利要求8所述的方法,其中確定所述差錯率以及對所述大小進(jìn)行編程都在運(yùn)行時(shí)間期間重復(fù)發(fā)生。
10.如權(quán)利要求8所述的方法,其中對所述大小進(jìn)行編程包括如果所述差錯率超過第一閾值,則增大(144)所述大小,并且如果所述差錯率低于第二閾值,則減小(148)所述大小。
全文摘要
根據(jù)本發(fā)明的一個(gè)實(shí)施例,系統(tǒng)(10)包括控制邏輯(12、71、102、104)以及發(fā)送器(44、54、64)。該發(fā)送器操作上耦合到控制邏輯并具有輸出電壓??刂七壿嫽谂c發(fā)送器相關(guān)聯(lián)的差錯率調(diào)節(jié)輸出電壓的大小。
文檔編號G06F13/38GK1848102SQ20061007478
公開日2006年10月18日 申請日期2006年4月12日 優(yōu)先權(quán)日2005年4月13日
發(fā)明者B·D·賴德, A·N·亞歷延德羅, M·戈夫 申請人:惠普開發(fā)有限公司