一种面向低功耗蓝牙芯片片外闪存的高性能缓存设计方法技术

技术编号:37617142 阅读:19 留言:0更新日期:2023-05-18 12:08
本发明专利技术公开了一种面向低功耗蓝牙芯片片外闪存的高性能缓存设计方法,适用于低功耗低成本但对于性能有较高要求的场景。该低功耗蓝牙芯片将片外闪存内容映射进入缓存中,处理器直接从缓存中获取所需内容,大幅提高读取闪存速度;该低功耗蓝牙芯片针对片外Flash的应用场景,通过实验得出采用缓存适合容量、关联度和块大小三要素,再采用PLRU替换算法和路预测机制兼顾了缓存的高性能与低功耗需求;最后缓存采用关键词优先技术尽可能地降低平均访存延迟。该发明专利技术以低功耗、低成本为前提,以蓝牙芯片真实工作环境为验证条件,保证读取内容正确无误的同时,也实现对片外Flash的高速读取。也实现对片外Flash的高速读取。也实现对片外Flash的高速读取。

【技术实现步骤摘要】
一种面向低功耗蓝牙芯片片外闪存的高性能缓存设计方法


[0001]本专利技术涉及数字集成电路、低功耗蓝牙芯片领域,提供了一种针对蓝牙芯片片外Flash(闪存)加速器中的Cache(缓存)设计方法,选取Flash部分内容映射于片上Cache,在低功耗和低成本的前提下,实现对Flash正确读取加速。

技术介绍

[0002]在物联网不断发展的当今,万物互联的思想深入人心,也渗透入社会的各个领域。无线通信技术现今种类也较为多样,有NFC、UWB、Bluetooth、ZigBee和WiFi等等。其中,蓝牙作为一种传输带宽窄且传输距离短的无线通信技术,常见的应用于手机、手环和手表等智能设备中。物联网设备的一项重要性能指标是续航能力,低功耗蓝牙芯片的功耗是设计中需要关注的重要因素。
[0003]蓝牙芯片片外需要一种存储体,不仅会用于蓝牙协议栈和通信密钥的存储,还会被用于存放程序(程序其主要部分即为BootLoader程序)。而Flash作为一种价格与性能兼顾的非易失性存储器,既能在掉电时保留数据,又可以电擦除和电编程,因此逐渐成为嵌入式系统中非常重要的存储器。NOR Flash的存储格式和读写方式与SRAM相近,可以直接运行程序,具有较高的传输效率。
[0004]芯片采用极低功耗、极低成本嵌入式32位CPU核,性能最高可达数十MHz。片外Flash通常会存放芯片启动代码和协议栈相关内容,而它最快的读取速度才10Mb/s;鉴于两者位宽差距和蓝牙芯片不会以如此高的速率对Flash进行读取,这与CPU核速度相差数十倍,这势必会导致CPU长时间的等待,带来整体性能的损失。除此之外,若没有加速器的存在,芯片每次都会通过spi master向Flash发出读操作,通过SPI读取Flash的功耗远大于读取SRAM。故采用Flash加速器既可以达到性能的提升,也可以降低读取功耗。
[0005]低功耗蓝牙芯片大多应用于可穿戴智能设备或用于智能家居等环境,在这些场景下,设备的续航时间也是评价其价值的一个重要指标。在高性能指标的条件下,优化功耗显得尤为重要。此外,蓝牙芯片常用于价格较为敏感的设备中,故芯片多采取片外Flash;同样地,尽可能降低片内Flash控制器面积也相当重要。蓝牙芯片虽然会频繁读取Flash,尤其是芯片启动唤醒时的读取,如果一味追求对Flash读取速度的加速,不计其给芯片面积和功耗带来的增加,显然是不合理的。
[0006]本专利技术蓝牙芯片将采用平头哥公司的CK802处理器,CK802是一款极低功耗、极低成本嵌入式32位CPU核,采用两级流水线设计,性能最高可达数十MHz。而以武汉新芯公司推出的XM25QU40/20B为例,这是一款读取单bit数据最低延迟为10ns的NOR Flash。但蓝牙芯片不会以如此高的速率对其进行读取,SPI时钟频率为数MHz,这与CPU速度相差数十倍,这势必会导致CPU长时间的等待,带来整体性能的损失。
[0007]故需针对该芯片设计一个Flash加速器,将Flash部分内容预先读出存放于加速器内部Cache中,避免芯片频繁访问片外Flash,使处理器无需等待或者很少等待便可以获取所需内容。本课题考虑到蓝牙芯片主要应用于移动端,对于成本和功耗要求较高,故需要做
出针对性优化,最终实现高速且正确读取片外Flash。

技术实现思路

