包括多个缓冲区的存储器设备和驱动存储器的方法与流程

文档序号:11708482阅读:184来源:国知局
包括多个缓冲区的存储器设备和驱动存储器的方法与流程

本申请要求于2016年1月12日提交到韩国知识产权局的第10-2016-0003673号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。

以下描述涉及一种包括多个缓冲区的存储器设备和驱动包括多个缓冲区的存储器的方法。



背景技术:

在单个缓冲区中,处理器在数据通过通道被存储在缓冲区中之后处理数据。在这种情况下,在另一条数据通过通道被存储的同时,数据不能被处理,并且在处理器处理另一条数据的同时,数据不能被存储。

在双缓冲区中,可同时执行数据的存储和处理。在数据通过通道被存储在第一缓冲区中的同时,处理器可处理第二缓冲区中的数据。



技术实现要素:

提供本发明内容以用简化的形式介绍对在下面的具体实施方式中进一步描述的构思的选择。本发明内容不旨在标识所要求保护主题的关键特征或必要特征,也不意图被用作帮助确定所要求保护主题的范围。

在一个总体的方面,一种包括多个缓冲区的存储器设备包括:存储器控制器,被配置为基于多写入操作命令获得存储器分配信息;存储器,被配置为基于存储器分配信息将相同的图形数据存储在所述多个缓冲区中的每一个缓冲区中。

存储器控制器可根据多写入操作命令获得将存储相同的图形数据的所述多个缓冲区中的每个缓冲区的位置作为存储器分配信息。

存储器控制器可从图形处理器接收多写入操作命令,并可基于多写入操作命令确定用于执行多写入操作的存储器地址和偏移量。

存储器控制器可基于包括在多写入操作命令中的参数和存储器的布局获得存储器分配信息。

存储器可将相同的图形数据同时存储在所述多个缓冲区中。

响应于根据双缓冲区方法驱动存储器,存储器可将相同的图形数据存储在取代执行读取操作的缓冲区的代理缓冲区和未执行读取操作的缓冲区中。

响应于根据n多缓冲区方法驱动存储器,存储器可将相同的图形数据存储在除执行读取操作的缓冲区之外的每个缓冲区中,其中,n是等于或大于3的整数。

在另一总体的方面,一种驱动包括多个缓冲区的存储器的方法包括:基于多写入操作命令获得存储器分配信息;基于存储器分配信息将相同的图形数据存储在所述多个缓冲区中的每一个缓冲区中。

获得的步骤可包括:根据多写入操作命令获得将存储相同的图形数据的所述多个缓冲区中的每个缓冲区的位置作为存储器分配信息。

获得的步骤可包括:从图形处理器接收多写入操作命令,并基于多写入操作命令确定用于执行多写入操作的存储器地址和偏移量。

获得的步骤可包括:基于包括在多写入操作命令中的参数和存储器的布局获得存储器分配信息。

存储的步骤可包括:将相同的图形数据同时存储在所述多个缓冲区中。

存储的步骤可包括:响应于根据双缓冲区方法驱动存储器,将相同的图形数据存储在取代执行读取操作的缓冲区的代理缓冲区和未执行读取操作的缓冲区中。

存储的步骤可包括:响应于根据n多缓冲区方法驱动存储器,将相同的图形数据存储在除执行读取操作的缓冲区之外的每个缓冲区中,其中,n是等于或大于3的整数。

在另一总体的方面,一种非暂时性计算机可读存储介质存储当被处理器执行时使得处理器执行上述方法的指令。

在另一总体的方面,一种图形处理设备包括:图形处理器;存储器设备,包括存储器控制器和存储器,其中,存储器控制器被配置为基于多写入操作命令获得存储器分配信息,存储器被配置为基于存储器分配信息将相同的图形数据存储在所述多个缓冲区中的每一个缓冲区中;显示器,被配置为显示图形数据,其中,存储器设备与图形处理器共享图形数据,通过数据总线从显示器接收请求图形数据的控制信号,并且作为响应将图形数据发送到显示器。

存储器控制器可根据多写入操作命令获得将存储相同的图形数据的所述多个缓冲区中的每个缓冲区的位置作为存储器分配信息。

存储器控制器可从图形处理器接收多写入操作命令,并可基于多写入操作命令确定用于执行多写入操作的存储器地址和偏移量。

存储器控制器可基于包括在多写入操作命令中的参数和存储器的布局获得存储器分配信息。

