两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

繪圖數(shù)據(jù)存取系統(tǒng)及方法

文檔序號(hào):6597966閱讀:146來(lái)源:國(guó)知局
專利名稱:繪圖數(shù)據(jù)存取系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明是關(guān)于繪圖數(shù)據(jù)存取系統(tǒng)及方法,更是關(guān)于避免通過監(jiān)視路徑(snooping path)存取繪圖數(shù)據(jù)以增進(jìn)效率的繪圖數(shù)據(jù)存取系統(tǒng)及方法。
背景技術(shù)
現(xiàn)在的計(jì)算機(jī)系統(tǒng)中,處理器或繪圖模塊中常會(huì)具有專用的高速緩存(cache memory或cache)。有別于位于處理器或繪圖模塊之外的主存儲(chǔ)器(又稱系統(tǒng)存儲(chǔ)器),高 速緩存為一個(gè)小型存儲(chǔ)器,用來(lái)存放經(jīng)常使用到的程序碼及數(shù)據(jù),可增進(jìn)處理器或繪圖模 塊存取數(shù)據(jù)的速度。然而,共享一主存儲(chǔ)器的處理器與繪圖模塊間自然存在著快取數(shù)據(jù)一 致性(cache coherence)的問題,而一般來(lái)說,常采用監(jiān)視交流(snoop transaction)與非 監(jiān)視交流(non-snoop transaction)并行的方法來(lái)克服之。 圖1為先前技術(shù)的中央處理器(CPU) 110與繪圖模塊160間高速緩存架構(gòu)示意圖。 計(jì)算機(jī)系統(tǒng)100包括一 CPU 110、一主存儲(chǔ)器120、一北橋芯片180及一繪圖模塊160,而該 北橋芯片又包括一前端總線接口 130、一主存儲(chǔ)器控制器140、一繪圖模塊接口 150。在另一 實(shí)施例中,繪圖模塊160也可包含在北橋芯片中。 該CPU 110中,如同前述,具有一CPU高速緩存112,用以增加CPU 110的存取速 度。主存儲(chǔ)器120具有多個(gè)物理地址,并分別存放各種數(shù)據(jù)。前端總線接口 130耦接至CPU 110作為CPU 110及繪圖模塊160間的接口,前端總線接口 130除管理CPU 110與繪圖模塊 160間的溝通外,亦可另外連接至計(jì)算機(jī)系統(tǒng)100中的其它裝置,例如南橋芯片、PCI等裝置 (圖未示)。主存儲(chǔ)器控制器140耦接至主存儲(chǔ)器120及前端總線接口 130。繪圖模塊接口 150為存在于主存儲(chǔ)器控制器140與繪圖模塊160間的接口。繪圖模塊160中,如同前述, 具有一繪圖高速緩存162,以增加繪圖模塊160的存取速度。 在先前技術(shù)中,當(dāng)繪圖模塊160接收一存取指令時(shí),其會(huì)參照繪圖高速緩存162中 的繪圖地址映射表GAMT(Gr即hics Address M即ping Table, GAMT),將該存取指令所對(duì)應(yīng) 的虛擬地址(Virtual Address)轉(zhuǎn)換成物理地址(Physical Address)。其中,完整的繪圖 地址映射表GAMT是儲(chǔ)存于主存儲(chǔ)器120中,而繪圖模塊160會(huì)擷取主存儲(chǔ)器120中的繪圖 地址映射表GAMT,并將該表中較常使用的部分存于繪圖高速緩存162以供使用。圖2為一 繪圖地址映射表示意圖。舉例而言,該繪圖地址映射表中的每一項(xiàng)(entry)包括6個(gè)欄。第 1欄VA記錄著虛擬地址,大小通常為16K字節(jié);接下來(lái)的四欄PAO PA 3則分別指向四個(gè) 大小約為4K字節(jié)的物理地址;而最末欄LRU通常用來(lái)記錄近期最少使用(Least Recently Used)的物理地址的信息,當(dāng)繪圖高速緩存162空間不夠時(shí),會(huì)依照該LRU提供的信息替換 掉該繪圖地址映射表中最少使用的某項(xiàng)。值得注意的是,在各物理地址欄中,皆有一監(jiān)視位 (snoop bit),用以指出該物理地址的數(shù)據(jù)是否存在CPU高速緩存112中。舉例而言,當(dāng)繪 圖模塊160接收一存取指令時(shí)會(huì)檢驗(yàn)對(duì)應(yīng)該存取指令的物理地址,若該物理地址的監(jiān)視位 為1 (可快取),則表示CPU 110的CPU高速緩存112中可能存有對(duì)應(yīng)于該物理地址的數(shù)據(jù), 則繪圖模塊160會(huì)通過前端總線接口 130而向CPU IIO發(fā)出請(qǐng)求以存取其中對(duì)應(yīng)該物理地
4址的數(shù)據(jù),或者,在前端總線接口 130監(jiān)視并判斷CPU高速緩存112無(wú)該筆數(shù)據(jù)時(shí),復(fù)又通 過主存儲(chǔ)器控制器140至主存儲(chǔ)器120存取該數(shù)據(jù)(以上路徑皆通稱為監(jiān)視路徑A)。若 該監(jiān)視位為0(不可快取),則表示該數(shù)據(jù)必不存在于CPU高速緩存112中,此時(shí),繪圖模塊 160會(huì)通過繪圖模塊接口 150及主存儲(chǔ)器控制器140向主存儲(chǔ)器120發(fā)出請(qǐng)求并存取主存 儲(chǔ)器120中的該筆數(shù)據(jù)(此路徑稱為非監(jiān)視路徑B)。 然而,當(dāng)繪圖模塊160存取的請(qǐng)求是通過監(jiān)視路徑A發(fā)出時(shí),由于前端總線接口 130另外管理其它裝置,例如南橋芯片、PCI、或其它裝置,繪圖模塊160發(fā)出的請(qǐng)求必須與 其它裝置發(fā)出的請(qǐng)求一同等候。之后,前端總線接口 130始對(duì)CPU IIO進(jìn)行總線協(xié)議監(jiān)視 (bus protocol snooping)等操作,并在獲知CPU高速緩存112中無(wú)該筆數(shù)據(jù)的情形下改 成至主存儲(chǔ)器120存取數(shù)據(jù)。因此,相對(duì)而言,監(jiān)視路徑A消耗的時(shí)間會(huì)比通過繪圖模塊接 口 150和主存儲(chǔ)器控制器140直接存取主存儲(chǔ)器120的非監(jiān)視路徑B長(zhǎng)得多,在多個(gè)時(shí)鐘 之后,監(jiān)視路徑A所累積消耗的時(shí)間將使系統(tǒng)效能受到不良的影響。

發(fā)明內(nèi)容
本發(fā)明目的在于通過持續(xù)追蹤數(shù)據(jù)狀態(tài),以減少先前技術(shù)中繪圖數(shù)據(jù)存取上通過 監(jiān)視路徑所累積消耗的時(shí)間,進(jìn)而改善繪圖系統(tǒng)的效能。 本發(fā)明提供一種繪圖數(shù)據(jù)存取系統(tǒng),包括一主存儲(chǔ)器控制器以及一繪圖快取控
制器。其中該主存儲(chǔ)器控制器耦接具有多個(gè)物理地址的一主存儲(chǔ)器,用以直接存取該主存
儲(chǔ)器;而該繪圖快取控制器耦接至該主存儲(chǔ)器控制器,用以接收一存取指令。該繪圖快取控
制器包括一繪圖地址映射表(GraphicsAddress M即ping Table, GAMT)及一繪圖地址狀態(tài)
表。該繪圖快取控制器根據(jù)該繪圖地址映射表將該存取指令所對(duì)應(yīng)的一虛擬地址映射到一
物理地址,且根據(jù)該繪圖地址狀態(tài)表將該物理地址再映射到多個(gè)狀態(tài)中的一狀態(tài)。接著,該
繪圖快取控制器根據(jù)該狀態(tài)選擇從一處理器的存儲(chǔ)器或該主存儲(chǔ)器中存取。
本發(fā)明還提供一種繪圖數(shù)據(jù)存取方法,包括接收一存取指令;根據(jù)一繪圖地址
映射表將該存取指令所對(duì)應(yīng)的一虛擬地址映射到一物理地址;根據(jù)一繪圖地址狀態(tài)表將該
物理地址再映射到多個(gè)狀態(tài)中的一狀態(tài);以及根據(jù)該狀態(tài)選擇從一處理器的存儲(chǔ)器或一主
存儲(chǔ)器中存取該存取指令所對(duì)應(yīng)的一繪圖數(shù)據(jù)。


圖1為先前技術(shù)中CPU 110與繪圖模塊160間高速緩存架構(gòu)示意圖; 圖2為一繪圖地址映射表示意圖; 圖3為依照本發(fā)明一實(shí)施例的繪圖數(shù)據(jù)存取系統(tǒng)300 ; 圖4為該繪圖地址映射表GAMT及一繪圖地址狀態(tài)表GAST的示意圖; 圖5為依照本發(fā)明另一實(shí)施例的繪圖數(shù)據(jù)存取方法的流程圖; 圖6為依照本發(fā)明另一實(shí)施例的繪圖數(shù)據(jù)存取方法(圖5)中步驟S530的詳細(xì)流程圖。[主要元件標(biāo)號(hào)說明] 100 計(jì)算機(jī)系統(tǒng); 110 CPU; 112 CPU高速緩存; 120 主存儲(chǔ)器;
130 -前端總線接口 ;140 -主存儲(chǔ)器控制器;150 ^會(huì)圖模塊接口 ;160 4會(huì)圖模塊;162 4會(huì)圖高速緩存;180 -北橋芯片;GAMT 繪圖地址映射表;300 4會(huì)圖數(shù)據(jù)存取系統(tǒng)310 -CPU ;312 - CPU高速緩存;320 -主存儲(chǔ)器;330 -前端總線接口 ;340 -主存儲(chǔ)器控制器;350 4會(huì)圖模塊接口 ;360 ^會(huì)圖模塊;362 4會(huì)圖快取控制器;380 :北橋芯片;GAMT 繪圖地址映射表;GAST 繪圖地址狀態(tài)表;S510 S540 步驟;S610 S670 步驟。
具體實(shí)施例方式
下文為介紹本發(fā)明的最佳實(shí)施例。各實(shí)施例用以說明本發(fā)明的原理,但非用以限 制本發(fā)明。本發(fā)明的范圍當(dāng)以所附的權(quán)利要求項(xiàng)為準(zhǔn)。 圖3為依照本發(fā)明一實(shí)施例的繪圖數(shù)據(jù)存取系統(tǒng)300。本發(fā)明的繪圖數(shù)據(jù)存取系 統(tǒng)300包括一CPU 310、一主存儲(chǔ)器320、一北橋芯片380及一繪圖模塊360。其中北橋芯片 380包括一前端總線接口 330、一主存儲(chǔ)器控制器340、及一繪圖模塊接口 350。 CPU 310中, 具有一 CPU高速緩存312,用以增加CPU 310的存取速度。主存儲(chǔ)器320具有多個(gè)物理地址, 并分別存放各種數(shù)據(jù),包括存放一繪圖地址映射表(Graphics Address M即ping Table, GAMT)。前端總線接口 330耦接至CPU 310,用以監(jiān)視(snoop) CPU 310存取主存儲(chǔ)器120。 主存儲(chǔ)器控制器340耦接至主存儲(chǔ)器320及前端總線接口 330,主要用以直接存取主存儲(chǔ) 器320。繪圖模塊接口 350為存在于主存儲(chǔ)器控制器340與繪圖模塊360間的接口。繪圖 模塊360包括一繪圖快取控制器362,其耦接至前端總線接口 330,并通過繪圖模塊接口 350 耦接至主存儲(chǔ)器控制器340,用以接收一存取指令R/W (讀取或?qū)懭?,并依據(jù)存取指令R/W 所對(duì)應(yīng)的物理地址選擇從CPU高速緩存312或主存儲(chǔ)器320存取數(shù)據(jù)。在本實(shí)施例中,上 述的繪圖模塊360是位于北橋芯片380之外。在另一實(shí)施例中,繪圖模塊360亦可位于北 橋芯片380中。然而,在其它實(shí)施例中,本發(fā)明不必以此為限。 本發(fā)明的繪圖快取控制器362除了包括一繪圖地址映射表GAMT之外,另包括一繪 圖地址狀態(tài)表GAST。繪圖快取控制器362會(huì)擷取儲(chǔ)存于主存儲(chǔ)器320中完整的繪圖地址映 射表GAMT,將該表中較常使用的部分儲(chǔ)存于繪圖快取控制器362中以供使用。圖4為該繪 圖地址映射表GAMT及一繪圖地址狀態(tài)表GAST的示意圖。請(qǐng)一并參照?qǐng)D3。繪圖快取控制 器362可根據(jù)繪圖地址映射表GAMT,將存取指令R/W所對(duì)應(yīng)的一虛擬地址VA映射到一物理 地址PA,然后根據(jù)繪圖地址狀態(tài)表GAST將物理地址PA再映射到一狀態(tài)。由于一個(gè)虛擬地 址VA可能映射到多個(gè)物理地址PA,舉例而言,在本實(shí)施例中一個(gè)16K大小的虛擬地址VA_0 可映射到4個(gè)分別為4K大小的物理地址PA_00 PA_03,繪圖快取控制器362可通過繪圖 地址狀態(tài)表GAST中標(biāo)簽欄(Tag)的信息,以確認(rèn)所選擇的物理地址PA對(duì)應(yīng)的數(shù)據(jù)是否正 確。 此夕卜,在本發(fā)明另 一 實(shí)施例中,繪圖地址映射表GAMT中可包含LRU(LeastRecently Used)字段,通常用來(lái)記錄近期最少使用的虛擬地址的信息,當(dāng)繪圖高 速緩存362空間不夠時(shí),會(huì)依照該LRU提供的信息替換掉繪圖地址映射表GAMT中最少使用 的某項(xiàng)。 繪圖快取控制器362根據(jù)物理地址PA對(duì)應(yīng)的狀態(tài)選擇一數(shù)據(jù)存取路徑,并存取對(duì) 應(yīng)于存取指令R/W的繪圖數(shù)據(jù)。在本發(fā)明中,通過將不同物理地址依照其使用狀況而定義 不同狀態(tài)的方式,可大幅減少繪圖快取控制器362通過前端總線接口 330進(jìn)行監(jiān)視(snoop) 處理器(如先前技術(shù)中的監(jiān)視路徑A)的次數(shù),并采用非監(jiān)視路徑B(通過繪圖模塊接口 350 及主存儲(chǔ)器控制器340存取主存儲(chǔ)器320的方式)取代監(jiān)視路徑A,進(jìn)而改善繪圖數(shù)據(jù)存取 的效率。 在一較佳實(shí)施例中,繪圖地址狀態(tài)表GAST中的狀態(tài)可包括一初始狀態(tài)、一共享 狀態(tài)及一修正狀態(tài)。各狀態(tài)設(shè)定如下 (1)初始狀態(tài)當(dāng)繪圖地址狀態(tài)表GAST的一項(xiàng)在初始化或被無(wú)效化后、或沒有登 錄任何物理地址時(shí),則該項(xiàng)登記為該初始狀態(tài)I,如圖4所示。 (2)共享狀態(tài)當(dāng)繪圖地址映射表GAMT中的一物理地址(例如PA_00)首次被登 錄至繪圖地址狀態(tài)表GAST時(shí),則在繪圖地址狀態(tài)表GAST中將物理地址PA_00登記為共享 狀態(tài)S。 (3)修正狀態(tài)若繪圖地址映射表GAMT中的一物理地址(例如PA_11)所對(duì)應(yīng)的 繪圖數(shù)據(jù)曾被繪圖快取控制器362存取過,無(wú)論是通過監(jiān)視路徑A或非監(jiān)視路徑B,則在繪 圖地址狀態(tài)表GAST中將物理地址PA_11登記為修正狀態(tài)M。關(guān)于本發(fā)明如何將共享狀態(tài)S 修改為修正狀態(tài)M的機(jī)制將于后文詳述。 再來(lái)說明本發(fā)明的繪圖快取控制器362的功能。在一實(shí)施例中,繪圖快取控制器 362接收存取指令R/W0后,可根據(jù)繪圖地址映射表GAMT將存取指令R/W0所對(duì)應(yīng)的虛擬地 址VA_0轉(zhuǎn)換成的一物理地址PA_00。因?yàn)樵撐锢淼刂稰A_00是首次被登錄至繪圖地址狀 態(tài)表GAST,且未曾被其它存取指令據(jù)以進(jìn)行存取操作,故在繪圖地址狀態(tài)表GAST中將物理 地址PA_00登記為共享狀態(tài)S。其后,由于物理地址PA_00未曾被存取或更新,為維持繪圖 模塊360與CPU 310間的快取數(shù)據(jù)一致性,故繪圖快取控制器362會(huì)依據(jù)共享狀態(tài)S而選 擇通過前端總線接口 330(監(jiān)視路徑A)進(jìn)行數(shù)據(jù)存取。之后,前端總線接口 330會(huì)進(jìn)一步 監(jiān)視CPU 310。在一情況下,當(dāng)CPU 310的CPU高速緩存312中欲被存取的數(shù)據(jù)未失效時(shí), 前端總線接口 330會(huì)對(duì)CPU高速緩存312進(jìn)行存取。在另一情況下,當(dāng)前端總線接口 330 發(fā)現(xiàn)CPU高速緩存312中欲被存取的數(shù)據(jù)已經(jīng)失效時(shí),則前端總線接口 330改通過主存儲(chǔ) 器控制器340至主存儲(chǔ)器320中存取指令R/WO所對(duì)應(yīng)的物理地址PA_00上存取繪圖數(shù)據(jù)。 無(wú)論如何,在存取繪圖數(shù)據(jù)后,繪圖模塊360會(huì)將CPU高速緩存312中對(duì)應(yīng)存取指令R/WO 的繪圖數(shù)據(jù)予以無(wú)效化,以維持快取數(shù)據(jù)一致性。如上所述,此物理地址PAJ)O在經(jīng)過存取 后,狀態(tài)將不再是共享狀態(tài)S,而會(huì)改成修正狀態(tài)M。 在另一實(shí)施例中,繪圖快取控制器362在接收存取指令R/Wl后,發(fā)現(xiàn)存取指令R/ Wl所對(duì)應(yīng)的虛擬地址VA_1轉(zhuǎn)換成的物理地址PA_11已登錄于繪圖地址狀態(tài)表GAST中,且 其狀態(tài)已登記為修正狀態(tài)M,故得知該物理地址PAjl曾被其它存取指令據(jù)以存取數(shù)據(jù)。因 此,該繪圖快取控制器362可選擇通過繪圖模塊接口 350及主存儲(chǔ)器控制器340直接存取 位于主存儲(chǔ)器320中物理地址PA_11的繪圖數(shù)據(jù)(非監(jiān)視路徑B)。如此一來(lái),依照本發(fā)明的繪圖數(shù)據(jù)存取系統(tǒng),僅首次被存取的物理地址會(huì)通過監(jiān)視路徑A來(lái)存取,大部分的存取 操作將會(huì)通過非監(jiān)視路徑B進(jìn)行,因而能減少通過監(jiān)視路徑存取繪圖數(shù)據(jù)所累積消耗的時(shí) 間,進(jìn)而改善繪圖系統(tǒng)的效能。 值得注意的是,為使CPU 310與繪圖模塊360間維持快取數(shù)據(jù)一致性,在一最佳實(shí) 施例中,本發(fā)明的繪圖數(shù)據(jù)存取系統(tǒng)300可另外包括一專用的繪圖監(jiān)視總線(路徑C)。該 繪圖監(jiān)視總線耦接于前端總線接口 330與繪圖快取控制器362之間,當(dāng)CPU 310對(duì)主存儲(chǔ) 器320或其它裝置中的高速緩存存取繪圖數(shù)據(jù)時(shí),CPU 310可通過該繪圖監(jiān)視總線(路徑 C),使繪圖快取控制器362中繪圖地址狀態(tài)表GAST所對(duì)應(yīng)該繪圖數(shù)據(jù)的物理地址無(wú)效化, 或者,將繪圖地址狀態(tài)表GAST中所對(duì)應(yīng)該繪圖數(shù)據(jù)的物理地址的狀態(tài)修改為共享狀態(tài)S。 在未使用該繪圖監(jiān)視總線(路徑C)的情況下,CPU 310對(duì)繪圖快取控制器362的更新數(shù)據(jù) 可通過原來(lái)的管道(路徑A或路徑B)傳遞,而該管道的數(shù)據(jù)流量負(fù)擔(dān)將相對(duì)沉重。因此, 具有專用繪圖監(jiān)視總線的繪圖數(shù)據(jù)存取系統(tǒng)300,也可使本發(fā)明相較于先前技術(shù)能獲致更 高的繪圖數(shù)據(jù)存取效能。 此外,在本發(fā)明一實(shí)施例中,當(dāng)繪圖地址映射表GAMT的儲(chǔ)存空間不夠時(shí),繪圖快 取控制器362可依照近期最少使用(Least Recently Used)字段LRU所提供的信息替換掉 繪圖地址映射表GAMT中最少使用的某項(xiàng),同時(shí)繪圖快取控制器362會(huì)將繪圖地址狀態(tài)表 GAST中對(duì)應(yīng)該被替換掉的該項(xiàng)的物理地址予以無(wú)效化。 值得一提的是,本發(fā)明的繪圖地址狀態(tài)表GAST所設(shè)定的狀態(tài)數(shù)目不限于「初始狀 態(tài)」、「共享狀態(tài)」、「修正狀態(tài)」三種。此外,本領(lǐng)域技術(shù)人員亦可依照本發(fā)明的精神,對(duì)繪圖 地址映射表GAMT、繪圖地址狀態(tài)表GAST兩者進(jìn)行整合或變更,甚或減少或增設(shè)更多字段而 進(jìn)行各種用途。 除了上述的繪圖數(shù)據(jù)存取系統(tǒng)外,本發(fā)明還提供一繪圖數(shù)據(jù)存取方法。圖5為依 照本發(fā)明另一實(shí)施例的繪圖數(shù)據(jù)存取方法的流程圖。同前述的說明,本發(fā)明的繪圖數(shù)據(jù)存 取方法可應(yīng)用于一計(jì)算機(jī)系統(tǒng)中,請(qǐng)一并參照?qǐng)D3、4。在步驟S510中,繪圖快取控制器362 可根據(jù)一繪圖地址映射表GAMT而將一存取指令所對(duì)應(yīng)的一虛擬地址VA映射到一物理地址 PA。在步驟S520中,繪圖快取控制器362可根據(jù)一繪圖地址狀態(tài)表GAST而將物理地址PA 再映射到多個(gè)狀態(tài)中的一狀態(tài),而該等狀態(tài)可以是一初始狀態(tài)I、一共享狀態(tài)S、及一修正 狀態(tài)M。請(qǐng)一并參照?qǐng)D4及圖5。其中,當(dāng)繪圖地址狀態(tài)表GAST中的一項(xiàng)在初始化或被無(wú) 效化之后,或沒有登錄任何物理地址時(shí),則該項(xiàng)登記為初始狀態(tài)I ;當(dāng)繪圖地址映射表GAMT 中的一物理地址(例如PAJ)O)首次被登錄至繪圖地址狀態(tài)表GAST時(shí),則在繪圖地址狀態(tài) 表GAST中將該物理地址PAJ)O登記為共享狀態(tài)S ;以及當(dāng)繪圖地址狀態(tài)表GAST中的一物 理地址(例如PAjl)所對(duì)應(yīng)的繪圖數(shù)據(jù)曾被繪圖快取控制器362存取過,則在繪圖地址狀 態(tài)表GAST中將該物理地址PAjl登記為修正狀態(tài)M。其后,在步驟S530中,繪圖快取控制 器362根據(jù)物理地址PA映射的狀態(tài),選擇通過前端總線接口 330從CPU高速緩存312中存 取該存取指令所對(duì)應(yīng)的繪圖數(shù)據(jù),或選擇通過繪圖模塊接口 350及主存儲(chǔ)器控制器340從 主存儲(chǔ)器320中存取該存取指令所對(duì)應(yīng)的繪圖數(shù)據(jù)。 圖6為依照本發(fā)明另一實(shí)施例的繪圖數(shù)據(jù)存取方法(圖5)中步驟S530的詳細(xì)流 程圖。步驟S530還包括在步驟S610中,判斷存取指令所對(duì)應(yīng)的物理地址于繪圖地址狀態(tài) 表GAST中登記的狀態(tài)。若登記的狀態(tài)為共享狀態(tài)S時(shí),則進(jìn)入步驟S620而選擇通過前端總線接口 330(監(jiān)視路徑A)存取數(shù)據(jù)。若登記的狀態(tài)為修正狀態(tài)M時(shí),則進(jìn)入步驟S630而 選擇通過主存儲(chǔ)器控制器340 (非監(jiān)視路徑B)存取位于主存儲(chǔ)器320中對(duì)應(yīng)該物理地址的 繪圖數(shù)據(jù)。 上述步驟S620又分為兩種狀況。在步驟S640中,前端總線接口 330會(huì)在監(jiān)視CPU 310后判斷CPU 310的CPU高速緩存312中對(duì)應(yīng)至該物理地址的繪圖數(shù)據(jù)是否失效。若CPU 高速緩存312中的對(duì)應(yīng)繪圖數(shù)據(jù)未失效時(shí),則進(jìn)入步驟S650而存取CPU高速緩存312中的 繪圖數(shù)據(jù)。若CPU高速緩存312中的對(duì)應(yīng)繪圖數(shù)據(jù)已失效時(shí),則進(jìn)入步驟S660而選擇通過 主存儲(chǔ)器控制器340存取位于主存儲(chǔ)器320的繪圖數(shù)據(jù)。在存取該繪圖數(shù)據(jù)后,步驟S650 及S660皆進(jìn)入步驟S670。在步驟S670中,前端總線接口 330會(huì)將CPU高速緩存312中對(duì) 應(yīng)該物理地址的繪圖數(shù)據(jù)無(wú)效化,且將繪圖地址狀態(tài)表GAST中對(duì)應(yīng)該繪圖數(shù)據(jù)的狀態(tài)修 改成該修正狀態(tài)M。 最后,在一理想的實(shí)施例中,為維持CPU 310與繪圖模塊360間的快取數(shù)據(jù)一致 性,本發(fā)明的繪圖數(shù)據(jù)存取方法還包括當(dāng)CPU 310對(duì)主存儲(chǔ)器320或其它任何裝置中的高 速緩存存取一繪圖數(shù)據(jù)時(shí),則CPU 310將繪圖模塊360中的繪圖地址狀態(tài)表GAST表上對(duì)應(yīng) 該繪圖數(shù)據(jù)的物理地址予以無(wú)效化(通過路徑C),或者,將對(duì)應(yīng)該繪圖數(shù)據(jù)的物理地址的 狀態(tài)修改成共享狀態(tài)S。 如此一來(lái),依照本發(fā)明的繪圖數(shù)據(jù)存取方法,僅首次被存取的物理地址會(huì)通過監(jiān)
視路徑A來(lái)存取對(duì)應(yīng)的繪圖數(shù)據(jù),大部分的存取操作將會(huì)通過非監(jiān)視路徑B來(lái)存取,因而能
減少通過監(jiān)視路徑存取繪圖數(shù)據(jù)所累積消耗的時(shí)間,進(jìn)而改善繪圖系統(tǒng)的效能。 本發(fā)明雖以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何本領(lǐng)域
技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)
范圍當(dāng)視所附的權(quán)利要求范圍所界定者為準(zhǔn)。
權(quán)利要求
一種繪圖數(shù)據(jù)存取系統(tǒng),包括一主存儲(chǔ)器控制器,耦接具有多個(gè)物理地址的一主存儲(chǔ)器,用以存取該主存儲(chǔ)器;以及一繪圖快取控制器,耦接至該主存儲(chǔ)器控制器,該繪圖快取控制器包括一繪圖地址映射表;以及一繪圖地址狀態(tài)表;其中該繪圖快取控制器用以接收一存取指令,根據(jù)該繪圖地址映射表將該存取指令所對(duì)應(yīng)的一虛擬地址映射到一物理地址,再根據(jù)該繪圖地址狀態(tài)表將該物理地址映射到多個(gè)狀態(tài)中的一狀態(tài),且根據(jù)該狀態(tài)選擇從一處理器的存儲(chǔ)器或該主存儲(chǔ)器中存取該存取指令所對(duì)應(yīng)的一繪圖數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的繪圖數(shù)據(jù)存取系統(tǒng),其中該多個(gè)狀態(tài)至少包括 一初始狀態(tài),當(dāng)該繪圖地址狀態(tài)表中的一項(xiàng)在初始化或被無(wú)效化后,或無(wú)登錄任何物理地址時(shí),則該項(xiàng)登記為該初始狀態(tài);一共享狀態(tài),當(dāng)該繪圖地址映射表中的一第一物理地址首次被登錄至該繪圖地址狀態(tài) 表時(shí),則在該繪圖地址狀態(tài)表中將該第一物理地址登記為該共享狀態(tài);以及一修正狀態(tài),當(dāng)該繪圖地址狀態(tài)表中的一第二物理地址所對(duì)應(yīng)的繪圖數(shù)據(jù)曾被該繪圖 快取控制器存取過時(shí),則在該繪圖地址狀態(tài)表中將該第二物理地址登記為該修正狀態(tài)。
3. 根據(jù)權(quán)利要求2所述的繪圖數(shù)據(jù)存取系統(tǒng),其中,當(dāng)該繪圖快取控制器接收該存取指令,且該存取指令所對(duì)應(yīng)的該物理地址于該繪圖 地址狀態(tài)表中登記為該共享狀態(tài)時(shí),則該繪圖快取控制器選擇通過一前端總線接口存取位 于該處理器的存儲(chǔ)器的該繪圖數(shù)據(jù),其中該前端總線接口用以監(jiān)視并存取該處理器的存儲(chǔ) 器;以及當(dāng)該繪圖快取控制器接收該存取指令,且該存取指令所對(duì)應(yīng)的該物理地址于該繪圖地 址狀態(tài)表中登記為該修正狀態(tài)時(shí),則該繪圖快取控制器選擇通過該主存儲(chǔ)器控制器存取位 于該主存儲(chǔ)器的該繪圖數(shù)據(jù)。
4. 根據(jù)權(quán)利要求3所述的繪圖數(shù)據(jù)存取系統(tǒng),其中該繪圖快取控制器在存取該處理器 的存儲(chǔ)器后將該處理器的存儲(chǔ)器中的該繪圖數(shù)據(jù)無(wú)效化,并將該繪圖地址狀態(tài)表中對(duì)應(yīng)該 繪圖數(shù)據(jù)的該物理地址的狀態(tài)修改成該修正狀態(tài)。
5. 根據(jù)權(quán)利要求3所述的繪圖數(shù)據(jù)存取系統(tǒng),其中該前端總線接口耦接至該主存儲(chǔ)器 控制器,當(dāng)該前端總線接口監(jiān)視該處理器的存儲(chǔ)器后發(fā)現(xiàn)該處理器的存儲(chǔ)器中的該繪圖數(shù) 據(jù)已失效時(shí),該前端總線接口通過該主存儲(chǔ)器控制器存取位于該主存儲(chǔ)器的該繪圖數(shù)據(jù)。
6. 根據(jù)權(quán)利要求2所述的繪圖數(shù)據(jù)存取系統(tǒng),還包括一繪圖監(jiān)視總線,耦接于一前端 總線接口與該繪圖快取控制器之間,當(dāng)該處理器存取另一繪圖數(shù)據(jù)時(shí),該處理器通過該繪 圖監(jiān)視總線使該繪圖地址狀態(tài)表中對(duì)應(yīng)該另一繪圖數(shù)據(jù)的物理地址的狀態(tài)修改成該共享 狀態(tài)或無(wú)效化。
7. —種繪圖數(shù)據(jù)存取方法,包括根據(jù)一繪圖地址映射表將一存取指令所對(duì)應(yīng)的一虛擬地址映射到一物理地址; 根據(jù)一繪圖地址狀態(tài)表將該物理地址映射到多個(gè)狀態(tài)中的一狀態(tài);以及 根據(jù)該狀態(tài)選擇從一處理器的存儲(chǔ)器或一主存儲(chǔ)器中存取該存取指令所對(duì)應(yīng)的一繪 圖數(shù)據(jù)。
8. 根據(jù)權(quán)利要求7所述的繪圖數(shù)據(jù)存取方法,其中該多個(gè)狀態(tài)至少包括 一初始狀態(tài),當(dāng)該繪圖地址狀態(tài)表中的一項(xiàng)在初始化或被無(wú)效化后,或無(wú)登錄任何物理地址時(shí),則該項(xiàng)登記為該初始狀態(tài);一共享狀態(tài),當(dāng)該繪圖地址映射表中的一第一物理地址首次被登錄至該繪圖地址狀態(tài) 表時(shí),則在該繪圖地址狀態(tài)表中將該第一物理地址登記為該共享狀態(tài);以及一修正狀態(tài),當(dāng)該繪圖地址狀態(tài)表中的一第二物理地址所對(duì)應(yīng)的繪圖數(shù)據(jù)曾被存取過 時(shí),則在該繪圖地址狀態(tài)表中將該第二物理地址登記為該修正狀態(tài)。
9. 根據(jù)權(quán)利要求8所述的繪圖數(shù)據(jù)存取方法,還包括當(dāng)該存取指令所對(duì)應(yīng)的該物理地址于該繪圖地址狀態(tài)表中登記為該共享狀態(tài)時(shí),則通 過一前端總線接口存取位于該處理器的存儲(chǔ)器的該繪圖數(shù)據(jù);以及當(dāng)該存取指令所對(duì)應(yīng)的該物理地址于該繪圖地址狀態(tài)表中登記為該修正狀態(tài)時(shí),則通 過一主存儲(chǔ)器控制器存取位于該主存儲(chǔ)器的該繪圖數(shù)據(jù)。
10. 根據(jù)權(quán)利要求9所述的繪圖數(shù)據(jù)存取方法,其中在存取該處理器的存儲(chǔ)器后,將該 處理器的存儲(chǔ)器的該繪圖數(shù)據(jù)無(wú)效化,并將該繪圖地址狀態(tài)表中對(duì)應(yīng)該繪圖數(shù)據(jù)的該物理 地址的狀態(tài)修改成該修正狀態(tài)。
11. 根據(jù)權(quán)利要求9所述的繪圖數(shù)據(jù)存取方法,其中當(dāng)存取該處理器的存儲(chǔ)器時(shí)發(fā)現(xiàn) 該處理器的存儲(chǔ)器中的該繪圖數(shù)據(jù)已失效時(shí),通過一主存儲(chǔ)器控制器存取位于該主存儲(chǔ)器 的該繪圖數(shù)據(jù)。
12. 根據(jù)權(quán)利要求8所述的繪圖數(shù)據(jù)存取方法,還包括當(dāng)一處理器存取另一繪圖數(shù)據(jù)時(shí),將該繪圖地址狀態(tài)表中對(duì)應(yīng)該另一繪圖數(shù)據(jù)的物理 地址的狀態(tài)修改成該共享狀態(tài)或無(wú)效化。
全文摘要
一種繪圖數(shù)據(jù)存取系統(tǒng)。該繪圖數(shù)據(jù)存取系統(tǒng)包括一主存儲(chǔ)器控制器用以存取一主存儲(chǔ)器;以及一繪圖快取控制器用以接收一存取指令。其中,該繪圖快取控制器包括一繪圖地址映射表及一繪圖地址狀態(tài)表,該繪圖快取控制器根據(jù)該繪圖地址映射表將該存取指令所對(duì)應(yīng)的一虛擬地址映射到一物理地址,且根據(jù)該繪圖地址狀態(tài)表將該物理地址映射到多個(gè)狀態(tài)中的一狀態(tài);該繪圖快取控制器根據(jù)該狀態(tài)選擇從處理器的存儲(chǔ)器或主存儲(chǔ)器中存取該存取指令所對(duì)應(yīng)的一繪圖數(shù)據(jù)。
文檔編號(hào)G06T1/60GK101789118SQ201010105849
公開日2010年7月28日 申請(qǐng)日期2010年1月26日 優(yōu)先權(quán)日2010年1月26日
發(fā)明者林光彬 申請(qǐng)人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
德钦县| 桓台县| 竹溪县| 碌曲县| 西林县| 呼图壁县| 库尔勒市| 广宁县| 延川县| 来安县| 万安县| 马龙县| 怀来县| 天门市| 宝鸡市| 任丘市| 泰兴市| 京山县| 南溪县| 罗江县| 岗巴县| 屯门区| 黔东| 前郭尔| 苗栗县| 含山县| 拜泉县| 西乌珠穆沁旗| 治县。| 成武县| 仙居县| 阳信县| 开化县| 宝坻区| 澎湖县| 乐至县| 永定县| 额尔古纳市| 屏东市| 贵南县| 兴宁市|