[0008]技术问题:针对读取速度过慢等不足,本专利技术提出一种针对蓝牙芯片片外Flash加速器的Cache设计方法,将Flash内容映射进入片上Cache中,避免芯片频繁对片外Flash的读取,使处理器可以获得大幅性能提升。
[0009]技术方案:本专利技术是一种面向低功耗蓝牙芯片片外闪存的高性能缓存设计方法,该低功耗蓝牙芯片将片外闪存内容映射进入缓存中,处理器直接从缓存中获取所需内容,大幅提高读取闪存速度;该低功耗蓝牙芯片针对片外Flash的应用场景,通过实验得出采用缓存适合容量、关联度和块大小三要素,再采用PLRU替换算法和路预测机制兼顾了缓存的高性能与低功耗需求;最后缓存采用关键词优先技术尽可能地降低平均访存延迟。
[0010]所述的缓存包括容量、关联度和块大小三要素,
[0011]根据缓存与其容量的空间比为4:1000时,所设计的缓存命中率均可达90%这个规律,针对256KB的片外闪存,将容量大小为1KB或2KB缓存作为比较对象;
[0012]根据缓存容量大小与映射2:1规律,即容量为N的直接映射缓存和容量为N/2的两路组关联缓存缺失率几乎是一样的这个规律,采取组关联设计,以达到更优异性能;缓存块大小定为8B,可兼顾代码空间局部性的特点和低功耗的要求;最后通过将缓存放入真实真实环境进行仿真比较,得出容量为2KB、四路组关联、块大小为8B的缓存。
[0013]所述的缓存,采用PLRU(Pseudo Least Recently Used)替换算法,即最近用到的数据块短期内还会被用到,但实现时利用二叉树的原理,替换的对象会被指向二叉树的另一个分支,通过翻转替换选择因子,以较小的代价实现了近似于LRU(Least Recently Used)的功能。
[0014]所述的缓存,采用缓存路预测,采用四路组关联形式的缓存,访问时需要访问四路缓存;如果微处理器在访问缓存之前就能预测需要访问的是哪一路,那么访问时就可以只访问一路存储cache的地址)和存储cache的数据;结合PLRU替换算法,向预测模块提供当前最有可能被命中的一路,路预测模块根据此信息作出选择,访问该路。
[0015]所述的缓存,采用关键词优先技术来读取缺失内容,优先加载CPU所需的数据,当加载完CPU所需的数据时,直接发给CPU,缓存开始加载其他数据。
[0016]有益效果:Data和Tag cache容量共计3KB,本文缓存较小,而存储器在加速器面积与功耗占比较高,Cache面积和功耗有相当幅度的减少。但缓存容量的下降,将对加速器性能产生较为明显的负面影响,故本Cache采用四路组关联组织形式,来弥补性能的缺失。对于四路组关联带来的替换算法,本Cache采用PLRU替换算法,以较小的功耗与面积,达到了优异的性能。此外,路预测机制虽然存在预测失败情况,这导致了缓存命中时间的增加,降低了本缓存的性能;但据仿真统计可知,本Cache路预测成功率较高,绝大多数情况可做到单周期返回,不会对缓存性能带来较大开销;同时,路预测成功可大幅降低缓存的访问功耗,体现本Cache低功耗的特色。综上,本文缓存对蓝牙芯片做出针对性优化,在合理的三大参数基础上,结合PLRU替换算法和路预测机制,实现缓存在性能、面积和功耗的全方面提升。
附图说明
[0017]图1是PLUR替换算法状态变化示意图,
[0018]图2是本专利技术加入Cache后Flash读取流程图。
具体实施方式
[0019]根据“Cache与容量的空间比为4:1000时,所设计的Cache命中率均可达90%;”这个规律,针对256KB的片外Flash,重点比较容量为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向低功耗蓝牙芯片片外闪存的高性能缓存设计方法,其特征在于,该低功耗蓝牙芯片将片外闪存内容映射进入缓存中,处理器直接从缓存中获取所需内容,大幅提高读取闪存速度;该低功耗蓝牙芯片针对片外Flash的应用场景,通过实验得出采用缓存适合容量、关联度和块大小三要素,再采用PLRU替换算法和路预测机制兼顾了缓存的高性能与低功耗需求;最后缓存采用关键词优先技术尽可能地降低平均访存延迟。2.根据权利要求1所述的一种面向低功耗蓝牙芯片片外闪存的高性能缓存设计方法,其特征在于,所述的缓存包括容量、关联度和块大小三要素,根据缓存与其容量的空间比为4:1000时,所设计的缓存命中率均可达90%这个规律,针对256KB的片外闪存,将容量大小为1KB或2KB缓存作为比较对象;根据缓存容量大小与映射2:1规律,即容量为N的直接映射缓存和容量为N/2的两路组关联缓存缺失率几乎是一样的这个规律,采取组关联设计,以达到更优异性能;缓存块大小定为8B,可兼顾代码空间局部性的特点和低功耗的要求;最后通过将缓存放入真实真实环境进行仿真比较,得出容量为2KB、四...

【专利技术属性】
技术研发人员:刘昊黄秋文
申请(专利权)人:东南大学苏州研究院
类型:发明
国别省市:

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

1