專利名稱:數(shù)據(jù)預(yù)先提取方法及裝置、計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于一種數(shù)據(jù)提取方法及裝置,且特別有關(guān)于一 種可確保數(shù)據(jù)有效性的數(shù)據(jù)預(yù)先提取方法及裝置。
背景技術(shù):
一般總線裝置要讀取存儲(chǔ)器中的數(shù)據(jù)時(shí),會(huì)通過總線傳送 一個(gè)存儲(chǔ)器存取請(qǐng)求給芯片組。此時(shí),芯片組除了會(huì)到處理器 或存儲(chǔ)器中提取裝置所請(qǐng)求的數(shù)據(jù)外,為了保證讀取速度,還
會(huì)預(yù)先提取(Pre-fetch) —部分?jǐn)?shù)據(jù)并存放于 一個(gè)預(yù)先提取緩 沖器中,借以在總線裝置提出下一個(gè)存儲(chǔ)器存取請(qǐng)求時(shí),能夠 直接以預(yù)先提取的數(shù)據(jù)作回應(yīng),進(jìn)而縮短總線裝置讀取數(shù)據(jù)的 時(shí)間。
以夕卜圍設(shè)備互連(Peripheral Component Interconnect, PCI) 總線上的直接存儲(chǔ)器存取(Direct Memory Access, DMA )引擎 為例,當(dāng)其要讀取存儲(chǔ)器中4個(gè)字節(jié)(Byte)的數(shù)據(jù)時(shí),若數(shù)據(jù) 的地址是在存儲(chǔ)器的buffer
,則芯片組除了會(huì)將buffer
的數(shù) 據(jù)回應(yīng)給DMA引擎外,還可預(yù)先提取64個(gè)字節(jié)的數(shù)據(jù)(除了會(huì) 取到buffer[O],還可能會(huì)取到buffer[l]中的數(shù)據(jù)),并將該數(shù)據(jù) 儲(chǔ)存于預(yù)先提取緩沖器中。據(jù)此,不僅可提供DMA引擎所需的 數(shù)據(jù),存放在預(yù)先提取緩沖器中的數(shù)據(jù)也可在DMA引擎提出下 一個(gè)存儲(chǔ)器存取請(qǐng)求時(shí),直接提供給DMA引擎。
然而,若在DMA引擎提出下一個(gè)存儲(chǔ)器存取請(qǐng)求之前,系 統(tǒng)更新了存儲(chǔ)器中的數(shù)據(jù),則原先由芯片組預(yù)先提取并存放在 預(yù)先提取緩沖器中的數(shù)據(jù)就會(huì)失效。若此時(shí)芯片組仍然使用預(yù) 先提取緩沖器中的失效數(shù)據(jù)來回應(yīng)DMA引擎,勢(shì)必會(huì)造成DMA
5引擎讀取到錯(cuò)誤的數(shù)據(jù)。
對(duì)于上述預(yù)先提取數(shù)據(jù)可能存在錯(cuò)誤的情形,已知技術(shù)提 供了許多對(duì)應(yīng)的解決方案。舉例來說,當(dāng)系統(tǒng)芯片組接收到處
理器對(duì)于存4諸器的寫出周期(CPU to memory write cycle)時(shí),抑 或是偵測到有中斷(Interrupt)發(fā)生時(shí),即可推斷存儲(chǔ)器的數(shù) 據(jù)已被更新,此時(shí)可通過將預(yù)先提取緩沖器中的數(shù)據(jù)宣告無效, 從而避免讀取到錯(cuò)誤的數(shù)據(jù)。
然而,即便已知技術(shù)能夠因應(yīng)上述系統(tǒng)狀態(tài)的改變,適時(shí) 地將預(yù)先提取數(shù)據(jù)宣告無效以避免讀取錯(cuò)誤,但仍有許多情況 是芯片組無法偵測或判斷的,例如處理器本身自我更新內(nèi)部的 快取存儲(chǔ)器(Cache)時(shí),芯片組即無法得知,結(jié)果仍有可能造 成數(shù)據(jù)讀取錯(cuò)誤。
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)據(jù)預(yù)先提取方法,針對(duì)更新周期可預(yù)測 的數(shù)據(jù),設(shè)定預(yù)先提取數(shù)據(jù)的有效時(shí)間,可確保預(yù)先提取數(shù)據(jù) 的有效性。
本發(fā)明提供 一 種數(shù)據(jù)預(yù)先提取裝置,利用計(jì)時(shí)器累計(jì)預(yù)先 提取數(shù)據(jù)的存續(xù)時(shí)間,并在其存續(xù)超過有效時(shí)間時(shí),立即宣告 其失效,從而避免可能的讀取錯(cuò)誤。
本發(fā)明提出一種數(shù)據(jù)預(yù)先提取方法,適用于芯片組。該數(shù) 據(jù)預(yù)先提取方法包括在接收到總線裝置對(duì)于第 一 數(shù)據(jù)的讀取指 令時(shí),預(yù)先提取接續(xù)在第 一數(shù)據(jù)之后的第二數(shù)據(jù)并將該第二數(shù) 據(jù)儲(chǔ)存于緩沖器。同時(shí)也累計(jì)該第二數(shù)據(jù)存放在緩沖器內(nèi)的存 續(xù)時(shí)間,并判斷累計(jì)的上述存續(xù)時(shí)間是否達(dá)到或超過一有效時(shí) 間。而當(dāng)存續(xù)時(shí)間達(dá)到或超過有效時(shí)間時(shí),即宣告預(yù)先提取的 第二數(shù)據(jù)無效。
6本發(fā)明提出一種數(shù)據(jù)預(yù)先提取裝置,其包括緩沖器、計(jì)時(shí) 器及控制器。其中,緩沖器用以儲(chǔ)存由數(shù)據(jù)預(yù)先提取裝置所提 取的數(shù)據(jù)。計(jì)時(shí)器用以累計(jì)數(shù)據(jù)存放在緩沖器內(nèi)的存續(xù)時(shí)間。 控制器耦接至緩沖器及計(jì)時(shí)器,用以在接收到總線裝置對(duì)于第 一數(shù)據(jù)的讀取指令時(shí),預(yù)先提取接續(xù)在第 一數(shù)據(jù)之后的第二數(shù) 據(jù)以將該第二數(shù)據(jù)儲(chǔ)存于緩沖器,并利用計(jì)時(shí)器累計(jì)第二數(shù)據(jù) 存放在緩沖器內(nèi)的存續(xù)時(shí)間,而當(dāng)計(jì)時(shí)器所累計(jì)的存續(xù)時(shí)間達(dá) 到或超過有效時(shí)間時(shí),即將緩沖器所儲(chǔ)存的第二數(shù)據(jù)宣告無效。
本發(fā)明還提出一種計(jì)算機(jī)系統(tǒng),其包括存儲(chǔ)器、芯片組及 總線裝置。其中存儲(chǔ)器儲(chǔ)存第 一 數(shù)據(jù)以及接續(xù)在第 一 數(shù)據(jù)之后 的第二數(shù)據(jù)。芯片組耦接至存儲(chǔ)器??偩€裝置耦接至芯片組。 其中芯片組包括緩沖器、計(jì)時(shí)器及控制器。其中緩沖器儲(chǔ)存從 存儲(chǔ)器所提取的數(shù)據(jù)。計(jì)時(shí)器累計(jì)數(shù)據(jù)存放在緩沖器內(nèi)的存續(xù) 時(shí)間??刂破黢罱又辆彌_器及計(jì)時(shí)器,當(dāng)控制器接收到總線裝 置對(duì)于第 一 數(shù)據(jù)的讀取指令時(shí),預(yù)先提取第二數(shù)據(jù)以將該第二 數(shù)據(jù)儲(chǔ)存于緩沖器,并利用計(jì)時(shí)器累計(jì)第二數(shù)據(jù)存放在緩沖器 內(nèi)的存續(xù)時(shí)間,而當(dāng)計(jì)時(shí)器累計(jì)的存續(xù)時(shí)間達(dá)到或超過有效時(shí) 間時(shí),宣告緩沖器所儲(chǔ)存的第二數(shù)據(jù)無效。
本發(fā)明的數(shù)據(jù)預(yù)先提取方法及裝置根據(jù)數(shù)據(jù)的更新周期設(shè) 定芯片組預(yù)先提取數(shù)據(jù)存續(xù)的安全期間,并在預(yù)先提取數(shù)據(jù)有 可能因?yàn)榇鎯?chǔ)器更新而發(fā)生錯(cuò)誤之前令其失效,從而避免總線 裝置讀取到錯(cuò)誤數(shù)據(jù)。
圖1是依照本發(fā)明 一 實(shí)施例所繪示的數(shù)據(jù)預(yù)先提取裝置方 塊圖。
圖2則是依照本發(fā)明 一 實(shí)施例所繪示的計(jì)算機(jī)系統(tǒng)的方塊圖。
圖3是依照本發(fā)明 一 實(shí)施例所繪示的數(shù)據(jù)預(yù)先提取方法的 流程圖。
圖4是依照本發(fā)明 一 實(shí)施例所繪示的數(shù)據(jù)預(yù)先提取方法的
流程圖。
具體實(shí)施例方式
為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí) 施例,并配合所附圖式作詳細(xì)說明如下。
本發(fā)明針對(duì)更新周期可以預(yù)測的數(shù)據(jù)設(shè)定 一 個(gè)可確保其有 效的期間,并在芯片組中設(shè)置 一 個(gè)計(jì)時(shí)器以累計(jì)預(yù)先提取數(shù)據(jù) 的存續(xù)時(shí)間,而當(dāng)預(yù)先提取數(shù)據(jù)的存續(xù)時(shí)間超過有效時(shí)間而有 可能會(huì)被更新時(shí),即刻令該預(yù)先提取數(shù)據(jù)失效,從而避免總線 裝置讀取到錯(cuò)誤的數(shù)據(jù)。
圖1是依照本發(fā)明 一 實(shí)施例所繪示的數(shù)據(jù)預(yù)先提取裝置方 塊圖,圖2則是依照本發(fā)明一實(shí)施例所繪示的計(jì)算機(jī)系統(tǒng)的方塊 圖。請(qǐng)同時(shí)參照?qǐng)D1及圖2,本實(shí)施例的數(shù)據(jù)預(yù)先提取裝置100 例如是配置在計(jì)算機(jī)系統(tǒng)200的芯片組220中,而與計(jì)算機(jī)系統(tǒng) 200的處理器210中的快取存儲(chǔ)器212以及系統(tǒng)存儲(chǔ)器230相連 接,并通過總線與總線裝置240相連接。
其中,所述的芯片組例如是北橋芯片、南橋芯片或是結(jié)合 南北橋的芯片組;所述的總線例如是外圍設(shè)備互連(Peripheral Component Interconnect, PCI)總線;所述的總線裝置例如是直 接存儲(chǔ)器存取(Direct Memory Access, DMA)引擎,本實(shí)施例 不限定其范圍。
數(shù)據(jù)預(yù)先提取裝置100在總線裝置240提出存儲(chǔ)器存取請(qǐng)求 時(shí),由處理器210的快取存儲(chǔ)器212中,或是由系統(tǒng)存儲(chǔ)器230中預(yù)先提取數(shù)據(jù),以供總線裝置240讀取。數(shù)據(jù)預(yù)先提取裝置100 包括暫存器IIO、緩沖器120、計(jì)時(shí)器130及控制器140,其功能 分述如下
暫存器110儲(chǔ)存用以判斷數(shù)據(jù)是否無效的有效時(shí)間。具體而 言,針對(duì)更新周期固定的數(shù)據(jù)(例如視頻數(shù)據(jù)或音頻數(shù)據(jù)),可 歸納出一個(gè)數(shù)據(jù)的有效時(shí)間。意即,每次總線裝置讀取此類數(shù) 據(jù)之后的這 一 段有效時(shí)間內(nèi)可保證計(jì)算機(jī)系統(tǒng)200不會(huì)再對(duì)數(shù) 據(jù)進(jìn)行更新,因此可確保數(shù)據(jù)預(yù)先提取裝置1 OO所預(yù)先提取的數(shù) 據(jù)是有效的。該有效時(shí)間,舉例而言,可以由系統(tǒng)廠商在整合 計(jì)算機(jī)系統(tǒng)200時(shí),依據(jù)計(jì)算機(jī)系統(tǒng)200中的音頻/視頻設(shè)備 (audio/video device )(未繪示)的浮見頻/音頻驅(qū)動(dòng)程序 (video/audio driver )(未繪示)可得到該音頻/浮見頻"i殳備所要求 的對(duì)視頻/音頻數(shù)據(jù)的 一 更新周期,該更新周期 一般相對(duì)固定, 因此在本發(fā)明一實(shí)施例中,可直接以該更新周期作為判斷數(shù)據(jù) 是否無效的有效時(shí)間,并儲(chǔ)存在暫存器110中。在本發(fā)明一實(shí)施 例中,當(dāng)計(jì)算機(jī)系統(tǒng)200運(yùn)作時(shí),計(jì)算機(jī)系統(tǒng)200的基本輸入輸 出系統(tǒng)(Basic input output system, BIOS )(未纟會(huì)示)或才喿作系 統(tǒng)(Operation system)等軟件根據(jù)暫存器110中所J諸存的有效 時(shí)間來編程計(jì)時(shí)器130。
緩沖器120用以儲(chǔ)存由數(shù)據(jù)預(yù)先提取裝置1 OO預(yù)先提取的數(shù) 據(jù)。該數(shù)據(jù)例如是根據(jù)總線裝置2 40所發(fā)送的存儲(chǔ)器存取請(qǐng)求, 而由系統(tǒng)存儲(chǔ)器230或處理器210的快取存儲(chǔ)器212中取得的數(shù) 據(jù)。
計(jì)時(shí)器130用以累計(jì)上述預(yù)先提取數(shù)據(jù)存放在緩沖器120內(nèi) 的存續(xù)時(shí)間。該計(jì)時(shí)器130例如是在數(shù)據(jù)存入緩沖器120的同時(shí) 即開始累計(jì),而累計(jì)的存續(xù)時(shí)間即可用以作為預(yù)先提取數(shù)據(jù)是 否有效的判斷依據(jù)。
9暫存器110、緩沖器120及計(jì)時(shí)器130, 并與總線裝置240連接,而可接收總線裝置240所發(fā)出的讀取指 令,并預(yù)先提取系統(tǒng)存儲(chǔ)器230或處理器210的快取存儲(chǔ)器212 中的數(shù)據(jù),以供總線裝置240讀取。
詳細(xì)地說,圖3是依照本發(fā)明 一 實(shí)施例所繪示的數(shù)據(jù)預(yù)先提 取方法的流程圖。請(qǐng)同時(shí)參照?qǐng)Dl、圖2及圖3,本實(shí)施例的數(shù)據(jù) 預(yù)先提取方法適用于上述的數(shù)據(jù)預(yù)先提取裝置IOO,其步驟如 下
首先,由控制器140接收總線裝置240對(duì)于第 一數(shù)據(jù)的讀取 指令(步驟S302 )。其中,控制器140例如會(huì)根據(jù)讀取指令中記 錄的數(shù)據(jù)地址,到處理器210的快取存儲(chǔ)器212或是系統(tǒng)存儲(chǔ)器 2 3 0中找尋總線裝置24 0所請(qǐng)求的第 一 數(shù)據(jù),以回應(yīng)給總線裝置 240。
此外,為了增加總線裝置240讀取數(shù)據(jù)的速度,控制器140 還包括預(yù)先提取接續(xù)在上述第 一數(shù)據(jù)之后的 一 筆第二數(shù)據(jù)以儲(chǔ) 存于緩沖器120中,并同時(shí)啟動(dòng)計(jì)時(shí)器130開始累計(jì)該第二數(shù)據(jù) 存放在緩沖器120內(nèi)的存續(xù)時(shí)間(步驟S304 )。詳細(xì)地說,上述 的第 一 數(shù)據(jù)例如是儲(chǔ)存在存儲(chǔ)器的第 一 區(qū)域,而控制器14 0預(yù)先 提取的第二數(shù)據(jù)則是在存儲(chǔ)器中接續(xù)在該第 一 區(qū)域之后的第二
區(qū)域中儲(chǔ)存的數(shù)據(jù)。
值得注意的是,上述控制器140在提取數(shù)據(jù)時(shí),例如會(huì)同時(shí) 檢視系統(tǒng)存儲(chǔ)器230及處理器210的快取存儲(chǔ)器212中是否有所 需的數(shù)據(jù),若系統(tǒng)存儲(chǔ)器230及處理器210的快取存儲(chǔ)器212兩者 之中都有所需的數(shù)據(jù),則選擇提取其中最新的數(shù)據(jù),并儲(chǔ)存于 緩沖器120,以確保所提取數(shù)據(jù)的有效性。
而在計(jì)時(shí)器130累計(jì)第二數(shù)據(jù)的存續(xù)時(shí)間的同時(shí),控制器 14 0會(huì)將該存續(xù)時(shí)間與暫存器110中記錄的有效時(shí)間相比較,據(jù)以判斷該存續(xù)時(shí)間是否達(dá)到或超過有效時(shí)間(步驟S306 )。
其中,控制器140例如會(huì)依據(jù)總線裝置對(duì)于數(shù)據(jù)的存取周 期,判斷第二數(shù)據(jù)的更新時(shí)間,該更新時(shí)間用以作為判斷預(yù)先 提取的第二數(shù)據(jù)是否無效的有效時(shí)間。而當(dāng)計(jì)時(shí)器13 0累計(jì)的存 續(xù)時(shí)間達(dá)到或超過該有效時(shí)間時(shí),即代表原先儲(chǔ)存在系統(tǒng)存儲(chǔ) 器230或處理器210的快取存儲(chǔ)器212中的第二數(shù)據(jù)可能會(huì)被更 新,因此由控制器14 0預(yù)先提取的第二數(shù)據(jù)就有可能是錯(cuò)誤的。 此時(shí)控制器140必需將儲(chǔ)存在緩沖器120中的第二數(shù)據(jù)宣告無效 (步驟S308 ),以避免可能的讀取錯(cuò)誤。
在本發(fā)明另一實(shí)施例中,計(jì)時(shí)器130可釆用定時(shí)的方式,計(jì) 時(shí)器130依據(jù)暫存器110中記錄的有效時(shí)間而被編程。即是說在 步驟S306中,當(dāng)計(jì)時(shí)器130累計(jì)該存續(xù)時(shí)間達(dá)到該有效時(shí)間時(shí), 計(jì)時(shí)器130會(huì)計(jì)數(shù)溢出,則發(fā)出一中斷控制信號(hào)至控制器140。 當(dāng)控制器140接收到該中斷控制信號(hào)時(shí),即代表原先儲(chǔ)存在系統(tǒng) 存儲(chǔ)器230或處理器210的快取存儲(chǔ)器212中的第二數(shù)據(jù)可能會(huì) 被更新。因此在步驟S308,控制器140將儲(chǔ)存在緩沖器120中的 第二數(shù)據(jù)宣告無效。
通過上述方法,數(shù)據(jù)預(yù)先提取裝置100即可在預(yù)先提取數(shù)據(jù) 的情況下,確保所提取數(shù)據(jù)的有效性。而在總線裝置240向芯片 組220提出下一個(gè)存儲(chǔ)器存取請(qǐng)求時(shí),數(shù)據(jù)預(yù)先提取裝置100則 可直接以儲(chǔ)存在緩沖器120中的預(yù)先提取數(shù)據(jù)作回應(yīng),借以增加 總線裝置240讀取數(shù)據(jù)的速度,以下則再舉一實(shí)施例詳細(xì)說明。
圖4是依照本發(fā)明 一 實(shí)施例所繪示的數(shù)據(jù)預(yù)先提取方法的 流程圖。請(qǐng)同時(shí)參照?qǐng)Dl、圖2及圖4,本實(shí)施例的數(shù)據(jù)預(yù)先提取 方法同樣適用于上述的數(shù)據(jù)預(yù)先提取裝置IOO,其步驟如下
首先,由控制器14 0接收總線裝置24 0對(duì)于第 一 數(shù)據(jù)的讀取 指令(步驟S402 )。其中,控制器140例如會(huì)根據(jù)讀取指令中記
ii錄的數(shù)據(jù)地址,到處理器210的快取存儲(chǔ)器212或是系統(tǒng)存儲(chǔ)器 2 3 0中找尋總線裝置24 0所請(qǐng)求的第 一 數(shù)據(jù),以儲(chǔ)存于緩沖器12 0 (步驟S404 ),除了提取第一數(shù)據(jù)之外,控制器140還包括預(yù)先 提取接續(xù)在第 一數(shù)據(jù)之后的 一 筆第二數(shù)據(jù),以儲(chǔ)存于緩沖器120 中(步驟S406 ),然后以緩沖器120內(nèi)的第一數(shù)據(jù)回應(yīng)給總線裝 置240 (步驟S408 )。
其中,如同先前實(shí)施例所述,控制器140在將第二數(shù)據(jù)存入 緩沖器120后,即會(huì)啟動(dòng)計(jì)時(shí)器130開始累計(jì)該第二數(shù)據(jù)存放在 緩沖器120內(nèi)的存續(xù)時(shí)間,據(jù)以判斷該第二數(shù)據(jù)是否仍然有效, 并適時(shí)將第二數(shù)據(jù)宣告無效,以避免總線裝置讀取到錯(cuò)誤的數(shù) 據(jù)。
值得注意的是,在本實(shí)施例中,控制器140在預(yù)先提取并儲(chǔ) 存第二數(shù)據(jù)之后,可再接收總線裝置240對(duì)于第二數(shù)據(jù)的讀取指 令(步驟S410),而選擇以先前儲(chǔ)存在緩沖器120內(nèi)的第二數(shù)據(jù) 來回應(yīng)。
然而,儲(chǔ)存在緩沖器120內(nèi)的第二數(shù)據(jù)有可能會(huì)因?yàn)槠浯胬m(xù) 時(shí)間超過有效時(shí)間而被控制器140宣告失效,因此控制器140在 回應(yīng)總線裝置24 0的請(qǐng)求之前,必需先判斷儲(chǔ)存于緩沖器12 0內(nèi) 的第二數(shù)據(jù)是否有效(步驟S412)。
其中,若判斷第二數(shù)據(jù)仍然有效,即可以緩沖器內(nèi)的第二 數(shù)據(jù)直接回應(yīng)給總線裝置(步驟S414)。然而,若判斷第二數(shù) 據(jù)無效,則需重新到處理器210的快取存儲(chǔ)器212或是系統(tǒng)存儲(chǔ) 器230中找尋總線裝置240所請(qǐng)求的第二數(shù)據(jù),并用以更新緩沖 器120內(nèi)儲(chǔ)存的第二數(shù)據(jù)(步驟S416),而能夠以更新后的第二 數(shù)據(jù)回應(yīng)給總線裝置240 (步驟S418 )。
通過上述方法,數(shù)據(jù)預(yù)先提取裝置100可在提取存儲(chǔ)器數(shù)據(jù) 的同時(shí),預(yù)先提取接續(xù)的數(shù)據(jù),以便回應(yīng)總線裝置240后續(xù)的存
12儲(chǔ)器存取請(qǐng)求,而在以預(yù)先提取的數(shù)據(jù)回應(yīng)后續(xù)的存儲(chǔ)器存取請(qǐng)求時(shí),本發(fā)明會(huì)先判斷預(yù)先提取的數(shù)據(jù)是否有效,從而提高
了總線裝置240讀取數(shù)據(jù)的準(zhǔn)確性。而當(dāng)預(yù)先提取的數(shù)據(jù)過了有
效時(shí)間時(shí),仍可通過再次提耳又?jǐn)?shù)據(jù)來作回應(yīng),而可保有提取數(shù)據(jù)的彈性。
綜上所述,本發(fā)明的數(shù)據(jù)預(yù)先提取方法及裝置根據(jù)總線裝置對(duì)于數(shù)據(jù)的存取周期來判斷數(shù)據(jù)可能被更新的期間,并通過程序化計(jì)時(shí)器,以在預(yù)先提取數(shù)據(jù)的存續(xù)時(shí)間達(dá)到或超過其有效時(shí)間時(shí),將預(yù)先提取數(shù)據(jù)緩沖器中的數(shù)據(jù)宣告失效,因此可在預(yù)先提取數(shù)據(jù)以增加讀取速度的同時(shí),確保預(yù)先提取數(shù)據(jù)的有效性,而避免總線裝置讀取到錯(cuò)誤數(shù)據(jù)。
以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明的保護(hù)范圍當(dāng)以本申請(qǐng)的權(quán)利要求書所界定的范圍為準(zhǔn)。
附圖中符號(hào)的簡單說明如下
100數(shù)據(jù)預(yù)先提取裝置
110暫存器
120:緩沖器
130計(jì)時(shí)器
140.控制器
200:計(jì)算機(jī)系統(tǒng)
210處理器
212:快取存儲(chǔ)器
220:芯片組
230.系統(tǒng)存儲(chǔ)器
240:總線裝置S302 S308:本發(fā)明的數(shù)據(jù)預(yù)先提取方法的各步驟S402 S418:本發(fā)明的數(shù)據(jù)預(yù)先提取方法的各步驟。
權(quán)利要求
1.一種數(shù)據(jù)預(yù)先提取方法,其特征在于,適用于一芯片組,該數(shù)據(jù)預(yù)先提取方法包括下列步驟接收一總線裝置對(duì)于一第一數(shù)據(jù)的一讀取指令;預(yù)先提取接續(xù)在該第一數(shù)據(jù)之后的一第二數(shù)據(jù)以將該第二數(shù)據(jù)儲(chǔ)存于一緩沖器,并累計(jì)該第二數(shù)據(jù)存放在該緩沖器內(nèi)的一存續(xù)時(shí)間;判斷所累計(jì)的該存續(xù)時(shí)間是否達(dá)到或超過一有效時(shí)間;以及當(dāng)該存續(xù)時(shí)間達(dá)到或超過該有效時(shí)間時(shí),宣告該第二數(shù)據(jù)無效。
2. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)預(yù)先提取方法,其特征在于, 在接收該總線裝置對(duì)于該第一數(shù)據(jù)的該讀取指令的步驟之后, 還包括提取該第 一數(shù)據(jù)以將該第 一數(shù)據(jù)儲(chǔ)存于該緩沖器;以及 在預(yù)先提取接續(xù)在該第一數(shù)據(jù)之后的該第二數(shù)據(jù)之后,回 應(yīng)該緩沖器內(nèi)的該第 一數(shù)據(jù)給該總線裝置。
3. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)預(yù)先提取方法,其特征在于, 該第 一數(shù)據(jù)儲(chǔ)存于 一存儲(chǔ)器的 一第 一 區(qū)域,而該第二數(shù)據(jù)儲(chǔ)存 于該存儲(chǔ)器中接續(xù)在該第 一 區(qū)域之后的 一第二區(qū)域。
4. 根據(jù)權(quán)利要求3所述的數(shù)據(jù)預(yù)先提取方法,其特征在于, 該存儲(chǔ)器包括與該芯片組連接的一系統(tǒng)存儲(chǔ)器及一處理器中的 一快取存儲(chǔ)器其中之一。
5. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)預(yù)先提取方法,其特征在于, 預(yù)先提取該第二數(shù)據(jù)以將該第二數(shù)據(jù)儲(chǔ)存于該緩沖器的步驟包 括檢視該系統(tǒng)存儲(chǔ)器及該處理器的該快取存儲(chǔ)器中是否包含 該第二數(shù)據(jù);以及預(yù)先提取該系統(tǒng)存儲(chǔ)器及該處理器的該快取存儲(chǔ)器中最新 的該第二數(shù)據(jù)以將該第二數(shù)據(jù)儲(chǔ)存于該緩沖器。
6. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)預(yù)先提取方法,其特征在于, 該數(shù)據(jù)包括視頻數(shù)據(jù)及音頻數(shù)據(jù)其中之一 。
7. —種數(shù)據(jù)預(yù)先提取裝置,其特征在于,包括 一緩沖器,儲(chǔ)存所提取的數(shù)據(jù);一計(jì)時(shí)器,累計(jì)該數(shù)據(jù)存放在該緩沖器內(nèi)的一存續(xù)時(shí)間;以及一控制器,耦接至該緩沖器及該計(jì)時(shí)器,當(dāng)接收到一總線 裝置對(duì)于 一 第 一 數(shù)據(jù)的 一 讀取指令時(shí),預(yù)先提取接續(xù)在該第一 數(shù)據(jù)之后的 一 第二數(shù)據(jù)以將該第二數(shù)據(jù)儲(chǔ)存于該緩沖器,并利 用該計(jì)時(shí)器累計(jì)該第二數(shù)據(jù)存放在該緩沖器內(nèi)的該存續(xù)時(shí)間, 而當(dāng)該計(jì)時(shí)器累計(jì)的該存續(xù)時(shí)間達(dá)到或超過一有效時(shí)間時(shí),宣 告該緩沖器所儲(chǔ)存的該第二數(shù)據(jù)無效。
8. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)預(yù)先提取裝置,其特征在于, 還包括一暫存器,耦接至該控制器,該暫存器儲(chǔ)存用以判斷該第 二數(shù)據(jù)是否無效的該有效時(shí)間。
9. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)預(yù)先提取裝置,其特征在于, 該計(jì)時(shí)器依據(jù)該有效時(shí)間被編程,當(dāng)該計(jì)時(shí)器累計(jì)的該存續(xù)時(shí) 間達(dá)到該有效時(shí)間時(shí),該計(jì)時(shí)器發(fā)出 一 中斷控制信號(hào)至該控制 器,該控制器依據(jù)該中斷控制信號(hào)宣告該第二數(shù)據(jù)無效。
10. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)預(yù)先提取裝置,其特征在于, 該控制器在接收該總線裝置對(duì)于該第 一 數(shù)據(jù)的該讀取指令時(shí), 還提取該第 一數(shù)據(jù)以將該第 一數(shù)據(jù)儲(chǔ)存于該緩沖器,并在預(yù)先 提取該第二數(shù)據(jù)之后,回應(yīng)該緩沖器內(nèi)的該第一數(shù)據(jù)給該總線 裝置。
11. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)預(yù)先提取裝置,其特征在于,該控制器還包括依據(jù)該總線裝置對(duì)于該數(shù)據(jù)的 一 存取周期,判斷該第二數(shù) 據(jù)的一更新時(shí)間,該更新時(shí)間用以作為判斷預(yù)先提取的該第二 數(shù)據(jù)是否無效的該有效時(shí)間。
12. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)預(yù)先提取裝置,其特征在于, 該數(shù)據(jù)預(yù)先提取裝置配置于 一 芯片組中。
13. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)預(yù)先提取裝置,其特征在于, 該總線裝置包括一直接存儲(chǔ)器存取引擎。
14. 一種計(jì)算機(jī)系統(tǒng),其特征在于,包括一存儲(chǔ)器,儲(chǔ)存一第一數(shù)據(jù)以及接續(xù)在該第一數(shù)據(jù)之后的 一第二數(shù)據(jù);一芯片組,耦接至該存儲(chǔ)器;以及 一總線裝置,耦接至該芯片組, 其中,該芯片組包括一緩沖器,儲(chǔ)存從該存儲(chǔ)器所提取的數(shù)據(jù);一計(jì)時(shí)器,累計(jì)該數(shù)據(jù)存放在該緩沖器內(nèi)的 一 存續(xù)時(shí)間;以及一控制器,耦接至該緩沖器及該計(jì)時(shí)器,當(dāng)該控制器接收 到該總線裝置對(duì)于該第 一 數(shù)據(jù)的 一 讀取指令時(shí),預(yù)先提取該第 二數(shù)據(jù)以將該第二數(shù)據(jù)儲(chǔ)存于該緩沖器,并利用該計(jì)時(shí)器累計(jì) 該第二數(shù)據(jù)存放在該緩沖器內(nèi)的該存續(xù)時(shí)間,而當(dāng)該計(jì)時(shí)器累 計(jì)的該存續(xù)時(shí)間達(dá)到或超過一有效時(shí)間時(shí),宣告該緩沖器所儲(chǔ) 存的該第二數(shù)據(jù)無效。
全文摘要
本發(fā)明提供一種數(shù)據(jù)預(yù)先提取方法及裝置、計(jì)算機(jī)系統(tǒng)。該數(shù)據(jù)預(yù)先提取方法包括在接收到總線裝置對(duì)于第一數(shù)據(jù)的讀取指令時(shí),預(yù)先提取接續(xù)在第一數(shù)據(jù)之后的第二數(shù)據(jù)并將該第二數(shù)據(jù)儲(chǔ)存于緩沖器中。同時(shí)累計(jì)該第二數(shù)據(jù)存放在緩沖器內(nèi)的存續(xù)時(shí)間,并判斷所累計(jì)的存續(xù)時(shí)間是否達(dá)到或超過一有效時(shí)間。而當(dāng)存續(xù)時(shí)間達(dá)到或超過有效時(shí)間時(shí),將此預(yù)先提取的第二數(shù)據(jù)宣告無效,借以避免可能的讀取錯(cuò)誤。
文檔編號(hào)G06F12/08GK101634971SQ200910171280
公開日2010年1月27日 申請(qǐng)日期2009年9月1日 優(yōu)先權(quán)日2009年9月1日
發(fā)明者何寬瑞 申請(qǐng)人:威盛電子股份有限公司