欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種片上多核數(shù)據(jù)傳輸方法和裝置的制作方法

文檔序號(hào):6444175閱讀:219來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種片上多核數(shù)據(jù)傳輸方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多核處理器設(shè)計(jì)領(lǐng)域,特別是涉及一種多核處理器的片上數(shù)據(jù)傳輸方法和裝置。
背景技術(shù)
在多核處理器設(shè)計(jì)中,對(duì)存儲(chǔ)資源的訪問(wèn)是制約性能提高的主要因素。單純通過(guò)提高時(shí)鐘頻率和改進(jìn)緩存策略已經(jīng)不能滿(mǎn)足運(yùn)行大規(guī)模并行程序時(shí)對(duì)訪存帶寬的要求。傳統(tǒng)多核處理器中,存儲(chǔ)層次分為一級(jí)緩存,二級(jí)緩存,甚至多級(jí)緩存和片外存儲(chǔ)。一級(jí)緩存一般設(shè)計(jì)在處理器核的內(nèi)部,與處理器核的訪存模塊直接相連。二級(jí)緩存及多級(jí)緩存一般設(shè)計(jì)為多個(gè)或全部處理器核共享。上述緩存均為片上緩存,沒(méi)有獨(dú)立的地址空間,對(duì)程序員來(lái)說(shuō)是不可見(jiàn)的。這種設(shè)計(jì)在傳統(tǒng)的單核處理器中十分常見(jiàn),利用硬件緩存可以快速訪問(wèn)到其映射的數(shù)據(jù)。這說(shuō)明傳統(tǒng)單核處理器的緩存沒(méi)有自己的地址空間,而本設(shè)計(jì)的SPM(Scratch-pad Memory,簡(jiǎn)稱(chēng)SPM)是有自己地址空間的緩存。目前,一級(jí)緩存可以通過(guò)軟件接口部分配置成程序員可見(jiàn)的地址空間。但在傳統(tǒng)多核處理器設(shè)計(jì)中,對(duì)二級(jí)緩存和片外存儲(chǔ)的訪問(wèn)請(qǐng)求則必須由訪存部件發(fā)出,程序員不能直接發(fā)出訪存請(qǐng)求,而是由訪存部件從各級(jí)緩存中取回?cái)?shù)據(jù),但這種方法傳輸?shù)臄?shù)據(jù)最長(zhǎng)長(zhǎng)度一般為二級(jí)緩存的行寬度。然而目前常見(jiàn)的并行應(yīng)用程序常常需要大規(guī)模的數(shù)據(jù)傳輸,例如FFT (快速傅立葉變換),矩陣乘法運(yùn)算等。因此傳統(tǒng)片上緩存的數(shù)據(jù)傳輸方法已經(jīng)成為限制提升計(jì)算速度的瓶頸?,F(xiàn)有的片上緩存不能根據(jù)所運(yùn)行的算法調(diào)整數(shù)據(jù)在緩存中的地址分配,對(duì)于具有本地緩存的多核處理器,傳統(tǒng)緩存的空間局部性較差;而本設(shè)計(jì)可以讓程序員根據(jù)自己的需求實(shí)現(xiàn)本地和遠(yuǎn)程地之間可控的數(shù)據(jù)傳輸,從而提高了緩存的利用率和空間局部性。

