管理高速缓冲存储器的系统和方法技术方案

技术编号:12478536 阅读:62 留言:0更新日期:2015-12-10 15:02
本发明专利技术涉及管理高速缓冲存储器的系统和方法。一种系统(500)包括第一和第二处理组件(508和510)、基于限定符的分离器组件(502)、第一和第二可配置高速缓冲存储器元件(514和516)以及仲裁器组件(504)。第一数据处理组件(508)生成针对存储器(520)内的第一位置处的第一部分数据的第一请求。第二数据处理组件(510)生成针对存储器(520)内的第二位置处的第二部分数据的第二请求。基于限定符的分离器组件(502)基于限定符路由第一请求和第二请求。第一可配置高速缓冲存储器元件(514)启用或禁用预取存储器(520)的第一区域内的数据。第二可配置高速缓冲存储器元件(516)启用或禁用预取存储器(520)的第二区域内的数据。仲裁器组件(504)将第一请求和第二请求路由到存储器(520)。

【技术实现步骤摘要】
【专利说明】
技术介绍
多媒体片上系统(SoC)是将计算机或电子多媒体系统的所有组件集成到单一芯片上的集成电路。传统的多媒体SoC通常包括用于图像捕获、图像处理、视频压缩/解压缩、计算机视觉、制图法和显示处理的硬件组件。由于SoC的低功耗,所以在移动电子市场非常常见。在传统的多媒体SoC中,每个硬件组件访问和竞争共享主存储器(例如双倍数据速率(DDR)存储器)中的有限可用带宽。由于每个单独的硬件组件是计算密集且存储器带宽密集,所以满足各种多媒体的延迟和吞吐量要求对于SoC来说是困难的。这个问题将参考图1-4描述。图1示出传统的多媒体SoC 100。如在图中示出的,多媒体SoC 100包括主系统互连件102、次级互连件104、多个处理组件106、高速缓冲存储器116、主存储器118和外围设备120。多个处理组件106进一步包括主CPU 108、音频组件110、次级CPU 112和视频组件114。主系统互连件102可操作以充当多媒体SoC 100的主通信总线。主系统互连件102允许次级互连件104、主CPU 108、音频组件110、次级CPU、视频组件114、高速缓冲存储器116或主存储器118中的任何一个将数据传送或传递给连接到主系统互连件102的任何另一组件。次级互连件104可操作以经由双向线122与外围设备120通信。次级互连件104额外地可操作以经由双向线124与主系统互连件102通信。主CPU 108可操作以经由双向线126和主系统互连件102与多媒体SoC 100的所有其他组件通信。主CPU 108额外地可操作以经由双向线138与音频组件110通信。主CPU 108还进一步可操作以处理来自高速缓冲存储器116或主存储器118的数据。音频组件110可操作以经由双向线130和主系统互连件102与多媒体SoC 100的所有其他组件通信。音频组件110还进一步可操作以处理来自高速缓冲存储器116或主存储器118的音频数据。次级CPU 112可操作以经由双向线132和主系统互连件102与多媒体SoC 100的所有其他组件通信。次级CPU 112额外地可操作以经由双向线134与视频组件114通信。视频组件114可操作以经由双向线136和主系统互连件102与多媒体SoC 100的所有其他组件通信。视频组件114还进一步可操作以处理来自高速缓冲存储器116或主存储器118的视频数据。高速缓冲存储器116可操作以经由双向线138和主系统互连件102与多媒体SoC100的所有其他组件通信。高速缓冲存储器116可操作以经由双向线140与主存储器118通信。高速缓冲存储器116是系统级3 (L3)存储器,其额外地可操作以存储在主存储器118中存储的音频和视频数据部分。主存储器118可操作以经由双向线142和主系统互连件102与多媒体SoC 100的所有其他组件通信。主存储器118是随机存取存储器(RAM),其可操作以存储多媒体SoC100的所有音频和视频数据。外围设备120可操作以经由双向线122和次级互连件104与多媒体SoC 100的所有其他组件通信。外围设备120额外地可操作以接收来自用户的输入从而指示传统的SoC100处理音频或视频数据。外围设备120还进一步可操作以显示音频或视频数据。在传统的多媒体SoC中,每个处理组件通过注入唯一的业务模式从主存储器提取数据。例如,成像组件将主要地提取图像帧的栅格数据,而编解码器引擎将对提取视频帧的确定性和随机性块级执行混合。处理组件提取主存储器中的数据是缓慢的过程。由于更多的处理组件需要提取主存储器中的数据,业务模式变得更加复杂,而且满足针对给定使用情况的延迟和吞吐量要求对于SoC来说变得愈加困难。为了减小延迟并增加吞吐量,传统的多媒体SoC使用系统级(L3)高速缓冲存储来减少主存储器中的数据需要访问的次数。高速缓冲存储器是小型专用存储器类型,其比SoC主存储器中使用的RAM更小和更快。高速缓冲存储器用于存储主存储器中频繁访问的数据的副本。当传统多媒体SoC的处理组件需要访问数据时,它首先检查高速缓冲存储器。如果高速缓冲存储器包含请求的数据(高速缓冲存储器命中(cache hit)),则该数据能够快速地直接从它在高速缓冲存储器中的位置读取,从而不需要提取主存储器中的数据。如果数据不在高速缓冲存储器中(高速缓冲存储器未命中(cache miss)),那么不得不从主存储器提取数据。当高速缓冲存储器未命中发生时,一旦从主存储器提取请求的数据,该数据被放置在高速缓冲存储器中。由于高速缓冲存储器通常都非常小,为了给新数据腾出空间,需要从高速缓冲存储器移出数据。通常,最近最少使用(LRU)算法用于确定哪些数据需要从高速缓冲存储器中移出。使用LRU算法,在高速缓冲存储器中的耗费最多时间而没有被访问的数据被移出。一旦被移出,由于高速缓冲存储器未命中而已经从主存储器中提取的数据被放到它的位置。使用L3高速缓冲存储器不一定降低传统多媒体SoC的延迟和增加吞吐量。由于SoC具有很多访问高速缓冲存储器的处理组件,所以发生交叉颠簸(corss thrashing)。当太多处理组件试图同时使用SoC高速缓冲存储器时,发生交叉颠簸。如果第一处理组件检测到高速缓冲存储器未命中,使用从主存储器得到的数据重写高速缓冲存储器。当第二处理组件检查高速缓冲存储器时,发生另一个高速缓冲存储器未命中,并且高速缓冲存储器再次使用来自主存储器的新数据重写。由于高速缓冲存储器中的所有数据都已经被第二处理组件重写,所以当第一处理组件检查高速缓冲存储器时,将发生另一个高速缓冲存储器未命中。以这种方式,由于每次每个处理组件检查高速缓冲存储器时检测到高速缓冲存储器未命中,因此高速缓冲存储器不断地被重写。在操作中,考虑用户将指示外围设备120开始播放音频数据的情况。外围设备120将接着经由次级互连件104和主系统互连件102指示主CPU108需要播放音频数据。从外围设备120接收到需要播放音频数据的指令后,主CPU 108经由双向线138指示音频组件110它需要开始处理将要播放的音频数据。音频组件110通知主CPU 108它准备好开始处理音频数据,但是它一次仅能处理音频数据的一小部分。此时,主CPU 108需要定位将要由音频组件110处理的第一小部分音频数据。主CPU 108首先检查将要处理的音频数据的一小部分是否位于高速缓冲存储器116中。主CPU108发现高速缓冲存储器116不包含需要的音频数据。由于高速缓冲存储器116不包含需要的音频数据,因此主CPU 108接着定位主存储器118中的音频数据。主CPU 108定位将要处理的第一小部分音频数据以及剩下的将要播放的音频数据。主CPU 108接着将将要处理的所有音频数据写入高速缓冲存储器116。在将音频数据写入高速缓冲存储器116之后,主CPU 108将将要处理的第一小部分音频数据传输到音频组件110。音频组件110接着处理音频数据,并经由主系统互连件102和次级互连件104将处理的数据传输到外围设备120。在将处理的数据传输到外围设备120之后,音频组件110指示主CPU 108它准备好处理下一部分音频数据。主CPU 108检查下一小部分音频数据是否位于高速缓冲本文档来自技高网...

【技术保护点】
一种系统,包含:第一数据处理组件,其可操作以生成针对存储器内的第一位置处第一部分数据的第一请求;第二数据处理组件,其可操作以生成针对所述存储器内的第二位置处的第二部分数据的第二请求;基于限定符的分离器组件,其可操作以基于限定符路由所述第一请求和所述第二请求;第一可配置高速缓冲存储器元件,其可操作以执行预取所述存储器的第一区域内的数据的启用或禁用之一;第二可配置高速缓冲存储器元件,其可操作以执行预取所述存储器的第二区域内的数据的启用或禁用之一;以及仲裁器组件,其可操作以将所述第一请求路由到所述存储器并将所述第二请求路由到所述存储器。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:P·D·卡兰迪卡M·莫迪H·桑葛维V·伊斯沃兰P·Y·A·尚卡尔R·古拉蒂N·南丹S·达斯
申请(专利权)人:德克萨斯仪器股份有限公司
类型:发明
国别省市:美国;US

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

1