CN103077129A - 信息处理方法与装置 - Google Patents
信息处理方法与装置 Download PDFInfo
- Publication number
- CN103077129A CN103077129A CN2012105938264A CN201210593826A CN103077129A CN 103077129 A CN103077129 A CN 103077129A CN 2012105938264 A CN2012105938264 A CN 2012105938264A CN 201210593826 A CN201210593826 A CN 201210593826A CN 103077129 A CN103077129 A CN 103077129A
- Authority
- CN
- China
- Prior art keywords
- data
- read
- cache memory
- missing data
- missing
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种信息处理方法和装置,适用于可预取的高速缓存。所述方法包括:根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定高速缓冲存储器中的缺失数据;将缺失数据排序,形成读取命令队列和对应的填充命令队列;按照读取命令队列依次从片外存储器中读入缺失数据;根据填充命令队列依次将缺失数据填充高速缓冲存储器。所述装置包括:高速缓冲存储器、微处理器、用于存储读取命令队列的第一暂存器、用于存储填充命令队列的第二暂存器。本发明能避免或减少高速缓冲存储器的拥堵现象,从而提高系统芯片的处理速度。
Description
技术领域
本发明涉及数字信息处理领域,尤其涉及一种可预取的信息处理方法及装置。
背景技术
在计算机技术发展过程中,内存的存取速度一直比CPU处理速度慢得多,使得CPU的高速处理能力不能充分发挥,影响整个计算机系统的工作效率。高速缓冲存储器被用来缓和CPU和内存之间速度不匹配的矛盾。目前采用高速缓冲存储器技术已经相当普遍。高速缓冲存储器是存在于内存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小,但它的存取速度却能与CPU相匹配。根据程序局部性原理,正在使用的内存某一单元邻近的那些单元将被用到的可能性很大。因而,当CPU存取内存某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,CPU即将存取的内存单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,CPU就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果CPU绝大多数存取内存的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高。
在视频编解码过程中,视频像素(主要是参考帧像素)需要占用大量内存带宽,是视频编解码占用内存带宽最大的部分。现有的视频编解码芯片多数都使用片上高速缓存(Cache)来存储参考帧像素,从而降低内存带宽,同时降低存取延迟。
而在3D图形芯片中,纹理也是占用内存带宽最大的部分。现有的3D图形芯片也都采用片上高速纹理缓存来存储纹理,从而降低内存带宽,降低存取延迟。
发明人发现:在现有的系统芯片(System-on-a-chip,SoC)中,尤其是占用内存带宽较大的系统芯片中,高速缓冲存储器的阻塞已经成为制约处理速度的瓶颈,进而使得系统芯片的整体性能受限于内存的访问速度。
因此,解决高速缓冲存储器的拥堵现象,已经成为本领域技术人员亟待解决的技术难题。
在公开号为CN101057224A的中国发明专利申请中,披露了更多相关内容。
发明内容
本发明所要解决的技术问题是提供一种高速缓冲存储器,能避免或减少拥堵现象,从而提高系统芯片的处理速度。
为了解决上述问题,根据本发明的一个方面,提供了一种信息处理方法,适用于可预取的高速缓存,包括:
根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;
按照所述读取命令队列依次从片外存储器中读入所述缺失数据;
根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。
在一个实施例中,在所述按照所述读取命令队列依次从片外存储器中读入所述缺失数据之后,还包括:将所述读入的缺失数据排序,形成缺失数据队列;
所述根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器包括:根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,填充高速缓冲存储器。
在一个实施例中,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
在一个实施例中,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
在一个实施例中,所述高速缓冲存储器,用于存储特定数据组织形式的视频像素数据或图形纹理数据;所述待读取数据为视频像素数据或图形纹理数据;
所述信息处理方法还包括:
规定所述视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式;
根据所述待读取数据信息,确定所述待读取数据的数据类型;
所述根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器包括:根据所述填充命令队列依次将所述缺失数据按照对应的数据组织形式填充高速缓冲存储器。
在一个实施例中,视频像素数据的数据组织形式为保证每两个时钟周期读取一个缓存线的全部视频像素分量;
图形纹理数据的数据组织形式为保证每个时钟周期读取任意四个彼此相邻的纹理。
在一个实施例中,所述视频像素数据为YUV格式;所述视频像素数据的数据组织形式为保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
在一个实施例中,所述图形纹理数据为RGBA格式。
在一个实施例中,在所述确定待读取数据的数据类型之后,还包括:若所述数据类型为视频像素数据,则根据所述高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令。
在一个实施例中,若所述数据类型为视频像素数据,则在所述依次从片外存储器中读入缺失数据之前,还包括:调整像素图像边界;在所述依次将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,还包括:调整像素图像边界。
根据本发明的另一个方面,还提供了一种信息处理装置,适用于高速缓存的预取,包括:
高速缓冲存储器;
与所述高速缓冲存储器、外部处理器及片外存储器相连的微处理器,适用于根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;按照所述读取命令队列依次从片外存储器中读入所述缺失数据;根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器;
用于存储读取命令队列的第一暂存器、用于存储填充命令队列的第二暂存器。
在一个实施例中,所述微处理器包括:
确定缺失单元,配置成适用于根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
预取单元,配置成适用于将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;
读取单元,配置成适用于按照所述读取命令队列依次从片外存储器中读入所述缺失数据;
填充单元,配置成适用于根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。
在一个实施例中,所述预取单元还配置成适用于:将所述读入的缺失数据排序,形成缺失数据队列;
所述填充单元配置成适用于根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,填充高速缓冲存储器;
所述信息处理装置还包括:用于存储缺失数据队列的第三暂存器。
在一个实施例中,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
在一个实施例中,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
在一个实施例中,所述高速缓冲存储器,用于存储特定数据组织形式的存储视频像素数据或图形纹理数据;
所述待读取数据为视频像素数据或图形纹理数据;
所述微处理器还包括:确定类型单元,配置成适用于根据外部处理器发出的外部读取命令,获取待读取数据信息,确定所述待读取数据的数据类型;
所述填充单元,配置成适用于根据所述填充命令队列依次将所述缺失数据按照对应的数据组织形式填充高速缓冲存储器。
在一个实施例中,视频像素数据的数据组织形式为保证每两个时钟周期读取一个缓存线的全部视频像素分量;
图形纹理数据的数据组织形式为保证每个时钟周期读取任意四个彼此相邻的纹理。
在一个实施例中,所述视频像素数据为YUV格式;所述视频像素数据的数据组织形式为保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
在一个实施例中,所述图形纹理数据为RGBA格式。
在一个实施例中,所述微处理器还包括:
命令拆分单元,配置成适用于在所需数据的类型为视频像素数据时,按照高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令;
调整边界单元,配置成适用于在所需数据的类型为视频像素数据时,在所述从片外存储器中读入所述缺失数据之前以及所述将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,调整像素图像边界。
与现有技术相比,本发明的技术方案具有以下优点:
本发明通过设置命令队列,提前发出读取命令和填充命令的方式,保证了在高速缓存缺失的情况下还能继续发送命令,实现了非阻塞的高速缓存和缺失数据的预取,提高了高速缓冲存储器的读取速度,进而提高了系统芯片的整体处理速度。
可选方案中,还通过规定高速缓冲存储器中存储的视频像素数据和图形纹理数据的数据组织形式,并将缺失数据按照所述特定数据组织形式填充高速缓冲存储器,使得使用同一个高速缓冲存储器就能实现视频编解码参考帧像素和3D图形纹理高速缓存,进一步节省了芯片面积和芯片功耗。
附图说明
图1为本发明的信息处理方法第一实施例的流程示意图;
图2为本发明的信息处理方法第二实施例的流程示意图;
图3为图2所示第二实施例中视频像素数据的数据组织形式示意图;
图4a、4b为图2所示第二实施例中图形纹理数据的数据组织形式示意图;
图5为本发明的信息处理装置第一实施例的结构示意图;
图6为本发明的信息处理装置第二实施例的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
为了解决背景技术中的技术问题,本发明提供了一种信息处理方法,适用于可预取的高速缓存。图1为本发明的信息处理方法第一实施例的流程示意图。如图1所示,本实施例包括以下步骤:
执行步骤S101,根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定待读取数据在高速缓冲存储器中的缺失数据。具体地,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
执行步骤S102,将所述缺失数据排序,形成读取命令队列和对应的填充命令队列。
执行步骤S103,按照所述读取命令队列依次从片外存储器中读入所述缺失数据。具体地,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。具体地,从所述读取命令队列的队首获取读取命令,到片外存储器中读入缺失数据,将读入的缺失数据排在缺失数据队列的队尾。
执行步骤S104,根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。具体地,从所述填充命令队列的队首获取填充命令,从所述缺失数据队列的队首获取缺失数据,将所述缺失数据填充高速缓冲存储器。
通过将缺失数据排序,按照队列先进先出的原则,可实现读取的缺失数据与对应的填充命令中所需数据一一吻合,从而实现。
本实施例通过将读取命令和填充命令按照队列形式存储,按序执行读取命令和填充命令,从而实现提前预取命令,提供高速缓冲存储器的读取速度,同时可避免因读取命令和填充命令间的冲突而引起的高速缓存的阻塞。
图2为本发明的信息处理方法第二实施例的流程示意图。与前一实施例不同的是,本实施例通过规定高速缓冲存储器中视频像素数据和图形纹理数据的数据组织形式,将缺失数据按照特定数据组织形式填充高速缓冲存储器,实现了同一个高速缓冲存储器中视频编解码参考帧像素和3D图形纹理的复用功能,还进一步针对视频像素数据进行了区别处理,以满足可复用高速缓存的需要。如图2所示,本实施例包括以下步骤:
执行步骤S201,规定视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式。
具体地,所述视频像素数据在高速缓冲存储器中的数据组织形式包括:保证每两个时钟周期读取一个缓存线(Cache line)的全部视频像素分量。在本实施例中,所述视频像素数据为YUV格式,亮度分量Y:色度分量U:色度分量V:透明度分量A的数据量比值为4:1:1:2。因此每两个时钟周期读取一个缓存线的全部视频像素分量为在一个时钟周期读取一个缓冲线的全部Y分量,在下一个时钟周期读取所述缓冲线的全部U、V、A分量。
具体地,由于3D图形处理芯片中的纹理格式各不相同,最常见的是RGBA格式。因此,所述图形纹理数据在高速缓冲存储器中的数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理数据,以支持纹理数据的双线性插值需要。
执行步骤S202,根据外部读取命令,获取待读取数据信息,确定待读取数据的数据类型。所述数据类型为视频像素数据或图形纹理数据。
执行步骤S203,判断数据类型是否为视频像素数据。
若数据类型是视频像素数据,则执行步骤S204,根据高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令之后,执行步骤S205。这是由于一帧视频参考帧的容量通常较大,可能超出所述高速缓冲存储器的容量。因此,需要进行命令拆分,分多次抓取参考帧数据。
若数据类型是图形纹理数据,不是视频像素数据,则直接执行步骤S205,根据待读取数据信息及高速缓冲存储器标志信息,确定待读取数据在高速缓冲存储器中的缺失数据。
执行步骤S206,将所述缺失数据排序,形成读取命令队列和对应的填充命令队列。
执行步骤S207,按照所述读取命令队列依次从片外存储器中读入所述缺失数据。
执行步骤S208,将所述读入的缺失数据排序,形成缺失数据队列。
执行步骤S209,根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,按照对应的数据组织形式填充高速缓冲存储器。
需要说明的是,若待读取数据的数据类型为视频像素数据,则可能待读取数据超出图像边界,需要在从片外存储器中读入所述缺失数据之前,调整像素图像边界(图未示),以确保待读取数据在有效范围内。同样的,在将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,也需要调整像素图像边界(图未示)。
本实施例通过规定高速缓冲存储器中视频像素数据和图形纹理数据的数据组织形式,将缺失数据按照特定数据组织形式填充高速缓冲存储器,使得同一个高速缓冲存储器能同时满足视频编解码参考帧像素和3D图形纹理的高速缓存,节省了芯片面积,降低了芯片功耗。
图3为图2所示第二实施例中视频像素数据的数据组织形式示意图。如图3所示,本实施例的高速缓存由4个SRAM存储阵列(BankA~BankD)组成,每个缓存线(Cacheline)分布于4个SRAM存储阵列中。当该高速缓冲用于存储视频像素数据时,共包括128个缓存线。
本实施例的视频像素的格式是YUVA4202,即:Y分量保持全部精度,U、V分量在横方向和纵方向做2:1的压缩,A分量在横方向做2:1的压缩,这样得到的YUVA4202相比原始的YUVA降低了一半的存储空间,而图像质量影响不大。
本实施例在一个时钟周期读出一个Cacheline的全部Y分量(如:entry0的数据),在另一个时钟周期读出该Cacheline的全部U、V、A分量(如:entry1的数据)。
图4a所示的是图像纹理数据坐标的位移矢量示意图。如图4a所示,本实施例中待读取的纹理数据为16х4个纹素。由于3D图形中的纹理要支持双线性插值的方式,要求一次性取出四个彼此相邻的纹素,因此发明人规定了图形纹理数据的数据组织形式,以保证每个时钟周期读取任意四个彼此相邻的纹理数据。图4b所示的是图像纹理数据按照所述数据组织形式保存于高速缓冲中的示意图。如图4b所示,本实施例的高速缓存仍由4个SRAM存储阵列(BankA~BankD)组成,每个缓存线(Cacheline)分布于4个SRAM存储阵列中。当该高速缓冲用于存储视频像素数据时,共包括64个缓存线。本实施例在一个时钟周期读出四个彼此相邻的纹素(如:entry0的数据)。
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明的部分或全部可借助软件并结合必需的通用硬件平台来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本发明的实施例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
相应地,本发明还提供了一种信息处理装置,适用于视频像素数据或图形纹理数据的高速缓存。图5为本发明的信息处理装置第一实施例的结构示意图。如图5所示,本实施例包括:高速缓存存储器Cache、微处理器U1、第一暂存器U105、第二暂存器U106、第三暂存器U107。
所述高速缓存存储器Cache用于存储特定数据组织形式的视频像素数据或图形纹理数据。
所述微处理器U1与所述高速缓存存储器Cache、外部处理器(图未示)、片外存储器L2Cache相连,用于根据外部处理器(图未示)发出的外部读取命令cmd,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志Cache Tag信息,确定所述待读取数据在所述高速缓冲存储器Cache中的缺失数据;将所述缺失数据排序,形成读取命令队列Msg fifo和对应的填充命令队列ResMsg Queue;按照所述读取命令队列Msg fifo依次从片外存储器L2Cache中读入所述缺失数据;根据所述填充命令队列ResMsg Queue依次将所述缺失数据填充所述高速缓冲存储器Cache。
需要说明的是,所述外部处理器可以是任何需要配置高速缓冲存储器的系统级芯片,比如:图形运算单元(Graphics Processing Unit,GPU)、视频编解码器(video codec)、图像数据处理器(Image Signal Processor,ISP)等,本发明对此不作具体限定。
需要说明的是,本实施例中的片外存储器L2Cache为二级缓冲存储器,但本发明对此不作具体限定,在其他实施例中,片外存储器还可以是外存储器。
所述第一暂存器U105,用于存储读取命令队列Msg fifo。
所述第二暂存器U106,用于存储填充命令队列ResMsg Queue。
所述第三暂存器U107,用于存储缺失数据队列Data fifo。
具体地,所述微处理器U1包括:确定缺失单元U101、预取单元U102、读取单元U103、填充单元U104。
确定缺失单元U101,与高速缓冲标志寄存器Cache Tag和外部处理器(图未示)相连,用于根据外部读取命令cmd,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志Cache Tag信息,确定所述待读取数据在所述高速缓冲存储器Cache中的缺失数据。
预取单元U102,与所述确定缺失单元U101、第一暂存器U105、第二暂存器U106相连,用于将所述缺失数据排序,形成读取命令队列Msg fifo和对应的填充命令队列ResMsg Queue,以及将所述读入的缺失数据排序,形成缺失数据队列Data fifo。
读取单元U103,与所述第一暂存器U105、片外存储器L2Cache、第三暂存器U107相连,用于按照所述读取命令队列Msg fifo中队首的读取命令从片外存储器L2Cache中读入缺失数据,并将所述缺失数据排在所述缺失数据队列Data fifo的队尾。
填充单元U104,与所述第三暂存器U107和高速缓冲存储器Cache相连,用于根据所述填充命令队列ResMsg Queue中队首的填充命令从所述缺失数据队列Data fifo的队首获取缺失数据,将所述缺失数据填充所述高速缓冲存储器Cache。
本实施例通过设置命令队列和数据队列,实现了提前发送读取命令和填充命令,从而实现了缺失数据的预取,避免或减少了高速缓冲存储器的拥堵现象,提高了高速缓冲存储器的读取速度,进而提高了系统芯片的整体处理速度。
图6为本发明的信息处理装置第二实施例的结构示意图。与前一实施例相同的部分,此处不再赘述。与前一实施例不同的是,本实施例的信息处理装置除了能避免或减少高速缓冲存储器的拥堵之外,还实现了高速缓冲存储器的可复用,从而大大减少了芯片面积,降低了芯片功耗。如图6所示,本实施例包括:微处理器U2、高速缓冲存储器Cache、第一暂存器U205、第二暂存器U206、第三暂存器U207。
所述高速缓存存储器Cache用于存储特定数据组织形式的视频像素数据或图形纹理数据。
具体地,所述视频像素数据的特定数据组织形式包括:保证每两个时钟周期读取一个缓存线的全部视频像素分量。进一步地,所述视频像素数据为YUV格式。所述保证每两个时钟周期读取一个缓存线的全部视频像素分量包括:保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
所述图形纹理数据的特定数据组织形式包括:保证每个时钟周期读取任意四个彼此相邻的纹理。所述图形纹理数据为RGBA格式。
所述微处理器U2与所述高速缓存存储器Cache、外部处理器(图未示)、片外存储器L2Cache相连,用于根据所述外部处理器发出的外部读取命令cmd,从片外存储器L2Cache中读入待读取数据在高速缓冲存储器Cache中的缺失数据,按照特定数据组织形式填充所述高速缓冲存储器Cache。所述待读取数据为视频像素数据或图形纹理数据。
具体地,所述微处理器U2包括:确定缺失单元U201、预取单元U202、读取单元U203、填充单元U204、确定类型单元U208、命令拆分单元U209、调整边界单元U210。
确定类型单元U208,与外部处理器(图未示)相连,用于接收所述外部处理器发出的外部命令cmd,获取待读取数据信息,确定所述待读取数据的为视频像素数据或图形纹理数据。具体地,所述待读取数据信息包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
命令拆分单元U209,与所述确定类型单元U208相连,用于在待读取数据的类型为视频像素数据时,按照高速缓冲存储器的容量,将所述外部读取命令拆分为一个或多个内部命令。
确定缺失单元U201,与高速缓冲标志寄存器Cache Tag、所述确定类型单元U208、所述命令拆分单元U209相连,用于根据所述待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器Cache中的缺失数据。
预取单元U202,与所述确定缺失单元U201相连,用于将所述缺失数据排序,形成读取命令队列Msg fifo和对应的填充命令队列ResMsg Queue,以及将按照所述读取命令序列依次读入的缺失数据排序形成缺失数据队列Datafifo。
第一暂存器U205,与所述预取单元U202相连,用于存储所述读取命令队列Msg fifo。
第二暂存器U206,与所述预取单元U202相连,用于存储所述填充命令队列ResMsg Queue。
读取单元U203,与所述第一暂存器U205、第三暂存器U207和片外存储器L2Cache相连,用于按照所述第一暂存器U205中读取命令队列Msg fifo中队首的读取命令,从片外存储器L2Cache中读入所述缺失数据,将所述缺失数据排在所述缺失数据队列Data fifo的队尾。
所述第三暂存器U207,与所述读取单元U203相连,用于存储所述缺失数据队列Data fifo。
调整边界单元U210,与所述预取单元U202、所述第一暂存器U205、所述第三暂存器U207、填充单元U204相连,用于在待读取数据为视频像素数据时,在从片外存储器L2Cache中读入所述缺失数据之前以及将缺失数据按照对应的数据组织形式填充高速缓冲存储器Cache之前,调整像素图像边界。
填充单元U204,与所述第二暂存器U206、所述第三暂存器U207、所述调整边界单元U210和所述高速缓冲存储器Cache相连,用于根据所述第二暂存器U206中填充命令队列ResMsg Queue中队首的填充命令,将所述第三暂存器U207中缺失数据队列Data fifo中队首的缺失数据按照对应的数据组织形式填充高速缓冲存储器Cache。
本实施例的信息处理装置的工作过程按照待读取数据的不同而有所不同。
图形纹理数据的处理流程包括:接收外部处理器(图未示)发出的外部读取命令cmd,经确定类型单元U208确定待读取数据为图形纹理数据texture。接着,确定缺失单元U201根据待读取数据信息及高速缓冲存储器标志CacheTag信息,产生命中或者缺失等信号,把读取命令传到预取单元U202。在预取单元U202中根据缺失的情况,发出去片外存储器L2Cache取纹理数据的请求,这些请求以队列形式Msg fifo保存于第一暂存器U205中。同时在预取单元U202中把对应的填充命令以队列形式ResMsg Queue保存于第二暂存器U206中。接着,读取单元U203按照Msg fifo队列中队首的读取命令到片外存储器L2Cache中读出相应的缺失数据,并将所述缺失数据排在缺失数据队列Data fifo的队尾。填充单元U204按照ResMsg Queue队列中队首的填充命令到缺失数据队列Data fifo的队首获取待填充的缺失数据,并填充高速缓冲存储器Cache中对应空间,最后从高速缓冲存储器Cache中读出所需的纹理数据,送给所述外部处理器(图未示)。
视频像素数据的处理流程较图形纹理数据更为复杂,具体包括:接收外部处理器(图未示)发出的外部读取命令cmd,经确定类型单元U208确定待读取数据为视频像素数据video。接着,命令拆分单元U209根据命令所需的像素区域范围,产生一个或者多个内部命令,发送确定缺失单元U201。确定缺失单元U201根据待读取数据信息及高速缓冲存储器标志Cache Tag信息,产生命中或者缺失等信号,把读取命令传到预取单元U202。经调整边界单元U210调整像素边界之后,根据缺失的情况,发出去片外存储器L2Cache取视频像素数据的请求,这些请求以队列形式Msg fifo保存于第一暂存器U205中。同时把对应的填充命令以队列形式ResMsg Queue保存于第二暂存器U206中。接着,读取单元U203按照Msg fifo队列中队首的读取命令到片外存储器L2Cache中读出相应的缺失数据,并将所述缺失数据排在缺失数据队列Data fifo的队尾。经调整边界单元U210调整像素边界之后,填充单元U204按照ResMsgQueue队列中队首的填充命令到缺失数据队列Data fifo的队首获取待填充的缺失数据,并填充高速缓冲存储器Cache中对应空间,最后从高速缓冲存储器Cache中读出所需的视频像素数据,送给所述外部处理器(图未示)。
本实施例中的高速缓存既可以作为视频编解码器的高速缓存,也可以作为3D图形芯片的高速缓存,因此本实施例的信息处理装置占用芯片面积更小,所需芯片功耗更低。
需要说明的是,本领域技术人员可以理解,上述部分组件可以是诸如:可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(GenericArray Logic,GAL)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程逻辑器件中的一种或多种,但是本发明对此不做具体限制。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (20)
1.一种信息处理方法,适用于可预取的高速缓存,其特征在于,包括:
根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;
按照所述读取命令队列依次从片外存储器中读入所述缺失数据;
根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。
2.根据权利要求1所述的信息处理方法,其特征在于,
在所述按照所述读取命令队列依次从片外存储器中读入所述缺失数据之后,还包括:将所述读入的缺失数据排序,形成缺失数据队列;
所述根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器包括:根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,填充高速缓冲存储器。
3.根据权利要求1或2所述的任一种信息处理方法,其特征在于,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
4.根据权利要求1所述的信息处理方法,其特征在于,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
5.根据权利要求1或2所述的任一种信息处理方法,其特征在于,
所述高速缓冲存储器,用于存储特定数据组织形式的视频像素数据或图形纹理数据;所述待读取数据为视频像素数据或图形纹理数据;
所述信息处理方法还包括:
规定所述视频像素数据和图形纹理数据在高速缓冲存储器中的数据组织形式;
根据所述待读取数据信息,确定所述待读取数据的数据类型;
所述根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器包括:根据所述填充命令队列依次将所述缺失数据按照对应的数据组织形式填充高速缓冲存储器。
6.根据权利要求5所述的信息处理方法,其特征在于,
视频像素数据的数据组织形式为保证每两个时钟周期读取一个缓存线的全部视频像素分量;
图形纹理数据的数据组织形式为保证每个时钟周期读取任意四个彼此相邻的纹理。
7.根据权利要求6所述的信息处理方法,其特征在于,所述视频像素数据为YUV格式;所述视频像素数据的数据组织形式为保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
8.根据权利要求6所述的信息处理方法,其特征在于,所述图形纹理数据为RGBA格式。
9.根据权利要求5所述的信息处理方法,其特征在于,在所述确定待读取数据的数据类型之后,还包括:若所述数据类型为视频像素数据,则根据所述高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令。
10.根据权利要求5所述的信息处理方法,其特征在于,
若所述数据类型为视频像素数据,则在所述依次从片外存储器中读入缺失数据之前,还包括:调整像素图像边界;在所述依次将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,还包括:调整像素图像边界。
11.一种信息处理装置,适用于高速缓存的预取,其特征在于,包括:
高速缓冲存储器;
与所述高速缓冲存储器、外部处理器及片外存储器相连的微处理器,适用于根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;按照所述读取命令队列依次从片外存储器中读入所述缺失数据;根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器;
用于存储读取命令队列的第一暂存器、用于存储填充命令队列的第二暂存器。
12.根据权利要求11所述的信息处理装置,其特征在于,所述微处理器包括:
确定缺失单元,配置成适用于根据外部读取命令,获取待读取数据信息,根据待读取数据信息及高速缓冲存储器标志信息,确定所述待读取数据在所述高速缓冲存储器中的缺失数据;
预取单元,配置成适用于将所述缺失数据排序,形成读取命令队列和对应的填充命令队列;
读取单元,配置成适用于按照所述读取命令队列依次从片外存储器中读入所述缺失数据;
填充单元,配置成适用于根据所述填充命令队列依次将所述缺失数据填充所述高速缓冲存储器。
13.根据权利要求12所述的信息处理装置,其特征在于,所述预取单元还配置成适用于:将所述读入的缺失数据排序,形成缺失数据队列;
所述填充单元配置成适用于根据所述填充命令队列依次从所述缺失数据队列中获取所述缺失数据,填充高速缓冲存储器;
所述信息处理装置还包括:用于存储缺失数据队列的第三暂存器。
14.根据权利要求12或13所述的任一种信息处理装置,其特征在于,所述片外存储器包括:外存储器、二级缓冲存储器中的一种或多种。
15.根据权利要求11所述的信息处理装置,其特征在于,所述待读取数据信息至少包括:待读取数据的数据类型、待读取数据的地址、待读取数据的容量。
16.根据权利要求12或13所述的任一种信息处理装置,其特征在于,
所述高速缓冲存储器,用于存储特定数据组织形式的存储视频像素数据或图形纹理数据;
所述待读取数据为视频像素数据或图形纹理数据;
所述微处理器还包括:确定类型单元,配置成适用于根据外部处理器发出的外部读取命令,获取待读取数据信息,确定所述待读取数据的数据类型;
所述填充单元,配置成适用于根据所述填充命令队列依次将所述缺失数据按照对应的数据组织形式填充高速缓冲存储器。
17.根据权利要求16所述的信息处理装置,其特征在于,
视频像素数据的数据组织形式为保证每两个时钟周期读取一个缓存线的全部视频像素分量;
图形纹理数据的数据组织形式为保证每个时钟周期读取任意四个彼此相邻的纹理。
18.根据权利要求17所述的信息处理装置,其特征在于,所述视频像素数据为YUV格式;所述视频像素数据的数据组织形式为保证一个时钟周期读取一个缓冲线的全部Y分量,下一个时钟周期读取所述缓冲线的全部U、V、A分量。
19.根据权利要求17所述的信息处理装置,其特征在于,所述图形纹理数据为RGBA格式。
20.根据权利要求16所述的信息处理装置,其特征在于,所述微处理器还包括:
命令拆分单元,配置成适用于在所需数据的类型为视频像素数据时,按照高速缓冲存储器的容量,将所述外部读取命令拆分为多个内部读取命令;
调整边界单元,配置成适用于在所需数据的类型为视频像素数据时,在所述从片外存储器中读入所述缺失数据之前以及所述将缺失数据按照对应的数据组织形式填充高速缓冲存储器之前,调整像素图像边界。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593826.4A CN103077129B (zh) | 2012-12-31 | 2012-12-31 | 信息处理方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593826.4A CN103077129B (zh) | 2012-12-31 | 2012-12-31 | 信息处理方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077129A true CN103077129A (zh) | 2013-05-01 |
CN103077129B CN103077129B (zh) | 2016-07-13 |
Family
ID=48153661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593826.4A Active CN103077129B (zh) | 2012-12-31 | 2012-12-31 | 信息处理方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077129B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550979A (zh) * | 2015-12-11 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种高数据通量纹理Cache层次结构 |
CN107168660A (zh) * | 2016-03-08 | 2017-09-15 | 成都锐成芯微科技股份有限公司 | 图像处理缓存系统及方法 |
CN108701159A (zh) * | 2016-12-13 | 2018-10-23 | 谷歌有限责任公司 | 用于预取内容项的系统和方法 |
GB2564466A (en) * | 2017-07-13 | 2019-01-16 | Advanced Risc Mach Ltd | Graphics processing systems |
CN110032524A (zh) * | 2017-12-14 | 2019-07-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN116049033A (zh) * | 2023-03-31 | 2023-05-02 | 沐曦集成电路(上海)有限公司 | 一种高速缓冲存储器Cache读写方法、系统、介质及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123044A1 (en) * | 2002-12-20 | 2004-06-24 | International Business Machines Corporation | Page descriptors for prefetching and memory management |
WO2004079489A3 (en) * | 2003-03-06 | 2005-07-28 | Koninkl Philips Electronics Nv | Data processing system with prefetching means |
US20050231503A1 (en) * | 2004-04-20 | 2005-10-20 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer |
CN1731374A (zh) * | 2005-08-25 | 2006-02-08 | 北京中星微电子有限公司 | 一种高速缓存预取模块及其方法 |
CN1961339A (zh) * | 2004-06-08 | 2007-05-09 | 斯瑞毕国际有限公司 | 显示图形纹理 |
CN101377734A (zh) * | 2008-07-10 | 2009-03-04 | 威盛电子股份有限公司 | 运算系统及设定运算系统的方法 |
CN101583929A (zh) * | 2007-02-22 | 2009-11-18 | 高通股份有限公司 | 用于多纹理化的动态可配置纹理高速缓冲存储器 |
CN101630291A (zh) * | 2009-08-03 | 2010-01-20 | 中国科学院计算技术研究所 | 虚拟存储系统和方法 |
CN102163144A (zh) * | 2011-05-05 | 2011-08-24 | 浙江大学 | 嵌入式处理器的硬件数据预取方法 |
-
2012
- 2012-12-31 CN CN201210593826.4A patent/CN103077129B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123044A1 (en) * | 2002-12-20 | 2004-06-24 | International Business Machines Corporation | Page descriptors for prefetching and memory management |
CN1726477A (zh) * | 2002-12-20 | 2006-01-25 | 国际商业机器公司 | 用于预取和存储器管理的页描述符 |
WO2004079489A3 (en) * | 2003-03-06 | 2005-07-28 | Koninkl Philips Electronics Nv | Data processing system with prefetching means |
US20050231503A1 (en) * | 2004-04-20 | 2005-10-20 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer |
CN1961339A (zh) * | 2004-06-08 | 2007-05-09 | 斯瑞毕国际有限公司 | 显示图形纹理 |
CN1731374A (zh) * | 2005-08-25 | 2006-02-08 | 北京中星微电子有限公司 | 一种高速缓存预取模块及其方法 |
CN101583929A (zh) * | 2007-02-22 | 2009-11-18 | 高通股份有限公司 | 用于多纹理化的动态可配置纹理高速缓冲存储器 |
CN101377734A (zh) * | 2008-07-10 | 2009-03-04 | 威盛电子股份有限公司 | 运算系统及设定运算系统的方法 |
CN101630291A (zh) * | 2009-08-03 | 2010-01-20 | 中国科学院计算技术研究所 | 虚拟存储系统和方法 |
CN102163144A (zh) * | 2011-05-05 | 2011-08-24 | 浙江大学 | 嵌入式处理器的硬件数据预取方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550979A (zh) * | 2015-12-11 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种高数据通量纹理Cache层次结构 |
CN107168660A (zh) * | 2016-03-08 | 2017-09-15 | 成都锐成芯微科技股份有限公司 | 图像处理缓存系统及方法 |
CN107168660B (zh) * | 2016-03-08 | 2024-05-10 | 成都锐成芯微科技股份有限公司 | 图像处理缓存系统及方法 |
CN108701159A (zh) * | 2016-12-13 | 2018-10-23 | 谷歌有限责任公司 | 用于预取内容项的系统和方法 |
CN108701159B (zh) * | 2016-12-13 | 2022-05-13 | 谷歌有限责任公司 | 用于预取内容项的系统和方法 |
GB2564466A (en) * | 2017-07-13 | 2019-01-16 | Advanced Risc Mach Ltd | Graphics processing systems |
US10388057B2 (en) | 2017-07-13 | 2019-08-20 | Arm Limited | Graphics processing systems with efficient YUV format texturing |
GB2564466B (en) * | 2017-07-13 | 2020-01-08 | Advanced Risc Mach Ltd | Storing YUV texture data in a cache in a graphics processing system |
CN110032524A (zh) * | 2017-12-14 | 2019-07-19 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110032524B (zh) * | 2017-12-14 | 2023-01-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN116049033A (zh) * | 2023-03-31 | 2023-05-02 | 沐曦集成电路(上海)有限公司 | 一种高速缓冲存储器Cache读写方法、系统、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103077129B (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077129A (zh) | 信息处理方法与装置 | |
KR20170103649A (ko) | 버퍼를 이용하여 텍스처 데이터에 액세스하는 방법 및 장치 | |
KR100908779B1 (ko) | 프레임 버퍼 병합 | |
US10726519B2 (en) | Cache arrangement for graphics processing systems | |
US9304933B2 (en) | Techniques to request stored data from a memory | |
KR100817057B1 (ko) | 동일한 픽셀 데이터 그룹에 포함되는 픽셀 데이터들을메모리의 동일한 뱅크 어드레스로 매핑하는 매핑 방법 및비디오 시스템 | |
EP3289560B1 (en) | Adaptive memory address scanning based on surface format for graphics processing | |
JP5039334B2 (ja) | キャッシュメモリ制御方法、及び装置 | |
US20080079744A1 (en) | Systems and Methods for Performing a Bank Swizzle Operation to Reduce Bank Collisions | |
CN108492243B (zh) | 一种基于块处理的图像旋转装置、系统和方法 | |
CN106846255B (zh) | 图像旋转实现方法及装置 | |
US10585803B2 (en) | Systems and methods for addressing a cache with split-indexes | |
CN103077130B (zh) | 信息处理方法及装置 | |
US6917363B2 (en) | Method and system for processing two-dimensional image data | |
CN105577985B (zh) | 一种数字图像处理系统 | |
CN101212680B (zh) | 图像数据的存储器存取方法及系统 | |
KR20120066305A (ko) | 비디오 움직임 예측 및 보상용 캐싱 장치 및 방법 | |
CN103034455B (zh) | 基于预先解码分析的数据信息缓存管理方法及系统 | |
CN203102261U (zh) | 信息处理装置 | |
CN102479381B (zh) | 一种2维图像旋转处理方法及处理装置 | |
JP5071977B2 (ja) | キャッシュメモリーを管理するシステムと方法 | |
CN108629734B (zh) | 图像几何变换方法、装置及终端 | |
KR20220166198A (ko) | 그래픽 처리 시스템들 내의 메모리에 데이터를 저장하기 위한 방법들 및 장치 | |
CN203102260U (zh) | 信息处理装置 | |
JP2004246889A (ja) | シーケンシャルバッファを内蔵してdspのデータアクセス性能を向上させるコンピュータシステム及びそのコンピュータシステムのアクセス方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220802 Address after: 200120 room 11F, building 2, Lane 560, shengxia Road, Pudong New Area, Shanghai Patentee after: GALAXYCORE SHANGHAI Ltd.,Corp. Address before: Room 1004 and room 1005, building 2, No. 560, shengxia Road, Pudong New Area, Shanghai 201203 Patentee before: SHANGHAI SUANXIN MICROELECTRONICS Co.,Ltd. |
|
TR01 | Transfer of patent right |