如下内容包含三个主题:
1. 显示分辨率对应的Framebuffer所占用的内存大小
2. 显示分辨率占用的带宽是多少
3. 内存带宽的计算
通过比较内存带宽与现实分辨率带宽,可以预测芯片对显示分辨率的支持能力;
常见分辨率对应的内存大小:
计算方法:单个framebuffer占用内存 = H_Active * V_Active * Memroy bpp
例如:800(H_Active)* 600(V_Active)* 32 bpp / 8 = 1920KB
常见分辨率占用的内存带宽计算:
最大内存带宽占用(MBps)= (bpp)/8 * Pixel CLK
例如: 一般800*600的Pixel CLK范围是35~42Mhz, 假设其最大bpp为32。其所需的最大内存带宽:
42*32/8=168MBps
内存带宽的计算方法:
假设某款SoC的内存控制器的参数如下:
2个Channel(2个通道),每个通道支持32bit位宽,最高频率2133Mhz,支持LPDDR4/4x(现在基本都是LPDDR4,甚至LPDDR5):
=》那么该SoC的最大内存带宽 = 2*32*2133*2/1000/8 = 34.128GB/s
Bandwidth(或者Throughput)= 通道数 * 每个通道的位宽 * 频率 * 2(DDR,即双边沿采样)/ 1000 / 8
除以1000后得到的单位是Gbps;再除以8后得到的单位是GBps。通常用GBps来衡量内存带宽。