一、单位换算
1 Byte = 8 Bits(即 1B=8b)
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB
二、基本概念
Bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范畴。
Byte意为“字节”,是计算机文件大小的基本计算单位。
这两者应用的场合不同。通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。
在应用层通常是用byte来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1byte,如果是汉字,则是2byte。
三、实际应用
字节是内存的基本单位,也是编址单位,例如,某计算机的内存是4GB,指的就是该计算机的内存中共有4×1024×1024×1024个字节。
四、SRAM的基本信号
we: write enable
re: read enable
be: byte enable
di: data in
dout:data out
五、SRAM的深度计算
假设SRAM的容量为512KB,则总容量为512x1024byte。
SRAM每一层为64bit数据,即可以放8个byte数据,地址为0~7。
所以SRAM的深度H=512x1024byte/8byte=65536='h10000。
因此addr范围为0~ffff,[15:0]共16bit。
实际存储数据时,需要对addr的低3bit截位,变为[15:3]。
这样结合BE可以确保实际取的数据是正确的。
原地址 截位后地址 对应SRAM BE[7:0]
0(0000) 0 H=0 确定H后决定取哪个数据,对应原地址。
8(1000) 1 H=1
16(10000) 2 H=2
因此可以推算出SRAM的深度H与地址位宽的关系
SRAM/KB H_SRAM ADDR_WIDTH
512 65536 16
256 32768 15
128 16384 14
64 8192 13