用于提供多用户节电码本优化的系统和方法_3

文档序号:9893844阅读:来源:国知局
性的逻辑单元,来增强系统100。在一实施例中,编码器108可以包括保持对压缩统计的跟踪并且跨越大量的最终用户来进行改进的计数器。编码器108可以被配置具有关闭针对特定的客户端106的压缩的能力。
[0053]在一实施例中,DRAM存储器系统104可以被SoC102上的所有存储器客户端106使用。以这种方式,编码器108在来自所有存储器客户端106的所有业务的路径中。可能存在可能不期望编码来自某个客户端106的数据的实例。例如,如果显示处理器已经压缩了 DRAM数据,那么使编码器108重新尝试压缩会是对功率的浪费。因此,编码器108将具有单独的启用比特,并且还将收集针对每个客户端106的C比特统计。在每个DRAM事务期间的每个存储器客户端106可以包括唯一地标识该客户端的主ID(MID)。对于每个存储器客户端106,当其被启用用于压缩时,编码器108可以尝试压缩,并且其可以对事务的总数和未经压缩的事务的数量进行计数。这些计数器/统计对于CPU可以是可用的。默认可以是总是启用针对所有存储器客户端106的压缩。
[0054]为了禁用压缩,CPU可以清除针对特定的存储器客户端106的启用比特,并且从那时起,到DRAM存储器系统104的任何写入可以绕过编码器108,但是C比特可以仍然作为O被发送,这意味着数据是未经压缩的。从DRAM存储器系统104的任何读取可以包含经压缩的或未经压缩的数据,并且C比特可以正确地指示是否需要解压缩。例如,甚至在CPU已经清除了针对特定的存储器客户端106的压缩启用比特之后,仍然可以发生对所读取的数据的解压缩。
[0055]图11示出了可以由CPU访问的示例性的表1100。表1100包括客户端名称字段1102、主ID(MID)字段1104、压缩启用比特字段1106、事务总数字段1108以及未经压缩的事务总数字段1109。每个存储器客户端106具有唯一的MIDt3CPU可以启用或禁用针对每个客户端的压缩。当被启用时,编码器108可以保持针对每个客户端的压缩统计的经更新的计数,所述计数可以基于针对每个相应的客户端的业务的“可压缩性”来独立地启用或禁用压缩。例如,在一实施例中,如果特定的客户端具有超出可编程门限的足够的不可压缩的业务(C比特=O),那么可以禁用针对该客户端的压缩。
[0056]图8和9分别示出了编码器108和解码器122的实施例。编码器108可以包括可编程霍夫曼系数表804、级联/缓冲器810、补零组件814、计数器818以及C比特生成器820。编码器108在连接802上接收未经压缩的数据输入。在该示例中,未经压缩的数据包括32字节(8比特),如上所述。表804包括可以用于实现例如霍夫曼树500(图5)的可编程编码器系数。编码器系数可以是例如在重启期间从CPU加载的。CPU可以执行存在于ROM或辅加载器中的未经压缩的代码。霍夫曼输出(9比特)在连接806上被提供给级联/缓冲器810,所述级联/缓冲器810将经级联的输出(8比特)经由连接812提供给补零组件814。补零组件814将经压缩的输出(8比特)提供给连接816再到解码器122 (图9)。
[0057]大小(3比特)被经由连接808提供给计数器818。图1O是示出了 3比特表示(值0_7)和其相应的定义的表1000X比特生成器820可以被配置为确定何时达到预定的字节大小。C比特生成器820生成C比特并且经由连接822提供C比特,以标识连接816上的数据输入是否已经被压缩。如上所述,如果压缩产生了较大大小,那么可以将C比特设置为C = 0,这指示原始数据输入是输出,这是因为原始数据输入比经压缩的数据小(例如,经压缩的大小〉未经压缩的大小)。
[0058]参照图9,经压缩的数据和C比特可以分别经由连接816和822被缓冲器&左偏移组件902接收。经偏移的输出(8比特)可以经由连接904被提供给可编程反霍夫曼系数表905,所述可编程反霍夫曼系数表905包括由CPU加载的反系数。经解压缩的数据输出可以被经由连接908提供给内核存储器阵列124。
[0059]如上所述,系统100可以并入到任何期望的计算系统中。图12示出了系统100并入到示例性的便携式计算设备(PCD) 1200中。将易于认识到的是,系统100的某些组件(例如,编码器108)被包括在SoC 322(图12)上,而其它组件(例如,DRAM存储器系统104)是耦合到SoC 322的外部组件。SoC 322可以包括多内核CPU 402A。多内核CPU 1202可以包括第零内核410、第一内核412和第N内核414。内核中的一个内核可以包括例如图形处理单元(GPU),以及其它内核中的一个或多个内核包括CPU。
[0060]显示器控制器328和触摸屏控制器330可以耦合到CPU 1202。继而,在片上系统322外部的触摸屏显示器108可以耦合到显示器控制器1206和触摸屏控制器330。
[0061]图12还示出了视频编码器334(例如,逐行倒相(PAL)编码器、顺序传送彩色与存储制(SECAM)编码器或国家电视系统委员会(NTSC)编码器)耦合到多内核CPU 1202。此外,视频放大器336耦合到视频编码器334和触摸屏显示器1206。此外,视频端口 338耦合到视频放大器336。如图12所示,通用串行总线(USB)控制器340耦合到多内核CPU 1202。此外,USB端口 342耦合到USB控制器340。存储器1204和用户身份模块(SIM)卡346也可以耦合到多内核CPU 1202。存储器1204可以位于SoC322上或耦合到SoC 322(如图1所示)。存储器1204可以包括DRAM存储器系统104(图1),如上所述。
[0062]进一步地,如图12所示,数字相机348可以耦合到多内核CPU1202。在一示例性的方面中,数字相机348是电荷耦合器件(CCD)相机或互补金属氧化物半导体(CMOS)相机。
[0063]如图12进一步所示的,立体声音频编解码器(C0DEC)350可以耦合到多内核CPU1202。此外,音频放大器352可以耦合到立体声音频C0DEC350。在一个示例性的方面中,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图12示出麦克风放大器358也可以耦合到立体声音频CODEC 350。另外,麦克风360可以耦合到麦克风放大器358。在一特定的方面中,调频(FM)无线电调谐器362可以耦合到立体声音频CODEC 350。此外,FM天线364耦合到FM无线电调谐器362。此外,立体声耳机366可以耦合到立体声音频CODEC 350。
[0064]图12还示出射频(RF)收发机368可以耦合到多内核CPU 402AAF开关370可以耦合到RF收发机368和RF天线372。如图12所示,小键盘204可以耦合到多内核CPU 1202。此外,具有麦克风的单声道耳麦376可以耦合到多内核CPU 1202。此外,振动器设备378可以耦合到多内核CPUl 202。
[0065]图12还示出电源380可以耦合到片上系统322。在一特定的方面中,电源380是向PCD 1200的需要电力的各个组件提供电力的直流(DC)电源。此外,在一特定的方面中,电源是可再充电的DC电池,或者是从到连接到交流(AC)电源的AC到DC变压器得到的DC电源。
[0066]图12还示出PCD 1200还可以包括网卡388,其可以用于接入数据网,例如,局域网、个域网或任何其它网络。网卡388可以是蓝牙网卡、WiFi网卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网卡、电视/电缆/卫星调谐器、或本领域公知的任何其它网卡。此外,网卡388可以并入到芯片中,S卩,网卡388可以是芯片中的完全解决方案,以及可以不是单独的网卡388。
[0067]如图12中描绘的,触摸屏显示器1206、视频端口 338、USB端口 342、相机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声耳机366、RF开关370、RF天线372、小键盘374、单声道耳麦376、振动器378以及电源380是在片上系统322的外部的。
[0068]应当认识到的是,本文描述的方法步骤中的一个或多个方法步骤可以作为计算机程序指令(诸如上述模块)存储在存储器中。这些指令可以由任何适当的处理器结合或与相应的模块一起来执行,以执行本文描述的方法。
[0069]如上所述,可以由基于云的服务器来优化系统100所实现的压缩方案。图13示出了用于优化在并入到多个计算设备1302中的系统100中实现的压缩算法(例如,码表、压缩系数等)的计算机系统1300的实施例。计算机系统1300包括服务器1306,所述服务器1306经由通信网络1308与多个计算设备1302相通信。每个计算设备1302可以由相应的用户1304来操作。通信网络1308可以支持经由任何适当的协议(包括例如互联网、公共交换电话网(PSTN)、广域网、局域网、无线接入点或任何其它适当的通信基础设施)的有线和/或无线通
?目O
[0070]计算设备1302可以包括个人计算机、膝上型计算机、笔记本计算机、视频游戏控制台、便携式计算设备、移动电话等。如图13所示,计算设备1302包括用于通过根据压缩方法来编码存储器数据,来节省存储器系统中的功耗的系统100,如上所述。服务器1306经由通信网络1308与计算设备1302中的每个计算设备进行通信。
[0071]通常,计算机系统1300
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1