CN107003948B - 电子设备及用于控制其可共享的高速缓存存储器的方法 - Google Patents
电子设备及用于控制其可共享的高速缓存存储器的方法 Download PDFInfo
- Publication number
- CN107003948B CN107003948B CN201580064790.2A CN201580064790A CN107003948B CN 107003948 B CN107003948 B CN 107003948B CN 201580064790 A CN201580064790 A CN 201580064790A CN 107003948 B CN107003948 B CN 107003948B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- cache memory
- central processing
- unit
- memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/455—Image or video data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
提供了一种电子设备和用于控制电子设备的可共享的高速缓存存储器的方法。电子设备包括含有至少一个核处理器的中央处理单元、至少一个模块和包括控制器的可共享的高速缓存存储器,其中如果中央处理器处于工作模式则控制器使能可共享的高速缓存存储器用作中央处理单元的高速缓存存储器,并且其中如果中央处理单元的至少一个核处理器转换到睡眠模式,则控制器使能可共享的高速缓存存储器用作至少一个模块的缓冲器。
Description
技术领域
本发明涉及一种电子设备及用于控制该电子设备的可共享的高速缓存存储器的方法。
背景技术
随着各种个人移动产品的普及,用于移动产品的应用处理器(AP)已经提升到性能优越并且支持更多功能的个人计算机(PC)处理器的水平。然而,对于电池受限的移动设备来说,电池电量的节约是最关键的问题之一。为了实现更高的性能和更低的功率要求,AP将应用各种技术。
分析智能手机的电池电量使用模式,在待机模式下消耗大约60%的电池电量。或者,待机模式下的电池电量消耗大于用户所预期的,因为包括基本电话功能的各种服务(诸如健康/运动感测服务、识别服务、定位服务)在待机模式下运行。为了支持这样的服务,AP中的中央处理单元(CPU)利用周期性地产生外部数据执行简单操作。由于AP的CPU和主存储设备(例如DRAM)基本上消耗较高的功率,因此AP芯片需要包括CPU以及诸如硬件模块和辅助处理单元的各种模块,辅助处理单元诸如能够利用周期性地产生外部数据执行简单操作的数字信号处理器(DSP)。因此,需要AP芯片的高速缓存存储器的有效控制技术,同时带来更高的性能和更低的功耗。
发明内容
技术问题
如上所述,需要一种用于像诸如在CPU之前操作的DSP的辅助处理单元的模块的技术以减少待机模式下的功耗。然而,随着辅助处理单元代表CPU负责的功能的数量增加,需要增加内部缓冲器(例如SRAM缓冲器)或高速缓存的数量。
然而,考虑到成本,对于重要功能来说内部缓冲器或高速缓存被构建得尽可能小。对于这些功能,使用主存储器(例如DRAM)。然而,尽管较低功率的辅助设备代表CPU工作,但由于DRAM,功耗增加。此外,由于DRAM在当前AP结构中交错,即使单个访问也激活多个DRAM控制器,这导致功耗的增加。
因此,需要一种通过在没有额外的DRAM的情况下减少DRAM访问的数量来实现低功率机制的方法。这是可穿戴环境以及移动环境中的关键问题之一。问题的解决方案
为了解决上述缺陷,主要目的是提供根据本发明的各种实施例的电子设备,其包括中央处理单元、模块和包括控制器的可共享的高速缓存存储器。
根据本发明的一个方面,提供一种电子设备。该电子设备包括中央处理单元(其包括至少一个核处理器)、模块和包括控制器的可共享的高速缓存存储器,其中如果中央处理单元处于工作模式中则控制器使能该可共享的高速缓存存储器作为中央处理单元的高速缓存存储器,并且如果中央处理单元的至少一个核处理器转换到睡眠模式,则控制器使能该可共享的高速缓存存储器作为至少一个模块的缓冲器。
根据本发明的另一方面,提供了具有可共享的高速缓存存储器的电子设备的高速缓存存储器的控制方法。该方法包括:如果中央处理单元处于工作模式,则使能可共享的高速缓存存储器作为中央处理单元的高速缓存存储器,并且如果中央处理单元的至少一个核处理器转换到睡眠模式则使能可共享的高速缓存存储器作为至少一个模块的缓冲器。
在进行下面的详细描述之前,阐述整个本专利文件中使用的某些单词和短语的定义可能是有利的:术语“包括”和“包含”及其衍生词意味着包括但不限于;术语“或”是包含性的,意思是和/或;短语“相关联”和“与之相关联”以及其衍生词可以意味着包括、包含在内、与之相连、包含、连接或连接到或与之通信、配合、交错、并置、接近、束缚于或拥有、拥有某属性等等;并且术语“控制器”是指控制至少一个操作的任何设备、***或其一部分,这样的设备可以以硬件、固件或软件来实现,或者前述至少两个的组合。应当注意,与任何特定控制器相关联的功能可以是集中式的或分布式的,无论是本地的还是远程的。在本专利文献中提供了某些单词和短语的定义,本领域普通技术人员应当理解,在许多情况下(如果不是大多数情况),这样的定义适用于此类定义的单词和短语的先前以及未来的使用。
发明的有益效果
本发明在减少功耗方面是有利的,并且因此通过在CPU处于待机模式时减少AP环境中的DRAM访问次数来增加电池使用时间。
此外,本发明在通过待机模式下实现各种低功率情景而不需要额外的SRAM来降低AP制造成本方面是有利的。
此外,本发明在通过减少CPU和辅助处理单元之间的共享数据访问等待时间来提高用户响应速度方面是有利的。
附图说明
为了更全面地了解本发明及其优点,现在参考结合附图的以下描述,其中相同的附图标记表示相同的部分:
图1是示出根据本发明的实施例的包括中央处理单元(CPU)和辅助设备的电子设备的配置的框图;
图2至图5是示出根据本发明的各种实施例的电子设备的框图;
图6是示出根据本发明的实施例的可共享的高速缓存存储器的配置的框图;
图7是示出根据本发明的实施例的CPU和辅助处理单元的示例性可共享的高速缓存存储器访问操作的图;
图8是示出根据本发明的实施例的辅助处理单元的示例性数据存储器访问操作的图;
图9是示出根据本发明的实施例的开关单元的配置的框图;
图10是示出根据本发明的实施例的电子设备中的信号流的图;
图11是示出根据本发明的实施例的当CPU进入待机模式时可共享的高速缓存存储器控制器的可共享的高速缓存存储器控制方法的流程图;
图12是示出根据本发明的实施例的当CPU醒来时可共享的高速缓存存储器控制器的可共享的高速缓存存储器控制方法的流程图;
图13是示出根据本发明的实施例的借助于可共享的高速缓存存储器的控制器在可共享的高速缓存存储器中分配缓冲器区域的方法的流程图;
图14是示出根据本发明的实施例的开关单元的操作的流程图;
图15和图16是示出根据本发明的各种实施例的用于电子设备处理在CPU的待机模式下接收的通知的方法的流程图;
图17是表示根据本发明的实施例的用于电子设备在CPU的待机状态下显示时间信息的方法的流程图;
图18和图19是示出根据本发明的各种实施例的用于电子设备处理CPU的待机模式下的感测数据的方法的流程图;和
图20是示出根据本发明的各种实施例的用于电子设备处理CPU的待机模式下的语音或人脸识别数据的方法的流程图。
具体实施方式
以下讨论的图1至20以及用于描述本专利文献中的本发明的原理的各种实施例仅作为说明,而不应以任何方式解释为限制本发明的范围。本领域技术人员将理解,本发明的原理可以在任何适当布置的电子设备中实现。参照附图详细描述本发明的示例性实施例。尽管参考特定实施例进行了描述,但是本发明可以通过各种修改来实现。因此,应当理解可以存在可以替代本说明书中描述的实施例和附图中所示的配置的各种等同物和修改示例。在整个附图中使用相同的附图标记来表示相同或相似的部分。
应当理解,表述“包括”和“可以包括”用于指定公开的功能、操作、组件等的存在,但是不排除存在一个或多个功能、操作、组件等。还应当理解,当在本说明书中使用时,术语“包括”和/或“具有”指定所述特征、数量、步骤、操作、组件、元件或其组合的存在,但不排除存在或添加一个或多个其他特征、数字、步骤、操作、组件、元件或其组合。
在本发明中,表述“和/或”被视为具体公开了每个和任何组合的枚举事物。例如,将A和/或B视为A和B的每一个及A和B的特定公开。
如本文所使用的,诸如“第一”、“第二”等术语用于描述各种组件,然而,应当理解,组件不应由这些术语定义。例如,这些术语不限制相应组件的顺序和/或重要性。这些术语仅用于区分一个组件和另一个组件。例如,第一组件可以被称为第二组件,并且同样地,第二组件也可以被称为第一组件,而不脱离本发明构思的教导。
应当理解,当元件或层被称为“连接到”或“耦合到”另一元件或层时,该元件或层可以直接连接或耦合到另一元件或层或可能存在中间元件或层。相反,当元件被称为“直接接通”、“直接连接到”或“直接耦合到”另一个元件或层时,不存在中间元件或层。
本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,单数形式“一”、和“该”也旨在包括复数形式,除非上下文另有明确指示。
除非本文另有定义,否则包括本文使用的技术或科学术语的所有术语具有与本发明所属领域的技术人员通常理解的相同的含义。还将进一步理解,诸如常用词典中定义的术语应被解释为具有与其在说明书和相关领域的背景下的含义一致的含义,并且不应以理想化或过度正式的方式来解释除非在此明确定义。
根据本发明的各种实施例,术语“电子设备”可以包括用于各种移动设备和可穿戴设备中的任何处理器,例如应用处理器(AP)。
根据本发明的各种实施例,短语“电子设备中的中央处理单元(CPU)处于待机状态”可以指构成CPU的核中的至少一个处于睡眠状态。
图1是示出根据本发明的实施例的包括CPU和辅助设备的电子设备的配置的框图。
各种技术涉及电子设备100,例如AP,以满足高性能和低功耗要求。根据图1的实施例,电子设备100包括高性能CPU1 110和低功率CPU2 120。电子设备100被设计成使得具有高性能特性的CPU1 110和具有低功率特性的CPU2 120被通过专用***互连170连接并且以特定任务的方式选择性地操作。例如,电子设备100被设计成使得低功率CPU 2 120为电话和消息应用而操作,高性能CPU 1 110为需要高性能的应用(例如3维(3D)游戏和复杂的网站访问)而操作。
参考图1,电子设备100包括至少一个CPU 110和120、至少一个辅助处理单元130、***互连170和DRAM控制器180。辅助处理单元130是可共享电子设备100中包括的CPU110和120的高速缓存的模块的一个示例。
例如,高性能CPU 1 110可以包括多个核111。CPU 1 110包括各个核111内的核-特定的L1高速缓存113。电子设备100包括CPU1 110内部或外部的CPU-特定的L2高速缓存115。低功率CPU2 120被配置用于在多核环境中使用以具有多个核121。CPU2 120包括核-特定的L1高速缓存123。电子设备100包括CPU内部或外部的CPU-特定的L2高速缓存125。电子设备100包括用于在异构CPU之间整体地处理数据的高速缓存互连160。
至少一个辅助处理单元130包括数字信号处理器(DSP)131、传感器集线器133、蓝牙单元135和显示单元137。蓝牙单元135仅仅是示例,但可以用其它多种通信单元中至少之一替换蓝牙单元135。辅助处理单元130不限于图中所示的构造,而是可以被配置为具有其他各种单元。
***互连170连接CPU 1 110、CPU2 120、至少一个辅助处理单元130和至少一个DRAM控制器180。***互连170在CPU1 110、CPU2 120、至少一个辅助处理单元130和至少一个DRAM控制器180之间传送信号。
如果所连接的外部主存储器设备是DRAM,则至少一个DRAM控制器180在DRAM与CPU1 110、CPU2 120和至少一个辅助处理单元130中的至少一个之间执行数据读取/写入操作。根据主存储器设备的类型,改变DRAM控制器180的类型。
电子设备100在一个辅助处理单元130的控制下操作,特别是DSP131的控制下操作,直到需要CPU,以便在待机模式状态下降低功耗。例如,在DSP 131的控制下执行低功率音频功能。然而,DSP 131代表CPU负责的功能越多,DSP需要的缓冲器(例如SRAM)越多。类似地,在传感器集线器133的情况下,随着要处理的感测数据的类型和周期的数量的增加,传感器集线器133需要更多的缓冲器。
图2至图5是示出根据本发明的各种实施例的电子设备的框图。
在图2的实施例中,电子设备200包括CPU1 210、至少一个辅助处理单元230、可共享的高速缓存存储器240、包括至少一个开关单元251至257的切换单元250、***互连270和至少一个DRAM控制器280。例如,该实施例可应用于其中电子设备200是由于空间限制而仅包括一个CPU的可穿戴设备的情况。CPU1 210包括多个核211,并且每个核包括L1高速缓存213。至少一个辅助处理单元230包括DSP 231、传感器集线器233、诸如蓝牙单元的通信单元235以及显示单元237。
根据本发明的实施例,电子设备200使用可共享的高速缓存存储器240作为处于工作模式的CPU 1 210的高速缓存存储器,并且当CPU 1 210的至少一个核进入睡眠模式时作为辅助处理单元230中的至少一个的缓冲器。例如,电子设备200检查可共享的高速缓存存储器240中的多个数据内存条中的分配给切换到睡眠模式的至少一个核的至少一个内存条,并且从CPU1 210的高速缓存存储器区域切换至少一个已检查的内存条到辅助处理单元230中的至少一个的缓冲器区域。
根据本发明的实施例,电子设备200控制开关单元251至257将各个辅助处理单元230连接到***互连270或可共享的高速缓存存储器240。以这种方式,就可能控制相应的辅助处理单元230的存储器访问路径。也就是说,在至少一个辅助处理单元230通过开关单元251至257连接到***互连270的情况下,用于数据缓冲的存储器访问利用外部DRAM(未示出)被执行,而在至少一个辅助处理单元230通过开关单元251至257连接到可共享的高速缓存存储器240的情况下,用于数据缓冲的存储器访问利用共享的高速缓存存储器240内的数据存储器被执行。
在图3的实施例中,电子设备300包括CPU 1 310、CPU 2 320、至少一个辅助处理单元330、可共享的高速缓存存储器340、包括至少一个开关单元351至357的切换单元350、高速缓存互连360、***互连370和至少一个DRAM控制器380。例如,CPU 1 310和CPU 2 320分别是高性能CPU和相对低性能的CPU,反之亦然。CPU1 310包括多个核311,并且每个核包括L1高速缓存313。电子设备300包括CPU1 310内部或外部的用于CPU1 310的L2高速缓存315。CPU2 320包括多个核321,并且每个核包括L1高速缓存323。至少一个辅助处理单元330包括DSP 331、传感器集线器333、诸如蓝牙的通信单元335和显示单元337。
根据本发明的实施例,电子设备300使用可共享的高速缓存存储器340作为处于工作模式的CPU2 320的高速缓存存储器(L2高速缓存),并且当CPU2 320的核至少之一进入睡眠模式时作为辅助处理单元330的至少之一的缓冲器。例如,电子设备300检查可共享的高速缓存存储器340中的数据内存条中分配给切换到睡眠模式的至少一个核的至少一个内存条,并且从CPU 2 320的高速缓存存储器区域切换该至少一个已检查到的内存条到辅助处理单元330中的至少之一的缓冲器区域。
根据本发明的实施例,电子设备300控制开关单元351至357以将各个辅助处理单元330连接到***互连370或可共享的高速缓存存储器340。以这种方式,可以控制相应的辅助处理单元330的存储器访问路径。也就是说,在至少一个辅助处理单元330通过开关单元351至357连接到***互连370的情况下,用于数据缓冲的存储器访问在外部DRAM(未示出)中被执行,而在至少一个辅助处理单元330通过开关单元351至357连接到可共享的高速缓存存储器340的情况下,用于数据缓冲的存储器访问利用可共享的高速缓存存储器340内的数据存储器被执行。
在图4的实施例中,电子设备包括CPU1 410、CPU2 420、至少一个辅助处理单元430、可共享高速缓存存储器440、包括至少一个开关单元451至457的切换单元450、高速缓存互连460、***互连470和至少一个DRAM控制器480。例如,CPU1 410和CPU2 420分别是高性能CPU和相对低性能的CPU,反之亦然。CPU1 410包括多个核411,并且每个核包括L1高速缓存413。电子设备400包括在CPU1 410内部或外部的CPU1 410的L2高速缓存415。CPU2 420包括多个核421,并且每个核包括L1高速缓存423。电子设备400包括用于CPU2 420内部或外部的CPU2 420的L2高速缓存425。至少一个辅助处理单元430包括DSP 431、传感器集线器433、通信单元435(例如蓝牙单元)以及显示单元437。
根据本发明的实施例,电子设备400使用可共享的高速缓存存储器440作为处于工作模式的CPU2 420的高速缓存存储器(L2高速缓存),并且当CPU2 420的至少一个核进入睡眠模式时作为辅助处理单元430中至少之一的缓冲器。
在图5的实施例中,电子设备包括CPU 1 510、CPU 2 520、至少一个辅助处理单元530、可共享的高速缓存存储器540、包括至少一个开关单元551至557的切换单元550、***互连570和至少一个DRAM控制器580。例如,CPU1 510和CPU2 520分别是高性能CPU和相对低性能的CPU,反之亦然。CPU1 510包括多个核511,并且每个核包括L1高速缓存513。电子设备500包括CPU1 510内部或外部的CPU1 510的L2高速缓存515。CPU2 520包括多个核521,并且每个核包括L1高速缓存523。电子设备500包括CPU2 520内部或外部的CPU2 520的L2高速缓存525。至少一个辅助处理单元530包括DSP531、传感器集线器533、通信单元535(例如蓝牙单元)以及显示单元537。
根据本发明的实施例,电子设备500使用可共享的高速缓存存储器540作为处于工作模式的CPU1 510或CPU2 520的高速缓存存储器(L2高速缓存),并且当CPU1 510或CPU2520的核中至少之一进入睡眠模式时作为辅助处理单元530中至少之一的缓冲器。
图6是示出根据本发明的实施例的可共享的高速缓存存储器的配置的框图。
如图6所示,可共享的高速缓存存储器600包括控制器610、标签存储器620、数据存储器630、提取/刷新单元640和多个接口650至670。
控制器610检查当连接到可共享的高速缓存存储器的CPU的至少一个核进入睡眠模式时,在数据存储器630内的各个内存条中分配给相应核的至少一个内存条。控制器610将该检查到的至少一个内存条从用于该CPU的至少一个核的高速缓存存储器区域切换到用于辅助设备的低功率操作的缓冲器区域。
标签存储器620负责连接到可共享的高速缓存存储器600的CPU的高速缓存操作,并存储用于访问数据存储器630的标签。
数据存储器630包括用作连接到可共享的高速缓存存储器的CPU的高速缓存存储器或连接到可共享的高速缓存存储器600的辅助处理单元的缓冲器的多个内存条(bank)。数据存储器630的示例包括SRAM。
当数据存储器630的内存条从高速缓存存储器切换到缓冲器或者反过来时,提取/刷新单元640在控制器610的控制下执行提取或刷新操作。
接口650至670包括用于连接CPU的CPU接口650、用于连接开关单元的开关接口660和用于连接***互连的***互连接口670。
根据本发明的实施例,控制器610包括CPU状态监控单元611、存储器使用监控单元612、相干处理单元613、访问配置表614、访问控制单元615和访问切换单元616。
CPU状态监控单元611监控连接到可共享的高速缓存存储器600的CPU是否进入待机模式。例如,CPU状态监控单元611检测连接到可共享的高速缓存存储器600的CPU内至少一个核是否进入睡眠模式。CPU监控单元611还监控以检测切换到睡眠模式的核是否维持高速缓存存储器的使用。
表1示出关于CPU内的至少一个核的CPU状态监控单元611的CPU状态监控结果的示例。
【表1】
核ID | 状态 | L1高速缓存使用状态 |
0 | 0(工作) | 1(使用) |
1 | 0(工作) | 1(使用) |
2 | 1(睡眠) | 0(未使用) |
3 | 1(睡眠) | 0(未使用) |
如果CPU状态监控单元611检查CPU内的至少一个核处于工作/睡眠模式中,则访问控制单元615使用检查结果来计算能够被分配在数据存储器630中的缓冲器的大小。例如,如果在连接到高于可共享的高速缓存存储器600的层的CPU中实现的L1高速缓存正在使用中,则相应的核可以在短时间内醒来,并且在这种情况下,访问控制单元615能够减少用于切换到缓冲器的时间。
存储器使用监控单元612执行监控以收集关于数据存储器630的使用情况的信息,以便确定数据存储器630的内存条中分配作为缓冲器的内存条。例如,存储器使用监控单元612监控以检测每个内存条的高速缓存丢失和每个CPU核的内存条分配。
相干处理单元613保持CPU、辅助处理单元和可共享的高速缓存存储器600之间的相干。例如,如果在数据存储器630中将内存条从高速缓存存储器切换到缓冲器(反之亦然),则在相应的高速缓存行上执行刷新操作。相干处理单元613在高速缓存行上进行无效操作以选择性地刷新。选择标准是对相应内存条的可共享的地址区域的访问速率(可共享的访问速率)。如果到可共享的地址区域的访问速率高,则相干处理单元613执行无效操作,从而在可共享的高速缓存存储器600中处理自此在其他辅助设备处发生的事务。否则,如果到可共享的地址区域的访问速率低,则相干处理单元613跳过无效操作并将自那时以来发生的事务传送到CPU。这是因为在其他辅助处理单元处发生的事务的增加导致CPU过载。基于存储器使用监控单元612的监控结果确定对可共享的地址区域的访问速率。
访问配置表614存储定义要由至少一个辅助处理单元处理的各个较低功率操作情景的访问区域的表格。
表2示出了示例性访问配置表614。访问配置表614由辅助处理单元ID、与辅助处理单元处发生的事件相对应的访问ID、将被分配作为缓冲器的数据存储器的地址信息(例如起始地址和地址偏移)、事件的优先级以及事件是否被分配缓冲器(使用情况)的信息的各列构成。因此,可共享的高速缓存存储器600配置与至少一个辅助处理单元的至少一个事件相对应的访问情况。在用于低功率操作的总缓冲器的大小大于可以作为数据存储器中的缓冲器分配的大小(例如阈值大小)的情况下,访问控制单元615排除低优先级的事件。优先级通过用户选项或配置动态地确定。与当前配置的事件相对应的地址被标记为正在使用,如果需要用于附加事件的额外地址分配,则可以参考当前正在使用的缓冲器的大小。
【表2】
辅助处理设备ID | 访问ID | 开始地址 | 地址偏移 | 优先级 | 使用情况 |
0(DSP) | 0(语音识别) | 0x18000000 | 0x200000 | 0 | 0(关) |
0(DSP) | 1(消息通知) | 0x18200000 | 0x200000 | 1 | 1(开) |
1(传感器集线器) | 0(感测模式) | 0x19000000 | 0x100000 | 0 | 0(关) |
访问控制单元615基于从其他组件收集的信息来确定是否使用至少一个辅助处理单元的可共享的高速缓存存储器600。访问控制单元615确定要在数据存储器630中被分配作为缓冲器的位置。访问控制单元615通知是否可以使用用于至少一个辅助处理单元的可共享的高速缓存存储器600。
访问切换单元616将请求地址切换到高速缓存访问,使得当至少一个辅助处理单元访问可共享的高速缓存存储器时,可以访问数据存储器630。
参考图7,可共享的高速缓存存储器600如同常规方法那样以这样一种通过访问标签存储器620来检查标签的方式来用作用于CPU的事务的高速缓存存储器,然后利用检查的标签访问数据存储器630。然而,在可共享的高速缓存存储器600作为用于除CPU之外的辅助处理单元的事务的缓冲器的情况下,访问切换单元616基于访问配置表614检查希望的内存条,并且从请求地址的偏移中导出索引和路数以访问检查的内存条中的实际数据。以这种方式,可以在没有标签匹配处理的情况下立即访问高速缓存存储器以获取所请求的数据。
索引=(偏移/行大小)Mod nSet
路数(Way)=(偏移/行大小)/nSet
访问控制单元615使用导出的索引和路数访问数据存储器。图8示出了使用地址偏移的示例性数据存储器访问方法。
图9是示出根据本发明的实施例的开关单元的配置的框图。尽管图9指向连接到DSP的开关单元的情况,本领域技术人员将理解,根据本发明的实施例的连接到各个辅助处理单元的所有开关都以类似的方式实施。
根据本发明的实施例,基于来自可共享的高速缓存存储器的控制信息开关单元900被控制以将与DSP发生的事件相关的事务传送到连接到主存储设备(例如DRAM)的互连单元或传送到可共享的高速缓存存储器。也就是说,可以基于来自可共享的高速缓存存储器的控制信息访问DRAM或可共享的高速缓存存储器内的数据存储器。
开关单元900包括多个接口910、950和960、开关920、访问表930和写入缓冲器940。
接口910、950和960包括DSP连接接口910、互连连接接口950和可共享的高速缓存存储器连接接口960。
控制开关920以将与在DSP发生的事件有关的事务传送到互连连接接口950或可共享的高速缓存存储器连接接口960。例如,如果可共享的高速缓存存储器传送准备完成信息,则开关920建立路径,以访问由可共享的高速缓存存储器指定的访问ID区域作为可共享的高速缓存存储器。一旦建立路径,则维持该路径直到准备完成信息变成无效或被重新配置。
访问表930存储用于指定对可共享的高速缓存存储器的访问地址的信息,其与从可共享的高速缓存存储器接收的访问ID相对应。表3示出了示例性访问表930。
【表3】
访问ID | 起始地址 | 地址偏移 |
0(语音识别) | 0x18000000 | 0x200000 |
1(消息通知 | 0x18200000 | 0x200000 |
表3示出了当发生语音识别事件或消息通知事件时配置用于使用可共享高速缓存存储器作为缓冲器的地址的示例性情况。如果可共享的高速缓存存储器发送适应于该情况的访问ID,则DSP访问可共享的高速缓存存储器用于相应事件的事务。优选地,表3的访问ID、起始地址和地址偏移与如表2所示的访问配置表614中的值相匹配。根据情况,开关单元900不存储访问表930,在这种情况下开关单元900参考从可共享的高速缓存存储器接收的起始地址和地址偏移以及访问ID。
图10是示出根据本发明的实施例的电子设备中的信号流的图。
可共享的高速缓存存储器600与至少一个开关单元900和***互连单元1000交换互连协议信号。因此,可共享的高速缓存存储器600包括CPU连接接口650、至少一个开关单元连接接口680和***互连连接接口670。
开关单元900与辅助处理单元(例如DSP)、可共享的高速缓存存储器600和***互连1000交换互连协议信号。因此,交换单元900包括辅助处理(例如DPS)连接接口910、可共享的存储器连接接口960和***互连连接接口950。
根据本发明的实施例,可共享的高速缓存存储器600在访问路径之间发送用于切换来自对应的开关单元900的辅助处理单元的事务的控制信息。控制信息包括用于指示在可共享的高速缓存存储器中分配作为缓冲器的区域的使用准备完成的准备完成信息、用于指示辅助处理单元可以在可共享的高速缓存存储器中分配缓冲器的访问使能信息以及访问ID信息。
图11是示出根据本发明的实施例的当CPU进入待机模式时可共享的高速缓存存储器控制器的可共享高速缓存存储器控制方法的流程图。
控制器610使用可共享的高速缓存存储器600作为处于工作模式的CPU的高速缓存存储器。在步骤1101,控制器610检测到CPU的至少一个核进入睡眠模式。在CPU醒来之前,不使用睡眠模式中的核已经使用的数据存储器630。根据本发明的实施例,可以将核从睡眠模式切换到深度睡眠模式,以便甚至不使用L1高速缓存。以这种方式,在CPU的至少一个核已经切换到睡眠模式或深度睡眠模式之后,控制器610在步骤1103确定是否需要分配数据存储器630作为辅助设备的缓冲器。
如果需要使用数据存储器630作为缓冲器,则控制器610在步骤1105选择一个数据存储器的内存条。例如,控制器610选择带有切换到睡眠模式的核的高分配权重的内存条。在步骤1107,控制器610刷新所选内存条的高速缓存行。控制器610还在步骤1109确定是否需要从DRAM预提取,如果是,则在步骤1111执行预提取操作。
接下来,控制器610在步骤1113中将准备完成信息和访问ID信息发送到与辅助处理单元连接的开关单元。因此,相应的辅助处理单元的开关单元知道可以使用可共享的高速缓存存储器600作为缓冲器。
图12是示出根据本发明的实施例的当CPU醒来时可共享的高速缓存存储器控制器的可共享的高速缓存存储器控制方法的流程图。
控制器610在步骤1201中检测核从睡眠模式醒来。如果核从睡眠模式醒来,则在步骤1203中控制器610使开关单元失效,即,控制器610禁止对可共享的高速缓存存储器600的数据存储器630的访问。如果核从睡眠模式醒来,则CPU需要更多的高速缓存存储器。在步骤1205中,控制器610确定CPU核是否必须处理在睡眠模式中被分配为缓冲器的区域中的数据。如果CPU核必须处理该数据,则该数据被保持在缓冲器区域中直到处理完成。例如,CPU核读取传感器集线器在预定时段内感测并存储在可共享的高速缓存存储器的数据存储器630中的移动性信息,以计算用于应用的移动距离或到达时间。
控制器610在步骤1207中确定是否需要从分配为缓冲器的区域复制数据,并且如果是,则在步骤1209中将标签配置到目标地址并将相应的内存条切换到高速缓存存储器,否则,在步骤1211中等待直到CPU核完成处理数据。之后,控制器610在步骤1213中确定是否需要将缓冲的数据写入DRAM,如果是,则在步骤1215中控制将数据写入DRAM,否则,在步骤1217中将相应的内存条切换到高速缓存存储器。
图13是示出根据本发明的实施例的借助于可共享的高速缓存存储器的控制器在可共享的高速缓存存储器中分配缓冲器区域的方法的流程图。
控制器610执行确定将缓冲器分配给可共享的高速缓存存储器的数据内存条的分配、要分配的区域的大小以及分配目标内存条的功能。在四核CPU的情况下,如果两个核工作而即使其他两个核处于睡眠模式,这意味着作为主存储设备的DRAM正在工作,因此很难期待通过使用某些辅助处理单元的缓冲器减少DRAM访问来实现功率节省效果。相反,如果将处于工作模式的CPU的高速缓存存储器的数据存储器630分配作为缓冲器,则会导致CPU的性能下降。因此,控制器610必须做出适当的决定以改善低功耗效果,同时减少对工作模式中的CPU的影响。例如,控制器610基于来自CPU的软件(S/W)事件信息、硬件(H/W)事件信息、高速缓存监控信息和访问配置信息进行缓冲器分配决定和内存条选择决定。
参考图13,控制器610在步骤1301确定所有CPU核是否处于睡眠模式。
如果所有CPU核都处于睡眠模式,则控制器610在步骤1303中计算预期的缓冲器大小。控制器610计算适合于指定在数据存储器630的大小允许的范围内使用的所有低功率情景的缓冲器大小。例如,通过S/W检查使用诸如DSP、传感器集线器、GPS单元和蓝牙单元之类的辅助处理单元的功能。这是因为在S/W平台上提供了相应功能的开/关选项。如果功能的开/关状态被通知给控制器610,则控制器610标记访问配置表614中的状态,以用于确定缓冲器区域分配大小。控制器610在步骤1305确定所计算的缓冲器大小是否大于分配阈值,并且如果是,则在步骤1307,在考虑各功能的优先级的条件下,以减小缓冲器大小的方式来调整缓冲器大小使得其等于或小于阈值。缓冲器大小被调整得等于或小于阈值,以避免CPU醒来时其性能下降。通过增大频繁使用的功能的优先级,可以提高控制器610的利用效率。优先级的改变被反映到访问配置表614。控制器610在步骤1309中选择数据存储器630的内存条中具有相对较高的高速缓存丢失率的内存条。控制器610在步骤1311做出分配缓冲器区域到相应内存条的决定。控制器610将辅助处理单元的事件情景所需的区域切换为相应内存条中的缓冲器区域。
如果不是所有的CPU核都处于睡眠模式,即如果一些核处于睡眠模式,则控制器610在步骤1313中确定是否为缓冲器区域分配检查所有内存条,如果不是,则在步骤1315中确定每个内存条的睡眠模式的核的占用率是否大于阈值,如果占用率大于阈值,则在步骤1317选择相应的内存条作为候选内存条。这是因为如果相应的内存条被切换到缓冲器,与切换其它内存条的情况相比,就可能减小对使用数据存储器630作为高速缓存存储器的CPU核的影响。根据CPU核是处于睡眠模式还是深度睡眠模式,将阈值设置为不同的值。如果核不处于深度睡眠模式,则可以通过将阈值设置为相对较高的值来避免当醒来CPU核时相应CPU核的性能下降。
如果所有内存条都被检查,则控制器610在步骤1319中对所有候选内存条的大小进行求和来计算可用的缓冲器大小。接下来,控制器610在步骤1321确定是否存在辅助处理单元的事件情景所需的可以利用的候选内存条的组合。如果没有可以利用的组合,则控制器610在步骤1323确定不分配任何缓冲器区域。也就是说,控制器610只有当存在适用于睡眠模式下核的占用率大于阈值的候选内存条的总的大小的情景时执行缓冲器分配。如果存在任何可用组合,则控制器610在步骤1311中确定向相应内存条分配缓冲器区域。控制器610将辅助处理单元的事件情景所需的区域切换到相应内存条中的缓冲器区域。
根据本发明的实施例,CPU使用动态电压和频率缩放(DVFS)。如果CPU核进入睡眠状态,则电压和频率下降。使用该信息,控制器610确定CPU核是处于睡眠状态和深度睡眠状态。电压和频率保持在低电平,此时可以完全维持L1缓冲器。然而,在深度睡眠状态下,由于时钟和电源门控,L1高速缓存不能维护。通过这种区别,可以确定将进入睡眠状态的核主要使用的高速缓存区域完全地还是部分地分配为缓冲器。
控制器610的存储器利用率监控是安装用于数据存储器630的性能监控的功能。由于控制器610执行每个内存条的丢失和分配监控,这是因为控制器610确定用于在数据存储器630的内存条中分配缓冲器区域的目标。
表4示出了控制器610进行缓冲器区域分配决定所需的示例性信息。根据实施情况,控制器610使用这些信息中的一些。
【表4】
根据本发明的实施例,控制器610根据以下条件确定缓冲器区域分配大小。
i)部分CPU核处于睡眠模式
分配阈值≥[安全的]大小超过睡眠模式中的核的占用阈值的内存条的总和≥[分配]可用低功耗操作情景所需的大小的总和
ii)所有CPU核都处于睡眠模式
分配阈值≥[安全的]具有大丢失率的内存条中的其大小不超过分配阈值的内存条的总和≥[分配]可用低功耗操作情景所需的大小的总和
控制器610为可用的低功率操作情景分配具有安全的大小的缓冲器区域。
图14是示出根据本发明的实施例的开关单元的操作的流程图。
开关单元900负责将在辅助处理单元处发生的事务切换到适当的路径。开关单元900在步骤1401中接收在辅助处理单元处发生的事务。开关单元900确定在可共享的高速缓存存储器区域中是否存在用于相应事务的请求地址,如果不是,则在步骤1403中将该事务传送到***互连。在这种情况下,辅助处理单元访问DRAM。如果相应事务的请求地址存在于可共享的高速缓存存储器区域中,则在步骤1405,开关单元900确定是否从可共享的高速缓存存储器接收准备完成信息。如果事务写入事件在接收准备完成信息之前的步骤1407发生,则在步骤1409,开关单元900保持使用写入缓冲器写入事务。如果再次读取相应的事务,则开关单元900控制从写入缓冲器读取事务。在读取相应事务以外的某个事务的情况下,开关单元900用DRAM读取事务。如果从可共享的高速缓存存储器接收到准备完成信息,则在步骤1411开关单元900将所有待处理写入事务传送到可共享的高速缓存存储器。如果不发生事务写入,则在步骤1413中开关单元900将相应的事务传送到***互连。
图15和图16是示出根据本发明的各种实施例的电子设备处理在CPU的待机模式下接收的通知的方法的流程图。
通知功能是在用户终端上呈现消息的接收通知的功能,该消息是通过诸如蓝牙、Wi-Fi和4G通信单元的通信单元接收的。根据本发明的实施例,通知是诸如电子邮件到达通知、信使应用消息通知和来自推送服务器的推送通知的各种应用数据中的任何一种。在向用户呈现通知之后,用户操纵终端来检查原始消息的内容。该方法可以应用于所有类型的移动和可穿戴设备。
在本实施例中,如果终端支持诸如“边缘显示”的部分显示,则DSP可以通过通信单元处理消息接收的事件并将处理结果显示在小的指定区域。此时,通信单元是蓝牙、Wi-Fi或4G通信单元。本领域技术人员将理解,可以使用各种类型的辅助处理器以及DSP来作为用于处理在CPU的待机模式下接收的消息的辅助处理单元。
参考图15,如果CPU在步骤1501进入待机模式,则可共享的高速缓存存储器在步骤1503中分别在辅助处理单元之间向DSP、通信单元和显示单元分配数据存储器(例如SRAM)。可共享的高速缓存存储器完成使用分配的数据存储区域的准备工作并将准备完成信息发送到分别连接到DSP、通信单元和显示单元的开关单元。
电子设备在步骤1507等待接收数据。如果在步骤1509由通信单元接收到消息数据,则电子设备在步骤1511将接收的消息数据写入到可共享的高速缓存存储器中分配给通信单元的数据存储器。之后,DSP在步骤1513确定写入的消息数据的总的大小是否大于分配给通信单元的数据存储器的大小,如果是,则在步骤1515中将CPU从待机模式唤醒。这使得当消息数据处理空间不足时唤醒CPU,以便适当地处理消息数据。
如果写入的消息数据的总的大小小于分配给通信单元的存储器数据的大小,则DSP在步骤1517处理接收到的消息数据并生成通知图像或消息。DSP在步骤1519中将生成的通知写入到可共享的高速缓存存储器中分配给DSP的数据存储器。在步骤1521,显示单元从数据存储器读取通知,并在步骤1523在显示区域的一部分显示读取的通知。如果检测到用于检查与通知相关的消息的用户操作,则DSP在步骤1515唤醒CPU。
参考图16,CPU在步骤1601醒来。例如,如果用户按下按钮或触摸屏幕来打开终端,则CPU醒来。在步骤1603中可共享的高速缓存存储器禁用辅助处理单元的可共享高速缓存存储器访问。例如,可共享的高速缓存存储器禁止访问使能信息并将结果发送到连接到DSP、通信单元和显示单元的开关单元。
在步骤1605,CPU确定是否需要将缓冲在可共享的高速缓存存储器中的消息数据复制到CPU区域,并且如果是,则根据应用,在步骤1607调整分配给消息数据的区域的标签地址。在步骤1609,CPU处理消息数据以显示整个消息,并且在步骤1611显示单元显示整个消息。
在步骤1613,CPU确定是否需要维持相应的消息数据,如果是,则在步骤1615,可共享的高速缓存存储器将相应的消息数据写入DRAM。在步骤1617,可共享的高速缓存存储器使相应消息数据的区域失效。CPU在步骤1619确定用户的操作是否已经完成,并且如果连续地检测到用户操作,则在步骤1621处理用户请求。在这种情况下,分配为缓冲器的区域被切换到由CPU使用的高速缓存存储器。如果已经完成用户操作,则CPU在步骤1623进入待机模式。
图17是示出根据本发明的实施例的电子设备在CPU的待机模式下显示时间信息的方法的流程图。
根据本发明的实施例,可共享的高速缓存存储器管理被应用于其中在屏幕上显示手表的始终开启手表情景。例如,DSP生成指示时间的图像,以便显示单元在屏幕的至少一部分上显示该图像。本领域技术人员将理解,可以使用各种类型的辅助处理器以及CPU作为用于处理CPU的待机模式中的时间信息的辅助处理单元。
参考图17,在步骤1701,CPU进入待机模式,然后可共享的高速缓存存储器在步骤1703中为辅助处理单元中的DSP和显示单元分配数据存储器(例如SRAM)。可共享的高速缓存存储器完成使用所分配的数据存储区域的准备工作,并且在步骤1705将准备完成信息发送到连接到DSP和显示单元的开关单元。
DSP在步骤1707生成指示时间的图像。在步骤1709,DSP将时间指示图像写入可共享的高速缓存存储器中分配给DSP的数据存储器中。在步骤1711DSP确定是否检测到用户的操作,并且如果不是,则在步骤1713显示单元读取时间指示图像,并且在步骤1715在显示区域的至少一部分上显示读取的时间指示图像。如果没有检测到用户操作,则电子设备通过上述顺序显示指示当前时间的图像。
否则,如果检测到任何用户的操作,则CPU在步骤1717醒来。在步骤1719CPU确定是否需要显示时间。如果需要显示时间,则DSP在步骤1707生成指示时间的图像。如果不需要显示时间,则CPU在步骤1721控制DSP停止生成时间指示图像。然后,在步骤1723,可共享的高速缓存存储器释放与DSP和显示单元的连接。也就是说,禁止DSP和显示单元的可共享的高速缓存存储器访问。在步骤1725,可共享的高速缓存存储器确定CPU的可共享的高速缓存存储器访问尝试次数是否增加,如果是,则在步骤1727中使数据存储器区域中的时间指示图像失效并准备CPU的高速缓存存储器访问。否则,如果CPU的可共享的高速缓存存储器访问尝试次数不增加,则CPU在步骤1729确定用户的操作是否已经完成,如果是,则在步骤1731进入待机模式。
图18和图19是示出根据本发明的各种实施例的电子设备在CPU待机模式下处理感测数据的方法的流程图。
根据本发明的实施例,移动或可穿戴设备使用可共享的高速缓存存储器来提供使用用户的生物信息、基于位置的信息和外部环境信息的服务。根据各种实施例,外部环境信息包括温度、湿度、亮度和声音。这样的服务周期性地对特定的感测数据进行采样,并处理采样的数据以提供有用的信息。如果周期性产生的感测数据被写入到DRAM中,则DRAM的低功率操作周期被缩短,导致功耗的增加。为了克服这个问题,本发明的一个实施例提出了在一段时间内收集感测数据并且一次写入所收集的数据的方法。
参考图18,在步骤1801,CPU进入待机模式,然后可共享的高速缓存存储器在步骤1803向辅助处理单元中的传感器集线器分配数据存储器(例如SRAM)。根据本发明的实施例,感测集线器是能够感测至少一种类型的信息的单元,并且本领域技术人员将理解,感测集线器是指感测单元或传感器子***。在步骤1805,可共享的高速缓存存储器完成对分配的数据存储器区域的使用的准备,并且将准备完成信息发送到连接到传感器集线器的开关单元。
在步骤1807,传感器集线器执行感测操作以收集用户的生物信息或位置信息。传感器集线器在步骤1809将所收集的信息写入可共享的高速缓存存储器内分配的数据存储器中。在步骤1811传感器集线器确定感测周期是否已经结束,如果不是,则将该过程返回到步骤1807。
如果感测周期已经结束,则感测集线器在步骤1813唤醒CPU。CPU在步骤1815醒来并在步骤1817处理感测数据即写入的数据以输出有意义的信息。在步骤1819,CPU写入原始感测数据或处理的数据到DRAM中。在步骤1821,CPU确定是否继续感测,并且如果确定继续感测,则在步骤1823进入省电模式。
也就是说,当变为CPU处理感测数据的时间,电子设备重复控制CPU醒来的操作,然后重复地进入待机模式。在用户带着电子设备进行慢跑的示例性情况下,本发明使得可能最小化用于记录感测的跑动距离或心率的传感器集线器的DRAM访问尝试。
参考图19,电子设备在步骤1901检测用户的操控。用户操控的示例包括按下按钮和在屏幕上的触摸。响应于用户的操控,CPU在步骤1903醒来。接下来,可共享的高速缓存存储器在步骤1905中禁用传感器集线器的共享高速缓存存储器访问。
在步骤1907,CPU确定是否需要使用高速缓存用于数据存储器中的感测数据。如果需要使用高速缓存用于数据存储器中的感测数据,则在步骤1909,CPU处理可共享的高速缓存存储器的数据存储器中的感测数据。否则如果不需要使用高速缓存用于数据存储器中的感测数据,则在步骤1911,可共享的高速缓存存储器使感测数据区域无效并准备供CPU使用。之后,在步骤1913,CPU常规操作以执行对可共享的高速缓存存储器的高速缓存访问。
在本实施例中,当用户打开终端时,电子设备显示感测数据、初始化用作CPU高速缓存的感测数据区域。
图20是示出根据本发明的各种实施例的电子设备处理CPU待机模式中的语音或人脸识别数据的方法的流程图。
根据本实施例,电子设备将可共享的高速缓存存储器管理应用于基于识别的服务。基于识别的服务包括识别用户的语音或面部并基于识别的语音或面部执行操作的功能。由于终端在CPU的待机模式下不必对所有声音和图像做出反应,所以优选地,应用于响应于人的语音或面部的识别的终端的触发激活的情景。
参考图20,CPU在步骤2001进入待机模式,然后在步骤2003,可共享的高速缓存存储器在辅助处理单元中分别向传感器集线器和DSP分配数据存储器(例如SRAM)。根据本发明的各种实施例,传感器集线器是感测单元的示例,DSP是辅助处理器的示例。在步骤2005,电子设备等待接收识别数据。传感器集线器在步骤2007识别人的语音或面部,并且在步骤2009将识别数据写入可共享的高速缓存存储器内分配给的传感器集线器的数据存储器中。
在步骤2011,DSP读取写入的识别数据。在步骤2013,DSP确定写入的识别数据是否与人的语音或面部相匹配。如果识别数据与人的语音或面部相匹配,则在步骤2015,DSP唤醒CPU。否则如果识别数据与人的语音或面部不匹配,则在步骤2017,DSP使识别数据区域无效。在CPU醒来之后,在步骤2019它确定是否需要复制识别数据。如果需要复制识别数据,则CPU在步骤2021修改识别数据的标签地址。接下来,CPU在步骤2023执行用于识别的处理。在步骤2025,CPU基于识别数据确定是否识别出人的语音或面部。如果是,则在步骤2027将识别结果作为语音特定或面部特定的命令进行处理,否则在步骤2029将识别结果作为错误命令进行处理。
之后,在步骤2031,CPU确定是否需要继续使用可共享的高速缓存存储器的数据存储器中的识别数据区域。如果需要继续使用识别数据区域,则在步骤2033,CPU保持对识别数据区域的使用,否则,在步骤2035,使识别数据区域无效并准备用作CPU的高速缓存。
在根据本发明的实施例的可共享的高速缓存存储器管理方法中,如果CPU核进入待机模式,则这意味着部分或全部CPU核进入睡眠模式。处于工作状态的CPU核执行在某些核处于睡眠状态时完成的DSP的数据处理操作。本发明的可共享的高速缓存存储器管理方法可以以类似的方式应用于使用专用辅助处理器而不是DSP的情况。
如上所述,本发明在减少功耗方面是有利的,并且因此通过在CPU处于待机模式时减少AP环境中的DRAM访问次数来增加电池使用时间。
此外,本发明在通过在待机模式下实现各种低功率情景而不需要额外的SRAM来降低AP制造成本方面是有利的。
此外,本发明在通过减少在CPU和辅助处理单元之间的共享数据访问等待时间来提高用户响应速度方面是有利的。
本发明的单元或编程模块包括省略某些组件或添加其它组件的上述组件中的至少一个。单元、编程模块或其他组件的操作可以串行、并行、递归或启发式地执行。此外,一些操作以不同的顺序执行、省略或利用其他操作被扩展。
虽然已经用示例性实施例描述了本发明,但是可以向本领域技术人员提出各种改变和修改。意图是本发明涵盖落入所附权利要求的范围内的这些改变和修改。
Claims (28)
1.一种电子设备,包括:
中央处理单元,其包括一个或多个核处理器;
至少一个模块;和
可共享的高速缓存存储器,其包括控制器,
其中所述控制器被配置为:
如果所述中央处理单元处于工作模式,则使能所述可共享的高速缓存存储器作为用于所述中央处理单元的高速缓存存储器,
监视所述中央处理单元的核处理器的每个操作模式,
识别所述中央处理单元的核处理器中的至少一个核处理器的操作模式是否转换到睡眠模式,以及
如果所述中央处理单元的一个或多个核处理器中的至少一个核处理器的操作模式转换到睡眠模式,则将所述可共享的高速缓存存储器的被分配给所述至少一个核处理器的一部分分派作为用于所述至少一个模块的缓冲器,
其中,所述至少一个模块包括辅助处理器、通信单元、感测单元和显示单元中的至少一个。
2.根据权利要求1所述的电子设备,其中所述控制器被配置为:基于与所述中央处理单元的执行功能相关联的软件信息、与所述中央处理单元的至少一个核处理器的状态相关联的硬件信息或所述可共享的高速缓存存储器的使用信息中的至少之一来将所述可共享的高速缓存存储器分配作为用于所述至少一个模块的缓冲器。
3.根据权利要求1所述的电子设备,其中所述可共享的高速缓存存储器包括数据存储器,所述数据存储器包括能够被用作用于所述中央处理单元的高速缓存存储器或用于所述至少一个模块的缓冲器之一的多个内存条,并且
其中所述控制器被配置为识别所述多个内存条中的至少一个内存条,所述至少一个内存条被分配给转换到睡眠模式的所述至少一个核处理器,并且控制以将所识别的至少一个内存条从用于所述中央处理单元的高速缓存存储器切换到用于所述至少一个模块的缓冲器。
4.根据权利要求3所述的电子设备,其中所述控制器被配置为:
如果转换到睡眠模式的至少一个核处理器是所述中央处理单元的核处理器的一部分,则识别所述中央处理单元的至少一个核处理器的其余部分的其分配率等于或小于阈值的至少一个内存条,并且
控制以将所述至少一个内存条从用于所述中央处理单元的高速缓存存储器切换到用于所述至少一个模块的缓冲器。
5.根据权利要求3所述的电子设备,其中所述控制器被配置为:
如果所述中央处理单元的全部核处理器转换到睡眠模式,则识别所述数据存储器中包括的内存条中的具有较高丢失率的至少一个内存条,并且
控制以将所识别的至少一个内存条从用于所述中央处理单元的高速缓存存储器切换到用于所述至少一个模块的缓冲器。
6.根据权利要求3所述的电子设备,其中所述可共享的高速缓存存储器被配置为:存储根据所述至少一个模块的至少一个事件类型分配的数据存储器地址和所述至少一个事件类型的优先级中的至少一个。
7.根据权利要求1所述的电子设备,还包括切换单元,其包括分别连接到所述至少一个模块的至少一个子开关单元,其中每个子开关单元被控制以将与从连接的模块处发生的事件相关联的事务传送给连接到主存储单元和可共享的高速缓存存储器的互连单元之一。
8.根据权利要求7所述的电子设备,其中如果所述中央处理单元的至少一个核处理器转换到睡眠模式并且从所述可共享的高速缓存存储器接收准备完成信息,则每个子开关单元被控制以传送后面被接收的事务到所述可共享的高速缓存存储器。
9.根据权利要求8所述的电子设备,其中每个子开关单元包括写入缓冲器,用于在所述中央处理单元的所述至少一个核处理器转换到睡眠模式以后,在从所述可共享的高速缓存存储器接收到所述准备完成信息之前发生的写入事务。
10.根据权利要求1所述的电子设备,其中所述控制器还被配置为:
如果所述至少一个核处理器从睡眠模式醒来则使得用于所述至少一个模块的缓冲器失效,并且
将用作缓冲器的区域的内容选择性地写入主存储单元。
11.根据权利要求1所述的电子设备,其中:
所述至少一个模块包括所述辅助处理器、所述通信单元和所述显示单元,以及
所述控制器被配置为:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则分别分配数据存储器区域给所述辅助处理器、所述通信单元和所述显示单元,以完成使用所分配的数据存储器区域作为缓冲器的准备;
控制所述通信单元,以便如果接收到消息数据,则将所接收的消息数据存储在分配给所述通信单元的数据存储器区域中;
控制所述辅助处理器以产生与所接收的消息数据相关的通知,并将该通知存储在分配给所述辅助处理器的数据存储器区域中;以及
控制所述显示单元以读取存储的通知并在所述显示单元的显示区域的至少一部分上显示读取的通知。
12.根据权利要求1所述的电子设备,其中:
所述至少一个模块包括所述辅助处理器和所述显示单元,以及
所述控制器被配置为:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则分别分配数据存储器区域给所述辅助处理器和显示单元以完成使用分配的数据存储器区域作为缓冲器的准备;
控制所述辅助处理器以产生指示时间的图像,并将生成的图像存储在分配给所述辅助处理器的数据存储器区域中;以及
控制所述显示单元以读取存储的图像并将读取的图像显示在所述显示单元的显示区域的至少一部分上。
13.根据权利要求1所述的电子设备,其中:
所述至少一个模块包括所述感测单元,以及
所述控制器被配置为:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则将数据存储器区域分配给所述感测单元以完成使用所分配的数据存储器区域作为缓冲器的准备;
控制所述感测单元以收集用户的生物信息和位置信息中的至少一个并将收集的用户的生物信息和位置信息中的至少一个存储在分配给所述感测单元的数据存储器区域中;以及
控制所述中央处理单元以便如果睡眠模式中的所述至少一个核处理器醒来则将存储在分配给所述感测单元的数据存储器区域中的所收集的生物信息和位置信息中的至少一个写入主存储器单元。
14.根据权利要求1所述的电子设备,其中:
所述至少一个模块包括所述感测单元和所述辅助处理器,以及
所述控制器被配置为:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,将数据存储器区域分配给所述感测单元和辅助处理器以完成使用分配的数据存储器区域作为缓冲器的准备;
控制所述感测单元以将通过感测语音和面部中的一个而获取的识别数据存储在分配给所述感测单元的数据存储器区域中;以及
控制所述辅助处理器以读取所述识别数据来确定所述识别数据是否与人的语音和面部之一相关联,以及如果所述识别数据与人的语音和面部之一相关联,则从睡眠模式唤醒所述至少一个核处理器。
15.一种具有可共享的高速缓存存储器的电子设备的高速缓存存储器控制方法,该方法包括:
如果中央处理单元的一个或多个核处理器处于工作模式,则使能所述可共享的高速缓存存储器作为用于所述中央处理单元的高速缓存存储器;
监视所述中央处理单元的核处理器的每个操作模式;
识别中央处理单元的所述核处理器中的至少一个核处理器的操作模式是否转换到睡眠模式;和
如果所述中央处理单元的一个或多个核处理器中的至少一个核处理器转换到睡眠模式,则将所述可共享的高速缓存存储器的被分配给所述至少一个核处理器的一部分分派作为用于模块中的至少一个模块的缓冲器,
其中,所述至少一个模块包括辅助处理器、通信单元、感测单元和显示单元中的至少一个。
16.根据权利要求15所述的方法,其中将所述可共享的高速缓存存储器的所述一部分分配作为用于所述模块中的至少一个模块的缓冲器的步骤是基于以下各项中的至少一项执行:
与所述中央处理单元的执行功能相关联的软件信息,
与所述中央处理单元的至少一个核处理器的状态相关联的硬件信息,或
所述可共享的高速缓存存储器的使用信息。
17.根据权利要求15所述的方法,其中将所述可共享的高速缓存存储器的所述一部分分配作为用于所述至少一个模块的缓冲器的步骤包括:
识别包括在所述可共享的高速缓存存储器中的数据存储器的多个内存条中的至少一个内存条,所述至少一个内存条被分配给转换到睡眠模式的所述至少一个核处理器;和
将所识别的至少一个内存条从用于所述中央处理单元的高速缓存存储器切换为用于所述至少一个模块的缓冲器。
18.根据权利要求15所述的方法,其中将所述可共享的高速缓存存储器的所述一部分分配作为用于所述至少一个模块的缓冲器的步骤包括:
如果转换到睡眠模式的所述至少一个核处理器是所述中央处理单元的核处理器的一部分,则识别所述中央处理单元的至少一个核处理器的其余部分的其分配率等于或小于阈值的至少一个内存条;和
将所述至少一个内存条从用于所述中央处理单元的高速缓存存储器切换到用于所述至少一个模块的缓冲器。
19.根据权利要求17所述的方法,其中将所述可共享的高速缓存存储器所述一部分分配作为用于所述至少一个模块的缓冲器的步骤包括:
如果所述中央处理单元的全部核处理器转换到睡眠模式,则识别所述数据存储器中包括的内存条中的具有较高丢失率的至少一个内存条;和
将所识别的至少一个内存条从用于所述中央处理单元的高速缓存存储器切换到用于所述至少一个模块的缓冲器。
20.根据权利要求15所述的方法,其中将所述可共享的高速缓存存储器的所述一部分分配作为用于所述至少一个模块的缓冲器的步骤包括以下至少一个:
基于存储在所述可共享的高速缓存存储器中的配置表,根据在所述至少一个模块发生的至少一个事件的类型来确定要用作缓冲器的区域的地址;
基于所述配置表来识别在所述至少一个模块处发生的所述至少一个事件的优先级;或者
根据所述优先级将用于事件的区域切换到用于所述至少一个模块的缓冲器。
21.根据权利要求15所述的方法,还包括控制连接到所述至少一个模块的至少一个开关单元,以将与从连接的模块发生的事件相关联的事务传送到连接至主存储单元和可共享的高速缓存存储器的互连单元之一。
22.根据权利要求21所述的方法,其中控制所述至少一个开关单元的步骤包括:如果所述中央处理单元的至少一个核处理器转换到睡眠模式并且从所述可共享的高速缓存存储器接收准备完成信息,则传送后面被接收的事务到所述可共享的高速缓存存储器。
23.根据权利要求22所述的方法,还包括在所述中央处理单元的所述至少一个核处理器转换到睡眠模式之后,处理从所述可共享的高速缓存存储器接收到所述准备完成信息之前在写入缓冲器中发生的写入事务。
24.根据权利要求15所述的方法,还包括:
如果所述中央处理单元的所述至少一个核处理器从睡眠模式醒来,则使用于所述至少一个模块的缓冲器失效;和
将用作缓冲器的区域的内容选择性地写入主存储单元。
25.根据权利要求15所述的方法,还包括:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则分配数据存储器区域给所述辅助处理器、所述通信单元和所述显示单元,以完成使用所分配的数据存储器区域作为缓冲器的准备;
如果接收到消息数据,则将接收到的消息数据存储在分配给所述通信单元的数据存储器区域中;
生成与由所述辅助处理器处理的接收到的消息数据相关的通知;
将所述通知存储在分配给所述辅助处理器的数据存储器区域中;
读取存储的通知;和
在所述显示单元的显示区域的至少一部分上显示存储的通知。
26.根据权利要求15所述的方法,还包括:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则将数据存储器区域分配给所述辅助处理器和所述显示单元,以完成使用所分配的数据存储器区域作为缓冲器的准备;
产生指示由所述辅助处理器确定的时间的图像;
将生成的图像存储在分配给所述辅助处理器的数据存储器区域中;
读取存储的图像;和
在所述显示单元的显示区域的至少一部分上显示所存储的图像。
27.根据权利要求15所述的方法,还包括:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则将数据存储器区域分配给感测单元,以完成使用所分配的数据存储器区域作为缓冲器的准备;
收集由所述感测单元处理的用户的生物信息和位置信息中的至少一个;
将所收集的用户的生物信息和位置信息中的至少一个存储在分配给所述感测单元的数据存储器区域中;和
如果睡眠模式中的所述中央处理单元的至少一个核处理器醒来,则将分配给所述感测单元的数据存储器区域中存储的收集的生物信息和位置信息中的至少一个写入主存储器。
28.根据权利要求15所述的方法,还包括:
如果所述中央处理单元的至少一个核处理器转换到睡眠模式,则将数据存储器区域分配给所述感测单元和所述辅助处理器,以完成使用所分配的数据存储器区域作为缓冲器的准备;
在分配给所述感测单元的数据存储器区域中存储由感测语音和面部之一的所述感测单元获取的识别数据;
读取由所述辅助处理器处理的识别数据,以确定识别数据是否与人的语音和面部之一相关联;和
如果识别数据与人的语音和面部之一相关联,则从睡眠模式唤醒所述中央处理单元的至少一个核处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140170202A KR102347657B1 (ko) | 2014-12-02 | 2014-12-02 | 전자 장치 및 이의 공유 캐시 메모리 제어 방법 |
KR10-2014-0170202 | 2014-12-02 | ||
PCT/KR2015/012998 WO2016089086A1 (en) | 2014-12-02 | 2015-12-01 | Electronic device and method for controlling shareable cache memory thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107003948A CN107003948A (zh) | 2017-08-01 |
CN107003948B true CN107003948B (zh) | 2021-06-22 |
Family
ID=54843632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580064790.2A Active CN107003948B (zh) | 2014-12-02 | 2015-12-01 | 电子设备及用于控制其可共享的高速缓存存储器的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10579528B2 (zh) |
EP (1) | EP3029577B1 (zh) |
KR (1) | KR102347657B1 (zh) |
CN (1) | CN107003948B (zh) |
WO (1) | WO2016089086A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016206951A (ja) * | 2015-04-22 | 2016-12-08 | 富士通株式会社 | 電子装置及び電子装置の制御方法 |
US10515023B2 (en) * | 2016-02-29 | 2019-12-24 | Intel Corporation | System for address mapping and translation protection |
WO2018120010A1 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Memory sharing for application offload from host processor to integrated sensor hub |
US11119923B2 (en) * | 2017-02-23 | 2021-09-14 | Advanced Micro Devices, Inc. | Locality-aware and sharing-aware cache coherence for collections of processors |
US11727997B2 (en) | 2017-07-07 | 2023-08-15 | Micron Technology, Inc. | RPMB improvements to managed NAND |
CN111108485B (zh) * | 2017-08-08 | 2023-11-24 | 大陆汽车科技有限公司 | 操作高速缓存的方法 |
JP6546235B2 (ja) * | 2017-09-15 | 2019-07-17 | 株式会社日立製作所 | ストレージシステム |
CN109669784B (zh) * | 2017-10-13 | 2021-06-22 | 华为技术有限公司 | 一种进程间通信的方法及*** |
JP7383631B2 (ja) | 2018-03-30 | 2023-11-20 | グーグル エルエルシー | システムオンチップ(SoC)エージェントのリセットおよび電力管理のためのプロトコルレベル制御 |
CN110557436B (zh) * | 2019-07-31 | 2022-06-21 | 视联动力信息技术股份有限公司 | 一种数据传输方法、装置、电子设备和存储介质 |
US11443713B2 (en) * | 2020-01-30 | 2022-09-13 | Apple Inc. | Billboard for context information sharing |
US11409684B2 (en) * | 2020-07-31 | 2022-08-09 | Alibaba Group Holding Limited | Processing accelerator architectures |
CN114402304A (zh) * | 2020-08-19 | 2022-04-26 | 谷歌有限责任公司 | 存储器共享 |
US20220129171A1 (en) * | 2020-10-23 | 2022-04-28 | Pure Storage, Inc. | Preserving data in a storage system operating in a reduced power mode |
CN117880229B (zh) * | 2024-03-11 | 2024-05-17 | 苏州特思恩科技有限公司 | 一种buffer资源自动释放器的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385502A (zh) * | 2010-08-25 | 2012-03-21 | 三星电子株式会社 | 用于存储器管理的处理器、设备和方法 |
CN102483647A (zh) * | 2009-08-31 | 2012-05-30 | 高通股份有限公司 | 用于经由低功率附属处理器操作计算机的方法和*** |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449671B1 (en) * | 1999-06-09 | 2002-09-10 | Ati International Srl | Method and apparatus for busing data elements |
US7058829B2 (en) * | 2002-08-14 | 2006-06-06 | Intel Corporation | Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU |
US7769950B2 (en) | 2004-03-24 | 2010-08-03 | Qualcomm Incorporated | Cached memory system and cache controller for embedded digital signal processor |
US7730335B2 (en) * | 2004-06-10 | 2010-06-01 | Marvell World Trade Ltd. | Low power computer with main and auxiliary processors |
US7451333B2 (en) * | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US7996644B2 (en) * | 2004-12-29 | 2011-08-09 | Intel Corporation | Fair sharing of a cache in a multi-core/multi-threaded processor by dynamically partitioning of the cache |
JP2006285919A (ja) * | 2005-04-05 | 2006-10-19 | Hitachi Ltd | 計算機システム、計算機及びリモートコピー処理方法 |
US8527709B2 (en) * | 2007-07-20 | 2013-09-03 | Intel Corporation | Technique for preserving cached information during a low power mode |
US8539504B2 (en) * | 2007-08-30 | 2013-09-17 | International Business Machines Corporation | Heterogeneous architecture in pooling management |
US8624727B2 (en) * | 2008-01-28 | 2014-01-07 | Saigh And Son, Llc | Personal safety mobile notification system |
US8954977B2 (en) * | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8195887B2 (en) * | 2009-01-21 | 2012-06-05 | Globalfoundries Inc. | Processor power management and method |
US9311245B2 (en) * | 2009-08-13 | 2016-04-12 | Intel Corporation | Dynamic cache sharing based on power state |
US8799553B2 (en) * | 2010-04-13 | 2014-08-05 | Apple Inc. | Memory controller mapping on-the-fly |
KR101796532B1 (ko) * | 2011-06-22 | 2017-11-10 | 삼성전자주식회사 | 수면 모드 제어를 통한 에너지 절감 시스템 및 시스템의 동작 방법 |
US8862917B2 (en) * | 2011-09-19 | 2014-10-14 | Qualcomm Incorporated | Dynamic sleep for multicore computing devices |
JP2013242710A (ja) * | 2012-05-21 | 2013-12-05 | Sony Corp | ユーザインターフェイス、情報表示方法およびプログラム |
US20140181985A1 (en) * | 2012-12-21 | 2014-06-26 | Broadcom Corporation | Content Specific Data Scrambling |
JP6030987B2 (ja) * | 2013-04-02 | 2016-11-24 | ルネサスエレクトロニクス株式会社 | メモリ制御回路 |
-
2014
- 2014-12-02 KR KR1020140170202A patent/KR102347657B1/ko active IP Right Grant
-
2015
- 2015-12-01 CN CN201580064790.2A patent/CN107003948B/zh active Active
- 2015-12-01 WO PCT/KR2015/012998 patent/WO2016089086A1/en active Application Filing
- 2015-12-02 EP EP15197526.5A patent/EP3029577B1/en active Active
- 2015-12-02 US US14/957,520 patent/US10579528B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483647A (zh) * | 2009-08-31 | 2012-05-30 | 高通股份有限公司 | 用于经由低功率附属处理器操作计算机的方法和*** |
CN102385502A (zh) * | 2010-08-25 | 2012-03-21 | 三星电子株式会社 | 用于存储器管理的处理器、设备和方法 |
Non-Patent Citations (1)
Title |
---|
多核处理器的访存模拟与优化技术研究;高翔;《中国博士学位论文全文数据库 信息科技辑》;20070315;I137-4 * |
Also Published As
Publication number | Publication date |
---|---|
US10579528B2 (en) | 2020-03-03 |
EP3029577A1 (en) | 2016-06-08 |
WO2016089086A1 (en) | 2016-06-09 |
EP3029577B1 (en) | 2020-11-25 |
CN107003948A (zh) | 2017-08-01 |
US20160154735A1 (en) | 2016-06-02 |
KR102347657B1 (ko) | 2022-01-06 |
KR20160066188A (ko) | 2016-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003948B (zh) | 电子设备及用于控制其可共享的高速缓存存储器的方法 | |
CN109074331B (zh) | 具有***高速缓存和本地资源管理的功率降低存储器子*** | |
KR101673500B1 (ko) | 캐시 제어를 위한 방법 및 장치 | |
KR101799253B1 (ko) | 다중 클러스터 이종 프로세서 아키텍처에서 동적 캐시 확장을 제공하기 위한 시스템 및 방법 | |
KR102654723B1 (ko) | 저전력 캐시된 앰비언트 컴퓨팅 | |
CN106062661A (zh) | 用于常开常听的语音识别***的位置感知功率管理方案 | |
US9703493B2 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
JP2014509765A (ja) | コンテキストアウェアアプリケーション関連の機能をセンサハブにアウトソースするメカニズム | |
US9760417B2 (en) | Application dehydration and rehydration during application-to-application calls | |
US20160154452A1 (en) | System and method for controlling the power mode of operation of a memory device | |
WO2019128588A1 (zh) | 进程处理方法和装置、电子设备、计算机可读存储介质 | |
CN109716305B (zh) | 实现异步高速缓存维护操作的方法、计算设备以及介质 | |
KR20190046840A (ko) | 하드웨어 제어형 분할된 스누프 디렉토리들을 사용한 코히어런트 인터커넥트 전력 감소 | |
JP3935873B2 (ja) | プリフェッチ・バッファを用いたメモリ電力管理 | |
US20140136748A1 (en) | System and method for performance optimization in usb operations | |
KR20180004956A (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
EP4022446B1 (en) | Memory sharing | |
CN108885587B (zh) | 具有***高速缓存和本地资源管理的功率降低存储器子*** | |
CN109983418B (zh) | 功率状态管理 | |
US11100014B2 (en) | Providing data in a shared memory | |
KR20210123901A (ko) | 애플리케이션 기능들을 센서 허브로 전달하기 위한 방법 | |
JP2015046184A (ja) | 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |