CN105453066B - 处理器和存储器控制方法 - Google Patents
处理器和存储器控制方法 Download PDFInfo
- Publication number
- CN105453066B CN105453066B CN201480043500.1A CN201480043500A CN105453066B CN 105453066 B CN105453066 B CN 105453066B CN 201480043500 A CN201480043500 A CN 201480043500A CN 105453066 B CN105453066 B CN 105453066B
- Authority
- CN
- China
- Prior art keywords
- memory
- intellectual property
- main
- main intellectual
- size
- 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
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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/1016—Performance improvement
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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
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)
- Memory System (AREA)
Abstract
本发明涉及处理器和存储器。更具体地,本发明涉及各种主知识产权(IP)可存取的可切换片上存储器和用于控制其的方法,并且根据本发明的一个实施例的用于控制片上存储器的方法可以包括步骤:设置包括以下当中的至少一种的存储器分配信息:各个主IP的模式、优先级、所需的存储器的空间尺寸以及与其它主IP的相关性;并且通过使用所述存储器分配信息分配用于各个主IP的存储器。根据本发明的一个实施例,在嵌入的SoC中的各种主IP能够利用片上缓冲器和片上高速缓冲的所有优点。
Description
技术领域
本发明涉及一种处理器和存储器,更具体地说,涉及一种众多主知识产权(IP)可以存取的可切换片上存储器、以及控制所述片上存储器的方法。
背景技术
近年来,应用处理器(AP)已被在移动设备(如移动电话、平板个人计算机(平板)等)中被广泛采用。作为AP之一的存储器子系统的重要性持续增加。
AP可以是指以这样的方式实现的片上系统(SoC):具有众多功能的现有复杂系统被集成到单个芯片中作为单一系统。
关于SoC的具体化的技术已得到研究。特别是,用于连接嵌入在芯片中的各种知识产权(IP)的方案已被认为是重要的事项。
SOC一般被配置成包括用于控制整个系统的处理器和由处理器控制的众多IP。IP是指可以被集成到SoC中的电路或逻辑或其组合。电路或逻辑能够存储代码。IP可以被分类成:从IP(slave IP),被配置成仅仅由处理器控制;和主IP(master IP),被配置成需要与其它从IP的数据通信。在某些例子中,一个IP可以充当主和从两者。
例如,IP能够包括中央处理单元(CPU)、CPU中包括的众多核心、多格式编解码器(MFC)、视频模块,例如,摄像头接口、联合照片专家组(JPEG)处理器、视频处理器或混合器、图形处理单元(GPU)、3D图形核心、音频系统、驱动器、显示驱动器、数字信号处理器(DSP),易失性存储器件、非易失性存储器件、存储器控制器、高速缓冲存储器等。
图1是示出在SoC设计中逻辑区域和存储区域之间的比例的图表。
参考图1,其示出了逻辑区域和存储区域之间的比例正在增加。特别是,在嵌入式SoC中存储子系统占据的区域预计在2012年增加至大约70%,并且在2014年94%。由于存储子系统是确定SoC的价格、性能、功率消耗的因素,所以在设计嵌入式SoC和片上存储器时,必须加以考虑。
发明内容
技术问题
设计本发明以满足所述要求,并且本发明提供用于嵌入在SoC中的各种主知识产权(IP)使用片上缓冲器和片上高速缓冲的所有优点的方法。
本发明还提供了一种众多主IP可以存取的可切换片上存储器。
应当理解,本发明的目的不限于上述描述中的那些,并且从下面描述中上面没有描述的其它目标将变得更加明显。
技术方案
根据本发明一方面,提供一种片上存储器的存储器控制方法。所述片上存储器的存储器控制方法包括:设置包括以下中的至少一种的存储器分配信息:根据各个主知识产权(IP)的模式、优先级、所需的存储器空间的尺寸以及与其它主IP的相关性;并且使用所述存储器分配信息来向各个主IP分配存储器。
优选地,设置所述存储器分配信息包括:确定主IP的局域性是否存在;当主IP的局域性存在时,确定存取范围是否小于所述片上存储器的存储器区域;当存取范围小于所述片上存储器的所述存储器区域时,将主IP模式设置为缓冲器;并且当存取范围大于所述片上存储器的存储器区域时,将主IP模式设置为高速缓冲。
优选地,设置存储器分配信息包括:当主IP是实时IP时,将所述主IP设置为具有高优先级。
优选地,设置存储器分配信息包括:当所述主IP模式是缓冲器时,根据所述存取范围尺寸来设置所需的存储器空间的尺寸;而当所述主IP模式是高速缓冲时,将命中率与预设阈值一样的点设置为所需的存储器空间的尺寸。
优选地,当两个主IP同时操作的时间与主IP之一操作的时间之比大于或等于预设阈值时,设置存储器分配信息包括将主IP之间的相关性设置为高。
优选地,向各个主IP分配存储器包括:选择具有最高优先级的主IP;确定在所选择的主IP和在所选择的主IP之前已选择的主IP之间的相关性是否为高;并且当所选择的主IP和在所选择的主IP之前已选择的主IP之间的相关性不为高时,根据所需的存储器空间的尺寸,向所述主IP分配存储器。
优选地,当所选择的主IP和在所选择的主IP之前已选择的主IP之间的相关性为高时,向各个主IP分配存储器包括:确定所选择的主IP所需的存储器空间尺寸和分配给先前在所选择的主IP之前选择的主IP的存储器空间尺寸的总和是否大于所述片上存储器的存储器区域尺寸。当存储器空间尺寸的总和小于所述片上存储器的存储器区域尺寸时,向各个主IP分配存储器包括:根据所需的存储器空间尺寸向所述主IP分配存储器。当存储器空间尺寸的总和大于所述片上存储器的存储器区域尺寸时,向各个主IP分配存储器包括:根据通过从所述片上存储器的存储器区域尺寸减去所述存储器空间尺寸而产生的尺寸来向所述主IP分配存储器。
优选地,以区块(chunk)为单位执行存储器分配。
根据本发明另一方面,提供一种处理器的片上存储器的存储器控制方法。所述存储器控制方法包括:设置包括以下中的至少一种的存储器分配信息:根据各个主知识产权(IP)的模式、优先级、所需的存储器空间的尺寸以及与其它主IP的相关性;并且使用所述存储器分配信息向各个主IP分配存储器。
根据本发明的另一方面,提供一种片上存储器。所述片上存储器包括:存储器空间;和控制器,用于:设置包括以下中的至少一种的存储器分配信息:根据各个主知识产权(IP)的模式、优先级、所需的存储器空间的尺寸以及与其它主IP的相关性;并且使用所述存储器分配信息向各个主IP分配存储器。
根据本发明另一方面,提供一种处理器。所述处理器包括:至少一个主知识产权(IP);和片上存储器。所述片上存储器包括:存储器空间;和控制器,用于:设置包括以下中的至少一种的存储器分配信息:根据所述至少一个主IP的模式、优先级、所需的存储器空间的尺寸以及与其它主IP的相关性;以及使用所述存储器分配信息向存储器分配各个主IP。
发明的有益效果
根据本发明的实施例的片上存储器与具有所述存储器的处理器使得在SoC中嵌入的各种主IP能够使用片上缓冲器和片上高速缓冲的所有优点。
本发明的实施例能够提供众多主IP可以存取的可切换片上存储器。
所述实施例可以:根据主IP的使用场景将存储器区域设置为缓冲器或高速缓冲;动态分配所述存储器区域的部分;并以区块为单位划分和使用存储器,由此动态地将存储器的一部分用作缓冲器,而将另一部分用作高速缓冲。
所述实施例可以采用被设计成作为单一存储器由各个主IP使用的存储器区域的形式,并且这减小了硅面积并且使得SoC的成本具有竞争性。
所述实施例可将对片外存储器的存储器存取延迟之比降低到较小,并且这减少了存取片外存储器的业务量。
所述实施例可以根据区块来向片上存储器应用功率门(gate),并且由于减少了对片外存储器的存取而降低了动态功率消耗。
应当理解,本发明的特征和优点不限于在上述描述中的那些,并且上面没有描述的其它特征和优点将从下面的描述中变得更加明显。
附图说明
图1是示出在SoC设计中逻辑区域和的存储区域之间的比例的图表。
图2是示出一般的SoC的示意性框图。
图3是示出在存储器地址空间中的缓冲器和高速缓冲存储器之间的差异的图。
图4是示出根据本发明的实施例的处理器的例子的框图。
图5是示出根据本发明的实施例的处理器的另一示例的框图。
图6是示出根据本发明的实施例的主IP设置模式的方法的流程图。
图7为示出根据存取范围的事务量的图表。
图8是示出根据本发明的实施例的两个主IP之间的相关性和操作时间点的图。
图9是根据本发明的实施例的对主IP的存储器分配过程的流程图。
图10是示出根据本发明的实施例的片上存储器的框图。
图11是示出根据本发明的实施例的根据主IP的事务信息和关于片上存储器的SFR信息的图。
图12是示出根据本发明的实施例的片上存储器的SFR分配位的图。
图13是示出根据本发明的实施例的片上存储器的初始设置过程的流程图。
图14是示出根据本发明的实施例的分析主IP的事务的方法的流程图。
图15是示出根据本发明的实施例的高速缓冲存储器的动态分配过程的流程图。
图16是示出根据本发明的实施例的关于高速缓冲存储器的动态分配信息的图。
图17和18是示出根据本发明的实施例的根据高速缓冲的区块控制功率的方法的流程图。
图19是示出根据本发明的实施例的关于高速缓冲存储器的功率控制信息的图。
具体实施方式
可能省略对在此合并的公知功能和结构的详细描述以避免模糊本发明的主题内容。参照附图来详细描述本发明的实施例。在说明书和权利要求中描述的术语或词汇不应当受通常或词汇含意的限制,而是应当被分析成下述含义和概念:发明人通过其来尽他最大努力定义和描述本发明以符合本发明的构思。
图2是示出一般的SoC的示意框图。图3是示出存储器地址空间中缓冲器和高速缓冲存储器之间的差异的图。
参考图2,一般的嵌入式SoC 200能够包括CPU核心210、片上存储器220(即223、225)和外部存储器接口230。片上存储器220位于处理器核心210和外部存储器240(或片外存储器)之间。片上存储器220是指能够以高于外部存储器240的速度操作并且在尺寸上小于外部存储器240的存储器件。片上存储器220可以用作缓冲器223或高速缓冲225,如图2中所示。
缓冲器和高速缓冲在存储器地址空间方面彼此不同,并且参照图3来描述这种不同。缓冲器具有使用固定的存储器空间范围的固定的存储器存取时间。相反,高速缓冲能够覆盖大于高速缓冲存储器尺寸的存储器空间。高速缓冲的存储器存取时间根据高速缓冲命中/遗漏(Cache Hit/Miss)而可能变化。
片上缓冲器(或存储器)和片上高速缓冲可具有下表1中的优点和缺点。也就是说,片上缓冲器在SoC上占用较小区域,消耗较少功率,并具有固定的存储器存取时间。然而,片上缓冲器具有比片上高速缓冲更小的地址范围,这是因为覆盖的地址范围由于缓冲器尺寸而是固定的。片上缓冲器在使用时没有片上高速缓冲方便,因为片上缓冲器在被使用时需要软件的支持。
因此,优选的是,就功率消耗和SoC的面积以及存储器存取时间而言,使用片上缓冲器。同时,优选的是,就动态地址范围的确定和将覆盖的地址范围以及使用便利性而言,使用片上高速缓冲。
[表1]
嵌入在SoC中的主IP的要求(缓冲器或高速缓冲)可能彼此不同。为了满足SoC中的所有要求,当在SoC中实现用于各个主IP的所有缓冲器或高速缓冲时,硅面积增大并且因而这可能增加SoC的价格。
此外,在SoC中嵌入的各种主IP需要使用片上缓冲器和片上高速缓冲的所有优点的方法。在这种情况下,因为所有主IP同时操作的频率较低,所以当空间被交替为缓冲器和高速缓冲时可以使用一个片上存储器。因此,本发明提供了一种众多主IP可以存取的可切换片上存储器。
图4是示出根据本发明的实施例的处理器的例子的框图。图5是示出根据本发明的实施例的处理器的另一示例的框图。
参照图4,根据本发明的实施例的处理器400能够包括片上存储器450、存储器控制器430、主IP 411、412、413、414、415、416、417和418、总线420等。在实施例中,处理器400可以是应用处理器(AP)。
如图4中所示,处理器400能够在片上系统(SoC)上包括各种主IP。例如,主IP能够包括中央处理单元(CPU)411、图形处理单元(GPU)412、多格式编解码器(MFC)413、数字信号处理器(DSP)414、显示器415、音频416、嵌入式多媒体卡(eMMC)控制器417、通用闪存(UFS)控制器418等,但不限于此。在下面的描述中不详细描述各个主IP的操作以避免模糊本发明的主题内容。
片上存储器450允许众多主IP 411、412、413、414、415、416、417和418的存取。片上存储器450可以是可切换片上存储器,其在根据主IP 411、412、413、414、415、416、417和418而被交替成缓冲器或高速缓冲时可以被使用。稍后将描述其详细描述。
虽然在图4中示出的实施例以处理器包括一个片上存储器450的方式来配置,但是应该理解:可以以各种形式来配置处理器。例如,如图5的(a)中所示,处理器500可以被配置成众多片上存储器550和555。如图5的(b)中所示,所述实施例可以以一个片上存储器550连接到众多存储器控制器530和535的方式被修改,但不限于此。
虽然在图4中示出的实施例以片上存储器450位于处理器400中的指定区域这样的方式来配置,但是应该理解本发明不限于所述实施例。例如,虽然未示出,但是所述实施例可以以片上存储器450可以被实现在各种位置(诸如总线420、存储器控制器430等)这样的方式被修改。
在上述描述中,在配置方面说明了根据本发明的实施例的处理器。
提供下面关于根据本发明的实施例的在处理器中包含的可切换片上存储器的操作的描述。
图6是示出根据本发明的实施例的主IP设置模式的方法的流程图。图7为示出根据存取范围的事务量的图表。
参照图6,在操作610中,确定主IP的局域性(locality)是否存在。局域性是指通过运行程序访问(refer to)存储器件的模式,它不是在存储器件的整个区域上发生的属性,而是在某一时刻集中地存取存储器件的一个或两个位置的属性。也就是说,局域性是在某一时刻对存储器的特定区域的集中访问的模式。
参考图7,示出根据特定主IP的存取范围的事务量。当事务量大于预设值时,确定局域性存在。例如,当事务量大于600000个字节时,可预设局域性存在的设置。
返回参考图6,当在操作610中确定主IP的局域性存在时,在操作620中,分析主IP的存储器存取范围的模式并确定片上存储器的模式。片上存储器的模式是指片上存储器被设置为缓冲器还是高速缓冲的模式。
当在操作620中主IP的存储器存取范围大于存储器尺寸时,在操作630中,将片上存储器的模式被设置为高速缓冲。由于存储器存取范围大于存储器尺寸的结果表明需要IP覆盖大于存储器尺寸的范围,所以将该片上存储器用作高速缓冲是有利的。另一方面,当在操作620中主IP的存储器存取范围小于存储器尺寸时,在操作640中片上存储器的模式被设置为缓冲器。
下表2示出主IP基于存取范围和局域性设置片上存储器的模式的示例。根据系统操作,设置值可能变化。
[表2]
主IP | 局域性 | 范围 | 缓冲器或高速缓冲 |
GPU | 纹理(texture) | 范围>尺寸 | 高速缓冲 |
MFC | 线性缓冲器 | 范围>尺寸 | 高速缓冲 |
DMA | 页面高速缓冲 | 范围>尺寸 | 高速缓冲 |
DSP | 范围<尺寸 | 缓冲器 | |
音频 | 范围<尺寸 | 缓冲器 |
在前面描述中,说明了根据主IP来设置片上存储器的模式的方法。
提供以下有关根据主IP设置优先级的过程的描述。
根据实施例,为了根据主IP分配片上存储器并且使用所分配的空间,可以对主IP排优先级顺序。当设置了主IP的优先级时,从具有最高优先级的主IP开始进行存储器分配。
主IP可以以例如实时IP被设置为具有更高优先级这样的方式来排优先级顺序。当图形操作处理延迟时,在显示器上可能会出现屏幕闪烁或屏幕切换延迟,并且这使用户不便。因此,GPU可以是需要实时执行操作的IP。然而,当根据系统的操作,图形操作过程并不重要时,GPU可以被设置成非实时IP。
在一个实施例中,主IP的吞吐量越高,主IP的优先级被设置得越高。也就是说,就整个系统的处理速度而言,主IP的吞吐量越高,使用片上存储器的面积就越有利。因此,具有高吞吐量的主IP可被设置为具有高优先级。
根据主IP的优先级值可以取决于系统的操作而变化。应当理解,设置主IP的优先级的方法并不限于所述实施例。例如,可以以GPU>MFC>DMA>DSP>音频这样的顺序来设置根据主IP的优先级。同时,优先级越高,优先级值被设置得越小。
在前面描述中,说明了根据主IP设置优先级的过程。
提供下面有关根据主IP设置所需的存储器空间的尺寸的过程的描述。
根据实施例,可设置根据主IP的所需的存储器空间的尺寸。例如,当根据所选择的主IP的片上存储器被设置为缓冲器模式时,可根据存取范围确定存储器空间的尺寸。也就是说,所需的存储器空间的尺寸可以被设置为满足存取范围的尺寸。
根据实施例,当根据主IP的片上存储器被设置为高速缓冲模式时,可根据命中率的变化确定存储器空间的尺寸。也就是说,所需的存储器空间的尺寸可被设置为根据所需的存储器空间的尺寸的命中率大于或等于预设阈值的点。命中率是指相应主IP对片上存储器进行存取的次数与主IP对外部存储器(片外存储器)进行存取以读取运行程序和指令所需的数据和命令并从而导致相同效果的全部次数之比。当预设阈值被设置成相对较大的值时,相应主IP可快速地运行处理;但是,在片上存储器中的所需的存储器空间的尺寸可能会增加。当预设阈值被设置得太小时,相应主IP可能会以较低的效率从高速缓冲存储器中读取所需的数据和命令。因此,当根据状况命中率被设置为大于或等于预设阈值时,所需的存储器空间的尺寸可被设置为合适的,由此实现高效的存储器管理。根据实施例,可根据用户的输入设置所述预设阈值。
下表3示出了根据主IP所需的存储器尺寸的示例。设置值可以根据系统操作而变化。
[表3]
主IP | 所需尺寸 |
GPU | 4MB |
MFC | 2MB |
DMA | 3MB |
DSP | 1MB |
音频 | 4MB |
在前面描述中,说明了根据主IP设置所需的存储器空间的尺寸的过程。
提供下面关于设置主IP之间的相关性的处理的描述。
图8是示出根据本发明的实施例的在两主IP之间的相关性和操作时间点的图。
参照图8,彼此不同的主IP可以具有部分重叠的各自的操作时间。也就是说,当一个主IP(IP1)开始操作并且维持操作时,另一个主IP(IP2)可以在IP1停止操作之前开始操作。当两个不同的主IP的操作时间彼此重叠时,这被称为在两个主IP之间存在相关性。在这种情况下,当这两个不同的主IP同时操作的操作时间相对长时,相关值被认为大。
例如,如在下面公式1中所述,可以从两个主IP同时操作的时间与两个主IP从开始到结束所操作的全部时间之比来计算相关值。应该理解的是,相关值不限于上述计算。例如,也可以基于两个主IP同时操作的时间与主IP之一操作的时间之比来计算相关值。
[公式1]
rIP1,IP2=A/B
其中:rIP1,IP2表示在两个主IP(IP1和IP2)之间的相关值;B表示IP1和IP2操作的全部时间;而A表示IP1和IP2同时操作的时间。
当相关值大于预设阈值时,相关性被认为是高的。根据实施例,可根据用户的输入设置所述预设阈值。
下表4示出主IP之间的相关性的例子。相关性可根据系统操作而变化。
[表4]
GPU | MFC | DMA | DSP | 音频 | |
GPU | L | L | L | L | |
MFC | H | L | L | ||
DMA | L | L | |||
DSP | L | ||||
音频 |
在前面描述中,说明了设置主IP之间的相关性的过程。
提供以下有关根据主IP分配存储器的过程的描述。
图9是根据本发明的实施例的对主IP的存储器分配过程的流程图。
可以基于上述的主IP的优先级、所需的存储器空间的尺寸、以及与其它主IP的相关性来执行根据主IP的存储器分配。
参考图9,在操作910中,存储器控制器能够选择具有最高优先级的主IP。例如,当优先级值被设置使得优先级越高,值越小时,优先级值i可以被设置为零。在操作920中,存储器控制器能够搜索并选择优先级值i为零的主IP。也就是说,存储器控制器能够从具有高优先级的主IP开始设置存储器的分配。
在操作930中,存储器控制器能够确定当前选择的主IP是否与已选择的主IP相关。也就是说,当在当前选择的主IP之前已经存在被选择和被分配存储器的主IP时,所述存储器控制器能够确定在当前选择的IP和先前分配的IP之间是否存在相关性。当相关值大于预设阈值时,相关性被认为高。预设的阈值根据系统的管理类型而变化。可以根据用户的输入而将预设阈值设置为某个值。当在操作930中存储器控制器确定在当前选择的主IP和先前选择的主IP之间的相关性为低时,它进行到下面的操作950。在另一实施例中,当在当前主IP被选择之前没有分配任何主IP时,在操作930中存储器控制器确定在当前选择的主IP和先前选择的主IP之间相关性不存在或为低,它进行到下面的操作950。
当在操作930中存储器控制器确定在当前选择的主IP和先前选择的主IP之间相关性低时,在操作950中,能够根据当前选择的主IP所需的存储器空间的尺寸进行存储器分配。根据实施例,可以以作为存储器尺寸的区块(chunk)为单位来分配存储器。区块单位根据处理或实施例而可能变化。
另一方面,当在操作930中存储器控制器确定在当前选择的主IP和先前选择的主IP之间的相关性为高时,在操作940中,能够考虑片上存储器的尺寸来进行存储器分配。
也就是说,在操作940中,存储器控制器能够确定片上存储器的尺寸是否足够来分配当前选择的主IP所需的存储器空间尺寸。根据实施例,如在以下公式2所描述的,在操作940中,所述存储器控制器可以比较分配给先前选择的主IP的存储器空间尺寸和当前选择的主IP所需的存储器空间尺寸之总和与片上存储器的尺寸。
[公式2]
其中,i代表具有高相关值的IP的索引;Ai是具有索引i的分配的存储器尺寸;而S表示片上存储器的全部尺寸。
当当前选择的主IP所需的存储器空间尺寸和分配给先前在当前选择的主IP之前选择的主IP的存储器空间尺寸的总和小于片上存储器的全部尺寸时,存储器控制器能够根据当前选择的主IP所需的存储器空间尺寸进行存储器分配。也就是说,在操作950中,存储器控制器能够根据当前选择的主IP所需的存储器空间尺寸进行存储器分配。根据实施例,可以以作为存储器尺寸的区块为单位分配存储器。
另一方面,当当前选择的主IP所需的存储器空间尺寸和分配给先前在当前选择的主IP之前先前选择的主IP的存储器空间尺寸的总和大于片上存储器的全部尺寸时,存储器控制器不能根据当前选择的主IP所需的存储器空间尺寸来分配存储器。在这种情况下,在操作960中,存储器控制器可以向当前选择的主IP分配通过从片上存储器的尺寸减去当前分配的存储器尺寸而获得的存储器空间。
在操作950或960中的存储器分配后,在操作970中,存储器控制器确定是否对所有IP进行了存储器分配。当在操作970中存储器控制器确定还没有对所有IP进行存储器分配时,在操作980中,将优先级值i增加1并且然后对具有下一优先级值的主IP执行存储器分配。
因此,片上存储器根据各个主IP而以区块为单位被划分,将存储器一部分动态分配给缓冲器,而将其它部分动态给高速缓冲。
下面的表5描述了根据主IP的存储器分配的例子。设置值根据系统操作可能变化。
[表5]
主IP | 优先级 | 所需尺寸 | 分配 | 注解 |
GPU | 1 | 4MB | 4MB | |
MFC | 2 | 2MB | 2MB | |
DMA | 3 | 3MB | 2MB | r<sub>DMA,MFC</sub>=高 |
DSP | 4 | 1MB | 1MB | |
音频 | 5 | 4MB | 4MB | r<sub>音频,其它</sub>=低 |
虽然未示出,但是当设置根据主IP的相关性、存储器空间尺寸、优先级和模式时,设置顺序和设置组合可以以各种形式改变。也可以修改存储器分配过程。
在前面描述中,说明了根据主IP分配存储器的过程。
提供下面关于根据本发明的实施例的在处理器中包含的可切换片上存储器的体系结构的描述。
图10是示出根据本发明的实施例的片上存储器的框图。
参照图10,根据本发明的实施例的片上存储器1000能够包括专用功能寄存器(SFR)1010、事务解码器1020、缓冲器/高速缓冲选择器1030、高速缓冲分配器1040、缓冲器控制器1050、高速缓冲控制器1060、存储器空间1070等等。
SFR1010是专用功能检测器区域并且控制和监视处理器的各种功能。根据处理器的架构,SFR 1010能够包括I/O和外围设备控制器、定时器、堆栈指针、堆栈限制、程序计数器、子程序返回地址、处理器状态、状况码等等,但不限于此。在实施例中,SFR 1010能够包括关于对各个主IP的片上存储器的存储器分配信息。将稍后说明其详细描述。
事务解码器1020分析和解码来自主IP的事务信息。存储器空间1070是指片上存储器1000的实际用于存储的空间。
缓冲器/高速缓冲选择器1030根据SFR 1010的设置而将片上存储器1000设置为缓冲器或高速缓冲。高速缓冲分配器1040在存储器1000中动态地分配被分配给高速缓冲的范围。高速缓冲控制器1060控制分配给高速缓冲的范围。虽然图10的实施例是以这样的方式来配置:高速缓冲分配器1040和高速缓冲控制器1060是分开的,但是它可以以这样的方式被修改:高速缓冲分配器1040和高速缓冲控制器1060被配置成一个组件。缓冲器控制器1050控制在存储器1000中分配给缓冲器的范围。虽然没有示出,但是缓冲器控制器1050和高速缓冲控制器1060可以被配置成一个组件。
图11是示出根据本发明的实施例的根据主IP的事务信息和关于片上存储器的SFR信息的图。图12是示出根据本发明的实施例的片上存储器的SFR分配位的图。
参考图11,关于主IP的事务信息1110可以包括关于相应主IP的标识信息(ID)1111、使能信息1113等,但不限于此。主IP能够经由总线1140向片上存储器发送事务信息1110。在片上存储器中,事务解码器解码接收的事务信息并将解码的结果传送到存储器控制器1160。主IP的标识信息1111和使能信息可以是指示各自的状态的标识符(标识)。
片上存储器的SFR信息1150可以包括主IP的标识信息1151、使能信息1152、模式信息1153、优先级信息1154、分配信息1155、实际存储器使用信息1156等,但不限于此。主IP的标识信息1151需要与包括在关于主IP的事务信息中的主IP的标识信息1111一样。使能信息1152指示是否使能分配给相应的主IP的存储器的状况。
分配信息1155指示是否经由片上存储器的各个位分配了存储器区块的状况。实际存储器使用信息1156指示相应存储器区块是否实际在使用的状况。例如,如图12中所示,存储器分配信息1155向存储器区块分配“0”和“1”以指示它们是否在使用。
模式信息1153指示与主IP的标识信息1151对应的IP是被设置为缓冲器模式还是高速缓冲模式的状况。优先级信息1154包括相应IP的优先级信息。
前面描述说明了根据本发明的实施例的在处理器中包含的可切换片上存储器的体系结构。
提供下面关于根据本发明的实施例的在处理器中包含的可切换片上存储器的操作的描述。
图13是示出根据本发明的实施例的片上存储器的初始设置过程的流程图。
参照图13,在关于主IP的事务信息被设置并且然后有关与事务信息对应的片上存储器的SFR的信息被设置后使用片上存储器。
为此,在操作1310中,主IP的事务被禁用。在此之后,在操作1320中,片上存储器的与主IP对应的SFR被禁用。
在操作1330中,在片上存储器的SFR中设置模式、优先级、分配信息、实际存储器使用信息等。在那之后,在操作1340中,使能片上存储器的SFR。在操作1350中,使能主IP的事务。在操作1360中,主IP正在运行。
图14是示出根据本发明的实施例分析主IP的事务的方法的流程图。
参照图14,通过使能事务信息、SFR信息和模式,相应主IP的事务可以被发送到缓冲器或高速缓冲,或经由片外存储器控制器而被旁路。
更具体地说,在操作1410中确定是否使能主IP事务的使能信息。当在操作1410中使能主IP事务信息时,在操作1420中确定是否使能在SFR信息中的IP使能信息。
另一方面,当在操作1410中禁用主IP事务的使能信息或在操作1420中禁用在SFR信息中的IP使能信息时,在操作1430中,相应主IP的事务被发送到片外存储器控制器。也就是说,相应主IP的事务经由片外存储器控制器被旁路,而不被发送到片上存储器。
当在操作1420中SFR信息中的IP使能信息被使能时,在操作1440中确定在SFR信息中的模式信息是缓冲器还是高速缓冲。当在操作1440中SFR模式是缓冲器模式时,在操作1450中,主IP的事务被发送到片上存储器中的缓冲器控制器。另一方面,当在操作1440中SFR模式是高速缓冲模式时,在操作1460中,主IP的事务被发送到片上存储器中的高速缓冲控制器。该实施例还可以以这样的方式被修改:片上存储器中的控制器之一执行与在SFR信息中设置的模式对应的过程。
前面描述说明了根据本发明的实施例的在处理器中包含的可切换片上存储器的操作。
提供下面关于根据本发明的实施例的在处理器中包含的可切换片上存储器中的切换模式的过程的描述。
在根据本发明的实施例的可切换片上存储器中,分配给缓冲器或高速缓冲并且用作缓冲器或高速缓冲的存储器区域可以被禁用,或者处于在具有更高优先级的另一主IP的分配的过程中的存储器区域可以从当前模式切换到另一模式。
在片上存储器被分配给缓冲器并用作缓冲器的状态中,当缓冲器被禁用或缓冲器模式被切换到高速缓冲模式时,片上存储器的缓冲器控制器可以将处于使用中的区块区域复制到片外存储器上。
在片上存储器被分配给高速缓冲并且用作高速缓冲的状态中,当高速缓冲被禁用或高速缓冲模式被切换到缓冲器模式时,片上存储器的高速缓冲控制器可以清扫使用中的区块区域并使其无效。
前面描述说明了根据本发明的实施例的在处理器中包含的可切换片上存储器中切换模式的过程。
提供下面有关根据本发明的实施例的在处理器中包含的可切换片上存储器的高速缓冲操作方法的描述。
图15是示出根据本发明的实施例的高速缓冲存储器的动态分配过程的流程图。图16是示出根据本发明的实施例的关于高速缓冲存储器的动态分配信息的图。
参照图15,在根据本发明的实施例的可切换片上存储器中,以区块(或线路(Way))为单位动态地分配高速缓冲存储器。可以基于按照高速缓冲存储器的区块的空指示符和存储器控制器的忙指示符来进行高速缓冲存储器的动态分配。
空指示符是指可以根据高速缓冲存储器的线经由状态位来检查动态分配并且指示在所分配的高速缓冲存储器中是否存在未在使用的区域的指示符。例如,可以用一位指示符来实现空指示符,当在高速缓冲存储器中存在实际上未在使用的区域时,其指示“1”(表示“空”)或在高速缓冲存储器中不存在实际上未在使用的区域时指示“0”(表示“满”)。然而,应该理解,空指示符不限于所述实施例。也就是说,应该理解,可以通过采用其它方法来进行在高速缓冲存储器中是否存在实际上未在使用的区域的确定。
忙指示符是指指示片上存储器的使用是否大于或等于预设阈值的指示符。所述预设阈值可以根据用户的输入而变化。例如,忙指示符可以用一位指示符来实现,当存储器的使用大于或等于预设阈值时,其指示“1”(表示“忙”),或当存储器的使用小于预设阈值时指示“0”(表示“空闲”)。
如图15中所示,在操作1510中,进行确定存储器控制器的忙指示符是否是“1(忙)”,或存储器的使用是否大于或等于预设阈值。也就是说,进行确定是否因为存储器的使用较大,而需要动态分配高速缓冲存储器。
当在操作1510中存储器控制器的忙指示符是“1(忙)”时,在操作1520中进行确定是否所有的使能IP的空指示符都是“0(满)”,或在分配的高速缓冲存储器中是否存在未在使用的区域。
当在操作1520中所有的使能IP的存储器都在使用时,在操作1530中,进行确定在使能的IP当中是否存在其空指示符是1(空)的IP,或具有被分配但是未在使用的存储器区域的IP。
当在操作1530中存在具有被分配但是未在使用的存储器区域的IP时,在操作1540中,具有未在使用的存储器区域的空IP被处理以改变在空IP的实际存储器中的使用区域,以便排除未在使用的存储器区域并且从空IP改变。
在那之后,在操作1550中,其中所有被分配的存储器在使用的满IP被改变为在实际存储器使用信息中包括在空IP中未使用的存储器区域。
参照图16,在主IP当中的MFC和DMA被设置成高速缓冲模式并且每个被分配高速缓冲存储器。存储器控制器的忙指示符指示1(忙)并且DMA的空指示符指示0(满)。当MFC的空指示符指示1(空)时,DMA和MFC实际使用的实际存储器可如图16中所示改变。也就是说,实际存储器使用信息可以被改变以便:在分配给MFC的存储器区域当中未在使用的存储器区域减少由MFC实际使用的存储器区域,从而DMA可以使用未在使用的存储器区域;并且减少的区域被添加到由DMA实际使用的存储器区域中。
图17和18是示出根据本发明的实施例的根据高速缓冲存储器的区块控制功率的方法的流程图。图19是示出根据本发明的实施例的关于高速缓冲存储器的功率控制信息的图。
参照图17和18,在根据本发明的实施例的可切换片上存储器中,可以以区块为单元执行对高速缓冲存储器的功率控制。可以基于如上所述的根据高速缓冲存储器的区块的空指示符和存储器控制器的忙指示符来在区块中控制功率。
参考图17,描述了将存储器中未使用的区块区域断电的方法。在操作1710中,进行确定存储器控制器的忙指示符是否是“0(空闲)”,或存储器的使用是否小于预设阈值。
当在操作1710中存储器的使用小于预设阈值时,在操作1720中,进行确定在使能的IP中是否存在空指示符是“1(空)”的IP,即在所分配的高速缓冲存储器中是否存在未在使用的存储器区域。
当在操作1720中在分配的高速缓冲存储器中存在未在使用的存储器区域时,在操作1730中,可以设置IP以便可以从实际存储器使用信息中排除未在使用的存储器区域。
在那之后,控制器可以对存储器的未在使用的区块区域断电。
参照图18,描述了对存储器中的断电区块区域上电的方法。在操作1810中,进行确定存储器控制器的忙指示符是否是“1(忙)”,即,存储器的使用是否大于或等于预设阈值。
当在操作1810中存储器的使用大于或等于预设阈值时,在操作1820中进行确定是否存在断电范围。
当在操作1820中存在断电区域时,在操作1830中,进行确定是否所有的使能IP的空指示符都是“0(满)”,即在分配的高速缓冲存储器中是否存在未在使用的区域,还有是否存在其中实际使用的存储器区域小于分配的区域的IP。
在那之后,在操作1840中,对断电的区块区域上电。在操作1850中,上电的区块被添加到使用区域中,并且实际存储器使用区域被设置为与存储器分配区域一样。
参照图19,在主IP当中的MFC和DMA被设置高速缓冲模式并且每个被分配高速缓冲存储器。存储器控制器的忙指示符指示0(空闲),而MFC的空指示符指示1(空)。在这种情况下,如图19中所示,关于MFC的实际存储器使用信息被改变,并且在被改变的区域当中的未在使用的区域可被断电。也就是说,实际存储器使用信息可以被改变以便在分配给MFC的存储器区域当中的未在使用的存储器区域可以被断电。
在那之后,存储器控制器的忙指示符是1(忙)并且MFC的空指示符是0(满)。在这种情况下,如图19中所示,关于MFC的实际存储器使用信息被改变,并且被改变的区域可以被上电。也就是说,因为在分配给MFC的存储器区域当中的未在使用的存储器区域被断电,所以分配给MFC的存储器区域可被设置为不同于实际使用区域。在那之后,当分配给MFC但未在使用的存储器区域被上电时,上电的存储器区域可以被包括在实际存储器使用区域中。
如上所述,根据本发明的实施例的片上存储器能够:根据主IP的使用场景将存储器区域设置为缓冲器或高速缓冲;和动态地分配存储器区域的部分。片上存储器能够根据主IP的模式(缓冲器或高速缓冲模式)、优先级、所需的存储器空间的尺寸、相关性等向主IP分配存储器。
根据本发明的实施例的片上存储器能够动态地将存储器用作缓冲器或高速缓冲,将存储器划分为区块,并以区块为单位使用存储器,由此动态地使用存储器的一部分作为缓冲器。而使用另一部分作为高速缓冲。
此外,实施例可以动态地分配高速缓冲存储器给高速缓冲模式中的主IP并且控制对高速缓冲存储器的供电,由此降低功率消耗。
在说明书和附图中描述的本发明的实施例仅仅被提供用于帮助对本发明的全面理解,而不暗示限制。虽然上面已经详细描述了本发明的实施例,但是应该理解,对在此处描述的基本的发明构思可以进行许多变化和修改。
因此,所述详细描述应该不被分析为限制而是示范性的。应该理解,对于本领域技术人员来说可能是显然的、在此描述的基本发明构思的许多变化和修改将落在如所附权利要求中定义的本发明实施例的精神和范围之内。
Claims (20)
1.一种片上存储器的存储器控制方法,包括:
当主知识产权中的第一主知识产权的存储器存取范围小于片上存储器的存储器区域时,将所述第一主知识产权的模式确定为缓冲器模式;
当主知识产权中的第二主知识产权的存储器存取范围大于片上存储器的存储器区域时,将所述第二主知识产权的模式确定为高速缓冲模式;
基于关于主知识产权的以下信息中的至少一种设置存储器分配信息:所确定的模式、优先级、所需的存储器空间的尺寸以及在各个主知识产权之间的相关性;以及
使用所述存储器分配信息来向第一主知识产权和第二主知识产权分配存储器。
2.如权利要求1所述的存储器控制方法,其中,设置所述存储器分配信息包括:
确定第一主知识产权和第二主知识产权的局域性是否存在;
当第一主知识产权和第二主知识产权的局域性存在时,将第一主知识产权和第二主知识产权的每个存取范围与片上存储器的存储器区域进行比较。
3.如权利要求1所述的存储器控制方法,其中,设置所述存储器分配信息包括:
当主知识产权中的一个主知识产权是实时知识产权时,将所述一个主知识产权设置为具有高优先级。
4.如权利要求1所述的存储器控制方法,其中,设置所述存储器分配信息包括:
当第一主知识产权模式是缓冲器模式时,根据所述第一主知识产权的存取范围尺寸来设置所需的存储器空间的尺寸;而
当第二主知识产权模式是高速缓冲模式时,将第二主知识产权的命中率与预设阈值一样的点设置为所需的存储器空间的尺寸。
5.如权利要求1所述的存储器控制方法,其中,设置所述存储器分配信息包括:
当主知识产权中的两个主知识产权同时操作的时间与所述两个主知识产权之一操作的时间之比大于或等于预设阈值时,将所述两个主知识产权之间的相关性设置为高。
6.如权利要求1所述的存储器控制方法,其中,向第一主知识产权和第二主知识产权分配存储器包括:
选择主知识产权中的具有最高优先级的一个主知识产权;
基于所选择的主知识产权和特定的主知识产权同时操作的时间是否大于或等于预设阈值来确定在所选择的主知识产权和在所选择的主知识产权之前已被选择的特定的主知识产权之间的相关性是否为高;并且
当在所选择的主知识产权和特定的主知识产权之间的相关性不为高时,根据所需的存储器空间的尺寸,向所选择的主知识产权和特定的主知识产权分配存储器。
7.如权利要求6所述的存储器控制方法,其中,向所选择的主知识产权和特定的主知识产权分配存储器包括:
当在所选择的主知识产权和特定的主知识产权之间的相关性为高时,确定所选择的主知识产权和特定的主知识产权所需的每个存储器空间尺寸的总和是否大于所述片上存储器的存储器区域尺寸;
当每个存储器空间尺寸的总和小于所述片上存储器的存储器区域尺寸时,根据所需的每个存储器空间尺寸向所选择的主知识产权和特定的主知识产权分配存储器;而
当每个存储器空间尺寸的总和大于所述片上存储器的存储器区域尺寸时,根据通过从所述片上存储器的存储器区域尺寸减去所分配的存储器空间尺寸而产生的尺寸来向所选择的主知识产权和特定的主知识产权分配存储器。
8.如权利要求1所述的存储器控制方法,其中,以区块为单位执行存储器分配。
9.一种处理器的片上存储器的存储器控制方法,包括:
当主知识产权中的第一主知识产权的存储器存取范围小于片上存储器的存储器区域时,将所述第一主知识产权的模式确定为缓冲器模式;
当主知识产权中的第二主知识产权的存储器存取范围大于片上存储器的存储器区域时,将所述第二主知识产权的模式确定为高速缓冲模式;
基于关于主知识产权的以下信息中的至少一种设置存储器分配信息:所确定的模式、优先级、所需的存储器空间的尺寸以及在各个主知识产权之间的相关性;并且
使用所述存储器分配信息,向第一主知识产权和第二主知识产权分配存储器。
10.如权利要求9所述的存储器控制方法,其中,以区块为单位执行存储器分配。
11.一种片上存储器,包括:
存储器空间;和
控制器,用于:当主知识产权中的第一主知识产权的存储器存取范围小于片上存储器的存储器区域时,将所述第一主知识产权的模式确定为缓冲器模式;当主知识产权中的第二主知识产权的存储器存取范围大于片上存储器的存储器区域时,将所述第二主知识产权的模式确定为高速缓冲模式;基于关于主知识产权的以下信息中的至少一种设置存储器分配信息:所确定的模式、优先级、所需的存储器空间的尺寸以及在各个主知识产权的相关性;以及使用所述存储器分配信息,向第一主知识产权和第二主知识产权分配存储器。
12.如权利要求11所述的片上存储器,其中,所述控制器:确定第一主知识产权和第二主知识产权的局域性是否存在;当第一主知识产权和第二主知识产权的局域性存在时,将第一主知识产权和第二主知识产权的每个存取范围与所述片上存储器的存储器区域进行比较。
13.如权利要求11所述的片上存储器,其中,当主知识产权中的一个主知识产权是实时知识产权时,所述控制器将所述一个主知识产权设置为具有高优先级。
14.如权利要求11所述的片上存储器,其中,所述控制器:当第一主知识产权模式是缓冲器模式时,根据所述第一主知识产权的存取范围尺寸来设置所需的存储器空间的尺寸;而当第二主知识产权模式是高速缓冲模式时,将所述第二主知识产权的命中率与预设阈值一样的点设置为所需的存储器空间的尺寸。
15.如权利要求11所述的片上存储器,其中,当主知识产权中的两个主知识产权同时操作的时间与所述两个主知识产权之一操作的时间之比大于或等于预设阈值时,将在所述两个主知识产权之间的相关性设置为高。
16.如权利要求11所述的片上存储器,其中,所述控制器:选择所述主知识产权中的具有最高优先级的一个主知识产权;基于所选择的主知识产权和特定的主知识产权同时操作的时间是否大于或等于预设阈值来确定在所选择的主知识产权和在所选择的主知识产权之前已被选择的特定的主知识产权之间的相关性是否为高;并且当在所选择的主知识产权和在特定的主知识产权之间的相关性不为高时,根据所需的存储器空间的尺寸,向所选择的主知识产权和特定的主知识产权分配存储器。
17.如权利要求16所述的片上存储器,其中:
当在所选择的主知识产权和特定的主知识产权之间的相关性为高时,确定所选择的主知识产权和特定的主知识产权所需的每个存储器空间尺寸的总和是否大于所述片上存储器的存储器区域尺寸;当每个存储器空间尺寸的总和小于所述片上存储器的存储器区域尺寸时,根据所需的每个存储器空间尺寸向所选择的主知识产权和特定的主知识产权分配存储器;而当每个存储器空间尺寸的总和大于所述片上存储器的存储器区域尺寸时,根据通过从所述片上存储器的存储器区域尺寸减去所分配的存储器空间尺寸而产生的尺寸来向所选择的主知识产权和特定的主知识产权分配存储器。
18.如权利要求11所述的片上存储器,其中,以区块为单位执行存储器分配。
19.一种处理器,包括:
至少一个主知识产权;和
片上存储器,
其中,所述片上存储器包括:
存储器空间;和
控制器,用于:当主知识产权中的第一主知识产权的存储器存取范围小于片上存储器的存储器区域时,将所述第一主知识产权的模式确定为缓冲器模式;当主知识产权中的第二主知识产权的存储器存取范围大于片上存储器的存储器区域时,将所述第二主知识产权的模式确定为高速缓冲模式;基于关于主知识产权的以下信息中的至少一种设置存储器分配信息:所确定的模式、优先级、所需的存储器空间的尺寸以及在各个主知识产权之间的相关性;以及使用所述存储器分配信息向第一主知识产权和第二主知识产权分配存储器。
20.如权利要求19所述的处理器,其中,以区块为单位执行存储器分配。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2013-0090273 | 2013-07-30 | ||
KR1020130090273A KR102117511B1 (ko) | 2013-07-30 | 2013-07-30 | 프로세서 및 메모리 제어 방법 |
PCT/KR2014/007009 WO2015016615A1 (ko) | 2013-07-30 | 2014-07-30 | 프로세서 및 메모리 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105453066A CN105453066A (zh) | 2016-03-30 |
CN105453066B true CN105453066B (zh) | 2019-03-01 |
Family
ID=52432074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480043500.1A Active CN105453066B (zh) | 2013-07-30 | 2014-07-30 | 处理器和存储器控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160196206A1 (zh) |
EP (1) | EP3029580B1 (zh) |
KR (1) | KR102117511B1 (zh) |
CN (1) | CN105453066B (zh) |
WO (1) | WO2015016615A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701019A (zh) * | 2014-11-25 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 一种内存管理方法以及装置 |
JP6464980B2 (ja) * | 2015-10-05 | 2019-02-06 | 富士通株式会社 | プログラム、情報処理装置及び情報処理方法 |
KR20190123544A (ko) * | 2018-04-24 | 2019-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN111104062B (zh) * | 2019-11-22 | 2023-05-02 | 中科寒武纪科技股份有限公司 | 存储管理方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047280A (en) * | 1996-10-25 | 2000-04-04 | Navigation Technologies Corporation | Interface layer for navigation system |
US6233659B1 (en) * | 1998-03-05 | 2001-05-15 | Micron Technology, Inc. | Multi-port memory device with multiple modes of operation and improved expansion characteristics |
US6321318B1 (en) * | 1997-12-31 | 2001-11-20 | Texas Instruments Incorporated | User-configurable on-chip program memory system |
CN100432957C (zh) * | 2005-02-12 | 2008-11-12 | 美国博通公司 | 一种管理存储器的方法 |
CN103150276A (zh) * | 2011-11-28 | 2013-06-12 | 联发科技股份有限公司 | 动态配置方法及装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4947319A (en) * | 1988-09-15 | 1990-08-07 | International Business Machines Corporation | Arbitral dynamic cache using processor storage |
US5067078A (en) * | 1989-04-17 | 1991-11-19 | Motorola, Inc. | Cache which provides status information |
ATE128777T1 (de) * | 1991-03-28 | 1995-10-15 | Cray Research Inc | Echtzeit-input/output-methode fuer ein vektor- prozessor-system. |
GB9118312D0 (en) * | 1991-08-24 | 1991-10-09 | Motorola Inc | Real time cache implemented by dual purpose on-chip memory |
US6122708A (en) * | 1997-08-15 | 2000-09-19 | Hewlett-Packard Company | Data cache for use with streaming data |
US6219745B1 (en) * | 1998-04-15 | 2001-04-17 | Advanced Micro Devices, Inc. | System and method for entering a stream read buffer mode to store non-cacheable or block data |
US6629187B1 (en) * | 2000-02-18 | 2003-09-30 | Texas Instruments Incorporated | Cache memory controlled by system address properties |
US6646646B2 (en) * | 2000-12-13 | 2003-11-11 | Micron Technology, Inc. | Memory system having programmable multiple and continuous memory regions and method of use thereof |
US20040139238A1 (en) * | 2000-12-27 | 2004-07-15 | Luhrs Peter A. | Programmable switching system |
JP2003132347A (ja) * | 2001-10-26 | 2003-05-09 | Sony Corp | 画像処理装置 |
US7167952B2 (en) * | 2003-09-17 | 2007-01-23 | International Business Machines Corporation | Method and system for performing a memory-mode write to cache |
US7395385B2 (en) * | 2005-02-12 | 2008-07-01 | Broadcom Corporation | Memory management for a mobile multimedia processor |
US7647452B1 (en) * | 2005-11-15 | 2010-01-12 | Sun Microsystems, Inc. | Re-fetching cache memory enabling low-power modes |
GB0603552D0 (en) * | 2006-02-22 | 2006-04-05 | Advanced Risc Mach Ltd | Cache management within a data processing apparatus |
KR101334176B1 (ko) * | 2007-01-19 | 2013-11-28 | 삼성전자주식회사 | 멀티 프로세서 시스템 온 칩에서의 메모리 관리 방법 |
US8132173B2 (en) * | 2007-09-28 | 2012-03-06 | Oracle America, Inc. | Method and system for coordinating hypervisor scheduling |
KR101383793B1 (ko) * | 2008-01-04 | 2014-04-09 | 삼성전자주식회사 | 시스템 온 칩에서 메모리 할당 방법 및 장치 |
US20100169519A1 (en) * | 2008-12-30 | 2010-07-01 | Yong Zhang | Reconfigurable buffer manager |
US8244982B2 (en) * | 2009-08-21 | 2012-08-14 | Empire Technology Development Llc | Allocating processor cores with cache memory associativity |
KR101039782B1 (ko) * | 2009-11-26 | 2011-06-09 | 한양대학교 산학협력단 | 능동 메모리 프로세서를 포함하는 네트워크-온-칩 시스템 |
US20120072632A1 (en) * | 2010-09-17 | 2012-03-22 | Paul Kimelman | Deterministic and non-Deterministic Execution in One Processor |
KR101841173B1 (ko) * | 2010-12-17 | 2018-03-23 | 삼성전자주식회사 | 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법 |
KR20120072211A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼 |
US20120221785A1 (en) * | 2011-02-28 | 2012-08-30 | Jaewoong Chung | Polymorphic Stacked DRAM Memory Architecture |
US9141394B2 (en) * | 2011-07-29 | 2015-09-22 | Marvell World Trade Ltd. | Switching between processor cache and random-access memory |
KR102002900B1 (ko) * | 2013-01-07 | 2019-07-23 | 삼성전자 주식회사 | 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법 |
US8984230B2 (en) * | 2013-01-30 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Method of using a buffer within an indexing accelerator during periods of inactivity |
US9495271B2 (en) * | 2014-01-29 | 2016-11-15 | Freescale Semiconductor, Inc. | Statistical power indication monitor for purpose of measuring power consumption |
-
2013
- 2013-07-30 KR KR1020130090273A patent/KR102117511B1/ko active IP Right Grant
-
2014
- 2014-07-30 US US14/909,443 patent/US20160196206A1/en not_active Abandoned
- 2014-07-30 CN CN201480043500.1A patent/CN105453066B/zh active Active
- 2014-07-30 EP EP14831581.5A patent/EP3029580B1/en active Active
- 2014-07-30 WO PCT/KR2014/007009 patent/WO2015016615A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047280A (en) * | 1996-10-25 | 2000-04-04 | Navigation Technologies Corporation | Interface layer for navigation system |
US6321318B1 (en) * | 1997-12-31 | 2001-11-20 | Texas Instruments Incorporated | User-configurable on-chip program memory system |
US6233659B1 (en) * | 1998-03-05 | 2001-05-15 | Micron Technology, Inc. | Multi-port memory device with multiple modes of operation and improved expansion characteristics |
CN100432957C (zh) * | 2005-02-12 | 2008-11-12 | 美国博通公司 | 一种管理存储器的方法 |
CN103150276A (zh) * | 2011-11-28 | 2013-06-12 | 联发科技股份有限公司 | 动态配置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3029580B1 (en) | 2019-04-10 |
KR20150015577A (ko) | 2015-02-11 |
US20160196206A1 (en) | 2016-07-07 |
KR102117511B1 (ko) | 2020-06-02 |
EP3029580A4 (en) | 2017-04-19 |
EP3029580A1 (en) | 2016-06-08 |
CN105453066A (zh) | 2016-03-30 |
WO2015016615A1 (ko) | 2015-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10120728B2 (en) | Graphical processing unit (GPU) implementing a plurality of virtual GPUs | |
CN101627367B (zh) | 按需多线程多媒体处理器 | |
JP5422614B2 (ja) | 低ポート数メモリーを用いたマルチポートメモリーのシミュレート | |
EP2946302B1 (en) | Heterogeneous memory systems, and related methods and computer-readable media for supporting heterogeneous memory access requests in processor-based systems | |
CN103221995B (zh) | 显示管中的流翻译 | |
CN107851028A (zh) | 将指令操作数的窄生成值直接存储在乱序处理器中的寄存器映射中 | |
US8661228B2 (en) | Multi-level register file supporting multiple threads | |
US20110131430A1 (en) | Managing accelerators of a computing environment | |
CN103207774A (zh) | 用于解决线程发散的方法和系统 | |
JPH07505493A (ja) | 仮想fifoによる周辺装置インタフェースのシステム並びに方法 | |
CN105453066B (zh) | 处理器和存储器控制方法 | |
KR20190011317A (ko) | 가상 벡터 레지스터 파일을 사용하기 위한 시스템 및 방법 | |
CN105849669A (zh) | 用于单个通道内的dram空间联合的方法和装置 | |
CN108959111A (zh) | 数据存储装置和用于流管理的方法 | |
US8578387B1 (en) | Dynamic load balancing of instructions for execution by heterogeneous processing engines | |
KR20170013270A (ko) | 플래시 메모리 기반 저장 디바이스의 입력/출력 가상화 (iov) 호스트 제어기 (hc) (iov-hc) | |
CN112889038A (zh) | 系统级缓存 | |
US9196014B2 (en) | Buffer clearing apparatus and method for computer graphics | |
CN113056729A (zh) | 集成电路中的计算单元的编程和控制 | |
US20110066813A1 (en) | Method And System For Local Data Sharing | |
US9165396B2 (en) | Graphics processing unit with a texture return buffer and a texture queue | |
Lewis et al. | A LOW-POWER ASYNCHRONOUS DSP ARCHITECTURE FOR DIGITAL MOBILE PHONE CHIPSETS |
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 |