CN106415655A - 虚拟存储器支持的压缩控制表面 - Google Patents

虚拟存储器支持的压缩控制表面 Download PDF

Info

Publication number
CN106415655A
CN106415655A CN201580027631.5A CN201580027631A CN106415655A CN 106415655 A CN106415655 A CN 106415655A CN 201580027631 A CN201580027631 A CN 201580027631A CN 106415655 A CN106415655 A CN 106415655A
Authority
CN
China
Prior art keywords
memory
codec
data
compression
control surface
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.)
Granted
Application number
CN201580027631.5A
Other languages
English (en)
Other versions
CN106415655B (zh
Inventor
J.K.尼尔松
T.G.阿克宁-梅勒
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN106415655A publication Critical patent/CN106415655A/zh
Application granted granted Critical
Publication of CN106415655B publication Critical patent/CN106415655B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

目的地为存储器的数据,即在高速缓存层级中的某级别处驱逐的数据,在被发送到存储器之前被拦截并受到压缩。由此,当压缩成功时,存储器带宽要求被降低,从而在一些实施例中潜在地导致更高的性能和/或能量效率。

Description

虚拟存储器支持的压缩控制表面
背景技术
在现代计算机系统中,集成电路芯片的向外部存储器的数据业务量开启或关闭是主要的性能瓶颈,且消耗所耗散的系统能量的显著部分。因此,存储器带宽要求可能限制系统的热设计点(TDP)且抑制性能缩放。通过使用高速缓存层级,避免了大量这种存储器业务量,这是由于可以发现最近使用的数据接近于处理器(例如,中央处理单元(CPU)或图形处理单元(GPU))。然而,甚至关于无限高速缓存,强制性高速缓存未命中引起存储器业务量。
当前系统仅可以压缩来自某些高速缓存的数据,并且经压缩的数据未由CPU和GPU以统一方式处置。例如,如果GPU可以压缩渲染目标的部分,并且如果CPU稍后想要读取该渲染目标,则整个渲染目标需要被解压缩并发送到CPU中的高速缓存。
先前的方法依赖于用于具体类型的数据的具体压缩处置。这由于压缩的性质——不同类型的数据以不同方式服从各种压缩方法——而是必然的。然而,先前的方法还具体且分别处置压缩控制,从而使得(在设计和证实有效方面)难以在系统中的新位置处引入压缩。
附图说明
关于以下附图描述一些实施例:
图1是一个实施例的压缩控制的描绘;
图2是一个实施例的TLB布局;
图3是一个实施例的示意性描绘;
图4是根据一个实施例的存储器读取的流程图;
图5是根据一个实施例的存储器写入的流程图;
图6是一个实施例的系统描绘;以及
图7是一个实施例的正视图。
具体实施方式
目的地为存储器的数据(即,在高速缓存层级中的某级别处驱逐的数据)在被发送到存储器之前被拦截且受到压缩。当压缩成功时,存储器带宽要求被降低,从而在一些实施例中潜在地导致更高的性能和/或能量效率。
利用压缩控制数据来增强作为虚拟存储器系统的一部分的现有数据结构和硬件机构(即,翻译后备缓冲器(TLB))。可以在操作系统中(例如在页表中以及在其它地方)增强数据结构。以一种简单形式存在的压缩控制数据可以针对每页表和TLB项包括以下各项:(i)具有每可压缩单元单个位的位向量(在下文中描述),其发信号通知对应单元是否被压缩;以及(ii)编解码器路由信息,即,哪个压缩器的标识被用于压缩数据。如果以隐式地标识要使用的编解码器的方式使用某些数据,则不需要编解码器路由信息。
被称为压缩控制的常见单个机构可以用于信号压缩。在该机构就位的情况下,可以通过在适当位置处引入新的编解码器来处置新压缩类型。关于常见压缩控制,还容易在共享存储器系统中维持压缩,例如其中在CPU和GPU之间共享数据。在该情况下,压缩控制伴随有地址映射,并且仅所访问的数据需要是未压缩的。在一些实施例中,不存在在与另一个实体共享数据之前对所有数据进行解压缩的需要,如在当前架构中那样。
以下描述的存储器页大小和存储器行大小不是限制性的,并且,还可以使用其它大小。附加地,假定压缩工作在整数数目的存储器事务(存储器行)上,例如,2:N、4:N或8:N压缩(在一般情况下,M:N),意味着两个、四个或八个存储器行分别可以被压缩成更少的存储器行。M个存储器行可以被视为可压缩单元。
对于简单情况,2:N压缩,针对每两个存储器行的一个位发信号通知该可压缩单元是否确实被压缩(缩小至50%)。对于4:N压缩,四个存储器行可以被压缩成1、2、3或4个存储器行,例如其中4意味着未压缩。因而,对于4:N压缩,针对每四个存储器行使用2个位以发信号通知压缩程度。类似地,对于M:N压缩,使用log 2 M个位以发信号通知针对每M个存储器行的压缩程度。
页中的存储器行的总数为L(例如,对于1kB页和64B存储器行,L=1024/64=16)。现在,每页表项(PTE)或TLB项的压缩控制位的所要求的数目为:
假定1千字节页、64字节存储器行和8:N压缩,则位的数目为((1024/64)/8)x3=6。对于4千字节页和64字节存储器行和4:N压缩,位的数目=((4096/64)/4)x2=32,等等。
除告知存储器页中的数据是否被压缩以及被压缩到什么程度的压缩控制之外,还存在指明用于经压缩的数据的特定编码器/解码器(编解码器)的需要。此处的假定为:相同编解码器用于整个所映射的页。针对每页表和TLB项使用单个小标识符。如果存在四种类型的编解码器(例如,颜色、深度、视频、无),则log24=2个位是指示哪个编解码器被使用所必需的。
在一个实施例中,当数据被分配时,路由信息被设立一次。在分配处,已知哪种类型的数据将要被存储在缓冲器中。另一个选项是:让用户指定与特定缓冲器或者甚至特定存储器页相关联的编解码器。如果用于缓冲器的编解码器在缓冲器的使用期限期间改变,则首先利用旧的编解码器对数据进行解压缩,并且然后使用新的编解码器对其进行压缩。
仅在以下系统中需要路由信息:在该系统中,以在其中访问数据的上下文没有显式地指示特定编解码器的方式在不同子系统之间共享数据。其中路由信息不必要的情形的示例是静态纹理,其仅由GPU中的采样器访问。因而不存在指示编解码器的需要,这是由于所有静态纹理数据仅由采样器访问。
压缩控制数据的高效位置直接处于TLB中。其它选项包括将数据存储在芯片上的另一个硬件单元中。对于包含所有存储器映射的页表同样成立,从而使其成为压缩控制的最合适位置。然而,再一次,另一个选项是将压缩控制存储在分离的缓冲器中。
图1是针对4千字节的存储器页大小和64字节的存储器行大小的示例压缩控制表面。关于2:N压缩,需要16个位以发信号通知压缩状态(即,128个字节是否已经被压缩小至64个字节),并且在该示例中,3个位用于编解码器路由,从而允许23=8个不同编解码器。
图2是具有8个项的TLB布局的示例。TLB可以被扩展有标题为压缩控制和路由的最右列。如图1中所示,压缩控制是指示可压缩单元是否被压缩的位向量,而路由信息指示当该数据未经压缩时要使用哪个编解码器。
图3示出了具有访问由虚拟地址14给定的存储器12的CPU和/或GPU 10的示例系统。虚拟地址被分割成虚拟页编号16和偏移18,其中页编号用于寻找TLB 20中的对应物理页编号。当被找到时,物理页编号22与偏移18一起形成被发送到高速缓存系统26的物理地址24。
在从存储器检索到数据之前,如果压缩控制表面指示对应数据确实被压缩,则在编解码器28中对数据进行解压缩。类似地,在写入数据之前,编解码器28可以尝试压缩数据并以经压缩形式写出数据(如果压缩成功的话;否则,其将退回到写入未经压缩的数据)。在压缩控制位中记录压缩算法在所得的存储器行数目的方面的成功。
图4和5的序列适用于分别使用压缩控制表面的存储器读取和存储器写入。它们可以以硬件、软件和/或固件实现。在软件和固件实施例中,它们可以使用存储在一个或多个非瞬变计算机可读介质中的计算机实现指令。例如,序列可以是中央处理单元或图形处理单元或二者的一部分。
图4中示出的序列30可以用于存储器读取。接收虚拟地址,如在框32中指示的那样。然后,将虚拟地址分割成虚拟页编号和偏移,如在框34中指示的那样。使用该信息以寻找物理地址并将它发送到高速缓存,如在框36中指示的那样。
然后,对访问控制表面进行访问,如在框38中指示的那样。如果如在菱形40中所确定的那样,访问控制表面指示数据被压缩,则可以使用在控制表面中指示的编解码器来对数据进行解压缩,如在框42中指示的那样。
图5中示出的写入序列50通过如在框52中指示的那样接收虚拟地址、如在框54中指示的那样分割虚拟地址以及在框56中指示的那样寻找物理地址而开始。然后,如在框58中指示的那样,尝试压缩。如果压缩成功,则与被用于压缩的编解码器一起,将压缩的成功记录在控制表面中,并且然后写入数据,如在框60中指示的那样。
本文描述的图形处理技术可以被实现在各种硬件架构中。例如,图形功能可以集成在芯片集内。可替换地,可以使用分立的图形处理器。作为又一个实施例,图形功能可以由通用处理器实现,通用处理器包括多核处理器。
图6图示了系统700的实施例。在实施例中,系统700可以是媒体系统,尽管系统700不限于该上下文。例如,系统700可以被并入到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备等等。
在实施例中,系统700包括耦合到显示器720的平台702。平台702可以从诸如(一个或多个)内容服务设备730或(一个或多个)内容递送设备740之类的内容设备或者其它类似内容源接收内容。包括一个或多个导航特征的导航控制器750可以用于与例如平台702和/或显示器720交互。这些组件中的每一个在下文中被更详细描述。
在实施例中,平台702可以包括芯片集705、处理器710、存储器712、存储装置714、图形子系统715、应用716和/或无线电装置718的任何组合。芯片集705可以提供处理器710、存储器712、存储装置714、图形子系统715、应用716和/或无线电装置718之间的相互通信。例如,芯片集705可以包括能够提供与存储装置714的相互通信的存储适配器(未描绘)。
处理器710可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在实施例中,处理器710可以包括(一个或多个)双核处理器、(一个或多个)双核移动处理器等等。处理器可以与存储器712一起实现图4和5的序列。
存储器712可以被实现为易失性存储器设备,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储装置714可以被实现为非易失性存储设备,诸如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储设备、附连存储设备、闪速存储器、电池备份SDRAM(同步DRAM)和/或网络可访问存储设备。在实施例中,存储装置714可以包括例如在包括多个硬盘驱动器时增加用于有价值的数字媒体的存储性能增强保护的技术。
图形子系统715可以执行诸如静止或视频之类的图像的处理以用于显示。图形子系统715可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以被用于通信耦合图形子系统715和显示器720。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD兼容技术中的任一个。图形子系统715可以集成到处理器710或芯片集705中。图形子系统715可以是通信耦合到芯片集705的独立卡。
本文描述的图形和/或视频处理技术可以被实现在各种硬件架构中。例如,图形和/或视频功能可以集成在芯片集内。可替换地,可以使用分立的图形和/或视频处理器。作为又一个实施例,图形和/或视频功能可以由通用处理器实现,该通用处理器包括多核处理器。在另外的实施例中,功能可以被实现在消费者电子设备中。
无线电装置718可以包括能够使用各种合适无线通信技术发射和接收信号的一个或多个无线电装置。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这样的网络的通信中,无线电装置718可以依照任何版本中的一个或多个适用的标准来进行操作。
在实施例中,显示器720可以包括任何电视类型的监视器或显示器。显示器720可以包括例如计算机显示屏、触摸屏显示器、视频监视器、电视类设备和/或电视。显示器720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息显示器。而且,显示器720可以是可接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用716的控制之下,平台702可以在显示器720上显示用户界面722。
在实施例中,(一个或多个)内容服务设备730可以由任何全国、国际和/或独立服务托管且因而对平台702来说经由例如互联网可访问。(一个或多个)内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或(一个或多个)内容服务设备730可以耦合到网络760以向网络760且从网络760传送(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备740也可以耦合到平台702和/或显示器720。
在实施例中,(一个或多个)内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的互联网启用的设备或器具、以及能够单向地或双向地经由网络760或直接地在内容提供商和平台702和/显示器720之间传送内容的任何其它类似设备。将领会到,内容可以经由网络760而向内容提供商和系统700中的任何一个组件且从内容提供商和系统700中的任何一个组件单向地和/或双向地传送。内容的示例可以包括任何媒体信息,其包括例如视频、音乐、医疗和游戏信息等等。
(一个或多个)内容服务设备730接收内容,诸如有线电视节目编排,包括媒体信息、数字信息和/或其它内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例不意在限制适用的实施例。
在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以用于例如与用户界面722交互。在实施例中,导航控制器750可以是指点设备,其可以为允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件组件(具体地,人机接口设备)。许多系统(诸如图形用户界面(GUI),以及电视和监视器)允许用户使用身体手势来控制数据并将数据提供给计算机或电视。
控制器750的导航特征的移动可以通过指针、光标、聚焦环或者在显示器上显示的其它视觉指示符的移动而在显示器(例如显示器720)上回波。例如,在软件应用716的控制之下,位于导航控制器750上的导航特征可以被映射到例如在用户界面722上显示的虚拟导航特征。在实施例中,控制器750可以不是分离的组件,而是集成到平台702和/或显示器720中。然而,实施例不限于这些元素或者不被限制在本文描述或示出的上下文中。
在实施例中,驱动器(未示出)可以包括使得用户能够在初始启动之后、例如在被启用时利用按钮的触摸来即时开启和关闭平台702(像电视)的技术。程序逻辑可以允许平台702在平台被“关闭”时将内容流送给媒体适配器或(一个或多个)其它内容服务设备730或(一个或多个)内容递送设备740。附加地,芯片集705可以包括用于例如5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互连(PCT)高速图形卡。
在各种实施例中,在系统700中示出的组件中的任何一个或多个可以被集成。例如,平台702和(一个或多个)内容服务设备730可以被集成,或者平台702和(一个或多个)内容递送设备740可以被集成,或者例如平台702、(一个或多个)内容服务设备730和(一个或多个)内容递送设备740可以被集成。在各种实施例中,平台702和显示器720可以是集成单元。显示器720和(一个或多个)内容服务设备730可以被集成,或者例如显示器720和(一个或多个)内容递送设备740可以被集成。这些示例不意在进行范围限制。
在各种实施例中,系统700可以被实现为无线系统、有线系统或二者的组合。当被实现为无线系统时,系统700可以包括适合于通过无线共享介质进行通信的组件和接口,诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等等。无线共享介质的示例可以包括无线频谱的部分,诸如RF频谱等等。当被实现为有线系统时,系统700可以包括适合于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、将I/O适配器与对应有线通信介质相连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可以包括导线、线缆、金属引线、印刷电路板(PCB)、底板、开关结构、半导体材料、双绞线、同轴线缆、光纤等等。
平台702可以建立一个或多个逻辑或物理信道以传送信息。该信息可以包括媒体信息和控制信息。媒体信息可以指代表示意在用于用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流送视频、电子邮件(“电邮”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音对话的数据可以是例如话音信息、沉默时段、背景噪声、舒适噪声、音调等等。控制信息可以指代表示意在用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于使媒体信息路由通过系统,或者指示节点以预定方式处理媒体信息。然而,实施例不限于这些元素或者不被限制在图6中示出或描述的上下文中。
如上文所述,系统700可以以变化的物理样式或形状因子体现。图7图示了其中可以体现系统700的小形状因子设备800的实施例。在实施例中,例如,设备800可以被实现为具有无线能力的移动计算设备。移动计算设备可以指代具有处理系统和移动电源或电力供给(诸如例如一个或多个电池)的任何设备。
如上文所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备等等。
移动计算设备的示例还可以包括被布置为由人穿戴的计算机,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂章计算机、鞋子计算机、衣物计算机以及其它可穿戴计算机。在实施例中,例如,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管作为示例可以利用被实现为智能电话的移动计算设备来描述一些实施例,但是可以领会到,也可以使用其它无线移动计算设备实现其它实施例。实施例不被限制在该上下文中。
以下条款和/或示例涉及进一步的实施例:
一个示例实施例可以是一种方法,包括:记录压缩是否成功,并且如果是,则将用于数据的压缩的编解码器记录在控制表面中,以及向存储器写入数据。所述方法还可以包括通过访问控制表面来读取数据。所述方法还可以包括针对每可压缩单元使用单个位来指示单元是否被压缩。所述方法还可以包括针对中央处理单元和图形处理单元二者使用相同的控制表面编码。所述方法还可以包括针对每项提供(L/M)xlog 2 M个压缩控制位,其中L是页中的存储器行的总数并且M是可压缩单元中的存储器行的数目。所述方法还可以包括通过包括颜色、深度或视频编解码器中的一个或多个的类型来在所述表面中对编解码器进行编码。所述方法还可以包括将表面存储在翻译后备缓冲器上。
另一个示例实施例可以是存储指令的一个或多个非瞬变计算机可读介质,所述指令由处理器执行以执行包括下述操作的序列:记录压缩是否成功,并且如果是,则将用于数据的压缩的编解码器记录在控制表面中,并且向存储器写入数据。该介质可以进一步存储包括下述操作的序列:通过访问控制表面来读取数据。该介质可以进一步存储包括下述操作的序列:针对每可压缩单元使用单个位来指示单元是否被压缩。该介质可以进一步存储包括下述操作的序列:针对中央处理单元和图形处理单元二者使用相同的控制表面编码。该介质可以进一步存储包括下述操作的序列:针对每项提供(L/M)xlog 2 M个压缩控制位,其中L是页中的存储器行的总数并且M是可压缩单元中的存储器行的数目。该介质可以进一步存储包括下述操作的序列:通过包括颜色、深度或视频编解码器中的一个或多个的类型来在所述表面中对编解码器进行编码。该介质可以进一步存储包括下述操作的序列:将表面存储在翻译后备缓冲器上。
在另一个示例实施例中可以是一种装置,包括:处理器,执行下述操作:记录压缩是否成功,并且如果是,则将用于数据的压缩的编解码器记录在控制表面中,并且向存储器写入数据;以及耦合到所述处理器的存储器。所述装置可以包括:所述处理器通过访问控制表面来读取数据。所述装置可以包括:所述处理器针对每可压缩单元使用单个位来指示单元是否被压缩。所述装置可以包括:所述处理器针对中央处理单元和图形处理单元二者使用相同的控制表面编码。所述装置可以包括:所述处理器针对每项提供(L/M)xlog 2 M个压缩控制位,其中L是页中的存储器行的总数并且M是可压缩单元中的存储器行的数目。所述装置可以包括:所述处理器通过包括颜色、深度或视频编解码器中的一个或多个的类型来在所述表面中对编解码器进行编码。所述装置可以包括:所述处理器将表面存储在翻译后备缓冲器上。所述装置可以包括通信耦合到处理器的显示器。所述装置可以包括耦合到处理器的电池。
遍及本说明书对“一个实施例”或“实施例”的引用意指:结合该实施例描述的特定特征、结构或特性被包括在本公开内所涵盖的至少一个实现方式中。因而,短语“一个实施例”或“在实施例中”的出现不一定指代相同的实施例。此外,该特定特征、结构或特性可以以除所图示的特定实施例外的其它合适形式而建立,并且所有这样的形式可以是在本申请的权利要求内所涵盖的。
尽管已经描述了有限数目的实施例,但是本领域技术人员将领会到从这些实施例的许多修改和变形。意图是,随附权利要求覆盖如落在本公开的真实精神和范围内的所有这样的修改和变形。

Claims (25)

1.一种方法,包括:
确定压缩是否成功;以及
将压缩是否成功记录在图形处理单元和中央处理单元可访问的存储器中的控制表面上。
2.根据权利要求1所述的方法,包括:如果压缩成功,则将用于压缩的编解码器记录在控制表面中。
3.根据权利要求1所述的方法,包括通过访问控制表面来读取数据。
4.根据权利要求1所述的方法,包括针对每可压缩单元使用单个位来指示单元是否被压缩。
5.根据权利要求1所述的方法,包括针对中央处理单元和图形处理单元二者使用相同的控制表面编码。
6.根据权利要求4所述的方法,包括针对每项提供(L/M)xlog 2 M个压缩控制位,其中L是页中的存储器行的总数并且M是可压缩单元中的存储器行的数目。
7.根据权利要求1所述的方法,包括通过包括颜色、深度或视频编解码器中的一个或多个的类型来在所述表面中对编解码器进行编码。
8.根据权利要求1所述的方法,包括将表面存储在翻译后备缓冲器上。
9.根据权利要求1所述的方法,包括存储表面以供页表进行控制。
10.根据权利要求9所述的方法,包括将表面存储在页表中。
11.存储指令的一个或多个非瞬变计算机可读介质,所述指令由处理器执行以执行包括以下各项的序列:
记录压缩是否成功,并且如果是,则将用于数据的压缩的编解码器记录在控制表面中;以及
将数据写入到存储器。
12.根据权利要求11所述的介质,所述序列包括通过访问控制表面来读取数据。
13.根据权利要求11所述的介质,所述序列包括针对每可压缩单元使用单个位来指示单元是否被压缩。
14.根据权利要求11所述的介质,所述序列包括针对中央处理单元和图形处理单元二者使用相同的控制表面编码。
15.根据权利要求13所述的介质,所述序列包括针对每项提供(L/M)xlog 2 M个压缩控制位,其中L是页中的存储器行的总数并且M是可压缩单元中的存储器行的数目。
16.根据权利要求11所述的介质,所述序列包括通过包括颜色、深度或视频编解码器中的一个或多个的类型来在所述表面中对编解码器进行编码。
17.根据权利要求11所述的介质,所述序列包括将表面存储在翻译后备缓冲器上。
18.一种装置,包括:
处理器,其记录压缩是否成功,并且如果是,则将用于数据的压缩的编解码器记录在控制表面中,并且将数据写入到存储器;以及
耦合到所述处理器的存储器。
19.根据权利要求18所述的装置,所述处理器通过访问控制表面来读取数据。
20.根据权利要求18所述的装置,所述处理器针对每可压缩单元使用单个位来指示单元是否被压缩。
21.根据权利要求18所述的装置,所述处理器针对中央处理单元和图形处理单元二者使用相同的控制表面编码。
22.根据权利要求20所述的装置,所述处理器针对每项提供(L/M)xlog 2 M个压缩控制位,其中L是页中的存储器行的总数并且M是可压缩单元中的存储器行的数目。
23.根据权利要求18所述的装置,所述处理器通过包括颜色、深度或视频编解码器中的一个或多个的类型来在所述表面中对编解码器进行编码。
24.根据权利要求18所述的装置,所述处理器将表面存储在翻译后备缓冲器上。
25.根据权利要求18所述的装置,包括通信耦合到处理器的显示器。
CN201580027631.5A 2014-06-26 2015-06-18 虚拟存储器支持的压缩控制表面 Expired - Fee Related CN106415655B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/315435 2014-06-26
US14/315,435 US9940733B2 (en) 2014-06-26 2014-06-26 Virtual memory supported compression control surfaces
PCT/US2015/036343 WO2015200083A1 (en) 2014-06-26 2015-06-18 Virtual memory supported compression control surfaces

Publications (2)

Publication Number Publication Date
CN106415655A true CN106415655A (zh) 2017-02-15
CN106415655B CN106415655B (zh) 2020-11-27

Family

ID=54931109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580027631.5A Expired - Fee Related CN106415655B (zh) 2014-06-26 2015-06-18 虚拟存储器支持的压缩控制表面

Country Status (9)

Country Link
US (1) US9940733B2 (zh)
EP (1) EP3161644A4 (zh)
JP (1) JP6386099B2 (zh)
KR (1) KR102192812B1 (zh)
CN (1) CN106415655B (zh)
RU (1) RU2656727C1 (zh)
SG (1) SG11201608976YA (zh)
TW (1) TWI569141B (zh)
WO (1) WO2015200083A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996461B1 (en) * 2014-09-24 2018-06-12 Marvell International Ltd. Dynamic differential compression for storage device look-up table
KR102535825B1 (ko) * 2015-06-03 2023-05-23 삼성전자주식회사 시스템 온 칩 및 시스템 온 칩의 동작 방법
US10453169B2 (en) * 2016-03-28 2019-10-22 Intel Corporation Method and apparatus for multi format lossless compression
US10262388B2 (en) * 2017-04-10 2019-04-16 Intel Corporation Frequent data value compression for graphics processing units
US11200112B1 (en) 2020-08-24 2021-12-14 International Business Machines Corporation Method and apparatus to reduce bandwidth overhead of CRC protection on a memory channel

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1124383A (zh) * 1994-04-18 1996-06-12 佳能株式会社 图像处理设备与方法
WO1996037846A1 (en) * 1995-05-22 1996-11-28 Syncronys Softcorp Virtual memory management system with adaptive knowledge base
US6266753B1 (en) * 1997-07-10 2001-07-24 Cirrus Logic, Inc. Memory manager for multi-media apparatus and method therefor
US20070126756A1 (en) * 2005-12-05 2007-06-07 Glasco David B Memory access techniques providing for override of page table attributes
US20110243469A1 (en) * 2009-10-07 2011-10-06 Mcallister David Kirk Selecting and representing multiple compression methods

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6879266B1 (en) * 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US6885319B2 (en) 1999-01-29 2005-04-26 Quickshift, Inc. System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US6557083B1 (en) * 2000-06-30 2003-04-29 Intel Corporation Memory system for multiple data types
EP1225704A1 (en) * 2001-01-12 2002-07-24 STMicroelectronics S.r.l. "A process and system for compressing and decompressing digital information and computer program product therefor
EP1423975A1 (en) 2001-07-11 2004-06-02 Daniel Kilbank System and method for compressing data
US6985853B2 (en) 2002-02-28 2006-01-10 Broadcom Corporation Compressed audio stream data decoder memory sharing techniques
JP4359773B2 (ja) * 2004-06-22 2009-11-04 ソニー株式会社 画像圧縮処理装置、画像圧縮処理方法および画像圧縮処理プログラム
US8001294B2 (en) * 2004-09-28 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for providing a compressed network in a multi-processing system
US7545382B1 (en) * 2006-03-29 2009-06-09 Nvidia Corporation Apparatus, system, and method for using page table entries in a graphics system to provide storage format information for address translation
US20080212130A1 (en) 2007-02-21 2008-09-04 Samsung Electronics Co., Ltd. Data file compression apparatus and method thereof
US9665951B2 (en) * 2007-12-20 2017-05-30 Telefonaktiebolaget Lm Ericsson (Publ) Unified compression/decompression graphics architecture
ATE540383T1 (de) * 2008-05-27 2012-01-15 Ericsson Telefon Ab L M Indexbasierte pixelblock-verarbeitung
KR101487190B1 (ko) * 2008-09-11 2015-01-28 삼성전자주식회사 압축 코덱을 구비한 플래시 메모리 집적 회로
US8862823B1 (en) * 2008-12-19 2014-10-14 Nvidia Corporation Compression status caching
US8341380B2 (en) * 2009-09-22 2012-12-25 Nvidia Corporation Efficient memory translator with variable size cache line coverage
US8627041B2 (en) * 2009-10-09 2014-01-07 Nvidia Corporation Efficient line and page organization for compression status bit caching
KR20110093258A (ko) * 2010-02-12 2011-08-18 삼성전자주식회사 맵 데이터 송수신 장치 및 방법
US8880851B2 (en) * 2011-04-07 2014-11-04 Via Technologies, Inc. Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline
US9208082B1 (en) * 2012-03-23 2015-12-08 David R. Cheriton Hardware-supported per-process metadata tags
US20150242432A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Modified Memory Compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1124383A (zh) * 1994-04-18 1996-06-12 佳能株式会社 图像处理设备与方法
WO1996037846A1 (en) * 1995-05-22 1996-11-28 Syncronys Softcorp Virtual memory management system with adaptive knowledge base
US6266753B1 (en) * 1997-07-10 2001-07-24 Cirrus Logic, Inc. Memory manager for multi-media apparatus and method therefor
US20070126756A1 (en) * 2005-12-05 2007-06-07 Glasco David B Memory access techniques providing for override of page table attributes
US20110243469A1 (en) * 2009-10-07 2011-10-06 Mcallister David Kirk Selecting and representing multiple compression methods

Also Published As

Publication number Publication date
CN106415655B (zh) 2020-11-27
KR20160148631A (ko) 2016-12-26
EP3161644A4 (en) 2018-03-07
KR102192812B1 (ko) 2020-12-18
EP3161644A1 (en) 2017-05-03
JP2017525020A (ja) 2017-08-31
US9940733B2 (en) 2018-04-10
JP6386099B2 (ja) 2018-09-05
RU2656727C1 (ru) 2018-06-06
TWI569141B (zh) 2017-02-01
SG11201608976YA (en) 2016-11-29
WO2015200083A1 (en) 2015-12-30
US20150379737A1 (en) 2015-12-31
TW201610678A (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN104471540B (zh) 通过统一存储器架构的存储器共享
CN106415655A (zh) 虚拟存储器支持的压缩控制表面
KR101634134B1 (ko) 블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품
TW201921251A (zh) 共享虛擬記憶體的技術(四)
CN104951263A (zh) 避免向显示器发送未改变的区域
TWI559217B (zh) 用於記憶體子系統之動態快取及記憶體分配技術
CN104952087A (zh) Mipmap压缩
CN104915916A (zh) 使用选择性色彩变换的色彩压缩
CN103179393B (zh) 降低运动补偿和显示刷新中的功耗的dram压缩方案
CN105229695A (zh) 图形数据的基于子集的压缩和解压缩
CN104025031B (zh) 减少应用中对共享存储器单元执行的顺序操作的数量
JP6182225B2 (ja) カラーバッファ圧縮
CN105074772A (zh) 通过使用不可达比特组合而改进的多采样抗锯齿压缩
CN103959199A (zh) 用于先进先出(fifo)存储器的功率节约方法和装置
CN104067318A (zh) 使用三维光栅化的时间连续碰撞检测
CN104125480B (zh) 改进的代码转换管理技术
CN104584544A (zh) 使用一般化平面编码的随机深度缓冲器压缩
CN104054049B (zh) 用于复制源数据从而实现对源数据的并行处理的方法和系统
CN105103512A (zh) 分布式图形处理
CN104754348B (zh) 用于自适应深度偏移压缩的方法和设备
CN102054051B (zh) 记录显示屏幕的内容
US11336294B2 (en) Hybrid, adaptive virtual memory compression
CN104025035B (zh) 当执行迭代处理连续数据的程序时减少对存储器io请求的数量
US20150186458A1 (en) Efficient method and hardware implementation for nearest neighbor search
US7861007B2 (en) Method and apparatus for multimedia display in a mobile device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201127

Termination date: 20210618

CF01 Termination of patent right due to non-payment of annual fee