当前位置:技术文章首页 >> 单片机技术 >> 基于当代DRAM结构的存储器控制器设计

基于当代DRAM结构的存储器控制器设计

2008-07-20 00:45:18  作者:不详  来源:互联网  浏览次数:341  文字大小:【】【】【
摘要:存储器带宽以及延迟与3D架构(体、行、列)特点的DRAM芯片的存取方式紧密相关。连续访问一行的不同列与连续访问一体的不同行其带宽存在数量级的差异。本文介绍一种存储器控制器设计,一项依靠重排序存储器存取访问的顺序来挖掘3D存储器架构局部性的技术。
关键字:3D架构  存储器控制器  局部性

存储器存取调度是排序DRAM操作(体预充电,行激活,列存取)完成当前挂起的存储器存取的过程。操作表示一个命令(如行激活、列存取),被存储器控制器发射到DRAM。访问表示由处理器产生的存储器访问(如读访问或者写访问)。一个访问产生一个或者多个存储器操作。

图1.存储器控制器结构

图1显示采用存取调度算法的控制器结构。每个体有预充电管理器,行仲裁器。预充电管理器决定什么时候对与他相关的体预充电。每个体的行仲裁器决定哪一行被激活。列仲裁器被所有体共享,授权共享的数据线资源给来自所有挂起的访问的列存取。最后,预充电管理器、行仲裁器、列仲裁器发射选择的操作给单一的地址仲裁器,地址仲裁器授予共享地址资源给一个或者多个操作。

预充电管理器,行仲裁器,列仲裁器可以使用多个不同的策略选择DRAM操作。由于地址线资源的是共享的,地址仲裁器策略决定哪个预充电、激活、列操作被执行。跟其他调度策略一样,按序或者优先权策略可用来作为地址仲裁器策略。列优先调度策略可以减少到激活行的访问延迟,然而预充电优先或者行优先调度策略会增加体并行性。

下面介绍几种预充电管理器,行仲裁器,列仲裁器可能使用的调度策略:

In order:DRAM操作只会执行最早请求挂起的访问;

Ordered:越老的访问优先级越高;

Open:只有在其他行有挂起的访问而激活行没有挂起的访问才进行体预充电。当有显著的行局部性使得后来的访问命中前面访问的行,Open策略应该采用;

Closed:只要激活行没有挂起的访问体就预充电。后来的访问不太会命中前面访问的行,closed策略应该采用。

4、控制器性能表现

传输带宽而不是访问延迟驱动流处理器性能。因此流媒体处理系统是首要的需要存储器存取调度。为了评价存储器存取调度对于媒体处理器的性能影响,通过模拟运行典型的基准程序。

4.1模拟环境及基准

Imagine流存储系统包括2个地址产生器,4个交叉存储体控制器,2个记录缓冲按正确顺序放置流数据在SRF。所有这些单元在同一芯片Imagine处理器核中。地址产生器支持3种地址模式:常量跨步,间接寻址,位翻转。地址产生器可以产生任何长度的存储器访问流,只要数据适合SRF。对于跨步访问,地址产生器利用基址、跨步、长度,连续的地址依照基地址增加跨步常量。对于间接寻址,基地址加上来自SRF的变址计算地址。实验运行在一组微基准上,如表1。

名字

描述

Unit Load

跨步读流存取时是到DRAM不同内部体的不同行的并行流

Unit

跨步读和写访问流存取是到DRAM不同内部体的不同行的并行流

Unit Conflict

跨步读和写访问流存取是到同一DRAM体不同行的并行流

Constrained Random

64KB范围内的随机读访问和写访问流

Random

整个地址空间的随机读访问和写访问存取流

表1. 基准

4.2性能表现分析

存储器控制器以执行没有重排序作为性能比较的基础。即控制器使用按序策略:列存取只执行最早挂起的访问。如图2黑色的条状代表按序策略性能。unit load取得DRAM峰值带宽(2GB/s)的97%,3%的开销是有时预充电/激活延迟;unit load到unit持续带宽14%的下降是因为读和写交叉,读访问和写访问转换需要1周期的数据引脚高阻态;unit conflict由于体内行来回交换使得带宽下降到峰值得51%;random只有unit load 的15%带宽,因为存取一个字需要7 DRAM周期。

4.3.1  简单调度

