一种内存访问的方法、缓冲调度器和内存模块的制作方法

文档序号:6503505阅读:197来源:国知局
一种内存访问的方法、缓冲调度器和内存模块的制作方法
【专利摘要】本发明公开一种内存访问的方法、缓冲调度器和内存模块,能够在不改变内存模块或内存芯片的基础上,支持多种应用场景。该方法包括:接收访存数据的操作请求消息,其中,所述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的标记信息包括标记类型,所述标记类型用于指示所述缓冲调度器对所述访存数据和/或访存数据的标记进行操作;根据所述访存数据的标记信息、以及所述访存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记和/或访存数据进行操作。本发明适用于计算机领域。
【专利说明】-种内存访问的方法、缓冲调度器和内存模块

【技术领域】
[0001] 本发明涉及计算机领域,尤其涉及一种内存访问的方法、缓冲调度器和内存模块。

【背景技术】
[0002] 内存系统作为计算机系统的共享资源,能被多个应用程序同时访问。多个应用程 序要实现不同场景下的特定功能,就需要使得内存数据的访问受到不同的限制。例如,要实 现设备A仅能访问设备A中存储的数据的场景时,需要实现的访问控制功能,使得设备A存 储的内存数据能够区分并限定访问者。
[0003] 为了使得内存数据的访问受到不同的限制,通常通过对内存系统中的内存数据分 配不同的属性来实现。只有访存请求消息携带的属性与内存系统中的内存数据的属性相匹 配,才能对内存数据进行处理。
[0004] 现有技术中,一种带标记内存的实现方法是在硬件层次上实现内存数据属性的分 配,其主要思想是:为内存数据分配额外的内存空间,并将该分配的内存空间作为该内存数 据的标记位,将内存数据对应的属性存放在该标记位中。为了对内存系统中每个内存数据 增加额外固定的标记,该方法需要修改内存模块或是内存芯片的设计,而现有的内存模块 或内存芯片都采用固定的规格和标准,修改的成本较高。同时,在内存模块或内存芯片设计 过程中,通常为了保证每个存储单元的存储单位一致,增加的标记长度是固定的。然而利用 固定位数的标记能够实现的场景也是限定的,具有一定的局限性。
[0005] 因此,设计一种不需要修改内存模块或内存芯片,并支持多种应用场景下的多种 功能的带标记内存的方法很有必要。


【发明内容】

