亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖形控制器中校驗指令完整性的方法與電路的制作方法

文檔序號:6408364閱讀:208來源:國知局
專利名稱:圖形控制器中校驗指令完整性的方法與電路的制作方法
技術領域
本發(fā)明是涉及圖像處理,尤其是有關于校驗圖形控制器中指令完整性的方法與系統(tǒng)。
隨著圖形應用的復雜度和逼真增加,計算器平臺的能力(包括微處理器速度、系統(tǒng)內(nèi)存容量和頻寬,以及多任務處理)亦持續(xù)進步。為了符合現(xiàn)代圖形應用的需求,圖形控制器(亦稱為圖形加速器)已成為現(xiàn)代計算機系統(tǒng)中整合組件之一。在本發(fā)明中,圖形控制器一詞同時包含圖形控制與圖形加速的意義。在計算機系統(tǒng)中,如個人計算機、工作站、個人數(shù)字助手PDA或任何具有顯示屏幕的裝置,圖形處理器的角色是用來控制畫面顯示的子系統(tǒng)。
當圖形控制器只有處理顯示圖點數(shù)據(jù)時,圖形數(shù)據(jù)發(fā)生錯誤并不致于造成計算機系統(tǒng)運作停止。隨著顯示子系統(tǒng)的需求增加,圖形控制器亦處理圖形指令,而這些指令錯誤的影響超過單純的圖形顯示。因現(xiàn)有圖形控制器將指令與數(shù)據(jù)等同視之,對于圖形指令中的錯誤沒有容錯能力。換句話說,現(xiàn)有圖形控制器不能對接收到的數(shù)字指令中的錯誤進行校正。最典型的情況是,當一指令發(fā)生錯誤時,一計算機系統(tǒng)顯示可能會運作異常,最嚴重導致整個系統(tǒng)死機,必須重開機。此外,由于傳統(tǒng)顯示控制器沒有錯誤檢測或校正功能,故無法提供計算機系統(tǒng)任何診斷信息。
一般而言,現(xiàn)有圖形控制器包含一用以作為緩沖器的內(nèi)存,以存儲圖形數(shù)據(jù)。該圖形數(shù)據(jù)在碼框緩沖器中存在著發(fā)生錯誤的機率,尤其當碼框緩沖器以動態(tài)隨機存取內(nèi)存(DRAM)制作時機率最高。
此外,隨著高速數(shù)據(jù)傳輸速率不斷提升,例如芯片組和外部動態(tài)隨機存取內(nèi)存之間的傳輸頻率超過每秒500百萬傳輸單位(Mega-Transfers/sec),數(shù)據(jù)錯誤的發(fā)生也因此相對頻繁。數(shù)據(jù)錯誤可能來自時間脈沖、電壓以及噪聲等問題。此外,僅僅移動一集成電路的襯墊或電線,有時就會大幅度的增加錯誤發(fā)生率,所以現(xiàn)有的圖形控制器并無容錯能力。此外,任何指令傳輸串流所發(fā)生的錯誤(例如先進先出FIFO裝置,高速印刷電路板襯墊或追蹤等)將造成計算機系統(tǒng)死機。對此狀況,圖形控制器、計算機系統(tǒng)或操作系統(tǒng)沒有更進一步的信息顯示錯誤已發(fā)生,亦沒有檢測圖形顯示器中是否發(fā)生錯誤的能力,而既然無法檢測錯誤,自然不會采取校正的行動。因此在現(xiàn)有計算機系統(tǒng)中,一但圖形控制中發(fā)生錯誤,將導致整個系統(tǒng)不可恢復的死機。此時,唯一校正的方法即是重設或重開機。
有鑒于此,提供一可容忍指令錯誤的圖形控制器,是有迫切必要性的。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一圖形控制器的容錯電路,用以校驗圖形命令的完整性。此一圖形控制器的容錯電路,根據(jù)本發(fā)明的一實施例,更具體而言其包含一誤碼產(chǎn)生器、一碼框緩沖器及一誤碼譯碼器。該誤碼產(chǎn)生器接收圖形命令,并為每一個接收的圖形命令產(chǎn)生誤碼。該碼框緩沖器是用以存儲圖形數(shù)據(jù)和圖形命令,包含該誤碼產(chǎn)生器所產(chǎn)生的誤碼。該誤碼譯碼器串連在碼框緩沖器和圖形控制器中間,用以檢測圖形命令和與它相關的誤碼,判別是否有錯誤產(chǎn)生,并且提供相關指示。
該裝置還包含一中斷與狀態(tài)控制器,用以在檢測到錯誤或不可恢復錯誤時,發(fā)出中斷或傳送狀態(tài)給計算機系統(tǒng)。
該裝置還包含一清除控制器,用以在檢測到錯誤或可不可恢復錯誤時,從圖形控制器中清除圖形命令。該清除控制器也會將與被清除的圖形命令相關的任何數(shù)據(jù)清除。
該裝置還包含一圖形命令存儲器,用以存儲該有錯誤的圖形命令的前后的圖形命令。
該誤碼產(chǎn)生器可接收一組圖形命令并為該組產(chǎn)生一誤碼。組誤碼的大小和組中任何圖形命令的大小相同,以便于圖形命令與誤碼的包裝。
該誤碼產(chǎn)生器和誤碼譯碼器,在一實施例中是由集成電路組成,在另一本發(fā)明的容錯電路的一項優(yōu)點是,圖形系統(tǒng)中的錯誤可被計算機系統(tǒng)分析,以檢測圖形系統(tǒng)或碼框緩沖器是否需要置換。
本發(fā)明的另一項優(yōu)點是,在圖形指令中的錯誤能在被執(zhí)行之前就被檢測到,防止執(zhí)行之后造成系統(tǒng)異常錯誤。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉優(yōu)選實施例,并配合附圖作詳細說明如下。


圖1圖示具有圖形處理器的計算機系統(tǒng)示意圖;圖2a圖示傳統(tǒng)的圖形控制器中的指令傳輸流程圖;圖2b圖示傳統(tǒng)的復合指令與誤碼編碼方法示意圖;圖3顯示本發(fā)明的圖形控制器中的指令傳輸流程圖;圖4圖示傳統(tǒng)的輸入圖形命令串流編碼示意圖;圖5圖示本發(fā)明的輸入圖形命令串流編碼示意圖;以及圖6圖示以軟件編碼圖形命令碼的流程圖。
附圖中的符號說明100~計算機系統(tǒng) 102~圖形控制器104~芯片組 106~中央處理器108~操作系統(tǒng) 110~軟件程序112~系統(tǒng)內(nèi)存 114~顯示器116~硬盤驅(qū)動器 118~輸入輸出接口120~周邊元件互連總線(PCI BUS)122~PCI卡124~工業(yè)標準架構(ISA)卡200~現(xiàn)有流程 202~接收圖形命令204~沿寫入路徑傳輸 206~本地幀緩沖器208~沿讀取路徑傳輸 210~解釋與執(zhí)行圖形命令220~編碼系統(tǒng)單元 222~圖形命令集224~誤碼組 226~誤碼的產(chǎn)生步驟228~圖形命令 300~計算機系統(tǒng)302~接收圖形命令 304~與誤碼一起編碼306~沿寫入路徑傳輸 308~本地幀緩沖器310~沿讀取路徑傳輸 312~檢測與糾錯314~解釋與執(zhí)行圖形命令 316~執(zhí)行中斷與狀態(tài)控制318~清除圖形命令 320~存儲圖形命令420~本地幀緩沖器 402到416~圖形命令418~誤碼 422~誤碼產(chǎn)生器424~傳統(tǒng)編碼步驟 426~沿寫入路徑傳輸
524~本發(fā)明編碼步驟 502到516~圖形命令518~誤碼522~軟件程序526~沿寫入路徑傳輸 520~本地幀緩沖器601到619~邏輯運算流程具體實施方式
圖1為一具有圖形處理器102的計算機系統(tǒng)100的示意圖。計算機系統(tǒng)100包含一中央處理器(CPU)106、一系統(tǒng)內(nèi)存112、一芯片組104、一圖形控制器102、一顯示裝置114、一總線120、一硬盤驅(qū)動器116、一輸出入裝置118,一周邊元件互連接口(PCI)控制器122以及一工業(yè)標準架構總線(ISA)控制器124。
該CPU 106具有一微處理器和支持電路(圖中未示)。例如Intel生產(chǎn)的PentiumII、PentiumIII或PentiumIV都是計算機系統(tǒng)中典型的微處理器。然而,本發(fā)明中并未限定于這些微處理器。
芯片組104連接到CPU 106和系統(tǒng)內(nèi)存112、圖形控制器102和總線120,以便與連接到總線120上的各種裝置連接。此計算機系統(tǒng)的總線120可為一PCI總線。芯片組104可為一組由多個微芯片整合而成的單元所構成,以執(zhí)行一或多相關的計算功能。一般而言,當使用Intel Pentium微處理器時,芯片組104則是搭配Intel 430HX PCI組。該Intel芯片組是一雙芯片設置,提供PCI總線控制,并包含通用序列總線(USB)接口。
芯片組104基本上包含兩個組件,一個北橋組件和一個南橋組件。該北橋組件通過一前端總線(FSB)與CPU 106連接,并控制系統(tǒng)內(nèi)存112、PCI總線102和圖形加速端口(AGP)(圖中未示)控制者的角色。該前端總線、系統(tǒng)內(nèi)存112和AGP的狀態(tài)從制造者到北橋組件制造者皆不同。有些北橋組件亦整合了視頻部分。
該南橋組件控制了大部分基本的輸入輸出接口,例如通用序列總線(USB)、串行端口、音頻接口和整合驅(qū)動電路(IDE)接口。其輸入輸出接口的控制狀態(tài),是根據(jù)南橋使用的特定規(guī)格而異。該南橋組件連接到北橋組件的PCI總線120,對計算機系統(tǒng)100而言是一32位,33百萬赫茲的總線,足以提供每秒133兆字節(jié)的頻寬。相對應的,芯片組104和PCI總線120之間的雙向連接包含了芯片組104內(nèi)南橋與北橋組件的雙向連接,以及芯片組104與其它周邊裝置如硬盤驅(qū)動器116或PCI卡122的雙向連接。
計算機系統(tǒng)100包含常駐在系統(tǒng)內(nèi)存112中的操作系統(tǒng)108,用以作為其它軟件110的平臺,例如圖形軟件。在本發(fā)明中,軟件110是一程序,用以產(chǎn)生供圖形處理器102處理的圖形數(shù)據(jù)與圖形命令。這些數(shù)據(jù)與圖形命令也可能通過系統(tǒng)內(nèi)存112被其它計算機系統(tǒng)100的組件處理,如芯片組104或CPU 106通過系統(tǒng)內(nèi)存112。在本發(fā)明中,軟件110還可包含圖形數(shù)據(jù)與圖形命令的補充處理,將于下述。
CPU 106、芯片組104及其它計算機系統(tǒng)100內(nèi)的裝置是與系統(tǒng)內(nèi)存112耦合連接,該系統(tǒng)內(nèi)存112可為各種不同狀態(tài)的集成電路內(nèi)存,如靜態(tài)隨機存取內(nèi)存(SRAM)、動態(tài)隨機存取內(nèi)存(DRAM)或高速緩存。雖然系統(tǒng)內(nèi)存112可進一步被圖形控制器102存取,然而圖形控制器102中的本地內(nèi)存是存儲圖形數(shù)據(jù)和圖形命令的較佳選擇,因圖形控制器可以較快速度存取本地內(nèi)存。此圖形控制器102將于下進一步細述。
在計算機系統(tǒng)100中,PCI總線120是一互連系統(tǒng),其擴充槽緊密排列以維持通過芯片組104連接的微處理器106與擴充裝置之間的高速運作。使用PCI總線120,計算機系統(tǒng)100可同時支持PCI卡122和傳統(tǒng)的ISA 124擴充卡。該PCI總線120通過124針腳的總線一次傳送32位,或擴充版是通過188針腳的總線一次傳送64位(多余的針腳用于電源供應與地線)。PCI總線120以多路傳輸?shù)刂泛蛿?shù)據(jù)信號,即一個時間脈沖周期傳送地址,而下一個時間脈沖周期傳送數(shù)據(jù)。群發(fā)數(shù)據(jù)傳輸?shù)陌l(fā)送,則可以是第一時間脈沖周期傳輸一個地址,接下來的數(shù)個周期傳送一連串數(shù)據(jù)。
PCI規(guī)格中制定了兩種不同的尺寸規(guī)格。標準規(guī)格的PCI規(guī)格是312毫米,而短小型PCI卡則從119到167毫米范圍,適用于有空間制約的小插槽。如同標準規(guī)格PCI卡,短小型PCI卡亦是高效能輸出入總線卡,可動態(tài)設定給高頻寬需求的裝置。大部分現(xiàn)今的PCI卡122都是半長或更短。PCI有許多不同的版本,包括Compact PCI,Mini PCI,Low-Profile PCI,concurrent PCI和PCI-X,這些全部都適用于本發(fā)明的系統(tǒng)100。輸出入裝置118包括,但不限定于輸入裝置,如鍵盤、鼠標、觸碰式屏幕或其它輸入裝置,以及輸出裝置,如屏幕、打印機、揚聲器或其它輸出裝置。
圖形處理器102主要提供顯示器114快速有效的圖像信息,其一般都擁有自己的處理器和特殊的硬件以供快速和效率的顯示圖像。CPU 106或圖形控制器102中的處理器都可以執(zhí)行該軟件程序110。
該圖形控制器102是一種微電腦電子組件,軟件110可用以控制圖像的傳送與更新到顯示器114,或是計算一般二維(2D)與三維(3D)圖像的特殊效果。圖形控制器102加速了圖形在顯示器114上的顯像,達到了單獨使用CPU 106沒辦法做出的效果。舉例來說,超大圖形或隨使用者輸入而圖像變動快速的交互式游戲等,皆直接受惠于圖形控制器102提供的特殊效果。其中,圖形控制器102可藉由加速圖形端口(AGP),一介于計算機組件和圖像顯示間的總線接口,延伸其功能,圖形控制器102亦可提供一應用程序接口(API),或者在另一實施例中,圖形控制器102支持超過一種應用程序接口?,F(xiàn)今存在的應用程序接口主流,包括有公開圖形函數(shù)庫(OpenGL),以及微軟的DirectX和Direct3D。
本發(fā)明中的圖形控制器102除了包含現(xiàn)有圖形控制器的功能,還提供指令完整性校驗。指令完整性校驗意味著分析數(shù)字圖形指令以判別該指令中是否包含錯誤。檢測到錯誤之處,本發(fā)明另有一實施例可提供校正的功能。若該錯誤無法校正,本發(fā)明另有一實施例提供計算機系統(tǒng)100一機制以察覺錯誤的發(fā)生。在描述本發(fā)明的圖形控制器102的功能之前,先了解現(xiàn)有圖形控制器是有助益的。
圖2a圖顯示現(xiàn)有圖形控制器指令傳輸流程圖200。單元202接收傳來的圖形命令,順著傳輸寫入路徑204,到達本地幀緩沖器206。部分的圖形控制器命令傳輸流程包含一圖形命令溢滿緩沖區(qū)(COB),該COB從系統(tǒng)總線接口接收圖形命令串流,并將圖形命令放入本地幀緩沖器206。其中數(shù)據(jù)隨即于稍后被讀回。
在現(xiàn)有系統(tǒng)中,圖形命令長度為256位。該指令寫入路徑204指的是實際上數(shù)字圖形命令被推送到本地幀緩沖器206的路徑。該圖形命令寫入路徑204可為集成電路中的路徑、接觸墊及沿著印刷電路板與電纜的路徑等。這些本地幀緩沖器206通常是以快速存取內(nèi)存如動態(tài)隨機存取內(nèi)存(DRAM)實現(xiàn)。
根據(jù)現(xiàn)有技術,一圖形命令在本地幀緩沖器206必須沿著讀取路徑208傳輸。如同命令寫入路徑204一般,一條命令讀取路徑208包含了(舉例來說)集成電路中的路徑、接觸墊、沿著印刷電路板和電纜的路徑。根據(jù)現(xiàn)有技術,這些圖形命令進入單元210后隨即被解釋與執(zhí)行。在現(xiàn)有圖形控制器中,一道圖形命令會先被解釋決定其內(nèi)容,然后執(zhí)行。
圖2b圖顯示一現(xiàn)有圖形命令與誤碼編碼系統(tǒng)220的單元圖。如圖所示,現(xiàn)有的編碼方式因加入經(jīng)誤碼產(chǎn)生器226產(chǎn)生的誤碼22,會使圖形命令228轉變成較寬的圖形命令222,這使得圖形命令與圖形控制器中的數(shù)據(jù)路徑無法相容。
如上所述,現(xiàn)有圖形控制器無法容忍可能發(fā)生在圖形命令的數(shù)字表現(xiàn)中的錯誤。相對地,本發(fā)明藉錯誤檢測與校正技術,提出了可容錯的圖形控制器102。
圖3顯示本發(fā)明圖形控制器102的指令傳輸流程圖300。新進的圖形命令由單元302接收,由單元304編碼,加上誤碼,藉此得以檢測或校正那些可能影響數(shù)字圖形命令的錯誤。根據(jù)本發(fā)明的實施狀態(tài),圖形命令與誤碼的長度皆是256位。其中,每八個長度256位的圖形命令產(chǎn)生一長度256位的誤碼。此編碼動作是由軟件210進行。軟件實現(xiàn)的好處是實現(xiàn)快速,可有彈性的改變、升級、調(diào)整誤碼編碼算法。而在另一實施方式,其編碼動作是由單元302中特殊的固件或硬件來實現(xiàn)。硬件實現(xiàn)的好處在提升運作效能,因集成電路(IC)、特殊應用集成電路(ASIC)使得速度效能增加,及其它硬件實現(xiàn)可快速而有效的編碼(encoding)。
該圖形命令,在單元304編上誤碼后,順著一圖形命令寫入路徑306傳送,最后存儲在本地幀緩沖器308。該圖形命令寫入路徑306和圖2中描述的命令寫入路徑是類似的,代表著圖形命令到達本地幀緩沖器308的實體路徑。重點是本發(fā)明允許任何數(shù)據(jù)路徑或數(shù)據(jù)總線的寬度保持一致,以節(jié)省實現(xiàn)的時間和成本。事實上以此方式實現(xiàn)時,本發(fā)明可有效的對原廠制造者(OEM)與終端使用者保持高通透兼容性。一圖形命令寫入路徑可以包含,舉例來說,集成電路中的路徑、接觸墊、沿印刷電路板與電纜的路徑。該本地幀緩沖器308與206相似,亦包含了諸如快速存取內(nèi)存如一般用于圖形應用的DRAM。在本地幀緩沖器308中,一圖形命令沿著單元310所示的讀取路徑傳送。以類似圖2的方式,一數(shù)字命令必須通過讀取路徑310,包含集成電路中的路徑,通過接觸墊、沿著印刷電路板和電纜走過。
根據(jù)本發(fā)明,數(shù)字命令被單元304編碼過后,被單元312譯碼。解碼過的圖形命令中的任何錯誤亦被單元312檢測與校正。若一圖形命令中完全無錯誤,表示沒有錯誤出現(xiàn)或是錯誤已校正,于是傳送到單元314去做第一次解釋,隨后執(zhí)行,在圖1所示的顯示器114上顯示一圖像。
本發(fā)明還提供中斷和狀態(tài)單元316、清除命令單元318及存儲命令單元320等功能。當一圖形命令中發(fā)現(xiàn)有錯誤,而且無法校正時,單元316執(zhí)行一中斷與狀態(tài)控制動作。根據(jù)該圖形命令受影響的程度,本發(fā)明可中斷該圖形控制器102的運作,以避免系統(tǒng)100死機。進一步,根據(jù)該圖形命令受影響的程度,亦可中斷整個計算機系統(tǒng)100的運作。在本發(fā)明的一實施例中,中斷與狀態(tài)單元316包含了受影響圖形命令的分析程序,以判斷該圖形控制器102或計算機系統(tǒng)100是否該中斷。另一做法是,以中斷與狀態(tài)單元316收集狀態(tài)信息,并傳送到圖形控制器102或計算機系統(tǒng)100,用于更進一步的處理。其中,狀態(tài)信息包含了頻率或任何檢測到的錯誤特征。此外狀態(tài)信息包含了圖形控制器102的診斷信息。這些信息可被圖形控制器102與或系統(tǒng)100處理以減低錯誤的發(fā)生。
當檢測到一圖形命令中有錯誤,而該圖形命令無法校正,或單純只有檢測到錯誤時,清除命令單元318提供一個機制用以從圖形控制器中清除錯誤的圖形命令。關于清除命令單元318的這項功能,重點是須注意該圖形命令可能具有相關聯(lián)的數(shù)據(jù),也將用于圖形控制器102的處理。當該圖形命令被單元318清除時,本發(fā)明中的一實施例亦清除任何相關聯(lián)于該圖形命令的其它數(shù)據(jù)。
當檢測到一圖形命令中的錯誤,而該錯誤無法校正,本發(fā)明另提供一功能單元320,用以存儲有錯誤的圖形命令的前后緊連命令。其中,新進的圖形命令被送入一預設長度的移位緩存器,如此當錯誤發(fā)生時,該有錯誤的圖形命令的前一圖形命令已被存儲且可被救回。此外,該有錯誤的圖形命令之后的圖形命令亦可被存儲,并于隨后傳送到圖形控制器102或計算機系統(tǒng)100,用于協(xié)助檢測有錯誤的圖形命令。一連串圖形命令的序列特征,可用來與功能單元320中先前已存儲的圖形命令紀錄比對,以找出錯誤的圖形命令。找出有錯誤的圖形命令后,在本發(fā)明的一實施例中,可重新傳送有錯誤的圖形命令。在另一實施例中,或?qū)⒂绣e誤的圖形命令之前后的一連串圖形命令都重新傳送。
根據(jù)本發(fā)明,藉錯誤校正碼(Error Correction Code,ECC)或錯誤檢驗與校正(亦稱為Error Checking and Correction,ECC)碼可使被讀取或傳送的圖形命令信息得以受到錯誤檢測,而且在必要時,可在執(zhí)行前校正之。ECC和奇偶校驗(Parity Checking)或其它錯誤檢測技術不同,圖形命令中的錯誤不僅可被檢測出來,還可予以校正。在本發(fā)明中的一實施例中,ECC的實現(xiàn)增進了圖形控制器102的效能。在另一實施例中,只有實現(xiàn)錯誤檢測碼。錯誤檢測碼優(yōu)于現(xiàn)有技術之處在于提供錯誤發(fā)生的信息。在本實施例中,中斷與狀態(tài)單元316,清除命令單元318和存儲命令單元320中提供了各種功能。舉例來說,中斷和狀態(tài)控制單元316完全基于錯誤的檢測。因為錯誤沒辦法被校正,任何被檢測到有錯誤的圖形命令都被清除命令單元318給清除了。如單元320所示,該有問題的圖形命令前后的圖形命令亦可被存儲,供圖形控制器102或計算機系統(tǒng)100使用。
關于錯誤校正碼或錯誤檢驗與校正技術(ECC),事實上熟習此技術之人士不難明白,本發(fā)明并不限定于使用這些ECC技術,相對地,其它類似錯誤校正技術亦可與本發(fā)明搭配實現(xiàn)。當一組信息(例如,一個字匯)沿著一圖形命令寫入路徑306或命令讀取路徑310傳送,或暫存于本地幀緩沖器308,一描述字匯中位順序的數(shù)碼被算出并與該單位信息存儲在一起。本發(fā)明的一實施例中,ECC技術的需求是,每256位就占用額外32位,以一位對八位的比例編碼。當一組數(shù)據(jù)被讀取時,此組信息亦利用同樣的ECC技術計算一數(shù)碼。此新產(chǎn)生的數(shù)碼隨即用以與該信息存儲時產(chǎn)生的數(shù)碼比對。若該數(shù)碼符合,表示沒有錯誤發(fā)生,則以正常方式處理。若數(shù)碼不符合,該遺失或錯誤的位,則藉由數(shù)碼比對檢測,并獲得校正。
在某些狀況中,數(shù)碼不足以校正所有的錯誤,以致于原始信息無法恢復。任何重復發(fā)生的錯誤可能象征著硬件毀損,而隨機錯誤可能屬于計算機系統(tǒng)100或圖形控制器102接近極限造成的結果。在256位的等級,奇偶校驗和ECC兩者皆需要相同數(shù)量的額外位。一般來說,ECC增進了計算機系統(tǒng)100的可靠度,尤其是本發(fā)明中的圖形控制器102。漢明碼(Hamming code)是普遍實現(xiàn)的技術,一般而言此碼可檢測并恢復遺失、清除的位或錯誤位。
在一實施例中,圖形控制器102是以圖4所示的ECC技術實現(xiàn),以相容于現(xiàn)有系統(tǒng)。在圖4中,圖形命令402到416串連起來形成一圖形命令串流,長度各別為256位。這一圖形命令串流中,圖形命令每八個組成一單元,而該等圖形命令對應的誤碼,也每八個組成一誤碼單元418,其中該誤碼單元418的最左32位對應到圖形命令402的誤碼,最右邊32位對應到圖形命令416,中間依序類推。
讀與寫指針(pointers)被包含在誤碼單元418中以提供圖形命令402到416的誤碼的區(qū)別。因為圖形命令402到416與誤碼單元418都是256位長度,所以該圖形命令402到416與誤碼單元418可在現(xiàn)有256位接口下傳輸,不需任何更改。這項特征如前述,對于OEM和末端使用者而言有很好的通透擴充性。因為只需要九個大小為256位的單元信息,該額外的256位誤碼單元并不會明顯降低系統(tǒng)效能。依此類推,接下來每八個圖形命令單元便附帶一額外誤碼單元,延續(xù)不斷地運作。圖4顯示將數(shù)據(jù)寫入本地幀緩沖器420的一寫入路徑,通過一256位接口,從本地幀緩沖器420讀取圖形命令402~416與誤碼單元418,并依序?qū)懭氡镜貛彌_器420。雖然整體效能有些許影響,圖形命令的完整度卻提高了,錯誤的降低使得圖形控制器和接下來的計算機系統(tǒng)300效能大大提升。
本發(fā)明不但對圖形命令的除錯非常有用,同時亦可應用于圖形數(shù)據(jù)的除錯。雖然圖形數(shù)據(jù)的錯誤對于計算機系統(tǒng)300或圖形控制器302的運作而言并非如此嚴重,處理過的數(shù)據(jù)的完整度增加,亦更增進計算機系統(tǒng)300與圖形控制器兩者的運作。
雖然本發(fā)明已提供詳細較佳實例的參考說明,其它版本的可能性依然存在。舉例來說,圖5描述的圖形命令串流502~516,是以軟件程序代替圖4所示的硬件做編碼。在軟件編碼方法中,如圖6所示,pack_cmd[]為一數(shù)組包含了圖形命令,而check_code[]為另一數(shù)組包含了校驗碼。該編碼步驟以hamming_encode_fun()函數(shù)對圖形命令進行處理。每八個圖形命令形成一數(shù)組,每個圖形命令各對應一校驗碼,而數(shù)組的索引變量值index的范圍為從0到7。
在步驟601中,該索引變量值index預設為0,而pack_cmd[]數(shù)組初始化。該一新圖形命令到來,如步驟603,該新圖形命令new_cmd進入pack_cmd[]數(shù)組,如步驟605,隨即由hamming_encode_fun(new_cmd)產(chǎn)生一校驗碼,根據(jù)check_code數(shù)組中的索引值(31+32*index):32*index,放入check_code數(shù)組中的適當位置。
接著,步驟607校驗索引變量值index是否小于7。若是,則索引變量值在步驟607中加1,并且在步驟605使下一新圖形命令進入pack_cmd[]數(shù)組,同時計算一校驗碼并放入check_code數(shù)組中的適當位置。當八個圖形命令全部都進入pack_cmd列,并完成全部校驗碼的計算,該索引值index與sentcnt變量在步驟601初始化0,在步驟613將校驗碼送入CPU,而循環(huán)615、617、619負責將pack_cmd的內(nèi)容送入CPU。因此,本發(fā)明雖以優(yōu)選實施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何熟習此項技術者,在不脫離本發(fā)明的精神和范圍內(nèi),當可做各種的更動與潤飾,因此本發(fā)明的保護范圍當視后附的申請專利范圍所界定者為準。
權利要求
1.一種圖形控制器的容錯電路,用以校驗圖形命令的完整性,其包含一誤碼產(chǎn)生器,接收圖形命令,并為該圖形命令產(chǎn)生對應的誤碼;一碼框緩沖器,存儲圖形命令及對應的誤碼;以及一誤碼譯碼器,接收碼框緩沖器的圖形命令和對應的誤碼,根據(jù)誤碼判斷圖形命令是否發(fā)生錯誤,從而提供一除錯指示或?qū)⑼暾膱D形命令輸出至圖形控制器。
2.如權利要求1所述的圖形控制器的容錯電路,該誤碼產(chǎn)生器為一軟件模塊,用于將一定數(shù)量的圖形命令存儲到一數(shù)組,并計算每一圖形命令對應的誤碼。
3.如權利要求2所述的圖形控制器的容錯電路,該數(shù)組存儲的圖形命令預定數(shù)量為8,且8個校驗碼所使用的位數(shù)與一圖形命令的位數(shù)相同。
4.如權利要求1所述的圖形控制器的容錯電路,該誤碼產(chǎn)生器還用以接收與該圖形命令相關的一圖形數(shù)據(jù),并為該圖形數(shù)據(jù)產(chǎn)生一誤碼;以及該誤碼譯碼器更進一步以誤碼判斷圖形數(shù)據(jù)是否發(fā)生錯誤,從而提供進一步除錯指示。
5.如權利要求1所述的圖形控制器的容錯電路,該圖形命令大小為256位,每8個圖形命令為一組,該誤碼產(chǎn)生器根據(jù)該圖形命令產(chǎn)生的該對應誤碼,大小為32位,集合該組8個對應誤碼,結合成長度256位的一誤碼組,連同該組8個圖形命令,存儲于該碼框緩沖器。
6.如權利要求5所述的圖形控制器的容錯電路,該組8個圖形命令與該誤碼組形成每單位256位,共含有九個單位的一組信息,存儲于碼框緩沖器中。
7.如權利要求6所述的圖形控制器的容錯電路,該誤碼組,包含讀取與寫入指針,用以區(qū)分該誤碼組中的個別誤碼。
8.如權利要求1所述的圖形控制器的容錯電路,該誤碼譯碼器是用以檢定該圖形命令中檢測到的錯誤是否為可校正,并且校正該錯誤。
9.如權利要求1所述的圖形控制器的容錯電路,還包含一中斷與狀態(tài)控制器,用以連接于該誤碼譯碼器并根據(jù)誤碼譯碼器產(chǎn)生的一除錯指示,傳送一中斷或錯誤狀態(tài),給具有該圖形控制器的一計算機系統(tǒng)。
10.如權利要求1所述的圖形控制器的容錯電路,該誤碼譯碼器產(chǎn)生一除錯指示,用以指出該錯誤是否可校正;以及還包含一中斷與狀態(tài)控制器,是連接于該誤碼譯碼器,用以根據(jù)除錯指示在該錯誤是不可校正時,產(chǎn)生一中斷或錯誤狀態(tài),傳送到具有該圖形控制器的一計算機系統(tǒng)。
11.如權利要求1所述的圖形控制器的容錯電路,進一步包含一清除命令控制器,用以連接到該誤碼譯碼器,并根據(jù)除錯指示清除圖形控制器中有錯誤的圖形命令。
12.如權利要求11所述的圖形控制器的容錯電路,該清除命令控制器是用以清除任何跟已被清除的該有錯誤的圖形命令有關聯(lián)的數(shù)據(jù)。
13.如權利要求11所述的圖形控制器的容錯電路,該誤碼譯碼器產(chǎn)生的一除錯指示,用以指出該錯誤是否可校正;以及還包含一中斷與狀態(tài)控制器,連接于該誤碼譯碼器,并根據(jù)除錯指示在錯誤是不可校正時,產(chǎn)生一中斷或錯誤狀態(tài),傳送到裝有該圖形控制器的一計算機系統(tǒng)。
14.如權利要求1所述的圖形控制器的容錯電路,還包含一存儲命令控制器,用以連接到該誤碼譯碼器,并根據(jù)除錯指示將測出有錯誤的圖形命令前后的圖形命令存儲起來。
15.如權利要求1所述的圖形控制器的容錯電路,該誤碼譯碼器產(chǎn)生的一除錯指示,用以指出該錯誤是不可校正;以及還包含一存儲命令控制器,用以連接到該誤碼譯碼器,并根據(jù)除錯指示在該錯誤是不可校正時,將該錯誤的圖形命令前后的圖形命令存儲起來。
16.一處理圖形命令的方法,包含下列步驟接收一圖形命令;為該圖形命令產(chǎn)生一誤碼;存儲該圖形命令與該誤碼于一用以存儲該圖形命令與一圖形數(shù)據(jù)的碼框緩沖器內(nèi);擷取該碼框緩沖器內(nèi)的該圖形命令與該誤碼;藉該圖形命令與該誤碼判斷該圖形命令是否發(fā)生錯誤,而決定是否提供一除錯指示;以及執(zhí)行該圖形命令以顯示該圖形數(shù)據(jù)。
17.如權利要求16所述的處理圖形命令的方法,還包含下列步驟接收一圖形數(shù)據(jù);為該圖形數(shù)據(jù)產(chǎn)生一誤碼;將該圖形數(shù)據(jù)存儲于一碼框緩沖器;存取該碼框緩沖器內(nèi)的該圖形數(shù)據(jù)與該誤碼;以及從該圖形數(shù)據(jù)與該誤碼判斷該圖形數(shù)據(jù)是否發(fā)生錯誤,而決定是否提供一除錯指示。
18.如權利要求16所述的處理圖形命令的方法,還包含根據(jù)除錯指示產(chǎn)生一中斷或錯誤狀態(tài)。
19.如權利要求16所述的處理圖形命令的方法,還包含根據(jù)除錯指示顯示該錯誤為不可恢復時,產(chǎn)生一中斷或錯誤狀態(tài)。
20.如權利要求16所述的處理圖形命令的方法,還包含根據(jù)除錯指示而終止一圖形命令的執(zhí)行。
21.如權利要求16所述的處理圖形命令的方法,還包含根據(jù)除錯指示顯示該錯誤為不可恢復時,而終止一圖形命令的執(zhí)行。
22.如權利要求16所述的處理圖形命令的方法,還包含根據(jù)除錯指示將發(fā)生錯誤的圖形命令的前后圖形命令存儲起來。
23.如權利要求16所述的處理圖形命令的方法,還包含根據(jù)除錯指示顯示該錯誤為不可恢復時,將發(fā)生錯誤的圖形命令的前后圖形命令存儲起來。
24.如權利要求16所述的處理圖形命令的方法,其中接收到的是一整組的圖形命令,而誤碼產(chǎn)生步驟對整組圖形命令產(chǎn)生誤碼,此外還包含一步驟,將該整組誤碼結合成一單一字符誤碼,大小與任何一個圖形命令一致。
25.如權利要求24所述的處理圖形命令的方法,其中一整組的圖形命令包含八個圖形命令,每個大小256位;而且每個誤碼的大小是32位,結合后的該單一字符誤碼大小為256位。
全文摘要
一容錯圖形控制器為圖形命令產(chǎn)生誤碼并于執(zhí)行該圖形命令之前校驗該誤碼,其具有一誤碼產(chǎn)生器用以檢測與校正錯誤,或只用來檢測錯誤。如果檢測到一個錯誤,或一個不可糾正的錯誤發(fā)生了,主計算機系統(tǒng)可被告知或中斷,而該錯誤的圖形命令可從圖形控制器中被清除掉,甚或?qū)⒃撳e誤的圖形命令的前后圖形命令存儲起來以助判定該錯誤的圖形命令。誤碼的產(chǎn)生以單元為單位,存儲在碼框緩沖器,因此對系統(tǒng)效能的影響很微小。
文檔編號G06F11/00GK1542619SQ200410049400
公開日2004年11月3日 申請日期2004年6月9日 優(yōu)先權日2003年7月30日
發(fā)明者孔德海, 鄭智月 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1