4 月 14 日
知乎搜索链表,基本上跳出来的全是 C 或者 C++中软件行为方式的链
表描述。链表在动态缓存管理中是应用得非常广泛的,其让多个队列共
享一片资源大的缓存,能够避免队列流量不均导致的缓存的膨胀。最简
单的 fo 结构的缓存,基于每个队列用 fo 缓存,那么最大的量就是
队列的个数乘以最大突发量队列的 fo 的缓存大小。若用链表结构的
共享缓存则可以减小总的缓存空间,极大的降低面积,节约成本。先来
说说链表由哪些部分组成:1、bitmap 式空闲地址管理模块(提供申
请地址和回收地址功能);2、头尾指针更新管理模块。缓存部分则根
据需求设计:一般共享缓存的资源大,可以采用 2 片 SP 替换一片 TP
的 mem,pingpong 操作,能够节省面积。
*********************分割线*******************************
C 中的链表如下图所示:
实际硬件实现的链表元素如下:vld:指示链表中有无数据。
hp(head pointer):链表头指针【实际使用 REG 来存储】
tp(tail pointer):链表尾指针【实际使用 REG 来存储】
评论0