cache | cache是用来缓解内存速度和CPU速度的快慢冲突的 |
buffer | buffer是一个比较宽泛的定义,各类缓冲都可以叫做buffer。硬件buffer不仅存在于CPU中,在很多其它IC如存储器件、接口器件、音视频编解码器等广泛存在。 |
FIFO | FIFO广泛存在于各种软硬件系统之中,例如微控制器/微处理器的接口模块就大量地应用了硬件FIFO。FIFO是一种确保不同类型数据保持同步的信息缓冲形式。 |
buffer FIFO | FIFO的数据是先进先出的,而buffer没有这个限制,可以全局访问 buffer往往就是一段累积的存储空间,而fifo有时候还可以帮助系统解决时钟域不同步或者数据宽度不一样的情况 |
Cache | Buffer | |
含义 | 备份 | 缓冲 |
代替低速存储器,与高速访问交互数据 | 连接两个逻辑相邻的操作 | |
丢了也可以找到source of truth | 本身就是source of truth,丢了就没了 | |
作用 | 提高高速端的访问效率,不被低速端拖慢 | 流量整形,耦合节奏不同的前后操作,准流水化 |
加速,降低延迟 | 配速,提高吞吐率 | |
访问方式 | 随机访问 | 顺序访问 |
比喻 | 比如说出国旅游,一个箱子一个腰包,在机场,腰包里装的是机票,护照,人民币。到了酒店,出去玩,腰包里放的是地图,门票,外币。护照人民币在哪里?在酒店的保险柜里。把当前最常用的东西,放在最容易拿的地方,这就是cache。 | 旅游回来,下了飞机坐火车,下了火车上小巴。交了钱,车却不走,司机打开门,对着外面喊,“再上两个,凑够十个就开车!”这就是buffer。 |
这家公司每月在上海总能销售大约一百台产自北京的某品牌电视机,于是他们每月初直接提前在上海中转站备货一百台,这样每次订单下来可以直接从上海发货,节省了时间,这叫Cache。 | 一家电商公司,他有若干批各种货物要从北京运到上海,于是把这些货装到同一辆卡车上运到上海,这个卡车就是Buffer。 |
AXI Interface Buffer | ||||
AW | W | B | AR | R |
Addr | Data | Resp(产生报错) | Addr | Data |
Len | Last | Len | Last | |
ID(固定0) | ID(系数、图像) | ID(系数、图像) | ||
QoS(动态) | QoS(寄存器配置) |