杂谈:硬件和软件接口选择

本文探讨了软件和硬件之间的通信机制,主要关注寄存器和SRAM在存储和访问效率上的差异。寄存器虽然访问简单但空间有限,而SRAM则适用于大量数据的存储,但需要寻址且可能涉及共享控制问题。通过一个具体的例子,说明了在某些情况下,尽管SRAM占用空间较少,但由于数据访问模式和存储需求,使用寄存器反而更为合适。
摘要由CSDN通过智能技术生成

划分了软件以及硬件的合作分工,那它们之间怎么通信呢?我们常想到的是寄存器,是分组排列的,硬件内部可直接访问的一些存储单元。不过寄存器存储起来比较费空间,一般而言4K byte的空间已经是非常多了。因为超过1Kbit时就应该用RAM替换寄存器以节省空间。

 

不过寄存器的访问比起SRAM的访问还是更简单的。寄存器对HW来讲是不用寻址的,只是对于SW来说需要寻址。

但如果使用SRAM替换,那么SW以及HW都需要进行寻址才能访问。

HW寻址SRAM需要预先知道存储的位置(寻址),然后取数,其不适合并行的数据读取,一般用作批量数据的存储和读取之用。并且SRAM还涉及到对端口的共享控制问题,因此不适合需要有多种访问实体的数据存储。

但对大批量的数据,访问实体单一的情况,SRAM是比较适合的。

如以下这张表,800 BITS的空间占用,但是却不是使用Registers,而是使用SRAM。

可以看到,表中的内容并非批量的数据,其读取方式是先取部分的内容,即ADDR,ID,INDEX等。

然后按照需要去读取CIPHER(PROTECTED FRAME),BA(ACK  POLICY), DATAPENDING BUF(MORE DATA),以上构成了FRAME CONTROL的内容。

另外还有TXVECTOR(PHY SETTING)的部分。

以及一些QOS CONTROL的内容,如RTS THRESHOLD。

除此之外,此表以STA INDEX作为一个KEY的作用,链接到另外的表,如TX AMSDU LUT以及TX AMPDU LUT。

显然,无论从节省存储空间,以及便利数据读取的角度,这都不适合以LUT(SRAM)的形式存储,而是更适合Register的方式来存储。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

relis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值