数据读写方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39031987 阅读:13 留言:0更新日期:2023-10-10 11:45
本发明专利技术实施例提供了一种数据读写方法、装置、电子设备及存储介质,涉及显示技术领域。其中,该方法包括:根据双端口RAM当前写指针地址、当前写指针间距及RAM深度,确定下一写指针地址,并在RAM中存在空余存储地址时,写入新的显示缓存数据;根据RAM当前读指针地址、当前读指针间距及RAM深度,确定下一读指针地址,并从RAM中读取新的显示缓存数据。其中,第N次写入数据的写指针地址,可与第(N

【技术实现步骤摘要】
数据读写方法、装置、电子设备及存储介质


[0001]本专利技术涉及显示
,特别是涉及一种数据读写方法、一种数据读写装置、一种电子设备以及一种存储介质。

技术介绍

[0002]计算机显示系统是电脑、手机、可穿戴设备等众多计算机系统的重要组成部分。在显示器刷新率越来越高的现在,显示控制器(Display Controller)通过扫描帧缓存区读取像素数据所产生的存储器访问操作,在占用大量总线带宽的同时,也是计算机功耗的重要组成部分,图像压缩已成为降低上述开销的重要方法。
[0003]图像压缩模式是将16个(4
×
4)像素构成的图块视为一个单位进行压缩处理,后以图块模式进行传输。与线性传输不同的是,图块传输模式的像素排列顺序不再是按照以行为单位逐个扫描,而是以图块为单位按照图块内像素的一定顺序进行发送。由于显示控制器提供给显示设备的像素数据是以线性模式逐个传送,所以需要优化显示控制器内部的显示缓存器,使其可将图块模式像素数据顺序转换为线性模式像素数据顺序。
[0004]通常情况下,显示缓存器的大小只需保证不出现读写操作的矛盾与显示数据更新在时间上的连续性即可,然而,在图块模式中,因显示缓存器从上一级模块获取到的显示数据是图块模式像素数据顺序,但显示缓存器输出的显示缓存数据却需要按照线性模式像素数据顺序,所以显示缓存器读写数据时的顺序不同,读写逻辑与显示缓存器的大小需经过特殊设计。
[0005]在一种方式中,为保证读写操作不冲突,需要增大显示缓存器大小,实现读写操作分别针对不同图块行(即4行像素)。由于输出至显示设备的像素数据是按行扫描,因此,显示缓存器的容量至少需保证4行像素的像素数据存储,但是,此方法由于读写操作分别针对不同图块行,因此,至少需要增大显示缓存器的容量为最小容量的两倍,也即至少需保证8行像素的像素数据存储,但如此一来,增加了显示缓存器面积开销。
[0006]在另一种方式中,为保持显示缓存器的容量不变,必须等待显示缓存器中的显示缓存数据读取至图块的最后一行时,再开始请求下一图块的数据写入,此方法降低了显示缓存器的利用率。另外,在此方法中,若在请求下一图块行的数据写入时遇到网络延迟,则显示缓存器内已经没有新的显示缓存数据可用,从而会对显示的连续性造成不良影响,因此,此方法还会扩大可能出现的网络延迟对显示系统的不良影响。

技术实现思路

[0007]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据读写方法,以解决现有的显示缓存器进行数据读写的方式无法兼顾显示缓存器的容量、显示缓存器的利用率,以及显示连续性的问题。
[0008]相应的,本专利技术实施例还提供了一种数据读写装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
[0009]为了解决上述问题,本专利技术实施例公开了一种数据读写方法,所述方法应用于显示控制器,所述显示控制器包括显示缓存器,所述显示缓存器包括双端口随机存取存储器RAM,所述方法包括:
[0010]根据所述双端口RAM当前的写指针地址、当前的写指针间距,以及所述双端口RAM的深度,确定下一个需要写入显示缓存数据的写指针地址;
[0011]当所述双端口RAM中存在已被读取过所述显示缓存数据的存储地址时,根据下一个需要写入所述显示缓存数据的写指针地址,将所述显示缓存数据写入所述双端口RAM;
[0012]根据所述双端口RAM当前的读指针地址、当前的读指针间距,以及所述双端口RAM的深度,确定下一个需要读取所述显示缓存数据的读指针地址;
[0013]根据下一个需要读取所述显示缓存数据的读指针地址,从所述双端口RAM中读取所述显示缓存数据;
[0014]其中,第N次将所述显示缓存数据写入所述双端口RAM时所对应的写指针地址,与第(N

D)次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针地址相同;所述D为所述双端口RAM的深度。
[0015]可选地,所述根据所述双端口RAM当前的写指针地址、当前的写指针间距,以及所述双端口RAM的深度,确定下一个需要写入显示缓存数据的写指针地址,包括:
[0016]当所述当前的写指针地址不为所述双端口RAM的最末位存储地址时,将所述当前的写指针地址与所述当前的写指针间距之和除以所述双端口RAM的深度所得到的商和余数之和,确定为下一个需要写入所述显示缓存数据的写指针地址;
[0017]当所述当前的写指针地址为所述双端口RAM的最末位存储地址时,将所述双端口RAM的最初位存储地址,确定为下一个需要写入所述显示缓存数据的写指针地址。
[0018]可选地,所述根据所述双端口RAM当前的读指针地址、当前的读指针间距,以及所述双端口RAM的深度,确定下一个需要读取所述显示缓存数据的读指针地址,包括:
[0019]当所述当前的读指针地址不为所述双端口RAM的最末位存储地址时,将所述当前的读指针地址与所述当前的读指针间距之和除以所述双端口RAM的深度所得到的商和余数之和,确定为下一个需要读取所述显示缓存数据的读指针地址;
[0020]当所述当前的读指针地址为所述双端口RAM的最末位存储地址时,将所述双端口RAM的最初位存储地址,确定为下一个需要读取所述显示缓存数据的读指针地址。
[0021]可选地,所述方法还包括:
[0022]当所述当前的写指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的写指针间距、第一常数,以及所述双端口RAM的深度,确定之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距;
[0023]其中,所述M等于所述双端口RAM的深度。
[0024]可选地,所述当所述当前的写指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的写指针间距、第一常数,以及所述双端口RAM的深度,确定之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距,包括:
[0025]以第一预设值作为所述写指针间距的初始值,当所述当前的写指针间距与所述第一常数的第一乘积小于所述双端口RAM的深度时,将所述第一乘积确定为之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距;
[0026]当所述当前的写指针间距与所述第一常数的第一乘积大于或等于所述双端口RAM的深度时,将所述第一乘积除以所述双端口RAM的深度所得到的商和余数之和,确定为之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距。
[0027]可选地,所述第一常数为4,所述第一预设值为1。
[0028]可选地,所述方法还包括:
[0029]当所述当前的读指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的读指针间距、第二常数,以及所述双端口RAM的深度,确定之后M次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针间距;
[0030]其中,所述M等于所述双端口RAM的深度本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据读写方法,其特征在于,所述方法应用于显示控制器,所述显示控制器包括显示缓存器,所述显示缓存器包括双端口随机存取存储器RAM,所述方法包括:根据所述双端口RAM当前的写指针地址、当前的写指针间距,以及所述双端口RAM的深度,确定下一个需要写入显示缓存数据的写指针地址;当所述双端口RAM中存在已被读取过所述显示缓存数据的存储地址时,根据下一个需要写入所述显示缓存数据的写指针地址,将所述显示缓存数据写入所述双端口RAM;根据所述双端口RAM当前的读指针地址、当前的读指针间距,以及所述双端口RAM的深度,确定下一个需要读取所述显示缓存数据的读指针地址;根据下一个需要读取所述显示缓存数据的读指针地址,从所述双端口RAM中读取所述显示缓存数据;其中,第N次将所述显示缓存数据写入所述双端口RAM时所对应的写指针地址,与第(N

D)次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针地址相同;所述D为所述双端口RAM的深度。2.根据权利要求1所述的方法,其特征在于,所述根据所述双端口RAM当前的写指针地址、当前的写指针间距,以及所述双端口RAM的深度,确定下一个需要写入显示缓存数据的写指针地址,包括:当所述当前的写指针地址不为所述双端口RAM的最末位存储地址时,将所述当前的写指针地址与所述当前的写指针间距之和除以所述双端口RAM的深度所得到的商和余数之和,确定为下一个需要写入所述显示缓存数据的写指针地址;当所述当前的写指针地址为所述双端口RAM的最末位存储地址时,将所述双端口RAM的最初位存储地址,确定为下一个需要写入所述显示缓存数据的写指针地址。3.根据权利要求1所述的方法,其特征在于,所述根据所述双端口RAM当前的读指针地址、当前的读指针间距,以及所述双端口RAM的深度,确定下一个需要读取所述显示缓存数据的读指针地址,包括:当所述当前的读指针地址不为所述双端口RAM的最末位存储地址时,将所述当前的读指针地址与所述当前的读指针间距之和除以所述双端口RAM的深度所得到的商和余数之和,确定为下一个需要读取所述显示缓存数据的读指针地址;当所述当前的读指针地址为所述双端口RAM的最末位存储地址时,将所述双端口RAM的最初位存储地址,确定为下一个需要读取所述显示缓存数据的读指针地址。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述当前的写指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的写指针间距、第一常数,以及所述双端口RAM的深度,确定之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距;其中,所述M等于所述双端口RAM的深度。5.根据权利要求4所述的方法,其特征在于,所述当所述当前的写指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的写指针间距、第一常数,以及所述双端口RAM的深度,确定之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距,包括:以第一预设值作为所述写指针间距的初始值,当所述当前的写指针间距与所述第一常数的第一乘积小于所述双端口RAM的深度时,将所述第一乘积确定为之后M次将所述显示缓
存数据写入所述双端口RAM时所对应的写指针间距;当所述当前的写指针间距与所述第一常数的第一乘积大于或等于所述双端口RAM的深度时,将所述第一乘积除以所述双端口RAM的深度所得到的商和余数之和,确定为之后M次将所述显示缓存数据写入所述双端口RAM时所对应的写指针间距。6.根据权利要求5所述的方法,其特征在于,所述第一常数为4,所述第一预设值为1。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述当前的读指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的读指针间距、第二常数,以及所述双端口RAM的深度,确定之后M次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针间距;其中,所述M等于所述双端口RAM的深度。8.根据权利要求7所述的方法,其特征在于,所述当所述当前的读指针地址为所述双端口RAM的最末位存储地址时,根据所述当前的读指针间距、第二常数,以及所述双端口RAM的深度,确定之后M次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针间距,包括:以第二预设值作为所述读指针间距的初始值,当所述当前的读指针间距与所述第二常数的第二乘积小于所述双端口RAM的深度时,将所述第二乘积确定为之后M次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针间距;当所述当前的读指针间距与所述第二常数的第二乘积大于或等于所述双端口RAM的深度时,将所述第二乘积除以所述双端口RAM的深度所得到的商和余数之和,确定为之后M次从所述双端口RAM中读取所述显示缓存数据时所对应的读指针间距。9.根据权利要求8所述的方法,其特征在于,所述第二常数为4,所述第二预设值为4。10.一种数据读写装置,其特征在于,所述装置应用于显示控制器,所述显示控制器包括显示缓存器,所述显示缓存器包括双端口随机存取存储器RAM,所述装置包括:写指针确定模块,用于根据所述双端口RAM当前的写指针地址、当前的写指针间距,以及所述双端口RAM的深度,确定下一个需要写入显示缓存数据的写指针地址;数据写入模块,用于当所述双端口RAM中存在已被读取过所述显示缓存数据的存储地址时,根据下一个需要写入所述显示缓存数据的写指针地址,将所述显示缓存数据写入所述双端口R...

【专利技术属性】
技术研发人员:宫一夫
申请(专利权)人:龙芯中科合肥技术有限公司
类型:发明
国别省市:

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

1