[0006] 本发明的实施例提供一种内存访问的方法、缓冲调度器和内存模块,能够在不改 变内存模块或内存芯片的基础上,支持多种应用场景。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案:
[0008] 第一方面,提供了一种内存访问的方法,该方法包括:
[0009] 接收访存数据的操作请求消息,其中,所述操作请求消息包括所述访存数据的标 记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的标记信息包括标记类 型,所述标记类型用于指示所述缓冲调度器对所述访存数据和/或访存数据的标记进行操 作;
[0010] 根据所述访存数据的标记信息、以及所述访存数据的存储地址和所述访存数据的 操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记和/或访存数据进行 操作。
[0011] 根据第一方面,在第一方面的第一种可能的实现方式中,所述根据所述访存数据 的标记信息、以及所述访存数据的存储地址和所述访存数据的操作信息中的至少一项,对 存储在内存模块中的所述访存数据的标记和/或访存数据进行操作具体包括:
[0012] 根据所述标记类型,确定是否对所述访存数据的标记进行操作;
[0013] 若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查询预 存储的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存数据 的标记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存数据 的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存数据 的标记和所述访存数据进行操作;
[0014] 若不对所述访存数据的标记进行操作,至少根据所述访存数据的存储地址和所述 访存数据的操作信息,对存储在内存模块中的所述访存数据进行操作。
[0015] 根据第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述访存 数据的标记信息中具体包括标记类型、标记内容;
[0016] 所述以所述访存数据的存储地址为索引,查询预存储的访存标记位置映射表,确 定所述访存数据的标记的存储地址具体包括:
[0017] 判断所述预存储的访存标记位置映射表中是否存储有所述访存数据的存储地址 和所述访存数据的标记的存储地址的对应关系;
[0018] 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关 系,根据所述访存数据的存储地址从所述预存储的访存标记位置映射表中获取所述访存数 据的标记的存储地址;
[0019] 若没有存储,将所述访存数据的标记信息中的标记内容确定为所述访存数据的标 记,在所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访存数据的标 记的存储地址,将所述标记写入所述存储地址中,并将所述访存数据的存储地址和所述访 存数据的标记的存储地址的对应关系存储在所述预设的访存标记位置映射表中。
[0020] 第二方面,提供了一种内存访问的方法,该方法包括:
[0021] 当中央处理器向缓冲调度器发送访存数据的操作请求消息时,接收所述缓冲调度 器发送的第一消息和/或第二消息,所述第一消息携带有访存数据的标记的存储地址和对 访存数据的标记操作的操作信息;所述第二消息携带有访存数据的存储地址和对访存数据 操作的操作信息;
[0022] 根据所述第一消息和/或所述第二消息,对所述访存数据的标记和/或所述访存 数据进行操作。
[0023] 根据第二方面,在第二方面的第一种可能的实现方式中,所述访存数据的标记的 存储地址和所述访存数据的存储地址是内存模块中不同的物理地址。
[0024] 结合第二方面或第一种可能的实现方式,在第二方面的第二种可能的实现方式 中,所述根据所述第一消息,对所述访存数据的标记进行操作具体包括:
[0025] 根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的标 记;
[0026] 根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存 数据的标记进行操作;
[0027] 根据所述第二消息,对所述访存数据进行操作具体包括:
[0028] 根据所述第二消息携带的访存数据的存储地址,获得所述访存数据;
[0029] 根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据进 行操作。
[0030] 第三方面,提供了一种缓冲调度器,所述缓冲调度器包括:接收单元和操作单元;
[0031] 所述接收单元,用于接收访存数据的操作请求消息,其中,所述操作请求消息包括 所述访存数据的标记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的标 记信息包括标记类型,所述标记类型用于指示对所述访存数据和/或访存数据的标记进行 操作;
[0032] 所述操作单元,用于根据所述访存数据的标记信息、以及所述访存数据的存储地 址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记 和/或访存数据进行操作。
[0033] 根据第三方面,在第三方面的第一种可能的实现方式中,所述操作单元,具体用于
[0034] 根据所述标记类型,确定是否对所述访存数据的标记进行操作;
[0035] 若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查询预 存储的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存数据 的标记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存数据 的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存数据 的标记和所述访存数据进行操作;
[0036] 若不对所述访存数据的标记进行操作,根据所述访存数据的存储地址和所述访存 数据的操作信息,对存储在内存模块中的所述访存数据进行操作。
[0037] 根据第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述访存 数据的标记信息中具体包括标记类型、标记内容;
[0038] 所述操作单元,具体用于
[0039] 判断所述预存储的访存标记位置映射表中是否存储有所述访存数据的存储地址 和所述访存数据的标记的存储地址的对应关系;
[0040] 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关 系,根据所述访存数据的存储地址从所述预存储的访存标记位置映射表中获取所述访存数 据的标记的存储地址;
[0041] 若没有存储,将所述访存数据的标记信息中的标记内容确定为所述访存数据的标 记,在所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访存数据的标 记的存储地址,将所述标记写入所述存储地址中,并将所述访存数据的存储地址和所述访 存数据的标记的存储地址的对应关系存储在所述预设的访存标记位置映射表中。
[0042] 第四方面,提供了一种内存模块,所述内存模块包括:接收单元和操作单元;
[0043] 所述接收单元,用于当中央处理器向缓冲调度器发送访存数据的操作请求消息 时,接收所述缓冲调度器发送的第一消息和/或第二消息,所述第一消息携带有访存数据 的标记的存储地址和对访存数据的标记操作的操作信息;所述第二消息携带有访存数据的 存储地址和对访存数据操作的操作信息;
[0044] 所述操作单元,用于根据所述第一消息和/或所述第二消息,对所述访存数据的 标记和/或所述访存数据进行操作。
[0045] 根据第四方面,在第四方面的第一种可能的实现方式中,所述访存数据的标记的 存储地址和所述访存数据的存储地址是内存模块中不同的物理地址。
[0046] 结合第四方面或第一种可能的实现方式,在第四方面的第二种可能的实现方式 中,所述操作单元,具体用于
[0047] 根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的标 记;
[0048] 根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存 数据的标记进行操作;
[0049] 所述操作单元,具体还用于
[0050] 根据所述第二消息携带的访存数据的存储地址,获得所述访存数据;
[0051] 根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据进 行操作。
[0052] 本发明实施例提供一种内存访问的方法、缓冲调度器和内存模块,在缓冲调度器 中预存储包括访存数据的地址和访存数据的标记的地址的对应关系的访存标记位置映射 表,进而使得访存数据和访存数据的标记可以存储在内存模块中的任意位置,同时内存模 块中可以存储各种粒度的访存数据的标记;在中央处理器根据应用场景请求对内存模块中 存储的访存数据和/或访存数据的标记进行操作时,在操作请求消息中包括访存数据的标 记信息、操作信息和所述访存数据的存储地址信息,其中,所述标记信息中包括指示应用场 景的标记类型,使得缓冲调度器可以确定需要对访存数据和/或访存数据的标记执行的操 作,进而,能够在不改变内存模块或内存芯片的基础上,支持多种场景。

【专利附图】

【附图说明】
[0053] 图1为本发明实施例提供的一种内存访问的方法的场景示意图;
[0054] 图2为本发明实施例提供的一种内存访问的方法的流程示意图;
[0055] 图3为本发明实施例提供的另一种内存访问的方法的流程示意图;
[0056] 图4为本发明实施例提供的一种内存访问的方法的交互示意图;
[0057] 图5为本发明实施例提供的一种缓冲调度器的结构示意图;
[0058] 图6为本发明实施例提供的一种内存模块的结构示意图;
[0059] 图7为本发明实施例提供的另一种缓冲调度器的结构示意图;
[0060] 图8为本发明实施例提供的另一种内存模块的结构示意图。