發(fā)明內(nèi)容
為解決上述問(wèn)題,本發(fā)明設(shè)計(jì)了一種片上多核數(shù)據(jù)傳輸方法和裝置。本發(fā)明的目的在于提供一種片上數(shù)據(jù)傳輸方法和裝置,其能夠大大降低片上網(wǎng)絡(luò)的壓力,并對(duì)數(shù)據(jù)規(guī)模和位置實(shí)現(xiàn)編程控制。為實(shí)現(xiàn)本發(fā)明的目的而提供的一種片上多核數(shù)據(jù)傳輸方法,其特征在于,包括下列步驟步驟100,配置數(shù)據(jù)傳輸裝置,通過(guò)軟件接口生成控制數(shù)據(jù)傳輸裝置的指令流,由處理器核將所述指令流發(fā)送給位于處理器核內(nèi)部的數(shù)據(jù)傳輸裝置,通過(guò)軟件接口對(duì)數(shù)據(jù)傳輸裝置進(jìn)行如下配置判斷數(shù)據(jù)傳輸類(lèi)型;步驟200,所述數(shù)據(jù)傳輸裝置接收上述指令流,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合,由所述數(shù)據(jù)傳輸裝置封裝成可以在片上網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包;步驟300,所述數(shù)據(jù)傳輸裝置的發(fā)送模塊查詢(xún)片上網(wǎng)絡(luò),并對(duì)數(shù)據(jù)地址進(jìn)行解析, 給出目的SPM或二級(jí)緩存的坐標(biāo),當(dāng)路由器指示可以傳輸時(shí)發(fā)送模塊將數(shù)據(jù)包依次發(fā)送完畢;步驟400,所述數(shù)據(jù)傳輸裝置接收由目的SPM或二級(jí)緩存返回的數(shù)據(jù)或接收同步信號(hào)返回給控制模塊,直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào)。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟100,還包括下列步驟步驟110.設(shè)置數(shù)據(jù)塊寬度,設(shè)置源數(shù)據(jù)地址,設(shè)置源數(shù)據(jù)一維步長(zhǎng),設(shè)置源數(shù)據(jù)二維步長(zhǎng),設(shè)置目的數(shù)據(jù)地址,設(shè)置目的數(shù)據(jù)一維步長(zhǎng),設(shè)置目的數(shù)據(jù)二維步長(zhǎng),設(shè)置一維數(shù)據(jù)個(gè)數(shù),設(shè)置二維數(shù)據(jù)個(gè)數(shù);步驟120.根據(jù)指令流配置數(shù)據(jù)傳輸裝置的控制寄存器和數(shù)據(jù)寄存器。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟200,還包括下列步驟步驟210.由所述控制寄存器判斷數(shù)據(jù)傳輸類(lèi)型,對(duì)發(fā)往同一片遠(yuǎn)程SPM或二級(jí)緩存的操作進(jìn)行組合;步驟220.由所述發(fā)送模塊封裝成可以在片上網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟300,還包括下列步驟步驟310.所述發(fā)送模塊把目的坐標(biāo)為本地處理器核的數(shù)據(jù)包直接發(fā)給本地SPM, 無(wú)需通過(guò)片上網(wǎng)絡(luò)傳輸;步驟320.所述數(shù)據(jù)傳輸裝置的控制模塊記錄發(fā)送的數(shù)據(jù)包數(shù)目。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟400,還包括下列步驟步驟410.所述接收模塊接收由目的SPM或二級(jí)緩存根據(jù)數(shù)據(jù)包中的指令返回的數(shù)據(jù)并寫(xiě)入本地SPM ;步驟420.所述接收模塊接收由目的SPM或二級(jí)緩存返回的同步信號(hào),并返回該數(shù)據(jù)傳輸裝置的控制模塊;步驟430.判斷所述返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求是否相等,若是,執(zhí)行步驟440 ;否則,返回步驟410 ;步驟440.所述控制模塊向處理器核返回本次操作完成信號(hào)。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟200中的數(shù)據(jù)包攜帶數(shù)據(jù)塊寬度,源數(shù)據(jù)地址,源數(shù)據(jù)一維步長(zhǎng),源數(shù)據(jù)二維步長(zhǎng),目的數(shù)據(jù)地址,目的數(shù)據(jù)一維步長(zhǎng),目的數(shù)據(jù)二維步長(zhǎng),一維數(shù)據(jù)個(gè)數(shù),二維數(shù)據(jù)個(gè)數(shù),所屬寄存器模塊,路由坐標(biāo)信息。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟310中,如果目的坐標(biāo)是本地處理器核,說(shuō)明數(shù)據(jù)包是本地SPM傳到本地SPM的,直接指示SPM操作,不需要發(fā)送到網(wǎng)絡(luò)上;如果目的坐標(biāo)是遠(yuǎn)程處理器核或二級(jí)緩存,目的坐標(biāo)將記錄在數(shù)據(jù)包內(nèi),數(shù)據(jù)包通過(guò)路由器發(fā)送至網(wǎng)絡(luò)上并最終送至目的處理器核或二級(jí)緩存。本發(fā)明公開(kāi)一種片上多核數(shù)據(jù)傳輸裝置,其特征在于,包括生成指令流模塊,用于配置數(shù)據(jù)傳輸裝置,通過(guò)軟件接口生成控制數(shù)據(jù)傳輸裝置的指令流,由處理器核將所述指令流發(fā)送給位于處理器核內(nèi)部的數(shù)據(jù)傳輸裝置,通過(guò)軟件接口對(duì)數(shù)據(jù)傳輸裝置進(jìn)行如下配置用于判斷數(shù)據(jù)傳輸類(lèi)型;接收指令流模塊,用于所述數(shù)據(jù)傳輸裝置接收上述指令流,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合,由所述數(shù)據(jù)傳輸裝置封裝成可以在片上網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包;
發(fā)送模塊,用于所述數(shù)據(jù)傳輸裝置查詢(xún)片上網(wǎng)絡(luò),并對(duì)數(shù)據(jù)地址進(jìn)行解析,給出目的SPM或二級(jí)緩存的坐標(biāo),當(dāng)路由器指示可以傳輸時(shí)發(fā)送模塊將數(shù)據(jù)包依次發(fā)送完畢;接收模塊,用于所述數(shù)據(jù)傳輸裝置接收由目的SPM或二級(jí)緩存返回的數(shù)據(jù),直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào);控制模塊,用于接收同步信號(hào),直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等, 本裝置控制模塊向處理器核返回本次操作完成信號(hào)。所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述生成指令流模塊,還包括設(shè)置數(shù)據(jù)模塊,用于設(shè)置數(shù)據(jù)塊寬度,設(shè)置源數(shù)據(jù)地址,設(shè)置源數(shù)據(jù)一維步長(zhǎng),設(shè)置源數(shù)據(jù)二維步長(zhǎng),設(shè)置目的數(shù)據(jù)地址,設(shè)置目的數(shù)據(jù)一維步長(zhǎng),設(shè)置目的數(shù)據(jù)二維步長(zhǎng), 設(shè)置一維數(shù)據(jù)個(gè)數(shù),設(shè)置二維數(shù)據(jù)個(gè)數(shù);寄存器模塊,用于根據(jù)指令流配置數(shù)據(jù)傳輸裝置的控制寄存器和數(shù)據(jù)寄存器。所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述接收指令流模塊,還包括操作模塊,用于由所述控制寄存器判斷數(shù)據(jù)傳輸類(lèi)型,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合;封裝數(shù)據(jù)包模塊,用于由所述發(fā)送模塊封裝成可以在片上網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包。所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述發(fā)送模塊,還包括發(fā)送數(shù)據(jù)包模塊,用于所述發(fā)送模塊把目的坐標(biāo)為本地處理器核的數(shù)據(jù)包直接發(fā)給本地SPM,無(wú)需通過(guò)片上網(wǎng)絡(luò)傳輸;記錄數(shù)據(jù)包模塊,用于所述數(shù)據(jù)傳輸裝置的控制模塊記錄發(fā)送的數(shù)據(jù)包數(shù)目。所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述接收模塊,還包括數(shù)據(jù)寫(xiě)入模塊,用于所述接收模塊接收由目的SPM或二級(jí)緩存根據(jù)數(shù)據(jù)包中的指令返回的數(shù)據(jù)并寫(xiě)入本地SPM ;信號(hào)返回模塊,用于所述接收模塊接收由目的SPM或二級(jí)緩存返回的同步信號(hào), 并返回給數(shù)據(jù)傳輸裝置的控制模塊;判斷模塊,用于判斷所述返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求是否相等;所述控制模塊向處理器核返回本次操作完成信號(hào)。所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述接收指令流模塊中的數(shù)據(jù)包攜帶數(shù)據(jù)塊寬度,源數(shù)據(jù)地址,源數(shù)據(jù)一維步長(zhǎng),源數(shù)據(jù)二維步長(zhǎng),目的數(shù)據(jù)地址,目的數(shù)據(jù)一維步長(zhǎng),目的數(shù)據(jù)二維步長(zhǎng),一維數(shù)據(jù)個(gè)數(shù),二維數(shù)據(jù)個(gè)數(shù),所屬寄存器模塊,路由坐標(biāo)信肩、ο所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述發(fā)送數(shù)據(jù)包模塊中,如果目的坐標(biāo)是本地處理器核,說(shuō)明數(shù)據(jù)包是本地SPM傳到本地SPM的,直接指示SPM操作,不需要發(fā)送到網(wǎng)絡(luò)上;如果目的坐標(biāo)是遠(yuǎn)程處理器核或二級(jí)緩存,目的坐標(biāo)將記錄在數(shù)據(jù)包內(nèi),數(shù)據(jù)包通過(guò)路由器發(fā)送至網(wǎng)絡(luò)上并最終送至目的處理器核或二級(jí)緩存。本發(fā)明的有益效果是采用本發(fā)明的多核處理器使用計(jì)算與通信重疊的編程方式,可以使由片上通信延遲隱藏在計(jì)算過(guò)程中,本發(fā)明還緩解了因?yàn)楸l(fā)式大規(guī)模數(shù)據(jù)請(qǐng)求造成的網(wǎng)絡(luò)延遲增加的負(fù)面影響。


