APP下载

一种高效动态存储方法

2021-09-08余金清章伟王帆

中国新通信 2021年14期

余金清 章伟 王帆

【摘要】    在无线通信领域,处理器需要处理的数据量非常大,这给数据处理及相应的存储带来了很高的要求,特别是在基带领域,数据量能达到几十Gbps甚至更高,对存储提岀了更髙的要求。本文描述一种新型数据存储方式,能够有效缓解片外数据存储带宽需求,同时进一步提升数据传输效率并降低设备功耗。

【关键词】    动态存储    L3 Cache    共享缓存

一、问题提出

随着无线通信技术的发展,数据传输及处理的量越来越大。特别是在无线基带领域,在接收端,接收机(或基站)接收的无线信号,经过处理后,变成软比特数据,译码器( Turbo、LDPC)需要软比特数据译码成硬比特数据;这个数据量达到几十Gbps甚至上百Gbps,这给数据存储带来了很高的要求。特别是在数据译码错误情况下,需要进行HARQ重传然后再进行译码。在重传数据完成前,需要对之前译码错误的数据先存起来,然后和新接收的重传数据合并后再进行译码,译码完成后,再将硬比特数据回写到存储器中。如果译码不成功,需要再次重传,然后将新的译码错误数据和重传数据合并再译码。

如图1所示,考虑设计性能最大化,我们需要提供大量片外存储空间及带宽来满足一些极端场景,这就对硬件设计、成本、功耗提出了更高的要求。

二、解决思路

片内共享存储區( Share store:SST,以下简称SST),主要完成 modem数据的存储以及 PHY CPU与 PS CPU交互数据存储;其操作场景如下图2所示。

SST实现的是类L3 Cache功能,可以通过软件配置为 cache模式、RAM模式或者 cache和RAM同时支持的模式。在配置为 cache模式时, SST Cache实现与DDR内存空间的映射,modem硬件或者CPU软件通过AXI总线直接访问DDR内存空间,如果 cache hit,则 SST Cache完成DDR内存空间映射;否则cache miss,modem硬件或者CPU软件直接访问DDR若SST配置为RAM模式, modem硬件可以通过直连线接口或者AⅪ总线接口,软件通过AXI总线接口访问 SST RAM;RAM的地址空间由软件分配, modem硬件或者软件下发的地址为软件配置的RAM空间时,则操作到 SST RAM中,否则操作指令 bypass到DDR中实践情况。

三、实践情况

3.1实践框架

SST主要包括SST接口仲裁控制、 Cache控制管理以及存储管理等功能,系统划分如图3所示。

下面分别介绍各个模块和功能:

1. SST接口仲裁控制

将AXI总线送过来的操作进行接口适配处理,将AXI总线接口转换成内部自定义读写请求接口,然后在送给仲裁处理模块。通过AⅪ总线过来的操作模块包括PHY、CPU、 PS CPU、DMA、EDCP以及 modem硬件等。

仲裁处理,选择优先级较高的一个请求优先进行处理,优先级高低由软件配置下发,支持通过 AXI ID和地址空间两种优先级定义。

完成AⅪ端口仲裁处理后,完成不同子系统从AXI总线过来的读写处理操作的cache以及RAM操作模式判断;cache和RAM操作模式通过访问地址来判断,并给出每个地址空间的属性。

2. Cache控制管理 SST cache

SST cache完成 cache访问操作,该操作不支持写操作的 cache miss时,将现有 cache空间内的数据踢到DDR,并替换当前数据操作;支持读操作的 cache miss时,将从DDR中读出数据返回给源端请求的同时,将现有 cache优先级底的数据踢到DDR中。

如果判断该笔访问是需要 bypass到DDR,则直接将访问通过AXI总线发给DDR。

3. RAM存储管理 SST store

完成AXI总线过来的 cache、RAM访问的到对应RAM颗粒的读写选通操作。

完成自定义总线过来的RAM访问到对应RAM颗粒的读写选通操作。

3.2实践思路

1. Cache组相连映射关系

Cache与物理地址的映射关系,采用组相连的映射关系。

其中,W定义 Cache Line大小;U为 Cache的组号(Set);Ⅴ确定了 Cache有多少Way。

Cache的映射,就是S与Ⅴ之间的映射。

映射过程是,使用U查TAG表,得到多个Way的数据,每个Way内有S的值。

使用DDR地址的S数据,与TAG表内的多个way的S值比较,如果有相等的,就是命中,得到这个Way的I,作为V的值,组成 Cache的地址。

如果不命中,就涉及分配策略等。

2. 16Way的情况

SST的 Cache特性:

1) Cache为16Way,则V为4bit;

2) Cache Line为64Byte,W为6bit;

3)Cache Size为256 Kbyte,则U+V+W=18Bit,则U为8bit;

4)DDR物理地址空间为30bit,则S+U+W=30,S为16bit。

Cache的命中表,深度为256(使用U8bit为地址),宽度为16*16=256bit。命中检测使用U作为索引,一次读出256bit的数据,同时分析16个Way看是否包含有S的数值,如果有,则表示相同S的Way存贮该地址的数据。

四、效果评价

如图4所示,通过设置不同的流量模型,并对比在不同的line大小以及way数量后进行行为级仿真建模可知,SST功能能够有效减少数据对DDR的访问,从而减少处理器功耗提升能效比性能。