本發(fā)明實(shí)施例涉及處理器互聯(lián)
技術(shù)領(lǐng)域:
,尤其是涉及一種基于SerDes串行傳輸技術(shù),在點(diǎn)對(duì)點(diǎn)互聯(lián)結(jié)構(gòu)的片間數(shù)據(jù)傳輸過程中的基于分層結(jié)構(gòu)的片間互聯(lián)接口及其寫操作和讀操作的方法。
背景技術(shù):
:隨著信息時(shí)代的發(fā)展,傳統(tǒng)摩爾定律,即每隔18到24個(gè)月,處理器時(shí)鐘頻率翻一番,已轉(zhuǎn)變?yōu)樘幚砥鞯膫€(gè)數(shù)、線程數(shù)和其他并行算法性能的翻番。為了滿足信息時(shí)代的高性能需求,計(jì)算機(jī)系統(tǒng)逐漸由單核向多核、由多核向多片發(fā)展。因此,片間互聯(lián)已成為計(jì)算機(jī)體系結(jié)構(gòu)研究領(lǐng)域的熱點(diǎn)問題。多片互聯(lián),提供給芯片間信息共享的方式,極大地提升對(duì)大規(guī)模數(shù)據(jù)計(jì)算程序的處理能力。高速、高效,并且保證數(shù)據(jù)正確性的片間互聯(lián)接口可以有效地減少芯片間的通信延時(shí),提升處理器進(jìn)行運(yùn)算程序的有效時(shí)間比,從而有效提升系統(tǒng)的處理能力。目前,業(yè)界正不遺余力地設(shè)計(jì)高速、高效、可靠的片間互聯(lián)接口協(xié)議,然而,由于現(xiàn)有協(xié)議的設(shè)計(jì)目標(biāo)、方向不同,在實(shí)時(shí)性、帶寬要求高的應(yīng)用場(chǎng)景下,不能有效地發(fā)揮各自的優(yōu)勢(shì)。有鑒于此,特提出本發(fā)明。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種片間互聯(lián)接口,以至少部分地解決如何實(shí)現(xiàn)低延遲、高帶寬及擴(kuò)展性強(qiáng)的傳輸?shù)募夹g(shù)問題;此外,還提供了一種利用片間互聯(lián)接口進(jìn)行寫操作和讀操作的方法。為了實(shí)現(xiàn)上述目的,一方面,提供了以下技術(shù)方案:一種基于分層結(jié)構(gòu)的片間互聯(lián)接口,用于處理器,所述處理器分別與存儲(chǔ)器和物理鏈路及數(shù)據(jù)緩沖區(qū)相連;所述接口包括:事務(wù)層,被配置為從存儲(chǔ)器搬運(yùn)讀或?qū)懖僮鞯臄?shù)據(jù),并解析由數(shù)據(jù)鏈路層傳遞來(lái)的數(shù)據(jù),并在所述數(shù)據(jù)鏈路層對(duì)所述數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),從所述數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù),以及在使能CRC校驗(yàn)且校驗(yàn)正確時(shí),從所述數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù);所述數(shù)據(jù)鏈路層,被配置為在所述事務(wù)層與物理層之間進(jìn)行并行數(shù)據(jù)的拆分和組合、控制碼的裝配和解析,并根據(jù)物理通道數(shù),對(duì)所述讀或?qū)懖僮鞯臄?shù)據(jù)進(jìn)行分組;所述物理層,被配置為根據(jù)所述物理通道,對(duì)所述讀或?qū)懖僮鲾?shù)據(jù)進(jìn)行分組,并處理所述數(shù)據(jù)鏈路層與所述物理鏈路之間的數(shù)據(jù)。進(jìn)一步地,所述事務(wù)層具體包括:配置模塊,被配置為生成配置數(shù)據(jù),以使所述處理器通過總線訪問遠(yuǎn)端地址寄存器、本地地址寄存器、傳輸模式寄存器、使能寄存器和狀態(tài)寄存器;高速讀寫數(shù)據(jù)模塊,被配置為在所述使能寄存器發(fā)出使能信號(hào)后,在所述存儲(chǔ)器與數(shù)據(jù)包管理模塊之間進(jìn)行數(shù)據(jù)的所述讀或?qū)懖僮?;?shù)據(jù)包管理模塊,被配置為生成操作請(qǐng)求包,并根據(jù)所述配置模塊生成的所述配置數(shù)據(jù)生成寫或讀操作包頭控制字,從所述高速讀寫數(shù)據(jù)模塊獲取所述寫操作數(shù)據(jù),并生成CRC冗余校驗(yàn)碼,將所述CRC冗余校驗(yàn)碼寫入所述數(shù)據(jù)緩沖區(qū)。進(jìn)一步地,所述高速讀寫數(shù)據(jù)模塊,具體被配置為:在作為所述寫操作和所述讀操作的第一發(fā)送端時(shí),從所述存儲(chǔ)器讀取數(shù)據(jù),并將所述數(shù)據(jù)發(fā)送至所述數(shù)據(jù)包管理模塊,在作為所述寫操作和所述讀操作的第一接收端且在所述傳輸模式寄存器使能CRC且CRC冗余碼校驗(yàn)?zāi)K校驗(yàn)正確的情況下,從所述數(shù)據(jù)包管理模塊讀取數(shù)據(jù)包,并將所述數(shù)據(jù)寫入所述存儲(chǔ)器;所述數(shù)據(jù)包管理模塊,具有第二發(fā)送端和第二接收端,并具體被配置為其所述第二發(fā)送端生成寫操作請(qǐng)求包、讀操作請(qǐng)求包和所述數(shù)據(jù)包,以及其所述第二接收端進(jìn)行數(shù)據(jù)解析;所述數(shù)據(jù)鏈路層具體包括:所述CRC冗余碼校驗(yàn)?zāi)K,被配置為在所述處理器通過所述總線配置所述傳輸模式寄存器使能CRC,且在所述高速讀寫數(shù)據(jù)模塊作為所述第一接收端的情況下,接收所述高速讀寫數(shù)據(jù)模塊生成的數(shù)據(jù)包包頭信息且根據(jù)所述包頭信息確定是否進(jìn)行CRC校驗(yàn),并根據(jù)校驗(yàn)結(jié)果生成CRC校驗(yàn)響應(yīng)包;控制字管理模塊,被配置為為所述數(shù)據(jù)包管理模塊和通道管理模塊生成的數(shù)據(jù)包添加控制字;所述通道管理模塊,具有第三發(fā)送端和第三接收端,并被配置為其所述第三發(fā)送端依據(jù)所述配置模塊生成的配置信息,將所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)分配至所述物理層,并且其所述第三接收端依據(jù)所述物理通道個(gè)數(shù)配置,將所述控制字管理模塊產(chǎn)生的添加了控制字的數(shù)據(jù)包分配到各個(gè)所述物理通道中,并插入數(shù)據(jù)指令標(biāo)志碼,以及從所述各物理通道接收數(shù)據(jù),并將數(shù)據(jù)進(jìn)行對(duì)齊,獲取有效數(shù)據(jù)包并將所述有效數(shù)據(jù)包發(fā)送至所述控制字管理模塊。進(jìn)一步地,所述物理層具體包括:物理編碼子層模塊,包括:數(shù)據(jù)編碼解碼模塊,具有第四發(fā)送端和第四接收端,并被配置為其所述第四發(fā)送端將時(shí)鐘信號(hào)嵌入所述數(shù)據(jù)鏈路層與所述物理鏈路之間的數(shù)據(jù)中,以及其所述第四接收端從接收所述數(shù)據(jù)鏈路層與所述物理鏈路之間的所述數(shù)據(jù)中提取時(shí)鐘信號(hào),并解析有效數(shù)據(jù);數(shù)據(jù)加擾解擾模塊,被配置為處理由所述數(shù)據(jù)編碼解碼模塊編碼后的數(shù)據(jù);物理介附加子層模塊,包括:數(shù)據(jù)串化解串模塊,具有第五發(fā)送端和第五接收端,并被配置為其所述第五發(fā)送端將第一慢速并行數(shù)據(jù)串化為第一高速串行數(shù)據(jù),以及其所述第五接收端將第二高速串行數(shù)據(jù)轉(zhuǎn)化為第二慢速并行數(shù)據(jù)。為了實(shí)現(xiàn)上述目的,另一方面,還提供一種利用至少兩個(gè)上述基于分層結(jié)構(gòu)的片間互聯(lián)接口進(jìn)行寫操作的方法,所述寫操作包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:依據(jù)所述傳輸模式寄存器生成寫操作的包頭控制字,并將所述包頭控制字發(fā)送至所述物理通道,以及根據(jù)第二基于分層結(jié)構(gòu)的片間互聯(lián)接口反饋的處理結(jié)果進(jìn)行寫操作;所述第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:從所述物理通道接收所述包頭控制字并進(jìn)行解析,得到包頭控制信息,并根據(jù)所述包頭控制信息進(jìn)行使能或不使能CRC讀操作,將所述處理結(jié)果發(fā)送至所述第一基于分層結(jié)構(gòu)的片間互聯(lián)接口。進(jìn)一步地,所述寫操作的方法具體包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:1A:所述數(shù)據(jù)包管理模塊依據(jù)所述配置模塊生成寫操作包頭控制字,寫入所述數(shù)據(jù)緩沖區(qū);1B:所述高速讀寫數(shù)據(jù)模塊從本地地址中讀取操作數(shù)據(jù),寫入所述數(shù)據(jù)緩沖區(qū);1C:判斷是否使能CRC,若是,所述數(shù)據(jù)包管理模塊生成CRC冗余校驗(yàn)碼,并寫入所述數(shù)據(jù)緩沖區(qū);否則,執(zhí)行步驟1D;1D:傳輸所述事務(wù)層與所述數(shù)據(jù)鏈路層之間的數(shù)據(jù),通過所述物理鏈路接收第二基于分層結(jié)構(gòu)的片間互聯(lián)接口反饋的CRC校驗(yàn)響應(yīng)包,并在所述事務(wù)層對(duì)所述數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),使所述數(shù)據(jù)鏈路層從所述數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù);1E:所述控制字管理模塊為所述數(shù)據(jù)包添加控制字;1F:所述通道管理模塊依據(jù)所述物理通道個(gè)數(shù)配置,將所述控制字管理模塊產(chǎn)生的數(shù)據(jù)分配到所述各物理通道中,并插入所述數(shù)據(jù)指令標(biāo)志碼;1G:所述數(shù)據(jù)編碼解碼模塊將所述時(shí)鐘信號(hào)插入數(shù)據(jù)流中,并對(duì)數(shù)據(jù)進(jìn)行重新排序;1H:所述數(shù)據(jù)串化解串模塊將所述各物理通道并行慢速數(shù)據(jù)進(jìn)行串化,分配到所述物理鏈路中;所述第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:2I:所述數(shù)據(jù)串化解串模塊從所述物理鏈路中讀取數(shù)據(jù),并將高速串行數(shù)據(jù)進(jìn)行并行化;2J:所述數(shù)據(jù)擾碼解擾模塊對(duì)所述數(shù)據(jù)鏈路層與所述物理鏈路之間的數(shù)據(jù)進(jìn)行還原操作;2K:所述控制字管理模塊依據(jù)所述數(shù)據(jù)指令標(biāo)志碼剝離控制碼信息,提取所述數(shù)據(jù)包;2L:所述通道管理模塊從所述各物理通道接收數(shù)據(jù),并將所述數(shù)據(jù)進(jìn)行對(duì)齊,獲取有效數(shù)據(jù)包;2M:所述CRC冗余碼校驗(yàn)?zāi)K接收所述高速讀寫數(shù)據(jù)模塊生成的數(shù)據(jù)包,分析包頭信息,并在使能CRC校驗(yàn)的情況下,對(duì)所述數(shù)據(jù)包進(jìn)行CRC校驗(yàn),并將除CRC校驗(yàn)碼外的數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū),以及根據(jù)CRC冗余碼校驗(yàn)結(jié)果生成所述CRC校驗(yàn)響應(yīng)包,并將所述CRC校驗(yàn)響應(yīng)包反饋至所述第一基于分層結(jié)構(gòu)的片間互聯(lián)接口;2N:傳輸數(shù)據(jù)鏈路層至事務(wù)層之間的數(shù)據(jù);2O:所述數(shù)據(jù)包管理模塊分離所述數(shù)據(jù)包的包頭和數(shù)據(jù)有效負(fù)載;2P:所述高速讀寫數(shù)據(jù)模塊從所述數(shù)據(jù)包管理模塊讀取數(shù)據(jù),并寫入所述存儲(chǔ)器。為了實(shí)現(xiàn)上述目的,還提供一種利用至少兩個(gè)上述基于分層結(jié)構(gòu)的片間互聯(lián)接口進(jìn)行讀操作的方法,所述讀操作包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:依據(jù)所述傳輸模式寄存器生成讀操作的包頭控制字,并將所述包頭控制字發(fā)送至所述物理通道,以及根據(jù)第二基于分層結(jié)構(gòu)的片間互聯(lián)接口反饋的處理結(jié)果進(jìn)行讀操作;所述第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:從所述物理通道接收所述包頭控制字并進(jìn)行解析,得到包頭控制信息,并根據(jù)所述包頭控制信息進(jìn)行使能或不使能CRC讀操作,將所述處理結(jié)果發(fā)送至所述第一基于分層結(jié)構(gòu)的片間互聯(lián)接口。進(jìn)一步地,所述讀操作的方法具體包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:3A:所述數(shù)據(jù)包管理模塊依據(jù)所述配置模塊生成讀操作包頭控制字,寫入所述數(shù)據(jù)緩沖區(qū);3B:所述高速讀寫數(shù)據(jù)模塊從本地地址中讀取操作數(shù)據(jù),寫入所述數(shù)據(jù)緩沖區(qū);3C:判斷是否使能CRC,若是,所述數(shù)據(jù)包管理模塊生成CRC冗余校驗(yàn)碼,并寫入所述數(shù)據(jù)緩沖區(qū);否則,執(zhí)行步驟3D;3D:傳輸所述事務(wù)層與所述數(shù)據(jù)鏈路層之間的數(shù)據(jù),通過所述物理鏈路接收第二基于分層結(jié)構(gòu)的片間互聯(lián)接口反饋的CRC校驗(yàn)響應(yīng)包,并在所述事務(wù)層對(duì)所述數(shù)據(jù)緩沖區(qū)進(jìn)行讀操作時(shí),使所述數(shù)據(jù)鏈路層從所述數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù);3E:所述控制字管理模塊為所述數(shù)據(jù)包添加控制字;3F:所述通道管理模塊依據(jù)所述物理通道個(gè)數(shù)配置,將所述控制字管理模塊產(chǎn)生的數(shù)據(jù)分配到所述各物理通道中,并插入所述數(shù)據(jù)指令標(biāo)志碼;3G:所述數(shù)據(jù)編碼解碼模塊將所述時(shí)鐘信號(hào)插入數(shù)據(jù)流中,并對(duì)數(shù)據(jù)進(jìn)行重新排序;3H:所述數(shù)據(jù)串化解串模塊將所述各物理通道并行慢速數(shù)據(jù)進(jìn)行串化,分配到所述物理鏈路中;所述第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:4I:所述數(shù)據(jù)串化解串模塊從所述物理鏈路中讀取數(shù)據(jù),并將高速串行數(shù)據(jù)進(jìn)行并行化;4J:所述數(shù)據(jù)擾碼解擾模塊對(duì)所述數(shù)據(jù)鏈路層與所述物理鏈路之間的數(shù)據(jù)進(jìn)行還原操作;4K:所述控制字管理模塊依據(jù)所述數(shù)據(jù)指令標(biāo)志碼剝離控制碼信息,提取所述數(shù)據(jù)包;4L:所述通道管理模塊從所述各物理通道接收數(shù)據(jù),并將所述數(shù)據(jù)進(jìn)行對(duì)齊,獲取有效數(shù)據(jù)包;4M:所述CRC冗余碼校驗(yàn)?zāi)K接收所述高速讀寫數(shù)據(jù)模塊生成的數(shù)據(jù)包,分析包頭信息,并在使能CRC校驗(yàn)的情況下,對(duì)所述數(shù)據(jù)包進(jìn)行CRC校驗(yàn),并將除CRC校驗(yàn)碼外的數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū),以及根據(jù)CRC冗余碼校驗(yàn)結(jié)果生成所述CRC校驗(yàn)響應(yīng)包,并將所述CRC校驗(yàn)響應(yīng)包反饋至所述第一基于分層結(jié)構(gòu)的片間互聯(lián)接口;4N:傳輸數(shù)據(jù)鏈路層至事務(wù)層之間的數(shù)據(jù);4O:所述數(shù)據(jù)包管理模塊分離所述數(shù)據(jù)包的包頭和數(shù)據(jù)有效負(fù)載;4P:所述高速讀寫數(shù)據(jù)模塊從所述存儲(chǔ)器讀取數(shù)據(jù),并寫入所述數(shù)據(jù)包管理模塊。本發(fā)明實(shí)施例將接口劃分為事務(wù)層、數(shù)據(jù)鏈路層和物理層,其中,事務(wù)層被配置為從存儲(chǔ)器搬運(yùn)讀或?qū)懖僮鞯臄?shù)據(jù),并解析由數(shù)據(jù)鏈路層傳遞來(lái)的數(shù)據(jù),并在數(shù)據(jù)鏈路層對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù),以及在使能CRC校驗(yàn)且校驗(yàn)正確時(shí),從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù);數(shù)據(jù)鏈路層被配置為在事務(wù)層與物理層之間進(jìn)行并行數(shù)據(jù)的拆分和組合、控制碼的裝配和解析,并根據(jù)物理通道數(shù),對(duì)讀或?qū)懖僮鞯臄?shù)據(jù)進(jìn)行分組;物理層被配置為根據(jù)物理通道,對(duì)讀或?qū)懖僮鲾?shù)據(jù)進(jìn)行分組,并處理數(shù)據(jù)鏈路層與物理鏈路之間的數(shù)據(jù)。通過采取基于“包”進(jìn)行數(shù)據(jù)傳輸,所以額外負(fù)載小;支持“主從”和“對(duì)等”兩種點(diǎn)對(duì)點(diǎn)通信方式;在點(diǎn)對(duì)點(diǎn)互聯(lián)結(jié)構(gòu)的片間數(shù)據(jù)傳輸過程中,實(shí)現(xiàn)了低延遲、高帶寬及擴(kuò)展性強(qiáng)的傳輸。附圖說(shuō)明圖1為根據(jù)本發(fā)明實(shí)施例的物理鏈路示意圖;圖2為根據(jù)本發(fā)明實(shí)施例的片間互聯(lián)接口的結(jié)構(gòu)示意圖;圖3為根據(jù)本發(fā)明實(shí)施例的片間互聯(lián)接口應(yīng)用于SoC片上系統(tǒng)的示意圖;圖4為根據(jù)本發(fā)明實(shí)施例的寫操作請(qǐng)求和數(shù)據(jù)包的結(jié)構(gòu)示意圖;圖5為根據(jù)本發(fā)明實(shí)施例的讀操作請(qǐng)求包的結(jié)構(gòu)示意圖;圖6為根據(jù)本發(fā)明另一實(shí)施例的片間互聯(lián)接口的結(jié)構(gòu)示意圖;圖7為根據(jù)本發(fā)明實(shí)施例的對(duì)于不使能CRC寫操作的本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互示意圖;圖8為根據(jù)本發(fā)明實(shí)施例的對(duì)于使能CRC寫操作的本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互示意圖;圖9為根據(jù)本發(fā)明實(shí)施例的對(duì)于不使能CRC讀操作的本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互示意圖;圖10為根據(jù)本發(fā)明實(shí)施例的對(duì)于使能CRC讀操作的本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互示意圖;圖11為根據(jù)本發(fā)明實(shí)施例的基于分層結(jié)構(gòu)的片間互聯(lián)接口的應(yīng)用場(chǎng)景示意圖。具體實(shí)施方式下面結(jié)合附圖和具體的實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。在不沖突的情況下,本發(fā)明實(shí)施例中的各技術(shù)特征可以相互組合或拆分而形成技術(shù)方案?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的前提下,所獲的所有其它等同或明顯變型的實(shí)施例均落在本發(fā)明的保護(hù)范圍內(nèi)。本發(fā)明實(shí)施例基于SerDes(Serializer(串行器)/Deserializer(解串器)的簡(jiǎn)稱)串行傳輸技術(shù),使用端到端的數(shù)據(jù)傳輸方式,并應(yīng)用在點(diǎn)對(duì)點(diǎn)互聯(lián)結(jié)構(gòu)的片間數(shù)據(jù)傳輸過程中。其中,兩端均包含發(fā)送邏輯模塊(TX,也即發(fā)送端)和接收邏輯(RX,也即接收端)模塊。本文規(guī)定發(fā)起讀、寫操作命令的接口為本地Link,簡(jiǎn)稱L1;規(guī)定接收物理鏈路(如圖1所示)傳遞的讀、寫請(qǐng)求,被動(dòng)進(jìn)行相應(yīng)操作的接口為遠(yuǎn)端Link,簡(jiǎn)稱L2;SoC為SystemOnChip,即片上系統(tǒng);規(guī)定L1所處系統(tǒng)為SoC1,L2所處系統(tǒng)為SoC2??偩€包括數(shù)據(jù)與地址信息,文中系統(tǒng)數(shù)據(jù)位寬與系統(tǒng)地址位寬分別指:在片上系統(tǒng)中,接口與總線相接的數(shù)據(jù)位寬和地址位寬。這里,“本地”與“遠(yuǎn)端”是一個(gè)相對(duì)的概念。各SoC中的接口模塊既可以是本地Link,也可以是遠(yuǎn)端Link,這取決于是否為操作命令發(fā)起者。Link寫操作是指L1讀取SoC1某地址段中的數(shù)據(jù),然后寫入SoC2某地址段。讀操作是指L1讀取SoC2某地址段的數(shù)據(jù)至SoC1某地址段。讀、寫操作均可以選擇是否進(jìn)行CRC校驗(yàn)?!氨镜氐刂贰?、“遠(yuǎn)端地址”、“Link寫操作”與“Link讀操作”之間的關(guān)系如表一所示:表一:操作類型數(shù)據(jù)源地址數(shù)據(jù)目的地址Link寫操作本地地址遠(yuǎn)端地址Link讀操作遠(yuǎn)端地址本地地址為了滿足應(yīng)用領(lǐng)域?qū)?shí)時(shí)性、高帶寬及高擴(kuò)展性的需求,本發(fā)明實(shí)施例提出一種基于分層結(jié)構(gòu)的片間互聯(lián)接口,其用于處理器,處理器分別與存儲(chǔ)器和物理鏈路及數(shù)據(jù)緩沖區(qū)相連;如圖2所示,該接口10可以包括:事務(wù)層12、數(shù)據(jù)鏈路層14和物理層16。其中,事務(wù)層12被配置為從存儲(chǔ)器搬運(yùn)讀或?qū)懖僮鞯臄?shù)據(jù),并解析由數(shù)據(jù)鏈路層傳遞來(lái)的數(shù)據(jù),并在數(shù)據(jù)鏈路層對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù),以及在使能CRC校驗(yàn)且校驗(yàn)正確時(shí),從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù)。數(shù)據(jù)鏈路層14被配置為在事務(wù)層與物理層之間進(jìn)行并行數(shù)據(jù)的拆分和組合、控制碼的裝配和解析,并根據(jù)物理通道數(shù),對(duì)讀或?qū)懖僮鞯臄?shù)據(jù)進(jìn)行分組。所述物理層16被配置為根據(jù)物理通道,對(duì)讀或?qū)懖僮鲾?shù)據(jù)進(jìn)行分組,并處理數(shù)據(jù)鏈路層與物理鏈路之間的數(shù)據(jù)。其中,由于事務(wù)層的工作頻率與數(shù)據(jù)鏈路層的工作頻率不同。事務(wù)層與數(shù)據(jù)鏈路層之間可以通過緩沖區(qū)來(lái)進(jìn)行數(shù)據(jù)的傳遞。優(yōu)選地,可以將緩沖區(qū)設(shè)置為發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū)。緩沖區(qū)可以采用雙端RAM。緩沖區(qū)的數(shù)據(jù)位寬與系統(tǒng)數(shù)據(jù)位寬一致,且深度與有效數(shù)據(jù)負(fù)載的最大包長(zhǎng)相一致。緩沖區(qū)的接口信息包括:時(shí)鐘信號(hào);寫使能位:其高、低電平分別代表讀寫操作;地址位寬:其為緩沖區(qū)的深度,即最大數(shù)據(jù)包長(zhǎng)所需位寬;數(shù)據(jù)輸入和數(shù)據(jù)輸出:其位寬與系統(tǒng)數(shù)據(jù)位寬一致。圖3示例性地示出了本發(fā)明實(shí)施例提出的基于分層結(jié)構(gòu)的片間互聯(lián)接口應(yīng)用于SoC片上系統(tǒng)的示意圖。本發(fā)明實(shí)施例通過采用上述技術(shù)方案,實(shí)現(xiàn)了處理器間低延遲、高帶寬、高擴(kuò)展性的點(diǎn)對(duì)點(diǎn)串行互聯(lián)的技術(shù)效果。在一個(gè)可選的實(shí)施例中,上述事務(wù)層具體可以包括:配置模塊、高速讀寫數(shù)據(jù)模塊及數(shù)據(jù)包管理模塊。其中,配置模塊被配置為生成配置數(shù)據(jù),以使處理器通過總線訪問遠(yuǎn)端地址寄存器、本地地址寄存器、傳輸模式寄存器、使能寄存器和狀態(tài)寄存器。高速讀寫數(shù)據(jù)模塊被配置為在使能寄存器發(fā)出使能信號(hào)后,在存儲(chǔ)器與數(shù)據(jù)包管理模塊之間進(jìn)行數(shù)據(jù)的讀或?qū)懖僮?。?shù)據(jù)包管理模塊被配置為生成操作請(qǐng)求包,并根據(jù)配置模塊生成的配置數(shù)據(jù)生成寫或讀操作包頭控制字,從高速讀寫數(shù)據(jù)模塊獲取寫操作數(shù)據(jù),并生成CRC冗余校驗(yàn)碼,將CRC冗余校驗(yàn)碼寫入數(shù)據(jù)緩沖區(qū)。在上述實(shí)施例中,配置模塊為處理器提供功能配置接口,處理器通過總線可以訪問如下寄存器:遠(yuǎn)端地址寄存器、本地地址寄存器、傳輸模式寄存器、使能寄存器和狀態(tài)寄存器。其中,遠(yuǎn)端地址寄存器的位寬與系統(tǒng)(本文中的系統(tǒng)例如可以為SoC片上系統(tǒng))地址位寬一致,其存儲(chǔ)寫操作目的地址或讀操作源地址;在傳輸過程中,將寫操作目的地址或讀操作源地址發(fā)送給接收端,接收端依據(jù)傳輸操作請(qǐng)求,從讀操作源地址讀取請(qǐng)求數(shù)據(jù)或往寫操作目的地址寫操作數(shù)據(jù)。本地地址寄存器的位寬與系統(tǒng)地址位寬一致,其存儲(chǔ)寫操作源地址或讀操作目的地址;在傳輸過程中,發(fā)送端依據(jù)傳輸操作請(qǐng)求,從讀操作目的地址讀取操作數(shù)據(jù),或往寫操作源地址寫讀回?cái)?shù)據(jù)。傳輸模式寄存器的位寬與實(shí)際應(yīng)用場(chǎng)景中所需的最大傳輸數(shù)據(jù)長(zhǎng)度有關(guān),需對(duì)齊系統(tǒng)數(shù)據(jù)位寬;并負(fù)責(zé)配置本次傳輸選用物理通道數(shù)、操作類型(讀/寫)、數(shù)據(jù)包類型(操作請(qǐng)求包/CRC響應(yīng)包)、有效數(shù)據(jù)長(zhǎng)度、是否使能CRC(循環(huán)冗余碼校驗(yàn))硬件校驗(yàn)功能等。使能寄存器的位寬與系統(tǒng)數(shù)據(jù)位寬一致,且負(fù)責(zé)配置物理通道的傳輸速度、鏈路復(fù)位和操作傳輸使能。狀態(tài)寄存器的位寬與實(shí)際應(yīng)用中所需狀態(tài)個(gè)數(shù)相關(guān),諸如:操作起止標(biāo)志位,各模塊的工作狀態(tài),傳輸?shù)却瑫r(shí)中斷狀態(tài),重傳次數(shù)過多狀態(tài)等;處理器配置遠(yuǎn)端地址寄存器、本地地址寄存器、傳輸模式寄存器及使能寄存器結(jié)束后,可進(jìn)行不影響操作數(shù)據(jù)存儲(chǔ)器外的操作,如需判斷該操作是否正確執(zhí)行完畢,可查詢狀態(tài)寄存器,例如:可以查詢傳輸錯(cuò)誤狀態(tài)、傳輸進(jìn)度、本次操作是否正常結(jié)束等。狀態(tài)寄存器也可以記錄各模塊的狀態(tài)信息,在發(fā)送失敗后,還可以被配置為錯(cuò)誤定位及排除故障。上述高速讀寫數(shù)據(jù)模塊在傳輸操作使能后開始操作,采用可支持高速讀寫操作的總線協(xié)議。在一個(gè)可選的實(shí)施例中,上述高速讀寫數(shù)據(jù)模塊具體還可以被配置為在作為寫操作和讀操作的第一發(fā)送端時(shí),從存儲(chǔ)器讀取數(shù)據(jù),并將數(shù)據(jù)發(fā)送至數(shù)據(jù)包管理模塊,在作為寫操作和讀操作的第一接收端且在傳輸模式寄存器使能CRC且CRC冗余碼校驗(yàn)?zāi)K校驗(yàn)正確的情況下,從數(shù)據(jù)包管理模塊讀取數(shù)據(jù)包,并將數(shù)據(jù)寫入存儲(chǔ)器。上述數(shù)據(jù)包管理模塊具有第二發(fā)送端和第二接收端,并具體還可以被配置為其第二發(fā)送端生成寫操作請(qǐng)求包、讀操作請(qǐng)求包和數(shù)據(jù)包,以及其第二接收端進(jìn)行數(shù)據(jù)解析。上述數(shù)據(jù)鏈路層具體可以包括:CRC冗余碼校驗(yàn)?zāi)K、控制字管理模塊及通道管理模塊。其中,CRC冗余碼校驗(yàn)?zāi)K被配置為在處理器通過總線配置傳輸模式寄存器使能CRC,且在高速讀寫數(shù)據(jù)模塊作為第一接收端的情況下,接收高速讀寫數(shù)據(jù)模塊生成的數(shù)據(jù)包包頭信息且根據(jù)包頭信息確定是否進(jìn)行CRC校驗(yàn),并根據(jù)校驗(yàn)結(jié)果生成CRC校驗(yàn)響應(yīng)包??刂谱止芾砟K被配置為為數(shù)據(jù)包管理模塊和通道管理模塊生成的數(shù)據(jù)包添加控制字。通道管理模塊具有第三發(fā)送端和第三接收端,并被配置為其第三發(fā)送端依據(jù)配置模塊生成的配置信息,將數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)分配至物理層,并且其第三接收端依據(jù)物理通道個(gè)數(shù)配置,將控制字管理模塊產(chǎn)生的添加了控制字的數(shù)據(jù)包分配到各個(gè)物理通道中,并插入數(shù)據(jù)指令標(biāo)志碼,以及從各物理通道接收數(shù)據(jù),并將數(shù)據(jù)進(jìn)行對(duì)齊,獲取有效數(shù)據(jù)包并將有效數(shù)據(jù)包發(fā)送至控制字管理模塊。在上述實(shí)施例中,如果高速讀寫數(shù)據(jù)模塊為寫操作和讀操作的發(fā)送端,則該模塊從系統(tǒng)存儲(chǔ)器中讀取數(shù)據(jù)交給數(shù)據(jù)包管理模塊;如果高速讀寫數(shù)據(jù)模塊為寫操作和讀操作的接收端,(若使能CRC校驗(yàn),CRC冗余碼校驗(yàn)?zāi)K校驗(yàn)結(jié)果正確),則該模塊從數(shù)據(jù)包管理模塊讀取數(shù)據(jù),并寫至目標(biāo)地址。如果數(shù)據(jù)包管理模塊作為發(fā)送端,則其生成寫操作請(qǐng)求和數(shù)據(jù)包、讀操作請(qǐng)求包;如果數(shù)據(jù)包管理模塊作為接收端,則其負(fù)責(zé)解析操作請(qǐng)求包和數(shù)據(jù)包的內(nèi)容。圖4示例性地示出了寫操作請(qǐng)求和數(shù)據(jù)包的結(jié)構(gòu)示意圖。圖5示例性地示出了讀操作請(qǐng)求包的結(jié)構(gòu)示意圖。其中,包頭控制字包括:遠(yuǎn)端地址和此次傳輸模式配置信息(即:配置模塊中的遠(yuǎn)端地址寄存器和傳輸模式寄存器中的數(shù)據(jù))、本次傳輸選用物理通道數(shù)、操作類型(讀/寫操作)、數(shù)據(jù)包類型(操作請(qǐng)求包/CRC響應(yīng)包)、有效數(shù)據(jù)長(zhǎng)度以及是否使能CRC硬件校驗(yàn)功能等。包頭控制字字段定義如表二所示。表二:其中,各字段含義為:遠(yuǎn)端地址:若為寫操作請(qǐng)求,該字段為寫目的地址,若為讀操作請(qǐng)求,該字段為讀取源地址。有效數(shù)據(jù)長(zhǎng)度:表示讀寫操作傳輸數(shù)據(jù)個(gè)數(shù),其數(shù)據(jù)位寬與系統(tǒng)數(shù)據(jù)位寬相同,其深度由實(shí)際應(yīng)用場(chǎng)景中最大數(shù)據(jù)包的長(zhǎng)度決定。假設(shè)數(shù)據(jù)位寬為32,最大包長(zhǎng)為4KB,那么該字段占10位,M等于N+10,其中,數(shù)值N被配置為對(duì)齊包頭控制字寬度為系統(tǒng)數(shù)據(jù)位寬的整數(shù)倍。通道數(shù)目:表示傳輸使能的物理傳輸通道個(gè)數(shù),其支持X1、X4、X8、X16和X32等模式。X后的數(shù)字表示通道數(shù)目,例如,X4代表傳輸過程中,使能通道數(shù)目為4。保留字段N:8,其可選取部分位留作技術(shù)更新。數(shù)據(jù)包類型:表明數(shù)據(jù)包為操作請(qǐng)求包、CRC校驗(yàn)正確響應(yīng)包或者CRC校驗(yàn)錯(cuò)誤響應(yīng)包。傳輸命令類型:表示傳輸為寫操作或讀操作請(qǐng)求。1保留字段,其留作技術(shù)擴(kuò)展。圖3中示例性示出的數(shù)據(jù)有效負(fù)載為寫操作數(shù)據(jù),其位寬為系統(tǒng)數(shù)據(jù)位寬,其長(zhǎng)度為包頭控制字中配置的有效數(shù)據(jù)長(zhǎng)度。圖3中示例性示出的CRC為冗余校驗(yàn)碼的選擇,其依據(jù)實(shí)際應(yīng)用中對(duì)數(shù)據(jù)傳輸精確度的要求而定,被配置為補(bǔ)充無(wú)效位,以對(duì)齊系統(tǒng)數(shù)據(jù)位寬。在上述實(shí)施例中,上述CRC冗余碼校驗(yàn)?zāi)K作為接收端收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)包頭信息決定是否進(jìn)行CRC校驗(yàn)。若傳輸模式寄存器已設(shè)置使能CRC校驗(yàn),則CRC冗余碼校驗(yàn)?zāi)K對(duì)接收的數(shù)據(jù)進(jìn)行CRC冗余碼校驗(yàn),并根據(jù)校驗(yàn)結(jié)果生成CRC校驗(yàn)響應(yīng)包。具體的,根據(jù)校驗(yàn)結(jié)果生成CRC校驗(yàn)響應(yīng)包分為兩種情況:a)如果校驗(yàn)錯(cuò)誤,則依據(jù)接收的數(shù)據(jù),生成CRC校驗(yàn)錯(cuò)誤響應(yīng)包,其僅包含包頭控制字信息,數(shù)據(jù)包類型指示為CRC響應(yīng)包,等待發(fā)送端(例如:高速讀寫數(shù)據(jù)模塊)進(jìn)行重傳操作。若等待重傳數(shù)據(jù)時(shí)間超出固定閾值,則中斷此操作,設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位,然后反饋給處理器,并判定鏈路故障;若發(fā)送端重傳次數(shù)超出重傳閾值,則中斷此操作,設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位,反饋給處理器,并判定鏈路故障;b)如果校驗(yàn)正確,則高速讀寫數(shù)據(jù)模塊將接收數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)信息寫往目的地址。在上述實(shí)施例中,上述控制字管理模塊為數(shù)據(jù)包添加的控制字的定義參見表三:表三:控制字管理模塊為數(shù)據(jù)包添加起始標(biāo)志碼、空閑標(biāo)志碼等,這樣有利于接收端將有效數(shù)據(jù)包從物理層接收的數(shù)據(jù)中分離出來(lái)。其中,IDL碼標(biāo)志物理鏈路當(dāng)前無(wú)操作請(qǐng)求;物理鏈路復(fù)位時(shí),由COM碼進(jìn)行物理鏈路兩端的數(shù)據(jù)對(duì)齊,以保證物理鏈路可以正確地接收數(shù)據(jù);PAD碼是在傳輸過程中,當(dāng)物理鏈路發(fā)送速度慢于物理通道傳輸速度時(shí),為保證信息的正確性和完整性,而給物理鏈路添加的無(wú)效數(shù)據(jù);STP碼與END碼進(jìn)行信息同步,分別標(biāo)志數(shù)據(jù)包的起始與結(jié)束。在上述實(shí)施例中,上述通道管理模塊的發(fā)送端依據(jù)配置模塊配置的信息,將發(fā)送緩沖區(qū)的數(shù)據(jù)分配到物理層。上述通道管理模塊的接收端依據(jù)物理層的信息,將數(shù)據(jù)信息重新組合為系統(tǒng)數(shù)據(jù)位寬,并交由控制字管理模塊進(jìn)行分析。若等待接收數(shù)據(jù)的時(shí)間或CRC響應(yīng)包超出固定閾值,則中斷此操作,設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位,并反饋給處理器,判定物理鏈路故障;若發(fā)送端接收CRC錯(cuò)誤響應(yīng)包次數(shù)超出固定閾值,則中斷此操作,設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位,并反饋給處理器,判定物理鏈路故障。本發(fā)明實(shí)施例采用上述技術(shù)方案基于“包”進(jìn)行數(shù)據(jù)傳輸,其額外負(fù)載小。在一個(gè)可選的實(shí)施例中,上述物理層具體可以包括:物理編碼子層模塊和物理介附加子層模塊。其中,物理編碼子層模塊包括:數(shù)據(jù)編碼解碼模塊和數(shù)據(jù)加擾解擾模塊。數(shù)據(jù)編碼解碼模塊具有第四發(fā)送端和第四接收端,并被配置為其第四發(fā)送端將時(shí)鐘信號(hào)嵌入數(shù)據(jù)鏈路層與物理鏈路之間的數(shù)據(jù)中,以及其第四接收端從接收數(shù)據(jù)鏈路層與物理鏈路之間的數(shù)據(jù)中提取時(shí)鐘信號(hào),并解析有效數(shù)據(jù)。數(shù)據(jù)加擾解擾模塊被配置為處理由數(shù)據(jù)編碼解碼模塊編碼后的數(shù)據(jù)。物理介附加子層模塊包括數(shù)據(jù)串化解串模塊,數(shù)據(jù)串化解串模塊具有第五發(fā)送端和第五接收端,并被配置為其第五發(fā)送端將慢速并行數(shù)據(jù)串化為高速串行數(shù)據(jù),以及其第五接收端將高速串行數(shù)據(jù)轉(zhuǎn)化為慢速并行數(shù)據(jù)。在上述實(shí)施例中,數(shù)據(jù)加擾解擾模塊對(duì)數(shù)據(jù)進(jìn)行重新排序,這樣可以減少連“0”和連“1”的個(gè)數(shù)。圖6示例性地示出了另一基于分層結(jié)構(gòu)的片間互聯(lián)接口的結(jié)構(gòu)示意圖。數(shù)據(jù)鏈路層和物理層根據(jù)支持通道數(shù),對(duì)操作數(shù)據(jù)進(jìn)行分組,每組可以包括:并行數(shù)據(jù):其位寬由所采用PCS層編碼方式?jīng)Q定,與系統(tǒng)數(shù)據(jù)位寬不一定相同;通道管理模塊將有效數(shù)據(jù)分配到各個(gè)物理通道,或?qū)⒁咽鼓芪锢硗ǖ乐械挠行?shù)據(jù)進(jìn)行拼接;數(shù)據(jù)指令標(biāo)志碼:其標(biāo)志當(dāng)前并行數(shù)據(jù)為控制字或有效數(shù)據(jù)信息;發(fā)送空閑標(biāo)志:其標(biāo)志當(dāng)前物理通道是否正在被使用;物理通道傳輸速度:其例如可以設(shè)置為5GT/s、8GT/s等;就緒狀態(tài)標(biāo)志:物理鏈路傳輸速度配置需要一定的時(shí)間,在傳輸速度穩(wěn)定后,通過該標(biāo)志位反饋給數(shù)據(jù)鏈路層,表示可以開始進(jìn)行數(shù)據(jù)包的傳輸。通過上述技術(shù)方案的描述可知,Link執(zhí)行不同的操作將處于不同的工作狀態(tài)。根據(jù)上述“本地/遠(yuǎn)端”、“Link寫操作/Link讀操作”以及是否使能CRC校驗(yàn)功能,共存在4對(duì)、共8種不同的工作狀態(tài),如表四所示:表四:其中,對(duì)于不使能CRC寫操作,即表二中的Case1,本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互情況如圖7所示,其中箭頭表示數(shù)據(jù)流的方向。該操作用于物理鏈路比較穩(wěn)定的應(yīng)用場(chǎng)景,發(fā)送端僅將寫操作請(qǐng)求和數(shù)據(jù)包發(fā)送給接收端,不需要進(jìn)行握手通信,傳輸效率高。對(duì)于使能CRC寫操作,即表四中的Case2,本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互情況如圖8所示,其中箭頭表示數(shù)據(jù)流的方向。該操作通過握手通信,提升傳輸可靠性。若圖中的CRC響應(yīng)包為錯(cuò)誤響應(yīng)包,則L1會(huì)重新發(fā)送寫操作請(qǐng)求和數(shù)據(jù)包,等待CRC校驗(yàn)正確響應(yīng)包。在傳輸過程中,如果L1等待CRC響應(yīng)包的時(shí)間超過閾值,則放棄此次操作,設(shè)置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位,反饋給處理器,并判定鏈路故障;如果重傳次數(shù)大于固定閾值,則L1放棄此次操作,并設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位;如果校驗(yàn)錯(cuò)誤次數(shù)大于固定閾值,則L2放棄此次操作,并設(shè)置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位。對(duì)于不使能CRC讀操作,即表四中的Case3,本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互情況如圖9所示,其中箭頭表示數(shù)據(jù)流的方向。在該操作中,若L1等待讀操作數(shù)據(jù)時(shí)間超出固定閾值,則中斷此操作,設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志,反饋給處理器,并判定鏈路故障。對(duì)于使能CRC讀操作,即表四中的Case4,本地Link與遠(yuǎn)端Link之間的數(shù)據(jù)交互情況如圖10所示,箭頭表示數(shù)據(jù)流的方向。在該操作中,若L1等待讀操作數(shù)據(jù)時(shí)間超出固定閾值,則中斷此操作,并設(shè)置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位。若圖中的CRC響應(yīng)包為錯(cuò)誤響應(yīng)包,則L2會(huì)重新發(fā)送寫操作請(qǐng)求和數(shù)據(jù)包,等待CRC校驗(yàn)正確響應(yīng)包,如果傳輸次數(shù)大于固定閾值,則L2放棄此次操作,并設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位;若L2等待CRC響應(yīng)包時(shí)間超過閾值,則L2放棄此次操作,并設(shè)置相應(yīng)傳輸錯(cuò)誤標(biāo)志位。圖11示例性地示出了本發(fā)明實(shí)施例提供的基于分層結(jié)構(gòu)的片間互聯(lián)接口的應(yīng)用場(chǎng)景示意圖。其中,三個(gè)SoC(即SoC0、SoC1和SoC2)之間通過本發(fā)明實(shí)施例提供的基于分層結(jié)構(gòu)的片間互聯(lián)接口,經(jīng)由物理鏈路進(jìn)行數(shù)據(jù)傳輸。需要說(shuō)明的是,上述實(shí)施例提供的基于分層結(jié)構(gòu)的片間互聯(lián)接口在進(jìn)行數(shù)據(jù)傳輸時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,在實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊來(lái)完成,即將本發(fā)明實(shí)施例中的模塊再進(jìn)行分解或者組合。本發(fā)明實(shí)施例還提供一種利用上述片間互聯(lián)接口進(jìn)行寫操作的方法,該方法可以由上述片間互聯(lián)接口實(shí)施例執(zhí)行。該方法可以包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:依據(jù)傳輸模式寄存器生成寫操作的包頭控制字,并將包頭控制字發(fā)送至物理通道,以及根據(jù)第二片間互聯(lián)接口反饋的處理結(jié)果進(jìn)行寫操作。第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:從物理通道接收包頭控制字并進(jìn)行解析,得到包頭控制信息,并根據(jù)包頭控制信息進(jìn)行使能或不使能CRC讀操作,將處理結(jié)果發(fā)送至第一片間互聯(lián)接口。本發(fā)明實(shí)施例通過采用上述技術(shù)方案,可以在點(diǎn)對(duì)點(diǎn)互聯(lián)結(jié)構(gòu)的片間數(shù)據(jù)傳輸過程中,實(shí)現(xiàn)低延遲、高帶寬、擴(kuò)展性強(qiáng)的數(shù)據(jù)傳輸。在一個(gè)可選的實(shí)施例中,上述寫操作的方法具體可以包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:1A:數(shù)據(jù)包管理模塊依據(jù)配置模塊生成寫操作包頭控制字,寫入數(shù)據(jù)緩沖區(qū);1B:高速讀寫數(shù)據(jù)模塊從本地地址中讀取操作數(shù)據(jù),寫入數(shù)據(jù)緩沖區(qū);1C:判斷是否使能CRC,若是,數(shù)據(jù)包管理模塊生成CRC冗余校驗(yàn)碼,并寫入數(shù)據(jù)緩沖區(qū);否則,執(zhí)行步驟1D;1D:傳輸事務(wù)層與數(shù)據(jù)鏈路層之間的數(shù)據(jù),通過物理鏈路接收第二片間互聯(lián)接口反饋的CRC校驗(yàn)響應(yīng)包,并在事務(wù)層對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),使數(shù)據(jù)鏈路層從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù);1E:控制字管理模塊為數(shù)據(jù)包添加控制字;1F:通道管理模塊依據(jù)物理通道個(gè)數(shù)配置,將控制字管理模塊產(chǎn)生的數(shù)據(jù)分配到各物理通道中,并插入數(shù)據(jù)指令標(biāo)志碼;1G:數(shù)據(jù)編碼解碼模塊將時(shí)鐘信號(hào)插入數(shù)據(jù)流中,并對(duì)數(shù)據(jù)進(jìn)行重新排序;1H:數(shù)據(jù)串化解串模塊將各物理通道并行慢速數(shù)據(jù)進(jìn)行串化,分配到物理鏈路中;第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:2I:數(shù)據(jù)串化解串模塊從物理鏈路中讀取數(shù)據(jù),并將高速串行數(shù)據(jù)進(jìn)行并行化;2J:數(shù)據(jù)擾碼解擾模塊對(duì)數(shù)據(jù)鏈路層與物理鏈路之間的數(shù)據(jù)進(jìn)行還原操作;2K:控制字管理模塊依據(jù)數(shù)據(jù)指令標(biāo)志碼剝離控制碼信息,提取數(shù)據(jù)包;2L:通道管理模塊從各物理通道接收數(shù)據(jù),并將數(shù)據(jù)進(jìn)行對(duì)齊,獲取有效數(shù)據(jù)包;2M:CRC冗余碼校驗(yàn)?zāi)K接收高速讀寫數(shù)據(jù)模塊生成的數(shù)據(jù)包,分析包頭信息,并在使能CRC校驗(yàn)的情況下,對(duì)數(shù)據(jù)包進(jìn)行CRC校驗(yàn),并將除CRC校驗(yàn)碼外的數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū),以及根據(jù)CRC冗余碼校驗(yàn)結(jié)果生成CRC校驗(yàn)響應(yīng)包,并將CRC校驗(yàn)響應(yīng)包反饋至第一片間互聯(lián)接口;2N:傳輸數(shù)據(jù)鏈路層至事務(wù)層之間的數(shù)據(jù);2O:數(shù)據(jù)包管理模塊分離數(shù)據(jù)包的包頭和數(shù)據(jù)有效負(fù)載;2P:高速讀寫數(shù)據(jù)模塊從數(shù)據(jù)包管理模塊讀取數(shù)據(jù),并寫入存儲(chǔ)器。下面以一優(yōu)選實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明實(shí)施例的數(shù)據(jù)傳輸流程。該數(shù)據(jù)傳輸流程基于上述片間互聯(lián)接口實(shí)施例。其中,事務(wù)層完成數(shù)據(jù)搬運(yùn)以及CRC冗余碼的生成;數(shù)據(jù)鏈路層完成控制碼的生成和檢測(cè)以及CRC冗余碼的校驗(yàn)重傳;物理層完成有效數(shù)據(jù)編解碼和串化解串。配置L1和L2的遠(yuǎn)端地址寄存器、本地地址寄存器、傳輸模式寄存器、使能寄存器和狀態(tài)寄存器。若為第一次配置傳輸模式,需要配置L1的傳輸通道數(shù)和傳輸速度,并配置L2的傳輸速度。如需更改傳輸速度或者傳輸通道數(shù),則需對(duì)L1和L2進(jìn)行復(fù)位操作,再進(jìn)行通道數(shù)與傳輸速度的配置,以保證物理鏈路處于配置要求的狀態(tài)。緩沖區(qū)包括發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū)。寫操作方法可以包括:a:數(shù)據(jù)包管理模塊依據(jù)配置模塊配置的信息生成包頭控制字,并寫入發(fā)送數(shù)據(jù)緩沖區(qū);b:通過高速讀寫數(shù)據(jù)模塊從本地地址中讀取操作數(shù)據(jù),并寫入發(fā)送數(shù)據(jù)緩沖區(qū);c:如果本次操作使能CRC,則數(shù)據(jù)包管理模塊生成CRC冗余校驗(yàn)碼,并寫入發(fā)送數(shù)據(jù)緩沖區(qū);d:如果本次操作未使能CRC,則不執(zhí)行步驟c,即跳過寫CRC冗余碼生成階段;e:發(fā)送數(shù)據(jù)緩沖區(qū)為事務(wù)層至數(shù)據(jù)鏈路層的數(shù)據(jù)傳輸接口,在事務(wù)層對(duì)發(fā)送數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),數(shù)據(jù)鏈路層可以同時(shí)從該發(fā)送數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù);f:控制字管理模塊在物理層復(fù)位后發(fā)送數(shù)據(jù)置為復(fù)位鏈路初始值COM;在沒有發(fā)送數(shù)據(jù)包時(shí),置為空閑狀態(tài)IDL;若收到寫操作命令或收到CRC校驗(yàn)錯(cuò)誤響應(yīng)包,先置為起始標(biāo)志STP,然后,開始發(fā)送數(shù)據(jù)包,如果在傳輸過程中,事務(wù)層寫緩沖區(qū)速度慢于數(shù)據(jù)鏈路層讀緩沖區(qū)速度,則在有效數(shù)據(jù)中插入PAD;在數(shù)據(jù)發(fā)送完畢后,置為END;g:通道管理模塊依據(jù)物理通道個(gè)數(shù)來(lái)配置,將控制字管理模塊產(chǎn)生的數(shù)據(jù)分配到各個(gè)物理通道中,并插入數(shù)據(jù)指令標(biāo)志碼,以標(biāo)志此處接收數(shù)據(jù)位控制碼或有效數(shù)據(jù);若此操作使能CRC校驗(yàn),則在將數(shù)據(jù)包發(fā)送結(jié)束后,開始計(jì)時(shí),若等待CRC響應(yīng)包時(shí)間超過閾值,則中斷此操作,并設(shè)置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位;h:數(shù)據(jù)編碼解碼模塊采用8b10b或128b130b等編碼方式,將時(shí)鐘信息插入數(shù)據(jù)流中;數(shù)據(jù)加擾解擾模塊對(duì)數(shù)據(jù)進(jìn)行重新排序;i:數(shù)據(jù)串化解串模塊將各個(gè)物理通道并行慢速輸入數(shù)據(jù)進(jìn)行串化,并分配到物理鏈路中;j:數(shù)據(jù)串化解串模塊從物理鏈路中讀取數(shù)據(jù),并將高速串行數(shù)據(jù)進(jìn)行并行化;k:數(shù)據(jù)加擾解擾模塊對(duì)數(shù)據(jù)進(jìn)行還原操作;數(shù)據(jù)編碼解碼模塊從數(shù)據(jù)流中提取時(shí)鐘信息和數(shù)據(jù)信息,并通過與物理層接口的各個(gè)物理通道傳遞給數(shù)據(jù)鏈路層;l:控制字管理模塊依據(jù)數(shù)據(jù)指令標(biāo)志碼剝離控制碼信息,并提取數(shù)據(jù)包;m:通道管理模塊從各物理通道接收數(shù)據(jù),并將數(shù)據(jù)進(jìn)行對(duì)齊,以獲取真正的有效數(shù)據(jù)包;n:CRC冗余碼校驗(yàn)?zāi)K分析包頭信息位,如果檢測(cè)本次操作使能CRC校驗(yàn),則對(duì)接收數(shù)據(jù)包進(jìn)行CRC校驗(yàn),同時(shí)將除CRC校驗(yàn)碼外的數(shù)據(jù)寫入接收數(shù)據(jù)緩沖區(qū);o:如果CRC冗余碼校驗(yàn)結(jié)果正確,則生成CRC校驗(yàn)正確響應(yīng)包,通過L2執(zhí)行的步驟f至步驟i反饋給L1,執(zhí)行步驟s;如果校驗(yàn)結(jié)果錯(cuò)誤,則生成CRC校驗(yàn)錯(cuò)誤響應(yīng)包,并通過L2的執(zhí)行的步驟f至步驟i反饋給L1,等待L1進(jìn)行重傳操作,若校驗(yàn)錯(cuò)誤次數(shù)超過閾值,則中斷此操作,并置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位;p:如果收到CRC正確響應(yīng)包,則L1置本次傳輸操作結(jié)束;如果收到CRC錯(cuò)誤響應(yīng)包,則計(jì)數(shù)器加1,并從步驟f開始重新執(zhí)行到步驟p,當(dāng)計(jì)數(shù)器達(dá)到預(yù)定閾值時(shí),則中斷此操作,并置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位;L1若長(zhǎng)時(shí)間未收到CRC響應(yīng)包,則中斷此操作,并置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位;q:CRC冗余碼校驗(yàn)?zāi)K分析包頭信息位,如果檢測(cè)本次操作未使能CRC校驗(yàn),則直接將數(shù)據(jù)寫入接收數(shù)據(jù)緩沖區(qū);r:接收數(shù)據(jù)緩沖區(qū)為數(shù)據(jù)鏈路層至事務(wù)層的數(shù)據(jù)傳輸接口,如果未使能CRC校驗(yàn),則在數(shù)據(jù)鏈路層對(duì)發(fā)送數(shù)據(jù)緩沖區(qū)進(jìn)行寫操作時(shí),事務(wù)層同時(shí)從發(fā)送數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù);如果使能CRC校驗(yàn),則事務(wù)層在CRC冗余碼校驗(yàn)結(jié)果正確后,從發(fā)送數(shù)據(jù)緩沖區(qū)中讀取數(shù);s:數(shù)據(jù)包管理模塊分析接收數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)信息,并分離包頭和數(shù)據(jù)有效負(fù)載;t:高速讀寫數(shù)據(jù)模塊從數(shù)據(jù)包管理模塊讀取數(shù)據(jù),并寫入目標(biāo)地址中。此外,本發(fā)明實(shí)施例還提供一種利用上述片間互聯(lián)接口進(jìn)行讀操作的方法,該方法可以由上述片間互聯(lián)接口實(shí)施例來(lái)執(zhí)行。該方法可以包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:依據(jù)傳輸模式寄存器生成讀操作的包頭控制字,并將包頭控制字發(fā)送至物理通道,以及根據(jù)第二片間互聯(lián)接口反饋的處理結(jié)果進(jìn)行讀操作。第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:從物理通道接收包頭控制字并進(jìn)行解析,得到包頭控制信息,并根據(jù)包頭控制信息進(jìn)行使能或不使能CRC讀操作,將處理結(jié)果發(fā)送至第一片間互聯(lián)接口。在一個(gè)可選的實(shí)施例中,上述讀操作的方法具體可以包括:第一基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:3A:數(shù)據(jù)包管理模塊依據(jù)配置模塊生成讀操作包頭控制字,寫入數(shù)據(jù)緩沖區(qū);3B:高速讀寫數(shù)據(jù)模塊從本地地址中讀取操作數(shù)據(jù),寫入數(shù)據(jù)緩沖區(qū);3C:判斷是否使能CRC,若是,數(shù)據(jù)包管理模塊生成CRC冗余校驗(yàn)碼,并寫入數(shù)據(jù)緩沖區(qū);否則,執(zhí)行步驟3D;3D:傳輸事務(wù)層與數(shù)據(jù)鏈路層之間的數(shù)據(jù),通過物理鏈路接收第二片間互聯(lián)接口反饋的CRC校驗(yàn)響應(yīng)包,并在事務(wù)層對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行讀操作時(shí),使數(shù)據(jù)鏈路層從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù);3E:控制字管理模塊為數(shù)據(jù)包添加控制字;3F:通道管理模塊依據(jù)物理通道個(gè)數(shù)配置,將控制字管理模塊產(chǎn)生的數(shù)據(jù)分配到所述各物理通道中,并插入數(shù)據(jù)指令標(biāo)志碼;3G:數(shù)據(jù)編碼解碼模塊將時(shí)鐘信號(hào)插入數(shù)據(jù)流中,并對(duì)數(shù)據(jù)進(jìn)行重新排序;3H:數(shù)據(jù)串化解串模塊將各物理通道并行慢速數(shù)據(jù)進(jìn)行串化,分配到物理鏈路中;第二基于分層結(jié)構(gòu)的片間互聯(lián)接口執(zhí)行以下操作:4I:數(shù)據(jù)串化解串模塊從物理鏈路中讀取數(shù)據(jù),并將高速串行數(shù)據(jù)進(jìn)行并行化;4J:數(shù)據(jù)擾碼解擾模塊對(duì)數(shù)據(jù)鏈路層與物理鏈路之間的數(shù)據(jù)進(jìn)行還原操作;4K:控制字管理模塊依據(jù)數(shù)據(jù)指令標(biāo)志碼剝離控制碼信息,提取數(shù)據(jù)包;4L:通道管理模塊從各物理通道接收數(shù)據(jù),并將數(shù)據(jù)進(jìn)行對(duì)齊,獲取有效數(shù)據(jù)包;4M:CRC冗余碼校驗(yàn)?zāi)K接收高速讀寫數(shù)據(jù)模塊生成的數(shù)據(jù)包,分析包頭信息,并在使能CRC校驗(yàn)的情況下,對(duì)數(shù)據(jù)包進(jìn)行CRC校驗(yàn),并將除CRC校驗(yàn)碼外的數(shù)據(jù)寫入數(shù)據(jù)緩沖區(qū),以及根據(jù)CRC冗余碼校驗(yàn)結(jié)果生成CRC校驗(yàn)響應(yīng)包,并將CRC校驗(yàn)響應(yīng)包反饋至第一片間互聯(lián)接口;4N:傳輸數(shù)據(jù)鏈路層至事務(wù)層之間的數(shù)據(jù);4O:數(shù)據(jù)包管理模塊分離數(shù)據(jù)包的包頭和數(shù)據(jù)有效負(fù)載;4P:高速讀寫數(shù)據(jù)模塊從存儲(chǔ)器讀取數(shù)據(jù),并寫入數(shù)據(jù)包管理模塊。讀操作與寫操作操作流程類似,不同的是L1發(fā)送端中數(shù)據(jù)包管理模塊生成的讀操作請(qǐng)求包,包頭操作類型說(shuō)明此次請(qǐng)求為讀請(qǐng)求,執(zhí)行寫操作方法實(shí)施例中的步驟a至步驟s,L2接收端分析此次操作類型為讀請(qǐng)求,轉(zhuǎn)向發(fā)送端,生成寫操作請(qǐng)求和數(shù)據(jù)包,之后的步驟與寫操作方法實(shí)施例中的步驟b至步驟t相同。下面以一優(yōu)選實(shí)施例來(lái)詳細(xì)說(shuō)明讀操作的數(shù)據(jù)傳輸流程。其中,緩沖區(qū)包括發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū)。該讀操作方法可以包括:步驟1:L1事務(wù)層依據(jù)配置模塊配置的寄存器生成讀操作的包頭信息,并存入發(fā)送數(shù)據(jù)緩沖區(qū);步驟2:L1數(shù)據(jù)鏈路層從發(fā)送數(shù)據(jù)緩沖區(qū)中讀取數(shù)據(jù),將包頭信息分配到各物理數(shù)據(jù)通道,并依據(jù)數(shù)據(jù)包格式插入控制碼;L1若長(zhǎng)時(shí)間未收到讀數(shù)據(jù)包,則中斷此操作,并置相應(yīng)的傳輸錯(cuò)誤標(biāo)志位;步驟3:L2數(shù)據(jù)鏈路層解析收到的包頭控制信息,并發(fā)送至事務(wù)層;步驟4:L2事務(wù)層依據(jù)包頭控制信息進(jìn)行使能或不使能CRC寫操作;步驟5:L1正確收到數(shù)據(jù)后,操作完成。上述實(shí)施例中雖然將各個(gè)步驟按照上述先后次序的方式進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員可以理解,為了實(shí)現(xiàn)本實(shí)施例的效果,不同的步驟之間不必按照這樣的次序執(zhí)行,其可以同時(shí)(并行)執(zhí)行或以顛倒的次序執(zhí)行,這些簡(jiǎn)單的變化都在本發(fā)明的保護(hù)范圍之內(nèi)。文中涉及到的“第一”、“第二”不代表順序,僅為區(qū)別名稱而已,不應(yīng)視為對(duì)本發(fā)明保護(hù)范圍的不當(dāng)限定。還應(yīng)當(dāng)注意,本說(shuō)明書中使用的語(yǔ)言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。本發(fā)明并不限于上述實(shí)施方式,在不背離本發(fā)明實(shí)質(zhì)內(nèi)容的情況下,本領(lǐng)域普通技術(shù)人員可以想到的任何變形、改進(jìn)或替換均落入本發(fā)明的保護(hù)范圍。當(dāng)前第1頁(yè)1 2 3