基于接口耦合的靈活的端口配置的制作方法
【專利摘要】本發(fā)明公開的各示例實施例涉及配置靈活的端口?;谥领`活的輸入/輸出端口的接口的耦合檢測計算設(shè)備的配置。基于檢測的計算設(shè)備的配置來配置靈活的輸入/輸出端口。
【專利說明】基于接口耦合的靈活的端口配置
【背景技術(shù)】
[0001 ] 如今的計算設(shè)備配置有各種輸入/輸出接口。這些接口的示例包括外圍組件互連總線、通用串行總線以及串行高級技術(shù)附件總線。輸入/輸出控制器可用于使這些接口和計算設(shè)備的處理器之間相連接。
【專利附圖】
【附圖說明】
[0002]下面的詳細描述參照多個圖,其中:
[0003]圖1A和圖1B是根據(jù)各種示例的,能夠基于檢測的系統(tǒng)配置來配置靈活的端口的計算設(shè)備的框圖;
[0004]圖2A和圖2B是根據(jù)各種示例的,能夠基于物理檢測設(shè)備檢測系統(tǒng)配置的計算系統(tǒng)的不意圖;
[0005]圖3A和圖3B是根據(jù)各種示例的,能夠基于線纜檢測來檢測系統(tǒng)配置的計算系統(tǒng)的不意圖;
[0006]圖4A-4D是根據(jù)各種示例的,能夠基于使用子卡接口檢測系統(tǒng)配置的計算系統(tǒng)的示意圖;
[0007]圖5A和圖5B是根據(jù)各種示例的,能夠基于設(shè)備的存在檢測系統(tǒng)配置的計算系統(tǒng)的不意圖;
[0008]圖6A和圖6B是根據(jù)各種示例的,可用于編程靈活的端口,以提供特定協(xié)議的接口,或為另一個接口提供額外的帶寬的計算系統(tǒng)的示意圖;
[0009]圖7A和圖7B是根據(jù)各種示例的,基于機架或電源的存在檢測系統(tǒng)配置的計算系統(tǒng)的不意圖;
[0010]圖8是根據(jù)一個示例的,基于所檢測的計算系統(tǒng)的配置來配置靈活的輸入/輸出端口的方法的流程圖。
【具體實施方式】
[0011]如今,許多計算系統(tǒng)被配置成使用各種輸入/輸出(I/O)接口。制造商在他們的設(shè)備中使用特定的硬件,例如,處理器、I/o控制器,等等。這些I/O控制器中的許多永久地限定其可使用的I/o端口的類型。其他I/O控制器允許靈活的端口,可配置這些靈活的端口中的一個或多個。在某些實施例中,靈活的端口為I/o控制器的一組I/O連接器(例如,引腳、球形觸點(ball),等等),可用于提供使用第一協(xié)議的第一 I/O接口或使用第二協(xié)議的第二 I/o接口。I/O控制器的額外的I/O連接器可用于實現(xiàn)第一 I/O接口或第二 I/O接口。在一個示例中,一些I/o控制器可允許與集線器(hub)關(guān)聯(lián)的一組引腳用作通用串行總線(USB)端口、外圍組件互連快遞(PCIe)端口、串行高級技術(shù)附件(SATA)端口或其他端口。由于不需要另外的芯片設(shè)計來支持改變的端口,這允許芯片制造商減少芯片的變化。
[0012]制造商開發(fā)印刷電路組件(PCA)(例如,系統(tǒng)板),以與跟集線器關(guān)聯(lián)的I/O控制器和/或處理器一起工作。當裝配了 PCA時,制造商可將多個靈活的端口設(shè)置為要使用的永久限定的I/O端口類型。之所以可以這樣做是因為通過印刷電路板連接支持硬件,且該硬件和/或布線專用于特定的端口。但是,該方法的可擴展性不太好,且該方法很難為特定的用戶或系統(tǒng)需求定制化。此外,利用用戶干預配置端口耗費時間,且是不合用戶需要的。
[0013]因此,本文公開的各種實施例涉及檢測計算設(shè)備的期望的I/O配置以及配置靈活的端口。配置的檢測可包括基于至靈活的端口的接口的耦合的檢測。在一個實施例中,基于至靈活的端口的接口的耦合的檢測意思為:組件連接至少靈活的端口的信號用于檢測配置。在一個示例中,接口的耦合還可包括接口連接的通用輸入/輸出(GP1)的耦合。在某些實施例中,GP1為芯片上的通用連接器(例如,引腳),可利用控制器可執(zhí)行的軟件控制通用連接器的行為。此外,在一些實施例中,接口在計算設(shè)備內(nèi)部連接,而在其他實施例中,接口在計算設(shè)備外部連接。
[0014]現(xiàn)在參照各圖,圖1A和圖1B為根據(jù)各種示例的,能夠基于檢測的系統(tǒng)配置來配置靈活的端口的計算設(shè)備的框圖。計算設(shè)備100a、10b包括可用于基于系統(tǒng)配置來配置靈活的端口的組件。各計算設(shè)備10aUOOb可為筆記本電腦、臺式電腦、服務(wù)器、工作站或可使用一個或多個靈活的端口的任意其他計算設(shè)備。在某些實施例中,計算設(shè)備10a可包括輸入/輸出控制器110、系統(tǒng)配置檢測模塊112以及端口配置模塊114。在另一個實施例中,計算設(shè)備10b還可包括多路復用器116、處理器130以及機器可讀存儲介質(zhì)132。輸入/輸出控制器110可包括靈活的端口 140。
[0015]在某些實施例中,輸入/輸出控制器110為可將外圍組件連接至處理器的芯片。在某些示例中,I/o控制器110可稱為南橋、I/O控制器集線器、融合控制器集線器,等等。在其他示例中,I/o控制器110可包含作為北橋或類似的芯片或芯片組的一部分。
[0016]如所述的,I/O控制器110可包括靈活的端口 140。I/O控制器110中可包括超過一個的靈活的端口 140。如所述的,在某些示例中,靈活的端口 140可為I/O控制器110的一組引腳,所述一組引腳可用于提供使用第一協(xié)議的第一 I/o接口或使用第二協(xié)議的第二I/o接口。示例的接口包括USB、PCIe、SATA、小型計算機系統(tǒng)接口(SCSI)、集成驅(qū)動電路(IDE)、PCI,等等。靈活的端口 140可被配置成使用第一協(xié)議或第二協(xié)議。在某些示例中,端口可被配置成能夠使用另外的協(xié)議和/或接口。例如,一個靈活的端口能夠支持三種不同類型的接口。
[0017]系統(tǒng)配置檢測模塊112可用于基于至靈活的端口 140的接口的耦合,檢測計算設(shè)備100的期望的輸入/輸出配置。在某些示例中,基于至靈活的端口 140的接口的耦合檢測計算設(shè)備100的期望的I/O配置意思是:計算設(shè)備100的組件連接至少與跟協(xié)議關(guān)聯(lián)的靈活的端口 140的信號用于檢測配置。如在圖2A至圖7B中進一步描述的,配置可基于由計算設(shè)備100進行(例如,由計算設(shè)備的基本輸入/輸出系統(tǒng)執(zhí)行)的試錯檢測,或使用硬件配置。
[0018]在一個示例中,當計算設(shè)備100啟動時,B1S或其他固件使計算設(shè)備使用試錯檢測。多路復用器116可用于將與靈活的端口 140關(guān)聯(lián)的總線的一個或多個信號連接器(例如,線路、印刷電路板(PCB)的連接,等)分為兩個或多個端口連接器,以避免沖突。但是,在某些實施例中,不需要使用多路復用器。在某些示例中,多路復用器116在I/O控制器110外部。在其他示例中,多路復用器116在I/O控制器110內(nèi)部。端口連接器可用于將靈活的端口 140與外圍設(shè)備或通向外圍設(shè)備的其他連接器連接。端口連接器可為使用不同類型的協(xié)議的不同類型的端口。端口連接器類型的示例包括SATA、PCIe、IDE、SCSI以及USB??衫眠x擇信號控制多路復用器116,以確定連接哪個端口連接器。還可利用一個或多個晶體管實現(xiàn)多路復用器116,可利用選擇信號打開/關(guān)閉該一個或多個晶體管。當晶體管打開時,靈活的端口 140的個別線路連接至應打開的各自的端口連接器。可關(guān)閉連接至多路復用器116的其他的端口連接器和/或連接至靈活的端口 140的晶體管。
[0019]在啟動過程期間,系統(tǒng)配置檢測模塊112可將靈活的端口 140設(shè)置為使用第一協(xié)議(例如,PCIe、USB、SATA,等等)通信。多路復用器116還可被設(shè)置為將靈活的端口 140與跟第一協(xié)議關(guān)聯(lián)的端口連接器關(guān)聯(lián)起來。然后,系統(tǒng)配置檢測模塊112可使靈活的端口140基于第一協(xié)議執(zhí)行組件發(fā)現(xiàn)過程。該發(fā)現(xiàn)過程可得知是否存在連接至第一端口連接器和/或與第一協(xié)議兼容的外圍設(shè)備。端口配置模塊114可基于組件發(fā)現(xiàn)過程配置靈活的端口 140。在某些示例中,至第一端口連接器的外圍設(shè)備的發(fā)現(xiàn)導致這樣的推斷:這是計算設(shè)備100的用戶/制造商的期望的I/O配置。這樣的推斷可被編程到系統(tǒng)配置檢測模塊112中。在一個示例中,如果發(fā)現(xiàn)外圍設(shè)備,端口配置模塊114將靈活的端口 140設(shè)置為與使用第一協(xié)議的第一端口連接器一起工作。在另一個示例中,如果未發(fā)現(xiàn)外圍設(shè)備,端口配置模塊114可執(zhí)行另一個任務(wù),例如,將靈活的端口 140設(shè)置為缺省配置,和/或基于進一步的發(fā)現(xiàn)設(shè)置靈活的端口 140。
[0020]在一個示例中,使用第一協(xié)議未發(fā)現(xiàn)外圍設(shè)備。因此,組件發(fā)現(xiàn)過程確定不存在至第一端口的連接的組件。系統(tǒng)配置檢測模塊112將靈活的端口 140配置為使用第二協(xié)議和/或第二端口連接器通信。這可包括設(shè)置多路復用器116,以將第二端口連接器連接至靈活的端口。然后,系統(tǒng)配置檢測模塊112可使靈活的端口 140基于第二協(xié)議執(zhí)行第二組件發(fā)現(xiàn)過程。然后,端口配置模塊114可基于第二組件發(fā)現(xiàn)過程選擇第二端口連接器,以連接至與靈活的端口 140關(guān)聯(lián)的總線。例如,如果在第二端口連接器上發(fā)現(xiàn)外圍設(shè)備,則可發(fā)生第二端口連接器的選擇。如果未發(fā)現(xiàn)使用第一和/或第二端口連接器的外圍設(shè)備,可通過端口配置模塊114設(shè)置缺省條件(例如,設(shè)置第一端口連接器、設(shè)置第二端口連接器、設(shè)置另一個端口連接器、禁用靈活的端口,等等)。基于在第一端口連接器和/或第二端口連接器上沒有外圍設(shè)備,做出缺省條件為期望的I/O配置的推斷。此外,可在例如第三和/或第四端口連接器執(zhí)行發(fā)現(xiàn)過程的其他迭代。此外,可以以該方式設(shè)置多個靈活的端口。
[0021]如圖2A-7B中進一步詳述的,在某些示例中,系統(tǒng)配置檢測模塊112可基于至靈活的端口 140的一個或多個接口的其他硬件耦合,確定靈活的端口 140的目的/期望的配置。此外,在某些實施例中,系統(tǒng)配置檢測模塊112和/或端口配置模塊114可實現(xiàn)為基本輸入輸出系統(tǒng)(B1S)或由計算設(shè)備100執(zhí)行的其他固件的一部分。在一些實施例中,在多路復用器的幫助下實現(xiàn)圖2A-7B的示例。在其他實施例中,可不用多路復用器實現(xiàn)這些示例。在某些示例中,多路復用器可用于幫助保持信號完整性。在其他示例中,多路復用器可用于防止對連接至靈活的端口的外圍設(shè)備的、來自另一個外圍設(shè)備和/或靈活的端口的物理破壞,或防止來自連接至靈活的端口的外圍設(shè)備的、對另一個外圍設(shè)備和/或靈活的端口的物理破壞。例如,如果與靈活的端口關(guān)聯(lián)的協(xié)議的電氣特性與連接的外圍設(shè)備的電氣特性不一樣,會發(fā)生該物理破壞。
[0022]適用于獲取和執(zhí)行指令的處理器130 (例如,中央處理器(CPU)或微處理器)和/或電子電路可被配置成執(zhí)行本文描述的模塊112、114中的任一個的功能。在某些場景中,指令和/或其他信息(例如,端口配置信息)可包括在機器可讀存儲介質(zhì)132或其他存儲器中??捎捎嬎阍O(shè)備10b另外提供輸入/輸出接口。例如,像鍵盤、觸摸界面、鼠標、話筒等這樣的輸入設(shè)備可用于接收來自計算設(shè)備10b的周邊環(huán)境的輸入。此外,像顯示器這樣的輸出設(shè)備可用于向用戶呈現(xiàn)信息。輸出設(shè)備的示例包括揚聲器、顯示設(shè)備、放大器,等等。這些輸入和/或輸出設(shè)備可被配置成通過不靈活的端口和/或在靈活的端口上被連接。此夕卜,在某些實施例中,一些組件可用于實現(xiàn)本文描述的其他組件的功能。
[0023]每個模塊112、114可包括例如:包括用于實現(xiàn)本文描述的功能的電子電路的硬件設(shè)備。此外或可選地,每個模塊112、114可實現(xiàn)為一系列編碼在計算設(shè)備100的機器可讀存儲介質(zhì)132上且可由處理器130執(zhí)行的指令。應注意到,在一些實施例中,一些模塊被實現(xiàn)為硬件設(shè)備,而其他模塊被實現(xiàn)為可執(zhí)行指令。
[0024]處理器130可為至少一個中央處理器(CPU)、至少一個基于半導體的微處理器、至少一個圖形處理器(GPU)、適用于獲取并執(zhí)行存儲在機器可讀存儲介質(zhì)132中的指令的其他硬件設(shè)備或其組合。例如,處理器130可包括一個芯片上的多個核,包括跨多個芯片的多個核,(例如,如果計算設(shè)備100包括多個節(jié)點設(shè)備)跨多個設(shè)備的多個核,或其組合。處理器130可提取、解碼并執(zhí)行指令,以實現(xiàn)系統(tǒng)檢測、配置及實現(xiàn)任務(wù)??蛇x的或除獲取并執(zhí)行指令以外,處理器130可包括至少一個集成電路(1C)、其他控制邏輯、其他電子電路、或包括多個執(zhí)行一個或多個模塊的功能的電子組件的組合。
[0025]機器可讀存儲介質(zhì)132可為任意電的、磁的、光的、或包含或存儲可執(zhí)行指令的其他物理存儲設(shè)備。因此,機器可讀存儲介質(zhì)132可為例如,隨機存取存儲器(RAM)、電可擦可編程只讀存儲器(EEPROM)、存儲設(shè)備、光盤只讀存儲器(⑶-R0M),等等。因此,機器可讀存儲介質(zhì)132可為非臨時性的。如本文詳細描述的,機器可讀存儲介質(zhì)132可編碼有執(zhí)行各種任務(wù)(例如,圖8的任務(wù))的一系列可執(zhí)行指令。
[0026]圖2A和圖2B為根據(jù)各種示例的,能夠基于物理檢測設(shè)備檢測系統(tǒng)配置的計算系統(tǒng)的示意圖。主系統(tǒng)板或PCA200可包括I/O控制器202,I/O控制器202具有通過多路復用器208連接至第一端口連接器204和第二端口連接器206的靈活的端口(未示出)。通用輸入可連接至開關(guān)210,當像與第一協(xié)議關(guān)聯(lián)的組件212這樣的硬件安裝在計算系統(tǒng)214中時,開關(guān)210被驅(qū)動。在一個示例中,組件212為硬件驅(qū)動器、光驅(qū)、固態(tài)驅(qū)動器、混合驅(qū)動器,等等。當組件安裝在驅(qū)動器槽中時,開關(guān)被驅(qū)動,將GP1觸發(fā)成特定的狀態(tài)。所述狀態(tài)本身可根據(jù)實現(xiàn)方式變化。在圖2A的示例中,所述狀態(tài)為GP1 = I。該對應的GP1可用于控制靈活的端口通過第一端口連接器204通信,第一端口連接器204具有耦合至組件212的接口。在某些場景中,由于開關(guān)210和GP1同時物理連接,開關(guān)210和GP1可被認為是耦合接口的一部分。在圖2B的示例中,GP1 = 0,表示第二端口連接器206為靈活的端口的期望的I/O配置。因此,靈活的端口可被配置用于使用第二協(xié)議的第二端口連接器206。在一個示例中,第一端口連接器204為SATA連接器,第二端口連接器206為PCIe插槽。
[0027]在某些示例中,GP1可用于直接控制I/O控制器202上的靈活的端口。在其他示例中,GP1可連接至另一個組件,例如,由B1S控制的模塊或檢測期望的配置的其他固件。然后,所述模塊可用于編程I/O控制器202。此外,為了簡單,這里將GP1狀態(tài)顯示為O和1,但是,可以預見的是,其他狀態(tài)(例如,00、01、10、11、000,等)可用作GP10。此外,可使用其他輸入機制。在一個示例中,可在GP1上使用多級編碼。例如,可將輸入提供至模數(shù)轉(zhuǎn)換器,以提供狀態(tài)信息。狀態(tài)信息可為基于輸入的電壓水平的,而不是二進制。這可用于增加PCA的可擴展性。還可以以該方式實現(xiàn)圖3A-7B中示出的示意圖。
[0028]圖3A和圖3B為根據(jù)各種示例的,能夠基于線纜檢測檢測系統(tǒng)配置的計算系統(tǒng)的示意圖。計算系統(tǒng)300包括主系統(tǒng)板或PCA302,主系統(tǒng)板或PCA302可包括I/O控制器304,I/O控制器304包括通過多路復用器310連接至第一端口連接器306和第二端口連接器308的靈活的端口。在該示例中,第一端口連接器306可為集管(header)。集管可包括被配置成在線纜312被連接時驅(qū)動GP1至一狀態(tài)的引腳。線纜312可包括在線纜312連接至集管時將至少兩個集管引腳連接在一起的回送(loop back)。線纜與GP1以及第一端口連接器306的其他部分的耦合可用于確定計算系統(tǒng)300的期望的輸入/輸出配置。如上所述,所用的GP1的狀態(tài)可基于實現(xiàn)方式變化。在該示例中,當線纜312用于將機架上的組件314或連接器連接至集管時,靈活的端口配置用于第一協(xié)議,例如,USB協(xié)議。如果不存在線纜312,禁用第一協(xié)議和第一端口連接器316,且使能與第二協(xié)議(例如,PCIe)關(guān)聯(lián)的第二端口連接器308。
[0029]圖4A-4D為根據(jù)各種示例的,能夠基于利用子卡接口檢測系統(tǒng)配置的計算系統(tǒng)的示意圖。計算系統(tǒng)400包括主PCA402,主PCA402可包括I/O控制器404,I/O控制器404包括通過多路復用器410連接至第一端口連接器406和第二端口連接器408的靈活的端口(未示出)。在該示例中,第一端口連接器406可認為是連接至電路板(例如,子PCA412)的板連接器。子PCA412的連接可改變用于控制I/O控制器404的GP1的狀態(tài)。因此,當連接子PCA412時,靈活的端口被配置用于第一協(xié)議,例如,與子PCA412上的PCIe端口 414關(guān)聯(lián)的PCIe協(xié)議。類似地,如果未連接子PCA412,靈活的端口可被配置用于使用第二協(xié)議(例如SATA)的第二端口連接器408。
[0030]圖4C的計算系統(tǒng)440為圖4B的修改。在該場景中,替代與主PCA402關(guān)聯(lián)的第二端口連接器408,第二端口連接器442可與第二子PCA444關(guān)聯(lián)。在該場景中,同樣的端口連接器406可用于發(fā)送第二協(xié)議的信號信息。這還可為基于實現(xiàn)方式的。例如,當連接子PCA412時,GP1狀態(tài)可被驅(qū)動為0,表示靈活的端口和/或多路復用器應被編碼為激活PCIe端口414。當安裝了子PCA444時,GP1處于I。因此,靈活的端口可被編程為與子PCA444上的第二端口連接器442關(guān)聯(lián)。在一個示例中,該端口連接器442可被配置成與SATA連接關(guān)聯(lián)。在其他示例中,該端口連接器442可被配置成與USB協(xié)議、以太網(wǎng)、電氣和電子工程師協(xié)會(IEEE) 1394 等關(guān)聯(lián)。
[0031]類似地,圖4D的系統(tǒng)460顯示了一種線纜462用于通過第一端口連接器406連接設(shè)備464的配置。可基于線纜462控制GP10。該示例顯示線纜462使GP1為1,但注意到,線纜462可用于引起其他狀態(tài)。在該示例中,連接線纜462告訴系統(tǒng)配置檢測模塊目的配置用于支持與設(shè)備464關(guān)聯(lián)的協(xié)議。在一些示例中,一個線纜或多個線纜可用于提供對子PCA上的端口連接器的訪問。此外,如果滿足協(xié)議的規(guī)定,用于一個類型的接口的連接器線纜可用于連接子PCA上的其他類型的接口。例如,一個或多個SATA連接器可用于連接PCIe端口。
[0032]圖5A和圖5B為根據(jù)各種示例的,能夠基于設(shè)備的存在檢測系統(tǒng)配置的計算系統(tǒng)的示意圖。計算系統(tǒng)500包括PCA502,PCA502包括I/O控制器504,I/O控制器504具有通過多路復用器510連接至第一端口連接器506和第二端口連接器508的靈活的端口。在該示例中,第一端口連接器506可使用插入第一端口連接器506的卡的接地面,以確定用于設(shè)置I/O控制器504的靈活的端口的GP1。在該示例中,第一端口連接器506可取代與卡512關(guān)聯(lián)的接地引腳,可根據(jù)GP1信號認為卡512為外圍設(shè)備。因此,當插入卡512時,接地面將GP1連接至地。GP1被設(shè)置為0,這是一種這樣的狀態(tài):系統(tǒng)配置檢測模塊可與激活靈活的端口和多路復用器510關(guān)聯(lián)以與使用第一協(xié)議的第一端口連接器506 —起工作關(guān)聯(lián)。如果未插入卡512,GP10可改變狀態(tài)為1,且可激活與第二協(xié)議關(guān)聯(lián)的第二端口連接器508。
[0033]圖6A和圖6B為根據(jù)各種示例的,可用于編程靈活的端口,以提供特定的協(xié)議的接口或為另一個接口提供額外的帶寬的計算系統(tǒng)的示意圖。計算系統(tǒng)600包括PCA602,PCA602可包括I/O控制器604,I/O控制器604具有通過多路復用器610連接至第一端口連接器606和PCIe端口 608的靈活的端口。在該示例中,第一端口連接器606與SATA協(xié)議關(guān)聯(lián);但是,可以預想到可使用其他協(xié)議。計算系統(tǒng)600顯示GP1包括基于接口的耦合改變的狀態(tài)。在該示例中,使用在SATA設(shè)備612插入到設(shè)備槽中時被驅(qū)動的開關(guān)611來觸發(fā)GP10,但是,可以預想到觸發(fā)GP1的其他方法。當存在SATA設(shè)備612時,靈活的端口可被配置成基于GP1使用第一端口連接器606。在該配置中,可利用I/O控制器604的固定的端口和/或另一個靈活的端口配置PCIe端口 608。當不存在SATA設(shè)備612時,GP1可用于將靈活的端口配置成擴充與PCIe插槽608關(guān)聯(lián)的總線的帶寬容量。因此,在一個示例中,當存在SATA設(shè)備612時,PCIe插槽608為X I插槽,但當不存在SATA設(shè)備612時,PCIe插槽608為X2插槽。類似的帶寬擴充可用于其他協(xié)議和連接器。
[0034]圖7A和圖7B為根據(jù)各種示例的,能夠基于機架或電源的存在檢測系統(tǒng)配置的計算系統(tǒng)的示意圖。計算系統(tǒng)700包括PCA702,PCA702包括I/O控制器704,I/O控制器704具有通過多路復用器710連接至第一端口連接器706和第二端口連接器708的靈活的端口。在該示例中,用于控制靈活的端口的GP1可(至少部分)基于用于計算系統(tǒng)700的機架和/或電源。PCA還可包括可連接至機架和/或電源的板連接器712。
[0035]在圖7A的示例中,板連接器712可通過機架和/或電源線纜714連接至第一機架和/或電源716。線纜可包括將與GP1關(guān)聯(lián)的引腳連接為一狀態(tài)(例如,接地狀態(tài))的回送。因此,回送將GP1的狀態(tài)改變?yōu)镺。這可向系統(tǒng)配置檢測模塊提供關(guān)于機架和/或電源(PSU)的信息。在一個示例中,GP1可表示機架具有使能第二端口連接器708的插槽。在另一個示例中,GP1可表示電源具有足夠的電力來使能第二端口連接器708。這可用于改變靈活的端口的缺省配置參數(shù)。例如,由于GP10,要查看期望的I/O配置的第一端口連接器可為第二端口連接器708。在某些其他示例中,GP1可用于選擇靈活的端口配置和/或禁用靈活的端口配置的可能的配置中的一個。
[0036]在圖7B的示例中,機架和/或PSU線纜718連接至第二機架和/或電源720。該機架/PSU線纜718不具有將板連接器712的GP1引腳連接至地的回送。因此,GP1輸入被設(shè)置為狀態(tài)I。所述狀態(tài)可告訴系統(tǒng)配置檢測模塊關(guān)于與機架和/或電源關(guān)聯(lián)的其他信息。在一個示例中,GP1可表示機架不具有使能第二端口連接器708的插槽。在另一個示例中,GP1可表示電源不具有足夠的電力來使能第二端口連接器708。此外,這可用于改變靈活的端口和/或多路復用器710的缺省配置參數(shù)。例如,系統(tǒng)配置檢測模塊由于關(guān)于第二端口連接器708的信息,可基于與第一端口連接器706關(guān)聯(lián)的協(xié)議的優(yōu)先權(quán),確定期望的配置。
[0037]圖8為根據(jù)一個示例的,基于檢測的計算系統(tǒng)的配置來配置靈活的輸入/輸出端口的方法的流程圖。盡管下面參照計算設(shè)備100描述了方法800的執(zhí)行,但是可使用其他合適的執(zhí)行方法800的組件。方法800可實現(xiàn)為存儲在機器可讀存儲介質(zhì)(例如存儲介質(zhì)132)上的可執(zhí)行指令的形式,和/或電子電路的形式。
[0038]方法800可始于802并繼續(xù)到804,在804,計算設(shè)備通過啟動過程啟動。在啟動過程期間,可配置I/o控制器110的一個靈活的端口 140或多個靈活的端口。
[0039]方法800可繼續(xù)到806,在806,在啟動過程期間,基于至靈活的輸入/輸出端口的接口的耦合檢測計算設(shè)備的I/o配置。例如,基于啟動時系統(tǒng)組件想要的配置,檢測的I/O配置可為期望的配置。如上所述的,檢測的配置可為基于尋找連接的外圍設(shè)備的試錯系統(tǒng)的,或為基于接收的來自關(guān)于接口的耦合信息的狀態(tài)信息的。
[0040]在一個示例中,接收的表示第一狀態(tài)的耦合信息顯示沒有設(shè)備或組件已耦合至所述接口,同時,接收的表示第二狀態(tài)的耦合信息顯示設(shè)備或組件已耦合。在某些實施例中,狀態(tài)可表示特定的期望的系統(tǒng)I/O配置。在一個示例中,狀態(tài)信息可用于確定配置是否與第一子卡或第二子卡關(guān)聯(lián)。在圖2A-7B中可找到檢測狀態(tài)信息的方法的示例。此外,如上所述,可使用這些技術(shù)配置多個靈活的I/O端口。
[0041]在另一個示例中,耦合信息為基于試錯系統(tǒng)的。因此,系統(tǒng)配置檢測模塊112可設(shè)置連接至靈活的端口 140的多路復用器116,以通過第一接口通信。靈活的端口 140還可被配置成通過第一接口通信。然后,可在第一接口上執(zhí)行組件發(fā)現(xiàn)過程,以確定是否連接外圍設(shè)備。如果檢測到外圍設(shè)備,可確定計算設(shè)備100的期望的I/O配置為使用第一接口。如果確定未通過第一接口檢測到外圍設(shè)備,可設(shè)置多路復用器116與第二接口通信,且可設(shè)置靈活的端口 140與第二接口一起工作。在某些場景中,如果在第一接口上未發(fā)現(xiàn)外圍設(shè)備,這可為缺省條件。在其他場景中,可在第二接口上執(zhí)行第二組件發(fā)現(xiàn)過程。如果在第二接口上未發(fā)現(xiàn)外圍設(shè)備,期望的I/O配置可被認為是使用第二接口。在另一個實施例中,如果未發(fā)現(xiàn)外圍設(shè)備,可發(fā)生改變多路復用器116并檢查連接的接口的其他迭代。此外,可基于總線上沒有外圍設(shè)備,將缺省配置(例如,使用第一接口,使用第二接口,等)選為目的或期望的配置。
[0042]然后,在808,可基于檢測的期望的I/O配置來配置靈活的端口 140。因此,靈活的端口 140可被配置成符合與檢測的配置關(guān)聯(lián)的接口關(guān)聯(lián)的協(xié)議。如所述的,期望的I/O配置可為基于GP10、試錯或其組合的。
[0043]然后,在810,方法800可停止。計算設(shè)備100可繼續(xù)執(zhí)行其他功能。例如,啟動過程可執(zhí)行其他啟動特征,例如,將計算設(shè)備100的控制交給操作系統(tǒng)。
[0044]通過上述方法,印刷電路組件的制造商可使用具有各種配置的靈活的I/O端口。因此,可通過在啟動時自動檢測系統(tǒng)配置來執(zhí)行I/o配置,而不用在PCA制造時設(shè)置I/O配置或使用手動配置。這可允許PCA制造商重復利用同樣的PCA來改變系統(tǒng)。該實現(xiàn)方式還可允許制造商將PCB和/或PCA重用于各種系統(tǒng)。
【權(quán)利要求】
1.一種計算設(shè)備,包括: 輸入/輸出控制器,包括靈活的端口 ; 系統(tǒng)配置檢測模塊,用于基于至所述靈活的端口的接口的耦合,檢測所述計算設(shè)備的期望的輸入/輸出配置;以及 端口配置模塊,用于基于檢測的期望的輸入/輸出配置,配置所述靈活的端口。
2.根據(jù)權(quán)利要求1所述的計算設(shè)備,進一步包括: 多路復用器,其中,與所述靈活的端口關(guān)聯(lián)的總線連接至所述多路復用器, 其中,所述多路復用器進一步連接至第一端口連接器和第二端口連接器, 其中,所述端口配置模塊將所述靈活的端口配置為使用第一協(xié)議通信, 其中,所述系統(tǒng)配置檢測模塊選擇所述第一端口連接器,以連接至所述總線,并使所述靈活的端口基于所述第一協(xié)議執(zhí)行組件發(fā)現(xiàn)過程,以及 其中,所述端口 配置模炔基于所述組件發(fā)現(xiàn)過程配置所述靈活的端口。
3.根據(jù)權(quán)利要求2所述的計算設(shè)備, 其中,所述組件發(fā)現(xiàn)過程確定沒有連接的組件, 其中,所述系統(tǒng)配置檢測模塊將所述靈活的端口配置為使用第二協(xié)議通信,并使所述靈活的端口基于所述第二協(xié)議執(zhí)行第二組件發(fā)現(xiàn)過程,以及 其中,所述端口配置模炔基于所述第二組件發(fā)現(xiàn)過程選擇所述第二端口連接器,以連接至所述總線。
4.根據(jù)權(quán)利要求1所述的計算設(shè)備,進一步包括: 通用輸入,連接至當安裝與第一協(xié)議關(guān)聯(lián)的硬件時被驅(qū)動的開關(guān), 其中,所述期望的輸入/輸出配置的所述檢測是基于所述通用輸入的。
5.根據(jù)權(quán)利要求1所述的計算設(shè)備,進一步包括: 通用輸入,連接至與集管關(guān)聯(lián)的引腳, 其中,當與第一協(xié)議關(guān)聯(lián)的接口線纜連接至所述集管時,所述通用輸入被拉至一狀態(tài),且 其中,所述期望的輸入/輸出配置的所述檢測是基于所述狀態(tài)的。
6.根據(jù)權(quán)利要求1所述的計算設(shè)備,進一步包括: 通用輸入,包括基于所述接口的所述耦合改變的狀態(tài), 其中,如果所述狀態(tài)表示不存在與第一協(xié)議關(guān)聯(lián)的組件,則所述端口配置模塊將所述靈活的端口配置為擴充與第二協(xié)議關(guān)聯(lián)的總線的帶寬容量。
7.根據(jù)權(quán)利要求1所述的計算設(shè)備,進一步包括: 通用輸入,連接至與板連接器關(guān)聯(lián)的引腳, 其中,當通過所述板連接器連接電路板時,所述通用輸入被拉至一狀態(tài),且 其中,所述期望的輸入/輸出配置的所述檢測是基于所述狀態(tài)的。
8.根據(jù)權(quán)利要求1所述的計算設(shè)備,進一步包括: 通用輸入,連接至與板連接器關(guān)聯(lián)的引腳, 其中,當通過所述板連接器連接機架和電源中的至少一個時,所述通用輸入拉至一狀態(tài),且 其中,所述期望的輸入/輸出配置的所述檢測是進一步基于所述狀態(tài)的。
9.一種方法,包括: 通過啟動過程啟動計算設(shè)備; 在所述啟動過程期間,基于至靈活的輸入/輸出端口的接口的耦合,檢測所述計算設(shè)備的輸入/輸出配置;以及 基于檢測的輸入/輸出配置,配置所述靈活的輸入/輸出端口。
10.根據(jù)權(quán)利要求9所述的方法,進一步包括: 設(shè)置連接至所述靈活的輸入/輸出端口的多路復用器,以通過第一接口通信;以及 在所述第一接口上執(zhí)行組件發(fā)現(xiàn)過程, 其中,所述靈活的輸入/輸出端口的所述配置是基于所述組件發(fā)現(xiàn)過程的。
11.根據(jù)權(quán)利要求10所述的方法,進一步包括: 確定組件未通過所述第一接口連接; 設(shè)置連接至所述靈活的輸入/輸出端口的所述多路復用器,以通過第二接口通信;以及 在所述第二接口上執(zhí)行第二組件發(fā)現(xiàn)過程, 其中,所述靈活的輸入/輸出端口的所述配置是進一步基于所述第二組件發(fā)現(xiàn)過程的。
12.—種非臨時性機器可讀存儲介質(zhì),存儲指令,如果由設(shè)備的至少一個處理器執(zhí)行所述指令,則使所述設(shè)備: 開始啟動過程,以啟動所述設(shè)備; 在所述啟動過程期間,基于至靈活的輸入/輸出端口的接口的耦合信息,檢測所述設(shè)備的期望的輸入/輸出配置;以及 將所述靈活的輸入/輸出端口配置為符合與檢測的期望的輸入/輸出配置關(guān)聯(lián)的協(xié)議。
13.根據(jù)權(quán)利要求12所述的非臨時性機器可讀存儲介質(zhì),進一步包括這樣的指令:如果由所述至少一個處理器執(zhí)行,則使所述設(shè)備: 接收與所述接口關(guān)聯(lián)的輸入的狀態(tài)信息,其中,所述輸入/輸出配置的所述檢測是基于所述狀態(tài)信息的。
14.根據(jù)權(quán)利要求13所述的非臨時性機器可讀存儲介質(zhì),其中,所述狀態(tài)信息是基于當安裝與第一協(xié)議關(guān)聯(lián)的硬件時被驅(qū)動的開關(guān)的。
15.根據(jù)權(quán)利要求12所述的非臨時性機器可讀存儲介質(zhì),進一步包括這樣的指令:如果由所述至少一個處理器執(zhí)行,則使所述設(shè)備: 設(shè)置連接至所述靈活的輸入/輸出端口的多路復用器,以通過第一接口通信; 在所述第一接口上開始組件發(fā)現(xiàn)過程, 其中,如果檢測到組件,則所述靈活的輸入/輸出端口被配置為與所述第一接口一起工作。
【文檔編號】G06F13/38GK104054064SQ201280067226
【公開日】2014年9月17日 申請日期:2012年1月31日 優(yōu)先權(quán)日:2012年1月31日
【發(fā)明者】喬納森·D·巴塞特, 拉斐爾·蓋, 林登·H·麥克盧爾 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)