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

預(yù)取與外部觸發(fā)的事件相關(guān)聯(lián)的數(shù)據(jù)/指令的方法

文檔序號:6401599閱讀:196來源:國知局
專利名稱:預(yù)取與外部觸發(fā)的事件相關(guān)聯(lián)的數(shù)據(jù)/指令的方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及這樣的系統(tǒng),其中諸如在網(wǎng)絡(luò)處理器中的調(diào)度器的外部來源可以中斷用于處理其中數(shù)據(jù)/指令與前一個(gè)任務(wù)無關(guān)的任務(wù)的處理器,本發(fā)明尤其涉及用于預(yù)取外部觸發(fā)的事件相關(guān)聯(lián)的數(shù)據(jù)/指令的方法。
背景技術(shù)
現(xiàn)代微處理器和微處理器核心的效率非常依賴于高速緩沖存儲器的效率,因?yàn)橹噶钛h(huán)時(shí)間比存儲器存取時(shí)間小得多。高速緩沖存儲器利用存儲器存取的局部性特點(diǎn),這就是一個(gè)存儲器存取更有可能接近以前的存取的事實(shí)。
高速緩沖存儲器包含一個(gè)機(jī)構(gòu),即高速緩沖存儲器控制器,用于向所選擇的區(qū)域(高速緩沖存儲器線)裝載新的內(nèi)容,并且為了如此,高速緩沖存儲器通過丟棄舊的輸入項(xiàng)而為這個(gè)行為留出空間。高速緩沖存儲器控制器當(dāng)前可以被具有高速緩沖存儲器預(yù)取指令的軟件(例如,用于所有符合PowerPC的器件的Data Cache Block Touch(數(shù)據(jù)高速緩沖存儲器塊接觸軟件))激活。而且,存在高速緩沖存儲器控制器識別諸如線性跨距或鏈接的數(shù)據(jù)結(jié)構(gòu)的常規(guī)存取模式的建議。不幸的是,現(xiàn)有的方法不涵蓋外部觸發(fā)的事件,其中在這些情形中所需要的存儲器內(nèi)容與前面的處理無關(guān)。在這樣的情況下,對關(guān)于所需要的存儲器內(nèi)容的唯一了解是諸如中斷源的事件源、分配任務(wù)的調(diào)度器或其他處理器。
在其中諸如在網(wǎng)絡(luò)處理器中的調(diào)度器的外部來源可以中斷用于處理與在先處理的數(shù)據(jù)無關(guān)的數(shù)據(jù)的系統(tǒng)中,所述處理器產(chǎn)生一個(gè)高速緩存命中遺漏(cache miss)。這意味著處理器停止處理直到它需要的數(shù)據(jù)從存儲器被裝載到高速緩沖存儲器中。這浪費(fèi)了相當(dāng)多的時(shí)間。因此,對于當(dāng)前的存儲器技術(shù)和400MHz的處理器時(shí)鐘速度,每個(gè)高速緩存命中遺漏涉及36個(gè)處理器時(shí)鐘周期,這意味著大約40個(gè)指令。因?yàn)楫?dāng)前的技術(shù)趨勢顯示出處理器指令速率的增長比存儲器延時(shí)更強(qiáng)。因此每個(gè)高速緩存命中遺漏的損失指令數(shù)量增加。

