CN116420184A - 通过片上高速缓存刷新显示器 - Google Patents

通过片上高速缓存刷新显示器 Download PDF

Info

Publication number
CN116420184A
CN116420184A CN202180072614.9A CN202180072614A CN116420184A CN 116420184 A CN116420184 A CN 116420184A CN 202180072614 A CN202180072614 A CN 202180072614A CN 116420184 A CN116420184 A CN 116420184A
Authority
CN
China
Prior art keywords
memory
display
determining
display data
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180072614.9A
Other languages
English (en)
Inventor
阿西施·贾恩
迪伦德拉·帕尔塔普辛格拉纳
塞缪尔·纳夫齐格
潘家东
本杰明·特西恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of CN116420184A publication Critical patent/CN116420184A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3618Control of matrices with row and column drivers with automatic refresh of the display panel using sense/write circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/2092Details of a display terminals using a flat panel, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/10Special adaptations of display systems for operation with variable images
    • G09G2320/103Detection of image changes, e.g. determination of an index representative of the image change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Power Sources (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

公开了使用片上高速缓存来刷新显示器,包括:确定已经满足静态显示条件;将第一显示数据存储在处理器的高速缓存存储器中;以及显示来自该高速缓存存储器的该第一显示数据。

Description

通过片上高速缓存刷新显示器
背景技术
当显示器处于静态屏幕状态时,仍需要周期性地刷新显示器。通常,为了刷新显示器,显示数据由显示控制器从存储器加载并且呈现在显示器上。在存储器子系统由于系统或用户不活动而处于空闲低功率状态的情况下,必须唤醒存储器子系统以便加载显示数据。因此,由于难以进入或保持在低功率状态,存储器子系统很可能由于进入低功率状态而节省更少功率。
附图说明
图1是根据一些实施方案的用于通过片上高速缓存刷新显示器的示例性装置的框图。
图2是根据一些实施方案的用于通过片上高速缓存刷新显示器的示例性方法的流程图。
图3是根据一些实施方案的用于通过片上高速缓存刷新显示器的示例性方法的流程图。
图4是根据一些实施方案的用于通过片上高速缓存刷新显示器的示例性方法的流程图。
图5是根据一些实施方案的用于通过片上高速缓存刷新显示器的示例性方法的流程图。
图6是根据一些实施方案的用于通过片上高速缓存刷新显示器的示例性方法的流程图。
具体实施方式
在一些实施方案中,公开了一种通过片上高速缓存刷新显示器的方法,所述方法包括:确定已经满足静态显示条件;将第一显示数据存储在处理器的高速缓存存储器中;以及显示来自所述高速缓存存储器的所述第一显示数据。
在一些实施方案中,确定已经满足静态显示条件包括:确定将显示静态图像;以及确定存储器子系统的一个或多个客户端是空闲的。在一些实施方案中,所述高速缓存存储器包括最后一级高速缓存(LLC)存储器。在一些实施方案中,所述方法还包括使存储器子系统进入降低功率状态。在一些实施方案中,确定已经满足静态显示条件由操作系统执行,并且所述方法还包括所述操作系统向所述处理器发送已经满足所述静态显示条件的指示。在一些实施方案中,所述方法还包括:确定不再满足所述静态显示条件;从存储器加载第二显示数据;以及显示所述第二显示数据。在一些实施方案中,所述方法还包括从存储器加载所述第一显示数据。
在一些实施方案中,公开了一种用于通过片上高速缓存刷新显示器的装置,所述装置执行步骤,所述步骤包括:确定已经满足静态显示条件;将第一显示数据存储在处理器的高速缓存存储器中;以及显示来自所述高速缓存存储器的所述第一显示数据。
在一些实施方案中,确定已经满足静态显示条件包括:确定将显示静态图像;以及确定存储器子系统的一个或多个客户端是空闲的。在一些实施方案中,所述高速缓存存储器包括最后一级高速缓存(LLC)存储器。在一些实施方案中,所述步骤还包括使存储器子系统进入降低功率状态。在一些实施方案中,确定已经满足静态显示条件由操作系统执行,并且所述步骤还包括所述操作系统向所述处理器发送已经满足所述静态显示条件的指示。在一些实施方案中,所述步骤还包括:确定不再满足所述静态显示条件;从存储器加载第二显示数据;以及显示所述第二显示数据。在一些实施方案中,所述步骤还包括从存储器加载所述第一显示数据。
在一些实施方案中,公开了一种计算机程序产品,所述计算机程序产品设置在非暂态计算机可读介质上,所述计算机程序产品存储用于通过片上高速缓存刷新显示器的计算机程序指令,所述计算机程序指令在被执行时使得计算机系统执行步骤,所述步骤包括:确定已经满足静态显示条件;将第一显示数据存储在处理器的高速缓存存储器中;以及显示来自所述高速缓存存储器的所述第一显示数据。
在一些实施方案中,确定已经满足静态显示条件包括:确定将显示静态图像;以及确定存储器子系统的一个或多个客户端是空闲的。在一些实施方案中,所述高速缓存存储器包括最后一级高速缓存(LLC)存储器。在一些实施方案中,所述步骤还包括使存储器子系统进入降低功率状态。在一些实施方案中,确定已经满足静态显示条件由操作系统执行,并且所述步骤还包括所述操作系统向所述处理器发送已经满足所述静态显示条件的指示。在一些实施方案中,所述步骤还包括:确定不再满足所述静态显示条件;从存储器加载第二显示数据;以及显示所述第二显示数据。在一些实施方案中,所述步骤还包括从存储器加载所述第一显示数据。
当显示器处于静态屏幕状态时,仍需要周期性地刷新显示器。当显示器呈现静态、不变的图像某段时间时,则认为显示器处于静态屏幕状态。通常,为了刷新显示器,显示数据由显示控制器从存储器加载并且呈现在显示器上。在存储器子系统由于系统或用户不活动而处于空闲低功率状态的情况下,必须唤醒存储器子系统以便加载显示数据。存储器子系统被唤醒以及显示数据被加载的速率取决于显示器的分辨率、显示器的刷新速率、所使用的显示器的数目和片上显示缓冲区的大小。存储器子系统是系统功率的主要消耗者之一。由于需要周期性地刷新显示器,大分辨率显示器(特别是当使用多个显示器时)阻止存储器子系统进入或保持在低功率状态。因此,由于难以进入或保持在低功率状态,存储器子系统很可能由于进入低功率状态而节省更少功率。
为了解决由周期性地刷新显示器引起的存储器子系统功耗的问题,图1是用于通过片上高速缓存刷新显示器的非限制的示例性装置100的框图。示例性装置100可以以各种方式实现,例如计算设备的母板或作为图形处理器(GPU)。因此,装置100可操作性地耦合到各种其他部件或设备并且在各种设备或系统中实现,这些设备或系统包括计算设备,例如移动设备、个人计算机、外围硬件部件、游戏设备、机顶盒等。装置100还可实现为同一系统中的多个可操作性部件,例如上述计算设备。
装置100包括处理器102。处理器102是包括各种集成电路、功能和逻辑部件的裸片。例如,在一些实施方案中,处理器102包括中央处理器(CPU)。在其他实施方案中,处理器102包括例如GPU或其他部件等硬件加速器的处理器102。在一些实施方案中,处理器102包括片上系统。
处理器102包括显示控制器104。显示控制器104包括一个或多个集成电路或逻辑部件,该一个或多个集成电路或逻辑部件生成用于输出到显示器106的视频信号。例如,显示控制器104基于对待显示的图像或帧进行编码的显示数据来生成视频信号。为此,显示控制器104将显示数据的一部分加载到显示缓冲区108中,并且基于显示缓冲区108中的显示数据107的部分生成用于显示器106的视频信号。显示缓冲区108是存储器(例如片上存储器)的专用部分,显示数据107的部分被加载到该专用部分中以编码为视频信号。因此,为了生成显示器的单个帧或刷新,在一些实施方案中,显示数据107的部分必须重复加载到显示缓冲区108中,从而覆盖显示数据107的之前加载的部分。尽管显示控制器104和显示缓冲区108被示为处理器102的部件,但是应当理解,在一些实施方案中,装置100包括与处理器102分离的显示控制器104和显示缓冲区108(例如,作为母板的单独部件或将处理器102可操作性地耦合到显示控制器104和显示缓冲区108的其他部件)。
装置100还包括存储器子系统110。存储器子系统110包括用于将数据存储在存储器中的功能部件。例如,存储器子系统110包括一个或多个存储器控制器112。存储器控制器112对存储器模块114执行所接收的读取和写入操作。存储器控制器112还在必要时刷新存储器模块114以便维持数据完整性。存储器模块114是随机存取存储器(RAM),该RAM包括动态随机存取存储器(DRAM)或可理解的其他类型的RAM。
返回到处理器102,处理器102还包括高速缓存116。高速缓存116是用于存储数据的芯片或裸片上的存储器,使得处理器102能够快速访问。因此,存储在高速缓存116中的数据频繁地镜像存储在存储器模块114中的数据。在一些实施方案中,高速缓存116包括最后一级高速缓存(LLC)存储器。LLC存储器是高速缓存116的最高级,并且由芯片的多个功能单元共享(例如,由处理器102的多个功能部件共享)。
处理器102还包括功率管理控制器118。功率管理控制器118是控制装置100的功率功能的微控制器或逻辑块。例如,功率管理控制器118监视功率连接和电池充电、控制到包括处理器102和存储器子系统110的各种部件的功率、关闭空闲系统部件、控制系统部件的操作功率模式(例如全功率、低功率)等。例如,如下文将进一步进行详细描述的,功率管理控制器118控制存储器子系统110是在全功耗模式中操作还是在降低或低功耗模式(如果出现空闲)中操作。
为了在正常操作期间(例如,当显示数据107跨帧是动态的并且高速缓存116的各个客户端活动时)刷新显示器106,显示控制器104从存储器模块114加载显示数据107。例如,显示数据107由操作系统120根据执行的各种操作或应用程序生成并且存储在存储器模块114中。然后显示控制器104将显示数据107的部分从存储器模块114加载到显示缓冲区108中,且基于经缓冲的显示数据107生成视频信号以输出到显示器106。
装置100确定是否已经满足静态显示条件。当将随时间显示的显示数据107为静态(例如,不变的)图像时,满足静态显示条件。因此,确定是否已经满足静态显示条件包括确定将显示静态图像。例如,在一些实施方案中,确定将显示静态图像包括确定鼠标、光标或其他用户界面元素空闲。确定用户界面元素空闲包括确定在某段时间内(例如,在时间窗口或阈值内)没有从鼠标、键盘或其他输入设备接收到输入。在一些实施方案中,确定将显示静态图像包括确定一个或多个多媒体或图形客户端(例如,视频播放器、游戏等)未在执行、是空闲的或未呈现任何显示数据107。由于没有客户端正在呈现变化的显示数据107并且由于没有用户界面元素正在变化,因此显示数据107将反映静态图像。
由于本文所述的方法依赖于片上高速缓存116的使用,因此,在一些实施方案中,确定已经满足静态显示条件还包括确定存储器子系统100的一个或多个客户端是空闲的。存储器子系统110的客户端是能够访问存储器子系统110以促进其操作的任何软件或硬件部件。因此,此类客户端包括图形进程、多媒体进程(例如,编码或解码引擎)或可理解的任何其他客户端。
在一些实施方案中,确定满足静态显示条件由操作系统120执行。例如,操作系统120监视输入设备以确定光标、鼠标指针或其他用户界面元素没有变化或移动。作为另一示例,操作系统120监视正被执行的活动进程或服务以确定高速缓存116的客户端是否空闲。因此,在一些实施方案中,响应于确定满足静态显示条件,操作系统120向处理器102生成满足静态显示条件的信号或其他指示。
然后,显示控制器104(例如,响应于来自操作系统120的满足静态显示条件的指示)从存储器模块114加载显示数据107。所加载的显示数据107对应于将在显示器106上显示的静态图像。然后,显示控制器104将显示数据107存储在高速缓存116中(例如,存储在LLC存储器中)。由于高速缓存116的客户端是空闲的,并且因此没有主动访问高速缓存116,所以在高速缓存116中存储显示数据107不会干扰高速缓存116的任何客户端的操作。然后,显示控制器104显示来自高速缓存116的显示数据107。例如,显示控制器104基于存储在高速缓存116中的显示数据107来生成视频信号。
如上所述,从高速缓存116加载由显示控制器104呈现的显示数据107。因此,存储器子系统110不需要处于活动或唤醒状态以使显示控制器104从存储器模块114加载显示数据107。因此,在一些实施方案中,响应于来自操作系统120的已经满足静态显示条件的指示,功率管理控制器118使存储器子系统110进入降低功率状态。通过进入降低功率状态,存储器子系统110总体上消耗更少功率。例如,响应于来自显示控制器104的用于指示显示数据107已从存储器模块114加载到高速缓存116中的指示,功率管理控制器118使存储器子系统110进入降低功率状态。
装置100还(例如,由操作系统120、由其他进程或功能部件)确定不再满足静态显示条件。例如,响应于对诸如键盘或鼠标之类的输入设备的输入,不再满足静态显示条件,该输入导致用户界面元素(例如,光标或鼠标指针)移动。作为另一示例,当应用程序、服务或其他软件模块(例如多媒体软件)致使呈现经更新的显示数据107时,不再满足静态显示条件。作为另一示例,当高速缓存116的客户端不再空闲时,不再满足静态显示条件。因此,显示控制器104恢复到从存储器模块114加载显示数据107并且显示从存储器模块114加载的显示数据107。因此,高速缓存116的客户端可以自由地使用高速缓存116来执行其操作。在功率管理控制器118使存储器子系统110进入降低功率状态的实施方案中,功率管理控制器118使存储器子系统110退出降低功率状态,使得可以从存储器模块114加载显示数据107。
通过在处于静态显示状态时(例如,当满足静态显示条件时)显示来自高速缓存116的显示数据107,对显示器106的刷新无需访问存储器子系统110。因此,存储器子系统110能够进入降低功率状态,从而在处于静态显示状态时降低总功耗。此外,由于高速缓存116的大小与显示缓冲区108相比往往相对较大,高速缓存116能够存储整个静态显示数据107,即使在使用多个显示器106并且具有高分辨率时也是如此。
为了进一步解释,图2阐述了示出用于通过片上高速缓存刷新显示器的示例性方法的流程图,该示例性方法包括(例如,由装置100)确定202已经满足静态显示条件。当将随时间显示的显示数据107为静态(例如,不变的)图像时,满足静态显示条件。因此,对于待显示的静态图像,鼠标指针、光标或其他用户界面元素必须随时间保持静态。另外,没有多媒体、图形或其他动态内容正在显示。当已经满足静态显示条件时,待显示的显示数据107将保持不变。
图2的方法还包括将第一显示数据107存储204在处理器102的高速缓存116存储器中。第一显示数据107对应于将在显示器106上显示的静态图像。在一些实施方案中,将第一显示数据107存储204在高速缓存116中包括从存储器(例如,从存储器模块114)加载第一显示数据107。然后,显示控制器104将显示数据107存储在高速缓存116中(例如,存储在LLC存储器中)。
图2的方法还包括显示206来自高速缓存116存储器的第一显示数据107。例如,显示控制器104基于存储在高速缓存116中的显示数据107来生成视频信号。只要继续满足静态显示条件,就继续从高速缓存116显示第一显示数据107。因此,能够在不访问存储器子系统110的情况下刷新所附接的显示器106。
为了进一步解释,图3阐述了示出用于通过片上高速缓存刷新显示器的示例性方法的流程图,该示例性方法包括(例如,由装置100)确定202已经满足静态显示条件;将第一显示数据107存储204在处理器102的高速缓存116存储器中;以及显示206来自高速缓存116存储器的第一显示数据107。
图3与图2的不同之处在于,确定202已经满足静态显示条件包括确定302将显示静态图像。例如,在一些实施方案中,确定将显示静态图像包括确定鼠标、光标或其他用户界面元素空闲。确定用户界面元素空闲包括确定在某段时间内(例如,在时间窗口或阈值内)没有从鼠标、键盘或其他输入设备接收到输入。在一些实施方案中,确定将显示静态图像包括确定一个或多个多媒体或图形客户端(例如,视频播放器、游戏等)未在执行、是空闲的或未呈现任何显示数据107。由于没有客户端正在呈现变化的显示数据107并且由于没有用户界面元素正在变化,因此显示数据107将反映静态图像。
图3与图2的不同之处还在于,确定202已经满足静态显示条件包括确定304存储器子系统110存储器的一个或多个客户端是空闲的。存储器子系统110的客户端是能够访问存储器子系统110以促进其操作的任何软件或硬件部件。因此,此类客户端包括图形进程、多媒体进程(例如,编码或解码引擎)或可理解的任何其他客户端。当此类客户端是空闲的时,存储器子系统110能够进入降低功率状态,从而节省更多功率。
为了进一步解释,图4阐述了示出用于通过片上高速缓存刷新显示器的示例性方法的流程图,该示例性方法包括(例如,由装置100)确定202已经满足静态显示条件;将第一显示数据107存储204在处理器102的高速缓存116存储器中;以及显示206来自高速缓存116存储器的第一显示数据107。
图4与图2的不同之处在于,图4的方法包括使402存储器子系统110进入降低功率状态。如上所述,从高速缓存116加载由显示控制器104呈现的第一显示数据107。因此,存储器子系统110不需要处于活动或唤醒状态以使显示控制器104从存储器模块114加载第一显示数据107。通过进入降低功率状态,存储器子系统110总体上消耗更少功率。例如,响应于来自显示控制器104的用于指示第一显示数据107已从存储器模块114加载到高速缓存116中的指示,功率管理控制器118使存储器子系统110进入降低功率状态。
为了进一步解释,图5阐述了示出用于通过片上高速缓存刷新显示器的示例性方法的流程图,该示例性方法包括(例如,由装置100)确定202已经满足静态显示条件;将第一显示数据107存储204在处理器102的高速缓存116存储器中;以及显示206来自高速缓存116存储器的第一显示数据107。
图5与图2的不同之处在于,图5的方法包括操作系统120向处理器102发送502已经满足静态显示条件的指示。在一些实施方案中,确定202满足静态显示条件由操作系统120执行。例如,操作系统120监视输入设备以确定光标、鼠标指针或其他用户界面元素没有变化或移动。作为另一示例,操作系统120监视正被执行的活动进程或服务以确定高速缓存116的客户端是否空闲。因此,在一些实施方案中,响应于确定满足静态显示条件,操作系统120向处理器102生成满足静态显示条件的信号或其他指示。
为了进一步解释,图6阐述了示出用于通过片上高速缓存刷新显示器的示例性方法的流程图,该示例性方法包括(例如,由装置100)确定202已经满足静态显示条件;将第一显示数据107存储204在处理器102的高速缓存116存储器中;以及显示206来自高速缓存116存储器的第一显示数据107。
图6与图2的不同之处在于,图6的方法包括确定602不再满足静态显示条件。例如,响应于对诸如键盘或鼠标之类的输入设备的输入,不再满足静态显示条件,该输入导致用户界面元素(例如,光标或鼠标指针)移动。作为另一示例,当应用程序、服务或其他软件模块(例如多媒体软件)致使呈现经更新的第二显示数据107时,不再满足静态显示条件。作为另一示例,当高速缓存116的客户端不再空闲时,不再满足静态显示条件。
图6的方法还包括从存储器(例如,从存储器模块114)加载604第二显示数据107。在功率管理控制器118使存储器子系统110进入降低功率状态的实施方案中,从存储器加载604第二显示数据107包括使存储器子系统110退出降低功率状态(例如,“唤醒”存储器子系统110)。将第二显示数据107从存储器加载到显示缓冲区108中。图6的方法还包括显示606第二显示数据107。例如,显示控制器104基于存储在显示缓冲区108中的第二显示数据107生成视频信号。因此,当不满足静态显示条件时,使用从存储器加载的显示数据107来刷新显示器106。
鉴于以上阐述的解释,读者将认识到通过片上高速缓存刷新显示器的有益效果包括:
·通过确保显示器能够在不访问或唤醒存储器子系统的情况下得到刷新,改进了空闲静态屏幕场景期间降低功率使用的计算系统的性能。
本公开的示例性实施方案主要在用于通过片上高速缓存刷新显示器的全功能计算机系统的上下文中描述。然而,熟悉本领域的读者将认识到,本公开还可体现在设置在计算机可读存储介质上的用以与任何合适的数据处理系统一起使用的计算机程序产品中。此类计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁介质、光介质或其他合适的介质。此类介质的示例包括硬盘驱动器或软盘中的磁盘、光盘驱动器的光盘、磁带以及本领域的技术人员可想到的其他介质。本领域的技术人员将立即认识到,具有适当编程装置的任何计算机系统将能够执行如在计算机程序产品中体现的本公开的方法的步骤。本领域的技术人员还将认识到,尽管本说明书中描述的一些示例性实施方案针对在计算机硬件上安装和执行的软件,然而,被实现为固件或硬件的另选实施方案也在本公开的范围内。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本公开的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是(例如但不限于)电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或前述项的任何合适组合。计算机可读存储介质的更具体示例的不完全列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码的设备(诸如其上记录有指令的槽中的穿孔卡片或凸起结构)以及前述项的任何合适组合。如本文所用的计算机可读存储介质不能被理解为瞬时信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任何组合编写的源代码或目标代码,编程语言包括诸如Smalltalk、C++等面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令可整个地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上执行并且部分地在远程计算机上执行或者整个地在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施方案中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可执行计算机可读程序指令,具体通过利用计算机可读程序指令的状态信息来个性化处理电子电路,以便执行本公开的各方面。
本公开的各方面在此参考根据本公开的实施方案的方法、装置(系统)和计算机程序产品的流程图图示和/或框图进行描述。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可由计算机可读程序指令来实现。
这些计算机可读程序指令可提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以得到机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令形成用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的构件。这些计算机可读程序指令还可存储在可指示计算机、可编程数据处理装置和/或其他设备以特定方式起作用的计算机可读存储介质中,使得其中存储有指令的计算机可读存储介质包括包含实现在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令的制品。
计算机可读程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备上,导致在计算机、其他可编程装置或其他设备上执行一系列操作步骤以得到计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
图中的流程图和框图示出了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能具体实施的体系结构、功能和操作。就这一点而言,流程图或框图中的每个框可表示指令的包括用于实现指定逻辑功能的一个或多个可执行指令的模块、段或部分。在一些另选的具体实施中,框中指出的功能可不按照图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可基本上同时执行,或者这些框有时可以相反顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
从前面的描述将理解,可在本公开的各种实施方案中进行修改和改变。本说明书中的描述仅用于说明目的,而不应以限制性意义进行解释。本公开的范围仅由所附权利要求书的语言限定。

Claims (20)

1.一种使用片上高速缓存来刷新显示器的方法,所述方法包括:
确定已经满足静态显示条件;
将第一显示数据存储在处理器的高速缓存存储器中;以及
显示来自所述高速缓存存储器的所述第一显示数据。
2.根据权利要求1所述的方法,其中确定已经满足静态显示条件包括:
确定将显示静态图像;以及
确定存储器子系统的一个或多个客户端是空闲的。
3.根据权利要求1所述的方法,其中所述高速缓存存储器包括最后一级高速缓存(LLC)存储器。
4.根据权利要求1所述的方法,还包括使存储器子系统进入降低功率状态。
5.根据权利要求1所述的方法,其中确定已经满足静态显示条件由操作系统执行,并且所述方法还包括所述操作系统向所述处理器发送已经满足所述静态显示条件的指示。
6.根据权利要求1所述的方法,还包括:
确定不再满足所述静态显示条件;
从存储器加载第二显示数据;以及
显示所述第二显示数据。
7.根据权利要求1所述的方法,还包括从存储器加载所述第一显示数据。
8.一种用于通过片上高速缓存刷新显示器的装置,所述装置被配置为执行步骤,所述步骤包括:
确定已经满足静态显示条件;
将第一显示数据存储在处理器的高速缓存存储器中;以及
显示来自所述高速缓存存储器的所述第一显示数据。
9.根据权利要求8所述的装置,其中确定已经满足静态显示条件包括:
确定将显示静态图像;以及
确定存储器子系统的一个或多个客户端是空闲的。
10.根据权利要求8所述的装置,其中所述高速缓存存储器包括最后一级高速缓存(LLC)存储器。
11.根据权利要求8所述的装置,其中所述步骤还包括使存储器子系统进入降低功率状态。
12.根据权利要求8所述的装置,其中确定已经满足静态显示条件由操作系统执行,并且所述步骤还包括所述操作系统向所述处理器发送已经满足所述静态显示条件的指示。
13.根据权利要求8所述的装置,其中所述步骤还包括:
确定不再满足所述静态显示条件;
从存储器加载第二显示数据;以及
显示所述第二显示数据。
14.根据权利要求8所述的装置,其中所述步骤还包括从存储器加载所述第一显示数据。
15.一种计算机程序产品,所述计算机程序产品设置在非暂态计算机可读介质上,所述计算机程序产品包括用于通过片上高速缓存刷新显示器的计算机程序指令,所述计算机程序指令在被执行时使得计算机系统执行步骤,所述步骤包括:
确定已经满足静态显示条件;
将第一显示数据存储在处理器的高速缓存存储器中;以及
显示来自所述高速缓存存储器的所述第一显示数据。
16.根据权利要求15所述的计算机程序产品,其中确定已经满足静态显示条件包括:
确定将显示静态图像;以及
确定存储器子系统的一个或多个客户端是空闲的。
17.根据权利要求15所述的计算机程序产品,其中所述高速缓存存储器包括最后一级高速缓存(LLC)存储器。
18.根据权利要求15所述的计算机程序产品,其中所述步骤还包括使存储器子系统进入降低功率状态。
19.根据权利要求15所述的计算机程序产品,其中确定已经满足静态显示条件由操作系统执行,并且所述步骤还包括所述操作系统向所述处理器发送已经满足所述静态显示条件的指示。
20.根据权利要求15所述的计算机程序产品,其中所述步骤还包括:
确定不再满足所述静态显示条件;
从存储器加载第二显示数据;以及
显示所述第二显示数据。
CN202180072614.9A 2020-10-27 2021-09-20 通过片上高速缓存刷新显示器 Pending CN116420184A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063106124P 2020-10-27 2020-10-27
US63/106,124 2020-10-27
US17/134,770 2020-12-28
US17/134,770 US20220130342A1 (en) 2020-10-27 2020-12-28 Refreshing displays using on-die cache
PCT/US2021/051084 WO2022093428A1 (en) 2020-10-27 2021-09-20 Refreshing displays using on-die cache

Publications (1)

Publication Number Publication Date
CN116420184A true CN116420184A (zh) 2023-07-11

Family

ID=81257074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180072614.9A Pending CN116420184A (zh) 2020-10-27 2021-09-20 通过片上高速缓存刷新显示器

Country Status (6)

Country Link
US (1) US20220130342A1 (zh)
EP (1) EP4238087A1 (zh)
JP (1) JP2023548286A (zh)
KR (1) KR20230098271A (zh)
CN (1) CN116420184A (zh)
WO (1) WO2022093428A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7800621B2 (en) * 2005-05-16 2010-09-21 Ati Technologies Inc. Apparatus and methods for control of a memory controller
US20080143695A1 (en) * 2006-12-19 2008-06-19 Dale Juenemann Low power static image display self-refresh
US20150248741A1 (en) * 2014-03-02 2015-09-03 Qualcomm Incorporated System and method for providing power-saving static image display refresh in a dram memory system
US9620088B2 (en) * 2015-03-11 2017-04-11 Intel Corporation Technologies for low-power standby display refresh
US20160358303A1 (en) * 2015-06-08 2016-12-08 Nvidia Corporation Low-power state with a variable refresh rate display
US11410264B2 (en) * 2019-09-27 2022-08-09 Intel Corporation Switchable image source in a hybrid graphics systems

Also Published As

Publication number Publication date
EP4238087A1 (en) 2023-09-06
US20220130342A1 (en) 2022-04-28
WO2022093428A1 (en) 2022-05-05
JP2023548286A (ja) 2023-11-16
KR20230098271A (ko) 2023-07-03

Similar Documents

Publication Publication Date Title
US10332230B2 (en) Characterizing GPU workloads and power management using command stream hinting
KR101931073B1 (ko) 프로세싱 유닛을 위한 프레임 기반 클럭 레이트 조정
US10310586B2 (en) Memory power savings in idle display case
US7800621B2 (en) Apparatus and methods for control of a memory controller
US9620088B2 (en) Technologies for low-power standby display refresh
US8738945B2 (en) Using non-lossless compression to save power
JP2014517928A (ja) 表示画像の選択的な更新によるプラットフォーム電力消費の制御
US10228750B2 (en) Reducing the power consumption of an information handling system capable of handling both dynamic and static display applications
KR20230073302A (ko) 멀티플렉서에서의 글리치리스 gpu 전환
US8314806B2 (en) Low power display mode
US7782313B2 (en) Reducing power during idle state
CN116420184A (zh) 通过片上高速缓存刷新显示器
US7844842B2 (en) Variable refresh rate for power management
US9342134B2 (en) Power consumption reduction in a computing device
CN108563605A (zh) 一种调整电子阅读器刷新率的方法、设备和计算机存储介质
US20240168658A1 (en) System and Method to Reduce Power Consumption When Conveying Data to a Device
US20230368325A1 (en) Technique to optimize power and performance of xr workload
WO2021196175A1 (en) Methods and apparatus for clock frequency adjustment based on frame latency
US20140082391A1 (en) Computer system and power management method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination