对存储带宽的要求使手机设计面临两难抉择
Mailbox表示存储器的空间,一次指派给端口A,一次指派给端口B。从A到B重新指派Mailbox可以拷贝大量的数据,而实际上并不移动数据,类似于"C语言"中传递指向数据结构的指针而非传递数据结构本身。这样一来,每个端口都有一个已知的私有存储范围Ma(prime)/Mailbox或Mb(prime)/Mailbox以及一个共享的Mailbox。当通过在Mailbox中存放数据执行后台复制,然后重新将Mailbox指派给执行后台复制的该端口时,这就可以以简单的方法保持数据的一致性。
信令问题
在最简单的情形下,连接到主机的静态和动态存储器均为SDR器件,并共享一条存储总线。这时可以采用一个简单的方法来实现DDR模式下共享总线的操作。时钟上升沿可用于所有DRAM操作,下降沿则可用于所有SRAM操作。在本质上,主机控制器在一个DDR流中多路复用了两个SDR数据流,故而可以为SRAM和DRAM提供两个独立的通道。
如果主机的SRAM和DRAM控制器在上升沿进行操作,则这种方案中对于一个通道的延迟为零,而对于另外一个通道的延迟为半个时钟周期。通过重新分区时序,这种延迟就可以消除。
另一方面,采用DDR存储器时,上述简单的映射方案不适用。不过有一种简单的扩展方法也可用于支持DDR器件。
SDR方法定义了一种共享总线上的时隙方案(timeslot),这种时隙就是半个时钟周期中两个捕获的时钟边沿间的时间。时隙在SRAM和DRAM间是均匀分配的。为满足DDR器件的带宽需求,总线必须采用fbus时钟,BWstatic是SRAM所需的带宽,BWdyn是DRAM所需的带宽,width则表示连接存储器与主机系统的总线数据引脚的数量:
Fbus=1/2×((BWstatic+BWdyn)/Width)
对于任意时间周期,DDR方案都比SDR能提供更多的时钟沿和更多的时隙,因此,带宽和延迟需求都可以在比SDR方法更精细的区间内进行调节。
建立存储器系统总线只能辅助性地提高DRAM通道的延迟性能(每个方向不超过一个时钟)。
考虑到手机的每32字节缓存列(Cache line)需要16个节拍,而PC机每32字节缓存列仅需要4个节拍,一个周期附加的延迟造成每节拍1/8周期的负荷,性能降低不超过12.5%,这很容易通过超频总线进行补偿。如果在存储器通道中允许采用集成的非授权mux结构,就不会有附加延迟出现。
这种存储器系统应该是很容易被接受的,因为它允许采用现有的存储器系统。同时实现主机接口和规范的DRAM/SRAM控制器是可能的。主机CPU的DRAM控制器能够与新的存储器主机接口共享DRAM焊盘(通过配置寄存器或键合方式)。如果SRAM控制器的焊盘以键合方式实现,则同样的CPU裸片就能配置为支持传统或新型存储器系统的器件。
总之,不同的存储器系统均可用于相同的主机平台,并可以根据性能和成本扩展多种系统。
重新分区的方法最大限度减轻了外部总线的负荷,并为主机和存储器系统之间提供了一条统一总线,从而将外部存储器带宽提高到10Gbps,并减少了60%的引脚数量,进而降低了每个CPU的成本。此外,这种方式还为存储器系统提供了一个独立的物理层,可以把现有存储器总线透明地移植到未来的架构中。
作者:Stephan Rosner
系统架构部高级经理
Jeremy Mah、Qamrul Hasan、Roger Isaac
资深技术人员
Spansion公司
- DSP片外高速海置SDRAM存储系统设计(10-02)
- 选择低成本FPGA硬件和IP方案加速高清平板电视设计(03-23)
- 汽车中的软件无线电(07-07)
- AVS编码与DSP实现的视频编码器(08-02)
- 基于ARM的嵌入式最小系统研究(03-27)
- 全面解读 嵌入式DSP上的视频编解码(08-19)