首页 / 专利库 / 资料储存系统 / 高速缓冲存储器 / 信息处理方法及装置

信息处理方法及装置

阅读:1028发布:2020-06-27

专利汇可以提供信息处理方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种信息处理方法及装置。所述方法包括:规定视频 像素 数据和图形纹理数据在高速缓冲 存储器 中的数据组织形式;根据外部读取命令,获取待读取数据信息,确定待读取数据的数据类型;根据待读取数据信息及 高速缓冲存储器 标志信息,确定缺失数据;从片外存储器中读入缺失数据;将缺失数据按照数据组织形式填充高速缓冲存储器。所述装置包括:存储视频像素数据或图形纹理数据的高速缓冲存储器;与高速缓冲存储器、外部处理器及片外存储器相连的 微处理器 ,适用于根据外部处理器发出的外部读取命令,从片外存储器中读入缺失数据,按照特定数据组织形式填充高速缓冲存储器。本发明采用复用技术,节省了芯片面积,降低了芯片功耗。,下面是信息处理方法及装置专利的具体信息内容。

1.一种信息处理方法,其特征在于,支持视频像素数据和图形纹理数据的高速缓存,视频像素数据和图形纹理数据采用同一个高速缓冲存储器实现高速缓存,所述信息处理方法包括:
规定所述视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式;
根据外部读取命令,获取待读取数据信息,确定所述待读取数据的数据类型,所述数据类型为视频像素数据或图形纹理数据;
根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
从片外存储器中读入所述缺失数据;
将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器。
2.根据权利要求1所述的信息处理方法,其特征在于,
规定所述视频像素数据在高速缓冲存储器中的数据组织形式包括:保证每两个时钟周期读取一个缓存线的全部视频像素分量;
规定所述图形纹理数据在高速缓冲存储器中的数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理数据。
3.根据权利要求2所述的信息处理方法,其特征在于,
所述视频像素数据为YUV格式;
所述保证每两个时钟周期读取一个缓存线的全部视频像素分量包括:保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
4.根据权利要求2所述的信息处理方法,其特征在于,所述图形纹理数据为RGBA格式。
5.根据权利要求1所述的信息处理方法,其特征在于,所述待读取数据信息至少包括:
待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
6.根据权利要求1所述的信息处理方法,其特征在于,
在所述确定所述待读取数据的数据类型之后,还包括:若所述数据类型为视频像素数据,则根据所述高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令。
7.根据权利要求1所述的信息处理方法,其特征在于,
若所述数据类型为视频像素数据,则在所述从片外存储器中读入所述缺失数据之前,还包括:调整像素图像边界;在所述将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器之前,还包括:调整像素图像边界。
8.根据权利要求1所述的信息处理方法,其特征在于,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
9.根据权利要求1所述的信息处理方法,其特征在于,在所述从片外存储器中读入所述缺失数据之前,还包括:
将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;
所述从片外存储器中读入所述缺失数据包括:按照所述读取命令队列依次从片外存储器中读入所述缺失数据;
所述将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器包括:根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。
10.根据权利要求9所述的信息处理方法,其特征在于,
在所述按照所述读取命令队列依次从片外存储器中读入所述缺失数据之后,还包括:
将所述读入所述缺失数据所读入的缺失数据排序,形成缺失数据队列;
所述将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器包括:根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,按照对应的数据组织形式填充高速缓冲存储器。
11.一种信息处理装置,其特征在于,支持视频像素数据和图形纹理数据的高速缓存,视频像素数据和图形纹理数据采用同一个高速缓冲存储器实现高速缓存,所述信息处理装置包括:
存储特定数据组织形式的视频像素数据或图形纹理数据的高速缓冲存储器;
与所述高速缓冲存储器、外部处理器及片外存储器相连的微处理器,适用于根据所述外部处理器发出的外部读取命令,从片外存储器中读入待读取数据在所述高速缓冲存储器中的缺失数据,按照特定数据组织形式填充所述高速缓冲存储器,所述待读取数据为视频像素数据或图形纹理数据。
12.根据权利要求11所述的信息处理装置,其特征在于,
所述视频像素数据的特定数据组织形式包括:保证每两个时钟周期读取一个缓存线的全部视频像素分量;
所述图形纹理数据的特定数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理。
13.根据权利要求12所述的信息处理装置,其特征在于,
所述视频像素数据为YUV格式;所述保证每两个时钟周期读取一个缓存线的全部视频像素分量包括:保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
14.根据权利要求12所述的信息处理装置,其特征在于,所述图形纹理数据为RGBA格式。
15.根据权利要求11所述的信息处理装置,其特征在于,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
16.根据权利要求11所述的信息处理装置,其特征在于,所述微处理器包括:
确定类型单元,配置成适用于根据外部处理器发出的外部读取命令,获取待读取数据信息,确定所述待读取数据的数据类型;
确定缺失单元,配置成适用于根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
读取单元,配置成适用于从片外存储器中读入所述缺失数据;
填充单元,配置成适用于将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器。
17.根据权利要求16所述的信息处理装置,其特征在于,所述待读取数据信息包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
18.根据权利要求16所述的信息处理装置,其特征在于,所述微处理器还包括:
命令拆分单元,配置成适用于在待读取数据的类型为视频像素数据时,将待读取数据按照高速缓冲存储器的容量,拆分为一个或多个内部命令;
调整边界单元,配置成适用于在待读取数据的类型为视频像素数据时,在所述从片外存储器中读入所述缺失数据之前以及所述将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器之前,调整像素图像边界。
19.根据权利要求16所述的信息处理装置,其特征在于,
所述微处理器还包括:预取单元,配置成适用于将所述缺失数据排序,形成读取命令队列和对应的填充命令队列,以及将按照所述读取命令序列依次读入的缺失数据排序形成缺失数据队列;
所述信息处理装置还包括:用于存储读取命令队列的第一暂存器、用于存储填充命令队列的第二暂存器、用于存储缺失数据队列的第三暂存器。

