CN1290013C - 图形控制器中校验指令完整性的方法与电路 - Google Patents
图形控制器中校验指令完整性的方法与电路 Download PDFInfo
- Publication number
- CN1290013C CN1290013C CN200410049400.8A CN200410049400A CN1290013C CN 1290013 C CN1290013 C CN 1290013C CN 200410049400 A CN200410049400 A CN 200410049400A CN 1290013 C CN1290013 C CN 1290013C
- Authority
- CN
- China
- Prior art keywords
- error code
- graph
- command
- graph command
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 34
- 238000012545 processing Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- Debugging And Monitoring (AREA)
- Digital Computer Display Output (AREA)
Abstract
一容错图形控制器为图形命令产生误码并于执行该图形命令之前校验该误码,其具有一误码产生器用以检测与校正错误,或只用来检测错误。如果检测到一个错误,或一个不可纠正的错误发生了,主计算机系统可被告知或中断,而该错误的图形命令可从图形控制器中被清除掉,甚或将该错误的图形命令的前后图形命令存储起来以助判定该错误的图形命令。误码的产生以单元为单位,存储在码框缓冲器,因此对系统效能的影响很微小。
Description
技术领域
本发明是涉及图像处理,尤其是有关于校验图形控制器中指令完整性的方法与系统。
随着图形应用的复杂度和逼真增加,计算器平台的能力(包括微处理器速度、系统内存容量和频宽,以及多任务处理)亦持续进步。为了符合现代图形应用的需求,图形控制器(亦称为图形加速器)已成为现代计算机系统中整合组件之一。在本发明中,图形控制器一词同时包含图形控制与图形加速的意义。在计算机系统中,如个人计算机、工作站、个人数字助手PDA或任何具有显示屏幕的装置,图形处理器的角色是用来控制画面显示的子系统。
当图形控制器只有处理显示图点数据时,图形数据发生错误并不致于造成计算机系统运作停止。随着显示子系统的需求增加,图形控制器亦处理图形指令,而这些指令错误的影响超过单纯的图形显示。因现有图形控制器将指令与数据等同视之,对于图形指令中的错误没有容错能力。换句话说,现有图形控制器不能对接收到的数字指令中的错误进行校正。最典型的情况是,当一指令发生错误时,一计算机系统显示可能会运作异常,最严重导致整个系统死机,必须重开机。此外,由于传统显示控制器没有错误检测或校正功能,故无法提供计算机系统任何诊断信息。
一般而言,现有图形控制器包含一用以作为缓冲器的内存,以存储图形数据。该图形数据在码框缓冲器中存在着发生错误的机率,尤其当码框缓冲器以动态随机存取内存(DRAM)制作时机率最高。
此外,随着高速数据传输速率不断提升,例如芯片组和外部动态随机存取内存之间的传输频率超过每秒500百万传输单位(Mega-Transfers/sec),数据错误的发生也因此相对频繁。数据错误可能来自时间脉冲、电压以及噪声等问题。此外,仅仅移动一集成电路的衬垫或电线,有时就会大幅度的增加错误发生率,所以现有的图形控制器并无容错能力。此外,任何指令传输串流所发生的错误(例如先进先出FIFO装置,高速印刷电路板衬垫或追踪等)将造成计算机系统死机。对此状况,图形控制器、计算机系统或操作系统没有更进一步的信息显示错误已发生,亦没有检测图形显示器中是否发生错误的能力,而既然无法检测错误,自然不会采取校正的行动。因此在现有计算机系统中,一但图形控制中发生错误,将导致整个系统不可恢复的死机。此时,唯一校正的方法即是重设或重开机。
有鉴于此,提供一可容忍指令错误的图形控制器,是有迫切必要性的。
发明内容
本发明的目的在于提供一图形控制器的容错电路,用以校验图形命令的完整性。此一图形控制器的容错电路,根据本发明的一实施例,更具体而言其包含一误码产生器、一码框缓冲器及一误码译码器。该误码产生器将接收到的图形命令分别编码以产生对应的误码,并将这些误码组合成误码单元,其中,每一定数量的误码组成一个误码单元,一个误码单元所需要的位数等于一个图形命令所具有的位数。该码框缓冲器是用以存储图形数据和图形命令,包含该误码产生器所产生的误码单元。该误码译码器串连在码框缓冲器和图形控制器中间,用以检测存储于码框缓冲器的图形命令以及所对应的误码单元,从误码单元中得到各个图形命令所对应的误码,判别是否有错误产生,并且提供相关指示。
该装置还包含一中断与状态控制器,用以在检测到错误或不可恢复错误时,发出中断或传送状态给计算机系统。
该装置还包含一清除控制器,用以在检测到错误或不可恢复错误时,从图形控制器中清除图形命令。该清除控制器也会将与被清除的图形命令相关的任何数据清除。
该装置还包含一图形命令存储器,用以存储该有错误的图形命令的前后的图形命令。
该误码产生器可接收一组图形命令并为该组产生一误码。组误码的大小和组中任何图形命令的大小相同,以便于图形命令与误码的包装。
该误码产生器和误码译码器,在一实施例中是由集成电路组成,在另一实施例则为软件程序。
本发明的容错电路的一项优点是,图形系统中的错误可被计算机系统分析,以检测图形系统或码框缓冲器是否需要置换。
本发明的另一项优点是,在图形指令中的错误能在被执行之前就被检测到,防止执行之后造成系统异常错误。
本发明的另一目的在于提供一处理图形命令的方法,包含下列步骤:接收图形命令;将接收到的图形命令分别编码以产生对应的误码;将这些误码组合成误码单元,其中,每一定数量的误码组成一个误码单元,一个误码单元所需要的位数等于一个图形命令所具有的位数;存储图形命令及所对应的误码单元于一码框缓冲器内;撷取该码框缓冲器内的图形命令以及所对应的误码单元;从误码单元中得到各个图形命令所对应的误码,依据误码判断图形命令是否发生错误,从而提供一除错指示;以及执行该图形命令以显示该图形数据。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举优选实施例,并配合附图作详细说明如下。
附图说明
图1图示具有图形处理器的计算机系统示意图;
图2a图示传统的图形控制器中的指令传输流程图;
图2b图示传统的复合指令与误码编码方法示意图;
图3显示本发明的图形控制器中的指令传输流程图;
图4图示传统的输入图形命令串流编码示意图;
图5图示本发明的输入图形命令串流编码示意图;以及
图6图示以软件编码图形命令码的流程图。
附图中的符号说明
100~计算机系统 102~图形控制器
104~芯片组 106~中央处理器
108~操作系统 110~软件程序
112~系统内存 114~显示器
116~硬盘驱动器 118~输入输出接口
120~周边元件互连总线(PCI BUS)
122~PCI卡 124~工业标准架构(ISA)卡
200~现有流程 202~接收图形命令
204~沿写入路径传输 206~本地帧缓冲器
208~沿读取路径传输 210~解释与执行图形命令
220~编码系统单元 222~图形命令集
224~误码 226~误码的产生步骤
228~图形命令 300~计算机系统
302~接收图形命令 304~与误码一起编码
306~沿写入路径传输 308~本地帧缓冲器
310~沿读取路径传输 312~检测与纠错
314~解释与执行图形命令 316~执行中断与状态控制
318~清除图形命令 320~存储图形命令
420~本地帧缓冲器 402到416~图形命令
418~误码单元 422~误码产生器
424~传统编码步骤 426~沿写入路径传输
524~本发明编码步骤 502到516~图形命令
518~误码 522~软件程序
526~沿写入路径传输 520~本地帧缓冲器
601到619~逻辑运算流程
具体实施方式
图1为一具有图形处理器102的计算机系统100的示意图。计算机系统100包含一中央处理器(CPU)106、一系统内存112、一芯片组104、一图形控制器102、一显示装置114、一总线120、一硬盘驱动器116、一输出入装置118,一周边元件互连接口(PCI)控制器122以及一工业标准架构总线(ISA)控制器124。
该CPU 106具有一微处理器和支持电路(图中未示)。例如Intel生产的PentiumII、PentiumIII或PentiumIV都是计算机系统中典型的微处理器。然而,本发明中并未限定于这些微处理器。
芯片组104连接到CPU 106和系统内存112、图形控制器102和总线120,以便与连接到总线120上的各种装置连接。此计算机系统的总线120可为一PCI总线。芯片组104可为一组由多个微芯片整合而成的单元所构成,以执行一或多相关的计算功能。一般而言,当使用Intel Pentium微处理器时,芯片组104则是搭配Intel 430HX PCI组。该Intel芯片组是一双芯片设置,提供PCI总线控制,并包含通用序列总线(USB)接口。
芯片组104基本上包含两个组件,一个北桥组件和一个南桥组件。该北桥组件通过一前端总线(FSB)与CPU 106连接,并控制系统内存112、PCI总线102和图形加速端口(AGP)(图中未示)控制者的角色。该前端总线、系统内存112和AGP的状态从制造者到北桥组件制造者皆不同。有些北桥组件亦整合了视频部分。
该南桥组件控制了大部分基本的输入输出接口,例如通用序列总线(USB)、串行端口、音频接口和整合驱动电路(IDE)接口。其输入输出接口的控制状态,是根据南桥使用的特定规格而异。该南桥组件连接到北桥组件的PCI总线120,对计算机系统100而言是一32位,33百万赫兹的总线,足以提供每秒133兆字节的频宽。相对应的,芯片组104和PCI总线120之间的双向连接包含了芯片组104内南桥与北桥组件的双向连接,以及芯片组104与其它周边装置如硬盘驱动器116或PCI卡122的双向连接。
计算机系统100包含常驻在系统内存112中的操作系统108,用以作为其它软件110的平台,例如图形软件。在本发明中,软件110是一程序,用以产生供图形处理器102处理的图形数据与图形命令。这些数据与图形命令也可能通过系统内存112被其它计算机系统100的组件处理,如芯片组104或CPU 106通过系统内存112。在本发明中,软件110还可包含图形数据与图形命令的补充处理,将于下述。
CPU 106、芯片组104及其它计算机系统100内的装置是与系统内存112耦合连接,该系统内存112可为各种不同状态的集成电路内存,如静态随机存取内存(SRAM)、动态随机存取内存(DRAM)或高速缓存。虽然系统内存112可进一步被图形控制器102存取,然而图形控制器102中的本地内存是存储图形数据和图形命令的较佳选择,因图形控制器可以较快速度存取本地内存。此图形控制器102将于下进一步细述。
在计算机系统100中,PCI总线120是一互连系统,其扩充槽紧密排列以维持通过芯片组104连接的微处理器106与扩充装置之间的高速运作。使用PCI总线120,计算机系统100可同时支持PCI卡122和传统的ISA 124扩充卡。该PCI总线120通过124针脚的总线一次传送32位,或扩充版是通过188针脚的总线一次传送64位(多余的针脚用于电源供应与地线)。PCI总线120以多路传输地址和数据信号,即一个时间脉冲周期传送地址,而下一个时间脉冲周期传送数据。群发数据传输的发送,则可以是第一时间脉冲周期传输一个地址,接下来的数个周期传送一连串数据。
PCI规格中制定了两种不同的尺寸规格。标准规格的PCI规格是312毫米,而短小型PCI卡则从119到167毫米范围,适用于有空间制约的小插槽。如同标准规格PCI卡,短小型PCI卡亦是高效能输出入总线卡,可动态设定给高频宽需求的装置。大部分现今的PCI卡122都是半长或更短。PCI有许多不同的版本,包括Compact PCI,Mini PCI,Low-Profile PCI,concurrent PCI和PCI-X,这些全部都适用于本发明的系统100。输出入装置118包括,但不限定于输入装置,如键盘、鼠标、触碰式屏幕或其它输入装置,以及输出装置,如屏幕、打印机、扬声器或其它输出装置。
图形处理器102主要提供显示器114快速有效的图像信息,其一般都拥有自己的处理器和特殊的硬件以供快速和效率的显示图像。CPU 106或图形控制器102中的处理器都可以执行该软件程序110。
该图形控制器102是一种微电脑电子组件,软件110可用以控制图像的传送与更新到显示器114,或是计算一般二维(2D)与三维(3D)图像的特殊效果。图形控制器102加速了图形在显示器114上的显像,达到了单独使用CPU 106没办法做出的效果。举例来说,超大图形或随使用者输入而图像变动快速的交互式游戏等,皆直接受惠于图形控制器102提供的特殊效果。其中,图形控制器102可藉由加速图形端口(AGP),一介于计算机组件和图像显示间的总线接口,延伸其功能,图形控制器102亦可提供一应用程序接口(API),或者在另一实施例中,图形控制器102支持超过一种应用程序接口。现今存在的应用程序接口主流,包括有公开图形函数库(OpenGL),以及微软的DirectX和Direct3D。
本发明中的图形控制器102除了包含现有图形控制器的功能,还提供指令完整性校验。指令完整性校验意味着分析数字图形指令以判别该指令中是否包含错误。检测到错误之处,本发明另有一实施例可提供校正的功能。若该错误无法校正,本发明另有一实施例提供计算机系统100一机制以察觉错误的发生。在描述本发明的图形控制器102的功能之前,先了解现有图形控制器是有助益的。
图2a图显示现有图形控制器指令传输流程图200。单元202接收传来的图形命令,顺着传输写入路径204,到达本地帧缓冲器206。部分的图形控制器命令传输流程包含一图形命令溢满缓冲区(COB),该COB从系统总线接口接收图形命令串流,并将图形命令放入本地帧缓冲器206。其中数据随即于稍后被读回。
在现有系统中,图形命令长度为256位。该指令写入路径204指的是实际上数字图形命令被推送到本地帧缓冲器206的路径。该图形命令写入路径204可为集成电路中的路径、接触垫及沿着印刷电路板与电缆的路径等。这些本地帧缓冲器206通常是以快速存取内存如动态随机存取内存(DRAM)实现。
根据现有技术,一图形命令在本地帧缓冲器206必须沿着读取路径208传输。如同命令写入路径204一般,一条命令读取路径208包含了(举例来说)集成电路中的路径、接触垫、沿着印刷电路板和电缆的路径。根据现有技术,这些图形命令进入单元210后随即被解释与执行。在现有图形控制器中,一道图形命令会先被解释决定其内容,然后执行。
图2b图显示一现有图形命令与误码编码系统220的单元图。如图所示,现有的编码方式因加入经误码产生器226产生的误码22,会使图形命令228转变成较宽的图形命令222,这使得图形命令与图形控制器中的数据路径无法相容。
如上所述,现有图形控制器无法容忍可能发生在图形命令的数字表现中的错误。相对地,本发明藉错误检测与校正技术,提出了可容错的图形控制器102。
图3显示本发明图形控制器102的指令传输流程图300。新进的图形命令由单元302接收,由单元304编码,加上误码,藉此得以检测或校正那些可能影响数字图形命令的错误。根据本发明的实施状态,图形命令与误码的长度皆是256位。其中,每八个长度256位的图形命令产生一长度256位的误码。此编码动作是由软件210进行。软件实现的好处是实现快速,可有弹性的改变、升级、调整误码编码算法。而在另一实施方式,其编码动作是由单元302中特殊的固件或硬件来实现。硬件实现的好处在提升运作效能,因集成电路(IC)、特殊应用集成电路(ASIC)使得速度效能增加,及其它硬件实现可快速而有效的编码(encoding)。
该图形命令,在单元304编上误码后,顺着一图形命令写入路径306传送,最后存储在本地帧缓冲器308。该图形命令写入路径306和图2中描述的命令写入路径是类似的,代表着图形命令到达本地帧缓冲器308的实体路径。重点是本发明允许任何数据路径或数据总线的宽度保持一致,以节省实现的时间和成本。事实上以此方式实现时,本发明可有效的对原厂制造者(OEM)与终端使用者保持高通透兼容性。一图形命令写入路径可以包含,举例来说,集成电路中的路径、接触垫、沿印刷电路板与电缆的路径。该本地帧缓冲器308与206相似,亦包含了诸如快速存取内存如一般用于图形应用的DRAM。在本地帧缓冲器308中,一图形命令沿着单元310所示的读取路径传送。以类似图2的方式,一数字命令必须通过读取路径310,包含集成电路中的路径,通过接触垫、沿着印刷电路板和电缆走过。
根据本发明,数字命令被单元304编码过后,被 单元312译码。解码过的图形命令中的任何错误亦被单元312检测与校正。若一图形命令中完全无错误,表示没有错误出现或是错误已校正,于是传送到单元314去做第一次解释,随后执行,在图1所示的显示器114上显示一图像。
本发明还提供中断和状态单元316、清除命令单元318及存储命令单元320等功能。当一图形命令中发现有错误,而且无法校正时,单元316执行一中断与状态控制动作。根据该图形命令受影响的程度,本发明可中断该图形控制器102的运作,以避免系统100死机。进一步,根据该图形命令受影响的程度,亦可中断整个计算机系统100的运作。在本发明的一实施例中,中断与状态单元316包含了受影响图形命令的分析程序,以判断该图形控制器102或计算机系统100是否该中断。另一做法是,以中断与状态单元316收集状态信息,并传送到图形控制器102或计算机系统100,用于更进一步的处理。其中,状态信息包含了频率或任何检测到的错误特征。此外状态信息包含了图形控制器102的诊断信息。这些信息可被图形控制器102与或系统100处理以减低错误的发生。
当检测到一图形命令中有错误,而该图形命令无法校正,或单纯只有检测到错误时,清除命令单元318提供一个机制用以从图形控制器中清除错误的图形命令。关于清除命令单元318的这项功能,重点是须注意该图形命令可能具有相关联的数据,也将用于图形控制器102的处理。当该图形命令被单元318清除时,本发明中的一实施例亦清除任何相关联于该图形命令的其它数据。
当检测到一图形命令中的错误,而该错误无法校正,本发明另提供一功能单元320,用以存储有错误的图形命令的前后紧连命令。其中,新进的图形命令被送入一预设长度的移位缓存器,如此当错误发生时,该有错误的图形命令的前一图形命令已被存储且可被救回。此外,该有错误的图形命令之后的图形命令亦可被存储,并于随后传送到图形控制器102或计算机系统100,用于协助检测有错误的图形命令。一连串图形命令的序列特征,可用来与功能单元320中先前已存储的图形命令纪录比对,以找出错误的图形命令。找出有错误的图形命令后,在本发明的一实施例中,可重新传送有错误的图形命令。在另一实施例中,或将有错误的图形命令之前后的一连串图形命令都重新传送。
根据本发明,藉错误校正码(Error Correction Code,ECC)或错误检验与校正(亦称为Error Checking and Correction,ECC)码可使被读取或传送的图形命令信息得以受到错误检测,而且在必要时,可在执行前校正之。ECC和奇偶校验(Parity Checking)或其它错误检测技术不同,图形命令中的错误不仅可被检测出来,还可予以校正。在本发明中的一实施例中,ECC的实现增进了图形控制器102的效能。在另一实施例中,只有实现错误检测码。错误检测码优于现有技术之处在于提供错误发生的信息。在本实施例中,中断与状态单元316,清除命令单元318和存储命令单元320中提供了各种功能。举例来说,中断和状态控制单元316完全基于错误的检测。因为错误没办法被校正,任何被检测到有错误的图形命令都被清除命令单元318给清除了。如单元320所示,该有问题的图形命令前后的图形命令亦可被存储,供图形控制器102或计算机系统100使用。
关于错误校正码或错误检验与校正技术(ECC),事实上熟习此技术之人士不难明白,本发明并不限定于使用这些ECC技术,相对地,其它类似错误校正技术亦可与本发明搭配实现。当一组信息(例如,一个字汇)沿着一图形命令写入路径306或命令读取路径310传送,或暂存于本地帧缓冲器308,一描述字汇中位顺序的数码被算出并与该单位信息存储在一起。本发明的一实施例中,ECC技术的需求是,每256位就占用额外32位,以一位对八位的比例编码。当一组数据被读取时,此组信息亦利用同样的ECC技术计算一数码。此新产生的数码随即用以与该信息存储时产生的数码比对。若该数码符合,表示没有错误发生,则以正常方式处理。若数码不符合,该遗失或错误的位,则藉由数码比对检测,并获得校正。
在某些状况中,数码不足以校正所有的错误,以致于原始信息无法恢复。任何重复发生的错误可能象征着硬件毁损,而随机错误可能属于计算机系统100或图形控制器102接近极限造成的结果。在256位的等级,奇偶校验和ECC两者皆需要相同数量的额外位。一般来说,ECC增进了计算机系统100的可靠度,尤其是本发明中的图形控制器102。汉明码(Hamming code)是普遍实现的技术,一般而言此码可检测并恢复遗失、清除的位或错误位。
在一实施例中,图形控制器102是以图4所示的ECC技术实现,以相容于现有系统。在图4中,图形命令402到416串连起来形成一图形命令串流,长度各别为256位。这一图形命令串流中,图形命令每八个组成一单元,而该等图形命令对应的误码,也每八个组成一误码单元418,其中该误码单元418的最左32位对应到图形命令402的误码,最右边32位对应到图形命令416,中间依序类推。
读与写指针(pointers)被包含在误码单元418中以提供图形命令402到416的误码的区别。因为图形命令402到416与误码单元418都是256位长度,所以该图形命令402到416与误码单元418可在现有256位接口下传输,不需任何更改。这项特征如前述,对于OEM和末端使用者而言有很好的通透扩充性。因为只需要九个大小为256位的单元信息,该额外的256位误码单元并不会明显降低系统效能。依此类推,接下来每八个图形命令单元便附带一额外误码单元,延续不断地运作。图4显示将数据写入本地帧缓冲器420的一写入路径,通过一256位接口,从本地帧缓冲器420读取图形命令402~416与误码单元418,并依序写入本地帧缓冲器420。虽然整体效能有些许影响,图形命令的完整度却提高了,错误的降低使得图形控制器和接下来的计算机系统300效能大大提升。
本发明不但对图形命令的除错非常有用,同时亦可应用于图形数据的除错。虽然图形数据的错误对于计算机系统300或图形控制器302的运作而言并非如此严重,处理过的数据的完整度增加,亦更增进计算机系统300与图形控制器两者的运作。
虽然本发明已提供详细较佳实例的参考说明,其它版本的可能性依然存在。举例来说,图5描述的图形命令串流502~516,是以软件程序代替图4所示的硬件做编码。在软件编码方法中,如图6所示,pack_cmd[]为一数组包含了图形命令,而check_code[]为另一数组包含了校验码。该编码步骤以hamming_encode_fun()函数对图形命令进行处理。每八个图形命令形成一数组,每个图形命令各对应一校验码,而数组的索引变量值index的范围为从0到7。
在步骤601中,该索引变量值index预设为0,而pack_cmd[]数组初始化。该一新图形命令到来,如步骤603,该新图形命令new_cmd进入pack_cmd[]数组,如步骤605,随即由hamming_encode_fun(new_cmd)产生一校验码,根据check_code数组中的索引值(31+32*index):32*index,放入check_code数组中的适当位置。
接着,步骤607校验索引变量值index是否小于7。若是,则索引变量值在步骤607中加1,并且在步骤605使下一新图形命令进入pack_cmd[]数组,同时计算一校验码并放入check_code数组中的适当位置。当八个图形命令全部都进入pack_cmd列,并完成全部校验码的计算,该索引值index与sentcnt变量在步骤601初始化0,在步骤613将校验码送入CPU,而循环615、617、619负责将pack_cmd的内容送入CPU。因此,本发明虽以优选实施例揭露如上,然其并非用以限定本发明的范围,任何熟习此项技术者,在不脱离本发明的精神和范围内,当可做各种的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (24)
1.一种图形控制器的容错电路,用以校验图形命令的完整性,其包含:
一误码产生器,将接收到的图形命令分别编码以产生对应的误码,并将这些误码组合成误码单元,其中,每一定数量的误码组成一个误码单元,一个误码单元所需要的位数等于一个图形命令所具有的位数;
一码框缓冲器,存储图形命令及所对应的误码单元;以及
一误码译码器,接收存储于该码框缓冲器的图形命令以及所对应的误码单元,从该误码单元中得到各个图形命令所对应的误码,根据误码判断图形命令是否发生错误,从而提供一除错指示或将完整的图形命令输出至图形控制器。
2.如权利要求1所述的图形控制器的容错电路,该误码产生器为一软件模块,用于将一定数量的图形命令存储到一数组,并计算每一图形命令对应的误码。
3.如权利要求2所述的图形控制器的容错电路,该数组存储的图形命令预定数量为8,且8个校验码所使用的位数与一图形命令的位数相同。
4.如权利要求1所述的图形控制器的容错电路,该误码产生器还用以接收与该图形命令相关的一图形数据,并为该图形数据产生一误码;以及
该误码译码器更进一步以误码判断图形数据是否发生错误,从而提供进一步除错指示。
5.如权利要求1所述的图形控制器的容错电路,该图形命令大小为256位,每8个图形命令组成一误码单元,该误码产生器根据该图形命令产生的该对应误码,大小为32位,集合该单元8个对应误码,结合成长度256位的一误码单元,连同该单元8个图形命令形成九个分别为256位的数据,存储于该码框缓冲器。
6.如权利要求5所述的图形控制器的容错电路,该误码单元包含读取与写入指针,用以区分该误码单元中的各个误码。
7.如权利要求1所述的图形控制器的容错电路,该误码译码器是用以检定该图形命令中检测到的错误是否为可校正,并且校正该错误。
8.如权利要求1所述的图形控制器的容错电路,还包含一中断与状态控制器,用以连接于该误码译码器并根据误码译码器产生的一除错指示,传送一中断或错误状态,给具有该图形控制器的一计算机系统。
9.如权利要求1所述的图形控制器的容错电路,该误码译码器产生一除错指示,用以指出该错误是否可校正;以及还包含一中断与状态控制器,是连接于该误码译码器,用以根据除错指示在该错误是不可校正时,产生一中断或错误状态,传送到具有该图形控制器的一计算机系统。
10.如权利要求1所述的图形控制器的容错电路,进一步包含一清除命令控制器,用以连接到该误码译码器,并根据除错指示清除图形控制器中有错误的图形命令。
11.如权利要求10所述的图形控制器的容错电路,该清除命令控制器是用以清除任何跟已被清除的该有错误的图形命令有关联的数据。
12.如权利要求10所述的图形控制器的容错电路,该误码译码器产生的一除错指示,用以指出该错误是否可校正;以及还包含一中断与状态控制器,连接于该误码译码器,并根据除错指示在错误是不可校正时,产生一中断或错误状态,传送到装有该图形控制器的一计算机系统。
13.如权利要求1所述的图形控制器的容错电路,还包含一存储命令控制器,用以连接到该误码译码器,并根据除错指示将测出有错误的图形命令前后的图形命令存储起来。
14.如权利要求1所述的图形控制器的容错电路,该误码译码器产生的一除错指示,用以指出该错误是不可校正;以及还包含一存储命令控制器,用以连接到该误码译码器,并根据除错指示在该错误是不可校正时,将该错误的图形命令前后的图形命令存储起来。
15.一处理图形命令的方法,包含下列步骤:
接收图形命令;
将接收到的图形命令分别编码以产生对应的误码;
将这些误码组合成误码单元,其中,每一定数量的误码组成一个误码单元,一个误码单元所需要的位数等于一个图形命令所具有的位数;
存储图形命令及所对应的误码单元于一码框缓冲器内;
撷取该码框缓冲器内的图形命令以及所对应的误码单元;
从误码单元中得到各个图形命令所对应的误码,依据误码判断图形命令是否发生错误,从而提供一除错指示;以及
执行该图形命令以显示该图形数据。
16.如权利要求15所述的处理图形命令的方法,还包含下列步骤:
接收一图形数据;
为该图形数据产生一误码;
将该图形数据存储于一码框缓冲器;
存取该码框缓冲器内的该图形数据与该误码;以及
从该图形数据与该误码判断该图形数据是否发生错误,而决定是否提供一除错指示。
17.如权利要求15所述的处理图形命令的方法,还包含根据除错指示产生一中断或错误状态。
18.如权利要求15所述的处理图形命令的方法,还包含根据除错指示显示该错误为不可恢复时,产生一中断或错误状态。
19.如权利要求15所述的处理图形命令的方法,还包含根据除错指示而终止一图形命令的执行。
20.如权利要求15所述的处理图形命令的方法,还包含根据除错指示显示该错误为不可恢复时,而终止一图形命令的执行。
21.如权利要求15所述的处理图形命令的方法,还包含根据除错指示将发生错误的图形命令的前后图形命令存储起来。
22.如权利要求15所述的处理图形命令的方法,还包含根据除错指示显示该错误为不可恢复时,将发生错误的图形命令的前后图形命令存储起来。
23.如权利要求15所述的处理图形命令的方法,其中接收到的是一整组的图形命令,而误码产生步骤对整组图形命令产生误码,此外还包含一步骤,将该整组误码单元结合成一单一字符误码,大小与任何一个图形命令一致。
24.如权利要求23所述的处理图形命令的方法,其中一整组的图形命令包含八个图形命令,每个大小256位;而且每个误码的大小是32位,结合后的该单一字符误码大小为256位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/631,336 US7197669B2 (en) | 2003-07-30 | 2003-07-30 | Method and circuit for command integrity checking (CIC) in a graphics controller |
US10/631,336 | 2003-07-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1542619A CN1542619A (zh) | 2004-11-03 |
CN1290013C true CN1290013C (zh) | 2006-12-13 |
Family
ID=34104068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410049400.8A Expired - Lifetime CN1290013C (zh) | 2003-07-30 | 2004-06-09 | 图形控制器中校验指令完整性的方法与电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7197669B2 (zh) |
CN (1) | CN1290013C (zh) |
TW (1) | TWI247985B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1496435A1 (en) * | 2003-07-11 | 2005-01-12 | Yogitech Spa | Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor |
JP4379793B2 (ja) * | 2004-03-12 | 2009-12-09 | 株式会社デンソー | 車両用電子制御装置 |
US20070070077A1 (en) * | 2005-09-26 | 2007-03-29 | Silicon Integrated Systems Corp. | Instruction removing mechanism and method using the same |
KR100847560B1 (ko) * | 2006-12-11 | 2008-07-21 | 삼성전자주식회사 | 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법 |
US8581920B2 (en) * | 2007-09-27 | 2013-11-12 | Rambus Inc. | Utilizing masked data bits during accesses to a memory |
US20090228973A1 (en) * | 2008-03-06 | 2009-09-10 | Chendil Kumar | Techniques for automatic discovery and update of client environmental information in a virtual private network (vpn) |
US20110107325A1 (en) * | 2009-11-03 | 2011-05-05 | Jack Matthew | Early Detection of Errors in a Software Installation |
US8614716B2 (en) * | 2010-10-01 | 2013-12-24 | Apple Inc. | Recording a command stream with a rich encoding format for capture and playback of graphics content |
JP5954872B2 (ja) * | 2012-09-20 | 2016-07-20 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
US9645916B2 (en) | 2014-05-30 | 2017-05-09 | Apple Inc. | Performance testing for blocks of code |
CN105677504A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市芯海科技有限公司 | 一种解决处理器死机问题的方法 |
US11436073B2 (en) | 2020-11-18 | 2022-09-06 | Hewlett Packard Enterprise Development Lp | Fault indications for storage system commands |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4573152A (en) * | 1983-05-13 | 1986-02-25 | Greene Richard E | Switch matrix test and control system |
US5509115A (en) * | 1990-08-08 | 1996-04-16 | Peerless Systems Corporation | Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device |
JPH04287243A (ja) * | 1991-03-18 | 1992-10-12 | Toshiba Corp | グラフィック表示装置 |
US5432900A (en) * | 1992-06-19 | 1995-07-11 | Intel Corporation | Integrated graphics and video computer display system |
JPH09102970A (ja) * | 1995-10-05 | 1997-04-15 | Sony Corp | 映像音声機器エラー監視システム |
US5812760A (en) * | 1996-06-25 | 1998-09-22 | Lsi Logic Corporation | Programmable byte wise MPEG systems layer parser |
US5875295A (en) | 1996-09-30 | 1999-02-23 | S3 Incorporated | Instruction format for ensuring safe execution of display list |
US6041406A (en) * | 1997-04-08 | 2000-03-21 | Advanced Micro Devices, Inc. | Parallel and serial debug port on a processor |
US5990914A (en) * | 1997-09-09 | 1999-11-23 | Compaq Computer Corporation | Generating an error signal when accessing an invalid memory page |
US6675345B1 (en) * | 2000-05-12 | 2004-01-06 | Oak Technology, Inc. | Method and apparatus for detecting errors in DVD data |
US6629184B1 (en) * | 2000-05-18 | 2003-09-30 | Igt | Method and apparatus for inhibiting a selected IDE command |
US6496900B1 (en) * | 2000-09-12 | 2002-12-17 | 3Ware, Inc. | Disk array system, controller, and method for verifying command data written to disk drives |
US6829729B2 (en) * | 2001-03-29 | 2004-12-07 | International Business Machines Corporation | Method and system for fault isolation methodology for I/O unrecoverable, uncorrectable error |
-
2003
- 2003-07-30 US US10/631,336 patent/US7197669B2/en active Active
-
2004
- 2004-05-18 TW TW093113921A patent/TWI247985B/zh not_active IP Right Cessation
- 2004-06-09 CN CN200410049400.8A patent/CN1290013C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7197669B2 (en) | 2007-03-27 |
US20050028047A1 (en) | 2005-02-03 |
CN1542619A (zh) | 2004-11-03 |
TW200504501A (en) | 2005-02-01 |
TWI247985B (en) | 2006-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1290013C (zh) | 图形控制器中校验指令完整性的方法与电路 | |
CN1155965C (zh) | 改正和检测差错的信号处理器 | |
US8769375B2 (en) | Data storage device related method of operation | |
TWI468942B (zh) | 用於提供資料完整性之裝置及方法 | |
EP2732373B1 (en) | Method and apparatus for flexible raid in ssd | |
CN1832049A (zh) | 存储器寻址错误检测系统和方法 | |
CN102880567B (zh) | 数据读写系统 | |
CN1801103A (zh) | 利用磁盘阵列奇偶校验的增强错误标识系统和方法 | |
CN101047010A (zh) | 用于最大化raid系统中受保护数据量的方法和系统 | |
CN1506821A (zh) | 检测和显示计算机自检信息的方法及装置 | |
CN1737781A (zh) | 改进数据传送的控制器设备和方法 | |
CN101042654A (zh) | 从一非就地执行内存进行开机的方法与装置 | |
CN101036125A (zh) | 具有开发接口适用性的数据处理系统内的掩码 | |
CN1099492A (zh) | 用于双微处理器的处理器系统的处理器接口片 | |
JP2014515537A (ja) | データ完全性を与えるための装置および方法 | |
CN101681281A (zh) | 检测出现的坏块 | |
CN101078991A (zh) | 基于bios读写内存spd的计算机系统信息保存和读取方法 | |
CN103218271B (zh) | 一种数据纠错方法及装置 | |
WO2024131845A1 (zh) | 一种片上系统以及汽车 | |
CN101030168A (zh) | 一种实现高可靠性链表的方法及装置 | |
CN1538299A (zh) | 信息处理设备 | |
CN1826588A (zh) | 用于相邻符号纠错检错码的方法、系统和装置 | |
CN104182292A (zh) | 一种数据存储方法及装置 | |
CN112068985A (zh) | 带编程指令识别的norflash存储器ecc检纠错方法及系统 | |
CN1703027A (zh) | 传递调试信息 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20061213 |
|
CX01 | Expiry of patent term |