存储器可将相同的图形数据同时存储在所述多个缓冲区中。

通过下面的具体实施方式、附图和权利要求书,其他特征和方面将是清楚的。

附图说明

图1是用于描述存储器设备的示例和驱动存储器设备的图形处理环境或设备的示例的示图。

图2是用于描述存储器设备的存储器控制器的操作的示例的示图。

图3是用于描述存储器设备的存储器的结构的示例的示图。

图4a至图4c是用于描述存储器设备的存储器分配方法的示例的示图。

图5是用于描述根据双缓冲区方法驱动的存储器设备的存储器的示例的示图。

图6a和图6b是用于描述当根据双缓冲区方法驱动存储器设备的存储器时的根据多写入操作的执行的差别的示例的示图。

图7a和图7b是用于描述当根据双缓冲区方法驱动存储器设备的存储器时的根据多写入操作的执行的帧差的示例和用于比较帧差的效果的示例的示图。

图8是用于描述根据n多缓冲区方法驱动的存储器设备的存储器的示例的示图。

图9a和图9b是用于描述当根据三缓冲区方法驱动存储器设备的存储器时的根据多写入操作的执行的帧差的示例和用于比较帧差的效果的示例的示图。

图10是驱动包括多个缓冲区的存储器的方法的示例的流程图。

贯穿附图和具体实施方式,相同的参考标号表示相同的元件。附图可以不是按比例的,并且为了清楚、说明和方便,可能夸大附图中的元件的相对大小、比例和描绘。

具体实施方式

提供下面具体的描述,以帮助读者获得对这里描述的方法、设备和/或系统的全面的理解。然而,在理解本申请的公开之后,这里描述的方法、设备和/或系统的各种改变、修改和等同物将是显而易见的。例如,这里描述的操作的顺序仅仅是示例,并不限于这里阐述的顺序,而是在理解本申请的公开之后将显而易见的那样可被改变除了必须以一定顺序发生的操作以外。此外,为了更加清楚和简明起见,对本领域众所周知的功能的描述可被省略。

这里描述的特征可以以不同的形式体现,并不一定被解释为局限于这里所描述的示例。相反,已经提供在这里描述的示例,仅为示出这里描述的在理解本申请的公开之后将是清楚的实施方法、设备和/或系统的很多可能的方式中的一些。

现在对实施例做出详细参考,在附图中示出实施例的示例,其中,相同的参考标号始终表示相同的元件。就这一点而言,本实施例可具有不同的形式,而不应被解释为局限于这里提出的描述。因此,下面通过参照附图仅对实施例进行描述,以说明方面。

如这里所使用,术语“和/或”包括任意两个或更多个关联的列出项中的任意一个和任意组合。

这里使用的术语仅用于描述各种示例,并不用于限制本公开。除非上下文另外清楚地指出,否则冠词“一个”和“这个”也意图包括复数形式。术语“包括”、“包含”和“具有”说明存在阐述的特征、数字、操作、构件、元件和/或它们的组合,而不排除存在或添加一个或多个其他特征、数字、操作、构件、元件和/或它们的组合。

将理解,尽管在这里可使用术语“第一”、“第二”等描述各种组件,但是这些组件不应被这些术语限制。这些术语仅仅是用于区分一个组件与另一个组件。

实施例涉及包括多个缓冲区的存储器设备和驱动包括多个缓冲区的存储器的方法,并且公知的细节不会被详细描述。

图1是用于描述存储器设备2000和运行存储器设备2000的图形处理环境或设备的示例的示图。

参照图1,存储器设备2000通过数据总线5000连接到图形处理器1000和显示器3000。存储器设备2000可通过数据总线5000将图形数据和各种控制信号等发送到图形处理器1000或从图形处理器1000接收图形数据和各种控制信号等。此外,存储器设备2000可通过数据总线5000从显示器3000接收请求图形数据的控制信号,并作为响应,将图形数据发送到显示器3000。

存储器设备2000包括存储器控制器2100和存储器2200。存储器控制器2100将数据存储在存储器2200中,并从存储器2200读取数据。

图2是用于描述存储器设备2000的存储器控制器2100的操作的示例的示图。

参照图2的示例,存储器控制器2100可接收多写入操作命令,并响应于多写入操作命令而输出多写入操作信号。例如,当存储器设备2000从图形处理器1000接收多写入操作命令时,多写入操作命令被输入到存储器控制器2100中。存储器控制器2100获得存储器分配信息并输出与存储器分配信息对应的多写入操作信号,使得多写入操作命令在存储器2200中被执行。将被存储在存储器2200中的图形数据可与多写入操作命令一起被发送,或者可被包括在多写入操作命令中。可选择地,与当前存储图形数据的位置有关的信息可被包括在多写入操作命令中。

存储器控制器2100基于多写入操作命令获得存储器分配信息。在存储器分配期间将被考虑的数据可通过分析包括在多写入操作命令中的各种类型的参数来确定。

存储器控制器2100可根据一个多写入操作命令,来获得将存储相同的图形数据的多个缓冲区中的每个缓冲区的位置作为存储器分配信息。例如,存储器控制器2100可从图形处理器1000接收多写入操作命令,并确定用于执行多写入操作的存储器地址和偏移量。因此,存储器控制器2100提前知道存储器2200的布局,并可根据存储器2200的布局确定存储器分配信息。

存储器控制器2100可基于包括在多写入操作命令中的至少一个参数和存储器的布局来获得存储器分配信息。

存储器控制器2100通过将与存储器分配信息对应的多写入操作信号输出到存储器2200,来控制存储器2200执行多写入操作。

图3是用于描述存储器设备2000的存储器2200的结构的示例的示图。

存储器2200包括数据移动所通过的多个通道。参照图3的示例,一个通道被配置有多个双列直插式存储器模块(dimm)。一个dimm可包括多个芯片。一个芯片可包括多个库(bank)。一个库可包括用于存储数据的单元阵列和用于暂时存储被存储在单元阵列的特定行中的数据的行缓冲区。可通过使用单元阵列的列地址和行地址来访问存储在单元阵列中的数据。此时,可通过加载与包括将被存取到行缓冲区的数据的行对应的全部数据并且将行缓冲区用于包括在行中的其他数据来降低成本。

如在图3的示例中所示,每个库可包括单元阵列和行缓冲区。

图4a至图4c是用于描述存储器设备2000的存储器分配方法的示例的示图。

图4a示出当相同的图形数据被存储在不同的库中时的存储器分配方法。在图4a中,为了描述的方便,仅示出库中的单元阵列。相同的图形数据可被存储在库中的单元阵列的相应位置中。例如,当相同的图形数据被存储在存储器2200的相同通道中的相同dimm中的相同芯片的不同库中时,将被存储在库的单元阵列中的相同的图形数据的位置可根据行和列彼此对应。在这样的示例中,相同的图形数据以特定的偏移量被存储在不同的单元阵列中。

图4b和图4c示出当相同的图形数据被存储在相同的库中时的存储器分配方法。在图4b和图4c中,为了描述的方便,仅示出库中的单元阵列。例如,相同的图形数据可被存储在相同的库的单元阵列中的邻近列或邻近行中。可根据图形数据的大小来确定邻近列或邻近行的位置。例如,当相同的图形数据被存储在存储器2200的相同通道中的相同dimm中的相同芯片的相同库中时,被存储在库的单元阵列中的相同的图形数据的位置可以是如图4b中所示的邻近列的位置或如图4c中所示的邻近行的位置。

图5是用于描述根据双缓冲区方法驱动的存储器设备2000的存储器2200的示图。

参照图5的示例,存储器2200通过驱动两个缓冲区(即,第一缓冲区2210-1和第二缓冲区2210-2)来存储数据,并根据外部的请求来输出存储的数据。在图5的示例中,第一缓冲区2210-1和第二缓冲区2210-2可以是物理分离的缓冲区,或可以是一个缓冲区中划分的不同区域。

此外,参照图5的示例,存储器2200可接收多写入操作信号,并将相同的图形数据存储在第一缓冲区2210-1和第二缓冲区2210-2中。多写入操作信号可驱动存储器2200基于存储器分配信息将相同的图形数据适当地存储在第一缓冲区2210-1和第二缓冲区2210-2中。例如,存储器2200可将相同的图形数据同时存储在第一缓冲区2210-1和第二缓冲区2210-2中。

存储器2200可响应于从外部源接收到读取操作信号输入,来输出存储在存储器2200中的图形数据。当读取操作信号被输入到存储器2200中并且对存储在存储器2200中的图形数据执行读取操作时,存储器2200需要驱动多个缓冲区,以使读取操作不与多写入操作的执行冲突。换言之,在存储在缓冲区中的图形数据被处理的同时不能够将数据存储在相同的缓冲区中。

例如,如图5的示例中所示,当存储器2200根据双缓冲区方法被驱动时,第一缓冲区2210-1和第二缓冲区2210-2上的多写入操作的执行可被延迟,直到对与当前帧对应的图形数据执行的读取操作完成为止。然而,在这个示例中,可失去可同时执行存储和处理的双缓冲区方法的意义。作为另一可选示例,可使用取代执行读取操作的缓冲区的代理缓冲区(proxybuffer),可对代理缓冲区和未执行读取操作的缓冲区执行多写入操作。换言之,当对第一缓冲区2210-1执行读取操作使得当前帧的图形数据被输出时,可对第二缓冲区2210-2和取代第一缓冲区2210-1的第一代理缓冲区执行随后帧的图形数据的多写入操作。作为结果,当对第二缓冲区2210-2执行读取操作使得随后帧的图形数据被输出时,在存储在第一代理缓冲区中的随后帧的图形数据被存储在第一缓冲区2210-1中的同时可对第二代理缓冲区和第一缓冲区2210-1执行下一随后帧的图形数据的多写入操作。通过使用代理缓冲区,能帮助管理并且避免冲突的问题。

图6a和图6b是用于描述当根据双缓冲区方法驱动存储器设备2000的存储器2200时的根据多写入操作的执行的差别的示图。

在图6a和图6b中使用星星标记的后置缓冲区是执行了数据处理的缓冲区,并且后置缓冲区是在从显示器3000输入读取操作信号时将存储的图形数据输出到显示器3000的缓冲区。

在图6a的示例中,对存储器2200的第一缓冲区2210-1和第二缓冲区2210-2执行相同的图形数据的多写入操作,并且存储在存储器2200中的多条图形数据被处理和顺序显示。

参照图6a的示例,当前帧的图形数据被存储在第一缓冲区2210-1和第二缓冲区2210-2中的每一个中,并且存储在第一缓冲区2210-1和第二缓冲区2210-2中的任意一个缓冲区中的图形数据被处理和显示。然后,在第一缓冲区2210-1和第二缓冲区2210-2中的每一个缓冲区中存储随后帧的图形数据,并通过处理在第一缓冲区2210-1和第二缓冲区2210-2中的未处理当前帧的图形数据的一个缓冲区中存储的随后帧的图形数据来显示随后帧。因此,相同的图形数据被存储在第一缓冲区2210-1和第二缓冲区2210-2中的每一个缓冲区中。

另一方面,在图6b的示例中,当对两个缓冲区中的任意一个缓冲区执行图形数据处理时,以对另一缓冲区执行写操作因此处理存储在存储器2200中的多条图形数据并顺序地显示多条图形数据而不执行多写入操作的方式驱动这两个缓冲区。

参照图6b的示例,在第一帧的图形数据被存储在第二缓冲区2210-2中并且第一帧的图形数据被处理和显示时,第二帧的图形数据被存储在第一缓冲区2210-1中。在存储在第一缓冲区2210-1中的第二帧的图形数据被处理和显示时,第三帧的图形数据被存储在第二缓冲区2210-2中。在存储在第二缓冲区2210-2中的第三帧的图形数据被处理和显示时,第四帧的图形数据被存储在第一缓冲区2210-1中。随后,存储在第一缓冲区2210-1中的第四帧的图形数据被处理和显示。

作为结果,比较图6a和图6b,存储在存储器2200的第一缓冲区2210-1和第二缓冲区2210-2中的多条图形数据基于是否执行多写入操作而不同。在图6a的示例中,当执行多写入操作时,相同的图形数据被存储在两个缓冲区中。相比之下,在图6b的示例中,由于图形数据的存储和处理在两个缓冲区中被交替执行,所以存储在两个缓冲区中的多条图形数据彼此不同。

此外,在图6a的示例中,由于多个帧的多条图形数据被顺序地存储在每个缓冲区中,所以指示当前帧与先前帧之间的图形数据变化的帧差(framedifference)相对较小。例如,在图6a的示例中,在第四帧的图形数据被存储之前存储第三帧的图形数据。

然而,在图6b的示例中,由于多个帧的多条图形数据被交替存储在两个缓冲区中,所以指示当前帧与先前帧之间的图形数据变化的帧差相对较大。例如,在图6b的示例中,在第四帧的图形数据被存储在第一缓冲区2210-1中之前存储第二帧的图形数据。

图7a和图7b是用于描述当根据双缓冲区方法驱动存储器设备2000的存储器2200时的根据多写入操作的执行的帧差的示例和用于比较帧差的效果的示例的示图。

存在在图形渲染期间使用帧差的各种技术。使用这样帧差的技术可使用上面参照图6a的示例所描述的执行多写入操作的多个缓冲区驱动方法。

例如,根据仅当通过分裂一个图像获得的图块(tile)的图像与存储在帧缓冲区中的图像不同时将图块从图块缓冲区发送到帧缓冲区而当图块的图像与存储在帧缓冲区中的图像相同时丢弃图块的技术,当先前帧与当前帧之间的差减小时,该技术的性能可提高。

后置缓冲区(如在图7a和图7b中用星星标记的)是处理数据的缓冲区,可通过比较先前帧的图形数据与当前帧的图形数据来仅额外存储与帧差对应的图形数据,并可将存储的图形数据输出到显示器3000。

参照图7a的示例,仅与帧差对应的图形数据被存储在第一缓冲区2210-1和第二缓冲区2210-2中的每一个缓冲区中。此外,存储在第一缓冲区2210-1和第二缓冲区2210-2中的任意一个缓冲区中的图形数据被处理和显示。在图7a的示例中,用“写入”标记的图形数据是从后置缓冲区额外存储的图形数据,用“后写入”标记的图形数据是从不是后置缓冲区的另一缓冲区根据多写入操作一起额外存储的图形数据。作为结果,相同的图形数据根据帧被存储在第一缓冲区2210-1和第二缓冲区2210-2中的每一个缓冲区中,由于仅与先前帧和当前帧之间的帧差对应的图形数据根据帧被额外存储,所以在一个多写入操作期间将被存储的数据量可通过使用这样的方法被降低。

与此同时,在图7b的示例中,当针对两个缓冲区中的任意一个缓冲区处理图形数据时,以在另一缓冲区执行写入操作而不执行多写入操作的方式来驱动两个缓冲区,因此,将被额外存储在缓冲区中的与先前帧和当前帧之间的帧差对应的图形数据的数据量比图7a的示例的数据量大。参照图7a和图7b中用“损坏”标记的区域,即使使用相同的技术,与帧差对应的图形数据变化在图7b的示例中也比在图7a的示例中大。可选择地,当使用仅额外存储与两帧之间的帧差对应的图形数据的技术时,图7a的示例的执行多写入操作的双缓冲区方法具有比图7b的示例的双缓冲区方法更小的帧差。

图8是用于描述根据n多缓冲区方法驱动的存储器设备2000的存储器2200的示例的示图。

参照图8的示例,存储器2200通过驱动n个缓冲区(即,第一缓冲区2210-1至第n缓冲区2210-n)来存储数据,并根据相应的外部请求来输出存储的数据。在图8中,第一缓冲区2210-1至第n缓冲区2210-n可以是物理分离的缓冲区或者可以是一个缓冲区中划分的区域。

参照图8的示例,存储器2200可接收多写入操作信号,并可将相同的图形数据存储在第一缓冲区2210-1至第n缓冲区2210-n中。多写入操作信号可驱动存储器2200基于存储器分配信息将相同的图形数据存储在第一缓冲区2210-1至第n缓冲区2210-n中。存储器2200可将相同的图形数据同时存储在第一缓冲区2210-1至第n缓冲区2210-n中。

响应于从外部源接收到读取操作信号输入,存储器2200可输出存储在其中的图形数据。当在读取操作信号被输入到存储器2200时对存储在存储器2200中的图形数据执行读取操作时,存储器2200需要驱动多个缓冲区,以使读取操作不与多写入操作冲突。如上面参照图5的示例所述,延迟多写入操作的方法或使用代理缓冲区的方法可被使用,以使在缓冲区在处理存储的图形数据的同时数据不被存储在缓冲区中。

此外,当包括在存储器2200中的多个缓冲区的数量至少为三时,可对除执行读取操作的缓冲区之外的缓冲区执行多写入操作。如在图8的示例中所示,当根据n多缓冲区方法驱动存储器2200时,可通过对除执行读取操作的缓冲区之外的缓冲区执行多写入操作来存储相同的图形数据。例如,当对第一缓冲区2210-1执行读取操作使得当前帧的图形数据被输出时,对除第一缓冲区2210-1之外的第二缓冲区2210-2至第n缓冲区2210-n执行随后帧的图形数据的多写入操作,因此可将随后帧的相同的图形数据存储在第二缓冲区2210-2至第n缓冲区2210-n中。随后,为了描述的方便,在n是3的示例中,基于三缓冲区方法来描述执行多写入操作的差别。然而,n不限于3,并可适当地具有更大的值。

图9a和图9b是用于描述当根据三缓冲区方法驱动存储器设备2000的存储器2200时的根据多写入操作的执行的帧差的示例和用于比较帧差的效果的示图。

在图9a的示例中,在仅额外存储与帧差对应的图形数据时对存储器2200的第一缓冲区2210-1至第三缓冲区2210-3执行多写入操作的技术被应用,使得存储在存储器2200中的多条图形数据被处理并被顺序显示。在图9a的示例中,用“写入”标记的区域对应于从后置缓冲区额外存储的图形数据,用“后写入”标记的区域对应于从不是后置缓冲区的缓冲区根据多写入操作额外存储的图形数据。此外,在用“无写入”标记的区域中,尽管图形数据与先前帧不同,但是先前图形数据被保持。

参照图9a的示例,从第一缓冲区2210-1至第三缓冲区2210-3中,当前帧的图形数据被存储在除执行数据处理(诸如,读取操作)的缓冲区之外的每个缓冲区中。在这时,仅与先前帧和当前帧之间的帧差对应的值可被存储。

与此同时,在图9b的示例中,仅与帧差对应的图形数据被额外存储而不执行多写入操作。在这个示例中,三个缓冲区被轮流驱动,使得存储在存储器2200中的多条图形数据被处理并随后被顺序地显示。

参照图9b的示例,在第一帧的图形数据被存储在第二缓冲区2210-2中以及随后第一帧的图形数据被处理和显示时,第二帧的图形数据被存储在第三缓冲区2210-3中。此时,因为先前帧与存储在第三缓冲区2210-3中的第二帧之间没有相同的图形数据,所以所讨论的仅额外存储与帧差对应的图形数据的技术未被应用。在第三缓冲区2210-3处理和显示第二帧的图形数据时,第三帧的图形数据被存储在第一缓冲区2210-1中。此时,因为先前帧与存储在第一缓冲区2210-1中的第三帧之间没有相同的图形数据,所以仅额外存储与帧差对应的图形数据的技术未被应用。在第一缓冲区2210-1处理和显示第三帧的图形数据时,第四帧的图形数据被存储在第二缓冲区2210-2中。此时,由于第二缓冲区2210-2将第一帧的图形数据保持为先前帧的图形数据,所以可通过额外存储经由从第四帧的图形数据排除第一帧的图形数据获得的图形数据来存储第四帧的图形数据。然后,存储在第二缓冲区2210-2中的第四帧的图形数据被处理和显示。

在图9b中,三个缓冲区以这样的方式被轮流驱动:当三个缓冲区中的一个缓冲区处理图形数据时,对剩余的两个缓冲区中的一个缓冲区执行写入操作,而不执行多写入操作,因此,将被额外存储在缓冲区中的作为与先前帧和当前帧之间的帧差对应的图形数据的数据量大于图9a的示例的数据量。

作为结果,与图9b的示例的帧差相比,在图9a的示例中,当执行多写入操作时,指示每个缓冲区中的当前帧与先前帧之间的图形数据变化的帧差相对较小。即使参照图9a和图9b中的用“损坏”标记的区域,与帧差对应的图形数据变化在图9b的示例中也比在与9a的示例中更大。即使不仅在仅额外存储与帧差对应的图形数据的技术被使用时,而且在使用帧差的另一图像渲染技术被使用时,也可获得类似的结果。

图10是驱动包括多个缓冲区的存储器2200的方法的示例的流程图。图10的方法可由存储器设备2000来执行。

在操作s1010中,该方法可基于多写入操作命令获得存储器分配信息。例如,存储器设备2000可基于多写入操作命令获得存储器分配信息。存储器设备2000可根据一个多写入操作命令获得将存储相同的图形数据的多个缓冲区中的每个缓冲区的位置作为存储器分配信息。存储器设备2000可从图形处理器接收多写入操作命令,并确定用于执行多写入操作的存储器地址和偏移量。存储器设备2000可基于包括在多写入操作命令中的至少一个参数和存储器设备2000的布局来获得存储器分配信息。