说明书全文

信息处理方法及装置

技术领域

[0001] 本发明涉及数字信息处理领域,尤其涉及一种可复用的信息处理方法及装置。

背景技术

[0002] 在计算机技术发展过程中,内存的存取速度一直比CPU处理速度慢得多,使得CPU的高速处理能不能充分发挥,影响整个计算机系统的工作效率。高速缓冲存储器被用来缓和CPU和内存之间速度不匹配的矛盾。目前采用高速缓冲存储器技术已经相当普遍。高速缓冲存储器是存在于内存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小,但它的存取速度却能与CPU相匹配。根据程序局部性原理,正在使用的内存某一单元邻近的那些单元将被用到的可能性很大。因而,当CPU存取内存某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,CPU即将存取的内存单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,CPU就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果CPU绝大多数存取内存的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高。
[0003] 在视频编解码过程中,视频像素(主要是参考像素)需要占用大量内存带宽,是视频编解码占用内存带宽最大的部分。现有的视频编解码芯片多数都使用片上高速缓存(Cache)来存储参考帧像素,从而降低内存带宽,同时降低存取延迟。
[0004] 而在3D图形芯片中,纹理也是占用内存带宽最大的部分。现有的3D图形芯片也都采用片上高速纹理缓存来存储纹理,从而降低内存带宽,降低存取延迟。
[0005] 但是,发明人发现:在现有的系统芯片(System-on-a-chip,SoC)中,视频像素和纹理通常分开存储,需要为视频编解码配置一个片上缓存,同时为3D纹理再配置另一个片上缓存,不仅占用了芯片面积,同时增加了芯片功耗。
[0006] 公开号为CN101583929A的中国发明专利申请中,披露了一种用于多纹理化的动态可配置纹理高速缓冲存储器,解决了单纹理模式和多纹理模式下的冲突问题,但仍未解决纹理数据和视频像素数据之间的高速缓存问题。

发明内容

[0007] 本发明所要解决的技术问题是提供一种能同时支持视频像素数据和图形纹理数据的高速缓存,从而节省芯片面积,降低芯片功耗。
[0008] 为了解决上述问题,根据本发明的一个方面,提供了一种信息处理方法,适用于视频像素数据或图形纹理数据的高速缓存,包括:
[0009] 规定所述视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式;
[0010] 根据外部读取命令,获取待读取数据信息,确定所述待读取数据的数据类型,所述数据类型为视频像素数据或图形纹理数据;
[0011] 根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
[0012] 从片外存储器中读入所述缺失数据;
[0013] 将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器。
[0014] 在一个实施例中,规定所述视频像素数据在高速缓冲存储器中的数据组织形式包括:保证每两个时钟周期读取一个缓存线的全部视频像素分量;
[0015] 规定所述图形纹理数据在高速缓冲存储器中的数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理数据。
[0016] 在一个实施例中,所述视频像素数据为YUV格式;
[0017] 所述保证每两个时钟周期读取一个缓存线的全部视频像素分量包括:保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
[0018] 在一个实施例中,所述图形纹理数据为RGBA格式。
[0019] 在一个实施例中,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
[0020] 在一个实施例中,在所述确定待读取数据的数据类型之后,还包括:若所述数据类型为视频像素数据,则根据所述高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令。
[0021] 在一个实施例中,若所述数据类型为视频像素数据,则在所述从片外存储器中读入所述缺失数据之前,还包括:调整像素图像边界;在所述将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,还包括:调整像素图像边界。
[0022] 在一个实施例中,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
[0023] 在一个实施例中,在所述从片外存储器中读入缺失数据之前,还包括:
[0024] 将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;
[0025] 所述从片外存储器中读入所述缺失数据包括:按照所述读取命令队列依次从片外存储器中读入所述缺失数据;
[0026] 所述将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器包括:根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。
[0027] 在一个实施例中,在所述按照所述读取命令队列依次从片外存储器中读入所述缺失数据之后,还包括:将所述读入的缺失数据排序,形成缺失数据队列;
[0028] 所述将缺失数据按照对应的数据组织形式填充高速缓冲存储器包括:根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,按照对应的数据组织形式填充高速缓冲存储器。
[0029] 根据本发明的另一个方面,还提供了一种信息处理装置,适用于视频像素数据或图形纹理数据的高速缓存,包括:
[0030] 存储特定数据组织形式的视频像素数据或图形纹理数据的高速缓冲存储器;
[0031] 与所述高速缓冲存储器、外部处理器及片外存储器相连的微处理器,适用于根据所述外部处理器发出的外部读取命令,从片外存储器中读入待读取数据在所述高速缓冲存储器中的缺失数据,按照特定数据组织形式填充所述高速缓冲存储器,所述待读取数据为视频像素数据或图形纹理数据。
[0032] 在一个实施例中,所述视频像素数据的特定数据组织形式包括:保证每两个时钟周期读取一个缓存线的全部视频像素分量;
[0033] 所述图形纹理数据的特定数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理。
[0034] 在一个实施例中,所述视频像素数据为YUV格式;所述保证每两个时钟周期读取一个缓存线的全部视频像素分量包括:保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
[0035] 在一个实施例中,所述图形纹理数据为RGBA格式。
[0036] 在一个实施例中,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
[0037] 在一个实施例中,所述微处理器包括:
[0038] 确定类型单元,配置成适用于根据外部处理器发出的外部读取命令,获取待读取数据信息,确定所述待读取数据的数据类型;
[0039] 确定缺失单元,配置成适用于根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
[0040] 读取单元,配置成适用于从片外存储器中读入所述缺失数据;
[0041] 填充单元,配置成适用于将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器。
[0042] 在一个实施例中,所述待读取数据信息包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
[0043] 在一个实施例中,所述微处理器还包括:
[0044] 命令拆分单元,配置成适用于在待读取数据的类型为视频像素数据时,将待读取数据按照高速缓冲存储器的容量,拆分为一个或多个内部命令;
[0045] 调整边界单元,配置成适用于在待读取数据的类型为视频像素数据时,在所述从片外存储器中读入所述缺失数据之前以及所述将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,调整像素图像边界。
[0046] 在一个实施例中,所述微处理器还包括:预取单元,配置成适用于将所述缺失数据排序,形成读取命令队列和对应的填充命令队列,以及将按照所述读取命令序列依次读入的缺失数据排序形成缺失数据队列;
[0047] 所述信息处理装置还包括:用于存储读取命令队列的第一暂存器、用于存储填充命令队列的第二暂存器、用于存储缺失数据队列的第三暂存器。
[0048] 与现有技术相比,本发明的技术方案具有以下优点:
[0049] 本发明通过规定高速缓冲存储器中存储的视频像素数据和图形纹理数据的数据组织形式,并将缺失数据按照所述特定数据组织形式填充高速缓冲存储器,使得使用同一个高速缓冲存储器就能实现视频编解码参考帧像素和3D图形纹理高速缓存,相比其他视频和纹理分开存储的高速缓存,大大节省了芯片面积和芯片功耗。
[0050] 可选方案中,还设置了命令队列,通过提前发出读取命令和填充命令的方式,实现了视频和纹理预取及在高速缓存缺失的情况下继续发送命令,实现非阻塞的高速缓存,提高了高速缓冲存储器的读取速度。附图说明
[0051] 图1为本发明的信息处理方法第一实施例的流程示意图;
[0052] 图2为本发明的信息处理方法第二实施例的流程示意图;
[0053] 图3为图2所示第二实施例中视频像素数据的数据组织形式示意图;
[0054] 图4a、4b为图2所示第二实施例中图形纹理数据的数据组织形式示意图;
[0055] 图5为本发明的信息处理装置第一实施例的结构示意图;
[0056] 图6为本发明的信息处理装置第二实施例的结构示意图。

