信息处理系统中的存储器压缩的制作方法

文档序号:6454300阅读:141来源:国知局
专利名称:信息处理系统中的存储器压缩的制作方法
技术领域
本发明一般地涉及存储器系统,具体地说,涉及采用使用存储器压缩 的存储器系统的信息处理系统。
背景技术
存储器带宽和存储器容量是现代信息处理系统体系结构中的主要关注 对象。存储器的成本可以构成信息处理系统总体成本的非常重要部分。此 外,存储器系统越来越难以传送高性能信息处理系统所需的数据量。出现 这种情况是因为诸如功耗和可用于引脚布置的存储器模块面积之类的物理 约束限制了存储器模块的信号速度和信号引脚数量。在系统存储器体系结构的另 一方面中,存储器容量以至少两种方式影 响信息处理系统设计和性能。低成本信息处理系统在此类系统中包括的物 理存储器数量很有限。在高端信息处理系统中,性能随在诸如主存储器之 类的低等待时间存储装置中存储高数据量的能力而提高。数据压缩技术为这些设计难题提供了有吸引力的解决方案。更具体地 说,对于给定数量的物理存储容量,数据压缩可以增加有效的存储器大小。 遗憾的是,用于存储器系统的常规数据压缩方法往往涉及诸如专用芯片组 之类的昂贵和高复杂性电路。例如,此类方法可以采用使用存储器压缩的 专用存储器控制器,以便与基本上未修改的系统体系结构一起使用。为了 加速压缩和解压缩,此类常规存储器系统可以将未压缩数据存储在高速緩 冲存储器中,而将已压缩数据存储在主系统存储器中。在此情况下,专用 存储器控制器控制在高速緩冲存储器与主系统存储器之间传送的数据的压 缩和解压缩。此类专用存储器控制器将导致额外的系统复杂性和成本。发明内容相应地,在一个实施例中,披露了一种用于压缩和解压缩异构多核处 理器中的信息的方法。所述方法包括由显示第一体系结构的第一处理器核 心处理信息以及由显示第二体系结构的第二处理器核心处理信息。所述方 法还包括由所述第二处理器核心压缩要由所述异构多核处理器发送到系统 存储器的信息,以便作为已压缩信息存储在所述系统存储器中。所述方法 还包括由所述第二处理器核心解压缩从所述系统存储器接收的已压缩信息 以便由所述异构处理器用作未压缩信息。在一个实施例中,所述第一体系 结构是通用处理器核心,而所述第二体系结构是执行由所述第一处理器核 心分配的任务的专用处理器核心。在另一个实施例中,所述方法包括由所 述异构多核处理器将已压缩信息和未压缩信息两者存储在所述系统存储器 中。在另 一个实施例中,披露了 一种包括显示第 一体系结构的第 一处理器 核心的异构多核处理器。所述处理器还包括显示第二体系结构的第二处理 器核心,所述第二处理器核心压缩信息以提供已压缩信息并且解压缩已压 缩信息以提供未压缩信息。所述处理器还包括将所述第一处理器核心连接 到所述第二处理器核心的总线,所述总线适于将所述已压缩信息和未压缩 信息传入和传出系统存储器。在一个实施例中,所述第一体系结构是通用 处理器核心,而所述第二体系结构是执行由所述第一处理器核心分配的任 务的专用处理器核心,在另一个实施例中,所述异构多核处理器将已压缩 信息和未压缩信息两者存储在所述系统存储器中。


