內(nèi)存擴(kuò)展系統(tǒng)及方法
【專利摘要】本申請(qǐng)實(shí)施例公開了一種內(nèi)存擴(kuò)展系統(tǒng)及方法,該系統(tǒng)包括:處理器、擴(kuò)展內(nèi)存、擴(kuò)展芯片和多個(gè)處理器安裝位,每個(gè)處理器安裝位上都設(shè)置有內(nèi)存安裝位;多個(gè)處理器安裝位之間通過(guò)快速通道互聯(lián)QPI接口相連接,至少一個(gè)處理器安裝位上安裝有處理器,其它至少一個(gè)處理器安裝位作為擴(kuò)展安裝位;至少一個(gè)擴(kuò)展安裝位上安裝有擴(kuò)展芯片;擴(kuò)展內(nèi)存安裝在與擴(kuò)展芯片相連接的內(nèi)存安裝位上。該內(nèi)存擴(kuò)展系統(tǒng),在其它處理器位安裝擴(kuò)展芯片替代處理器,使得已有的處理器可以通過(guò)擴(kuò)展芯片訪問(wèn)擴(kuò)展芯片所帶的擴(kuò)展內(nèi)存,從而在沒(méi)有增加處理能力的情況下增加了已有處理器的內(nèi)存容量,解決了現(xiàn)有技術(shù)通過(guò)增加處理器來(lái)擴(kuò)展內(nèi)存導(dǎo)致處理能力冗余的問(wèn)題。
【專利說(shuō)明】?jī)?nèi)存擴(kuò)展系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及信息存儲(chǔ)【技術(shù)領(lǐng)域】,特別是涉及一種內(nèi)存擴(kuò)展系統(tǒng)及方法。
【背景技術(shù)】
[0002]對(duì)于計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),處理器的計(jì)算能力、內(nèi)存容量、輸入/輸出接口的帶寬是三個(gè)重要的性能評(píng)價(jià)指標(biāo)。為了提高計(jì)算能力,系統(tǒng)需要配置高性能的處理器,例如多核多線程的處理器,而且常常將多個(gè)處理器互連起來(lái)形成SMP (Symmetrical Multi Processing,對(duì)稱多處理器)或NUMA (Non Uniform Memory Access,非均勻性內(nèi)存訪問(wèn))結(jié)構(gòu),實(shí)現(xiàn)業(yè)務(wù)的并發(fā)處理。為了擴(kuò)大內(nèi)存容量,處理器通常集成了多個(gè)內(nèi)存控制器,每個(gè)控制器可以支持多個(gè)內(nèi)存條,結(jié)合上述多處理器技術(shù),可以將內(nèi)存容量擴(kuò)大到數(shù)百GB的規(guī)模。為了提高輸入/輸出接口的帶寬,近十年來(lái)業(yè)界推出了 PCI Express (Peripheral ComponentInterconnect Express,外設(shè)互聯(lián)標(biāo)準(zhǔn)總線)、RapidIO、Interlaken、10G以太網(wǎng)等高速接口,速率也隨著協(xié)議版本的升級(jí)在不斷提高。
[0003]一般來(lái)說(shuō),計(jì)算能力、內(nèi)存容量和輸入/輸出接口帶寬應(yīng)該均衡配置,否則容易出現(xiàn)性能瓶頸,影響計(jì)算機(jī)系統(tǒng)的整體性能。但在某些特殊應(yīng)用場(chǎng)景下,例如服務(wù)器用于不同的業(yè)務(wù)類型(Web服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、流媒體服務(wù)器等),對(duì)這三個(gè)指標(biāo)的要求有不同的側(cè)重點(diǎn)。對(duì)于以控制功能為主的應(yīng)用場(chǎng)景,處理器的計(jì)算能力最重要,相對(duì)來(lái)說(shuō)內(nèi)存容量不是太迫切;而對(duì)于虛擬化應(yīng)用場(chǎng)景來(lái)說(shuō),由于需要將多種業(yè)務(wù)部署在同一個(gè)處理器的多個(gè)內(nèi)核上,每種業(yè)務(wù)都要分配一定的內(nèi)存空間,因此對(duì)內(nèi)存容量的需求相對(duì)更為迫切。
[0004]而目前的服務(wù)器一般都是采用通用多路處理器設(shè)計(jì),雖然可以支持多種業(yè)務(wù),但具體執(zhí)行何種業(yè)務(wù)是由客戶自行決定的,例如安裝不同的應(yīng)用程序完成不同的業(yè)務(wù)功能,因此服務(wù)器可能在處理能力或內(nèi)存容量方面存在一定的冗余,增加硬件成本和運(yùn)行功耗。舉例來(lái)說(shuō),假設(shè)有一個(gè)四路服務(wù)器,里面最多可以安裝四個(gè)處理器,每個(gè)處理器都集成了內(nèi)存控制器,可以外接內(nèi)存條。在上述虛擬化場(chǎng)景下,可能不需要安裝所有四個(gè)處理器,只安裝兩個(gè)處理器即可滿足計(jì)算能力的需求,但內(nèi)存容量需求卻可能超過(guò)了兩個(gè)處理器自帶內(nèi)存的容量,如果把另兩個(gè)處理器也裝上去,會(huì)增加成本和功耗,而如果不把另兩個(gè)處理器裝上去,很顯然內(nèi)存容量又不夠用。
【發(fā)明內(nèi)容】
[0005]本申請(qǐng)實(shí)施例中提供了一種內(nèi)存擴(kuò)展系統(tǒng)及方法,以解決現(xiàn)有技術(shù)中通過(guò)增加處理器來(lái)擴(kuò)展內(nèi)存容量導(dǎo)致處理能力冗余的問(wèn)題。
[0006]為了解決上述技術(shù)問(wèn)題,一方面,本申請(qǐng)實(shí)施例提供了一種內(nèi)存擴(kuò)展系統(tǒng),包括:處理器、擴(kuò)展內(nèi)存、擴(kuò)展芯片和多個(gè)處理器安裝位,其中,每個(gè)所述處理器安裝位上都設(shè)置有與所述處理器安裝位相連接的內(nèi)存安裝位;多個(gè)所述處理器安裝位之間通過(guò)快速通道互聯(lián)QPI接口相連接,至少一個(gè)處理器安裝位上安裝有所述處理器,其它至少一個(gè)處理器安裝位作為擴(kuò)展安裝位;至少一個(gè)擴(kuò)展安裝位上安裝有所述擴(kuò)展芯片,所述擴(kuò)展芯片具有唯一的標(biāo)識(shí)號(hào)碼;所述擴(kuò)展內(nèi)存安裝在與所述擴(kuò)展芯片相連接的內(nèi)存安裝位上,所有所述擴(kuò)展內(nèi)存的地址都在所述處理器的地址空間范圍內(nèi)。
[0007]在第一方面第一種可能的實(shí)現(xiàn)方式中,所述擴(kuò)展芯片的管腳與所述處理器的管腳兼容。
[0008]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面第二種可能的實(shí)現(xiàn)方式中,所述處理器包括:查詢指令生成模塊,用于生成標(biāo)識(shí)號(hào)碼查詢指令;查詢指令發(fā)送模塊,用于將所述標(biāo)識(shí)號(hào)碼查詢指令通過(guò)所述處理器所在處理器安裝位上的QPI接口發(fā)送;標(biāo)識(shí)號(hào)碼接收模塊,用于通過(guò)所述處理器所在處理器安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼;標(biāo)識(shí)號(hào)碼判斷模塊,用于判斷接收到的所述標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼;配置模塊,用于當(dāng)所述標(biāo)識(shí)號(hào)碼為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼時(shí),為所述擴(kuò)展芯片配置內(nèi)存控制器,在所述處理器的地址空間中分配與所述擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存相對(duì)應(yīng)的內(nèi)存地址。
[0009]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面第三種可能的實(shí)現(xiàn)方式中,該處理器還包括:報(bào)文生成模塊,用于生成用于讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的、協(xié)議為QPI協(xié)議的報(bào)文;報(bào)文發(fā)送模塊,用于將所述報(bào)文通過(guò)所述處理器所在處理器安裝位上的QPI接口發(fā)送;數(shù)據(jù)接收模塊,用于通過(guò)所述處理器所在處理器安裝位上的QPI接口接收所述擴(kuò)展芯片根據(jù)所述報(bào)文讀取得到的數(shù)據(jù)。
[0010]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面第四種可能的實(shí)現(xiàn)方式中,所述擴(kuò)展芯片包括:查詢指令接收模塊,用于通過(guò)所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼查詢指令;標(biāo)識(shí)號(hào)碼獲取模塊,用于根據(jù)所述標(biāo)識(shí)號(hào)碼查詢指令獲取所述擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼;標(biāo)識(shí)號(hào)碼發(fā)送模塊,用于將獲取得到的標(biāo)識(shí)號(hào)碼通過(guò)所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口發(fā)送。
[0011]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面第五種可能的實(shí)現(xiàn)方式中,所述擴(kuò)展芯片還包括=QPI接口模塊、協(xié)議轉(zhuǎn)換模塊和內(nèi)存接口模塊,其中,所述QPI接口模塊與所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口相連接,用于接收所述處理器發(fā)送的、協(xié)議為QPI協(xié)議的報(bào)文;所述協(xié)議轉(zhuǎn)換模塊,用于將QPI協(xié)議的報(bào)文轉(zhuǎn)成內(nèi)存接口協(xié)議后向所述內(nèi)存接口模塊發(fā)送;所述內(nèi)存接口模塊與位于所述擴(kuò)展芯片所在擴(kuò)展安裝位上內(nèi)存安裝位上的擴(kuò)展內(nèi)存相連接,用于根據(jù)協(xié)議轉(zhuǎn)換后的報(bào)文在所述擴(kuò)展內(nèi)存中讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),將讀取到的數(shù)據(jù)向所述協(xié)議轉(zhuǎn)換模塊發(fā)送;所述協(xié)議轉(zhuǎn)換模塊還用于將讀取到的數(shù)據(jù)由內(nèi)存接口協(xié)議轉(zhuǎn)換成QPI協(xié)議后向所述QPI接口模塊發(fā)送,所述QPI接口模塊還用于將協(xié)議轉(zhuǎn)換后的數(shù)據(jù)通過(guò)所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口發(fā)送。
[0012]第二方面,本申請(qǐng)實(shí)施例提供了一種內(nèi)存擴(kuò)展方法,所述方法包括:處理器生成標(biāo)識(shí)號(hào)碼查詢指令,將所述標(biāo)識(shí)號(hào)碼查詢指令通過(guò)所述處理器所在處理器安裝位上的快速通道互聯(lián)QPI接口發(fā)送;擴(kuò)展芯片通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口接收查詢指令,根據(jù)所述標(biāo)識(shí)號(hào)碼查詢指令獲取所述擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,將獲取得到的標(biāo)識(shí)號(hào)碼通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口發(fā)送;所述處理器通過(guò)所述處理器所在處理器安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼,判斷所述標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,當(dāng)所述標(biāo)識(shí)號(hào)碼為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼時(shí),為所述擴(kuò)展芯片配置內(nèi)存控制器,在所述處理器的地址空間中分配與所述擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存相對(duì)應(yīng)的內(nèi)存地址。
[0013]在第二方面的第一種可能的實(shí)現(xiàn)方式中,該方法還包括:所述處理器判斷是否向所述處理器所在處理器安裝位上的所有QPI接口發(fā)送標(biāo)識(shí)號(hào)碼查詢指令;如果否,所述處理器向未發(fā)送標(biāo)標(biāo)識(shí)號(hào)碼查詢指令的QPI接口發(fā)送標(biāo)識(shí)號(hào)碼查詢指令。
[0014]結(jié)合第一方面或第二方面第一種可能的實(shí)現(xiàn)方式,在第二方面第二種可能的實(shí)現(xiàn)方式中,該方法還包括:所述處理器生成用于讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的、協(xié)議為QPI協(xié)議的報(bào)文,將所述報(bào)文通過(guò)所述處理器所在處理器安裝位上的QPI接口發(fā)送;所述擴(kuò)展芯片通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口接收所述報(bào)文,將所述報(bào)文轉(zhuǎn)換成內(nèi)存接口協(xié)議后,根據(jù)協(xié)議轉(zhuǎn)換后的報(bào)文在與所述擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存中讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),將讀取到的數(shù)據(jù)由內(nèi)存接口協(xié)議轉(zhuǎn)換成QPI協(xié)議后通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口發(fā)送;所述處理器通過(guò)所述處理器所在處理器安裝位上的QPI接口接收協(xié)議轉(zhuǎn)換后的數(shù)據(jù)。
[0015]由以上技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例提供的該內(nèi)存擴(kuò)展系統(tǒng),在一些處理器安裝位上設(shè)置有處理器,在其它處理器安裝位上設(shè)置擴(kuò)展芯片,處理器與擴(kuò)展芯片之間可以通過(guò)處理器安裝位之間的QPI接口進(jìn)行數(shù)據(jù)交互,每個(gè)擴(kuò)展芯片都可以單獨(dú)連接有自己的擴(kuò)展內(nèi)存,處理器通過(guò)擴(kuò)展芯片可以對(duì)與每個(gè)擴(kuò)展芯片連接的擴(kuò)展內(nèi)存進(jìn)行訪問(wèn)。
[0016]與現(xiàn)有技術(shù)相比,當(dāng)處理能力滿足要求但內(nèi)存容量需求超過(guò)處理器自帶內(nèi)存的容量的情況,該內(nèi)存擴(kuò)展系統(tǒng),采用在其它處理器安裝位擴(kuò)展芯片替代處理器,已有的處理器可以通過(guò)擴(kuò)展芯片訪問(wèn)擴(kuò)展芯片所帶的擴(kuò)展內(nèi)存,從而可以在沒(méi)有增加處理能力的情況下增加了已有處理器的內(nèi)存容量,避免現(xiàn)有技術(shù)通過(guò)增加處理器來(lái)擴(kuò)展內(nèi)存容量導(dǎo)致處理能力冗余的問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0017]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0018]圖1為本申請(qǐng)實(shí)施例提供的一種內(nèi)存擴(kuò)展系統(tǒng)的結(jié)構(gòu)示意圖;
[0019]圖2為本申請(qǐng)實(shí)施例提供的一種第一處理器的結(jié)構(gòu)示意圖;
[0020]圖3為本申請(qǐng)實(shí)施例提供的一種擴(kuò)展芯片的結(jié)構(gòu)示意圖;
[0021]圖4為本申請(qǐng)實(shí)施例提供的另一種內(nèi)存擴(kuò)展系統(tǒng)的結(jié)構(gòu)示意圖;
[0022]圖5為本申請(qǐng)實(shí)施例提供的另一種第一處理器的結(jié)構(gòu)示意圖;
[0023]圖6為本申請(qǐng)實(shí)施例提供的另一種擴(kuò)展芯片的結(jié)構(gòu)示意圖;
[0024]圖7為本申請(qǐng)實(shí)施例提供的一種內(nèi)存擴(kuò)展方法的流程示意圖;
[0025]圖8為本申請(qǐng)實(shí)施例提供的另一種內(nèi)存擴(kuò)展方法的流程示意圖;
[0026]圖9為本申請(qǐng)實(shí)施例提供的又一種內(nèi)存擴(kuò)展方法的流程示意圖。
【具體實(shí)施方式】
[0027]本申請(qǐng)如下實(shí)施例提供了一種內(nèi)存擴(kuò)展系統(tǒng)及方法,該內(nèi)存擴(kuò)展系統(tǒng)在多路處理器設(shè)計(jì)的系統(tǒng)中,當(dāng)處理能力滿足要求但內(nèi)存容量需求超過(guò)處理器自帶內(nèi)存的容量的情況,可以在其它處理器安裝位上安裝擴(kuò)展芯片以替代處理器,并且在擴(kuò)展芯片所在的處理器安裝位的內(nèi)存安裝位上安裝需要的擴(kuò)展內(nèi)存,這樣已有的處理器就可以通過(guò)QPI接口與擴(kuò)展芯片進(jìn)行通信,實(shí)現(xiàn)對(duì)擴(kuò)展芯片連接的擴(kuò)展內(nèi)存進(jìn)行訪問(wèn),因此可以解決現(xiàn)有多處理器設(shè)計(jì)的服務(wù)器通過(guò)增加處理器來(lái)擴(kuò)展內(nèi)存容量導(dǎo)致處理能力冗余的問(wèn)題。
[0028]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本申請(qǐng)實(shí)施例中的技術(shù)方案,并使本申請(qǐng)實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本申請(qǐng)實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0029]一個(gè)實(shí)施例:
[0030]參見(jiàn)圖1,為本申請(qǐng)實(shí)施例提供的內(nèi)存擴(kuò)展系統(tǒng)的一種結(jié)構(gòu)示意圖,圖中以三個(gè)處理器安裝座的多處理器設(shè)計(jì)的系統(tǒng)為例,該內(nèi)存擴(kuò)展系統(tǒng)可以包括:第一處理器1、第一內(nèi)存2、、第一擴(kuò)展芯片3、第一擴(kuò)展內(nèi)存4、第二擴(kuò)展內(nèi)存5和第二擴(kuò)展芯片6,其中,第一處理器1、第一擴(kuò)展芯片3和第二擴(kuò)展芯片6分別安裝在三個(gè)處理器安裝位上(圖中未示出),三個(gè)處理器安裝位之間通過(guò)QPI (Quick Path Interconnect,快速通道互聯(lián))接口相連接,第一內(nèi)存2為第一處理器I的自帶內(nèi)存,第一擴(kuò)展內(nèi)存4與第一擴(kuò)展芯片3相連接,第二擴(kuò)展內(nèi)存5與第二擴(kuò)展芯片6相連接。
[0031]為了敘述方便,在本申請(qǐng)實(shí)施例中,可以將第一處理器I所在的處理器安裝位稱為第一處理器安裝位,將第一擴(kuò)展芯片3所在的處理器安裝位稱為第一擴(kuò)展安裝位,將第二擴(kuò)展芯片6所在的處理器安裝位稱為第二擴(kuò)展安裝位。第一處理器I可以直接焊接在第一處理器安裝位,另外,為了方便拆卸或方便對(duì)多處理器系統(tǒng)進(jìn)行組合,第一處理器I還可以通過(guò)插拔接口安裝在第一處理器安裝位上,插拔接口可以為相互匹配的管腳和插孔,或者,相互匹配的插卡和插槽。第一擴(kuò)展芯片3和/或第二擴(kuò)展芯片6可以通過(guò)焊接的方式固定在相應(yīng)的擴(kuò)展安裝位上,當(dāng)然為了方便拆卸或方便對(duì)多處理器系統(tǒng)進(jìn)行組合,也可以通過(guò)插拔接口的方式與相應(yīng)的擴(kuò)展安裝位相連接。三個(gè)處理器安裝位之間通過(guò)QPI接口進(jìn)行數(shù)據(jù)交互,QPI接口由20對(duì)差分發(fā)送信號(hào)、20對(duì)差分接收信號(hào)和兩對(duì)差分時(shí)鐘信號(hào)組成,信號(hào)速率可到6.4GT/s,雙向帶寬為25.6GB/s,此外還支持高速緩沖存儲(chǔ)器一致性,可以執(zhí)行對(duì)外圍設(shè)備的配置訪問(wèn)和對(duì)內(nèi)存的讀寫操作。
[0032]在每個(gè)處理器安裝位上都設(shè)置有一個(gè)或多個(gè)內(nèi)存安裝位,用于增加內(nèi)存空間。第一內(nèi)存2設(shè)置在第一處理器安裝位上的內(nèi)存安裝位上,第一擴(kuò)展內(nèi)存4設(shè)置在第一擴(kuò)展安裝位上的內(nèi)存安裝位上,第二擴(kuò)展內(nèi)存5設(shè)置在第二擴(kuò)展安裝位上的內(nèi)存安裝位上。處理器安裝位與相連接的內(nèi)存安裝位之間通過(guò)內(nèi)存接口相連接,并且處理器安裝位與相連接的內(nèi)存安裝位之間交互數(shù)據(jù)的協(xié)議格式為內(nèi)存接口協(xié)議。
[0033]每個(gè)擴(kuò)展芯片都有唯一的標(biāo)識(shí)號(hào)碼,通過(guò)該標(biāo)識(shí)號(hào)碼可以識(shí)別出處理器安裝位上的是否為擴(kuò)展芯片。每個(gè)擴(kuò)展芯片都可以連接一個(gè)或多個(gè)擴(kuò)展內(nèi)存,并且所有擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存的地址都在第一處理器I的地址空間范圍內(nèi)。另外,為了保證每個(gè)擴(kuò)展芯片都可以安裝在處理器安裝位上,在本申請(qǐng)實(shí)施例中,每個(gè)擴(kuò)展芯片的管腳與處理器的管腳都相兼容。在本申請(qǐng)實(shí)施例中,可以將擴(kuò)展芯片的以下管腳定義與處理器的管腳兼容:
[0034]1、電源。處理器的電源種類較多,例如核心電壓、I/O電壓等,都由單板上的電源模塊提供。擴(kuò)展芯片的核心電壓可以與處理器相同,也可以通過(guò)擴(kuò)展芯片內(nèi)部電路將單板提供的電壓轉(zhuǎn)換為自己所需的電壓。擴(kuò)展芯片的I/o電壓用于給I/O接口電路供電,由于擴(kuò)展芯片也要提供QPI接口,因此這部分電路可以直接利用單板提供的電壓,管腳位置與處理器保持一致。[0035]2、地。地可以為各種電源和信號(hào)提供回路,同時(shí)為高速信號(hào)提供屏蔽功能,擴(kuò)展芯片可以直接利用處理器已有的地信號(hào)。
[0036]3、時(shí)鐘。時(shí)鐘為處理器內(nèi)部模塊、I/O接口提供參考時(shí)鐘,處理器內(nèi)部有鎖相環(huán)可以將單板提供的外部時(shí)鐘倍頻到更高的頻率,還會(huì)產(chǎn)生內(nèi)存接口時(shí)鐘來(lái)同步對(duì)內(nèi)存條的讀寫訪問(wèn)。擴(kuò)展芯片可以直接利用處理器的輸入?yún)⒖紩r(shí)鐘,并倍頻得到自己所需的工作時(shí)鐘,同時(shí)必須接收和產(chǎn)生QPI接口時(shí)鐘與對(duì)端處理器通信,還要產(chǎn)生內(nèi)存接口時(shí)鐘來(lái)同步對(duì)內(nèi)存條的訪問(wèn),管腳位置、功能和電氣特性與處理器保持一致。
[0037]4、復(fù)位。復(fù)位可以將處理器和單板上的其它器件置為確定的初始狀態(tài),然后處理器從第一條指令開始執(zhí)行。擴(kuò)展芯片可以直接利用處理器的復(fù)位信號(hào),管腳位置、功能和電氣特性與處理器保持一致。
[0038]5、QPI接口。擴(kuò)展芯片也要提供QPI接口,管腳位置、功能和電氣特性與處理器保
持一致。
[0039]6、內(nèi)存接口。擴(kuò)展芯片也要提供內(nèi)存接口,包括用于讀取內(nèi)存條信息的12C接口,管腳位置、功能和電氣特性與處理器保持一致。
[0040]圖1中的9為橋片,10為BIOS (Basic Input Output System,基本輸入輸出系統(tǒng)),第一處理器I通過(guò)DMI接口(Direct Media Interface,直接媒體接口)與橋片9 ( 一般稱為南橋)相連接,通過(guò)橋片9,第一處理器I可以訪問(wèn)B10S10。通常將可以訪問(wèn)橋片9的第一處理器I稱為主處理器,將其它處理器稱為從處理器(圖1所示實(shí)施例中沒(méi)有設(shè)置從處理器),每次上電復(fù)位結(jié)束后都是主處理器先啟動(dòng),執(zhí)行外圍設(shè)備的初始化,然后控制從處理器啟動(dòng)。
[0041]參見(jiàn)圖2,為本申請(qǐng)實(shí)施例提供的第一處理器的一種結(jié)構(gòu)示意圖。第一處理器I可以包括:
[0042]查詢指令生成模塊21,用于生成標(biāo)識(shí)號(hào)碼查詢指令;
[0043]查詢指令發(fā)送模塊22,用于將標(biāo)識(shí)號(hào)碼查詢指令通過(guò)第一處理器安裝位上的QPI接口發(fā)送;
[0044]標(biāo)識(shí)號(hào)碼接收模塊23,用于通過(guò)第一處理器安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼;
[0045]標(biāo)識(shí)號(hào)碼判斷模塊24,用于判斷接收到的標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼;
[0046]配置模塊25,用于當(dāng)標(biāo)識(shí)號(hào)碼為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼時(shí),為擴(kuò)展芯片配置內(nèi)存控制器,在處理器的地址空間中分配與擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存相對(duì)應(yīng)的內(nèi)存地址。
[0047]相對(duì)應(yīng)圖2所示的第一處理器,參見(jiàn)圖3,為本申請(qǐng)實(shí)施例提供的擴(kuò)展芯片的一種結(jié)構(gòu)示意圖。擴(kuò)展芯片可以包括:
[0048]查詢指令接收模塊31,用于通過(guò)擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼查詢指令;
[0049]標(biāo)識(shí)號(hào)碼獲取模塊32,用于根據(jù)標(biāo)識(shí)號(hào)碼查詢指令獲取擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼;
[0050]標(biāo)識(shí)號(hào)碼發(fā)送模塊33,用于將獲取得到的標(biāo)識(shí)號(hào)碼通過(guò)擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口發(fā)送。
[0051]由此,可以看到,在第一處理器I通過(guò)對(duì)擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼進(jìn)行查詢,就可以對(duì)擴(kuò)展芯片進(jìn)行初始化。
[0052]在本申請(qǐng)實(shí)施例中,處理器的數(shù)量以I個(gè)為例。在實(shí)際應(yīng)用中,處理器的數(shù)量根據(jù)系統(tǒng)對(duì)計(jì)算能力的需要可以自由設(shè)定,可以為兩個(gè)或多個(gè),當(dāng)處理器為多個(gè)時(shí),需要處理器能夠提供的QPI接口更多。
[0053]參見(jiàn)圖4,為本申請(qǐng)實(shí)施例提供的內(nèi)存擴(kuò)展系統(tǒng)的另一種結(jié)構(gòu)示意圖。圖中,內(nèi)存擴(kuò)展系統(tǒng)還可以包括:第二處理器7和第二內(nèi)存8,第二處理器7所在的處理器安裝位為第二處理器安裝位,并且第二內(nèi)存8是第二處理器7的自帶內(nèi)存。
[0054]第一處理器I和第二處理器7通過(guò)QPI接口直連,兩個(gè)處理器都集成有內(nèi)存控制器,并且每個(gè)處理器都可以外掛一個(gè)或多個(gè)屬于自己的內(nèi)存,同時(shí)兩個(gè)處理器還支持彼此內(nèi)存之間的相互訪問(wèn)。圖4所示實(shí)施例中,第一處理器I可以稱為主處理器,第二處理器2為從處理器。當(dāng)系統(tǒng)上電或復(fù)位結(jié)束后主處理器最先啟動(dòng),執(zhí)行BIOS中的代碼,在完成外圍設(shè)備的初始化并為從處理器準(zhǔn)備好啟動(dòng)代碼后才控制其它從處理器啟動(dòng),然后加載操作系統(tǒng),開始在所有處理器上運(yùn)行。
[0055]在系統(tǒng)上電后,第一處理器I在外圍設(shè)備初始化完成后以及加載操作系統(tǒng)成功后,就可以對(duì)擴(kuò)展芯片上的擴(kuò)展內(nèi)存進(jìn)行訪問(wèn)。在本申請(qǐng)實(shí)施例中,如圖5所示,第一處理器I還可以包括:
[0056]報(bào)文生成模塊51,用于生成用于讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的、協(xié)議為QPI協(xié)議的報(bào)文;
[0057]報(bào)文發(fā)送模塊52,用于將報(bào)文通過(guò)第一處理器安裝位上的QPI接口發(fā)送;
[0058]數(shù)據(jù)接收模塊53,用于通過(guò)第一處理器安裝位上的QPI接口接收擴(kuò)展芯片根據(jù)所述報(bào)文讀取得到的數(shù)據(jù)。
[0059]相對(duì)應(yīng)圖5所示的第一處理器,如圖6所示,擴(kuò)展芯片還可以包括:QPI接口模塊61、協(xié)議轉(zhuǎn)換模塊62和內(nèi)存接口模塊63。
[0060]QPI接口模塊61與擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口相連接,用于接收第一處理器發(fā)送的、協(xié)議為QPI協(xié)議的報(bào)文。由于處理器安裝位之間通過(guò)QPI接口進(jìn)行數(shù)據(jù)交互,所以第一處理器發(fā)送的報(bào)文為QPI協(xié)議格式。
[0061]協(xié)議轉(zhuǎn)換模塊62,用于將QPI協(xié)議的報(bào)文轉(zhuǎn)成內(nèi)存接口協(xié)議后向內(nèi)存接口模塊63發(fā)送。對(duì)于擴(kuò)展芯片和擴(kuò)展內(nèi)存,兩者之間通過(guò)內(nèi)存接口相連接,即兩者之間的交互的數(shù)據(jù)為內(nèi)存接口協(xié)議格式。所以,協(xié)議轉(zhuǎn)換模塊62在接收到QPI接口發(fā)送的QPI協(xié)議格式的報(bào)文后,首先根據(jù)QPI協(xié)議對(duì)報(bào)文進(jìn)行解析,識(shí)別出報(bào)文內(nèi)包含的:要訪問(wèn)的內(nèi)存地址、訪問(wèn)類型(讀或?qū)?、數(shù)據(jù)長(zhǎng)度和待寫入的數(shù)據(jù)(對(duì)于寫操作),然將識(shí)別得到的信息轉(zhuǎn)換成內(nèi)存接口協(xié)議格式后,發(fā)送給內(nèi)存接口模塊63,由內(nèi)存接口模塊63發(fā)送給擴(kuò)展內(nèi)存。另外,當(dāng)內(nèi)存接口模塊63接收到擴(kuò)展內(nèi)存發(fā)送的數(shù)據(jù)后,協(xié)議轉(zhuǎn)換模塊62還用于將接收到的數(shù)據(jù)轉(zhuǎn)換成QPI協(xié)議格式,然后由QPI接口模塊61發(fā)送給第一處理器I。
[0062]內(nèi)存接口模塊63與位于擴(kuò)展芯片所在擴(kuò)展安裝位上的內(nèi)存安裝位上的擴(kuò)展內(nèi)存相連接,用于根據(jù)協(xié)議轉(zhuǎn)換后的報(bào)文在擴(kuò)展內(nèi)存中讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),將讀取到的數(shù)據(jù)向協(xié)議轉(zhuǎn)換模塊62發(fā)送。
[0063]由以上技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例提供的該內(nèi)存擴(kuò)展系統(tǒng),在一些處理器安裝位上設(shè)置有處理器,在其它處理器安裝位上設(shè)置擴(kuò)展芯片,處理器與擴(kuò)展芯片之間可以通過(guò)處理器安裝位之間的QPI接口進(jìn)行數(shù)據(jù)交互,每個(gè)擴(kuò)展芯片都可以單獨(dú)連接有擴(kuò)展內(nèi)存,并且處理器可以對(duì)與每個(gè)擴(kuò)展芯片連接的擴(kuò)展內(nèi)存進(jìn)行訪問(wèn)。
[0064]與現(xiàn)有技術(shù)相比,該內(nèi)存擴(kuò)展系統(tǒng),當(dāng)處理能力滿足要求但內(nèi)存容量需求超過(guò)處理器自帶內(nèi)存的容量的情況,通過(guò)在其它處理器位安裝擴(kuò)展芯片替代處理器,通過(guò)擴(kuò)展芯片訪問(wèn)擴(kuò)展芯片所帶的擴(kuò)展內(nèi)存,從而可以避免出現(xiàn)現(xiàn)有技術(shù)通過(guò)增加處理器來(lái)擴(kuò)展內(nèi)存導(dǎo)致處理能力冗余的問(wèn)題。
[0065]另外,相對(duì)于處理器,擴(kuò)展芯片的作用主要是進(jìn)行協(xié)議轉(zhuǎn)換,擴(kuò)展芯片的成本和功耗都很小,所以本申請(qǐng)實(shí)施例提供的該內(nèi)存擴(kuò)展系統(tǒng)用較小的成本和功耗就可以實(shí)現(xiàn)增加
內(nèi)存容量。
[0066]此外,在本申請(qǐng)實(shí)施例中,都是以第一處理器為例進(jìn)行說(shuō)明,第一擴(kuò)展芯片和第二擴(kuò)展芯片都附屬于第一處理器。在本申請(qǐng)其他實(shí)施例中,每個(gè)擴(kuò)展芯片都可以與不同處理器之間建立聯(lián)系,例如:第二擴(kuò)展芯片既可以附屬于第一處理器,也可以附屬于第二處理器,同樣,第一擴(kuò)展芯片也是如此,當(dāng)?shù)诙幚砥饔懈綄俚臄U(kuò)展芯片時(shí),第二處理器的結(jié)構(gòu)可以參見(jiàn)上述實(shí)施例中描述的第一處理器的結(jié)構(gòu),在此不再贅述。這里,擴(kuò)展芯片與處理器之間的對(duì)應(yīng)關(guān)系,可以根據(jù)實(shí)際使用情況自由設(shè)定,例如:在本申請(qǐng)實(shí)施例中,第一擴(kuò)展芯片和第二擴(kuò)展芯片都屬于第一處理器,那么第一處理器的軟件設(shè)計(jì)和控制就需要專門設(shè)計(jì),例如第一處理器通過(guò)控制是否允許第二處理器檢測(cè)擴(kuò)展芯片,進(jìn)而實(shí)現(xiàn)對(duì)第二處理器進(jìn)行控制。
[0067]另一實(shí)施例:
[0068]對(duì)應(yīng)圖1所示的內(nèi)存擴(kuò)展系統(tǒng),參見(jiàn)圖7,為本申請(qǐng)實(shí)施例提供的一種內(nèi)存擴(kuò)展方法的流程示意圖。所述內(nèi)存擴(kuò)展方法可以包括:
[0069]SlOl:處理器生成標(biāo)識(shí)號(hào)碼查詢指令,將標(biāo)識(shí)號(hào)碼查詢指令發(fā)送。
[0070]處理器將生成標(biāo)識(shí)號(hào)碼查詢指令通過(guò)處理器所在處理器安裝位上的QPI接口發(fā)送,用于對(duì)與處理器所在處理器安裝位相連接的擴(kuò)展芯片進(jìn)行確定。
[0071]S102:擴(kuò)展芯片接收標(biāo)識(shí)號(hào)碼查詢指令,根據(jù)標(biāo)識(shí)號(hào)碼查詢指令獲取擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,將獲取得到的標(biāo)識(shí)號(hào)碼發(fā)送。
[0072]每個(gè)擴(kuò)展芯片所在的處理器安裝位都通過(guò)QPI接口與處理器所在處理器安裝位相連接,所以每個(gè)擴(kuò)展芯片都可以通過(guò)所在處理器安裝位上的QPI接口接收處理器發(fā)送的標(biāo)識(shí)號(hào)碼查詢指令。根據(jù)標(biāo)識(shí)號(hào)碼查詢指令,擴(kuò)展芯片可以在查詢自身存儲(chǔ)的標(biāo)識(shí)號(hào)碼,并且將查詢到的標(biāo)識(shí)號(hào)碼通過(guò)所在處理器安裝位上的QPI接口返回給處理器。
[0073]S103:處理器接收標(biāo)識(shí)號(hào)碼,判斷標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,當(dāng)標(biāo)識(shí)號(hào)碼為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼時(shí),為擴(kuò)展芯片配置內(nèi)存控制器,在處理器的地址空間中分配與擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存相對(duì)應(yīng)的內(nèi)存地址。
[0074]在本申請(qǐng)實(shí)施例中,處理器通過(guò)向所在處理器安裝位上的各個(gè)QPI接口發(fā)送標(biāo)識(shí)號(hào)碼查詢指令,并接收返回的標(biāo)識(shí)號(hào)碼,通過(guò)對(duì)標(biāo)識(shí)號(hào)碼進(jìn)行識(shí)別可以確認(rèn)與所在處理器安裝位相連接的擴(kuò)展芯片,當(dāng)識(shí)別出擴(kuò)展芯片后,可以對(duì)擴(kuò)展芯片以及與擴(kuò)展芯片連接的擴(kuò)展內(nèi)存進(jìn)行初始化操作,包括:為擴(kuò)展芯片配置的內(nèi)存控制器,為擴(kuò)展內(nèi)存分配地址空間,其中,配置內(nèi)存控制器可以對(duì)與擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存進(jìn)行數(shù)據(jù)讀取或?qū)懭氲炔僮鳎瑸閿U(kuò)展內(nèi)存分配地址空間,可以將擴(kuò)展內(nèi)存映射成處理器自己地址空間的一部分。初始化操作完成后,處理器就可以對(duì)與擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存進(jìn)行訪問(wèn)。當(dāng)然,處理器還可以對(duì)自帶的內(nèi)存也進(jìn)行初始化操作,例如:圖1中第一處理器I的自帶內(nèi)存為第一內(nèi)存2,第一處理器I可以為第一內(nèi)存2配置內(nèi)存控制器以及為第一內(nèi)存2分配地址空間。[0075]參見(jiàn)圖8,為本申請(qǐng)實(shí)施例提供的內(nèi)存擴(kuò)展方法的另一種流程示意圖。該內(nèi)存擴(kuò)展方法還可以包括:
[0076]S201:第一處理器生成用于讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的報(bào)文,將報(bào)文發(fā)送。
[0077]第一處理器根據(jù)數(shù)據(jù)讀取或?qū)懭氲男枰?,在第一處理器?nèi)生成讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的報(bào)文,并將報(bào)文通過(guò)第一處理器安裝位上與擴(kuò)展芯片相連接的QPI接口發(fā)送出去。由于處理器安裝位之間都是通過(guò)QPI接口進(jìn)行數(shù)據(jù)交互,所以生成的讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的報(bào)文的格式為QPI協(xié)議。
[0078]S202:擴(kuò)展芯片接收?qǐng)?bào)文,將報(bào)文轉(zhuǎn)換成內(nèi)存接口協(xié)議后,根據(jù)協(xié)議轉(zhuǎn)換后的報(bào)文在擴(kuò)展內(nèi)存中讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),將讀取到的數(shù)據(jù)由內(nèi)存接口協(xié)議轉(zhuǎn)換成QPI協(xié)議后發(fā)送。
[0079]擴(kuò)展芯片通過(guò)擴(kuò)展芯片所在的擴(kuò)展安裝位上的QPI接口接收第一處理器I發(fā)送報(bào)文。由于第一處理器發(fā)送的報(bào)文為QPI協(xié)議格式,而對(duì)于擴(kuò)展芯片和擴(kuò)展內(nèi)存,兩者之間通過(guò)內(nèi)存接口相連接,即兩者之間的交互的數(shù)據(jù)為內(nèi)存接口協(xié)議格式,所以,在擴(kuò)展芯片接收到QPI協(xié)議格式的報(bào)文后,首先根據(jù)QPI協(xié)議對(duì)報(bào)文進(jìn)行解析,識(shí)別出報(bào)文內(nèi)包含的:要訪問(wèn)的內(nèi)存地址、訪問(wèn)類型(讀或?qū)?、數(shù)據(jù)長(zhǎng)度和待寫入的數(shù)據(jù)(對(duì)于寫操作),然將識(shí)別得到的信息轉(zhuǎn)換成內(nèi)存接口協(xié)議格式后,發(fā)送給擴(kuò)展內(nèi)存,在擴(kuò)展內(nèi)存中進(jìn)行數(shù)據(jù)讀取或數(shù)據(jù)寫入。當(dāng)從擴(kuò)展內(nèi)存讀取到數(shù)據(jù)后,擴(kuò)展芯片接收擴(kuò)展內(nèi)存發(fā)送的數(shù)據(jù),并且將數(shù)據(jù)轉(zhuǎn)換成QPI協(xié)議格式,然后由擴(kuò)展芯片所在的擴(kuò)展安裝位上的QPI接口發(fā)送給第一處理器I。
[0080]通過(guò)上述描述,可見(jiàn),擴(kuò)展芯片在數(shù)據(jù)讀取或數(shù)據(jù)寫入過(guò)程中,其主要作用是進(jìn)行協(xié)議轉(zhuǎn)換,與現(xiàn)有技術(shù)需要增加內(nèi)存容量采用安裝新的處理器而言,安裝擴(kuò)展芯片來(lái)增加內(nèi)存容量的方式,不僅成本大大降低,而且擴(kuò)展芯片的功耗相對(duì)處理器也非常小。
[0081]S203:第一處理器接收擴(kuò)展芯片發(fā)送的數(shù)據(jù)。
[0082]第一處理器I通過(guò)第一處理器安裝位上的QPI接口接收擴(kuò)展芯片發(fā)送的QPI協(xié)議格式的數(shù)據(jù)。
[0083]由以上技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例提供的該內(nèi)存擴(kuò)展方法,通過(guò)查找與處理器相連接的擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,對(duì)擴(kuò)展芯片進(jìn)行初始化操作,包括:為擴(kuò)展芯片配置內(nèi)存控制器、在所述處理器的地址空間中為擴(kuò)展內(nèi)存分配相對(duì)應(yīng)的內(nèi)存地址,向擴(kuò)展內(nèi)存加載啟動(dòng)程序。因此,當(dāng)處理器需要數(shù)據(jù)讀取或?qū)懭霑r(shí),可以通過(guò)擴(kuò)展芯片直接訪問(wèn)與擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存,即以較小的成本和功耗,就可以解決處理能力冗余的問(wèn)題。
[0084]另外,對(duì)于圖4所示的多處理器內(nèi)存擴(kuò)展系統(tǒng),第一處理器I作為主處理器,第二處理器7作為從處理器,在具體的執(zhí)行過(guò)程中,作為主處理器的第一處理器I還可以執(zhí)行圖9所示的步驟:
[0085]S301:系統(tǒng)復(fù)位結(jié)束后第一處理器啟動(dòng);
[0086]S302:通過(guò)QPI接口查詢標(biāo)識(shí)號(hào)碼;
[0087]S303:判斷標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,如果是,執(zhí)行步驟S304,如果否,轉(zhuǎn)入步驟S305 ;
[0088]S304:為擴(kuò)展芯片配置內(nèi)存控制器,為擴(kuò)展內(nèi)存分配相應(yīng)的內(nèi)存空間;
[0089]S305:判斷第一處理器安裝位上所有QPI接口是否遍歷完畢;當(dāng)?shù)谝惶幚砥靼惭b位上所有QPI接口遍歷完畢時(shí),執(zhí)行步驟S306 ;當(dāng)?shù)谝惶幚砥靼惭b位上所有QPI接口未遍歷完畢時(shí),轉(zhuǎn)入步驟S302 ;
[0090]S306:為第二處理器加載啟動(dòng)程序;
[0091]S307:控制第二處理器啟動(dòng);
[0092]S308:加載操作系統(tǒng)運(yùn)行。
[0093]通過(guò)上述步驟的配置,可以對(duì)與第一處理器相連接的外圍設(shè)備(指擴(kuò)展芯片)進(jìn)行初始化,并且為其它從處理器準(zhǔn)備好啟動(dòng)代碼,控制其它從處理器開始啟動(dòng),最后第一處理器加載操作系統(tǒng),并進(jìn)行運(yùn)行。對(duì)擴(kuò)展芯片初始化后,第一處理器就可以對(duì)與擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存進(jìn)行訪問(wèn)。
[0094]通過(guò)以上的方法實(shí)施例的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0095]可以理解的是,本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
[0096]本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以 在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
[0097]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其它要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0098]以上所述僅是本申請(qǐng)的【具體實(shí)施方式】,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本申請(qǐng)的保護(hù)范圍。
【權(quán)利要求】
1.一種內(nèi)存擴(kuò)展系統(tǒng),其特征在于,包括:處理器、擴(kuò)展內(nèi)存、擴(kuò)展芯片和多個(gè)處理器安裝位,其中, 每個(gè)所述處理器安裝位上都設(shè)置有與所述處理器安裝位相連接的內(nèi)存安裝位; 多個(gè)所述處理器安裝位之間通過(guò)快速通道互聯(lián)QPI接口相連接,至少一個(gè)處理器安裝位上安裝有所述處理器,其它至少一個(gè)處理器安裝位作為擴(kuò)展安裝位; 至少一個(gè)擴(kuò)展安裝位上安裝有所述擴(kuò)展芯片,所述擴(kuò)展芯片具有唯一的標(biāo)識(shí)號(hào)碼;所述擴(kuò)展內(nèi)存安裝在與所述擴(kuò)展芯片相連接的內(nèi)存安裝位上,所有所述擴(kuò)展內(nèi)存的地址都在所述處理器的地址空間范圍內(nèi)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述擴(kuò)展芯片的管腳與所述處理器的管腳兼容。
3.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述處理器包括: 查詢指令生成模塊,用于生成標(biāo)識(shí)號(hào)碼查詢指令; 查詢指令發(fā)送模塊,用于將所述標(biāo)識(shí)號(hào)碼查詢指令通過(guò)所述處理器所在處理器安裝位上的QPI接口發(fā)送; 標(biāo)識(shí)號(hào)碼接收模塊,用于通過(guò)所述處理器所在處理器安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼; 標(biāo)識(shí)號(hào)碼判斷模塊,用于判斷接收到的所述標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼; 配置模塊,用于當(dāng)所述標(biāo)識(shí)號(hào)碼 為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼時(shí),為所述擴(kuò)展芯片配置內(nèi)存控制器,在所述處理器的地址空間中分配與所述擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存相對(duì)應(yīng)的內(nèi)存地址。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,該處理器還包括: 報(bào)文生成模塊,用于生成用于讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的、協(xié)議為QPI協(xié)議的報(bào)文; 報(bào)文發(fā)送模塊,用于將所述報(bào)文通過(guò)所述處理器所在處理器安裝位上的QPI接口發(fā)送; 數(shù)據(jù)接收模塊,用于通過(guò)所述處理器所在處理器安裝位上的QPI接口接收所述擴(kuò)展芯片根據(jù)所述報(bào)文讀取得到的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述擴(kuò)展芯片包括: 查詢指令接收模塊,用于通過(guò)所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼查詢指令; 標(biāo)識(shí)號(hào)碼獲取模塊,用于根據(jù)所述標(biāo)識(shí)號(hào)碼查詢指令獲取所述擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼;標(biāo)識(shí)號(hào)碼發(fā)送模塊,用于將獲取得到的標(biāo)識(shí)號(hào)碼通過(guò)所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口發(fā)送。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述擴(kuò)展芯片還包括:QPI接口模塊、協(xié)議轉(zhuǎn)換模塊和內(nèi)存接口模塊,其中, 所述QPI接口模塊與所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口相連接,用于接收所述處理器發(fā)送的、協(xié)議為QPI協(xié)議的報(bào)文; 所述協(xié)議轉(zhuǎn)換模塊,用于將QPI協(xié)議的報(bào)文轉(zhuǎn)成內(nèi)存接口協(xié)議后向所述內(nèi)存接口模塊發(fā)送; 所述內(nèi)存接口模塊與位于所述擴(kuò)展芯片所在擴(kuò)展安裝位上內(nèi)存安裝位上的擴(kuò)展內(nèi)存相連接,用于根據(jù)協(xié)議轉(zhuǎn)換后的報(bào)文在所述擴(kuò)展內(nèi)存中讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),將讀取到的數(shù)據(jù)向所述協(xié)議轉(zhuǎn)換模塊發(fā)送; 所述協(xié)議轉(zhuǎn)換模塊還用于將讀取到的數(shù)據(jù)由內(nèi)存接口協(xié)議轉(zhuǎn)換成QPI協(xié)議后向所述QPI接口模塊發(fā)送,所述QPI接口模塊還用于將協(xié)議轉(zhuǎn)換后的數(shù)據(jù)通過(guò)所述擴(kuò)展芯片所在擴(kuò)展安裝位上的QPI接口發(fā)送。
7.—種內(nèi)存擴(kuò)展方法,其特征在于,所述方法包括: 處理器生成標(biāo)識(shí)號(hào)碼查詢指令,將所述標(biāo)識(shí)號(hào)碼查詢指令通過(guò)所述處理器所在處理器安裝位上的快速通道互聯(lián)QPI接口發(fā)送; 擴(kuò)展芯片通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口接收查詢指令,根據(jù)所述標(biāo)識(shí)號(hào)碼查詢指令獲取所述擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,將獲取得到的標(biāo)識(shí)號(hào)碼通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口發(fā)送; 所述處理器通過(guò)所述處理器所在處理器安裝位上的QPI接口接收標(biāo)識(shí)號(hào)碼,判斷所述標(biāo)識(shí)號(hào)碼是否為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼,當(dāng)所述標(biāo)識(shí)號(hào)碼為擴(kuò)展芯片的標(biāo)識(shí)號(hào)碼時(shí),為所述擴(kuò)展芯片配置內(nèi)存控制器,在所述處理器的地址空間中分配與所述擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存相對(duì)應(yīng)的內(nèi)存地址。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括: 所述處理器判斷是否向所述處理器所在處理器安裝位上的所有QPI接口發(fā)送標(biāo)識(shí)號(hào)碼查詢指令;如果否,所述處理器向未發(fā)送標(biāo)標(biāo)識(shí)號(hào)碼查詢指令的QPI接口發(fā)送標(biāo)識(shí)號(hào)碼查詢指令。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述方法還包括: 所述處理器生成用于讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù)的、協(xié)議為QPI協(xié)議的報(bào)文,將所述報(bào)文通過(guò)所述處理器所在處理器安裝位上的QPI接口發(fā)送; 所述擴(kuò)展芯片通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口接收所述報(bào)文,將所述報(bào)文轉(zhuǎn)換成內(nèi)存接口協(xié)議后,根據(jù)協(xié)議轉(zhuǎn)換后的報(bào)文在與所述擴(kuò)展芯片相連接的擴(kuò)展內(nèi)存中讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),將讀取到的數(shù)據(jù)由內(nèi)存接口協(xié)議轉(zhuǎn)換成QPI協(xié)議后通過(guò)所述擴(kuò)展芯片所在處理器安裝位上的QPI接口發(fā)送; 所述處理器通過(guò)所述處理器所在處理器安裝位上的QPI接口接收協(xié)議轉(zhuǎn)換后的數(shù)據(jù)。
【文檔編號(hào)】G06F3/06GK103488436SQ201310442041
【公開日】2014年1月1日 申請(qǐng)日期:2013年9月25日 優(yōu)先權(quán)日:2013年9月25日
【發(fā)明者】李延松, 鄭玉林 申請(qǐng)人:華為技術(shù)有限公司