设备系统
技术领域
本发明涉及一种地址空间、总线系统、存储器控制器以及包括地址空间、总线系统以及存储器控制器的设备系统。
背景技术
在大型片上系统(SoC)中的存储容量需求已经导致使用基于DRAM的、具有高集成度的存储设备。所述设备通常包含动态单元阵列,其依照独立的行和列地址来访问。因此,访问存储器中的单个词需要多个存储器命令,以便被发布:行地址(行激活)、列地址(读取或者写)以及预充电(以便更新所访问的阵列中的行)。为了使确定的存储带宽最大化,提供了子帧访问方式来得到存储器总线的高利用率。当借助于列地址发布了读或者写命令时,数据子帧被传送到存储设备、或者从该处传送过来。在行激活以及预充电期间,在存储器阵列中没有数据可以访问。因此,将称为多存储体的动态单元的多个阵列集成,并且独立地访问它们。在其中一个存储体中的激活和预充电期间,另一个存储体可以被访问,由此隐藏无法访问激活或者预充电的存储体的时间。
这些有效最佳方式的结果在于:数据只得以数据子帧的粒度来访问。这些数据子帧在存储器中连续地被定位。因此,可以将数据子帧认为是存储器中不相交的数据块,该数据块只得作为实体被访问。子帧的长度确定访问的粒度,并且是可编程的。通常,这些在构造时实现。
在GB 2 287 808中公开了一种DRAM访问方法,该方法准备启动线,用于启动并且禁止从DRAM中读取并向其中写入多个字,其中所述字小于预定的固定子帧长度。然而,这种方法可能造成特性损失并且需要可避免的工作来实现。象DRR2 SDRAM的新一代DRAM不再提供所描述的特征,即不再中断子帧。因此,在GB 2 287 808中描述的方法往往还不与新一代DRAM兼容。
为了满足片上系统中的高带宽需求,存储器总线变得更宽。这一趋势的结果在于:提高了可以被访问的数据实体的粒度。
SoC技术中的目前趋势集中在将DRAM嵌入系统芯片上。在Schu M.及其他人的论文中略述了这种系统的示例实现方式,例如在1999年8月发表于lEEE-Transactions-on-Consumer-Electronics(USA)、题目为“System on silicon-IC for motion compensated scan rateconversion picture-in-picture processing,split screenapplications and display processing”的第45卷、第3号、第842-50页中描述了,还于2001年6月19-21日于Los Angeles,Ca,USA的Digest of Technical Papers of the International Conference onConsumer Electronics上发表的题为“System-on-Silicon Solutionfor high Quality Consumer Video Processing-The NextGeneration”中描述了。需要脱离芯片存储器的目前大多数的片上系统(SoC)使用基于SDRAM的存储设备,诸如单数据速率(single-data-rate,SDR)SDRAM、双日期速率(double-date-rate,DDR)SDRAM或者直接的RAMBUS(RDRAM)。这种系统使用一个存储器控制器,和与对于通用地址总线相连的地址空间的所有SDRAM存储设备都通用的地址总线。
由于访问子帧的对准栅的粒度提高,因此,所有此类设备系统因访问小颗粒数据块的难题而受困扰,因提高数据子帧大小而显著地增加了传输开销。如果所请求的数据块穿过子帧的对准栅,那么这样是尤其不利的。
一些系统设计试图使用几个独立的数据总线以及地址空间的每个存储设备的独立的存储器控制器来减少数据子帧大小的粒度和对准栅。在由B.Khailany及其他人在2001年3-4月于IEEE Micro发表的题为“Imagine:Media Processing with Streams”、第35-46页中公开了这种系统。然而这种系统的每个存储器控制器只得访问该地址空间的其自身存储设备,即,仅仅是完整的地址空间的一部分。一台这种控制器不能够访问完整的地址空间。因此,需要多个控制器,由此造成了成本、设计以及底层结构的不利。
发明内容
这就是本发明的由来,本发明的目的之一在于:具体说明一种能够降低传输开销、由此改善请求数据的可用带宽并且能够更加有效的使用总线系统的设备系统、地址空间、总线系统以及存储器控制器。
依照本发明,其提出了如本发明第一方面所述的一种设备系统,包括:存储器控制器,该存储器控制器由地址总线的地址线可操作地连接至地址空间,所述地址空间具有一个以上并行布置的存储设备集,其中所述地址总线用于访问完整地址空间,其特征在于:所述一个以上的存储设备集包括至少一个基于DRAM的设备形式的存储设备,允许子帧模式访问,其中所述控制器为地址空间的一个以上存储设备集提供至少一条单个公用地址线,并且适合于访问至少一个存储设备集,不同于访问另一个存储设备集,所述控制器向存储设备集提供至少一条地址线,地址线被应用于存储设备集,不同于另一地址线被应用于另一个存储设备集。
此外,本发明致力于提供一种如本发明第二方面所述的设备系统,其特征在于,所述地址空间具有一个以上存储设备集,其中存储设备集包括至少一个地址线连接器,适用于将存储设备集与存储器控制器连接,不同于与另一个存储设备集和另一个存储器控制器的连接,。
另外,本发明致力于提供一种如本发明第三方面的设备系统,其特征在于,所述地址总线包括地址线,适用于与另一个存储设备集和存储器控制器的连接不同地,将从地址空间的一个以上存储设备集中选出的存储设备集与存储器控制器相连接。
此外,本发明还致力于提供一种如本发明第四方面的设备系统,其特征在于,所述存储器控制器用于访问具有一个以上存储设备集的完整地址空间,其中所述存储器控制器包括至少一个地址线连接器,其适用于与通过另一个地址线连接器连接另一个存储设备集不同地,通过地址线连接器连接存储设备集。
就本发明而言,术语不同的在某种意义上涉及至少一条所提及的线路、特别是地址线具有与其他线路相比不同的值或者性质。例如,不同采用的地址线的值可以是0,而另一条地址线的值是1。此外,分别采用的地址线的性质、例如电压或者带宽或者其他特性,不同于另一条地址线。由此,能够使不同的存储设备集具有不同的地址。举例来说,对于每个存储设备集来说列地址可以不同。至少一条地址线不必具有与其他线路不同的值或者性质,而是只要能够具有是不同值的可能性就行。例如,不是始终而是偶尔,至少在访问所述地址空间的存储设备集的时候,至少一条地址线具有与其他线路不同的值或者性质,即,控制器向存储设备集提供地址线,应用于存储设备集的地址线不同于应用于另一个存储设备集的另一条地址线。有益的是,如果独立地、特别是单独地将地址线应用于存储设备集,那么这当然是能够实现的。在这种意义上讲,为存储设备集分别采用的线路专门用于该存储设备集。
优选的是,存储设备集包括一个单个存储设备,但是还可以包括两个或更多存储设备。具体来讲,术语存储设备集指的是一组存储设备,其中该集合所有存储设备都依照相同的方式加以控制,并且特别是具有一条或多条共有地址线。
就本发明而言、在某种意义上讲,术语地址空间涉及分配给多个所有的存储设备集和存储设备的地址空间。此外,术语地址空间必须被仔细的与计算机的总体存储空间相区别。地址空间不包括计算机的HDD存储空间。
存储器的两个结构可以充当地址空间的示例。地址空间的每个结构具有64位的总体存储器数据总线宽度。在第一结构中,所述地址空间包括4个存储设备集,每个均具有单个存储设备,每个存储设备具有16位数据总线。在第二结构中,所述地址空间包括8个存储设备集,每个均具有单个存储设备,每个存储设备具有8位数据总线。存储设备自身可以具有例如16兆位或者32兆位的容量。如果采用第一和第二结构的存储设备具有相同的存储容量,那么第二结构具有两倍于第一结构大的地址空间。这是因为同第一结构相比,它在第二结构中具有两倍的设备。因此,第二结构的所述地址总线比第一结构地址总线的宽度超出一位。
这是因为地址空间的容量被定义为地址空间的不同地址值的量。例如,10条地址线应用于210=1024字地址空间,其是地址的总数。将字定义为特定存储器配置程序的数据总线上的一个单值。例如,32位数据总线适于传输32位宽的字。因此,存储器系统的地址空间始终是多个字,即,对于上述例子来讲是多个32位。
存储设备的数目和完整地址空间的集合还可以依赖每个存储设备的数据总线宽度来改变。例如,为了提供64位数据总线,可以采用2个32位数据总线的存储设备,或者采用4个16位数据总线的存储设备、8个8位数据总线的设备或者16个4位数据总线的设备。依赖于专用应用程序,还可以选择任何其他数目的存储设备的数据总线宽度。
总线系统可以提供数据总线和地址总线,它们均包括多条线路。就地址总线而言将线路称为地址线,而就数据总线而言将线路称为数据线。总线意味着包括一条或多条线路。线路可以在控制器和单个存储设备集之间作为单线被连接,并且还可以分离,以便将控制器宽度的单个设备集的多个设备与单线相连。依照此假设,总线可以包括共享线路和/或分别采用的线路,如上所述。共享线路是用于同时连接多个设备集合的手段。共享地址线向连接的设备集提供相同的信息。经由共享线路向连接的存储设备集提供不同的信息是不可能的。具体来讲,如上所述分别采用的地址线适合于依照不同于地址空间的另一个设备集的方式来编址地址空间的特定设备集。不同的采用的地址线可以在控制器和单个存储设备集之间作为单线被连接,并且还可以分离,以便连接所提及的特定设备集的多个设备。特定设备集的这几个设备以同一个通用方式被编址。
本发明是出于希望提供一种方法来精准对准栅,尽管数据子帧中的字节量保持相等。本发明的要旨源于以下理解:不同的采用的线路数量确定数据实体的粒度以及并行数据实体的数量。因此,本发明提出了一种能够向多个存储设备提供不同编址的设备系统、地址空间、总线系统以及存储器控制器。由此,一部分地址线仍然可以是诸如存储体地址线的所有存储设备的共享线路。将其他部分的地址线、至少是一条地址线被不同地、有益地独立地或者单独地应用于一个或多个存储设备的存储设备集。优选的是,提供多条地址线,每条地址线不同地应用于相应的一个存储设备集,即分别采用的地址线是专用的。具体来讲,提供这样一种设备系统,该系统具有以下特征:将一个存储器控制器以及用于多个并行存储器设备的地址总线的独立的地址线、而不是或者额外的一条或多条共享地址线。由此,对准栅被精准,虽然每子帧的字节量保持相等。由于对准栅的精准,可以显著地减少传输开销量。
此外,在从属权利要求中描述了本发明的进一步开发的结构。
在优选的结构中,将一个单个存储器控制器可操作地与完整地址空间相连。所述完整地址空间包括多个存储设备集。
所述设备系统可以包括离芯(off-chip)的存储器。此外,对于具有片上存储器的系统来说,所提出的设备具有特殊的优越性,这是因为因嵌入式的DRAM而减少了额外费用。
在优选的结构中,所述设备系统包括片上处理器。如果存储器是片上型的,那么基于DRAM的存储器是有益的。这种结构可以利用低成本来建立。基于DRAM的存储器只可以提供信号,因而不需要时钟。如果所述存储器是离芯的,那么基于SDRAM的存储器是优选的。在该情况下,由于同步的原因,选通DRAM的触发器、即SDRAM是优选的。此外,相对于附图描述了其他优点。
此外,一条或多条地址线对所有存储设备通用是有益的,例如,提供存储体地址线。同样,单条地址线也适合于这种用途。对于存储设备来说,优选的是,控制器向一个存储设备提供至少一条数据线,所述至少一条数据线被独立地、特别是单独地提供。
优选的是,将所提出的设备系统、地址空间、总线系统或者存储器控制器用于所有片上系统,其中所述片上系统要求使用离芯的或者嵌入的基于DRAM的存储器。这些可以是任意的介质处理IC、DSP、CPU等。
现在将参照附图描述本发明优选实施例。这意味着将结合优选实施例的详细说明并且与现有技术对照以示出例子来阐明本发明的构思。
虽然将以下内容作为本发明的优选实施例进行示出和描述,但是应该理解的是,在不脱离本发明精神的情况下,可以在形式上和细节上做出各种修改和变化。因此,本发明不局限于在此示出和描述的精确形式或者细节,也不意味着局限于比在此公开的本发明整个范围小的东西,如此后权利要求所要求的范围。此外,在公开本发明的说明书和附图以及权利要求书中描述的特征对于本发明是必不可少的,可以采用其中一个或者其组合。
附图说明
附图中示出了:
图1示出了在现有技术的设备系统中来自于存储器的请求数据块的传输开销的图示;
图2示出了在因如图1所述传输开销而受困扰的设备系统中的常规存储器基础结构;
图3示出了作为现有技术的可替代示例的、在具有多个控制器的设备系统中的存储器基础结构;
图4示出了具有分别应用于每个存储设备的多条地址线和共享地址线的设备系统中的存储器基础结构,以及优选实施例的共享控制器。
图5示出了与图1所示的现有技术的设备系统中的存储器相比,来自于优选实施例的设备系统中的存储器的请求数据块的有限传输开销的视图;
图6示出了依照优选实施例的SDRAM存储器的功能框图。
具体实施方式
在图1中,给出了用于表明确定访问粒度的子帧长度的示例。例如,如果子帧长度是“4”,那么四个字的子帧位于满足以下条件的存储单元中,所述条件为:
列地址MODULO 4字=0。
在该子帧中,可以被访问任何地方。但是子帧只可以作为实体被访问,如在下面将参照表1描述的那样。数据子帧的大小不仅取决于子帧长度,而且取决于存储器总线的宽度。例如,“4”的子帧长度和64位存储器总线产生32字节的数据子帧。
图1示出了存储设备10的存储器行12和存储器列13中的图形式数据组织的示例。数据实体、即数据子帧14包含32字节并且应归于对准栅15。为了访问256字节(来自于16个不同存储器行12的16字节)的数据块,将16×16字节作为数据块16而请求,但是只有16×64字节的实体被访问(是所请求的4倍)时才能访问子帧,由此造成300%的传输开销17。尤其是对于访问小粒度的数据块16来说,因数据子帧大小14的提高而显著地增加了传输开销17。如果所要求的数据块16覆盖栅边界15,那么这是尤其可能的。虽然数据子帧14的大小是总线宽度和子帧长度固有的,但是部分开销由数据子帧14离散的位置所引起,存储器访问只得在数据子帧14的对准栅15处应用。对于图1来讲,如果32字节的传输可以在启动请求数据块16开始,那么开销17将仅仅是100%(而不是300%)。
为了减少存储带宽,可以通过采用诸如呈现于CPU数据、CPU指令和流媒体数据中的数据的空间位置、利用本地超高速缓存存储器来重复使用部分传输开销17。然而,在这种系统中,当数据子帧的开始位置不必与32字节存储器栅15对准时,也可以显著改善高速缓存性能。这还能够使系统获取那些传输开销17中的数据,所述数据具有很高的高速缓冲存储器命中可能。虽然数据子帧14的开始位置处于列13中的任意位置是最佳的,但是在对准栅15中的任何精准都往往会改善带宽效率。
如图2所示的主流存储设备22可以用于图2的设备系统20,这种存储设备22可以包含4、8、16位的数据总线。数据总线23具有16位宽度。为了创建包括所有数据线23的64位存储器总线,必须并行连接多个存储设备22。通常,它们共享同一地址线21。然而,通过具有多条地址线或者总线,设备22可以被分别编址,同时还提供相同的总体带宽。每个存储设备22利用独立的数据总线23连接至存储器控制器24,所述存储器控制器24对所有存储设备22的地址空间通用。存储器控制器24通过64位线26连接至片上系统27。
图4的优选实施例40提供了存储器控制器44,其向多个存储设备42提供不同的编址48和数据总线43。所有地址线41和48的部分地址总线41也由所有存储设备42共享,诸如存储体地址线。所提及的地址总线的其他部分48是专用的,每条线48用于单个存储设备集42。在此实施例中,一个存储设备集42包括一个单个存储设备。在一种变化中,一些或者所有地址线48均可以可操作地分别连接至两个或更多存储设备42,所述两个或更多存储设备42建立存储设备集。作为单线连接至控制器的地址线48的数量可以是2,4,8等,并且由存储设备的数量来限制。每条单线还可以由一组线路替代。如果包括线路43的64位宽的存储器总线利用16×4位的存储设备来实现,那么地址总线的线路48可以被复制16次。如图4中略述的建议在用于减少传输开销以及控制存储单元的传输开销方面提供了更多的灵活性,尤其精准了高速缓存性能。存储器控制器44通过64位总线46连接至片上系统47。在图4的优选实施例中,存储设备42的地址空间是离芯的。在进一步的优选实施例中,它也可以是片上型的。
现有技术中用于减小对准栅15的粒度的另一个更加直接的解决方案30往往具有多个独立的存储器地址总线38以及独立的存储器控制器39,如图3所示。在现有技术的系统30中,存储设备32的带宽和地址空间在所有存储器控制器39上被分割。这种解决方案30还减少数据子帧14的粒度,然而,是依照控制器39的数量按比例减少。与优选实施例相比,需要多个控制器39来控制多个存储设备32的整个地址空间。将每个存储设备32分配给独立的存储器控制器39。
在解决方案40建议之上的这种解决方案的优点在于:在每个存储设备中数据实体的编址不强制处于同一存储体内。然而,与图4的系统40相比,缺点更加明显:
-每个存储器控制器39只得访问完整地址空间的小部分32;
-多个存储器控制器39按比例提高系统30的成本;
-所有用于发布存储器请求以及用于处理完全事务的信号线需要多次实现;
-多次实现完整的存储器地址总线38,由此提高离芯的存储器系统的成本;以及
-系统30的存储器客户机37的基础结构36不与图2中的解决方案20兼容,由此64位存储器控制器24以及64位数据线26的所有客户机需要重新设计。
在图4中的存储器体系结构40的优选实施例中,存储器控制器44从如何详细配置实际存储空间42中提取出存储器客户机47。因此,SoC中的存储器客户机47的基础结构46与图2中所示的系统20兼容。因此,存储器控制器44的现存客户机27的设计保持有效。然而,包括存储设备42的存储空间中的数据组织不同于图5中略述的。比较图5与图1,人们可以看出两个不同。由于更加精准的对准栅55,每设备一个数据子帧54只向每行52发送总共32字节,此足以访问请求数据块56,而图1中要求每行两个数据子帧14。此外,可以选择开销57的部分58的位置。在该情况下,选择可以在请求数据块56前面的或者请求数据块56后面的列53之间执行。可以采用这种灵活性来改善高速缓存性能。
如果我们考虑如图3所示的4条地址总线,那么32字节数据子帧成为4×8字节数据实体59,其被并行编址。这种4×8字节数据实体59不需要连续地位于地址空间30中。这种灵活性例如可以用于信号处理单元,其同时需要多个小的数据实体54处于存储器的不同位置。例如,时间视频滤波器,用于从存储器中相继的图像帧中读取像素。每个数据实体可以位于不同的图像帧。然而,在编址每个子帧的时候存在一些条件,在此是8字节数据实体54。每个数据实体54必须位于另一个存储设备42中,并且每个数据实体54的存储体地址是相同的。由于共享的存储体地址线而需要后者约束条件,并且防止存储器命令的不同进度行为。关于这些问题的详细说明将依照图6讨论。
使用多条地址总线48显然增加了设计成本。尤其当存储设备42的地址空间位于离芯的位置时,更为显著。多条地址总线48需要芯片设备上的更多插脚,这在设备包装方面的费用更加浩大并且增大了功率。此外,存储器控制器44中小部分的地址生成需要多次实现。然而,在访问灵活性和系统成本之间,所述原理能够进行权衡。例如,能够共享更大部分的地址总线。例如,当依照或多或少的线性方式来访问存储器42时,其足以在一行52内对4×8字节数据实体59进行灵活的编址。这意味着只有列地址线53需要被多次实现。此外,需要多次实现的部分地址生成能因此被限制在列地址发生器。对于例如在一行内具有256列的存储设备来说,只有8条地址线可以被多次实现。
注意,多条地址总线的额外费用仅仅对于离芯的存储器来说是相当大的,如图4所示。对于具有芯片上的嵌入DRAM的SoC来说,额外费用是有限的。
图6示出了SDRAM 60的功能框图。将物理存储器单元61分为存储体0至3,它们借助于行地址52和列地址53被独立地编址。在四个存储体设备的情况下,存储体0,1,2或者3由输入插脚BA0和BA1选择。
在可以发布存储体中确定的存储器地址以前,其中包含数据的存储器行52应该首先被激活。在激活行52期间,将完整的行52传送到I/O栅页面62中的SDRAM页寄存器。现在,可以执行在页面62之内的列53的随机访问。在每个存储体0,1,2或者3中,只有一行52可以同时有效,但是在随机访问页面62中的页寄存器期间,允许存储体0,1,2或者3之间的切换,而不会恶化。对于每个存储体来说,存在一个页面。因此,利用四个存储体设备,四个行52可以通过编址每个存储体0,1,2和3中的一行52而被随机编址。在传输行数据至页寄存器62期间,DRAM存储体中的行单元被放电。因此,当必须激活存储体中的新行时,应该在可以发布新行激活命令之前,首先将页寄存器复制回DRAM中。这通过专门的预充电、还称为“页面关闭”命令来执行。依照JEDEC标准,利用自动预充电可以发布读和写命令。由此,当通过利用自动预充电对行中的最后访问执行读或写而被关闭时,不需要额外的预充电命令。
在没有在此示出的优选实施例的其他变化中,在一方面,数据的进度在不同存储设备42中可能是不同的。这种进度通过存储器控制器44中的一个以上程序机来执行。由此,当一个以上的调度程序能够留心不同设备中不同行编址的预充电、激活以及定时限制时,建立在不同设备中不同列和行的编址。这种优选实施例的变化允许更复杂并且更灵活的编址地址空间。另一方面,在优选实施例的进一步的变化40中,可以在存储器控制器44之内使用单个调度程序,以便不同设备中行的编址可以保持相同。优选实施例的这种进一步的变化40允许自动调度不同设备中的行的预充电、激活以及定时限制。因此,优选实施例40允许后者变化中的简单解决方案,在该变化中,只需要采用列发生器。在优选实施例的前者变化内,能够进行更灵活且更复杂的地址空间的编址。
作为优选实施例提供的存储器控制器例如可以同时编址4×8字节数据实体54。如果存储器控制器允许灵活地在任意存储体0,1,2或者3中为每个数据实体54编址任意行52,那么存储器命令的进度对于每个存储设备42来说往往不同。例如,一个设备可以连续地从同一存储体编址两个不同的行。因此,必须延迟行激活命令直到所述存储体被预充电。对于其他存储设备来说,随后的行地址位于不同的存储体,并且不需要延迟行激活命令。为了所有存储设备42共享大部分的存储器控制器44,存储体地址被共享,由此保证相等的存储器命令进度。
图6的SDRAM 60例如可以是128Mb的DDK SDRAM,以包含134,217,728位的高速CMOS动态随机存取存储器实现。将128Mb DDRSDRAM内部配置为四芯存储体DRAM,如图6所示。所述128Mb DDRSDRAM使用双倍数据速率体系结构来实现高速操作。双倍数据速率体系结构基本上是2n预取体系结构,具有设计为以便在I/O插脚每时钟周期传输两个数据字的接口。对128Mb DDR SDRAM的单个读或者写访问包括单个2n位宽的在内部DRAM核心上的一个时钟周期数据传输以及两个相应n位宽的在I/O插脚上的二分之一时钟周期的数据传输。
对DDR SDRAM的读和写访问是面向子帧的;访问起始于所选择的位置,并且延续至在程序序列中编程的位置数目。访问从寄存ACTIVE命令开始,然后继之以READ或者WRITE命令。遵照ACTIVE命令寄存的地址位用于选择待访问的存储体和行,并且由地址总线发送。BA0和BA1选择存储体,而A0-A11选择行。遵照READ或者WRITE命令寄存的地址位用于选择子帧访问的开始列的位置。在正常操作之前,DDR SDRAM必须被初始化。DDR SDRAM依照预定方式被上电并且初始化。这涉及关于确定的阈值和时序的功率电压设备和时间序列。
设备操作由确定的定义来指导。模式寄存器用于定义DDR SDRAM操作的特定模式。这种定义包括选择子帧长度、子帧类型、CAS等待时间和操作模式。所述模式寄存器经由命令条来编程,所述命令条向控制逻辑中的命令译码器发送命令。所述模式寄存器被编程并且将保留存储信息直到它再次被编程或者设备掉电。重新编程模式寄存器不会改变存储器的内容,只要保证其被正确执行。当所有存储体空闲并且没有子帧在处理时,必须加载或者重新加载模式寄存器,并且在开始后续操作以前,控制器必须等待给定时间。违反这些必要条件的任何一个将引起未指定的操作。
模式寄存器位A0-A2例如指定子帧长度,A3指定子帧类型,例如顺序或者交织,A4-A6指定CAS等待时间而A7-A11指定操作模式。具体来讲,命令总线发送涉及以下参数的命令。CK(输入时钟)规定所有地址以及控制输入信号在CK正沿上对角采样。CS(输入片选)启动命令译码器。当CS被寄存为HIGH时,掩蔽所有命令。CS规定在具有多个存储体的系统上的外部存储体选择。CS被考虑为操作码的一部分。当在时钟RAS(行地址环索)的上升正沿处采用时,CAS(列地址环索)以及WE(写入启动)定义待由SDRAM执行的操作。
此外,如上所指出的,向地址寄存器提供作为地址输入的A0-A11以及作为存储体选择的BA0-BA1。BA0-BA1选择哪个存储体将是有效的。在存储体激活命令周期期间,A0-A11定义行地址。在READ或者WRITE命令周期期间,例如A0-A9的部分地址输入线定义列地址。A10用于在子帧READ或者WRITE周期结束时、启用自动预充电操作。在预充电命令周期期间,A10用于连接BA0,BA1以便控制哪个存储体预充电。如果A10是高,那么所有存储体将预充电。如果A10是低,那么BA0以及BA1用于定义哪个存储体要预充电。
就子帧长度而言,对DDR SDRAM的READ和WRITE访问是面向子帧的,同时子帧长度是可编程的。表1中示出了子帧程序序列中的子帧定义。子帧长度确定对于给定READ或者WRITE命令可以访问的位置的最大列数。2,4或者8的子帧长度位置对顺序的以及交织的子帧类型都是有效的。
起始列地址 |
子帧内访问顺序 |
A1 |
A0 |
0 |
1 |
0-1-2-3 |
0 |
1 |
1-2-3-0 |
1 |
0 |
2-3-0-1 |
1 |
1 |
3-0-1-2 |
表1。子帧定义
表1示出了单元内访问顺序。这主要地意味着数据子帧是存储器中不相重叠的数据实体。然而,在顺序方面存在灵活性,其中数据实体中的字被传输。当发布READ或者WRITE命令时,有效地选择等于子帧长度的列块。对该子帧的所有访问在此块内进行,这意味着如果达到边界,那么该子帧将在该块内重叠。当将子帧长度设定为二时,由A1-Ai唯一地选择块,当将子帧长度设定为四时由A2-Ai选择,当将子帧长度设定为八时由A3-Ai选择(在此Ai是给定结构的最明显的列地址位)。剩余(最不明显的)地址位用于选择块中的起始位置。编程的子帧长度适用于READ和WRITE子帧。
此外,子帧类型可以被编程。可以将在给定子帧内的访问编程为顺序的或者交织的。这可以称为子帧类型,并且可以通过特定位来选择。
如所略述的,为了获得较高的带宽性能,SDRAM提供了子帧访问。这种模式能够通过给出一个读或写命令来访问多个连续的数据字。应当注意,虽然在输出时的时标速率高于是命令速率的输入时的速率,但是多个命令为开始存储器访问所必需。为了利用这种有效的输出带宽,读和写访问必须是面向子帧的。子帧54的长度是可编程的并且确定对于给定READ或者WRITE命令可以访问的位置53的最大列数。它将行52划分为连续的单元,等于子帧长度。当发布READ或者WRITE命令时,只对其中一个单元进行编址。子帧的开始可以位于这些单元内的任何地方,但是当到达单元的末尾时,将子帧回转。例如,如果子帧长度是“4”,那么两个最不明显的列地址位选择单元内待编址的第一列。