在多显示器系统上执行异步存储器时钟改变的制作方法
未命名
08-26
阅读:110
评论:0
在多显示器系统上执行异步存储器时钟改变
背景技术:
1.相关技术描述
2.许多类型的计算机系统包括用于显示图像、视频流和数据的显示装置。因此,这些系统通常包括用于生成和/或操纵图像和视频信息的功能。在数字成像中,图像中的最小信息项被称为“图片元素”,并且更一般地被称为“像素”。
3.一些系统包括多个单独的显示器。在这些系统中,多显示器技术使得单个图形处理单元(gpu)(或其他装置,诸如加速处理单元(apu)或其他类型的片上系统(soc)或具有显示控制器的任何专用集成电路(asic))能够同时支持多个独立的显示器输出。在一个示例中,计算系统可以独立地将多个高分辨率显示器连接到大的集成显示器表面中以提供扩展的视觉工作空间。游戏、娱乐、医疗、音频和视频编辑、商业和其他应用可以利用扩展的视觉工作空间并且增加多任务机会。
4.对于每个支持的显示器,视频子系统维持存储数据(诸如一个或多个视频帧)的相应帧缓冲区,该帧缓冲区可存储在动态随机存取存储器(dram)中。对于每个支持的显示器,视频控制器经由用于访问相应的帧缓冲区的一个或多个dram接口中的给定一个dram接口读取数据。存储器时钟通常用于控制访问dram内的帧缓冲区的数据速率。在一些情况下,为了提供用于将像素比特流从帧缓冲区传输到显示装置的物理连接,计算机通过接口诸如displayport(dp)、嵌入式displayport(edp)、高清晰度多媒体接口(hdmi)或其他类型的接口直接连接到显示装置。在一个具体实施中,从计算机发送到显示装置的视频流的带宽限制将是displayport、edp或hdmi线缆的最大比特率。
5.在多个工作负载(例如,游戏渲染、视频处理)正在访问存储器子系统的场景中,存储器子系统可以以其最大可能频率进行时钟计时以确保存储器子系统可以处理大量的读和写。在一些情况下,当存储器子系统未过度紧张时,系统可能期望降低存储器时钟频率以便降低功率消耗。改变存储器时钟频率可能需要在存储器接口上执行训练会话、配置/模式改变或需要暂时停止访问的另一动作。然而,在多显示器系统中,每个显示器可具有与将像素驱动到显示器相关联的不同时序性质。当存储器接口需要被重新训练时或当需要执行其他类型的模式改变时,这使得难以或不可能找到足够的持续时间来停止所有存储器访问而不在任何显示器上引入视觉伪影。因此,在一些系统中,存储器时钟可能被迫保持在最大频率或其他预先确定的频率。因此,多个显示器的功率消耗可能是显著的。随着现代集成电路(ic)的功率消耗增加,利用更昂贵的冷却系统(诸如更大的风扇、更大的散热器和用于控制环境温度的系统)来去除多余的热量并防止ic故障。这还可能导致更响亮的声音,并且因此导致不愉快的客户体验。
附图说明
6.通过结合附图参考以下描述,可更好地理解本文描述的方法和机制的优点,在附图中:
7.图1是计算系统的一个具体实施的框图。
8.图2是多显示器系统的一个具体实施的框图。
9.图3是用于多显示器系统的存储器时钟频率更新的时序的一个具体实施的时序图。
10.图4是根据一个具体实施的多显示器系统中的存储器时钟频率更新的时序图。
11.图5是示出用于在多显示器系统中执行存储器时钟频率改变的方法的一个具体实施的一般化流程图。
12.图6是示出用于操作多模时序控制器的方法的一个具体实施的一般化流程图。
13.图7是示出用于在部分psr模式期间执行存储器时钟频率更新的方法的一个具体实施的一般化流程图。
14.图8是示出用于确定何时改变存储器时钟频率的方法的一个具体实施的一般化流程图。
具体实施方式
15.在以下描述中,阐述了许多具体细节以提供对本文呈现的方法和机制的透彻理解。然而,本领域普通技术人员应当认识到,可在没有这些具体细节的情况下实践各种具体实施。在一些情况下,未详细示出众所周知的结构、部件、信号、计算机程序指令和技术,以避免模糊本文描述的方法。应当了解,为了简单和清楚说明,附图中所示的元件不一定按比例绘制。例如,这些元件中的一些元件的尺寸可相对于其他元件被放大。
16.本发明公开了用于在多个显示器上执行异步存储器时钟改变的系统、设备和方法。在一个具体实施中,多显示器系统从存储器子系统中的帧缓冲器驱动多个显示器。在一个具体实施中,控制单元基于当前操作条件实时确定存储器子系统上的存储器带宽需求。接着,控制单元将实时存储器带宽需求或预测的存储器带宽需求与在现有存储器时钟频率设置下可用的带宽进行比较。如果在现有存储器时钟频率设置下可用的带宽不同于实时存储器带宽需求或预测需求,则控制单元做出改变现有存储器时钟频率设置以更好地匹配实时需求的决定。在各种具体实施中,基于机器学习模型、启发法或其他技术来生成预测的存储器带宽需求。
17.当控制单元决定存储器时钟频率改变是存储器子系统所期望的时,控制单元使第一显示器转变到面板自刷新(psr)模式。转变到psr模式可能花费一些时间量,诸如一个或多个帧。如本文所用,“psr模式”被定义为当显示装置(即,面板)使用其自己的存储器来刷新屏幕上可见的内容而不是依赖于接口来提供像素流时。在将第一显示器置于psr模式的同时,控制单元检查第二显示器以确定垂直消隐间隔(vbi)何时将发生。一旦第一显示器的psr模式与第二显示器的vbi重叠,便启动存储器时钟频率改变。而且,许多存储器装置(例如,图形用双倍数据传输率6(gddr6)同步动态随机存取存储器(sdram)装置)在存储器时钟频率改变时需要存储器训练。对于这些存储器装置,作为存储器时钟频率改变的部分而执行存储器训练。在存储器时钟频率改变之后,第一显示器从psr模式转变出来,这可能花费一些时间量来发生,并且显示器由以更新的存储器时钟频率操作的存储器子系统中的帧缓冲区来驱动。
18.现在参考图1,示出了计算系统100的一个具体实施的框图。在一个具体实施中,计算系统100至少包括处理器105a-n、输入/输出(i/o)接口120、总线125、存储器控制器130、
网络接口135、存储器装置140、显示控制器150a-n、显示器155a-n和控制单元160。在其他具体实施中,计算系统100包括其他部件并且/或者计算系统100以不同方式布置。
19.显示控制器150a-n表示包括在系统100中的任何数量的显示控制器,其中该数量根据具体实施而变化。每个显示控制器150a-n驱动对应的显示器155a-n,其中显示器155a-n表示任何数量的显示器。在一些具体实施中,显示控制器150a-n中的单个显示控制器驱动多个显示器。
20.显示控制器150a包括缓冲区152a,该缓冲区用于存储当显示器155a处于面板自刷新(psr)模式时要显示的帧。当静态内容正被显示时使用psr模式,从而允许从缓冲区152a驱动显示器155a,而不是从存储器装置140的帧缓冲区142驱动。这有助于在屏幕内容不改变时降低功率消耗。例如,在台式计算机设置中,当用户正在查看文档或其他静态内容时,屏幕像素不改变,并且帧可被存储在缓冲区152a中以被重复地驱动到显示器155a。在另一示例中,在移动装置设置中,当移动装置正在显示主屏幕时,屏幕内容没有改变,并且因此显示器155a从存储在缓冲区152a中的帧被驱动。静态屏幕内容的其他示例可以在各种其他使用情况中遇到。
21.显示控制器150n还包括缓冲区152n,该缓冲区用于在显示器155n处于psr模式时的相同目的。然而,并非所有显示器155a-n都必须支持psr模式。因此,在一个具体实施中,系统100包括支持psr模式的一个或多个显示器和不支持psr模式的一个或多个显示器。
22.在一个具体实施中,控制单元160确定是否已经检测到用于执行功率状态改变的条件。而且,在此具体实施中,控制单元160监测显示器155a-n的垂直消隐间隔的时序。如本文所用,术语“垂直消隐间隔”被定义为在显示第一帧的最后可视行之后但在显示第二帧的第一可视行之前所经过的时间,其中第二帧在视频序列中紧接在第一帧之后。在帧内,存在有效行(即,扫描行)和垂直消隐行。有效行的数量确定有效帧时间,并且垂直消隐行的数量确定垂直消隐间隔的持续时间。在一些情况下,在垂直消隐间隔开始时生成垂直同步(或vsync)脉冲。在这些情况下,垂直同步脉冲用作垂直消隐间隔发生的标志。
23.当检测到用于执行功率状态改变的条件时,控制单元160确定何时实施功率状态改变,使得其与第一显示器处于psr模式同时第二显示器经历垂直消隐间隔一致。在一个具体实施中,功率状态改变涉及调整一个或多个存储器装置140的存储器时钟频率。可使用电路、存储器元件和程序指令的任何合适组合来实施控制单元160。应当注意,控制单元160还可以用其他名称来指代,诸如系统管理控制器、系统管理单元、系统控制器、控制器等。虽然在图1中示出了单个控制单元160,但是应当理解,这仅仅是一种具体实施的代表。在其他具体实施中,系统100可以包括位于任何适当位置的多个控制单元160。而且,在另一具体实施中,控制单元160由处理器105a-n中的一个处理器实施。
24.处理器105a-n表示包括在系统100中的任何数量的处理器。在一个具体实施中,处理器105a是通用处理器,诸如中央处理单元(cpu)。在该具体实施中,处理器105a执行驱动器110(例如,图形驱动器)以用于与系统100中的一个或多个其他处理器通信和/或控制该系统中的该一个或多个其他处理器的操作。应当注意,根据具体实施,驱动器110可使用硬件、软件和/或固件的任何合适的组合来实现。
25.在一个具体实施中,处理器105n是具有高度并行架构的数据并行处理器。数据并行处理器包括图形处理单元(gpu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用
集成电路(asic)等。在一些具体实施中,处理器105a-n包括多个数据并行处理器。在一个具体实施中,处理器105n是将像素数据渲染到表示图像的帧缓冲区142中的gpu。该像素数据然后被提供给显示控制器150a-n以分别被驱动到显示器155a-n。在其他具体实施中,像素数据被渲染到多个帧缓冲区中,其中每个帧缓冲区用于驱动单独的显示器155a-n。
26.存储器控制器130表示可由处理器105a-n访问的任何数量和类型的存储器控制器。虽然存储器控制器130被示出为与处理器105a-n分离,但应当理解,这仅仅表示一个可能的具体实施。在其他具体实施中,存储器控制器130可嵌入处理器105a-n中的一个或多个处理器内,并且/或者存储器控制器130可位于与处理器105a-n中的一个或多个处理器相同的半导体芯片上。存储器控制器130耦接到任何数量和类型的存储器装置140。存储器装置140表示任何数量和类型的存储器装置。例如,存储器装置140中的存储器的类型包括动态随机存取存储器(dram)、静态随机存取存储器(sram)、图形用双倍数据传输率6(gddr6)同步dram(sdram)、nand闪存存储器、nor闪存存储器、铁电随机存取存储器(feram)等。
27.i/o接口120表示任何数量和类型的i/o接口(例如,外围部件互连(pci)总线、pci-扩展(pci-x)、pcie(pci高速)总线、吉比特以太网(gbe)总线、通用串行总线(usb))。各种类型的外围装置(未示出)耦接到i/o接口120。此类外围装置包括(但不限于)显示器、键盘、鼠标、打印机、扫描仪、操纵杆或其他类型的游戏控制器、媒体记录装置、外部存储装置、网络接口卡等。网络接口135能够通过网络接收和发送网络消息。
28.在各种具体实施中,计算系统100是计算机、膝上型计算机、移动装置、游戏控制台、服务器、流式传输装置、可穿戴装置或各种其他类型的计算系统或装置中的任一种。应当注意,计算系统100的部件的数量因具体实施而异。例如,在其他具体实施中,存在比图1所示的数量更多或更少的每种部件。还应当注意,在其他具体实施中,计算系统100包括图1中未示出的其他部件(例如,锁相环路、电压调节器)以避免使图混乱。另外,在其他具体实施中,计算系统100以不同于图1所示的方式构造。
29.现在转向图2,示出了多显示器系统200的一个具体实施的框图。在一个具体实施中,系统200包括处理元件205、控制单元210、结构215、存储器子系统220、时序控制器240和260、以及显示装置250和270。虽然时序控制器240和260被示出为分别与显示装置250和270分离的部件,但这并不排除时序控制器240和260分别被集成在显示装置250和270内。换句话说,根据具体实施,时序控制器240和260可分别位于显示装置250和270的内部或外部。类似地,虽然缓冲区245被示出为位于时序控制器240内,但在其他具体实施中这并不排除缓冲区245位于时序控制器240外部。应当注意,时序控制器可以简称为“tcon”或“t-con”。一般来说,tcon从各种源接收视频图像和帧数据,处理该数据,然后将数据以与其目标显示器兼容的格式发送出去。
30.处理元件205表示任何数量、类型和布置的处理资源(例如,cpu、gpu、fpga、asic)。控制单元210包括执行单元、电路、存储器和程序指令的任何适当组合。虽然将控制单元210示出为与处理元件205分离的部件,但这代表一个特定的具体实施。在另一具体实施中,控制单元210的功能至少部分地由处理元件205执行。结构215表示任何数量和类型的总线、通信装置/接口、互连件以及用于将系统200的各种部件连接在一起的其他接口模块。
31.在一个具体实施中,处理元件205生成用于在显示装置250和270上显示的像素数据。在一个具体实施中,该像素数据由处理元件205写入到存储器220中的帧缓冲区230并且
接着从帧缓冲区230驱动到显示装置250和270。在一个具体实施中,存储在帧缓冲区230中的像素数据表示视频序列的帧。在另一具体实施中,存储在帧缓冲区230中的像素数据表示膝上型计算机或台式个人计算机(pc)的屏幕内容。在另外的具体实施中,存储在帧缓冲区230中的像素数据表示移动装置(例如,智能电话、平板电脑)的屏幕内容。
32.存储器子系统220包括任何数量和类型的存储器控制器和存储器装置。在一个具体实施中,存储器子系统200能够在可根据各种操作条件而调整的各种不同时钟频率下操作。然而,当实施存储器时钟频率改变时,通常执行存储器训练以修改各种参数、调整为数据传送而生成的信号的特性等。例如,在存储器训练期间测试和调整各种存储器接口信号的相位、延迟和/或电压电平。可以在存储器控制器和存储器之间进行各种信号传输,以便训练这些存储器接口信号。当修改存储器时钟频率时,找到执行该存储器训练的适当时间可能是具有挑战性的。
33.在一个具体实施中,当显示装置270处于psr模式并且当显示装置250具有垂直消隐间隔时,控制单元210使执行存储器时钟频率更新。这允许在不中断将显示数据驱动到显示装置250和270的情况下执行存储器训练。在psr模式期间,像素数据被存储在时序控制器240的缓冲区245中并被驱动到显示装置250,而不涉及存储器子系统220。换句话说,当在psr模式下操作时,显示装置250使用存储在缓冲区245中的像素数据执行自刷新。而且,当对于显示装置270发生垂直消隐间隔(vbi)时,没有数据从帧缓冲区230传送到显示装置270。这提供了用于启动存储器子系统220的存储器时钟频率改变的机会窗口。
34.在一个具体实施中,控制单元210包括存储器带宽监视器212、跟踪单元213和频率调整单元214。存储器带宽监视器212、跟踪单元213和频率调整单元214可使用电路、执行单元和程序指令的任何组合来实施。而且,在另一具体实施中,存储器带宽监视器212、跟踪单元213和频率调整单元214是与控制单元210分离的单独单元,而不是控制单元210的一部分。在其他具体实施中,控制单元210可包括执行与存储器带宽监视器212、跟踪单元213和频率调整单元214类似的功能的部件的其他布置。
35.在一个具体实施中,存储器带宽监视器212将存储器子系统220的实时存储器带宽需求与在现有存储器时钟下可用的存储器带宽进行比较。如果在现有存储器时钟下可用的存储器带宽与实时存储器带宽需求相差超过阈值,则控制单元210做出改变存储器子系统220的一个或多个时钟的频率的决定。当决定改变存储器子系统220的一个或多个时钟的频率时,跟踪单元213通过向时序控制器240发送对应的命令使显示装置250进入psr模式。显示装置250可能需要若干个帧才能进入psr模式。显示装置250所花费的帧的数量可根据具体实施而变化。跟踪单元213还跟踪显示装置270的vbi的时序。
36.在一个具体实施中,为了加快从非psr模式到psr模式的转变,跟踪单元213通过边带接口247向时序控制器240发送信号,以便时序控制器240扫描出先前存储的帧。应当注意,边带接口247与用于将像素传递到时序控制器240的主接口242分离。在一个具体实施中,主接口242是edp接口。在其他具体实施中,主接口242与各种其他协议中的任一者兼容。通过边带接口247发送信号允许调用先前存储的帧的扫描输出的时序和调度发生在显示装置270的vbi间隔之前的相对短的时间段(即,行时间)内。这与通过主接口242发送请求的传统方法形成对比,该传统方法可能导致在时序控制器240进入psr模式之前延迟若干帧。
37.一旦时序控制器240处于psr模式,频率调整单元214便生成命令以对pll 225进行
编程,从而在跟踪单元213确定将存在用于显示装置270的vbi时以不同频率生成存储器时钟。在其他具体实施中,控制单元210包括逻辑和/或单元的其他布置,以使在分别针对显示装置250和270的psr模式和vbi的重叠期间对存储器时钟频率进行调整。例如,在另一具体实施中,跟踪单元213和频率调整单元214被一起组合成单个单元。在另外的具体实施中,频率调整单元214分裂为多个单元,其中第一单元生成用于改变由pll 225生成的频率的命令,并且第二单元将命令发送到pll 225。用于实施控制单元210的功能的电路、处理元件、执行单元、接口单元、程序指令和其他部件的其他布置是可能的并且是可以预期的。
38.时序控制器(或tcon)的功能从tcon到tcon变化。一些tcon仅保留当前图片的一部分。对于这些tcon,为了使psr起作用,tcon需要进入一种模式(即,“启用psr”),在该模式中,每次扫描图片时,图片被复制到tcon的存储器中。然后,当进入psr时,从存储器读出最后的历史图片。某些tcon或tcon的特定模式总是具有可用的先前图片。在这种情况下进入psr模式不需要启用psr模式。因此,根据tcon的能力或功能,进入psr模式可以涉及两个步骤或一个步骤。
39.系统200可以是各种类型的计算系统中的任一种。例如,在一个具体实施中,系统200包括连接到外部显示器的膝上型计算机。在该具体实施中,显示装置250是膝上型计算机的内部显示器,而显示装置270是外部显示器。在另一具体实施中,系统200包括连接到外部显示器的移动装置。在该具体实施中,显示装置250是移动装置的内部显示器,而显示装置270是外部显示器。采用系统200的部件来实施本文中所描述的技术的其他场景是可能的并且是可以预期的。
40.在一些具体实施中,系统可具有三个或更多个显示器。例如,在一个具体实施中,系统具有支持psr的多个内部显示器。在该具体实施中,第二内部显示器可以包括与第一内部显示器类似的逻辑,并且当一个显示器被置于psr时,另一个显示器也将被置于psr。在另一具体实施中,该系统包括支持psr的多个外部显示器。系统将查询外部显示器并确定它们的能力以及如何触发psr或“自刷新”模式(如适用)。
41.在一个具体实施中,仅可支持单个非“能够自刷新的”显示器,只要其他显示器是“能够自刷新的”,但有以下例外:如果多个非能够自刷新的显示器的垂直消隐间隔可同步成偶尔重合,则可将该多个非能够自刷新的显示器视为单个显示器。例如,可以通过逐比特地(稍微)“牵拉”一个显示器的时序直到该时序与另一个显示器匹配来同步两个60hz显示器以具有一致的时钟。一旦同步,便可以偶尔使用非常小的调整来保持它们同步。这是通常被称为“时钟牵拉”或“同步锁定(genlocking)”的标准技术。在另一个示例中,60hz和30hz显示器可以利用类似技术使每秒vbi(就30hz显示器而言)同步。vbi间隔可在显示器之间不同,因此较短且一致的间隔将适用于训练/时钟改变。
42.现在参考图3,示出了用于多显示器系统的存储器时钟频率更新的时序的一个具体实施的时序图300。波形302示出了何时根据某些协议如hdmi或dp主动地建立外部显示器连接。外部显示器可能在显示器连接变为活动之前的某个时间已经被物理地连接。在现有技术中,当外部显示器连接到系统时,存储器时钟通常被设置为其最高可能频率。这背后的原因是在连接外部显示器时,将来对频率的调整将是不可行的,因为找到内部显示器和外部显示器两者都可以静默的时间是困难的。然而,使用本公开中所描述的技术,在连接外部显示器并且主动显示帧/图像时对存储器时钟频率的调整是可能的。
43.波形304表示外部显示器的垂直消隐(或vblank)间隔时序。波形304中所示的每个脉冲指示何时发生垂直消隐间隔。波形306示出了内部显示器的垂直消隐间隔的时序。波形308表示内部显示器何时进入面板自刷新(psr)模式。波形310表示功率状态(或pstate)改变何时发生。波形312表示存储器时钟的改变何时发生。
44.在由虚线314表示的时间点,对于内部显示器发生垂直消隐间隔。在由虚线316表示的时间点,内部显示器进入psr模式。然后,在由虚线318表示的时间点,外部显示器连接到系统。当外部显示器连接到系统时,psr模式被禁用(如果其已经被启用),并且存储器时钟频率被改变到其最高(或预先确定的)可能频率,因为未来存储器时钟频率改变将难以实施。在该示例中,用于主要显示器和外部显示器的垂直消隐间隔的重叠是罕见或不频繁发生的,并且不能被依赖为作为改变存储器时钟频率的可靠方式。然而,将存储器时钟保持在其最大频率结果在功率消耗方面是低效的。因此,需要用于进行存储器时钟频率改变的改进方法。
45.现在转向图4,示出了根据一个具体实施的多显示器系统中的存储器时钟频率更新的时序图400。时序图400包括与(图3的)时序图300中所示的波形相同的波形。例如,波形402表示外部显示器到系统的连接,波形404表示外部显示器的垂直消隐间隔的时序,波形406表示内部显示器的垂直消隐间隔的时序,波形408表示内部显示器何时进入psr模式(或者可能已经处于psr模式),波形410表示功率状态改变,以及波形412表示存储器时钟频率何时被调整。
46.在由虚线414表示的时间点,发生内部显示器的垂直消隐间隔。在由虚线416表示的时间点,内部显示器进入psr模式。在由虚线418表示的时间点处,当外部显示器连接到系统时实施功率状态改变,从而使存储器时钟频率达到其最大值。这类似于图3所示的方法中发生的情况。
47.在由虚线418表示的时间点和由虚线420表示的稍后时间点之间的间隔中的某一点处,做出改变存储器时钟频率的决定。一旦做出改变存储器时钟频率的决定,便向内部显示器发送信号以使内部显示器转变到psr模式(如果内部显示器还没有处于psr模式)。这种转变可能要花费一些时间量来发生,在一些情况下,在内部显示器进入psr模式之前将经过多个帧。一旦内部显示器在虚线420处进入psr模式,这便允许在由虚线422表示的时间点处发生功率状态改变,该时间点与外部显示器具有其垂直消隐间隔时一致。执行功率状态改变以降低存储器时钟频率,这导致功率消耗的降低。存储器时钟频率可处于低状态或处于最高频率与最低频率之间的中间某处的状态。在执行功率状态改变之后,根据在做出改变存储器时钟频率的决定之前内部显示器处于什么状态,内部显示器可以返回到其先前的psr开或关模式。
48.与等待内部显示器和外部显示器两者上的垂直消隐间隔的重叠的现有技术相比,使用psr模式来执行功率状态改变的这种技术使得更容易选择执行功率状态改变的时间。当显示器未被更新时,为了省电而选择处于psr模式是独立的决定—如果psr用于促进存储器/时钟/模式改变,则一旦该动作完成,psr状态便应该被恢复。
49.现在参考图5,示出了用于在多显示器系统中执行存储器时钟频率改变的方法500的一个具体实施。出于讨论的目的,以顺序的次序示出该具体实施中以及图6至图8的那些具体实施中的步骤。然而,应当注意,在所描述方法的各种具体实施中,同时地执行、以与所
示不同的次序执行、或完全省略所描述元素中的一个或多个元素。还根据需要执行其他另外的元素。本文所述的各种系统或设备中的任一者被配置为实现方法500。
50.控制单元确定满足用于引起驱动多个显示器的存储器子系统的存储器时钟频率的改变的一个或多个条件(框505)。在一个具体实施中,对存储器子系统的存储器时钟频率的改变作为功率状态改变的一部分来执行。触发对存储器时钟频率的改变的一个或多个条件可随具体实施而变化。方法800描述了用于触发对存储器时钟频率的改变的条件的一个示例。在其他具体实施中,其他条件可引起存储器时钟频率改变。例如,在一个具体实施中,连接或断开交流(ac)电力或直流(dc)电力可引起存储器时钟频率改变。根据功率源,可存在不同的可容许时钟范围。在另一具体实施中,主机系统或设备的温度的改变可触发对存储器时钟频率的期望的改变。例如,如果主机系统/设备的温度超过第一阈值,则控制单元将尝试降低功率消耗以便降低温度。降低功率消耗的方式之一是通过降低存储器时钟频率。在另外的具体实施中,如果温度下降到第二阈值以下,则控制单元可以增加存储器时钟频率,因为这样做将不使系统/设备过热。在又一具体实施中,如果认为需要提高性能,则控制单元将试图通过提高存储器时钟频率来提高性能。用于改变存储器时钟频率的其他条件是可能的并且是可以预期的。
51.在一些具体实施中,用于触发对存储器时钟频率的改变的条件可以是事件驱动的。存储器控制器可以在所使用的吞吐量瞬时地、在某个窗口内、或以某种方式暂时滤波时超过/低于某些阈值时发布事件。还可以存在基于软件、固件或硬件的机制,当提交工作负载时,该机制即使在调度或执行工作负载之前也知道或预测该工作负载需要资源。类似地,当工作负载结束时,该机制知道不再需要什么资源。而且,类似机制可解决周期性工作负载。在另一具体实施中,实时操作系统(rtos)可知晓截止时间,并且rtos可以根据接近的截止时间来挑选更优选的时钟。
52.接着,响应于检测到用于引起存储器时钟频率改变的条件,控制单元跟踪第一显示装置何时具有垂直消隐间隔(vbi)(框510)。而且,响应于检测到用于引起存储器时钟频率改变的条件,控制单元使第二显示装置进入psr模式(框515)。在一些情况下,进入psr模式可以涉及两个步骤,其中在第一步骤中启用psr模式,然后在第二步骤中进入psr模式。在至少一个具体实施中,这可以取决于第二显示装置的特定tcon的能力。如果第二显示装置已经处于psr模式,则可以跳过框515。在第二显示装置进入psr模式之后,如果第一显示装置具有垂直消隐间隔(条件框520,“是”分支),则控制单元在垂直消隐间隔期间启动存储器时钟频率更新(框525)。在一个具体实施中,作为存储器时钟频率更新的一部分,执行存储器训练。在执行存储器时钟频率更新之后,控制单元使第二显示装置退出psr模式(框530)。应当注意,如果检测到用于保持在psr模式的其他条件,则第二显示装置可以保持在psr模式。在框530之后,方法500结束。如果第二显示装置不在垂直消隐间隔中(条件框520,“否”分支),则方法500停留在条件框520处。应当注意,每当检测到用于改变存储器时钟频率的条件时,可重复方法500。
53.在各种具体实施中,方法500中描述的第一显示装置和第二显示装置具有不同的刷新率。例如,在一个具体实施中,第一显示装置具有第一刷新率(例如,60帧每秒(fps))并且第二显示装置具有第二刷新率(例如,24fps)。为了讨论的目的,假设第二刷新率不同于第一刷新速率。在该具体实施中,显示装置的vbi将以不同的速率发生,并且等待vbi对准不
是允许存储器时钟频率更新发生的可靠策略。这使得方法500成为即使在显示装置具有不同帧刷新率时仍允许发生存储器时钟频率更新的有用技术。
54.现在转向图6,示出了用于操作多模时序控制器的方法600的一种具体实施。时序控制器在第一模式下操作以将像素驱动到显示器(框605)。当在第一模式下操作时,时序控制器经由第一接口接收像素以驱动到显示器(框610)。在一个具体实施中,第一接口是edp接口。在其他具体实施中,第一接口可以是各种其他类型的接口中的任何一种。
55.然后,在稍后的时间点,时序控制器从主机(例如,处理器)接收信号或命令以抢先地切换到第二模式(框615)。根据具体实施,可以在第一接口上或使用边带信号来传送信号或命令。在一个具体实施中,第二模式是预psr模式,其允许相对快速地转变到psr模式。例如,在该具体实施中,虽然从第一模式切换到psr模式可能花费4或5个周期,但从预psr模式切换到psr模式可能仅花费1或2个周期。
56.接着,时序控制器从主机接收信号或命令以切换到第三模式(框620)。在一个具体实施中,第三模式是psr模式。在一种场景下,信号或命令指定在其期间时序控制器在第三模式下操作的帧的数量。当在第三模式下操作时,时序控制器从耦接到嵌入式帧缓冲区的第二接口接收像素以驱动到显示器(框625)。在一个具体实施中,时序控制器针对指定数量的帧将像素从嵌入式帧缓冲区驱动到显示器。在另一具体实施中,时序控制器将像素从嵌入式帧缓冲区驱动到显示器,直到从主机接收到退出第三模式的信号或命令。在任一情况下,时序控制器在稍后的时间点返回到第二模式或第一模式(框630)。时序控制器是从第三模式返回到第二模式还是第一模式可取决于各种因素,包括来自主机的特定命令、可编程设置、一个或多个操作条件的状态或其他因素。在框630之后,方法600结束。
57.现在参考图7,示出了用于在部分psr模式期间执行存储器时钟频率更新的方法700的一个具体实施。系统将像素数据驱动到第一显示装置和第二显示装置(框705)。在将像素数据驱动到第一显示装置和第二显示装置时,控制单元检测用于更新存储器子系统的存储器时钟频率的一个或多个条件(框710)。检测到的条件可随具体实施而变化。
58.响应于检测到用于更新存储器子系统的存储器时钟频率的条件,控制单元跟踪第一显示装置何时具有vbi(框715)。同样响应于检测到用于更新存储器子系统的存储器时钟频率的条件,控制单元使第二显示装置进入部分psr模式(框720)。部分psr模式是指当仅重绘屏幕的一部分而其余部分将从先前帧刷新(即,重复)时的模式。例如,当用户将鼠标移动到屏幕的新部分,但是其他屏幕内容保持相同时,可以实施部分psr模式以重用大部分先前帧,同时仅更新帧的受鼠标移动影响的部分。部分psr模式也可用于仅更新屏幕的一部分的其他场景。应当注意,部分psr模式有时也被称为“选择性更新psr”。
59.接着,控制单元跟踪部分psr模式的不同阶段的时序(框725)。然后,当第一显示装置的vbi与第二显示装置的部分psr模式的刷新部分重叠(即,对准)时,控制单元调度对存储器子系统的存储器时钟频率的更新发生(框730)。在框730之后,方法700结束。
60.现在转向图8,示出了用于确定何时改变存储器时钟频率的方法800的一个具体实施。存储器带宽监视器(例如,图2的存储器带宽监视器212)将存储器子系统的实时存储器带宽需求与在存储器时钟的现有频率下可用的存储器带宽进行比较(框805)。该比较可以在固定的或自适应的持续时间内瞬时地或多次地进行。实时存储器带宽需求取决于控制算法,并且可以包括当前的、最近的峰值、滚动平均值、滤波值或其他变型。在一个具体实施
中,实时存储器带宽需求包括如果工作负载已经被请求或调度发生但尚未开始的预测需求。在另一具体实施中,实时存储器带宽需求包括趋势需求。
61.如果在存储器时钟的现有频率下可用的存储器带宽(bw)与实时存储器带宽需求相差超过阈值(条件框810,“是”分支),则控制单元(例如,控制单元210)做出改变一个或多个存储器时钟的频率的决定(框815)。在一个具体实施中,每个存储器时钟具有单独的控制参数(例如,单独的阈值)。在各种具体实施中,阈值可包括时间滤波器、滞后等的分量。在一个具体实施中,如果可用存储器带宽超过需求,则可能存在可能延迟改变频率的启发条件或数学条件。如果可用存储器带宽小于需求,则控制单元可能想要尽可能快地增加频率。因此,条件框810中的条件可以是可编程的,并且包括时间、滤波等。
62.接着,跟踪单元(例如,跟踪单元213)和频率调整单元(例如,频率调整单元214)使在第一显示装置上的vbi与第二显示装置上的psr模式重叠时发生存储器时钟频率改变(框820)。在可编程延迟之后(框825),方法800返回到框805。框825中的可编程延迟防止存储器时钟频率改变滞后。否则,如果在存储器时钟的现有频率下可用的存储器带宽在实时存储器带宽需求的阈值内(条件框810,“否”分支),则方法800返回到框805。
63.在各种具体实施中,软件应用程序的程序指令用于实现本文所描述的方法和/或机制。例如,设想到可由通用处理器或专用处理器执行的程序指令。在各种具体实施中,此类程序指令由高级编程语言表示。在其他具体实施中,将程序指令从高级编程语言编译成二进制、中间或其他形式。另选地,写入描述硬件的行为或设计的程序指令。此类程序指令由高级编程语言诸如c表示。另选地,使用硬件设计语言(hdl),诸如verilog。在各种具体实施中,将程序指令存储在多种非暂态计算机可读存储介质中的任一种非暂态计算机可读存储介质上。存储介质可在使用期间由计算系统访问以向计算系统提供程序指令以用于程序执行。一般来说,这种计算系统至少包括一个或多个存储器以及被配置为执行程序指令的一个或多个处理器。
64.应当强调的是,上述具体实施仅是具体实施的非限制性示例。一旦完全了解上述公开内容,许多变型和修改对于本领域技术人员将变得显而易见。旨在将以下权利要求书解释为涵盖所有此类变型和修改。
技术特征:
1.一种设备,包括:跟踪单元,其中响应于确定满足用于改变存储器子系统的存储器时钟频率的条件,所述跟踪单元被配置为:跟踪第一显示装置的垂直消隐间隔(vbi)时序;使第二显示装置转变到面板自刷新(psr)模式;和频率调整单元,所述频率调整单元被配置为在所述第一显示装置的vbi与所述第二显示装置处于psr模式重叠时,使对所述存储器时钟频率进行调整。2.根据权利要求1所述的设备,其中所述调整使所述存储器时钟频率从第一频率改变到不同于所述第一频率的第二频率。3.根据权利要求1所述的设备,其中用于改变所述存储器时钟频率的所述条件包括与在所述存储器时钟频率下可用的存储器带宽相差超过阈值的存储器带宽需求。4.根据权利要求1所述的设备,其中所述跟踪单元被进一步配置为使所述第二显示装置在对所述存储器时钟频率进行所述调整之后退出psr模式。5.根据权利要求1所述的设备,其中所述设备被进一步配置为:使所述第二显示装置进入部分psr模式;以及当所述第二显示装置的所述部分psr模式的刷新部分与所述第一显示装置的所述vbi重叠时,调度对所述存储器时钟频率的所述调整发生。6.根据权利要求1所述的设备,其中所述设备被进一步配置为在所述第二显示装置处于psr模式同时对于所述第一显示装置发生所述vbi时,使执行存储器训练。7.根据权利要求1所述的设备,其中所述频率调整单元被进一步配置为:当所述第二显示器的所述psr模式与所述第一显示装置的所述vbi重叠时,向锁相环路发送命令,以使对所述存储器时钟频率进行所述调整。8.一种方法,包括:响应于确定满足用于改变存储器子系统的存储器时钟频率的条件,由控制单元跟踪第一显示装置的垂直消隐间隔(vbi)时序;使第二显示装置转变到面板自刷新(psr)模式;以及响应于所述第一显示装置的vbi与处于psr模式的所述第二显示装置重叠,使对所述存储器时钟频率进行调整。9.根据权利要求8所述的方法,其中所述调整使所述存储器时钟频率从第一频率改变到不同于所述第一频率的第二频率。10.根据权利要求8所述的方法,其中用于改变所述存储器时钟频率的所述条件包括与在所述存储器时钟频率下可用的存储器带宽相差超过阈值的实时存储器带宽需求。11.根据权利要求8所述的方法,还包括在对所述存储器时钟频率进行所述调整之后,使所述第二显示装置退出psr模式。12.根据权利要求8所述的方法,还包括:使所述第二显示装置进入部分psr模式;以及当所述第二显示装置的所述部分psr模式的刷新部分与所述第一显示装置的所述vbi重叠时,调度对所述存储器时钟频率的所述调整发生。13.根据权利要求8所述的方法,还包括在所述第二显示装置处于psr模式同时对于所
述第一显示装置发生所述vbi时,使执行存储器训练。14.根据权利要求8所述的方法,还包括响应于确定所述第二显示装置的所述psr模式与所述第一显示装置的所述vbi重叠,向锁相环路发送命令以使对所述存储器时钟频率进行所述调整。15.一种系统,包括:时序控制器,所述时序控制器被配置为将像素数据驱动到第一显示装置;和控制单元,其中响应于确定满足用于改变存储器子系统的存储器时钟频率的条件,所述控制单元被配置为:使所述时序控制器转变到面板自刷新(psr)模式;跟踪第二显示装置的垂直消隐间隔(vbi)时序;以及响应于确定所述时序控制器的所述psr模式与所述第二显示器的vbi重叠,使对存储器时钟频率进行调整。16.根据权利要求15所述的系统,其中所述调整使所述存储器时钟频率从第一频率改变到不同于所述第一频率的第二频率。17.根据权利要求15所述的系统,其中用于改变所述存储器时钟频率的所述条件包括与在所述存储器时钟频率下可用的存储器带宽相差超过阈值的实时存储器带宽需求。18.根据权利要求15所述的系统,其中所述控制单元被进一步配置为在对所述存储器时钟频率进行所述调整之后,使所述时序控制器退出psr模式。19.根据权利要求15所述的系统,其中所述控制单元被进一步配置为:使所述时序控制器进入部分psr模式;以及当所述时序控制器的所述部分psr模式的刷新部分与所述第二显示装置的所述vbi重叠时,调度对所述存储器时钟频率的所述调整发生。20.根据权利要求15所述的系统,其中所述控制单元被进一步配置为使在所述时序控制器处于psr模式同时对于所述第二显示装置发生所述vbi时,执行存储器训练。
技术总结
公开了用于在多个显示器上执行异步存储器时钟改变的系统、设备和方法。有时,存储用于将像素驱动到多个显示器的帧缓冲区的存储器子系统需要存储器时钟频率改变。例如,当实时存储器带宽需求与在现有存储器时钟频率下可用的存储器带宽不同时,控制单元跟踪第一显示器的垂直消隐间隔(VBI)时序。而且,该控制单元使第二显示器进入面板自刷新(PSR)模式。一旦该第二显示器的该PSR模式与该第一显示器的VBI重叠,便启动包括存储器训练的存储器时钟频率改变。在该存储器时钟频率改变之后,由该存储器子系统中的该帧缓冲区以更新的频率驱动该显示器。动该显示器。动该显示器。
技术研发人员:艾尔沙德
受保护的技术使用者:ATI科技无限责任公司
技术研发日:2021.12.16
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:组装并安装风力涡轮机的制作方法 下一篇:聚氨酯弹性纤维和其生产方法与流程
