用于存储器管理的处理器、设备和方法

文档序号:6431834阅读:104来源:国知局
专利名称:用于存储器管理的处理器、设备和方法
技术领域
下面的描述涉及使用可配置阵列存储器的技术。
背景技术
可配置架构表示这样的架构所述架构可修改计算装置的硬件配置,从而为了预定任务优化硬件配置。当仅以硬件方式处理任务时,如果对任务做了微小改变,则硬件的僵化使得难以处理该任务。另外,如果仅以软件方式处理任务,则可通过改变软件以适合任务来处理任务,但处理速度比硬件低。可配置架构具有硬件和软件的以上优点特性。具体地讲,在需要迭代操作的数字信号处理中,可配置架构越发重要。另外,可配置架构能够针对正在处理的每个任务被优化。因此,近年来,出现了 VLIW/CGA混合处理器,从而在超长指令字(VLIW)模式下执行普通指令,并在粗粒度阵列(CGA)模式下执行循环操作。VLIW/CGA混合处理器使用不同的两种类型的存储器(包括高速缓冲存储器和配置存储器)。使用高速缓冲存储器来存储VLIW模式下的指令。使用配置存储器存储CGA模式下的CGA配置信息。VLIW模式和CGA模式互斥,在运行时间期间不使用高速缓冲存储器和配置存储器之一。即,在VLIW模式下不需要配置存储器,在CGA模式下不需要高速缓冲存储器,这降低了存储器集成率和能量利用率。

发明内容
在一个总方面,提供了一种包括处理核、存储单元和输出接口单元的处理器。处理核单元被配置为具有第一模式或第二模式的操作模式。存储单元被配置为包括多个存储空间,所述多个空间中的每个存储空间具有多个存储行。输出接口单元被配置为如果处理核单元为第一模式,则输出接口单元选择所述多个存储空间中的一个存储空间,并输出与所选择的存储空间的存储行相应的第一数据;如果处理核单元为第二模式,则输出接口单元选择所述多个存储空间中的至少两个存储空间,并输出通过组合多条数据所获得的第二数据,其中,所述多条数据中的每条数据与所选择的存储空间的每个存储行相应。在另一总方面,提供了一种用于存储器管理的设备。所述设备包括存储单元和输出接口单元。存储单元被配置为包括多个存储空间,所述多个存储空间中的每个存储空间包括多个存储行。输出接口被配置为在第一模式选择所述多个存储空间之一,并输出与所选择的存储空间的存储行相应的第一数据;在第二模式选择所述多个存储空间中的至少两个存储空间,并输出通过组合多条数据所获得的第二数据,所述多条数据中的每条数据与所选择的存储空间的每个存储行相应。
在另一总方面,提供了一种用于存储器管理的方法。所述方法如下。确定处理核为第一模式还是为第二模式。如果处理核为第一模式,则选择多个存储空间之一,并输出与所选择的存储空间的存储行相应的第一数据。如果处理核为第二模式,则选择所述多个存储空间中的至少两个存储空间,并输出第二数据。通过组合多条数据来获得第二数据,所述多条数据中的每条数据与所选择的存储空间的每个存储行相应。从下面的详细描述,其他特征对于本领域技术人员而言将变得清楚,下面详细的描述结合附图公开了本发明的示例性实施例。


图1显示计算设备的示例。图2显示处理核的示例图3显示用于存储器管理的设备的示例。图4显示输出接口单元的示例。图5A和图5B显示内部存储器的操作的示例。图6显示用于存储器管理的方法的示例。贯穿附图和详细描述,通过相同标号表示相同元件、特征和结构,为了清晰和方便,在附图中可能夸大一些元件的尺寸和比例。
具体实施例方式提供了下面的详细描述,以帮助读者获得对这里描述的方法、设备和/或系统的全面理解。这里描述的系统、设备和/或方法的各种改变、修改和等同物将向本领域的普通技术人员暗示其自身。省略了对已知功能和结构的描述,以提高清晰和简明。以下,将参照附图详细描述示例。图1显示计算设备的示例。如图1所示,计算设备100包括处理器101和外部存储器102。处理器101包括处理核103和内部存储器104。处理器101处理各种类型的数据。把将被处理的数据从外部存储器102提取到内部存储器104。当在处理器101中设置的处理核103中处理预定任务时,访问内部存储器 104比访问外部存储器102快。因此,把将被处理的数据提取到内部存储器104,从而在处理速度方面带来益处。基于动态可配置阵列来形成处理核103。动态可配置阵列表示可根据系统中的处理器的使用目的而动态改变的系统配置中的处理器。因此,处理核103的硬件架构可根据处理的使用目的而改变。例如,处理核103可具有互斥的第一模式和第二模式。第一模式是适合于执行普通操作的超长指令字(VLIW)模式。第二模式是适合于执行循环操作的粗粒度阵列(CGA)模式。例如,如果已经在第一模式下处理了普通操作的处理核103遇到循环操作,则处理核103可被转换到用于处理循环操作的第二模式。在完成循环操作之后,处理核103可被转换到第一模式。针对在每种模式执行的操作来优化处理核103的配置。例如,第二模式的处理核 103通过改变其配置以对于循环操作优化来处理循环操作。内部存储器104存储在每种模
5式下处理的数据和指令以及用于限定处理核103的配置的配置信息。内部存储器104针对处理核103的每种模式输出不同的数据。内部存储器104响应于处理核103的第一模式输出第一数据,并响应于处理核103的第二模式输出与第一数据不同的第二数据。例如,第一数据可以是VLIW模式的普通指令,第二数据可以是用于限定CGA模式的CGA配置的配置信息和循环指令。S卩,如果处理核103为第一模式,则内部存储器104作为指令高速缓冲存储器运行;如果处理核103为第二模式,则内部存储器104作为配置存储器运行。图2显示处理核的示例,所述处理核可作为图1中显示的处理核103的示例。如图1和图2所示,处理核200包括多个处理元件201和中央数据寄存器文件202。 处理元件201(例如,处理元件ΡΕ#0至PE#15)可包括功能单元或寄存器文件。各处理元件 ΡΕ#0至PE#15可彼此独立地处理任务。布置在处理元件201 (即,ΡΕ#0至PE#15)中的第一行的处理元件ΡΕ#0至PE#3可用作第一模式的VLIW处理器。即,第一行的处理元件ΡΕ#0至PE#3可执行VLIW模式的普通指令。可选地,共享寄存器文件的另外的处理元件可用作VLIW处理器。所有的处理元件201 (即,ΡΕ#0至PE#15)可用作第二模式的CGA处理器。S卩,所有的处理元件201 ( S卩,ΡΕ#0至PE#15)可针对CGA模式的循环操作而被优化,并执行与循环相关的指令、中央数据寄存器文件202临时存储在从VLIW模式到CGA模式的转换或者从CGA 模式到VLIW模式的转换时的数据根据该示例,第一模式或VLIW模式所需的数据和指令被称为第一数据,第二模式或CGA模式所需的数据和指令被称为第二数据。即,第一数据可以是VLIW模式的VLIW指令,第二数据可以是限定在CGA模式下处理元件201中的连接状态以及哪个处理元件处理哪些数据的配置信息。图3显示用于存储器管理的设备的示例,所述用于存储器管理的设备可以是图1 中显示的内部存储器104的示例。如图1和图3所示,用于存储器管理的设备300包括存储单元301和输出接口单元 302。存储单元301包括多个存储空间ΒΑΝΚ#0至BANK#N,每个存储空间被划分成多个存储行303。输出接口单元302依据处理核103的模式向处理核103提供不同种类的数据。例如,如果处理核103为VLIW模式,则输出接口单元302选择存储空间ΒΑΝΚ#0至BANK#N中的一个存储空间ΒΑΝΚ#0,并输出与选择的存储空间ΒΑΝΚ#0的存储行相应的数据DATAl。对于另一示例,如果处理核103是CGA模式,则输出接口单元302选择所有的存储空间ΒΑΝΚ#0 至BANK#N,并输出通过将多条数据DATA2、DATA3. . . DATAn组合而获得的数据,所述多条数据中的每条数据与选择的存储空间ΒΑΝΚ#0至BANK#N的每个存储行相应。根据该示例,在 VLIW模式输出的第一数据可以是VLIW指令,在CGA模式输出的第二数据可以是CGA配置信肩、ο可依据从处理核103发送的地址来确定由输出接口单元302选择的存储行。另外, 在第一模式输出的数据可以是与存储空间BANK#1的存储行相应的数据DATAl的一部分,其中,通过发送的地址中包括的偏移量来选择存储空间BANK#1的存储行。此外,在第二模式下,可依据配置信息的大小来选择所有的存储空间ΒΑΝΚ#0至BANK#N的存储行,以及可选择一些存储空间ΒΑΝΚ#0至BANK#1的存储行。图4显示输出接口单元的示例。如图1、图3和图4所示,输出接口单元400可包括第一输出单元401、第二输出单元402和模式确定单元403。第一输出单元401选择存储空间ΒΑΝΚ#0至BANK#N之一。通过从处理核103发送的地址中包括的标签来确定将被选择的存储空间(例如,ΒΑΝΚ#0)。第一输出单元401选择在选择的存储空间ΒΑΝΚ#0中的预定存储行。可通过从处理核103发送的地址中包括的索引来确定将被选择的存储行。第一输出单元401输出选择的存储行中存在的所有或一些数据,并向处理核103提供输出数据。第二输出单元402在多个存储空间ΒΑΝΚ#0至BANK#N中连续地选择两个或更多个存储空间。例如,第二输出单元402可选择所有的存储空间ΒΑΝΚ#0至BANK#N。第二输出单元402从选择的存储空间中选择预定存储行。可通过从处理核103发送的地址中包括的索引来确定将被选择的存储行。第二输出单元402输出通过组合选择的存储行中存在的数据所获得的数据,并向处理核103提供组合的数据。模式确定单元403确定处理核103的模式转换。例如,模式确定单元403确定处理核103是VLIW模式还是CGA模式。模式确定单元403依据确定结果激活第一输出单元 401和第二输出单元402之一。图5A和图5B显示内部存储器的操作的示例。如图5A所示,内部存储器500可用作用于在VLIW模式提供VLIW指令的η路集合关联高速缓冲存储器。例如,在图5Α中,如果接收到地址,则将地址的索引发送到每个标签集和每个数据集,并将地址的标签传送到标签比较单元501。标签比较单元501将地址中包括的标签和索引所识别的标签进行比较。如果地址中包括的标签和索引所识别的标签相同,则标签比较单元501将该标签传送到数据选择单元502。数据选择单元502从数据集中选择与该标签相应的数据,并输出所选择的数据。可选地,数据选择单元502可考虑偏移量输出选择的数据的一部分。从数据选择单元502输出的数据可包括将在VLIW模式使用的数据和指令。如图5Β所示,内部存储器500可用作用于在CGA模式提供CGA配置信息的直接映射的高速缓冲的配置存储器。例如,在图5Β中,如果接收到地址,则将该地址的索引发送到标签集和数据集,并将该地址的标签发送到标签比较单元501。与图5Α不同,由于CGA模式的配置信息具有比VLIW指令大的大小,所以使用单个标签集,而不使用以η路划分的多个标签集,并将多个数据集视为单个数据集。标签比较单元501将地址中包括的标签与索引所识别的标签进行比较。如果地址中包括的标签与索引所识别的标签相同,则标签比较单元501将该标签发送到数据组合单元503。数据组合单元503选择数据集中与该标签相应的数据,并输出选择的数据。即,在图5Β中,数据集的单行用作配置行,输出数据包括在 CGA模式下使用的数据、指令和硬件架构的配置信息。图6显示用于存储器管理的方法的示例。参照图1、图3、图4和图6,将描述用于存储器管理的方法。
确定处理核103是VLIW模式还是CGA模式(601)。例如,模式确定单元403通过检测将在处理核103中执行的指令集的一部分来确定处理核103中是否发生模式转换,并确定发生模式转换的点。如果处理核103为VLIW模式,则激活第一输出单元401 (602)。通过第一输出单元 401输出VLIW指令(603)。例如,第一输出单元401可选择存储空间ΒΑΝΚ#0至BANK#N之一,并输出选择的存储空间(例如,ΒΑΝΚ#0)的预定存储行中包括的所有或一些数据。如果处理核103为CGA模式,则激活第二输出单元402 (604)。通过第二输出单元 402输出CGA配置信息(605)。例如,第二输出单元402可选择所有存储空间,并输出通过组合所选择的所有存储空间的存储行的数据而获得的数据。根据如上描述的设备和方法,在VLIW/CGA混合处理器中设置的单个存储器装置可依据处理器的状态被选择性地用作η路集合关联高速缓冲存储器或直接映射的高速缓冲的配置存储器。计算机可读记录介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、 CD-ROM、磁带、软盘、光学数据存储装置和载波(例如,通过互联网的数据传输)。计算机可读记录介质还分布于联网的计算机系统,从而以分布式方式存储和执行计算机可读代码。另外,本发明所属领域的程序员可容易地解释用于实现本发明的功能性程序、代码和代码段。已经如上描述了多个示例性实施例。然而,应该理解,可进行各种修改。例如, 如果以不同的顺序执行描述的技术,和/或如果以不同的方式组合所描述的系统、架构、装置或电路中的部件,和/或用其他部件或其等同物代替或补充所描述的系统、架构、装置或电路中的部件,也可实现合适的结果。因此,其他实现在权利要求的范围内。
权利要求
1.一种处理器,包括处理核单元,被配置为具有第一模式或第二模式的操作模式;存储单元,被配置为包括多个存储空间,所述多个空间中的每个存储空间具有多个存储行;输出接口单元,被配置为如果处理核单元为第一模式,则输出接口单元选择所述多个存储空间中的一个存储空间,并输出与所选择的存储空间的存储行相应的第一数据;如果处理核单元为第二模式,则输出接口单元选择所述多个存储空间中的至少两个存储空间, 并输出通过组合多条数据所获得的第二数据,其中,所述多条数据中的每条数据与所选择的存储空间的每个存储行相应。
2.如权利要求1所述的处理器,其中,所述处理核单元通过使用可配置阵列被形成,并在第一模式下在超长指令字VLIW架构上运行。
3.如权利要求2所述的处理器,其中,输出接口单元输出将在VLIW架构上被处理的 VLIW指令作为第一数据。
4.如权利要求1所述的处理器,其中,所述处理核单元通过使用可配置阵列被形成,并在第二模式下在粗粒度阵列CGA架构上运行。
5.如权利要求4所述的处理器,其中,输出接口单元输出将在CGA架构上被处理的CGA 指令和用于限定CGA架构的配置的配置信息作为第二数据。
6.如权利要求1所述的处理器,其中,输出接口单元包括模式确定单元,被配置为确定处理核单元为第一模式还是为第二模式;第一输出接口单元,被配置为如果处理核单元为第一模式,则第一输出接口单元输出第一数据;第二输出接口单元,被配置为如果处理核单元为第二模式,则第二输出接口单元输出第二数据。
7.一种用于存储器管理的设备,所述设备包括存储单元,被配置为包括多个存储空间,所述多个存储空间中的每个存储空间包括多个存储行;输出接口单元,被配置为在第一模式选择所述多个存储空间之一,并输出与所选择的存储空间的存储行相应的第一数据;在第二模式选择所述多个存储空间中的至少两个存储空间,并输出通过组合多条数据所获得的第二数据,所述多条数据中的每条数据与所选择的存储空间的每个存储行相应。
8.如权利要求7所述的设备,其中,所述输出接口单元包括模式确定单元,被配置为确定处理核单元是在第一模式处理第一数据还是在第二模式处理第二数据;第一输出接口单元,被配置为如果处理核单元是第一模式,则第一输出接口单元输出第一数据;第二输出接口单元,被配置为如果处理核单元是第二模式,则第二输出接口单元输出第二数据。
9.一种用于存储器管理的方法,所述方法能够向具有第一模式和第二模式的处理核提供包括多个存储空间的存储单元的数据,所述多个存储空间具有多个存储行,所述方法包括确定处理核为第一模式还是为第二模式;如果处理核为第一模式,则选择所述多个存储空间之一,并输出与所选择的存储空间的存储行相应的第一数据;如果处理核为第二模式,则选择所述多个存储空间中的至少两个存储空间,并输出通过组合多条数据所获得的第二数据,所述多条数据中的每条数据与所选择的存储空间的每个存储行相应。
10.如权利要求9所述的方法,其中,第一模式是处理核的超长指令字VLIW模式,第二模式是处理核的粗粒度阵列CGA模式。
11.如权利要求10所述的方法,其中,在输出第一数据的步骤中,输出将在VLIW模式处理的VLIW指令。
12.如权利要求10所述的方法,其中,在输出第二数据的步骤中,输出将在CGA模式处理的CGA指令以及CGA配置信息。
全文摘要
提供了一种用于存储器管理的处理器、设备和方法。提供了一种能够使用单个存储器作为VLIW指令高速缓冲存储器和CGA配置存储器的设备和方法。将数据从包括至少一个存储空间的存储单元提供到具有第一模式和第二模式的处理核,所述至少一个存储空间具有多个存储行。确定处理核为第一模式还是为第二模式。如果处理核为第一模式,则输出第一数据。第一数据对应于从所述至少一个存储空间选择的存储空间的存储行。如果处理核为第二模式,则输出第二数据。通过组合数据来获得第二数据,其中,所述数据中的每个数据与从所述至少一个存储空间选择的存储空间的每个存储行相应。
文档编号G06F9/38GK102385502SQ20111025149
公开日2012年3月21日 申请日期2011年8月25日 优先权日2010年8月25日
发明者伯恩哈德·埃格, 刘东勋 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1