CN107797757A - 与影像处理系统中的快取存储器相关的存储器管理方法及存储器管理装置 - Google Patents
与影像处理系统中的快取存储器相关的存储器管理方法及存储器管理装置 Download PDFInfo
- Publication number
- CN107797757A CN107797757A CN201610803576.0A CN201610803576A CN107797757A CN 107797757 A CN107797757 A CN 107797757A CN 201610803576 A CN201610803576 A CN 201610803576A CN 107797757 A CN107797757 A CN 107797757A
- Authority
- CN
- China
- Prior art keywords
- image block
- cache line
- cache
- order
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种与影像处理系统中的快取存储器上关的存储器管理方法,应用于包含多个储存区域的快取存储器。每一个储存区域各自包含多个快取列且对应于一原始画面中的多个影像区块。回应于将一影像区块的压缩后数据存入快取存储器的请求,对应于该影像区块的一储存区域被选出,做为一目标储存区域。接着,适用于该影像区块的一目标快取列使用顺序被决定。随后,该影像区块权利要求压缩后数据被存入该目标储存区域,使该影像区块的压缩后数据在被存入该目标储存区域后符合该目标快取列使用顺序。
Description
技术领域
本发明与存储器相关,并且尤其与用以储存影像数据的快取存储器(cache)的管理技术相关。
背景技术
在电子系统中,快取存储器用以暂存处理器近期内刚使用过或将可能使用的少量数据。相较于容量较大的主存储器,快取存储器存取数据的速度较快,但硬件价格较高。一般而言,主存储器是利用动态随机存取存储器(dynamic random access memory,DRAM)实现,而快取存储器是利用静态随机存取存储器(static random access memory,SRAM)实现。在需要某一笔特定数据时,处理器会先至快取存储器中寻找,并且在无法寻得该笔数据的情况下,才转至主存储器中寻找。在快取存储器中成功寻得目标数据的情况称为快取命中(cache hit),失败则称快取错失(cache miss)。
一快取存储器包含多个快取列(cache line)。因快取存储器的容量有限,每一快取列通常会为多组不同的数据所共用。以动态影像处理程序为例,一张待处理的画面常被分割为多个大小相同的影像区块;当快取存储器的容量不足以同时存放所有的影像区块,其中的每一个储存区域(包含一个或多个快取列)会被设计为各自对应于多个影像区块。实务上,一般是以影像区块于其所属画面中的相对位置为依据,选择应将该影像区块存放在快取存储器中的哪一个储存区域。举例而言,起始座标具有某一共同点(例如x座标值的末五个位元皆为00000)的影像区块会对应于快取存储器中的同一个储存区域。假设两个影像区块A、B对应于快取存储器中的同一个储存区域。若影像区块A先被撷取至快取存储器中存放,处理器将影像区块B写入该储存区域时会覆盖掉影像区块A的数据,反之亦然。
为了节省自快取存储器存取影像数据时需要的传输频宽,目前有一种做法是对影像数据先施以简单的压缩处理,再将压缩后的影像数据存入快取存储器。若原本储存一个未经压缩的影像区块需要八个快取列的空间,储存一个压缩后的影像区块 所需要的快取列数量必然会小于或等于八。于实际应用中,顾及各影像区块的可压缩率并不相同,通常还是会为每个影像区块在快取存储器中保留八个快取列的储存空间。
图1(A)呈现包含八个快取列的一储存区域的示意图。图1(B)和图1(C)呈现影像区块A、B各自的压缩后数据与储存区域100的相对关系范例。如图1(B)所示,假设影像区块A的压缩后数据首先被存入储存区域100,且占据了其中50%的空间(四个快取列)。随后,如图1(C)所示,回应于将影像区块B存入快取存储器的请求,影像区块B的压缩后数据被存入储存区域100,并占据其中75%的空间(六个快取列)。根据现行的快取存储器管理方式,无论影像区块的可压缩率高或低,存入储存区域100的数据一律是由同一个位置(图中以箭号110指示处)开始存放。因此,后来存入的影像区块B的压缩后数据会将原本存放于储存区域100中前四个快取列的影像区块A的压缩后数据全部覆写掉。在这个情况下,若处理器至快取存储器中寻找影像区块A,便会得到完全快取错失的结果,因而必须至主存储器中重新撷取整个影像区块A。
假设随后影像区块A的压缩后数据再次被写入储存区域100。如图1(D)所示,影像区块A的压缩后数据仅会覆写掉影像区块B的压缩后数据的一部分(前四个快取列),而影像区块B的压缩后数据的另一部分(后两个快取列)会被保留在储存区域100中。在这个情况下,若处理器至快取存储器中寻找影像区块B,得到的结果将为前四个快取列为快取错失,后两个快取列为快取命中。也就是说,处理器仅需至主存储器中重新撷取影像区块B对应于该前四个快取列的影像数据。由此可看出,平均而言,相较于未采用压缩处理的情况,对影像区块施以压缩处理能小幅提高快取命中率。
然而,由图1(A)~图1(D)亦可看出,在对影像区块施以压缩处理的情况下,储存区域100中较接近箭号110的快取列会被较频繁地使用,而较远离箭号110的快取列被利用的频率显然较低。此一利用率不平均的情况表示有部分硬体资源未被充分利用。
发明内容
为了解决上述问题,本发明提出一种新的存储器管理方法及存储器管理装置。藉由针对不同影像区块采用不同的快取列使用顺序,根据本发明的管理方法及管理 装置能更为平均地使用每一快取列,促使硬体资源被有效利用。除此之外,采用根据本发明的管理方法及管理装置还能进一步提升快取命中率。
根据本发明的一具体实施例为一种存储器管理方法,应用于包含多个储存区域的一快取存储器。每一个储存区域包含多个快取列且对应于一原始画面中所包含的多个影像区块。回应于将一影像区块的压缩后数据存入该快取存储器的请求,对应于该影像区块的一个目标储存区域首先自该多个储存区域中被选出。接着,适用于该影像区块的一目标快取列使用顺序被决定。随后,该影像区块的压缩后数据被存入该目标储存区域,并且该影像区块的压缩后数据被储存为符合该目标快取列使用顺序。
根据本发明的另一具体实施例为一种存储器管理装置,应用于包含多个储存区域的一快取存储器。每一个储存区域包含多个快取列且对应于一原始画面中所包含的多个影像区块。该存储器管理装置包含一区域选择电路、一使用顺序决定电路以及一控制器。回应于将一影像区块的压缩后数据存入该快取存储器的请求,该区域选择电路自该多个储存区域中选出对应于该影像区块的一个储存区域,做为一目标储存区域。该使用顺序决定电路用以决定适用于该影像区块的一目标快取列使用顺序。该控制器用以将该影像区块的压缩后数据存入该目标储存区域,使该影像区块的压缩后数据被储存为符合该目标快取列使用顺序。
关于本发明的优点与精神可以藉由以下发明详述及附图得到进一步的了解。
附图说明
图1(A)~图1(D)呈现两个影像区块各自的压缩后数据被先后储存至同一快取存储器储存区域时的相对关系范例。
图2为根据本发明的一实施例中的存储器管理方法的流程图。
图3呈现了可配合实现根据本发明的存储器管理方法的一个快取存储器内部配置范例。
图4(A)呈现了一原始画面被划分为多个影像区块的范例;图4(B)呈现一种影像区块与储存区域的对应关系范例。
图5用以辅助说明何谓快取列使用顺序。
图6呈现一种影像区块位置与快取列使用顺序的对应关系范例。
图7(A)~图7(C)呈现了采用根据本发明的存储器管理方法时,两个影像区块的压缩后数据被先后储存至同一储存区域时的相对关系范例。
图8呈现于另一实施例中将两步骤顺序对调后的流程图。
图9(A)~图9(C)呈现待储存数据的地址与快取列的数种对应关系范例。
图10进一步呈现根据本发明的存储器管理方法的细部流程。
图11为根据本发明的另一实施例中的存储器管理方法的流程图。
图12为根据本发明的一实施例中的存储器管理装置的功能方块图。
符号说明
100:储存区域 110:存放位置起始处
200:存储器管理方法 S22~S28:流程步骤
S27:流程步骤 S28A~S28D:流程步骤
300:快取存储器 400:原始画面
700:存储器管理装置 72:区域选择电路
74:使用顺序决定电路 76:控制器
须说明的是,本发明的附图包含呈现多种彼此关联的功能性电路的功能方块图。这些附图并非细部电路图,且其中的连接线仅用以表示信号流。功能性元件及/或程序间的多种互动关系不一定要透过直接的电性连结始能达成。此外,个别元件的功能不一定要如图式中绘示的方式分配,且分散式的区块不一定要以分散式的电子元件实现。
具体实施方式
根据本发明的一具体实施例为一种存储器管理方法,应用于包含多个储存区域的一快取存储器。该存储器管理方法的流程图绘示于图2。图3呈现可配合实现存储器管理方法200的一种快取存储器内部配置范例。快取存储器300包含六十四个快取列。假设每一个影像区块经压缩后的数据量至多占据八个快取列的储存空间。快取存储器300可被规划为包含八个储存区域,且令每一个储存区域各自包含八个快取列。本实施例将此八个储存区域编号为储存区域#0~储存区域#7。以图4(A)所示的包含四十八个影像区块的原始画面为例,快取存储器300中的每一个储存区域可被设计为各自对应于原始画面400中的六个(=48/8)不同的影像区块。实务上,影 像区块与储存区域的对应关系可由电路设计者依各种实际应用条件(例如快取存储器的容量、原始画面的尺寸…)决定,甚至是可动态调整的。
于一实施例中,一影像区块的位置为分派其所对应的储存区域的依据。图4(B)以4*2个影像区块为单位,呈现一种影像区块与储存区域之间的映射规则范例。更具体地说,原始画面400可被划分为多个子画面,每个子画面是由4*2个影像区块组成。每个子画面中,位在第一列的第一个影像区块被分派为对应于储存区域#0、第一列的第二个影像区块被分派为对应于储存区域#1、……,依此类推。若将图4(B)呈现的映射关系套用于原始画面400,则原始画面400会被划分为六个子画面,并且影像区块(0,0)、(4,0)、(0,2)、(4,2)、(0,4)、(4,4)被分派为对应于储存区域#0。也就是说,当出现一请求,欲将影像区块(0,0)、(4,0)、(0,2)、(4,2)、(0,4)、(4,4)中任一个影像区块的压缩后数据存入快取存储器300,该影像区块的压缩后数据会被存入储存区域#0。相似地,影像区块(1,0)、(5,0)、(1,2)、(5,2)、(1,4)、(5,4)被分派为对应于储存区域#1,影像区块(0,1)、(4,1)、(0,3)、(4,3)、(0,5)、(4,5)被分派为对应于储存区域#5,依此类推。
须说明的是,影像区块与储存区域的对应关系的设定方式及其可能的变化型态为本发明所属技术领域中具有通常知识者所知,于此不赘述。为便于呈现本发明的概念,以下实施例主要以图3、图4(A)和图4(B)呈现的假设为例来说明存储器管理方法200。然而,透过以下实施例,本发明所属技术领域中具有通常知识者可理解,本发明的范畴不以前述任一假设为限。
首先,步骤S22为接收将一影像区块的压缩后数据存入快取存储器300的请求。回应于此请求,在步骤S24中,对应于该影像区块的一个储存区域首先自储存区域#0~储存区域#7中被选出,做为一目标储存区域。实务上,影像区块与储存区域的对应关系通常为已知资讯。就图4(A)和图4(B)呈现的范例而言,假设步骤S22所接收的请求为将影像区块(0,0)的压缩后数据存入快取存储器300。根据影像区块(0,0)的位置资讯,步骤S24即可自储存区域#0~储存区域#7中选出相对应的储存区域#0做为该目标储存区域。接着,步骤S26为决定适用于影像区块(0,0)的一种快取列使用顺序,做为一目标快取列使用顺序。随后,步骤S28则是将影像区块(0,0)的压缩后数据存入该目标储存区域,使该影像区块的压缩后数据被储存为符合步骤S26选出的目标快取列使用顺序。
储存区域#0的八个快取列被重绘于图5并标以编号0~7,以说明何谓快取列使用顺序。在以下实施例中,编号于该顺序中愈早出现的快取列被使用的优先顺序愈高。若快取列使用顺序为01234567,表示快取列0被使用的优先顺序高于快取列1、快取列1被使用的优先顺序高于快取列2,……,快取列6被使用的优先顺序高于快取列7。举例而言,若影像区块(0,0)的压缩后数据需要四个快取列的储存空间,且步骤S26为影像区块(0,0)的压缩后数据选出的快取列使用顺序为01234567,则在步骤S28中,影像区块(0,0)的压缩后数据会被优先存入储存区域#0中的快取列0~快取列3等四个快取列。
须说明的是,快取列使用顺序不需要等同于实际存入数据的顺序。举例而言,在快取列使用顺序为01234567,且确定影像区块(0,0)的压缩后数据需要四个快取列的储存空间的情况下,便已知是储存区域#0中的快取列0~快取列3会被优先使用。实际存入数据时,可将影像区块(0,0)的压缩后数据依序存入储存区域#0中的快取列3、快取列2、快取列1、快取列0等四个快取列,如此即能达到优先于快取列4~快取列7使用快取列0~快取列3的效果。
于一较佳实施例中,可供步骤S26选择的快取列使用顺序的个数为二,以下称第一快取列使用顺序、第二快取列使用顺序。第一快取列使用顺序与第二快取列使用顺序完全相反。举例而言,若第一快取列使用顺序为01234567,则第二快取列使用顺序为76543210。或者,若第一快取列使用顺序为02461357,则第二快取列使用顺序为75316420。
于一实施例中,一映射规则预先提供,该映射规则用以描述影像区块位置与多种预设快取列使用顺序之间的关联性。图6呈现一种影像区块位置与快取列使用顺序的对应关系范例。若该影像区块于原始画面400内是落在如图6所示未标有斜纹阴影的白色区域中,则该影像区块的压缩后数据即被分派以第一快取列使用顺序。相对地,若该影像区块被压缩前于原始画面400中落在标有斜纹阴影的区域中,则该影像区块的压缩后数据即被分派以第二快取列使用顺序。在这种假设下,步骤S26根据影像区块的位置资讯以及该映射规则选择应采用的快取列使用顺序。举例而言,步骤S26会为落在白色区域中的影像区块(0,0)选择第一快取列使用顺序,为落在斜纹阴影区域中的影像区块(4,0)选择第二快取列使用顺序,依此类推。
假设第一快取列使用顺序为01234567,第二快取列使用顺序为76543210,且影像区块(0,0)的压缩后数据需要四个快取列的储存空间,影像区块(4,0)的压缩后 数据需要六个快取列的储存空间。若影像区块(0,0)的压缩后数据首先被存入储存区域#0,其数据在储存区域#0中的分布将如图7(A)所示。接着,若影像区块(4,0)的压缩后数据被请求存入快取存储器300,因分派给影像区块(4,0)的压缩后数据的快取列使用顺序为76543210,快取存储器300的控制器会将影像区块(4,0)的压缩后数据存入储存区域#0中的快取列7、快取列6、快取列5、快取列4、快取列3、快取列2等六个快取列。如图7(B)所示,影像区块(4,0)的压缩后数据会覆写掉原本存放在快取列2和快取列3中的影像区块(0,0)的压缩后数据,而影像区块(0,0)的压缩后数据存放于快取列0和快取列1的部分仍然保留在其中。不同于图1(B)中影像区块B的压缩后数据会将影像区块A压缩后的数据完全覆写的情况,若此时至快取存储器300中寻找影像区块(0,0)的压缩后数据,不会得到完全快取错失的结果。相对地,处理器仅需至主存储器中重新撷取影像区块(0,0)对应于快取列2和快取列3的数据。
假设随后影像区块(0,0)的压缩后数据再次被写入快取存储器300,其写入结果将如图7(C)所示,仅覆写掉原本存放在快取列2和快取列3中的影像区块(4,0)的压缩后数据,而影像区块(4,0)存放于快取列4~快取列7的压缩后数据仍然保留在其中。若此时至快取存储器300中寻找影像区块(4,0)的压缩后数据,也不会得到完全快取错失的结果,而是仅需至主存储器中重新撷取影像区块(4,0)对应于快取列2和快取列3的数据。比较图1(C)和图7(C)可看出,相较于先前技术,采用存储器管理方法200平均而言可提供较高的快取命中率。
由上述范例可知,因影像区块(0,0)和影像区块(4,0)被分派的快取列使用顺序不同,快取存储器300的控制器并非自同一个位置开始存放这两笔数据。另一方面,在快取列使用顺序76543210中,编号为7而非编号为0的快取列被优先使用。于实际应用中,透过适当设计供步骤S26选择的快取列使用顺序,每一快取列即可被更为平均地使用,避免先前技术中硬体资源未被充分利用的问题。
在许多影像处理程序中,于原始画面内位置较接近的两个影像区块在短时间内被先后存入快取存储器的机率较高。举例而言,在影像区块(0,0)的压缩后数据被存入储存区域#0后的短时间内,影像区块(4,0)的压缩后数据或影像区块(0,2)的压缩后数据被存入储存区域#0的机率通常会高于影像区块(4,2)的压缩后数据被存入储存区域#0的机率。快取列使用顺序的分派原则可根据这个特性来制定。也就是说,在对应于同一个储存区域的多个影像区块中,一影像区块被分派的快取列使用 顺序可被设计为不同于水平方向上与该影像区块最接近的另一影像区块被分派的快取列使用顺序,也不同于垂直方向上与该影像区块最接近的另一影像区块被分派的快取列使用顺序。请参阅图6。在同样对应于储存区域#0的多个影像区块中,于水平方向上与影像区块(0,0)最接近的是影像区块(4,0),在垂直方向上与影像区块(0,0)最接近的是影像区块(0,2)。因此,在影像区块(0,0)的压缩后数据被分派以第一快取列使用顺序的情况下,影像区块(4,0)和影像区块(0,2)的压缩后数据可被分派以第二快取列使用顺序。相似地,在同样对应于储存区域#2的多个影像区块中,于水平方向上与影像区块(2,2)最接近的是影像区块(6,2),在垂直方向上与影像区块(2,2)最接近的是影像区块(2,0)和影像区块(2,4)。因此,在影像区块(2,2)的压缩后数据被分派以第二快取列使用顺序的情况下,影像区块(6,2)、(2,0)、(2,4)的压缩后数据可被分派以第一快取列使用顺序,依此类推。
理论上,令第一快取列使用顺序与第二快取列使用顺序完全相反可使快取命中率的提高幅度最大化,但本发明的范畴不以此为限。于一实施例中,第一快取列使用顺序与第二快取列使用顺序仅有部分相反。举例而言,若第一快取列使用顺序为01234567,则第二快取列使用顺序可为32104567或是01237654。本发明所属技术领域中具有通常知识者可理解,只要第一快取列使用顺序和第二快取列使用顺序不是完全相同(例如,完全相反、部分相反、循环偏移),存储器管理方法200的平均快取命中率便会高于在任何状况皆采用同一种快取列使用顺序的先前技术。在根据本发明的实施例中,两快取列使用顺序甚至不需要有一部份相反。举例而言,若第一快取列使用顺序为01234567,则第二快取列使用顺序可为12345670。
此外,本发明所属技术领域中具有通常知识者可理解,各个储存区域中的快取列0~7在实际存储器电路中不需要被配置为彼此相邻,亦无需被限制为按特定顺序排列,其标号仅供设定快取列使用顺序时使用。
实务上,若步骤S24和步骤S26皆以影像区块的位置资讯为选择依据,则这两个步骤可同时进行或者是顺序对调,不会减损存储器管理方法200的效果。也就是说,不需要确知目标储存区域是哪一个的情况下,也可以为每一个影像区块找出其目标快取列使用顺序。图8呈现将步骤S26提前至早于步骤S22的流程图。
于另一实施例中,步骤S26根据一先前快取列使用顺序(而非影像区块的位置资讯)来决定要分派给目前这一个影像区块的压缩后数据的快取列使用顺序,其分派原则在于使步骤S26这一次决定出的快取列使用顺序不同于该先前快取列使用 顺序。此处所谓先前快取列使用顺序指步骤S24所选择的该目标储存区域于前一次储存另一影像区块的压缩后数据时采用的快取列使用顺序。举例而言,假设原本影像区块(0,0)的压缩后数据已依第一快取列使用顺序被存放于储存区域#0中,且随后出现将影像区块(4,2)的压缩后数据存入快取存储器300的请求。就图4(B)例示的影像区块位置/储存区域编号对应关系而言,影像区块(4,2)的压缩后数据也是对应于储存区域#0。由于原本储存于储存区域#0的影像区块(0,0)的压缩后数据是依第一快取列使用顺序被存入,步骤S26便会为影像区块(4,2)的压缩后数据选择不同于第一快取列使用顺序的第二快取列使用顺序。
实务上,该先前快取列使用顺序可被记录在快取存储器300外部或内部的某个存储器空间或暂存器中。此外,步骤S26可以是自多种预设快取列使用顺序中选出不同于该先前快取列使用顺序的一快取列使用顺序,做为该目标快取列使用顺序。或者,步骤S26也可以是在没有参考预设快取列使用顺序的情况下,即时决定出不同于先前快取列使用顺序的一种快取列使用顺序。
须说明的是,本发明的范畴并未限定于快取存储器300中的各个储存区域必须采用完全相同的多种快取列使用顺序,亦未限定于每一个储存区域皆能配合实现多种快取列使用顺序。
步骤S28的实现方式有很多种。本发明所属技术领域中具有通常知识者可理解,有许多种实作方式可达成"使影像区块的压缩后数据被储存为符合一目标快取列使用顺序"的效果,皆不脱本发明的范畴。于一实施例中,快取存储器300并非采用固定的一数据地址/快取列编号对应关系。更具体地说,快取存储器300的控制器可不考虑压缩后数据的一个或多个数据地址,便直接依目标快取列使用顺序,将待储存的影像区块的缩后数据存入该目标储存区域。如图9(A)呈现的范例,快取存储器300的控制器可直接根据快取列使用顺序76543210将影像区块(4,0)的压缩后数据中地址为Add_0~Add_5的数据一一写入储存区域#0中编号为7~2的快取列。
实务上,某些快取存储器的控制器是依据待储存数据本身的地址资讯来决定应将数据存入目标储存区域中的哪一个快取列。换句话说,某些快取存储器是采用一种固定的数据地址/快取列编号对应关系。在这个情况下,改变待储存数据的地址,就可以达成改变快取列使用顺序的效果。图10呈现步骤S28的一种详细实施范例。步骤S28A为判断步骤S26选出的目标快取列使用顺序是否与快取存储器300的一 预设快取列使用顺序(例如01234567)相同。若步骤S28A的判断结果为是,则步骤S28B被执行,即根据该预设快取列使用顺序,将该影像区块的压缩后数据存入目标储存区域。若步骤S28A的判断结果为否,则步骤S28C被执行,即根据目标快取列使用顺序针对该影像区块的压缩后数据进行一地址转换程序,以产生一个或多个转换后数据地址。随后,在步骤S28D中,根据该一个或多个转换后数据地址,该影像区块的压缩后数据被存入该目标储存区域。步骤S28A~S28D的实际运作范例详述于下一段落。
假设快取存储器300的控制器被设计为将待储存数据写入编号与其地址相同的快取列,且步骤S26分派给影像区块(4,0)的压缩后数据的快取列使用顺序为76543210。若未施以地址转换,影像区块(4,0)的压缩后数据中地址为Add_0的数据会被写入储存区域#0中编号为0的快取列,地址为Add_1的数据会被写入编号为1的快取列,依此类推。如图9(B)所示,根据目标快取列使用顺序为76543210进行地址转换程序后,原本地址为Add_0的数据会被修改为具有地址Add_7,原本地址为Add_1的数据会被修改为具有地址Add_6,…,原本地址为Add_5的数据会被修改为具有地址Add_2。如此一来,快取存储器300的控制器便可维持?将待储存数据写入编号与其地址相同的快取列?的运作模式,但仍使影像区块的压缩后数据在被存入目标储存区域后符合目标快取列使用顺序。于实际应用中,该地址转换程序可以由快取存储器300内部的控制器执行,也可以由快取存储器300外部的另一处理器负责。
如先前所述,步骤S26可被提前至早于步骤S22。图11呈现根据本发明的另一实施例中的存储器管理方法的流程图。在这个实施例中,步骤S26和步骤S22之间进一步包含步骤S27,用以根据该目标快取列使用顺序,决定该影像区块的压缩后数据的一个或多个数据地址。请参阅做为此流程的实际运作范例的图9(C)。在已知影像区块(4,0)的压缩后数据被分派的快取列使用顺序为76543210的情况下,可藉由选择适当的定址方式,令影像区块(4,0)的压缩后数据中的数据在被压缩完成后即直接被定址为具有地址Add_7~Add_2。如此一来,当快取存储器300被设计为固定将待储存数据写入编号与其地址相同的快取列,影像区块(4,0)的压缩后数据便会以符合其目标快取列使用顺序的方式被存入储存区域#0。
实务上,图11中的步骤S26、步骤S27可在出现将数据存入快取存储器的请求之前就执行。举例而言,在存入快取存储器300之前,影像区块(4,0)的压缩后数据中的数据便可依步骤S27B所派定的地址被储存于主存储器(未绘示)中。
根据本发明的另一具体实施例为一种存储器管理装置,其功能方块图绘示于图12。存储器管理装置700是应用于包含多个储存区域的快取存储器300。每一个储存区域各自包含多个快取列且各自对应于一原始画面中所包含的多个影像区块。存储器管理装置700包含一区域选择电路72、一使用顺序决定电路74与一控制器76。区域选择电路72用以接收一请求,该请求关联于将一影像区块的压缩后数据存入该快取存储器。回应于该请求,区域选择电路72自该多个储存区域中选出对应于该影像区块的一目标储存区域。使用顺序决定电路74用以决定适用于该影像区块的一目标快取列使用顺序。随后,控制器76负责将该影像区块的压缩后数据存入该目标储存区域,使该影像区块的压缩后数据被储存为符合该目标快取列使用顺序。
实务上,存储器管理装置700可利用多种控制和处理平台实现,包含固定式的和可程式化的逻辑电路,例如可程式化逻辑闸阵列、针对特定应用的集成电路、微控制器、微处理器、数位信号处理器。此外,存储器管理装置700亦可被设计为透过执行某一存储器中所储存的处理器指令来完成其任务。须说明的是,区域选择电路72、使用顺序决定电路74、控制器76可被整合于快取存储器300中,亦可独立于快取存储器300之外。
本发明所属技术领域中具有通常知识者可理解,先前在介绍存储器管理方法200时描述的各种可能变化(例如快取列使用顺序的分派方式和设计快取列使用顺序的多种可能性)亦可应用至图12中的存储器管理装置700,其细节不再赘述。
藉由以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭示的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。
Claims (20)
1.一种存储器管理方法,应用于一快取存储器,该快取存储器包含多个储存区域,每一个储存区域包含多个快取列且对应于一原始画面中所包含的多个影像区块,该存储器管理方法包含:
(a)接收一请求,该请求关联于将一影像区块的压缩后数据存入该快取存储器;
(b)回应于该请求,自该多个储存区域中选出对应于该影像区块的一目标储存区域;
(c)决定适用于该影像区块的一目标快取列使用顺序;以及
(d)将该影像区块的压缩后数据存入该目标储存区域,使该影像区块的压缩后数据被储存为符合该目标快取列使用顺序。
2.如权利要求1所述的存储器管理方法,其特征在于,一映射规则预先提供,该映射规则用以描述影像区块位置与多种预设快取列使用顺序之间的关联性,且步骤(c)包含:
取得该影像区块的一位置资讯,该位置资讯指出该影像区块于该原始画面中的位置;以及
根据该位置资讯以及该映射规则,自该多种预设快取列使用顺序中选出该目标快取列使用顺序。
3.如权利要求2所述的存储器管理方法,其特征在于,对应于该目标储存区域的多个影像区块包含一第一影像区块与一第二影像区块;在对应于该目标储存区域的该多个影像区块中,该第二影像区块与该第一影像区块于一特定方向上最接近;该映射规则包含:分派一第一快取列使用顺序给该第一影像区块,并且分派不同于该第一快取列使用顺序的一第二快取列使用顺序给该第二影像区块。
4.如权利要求3所述的存储器管理方法,其特征在于,该第一快取列使用顺序与该第二快取列使用顺序完全相反或部分相反。
5.如权利要求1所述的存储器管理方法,其特征在于,步骤(c)包含:
根据一先前快取列使用顺序决定该目标快取列使用顺序,使该目标快取列使用顺序不同于该先前快取列使用顺序,其中该先前快取列使用顺序为同一该目标储存区域于前一次储存另一影像区块的压缩后数据时采用的一快取列使用顺序。
6.如权利要求5所述的存储器管理方法,其特征在一地,步骤(c)包含:
自多种预设快取列使用顺序中选出不同于该先前快取列使用顺序的一快取列使用顺序,做为该目标快取列使用顺序。
7.如权利要求5所述的存储器管理方法,其特征在于,步骤(c)包含:
使该目标快取列使用顺序与该先前快取列使用顺序完全相反或部分相反。
8.如权利要求1所述的存储器管理方法,其特征在于,该快取存储器并非采用固定的一数据地址/快取列编号对应关系,步骤(d)包含:
不考虑该影像区块的压缩后数据的一个或多个数据地址,直接依照该目标快取列使用顺序,将该影像区块的压缩后数据存入该目标储存区域所包含的该多个快取列。
9.如权利要求1所述的存储器管理方法,其特征在于,该快取存储器采用固定的一数据地址/快取列编号对应关系,且步骤(d)包含:
根据该目标快取列使用顺序,转换该影像区块的压缩后数据的一个或多个数据地址,以产生一个或多个转换后数据地址;以及
根据该一个或多个转换后数据地址,将该影像区块的压缩后数据存入该目标储存区域所包含的该多个快取列。
10.如权利要求1所述的存储器管理方法,其特征在于,该快取存储器采用固定的一数据地址/快取列编号对应关系;步骤(c)的执行时间早于步骤(a),且该存储器管理方法于步骤(c)和步骤(a)之间进一步包含:
根据该目标快取列使用顺序,决定该影像区块的压缩后数据的一个或多个数据地址。
11.一种存储器管理装置,应用于一快取存储器,该快取存储器包含多个储存区域,每一个储存区域包含多个快取列且对应于一原始画面中所包含的多个影像区块,该存储器管理装置包含:
一区域选择电路,用以接收一请求,该请求关联于将一影像区块的压缩后数据存入该快取存储器,回应于该请求,该区域选择电路自该多个储存区域中选出对应于该影像区块的一目标储存区域;
一使用顺序决定电路,用以决定适用于该影像区块的一目标快取列使用顺序;以及
一控制器,用以将该影像区块的压缩后数据存入该目标储存区域,使该影像区块的压缩后数据被储存为符合该目标快取列使用顺序。
12.如权利要求11所述的存储器管理装置,其特征在于,一映射规则预先提供,该映射规则用以描述影像区块位置与多种预设快取列使用顺序的关联性,该使用顺序决定电路根据该影像区块的一位置资讯以及该映射规则,自该多种预设快取列使用顺序中选出该目标快取列使用顺序,其中该位置资讯指出该影像区块于该原始画面中的位置。
13.如权利要求12所述的存储器管理装置,其特征在于,对应于该目标储存区域的多个影像区块包含一第一影像区块与一第二影像区块;在对应于该目标储存区域的该多个影像区块中,该第二影像区块与该第一影像区块于一特定方向上最接近;该映射规则包含:分派一第一快取列使用顺序给该第一影像区块,并且分派不同于该第一快取列使用顺序的一第二快取列使用顺序给该第二影像区块。
14.如权利要求13所述的存储器管理装置,其特征在于,该第一快取列使用顺序与该第二快取列使用顺序完全相反或部分相反。
15.如权利要求11所述的存储器管理装置,其特征在于,该使用顺序决定电路根据一先前快取列使用顺序决定该目标快取列使用顺序,使该目标快取列使用顺序不同于该先前快取列使用顺序,其中该先前快取列使用顺序为同一该目标储存区域于前一次储存另一影像区块的压缩后数据时采用的一快取列使用顺序。
16.如权利要求15所述的存储器管理装置,其特征在于,该使用顺序决定电路自多种预设快取列使用顺序中选出不同于该先前快取列使用顺序的一快取列使用顺序,做为该目标快取列使用顺序。
17.如权利要求15所述的存储器管理装置,其特征在于,该使用顺序决定电路使该目标快取列使用顺序与该先前快取列使用顺序完全相反或部分相反。
18.如权利要求11所述的存储器管理装置,其特征在于,该快取存储器并非采用固定的一数据地址/快取列编号对应关系,该控制器不考虑该影像区块的压缩后数据的一个或多个数据地址,直接依照该目标快取列使用顺序,将该影像区块的压缩后数据存入该目标储存区域所包含的该多个快取列。
19.如权利要求11所述的存储器管理装置,其特征在于,该快取存储器采用固定的一数据地址/快取列编号对应关系;该存储器管理装置进一步包含:
一转址电路,用以选择性地根据该目标快取列使用顺序,转换该影像区块的压缩后数据的一个或多个数据地址,以产生一个或多个转换后数据地址;
其中该控制器根据该一个或多个转换后数据地址,将该影像区块的压缩后数据存入该目标储存区域所包含的该多个快取列。
20.如权利要求11所述的存储器管理装置,其特征在于,该快取存储器采用固定的一数据地址/快取列编号对应关系;该存储器管理装置进一步包含:
一定址电路,用以根据该目标快取列使用顺序,决定该影像区块的压缩后数据的一个或多个数据地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610803576.0A CN107797757B (zh) | 2016-09-06 | 2016-09-06 | 影像处理系统中的快取存储器管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610803576.0A CN107797757B (zh) | 2016-09-06 | 2016-09-06 | 影像处理系统中的快取存储器管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107797757A true CN107797757A (zh) | 2018-03-13 |
CN107797757B CN107797757B (zh) | 2021-03-30 |
Family
ID=61530743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610803576.0A Expired - Fee Related CN107797757B (zh) | 2016-09-06 | 2016-09-06 | 影像处理系统中的快取存储器管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107797757B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475345A (zh) * | 2019-01-24 | 2020-07-31 | 旺宏电子股份有限公司 | 存储器及存储器操作方法 |
CN114339255A (zh) * | 2020-09-30 | 2022-04-12 | 瑞昱半导体股份有限公司 | 用以将影像帧储存于存储器中的方法及相关影像处理器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070195881A1 (en) * | 2006-02-20 | 2007-08-23 | Fujitsu Limited | Motion vector calculation apparatus |
CN103533366A (zh) * | 2012-07-03 | 2014-01-22 | 展讯通信(上海)有限公司 | 用于视频运动补偿的缓存方法与装置 |
CN103581671A (zh) * | 2012-07-20 | 2014-02-12 | 晨星软件研发(深圳)有限公司 | 影像处理装置与影像处理方法 |
TWI455594B (zh) * | 2011-03-30 | 2014-10-01 | Ind Tech Res Inst | 影像記憶體壓縮方法與裝置 |
CN104731519A (zh) * | 2013-12-20 | 2015-06-24 | 晨星半导体股份有限公司 | 快取存储器管理装置及应用该快取存储器管理装置的动态影像系统及方法 |
US20160055093A1 (en) * | 2014-08-19 | 2016-02-25 | Qualcomm Incorporated | Supplemental Write Cache Command For Bandwidth Compression |
-
2016
- 2016-09-06 CN CN201610803576.0A patent/CN107797757B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070195881A1 (en) * | 2006-02-20 | 2007-08-23 | Fujitsu Limited | Motion vector calculation apparatus |
TWI455594B (zh) * | 2011-03-30 | 2014-10-01 | Ind Tech Res Inst | 影像記憶體壓縮方法與裝置 |
CN103533366A (zh) * | 2012-07-03 | 2014-01-22 | 展讯通信(上海)有限公司 | 用于视频运动补偿的缓存方法与装置 |
CN103581671A (zh) * | 2012-07-20 | 2014-02-12 | 晨星软件研发(深圳)有限公司 | 影像处理装置与影像处理方法 |
CN104731519A (zh) * | 2013-12-20 | 2015-06-24 | 晨星半导体股份有限公司 | 快取存储器管理装置及应用该快取存储器管理装置的动态影像系统及方法 |
US20160055093A1 (en) * | 2014-08-19 | 2016-02-25 | Qualcomm Incorporated | Supplemental Write Cache Command For Bandwidth Compression |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475345A (zh) * | 2019-01-24 | 2020-07-31 | 旺宏电子股份有限公司 | 存储器及存储器操作方法 |
CN111475345B (zh) * | 2019-01-24 | 2023-03-31 | 旺宏电子股份有限公司 | 存储器及存储器操作方法 |
CN114339255A (zh) * | 2020-09-30 | 2022-04-12 | 瑞昱半导体股份有限公司 | 用以将影像帧储存于存储器中的方法及相关影像处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN107797757B (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10055810B2 (en) | Cache architecture for efficiently accessing texture data using buffers | |
US7669033B2 (en) | Pretranslating input/output buffers in environments with multiple page sizes | |
CN105205009B (zh) | 一种基于大容量固态存储的地址映射方法及装置 | |
CN105103144B (zh) | 用于存储器的自适应控制的设备及方法 | |
US6825848B1 (en) | Synchronized two-level graphics processing cache | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
KR102147356B1 (ko) | 캐시 메모리 시스템 및 그 동작방법 | |
JP2001507836A (ja) | タイルリニアホストテクスチャストレージ | |
US10255195B2 (en) | Apparatus and method for performing address translation | |
US20120173819A1 (en) | Accelerating Cache State Transfer on a Directory-Based Multicore Architecture | |
US11314689B2 (en) | Method, apparatus, and computer program product for indexing a file | |
US10789170B2 (en) | Storage management method, electronic device and computer readable medium | |
US6279080B1 (en) | Method and apparatus for association of memory locations with a cache location having a flush buffer | |
CN116010299B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN1468395A (zh) | 无头系统内存访问的重定向 | |
CN1819544A (zh) | 一种基于bitmap表的缓存管理方法 | |
CN107797757A (zh) | 与影像处理系统中的快取存储器相关的存储器管理方法及存储器管理装置 | |
CN117389914A (zh) | 缓存系统、缓存写回方法、片上系统及电子设备 | |
TWI597979B (zh) | 與影像處理系統中之快取記憶體相關的記憶體管理方法及記憶體管理裝置 | |
CN115883022B (zh) | Dma传输控制方法、装置、电子设备及可读存储介质 | |
KR101158949B1 (ko) | 캐시 메모리의 관리시스템 및 방법 | |
US6288729B1 (en) | Method and apparatus for a graphics controller to extend graphics memory | |
KR102516833B1 (ko) | 메모리 장치 및 그 데이터 처리 방법 | |
US8264496B2 (en) | Data management for image processing | |
US6486884B1 (en) | Apparatus for accessing memory in a video system and method thereof |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200413 Address after: No.1, Duhang 1st Road, Hsinchu City, Hsinchu Science Park, Taiwan, China Applicant after: MEDIATEK Inc. Address before: 1/2, 4th floor, 26 Taiyuan Street, Zhubei City, Hsinchu County, Taiwan, China Applicant before: MSTAR SEMICONDUCTOR Inc. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |