Linux驱动设计硬件基础(三)

针对许多特定场合的应用,嵌入式系统中往往还使用了一些特定类型的RAM(随机存取存储器)。

1.DPRAM:双端口RAM

DPRAM的特点是可以通过两个端口同时访问,具有两套完全独立的数据总线、地址总线和读写控制线,通常用于两个处理器之间交互数据,如图2.6所示。当一端被写入数据后,另一端可以通过轮询或中断获知,并读取其写入的数据。由于双CPU(中央处理器单元)同时访问DPRAM时的仲裁逻辑电路集成在DPRAM内部,所以需要硬件工程师设计的电路原理比较简单。


图2.6 双端口RAM

    DPRAM的优点是通信速度快、实时性强、接口简单,而且两边处理器都可主动进行数据传输。除了双端口RAM以外,目前IDT等芯片厂商还推出了多端口RAM,可以供3个以上的处理器互通数据。

2.CAM:内容寻址RAM

    CAM是以内容进行寻址的存储器,是一种特殊的存储阵列RAM,它的主要工作机制就是同时将一个输入数据项与存储在CAM中的所有数据项自动进行比较,判别该输入数据项与CAM中存储的数据项是否相匹配,并输出该数据项对应的匹配信息。

    如图2.7所示,在CAM中,输入的是所要查询的数据,输出的是数据地址和匹配标志。若匹配(即搜寻到数据),则输出数据地址。CAM用于数据检索的优势是软件无法比拟的,它可以极大地提高系统性能。


图2.7 CAM的输入与输出

3.FIFO:先进先出队列

    FIFO存储器的特点是先进先出,进出有序,FIFO多用于数据缓冲。FIFO和DPRAM类似,具有两个访问端口,但是FIFO两边的端口并不对等,某一时刻只能设置为一边作为输入,一边作为输出。

    如果FIFO的区域共有n个字节,只能通过循环n次读取同一个地址才能将该片区域读出,不能指定偏移地址。对于有n个数据的FIFO,当循环读取m次之后,下一次读时会自动读取到第m+1个数据,这是由FIFO本身的特性决定的。

    总结2.2节的内容,可得出如图2.8所示的存储器分类。



图2.8 存储器分类




猜你喜欢

转载自blog.csdn.net/xiezhi123456/article/details/80222257