CN115035875B - 一种三档优先级的gpu显示控制器预取显存方法及装置 - Google Patents
一种三档优先级的gpu显示控制器预取显存方法及装置 Download PDFInfo
- Publication number
- CN115035875B CN115035875B CN202210953975.0A CN202210953975A CN115035875B CN 115035875 B CN115035875 B CN 115035875B CN 202210953975 A CN202210953975 A CN 202210953975A CN 115035875 B CN115035875 B CN 115035875B
- Authority
- CN
- China
- Prior art keywords
- display
- video memory
- request signal
- bus request
- cache
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明适用于计算机图形显示领域,提供一种三档优先级的GPU显示控制器预取显存方法及装置,GPU显示控制器每个显示通道在显示每帧图像前,先复位清空该显示通道的显示缓存,然后在开始显示前就提前一行时间预取像素数据到该显示通道的显示缓存中,并且根据显示缓存中数据的饱和程度动态调整获取外部显存总线的优先级,能够避免因峰值显存带宽不足导致显示画面异常的问题,同时也有利于外部显存接口的负载均衡性和其他模块的响应实时性。
Description
技术领域
本发明属于计算机图形显示领域,尤其涉及一种三档优先级的GPU显示控制器预取显存方法及装置。
背景技术
一方面,随着GPU芯片和图形显示技术的迅猛发展,显示设备的分辨率越来越高,超高清分辨率显示设备已经开始普及,超高清分辨率的显示对显存总线带宽提出了较高的要求,如32位真彩色4K@60Hz分辨率平均数据传输带宽为1898MB/秒。同时GPU芯片支持的显示输出接口数量也越来越多,一些高端GPU芯片能够支持4路4K@60Hz分辨率同时显示输出,给GPU显存总线带宽提出了更大的挑战。
另一方面,每种分辨率的显示时序是固定的,总是按照固定的时序逐行逐点进行显示,也就是当某个像素显示时刻到来时,该像素的数据必需已经读入到该显示通道的显示缓存中,显示缓存为FIFO(First Input First Output,先入先出队列),否则就会出现显示异常。也就是每个像素显示前,该像素数据必需满足已从外部显存中预取像素数据到显示缓存中。在GPU芯片设计中,用作显示缓存的存储单元需要较多的晶体管实现,显示缓存容量越大,占用硅片面积也就越大,就会导致芯片生产成本的增加,因而显示缓存容量通常希望尽量小,以节省芯片生产成本。
现有技术通常在每行消隐期间开始预取本行的像素数据,行消隐期间是像素预取过程,行显示期间一边预取一边显示像素数据。图1示出了现有技术中,GPU显示控制器读取显示像素数据的示意图。在图像帧显示中,每行有效像素前有一段行消隐时间,有效像素通过行扫描从左至右读取到显示缓存中并输出显示,然后进入下一行的行消隐期间,周而复始,直到完成一帧图像的显示。在传统模式下,GPU显示控制器显示通道在行消隐期间,开始输出显存总线请求信号读取有效的显示像素数据到显示缓存中。
显示缓存一端用于接收从外部显存芯片中读入的像素数据,另一端输出当前显示像素的数据到显示控制器中。然后,在GPU系统中,多个显示控制器模块、3D渲染模块、2D渲染模块、视频编解码模块、CPU总线接口模块都需要频繁访问GPU显存总线,存在显存总线竞争问题。另外,外部显存颗粒芯片在刷新期间,显存总线会暂停数据传输。因而在显存总线峰值竞争情况下,如果显示缓存无法及时预取到显示像素数据,导致显示缓存一旦被读“穿”,将导致当前帧的显示异常情况。如图2所示一种示例,GPU显示控制器具有四个显示通道,图示中,在显示通道行消隐期间,首先是一些模块提出显存总线请求,总线被占用,总线释放后在显存颗粒刷新期间总线不可用,然后显示通道1-3依次提出显存总线请求,开始读取像素数据至显示缓存。然而显示通道4在行消隐期间仍没有获取到显存总线拥有权,因此超过行消隐期间后,显示通道4的显示缓存就会被读“穿”,因此在GPU显示控制器比其他模块具备更高的显存总线优先级情况,仍然有概率出现显存带宽不足的情况,并导致显示画面显示异常。
针对因峰值显存带宽不足导致显示异常的问题,通常通过提高显存总线带宽来解决,如提升显存总线工作频率和总线宽度。一方面,显存带宽的提升已达到技术瓶颈,很难进一步提升;另一方面,虽然显存总线的平均带宽完全能够满足系统的需求,但在瞬时竞争情况下,显示缓存仍存在被读“穿”的可能性,导致显示异常。
针对瞬时竞争情况,现有技术可以通过双显示缓存的方式解决,即奇偶显示缓存提前预取奇偶显示行的像素数据,将显存带宽瞬时竞争情况平衡到整个显示行期间,只要每个行显示期间内显存带宽整体充足,就可以避免显示缓存被读“穿”的问题,避免显示异常。该方案下,每个显示缓存深度为最宽分辨率一行像素数据的容量,例如32位真彩色4K分辨率,每个显示缓存深度为4096*4=16KB,4个显示控制器则一共需要16*2*4=128KB。然后,芯片内存储单元占用较大的硅片面积,会导致芯片生产成本的提升。
发明内容
鉴于上述问题,本发明的目的在于提供一种GPU显示控制器及三档优先级的GPU显示控制器预取显存方法,旨在解决现有显存总线因峰值显存带宽不足导致显示异常的问题。
一方面,所述种三档优先级的GPU显示控制器预取显存方法包括下述步骤:
步骤S1、在图像帧同步信号有效期间复位显示缓存:
步骤S2、在图像帧第一行开始显示之前,提前一行开始预取第一行及后续行的显示像素数据到显示缓存中;
步骤S3、根据显示缓存 中已预取像素数据的饱和程度,输出三档优先级的显存总线请求信号,并根据显存总线请求信号从外部显存读入像素数据到显示缓存 中,按照固定的显示时序将显示缓存 中的数据读出到显示设备中;本步骤通过如下两种情况输出显存总线请求信号:
情况一:如果当前预取显示像素的行号与当前输出显示像素的行号一致,则根据显示缓存中的数据深度情况,输出高、中、低三档优先级显存总线请求信号;
情况二:如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,则根据显示缓存中的数据深度情况,输出中、低两种优先级显存总线请求信号;
步骤S4、当前图像帧所有像素预取完后,该图像帧完全显示前停止输出显存总线请求信号,最终完成当前图像帧显示。
进一步的,所述步骤S1具体包括:
在显存总线时钟域,在帧同步信号的上升沿或下跳沿生成同步脉冲信号;
接收到同步脉冲信号后,同步复位清空GPU显示控制器当前显示通道的显示缓存。
进一步的,所述显示缓存具有两个空间阈值节点,所述情况一的具体输出控制过程如下:
当显示缓存全满时,暂停输出显存总线请求信号;
当显示缓存剩余空间已达第二空间阈值节点但未全满时,输出低优先级显存总线请求信号;
当显示缓存剩余空间在两个空间阈值节点之间时,输出中优先级显存总线请求信号;
当显示缓存剩余空间未达第一空间阈值节点时,输出高优先级显存总线请求信号。
进一步的,当显示缓存剩余空间已达第二空间阈值节点时,进一步判断显示缓存剩余空间是否达到读取突发长度对应空间,如果未达到则暂停输出显存总线请求信号,如果已达到则输出低优先级显存总线请求信号。
进一步的,所述情况二的具体输出控制过程如下:
当显示缓存全满时,暂停输出显存总线请求信号;
当显示缓存剩余空间已达第一空间阈值节点但未全满时,进一步判断显示缓存剩余空间是否达到读取突发长度对应空间,如果未达到则暂停输出显存总线请求信号,如果已达到则输出低优先级显存总线请求信号;
当显示缓存剩余空间未达第一空间阈值节点时,输出高优先级显存总线请求信号。
进一步的,所述第一空间阈值节点为显示缓存总空间的一半,所述第二空间阈值节点为显示缓存总空间的四分之三;或者第一空间阈值节点为为显示缓存总空间的三分之一,第二空间阈值节点为显示缓存总空间的三分之二。
进一步的,输出低优先级显存总线请求信号时,在完成一次突发读取操作后,主动放弃一次总线拥有权。
另一方面,所述三档优先级的GPU显示控制器预取显存装置包括:
复位模块,用于在图像帧同步信号有效期间复位显示缓存:
预取模块,用于图像帧第一行开始显示之前,提前一行开始预取第一行及后续行的显示像素数据到显示缓存中;以及用于根据显存总线请求信号从外部显存读入像素数据到显示缓存 中;
输出模块,按照固定的显示时序将显示缓存 中的数据读出到显示设备中;
总线请求控制模块,用于通过如下两种情况输出显存总线请求信号:
情况一:如果当前预取显示像素的行号与当前输出显示像素的行号一致,则根据显示缓存中的数据深度情况,输出高、中、低三档优先级显存总线请求信号;
情况二:如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,则根据显示缓存中的数据深度情况,输出中、低两种优先级显存总线请求信号;
当前图像帧所有像素预取完后,该图像帧完全显示前停止输出显存总线请求信号,最终完成当前图像帧显示。
本发明的有益效果是:
首先,本发明通过对显存总线优先级的调节,解决了因显存总线峰值带宽不足导致的显示输出画面显示异常的问题;
其次,本发明通过预取显示像素数据,充分利用整个显示周期内显存总线的空闲时间,尽量预取足够多的像素数据,降低显示像素数据输出模块的峰值带宽需求,也有利于避免显示输出画面显示异常的问题;
第三,本发明以突发方式对显存总线进行操作,在低优先级情况下突发传输之后还会主动放弃一次显存总线请求,这样其他同等低优先级的模块就能够插入对显存总线的访问,有利于显存总线及时响应GPU内部其他模块,如2D模块、3D模块和VPU模块等,有利于这些模块响应的实时性,从而提升GPU的综合性能。
附图说明
图1是现有GPU显示控制器读取显示像素数据的示意图;
图2是现有导致显示画面异常的示意图;
图3是本发明第一实施例提供的三档优先级的GPU显示控制器预取显存方法的流程图;
图4是输出模块显示每帧图像的时序示意图;
图5是本发明实施例提供的两种情况输出显存总线请求信号流程图;
图6是本发明第二实施例提供的显示通道的显示缓存工作原理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出了一种解决GPU显示控制器因显存峰值带宽不足导致的显示画面异常的技术方案,需要动态调整显示通道优先级,通过三档优先级显存总线请求,确保每个显示通道上的显示缓存不会被输出模块读“穿”,避免显示画面出现异常。同时通过提前预取显示像素数据的方法,充分利用像素显示期间显存接口的空闲时间,预取尽量多的显存数据,有利于大幅降低显存接口的峰值带宽需求。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实例一:
图3示出了本发明实施例提供的三档优先级的GPU显示控制器预取显存方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
如图3所示,本实施例提供的三档优先级的GPU显示控制器预取显存方法包括下述步骤:
步骤S1、在图像帧同步信号有效期间复位显示缓存。
如前所述,在一行有效像素扫描后,会进入行消隐期间。结合图4所示,当最后一行最后一个像素显示完成后,即当前图像帧显示完后,会进入帧消隐期间,帧消隐期间也有帧同步信号。本步骤在GPU显示控制器每个显示通道上,在帧同步信号有效期间,复位清空该显示通道上的显示缓存,避免上一帧残余的数据对当前帧显示的影响。具体操作过程如下:
在显存总线时钟域,在帧同步信号的上升沿或下跳沿生成同步脉冲信号;接收到同步脉冲信号后,同步复位清空GPU显示控制器当前显示通道的显示缓存。
步骤S2、在图像帧第一行开始显示之前,提前一行开始预取第一行及后续行的显示像素数据到显示缓存中。
步骤S3、根据显示缓存 中已预取像素数据的饱和程度,输出三档优先级的显存总线请求信号,并根据显存总线请求信号从外部显存读入像素数据到显示缓存 中,按照固定的显示时序将显示缓存 中的数据读出到显示设备中。
本步骤提前预取像素数据到显示缓存中,每预取一个像素数据,显示缓存深度加一,然后在显示期间不断从显示缓存中读出像素数据到显示设备中,每显示一个像素,则显示缓存 深度减一。如果显示缓存深度变为负数,则显示会出现异常,通常为行开始处出现黑色横纹。
因此本发明步骤S2、S3是通过核心控制策略,充分利用显示缓存的容量提前预取待显示像素数据来避免显示缓存被读“穿”。由于显示像素数据输出是根据标准分辨率的显示时序和像素时钟,一旦显示缓存被读“穿”,即显示缓存被读空后再次被读出,就会导致输出的像素数据错误而出现显示异常,因此本发明实施例必需充分利用显存带宽提前预取显示像素数据,确保显示缓存不被读“穿”。这里通过步骤S2、S3实现。
具体的,首先,在当前帧第一行的有效像素数据显示前,提前一行时间预取第一行及后续行显示像素数据到显示缓存中。本发明中,如图4所示,每行的起点是该行消隐期间的开始时刻,行消隐期间作为显示行的开始,然后才是行的显示期间,提前一行时间即在帧消隐最后一行时间开始预取显示像素数据到显示缓存中。
后面在预取像素数据时需要根据输出的显存总线请求信号优先级,通过输出相应优先级显存总线请求信号与当前其他模块的优先级进行对比,来决定当前显示通道是否能够取得总线权限。当取得总线权限后才可以继续预取像素数据。步骤S2中已经提前预取显示像素数据,后续取得总线权限后,然后在每行显示像素数据的显示期间,按照固定的显示时序将从显示缓存中按照先入先出方式输出显示像素数据到显示接口进行显示。根据显示屏的时序要求,产生标准的显示制式,即产生显示时序波形,在波形的有效显示区域,每个像素时钟将至少送出一个像素数据到显示设备屏幕中。
因此,本实施例通过实现显存总线请求信号优先级方法,充分利用显存带宽提前自适应预取显示像素数据,确保显示缓存不被读“穿”,
本步骤通过如下两种情况输出显存总线请求信号:
情况一:如果当前预取显示像素的行号与当前输出显示像素的行号一致,则根据显示缓存中的数据深度情况,输出高、中、低三档优先级显存总线请求信号。
如果当前预取显示像素的行号与当前输出显示像素的行号一致,说明显示缓存内还剩下的待缓冲的显示像素不会很多,需要进一步详细判断,根据剩下的数据深度情况,输出三种优先级的显存总线请求信号。
显示缓存容量不宜过大,否则成本较高。为了充分利用显存总线带宽和避免显示异常,显示缓存的容量需要综合考虑显存带宽的紧张程度和芯片生产成本因素,一般为1024个像素容量的整数倍。本例以GPU显示控制器显示通道支持的最大分辨率为24位真彩色3840x2160@60Hz分辨率为例,每个像素数据为3字节,设计每个颜色通道的显示缓存FIFO深度为2048字节,RGB三个颜色通道共需要2048*3=6144字节,即显示缓存可设置为6144字节。
为了确定优先级,本实施例对所述显示缓存设置两个空间阈值节点,比如第一空间阈值节点通常设置为显示缓存总空间容量的一半,也可以根据实际情况设置为其他值,例如设置为显示缓存总空间的三分之一;第二空间阈值节点通常设置为显示缓存总空间容量的四分之三,也可以根据实际情况设置为其他值,例如设置为显示缓存总空间的三分之二。按照一半和四分之三的标准,参照图5,情况一的具体控制过程如下:
S311、当显示缓存全满时,暂停输出显存总线请求信号;
S312、当显示缓存剩余空间3/4满但未全满时,输出低优先级显存总线请求信号;
S313、当显示缓存剩余空间已达到半满但未达到3/4满时,输出中优先级显存总线请求信号;
S314、当显示缓存剩余空间未达半满时,输出高优先级显存总线请求信号。
另外,这里作为一种优选方式,S312中还需进一步判断显示缓存剩余空间是否达到读取突发长度对应空间,如果未达到则暂停输出显存总线请求信号,如果已达到则输出低优先级显存总线请求信号。
突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(Burst Lengths,简称BL),突发长度对应的空间大小为突发大小。在预取显示像素数据时,以突发大小为单位从显存接口获取像素数据,在综合评估显存总线传输效率和各模块响应时效性的基础上,选择的显存突发操作字节长度的空间,一般为256字节或512字节。数据总线通常是4字节的倍数,虽然一个像素数据为3字节,实际上软件驱动中都采用4字节(32位)进行处理,虽然多余用了一个无效的字节,但这样像素数据的实际处理效率会高得多,性能优势非常明显。
本情况下,如果显示缓存全满,说明已没有空间用于预取,因此直接暂停输出显存总线请求信号;如果显示缓存已3/4满,说明显示缓存剩余空间已不多,如果剩余空间还不到突发大小,说明剩余空间还不够一次突发操作,因此仍旧暂停输出显存总线请求信号,否则输出低优先级显存总线请求信号;如果显示缓存只半满但未3/4满,说明空间还有富余,输出中优先级显存总线请求信号;如果显示缓存未半满,说明显示缓存空间还比较富余,则输出低优先级显存总线请求信号。因此通过这三种优先级确定显存总线请求的等级,以便合理规划。
情况二:如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,则根据显示缓存中的数据深度情况,输出中、低两种优先级显存总线请求信号。
如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,说明显示缓存中还剩下较多先前预取的显示像素数据,此时输出中、低两档优先级显存总线请求信号。对于具体的控制细节,参照图5,情况二的具体控制过程如下:
S321、当显示缓存全满时,暂停输出显存总线请求信号;
S322、当显示缓存剩余空间已达半满但未全满时,进一步判断显示缓存剩余空间是否达到读取突发长度对应空间,如果未达到则暂停输出显存总线请求信号,如果已达到则输出低优先级显存总线请求信号;
S323、当显示缓存剩余空间未达半满时,输出中优先级显存总线请求信号。
本情况下只将半满作为阈值节点,显示缓存未达到半满时,说明空间比较富余,可以继续预取数据,如果显示缓存已半满,则同样根据剩余空间情况暂停输出或者输出低优先级显存总线请求信号。
上述两种情况下,对于输出低优先级显存总线请求信号,完成一次突发传输后,主动放弃一次总线拥有权,即暂停一个显存总线请求周期,以便同等低优先级的其他模块能够申请到总线拥有权。
步骤S4、当前图像帧所有像素预取完后,该图像帧完全显示前停止输出显存总线请求信号,最终完成当前图像帧显示。
图像帧所有像素预取完后,说明已无需再预取像素数据,因此在像素显示期间不再输出显存总线请求信号。
本实施例技术方案中,GPU显示控制器每个显示通道在显示每帧图像前,先复位清空该显示通道的显示缓存,然后提前一行时间开始预取像素数据到该显示通道的显示缓存中。在当前显示行期间已经开始预取下一行或若干行像素数据时,根据显示缓存数据的饱和程度输出中或低优先级的外部显存总线请求信号。在当前显示行期间预取当前行的像素数据时,则根据显示缓存数据的饱和程度,输出高、中、低三档优先级总线请求信号,用于仲裁获取显存总线的拥有权。在高优先级和中优先级情况下,显示控制器会连续获取外部显存总线的拥有权,但在低优先级情况下,每个突发数据读取操作完成后,会主动放弃一次总线拥有权,以便同等优先级的其他模块能够获取到外部显存总线的拥有权。
实例二:
本实施例提供了一种三档优先级的GPU显示控制器预取显存装置,该装置为GPU显示控制器的一个功能单元,所述装置包括:
复位模块,用于在图像帧同步信号有效期间复位显示缓存:
预取模块,用于图像帧第一行开始显示之前,提前一行开始预取第一行及后续行的显示像素数据到显示缓存中;以及用于根据显存总线请求信号从外部显存读入像素数据到显示缓存 中;
输出模块,按照固定的显示时序将显示缓存 中的数据读出到显示设备中;
总线请求控制模块,用于通过如下两种情况输出显存总线请求信号:
情况一:如果当前预取显示像素的行号与当前输出显示像素的行号一致,则根据显示缓存中的数据深度情况,输出高、中、低三档优先级显存总线请求信号;
情况二:如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,则根据显示缓存中的数据深度情况,输出中、低两种优先级显存总线请求信号;
当前图像帧所有像素预取完后,该图像帧完全显示前停止输出显存总线请求信号,最终完成当前图像帧显示。
本装置包括的功能模块对应实现了实施例一中的各步骤。结合图6所示,预取模块从外部显存接口中按突发大小读取显示像素数据并存入显示缓存中,显示缓存为FIFO,所述输出模块从显示缓存中按照先入先出方式,以固定的显示时序将显示缓存 中的数据读出到显示设备中;而总线请求控制模块根据当前是预取到像素行号与当前显示像素行号的关系,以及当前显示缓存中的数据深度情况,输出相应优先级的显存总线请求信号给预取模块,预取模块根据显存总线请求信号来进行预取像素数据。
总线请求控制模块根据上述两种情况输出显存总线请求信号的具体实现过程与实施例一过程一致,具体可参见图5,这里不再赘述。
本实施例中,GPU显示控制器的每个显示通道在显示每帧图像前,先通过复位模块复位清空该显示通道的显示缓存,然后通过预取模块提前一行时间开始预取像素数据到该显示通道的显示缓存中;在当前显示行期间如果已经开始预取下一行或若干行像素数据时,输出中或低优先级显存总线请求信号;在当前显示行期间预取当前行的像素数据时,则根据显示缓存数据的饱和程度,输出高、中、低三档优先级总线请求信号,用于仲裁获取数据总线的拥有权;在高优先级和中优先级情况下,总线请求控制模块会连续获取外部显存总线的拥有权,但在低优先级情况下,每个突发数据操作完成后,会主动放弃一次总线拥有权,以便同等优先级的其他模块能够获取到外部显存总线的拥有权。本发明GPU显示控制器的显示通道提前一行显示时间就开始预取显示数据,并且根据显示缓存数据的饱和程度动态调整获取外部显存总线的优先级,能够避免因峰值显存带宽不足导致显示画面异常的问题,同时也有利于外部显存接口的负载均衡性和其他模块的响应实时性。
综上,本发明提供了一种三档优先级的GPU显示控制器预取显存方法及装置,首先,通过显存总线优先级控制和显示像素数据预取技术,解决了显示通道输出画面的显示异常问题。本发明采用相对较小的显示缓存,无需存储一整行像素数据,有利于减少芯片晶圆面积和芯片生产成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种三档优先级的GPU显示控制器预取显存方法,其特征在于,所述方法包括下述步骤:
步骤S1、在图像帧同步信号有效期间复位显示缓存:
步骤S2、在图像帧第一行开始显示之前,提前一行开始预取第一行及后续行的显示像素数据到显示缓存中;
步骤S3、根据显示缓存 中已预取像素数据的饱和程度,输出三档优先级的显存总线请求信号,并根据显存总线请求信号从外部显存读入像素数据到显示缓存 中,按照固定的显示时序将显示缓存 中的数据读出到显示设备中;本步骤通过如下两种情况输出显存总线请求信号:
情况一:如果当前预取显示像素的行号与当前输出显示像素的行号一致,则根据显示缓存中的数据深度情况,输出高、中、低三档优先级显存总线请求信号;
情况二:如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,则根据显示缓存中的数据深度情况,输出中、低两种优先级显存总线请求信号;
步骤S4、当前图像帧所有像素预取完后,该图像帧完全显示前停止输出显存总线请求信号,最终完成当前图像帧显示。
2.如权利要求1所述三档优先级的GPU显示控制器预取显存方法,其特征在于,所述步骤S1具体包括:
在显存总线时钟域,在帧同步信号的上升沿或下跳沿生成同步脉冲信号;
接收到同步脉冲信号后,同步复位清空GPU显示控制器当前显示通道的显示缓存。
3.如权利要求1所述三档优先级的GPU显示控制器预取显存方法,其特征在于,所述显示缓存具有两个空间阈值节点,所述情况一的具体输出控制过程如下:
当显示缓存全满时,暂停输出显存总线请求信号;
当显示缓存剩余空间已达第二空间阈值节点但未全满时,输出低优先级显存总线请求信号;
当显示缓存剩余空间在两个空间阈值节点之间时,输出中优先级显存总线请求信号;
当显示缓存剩余空间未达第一空间阈值节点时,输出高优先级显存总线请求信号。
4.如权利要求3所述三档优先级的GPU显示控制器预取显存方法,其特征在于,当显示缓存剩余空间已达第二空间阈值节点时,进一步判断显示缓存剩余空间是否达到读取突发长度对应空间,如果未达到则暂停输出显存总线请求信号,如果已达到则输出低优先级显存总线请求信号。
5.如权利要求4所述三档优先级的GPU显示控制器预取显存方法,其特征在于,所述情况二的具体输出控制过程如下:
当显示缓存全满时,暂停输出显存总线请求信号;
当显示缓存剩余空间已达第一空间阈值节点但未全满时,进一步判断显示缓存剩余空间是否达到读取突发长度对应空间,如果未达到则暂停输出显存总线请求信号,如果已达到则输出低优先级显存总线请求信号;
当显示缓存剩余空间未达第一空间阈值节点时,输出中优先级显存总线请求信号。
6.如权利要求3所述三档优先级的GPU显示控制器预取显存方法,其特征在于,所述第一空间阈值节点为显示缓存总空间的一半,所述第二空间阈值节点为显示缓存总空间的四分之三;或者第一空间阈值节点为显示缓存总空间的三分之一,第二空间阈值节点为显示缓存总空间的三分之二。
7.如权利要求3-6任一项所述三档优先级的GPU显示控制器预取显存方法,其特征在于,输出低优先级显存总线请求信号时,在完成一次突发读取操作后,主动放弃一次总线拥有权。
8.一种三档优先级的GPU显示控制器预取显存装置,其特征在于,所述装置包括:
复位模块,用于在图像帧同步信号有效期间复位显示缓存:
预取模块,用于图像帧第一行开始显示之前,提前一行开始预取第一行及后续行的显示像素数据到显示缓存中;以及用于根据显存总线请求信号从外部显存读入像素数据到显示缓存 中;
输出模块,按照固定的显示时序将显示缓存 中的数据读出到显示设备中;
总线请求控制模块,用于通过如下两种情况输出显存总线请求信号:
情况一:如果当前预取显示像素的行号与当前输出显示像素的行号一致,则根据显示缓存中的数据深度情况,输出高、中、低三档优先级显存总线请求信号;
情况二:如果当前预取显示像素的行号为当前输出显示像素的行号的下一行或若干行,则根据显示缓存中的数据深度情况,输出中、低两种优先级显存总线请求信号;
当前图像帧所有像素预取完后,该图像帧完全显示前停止输出显存总线请求信号,最终完成当前图像帧显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210953975.0A CN115035875B (zh) | 2022-08-10 | 2022-08-10 | 一种三档优先级的gpu显示控制器预取显存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210953975.0A CN115035875B (zh) | 2022-08-10 | 2022-08-10 | 一种三档优先级的gpu显示控制器预取显存方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115035875A CN115035875A (zh) | 2022-09-09 |
CN115035875B true CN115035875B (zh) | 2022-11-15 |
Family
ID=83130073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210953975.0A Active CN115035875B (zh) | 2022-08-10 | 2022-08-10 | 一种三档优先级的gpu显示控制器预取显存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115035875B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834874B (zh) * | 2023-02-06 | 2023-04-28 | 武汉凌久微电子有限公司 | 一种用于gpu的显示带宽错误的实时监测方法及装置 |
CN117539639B (zh) * | 2024-01-05 | 2024-06-14 | 北京趋动智能科技有限公司 | 显存资源调度方法、装置、系统、存储介质及电子设备 |
CN117851293B (zh) * | 2024-03-07 | 2024-06-21 | 北京象帝先计算技术有限公司 | 地址翻译模块、显示控制器、处理系统、电子组件、电子设备及页表预取方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325486A (en) * | 1990-10-08 | 1994-06-28 | Sony Corporation | Apparatus for transferring blocks of image data |
JPH09212681A (ja) * | 1996-02-01 | 1997-08-15 | Toshiba Corp | 図形描画プロセッサ及び図形処理システム |
US5748203A (en) * | 1996-03-04 | 1998-05-05 | United Microelectronics Corporation | Computer system architecture that incorporates display memory into system memory |
US5761452A (en) * | 1996-03-18 | 1998-06-02 | Advanced Micro Devices, Inc. | Bus arbiter method and system |
CN103425444A (zh) * | 2012-05-25 | 2013-12-04 | 华为技术有限公司 | 显示控制方法、系统及显示设备 |
CN104737144A (zh) * | 2012-10-25 | 2015-06-24 | 德州仪器公司 | 存储器存取的动态优先级管理 |
CN112734897A (zh) * | 2020-12-05 | 2021-04-30 | 西安翔腾微电子科技有限公司 | 一种图元光栅化触发的图形处理器深度数据预取方法 |
WO2021086498A1 (en) * | 2019-10-28 | 2021-05-06 | Aetherai Ip Holding Llc | Enhancing memory utilization and throughput in executing a computational graph |
CN114637624A (zh) * | 2022-05-19 | 2022-06-17 | 武汉凌久微电子有限公司 | 一种主动错误探测的gpu显存访问修复方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6784881B2 (en) * | 2002-01-04 | 2004-08-31 | Sun Microsystems, Inc. | Synchronizing multiple display channels |
US7461211B2 (en) * | 2004-08-17 | 2008-12-02 | Nvidia Corporation | System, apparatus and method for generating nonsequential predictions to access a memory |
KR102100161B1 (ko) * | 2014-02-04 | 2020-04-14 | 삼성전자주식회사 | Gpu 데이터 캐싱 방법 및 그에 따른 데이터 프로세싱 시스템 |
-
2022
- 2022-08-10 CN CN202210953975.0A patent/CN115035875B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325486A (en) * | 1990-10-08 | 1994-06-28 | Sony Corporation | Apparatus for transferring blocks of image data |
JPH09212681A (ja) * | 1996-02-01 | 1997-08-15 | Toshiba Corp | 図形描画プロセッサ及び図形処理システム |
US5748203A (en) * | 1996-03-04 | 1998-05-05 | United Microelectronics Corporation | Computer system architecture that incorporates display memory into system memory |
US5761452A (en) * | 1996-03-18 | 1998-06-02 | Advanced Micro Devices, Inc. | Bus arbiter method and system |
CN103425444A (zh) * | 2012-05-25 | 2013-12-04 | 华为技术有限公司 | 显示控制方法、系统及显示设备 |
CN104737144A (zh) * | 2012-10-25 | 2015-06-24 | 德州仪器公司 | 存储器存取的动态优先级管理 |
WO2021086498A1 (en) * | 2019-10-28 | 2021-05-06 | Aetherai Ip Holding Llc | Enhancing memory utilization and throughput in executing a computational graph |
CN112734897A (zh) * | 2020-12-05 | 2021-04-30 | 西安翔腾微电子科技有限公司 | 一种图元光栅化触发的图形处理器深度数据预取方法 |
CN114637624A (zh) * | 2022-05-19 | 2022-06-17 | 武汉凌久微电子有限公司 | 一种主动错误探测的gpu显存访问修复方法及装置 |
Non-Patent Citations (2)
Title |
---|
一种基于图形处理器压缩结构的预取结构设计;赵士彭,张立志,章隆兵;《高技术通讯》;20220430;第32卷(第4期);第352-357页 * |
不规则任务在CPU-GPU异构平台上的几个优化方法;曹建立;《中国博士学位论文全文数据库 (信息科技辑)》;20220331;I137-4 * |
Also Published As
Publication number | Publication date |
---|---|
CN115035875A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115035875B (zh) | 一种三档优先级的gpu显示控制器预取显存方法及装置 | |
US10798334B2 (en) | Image processing system, image display method, display device and storage medium | |
JP6742685B2 (ja) | 映像処理装置、及び、装置 | |
US20030095126A1 (en) | Color burst queue for a shared memory controller in a color sequential display system | |
JP3350043B2 (ja) | 図形処理装置及び図形処理方法 | |
CN101794263B (zh) | 存储器的访问方法和访问控制器 | |
JP4416694B2 (ja) | データ転送調停装置およびデータ転送調停方法 | |
JPH1049125A (ja) | オーバレイパスウェイを実現するシステム及び方法 | |
EP1160759A2 (en) | Image output device and image output control method | |
US20030095447A1 (en) | Shared memory controller for display processor | |
JPH11511263A (ja) | ディスプレイを有するコンピュータシステム | |
CN111556367A (zh) | 用于从共享缓冲区释放空间量的方法和系统 | |
US6091431A (en) | Method and apparatus for improving processor to graphics device local memory performance | |
CN104268113A (zh) | Dpi接口的lcd控制器以及其自适应带宽的方法 | |
US20060119604A1 (en) | Method and apparatus for accelerating the display of horizontal lines | |
JPH11327526A (ja) | 記憶装置と画像処理装置およびその方法とリフレッシュ動作制御装置およびその方法 | |
US20060022985A1 (en) | Preemptive rendering arbitration between processor hosts and display controllers | |
US8447035B2 (en) | Contract based memory management for isochronous streams | |
US6693641B1 (en) | Calculating display mode values | |
CN115834874B (zh) | 一种用于gpu的显示带宽错误的实时监测方法及装置 | |
US6515672B1 (en) | Managing prefetching from a data buffer | |
US7113208B1 (en) | Image processing apparatus, image processing method and recording medium | |
JP7419010B2 (ja) | データ処理システムおよびデータ処理システムの制御方法 | |
CN112598568A (zh) | 全液晶仪表动态渲染方法 | |
CN118151878B (zh) | 一种gpu显示控制器的缓冲存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |