一种用于GPU的显示带宽错误的实时监测方法及装置制造方法及图纸

技术编号:36933447 阅读:56 留言:0更新日期:2023-03-22 18:55
本发明专利技术适用于GPU领域,提供一种用于GPU的显示带宽错误的实时监测方法及装置,包括:初始化显示控制器的寄存器,并开启显示带宽错误使能功能;预取和保存像素数据,记录每行已经读回像素数据的预取累计值;显示像素数据,记录正在显示的像素数据的显示累计值;将显示累计值与预取累计值进行比较,如果显示累计值大于预取累计值,则显示带宽错误,并产生带宽错误中断。本发明专利技术通过实时监测每个显示通道的预取累计值和显示累计值,主动发现由于总线或者显存带宽不足引起的显示带宽错误问题,可用于提醒系统调整各个模块的优先级避免不必要的花屏现象和评估显示控制器的稳定性,从而保证显示控制器显示的准确性、稳定性和实时性。稳定性和实时性。稳定性和实时性。

【技术实现步骤摘要】
一种用于GPU的显示带宽错误的实时监测方法及装置


[0001]本专利技术属于GPU领域,尤其涉及一种用于GPU的显示带宽错误的实时监测方法及装置。

技术介绍

[0002]随着各行各业对显示设备的要求越来越高,国内GPU行业的迅速崛起,32位真色彩4K@60Hz分辨率成为当下显示设备的主流,多个显示接口同时工作的需求也越来越多,所以对总线传输速率和显存带宽的要求也越来越高。GPU显示控制器是按照固定的时序,从上到下,从左到右的扫描显示,显示控制器都是在场同步结束或行消隐开始时对本行发起读请求,开始预取像素数据,然后存储在缓存中,在显示有效时,将缓存中的数据读出进行显示,然而分辨率一定,刷新率越高,对预取数据的返回速率要求也会更高,这对总线传输速率和显存带宽提出更高的挑战。
[0003]在超高清分辨率和高刷新率下,当GPU的多个模块和显示控制器多个通道同时访问总线时,数据的传输速率巨大,很可能因为各个通道间的竞争或者总线和显存本身的延迟导致一行数据有些像素点是无法在需要显示的时刻返回的,会出现肉眼无法察觉的少量错误、横线状的花屏甚至是闪烁现象,因此有必要采用实时监测的方法辅助问题的捕获、定位与分析。
[0004]目前国产GPU中大多是通过对总线传输数据量的监测间接达到对显示带宽错误监测的目的,对总线的监测是通过总线monitor功能对各个接口、指定地址上传输的数据进行计数,但其仅仅是是连续的计数,需要专门的数据处理单元对数据统计计算处理后才能得出是否出现显示带宽错误的结论,达不到对每帧图像的显示带宽错误的实时监测的目的,而且对每帧图像的显示带宽错误统计和评估会浪费大量时间和资源。

技术实现思路

[0005]鉴于上述问题,本专利技术的目的在于提供一种用于GPU的显示带宽错误的实时监测方法及装置,旨在解决上述技术问题。
[0006]本专利技术采用如下技术方案:一方面,所述用于GPU的显示带宽错误的实时监测方法,包括下述步骤:步骤S1、初始化显示控制器的寄存器,并开启显示带宽错误使能功能;步骤S2、针对显示控制器的每个显示通道,在场同步结束或行消隐开始时发起每行的读请求,预取每行的像素数据并存储于各显示通道对应的缓存内,实时记录每行已经读回像素数据的预取累计值,在每行显示结束时清零预取累计值;步骤S3、在显示控制器的每个显示通道的行显示有效时,将缓存中的像素数据读出显示,同时记录正在显示的像素数据的显示累计值,在每行显示结束时清零显示累计值;步骤S4、将显示累计值与预取累计值进行比较,如果显示累计值大于预取累计值,则显示带宽错误,并产生带宽错误中断。
[0007]进一步的,在步骤S2之后还包括:将预取累计值转换成格雷码,再打两拍同步到像素时钟域,最后再转换成十六进制数。
[0008]另一方面,所述用于GPU的显示带宽错误的实时监测装置,包括:使能模块,用于初始化显示控制器的寄存器,并开启显示带宽错误使能功能;像素数据预取模块,用于针对显示控制器的每个显示通道,在场同步结束或行消隐开始时发起每行的读请求,预取每行的像素数据并存储于各显示通道对应的缓存内,实时记录每行已经读回像素数据的预取累计值,在每行显示结束时清零预取累计值;像素数据显示模块,用于在显示控制器的每个显示通道的行显示有效时,将缓存中的像素数据读出显示,同时记录正在显示的像素数据的显示累计值,在每行显示结束时清零显示累计值;显示带宽错误模块,用于将显示累计值与预取累计值进行比较,如果显示累计值大于预取累计值,则出现显示带宽错误,并产生带宽错误中断。
[0009]进一步的,所述实时监测装置还包括:同步模块,用于将预取累计值转换成格雷码,再打两拍同步到像素时钟域,最后再转换成十六进制数。
[0010]本专利技术的有益效果是:本申请通过实时监测显示控制器的每个显示通道从显存已经读回的像素数据的预取累计值和正在显示的像素数据的显示累计值,当GPU的多个模块对总线和显存进行访问时,能够主动实时监测带宽不足引起的显示错误,可用于提醒系统调整各个模块的优先级避免不必要的花屏现象和评估显示控制器的稳定性,从而保证显示控制器显示的准确性、稳定性和实时性。而且本专利技术不需要在硬件上增加缓存,只需要增加控制逻辑,可以从硬件上实时监测显示带宽错误。
附图说明
[0011]图1是本专利技术实施例一提供的用于GPU的显示带宽错误的实时监测方法的流程图;图2是每个显示通道在行消隐开始时从显存中预取像素数据的示意图;图3是每个通道正在显示像素数据的示意图;图4是GPU显示控制器的每帧图像的时序示意图;图5是本专利技术实施例二提供的用于GPU的显示带宽错误的实时监测装置的结构框图。
具体实施方式
[0012]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0013]为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。
[0014]实施例一:如图1所示,本实施例提供的用于GPU的显示带宽错误的实时监测方法包括下述步骤:步骤S1、初始化显示控制器的寄存器,并开启显示带宽错误使能功能。
[0015]GPU芯片进行显示前,首先要初始化显示控制器的每个显示通道的配置寄存器,比如行场控制寄存器以及不同分辨率下对应的时钟寄存器等。本步骤需要使能显示带宽错误寄存器。
[0016]步骤S2、针对显示控制器的每个显示通道,在场同步结束或行消隐开始时发起每行的读请求,预取每行的像素数据并存储于各显示通道对应的缓存内,实时记录每行已经读回像素数据的预取累计值,在每行显示结束时清零预取累计值。
[0017]本步骤实现了预取和保存像素数据。行扫描时,在显示控制器的每个显示通道的场同步结束或行消隐开始时发起本行的读请求,开始预取本行的像素数据。预取的数据存储在不同显示通道对应的缓存内,实时记录每行已经读回像素数据的累预取计值,预取累计值在每行显示结束时清零。一行扫描结束后,进入下一行。
[0018]如图2所示,假设显示控制器设有4个显示通道,分别为通道0

通道3,图2为每个显示通道在行消隐开始时从显存中预取像素数据的示意图,预取过程以burst形式传输。
[0019]在32位真色彩模式下,总线数据位宽固定,缓存的写接口位宽和总线的数据位宽保持一致,总线数据通道每收到一笔数据对应的像素个数为“总线数据位宽/32”个,将收到的数据存储在对应缓存中的同时,也在对应的已经从显存中读回的像素数据的预取累计值上加“总线数据位宽/32”进行累计,此预取累计值仅在当前行有效,在本行显示结束时都要清零,避免对下一行的显示判断产生影响。
[0020]步骤S3、在显示控制器的每个显示通道的行显示有效时,将缓存中的像素数据读出显示,同时记录正在显示的像素数据的显示累计值,在每行显示结束时清零显示累计值。
[0021]本步骤实现了显示控制器显示缓存中的像素数据,当显示控制器的每个通道行显本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于GPU的显示带宽错误的实时监测方法,其特征在于,所述方法包括下述步骤:步骤S1、初始化显示控制器的寄存器,并开启显示带宽错误使能功能;步骤S2、针对显示控制器的每个显示通道,在场同步结束或行消隐开始时发起每行的读请求,预取每行的像素数据并存储于各显示通道对应的缓存内,实时记录每行已经读回像素数据的预取累计值,在每行显示结束时清零预取累计值;步骤S3、在显示控制器的每个显示通道的行显示有效时,将缓存中的像素数据读出显示,同时记录正在显示的像素数据的显示累计值,在每行显示结束时清零显示累计值;步骤S4、将显示累计值与预取累计值进行比较,如果显示累计值大于预取累计值,则出现显示带宽错误,并产生带宽错误中断。2.如权利要求1所述用于GPU的显示带宽错误的实时监测方法,其特征在于,在步骤S2之后还包括:将预取累计值转换成格雷码,再打两拍同步到像素时钟域,最后再转换成十六进制数。3.一种用于GPU的显示带宽错误的...

【专利技术属性】
技术研发人员:丁晓霞张磊秦信刚
申请(专利权)人:武汉凌久微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1