專利名稱:可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)及方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種存取指令與資料的結(jié)構(gòu)及方法,尤指一種可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)及方法。
背景技術(shù):
在現(xiàn)今的電腦系統(tǒng)的處理機(jī)的結(jié)構(gòu)中,由于處理機(jī)核心的處理速度大幅提高,而使存儲器的存取成為效能的瓶頸,因此,快取(Cache)結(jié)構(gòu)便成為一重要的改善方式。快取是將以固定長度的數(shù)個指令或數(shù)筆資料的長度為一單位來存取存儲器,此一單位稱為一快取叢(Cache Line)。此快取叢的大小則與存儲器的存取單位有關(guān)。例如,在現(xiàn)今許多具有突發(fā)傳輸(Burst Transfer)的能力的存儲器中,其資料存取的進(jìn)行可以只需給定一次地址與各項(xiàng)相關(guān)設(shè)定后,連續(xù)送出指定的突發(fā)長度(Burst Length)的資料串,因而減少在傳送資料的前的設(shè)定所花的初始化延遲(InitialDelay)時間。而在此種存儲器中,快取叢的大小即相關(guān)于突發(fā)長度(BurstLength)的大小。
圖1即顯示一具有前述的快取功能的處理機(jī)結(jié)構(gòu),其中,在處理機(jī)運(yùn)作時,若所需的指令或資料所屬的快取叢正好在快取模組11中時,處理機(jī)核心14就可以快速取得該指令,而無時間延遲,或是時間延遲極低。然而,若是所需的指令或是資料不在快取模組11中,則發(fā)生快取漏失(Cache Miss),此時必須從外界存儲器13讀入所需的資料,此動作稱作快取填回(Cache Refill)。由于整個快取叢皆需讀入置于快取模組11中,會造成的相當(dāng)高的系統(tǒng)延遲,稱為快取漏失懲罰(Cache MissPenalty)。
快取漏失懲罰常在處理機(jī)第一次執(zhí)行存取到某一程序碼段或資料段時連續(xù)出現(xiàn),因而嚴(yán)重影響系統(tǒng)效能。為解決此一問題,預(yù)取(Prefetch)便成提高效率的重要技巧。如圖2所示,其是以預(yù)取模組12來預(yù)測處理機(jī)核心14接下來可能需要使用到的程序碼區(qū)或資料區(qū)域,而預(yù)先將此區(qū)域讀入預(yù)取模組12內(nèi)。一旦處理機(jī)核心14發(fā)現(xiàn)無法從快取模組11中取得所需的指令或資料而發(fā)生快取漏失時,即可以在預(yù)取模組12搜尋。若所需的指令或資料已經(jīng)被預(yù)先取入預(yù)取模組12,即可以從預(yù)取模組12中,將所需的快取叢讀入快取模組11內(nèi),因而大幅減少快取漏失懲罰時所需的代價。但若所需的指令或資料亦不在預(yù)取模組12,則會發(fā)生預(yù)取漏失(Prefetch Miss),而仍然必需至外界存儲器13中取得所需的快取叢。亦有相當(dāng)高的系統(tǒng)延遲,稱為預(yù)取漏失懲罰(Prefetch Miss Penalty)。
前述的預(yù)取模組12在計(jì)算機(jī)組織中介于外部記憶儲存裝置13、快取模組11與處理機(jī)核心14之間,傳統(tǒng)的結(jié)構(gòu)均直接延用快取模組11的組態(tài),而使用同于快取叢的資料長度,也就是動態(tài)存儲器突發(fā)傳輸長度作為資料傳輸單位。然而,由于預(yù)取模組12與快取模組11以及處理機(jī)核心14之間并非動態(tài)存儲器的介面,因此并不需要以快取叢作為資料傳輸單位。以快取叢作為資料傳輸單位,反而會使得資料傳輸時遲滯而不靈活。
具體而言,在具有快取模組11與預(yù)取模組12的處理機(jī)結(jié)構(gòu)中,模組間具有三個主要介面。第一介面15為外部介面,其銜接外部記憶儲存裝置13。第二介面16為預(yù)取模組12與快取模組11介面。第三介面17為快取模組11與處理器核心14介面,此介面17用以將快取模組中的指令與資料送入處理器。傳統(tǒng)上,在第一、二介面15及16中,是使用相同于快取叢的資料長度作為資料傳輸單位,而第三介面17的資料存取,若與第一、二介面的存取相關(guān)時,也多需要等待快取叢的資料長度存取完成后,才能進(jìn)行動作。然而,快取叢的資料長度并不一定是預(yù)取模組16與外部記憶儲存裝置13、快取模組11(快取存儲器)與處理機(jī)核心14之間最佳的傳輸資料單位。因?yàn)榭烊驳拇笮。烊∧=M11的存儲器組織結(jié)構(gòu)相關(guān),在處理機(jī)執(zhí)行過程中,快取叢的大小固定。然而,在處理機(jī)實(shí)際執(zhí)行程序,在擷取指令和存取資料時,其行為模式不斷的動態(tài)改變。以固定的快取叢的資料長度作為資料傳輸單位,難以對各種狀況作最佳化,會在不同狀況下發(fā)生不經(jīng)濟(jì)的資源浪費(fèi)。
如圖3的時序圖所示,為說明方便起見,假設(shè)處理機(jī)核心12需求指令或資料(Instruction/Data)的順序是由#0指令或資料起循序執(zhí)行,初始化延遲在圖中標(biāo)示為Init,由預(yù)取模組12所取得的指令或資料先送進(jìn)快取模組11,再由快取模組11送進(jìn)處理機(jī)核心14(CPU core)。因#0指令或資料的讀取需求引發(fā)快取漏失,需等待預(yù)取模組12完成對外界存儲器裝置13的讀取動作,將資料傳至快取模組11,才能讓處理機(jī)核心14取得所需的指令或資料。在#4指令或資料的讀取需求引發(fā)快取漏失,此時由于預(yù)取模組的作用發(fā)揮,所以不再需要等待對外界存儲器裝置13的讀取動作,直接由預(yù)取模組12將資料傳至快取模組11,再由處理機(jī)核心14取得所需的指令或資料。
圖4顯示另一范例時序圖,其假設(shè)現(xiàn)今有一讀取指令或資料的序列,在#2指令或資料的讀取需求后,即跳到#80指令或資料的讀取,因讀取#80指令或資料的需求引發(fā)快取漏失,然而因?yàn)?80指令或資料并非預(yù)取模組12中已讀到的#4-#7的指令或資料,因而進(jìn)一步發(fā)生預(yù)取漏失,原預(yù)取模組12中的資料需舍棄。且預(yù)取模組12須再啟動一次完成對外界存儲器裝置13的讀取動作,將資料傳至快取模組11,才能讓處理機(jī)核心14取得所需的指令或資料。此一延宕,讓處理機(jī)核心14停頓而嚴(yán)重影響效能。由此可知,前述現(xiàn)有的指令與資料存取的結(jié)構(gòu)仍有予以改進(jìn)的必要。
發(fā)明人爰因于此,本于積極發(fā)明的精神,亟思一種可以解決上述問題的“可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)及方法”,幾經(jīng)研究實(shí)驗(yàn)終至完成此項(xiàng)嘉惠世人的發(fā)明。
發(fā)明內(nèi)容
本發(fā)明的主要目的是在提供一種可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)及方法,其可在預(yù)取漏失而由外部存儲器讀取指令或資料時,先行將所需的指令或資料移轉(zhuǎn)至處理機(jī)核心,以達(dá)到指令與資料存取效能的最佳化。
依據(jù)本發(fā)明的一特色,所提出的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)主要包括一處理機(jī)核心,其具有突發(fā)傳輸?shù)哪芰?,可以連續(xù)送出指定的突發(fā)長度的資料串來進(jìn)行存取資料;一快取模組,儲存有來自一外部存儲器裝置的郊份指令與資料,而提供一可供該處理機(jī)核心快速存取指令與資料的存儲空間;一預(yù)取模組,是用以預(yù)測該處理機(jī)核心將來可能需要使用到的指令與資料,而預(yù)先將此指令與資料由該外部存儲器裝置讀入;一切換器,是用以切換該處理機(jī)核心連通至該快取模組或該預(yù)取模組;以及,一暫存及移轉(zhuǎn)控制器,是偵測該預(yù)取模組與外部存儲器裝置介面的資料存取行為,以在該預(yù)取模組利用突發(fā)傳輸來傳輸資料時,驅(qū)動該切換器使該預(yù)取模組連通至該處理機(jī)核心,使得由該外部存儲器裝置傳輸至該預(yù)取模組的資料亦一并傳輸至該處理機(jī)核心。
其中,該切換器在一般的狀態(tài)下,是切換該處理機(jī)核心連通至該快取模組。
其中,該處理機(jī)核心是以單一指令或資料為傳輸單位,而快取模組及預(yù)取模組是以數(shù)個指令或資料為一次連續(xù)傳輸單位,該暫存及移轉(zhuǎn)控制器是在該預(yù)取模組單一傳輸單位完成前,將已由外部存儲器裝置取得的指令或資料送入該處理機(jī)核心。
其中,該外部存儲器裝置是為DRAM。
其中,該外部存儲器裝置是為SRAM。
依據(jù)本發(fā)明的另一特色,所提出的可暫存及移轉(zhuǎn)指令與資料的存取方法是用以在具有處理機(jī)核心、快取模組、與預(yù)取模組的處理機(jī)結(jié)構(gòu)中,存取一外部存儲器裝置的指爭與資料,該處理機(jī)核心具有突發(fā)傳輸?shù)哪芰?,可以一突發(fā)單位來進(jìn)行存取資料,該快取模組儲存有來自該外部存儲器裝置的部份指令與資料,而提供一可供該處理機(jī)核心快速存取指令與資料的存儲空間,該預(yù)取模組可預(yù)測該處理機(jī)核心將來可能需要使用到的指令與資料,而預(yù)先將此指令與資料由該外部存儲器裝置讀入,該方法包括步驟(A)該處理機(jī)核心發(fā)出一讀取要求,以一突發(fā)單位來讀取資料或指令,其造成一快取漏失,但預(yù)取命中;(B)如該突發(fā)單位的所有資料已全部載入該預(yù)取模組,則將該預(yù)取模組的該指令或資料送入該處理機(jī)核心;(C)如該突發(fā)單位的所有資料尚未全部載入該預(yù)取模組,且所要讀取的指令或資料已經(jīng)讀入該預(yù)取模組,則將該預(yù)取模組的該指令或資料送入處理機(jī)核心;以及(D)如該突發(fā)單位的所有資料尚未全部載入該預(yù)取模組,且所要讀取的指令或資料尚未讀入該預(yù)取模組,則等待該所需的指令或資料讀入后,再將該預(yù)取模組的該指令或資料送入處理機(jī)核心。
由于本發(fā)明構(gòu)造新穎,能提供產(chǎn)業(yè)上利用,且確有增進(jìn)功效,故依法申請發(fā)明專利。
為能審查員能更了解本發(fā)明的技術(shù)內(nèi)容,特舉一較佳具體實(shí)施例及
如下,其中圖1是顯示一具有快取功能的現(xiàn)有處理機(jī)結(jié)構(gòu)。
圖2是顯示一具有快取及預(yù)取功能的現(xiàn)有處理機(jī)結(jié)構(gòu)。
圖3是顯示圖2的處理機(jī)結(jié)構(gòu)的一工作時序圖。
圖4是顯示圖2的處理機(jī)結(jié)構(gòu)的另一工作時序圖。
圖5是顯示本發(fā)明的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)。
圖6是顯示以本發(fā)明的可暫存及移轉(zhuǎn)指令與資料的存取方法的控制流程。
圖7是顯示依據(jù)本發(fā)明的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)的一工作時序圖。
圖8是顯示依據(jù)本發(fā)明的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)的另一工作時序圖。
具體實(shí)施例方式
圖5顯示本發(fā)明的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu),其包括一處理機(jī)核心51、一快取模組52、一預(yù)取模組53、一暫存及移轉(zhuǎn)控制器54、一切換器55 及一外部存儲器裝置56,以一微處理器結(jié)構(gòu)為例,該外部存儲器裝置56是為DRAM或SRAM的存儲器,該處理機(jī)核心51則具有突發(fā)傳輸(Burst Transfer)的能力,可以連續(xù)送出指定的突發(fā)長度(Burst Length)的資料串來進(jìn)行存取資料。
前述快取模組52用以儲存有來自外部存儲器裝置56的部份指令與資料,而提供一可供處理機(jī)核心51快速存取指令與資料的存儲空間,前述預(yù)取模組53是用以預(yù)測處理機(jī)核心14將來可能需要使用到的指令與資料,而預(yù)先將此指令與資料讀入預(yù)取模組53,如圖所示,該。預(yù)取模組53主要包括一預(yù)取控制單元531、一緩沖器532及一快速通行線路533,前述緩沖器532是用以預(yù)存可能需要使用到的指令與資料,前述快速通行線路533是例如為一多工器,其可在該預(yù)取控制單元531的控制下,將預(yù)存的指令與資料送出至切換器55。
前述切換器55是由該暫存及移轉(zhuǎn)控制器54所控制,以切換該處理機(jī)核心51連通至該快取模組52或該預(yù)取模組53,在一般的狀態(tài),該切換器55是切換該處理機(jī)核心51連通至該快取模組52。該暫存及移轉(zhuǎn)控制器54是偵測處理器核心51的存取要求(Request)所需指令或資料的地址,當(dāng)處理器核心51發(fā)出存取要求時,暫存及移轉(zhuǎn)控制器54會檢查儲存于快取模組52與預(yù)取模組53內(nèi),是否存有該地址所指示的有效指令或資料,參照圖6所示,其控制流程包含如下的步驟步驟S601對于處理器核心51的存取要求,其首先檢查是否為讀取要求;步驟S602若處理器核心51是要寫出資料,則直接送往快取模組52或存儲器裝置56處理;步驟S603若處理器核心51是要讀取資料,則將讀取地址送往暫存及移轉(zhuǎn)控制器54;步驟S604該暫存及轉(zhuǎn)移控制器54查詢此地址在快取模組52與預(yù)取模組53內(nèi),是否存有該位該地址所指示的有效指令或資料,如是,表示為“快取命中”狀態(tài),執(zhí)行步驟S605;步驟S605快取模組52送出該指令或資料,切換器55將來自快取模組52的指令或資料送入處理機(jī)核心51;若步驟S604判斷該資料或指令不在快取模組,或者離然存在,但非有效狀態(tài),則為“快取漏失”狀態(tài),則執(zhí)行以下的步驟步驟S606檢查該資料或指令所屬的突發(fā)單位(Burst)是否在預(yù)取模組中,若無,則表示同時亦為“預(yù)取漏失”狀態(tài),此時啟動預(yù)取漏失程序;若有,即為“預(yù)取命中”狀態(tài)。
在預(yù)取命中的狀況下,依據(jù)步驟S607、S607及S608的判斷,預(yù)取模組53可能有下列狀況(a)資料或指令所屬的Burst的所有資料,已全部載入預(yù)取模組53(步驟S607為是);而且預(yù)取模組53并未處于傳輸資料給快取模組52的狀態(tài)(步驟S608為否)。于此狀況,因?yàn)榇藭r預(yù)取模組53內(nèi)的存儲器并未有任何其他的讀寫動作,故預(yù)取模組53可以送出該指令或資料;而切換器55可將來自預(yù)取模組53的指令或資料送入處理機(jī)核心51。
(b)資料或指令所屬的Burst的所有資料,尚未全部載入預(yù)取模組53(步驟S607為否)。其又可分兩種狀況(b1)所需要的該筆指令或資料已經(jīng)讀入預(yù)取模組53(步驟S609為是),此時切換器55可將來自預(yù)取模組53的指令或資料送入處理機(jī)核心51;(b2)所需要的該筆指令或資料尚未讀入預(yù)取模組53(步驟S609為否),此時尚需等待,直到該筆所需的指令或資料讀入,的后,切換器55將來自預(yù)取模組53的該指令或資料送入處理機(jī)核心51。舉例來說,假設(shè)突發(fā)長度(Burst Length)為8,現(xiàn)在所需的資料是此Burst的第4筆。然而當(dāng)處理器核心提出讀取資料需求時,預(yù)取模組才剛讀取到此Burst的第2筆。此時需等待兩個時脈周期,等到此Burst的第4筆由存儲器裝置56讀入預(yù)取模組53的同時,也一并透過快速通行線路533,同時饋送往切換器55以進(jìn)入處理機(jī)核心51。對一般傳統(tǒng)結(jié)構(gòu)而言,需要等待到全部的Burst讀取完成后才能饋送,亦即至少要等七個時脈周期后才能進(jìn)行饋送,因此,本發(fā)明所揭示的方法明顯較有效率。
(c)預(yù)取模組53正處于傳輸資料給快取模組52的狀態(tài)(步驟S608為是)。因?yàn)楸景l(fā)明的快速通行線路533為一獨(dú)立的讀出埠,其不會影響到預(yù)取模組53傳輸資料給快取模組52的資料讀出動作。故此時仍可送出該指令或資料,切換器55將來自預(yù)取模組53的指令或資料送入處理機(jī)核心51。在傳統(tǒng)結(jié)構(gòu)中,則需將整個快取叢長度的資料從預(yù)取模組傳輸資料給快取模組,處理器核心才能從快取模組取得資料或指令,如此耗時甚久,浪費(fèi)時間。因此可得知本發(fā)明的方法明顯較有效率。
由以上的方法,處理機(jī)核心51可無需等待資料由外部存儲器裝置56傳輸至預(yù)取模組53、再由預(yù)取模組53傳輸至快取模組52、最后由快取模組52傳輸至處理機(jī)核心51的冗長過程。
以前述的結(jié)構(gòu),因處理機(jī)核心51是以單一指令或資料為單位,而快取模組52及預(yù)取模組53是以數(shù)個指令資料為一次連續(xù)傳輸單位,因此,此暫存及移轉(zhuǎn)控制器54可以在快取模組52及預(yù)取模組53單一傳輸單位完成前,將已由外界取得的指令或資料送入處理機(jī)核心51。例如,假設(shè)由外部存儲器裝置56傳輸至預(yù)取模組53的突發(fā)傳輸長度為八個指令長度,然而若此時處理機(jī)核心51需要該次突發(fā)傳輸中前二個指令,在如圖2所示的現(xiàn)有結(jié)構(gòu)中,預(yù)取模組1的必須在第一介面15中等待傳完八個指令長度的突發(fā)傳輸,處理機(jī)核心14才能透過第二介面16來取得前四個指令。然而在圖5所示的本發(fā)明的結(jié)構(gòu)中,在預(yù)取模組53接收到突發(fā)傳輸?shù)陌藗€指令的前四個指令后,暫存及移轉(zhuǎn)控制器54即可控制切換器55而傳送資料給處理機(jī)核心51。
圖7顯示一范例時序圖,其假設(shè)處理機(jī)核心51需求指令或資料的順序是由#0指令或資料起循序執(zhí)行,初始化延遲在圖中標(biāo)示為Init。其中,當(dāng)#0指令或資料的讀取需求引發(fā)快取漏失,而預(yù)取模組53進(jìn)行對外界存儲器裝置56讀取#0、#1、#2、#3指令或資料時,該暫存及移轉(zhuǎn)控制器54驅(qū)動切換器55使該預(yù)取模組53連通至該處理機(jī)模組51,以將#0、#1、#2、#3指令或資料傳至處理機(jī)核心51。而在#4指令或資料的讀取需求引發(fā)快取漏失時,此時由于預(yù)取模組53的作用,而無需要等待對外界存儲器裝置56的讀取動作,直接由預(yù)取模組53將資料傳至快取模組52及處理機(jī)核心51。
圖8顯示一不連續(xù)的指令與資料存取的時序圖,其中,有一讀取指令或資料的序列,在#2指令或資料的讀取需求后,即跳到#80指令或資料的讀取。由于從外部存儲器裝置56送至預(yù)取模組53的指令與資料可以快速送入處理機(jī)核心51利用,因而當(dāng)發(fā)生讀取#80指令或資料引發(fā)快取漏失時,尚可及時修正預(yù)取模組53存取資料的地址,因而不致造成預(yù)取漏失。預(yù)取模組53在下一次從外界存儲器讀入指令或資料時,已經(jīng)是正確的#80-#83指令或資料,因而刪去預(yù)取漏失所造成的延誤,而可提高效率。
由以上的說明可知,本發(fā)明由暫存及移轉(zhuǎn)控制器54的調(diào)整,可以在指令或資料尚未完全傳輸?shù)筋A(yù)取模組53前,只要所需的部分資料已經(jīng)可用,即啟動預(yù)取模組53與處理機(jī)核心51間的傳輸,因而大幅所短整體所需時間。
綜上所述,本發(fā)明無論就目的、手段及功效,均不同于現(xiàn)有的技術(shù)持征,實(shí)為一極具實(shí)用價值的發(fā)明。惟應(yīng)注意的是,上述諸多實(shí)施例僅是為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以申請專利范圍所述為準(zhǔn),而非僅限于上述實(shí)施例。
權(quán)利要求
1.一種可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu),用以存取一外部存儲器裝置的指令與資料,其特征在于,該結(jié)構(gòu)主要包括一處理機(jī)核心,其具有突發(fā)傳輸?shù)哪芰?,可以連續(xù)送出指定的突發(fā)長度的資料串來進(jìn)行存取資料;一快取模組,儲存有來自該外部存儲器裝置的部份指令與資料,而提供一可供該處理機(jī)核心快速存取指令與資料的存儲空間;一預(yù)取模組,是用以預(yù)測該處理機(jī)核心將來可能需要使用到的指令與資料,而預(yù)先將此指令與資料由該外部存儲器裝置讀入;一切換器,是用以切換該處理機(jī)核心連通至該快取模組或該預(yù)取模組;以及一暫存及移轉(zhuǎn)控制器,是偵測該預(yù)取模組與外部存儲器裝置介面的資料存取行為,以在該預(yù)取模組利用突發(fā)傳輸來傳輸資料時,驅(qū)動該切換器使該預(yù)取模組連通至該處理機(jī)核心,以使得由該外部存儲器裝置傳輸至該預(yù)取模組的資料亦一并傳輸至該處理機(jī)核心。
2.如權(quán)利要求1所述的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu),其特征在于,其中,該切換器在一般的狀態(tài)下,是切換該處理機(jī)核心連通至該快取模組。
3.如權(quán)利要求2所述的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu),其特征在于,其中,該處理機(jī)核心是以單一指令或資料為傳輸單位,而快取模組及預(yù)取模組是以數(shù)個指令或資料為一次連續(xù)傳輸單位,該暫存及移轉(zhuǎn)控制器是在該預(yù)取模組單一傳輸單位完成前,將已由外部存儲器裝置取得的指令或資料送入該處理機(jī)核心。
4.如權(quán)利要求2所述的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu),其特征在于,其中,該外部存儲器裝置是為DRAM。
5.如權(quán)利要求2所述的可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu),其特征在于,其中,該外部存儲器裝置是為SRAM。
6.一種可暫存及移轉(zhuǎn)指令與資料的存取方法,用以在具有處理機(jī)核心、快取模組、與預(yù)取模組的處理機(jī)結(jié)構(gòu)中,存取一外部存儲器裝置的指令與資料,該處理機(jī)核心具有突發(fā)傳輸?shù)哪芰Γ梢砸煌话l(fā)單位來進(jìn)行存取資料,該快取模組儲存有來自該外部存儲器裝置的部份指令與資料,而提供一可供該處理機(jī)核心快速存取指令與資料的存儲空間,該預(yù)取模組可預(yù)測該處理機(jī)核心將來可能需要使用到的指令與資料,而預(yù)先將此指令與資料由該外部存儲器裝置讀入,其特征在于,該方法包括步驟(A)該處理機(jī)核心發(fā)出一讀取要求,以一突發(fā)單位來讀取資料或指令,其造成一快取漏失,但預(yù)取命中;(B)如該突發(fā)單位的所有資料已全部載入該預(yù)取模組,則將該預(yù)取模組的該指令或資料送入該處理機(jī)核心;(C)如該突發(fā)單位的所有資料尚未全部載入該預(yù)取模組,且所要讀取的指令或資料已經(jīng)讀入該預(yù)取模組,則將該預(yù)取模組的該指令或資料送入處理機(jī)核心;以及(D)如該突發(fā)單位的所有資料尚未全部載入該預(yù)取模組,且所要讀取的指令或資料尚未讀入該預(yù)取模組,則等待該所需的指令或資料讀入后,再將該預(yù)取模組的該指令或資料送入處理機(jī)核心。
全文摘要
本發(fā)明是有關(guān)一種可暫存及移轉(zhuǎn)指令與資料的存取結(jié)構(gòu)及方法,其結(jié)構(gòu)包括有一處理機(jī)核心、一快取模組、一預(yù)取模組、一切換器、及一暫存及移轉(zhuǎn)控制器,該切換器用以切換該處理機(jī)核心連通至該快取模組或該預(yù)取模組,該暫存及移轉(zhuǎn)控制器偵測該預(yù)取模組與外部存儲器裝置介面的資料存取行為,以在該預(yù)取模組利用突發(fā)傳輸來傳輸資料時,驅(qū)動該切換器使該預(yù)取模組連通至該處理機(jī)核心,使得由該外部存儲器裝置傳輸至該預(yù)取模組的資料亦一并傳輸至該處理機(jī)核心。
文檔編號G06F13/00GK1489056SQ02145738
公開日2004年4月14日 申請日期2002年10月8日 優(yōu)先權(quán)日2002年10月8日
發(fā)明者梁伯嵩 申請人:凌陽科技股份有限公司