简单的First-ready存取调度策略平均提高25%性能。First-ready调度采用ordered优先,如表1,来决定所有的调度。First-ready调度者考虑所有的挂起访问并且为不违反时序和资源限制的最早挂起的访问调度1个DRAM操作。这个调度算法最明显的好处就是当等待为了最早挂起访问的预充电或者激活操作时,可以同时对其他体进行存取,DRAM内部多体并行。

图2. 按序和first-ready存取调度下的存储器带宽

图2,first-ready调度算法比按序在微基准最多增加性能79%。unit load提高较小;Random提高125%,因为他们能够显著提高每次行激活列存取的数量。

4.3.2  复杂调度

更加具有挑战性的调度算法能够进一步提高性能,这部分将研究4种调度算法进一步提高存储器带宽。如图3,包含random的基准偏向关预充电策略,这种策略只要激活行没有挂起访问就进行体预充电。对于大部分其他基准,开和关预充电策略相差甚微。除了Unit load用col/closed算法表现差,其他基准都有较大性能提高。

图3.各种存取调度算法情况下的存储器带宽

5、结论

本文创新点:存储器存取调度大大地增加了DRAM存取带宽的利用,缓冲存储器访问命令,按照某个顺序选择执行,既有体间并行又最大化利用每个行命令的列存取数量,使得系统性能提高。在大部分基准下,关闭页调度策略是有利的。这部分地因为DRAM有合并最后列存取请求的体预充电的能力。调度算法是否行优先或者列优先在性能上差异较小。最后,调度读优先于写可提高性能。存储器存取调度是最大利用日益宝贵的存储器带宽资源的重要技术。

参考书目:

[1] HONG, SUNG I., ET AL., Access Order and Effective Bandwidth for Streams on a Direct Rambus Memory. In Proceedings of the Fifth International Symposium on High Performance Computer Architecture (January 1999), pp. 80-89.

[2] RIXNER, SCOTT, ET AL., A Bandwidth-Efficient Architecture for Media Processing. In Proceedings of the International Symposium on Microarchitecture (December 1998), pp. 3-13.

[3] SAULSBURY, ASHLEY, PONG, FONG, AND NOWATZYK, ANDREAS,Missing the Memory Wall: The Case for Processor/Memory Integration. In Proceedings of the International Symposium on Computer Architecture (May 1996), pp. 90-101.

[4] 王连国,陈小敏,张健。PowerPC60x 总线的存储器控制器的设计与实现,微计算机信息2006,10:79-81

责任编辑:


相关文章
 

最新文章

更多

· 驱动器自动加锁保护数字...
· 视频解码器验证板的DDR ...
· 片上SDRAM控制器的设计与...
· 一种在片上系统中实现Na...
· 关于铁电存储器(FRAM)的...
· 基于NOR FLASH存储器的嵌...
· FAT文件系统在NAND Flas...
· 内容可寻址存储器MCM69C...
· 基于FPGA的串行Flash扩展...
· I2C串行EEPROM应用系统的...

推荐文章

更多

· 驱动器自动加锁保护数字...
· 视频解码器验证板的DDR ...
· 片上SDRAM控制器的设计与...
· 一种在片上系统中实现Na...
· 关于铁电存储器(FRAM)的...
· 基于NOR FLASH存储器的嵌...
· FAT文件系统在NAND Flas...
· 内容可寻址存储器MCM69C...
· 基于FPGA的串行Flash扩展...
· I2C串行EEPROM应用系统的...

热点文章

更多

01-01·[接口与通讯] 红外遥控系统原理及单片机软... (3804)
01-01·[单片机技术] 温度传感器PT100的应用 (2424)
09-17·[可编程逻辑] 基于VHDL语言的智能密码锁设计 (1984)
09-08·[可编程逻辑] 基于FPGA的QPSK调制解调电路... (1973)
09-08·[单片机技术] AT89S52的中文简介及资料下载 (1909)
11-24·[电子基础] 与初学者谈电子制作(电子入门) (1789)
09-09·[电源技术] 基于DSP的三相SPWM波发生软件... (1789)
10-24·[传感与控制] MODBUS RTU通讯协议在S7-200... (1612)
12-01·[单片机技术] 基于ARM智能家居控制器设计与... (1612)
11-24·[单片机技术] 常用LED数码管驱动电路2(单 ... (1601)
09-08·[电源技术] 能延长电池寿命的单节电池升... (1537)
09-11·[仪器与仪表] 应用ADuC847芯片设计压力及温... (1520)