【具体实施方式】
[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0062] 实施例一、
[0063] 如图1所示,为本发明实施例提供的一种内存访问的方法的应用场景图,该场景 包括中央处理器、内存控制器、缓冲调度器和内存模块。其中,内存控制器接收中央处理 器发送的操作请求消息,内存控制器将该操作请求消息处理为具有固定格式的操作请求消 息,并将处理后的操作请求消息通过同步内存总线协议或异步接口发送给缓冲调度器。该 处理后的操作请求消息中包括访存数据的标记信息、操作信息和访存数据的存储地址。缓 冲调度器接收到该处理后的操作请求消息后,根据该操作请求消息携带的访存数据的标记 信息、操作信息和访存数据的存储地址对内存模块中存储的访存数据和该访存数据对应的 标记进行处理,从而,可以在不改变内存模块或内存芯片的条件下,实现对内存数据的访 问。
[0064] 本发明实施例提供一种内存访问的方法,如图2所示,该方法包括:
[0065] 201、接收访存数据的操作请求消息。
[0066] 其中,所述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数 据的存储地址信息。
[0067] 具体的,所述缓冲调度器可以接收内存控制器通过同步内存总线协议或异步接口 发送的访存数据的操作请求消息。
[0068] 所述访存数据的标记信息包括标记类型,所述标记类型用于指示所述缓冲调度器 对所述访存数据和/或访存数据的标记进行操作。
[0069] 具体的,所述标记信息中可以仅包括所述标记类型,举例来说,所述标记类型可以 为同步、访问控制、目录、内存溢出等。
[0070] 当然,所述标记信息中还可以包括标记内容,或标记内容和标记特性。其中,所述 标记内容对不同的应用场景,有不同的作用。举例来说,当所述标记类型为访问控制时,所 述标记内容可以用于指示对所述访存数据的存储地址的数据进行访问的进程号;当所述标 记类型为对内存中的数据加N时,所述标记内容可以为N,用于指示对所述访存数据的存储 地址的数据加N。所述标记特性用于表示所述标记内容对应的属性的信息,包括标记粒度 等,其中,标记粒度表示标记占用内存空间的大小。
[0071] 所述操作信息包括:操作码、访存粒度中的至少一种。其中,操作码表示对访存存 储地址对应的访存数据进行的操作,该操作包括读操作或写操作;访存粒度表示访存数据 的大小。
[0072] 202、根据所述访存数据的标记信息、以及所述访存数据的存储地址和所述访存数 据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记和/或访存数据 进行操作。
[0073] 所述缓冲调度器可以根据所述访存数据的标记信息、以及所述访存数据的存储地 址和所述访存数据的操作信息中的至少一项,确定对存储在内存模块中的所述访存数据的 标记、所述访存数据、或所述访存数据的标记和所述访存数据进行操作。
[0074] 当确定需要对所述访存数据进行操作时,当所述操作信息中包括指示缓冲调度器 对访存数据进行读操作的信息时,所述缓冲调度器从内存模块中读取该访存数据。当所述 操作信息中包括指示缓冲调度器对访存数据进行写操作的信息时,所述缓冲调度器向内存 模块中写入操作信息中携带的数据。
[0075] 本发明实施例提供一种内存访问的方法,接收访存数据的操作请求消息,其中,所 述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数据的存储地址信 息,所述访存数据的标记信息包括标记类型,所述标记类型用于指示所述缓冲调度器对所 述访存数据和/或访存数据的标记进行操作;根据所述访存数据的标记信息、以及所述访 存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述 访存数据的标记和/或访存数据进行操作。
[0076] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0077] 实施例二、
[0078] 本发明实施例提供一种内存访问的方法,该方法的执行主体是内存模块,所述内 存模块中存储有访存数据和访存数据的标记,所述访存数据和访存数据的标记存储在内存 模块中的任意位置、任意粒度的物理单元中。当然,也可以为访存数据和访存数据的标记分 别划分区域,使得访存数据只能够存储在内存模块的数据区域对应的物理位置中,访存数 据的标记只能够存储在内存模块的标记区域对应的物理位置中。如图3所示,该方法包括:
[0079] 301、当中央处理器向缓冲调度器发送访存数据的操作请求消息时,接收所述缓冲 调度器发送的第一消息和/或第二消息,所述第一消息携带有访存数据的标记的存储地址 和对访存数据的标记操作的操作信息;所述第二消息携带有访存数据的存储地址和对访存 数据操作的操作信息。
[0080] 其中,所述访存数据的标记的存储地址和所述访存数据的存储地址是内存模块中 不同的物理地址。
[0081] 当中央处理器向内存控制器发送访存数据的操作请求消息之后,内存控制器对该 访存数据的操作请求消息处理为具有固定格式的访存数据的操作请求消息之后,所述内存 控制器向所述缓冲调度器发送所述具有固定格式的访存数据的操作请求消息。
[0082] 所述缓冲调度器接收所述访存数据的操作请求消息之后,对所述访存数据的标记 和/或所述访存数据进行处理,当所述缓冲调度器对所述访存数据的标记进行处理时,向 所述内存模块发送第一消息,所述第一消息携带有访存数据的标记的存储地址和对访存数 据的标记操作的操作信息;当所述缓冲调度器对所述访存数据进行处理时,向所述内存模 块发送第二消息,所述第二消息携带有访存数据的存储地址和对访存数据操作的操作信 息。
[0083] 302、根据所述第一消息和/或所述第二消息,对所述访存数据的标记和/或所述 访存数据进行操作。
[0084] 具体的,当所述内存模块根据所述第一消息,对所述访存数据的标记进行操作时, 所述内存模块根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的 标记;根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存数 据的标记进行操作。该操作可以是读操作或写操作。
[0085] 具体的,当所述内存模块根据所述第二消息,对所述访存数据进行操作时,所述内 存模块根据所述第二消息携带的访存数据的存储地址,获得所述访存数据;根据所述第二 消息携带的对访存数据操作的操作信息,对所述获得的访存数据进行操作。该操作具体可 以是读操作或写操作。
[0086] 本发明实施例提供一种内存访问的方法,当中央处理器向缓冲调度器发送访存数 据的操作请求消息时,接收所述缓冲调度器发送的第一消息和/或第二消息,所述第一消 息携带有访存数据的标记的存储地址和对访存数据的标记操作的操作信息;所述第二消息 携带有访存数据的存储地址和对访存数据操作的操作信息;根据所述第一消息和/或所述 第二消息,对所述访存数据的标记和/或所述访存数据进行操作。
[0087] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0088] 实施例三、
[0089] 本发明实施例提供一种内存访问的方法,如图4所示,该方法包括:
[0090] 401、内存控制器向缓冲调度器发送操作请求消息。
[0091] 当中央处理器向内存控制器发送访存数据的操作请求消息之后,内存控制器对该 访存数据的操作请求消息处理为具有固定格式的访存数据的操作请求消息之后,所述内存 控制器向所述缓冲调度器发送所述具有固定格式的访存数据的操作请求消息。
[0092] 其中,所述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数 据的存储地址信息。
[0093] 具体的,所述缓冲调度器可以接收内存控制器通过同步内存总线协议或异步接口 发送的访存数据的操作请求消息。
[0094] 所述访存数据的标记信息包括标记类型,所述标记类型用于指示所述缓冲调度器 对所述访存数据和/或访存数据的标记进行操作。
[0095] 具体的,所述标记信息中可以仅包括所述标记类型,举例来说,所述标记类型可以 为同步、访问控制、目录、内存溢出等。
[0096] 当然,所述标记信息中还可以包括标记内容,或标记内容和标记特性。其中,所述 标记内容对不同的应用场景,有不同的作用。举例来说,当所述标记类型为访问控制时,所 述标记内容可以用于指示对所述访存数据的存储地址的数据进行访问的进程号;当所述标 记类型为对内存中的数据加N时,所述标记内容可以为N,用于指示对所述访存数据的存储 地址的数据加N。所述标记特性用于表示所述标记内容对应的属性的信息,包括标记粒度 等,其中,标记粒度表示标记占用内存空间的大小。
[0097] 所述操作信息包括:操作码、访存粒度中的至少一种。其中,操作码表示对访存存 储地址对应的访存数据进行的操作,该操作包括读操作或写操作;访存粒度表示访存数据 的大小。
[0098] 402、所述缓冲调度器根据所述标记类型,确定是否对所述访存数据的标记进行操 作。
[0099] 不同的应用场景,对应有不同的标记类型,因此,根据所述标记类型,可以确定应 用场景,进而确定是否需要对所述访存数据的标记进行操作。
[0100] 举例来说,假设标记类型为〇时,应用场景为访存控制。访存控制是仅允许特定的 访问者对内存模块中存储的特定数据进行访问的一种应用场景。该数据的特定访问者为该 数据的标记,因此,所述缓冲调度器需要判断所述操作请求消息中携带的访问者是否与所 述访存数据的特定访问者相同,进而,所述缓冲调度器需要对所述访存数据的标记进行操 作。
[0101] 若对所述访存数据的标记进行操作,执行步骤403 ;若不对所述访存数据的标记 进行操作,执行步骤404。
[0102] 403、若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查 询预存储的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存 数据的标记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存 数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存 数据的标记和所述访存数据进行操作。
[0103] 具体的,所述访存数据的标记信息中具体包括标记类型、标记内容。
[0104] 所述缓冲调度器中预存储有访存标记位置映射表,所述访存标记位置映射表中包 括所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关系。
[0105] 现有技术中,访存数据和访存数据的标记存储在内存模块的同一物理单元中,所 述缓冲调度器获得访存数据的地址之后,可以获取所述访存数据和访存数据的标记。本发 明中,访存数据和访存数据的标记存储在内存模块中的任意位置、任意粒度的物理单元中, 因此,所述缓冲调度器中存储有包括所述访存数据的地址和访存数据的标记的地址的对应 关系的访存标记位置映射表。
[0106] 当所述缓冲调度器以所述访存数据的存储地址为索引,查询预存储的访存标记位 置映射表,确定所述访存数据的标记的存储地址时,所述缓冲调度器具体可以:判断所述预 存储的访存标记位置映射表中是否存储有所述访存数据的存储地址和所述访存数据的标 记的存储地址的对应关系;若存储有所述访存数据的存储地址和所述访存数据的标记的存 储地址的对应关系,根据所述访存数据的存储地址从所述预存储的访存标记位置映射表中 获取所述访存数据的标记的存储地址;若没有存储,将所述访存数据的标记信息中的标记 内容确定为所述访存数据的标记,在所述内存模块中选取大于或等于所述标记的标记粒度 的空间作为所述访存数据的标记的存储地址,将所述标记写入所述存储地址中,并将所述 访存数据的存储地址和所述访存数据的标记的存储地址的对应关系存储在所述预设的访 存标记位置映射表中。
[0107] 其中,当所述缓冲调度器判断所述预存储的访存标记位置映射表中是否存储有所 述访存数据的存储地址和所述访存数据的标记的存储地址的对应关系时,所述缓冲调度器 可以在访存标记位置映射表中查询是否存在所述访存数据的存储地址,进而判断该访存标 记位置映射表中是否存储有该访存数据的标记的存储地址。
[0108] 可选的,为了使得缓冲调度器在接收到访存数据的操作请求消息后,能够快速的 判断所述访存标记位置映射表中是否存储有该访存数据的存储地址和该访存数据的标记 的存储地址的对应关系,所述缓冲调度器中存储的标记位置映射表存储的访存数据的存储 地址与访存数据的标记的存储地址的对应信息,可以是按照标记粒度来分类存储的。
[0109] 举例来说,将标记的标记粒度为4的访存数据与访存数据的标记的存储地址对应 信息存储为一张表,将标记的标记粒度为8的访存数据与访存数据的标记的存储地址对应 信息存储为一张表。这样,在所述缓冲调度器根据访存标记位置映射表和所述访存数据的 存储地址判断所述访存数据是否有对应的标记时,可以根据所述访存数据的标记信息中的 标记粒度在存储的对应的标记粒度的表中查询是否存在所述访存数据的存储地址,判断该 访存标记位置映射表中是否存储有该访存数据的标记的存储地址。
[0110] 当所述缓冲调度器对所述访存数据的标记进行操作时,所述缓冲调度器根据所述 访存数据的标记的存储地址,获得存储在内存模块中的访存数据的标记;根据所述访存数 据的标记信息和存储在内存模块中的访存数据的标记,确定对存储在内存模块中的所述访 存数据的标记进行操作。
[0111] 具体的,所述缓冲调度器根据所述访存数据的标记的存储地址,获得存储在内存 模块中的访存数据的标记;根据所述访存数据的标记信息中的标记类型,确定对所述访存 数据的标记的操作;根据所述确定的操作和存储在内存模块中的访存数据的标记,对存储 在内存模块中的所述访存数据的标记进行操作。
[0112] 其中,不同的标记类型对应有不用的操作,例如,标记类型代表访存控制时,对应 的操作为对比操作。标记类型代表访存数据需要同步或是原子操作时,对应的操作为加减 算术操作。
[0113] 举例来说,访存类型为同步操作,则对应的操作为加减运算操作。所述缓冲调度器 对内存模块中存储的所述访存数据的标记进行加减运算操作,以使得当所述访存数据被一 个线程访问时,不能被其它线程访问。例如,当所述标记为0时表示可以访问,当标记为1时 表示不可以访问。当一个线程对访存数据访问时,首先,所述缓冲调度器根据所述访存数据 的标记的存储地址,获得存储在内存模块中的访存数据的标记;当访存数据的标记为0时, 该线程对该访存数据进行访问,同时,该线程对将该标记加1,使得其它线程不能访问该访 存数据,然后,所述缓冲调度器根据所述访存数据的存储地址和所述访存数据的操作信息, 对存储在内存模块中的所述访存数据进行操作,该线程对该数据访问完成后,该线程将标 记减1,使得其它线程可以访问该访存数据;当访存数据对应的标记为1时,该线程不能对 该访存数据进行访问,所述缓冲调度器向内存控制器返回访问失败的消息。
[0114] 进一步,在所述缓冲调度器对所述访存数据和所述访存数据的标记进行操作时, 为了保证内存模块中数据的安全性,在所述缓冲调度器根据所述访存数据的标记信息和 所述访存数据的标记的存储地址,对存储在内存模块中的所述访存数据的标记进行操作之 后,还包括:获得对所述访存数据的标记进行操作的结果信息;根据所述结果信息,确定是 否对存储在内存模块中的所述访存数据进行操作;当所述结果信息表示对所述访存数据的 标记操作成功时,根据所述访存数据的操作信息,对存储在内存模块中的所述访存数据进 行操作,当所述结果信息表示对所述访存数据的标记操作失败时,向内存控制器返回访问 失败的消息。
[0115] 举例来说,访存类型为访问控制,则对应的操作为对比操作。所述缓冲调度器根 据所述访存数据的标记的存储地址,获得存储在内存模块中的访存数据的标记;所述缓冲 调度器将接收到的访存数据的标记信息中的标记内容,与所述访存数据的标记进行比较, 判断两者是否相同。若所述标记内容与标记相同,则对标记信息进行操作的结果信息为标 记操作成功的消息,并根据所述访存数据的存储地址和所述访存数据的操作信息,对存储 在内存模块中的所述访存数据进行操作;若所述标记内容与标记不同,则对标记信息进行 操作的结果信息为标记操作失败的消息,所述缓冲调度器向内存控制器返回访问失败的消 息。
[0116] 404、若不对所述访存数据的标记进行操作,至少根据所述访存数据的存储地址和 所述访存数据的操作信息,对存储在内存模块中的所述访存数据进行操作。
[0117] 可以理解的是,对存储在内存模块中的访存数据进行操作时,至少需要所述访存 数据的存储地址和所述访存数据的操作信息。
[0118] 具体的,当所述操作信息中包括指示缓冲调度器对访存数据进行读操作的信息 时,所述缓冲调度器从内存模块中的读取该访存数据。当所述操作信息中包括指示缓冲调 度器对访存数据进行写操作的信息时,所述缓冲调度器向内存模块中写入操作信息中携带 的数据。
[0119] 若所述缓冲调度器对所述访存数据进行操作,则执行步骤407-408 ;若所述缓冲 调度器对所述访存数据的标记进行操作,则执行步骤405-406 ;若所述缓冲调度器对所述 访存数据和所述访存数据的标记进行操作,则执行步骤405-408。
[0120] 405、所述缓冲调度器向所述内存模块发送第一消息,所述第一消息携带有访存数 据的标记的存储地址和对访存数据的标记操作的操作信息。
[0121] 406、所述内存模块根据所述第一消息,对所述访存数据的标记进行操作。
[0122] 具体的,所述内存模块根据所述第一消息携带的访存数据的标记的存储地址,获 得所述访存数据的标记;根据所述第一消息携带的对访存数据的标记操作的操作信息,对 所述获得的访存数据的标记进行操作。
[0123] 407、所述缓冲调度器向所述内存模块发送第二消息,所述第二消息携带有访存数 据的存储地址和对访存数据操作的操作信息。
[0124] 408、所述内存模块根据所述第二消息,对所述访存数据进行操作。
[0125] 具体的,所述内存模块根据所述第二消息携带的访存数据的存储地址,获得所述 访存数据;根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据 进行操作。
[0126] 本发明【技术领域】人员理解的是,所述内存模块根据所述第一消息和/或第二消 息,对所述访存数据的标记和/或数据进行操作后,会向所述缓冲调度器返回操作结果,具 体的实现过程本发明实施例在此不作限定。
[0127] 本发明实施例提供一种内存访问的方法,接收访存数据的操作请求消息,其中,所 述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数据的存储地址信 息,所述访存数据的标记信息包括标记类型,所述标记类型用于指示所述缓冲调度器对所 述访存数据和/或访存数据的标记进行操作;根据所述访存数据的标记信息、以及所述访 存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述 访存数据的标记和/或访存数据进行操作。
[0128] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0129] 实施例四、
[0130] 本发明实施例提供一种缓冲调度器,如图5所示,所述缓冲调度器50包括:接收单 元51和操作单元52。
[0131] 所述接收单元51,用于接收访存数据的操作请求消息,其中,所述操作请求消息包 括所述访存数据的标记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的 标记信息包括标记类型,所述标记类型用于指示对所述访存数据和/或访存数据的标记进 行操作。
[0132] 所述操作单元52,用于根据所述访存数据的标记信息、以及所述访存数据的存储 地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标 记和/或访存数据进行操作。
[0133] 进一步的,所述操作单元52,具体用于
[0134] 根据所述标记类型,确定是否对所述访存数据的标记进行操作;
[0135] 若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查询预 存储的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存数据 的标记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存数据 的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存数据 的标记和所述访存数据进行操作;
[0136] 若不对所述访存数据的标记进行操作,根据所述访存数据的存储地址和所述访存 数据的操作信息,对存储在内存模块中的所述访存数据进行操作。
[0137] 进一步的,当所述访存数据的标记中具体包括标记类型和标记内容时,所述操作 单元52,具体用于
[0138] 判断所述预存储的访存标记位置映射表中是否存储有所述访存数据的存储地址 和所述访存数据的标记的存储地址的对应关系;
[0139] 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关 系,根据所述访存数据的存储地址从所述预存储的访存标记位置映射表中获取所述访存数 据的标记的存储地址;
[0140] 若没有存储,将所述访存数据的标记信息中的标记内容确定为所述访存数据的标 记,在所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访存数据的标 记的存储地址,将所述标记写入所述存储地址中,并将所述访存数据的存储地址和所述访 存数据的标记的存储地址的对应关系存储在所述预设的访存标记位置映射表中。
[0141] 本发明实施例提供一种缓冲调度器,所述接收单元接收访存数据的操作请求消 息,其中,所述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数据的存 储地址信息,所述访存数据的标记信息包括标记类型,所述标记类型用于指示对所述访存 数据和/或访存数据的标记进行操作;所述操作单元根据所述访存数据的标记信息、以及 所述访存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中 的所述访存数据的标记和/或访存数据进行操作。
[0142] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0143] 实施例五、
[0144] 本发明实施例提供一种内存模块,如图6所示,所述内存模块60包括:接收单元 61和操作单元62。
[0145] 所述接收单元61,用于当中央处理器向缓冲调度器发送访存数据的操作请求消息 时,接收所述缓冲调度器发送的第一消息和/或第二消息。
[0146] 其中,所述第一消息携带有访存数据的标记的存储地址和对访存数据的标记操作 的操作信息;所述第二消息携带有访存数据的存储地址和对访存数据操作的操作信息。
[0147] 所述操作单元62,用于根据所述第一消息和/或所述第二消息,对所述访存数据 的标记和/或所述访存数据进行操作。
[0148] 进一步的,所述访存数据的标记的存储地址和所述访存数据的存储地址是内存模 块中不同的物理地址。
[0149] 进一步的,所述操作单元62,具体用于
[0150] 根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的标 记;
[0151] 根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存 数据的标记进行操作;
[0152] 所述操作单元,具体还用于
[0153] 根据所述第二消息携带的访存数据的存储地址,获得所述访存数据;
[0154] 根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据进 行操作。
[0155] 本发明实施例提供一种内存模块,当中央处理器向缓冲调度器发送访存数据的操 作请求消息时,所述接收单元接收所述缓冲调度器发送的第一消息和/或第二消息,所述 第一消息携带有访存数据的标记的存储地址和对访存数据的标记操作的操作信息,所述第 二消息携带有访存数据的存储地址和对访存数据操作的操作信息;所述操作单元根据所述 第一消息和/或所述第二消息,对所述访存数据的标记和/或所述访存数据进行操作。
[0156] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0157] 实施例六、
[0158] 本发明实施例提供一种缓冲调度器,如图7所示,所述缓冲调度器70包括:接收器 71和处理器72。
[0159] 所述接收器71,用于接收访存数据的操作请求消息,其中,所述操作请求消息包括 所述访存数据的标记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的标 记信息包括标记类型,所述标记类型用于指示对所述访存数据和/或访存数据的标记进行 操作。
[0160] 所述处理器72,用于根据所述访存数据的标记信息、以及所述访存数据的存储地 址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记 和/或访存数据进行操作。
[0161] 进一步的,所述处理器72,具体用于
[0162] 根据所述标记类型,确定是否对所述访存数据的标记进行操作;
[0163] 若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查询预 存储的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存数据 的标记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存数据 的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存数据 的标记和所述访存数据进行操作;
[0164] 若不对所述访存数据的标记进行操作,根据所述访存数据的存储地址和所述访存 数据的操作信息,对存储在内存模块中的所述访存数据进行操作。
[0165] 进一步的,当所述访存数据的标记中具体包括标记类型和标记内容时,所述处理 器72,具体用于
[0166] 判断所述预存储的访存标记位置映射表中是否存储有所述访存数据的存储地址 和所述访存数据的标记的存储地址的对应关系;
[0167] 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关 系,根据所述访存数据的存储地址从所述预存储的访存标记位置映射表中获取所述访存数 据的标记的存储地址;
[0168] 若没有存储,将所述访存数据的标记信息中的标记内容确定为所述访存数据的标 记,在所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访存数据的标 记的存储地址,将所述标记写入所述存储地址中,并将所述访存数据的存储地址和所述访 存数据的标记的存储地址的对应关系存储在所述预设的访存标记位置映射表中。
[0169] 本发明实施例提供一种缓冲调度器,所述接收器接收访存数据的操作请求消息, 其中,所述操作请求消息包括所述访存数据的标记信息、操作信息和所述访存数据的存储 地址信息,所述访存数据的标记信息包括标记类型,所述标记类型用于指示对所述访存数 据和/或访存数据的标记进行操作;所述处理器根据所述访存数据的标记信息、以及所述 访存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中的所 述访存数据的标记和/或访存数据进行操作。
[0170] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0171] 实施例七、
[0172] 本发明实施例提供一种内存模块,如图8所示,所述内存模块80包括:接收器81 和处理器82。
[0173] 所述接收器81,用于当中央处理器向缓冲调度器发送访存数据的操作请求消息 时,接收所述缓冲调度器发送的第一消息和/或第二消息。
[0174] 其中,所述第一消息携带有访存数据的标记的存储地址和对访存数据的标记操作 的操作信息;所述第二消息携带有访存数据的存储地址和对访存数据操作的操作信息。
[0175] 所述处理器82,用于根据所述第一消息和/或所述第二消息,对所述访存数据的 标记和/或所述访存数据进行操作。
[0176] 进一步的,所述访存数据的标记的存储地址和所述访存数据的存储地址是内存模 块中不同的物理地址。
[0177] 进一步的,所述处理器82,具体用于
[0178] 根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的标 记;
[0179] 根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存 数据的标记进行操作;
[0180] 所述操作单元,具体还用于
[0181] 根据所述第二消息携带的访存数据的存储地址,获得所述访存数据;
[0182] 根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据进 行操作。
[0183] 本发明实施例提供一种内存模块,当中央处理器向缓冲调度器发送访存数据的操 作请求消息时,所述接收器接收所述缓冲调度器发送的第一消息和/或第二消息,所述第 一消息携带有访存数据的标记的存储地址和对访存数据的标记操作的操作信息,所述第二 消息携带有访存数据的存储地址和对访存数据操作的操作信息;所述处理器根据所述第一 消息和/或所述第二消息,对所述访存数据的标记和/或所述访存数据进行操作。
[0184] 通过该方法,在缓冲调度器中预存储包括访存数据的地址和访存数据的标记的地 址的对应关系的访存标记位置映射表,进而使得访存数据和访存数据的标记可以存储在内 存模块中的任意位置,同时内存模块中可以存储各种粒度的访存数据的标记;在中央处理 器根据应用场景请求对内存模块中存储的访存数据和/或访存数据的标记进行操作时,在 操作请求消息中包括访存数据的标记信息、操作信息和所述访存数据的存储地址信息,其 中,所述标记信息中包括指示应用场景的标记类型,使得缓冲调度器可以确定需要对访存 数据和/或访存数据的标记执行的操作,进而,能够在不改变内存模块或内存芯片的基础 上,支持多种场景。
[0185] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能 模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模 块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功 能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过 程,在此不再赘述。
[0186] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或 单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元 或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所 显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的 间接耦合或通信连接,可以是电性,机械或其它的形式。
[0187] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0188] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0189] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各 个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储 器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光 盘等各种可以存储程序代码的介质。
[0190] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1. 一种内存访问的方法,应用于缓冲调度器,其特征在于,所述方法包括: 接收访存数据的操作请求消息,其中,所述操作请求消息包括所述访存数据的标记信 息、操作信息和所述访存数据的存储地址信息,所述访存数据的标记信息包括标记类型,所 述标记类型用于指示所述缓冲调度器对所述访存数据和/或访存数据的标记进行操作; 根据所述访存数据的标记信息、以及所述访存数据的存储地址和所述访存数据的操 作信息中的至少一项,对存储在内存模块中的所述访存数据的标记和/或访存数据进行操 作。
2. 根据权利要求1所述的方法,其特征在于,所述根据所述访存数据的标记信息、以及 所述访存数据的存储地址和所述访存数据的操作信息中的至少一项,对存储在内存模块中 的所述访存数据的标记和/或访存数据进行操作具体包括: 根据所述标记类型,确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查询预存储 的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存数据的标 记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存数据的操 作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存数据的标 记和所述访存数据进行操作; 若不对所述访存数据的标记进行操作,至少根据所述访存数据的存储地址和所述访存 数据的操作信息,对存储在内存模块中的所述访存数据进行操作。
3. 根据权利要求2所述的方法,其特征在于,所述访存数据的标记信息中具体包括标 记类型、标记内容; 所述以所述访存数据的存储地址为索引,查询预存储的访存标记位置映射表,确定所 述访存数据的标记的存储地址具体包括: 判断所述预存储的访存标记位置映射表中是否存储有所述访存数据的存储地址和所 述访存数据的标记的存储地址的对应关系; 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关系,根 据所述访存数据的存储地址从所述预存储的访存标记位置映射表中获取所述访存数据的 标记的存储地址; 若没有存储,将所述访存数据的标记信息中的标记内容确定为所述访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访存数据的标记 的存储地址,将所述标记写入所述存储地址中,并将所述访存数据的存储地址和所述访存 数据的标记的存储地址的对应关系存储在所述预设的访存标记位置映射表中。
4. 一种内存访问的方法,其特征在于,所述方法包括: 当中央处理器向缓冲调度器发送访存数据的操作请求消息时,接收所述缓冲调度器发 送的第一消息和/或第二消息,所述第一消息携带有访存数据的标记的存储地址和对访存 数据的标记操作的操作信息,所述第二消息携带有访存数据的存储地址和对访存数据操作 的操作信息; 根据所述第一消息和/或所述第二消息,对所述访存数据的标记和/或所述访存数据 进行操作。
5. 根据权利要求4所述的方法,其特征在于,所述访存数据的标记的存储地址和所述 访存数据的存储地址是内存模块中不同的物理地址。
6. 根据权利要求4或5所述的方法,其特征在于,所述根据所述第一消息,对所述访存 数据的标记进行操作具体包括: 根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的标记; 根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存数据 的标记进行操作; 根据所述第二消息,对所述访存数据进行操作具体包括: 根据所述第二消息携带的访存数据的存储地址,获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据进行操 作。
7. -种缓冲调度器,其特征在于,所述缓冲调度器包括:接收单元和操作单元; 所述接收单元,用于接收访存数据的操作请求消息,其中,所述操作请求消息包括所 述访存数据的标记信息、操作信息和所述访存数据的存储地址信息,所述访存数据的标记 信息包括标记类型,所述标记类型用于指示对所述访存数据和/或访存数据的标记进行操 作; 所述操作单元,用于根据所述访存数据的标记信息、以及所述访存数据的存储地址和 所述访存数据的操作信息中的至少一项,对存储在内存模块中的所述访存数据的标记和/ 或访存数据进行操作。
8. 根据权利要求7所述的缓冲调度器,其特征在于,所述操作单元,具体用于 根据所述标记类型,确定是否对所述访存数据的标记进行操作; 若对所述访存数据的标记进行操作,以所述访存数据的存储地址为索引,查询预存储 的访存标记位置映射表,确定所述访存数据的标记的存储地址,并根据所述访存数据的标 记信息、所述访存数据的标记的存储地址、所述访存数据的存储地址和所述访存数据的操 作信息中的至少一项,对存储在内存模块中的所述访存数据的标记,或所述访存数据的标 记和所述访存数据进行操作; 若不对所述访存数据的标记进行操作,根据所述访存数据的存储地址和所述访存数据 的操作信息,对存储在内存模块中的所述访存数据进行操作。
9. 根据权利要求8所述的缓冲调度器,其特征在于,所述访存数据的标记信息中具体 包括标记类型、标记内容; 所述操作单元,具体用于 判断所述预存储的访存标记位置映射表中是否存储有所述访存数据的存储地址和所 述访存数据的标记的存储地址的对应关系; 若存储有所述访存数据的存储地址和所述访存数据的标记的存储地址的对应关系,根 据所述访存数据的存储地址从所述预存储的访存标记位置映射表中获取所述访存数据的 标记的存储地址; 若没有存储,将所述访存数据的标记信息中的标记内容确定为所述访存数据的标记, 在所述内存模块中选取大于或等于所述标记的标记粒度的空间作为所述访存数据的标记 的存储地址,将所述标记写入所述存储地址中,并将所述访存数据的存储地址和所述访存 数据的标记的存储地址的对应关系存储在所述预设的访存标记位置映射表中。
10. -种内存模块,其特征在于,所述内存模块包括:接收单元和操作单元; 所述接收单元,用于当中央处理器向缓冲调度器发送访存数据的操作请求消息时,接 收所述缓冲调度器发送的第一消息和/或第二消息,所述第一消息携带有访存数据的标记 的存储地址和对访存数据的标记操作的操作信息,所述第二消息携带有访存数据的存储地 址和对访存数据操作的操作信息; 所述操作单元,用于根据所述第一消息和/或所述第二消息,对所述访存数据的标记 和/或所述访存数据进行操作。
11. 根据权利要求10所述的内存模块,其特征在于,所述访存数据的标记的存储地址 和所述访存数据的存储地址是内存模块中不同的物理地址。
12. 根据权利要求10或11所述的内存模块,其特征在于,所述操作单元,具体用于 根据所述第一消息携带的访存数据的标记的存储地址,获得所述访存数据的标记; 根据所述第一消息携带的对访存数据的标记操作的操作信息,对所述获得的访存数据 的标记进行操作; 所述操作单元,具体还用于 根据所述第二消息携带的访存数据的存储地址,获得所述访存数据; 根据所述第二消息携带的对访存数据操作的操作信息,对所述获得的访存数据进行操 作。
【文档编号】G06F12/02GK104216834SQ201310209787
【公开日】2014年12月17日 申请日期:2013年5月30日 优先权日:2013年5月30日
【发明者】黄永兵, 陈明宇, 陈荔城, 崔泽汉 申请人:华为技术有限公司, 中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1