圖1為本發(fā)明數(shù)據(jù)傳輸方法流程圖;圖2為本發(fā)明數(shù)據(jù)傳輸裝置狀態(tài)轉(zhuǎn)換圖;圖3為本發(fā)明數(shù)據(jù)傳輸裝置基本結(jié)構(gòu)圖;圖4為本發(fā)明具體實(shí)施方式
工作流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明的一種片上數(shù)據(jù)傳輸方法和裝置進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。為了提高訪存帶寬,大規(guī)模數(shù)據(jù)傳輸?shù)牟⑿袘?yīng)用程序所需數(shù)據(jù)應(yīng)具有較強(qiáng)的連續(xù)性和規(guī)律性,有利于程序員不用在存儲(chǔ)層次上調(diào)度數(shù)據(jù),因此,本發(fā)明給程序員提供一個(gè)可編程的片上數(shù)據(jù)傳輸方法,使發(fā)生在一級(jí)緩存和二級(jí)緩存之間的數(shù)據(jù)可以實(shí)現(xiàn)并行和大規(guī)模傳輸,并可以在一級(jí)緩存之間傳輸數(shù)據(jù)。本發(fā)明需要一級(jí)緩存提供程序員可見(jiàn)的地址空間,允許數(shù)據(jù)被指定存放在這塊空間內(nèi),通常這種緩存被稱(chēng)為筆記本(Scratch-pad Memory,簡(jiǎn)稱(chēng)SPM)。本發(fā)明通過(guò)將發(fā)往同一個(gè)二級(jí)緩存的讀寫(xiě)請(qǐng)求整理成一次或少數(shù)幾次請(qǐng)求,大大降低片上網(wǎng)絡(luò)的壓力,并對(duì)數(shù)據(jù)規(guī)模和位置實(shí)現(xiàn)編程控制。通過(guò)編程接口控制數(shù)據(jù)塊寬度和數(shù)量的新型數(shù)據(jù)傳輸技術(shù)可以同時(shí)按照兩種步長(zhǎng)來(lái)傳輸數(shù)據(jù),也可稱(chēng)為二維數(shù)據(jù)傳輸技術(shù)。下面結(jié)合上述目標(biāo)詳細(xì)介紹本發(fā)明的片上數(shù)據(jù)傳輸方法,所述方法,包括下列步驟步驟100.配置數(shù)據(jù)傳輸裝置通過(guò)軟件接口生成控制數(shù)據(jù)傳輸裝置的指令流,由處理器核將所述指令流發(fā)送給位于處理器核內(nèi)部的數(shù)據(jù)傳輸裝置,所述數(shù)據(jù)傳輸裝置接收上述指令流,通過(guò)軟件接口對(duì)數(shù)據(jù)傳輸裝置進(jìn)行如下配置;步驟110.設(shè)置數(shù)據(jù)塊寬度,設(shè)置源數(shù)據(jù)地址,設(shè)置源數(shù)據(jù)一維步長(zhǎng),設(shè)置源數(shù)據(jù)二維步長(zhǎng),設(shè)置目的數(shù)據(jù)地址,設(shè)置目的數(shù)據(jù)一維步長(zhǎng),設(shè)置目的數(shù)據(jù)二維步長(zhǎng),設(shè)置一維數(shù)據(jù)個(gè)數(shù),設(shè)置二維數(shù)據(jù)個(gè)數(shù);步驟120.根據(jù)指令流配置數(shù)據(jù)傳輸裝置的控制寄存器和數(shù)據(jù)寄存器。上述控制寄存器包括標(biāo)識(shí)操作類(lèi)型寄存器,讀完成寄存器,寫(xiě)完成寄存器,操作完成寄存器,返回值寄存器,空閑狀態(tài)寄存器。其中讀完成寄存器指示本次讀本地SPM或讀遠(yuǎn)程SPM及二級(jí)緩存的操作是否全部發(fā)送完成,寫(xiě)完成寄存器指示本次寫(xiě)本地SPM或?qū)戇h(yuǎn)程 SPM及二級(jí)緩存的操作是否全部發(fā)送完成,操作完成寄存器指示本次讀寫(xiě)操作是否全部發(fā)送完成,返回值寄存器指示所有操作是否全部完成(包括發(fā)送和返回),空閑狀態(tài)寄存器指示數(shù)據(jù)傳輸裝置當(dāng)前為可用狀態(tài)。上述數(shù)據(jù)寄存器包括數(shù)據(jù)塊寬度寄存器,源數(shù)據(jù)地址寄存器,源數(shù)據(jù)一維步長(zhǎng)寄存器,源數(shù)據(jù)二維步長(zhǎng)寄存器,目的數(shù)據(jù)地址寄存器,目的數(shù)據(jù)一維步長(zhǎng)寄存器,目的數(shù)據(jù)二維步長(zhǎng)寄存器,一維數(shù)據(jù)個(gè)數(shù)寄存器,二維數(shù)據(jù)個(gè)數(shù)寄存器。其中數(shù)據(jù)塊寬度寄存器保存數(shù)據(jù)占用通信鏈路的位寬,源數(shù)據(jù)地址寄存器保存數(shù)據(jù)傳輸發(fā)生前所在地址的首地址,源
8數(shù)據(jù)一維步長(zhǎng)寄存器保存所要傳輸數(shù)據(jù)矩陣的列間隔地址,源數(shù)據(jù)二維步長(zhǎng)寄存器保存所要傳輸數(shù)據(jù)矩陣的行間隔地址,目的數(shù)據(jù)地址寄存器保存數(shù)據(jù)傳輸發(fā)生后所在地址的首地址,目的數(shù)據(jù)一維步長(zhǎng)寄存器保存?zhèn)鬏敽髷?shù)據(jù)矩陣的列間隔地址,目的數(shù)據(jù)二維步長(zhǎng)寄存器保存?zhèn)鬏敽髷?shù)據(jù)矩陣的行間隔地址,一維數(shù)據(jù)個(gè)數(shù)寄存器保存數(shù)據(jù)矩陣的列數(shù),二維數(shù)據(jù)個(gè)數(shù)寄存器保存數(shù)據(jù)矩陣的行數(shù)。上述數(shù)據(jù)寄存器有相同3組(不僅限于3組,其實(shí)可以為更多組),能夠同時(shí)處理 3組數(shù)據(jù)傳輸請(qǐng)求。每一組寄存器模塊可以存放一次數(shù)據(jù)傳輸任務(wù)的信息,直到該數(shù)據(jù)傳輸任務(wù)完成。圖2中為所述數(shù)據(jù)傳輸裝置在接收指令流后的狀態(tài)轉(zhuǎn)換關(guān)系。空閑狀態(tài)為存在可用的數(shù)據(jù)和控制寄存器模塊。配置寄存器狀態(tài)為正在接收指令流。配置完成狀態(tài)為工作態(tài),此時(shí)所述數(shù)據(jù)傳輸裝置開(kāi)始工作,執(zhí)行上述指令流配置的任務(wù)。繁忙狀態(tài)為目前沒(méi)有空閑寄存器模塊,處理器核指令流需要等待。步驟200.判斷數(shù)據(jù)傳輸類(lèi)型,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合,由所述數(shù)據(jù)傳輸裝置封裝成可以在片上網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包;所述步驟200,包括下列步驟步驟210.由所述控制寄存器判斷數(shù)據(jù)傳輸類(lèi)型,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合;步驟220.由所述發(fā)送模塊封裝成可以在片上網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包。所述數(shù)據(jù)包攜帶數(shù)據(jù)塊寬度,源數(shù)據(jù)地址,源數(shù)據(jù)一維步長(zhǎng),源數(shù)據(jù)二維步長(zhǎng),目的數(shù)據(jù)地址,目的數(shù)據(jù)一維步長(zhǎng),目的數(shù)據(jù)二維步長(zhǎng),一維數(shù)據(jù)個(gè)數(shù),二維數(shù)據(jù)個(gè)數(shù),所屬寄存器模塊,路由坐標(biāo)信息。步驟300.所述數(shù)據(jù)傳輸裝置的發(fā)送模塊查詢(xún)片上網(wǎng)絡(luò),并對(duì)數(shù)據(jù)地址進(jìn)行解析, 給出目的SPM或二級(jí)緩存的坐標(biāo),當(dāng)路由器指示可以傳輸時(shí)發(fā)送模塊將數(shù)據(jù)包依次發(fā)送完畢。所述步驟300,包括下列步驟步驟310.所述發(fā)送模塊把目的坐標(biāo)為本地處理器核的數(shù)據(jù)包直接發(fā)給本地SPM, 無(wú)需通過(guò)片上網(wǎng)絡(luò)傳輸;該步驟中,如果目的坐標(biāo)是本地處理器核,說(shuō)明數(shù)據(jù)包是本地SPM傳到本地SPM 的,直接指示SPM操作,不需要發(fā)送到網(wǎng)絡(luò)上。如果目的坐標(biāo)是遠(yuǎn)程處理器核或二級(jí)緩存, 目的坐標(biāo)將記錄在數(shù)據(jù)包內(nèi),數(shù)據(jù)包通過(guò)路由器發(fā)送至網(wǎng)絡(luò)上并最終送至目的處理器核或
二級(jí)緩存。步驟320.所述數(shù)據(jù)傳輸裝置的控制模塊記錄發(fā)送的數(shù)據(jù)包數(shù)目。 步驟400.所述數(shù)據(jù)傳輸裝置接收由目的SPM或二級(jí)緩存返回的數(shù)據(jù)或同步信號(hào), 直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào)。程序員通過(guò)軟件查詢(xún)方式可得知本次操作已經(jīng)完成。所述步驟400,包括下列步驟步驟410.所述接收模塊接收由目的SPM或二級(jí)緩存根據(jù)數(shù)據(jù)包中的指令返回的數(shù)據(jù)并寫(xiě)入本地SPM ;步驟420.所述接收模塊接收由目的SPM或二級(jí)緩存返回的同步信號(hào),并返回給數(shù)據(jù)傳輸裝置的控制模塊。所述接收模塊具有以下特征對(duì)于遠(yuǎn)程讀數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)傳輸裝置的接收模塊接收遠(yuǎn)程SPM或二級(jí)緩存返回的數(shù)據(jù)包,并解析寫(xiě)入本地SPM。(本地SPM是與本裝置直接連接的SPM,遠(yuǎn)程SPM是與其他核相連的SPM,目的SPM是讀操作中所讀數(shù)據(jù)所在SPM和寫(xiě)操作中將要寫(xiě)入的SPM,既可以是遠(yuǎn)程也可以是本地的SPM)對(duì)于遠(yuǎn)程寫(xiě)數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)傳輸裝置的接收模塊接收遠(yuǎn)程SPM或二級(jí)緩存返回的同步信號(hào)。步驟430.判斷所述返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求是否相等,若是,執(zhí)行步驟440 ;否則,返回步驟410 ;步驟440.所述控制模塊向處理器核返回本次操作完成信號(hào)。本發(fā)明與處理器核的訪存部件,本裝置和訪存部件共用片上網(wǎng)絡(luò)端口和片上網(wǎng)絡(luò)端口連接。在接收來(lái)自處理器核的指令時(shí),可以包括以下幾種操作(1)本裝置將本地SPM中的數(shù)據(jù)寫(xiě)入遠(yuǎn)程SPM ;(2)本裝置將本地SPM中的數(shù)據(jù)寫(xiě)入本地SPM的另一位置;(3)本裝置將本地SPM中的數(shù)據(jù)寫(xiě)入二級(jí)緩存;(4)本裝置從遠(yuǎn)程SPM中的數(shù)據(jù)讀入本地SPM ;(5)本裝置將本地SPM中的數(shù)據(jù)讀入到本地SPM的另一位置;(6)本裝置將二級(jí)緩存中的數(shù)據(jù)讀入本地SPM ;本發(fā)明的具體實(shí)施方法如下,當(dāng)程序員將參數(shù)輸入編程接口后,通過(guò)編譯器生成匯編指令。當(dāng)程序執(zhí)行到此處時(shí),指令通過(guò)處理器訪存部件將參數(shù)傳遞給本裝置。
權(quán)利要求
1.一種片上多核數(shù)據(jù)傳輸方法,其特征在于,包括下列步驟步驟100,配置數(shù)據(jù)傳輸裝置,通過(guò)軟件接口生成控制數(shù)據(jù)傳輸裝置的指令流,由處理器核將所述指令流發(fā)送給位于處理器核內(nèi)部的數(shù)據(jù)傳輸裝置,通過(guò)軟件接口對(duì)數(shù)據(jù)傳輸裝置進(jìn)行如下配置判斷數(shù)據(jù)傳輸類(lèi)型;步驟200,所述數(shù)據(jù)傳輸裝置接收上述指令流,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合,由所述數(shù)據(jù)傳輸裝置封裝成可以在片上網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包;步驟300,所述數(shù)據(jù)傳輸裝置的發(fā)送模塊查詢(xún)片上網(wǎng)絡(luò),并對(duì)數(shù)據(jù)地址進(jìn)行解析,給出目的SPM或二級(jí)緩存的坐標(biāo),當(dāng)路由器指示可以傳輸時(shí)發(fā)送模塊將數(shù)據(jù)包依次發(fā)送完畢;步驟400,所述數(shù)據(jù)傳輸裝置接收由目的SPM或二級(jí)緩存返回的數(shù)據(jù)或接收同步信號(hào)返回給控制模塊,直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào)。
2.如權(quán)利要求1所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟100,還包括下列步驟步驟110.設(shè)置數(shù)據(jù)塊寬度,設(shè)置源數(shù)據(jù)地址,設(shè)置源數(shù)據(jù)一維步長(zhǎng),設(shè)置源數(shù)據(jù)二維步長(zhǎng),設(shè)置目的數(shù)據(jù)地址,設(shè)置目的數(shù)據(jù)一維步長(zhǎng),設(shè)置目的數(shù)據(jù)二維步長(zhǎng),設(shè)置一維數(shù)據(jù)個(gè)數(shù),設(shè)置二維數(shù)據(jù)個(gè)數(shù);步驟120.根據(jù)指令流配置數(shù)據(jù)傳輸裝置的控制寄存器和數(shù)據(jù)寄存器。
3.如權(quán)利要求1所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟200,還包括下列步驟步驟210.由所述控制寄存器判斷數(shù)據(jù)傳輸類(lèi)型,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合;步驟220.由所述發(fā)送模塊封裝成可以在片上網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包。
4.如權(quán)利要求1所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟300,還包括下列步驟步驟310.所述發(fā)送模塊把目的坐標(biāo)為本地處理器核的數(shù)據(jù)包直接發(fā)給本地SPM,無(wú)需通過(guò)片上網(wǎng)絡(luò)傳輸;步驟320.所述數(shù)據(jù)傳輸裝置的控制模塊記錄發(fā)送的數(shù)據(jù)包數(shù)目。
5.如權(quán)利要求1所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟400,還包括下列步驟步驟410.所述接收模塊接收由目的SPM或二級(jí)緩存根據(jù)數(shù)據(jù)包中的指令返回的數(shù)據(jù)并寫(xiě)入本地SPM ;步驟420.所述接收模塊接收由目的SPM或二級(jí)緩存返回的同步信號(hào),并返回該數(shù)據(jù)傳輸裝置的控制模塊;步驟430.判斷所述返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求是否相等,若是,執(zhí)行步驟 440 ;否則,返回步驟410 ;步驟440.所述控制模塊向處理器核返回本次操作完成信號(hào)。
6.如權(quán)利要求1所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟200中的數(shù)據(jù)包攜帶數(shù)據(jù)塊寬度,源數(shù)據(jù)地址,源數(shù)據(jù)一維步長(zhǎng),源數(shù)據(jù)二維步長(zhǎng),目的數(shù)據(jù)地址,目的數(shù)據(jù)一維步長(zhǎng),目的數(shù)據(jù)二維步長(zhǎng),一維數(shù)據(jù)個(gè)數(shù),二維數(shù)據(jù)個(gè)數(shù),所屬寄存器模塊,路由坐標(biāo)信肩、ο
7.如權(quán)利要求4所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述步驟310中,如果目的坐標(biāo)是本地處理器核,說(shuō)明數(shù)據(jù)包是本地SPM傳到本地SPM的,直接指示SPM操作,不需要發(fā)送到網(wǎng)絡(luò)上;如果目的坐標(biāo)是遠(yuǎn)程處理器核或二級(jí)緩存,目的坐標(biāo)將記錄在數(shù)據(jù)包內(nèi),數(shù)據(jù)包通過(guò)路由器發(fā)送至網(wǎng)絡(luò)上并最終送至目的處理器核或二級(jí)緩存。
8.一種片上多核數(shù)據(jù)傳輸裝置,其特征在于,包括生成指令流模塊,用于配置數(shù)據(jù)傳輸裝置,通過(guò)軟件接口生成控制數(shù)據(jù)傳輸裝置的指令流,由處理器核將所述指令流發(fā)送給位于處理器核內(nèi)部的數(shù)據(jù)傳輸裝置,通過(guò)軟件接口對(duì)數(shù)據(jù)傳輸裝置進(jìn)行如下配置用于判斷數(shù)據(jù)傳輸類(lèi)型;接收指令流模塊,用于所述數(shù)據(jù)傳輸裝置接收上述指令流,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合,由所述數(shù)據(jù)傳輸裝置封裝成可以在片上網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包;發(fā)送模塊,用于所述數(shù)據(jù)傳輸裝置查詢(xún)片上網(wǎng)絡(luò),并對(duì)數(shù)據(jù)地址進(jìn)行解析,給出目的 SPM或二級(jí)緩存的坐標(biāo),當(dāng)路由器指示可以傳輸時(shí)發(fā)送模塊將數(shù)據(jù)包依次發(fā)送完畢;接收模塊,用于所述數(shù)據(jù)傳輸裝置接收由目的SPM或二級(jí)緩存返回的數(shù)據(jù),直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào);控制模塊,用于接收同步信號(hào),直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào)。
9.如權(quán)利要求8所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述生成指令流模塊,還包括設(shè)置數(shù)據(jù)模塊,用于設(shè)置數(shù)據(jù)塊寬度,設(shè)置源數(shù)據(jù)地址,設(shè)置源數(shù)據(jù)一維步長(zhǎng),設(shè)置源數(shù)據(jù)二維步長(zhǎng),設(shè)置目的數(shù)據(jù)地址,設(shè)置目的數(shù)據(jù)一維步長(zhǎng),設(shè)置目的數(shù)據(jù)二維步長(zhǎng),設(shè)置一維數(shù)據(jù)個(gè)數(shù),設(shè)置二維數(shù)據(jù)個(gè)數(shù);寄存器模塊,用于根據(jù)指令流配置數(shù)據(jù)傳輸裝置的控制寄存器和數(shù)據(jù)寄存器。
10.如權(quán)利要求8所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述接收指令流模塊, 還包括操作模塊,用于由所述控制寄存器判斷數(shù)據(jù)傳輸類(lèi)型,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合;封裝數(shù)據(jù)包模塊,用于由所述發(fā)送模塊封裝成可以在片上網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包。
11.如權(quán)利要求8所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述發(fā)送模塊,還包括 發(fā)送數(shù)據(jù)包模塊,用于所述發(fā)送模塊把目的坐標(biāo)為本地處理器核的數(shù)據(jù)包直接發(fā)給本地SPM,無(wú)需通過(guò)片上網(wǎng)絡(luò)傳輸;記錄數(shù)據(jù)包模塊,用于所述數(shù)據(jù)傳輸裝置的控制模塊記錄發(fā)送的數(shù)據(jù)包數(shù)目。
12.如權(quán)利要求8所述的片上多核數(shù)據(jù)傳輸方法,其特征在于,所述接收模塊,還包括 數(shù)據(jù)寫(xiě)入模塊,用于所述接收模塊接收由目的SPM或二級(jí)緩存根據(jù)數(shù)據(jù)包中的指令返回的數(shù)據(jù)并寫(xiě)入本地SPM;信號(hào)返回模塊,用于所述接收模塊接收由目的SPM或二級(jí)緩存返回的同步信號(hào),并返回給數(shù)據(jù)傳輸裝置的控制模塊;判斷模塊,用于判斷所述返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求是否相等;所述控制模塊向處理器核返回本次操作完成信號(hào)。
13.如權(quán)利要求8所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述接收指令流模塊中的數(shù)據(jù)包攜帶數(shù)據(jù)塊寬度,源數(shù)據(jù)地址,源數(shù)據(jù)一維步長(zhǎng),源數(shù)據(jù)二維步長(zhǎng),目的數(shù)據(jù)地址, 目的數(shù)據(jù)一維步長(zhǎng),目的數(shù)據(jù)二維步長(zhǎng),一維數(shù)據(jù)個(gè)數(shù),二維數(shù)據(jù)個(gè)數(shù),所屬寄存器模塊,路由坐標(biāo)信息。
14.如權(quán)利要求8所述的片上多核數(shù)據(jù)傳輸裝置,其特征在于,所述發(fā)送數(shù)據(jù)包模塊中,如果目的坐標(biāo)是本地處理器核,說(shuō)明數(shù)據(jù)包是本地SPM傳到本地SPM的,直接指示SPM 操作,不需要發(fā)送到網(wǎng)絡(luò)上;如果目的坐標(biāo)是遠(yuǎn)程處理器核或二級(jí)緩存,目的坐標(biāo)將記錄在數(shù)據(jù)包內(nèi),數(shù)據(jù)包通過(guò)路由器發(fā)送至網(wǎng)絡(luò)上并最終送至目的處理器核或二級(jí)緩存。
全文摘要
本發(fā)明公開(kāi)了一種片上多核數(shù)據(jù)傳輸方法和裝置,其特征在于,步驟一配置數(shù)據(jù)傳輸裝置,通過(guò)軟件接口生成控制數(shù)據(jù)傳輸裝置的指令流,由處理器核將所述指令流發(fā)送給位于處理器核內(nèi)部的數(shù)據(jù)傳輸裝置;步驟二所述數(shù)據(jù)傳輸裝置接收上述指令流,對(duì)發(fā)往同一片SPM或二級(jí)緩存的操作進(jìn)行組合,由所述數(shù)據(jù)傳輸裝置封裝成可以在片上網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包;步驟三所述數(shù)據(jù)傳輸裝置的發(fā)送模塊查詢(xún)片上網(wǎng)絡(luò),并對(duì)數(shù)據(jù)地址進(jìn)行解析,給出目的SPM或二級(jí)緩存的坐標(biāo);步驟四所述數(shù)據(jù)傳輸裝置接收由目的SPM或二級(jí)緩存返回的數(shù)據(jù)或接收同步信號(hào)返回給控制模塊,直至返回?cái)?shù)據(jù)或同步信號(hào)數(shù)目與發(fā)送的請(qǐng)求相等,本裝置控制模塊向處理器核返回本次操作完成信號(hào)。
文檔編號(hào)G06F15/173GK102567278SQ20111045137
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者張帥, 張 浩, 李海忠, 焦帥, 范東睿 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
建瓯市| 翁牛特旗| 邵阳县| 扶沟县| 岳普湖县| 宝应县| 辽源市| 渝北区| 舒兰市| 浏阳市| 革吉县| 黑河市| 瑞丽市| 巧家县| 柘荣县| 宁河县| 石屏县| 德安县| 嵊州市| 余姚市| 浦北县| 昭觉县| 永年县| 汾西县| 綦江县| 罗定市| 嘉禾县| 常德市| 赤城县| 马鞍山市| 外汇| 大姚县| 怀来县| 垫江县| 合山市| 通江县| 栾川县| 蒙山县| 泽州县| 三台县| 万盛区|