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

加速數(shù)據(jù)傳輸?shù)奶幚韱卧⑿酒?、?jì)算設(shè)備和方法

文檔序號(hào):6600029閱讀:216來(lái)源:國(guó)知局
專利名稱:加速數(shù)據(jù)傳輸?shù)奶幚韱卧?、芯片、?jì)算設(shè)備和方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及總線上的數(shù)據(jù)傳輸,具體的本發(fā)明涉及加速流數(shù)據(jù)在總線上傳輸?shù)奶幚韱卧?、芯片、?jì)算設(shè)備和方法。
背景技術(shù)
日前,芯片內(nèi)的處理單元可能由處理器核組成,也可能由硬件加速器(簡(jiǎn)稱加速器)構(gòu)成。利用加速器提高處理器核的處理能力是制造高性能CPU的趨勢(shì)之一。加速器可以輔助處理器核,用于處理某些專門的任務(wù),如加密、壓縮等。加速器的采用減輕了處理器核的負(fù)擔(dān),處理器核可以主要做一些在結(jié)構(gòu)上幾乎沒(méi)有什么規(guī)律的通用任務(wù)。使用了加速器的芯片由于既擁有通用處理器的靈活性,又具有專用硬件的計(jì)算優(yōu)勢(shì),因此總體上具有增強(qiáng)的計(jì)算能力。參考圖IA或圖1B,通常處理單元會(huì)在總線上廣播數(shù)據(jù)請(qǐng)求,其請(qǐng)求的數(shù)據(jù)可能存儲(chǔ)在與處理器核相連的高速緩存(Cache)中,也可能僅僅存儲(chǔ)在內(nèi)存(Memory)中。通常情況下會(huì)先從高速緩存中尋找其請(qǐng)求的數(shù)據(jù),如果高速緩存中沒(méi)有其想要的數(shù)據(jù),才會(huì)去相對(duì)慢速的內(nèi)存中讀取相應(yīng)的數(shù)據(jù),內(nèi)存中提供的數(shù)據(jù)可能會(huì)被同時(shí)調(diào)入高速緩存中以使得以后對(duì)相同數(shù)據(jù)的讀取都從高速緩存中進(jìn)行,而不必再次訪問(wèn)內(nèi)存。參考圖2A,當(dāng)處理單元在總線上廣播數(shù)據(jù)請(qǐng)求后,無(wú)論是高速緩存,還是內(nèi)存, 均會(huì)查詢本地存儲(chǔ)并且發(fā)送應(yīng)答信號(hào)給處理單元,告知數(shù)據(jù)塊是否命中的情況,處理單元?jiǎng)t會(huì)據(jù)此做好準(zhǔn)備以準(zhǔn)備接收命中的數(shù)據(jù)塊。所述數(shù)據(jù)的請(qǐng)求和應(yīng)答構(gòu)成一對(duì)握手信號(hào) (Handshake),如果有數(shù)據(jù)塊命中,每次握手信號(hào)后將會(huì)有一個(gè)數(shù)據(jù)塊從高速緩存或者內(nèi)存中傳輸?shù)教幚韱卧?。處理單元獲得某一數(shù)據(jù)塊后又會(huì)啟動(dòng)下一輪握手信號(hào),以請(qǐng)求下一個(gè)數(shù)據(jù)塊。也就是說(shuō)處理單元每請(qǐng)求一個(gè)數(shù)據(jù)塊都需要啟動(dòng)一次握手信號(hào),如果請(qǐng)求16個(gè)數(shù)據(jù)塊就需要啟動(dòng)16次握手信號(hào)。

發(fā)明內(nèi)容
本發(fā)明的發(fā)明人注意到由于加速器通常用于完成一些專門的任務(wù),其所請(qǐng)求處理的大部分?jǐn)?shù)據(jù)為流數(shù)據(jù)。流數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)量大、數(shù)據(jù)塊具有連續(xù)的地址,并且通常情況下所請(qǐng)求的數(shù)據(jù)塊位于同一高速緩存中。另外,某些場(chǎng)景下,處理器核所請(qǐng)求的數(shù)據(jù)也有可能構(gòu)成流數(shù)據(jù)?,F(xiàn)有的加速器請(qǐng)求數(shù)據(jù)處理的過(guò)程中由于多次實(shí)現(xiàn)握手信號(hào),因此存在諸多缺陷。首先,多次握手信號(hào)可能造成芯片功耗的增加。由于每次發(fā)送數(shù)據(jù)請(qǐng)求后,所有片上處于監(jiān)聽狀態(tài)的高速緩存都需要進(jìn)行地址匹配過(guò)程才能確定是否有數(shù)據(jù)塊命中(Cache hit)。因此,多次進(jìn)行地址匹配必定使整個(gè)芯片功耗大大增加。其次,多次握手信號(hào)可能造成不必要的時(shí)延。由于每次收到數(shù)據(jù)請(qǐng)求后,高速緩存都需要進(jìn)行地址匹配,從而消耗更多的時(shí)間周期,從而導(dǎo)致握手信號(hào)越多,時(shí)延越大。同樣,當(dāng)處理器核請(qǐng)求非本地高速緩存中或者內(nèi)存中的流數(shù)據(jù)時(shí),也會(huì)存在同樣的問(wèn)題。
為了節(jié)省系統(tǒng)功耗和減小傳輸時(shí)延,本發(fā)明利用流數(shù)據(jù)的特性,創(chuàng)造性的提出一次握手、傳輸多個(gè)數(shù)據(jù)塊的傳輸模式。本發(fā)明采用握手信號(hào)節(jié)省策略(Handshake save policy),當(dāng)處理單元在總線上發(fā)送包含多個(gè)數(shù)據(jù)塊(通常以高速緩存行為單位)的請(qǐng)求后,高速緩存或者內(nèi)存會(huì)進(jìn)行地址匹配以判斷是否有命中的數(shù)據(jù)塊,如果有命中的數(shù)據(jù)塊高速緩存或者內(nèi)存僅需要進(jìn)行一次應(yīng)答,然后就開始連續(xù)傳輸其所擁有的命中的數(shù)據(jù)塊, 而不再針對(duì)每個(gè)數(shù)據(jù)塊需要單獨(dú)的握手信號(hào)。本發(fā)明提供了一種加速數(shù)據(jù)傳輸?shù)奶幚韱卧?,所述處理單元與總線相連,所述處理單元包括傳輸策略控制器,用于根據(jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng),所述握手信號(hào)節(jié)省策略用于允許至少兩個(gè)相鄰地址段的數(shù)據(jù)塊在所述總線上連續(xù)傳輸,以及數(shù)據(jù)訪問(wèn)控制器,用于在總線上發(fā)送數(shù)據(jù)請(qǐng)求,從總線上接收對(duì)所述數(shù)據(jù)請(qǐng)求的應(yīng)答,以及在有數(shù)據(jù)塊命中的情況下從總線上接收命中的數(shù)據(jù)塊。本發(fā)明還提供了一種加速數(shù)據(jù)傳輸?shù)男酒ㄉ鲜鎏幚韱卧约翱偩€。本發(fā)明還提供了一種加速數(shù)據(jù)傳輸?shù)挠?jì)算設(shè)備,包括上述芯片以及內(nèi)存。本發(fā)明還提供了一種加速數(shù)據(jù)傳輸?shù)姆椒?,包括根?jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng),所述握手信號(hào)節(jié)省策略用于允許至少兩個(gè)相鄰地址段的數(shù)據(jù)塊在總線上連續(xù)傳輸;在總線上發(fā)送數(shù)據(jù)請(qǐng)求;從總線上接收對(duì)所述數(shù)據(jù)請(qǐng)求的應(yīng)答;以及在有數(shù)據(jù)塊命中的情況下,從總線上接收按照所述握手信號(hào)節(jié)省策略傳輸?shù)拿械臄?shù)據(jù)塊。在處理流數(shù)據(jù)時(shí),本發(fā)明的握手信號(hào)節(jié)省策略可以節(jié)省芯片功耗和傳輸時(shí)延,從而整體上提高處理單元的工作效率。


本說(shuō)明中所參考的附圖只用于示例本發(fā)明的典型實(shí)施例,不應(yīng)該認(rèn)為是對(duì)本發(fā)明范圍的限制。圖IA示出了采用加速器與單處理器核的芯片結(jié)構(gòu)示意圖。圖IB示出了采用加速器與多處理器核的芯片結(jié)構(gòu)示意圖。圖2A示出了按照現(xiàn)有技術(shù)采用多次握手信號(hào)實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)氖疽鈭D。圖2B示出了按照握手信號(hào)節(jié)省策略采用單次握手信號(hào)實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)氖疽鈭D。圖3示出了按照本發(fā)明的一個(gè)實(shí)施例的加速器的結(jié)構(gòu)示意圖。圖4示出了按照本發(fā)明的一個(gè)實(shí)施例的包含處理器核的處理單元的結(jié)構(gòu)示意圖。圖5示出了按照本發(fā)明的又一個(gè)實(shí)施例的包含處理器核的處理單元的結(jié)構(gòu)示意圖。圖6A示出了按照本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)請(qǐng)求信號(hào)的結(jié)構(gòu)示意圖。圖6B示出了按照本發(fā)明的一個(gè)實(shí)施例的應(yīng)答信號(hào)的結(jié)構(gòu)示意圖。圖6C示出了按照本發(fā)明的一個(gè)實(shí)施例的傳輸結(jié)束信號(hào)的結(jié)構(gòu)示意圖。圖7A示出了按照本發(fā)明的又一個(gè)實(shí)施例的數(shù)據(jù)請(qǐng)求信號(hào)的結(jié)構(gòu)示意圖。圖7B示出了按照本發(fā)明的又一個(gè)實(shí)施例的應(yīng)答信號(hào)的結(jié)構(gòu)示意圖。圖7C示出了按照本發(fā)明的又一個(gè)實(shí)施例的傳輸結(jié)束信號(hào)的結(jié)構(gòu)示意圖。圖7D示出了按照本發(fā)明的再一個(gè)實(shí)施例的數(shù)據(jù)請(qǐng)求信號(hào)的結(jié)構(gòu)示意圖。圖7E示出了按照本發(fā)明的再一個(gè)實(shí)施例的應(yīng)答信號(hào)的結(jié)構(gòu)示意圖。
圖7F示出了按照本發(fā)明的再一個(gè)實(shí)施例的傳輸結(jié)束信號(hào)的結(jié)構(gòu)示意圖。圖8示出了按照握手信號(hào)節(jié)省策略進(jìn)行數(shù)據(jù)傳輸?shù)姆椒鞒虉D。
具體實(shí)施例方式下列討論中,提供大量具體的細(xì)節(jié)以幫助徹底了解本發(fā)明。然而,很顯然對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),即使沒(méi)有這些具體細(xì)節(jié),并不影響對(duì)本發(fā)明的理解。并且應(yīng)該認(rèn)識(shí)到,使用如下的任何具體術(shù)語(yǔ)僅僅是為了方便描述,因此,本發(fā)明不應(yīng)當(dāng)局限于只用在這樣的術(shù)語(yǔ)所表示和/或暗示的任何特定應(yīng)用中??傮w而言,為了節(jié)省系統(tǒng)功耗和減小傳輸時(shí)延,本發(fā)明利用流數(shù)據(jù)的特性,創(chuàng)造性的提出一次握手、傳輸多個(gè)數(shù)據(jù)塊的流數(shù)據(jù)傳輸模式。本發(fā)明采用握手信號(hào)節(jié)省策略,當(dāng)處理單元在總線上發(fā)送包含多個(gè)數(shù)據(jù)塊(通常以高速緩存行為單位)的請(qǐng)求后,高速緩存或者內(nèi)存會(huì)進(jìn)行地址匹配以判斷是否有命中的數(shù)據(jù)塊,如果有命中的數(shù)據(jù)塊高速緩存或者內(nèi)存僅需要進(jìn)行一次應(yīng)答,然后就開始連續(xù)傳輸其所擁有的命中的數(shù)據(jù)塊,而不再針對(duì)每個(gè)數(shù)據(jù)塊需要單獨(dú)的握手信號(hào)。圖IA示出了采用加速器與單處理器核的芯片結(jié)構(gòu)示意圖。圖IA的芯片包括了處理單元A、處理單元D和總線。內(nèi)存通常位于芯片外,并且與被配置為可以與總線相連。處理單元A包括處理器核A和高速緩存A,高速緩存A中可能僅包括一個(gè)一級(jí)高速緩存,也可能還包括多級(jí)高速緩存(如還包括二級(jí)或三級(jí)高速緩存)。處理單元D為加速器。在第一個(gè)例子中,加速器在總線上廣播數(shù)據(jù)請(qǐng)求,加速器所請(qǐng)求的數(shù)據(jù)在高速緩存A中,高速緩存A將會(huì)發(fā)送對(duì)數(shù)據(jù)請(qǐng)求的應(yīng)答給加速器告知有數(shù)據(jù)命中的情況,同時(shí)內(nèi)存也會(huì)發(fā)送應(yīng)答給加速器告知沒(méi)有數(shù)據(jù)命中的情況。對(duì)于流數(shù)據(jù)而言,在適用握手信號(hào)節(jié)省策略的情況下,高速緩存A只需一次性的將其所擁有的命中的數(shù)據(jù)塊全部傳輸給加速器, 而無(wú)需在每傳輸一個(gè)數(shù)據(jù)塊前在加速器與高速緩存A間反復(fù)進(jìn)行握手。高速緩存中的數(shù)據(jù)塊是以高速緩存行(cacheline)為單位存儲(chǔ)的(例如一個(gè)高速緩存行能夠存儲(chǔ)64byte大小的數(shù)據(jù)作為一個(gè)數(shù)據(jù)塊)。圖2B示出了按照握手信號(hào)節(jié)省策略采用單次握手信號(hào)實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)氖疽鈭D。由圖2B可以容易的看出,在傳輸流數(shù)據(jù)的數(shù)據(jù)塊時(shí),由于節(jié)省了反反復(fù)復(fù)的握手過(guò)程,從而節(jié)省了芯片功耗和傳輸時(shí)延。在第二個(gè)例子中,加速器所請(qǐng)求的數(shù)據(jù)存在于內(nèi)存中。在加速器在總線上發(fā)送數(shù)據(jù)請(qǐng)求后,內(nèi)存通過(guò)總線向加速器發(fā)送應(yīng)答,以表示有數(shù)據(jù)命中,并且在適用握手信號(hào)節(jié)省策略的情況下,向加速器連續(xù)發(fā)送其所擁有的命中的數(shù)據(jù)塊。內(nèi)存中的數(shù)據(jù)是以內(nèi)存單元為單位存儲(chǔ)的(例如,一個(gè)內(nèi)存單元能夠存儲(chǔ)16byte大小的數(shù)據(jù)作為一個(gè)數(shù)據(jù)塊)。在第三個(gè)例子中,加速器所請(qǐng)求的數(shù)據(jù)前半部分存儲(chǔ)在高速緩存A中,后半部分存儲(chǔ)在內(nèi)存中。在加速器發(fā)出數(shù)據(jù)請(qǐng)求后,高速緩存A會(huì)發(fā)出有數(shù)據(jù)命中的應(yīng)答,并接著連續(xù)傳輸其所擁有的命中的數(shù)據(jù)塊,傳輸完畢后,加速器會(huì)就未收到的后半部分?jǐn)?shù)據(jù)再次發(fā)出數(shù)據(jù)請(qǐng)求,而這次內(nèi)存將發(fā)出有數(shù)據(jù)命中的應(yīng)答,并連續(xù)傳輸內(nèi)存里所擁有的命中數(shù)據(jù), 即后半部分?jǐn)?shù)據(jù)。加速器由于用于專門完成某些特定的處理任務(wù),因此其請(qǐng)求的數(shù)據(jù)大部分是流數(shù)據(jù)。處理器核在某些情況下所請(qǐng)求的數(shù)據(jù)也有可能構(gòu)成流數(shù)據(jù),因此如果判斷出處理器核所請(qǐng)求的數(shù)據(jù)也構(gòu)成流數(shù)據(jù),那么可以為處理器核應(yīng)用握手信號(hào)節(jié)省策略,使得處理器核所請(qǐng)求的數(shù)據(jù)也能夠連續(xù)傳輸,而無(wú)需反復(fù)間隔握手信號(hào)。關(guān)于流數(shù)據(jù)的判斷將在后文中進(jìn)行更詳細(xì)的描述。在第四個(gè)例子中,處理單元A在總線上發(fā)出流數(shù)據(jù)的數(shù)據(jù)請(qǐng)求,所請(qǐng)求的數(shù)據(jù)存在于內(nèi)存中,所以內(nèi)存發(fā)出有數(shù)據(jù)命中的應(yīng)答,并在總線上連續(xù)傳輸內(nèi)存中所擁有的命中的數(shù)據(jù)塊。圖IB示出了采用加速器與多處理器核的芯片結(jié)構(gòu)示意圖。與圖IA所不同的是圖 IB中包括多個(gè)包含處理器核的處理單元,即處理單元A、B、C。處理單元A、B、C分別包含處理器核和相應(yīng)的高速緩存。同樣的所述高速緩存既可以為一級(jí)高速緩存、也可以包含多級(jí)高速緩存。處理單元D為加速器。任何處理單元都可以在總線上發(fā)出數(shù)據(jù)請(qǐng)求。當(dāng)加速器發(fā)出數(shù)據(jù)請(qǐng)求時(shí),所請(qǐng)求的數(shù)據(jù)可能存在于高速緩存A、高速緩存B、高速緩存C或者內(nèi)存中,當(dāng)處理單元A發(fā)出數(shù)據(jù)請(qǐng)求時(shí),所請(qǐng)求的數(shù)據(jù)可能存在于高速緩存B、高速緩存C或者內(nèi)存中。在圖IB中對(duì)流數(shù)據(jù)進(jìn)行請(qǐng)求、應(yīng)答與數(shù)據(jù)傳輸?shù)倪^(guò)程與圖IA大體相似,在此不再贅述。圖IB中雖然僅畫出了一個(gè)加速器,但是本發(fā)明并不限于只能在芯片中安裝一個(gè)加速器,如果芯片內(nèi)包含多于一個(gè)加速器也可以同樣適用握手信號(hào)節(jié)省策略。圖3示出了按照本發(fā)明的一個(gè)實(shí)施例的加速器的結(jié)構(gòu)示意圖。加速器包括數(shù)據(jù)處理單元、輸入隊(duì)列、輸出隊(duì)列、數(shù)據(jù)訪問(wèn)控制器以及傳輸策略控制器。所述數(shù)據(jù)處理單元用于完成專門的數(shù)據(jù)處理任務(wù)。所述輸入隊(duì)列用于將輸入加速器的數(shù)據(jù)進(jìn)行排隊(duì),所述輸出隊(duì)列用于將輸出加速器的數(shù)據(jù)進(jìn)行排隊(duì)。所述數(shù)據(jù)訪問(wèn)控制器用于在總線上發(fā)送數(shù)據(jù)請(qǐng)求,在有數(shù)據(jù)塊命中的情況下從總線上接收對(duì)所述數(shù)據(jù)請(qǐng)求的應(yīng)答,以及在有數(shù)據(jù)塊命中的情況下從總線上接收所請(qǐng)求的數(shù)據(jù)塊。所述數(shù)據(jù)訪問(wèn)控制器可以是一個(gè)硬件邏輯,也可以是多個(gè)硬件邏輯的組合,每個(gè)硬件邏輯完成一項(xiàng)或多項(xiàng)功能,比如所述數(shù)據(jù)訪問(wèn)控制器可以分為三個(gè)硬件邏輯,分別用于完成數(shù)據(jù)請(qǐng)求的發(fā)送,應(yīng)答的接收,以及數(shù)據(jù)的接收。所述傳輸策略控制器用于根據(jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng),所述握手信號(hào)節(jié)省策略用于允許至少兩個(gè)相鄰地址段的數(shù)據(jù)塊在所述總線上連續(xù)傳輸。如果傳輸策略控制器啟動(dòng)握手信號(hào)節(jié)省策略,在加速器所發(fā)送的數(shù)據(jù)請(qǐng)求中將使握手信號(hào)節(jié)省指令設(shè)置為有效,從而要求返回的數(shù)據(jù)按照握手信號(hào)節(jié)省策略進(jìn)行傳輸。圖6A示出了按照本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)請(qǐng)求信號(hào)的結(jié)構(gòu)示意圖。所述數(shù)據(jù)請(qǐng)求包括讀寫標(biāo)識(shí)、握手信號(hào)節(jié)省指令(Handshake savecommand)、請(qǐng)求ID、處理單元ID、 起始地址以及終止地址。所述讀寫標(biāo)識(shí)用以標(biāo)識(shí)數(shù)據(jù)的讀寫指令,比如數(shù)字0表示加速器希望從其它存儲(chǔ)單元讀取數(shù)據(jù)。所述握手信號(hào)節(jié)省指令用以標(biāo)識(shí)本次數(shù)據(jù)傳輸是否按照握手信號(hào)節(jié)省策略進(jìn)行傳輸,比如數(shù)字1表示握手信號(hào)節(jié)省策略為有效狀態(tài)。所述請(qǐng)求ID表示本次數(shù)據(jù)請(qǐng)求的識(shí)別號(hào),比如識(shí)別號(hào)為0001。所述處理單元ID表示處理單元的識(shí)別號(hào), 比如以圖IB為例,處理單元A的識(shí)別號(hào)為1000,處理單元B的識(shí)別號(hào)為0100,處理單元C 的識(shí)別號(hào)為0010,處理單元D的識(shí)別號(hào)為0001。圖6A中處理單元ID為0001表示加速器正在請(qǐng)求數(shù)據(jù)。所述起始地址表示請(qǐng)求數(shù)據(jù)的起始虛擬地址。所述終止地址表示請(qǐng)求數(shù)據(jù)的終止虛擬地址。在數(shù)據(jù)請(qǐng)求中包含起始地址與終止地址使得在這個(gè)地址范圍內(nèi)的數(shù)據(jù)可以連續(xù)傳輸。在圖6A的例子中,請(qǐng)求的數(shù)據(jù)范圍為32-543。圖4示出了按照本發(fā)明的一個(gè)實(shí)施例的包含處理器核的處理單元的結(jié)構(gòu)示意圖。假設(shè)加速器所請(qǐng)求的數(shù)據(jù)存儲(chǔ)在處理單元A的高速緩存A中。處理單元A中包含一個(gè)地址隊(duì)列,所述地址隊(duì)列記錄所述數(shù)據(jù)請(qǐng)求的起始地址與終止地址,即32與M3。處理單元A在接收到數(shù)據(jù)請(qǐng)求后,將起始地址32與其高速緩存A中所存儲(chǔ)的所有高速緩存行的數(shù)據(jù)地址進(jìn)行比較,以檢查是否有數(shù)據(jù)命中。在一種實(shí)施例中,將起始地址32與高速緩存中的標(biāo)簽位(Tag)中所存儲(chǔ)的地址進(jìn)行匹配以判斷是否有數(shù)據(jù)命中。在另一種實(shí)施例中,高速緩存工作在輔助內(nèi)存模式下(Slave Memory),因此高速緩存中的數(shù)據(jù)本身就是按照地址大小順序排列的,這樣通過(guò)匹配起始地址32是否落在高速緩存所存儲(chǔ)的地址范圍內(nèi),可以更快的確定是否有數(shù)據(jù)命中。上文中已經(jīng)說(shuō)明了,流數(shù)據(jù)的特點(diǎn)就是數(shù)據(jù)塊具有連續(xù)的地址,并且通常情況下所請(qǐng)求的數(shù)據(jù)塊位于同一高速緩存中。因此,通常情況下,對(duì)于流數(shù)據(jù)而言,如果起始地址所在的數(shù)據(jù)塊存在于某一高速緩存中,很有可能后續(xù)的數(shù)據(jù)塊也存在于所述高速緩存中。 因此,出于節(jié)省計(jì)算資源的目的,可以不用檢查高速緩存中具體存儲(chǔ)了多少命中的數(shù)據(jù)塊, 只要起始地址命中,就可以發(fā)送有數(shù)據(jù)命中的應(yīng)答。在后面的數(shù)據(jù)傳輸階段,還要進(jìn)行地址匹配以連續(xù)傳輸所命中的數(shù)據(jù),詳細(xì)內(nèi)容將在后文中進(jìn)行更加詳細(xì)的說(shuō)明。當(dāng)然,在另外的實(shí)施例中,也可以進(jìn)一步計(jì)算高速緩存中所具體命中的數(shù)據(jù)塊的數(shù)量,這樣的代價(jià)是需要耗費(fèi)更多的計(jì)算資源進(jìn)行地址匹配。加速器所請(qǐng)求的數(shù)據(jù)的數(shù)據(jù)塊可能存儲(chǔ)在非本地高速緩存中也可能存儲(chǔ)在內(nèi)存中,在兩種情況下都可以通過(guò)地址匹配確定是否有數(shù)據(jù)塊命中,并在有數(shù)據(jù)塊命中的情況下按照所述握手信號(hào)節(jié)省策略傳輸所述命中的數(shù)據(jù)塊。圖6B示出了按照本發(fā)明的一個(gè)實(shí)施例的應(yīng)答信號(hào)的結(jié)構(gòu)示意圖。所述應(yīng)答包括讀寫標(biāo)識(shí)、握手信號(hào)節(jié)省策略響應(yīng)標(biāo)識(shí)、請(qǐng)求ID、存儲(chǔ)單元ID以及是否命中標(biāo)識(shí)。所述讀寫標(biāo)識(shí)與數(shù)據(jù)請(qǐng)求中的讀寫標(biāo)識(shí)一致。所述握手信號(hào)節(jié)省策略響應(yīng)標(biāo)識(shí)用以表示以在有數(shù)據(jù)塊命中的情況下,同意按照所述握手信號(hào)節(jié)省策略傳輸所述命中的數(shù)據(jù)塊,例如數(shù)字1 表示同意按照握手信號(hào)節(jié)省策略傳輸命中的數(shù)據(jù)塊。所述請(qǐng)求ID與數(shù)據(jù)請(qǐng)求中的請(qǐng)求ID 一致。所述存儲(chǔ)單元ID表示存儲(chǔ)單元的識(shí)別號(hào)。比如以圖IB為例,高速緩存A的識(shí)別號(hào)為1000,高速緩存B的識(shí)別號(hào)為0100,高速緩存C的識(shí)別號(hào)為0010,內(nèi)存的識(shí)別號(hào)為0000。 圖6B中存儲(chǔ)單元ID為1000表示處理單元A中的高速緩存A中存儲(chǔ)有命中的數(shù)據(jù)塊。所述是否命中標(biāo)識(shí)用以表示是否有數(shù)據(jù)命中。圖6B中是否命中標(biāo)識(shí)為1表示高速緩存A中有數(shù)據(jù)命中。其它存儲(chǔ)單元在按照起始地址32進(jìn)行地址匹配后,發(fā)現(xiàn)沒(méi)有命中的數(shù)據(jù),將發(fā)送沒(méi)有命中的應(yīng)答,即應(yīng)答中的是否命中標(biāo)識(shí)為0。接下來(lái)高速緩存A會(huì)將其所擁有的命中的數(shù)據(jù)連續(xù)傳輸給加速器?;氐綀D4,由于處理單元A中的地址隊(duì)列記錄了數(shù)據(jù)請(qǐng)求中的起始地址與終止地址,因此處理單元可以在數(shù)據(jù)傳輸中不斷將落在起始地址與終止地址間的地址與高速緩存A中所存儲(chǔ)的地址進(jìn)行匹配,以確定命中的數(shù)據(jù)塊并在總線上進(jìn)行傳輸。假設(shè)一個(gè)高速緩存行存儲(chǔ)32byte的數(shù)據(jù),假設(shè)高速緩存A中存儲(chǔ)了地址為32-351,以及480443。按照本發(fā)明的一種實(shí)施例,處理單元A首先查詢地址為32的數(shù)據(jù)塊是否命中,如果命中則傳輸?shù)刂窞?2的數(shù)據(jù)塊,同時(shí)查詢地址為64的數(shù)據(jù)塊是否命中,如果命中則傳輸?shù)刂窞?4的數(shù)據(jù)塊以此類推直到查詢到地址為352的數(shù)據(jù),發(fā)現(xiàn)沒(méi)有命中的數(shù)據(jù)塊,于是停止查詢。加速器需要為地址為352以后的數(shù)據(jù)再次發(fā)送數(shù)據(jù)請(qǐng)求。這樣,加速器可以按地址順序接收所請(qǐng)求的數(shù)據(jù)塊,無(wú)需重新排序。按照本發(fā)明的另一種實(shí)施例,處理單元A在查詢到地址為352的數(shù)據(jù)沒(méi)有命中的數(shù)據(jù)塊后,繼續(xù)查詢地址為384、416等的數(shù)據(jù)是否命中,直到查詢到地址為480的數(shù)據(jù)有數(shù)據(jù)塊命中,則繼續(xù)傳輸相應(yīng)的數(shù)據(jù)塊。這樣在加速器通過(guò)第一次數(shù)據(jù)請(qǐng)求中獲得了地址為32-351 以及480-543的所有數(shù)據(jù)。對(duì)于地址352-479之間的數(shù)據(jù),加速器需要再次發(fā)送數(shù)據(jù)請(qǐng)求。 因此,加速器中所收到的所有地址范圍在32-543的數(shù)據(jù)就不是按地址順序排列的。加速器中需要增加新的邏輯以對(duì)收到的所有數(shù)據(jù)進(jìn)行排序處理。當(dāng)高速緩存A中所擁有的命中的數(shù)據(jù)塊(比如包含地址32-543的所有數(shù)據(jù)塊)連續(xù)傳輸完畢后。高速緩存A向加速器發(fā)送傳輸結(jié)束信號(hào),以表示所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略傳輸完畢。圖6C示出了按照本發(fā)明的一個(gè)實(shí)施例的傳輸結(jié)束信號(hào)的結(jié)構(gòu)示意圖。傳輸結(jié)束信號(hào)包括請(qǐng)求ID與完成標(biāo)志。所述請(qǐng)求ID與數(shù)據(jù)請(qǐng)求,以及應(yīng)答中的請(qǐng)求ID—致。所述完成標(biāo)志表示存儲(chǔ)單元1000中所命中的數(shù)據(jù)連續(xù)傳輸完畢。當(dāng)然存儲(chǔ)單元1000并不見得命中所有的數(shù)據(jù)請(qǐng)求中所請(qǐng)求的數(shù)據(jù),也就是說(shuō)也許有些數(shù)據(jù)請(qǐng)求中所請(qǐng)求的數(shù)據(jù)并未存儲(chǔ)在存儲(chǔ)單元1000中,而是存儲(chǔ)在別的存儲(chǔ)單元內(nèi)。圖7A-圖 7F就描述了這樣一個(gè)實(shí)例。圖7A示出了按照本發(fā)明的又一個(gè)實(shí)施例的數(shù)據(jù)請(qǐng)求信號(hào)的結(jié)構(gòu)示意圖。圖7A中數(shù)據(jù)請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)與圖6A中的數(shù)據(jù)請(qǐng)求的數(shù)據(jù)結(jié)構(gòu)相同。在圖7A所示的例子中,加速器在總線上發(fā)出數(shù)據(jù)請(qǐng)求,請(qǐng)求虛擬地址15648-16415這個(gè)地址范圍內(nèi)的所有數(shù)據(jù),請(qǐng)求 ID為0010,并且要求數(shù)據(jù)按照握手信號(hào)節(jié)省策略進(jìn)行傳輸。圖7B示出了按照本發(fā)明的又一個(gè)實(shí)施例的應(yīng)答信號(hào)的結(jié)構(gòu)示意圖。圖7B中應(yīng)答的數(shù)據(jù)結(jié)構(gòu)與圖6B相同。圖7B表示存儲(chǔ)單元ID為1000的高速緩存A擁有命中的數(shù)據(jù)塊, 并且同意按照握手信號(hào)節(jié)省策略進(jìn)行傳輸。在這個(gè)例子中,是否命中標(biāo)識(shí)為1表示有數(shù)據(jù)命中,而沒(méi)有提供有多少數(shù)據(jù)命中,是否所請(qǐng)求的全部數(shù)據(jù)都命中等具體信息。在這個(gè)例子中,高速緩存A中僅僅命中了地址從15648-16383的數(shù)據(jù),也就是說(shuō)還有一部分?jǐn)?shù)據(jù)沒(méi)有命中。圖7C示出了按照本發(fā)明的又一個(gè)實(shí)施例的傳輸結(jié)束信號(hào)的結(jié)構(gòu)示意圖。所述傳輸結(jié)束信號(hào)表示高速緩存A所擁有的全部命中數(shù)據(jù)都已經(jīng)傳輸完畢。加速器在收到高速緩存A所命中的全部數(shù)據(jù)后,發(fā)現(xiàn)其所請(qǐng)求的數(shù)據(jù)段 16384-16415并沒(méi)有得到,因此再次發(fā)送數(shù)據(jù)請(qǐng)求。圖7D示出了按照本發(fā)明的再一個(gè)實(shí)施例的數(shù)據(jù)請(qǐng)求信號(hào)的結(jié)構(gòu)示意圖。在圖7D的數(shù)據(jù)請(qǐng)求中,加速器再次請(qǐng)求地址 16384-16415范圍內(nèi)的數(shù)據(jù)。圖7E示出了按照本發(fā)明的再一個(gè)實(shí)施例的應(yīng)答信號(hào)的結(jié)構(gòu)示意圖。圖7E中的應(yīng)答表示,存儲(chǔ)單元ID為0100的存儲(chǔ)單元,即高速緩存B擁有加速器再次所請(qǐng)求的地址范圍在16384-16415的數(shù)據(jù),并且高速緩存B同意按照握手信號(hào)節(jié)省策略連續(xù)傳輸所命中的數(shù)據(jù)。其它存儲(chǔ)單元在按照起始地址16384進(jìn)行地址匹配后,發(fā)現(xiàn)沒(méi)有命中的數(shù)據(jù),將發(fā)送沒(méi)有命中的應(yīng)答,即應(yīng)答中的是否命中標(biāo)識(shí)為0。圖7F示出了按照本發(fā)明的再一個(gè)實(shí)施例的傳輸結(jié)束信號(hào)的結(jié)構(gòu)示意圖。圖7F中的信號(hào)表示高速緩存B中所命中的數(shù)據(jù)已經(jīng)被傳輸完畢?;氐綀D3,圖3中的傳輸策略控制器用于根據(jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng)。其中所述預(yù)定適用條件可以通過(guò)編程由程序員進(jìn)行設(shè)定。進(jìn)一步所述預(yù)定適用條件包括下列各項(xiàng)條件之一啟用握手信號(hào)節(jié)省策略,直到一個(gè)存儲(chǔ)單元中所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略傳輸完畢;啟用握手信號(hào)節(jié)省策略,僅允許預(yù)定數(shù)量的相鄰地址段的數(shù)據(jù)塊被連續(xù)傳輸;根據(jù)所述總線的繁忙狀態(tài)啟用握手信號(hào)節(jié)省策略;啟用握手信號(hào)節(jié)省策略,直到程序禁用握手信號(hào)節(jié)省策略。啟用握手信號(hào)節(jié)省策略,直到一個(gè)存儲(chǔ)單元中所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略連續(xù)傳輸完畢,是指如果有兩個(gè)或者兩個(gè)以上的存儲(chǔ)單元都包含所請(qǐng)求的數(shù)據(jù),在第一個(gè)存儲(chǔ)單元返回其所命中的數(shù)據(jù)后,停止適用握手信號(hào)節(jié)省策略。按照?qǐng)D7A-7F 的例子,在存儲(chǔ)單元ID為1000的高速緩存A返回其所擁有的命中的數(shù)據(jù)塊(15648-16383) 后,當(dāng)加速器再次發(fā)出數(shù)據(jù)請(qǐng)求后,停止適用握手信號(hào)節(jié)省策略,即設(shè)置數(shù)據(jù)請(qǐng)求中的握手信號(hào)節(jié)省指令為0。這樣,不至于因?yàn)橐粋€(gè)處理單元的數(shù)據(jù)請(qǐng)求而過(guò)長(zhǎng)而長(zhǎng)時(shí)間的占用總線的資源。啟用握手信號(hào)節(jié)省策略,僅允許預(yù)定數(shù)量的相鄰地址段的數(shù)據(jù)塊被連續(xù)傳輸,是指對(duì)以握手信號(hào)節(jié)省策略進(jìn)行傳輸?shù)臄?shù)據(jù)塊的大小進(jìn)行限制,比如僅允許數(shù)據(jù)請(qǐng)求中終止地址與起始地址之差在一定范圍內(nèi)(比如,512位以內(nèi))的請(qǐng)求適用握手信號(hào)節(jié)省策略。這樣也是為了避免一次性傳輸過(guò)多的數(shù)據(jù)塊從而過(guò)多的占用總線資源,影響其它處理單元的工作。根據(jù)所述總線的繁忙狀態(tài)啟用握手信號(hào)節(jié)省策略是指在總線不忙時(shí)啟用握手信號(hào)節(jié)省策略,在總線繁忙時(shí)禁用握手信號(hào)節(jié)省策略。關(guān)于符合界定總線是否繁忙,可以由編程人員根據(jù)需要自由設(shè)定。啟用握手信號(hào)節(jié)省策略,直到程序禁用握手信號(hào)節(jié)省策略是指一直允許數(shù)據(jù)請(qǐng)求中的握手信號(hào)節(jié)省指令設(shè)置為1,直到程序員通過(guò)編程加以控制,設(shè)置該握手信號(hào)節(jié)省指令為無(wú)效。如果一值允許數(shù)據(jù)按照握手信號(hào)節(jié)省策略進(jìn)行傳輸,有可能因?yàn)閿?shù)據(jù)的大量傳輸造成總線數(shù)據(jù)擁堵。因此應(yīng)當(dāng)允許程序員對(duì)握手信號(hào)節(jié)省策略的應(yīng)用加以控制。在圖6A-6C,圖7A-7F的例子中,加速器作為處理單元發(fā)出數(shù)據(jù)請(qǐng)求,請(qǐng)求的數(shù)據(jù)按照握手信號(hào)節(jié)省策略進(jìn)行傳輸。但是本發(fā)明中,除了加速器外,處理單元中的處理器核也有可能請(qǐng)求流數(shù)據(jù),因此也可以適用握手信號(hào)節(jié)省策略。所述處理器核進(jìn)一步應(yīng)當(dāng)包括流數(shù)據(jù)判斷器,用于通過(guò)所請(qǐng)求的數(shù)據(jù)的地址判斷所請(qǐng)求的數(shù)據(jù)是否是流數(shù)據(jù),并且在所請(qǐng)求的數(shù)據(jù)是流數(shù)據(jù)的情況下形成流數(shù)據(jù)的數(shù)據(jù)請(qǐng)求。圖5示出了按照本發(fā)明的又一個(gè)實(shí)施例的包含處理器核的處理單元的結(jié)構(gòu)示意圖。圖5描述了處理單元B的結(jié)構(gòu)示意圖,其它包含處理器核的處理單元的結(jié)構(gòu)與此相似。 處理單元B包括處理器核B、高速緩存B、傳輸策略控制器以及數(shù)據(jù)訪問(wèn)控制器。高速緩存B 表示高速緩存的存儲(chǔ)體部分。其中傳輸策略控制器與數(shù)據(jù)訪問(wèn)控制器的作用與圖3中加速器的傳輸策略控制器與數(shù)據(jù)訪問(wèn)控制器的作用相似,在此不再贅述。與加速器所不同的是, 處理器核B中增加了存取單元(load Store Unit,LSU)與流數(shù)據(jù)判斷器。LSU記錄了處理器核B所請(qǐng)求的數(shù)據(jù)的地址,流數(shù)據(jù)判斷器根據(jù)LSU中記錄的地址是否連續(xù)來(lái)判斷處理器核B所請(qǐng)求的是否是流數(shù)據(jù)。如果處理器核B所請(qǐng)求的是流數(shù)據(jù),處理單元B再通過(guò)傳輸策略控制器確定其發(fā)出的數(shù)據(jù)請(qǐng)求是否請(qǐng)求數(shù)據(jù)按照握手信號(hào)節(jié)省策略進(jìn)行傳輸。數(shù)據(jù)請(qǐng)求、應(yīng)答、以及傳輸結(jié)束信號(hào)的格式與圖6A-6C、圖7A-7F中描述的相似。處理器核B所請(qǐng)求的流數(shù)據(jù)的數(shù)據(jù)塊可能存儲(chǔ)于其它非本地高速緩存(比如高速緩存A、C)中,或者內(nèi)存中。
上文中已經(jīng)對(duì)按照握手信號(hào)節(jié)省策略進(jìn)行數(shù)據(jù)傳輸?shù)姆椒ǖ母鱾€(gè)詳細(xì)步驟有所描述,下面對(duì)這一傳輸過(guò)程進(jìn)行整體概述,已經(jīng)在上文中描述的具體步驟將不再重復(fù)。圖8 示出了按照握手信號(hào)節(jié)省策略進(jìn)行數(shù)據(jù)傳輸?shù)姆椒鞒虉D。在步驟801,根據(jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng),所述握手信號(hào)節(jié)省策略用于允許至少兩個(gè)相鄰地址段的數(shù)據(jù)塊在總線上連續(xù)傳輸;在步驟802,在總線上發(fā)送數(shù)據(jù)請(qǐng)求;在步驟803,從總線上接收對(duì)所述數(shù)據(jù)請(qǐng)求的應(yīng)答;以及在步驟804,在有數(shù)據(jù)塊命中的情況下,從總線上接收按照所述握手信號(hào)節(jié)省策略傳輸?shù)拿械臄?shù)據(jù)塊。所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明可以體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。 因此,本發(fā)明可以具體實(shí)現(xiàn)為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟件部分與硬件部分的組合。此外,本發(fā)明還可以采取體現(xiàn)在任何有形的表達(dá)介質(zhì)(medium of expression)中的計(jì)算機(jī)程序產(chǎn)品的形式,該介質(zhì)中包含計(jì)算機(jī)可用的程序碼。可以使用一個(gè)或多個(gè)計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)的任何組合。計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的更具體的例子(非窮舉的列表)包括以下有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器 (RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、諸如支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì)、或者磁存儲(chǔ)器件。注意計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)甚至可以是上面印有程序的紙張或者其它合適的介質(zhì),這是因?yàn)?,例如可以通過(guò)電掃描這種紙張或其它介質(zhì),以電子方式獲得程序,然后以適當(dāng)?shù)姆绞郊右跃幾g、解釋或處理,并且必要的話在計(jì)算機(jī)存儲(chǔ)器中存儲(chǔ)。在本文件的語(yǔ)境中,計(jì)算機(jī)可用的或計(jì)算機(jī)可讀的介質(zhì)可以是任何含有、存儲(chǔ)、傳達(dá)、傳播、或傳輸供指令執(zhí)行系統(tǒng)、裝置或器件使用的或與指令執(zhí)行系統(tǒng)、裝置或器件相聯(lián)系的程序的介質(zhì)。計(jì)算機(jī)可用的介質(zhì)可包括在基帶中或者作為載波一部分傳播的、由其體現(xiàn)計(jì)算機(jī)可用的程序碼的數(shù)據(jù)信號(hào)。計(jì)算機(jī)可用的程序碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括-但不限于-無(wú)線、電線、 光纜、RF等等。用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序碼,可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任何組合來(lái)編寫,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言-諸如JaVa、Smalltalk、C++ 之類,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言-諸如” C”程序設(shè)計(jì)語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任何種類的網(wǎng)絡(luò)——包括局域網(wǎng) (LAN)或廣域網(wǎng)(WAN)-連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng))連接到外部計(jì)算機(jī)。以下參照按照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/ 或框圖描述本發(fā)明。要明白的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means) 的制造品。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過(guò)程。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。本文中所用的術(shù)語(yǔ),僅僅是為了描述特定的實(shí)施例,而不意圖限定本發(fā)明。本文中所用的單數(shù)形式的“一”和“該”,旨在也包括復(fù)數(shù)形式,除非上下文中明確地另外指出。還要知道,“包含”一詞在本說(shuō)明書中使用時(shí),說(shuō)明存在所指出的特征、整體、步驟、操作、單元和/或組件,但是并不排除存在或增加一個(gè)或多個(gè)其它特征、整體、步驟、操作、單元和/或組件,以及/或者它們的組合。以下的權(quán)利要求中的對(duì)應(yīng)結(jié)構(gòu)、材料、操作以及所有功能性限定的裝置(means) 或步驟的等同替換,旨在包括任何用于與在權(quán)利要求中具體指出的其它單元相組合地執(zhí)行該功能的結(jié)構(gòu)、材料或操作。所給出的對(duì)本發(fā)明的描述其目的在于示意和描述,并非是窮盡性的,也并非是要把本發(fā)明限定到所表述的形式。對(duì)于所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō), 在不偏離本發(fā)明范圍和精神的情況下,顯然可以作出許多修改和變型。對(duì)實(shí)施例的選擇和說(shuō)明,是為了最好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,使所屬技術(shù)領(lǐng)域的普通技術(shù)人員能夠明了,本發(fā)明可以有適合所要的特定用途的具有各種改變的各種實(shí)施方式。
權(quán)利要求
1.一種加速數(shù)據(jù)傳輸?shù)奶幚韱卧?,所述處理單元與總線相連,所述處理單元包括傳輸策略控制器,用于根據(jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng),所述握手信號(hào)節(jié)省策略用于允許至少兩個(gè)相鄰地址段的數(shù)據(jù)塊在所述總線上連續(xù)傳輸,以及數(shù)據(jù)訪問(wèn)控制器,用于在總線上發(fā)送數(shù)據(jù)請(qǐng)求,從總線上接收對(duì)所述數(shù)據(jù)請(qǐng)求的應(yīng)答, 以及在有數(shù)據(jù)塊命中的情況下從總線上接收命中的數(shù)據(jù)塊。
2.如權(quán)利要求1所述的處理單元,所述處理單元為加速器。
3.如權(quán)利要求1所述的處理單元,進(jìn)一步包括 處理器核,以及高速緩存,其中,所述處理器核包括流數(shù)據(jù)判斷器,用于通過(guò)所請(qǐng)求的數(shù)據(jù)的地址判斷所請(qǐng)求的數(shù)據(jù)是否是流數(shù)據(jù),并且在所請(qǐng)求的數(shù)據(jù)是流數(shù)據(jù)的情況下形成流數(shù)據(jù)的數(shù)據(jù)請(qǐng)求。
4.如權(quán)利要求2或3所述的處理單元,其中所述數(shù)據(jù)請(qǐng)求包括握手信號(hào)節(jié)省指令,用以指示是否按照握手信號(hào)節(jié)省策略傳輸所述命中的數(shù)據(jù)塊;以及所請(qǐng)求的數(shù)據(jù)的起始地址和終止地址。
5.如權(quán)利要求2或3所述的處理單元,其中所述應(yīng)答包括握手信號(hào)節(jié)省策略響應(yīng)標(biāo)識(shí),以表示在有數(shù)據(jù)塊命中的情況下,同意按照所述握手信號(hào)節(jié)省策略傳輸所述命中的數(shù)據(jù)塊。
6.如權(quán)利要求2或3所述的處理單元,其中所述數(shù)據(jù)訪問(wèn)控制器進(jìn)一步接收傳輸結(jié)束信號(hào),以表示所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略傳輸完畢。
7.如權(quán)利要求2或3所述的處理單元,其中所述預(yù)定適用條件可以通過(guò)編程進(jìn)行設(shè)定。
8.如權(quán)利要求2或3所述的處理單元,其中所述預(yù)定適用條件包括下列各項(xiàng)條件之啟用握手信號(hào)節(jié)省策略,直到一個(gè)存儲(chǔ)單元所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略傳輸完畢;啟用握手信號(hào)節(jié)省策略,僅允許預(yù)定數(shù)量的相鄰地址段的數(shù)據(jù)塊被連續(xù)傳輸; 根據(jù)所述總線的繁忙狀態(tài)啟用握手信號(hào)節(jié)省策略; 啟用握手信號(hào)節(jié)省策略,直到程序禁用握手信號(hào)節(jié)省策略。
9.如權(quán)利要求2或3所述的處理單元,其中所請(qǐng)求的數(shù)據(jù)的數(shù)據(jù)塊存儲(chǔ)在非本地高速緩存中,通過(guò)地址匹配確定所述非本地高速緩存中是否有數(shù)據(jù)塊命中。
10.如權(quán)利要求2或3所述的處理單元,其中所請(qǐng)求的數(shù)據(jù)的數(shù)據(jù)塊存儲(chǔ)在內(nèi)存中,通過(guò)地址匹配確定所述內(nèi)存中是否有數(shù)據(jù)塊命中。
11.一種加速數(shù)據(jù)傳輸?shù)男酒?,包?如權(quán)利要求1-10所述的處理單元;以及總線。
12.一種加速數(shù)據(jù)傳輸?shù)挠?jì)算設(shè)備,包括 如權(quán)利要求11所述的芯片;以及內(nèi)存。
13.一種加速數(shù)據(jù)傳輸?shù)姆椒?,包括根?jù)預(yù)定適用條件控制握手信號(hào)節(jié)省策略的啟動(dòng),所述握手信號(hào)節(jié)省策略用于允許至少兩個(gè)相鄰地址段的數(shù)據(jù)塊在總線上連續(xù)傳輸; 在總線上發(fā)送數(shù)據(jù)請(qǐng)求; 從總線上接收對(duì)所述數(shù)據(jù)請(qǐng)求的應(yīng)答;以及在有數(shù)據(jù)塊命中的情況下,從總線上接收按照所述握手信號(hào)節(jié)省策略傳輸?shù)拿械臄?shù)據(jù)塊。
14.如權(quán)利要求13所述的方法,進(jìn)一步包括通過(guò)所請(qǐng)求的數(shù)據(jù)的地址判斷所請(qǐng)求的數(shù)據(jù)是否是流數(shù)據(jù),并且在所請(qǐng)求的數(shù)據(jù)是流數(shù)據(jù)的情況下形成流數(shù)據(jù)的數(shù)據(jù)請(qǐng)求。
15.如權(quán)利要求13所述的方法,其中所述數(shù)據(jù)請(qǐng)求包括握手信號(hào)節(jié)省指令,用以指示是否按照握手信號(hào)節(jié)省策略傳輸命中的數(shù)據(jù)塊;以及所請(qǐng)求的數(shù)據(jù)的起始地址和終止地址。
16.如權(quán)利要求13所述的方法,其中所述應(yīng)答包括握手信號(hào)節(jié)省策略響應(yīng)標(biāo)識(shí),以表示在有數(shù)據(jù)塊命中的情況下,同意按照所述握手信號(hào)節(jié)省策略傳輸所述命中的數(shù)據(jù)塊。
17.如權(quán)利要求13所述的方法,進(jìn)一步包括接收傳輸結(jié)束信號(hào),以表示所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略傳輸完畢。
18.如權(quán)利要求13所述的方法,其中所述預(yù)定適用條件可以通過(guò)編程進(jìn)行設(shè)定。
19.如權(quán)利要求13所述的方法,其中所述預(yù)定適用條件包括下列各項(xiàng)條件之一啟用握手信號(hào)節(jié)省策略,直到一個(gè)存儲(chǔ)單元所命中的數(shù)據(jù)塊已被按照所述握手信號(hào)節(jié)省策略傳輸完畢;啟用握手信號(hào)節(jié)省策略,僅允許預(yù)定數(shù)量的相鄰地址段的數(shù)據(jù)塊被連續(xù)傳輸; 根據(jù)所述總線的繁忙狀態(tài)啟用握手信號(hào)節(jié)省策略; 啟用握手信號(hào)節(jié)省策略,直到程序禁用握手信號(hào)節(jié)省策略。
全文摘要
本發(fā)明涉及加速數(shù)據(jù)傳輸?shù)奶幚韱卧?、芯片、?jì)算設(shè)備和方法。為了節(jié)省系統(tǒng)功耗和減小傳輸時(shí)延,本發(fā)明利用流數(shù)據(jù)的特性,創(chuàng)造性的提出一次握手、傳輸多個(gè)數(shù)據(jù)塊的流數(shù)據(jù)傳輸模式。本發(fā)明采用握手信號(hào)節(jié)省策略,當(dāng)處理單元在總線上發(fā)送包含多個(gè)數(shù)據(jù)塊的請(qǐng)求后,高速緩存或者內(nèi)存會(huì)進(jìn)行地址匹配以判斷是否有命中的數(shù)據(jù)塊,如果有命中的數(shù)據(jù)塊高速緩存或者內(nèi)存僅需要進(jìn)行一次應(yīng)答,然后就開始連續(xù)傳輸其所擁有的命中的數(shù)據(jù)塊,而不再針對(duì)每個(gè)數(shù)據(jù)塊需要單獨(dú)的握手信號(hào)。
文檔編號(hào)G06F13/36GK102207919SQ20101013697
公開日2011年10月5日 申請(qǐng)日期2010年3月30日 優(yōu)先權(quán)日2010年3月30日
發(fā)明者侯銳, 劉衛(wèi), 常曉濤, 王鯤, 章宇 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
兴海县| 吴桥县| 治多县| 武川县| 兴文县| 靖宇县| 丹棱县| 金平| 浮山县| 梨树县| 长泰县| 淳安县| 阜平县| 正安县| 白沙| 会理县| 安远县| 阜平县| 新宁县| 卢湾区| 黑水县| 玉环县| 民县| 万安县| 平邑县| 静安区| 姚安县| 新竹县| 安福县| 噶尔县| 秦皇岛市| 辽中县| 文山县| 满洲里市| 吴忠市| 东山县| 黄大仙区| 台中县| 光泽县| 德格县| 诸暨市|