發(fā)明內(nèi)容
因此,本發(fā)明的主要目的是實(shí)現(xiàn)一種方法,用于預(yù)取與外部觸發(fā)事件相關(guān)聯(lián)的數(shù)據(jù)/指令,以便避免對于可以容易地確定地址的數(shù)據(jù)的高速緩存命中遺漏。
本發(fā)明因此涉及用于在一個(gè)系統(tǒng)中預(yù)取與外部觸發(fā)事件相關(guān)聯(lián)的數(shù)據(jù)/指令的方法,所述系統(tǒng)包括基礎(chǔ)結(jié)構(gòu),它具有用于接收要由所述基礎(chǔ)結(jié)構(gòu)處理的數(shù)據(jù)/指令的輸入接口、用于在數(shù)據(jù)已經(jīng)被處理之后發(fā)送它們的輸出接口;存儲器,用于當(dāng)數(shù)據(jù)/指令被輸入接口接收時(shí)存儲數(shù)據(jù)/指令;處理器,用于處理至少一些數(shù)據(jù)/指令,所述處理器具有高速緩沖存儲器,其中數(shù)據(jù)/指令在被處理之前被存儲;外部來源,用于向處理器分配序列任務(wù)。所述方法包括下列步驟,這些步驟當(dāng)處理器在執(zhí)行前一個(gè)任務(wù)時(shí)被執(zhí)行確定要由處理器處理的數(shù)據(jù)/指令在存儲器中的位置;向高速緩沖存儲器指示這些存儲器位置的地址;取得存儲器位置的內(nèi)容和將它們寫入高速緩沖存儲器中;向處理器分配處理數(shù)據(jù)/指令的任務(wù)。