具体实施方式

[0057] 在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
[0058] 其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
[0059] 为了解决背景技术中的技术问题,发明人发现:在系统芯片中,视频编解码和3D图形处理并不会同时发生,以智能手机为例:操作者不会同时观看影片和打游戏。因此可以设计一个统一的高速缓存,同时支持视频编解码的参考帧像素和3D图形纹理。在进行视频编解码处理时,该高速缓存作为视频像素高速缓冲存储器,而在进行3D图形处理时,该高速缓存又可作为纹理高速缓冲存储器。通过可复用的高速缓存,可大大节省芯片面积,同时降低了芯片功耗。
[0060] 因此,本发明提供了一种信息处理方法,适用于视频像素数据或图形纹理数据的高速缓存。图1为本发明的信息处理方法第一实施例的流程示意图。如图1所示,本实施例包括以下步骤:
[0061] 执行步骤S101,规定视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式。
[0062] 具体地,所述视频像素数据在高速缓冲存储器中的数据组织形式包括:保证每两个时钟周期读取一个缓存线(Cache line)的全部视频像素分量。在本实施例中,所述视频像素数据为YUV格式,亮度分量Y:色度分量U:色度分量V:透明度分量A的数据量比值为4:1:1:2。因此每两个时钟周期读取一个缓存线的全部视频像素分量为在一个时钟周期读取一个缓冲线的全部Y分量,在下一个时钟周期读取所述缓冲线的全部U、V、A分量。
[0063] 具体地,由于3D图形处理芯片中的纹理格式各不相同,最常见的是RGBA格式。因此,所述图形纹理数据在高速缓冲存储器中的数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理数据,以支持纹理数据的双线性插值需要。
[0064] 执行步骤S102,根据外部读取命令,获取待读取数据信息,确定待读取数据的数据类型。具体地,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
[0065] 执行步骤S103,根据待读取数据信息及高速缓冲存储器标志信息,确定待读取数据在高速缓冲存储器中的缺失数据。
[0066] 执行步骤S104,从片外存储器中读入所述缺失数据。具体地,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
[0067] 执行步骤S105,将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器。
[0068] 本实施例通过规定高速缓冲存储器中视频像素数据和图形纹理数据的数据组织形式,将缺失数据按照特定数据组织形式填充高速缓冲存储器,使得同一个高速缓冲存储器能同时满足视频编解码参考帧像素和3D图形纹理的高速缓存,节省了芯片面积,降低了芯片功耗。
[0069] 图2为本发明的信息处理方法第二实施例的流程示意图。与前一实施例不同的是,本实施例通过增加命令队列,实现了缺失数据的预取,同时避免了高速缓冲的阻塞。本实施例还针对视频像素数据进行了区别处理,以满足可复用高速缓存的需要。如图2所示,本实施例包括以下步骤:
[0070] 执行步骤S201,规定视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式。
[0071] 执行步骤S202,根据外部读取命令,获取待读取数据信息,确定待读取数据的数据类型。
[0072] 执行步骤S203,判断数据类型是否为视频像素数据。
[0073] 若数据类型是视频像素数据,则执行步骤S204,根据高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令之后,执行步骤S205。这是由于一帧视频参考帧的容量通常较大,可能超出所述高速缓冲存储器的容量。因此,需要进行命令拆分,分多次抓取参考帧数据。
[0074] 若数据类型是图形纹理数据,不是视频像素数据,则直接执行步骤S205,根据待读取数据信息及高速缓冲存储器标志信息,确定待读取数据在高速缓冲存储器中的缺失数据。
[0075] 执行步骤S206,将所述缺失数据排序,形成读取命令队列和对应的填充命令队列。
[0076] 执行步骤S207,按照所述读取命令队列依次读入缺失数据,将所述读入的缺失数据排序,形成缺失数据队列。
[0077] 执行步骤S208,根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,按照对应的数据组织形式填充高速缓冲存储器。
[0078] 具体地,通过将缺失数据排序,按照队列先进先出的原则,可实现读取的缺失数据与对应的填充命令中所需数据一一吻合,从而实现。
[0079] 需要说明的是,若待读取数据的数据类型为视频像素数据,则可能待读取数据超出图像边界,需要在从片外存储器中读入所述缺失数据之前,调整像素图像边界(图未示),以确保待读取数据在有效范围内。同样的,在将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,也需要调整像素图像边界(图未示)。
[0080] 本实施例通过将读取命令和填充命令按照队列形式存储,按序执行读取命令和填充命令,从而实现提前预取命令,提供高速缓冲存储器的读取速度,同时可避免因读取命令和填充命令间的冲突而引起的高速缓存的阻塞。
[0081] 图3为图2所示第二实施例中视频像素数据的数据组织形式示意图。如图3所示,本实施例的高速缓存由4个SRAM存储阵列(BankA~BankD)组成,每个缓存线(Cacheline)分布于4个SRAM存储阵列中。当该高速缓冲用于存储视频像素数据时,共包括128个缓存线。
[0082] 本实施例的视频像素的格式是YUVA4202,即:Y分量保持全部精度,U、V分量在横方向和纵方向做2:1的压缩,A分量在横方向做2:1的压缩,这样得到的YUVA4202相比原始的YUVA降低了一半的存储空间,而图像质量影响不大。
[0083] 本实施例在一个时钟周期读出一个Cacheline的全部Y分量(如:entry0的数据),在另一个时钟周期读出该Cacheline的全部U、V、A分量(如:entry1的数据)。
[0084] 图4a所示的是图像纹理数据坐标的位移矢量示意图。如图4a所示,本实施例中待读取的纹理数据为16х4个纹素。由于3D图形中的纹理要支持双线性插值的方式,要求一次性取出四个彼此相邻的纹素,因此发明人规定了图形纹理数据的数据组织形式,以保证每个时钟周期读取任意四个彼此相邻的纹理数据。图4b所示的是图像纹理数据按照所述数据组织形式保存于高速缓冲中的示意图。如图4b所示,本实施例的高速缓存仍由4个SRAM存储阵列(BankA~BankD)组成,每个缓存线(Cacheline)分布于4个SRAM存储阵列中。当该高速缓冲用于存储视频像素数据时,共包括64个缓存线。本实施例在一个时钟周期读出四个彼此相邻的纹素(如:entry0的数据)。
[0085] 需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明的部分或全部可借助软件并结合必需的通用硬件平台来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本发明的实施例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。
[0086] 本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等。
[0087] 本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0088] 相应地,本发明还提供了一种信息处理装置,适用于视频像素数据或图形纹理数据的高速缓存。图5为本发明的信息处理装置第一实施例的结构示意图。如图5所示,本实施例包括:高速缓存存储器Cache、微处理器U1。
[0089] 所述高速缓存存储器Cache用于存储特定数据组织形式的视频像素数据或图形纹理数据。
[0090] 具体地,所述视频像素数据的特定数据组织形式包括:保证每两个时钟周期读取一个缓存线的全部视频像素分量。进一步地,所述视频像素数据为YUV格式。所述保证每两个时钟周期读取一个缓存线的全部视频像素分量包括:保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
[0091] 所述图形纹理数据的特定数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理。所述图形纹理数据为RGBA格式。
[0092] 所述微处理器U1与所述高速缓存存储器Cache、外部处理器(图未示)、片外存储器L2Cache相连,用于根据所述外部处理器发出的外部读取命令cmd,从片外存储器L2Cache中读入待读取数据在高速缓冲存储器Cache中的缺失数据,按照特定数据组织形式填充所述高速缓冲存储器Cache。
[0093] 需要说明的是,所述外部处理器可以是任何需要配置高速缓冲存储器的系统级芯片,比如:图形运算单元(Graphics Processing Unit,GPU)、视频编解码器(video codec)、图像数据处理器(Image Signal Processor,ISP)等,本发明对此不作具体限定。
[0094] 需要说明的是,本实施例中的片外存储器L2Cache为二级缓冲存储器,但本发明对此不作具体限定,在其他实施例中,片外存储器还可以是外存储器。
[0095] 具体地,所述微处理器U1包括:确定类型单元U11、确定缺失单元U12、读取单元U13、填充单元U14。
[0096] 确定类型单元U11,与外部处理器(图未示)相连,用于接收所述外部处理器发出的外部命令cmd,获取待读取数据信息,确定所述待读取数据的为视频像素数据或图形纹理数据。具体地,所述待读取数据信息包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
[0097] 确定缺失单元U12,与高速缓冲标志寄存器Cache Tag和所述确定类型单元U11相连,用于根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器Cache中的缺失数据。
[0098] 读取单元U13,与所述确定缺失单元U12和片外存储器L2Cache相连,用于从片外存储器L2Cache中读入所述缺失数据。
[0099] 填充单元U14,与所述读取单元U13和高速缓冲存储器Cache相连,用于将所述缺失数据按照对应的数据组织形式填充所述高速缓冲存储器Cache。
[0100] 本实施例中的高速缓存既可以作为视频编解码器的高速缓存,也可以作为3D图形芯片的高速缓存,因此本实施例的信息处理装置占用芯片面积更小,所需芯片功耗更低。
[0101] 图6为本发明的信息处理装置第二实施例的结构示意图。与前一实施例相同的部分,此处不再赘述。与前一实施例不同的是,本实施例的高速缓存除了可以复用之外,还可通过预取命令避免高速缓存的阻塞。如图6所示,本实施例包括:微处理器U2、高速缓冲存储器Cache。
[0102] 所述高速缓存存储器Cache用于存储特定数据组织形式的视频像素数据或图形纹理数据。
[0103] 所述微处理器U2与所述高速缓存存储器Cache、外部处理器(图未示)、片外存储器L2Cache相连,用于根据所述外部处理器发出的外部读取命令cmd,从片外存储器L2Cache中读入待读取数据在高速缓冲存储器Cache中的缺失数据,按照特定数据组织形式填充所述高速缓冲存储器Cache。
[0104] 具体地,所述微处理器U2包括:确定类型单元U201、确定缺失单元U202、读取单元U203、填充单元U204、命令拆分单元U205、预取单元U206、调整边界单元U207、第一暂存器U208、第二暂存器U209、第三暂存器U210。
[0105] 确定类型单元U201,与外部处理器(图未示)相连,用于接收所述外部处理器发出的外部命令cmd,获取待读取数据信息,确定所述待读取数据的为视频像素数据或图形纹理数据。
[0106] 命令拆分单元U205,与所述确定类型单元U201相连,用于在待读取数据的类型为视频像素数据时,将待读取数据按照高速缓冲存储器的容量,拆分为一个或多个内部命令。
[0107] 确定缺失单元U202,与高速缓冲标志寄存器Cache Tag、所述确定类型单元U201、所述命令拆分单元U205相连,用于根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器Cache中的缺失数据。
[0108] 预取单元U206,与所述确定缺失单元U202相连,用于将所述缺失数据排序,形成读取命令队列Msg fifo和对应的填充命令队列ResMsg Queue,以及将按照所述读取命令序列依次读入的缺失数据排序形成缺失数据队列Data fifo。
[0109] 第一暂存器U208,与所述预取单元U206相连,用于存储所述读取命令队列Msg fifo。
[0110] 第二暂存器U28,与所述预取单元U206相连,用于存储所述填充命令队列ResMsg Queue。
[0111] 读取单元U203,与所述第一暂存器U208和片外存储器L2Cache相连,用于按照所述第一暂存器U208中读取命令队列Msg fifo中队首的读取命令,从片外存储器L2Cache中读入所述缺失数据,将所述缺失数据排在所述缺失数据队列Data fifo的队尾。
[0112] 第三暂存器U210,与所述读取单元U203相连,用于存储所述缺失数据队列。
[0113] 调整边界单元U207,与所述预取单元U206、第一暂存器U208、第三暂存器U210、填充单元U204相连,用于在待读取数据为视频像素数据时,在从片外存储器L2Cache中读入所述缺失数据之前以及将缺失数据按照对应的数据组织形式填充高速缓冲存储器Cache之前,调整像素图像边界。
[0114] 填充单元U204,与所述第二暂存器U209、第三暂存器U210、调整边界单元U207和高速缓冲存储器Cache相连,用于根据所述第二暂存器U209中填充命令队列ResMsg Queue中队首的填充命令,将所述第三暂存器U210中缺失数据队列Data fifo中队首的缺失数据按照对应的数据组织形式填充高速缓冲存储器Cache。
[0115] 本实施例的信息处理装置的工作过程按照待读取数据的不同而有所不同。
[0116] 图形纹理数据的处理流程包括:接收外部处理器(图未示)发出的外部读取命令cmd,经确定类型单元U201确定待读取数据为图形纹理数据texture。接着,确定缺失单元U202根据待读取数据信息及高速缓冲存储器标志Cache Tag信息,产生命中或者缺失等信号,把读取命令传到预取单元U206。在预取单元U206中根据缺失的情况,发出去片外存储器L2Cache取纹理数据的请求,这些请求以队列形式Msg fifo保存于第一暂存器U208中。同时在预取单元U206中把对应的填充命令以队列形式ResMsg Queue保存于第二暂存器U209中。接着,读取单元U203按照Msg fifo队列中队首的读取命令到片外存储器L2Cache中读出相应的缺失数据,并将所述缺失数据排在缺失数据队列Data fifo的队尾。填充单元U204按照ResMsg Queue队列中队首的填充命令到缺失数据队列Data fifo的队首获取待填充的缺失数据,并填充高速缓冲存储器Cache中对应空间,最后从高速缓冲存储器Cache中读出所需的纹理数据,送给所述外部处理器(图未示)。
[0117] 视频像素数据的处理流程较图形纹理数据更为复杂,具体包括:接收外部处理器(图未示)发出的外部读取命令cmd,经确定类型单元U201确定待读取数据为视频像素数据video。接着,命令拆分单元U205根据命令所需的像素区域范围,产生一个或者多个内部命令,发送确定缺失单元U202。确定缺失单元U202根据待读取数据信息及高速缓冲存储器标志Cache Tag信息,产生命中或者缺失等信号,把读取命令传到预取单元U206。经调整边界单元U207调整像素边界之后,根据缺失的情况,发出去片外存储器L2Cache取视频像素数据的请求,这些请求以队列形式Msg fifo保存于第一暂存器U208中。同时把对应的填充命令以队列形式ResMsg Queue保存于第二暂存器U209中。接着,读取单元U203按照Msg fifo队列中队首的读取命令到片外存储器L2Cache中读出相应的缺失数据,并将所述缺失数据排在缺失数据队列Data fifo的队尾。经调整边界单元U207调整像素边界之后,填充单元U204按照ResMsgQueue队列中队首的填充命令到缺失数据队列Data fifo的队首获取待填充的缺失数据,并填充高速缓冲存储器Cache中对应空间,最后从高速缓冲存储器Cache中读出所需的视频像素数据,送给所述外部处理器(图未示)。
[0118] 需要说明的是,本领域技术人员可以理解,上述部分组件可以是诸如:可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(Generic Array Logic,GAL)、现场可编程阵列(Field-Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程逻辑器件中的一种或多种,但是本发明对此不做具体限制。
[0119] 本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