在操作s1020中,该方法可基于存储器分配信息将相同的图形数据存储在多个缓冲区中的每个缓冲区中。例如,存储器设备2000可基于存储器分配信息将相同的图形数据存储在多个缓冲区中的每个缓冲区中。存储器设备2000可将相同的图形数据同时存储在多个缓冲区中。当存储器2200根据双缓冲区方法被驱动时,存储器设备2000可将相同的图形数据存储在取代执行读取操作的缓冲区的代理缓冲区以及未执行读取操作的缓冲区中。当存储器2200以n多缓冲区方法被驱动时,存储器设备2000可将相同的图形数据存储在除执行读取操作的缓冲区之外的每个缓冲区中。

可用于在适当时执行本申请中描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、集成器以及被配置为执行本申请中描述的操作的任意其他电子组件。在其他示例中,通过计算硬件(例如,通过一个或多个处理器或计算机)来实现执行本申请中描述的操作的一个或多个硬件组件。通过一个或多个处理元件(诸如,逻辑门的阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以获得期望结果的任意其他装置或装置的组合)来实现处理器或计算机。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。通过处理器或计算机实现的硬件组件可执行指令或软件(诸如,操作系统(os))和在os上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件也响应于指令或软件的执行而访问、操控、处理、创建和存储数据。为了简单,单数术语“处理器”或“计算机”可用于本申请中描述的示例的描述,但在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,可通过单个处理器或者两个或更多个处理器或者处理器和控制器来实现单个硬件组件或者两个或更多个硬件组件。可通过一个或多个处理器或者处理器和控制器来实现一个或多个硬件组件,并且可通过一个或多个其他处理器或者另一处理器和另一控制器来实现一个或多个其他硬件组件。一个或多个处理器或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有任意一个或多个不同的处理配置,其示例包括单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。

通过计算硬件(例如,通过一个或多个处理器或计算机)来执行在图1至图10中示出的执行本申请中描述的操作的方法,一个或多个处理器或计算机被实现为如上面描述地执行指令或软件以执行本申请中描述的被方法执行的操作。例如,可通过单个处理器或者两个或更多个处理器或者处理器和控制器来执行单个操作或者两个或更多个操作。可通过一个或多个处理器或者处理器和控制器来执行一个或多个操作,或者可通过一个或多个其他处理器或者另一处理器和另一控制器来执行一个或多个其他操作。一个或多个处理器或者处理器和控制器可执行单个操作或者两个或更多个操作。

用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并且执行如上面描述的方法的指令或软件可被写为计算机程序、代码段、指令或其组合,以单独地或共同地指示或配置一个或多个处理器或计算机如机器或专用计算机那样操作,以执行由硬件组件执行的操作和如上面描述的方法。在一个示例中,指令或软件包括直接由一个或多个处理器或计算机执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级代码。可基于附图中示出的框图和流程图以及说明书中的相应描述使用任何编程语言编写指令或软件,说明书公开了用于执行由硬件组件执行的操作和如上所述的方法的算法。

用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并且执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件以及数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取存储器(ram)、闪存、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘和被配置为以非暂时性的方式存储指令或软件和任何相关联的数据、数据文件以及数据结构并将指令或软件以及任何相关联的数据、数据文件以及数据结构提供给一个或多个处理器或计算机以便一个或多个处理器或计算机能执行指令的任意装置。在一个示例中,指令或软件以及任何相关联的数据、数据文件以及数据结构被分布在联网的计算机系统上,使得指令或软件以及任何相关联的数据、数据文件以及数据结构通过一个或多个处理器或计算机以分布式的方式被存储、访问和执行。

虽然本公开包括特定示例,但是在理解本申请的公开后将清楚的是:在不脱离权利要求和它们的等同物的精神和范围的情况下,可对这些示例进行形式和细节上的各种改变。在此描述的示例应仅在描述意义上考虑,而非为了限制的目的。在每个示例中的特征或方面的描述将被视为可被应用于其他示例中的相似特征或方面。如果以不同的顺序执行描述的技术,和/或如果描述的系统、架构、装置或电路中的组件以不同方式被组合和/或被其他组件或其等同物替代或补充,则可实现合适的结果。因此,本公开的范围并非由具体实施方式限定,而是由权利要求和它们的等同物所限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为被包括在本公开中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1