通過結(jié)合附圖閱讀下面對本發(fā)明更具體的說明,可以更好地明白本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn),其中圖1是其中實(shí)現(xiàn)根據(jù)本發(fā)明的方法的網(wǎng)絡(luò)處理系統(tǒng)的方框圖。
圖2是表示根據(jù)本發(fā)明的方法的步驟的流程圖。
具體實(shí)施例方式
這樣的系統(tǒng)包括處理器核心10,諸如配備了數(shù)據(jù)/指令高速緩沖存儲器的PowerPC處理器核心。所述系統(tǒng)由高性能總線12構(gòu)造,所述高性能總線12諸如處理器局域總線(PLB),它提供到外部存儲器14(例如SDRAM)的連接,所述外部存儲器14包括數(shù)據(jù)以及存儲器控制器16的中介的指令,存儲器控制器16通過產(chǎn)生例如所有必要的定時(shí)、刷新信號等來提供總線結(jié)構(gòu)與存儲器的無關(guān)性。
總線12和存儲器14也被基礎(chǔ)結(jié)構(gòu)18使用,基礎(chǔ)結(jié)構(gòu)18處理在輸入接口20上從網(wǎng)絡(luò)接收的數(shù)據(jù)分組。基礎(chǔ)結(jié)構(gòu)18管理包括分組組裝、存儲器分配和釋放以及從分組隊(duì)列的插入和刪除的接收和發(fā)送。
一些分組不需要被處理,并且被輸出接口22通過網(wǎng)絡(luò)直接被發(fā)送。其它的分組需要被處理器10處理。一個(gè)查找和分類單元24進(jìn)行確定是否一個(gè)分組需要被處理和那種處理需要被執(zhí)行。為了處理一個(gè)數(shù)據(jù)分組,處理器10需要幾個(gè)信息。為此,它需要訪問分組的首標(biāo)和在基礎(chǔ)結(jié)構(gòu)18中產(chǎn)生的附加信息。例如,所述基礎(chǔ)結(jié)構(gòu)可能具有分組可以到達(dá)的幾個(gè)端口,并且處理器需要分組來自何方的信息。
調(diào)度器26處理在一個(gè)或幾個(gè)隊(duì)列中需要被處理器處理的所有數(shù)據(jù)分組。這些隊(duì)列不必在調(diào)度器中物理地存在。至少每個(gè)隊(duì)列的前面的項(xiàng)目需要被存儲在芯片上。這個(gè)調(diào)度器記錄處理器行為。當(dāng)處理器已經(jīng)結(jié)束處理一個(gè)分組時(shí),它向調(diào)度器請求新的任務(wù)。但是,如果管理具有不同優(yōu)先級的幾個(gè)隊(duì)列,則調(diào)度器26也可以中斷處理器對低優(yōu)先級的任務(wù)的處理而處理較高優(yōu)先級的任務(wù)。
在任何情況下,調(diào)度器26知道處理器10將要處理的下一個(gè)任務(wù)。所選擇的任務(wù)確定將訪問哪個(gè)數(shù)據(jù)。在這里所述的網(wǎng)絡(luò)處理器的情況下,在任務(wù)(隊(duì)列的項(xiàng)目)和首先被訪問的地址、即分組首標(biāo)和附加信息之間的關(guān)系很簡單。由地址計(jì)算單元來進(jìn)行從隊(duì)列項(xiàng)目向一組地址的翻譯。
當(dāng)處理器10處理新的分組和訪問諸如分組首標(biāo)的數(shù)據(jù)時(shí),如果不使用本發(fā)明則它通常產(chǎn)生一個(gè)高速緩存命中遺漏。這意味著處理器將停止處理,直到從外部存儲器14向高速緩沖存儲器裝載所需要的數(shù)據(jù),如上所述,這浪費(fèi)了大量的時(shí)間。根據(jù)本發(fā)明的高速緩沖存儲器預(yù)取避免了肯定要發(fā)生的數(shù)據(jù)訪問的高速緩沖命中遺漏,并且可以容易地確定高速緩沖命中遺漏的地址。
為了起作用,必須指令高速緩沖存儲器在訪問發(fā)生前裝載所需要的數(shù)據(jù)。這個(gè)行為的啟動來自調(diào)度器,調(diào)度器使用到高速緩沖存儲器的直接連接28。在已經(jīng)確定其中已經(jīng)存儲了分組首標(biāo)和附加信息的存儲器中的位置之后,調(diào)度器分配要抓取到高速緩沖存儲器的地址,并且高速緩沖存儲器控制器將所述數(shù)據(jù)從存儲器抓取高速緩沖存儲器中。在完成這個(gè)寫入后,或者調(diào)度器中斷處理器并且當(dāng)新的任務(wù)具有比前一個(gè)任務(wù)更高的優(yōu)先級時(shí)分配新的分組來用于處理,或者調(diào)度器在遞送新的分組之前等待前一個(gè)任務(wù)的完成。
根據(jù)本發(fā)明的方法由圖2所示的流程圖表示。首先,所述基礎(chǔ)結(jié)構(gòu)等待接收新的數(shù)據(jù),即在所述示例中的數(shù)據(jù)分組(步驟30)。分組的首標(biāo)用于分類,并且從所述查找和分類單元的處理得到的首標(biāo)和附加信息被存儲在外部存儲器中(步驟32)。所述查找和分類單元確定是否分組需要由軟件處理,并且確定其優(yōu)先級(步驟34)。如果分組不需要處理,處理循環(huán)回到等待接收新的數(shù)據(jù)(步驟30)。
當(dāng)數(shù)據(jù)分組需要處理時(shí),調(diào)度器需要計(jì)算對應(yīng)于處理器將要訪問的數(shù)據(jù)的存儲器中的地址。在所述示例中,它是分組首標(biāo)的地址和諸如分類器結(jié)果、輸入端口的附加信息的地址(步驟36)。這些地址然后被傳送到處理器的數(shù)據(jù)高速緩沖存儲器控制器(步驟38)。數(shù)據(jù)高速緩沖存儲器控制器向數(shù)據(jù)高速緩沖存儲器中寫入對應(yīng)的數(shù)據(jù)(步驟40)。這是通過交錯(cuò)由當(dāng)前的分組處理建立的存儲器存取而進(jìn)行的。
在這個(gè)階段,處理取決于是否剛剛到達(dá)的分組比前一個(gè)具有較高優(yōu)先級(步驟42)。如果這樣,調(diào)度器中斷由處理器當(dāng)前執(zhí)行的前一個(gè)任務(wù)(步驟44),并且分配新的分組來用于處理,并且處理器開始處理和找到在高速緩沖存儲器中的相關(guān)數(shù)據(jù)(步驟46)。如果新的分組不比前一個(gè)具有較高的優(yōu)先級,則處理器必須在處理新的分組(步驟48)之前完成前一個(gè)處理(步驟46)。
注意,如果分組具有較高優(yōu)先級的情況下,調(diào)度器需要在中斷處理器之前等待完成數(shù)據(jù)高速緩沖存儲器的抓取。為此,調(diào)度器可以觀察在總線上的行為,并且等待直到所有的被分配訪問已經(jīng)被完成?;蛘?,調(diào)度器可以等待固定數(shù)量的時(shí)間,或者可以使用從高速緩沖存儲器控制器到調(diào)度器的直接反饋。
也必須注意,對于其中如上所述第一分組的處理被中斷以便處理第二較高優(yōu)先級分組的兩個(gè)分組,應(yīng)當(dāng)在兩個(gè)情況下都發(fā)生在高速緩沖存儲器的不相交的部分上。否則,預(yù)取的數(shù)據(jù)在它被訪問之前可以被刪除。這可以通過使用在處理器中從虛擬地址到實(shí)際地址的映射來被實(shí)現(xiàn),因?yàn)橥ǔJ褂锰摂M地址來索引高速緩沖存儲器。
雖然已經(jīng)在網(wǎng)絡(luò)處理器環(huán)境中說明了本發(fā)明的方法,本領(lǐng)域中的技術(shù)人員可以清楚,所述方法可以用于這樣的任何系統(tǒng),其中由處理器對一些數(shù)據(jù)的訪問肯定發(fā)生,并且可以容易地確定其地址。在所有的情況下,外部事件與要處理的一些數(shù)據(jù)連接。因此,假定在使用照相機(jī)來用于導(dǎo)航的機(jī)器人中,新的圖像以常規(guī)的時(shí)間間隔到達(dá)。圖像的到達(dá)是事件,而圖像數(shù)據(jù)本身是被預(yù)取的相關(guān)聯(lián)數(shù)據(jù)。
必須注意,對于標(biāo)準(zhǔn)的微處理器,可以使用地址總線來作為外部來源,因?yàn)樗呀?jīng)被觀察用于超高速緩存相關(guān)性。在這種情況下,僅僅需要一個(gè)外部連線來指示預(yù)取請求。
權(quán)利要求
1.在一個(gè)系統(tǒng)中預(yù)取與外部觸發(fā)事件相關(guān)聯(lián)的數(shù)據(jù)/指令的方法,所述系統(tǒng)包括基礎(chǔ)結(jié)構(gòu)(18),它具有用于接收要由所述基礎(chǔ)結(jié)構(gòu)處理的數(shù)據(jù)/指令的輸入接口(20)、用于在數(shù)據(jù)已經(jīng)被處理之后發(fā)送它們的輸出接口(22);存儲器(14),用于當(dāng)數(shù)據(jù)/指令被所述輸入接口接收時(shí)存儲數(shù)據(jù)/指令;處理器(10),用于處理至少一些所述數(shù)據(jù)/指令,所述處理器具有高速緩沖存儲器,其中數(shù)據(jù)/指令在被處理之前被存儲;外部來源(26),用于向所述處理器分配序列任務(wù);所述方法的特征在于,它包括下列步驟,這些步驟當(dāng)處理器在執(zhí)行前一個(gè)任務(wù)時(shí)被執(zhí)行確定要由所述處理器處理的數(shù)據(jù)/指令在所述存儲器中的位置;向所述高速緩沖存儲器指示所述存儲器位置的地址;取得所述存儲器位置的內(nèi)容和將它們寫入所述高速緩沖存儲器中;向所述處理器分配處理所述數(shù)據(jù)/指令的任務(wù)。
2.如權(quán)利要求1所述的方法,其中所述處理器(10)是網(wǎng)絡(luò)處理器,并且要處理的數(shù)據(jù)在由所述基礎(chǔ)結(jié)構(gòu)(18)接收的數(shù)據(jù)分組的首標(biāo)中。
3.如權(quán)利要求2所述的方法,其中所述外部來源是一個(gè)直接連接到所述處理器(10)中的所述高速緩沖存儲器的調(diào)度器(26),所述調(diào)度器確定要處理的數(shù)據(jù)/指令在所述存儲器(14)中的位置,并且向所述高速緩沖存儲器直接指示所述地址。
4.如權(quán)利要求3所述的方法,其中所述調(diào)度器(26)通過計(jì)算所述地址來確定在所述存儲器(14)中的所述數(shù)據(jù)/指令的位置。
5.如權(quán)利要求2-4的任何一個(gè)所述的方法,其中分配處理所述預(yù)取數(shù)據(jù)/指令的任務(wù)的步驟包括中斷前一個(gè)分組的處理,開始比所述前一個(gè)分組具有更高優(yōu)先級的新的分組的處理。
6.如權(quán)利要求3-5的任何一個(gè)所述的方法,其中所述高速緩沖存儲器與一個(gè)高速緩沖存儲器控制器相關(guān)聯(lián),所述高速緩沖存儲器控制器負(fù)責(zé)獲取其地址已經(jīng)被所述調(diào)度器(26)確定的所述存儲器位置的內(nèi)容,并且將它們寫入所述高速緩沖存儲器中。
7.如權(quán)利要求5所述的方法,其中所述處理器(10)和所述調(diào)度器(26)使用一個(gè)處理器局域總線(PLB),所述調(diào)度器在確定完成數(shù)據(jù)高速緩沖存儲器獲取后中斷所述處理器,其中通過當(dāng)數(shù)據(jù)從所述存儲器(14)返回時(shí)監(jiān)控所述總線和精確地觀察來完成數(shù)據(jù)高速緩沖存儲器獲取。
8.一種系統(tǒng),包括被適配來實(shí)現(xiàn)按照權(quán)利要求1-7的方法的步驟的裝置。
全文摘要
本發(fā)明涉及在系統(tǒng)中預(yù)取與外部觸發(fā)事件相關(guān)聯(lián)的數(shù)據(jù)/指令的方法,所述系統(tǒng)包括基礎(chǔ)結(jié)構(gòu)(18),它具有用于接收要由所述基礎(chǔ)結(jié)構(gòu)處理的數(shù)據(jù)/指令的輸入接口(20)和用于在數(shù)據(jù)已被處理之后發(fā)送它們的輸出接口(22);存儲器(14),用于當(dāng)數(shù)據(jù)/指令被所述輸入接口接收時(shí)存儲數(shù)據(jù)/指令;處理器(10),用于處理至少一些所述數(shù)據(jù)/指令,所述處理器具有高速緩沖存儲器,其中數(shù)據(jù)/指令在被處理之前被存儲;外部來源(26),用于向所述處理器分配序列任務(wù)。所述方法包括下列步驟,這些步驟當(dāng)處理器在執(zhí)行前一個(gè)任務(wù)時(shí)被執(zhí)行確定要由處理器處理的數(shù)據(jù)/指令在存儲器中的位置;向高速緩沖存儲器指示這些存儲器位置的地址;取得存儲器位置的內(nèi)容和將它們寫入高速緩沖存儲器中;向處理器分配處理數(shù)據(jù)/指令的任務(wù)。
文檔編號G06F9/38GK1698031SQ03801236
公開日2005年11月16日 申請日期2003年2月27日 優(yōu)先權(quán)日2002年3月5日
發(fā)明者安德烈亞斯·多林 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
宾阳县| 太和县| 凤翔县| 图们市| 高陵县| 昌都县| 井冈山市| 凌云县| 海伦市| 乌海市| 宜良县| 玉树县| 丰宁| 巴林右旗| 磐安县| 大理市| 璧山县| 泸水县| 富锦市| 新巴尔虎左旗| 子长县| 阿坝县| 闵行区| 富民县| 绵竹市| 崇州市| 湖南省| 焦作市| 武隆县| 崇义县| 广昌县| 洛南县| 阜阳市| 丽水市| 拉孜县| 太仓市| 卓资县| 新沂市| 德惠市| 沂源县| 琼中|