现在将仅通过实例的方式并参考附图描述本发明的优选实施例,这些附图是图1示出了采用使用所披露的存储器压缩技术的处理器的信息处理系 统(IHS)的方块图;图2示出了已分区的系统存储器的表示;图3是示出了存储器解压缩方法的流程图;图4是示出了存储器解压缩方法的更多方面的流程图;图5是示出了存储器压缩方法的流程图;图6A示出了提供有关一种压缩信息方法的其他详细信息的流程图; 图6B示出了提供有关一种解压缩信息方法的其他详细信息的流程图; 图7示出了用于动态修改已压缩存储器与未压缩存储器的比率以增大压缩的方法的流程图;以及图8示出了用于动态修改已压缩存储器与未压缩存储器的比率以减小压缩的方法的流程图。
具体实施方式
信息处理系统(IHS)中的专用压缩引擎往往复杂且昂贵。使用存储 器压缩的IHS可以采取桌上型计算机、服务器、手提式计算机、便携式计 算机、笔记本计算机、主机、小型计算机或其他形状因数IHS的形式。例 如,使用存储器压缩的IHS可以采取其他形状因数,例如个人数字助理 (PDA)、游戏设备、手提式电话设备、通信设备或其他包括处理器和存 储器的设备。使用存储器压缩的定制存储器控制器是专用压缩引擎的一个 实例。IBM存储器扩展^t术(MXT)采用此类专用压缩引擎-Tremaine 等人,"IBM Memory Expansion Technology (MXT)" (IBM存储器扩展 技术(MXT) , IBM JRD,第45巻,第2期,2001年3月)。在Tremaine 等人的披露中,两个处理器共享连接到主存储器的公共共享L3高速緩沖 存储器。主系统存储器存储已压缩数据,而共享高速緩冲存储器存储未压 缩数据。当数据在共享高速緩存和主存储器之间移动时,特殊的逻辑密集 型压缩器和解压缩器石更件引擎将压缩和解压缩数据。如上所述,此类专用存储器压缩系统往往复杂且昂贵。图1示出了采用使用所披露的存储器压缩技术的处理器105的信息处 理系统100。在一个实施例中,处理器105采用出版物"Cell BroadbandEngine Architecture (单元宽带引擎体系结构),,(版本1.0,由IBM公 司、索尼和东芝开发,2005年8月8日,所披露的内容在此完全引入作为 参考)中描述的处理器体系结构。在一个实施例中,处理器105是异构处 理器,即这样的处理器其包括至少一个具有第一指令集的通用处理器单 元以及至少一个具有不同于通用处理器的体系结构和指令集的其他处理器 单元。例如,所述其他处理器可以是专用处理器单元或专用处理器。在图 1所示的特定实施例中,处理器105包括通用处理器单元110,例如采用 RISC指令集的Power PC处理器元件(PPE),通用处理器单元110通过 元件互连总线(EIB) 115连接到八个采用单指令多数据(SIMD)指令集的协处理器元件(SPE),即处理器121、 122..... 128。更具体地"i兌,PPE 110包括PowerPC处理器单元(PPU) 130,后者具有连接到其中的 LI高速緩冲存储器134的处理器单元(PXU) 132。 L2高速緩沖存储器 136如所示出的那样连接到LI高速緩冲存储器134。存储器接口控制器140 将EIB 115连接到系统存储器200。总线接口控制器(BIC ) 145将处理器 105连接到I/O集线器150。 I/O集线器150连接到诸如显示器162、介质 驱动器164、网络接口 166之类的1/0设备或其他1/0设备168。在一个实 施例中,介质驱动器164为操作系统、软件应用和其他信息提供非易失性 存储。网络接口 166在IHS 100和其他IHS之间提供有线或无线通信。在一个实施例中,PPE110控制处理器任务,而SPE121、 122、…、 128执行由PPE 110分配的数据密集型处理任务。SPE 121-128可以用作诸 如信息压缩、信息解压缩之类的任务以及其他信息处理任务的加速器。代 表性SPE 121包括至少一个协处理器单元(SPU) 155。 SPU 155包括连接 到本地存储装置(LS) 157的协处理单元(SXU) 156。 SPU155还包括至 少一个如所示出的那样连接到元件互连总线(EIB) 115的协同存储器流控 制(SMF) 158。其余的SPE 122、 123、…、128包括与代表性SPE 121 的结构类似的结构。在一个实施例中,处理器105是异构多核处理器,即 包括两种不同类型处理器单元的处理器。在一个实施例中,PPE IIO是通 用灵活处理器核心,而从SPE 121不处理外部中断并且不处理到存储器的完全可寻址性的角度,代表性SPE121可以更加专用。换句话说,SPE121 可以访问它自己的本地存储存储器157,但在访问存储器200时必须请求 PPE 110的帮助。图2示出了系统存储器200的表示。IHS 100将系统存储器200分为 已压缩存储器页205和未压缩存储器页210。系统存储器200还包括页表, 所述页表包括有关系统存储器200中已压缩和未压缩信息的位置的信息。 因此,图2提供了提供存储器压缩的IHS 100中的系统存储器200的存储 器图。在一个实施例中,同一存储器芯片200存储已压缩和未压缩数据两 者。在公共存储器200中存储已压缩和未压缩数据有利地消除了针对每种 类型数据维护单独存储器区域的成本。处理器105将常用数据以未压缩形 式存储在系统存储器200中,并且还将不常用数据以压缩形式存储在系统 存储器200中。此技术减少了存储器等待时间,即访问存储器中的数据所 需的时间。如以下更详细讨论的,IHS 100采用多种可接受的算法之一来 压缩和解压缩数据。例如,IHS 100可以采用Huffman编码[Huffman 52、 Lempel-Ziv (LZ)数据压缩[Ziv 77、 78和算术编码[Rissanen 76j算法中的 一种或多种来压缩数据,如以下出版物中所述[Huffman 52,Huffman, D. A. , A Method for the Construction of Minimum Redundancy Codes (用于 构造最小冗余代码的方法),IRE会汉记录,第40巻,1098-1102页,1952 年;Ziv77,Ziv, J.和A. Lempel, A Universal Algorithm for Sequential data Compression (用于顺序数据压缩的通用算法),IEEE信息理论学报, 第IT-23巻,第3期,337-343页,1977年;[Ziv78,Ziv, J.和A.Lempel, Compression of Individual Sequence via Variable-Rate Coding (通过可变 速率编码压缩单个序列),IEEE信息理论学报,第IT-24巻,第5期,530-536 页,1978年;以及Rissanen 76,Rissanen, J. J., Generalized Kraft Inequality and Arithmetic Coding(通用克拉夫特不等式和算术编码),IBM JRD,第20巻,第3期,198-203页,1976年,所有这些内容在此完全引 入作为参考。本领域的技术人员将理解,处理器105可以采用当前现有的 或未来的压缩算法以执行压缩和解压缩操作。在一个实施例中,诸如SPE 121之类的专用或可编程核心为诸如PPE 110之类的通用处理器核心提供压缩服务。更具体地说,SPE 121可以通过 用作可编程加速器或定制加速器来提供压缩服务。在一个实施例中,SPE 是高度优化的数据处理引擎,可提供用于在处理器105内提供压缩和解压 缩服务的平台。至少一个SPE提供压缩服务。在一个实施例中,SPE 121 的压缩加速器仅为PPE提供压缩服务。在其他实施例中, 一个SPE中的 压缩加速器为PPE 110和处理器105中的其他处理器核心提供压缩服务。 在一个实施例中,单个SPE可以为整个信息处理系统(IHS) 100提供压 缩服务。但是,SPE 121-128包括比PPE 110更宽的数据路径,并且SPE 擅长执4于数据处理密集型任务,例如压缩、解压缩、加密、解密、编码和 解码MPEG媒体流。图3是示出由SPE 121中的加速器实现的用于在PPE110控制下处理 存储器解压缩任务的方法的流程图。在此实例中,专用SPE121用作加速 器以协助访问以压缩形式存储在系统存储器200中的页。过程流开始于开 始方块300。随后,按照方块305,软件应用中的线程或操作系统(OS) 中的线程尝试访问系统存储器。例如,PPE IIO在执行应用或OS中的线 程期间尝试访问存储器。作为响应,PXU 132中包含的存储器管理单元 (MMU)和SMF 158中包含的存储器管理单元之一尝试执行页转换以访 问系统存储器200中的被请求数据。决策方块310执行测试以判定页转换 是否成功。如果页转换成功,则存储器200包括未压缩格式的被请求数据, 并且按照方块315,对被请求数据的存储器访问继续而无需解压缩。但是, 如果由于被请求页在页表215中没有页表表项而使页转换不成功,则或者 是被请求数据以压缩格式存在于存储器200中,或者是存在实际的页错误。 在优选实施例中,处理器105发出异常并且控制传递给异常处理机软件组 件。为了判定被请求数据是以压缩格式存在于存储器200中还是存在实际 页错误,决策方块320执行测试以判定是否可以以压缩格式提供被请求数 据。更具体地说,PXU132可以执行用于执行此测试的软件程序。如果决 策方块320判定不能以压缩格式提供被请求数据,则按照方块325,PPE110执行适合于无法从存储器提供数据的情况的操作。例如,如果当前无法以未压缩格式提供数据,则数据可能存在于盘或IHS 100内的其他非易失性 存储装置164中。在此情况下,IHS 100通过请求非易失性存储装置164 中包括被请求数据的页来访问非易失性存储装置中的被请求数据。在页错 误处理的另一方面,处理器105初始化与零初始化的数据对应的页,以响 应实现页错误服务的异常处理机软件组件的页错误。在页错误处理的再一 方面,应用访问非法(即,-皮保护)地址,并iLJL出餘溪通知。但是,如果决策方块320判定当前可在存储器200中以压缩格式提供 被请求数据,则SPE 121-128之一用作压缩/解压缩加速器以解压缩系统存 储器200中的被请求的压缩数据。在此实例中,SPE 121专用于压缩/解压 缩活动并且用作加速器来执4亍这些活动。在一个实施例中,PPE IIO引导 系统存储器200将包括被请求的压缩数据的已压缩页的副本发送到SPE 121。然后按照方块330, PPE110可以指示SPE121用作加速器以至少解 压缩此选择的已压缩页。为了解压缩已压缩信息,SPE 121使用SPE 121 先前^f吏用的任意算法来压缩此信息。在一个实施例中,SPE 121还解压缩 在选定已压缩页之前和选定已压缩页之后的一个或多个页,以便稍后如果 SPE 121需要这些页时可以提供它们。在SPE 121执行解压缩活动的同时, PPE 110可自由地执行其他计算活动。在解压缩被请求信息之后或在此类解压缩期间,按照方块335, PPE 121调度下一个M行的线程。当SPE 121提供的加速器完成当前被请求数据的解压缩时,SPE 121 发出数据已解压缩通知。决策方块340执行测试以判定SPE 121是否发出 数据已解压缩通知。如果决策方块340确定SPE 121尚未发出数据已解压 缩通知,则过程流继续返回调度PPE 110应执行的下一个线程的方块335。 在一个实施例中,PXU 132包括实现方块305的存储器访问过程的加载/ 存储单元(LSU,未示出)。此LSU也可以实现方块310的页转换和方块 315的数据访问。在处理器105上运行的操作系统和软件可以实现方块 320-345以响应发出页错误异常的PXU 132中的MMU。本领域的技术人员将理解,可以不同地划分这些功能。当决策方块340判定SPE 121发出 数据已压缩通知时,按照方块345, PPE IIO或其他SPE调度错误线程以 便执行。在此,错误线程指需要访问SPE121现在已成功解压缩的已压缩 数据并且等待执行或其他处理的线程。然后过程流继续返回方块305,在 该处开始另 一次存储器访问。总之,当PPE 110或诸如SMF 158之类的存储器流控制器访问位于存 储器200中的已压缩页时,页表215不会引用此类已压缩的被请求信息, 并且因此与PPE 110或SMF 158关联的MMU将生成导致PPE 110 异常处理机软件组件的页错误异常。页表215包括对系统存储器200中的 未压缩页而不是已压缩页的引用。PPE 110接收结果页餘溪异常。在PPE 110上执行的软件尝试从系统存储器200检索包括被请求信息的已压缩页。 为了完成此任务,PPE 110通过DMA请求从系统存储器200中的已压缩 存储器205复制已压缩页。然后PPE 110通过向SPE 121提供已压缩页并 指示SPE 121用作解压缩已压缩页的加速器来启动已压缩页的解压缩。当 SPE 121完成解压缩任务时,SPE 121将通知PPE 110。 PPE 110然后检索 已解压缩信息并将已解压缩信息存储在未压缩存储器页210中。但是,如 果被请求信息既不在已压缩存储器页205中也不在未压缩存储器页210中, 则处理器105将执行请求分页以尝试从诸如硬盘或其他介质驱动器之类的 非易失性存储装置164中检索被请求信息。如果无法通过此类请求分页提 供被请求信息,则存在实际错误或异常。响应于此类实际餘溪,处理器105 生成错误通知或通过常规4^处理方法以其他方式处理错误。因此,处理器105将存储器压缩和解压缩功能从PPE 110卸载到SPE。 在一个实施例中,处理器105通过将SPE分配为页解压缩服务,来减小 PPE启动存储器传输和解压缩步骤的开销。诸如SPE 121之类的SPE用作 专用压缩/解压缩加速器。SPE121可以执行预测性解压缩。例如,SPE121 解压缩要求的被请求页以及至少此要求的被请求页之后的页。在局部引用 原则下,后续存储器访问将很可能使用此要求的被请求页之后的页。有利 地,当PPE110稍后需要此要求的被请求页之后的页时,该页已经以解压缩格式存在。本领域的技术人员将理解还可以使用其他预测性方法,其中SPU实现一种或多种算法以判定是否执行预测性解压缩。处理器105可以将SPE121永久配置为解压缩器,或备选地,可以在 需要解压缩信息时将SPE 121或其他SPE配置为解压缩器。在后一种情况 下,先前执行解压缩任务的SPE可以执行其他活动,直到出现其他解压缩 任务。换句话说,处理器105可以将SPE配置为专用解压缩器或配置为按 需解压缩器。同样,处理器105可以将SPE配置为专用压缩器或配置为按 需压缩器。此外,处理器105可以将SPE配置为专用压缩器/解压缩器。图4是示出了当处理器105使SPE 121专用于诸如压缩和解压缩之类 的加速任务时由SPE 121中的加速器实现的方法的流程图。过程流开始于 开始方块400。按照方块405, PPE IIO初始化SPE 121中的压缩/解压缩 代码,由此使SPE 121可以执行压缩或解压缩任务。然后按照方块410, SPE 121接收解压缩请求。按照方块415, PPE 110或SPE 121执行测试以 判定当前未压缩存储器210中是否具有可用空间以存储SPE 121为了响应 解压缩请求而解压缩的信息。如果当前未压缩存储器210中没有可用空间, 则按照方块500, SPE 121压缩未压缩存储器210中的数据并将如此压缩的 信息传送到已压缩存储器205。此操作将释放未压缩存储器210中的空间。 当未压缩存储器210中的空间变得可用时,过程流继续到方块420。在方 块420, PPE IIO或SPE 121在系统存储器200内的已压缩存储器索引中 查找^皮请求的已压缩信息所在的净皮请求页。在一个实施例中,系统存储器 200存储已压缩存储器索引。在另一个实施例中,SPE本地存储装置157 存储已压缩存储器索引或已压缩存储器索引的一部分。以此方式存储已压 缩存储器索引将减少访问等待时间,但由于有限的本地存储存储器大小将 导致大小限制。在一个实施例中,本地存储装置157緩存已压缩存储器索 引的一部分以提高访问速度。然后按照方块425, SPE 121解压缩被请求的 已压缩页。响应于SPE 121解压缩被请求的已压缩页,按照方块430, PPE IIO或SPE 121 (使用SMF 158)更新存储器200中的页表215并发出通 知以指示未压缩存储器210现在包含被请求页。然后按照方块435,PPE 110或SPE 121执行测试以判定其他解压缩请求是否未决。如果其他解压缩请 求未决,则过程流继续返回方块410以处理此请求。但是,如果其他解压 缩请求没有未决,按照方块440, SPE 121可以可选地推测性地解压缩与 SPE 121上次解压缩的页相邻的页。然后过程流继续返回决策方块415并 且过程如以前那样继续。在一个实施例中,当处理器105解压缩页时,处 理器105将已解压缩页存储在未压缩存储器210中。页表215包括所有存 储在未压缩存储器210中的未压缩页的表项。但在一个实施例中,页表215 不包括已压缩页的表项。相反,已压缩存储器索引记录存储在已压缩存储 器205中的已压缩页。图5是提供有关数据压缩的更多详细信息以使空间可用于图4的流程 图的未压缩存储器方块500的流程图。过程流开始于开始方块505。按照 方块510, PPE IIO或SPE 121标识存储4皮请求信息的页。按照决策方块 515, PPE 110或SPE 121执行测试以判定是否仍可以以压缩格式提供被请 求页。如果不再可以以压缩格式提供被请求页,则按照方块520, SPE121 根据预定压缩算法压缩被请求页。然后PPE 110或SPE 121更新页表215 以表明未压缩存储器210没有存储被请求页,而是已压缩存储器205以压 缩形式存储了4皮请求页。如果决策方块515发现仍可以以压缩形式提供净皮 请求页,过程流直接转到方块525的更新页表任务。然后PPE110或SPE 121更新已压缩存储器索引以指示已压缩存储器205现在包含压缩形式的 被请求页。压缩过程在结束方块535结束。图6A是提供有关其中SPE压缩信息的一种方法的其他详细信息的流 程图。当SPE无法直接有效地访问包含在系统存储器200中的信息时,此 方法尤其有用。此方法开始于开始方块600。此方法假i殳PPE 110或处理 器105的其他组件指示SPE 121压缩存储在未压缩存储器210的页中的信 息。作为响应,按照方块605, SMF 158将被请求存储器页从未压缩存储 器210复制到SPE 121的SPU 155中的本地存储装置(LS) 157。这是"复 制入"操作。 一旦SMF158将被请求页存储在LS157中,按照方块610, SPE 121中的SPU 155就压缩整个页由此形成已压缩页。然后按照方块615, SMF 158将已压缩页发送回存储器200以便存储在已压缩存储器205 中。这是"复制出"操作。此方法在结束方块620完成。 '图6B是提供有关其中SPE解压缩信息的一种方法的其他详细信息的 流程图。此方法开始于开始方块650。此方法假^殳PPE 110或处理器105 的其他组件指示SPE 121解压缩存储在已压缩存储器205的页中的信息。 作为响应,按照方块655, SMF 158将,皮请求的已压缩存储器页从已压缩 存储器205复制到SPE 121的SPU 155中的本地存储装置(LS ) 157。这 是"复制入"操作。 一旦SMF 158将被请求的已压缩页存储在LS 157中, 按照方块660, SPE 121中的SPU 155就解压缩整个页由此形成未压缩页。 然后按照方块665, SMF 158将未压缩页发送回存储器200以便存储在未 压缩存储器210中。这是"复制出"操作。此方法在结束方块670完成。所披露的IHS的一个实施例在系统存储器200中的已压缩存储器空间 量与未压缩存储器空间量之间提供了可调整的比率。IHS IOO可以通过重 新引导IHS 100并在IHS初始化期间移动已压缩存储器205与未压缩存储 器210之间的边界220,来调整存储在系统存储器200中的已压缩信息量 与存储在系统存储器200中的未压缩信息量的比率。从在固定时段内(即 初始化期间的系统配置)发生的角度,此边界调整是静态的。但是也可以 动态更改边界220以及系统存储器200中的已压缩信息量与未压缩信息量 之间的比率。图7和8是示出用于动态修改已压缩存储器205与未压缩存储器210 之间的比率的方法的流程图。如上所述,在一个实施例中,IHS 100将已 压缩信息和未压缩信息存储在公共存储器区域中,即系统存储器200中。 1HS 100可以在任意时间点动态移动边界220并调整系统存储器200存储 的已压缩信息与未压缩信息的比率。更具体地说,图7是示出用于动态增大或扩展已压缩存储器区域105 的方法的流程图。在此方法中,所述方法包括移动存储器边界220以便相 对于未压缩存储器210的大小增加已压缩存储器205的大小。在此实施例 中,SPE 121压缩先前在未压缩存储器210中的页并将如此压缩的页移动到已压缩存储器205。此实施例增大了系统存储器200中的已压缩信息与 未压缩信息的比率。此操作对应于在图2所示的系统存储器200的表示中 向下移动边界220。返回图7,过程流开始于开始方块700。按照方块705, 用户可以启动边界220的更改以增加存储在系统存储器200中的已压缩信 息量。备选地,IHS 100中的软件或硬件可以监视并确定可用的系统存储 器量太低,并且作为响应,确定应更改边界位置以增加已压缩信息量。接 下来,按照方块710,处理器105确定移动边界220将影响哪个(哪些) 存储器页。在一个实施例中,PPE110或SPE121处理这些决策步骤。然后PPE110或SPE121通it^页表215中删除受影响的页,来从受 影响的存储器区域中卸载未压缩存储器页。然后按照方块720, PPE 110 或SPE 121压缩受影响的存储器区域中的页。接下来,按照方块730, PPE 110或SPE 121将新压缩的页添加到已压缩存储器索引以完成将受影响的 存储器区域中的页移动到已压缩存储器205。通过此方式,处理器105动 态增加已压缩存储器量,并且过程在结束方块730结束。图8是示出用于动态减小已压缩存储器区域205并增加未压缩存储器 区域210的方法的流程图。在此实施例中,所述方法包括移动存储器边界 220以《更相对于未压缩存储器210的大小减小已压缩存储器205的大小。 过程流开始于开始方块800。按照方块805,用户可以启动边界220的更改 以减小存储在系统存储器200中的已压缩信息量。备选地,IHS 100中的 软件或硬件可以启动已压缩存储器空间的减小以响应预定运行条件。然后 按照方块810, PPE 110或SPE 121从未压缩存储器210中驱逐一个或多 个页,并将此一个或多个页移动到诸如介质驱动器164之类的非易失性存 储装置中。然后按照方块815, PPE110或SPE121标识已压缩存储器205 中受移动边界220影响的存储器区域以减小已压缩存储器。按照方块820, PPE IIO或SPE 121解压缩已压缩存储器205的受影响存储器区域中的所 有页。然后按照方块825, PPE IIO或SPE 121将这些未压缩存储器页移 动到通过先前从未压缩存储器210驱逐页而释放的未压缩存储器空间。按 照方块830, PPE IIO或SPE 121更新页表215以反映未压缩存储器210的已修改内容,并更新已压缩存储器索引以反映已压缩存储器205的已修 改内容。过程流在结束方块835结束。以上披露了 一种采用异构处理器的信息处理系统,所述处理器使用存 储器压缩技术以经济有效的方式增加有效的系统存储器空间。通过本发明的此说明,本发明的修改和备选实施例对于本领域的技术 人员而言将显而易见。相应地,此说明教导了本领域的技术人员执行本发 明的方式,并且旨在被视为仅是示例性的。示出和说明的本发明的形式构 成当前实施例。本领域的技术人员可以对部件做出形状、大小和布置方面 的各种更改。例如,本领域的技术人员可以用等效元件代替在此示出和说 明的元件。此外,本领域的技术人员在得益于本发明的此说明之后,可以 独立于使用其他特性来4吏用本发明的特定特性而不偏离本发明的范围。
权利要求
1.一种压缩和解压缩异构多核处理器中的信息的方法,所述方法包括由显示第一体系结构的第一处理器核心处理信息;由显示第二体系结构的第二处理器核心处理信息;由所述第二处理器核心压缩要由所述异构多核处理器发送到系统存储器的信息以便作为已压缩信息存储在所述系统存储器中;以及由所述第二处理器核心解压缩从所述系统存储器接收的已压缩信息以便由所述异构处理器用作未压缩信息。
2. 如权利要求l中所述的方法,其中所述第一体系结构是通用处理器 核心,而所述第二体系结构是用于执行由所述第 一处理器核心分配的任务 的专用处理器核心。
3. 如权利要求l中所述的方法,还包括由所述异构多核处理器将已压 缩信息和未压缩信息两者存储在用作共享存储器的所述系统存储器中。
4. 如^=又利要求1中所述的方法,其中所迷第二处理器核心中的存储器 流控制器将已压缩信息和未压缩信息传入和传出所述系统存储器。
5. 如权利要求l中所述的方法,其中所述第二处理器核心专用于压缩 和解压缩信息。
6. 如权利要求l中所述的方法,其中所述第一处理器核心和所述第二 处理器核心共享压缩和解压缩信息任务。
7. 如权利要求l中所述的方法,其中所述第二处理器核心推测性地解 压缩所述系统存储器中的所述第一处理器核心可能需要的信息,并且所述 第二处理器核心推测性地压缩信息以4更存储在所述系统存储器中。
8. 如权利要求l中所述的方法,还包括由所述处理器更改所述系统存 储器中的已压缩信息与未压缩信息的比率。
9. 如权利要求l中所述的方法,其中在所述第二处理器核心压缩或解 压缩信息的同时,所述第一处理器核心执行其他任务。
10. —种异构多核处理器,所述异构多核处理器包括显示第一体系结构的第一处理器核心;显示笫二体系结构的第二处理器核心,所述第二处理器核心压缩信息以提供已压缩信息并且解压缩已压缩信息以提供未压缩信息;以及将所述第 一处理器核心连接到所述第二处理器核心的总线,所述总线 适于将所述已压缩信息和未压缩信息传入和传出系统存储器。
11. 如权利要求IO中所述的异构多核处理器,其中所述第一体系结构 是通用处理器核心,而所述第二体系结构是执行由所述第一处理器核心分 配的任务的专用处理器核心。
12. 如权利要求IO中所述的异构多核处理器,其中所述系统存储器包 括存储已压缩信息和未压缩信息两者的共享存储器。
13. 如权利要求IO中所述的异构多核处理器,其中所述第二处理器核 心专用于压缩和解压缩信息。
14. 如权利要求IO中所述的异构多核处理器,其中所述第一处理器核 心和所述第二处理器核心共享压缩和解压缩信息任务。
15. 如^5L利要求10中所述的异构多核处理器,其中所述第二处理器核 心推测性地解压缩所述系统存储器中的所述第一处理器核心可能需要的信 息,并且所述第二处理器核心推测性地压缩信息以便存储在所述系统存储 器中。
16. —种信息处理系统(IHS),所述信息处理系统包括 如权利要求10到15中的任一权利要求所述的异构处理器;以及 连接到所述异构处理器的用于存储所述已压缩信息和所述未压缩信息的系统存储器。
全文摘要
所披露的异构处理器压缩信息以便更有效地将所述信息存储在连接到所述处理器的系统存储器中。所述异构处理器包括连接到一个或多个处理器核心的通用处理器核心,所述一个或多个处理器核心显示的体系结构不同于所述通用处理器核心的体系结构。在一个实施例中,所述处理器将除所述通用处理器核心之外的某个处理器核心专用于存储器压缩和解压缩任务。在另一个实施例中,系统存储器存储已压缩信息和未压缩信息两者。
文档编号G06F12/04GK101405704SQ200780010147
公开日2009年4月8日 申请日期2007年3月8日 优先权日2006年3月23日
发明者B·米诺尔, M·K·克施温德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1