本发明涉及计算机硬件技术领域,具体涉及一种支持多像素格式存储的cache电路。
背景技术:
随着计算机系统的迅速发展,现代计算机系统越来越受主存储器性能的限制。处理器的性能以每年60%的速度在增长,而主存储器芯片带宽仅仅以每年10%的速度在增长。在速度方面,主存储器和处理器一直保持了大约一个数量级的差距。由于cpu和存储器的速度差距越来越大,于是出现了cache,介于cpu与主存之间,他的存取速度接近于cpu速度,但是容量小,价格高昂。
由于图形处理中需要处理不同的像素格式,每种格式占用的存储空间大小并不相同。同时,图形处理器中,对图像空间的访问地址一般以坐标代替,如格式不同,则需要使用不同的地址计算方法。但是现在还不具有一种支持多像素格式存储的cache电路,即可完成不同像素格式的数据处理,且不需要使用更多的存储空间。
所以,设计实现多像素格式存储cache有着深远意义。
技术实现要素:
本发明公开了一种支持多像素格式存储的cache电路,不但能够完成多种像素格式的处理,节省存储空间,还能在保证性能的情况下,简化cache的设计难度。
本发明的具体技术方案是:
本发明提出一种支持多像素格式存储的cache电路,包含格式选择模块、标签比对模块、mshr存储模块、存储器模块和数据输出模块;
所述的格式选择模块用于判断当前请求的数据格式,并根据数据格式将请求发送到标签比对模块中相应的标签比对通路;
所述的标签比对模块用于对请求进行命中比较,命中时从存储器模块中读取相应数据,返回给请求发起方;未命中时将请求缓存至mshr存储模块;
所述的mshr存储模块用于存放没有命中的cache请求;
所述的存储器模块用于存放映射到cache中的数值;
所述的数据输出模块用于根据数据格式从存储器模块中输出读取的数据。
优选的,所述的格式选择模块用于将不同的数据格式进行分类,并根据请求的数据格式选择数据格式对应的数据分类,将请求发送给标签比对模块中相应的数据分类。
优选的,所述的标签比对模块根据数据格式的分类分为多个独立的标签比对通路,每一个标签比对通路支持一种数据分类,每个分类的标签比对通路对请求进行各自的地址命中判定;标签比对模块中的每一标签比对通路均能够存储地址信息和存储格式信息,只支持相同数据分类的访问。
优选的,所述mshr存储模块由寄存器堆组成,用于存储没有命中的参数地址;并用于更新存储器模块的数据时将在mshr存储模块中相同block的请求一同更新。
优选的,所述存储器模块用于保存参数空间中一片连续地址的数据。
优选的,所述标签比对模块采用全相联的地址映射方式,所述的全相联映射方式规定了参数地址空间映射到cache地址空间的方式。
本发明的有益技术效果是:
本发明提供了一种支持多像素格式存储的cache电路,能够完成多种像素格式的处理,节省了cache存储空间,在保证性能的情况下,简化cache的设计难度,达到了节约资源,简化设计的目的。
附图说明
图1是本发明一种支持多像素格式存储的cache电路的结构图;
其中:1、格式选择模块;2、标签比对模块;3、mshr存储模块;4、存储器模块;5、数据输出模块。
具体实施方式
下面结合说明书附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其它实施例,都属于本发明的保护范围。
在本发明的一个实施例中,如图1所示,一种支持多像素格式存储的cache电路,其特征在于:包括格式选择模块1、标签比对模块2、mshr存储模块3、存储器模块4和数据输出模块5;
格式选择模块1用于判断当前请求的数据格式,并根据数据格式将请求发送到标签比对模块2中相应的标签比对通路;
标签比对模块2用于对请求进行命中比较,命中时从存储器模块中读取相应数据,返回给请求发起方;未命中时将请求缓存至mshr存储模块3;
mshr存储模块3用于存放没有命中的cache请求;
存储器模块4用于存放映射到cache中的数值;
数据输出模块5用于根据数据格式从存储器模块4中输出读取的数据。
在一个实施例中,格式选择模块1用于将不同的数据格式进行分类,并根据请求的数据格式选择数据格式对应的数据分类,将请求发送给标签比对模块2中相应的数据分类。
在一个实施例中,标签比对模块2根据数据格式的分类分为多个独立的标签比对通路,每一个标签比对通路支持一种数据分类,每个分类的标签比对通路对请求进行各自的地址命中判定;标签比对模块中的每一标签比对通路均能够存储地址信息和存储格式信息,只支持相同数据分类的访问。
在一个实施例中,mshr存储模块3由寄存器堆组成,用于存储没有命中的参数地址;并用于更新存储器模块4的数据时将在mshr存储模块中相同block的请求一同更新。
在一个实施例中,存储器模块4用于保存参数空间中一片连续地址的数据。
在一个实施例中,标签比对模块2采用全相联的地址映射方式,全相联映射方式规定了参数地址空间映射到cache地址空间的方式。
请求通过格式选择模块1,并判断当前请求的数据格式,根据数据格式将请求发送到标签比对模块2中相应的标签比对通路;标签比对模块2用于请求的命中比较,若命中,则直接从存储器模块4中读取相应数据,返回给请求发起方;如若未命中,则将请求缓存至mshr存储模块3待后续处理。mshr存储模块3主要存放没有命中的cache请求,保证了接口访问的非阻塞特性;存储器模块4用于存放映射到cache中的数值,以待命中cache后的读取;数据输出模块5用于根据格式选择信息,选择输出从存储器模块4中读取的数据;所述的全相联映射方式规定了参数地址空间映射到cache地址空间的方。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种支持多像素格式存储的cache电路,其特征在于:包括格式选择模块(1)、标签比对模块(2)、mshr存储模块(3)、存储器模块(4)和数据输出模块(5);
所述的格式选择模块(1)用于判断当前请求的数据格式,并根据数据格式将请求发送到标签比对模块(2)中相应的标签比对通路;
所述的标签比对模块(2)用于对请求进行命中比较,命中时从存储器模块中读取相应数据,返回给请求发起方;未命中时将请求缓存至mshr存储模块(3);
所述的mshr存储模块(3)用于存放没有命中的cache请求;
所述的存储器模块(4)用于存放映射到cache中的数值;
所述的数据输出模块(5)用于根据数据格式从存储器模块(4)中输出读取的数据。
2.根据权利要求1所述的一种支持多像素格式存储的cache电路,其特征在于:所述的格式选择模块(1)用于将不同的数据格式进行分类,并根据请求的数据格式选择数据格式对应的数据分类,将请求发送给标签比对模块(2)中相应的数据分类。
3.根据权利要求2所述的一种支持多像素格式存储的cache电路,其特征在于:所述的标签比对模块(2)根据数据格式的分类分为多个独立的标签比对通路,每一个标签比对通路支持一种数据分类,每个分类的标签比对通路对请求进行各自的地址命中判定;标签比对模块中的每一标签比对通路均能够存储地址信息和存储格式信息,只支持相同数据分类的访问。
4.根据权利要求3所述的一种支持多像素格式存储的cache电路,其特征在于:所述mshr存储模块(3)由寄存器堆组成,用于存储没有命中的参数地址;并用于更新存储器模块(4)的数据时将在mshr存储模块中相同block的请求一同更新。
5.根据权利要求4所述的一种支持多像素格式存储的cache电路,其特征在于:所述存储器模块(4)用于保存参数空间中一片连续地址的数据。
6.根据权利要求1所述的一种支持多像素格式存储的cache电路,其特征在于:所述标签比对模块(2)采用全相联的地址映射方式,所述的全相联映射方式规定了参数地址空间映射到cache地址空间的方式。