專利名稱:多cpu間的通信方法、系統(tǒng)及cpu的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及通信技術(shù)領(lǐng)域,尤其涉及一種多CPU (Central Processing Unit,中央 處理器)間的通信方法、系統(tǒng)及CPU。
背景技術(shù):
大型應(yīng)用系統(tǒng)中通常包含上千個(gè)CPU,每個(gè)CPU上會(huì)運(yùn)行一個(gè)操作系統(tǒng),每個(gè)操作 系統(tǒng)上還會(huì)運(yùn)行各種應(yīng)用程序,各個(gè)操作系統(tǒng)之間,以及各種應(yīng)用程序之間都可能進(jìn)行通 信?,F(xiàn)有技術(shù)中,多個(gè)CPU進(jìn)行通信時(shí),需要分別為每個(gè)CPU設(shè)置外掛內(nèi)存空間,在發(fā)送數(shù) 據(jù)報(bào)文時(shí),發(fā)送方CPU將待發(fā)送的數(shù)據(jù)報(bào)文寫入接收方CPU的外掛內(nèi)存空間,然后通過設(shè)置 寄存器產(chǎn)生中斷信號(hào)發(fā)送到接收方CPU,接收方CPU接收到中斷信號(hào)后從外掛內(nèi)存空間內(nèi) 接收數(shù)據(jù)報(bào)文。上述多CPU之間的通信主要是指CPU內(nèi)核之間的通信,當(dāng)兩個(gè)CPU的應(yīng)用 程序需要通信時(shí),則在每個(gè)CPU內(nèi)部,還需要實(shí)現(xiàn)數(shù)據(jù)在應(yīng)用程序與內(nèi)核之間的傳輸。發(fā)明人在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過程中發(fā)現(xiàn),多CPU之間的應(yīng)用程序在進(jìn)行通 信時(shí),在發(fā)送方CPU中的命令需要從發(fā)送方應(yīng)用程序傳輸?shù)桨l(fā)送方內(nèi)核,發(fā)送方內(nèi)核將命 令傳輸?shù)浇邮辗紺PU的內(nèi)核后,接收方內(nèi)核再將該命令傳輸?shù)浇邮辗綉?yīng)用程序。由于內(nèi)核 與應(yīng)用程序之間通信時(shí),對(duì)于不同的命令需要設(shè)置不同的接口進(jìn)行傳輸,當(dāng)CPU之間需要 傳輸多種命令數(shù)據(jù)時(shí),則需要在應(yīng)用程序和接口之間設(shè)置多組接口進(jìn)行傳輸,由此增加了 CPU內(nèi)部接口設(shè)置的復(fù)雜性。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例的目的是提供一種多CPU間的通信方法、系統(tǒng)及CPU,以解決現(xiàn)有技 術(shù)中多CPU之間傳輸不同命令時(shí),CPU的內(nèi)核和應(yīng)用程序之間接口難以統(tǒng)一的問題。為解決上述技術(shù)問題,本申請(qǐng)實(shí)施例提供如下技術(shù)方案一種多CPU間的通信方法,所述多CPU中的主CPU通過總線連接若干從CPU,包括主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi) 存空間;從CPU接收到主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從所述共享內(nèi)存空間中獲 取所述數(shù)據(jù);從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰪腃PU的應(yīng)
用程序。還包括所述從CPU啟動(dòng)時(shí),在所述從CPU的應(yīng)用程序和從CPU的內(nèi)核分別建立關(guān)聯(lián)的 SOCKET ;所述從CPU的應(yīng)用程序所建立的SOCKET監(jiān)聽所述從CPU的內(nèi)核的請(qǐng)求。所述從CPU的內(nèi)核通過預(yù)先建立的SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰪腃PU的應(yīng)用 程序包括
所述從CPU的內(nèi)核將所述數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包;所述從CPU的內(nèi)核所建立的SOCKET通過單播方式將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到所述 從CPU的應(yīng)用程序所建立的SOCKET上。還包括所述從CPU的應(yīng)用程序分析所述數(shù)據(jù)獲得命令碼;根據(jù)所述命令碼執(zhí)行相應(yīng)的操作;將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述從CPU的應(yīng)用程序所建立的SOCKET返回所述從 CPU的內(nèi)核。還包括所述從CPU的內(nèi)核將所述結(jié)果數(shù)據(jù)傳輸?shù)剿鲋鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空 間;主CPU接收到從CPU觸發(fā)的中斷信號(hào)后,主CPU的內(nèi)核從所述共享內(nèi)存空間中獲 取所述結(jié)果數(shù)據(jù)。還包括所述主CPU向從CPU發(fā)送所述中斷信號(hào)后,主CPU將當(dāng)前進(jìn)程設(shè)置為睡眠狀態(tài);主CPU接收到從CPU觸發(fā)的中斷信號(hào)后,所述主CPU將所述進(jìn)程從睡眠狀態(tài)喚醒。一種多CPU間的通信系統(tǒng),包括至少一個(gè)主CPU,以及與所述主CPU通過總線相 連的若干從CPU,所述主CPU,用于通過主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU 內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間;所述從CPU,用于接收到主CPU觸發(fā)的中斷信號(hào)后,通過從CPU的內(nèi)核從所述共享 內(nèi)存空間中獲取所述數(shù)據(jù),以及所述從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將所述數(shù) 據(jù)傳輸?shù)剿鰪腃PU的應(yīng)用程序。所述從CPU還用于,啟動(dòng)時(shí)在所述從CPU的應(yīng)用程序和從CPU的內(nèi)核分別建立關(guān) 聯(lián)的SOCKET,所述從CPU的應(yīng)用程序所建立的SOCKET監(jiān)聽所述從CPU的內(nèi)核的請(qǐng)求。所述從CPU還用于,通過從CPU的應(yīng)用程序分析所述數(shù)據(jù)獲得命令碼,根據(jù)所述 命令碼執(zhí)行相應(yīng)的操作,并將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述從CPU的應(yīng)用程序所建立的 SOCKET返回所述從CPU的內(nèi)核。所述從CPU還用于,通過所述從CPU的內(nèi)核將所述結(jié)果數(shù)據(jù)傳輸?shù)剿鲋鰿PU內(nèi) 預(yù)先設(shè)置的共享內(nèi)存空間;所述主CPU,還用于接收到從CPU觸發(fā)的中斷信號(hào)后,主CPU的內(nèi)核從所述共享內(nèi) 存空間中獲取所述結(jié)果數(shù)據(jù)。一種中央處理器CPU,所述CPU作為從CPU應(yīng)用于包含若干CPU的系統(tǒng)中,所述從 CPU通過總線與主CPU連接,包括接收單元、內(nèi)核單元和應(yīng)用程序單元,接收單元,用于接收主CPU觸發(fā)的中斷信號(hào),所述中斷信號(hào)為所述主CPU的內(nèi)核將 主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間后所發(fā)送的中斷信 號(hào);內(nèi)核單元,用于從所述共享內(nèi)存空間中獲取所述數(shù)據(jù),并通過預(yù)先建立的套接字 SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰬?yīng)用程序單元。
還包括建立單元,用于所述從CPU啟動(dòng)時(shí),在所述應(yīng)用程序單元和內(nèi)核單元分別建立關(guān) 聯(lián)的 SOCKET ;所述應(yīng)用程序單元,還用于通過所建立的SOCKET監(jiān)聽所述內(nèi)核單元的請(qǐng)求。所述內(nèi)核單元包括數(shù)據(jù)包封裝子單元,用于將所述數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包;數(shù)據(jù)包傳輸子單元,用于通過所述內(nèi)核單元所建立的SOCKET以單播方式將所述 網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到所述應(yīng)用程序單元建立的SOCKET上。所述應(yīng)用程序單元還包括數(shù)據(jù)分析子單元,用于分析所述數(shù)據(jù)獲得命令碼;操作執(zhí)行子單元,用于根據(jù)所述命令碼執(zhí)行相應(yīng)的操作;結(jié)果返回子單元,用于將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述應(yīng)用程序單元所建立的 SOCKET返回所述內(nèi)核單元。所述內(nèi)核單元,還用于將所述結(jié)果數(shù)據(jù)傳輸?shù)剿鲋鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存 空間??梢?,本申請(qǐng)實(shí)施例中多CPU中的主CPU通過總線連接若干從CPU,主CPU的內(nèi)核 將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間,從CPU接收到 主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從共享內(nèi)存空間中獲取數(shù)據(jù),從CPU的內(nèi)核通過預(yù) 先建立的套接字SOCKET將數(shù)據(jù)傳輸?shù)綇腃PU的應(yīng)用程序。本申請(qǐng)實(shí)施例中的多個(gè)CPU之 間的應(yīng)用程序通信時(shí),通過在CPU的內(nèi)核與應(yīng)用程序之間設(shè)置SOCKET,將在傳輸不同命令 時(shí)所需要設(shè)置的不同接口統(tǒng)一為SOCKET接口,降低了 CPU內(nèi)部接口設(shè)置的復(fù)雜性,提升了 CPU間應(yīng)用程序通信的性能。
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提 下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請(qǐng)多CPU間的通信方法的第一實(shí)施例流程圖;圖2為本申請(qǐng)實(shí)施例中主CPU與從CPU之間的通信架構(gòu)示意圖;圖3A為本申請(qǐng)多CPU間的通信方法的第二實(shí)施例流程圖;圖3B為本申請(qǐng)實(shí)施例中的PCI共享緩沖的數(shù)據(jù)格式示意圖;圖3C為本申請(qǐng)實(shí)施例中主從CPU之間發(fā)送命令的結(jié)構(gòu)示意圖;圖4為本申請(qǐng)多CPU間的通信系統(tǒng)的實(shí)施例框圖;圖5為本申請(qǐng)CPU的第一實(shí)施例框圖;圖6A為本申請(qǐng)CPU的第二實(shí)施例框圖;圖6B為圖6A中內(nèi)核單元的實(shí)施例框圖;圖6C為圖6A中應(yīng)用程序單元的實(shí)施例框圖。
具體實(shí)施例方式本申請(qǐng)實(shí)施例提供一種多CPU間的通信方法、系統(tǒng)及CPU。本申請(qǐng)實(shí)施例的多個(gè) CPU中,包括至少一個(gè)主CPU和若干從CPU,其中主CPU通過總線與從CPU相連。本申請(qǐng)實(shí) 施例中主CPU也可稱為HOST CPU,從CPU也可稱為SLAVE CPU。為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)實(shí)施例中的技術(shù)方案,并使本申請(qǐng)實(shí) 施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本申請(qǐng)實(shí)施例中技術(shù)方 案作進(jìn)一步詳細(xì)的說明。參見圖1,為本申請(qǐng)多CPU間的通信方法的第一實(shí)施例流程圖步驟101 主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè) 置的共享內(nèi)存空間。本申請(qǐng)實(shí)施例中主CPU與從CPU之間可以通過PCI (Peripheral Componentlnterconnect,外部組件互聯(lián)標(biāo)準(zhǔn))總線或PCIE (PCI Express,高速外部組件互 聯(lián)標(biāo)準(zhǔn))總線相連。系統(tǒng)啟動(dòng)時(shí),主CPU從自身內(nèi)存中劃分出一部分內(nèi)存作為共享內(nèi)存,供 從CPU使用,并且主CPU還需要為從CPU分配PCI地址.0空間;在從CPU的應(yīng)用程序和從 CPU的內(nèi)核分別建立關(guān)聯(lián)的SOCKET,從CPU的應(yīng)用程序所建立的SOCKET監(jiān)聽所述從CPU的 內(nèi)核的請(qǐng)求。步驟102 從CPU接收到主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從共享內(nèi)存空間 中獲取該數(shù)據(jù)。從CPU可以通過映射主CPU的共享內(nèi)存到自身的地址空間中,實(shí)現(xiàn)對(duì)該共享內(nèi)存 的訪問,獲得主CPU的共享內(nèi)存中的數(shù)據(jù)。步驟103 從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將數(shù)據(jù)傳輸?shù)綇腃PU的應(yīng) 用程序,結(jié)束當(dāng)前流程。具體的,從CPU的內(nèi)核將數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包,從CPU的內(nèi)核所建立的SOCKET 通過單播方式將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到從CPU的應(yīng)用程序所建立的SOCKET上。參見圖2,為本申請(qǐng)實(shí)施例中主CPU與從CPU之間的通信架構(gòu)示意圖,圖2中示 出了 一個(gè)主CPU和一個(gè)從CPU,主CPU和從CPU之間通過PCI或PCIE總線連接。無論主 CPU或從CPU,其中都包含應(yīng)用程序、內(nèi)核驅(qū)動(dòng)和用于通信的硬件設(shè)備,本申請(qǐng)實(shí)施例在每 個(gè)CPU的應(yīng)用程序和內(nèi)核驅(qū)動(dòng)上建立SOCKET,用于統(tǒng)一二者之間的數(shù)據(jù)傳輸和命令傳輸接 口。在建立應(yīng)用程序的SOCKET時(shí),應(yīng)用程序中開啟一個(gè)線程,該線程打開一個(gè)SOCKET,而與 該SOCKET通訊的對(duì)象就是同一操作系統(tǒng)的內(nèi)核,在該內(nèi)核里面開發(fā)一個(gè)驅(qū)動(dòng)程序SOCKET, 通過該驅(qū)動(dòng)程序SOCKET與應(yīng)用程序SOCKET進(jìn)行交互,驅(qū)動(dòng)程序SOCKET在收到應(yīng)用程序 SOCKET發(fā)過來的信息后,把該消息轉(zhuǎn)化為PCI封包,發(fā)送到PCI/PCIE總線上。本申請(qǐng)實(shí)施例中,主CPU和從CPU之間通信時(shí),包括兩種通信模式一、命令主動(dòng)發(fā)起模式命令主動(dòng)發(fā)起方可以是主CPU,也可以是從CPU,命令主動(dòng)發(fā)起方在進(jìn)入系統(tǒng)調(diào)用 后,可以進(jìn)入睡眠狀態(tài),直到命令接收方返回命令執(zhí)行結(jié)果和狀態(tài),或者命令發(fā)送超時(shí)時(shí)從 睡眠狀態(tài)喚醒。例如,主CPU有命令要發(fā)送給從CPU,則命令首先是由主CPU發(fā)起的,那么主 CPU就稱為命令主動(dòng)發(fā)起方,此時(shí)主CPU驅(qū)動(dòng)內(nèi)核程序?qū)崿F(xiàn)供應(yīng)用程序調(diào)用的接口,由內(nèi)核 從應(yīng)用程序中獲取數(shù)據(jù);主CPU的當(dāng)前進(jìn)程進(jìn)入睡眠狀態(tài)的目的是避免主CPU忙等從CPU的回復(fù),使得主CPU可以在該時(shí)間內(nèi)執(zhí)行其他進(jìn)程任務(wù),當(dāng)從CPU返回命令執(zhí)行結(jié)果和狀態(tài) 后,主CPU喚醒進(jìn)入睡眠狀態(tài)的進(jìn)程任務(wù),使其可以繼續(xù)執(zhí)行。二、命令被動(dòng)接收模式命令被動(dòng)接收方在其操作系統(tǒng)內(nèi)核接收到PCI中斷后,把通過PCI傳輸?shù)臄?shù)據(jù)轉(zhuǎn) 成NETLINK (Linux操作系統(tǒng)下的一種通訊工作機(jī)制)的數(shù)據(jù)傳到應(yīng)用程序SOCKET,應(yīng)用程 序執(zhí)行完操作后,再通過NETLINK把數(shù)據(jù)返回內(nèi)核驅(qū)動(dòng)程序SOCKET,由內(nèi)核硬件將數(shù)據(jù)通 過PCI總線返回命令主動(dòng)發(fā)起方。參見圖3A,為本申請(qǐng)多CPU間的通信方法的第二實(shí)施例流程圖,該實(shí)施例詳細(xì)示 出了本申請(qǐng)多CPU間通信的過程步驟301 主CPU內(nèi)預(yù)先設(shè)置共享內(nèi)存空間。通信系統(tǒng)初始化時(shí),由HOST CPU為所有SLAVE CPU分配PCI空間地址,并且HOST CPU從自身內(nèi)存中劃分出一部分內(nèi)存作為PCI的共享內(nèi)存,根據(jù)系統(tǒng)中SLAVE CPU的數(shù)量 在PCI共享內(nèi)存中設(shè)置相應(yīng)的PCI共享緩沖的數(shù)據(jù)格式,一個(gè)PCI共享緩沖的數(shù)據(jù)格式如 圖3B所示,其中status表示數(shù)據(jù)內(nèi)容,init_params表示數(shù)據(jù)參數(shù),host_to_dmsoc_cmd 用于 HOST CPU 向 SLAVECPU 發(fā)送命令,dmsoc_to_host_cmd 用于 SLAVE CPU 向 HOST CPU 發(fā) 送命令。基于上述PCI共享緩沖的數(shù)據(jù)格式可以實(shí)現(xiàn)HOST CPU與SLAVE CPU之間的通信。 host_to_dmsoc_cmd禾口 dmsoc_to_host_cmd的結(jié)構(gòu)一致,如圖3C所示,其中的字段解釋如 下Cmd_len表示命令長度;CmcLmagic表示命令幻數(shù),用于防止其它隨機(jī)數(shù)據(jù)混入,判斷數(shù)據(jù)是否是有效的命 令;CmcLindex 命令序列號(hào),用于指示命令的類型;Interrupt_ack 中斷響應(yīng),用于當(dāng)收到中斷命令后,給中斷源反饋一個(gè)回應(yīng);Cmd_return_status 命令返回狀態(tài),用于表示命令執(zhí)行是否成功;Reserved 保留位;Pad填充至128KB 用于存放命令實(shí)際的數(shù)據(jù),如果命令長度不到128KB,則補(bǔ)滿至 128KB。同時(shí),HOST CPU還需要配置SLAVE CPU的PCI基地址寄存器(baseaddress register),用于確定SLAVE CPU在PCI空間中的地址,當(dāng)SLAVE CPU訪問HOST CPU的PCI 共享內(nèi)存時(shí),可以通過映射PCI內(nèi)存到自己的地址空間內(nèi)實(shí)現(xiàn)。例如,系統(tǒng)中有一個(gè)HOST CPU,兩個(gè)SLAVE CPU,假設(shè)HOST CPU的內(nèi)存是512MB, 兩個(gè)SLAVE CPU的內(nèi)存分別是128MB,則在系統(tǒng)啟動(dòng)時(shí),HOST CPU在512MB中先劃分出一段 內(nèi)存作為PCI/PCIE總線共享的內(nèi)存,以便每個(gè)SLAVE CPU可以訪問該共享內(nèi)存。HOST CPU 可以通過設(shè)置H0STCPU的PCI/PCIE窗口的映射寄存器(不同的CPU有不同的名稱)來把 這段共享內(nèi)存映射到PCI/PCIE總線上,HOST CPU同時(shí)把每個(gè)SLAVE CPU的PCIBAR(Base Address Register,基本地址寄存器)設(shè)置好,這樣SLAVE CPU就存在于PCI空間上(PCI空 間地址與所占長度由BAR中的值決定),通過上述初始化,HOST CPU可以訪問SLAVE CPU的 內(nèi)存;SLAVE CPU通過設(shè)置SLAVE CPU的PCI映射寄存器到要訪問的地址上來實(shí)現(xiàn)對(duì)HOST CPU的共享內(nèi)存的訪問。由此,HOST CPU和SLAVE CPU可以互相訪問內(nèi)存,其中只把HOST
8CPU上劃分出來的內(nèi)存作為PCI共享內(nèi)存。步驟302 從CPU啟動(dòng)時(shí)在從CPU的應(yīng)用程序和從CPU的內(nèi)核分別建立關(guān)聯(lián)的 SOCKET。SLAVE CPU在系統(tǒng)啟動(dòng)的時(shí)候應(yīng)用程序會(huì)先建立一個(gè)SOCKET,這個(gè)SOCKET不同于 一般的網(wǎng)絡(luò)SOCKET,其不是通過IP地址綁定的SOCKET,而是與線程號(hào)綁定的SOCKET,不同 的線程具有不同的線程號(hào),由此SOCKET確定將數(shù)據(jù)發(fā)往哪個(gè)線程;應(yīng)用程序的SOCKET在建 立的時(shí)候,運(yùn)行于SLAVECPU上的內(nèi)核(通常為Iinux內(nèi)核)驅(qū)動(dòng)也會(huì)建立一個(gè)SOCKET,與 應(yīng)用程序的SOCKET保持關(guān)聯(lián)。上述應(yīng)用程序的SOCKET和內(nèi)核驅(qū)動(dòng)的SOCKET可以雙向通 訊。步驟303 從CPU的應(yīng)用程序所建立的SOCKET監(jiān)聽從CPU的內(nèi)核的請(qǐng)求。步驟304 主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè) 置的共享內(nèi)存空間。HOST CPU上的應(yīng)用程序通過初始化一段內(nèi)存數(shù)據(jù),然后調(diào)用通過驅(qū)動(dòng)程序?qū)崿F(xiàn) 的系統(tǒng)接口,該接口的功能是把應(yīng)用程序的數(shù)據(jù)拷貝到內(nèi)核,內(nèi)核再把該數(shù)據(jù)傳輸?shù)紿OST CPU向SLAVE CPU開放的PCI共享內(nèi)存里。步驟305 主CPU向從CPU發(fā)送中斷信號(hào)后將當(dāng)前進(jìn)程設(shè)置為睡眠狀態(tài)。HOST CPU的內(nèi)核將數(shù)據(jù)拷貝到PCI共享內(nèi)存后,就觸發(fā)SLAVE CPU的PCI中斷,由 于HOST CPU要求SLAVE CPU執(zhí)行的命令需要相應(yīng)的執(zhí)行時(shí)間的,因此HOST CPU可以把當(dāng) 前進(jìn)程設(shè)置成睡眠狀態(tài),從而避免HOST CPU的忙等待。步驟306 從CPU接收到主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從共享內(nèi)存空間 中獲取數(shù)據(jù)。SLAVE CPU在收到HOST CPU發(fā)出的PCI中斷后,SLAVE CPU的內(nèi)核運(yùn)行已經(jīng)注冊(cè) 的中斷例程,把數(shù)據(jù)從HOST CPU的PCI共享內(nèi)存中拷貝到自己的內(nèi)存中。步驟307 從CPU的內(nèi)核將數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包。步驟308 從CPU的內(nèi)核所建立的SOCKET通過單播方式將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到從 CPU的應(yīng)用程序所建立的SOCKET上。SLAVE CPU的內(nèi)核驅(qū)動(dòng)把內(nèi)存中的數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包,該網(wǎng)絡(luò)數(shù)據(jù)包通過 NETLINK單播的方式,從內(nèi)核驅(qū)動(dòng)SOCKET發(fā)送到應(yīng)用程序監(jiān)聽的SOCKET上。步驟309 從CPU的應(yīng)用程序分析接收到的網(wǎng)絡(luò)數(shù)據(jù)包,獲得命令碼。步驟310 從CPU的應(yīng)用程序根據(jù)命令碼執(zhí)行相應(yīng)的操作。應(yīng)用程序監(jiān)聽的SOCKET收到內(nèi)核驅(qū)動(dòng)請(qǐng)求后,分析網(wǎng)絡(luò)數(shù)據(jù)包的包頭,從中獲取 命令的長度以及命令碼等信息,然后根據(jù)命令碼執(zhí)行相應(yīng)的操作。步驟311 將執(zhí)行的結(jié)果數(shù)據(jù)通過從CPU的應(yīng)用程序所建立的SOCKET返回從CPU 的內(nèi)核。步驟312 從CPU的內(nèi)核將結(jié)果數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間。SLAVE CPU的應(yīng)用程序通過sendmsg的系統(tǒng)調(diào)用把執(zhí)行的結(jié)果數(shù)據(jù)包發(fā)送到內(nèi) 核,內(nèi)核驅(qū)動(dòng)中有相應(yīng)的針對(duì)sendmsg的處理函數(shù),處理函數(shù)把應(yīng)用程序發(fā)送的結(jié)果數(shù)據(jù) 包接收下來,拷貝到HOST CPU的PCI共享內(nèi)存上,并向HOST CPU發(fā)送PCI中斷信號(hào)。步驟313 主CPU接收到從CPU觸發(fā)的中斷信號(hào)后,主CPU將進(jìn)程從睡眠狀態(tài)喚醒。
HOST CPU在收到PCI中斷后,會(huì)在中斷例程中檢查執(zhí)行狀態(tài),并把相應(yīng)的處于睡 眠狀態(tài)的進(jìn)程喚醒。步驟314 主CPU的內(nèi)核從共享內(nèi)存空間中獲取結(jié)果數(shù)據(jù),結(jié)束當(dāng)前流程。需要說明的是,上述描述了主CPU和從CPU之間的通信,當(dāng)從CPU之間需要通 信時(shí),均通過主CPU進(jìn)行轉(zhuǎn)發(fā)。通信過程中所發(fā)的數(shù)據(jù)包的數(shù)據(jù)中有一個(gè)字段是Target id (目標(biāo)標(biāo)識(shí)),指代的是目標(biāo)CPU。假定HOST CPU的id是Oxffffffff,若干SLAVE CPU的 id是從0-80進(jìn)行排序,如果id為7的SLAVECPU要把數(shù)據(jù)包發(fā)到id為0x3的SLAVE CPU, 則id為7的SLAVE CPU先把數(shù)據(jù)包發(fā)送到HOST CPU上,如果數(shù)據(jù)包中的Target id不是 HOST CPU 的 id “OxfffTfTfT,,,而是 SLAVE CPU 的 id “0x3”,貝Ij HOST CPU 確認(rèn)該數(shù)據(jù)包需 要轉(zhuǎn)發(fā),則按照id “0x3”將數(shù)據(jù)包轉(zhuǎn)發(fā)到對(duì)應(yīng)的SLAVE CPU上,這個(gè)轉(zhuǎn)發(fā)過程與前述HOST CPU與SLAVE CPU之間的通信過程是一樣;相應(yīng)的,id為7的SLAVE CPU收到HOST CPU轉(zhuǎn) 發(fā)的數(shù)據(jù)包后,執(zhí)行相應(yīng)的操作,然后把結(jié)果狀態(tài)和數(shù)據(jù)返回給HOST CPU,H0ST CPU再把該 數(shù)據(jù)轉(zhuǎn)發(fā)到id為“0x3”的SLAVE CPU上,由此實(shí)現(xiàn)兩個(gè)SLAVE CPU之間的通信。與本申請(qǐng)多CPU間的通信方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了多CPU間的通信 系統(tǒng)和CPU的實(shí)施例。參見圖4,為本申請(qǐng)多CPU間的通信系統(tǒng)的實(shí)施例框圖該系統(tǒng)包括至少一個(gè)主CPU410和若干從CPU420,主CPU410通過總線與若干從 CPU420相連,為了示例方便,圖4中僅示出了一個(gè)主CPU410和兩個(gè)從CPU420。其中,所述主CPU410,用于通過主CPU410的內(nèi)核將主CPU410的應(yīng)用程序發(fā)送的數(shù) 據(jù)傳輸?shù)街鰿PU410內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間;所述從CPU420,用于接收到主CPU410觸發(fā)的中斷信號(hào)后,通過從CPU420的內(nèi)核 從所述共享內(nèi)存空間中獲取所述數(shù)據(jù),以及所述從CPU420的內(nèi)核通過預(yù)先建立的套接字 SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰪腃PU420的應(yīng)用程序。進(jìn)一步,所述從CPU420還用于,啟動(dòng)時(shí)在所述從CPU420的應(yīng)用程序和從CPU420 的內(nèi)核分別建立關(guān)聯(lián)的SOCKET,所述從CPU420的應(yīng)用程序所建立的SOCKET監(jiān)聽所述從 CPU420的內(nèi)核的請(qǐng)求。進(jìn)一步,所述從CPU420還用于,通過從CPU420的應(yīng)用程序分析所述數(shù)據(jù)獲得命令 碼,根據(jù)所述命令碼執(zhí)行相應(yīng)的操作,并將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述從CPU420的應(yīng)用 程序所建立的SOCKET返回所述從CPU420的內(nèi)核。進(jìn)一步,所述從CPU420還用于,通過所述從CPU420的內(nèi)核將所述結(jié)果數(shù)據(jù)傳輸?shù)?所述主CPU410內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間;所述主CPU410,還用于接收到從CPU420觸發(fā) 的中斷信號(hào)后,主CPU410的內(nèi)核從所述共享內(nèi)存空間中獲取所述結(jié)果數(shù)據(jù)。參見圖5,為本申請(qǐng)CPU的第一實(shí)施例框圖,該CPU作為從CPU應(yīng)用于包含若干CPU 的系統(tǒng)中,該從CPU通過總線與主CPU連接該CPU包括接收單元510、內(nèi)核單元520和應(yīng)用程序單元530。接收單元510,用于接收到主CPU觸發(fā)的中斷信號(hào),所述中斷信號(hào)為所述主CPU的 內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間后所發(fā)送的 中斷信號(hào);內(nèi)核單元520,用于從所述共享內(nèi)存空間中獲取所述數(shù)據(jù),并通過預(yù)先建立的套接
10字SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰬?yīng)用程序單元530。參見圖6A,為本申請(qǐng)CPU的第二實(shí)施例框圖,該CPU作為從CPU應(yīng)用于包含若干 CPU的系統(tǒng)中,該從CPU通過總線與主CPU連接該CPU包括建立單元610、接收單元620、內(nèi)核單元630和應(yīng)用程序單元640。其中,建立單元610,用于所述從CPU啟動(dòng)時(shí),在所述應(yīng)用程序單元640和內(nèi)核單元 630分別建立關(guān)聯(lián)的SOCKET ;應(yīng)用程序單元640,用于通過所建立的SOCKET監(jiān)聽所述內(nèi)核單元630的請(qǐng)求;接收單元620,用于接收主CPU觸發(fā)的中斷信號(hào),所述中斷信號(hào)為所述主CPU的內(nèi) 核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間后所發(fā)送的中 斷信號(hào);內(nèi)核單元630,用于從所述共享內(nèi)存空間中獲取所述數(shù)據(jù),并通過預(yù)先建立的套接 字SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰬?yīng)用程序單元640。應(yīng)用程序單元640,還用于將對(duì)所述數(shù)據(jù)進(jìn)行處理后的結(jié)果數(shù)據(jù)通過應(yīng)用程序單 元640所建立的SOCKET返回內(nèi)核單元630 ;內(nèi)核單元630,還用于將所述結(jié)果數(shù)據(jù)傳輸?shù)剿鲋鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存 空間。參見圖6B,為圖6A所示CPU中的內(nèi)核單元630的實(shí)施例結(jié)構(gòu)圖該內(nèi)核單元630包括數(shù)據(jù)包封裝子單元631,用于將所述數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包;數(shù)據(jù)包傳輸子單元632,用于通過所述內(nèi)核單元所建立的SOCKET以單播方式將所 述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到所述應(yīng)用程序單元建立的SOCKET上。參見圖6C,為圖6A所示CPU中的應(yīng)用程序單元640的實(shí)施例結(jié)構(gòu)圖該應(yīng)用程序單元640包括數(shù)據(jù)分析子單元641,用于分析所述數(shù)據(jù)獲得命令碼;操作執(zhí)行子單元642,用于根據(jù)所述命令碼執(zhí)行相應(yīng)的操作;結(jié)果返回子單元643,用于將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述應(yīng)用程序單元所建立 的SOCKET返回所述內(nèi)核單元。通過以上的實(shí)施方式的描述可知,本申請(qǐng)實(shí)施例中多CPU中的主CPU通過總線連 接若干從CPU,主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的 共享內(nèi)存空間,從CPU接收到主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從共享內(nèi)存空間中獲 取數(shù)據(jù),從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將數(shù)據(jù)傳輸?shù)綇腃PU的應(yīng)用程序。本 申請(qǐng)實(shí)施例中的多個(gè)CPU之間的應(yīng)用程序通信時(shí),通過在CPU的內(nèi)核與應(yīng)用程序之間設(shè)置 SOCKET,將在傳輸不同命令時(shí)所需要設(shè)置的不同接口統(tǒng)一為SOCKET接口,降低了 CPU內(nèi)部 接口設(shè)置的復(fù)雜性,提升了 CPU間應(yīng)用程序通信的性能。通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可 借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。基于這樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì) 上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品 可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備 (可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部 分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí) 施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例 的部分說明即可。本申請(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)境等等。本申請(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)境中,由 通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以 位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。雖然通過實(shí)施例描繪了本申請(qǐng),本領(lǐng)域普通技術(shù)人員知道,本申請(qǐng)有許多變形和 變化而不脫離本申請(qǐng)的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請(qǐng)的 精神。
1權(quán)利要求
一種多CPU間的通信方法,其特征在于,所述多CPU中的主CPU通過總線連接若干從CPU,包括主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間;從CPU接收到主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從所述共享內(nèi)存空間中獲取所述數(shù)據(jù);從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰪腃PU的應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述從CPU啟動(dòng)時(shí),在所述從CPU的應(yīng)用程序和從CPU的內(nèi)核分別建立關(guān)聯(lián)的SOCKET ; 所述從CPU的應(yīng)用程序所建立的SOCKET監(jiān)聽所述從CPU的內(nèi)核的請(qǐng)求。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述從CPU的內(nèi)核通過預(yù)先建立的 SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰪腃PU的應(yīng)用程序包括所述從CPU的內(nèi)核將所述數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包;所述從CPU的內(nèi)核所建立的SOCKET通過單播方式將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送到所述從CPU 的應(yīng)用程序所建立的SOCKET上。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 所述從CPU的應(yīng)用程序分析所述數(shù)據(jù)獲得命令碼; 根據(jù)所述命令碼執(zhí)行相應(yīng)的操作;將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述從CPU的應(yīng)用程序所建立的SOCKET返回所述從CPU 的內(nèi)核。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括所述從CPU的內(nèi)核將所述結(jié)果數(shù)據(jù)傳輸?shù)剿鲋鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間; 主CPU接收到從CPU觸發(fā)的中斷信號(hào)后,主CPU的內(nèi)核從所述共享內(nèi)存空間中獲取所 述結(jié)果數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括所述主CPU向從CPU發(fā)送所述中斷信號(hào)后,主CPU將當(dāng)前進(jìn)程設(shè)置為睡眠狀態(tài); 主CPU接收到從CPU觸發(fā)的中斷信號(hào)后,所述主CPU將所述進(jìn)程從睡眠狀態(tài)喚醒。
7.一種多CPU間的通信系統(tǒng),其特征在于,包括至少一個(gè)主CPU,以及與所述主CPU通 過總線相連的若干從CPU,所述主CPU,用于通過主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù) 先設(shè)置的共享內(nèi)存空間;所述從CPU,用于接收到主CPU觸發(fā)的中斷信號(hào)后,通過從CPU的內(nèi)核從所述共享內(nèi)存 空間中獲取所述數(shù)據(jù),以及所述從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將所述數(shù)據(jù)傳 輸?shù)剿鰪腃PU的應(yīng)用程序。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述從CPU還用于,啟動(dòng)時(shí)在所述從 CPU的應(yīng)用程序和從CPU的內(nèi)核分別建立關(guān)聯(lián)的SOCKET,所述從CPU的應(yīng)用程序所建立的 SOCKET監(jiān)聽所述從CPU的內(nèi)核的請(qǐng)求。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述從CPU還用于,通過從CPU的應(yīng)用程序分析所述數(shù)據(jù)獲得命令碼,根據(jù)所述命令碼執(zhí)行相應(yīng)的操作,并將所述執(zhí)行的結(jié)果數(shù)據(jù) 通過所述從CPU的應(yīng)用程序所建立的SOCKET返回所述從CPU的內(nèi)核。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述從CPU還用于,通過所述從CPU的內(nèi) 核將所述結(jié)果數(shù)據(jù)傳輸?shù)剿鲋鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間;所述主CPU,還用于接收到從CPU觸發(fā)的中斷信號(hào)后,主CPU的內(nèi)核從所述共享內(nèi)存空 間中獲取所述結(jié)果數(shù)據(jù)。
11.一種中央處理器CPU,其特征在于,所述CPU作為從CPU應(yīng)用于包含若干CPU的系 統(tǒng)中,所述從CPU通過總線與主CPU連接,包括接收單元、內(nèi)核單元和應(yīng)用程序單元,接收單元,用于接收主CPU觸發(fā)的中斷信號(hào),所述中斷信號(hào)為所述主CPU的內(nèi)核將主 CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間后所發(fā)送的中斷信 號(hào);內(nèi)核單元,用于從所述共享內(nèi)存空間中獲取所述數(shù)據(jù),并通過預(yù)先建立的套接字 SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰬?yīng)用程序單元。
12.根據(jù)權(quán)利要求11所述的CPU,其特征在于,還包括建立單元,用于所述從CPU啟動(dòng)時(shí),在所述應(yīng)用程序單元和內(nèi)核單元分別建立關(guān)聯(lián)的 SOCKET ;所述應(yīng)用程序單元,還用于通過所建立的SOCKET監(jiān)聽所述內(nèi)核單元的請(qǐng)求。
13.根據(jù)權(quán)利要求11所述的CPU,其特征在于,所述內(nèi)核單元包括數(shù)據(jù)包封裝子單元,用于將所述數(shù)據(jù)封裝成網(wǎng)絡(luò)數(shù)據(jù)包;數(shù)據(jù)包傳輸子單元,用于通過所述內(nèi)核單元所建立的SOCKET以單播方式將所述網(wǎng)絡(luò) 數(shù)據(jù)包發(fā)送到所述應(yīng)用程序單元建立的SOCKET上。
14.根據(jù)權(quán)利要求11所述的CPU,其特征在于,所述應(yīng)用程序單元還包括數(shù)據(jù)分析子單元,用于分析所述數(shù)據(jù)獲得命令碼;操作執(zhí)行子單元,用于根據(jù)所述命令碼執(zhí)行相應(yīng)的操作;結(jié)果返回子單元,用于將所述執(zhí)行的結(jié)果數(shù)據(jù)通過所述應(yīng)用程序單元所建立的SOCKET 返回所述內(nèi)核單元。
15.根據(jù)權(quán)利要求14所述的CPU,其特征在于,所述內(nèi)核單元,還用于將所述結(jié)果數(shù)據(jù) 傳輸?shù)剿鲋鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間。全文摘要
本申請(qǐng)公開了一種多CPU間的通信方法、系統(tǒng)及CPU,所述多CPU中的主CPU通過總線連接若干從CPU,所述方法包括主CPU的內(nèi)核將主CPU的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸?shù)街鰿PU內(nèi)預(yù)先設(shè)置的共享內(nèi)存空間;從CPU接收到主CPU觸發(fā)的中斷信號(hào)后,從CPU的內(nèi)核從共享內(nèi)存空間中獲取所述數(shù)據(jù);從CPU的內(nèi)核通過預(yù)先建立的套接字SOCKET將所述數(shù)據(jù)傳輸?shù)剿鰪腃PU的應(yīng)用程序。本申請(qǐng)實(shí)施例中的多個(gè)CPU之間的應(yīng)用程序通信時(shí),通過在CPU的內(nèi)核與應(yīng)用程序之間設(shè)置SOCKET,將在傳輸不同命令時(shí)所需要設(shè)置的不同接口統(tǒng)一為SOCKET接口,降低了CPU內(nèi)部接口設(shè)置的復(fù)雜性,提升了CPU間應(yīng)用程序通信的性能。
文檔編號(hào)G06F15/167GK101957808SQ20101019349
公開日2011年1月26日 申請(qǐng)日期2010年6月4日 優(yōu)先權(quán)日2010年6月4日
發(fā)明者胡揚(yáng)忠, 趙先林, 鄔偉琪, 金偉, 黃毅 申請(qǐng)人:杭州??低晹?shù)字技術(shù)股份有限公司