CN201310654956.9
2013.12.05
CN104699638A
2015.06.10
授权
有权
授权|||实质审查的生效IPC(主分类):G06F 13/16申请日:20131205|||公开
G06F13/16
华为技术有限公司
陈少杰; 赵俊峰; 罗日新; 张福文
518129广东省深圳市龙岗区坂田华为总部办公楼
北京同立钧成知识产权代理有限公司11205
刘芳
本发明提供一种内存访问方法和内存访问装置。方法包括:通过确定CPU访问内存的信息,接着,采用第一频率向内存发送访问信息,其中,访问信息为访问内存的信息,第一频率与同一时刻其他CPU发送访问信息的频率不同,实现了对CPU到内存之间共享信道的频分复用,从而实现了CPU在同一时刻对多个内存的访问。
权利要求书1. 一种内存访问方法,其特征在于,包括: 确定CPU访问内存的信息; 采用第一频率向所述内存发送访问信息,所述访问信息为访问所述内存 的信息,所述第一频率与同一时刻其他CPU发送访问信息的频率不同。 2. 根据权利要求1所述的方法,其特征在于,所述确定CPU访问内存的 信息之前,还包括: 内存控制器接收所述CPU发送的所述访问信息,所述访问信息携带内存 标识和通道标识,所述通道标识为从所述CPU到所述内存控制器之间通道的 标识,所述内存标识为所述CPU访问内存的标识; 所述确定CPU访问内存的信息,包括: 所述内存控制器根据所述访问信息,获取所述内存标识和所述通道标识; 所述采用第一频率向所述内存发送访问信息,包括: 所述内存控制器根据所述内存标识和所述通道标识,确定发送所述访问 信息的所述第一频率; 所述内存控制器采用所述第一频率向所述内存标识所指示的内存发送所 述访问信息。 3. 根据权利要求1或2所述的方法,其特征在于,所述采用第一频率向 所述内存发送访问信息,还包括: 所述内存控制器根据所述第一频率,将特征向量段增加在所述访问信息 的前段,所述特征向量用以标识所述访问信息访问内存的地址信息。 4. 根据权利要求1所述的方法,其特征在于,所述确定CPU访问内存的 信息,包括: 所述CPU确定自身访问内存的信息; 所述采用第一频率向所述内存发送访问信息,包括: 所述CPU采用第一频率向所述内存发送所述访问信息,所述第一频率与 同一时刻其他CPU发送访问信息的频率不同。 5. 一种内存访问装置,其特征在于,包括: 处理模块,用于确定CPU访问内存的信息; 发送模块,用于采用第一频率向所述内存发送访问信息,所述访问信息 为访问所述内存的信息,所述第一频率与同一时刻其他CPU发送访问信息的 频率不同。 6. 根据权利要求5所述的装置,其特征在于,还包括:接收模块; 所述接收模块,用于接收所述CPU发送的所述访问信息,所述访问信息 携带内存标识和通道标识,所述通道标识为从所述CPU到所述内存控制器之 间通道的标识,所述内存标识为所述CPU访问内存的标识; 所述处理模块,还用于根据所述访问信息,获取所述内存标识和所述通 道标识;根据所述内存标识和所述通道标识,确定发送所述访问信息的所述 第一频率; 所述发送模块,具体用于采用所述第一频率向所述内存标识所指示的内 存发送所述访问信息。 7. 根据权利要求5或6所述的装置,其特征在于,所述处理模块,还用 于根据所述第一频率,将特征向量段增加在所述访问信息的前段,所述特征 向量用以标识所述访问信息访问内存的地址信息。
说明书内存访问方法和内存访问装置 技术领域 本发明实施例涉及通信技术,尤其涉及一种内存访问方法和内存访问装 置。 背景技术 随着计算机科技技术的不断发展,在信息产业的发展过程中,多个CPU 可以访问同一个内存。 在现有技术中,通过并行总线的方式实现CPU对内存的访问,该并行 总线包括数据总线,命令总线和地址总线。在多个CPU同时访问一个内存 或是访问多个内存时,为了避免产生冲突,可以分时的在总线上发送访问 信息。 然而,现有技术无法实现多个CPU在同一时刻对同一片内存的访问, 其中,该同一片内存为使用同一总线与CPU连接的内存。 发明内容 本发明实施例提供一种内存访问方法和内存访问装置,用以解决多个CPU 无法在同一时刻对同一片内存的访问。 第一个方面,本发明实施例提供一种内存访问方法,包括: 确定CPU访问内存的信息; 采用第一频率向所述内存发送访问信息,所述访问信息为访问所述内存 的信息,所述第一频率与同一时刻其他CPU发送访问信息的频率不同。 在第一种可能的实现方式中,所述确定CPU访问内存的信息之前,还包 括: 所述内存控制器接收所述CPU发送的所述访问信息,所述访问信息携带 内存标识和通道标识,所述通道标识为从所述CPU到所述内存控制器之间通 道的标识,所述内存标识为所述CPU访问内存的标识; 所述确定CPU访问内存的信息,包括: 所述内存控制器根据所述访问内存的信息,获取内存标识和通道标识; 所述采用第一频率向所述内存发送访问信息,包括: 所述内存控制器根据所述内存标识和所述通道标识,确定发送所述访问 信息的所述第一频率; 所述内存控制器采用所述第一频率向所述内存标识所指示的内存发送所 述访问信息。 结合第一个方面或是第一个方面的第一种可能的实现方式,在第二种可 能的实现方式中,所述采用第一频率向所述内存发送访问信息,还包括: 所述内存控制器根据所述第一频率,将特征向量段增加在所述访问信息 的前段,所述特征向量用以标识所述访问信息访问内存的地址信息。 在第一种可能的实现方式中,所述确定CPU访问内存的信息,包括: 所述CPU确定自身访问内存的信息; 所述采用第一频率向所述内存发送访问信息,包括: 所述CPU采用第一频率向所述内存发送所述访问信息,所述第一频率与 同一时刻其他CPU发送访问信息的频率不同。 第二个方面,本发明实施例提供一种内存访问装置,包括: 处理模块,用于确定CPU访问内存的信息; 发送模块,用于采用第一频率向所述内存发送访问信息,所述访问信息 为访问所述内存的信息,所述第一频率与同一时刻其他CPU发送访问信息的 频率不同。 在第一种可能的实现方式中,还包括:接收模块; 所述接收模块,用于接收所述CPU发送的所述访问信息,所述访问信息 携带内存标识和通道标识,所述通道标识为从所述CPU到所述内存控制器之 间通道的标识,所述内存标识为所述CPU访问内存的标识; 所述处理模块,还用于根据所述访问内存的信息,获取内存标识和通道 标识;根据所述内存标识和所述通道标识,确定发送所述访问信息的所述第 一频率; 所述发送模块,具体用于采用所述第一频率向所述内存标识所指示的内 存发送所述访问信息。 结合第一个方面或是第一个方面的第一种可能的实现方式,在第二种可 能的实现方式中,所述处理模块,还用于根据所述第一频率,将特征向量段 增加在所述访问信息的前段,所述特征向量用以标识所述访问信息访问内存 的地址信息。 本发明实施例提供的内存访问方法和内存访问装置,通过确定CPU访问 内存的信息,接着,采用第一频率向内存发送访问信息,其中,访问信息为 访问内存的信息,第一频率与其他CPU发送访问信息的频率不同,实现了对 CPU到内存之间共享信道的频分复用,从而实现了CPU在同一时刻对多个内 存的访问。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1为本发明实施例的一种内存访问方法的流程图; 图2为本发明实施例的另一种内存访问方法的流程图; 图3为本发明实施例的一种内存访问方法的结构示意图; 图4为本发明实施例的再一种内存访问方法的流程图; 图5为本发明实施例的一种内存访问装置的结构示意图; 图6为本发明实施例的另一种内存访问装置的结构示意图。 具体实施方式 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。 图1为本发明实施例的一种内存访问方法的流程图。如图1所示,该方 法适用于,不同的CPU下挂着相同的内存条,该内存条的个数至少为一个, 其中,该方法包括: 步骤101、确定CPU访问内存的信息。 本实施例适用于至少两个适用场景,包括: 第一适用场景,至少一个CPU需要同一时刻访问多个内存时,该内存为 内存条中的内存颗粒,本实施例中的多个内存可以为一个内存条中的多个内 存颗粒,也可以为多个内存条中的内存颗粒。 第二适用场景,多个CPU在同一时刻访问同一个内存,或者同一时刻访 问多个内存时,在本实施例中,该多个内存为设置在一个内存条中的,也可 以为设置在多个内存条中。 步骤102、采用第一频率向内存发送访问信息,其中,该访问信息为访 问内存的信息,第一频率与同一时刻其他CPU发送访问信息的频率不同。 无论是上述的哪种适用场景,本发明实施例可以在同一时刻采用频分复 用(Frequency Division Multiplexing,简称为FDM)的方式在共享信道上发 送访问信息,即采用不同频率向内存发送访问信息,从而将用于发送访问信 息的共享信道带宽进行划分,获得若干个子频带(或称子信道),接着,在 每一个子信道传输1路信号,从而实现在该共享信道上并行的发送访问信息。 对于采用第一频率向内存发送访问信息的实现方式,至少包括以下两种: 第一种实现方式,内存控制器根据访问信息,获取内存标识和通道标识, 其中,该访问信息携带CPU访问的内存标识和通道标识,通道标识为访问信 息从CPU到内存控制器之间通道的标识,内存标识为CPU访问内存的标识, 接着,内存控制器根据内存标识和通道标识,确定发送访问信息的第一频率, 然后,内存控制器采用第一频率向内存标识所指示的内存发送访问信息。需 要说明的是,可以根据内存标识和通道标识与频率的映射关系,确定发送访 问信息的第一频率。 第二种实现方式,CPU确定自身访问内存的信息,接着,CPU采用第一频 率向内存发送访问信息,该第一频率与同一时刻其他CPU发送访问信息的频 率不同。 在本实施例提供的内存访问方法中,通过确定CPU访问内存的信息,接 着,采用第一频率向内存发送访问信息,其中,访问信息为访问内存的信息, 第一频率与其他CPU发送访问信息的频率不同,实现了对CPU到内存之间共 享信道的频分复用,从而实现了CPU在同一时刻对多个内存的访问。 在上述实施例的基础上,在步骤102之前,还可以包括: 内存控制器根据第一频率,将特征向量段增加在访问信息的前段,该特 征向量用以标识访问信息访问内存的地址信息。 具体的,内存控制器可以根据内存标识和通道标识,将特征向量段增加 在访问信息的前段,用以标识访问信息访问所述内存的地址信息。 图2为本发明实施例的另一种内存访问方法的流程图。图3为本发明实 施例的一种内存访问方法的结构示意图。如图3所示,该结构中包括多个CPU, 如CPU1、CPU2、CPU3或CPU4,其中,每个CPU下挂相同的内存条,如f1、 f2、f3、f4、f5、f6、f7和f8。如图2所示,该方法包括: 步骤201、内存控制器接收CPU发送的访问信息。 本实施例中,该访问信息携带内存标识和通道标识,该通道标识为访问 信息从CPU到内存控制器之间通道的标识,内存标识为CPU访问内存的标识。。 步骤202、内存控制器确定CPU访问内存的信息。 具体的,内存控制器根据该访问信息,获取内存标识和通道标识,其中, 内存标识为CPU访问内存的标识,通道标识为CPU与内存控制器之间通道的 标识。 步骤203、内存控制器根据内存标识和通道标识,确定发送访问信息的 第一频率。 在本实施例中,该频率与内存标识和通道标识对应,也就是说,根据获 得的内存标识和通道标识,通过内存标识和通道标识与频率的映射表,确定 发送访问信息的频率,进一步的,内存控制器根据多个CPU的内存标识和通 道标识,确定发送访问信息的不同频率。 举例来讲,内存控制器可以根据CPU1发送的访问信息和CPU2发送的访 问信息,首先,确定CPU1准备访问的内存标识和CPU1与内存控制器之间通 道的标识,接着,根据CPU1的内存标识和通道标识,确定内存控制器发送该 访问信息的第一频率,同时,内存控制器确定CPU2准备访问的内存标识和 CPU2与内存控制器之间通道的标识,然后,根据CPU2的内存标识和通道标 识,确定内存控制器发送该访问信息的第二频率,需要说明的是,即使CPU1 与CPU2访问的内存相同,但是因为通道标识不同,因此获得第一频率域第二 频率是不同的,需要说明的是,本实施例不限制CPU的个数。 步骤204、内存控制器采用第一频率向内存标识所指示的内存发送访问 信息。 需要说明的是,在CPU可以分别直接与多个内存进行通信的架构中,当 多个CPU同一时刻访问同一个内存或多个内存时,会出冲突现象,即访问数 据被多个CPU接收。为了避免冲突的现象,多个CPU之间需要实现缓存一致 性功能,即当任一内存中数据被改写时,需要同步到CPU缓存中。 在本实施例中,通过将每个CPU的访问信息加载到一个频率的频点上,从 而实现同一时刻通过共享通道传输多个访问信息,从而实现了多CPU并行访 问统一内存阵列,提升了总线带宽,增大了共享通道容量。 进一步的,内存可以为树状结构,并同时与多个CPU分别直接通信,其 中,多个CPU在同时刻对内存的操作,可以使用上述实施例的方法,在此不 再一一赘述。 图4为本发明实施例的再一种内存访问方法的流程图。本实施例方法的 适用结构如图3所示,该方法包括: 步骤401、CPU确定自身访问内存的信息。 举例来讲,CPU在准备访问内存前,首先确定自身准备访问内存的标识, 以及对应的操作指令,如写入指令、读取指令。 步骤402、CPU采用第一频率向内存发送访问信息。 需要说明的是,该第一频率与同一时刻其他CPU发送访问信息的频率不 同。也就是说,每个CPU采用一个频率发送访问信息,从而实现多个CPU在 同时刻向至少一个内存发送访问信息。 步骤403、频分多址调度装置将接收的CPU发送的访问信息转发给对应 的内存。 在本实施例中,该频分多址调度装置可以设置在每个内存条上,当频分 多址调度装置接收到不同CPU采用不同频率发送的访问信息时,可以对该些 访问信息进行解析,获得该些访问信息准备访问内存的地址,该内存的地址 为该内存条中的内存颗粒的地址。 具体的,频分多址调度装置首先根据接收到的访问信息,获取该访问信 息中的命令信息和地址信息,例如,命令信息为写入命令或是读取命令,地 址信息为该访问信息访问的内存地址,若该命令信息为写入信息,则该访问 信息还包括准备写入的数据信息,接着,频分多址调度装置将访问信息中获 得的命令信息、地址信息和写入信息分别存入与CPU对应的队列,如CPU1队 列、CPU2队列、CPU3队列和CPU4队列,然后,频分多址调度装置根据先到 先出(FIFO)的方式将访问信息转发给该访问信息所指示的内存。 在上述实施例的基础上,若该访问信息包括读取命令,则频分多址调度 装置转发该访问信息给该访问信息所指示的内存之后,还包括: 频分多址调度装置接收内存发送的数据,接着,将内存发送的数据调制 到不同频段的信号发送到共享内存总线上,该共享内存总线为多个CPU与频 分多址调度装置之间的总线,从而实现了在共享内存总线上同时刻多个信号 的传输,若有四端口的内存颗粒,就可以做到完全的并行访问。 图5为本发明实施例的一种内存访问装置的结构示意图。如图5所示, 该内存访问装置,包括:处理模块51和发送模块52,其中,处理模块51, 用于确定CPU访问内存的信息;发送模块52,用于采用第一频率向内存发送 访问信息,访问信息为访问内存的信息,第一频率与同一时刻其他CPU发送 访问信息的频率不同。 在本实施例中,通过确定CPU访问内存的信息,接着,采用第一频率向 内存发送访问信息,其中,访问信息为访问内存的信息,第一频率与其他CPU 发送访问信息的频率不同,实现了对CPU到内存之间共享信道的频分复用, 从而实现了CPU在同一时刻对多个内存的访问。 图6为本发明实施例的另一种内存访问装置的结构示意图。如图6所示, 该内存访问装置,还包括:接收模块53;其中,接收模块53,用于接收CPU 发送的访问信息,访问信息携带内存标识和通道标识,通道标识为从CPU到 内存控制器之间通道的标识,内存标识为CPU访问内存的标识; 处理模块51,还用于根据访问内存的信息,获取内存标识和通道标识; 根据内存标识和通道标识,确定发送访问信息的第一频率; 发送模块53,具体用于采用第一频率向内存标识所指示的内存发送访问 信息。 在上述实施例的基础上,处理模块51,还用于根据第一频率,将特征向 量段增加在访问信息的前段,特征向量用以标识访问信息访问内存的地址信 息。 本实施例实现了对CPU到内存之间共享信道的频分复用,从而实现了CPU 在同一时刻对多个内存的访问。 以上所描述的通信端实施例仅仅是示意性的,其中所述作为分离部件说 明的模块、单元可以是或者也可以不是物理上分开的,作为模块、单元显示 的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以 分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块、 单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳 动的情况下,即可以理解并实施。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实 施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可 读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计 算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例 或者实施例的某些部分所述的方法。 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对 其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
《内存访问方法和内存访问装置.pdf》由会员分享,可在线阅读,更多相关《内存访问方法和内存访问装置.pdf(10页珍藏版)》请在专利查询网上搜索。
本发明提供一种内存访问方法和内存访问装置。方法包括:通过确定CPU访问内存的信息,接着,采用第一频率向内存发送访问信息,其中,访问信息为访问内存的信息,第一频率与同一时刻其他CPU发送访问信息的频率不同,实现了对CPU到内存之间共享信道的频分复用,从而实现了CPU在同一时刻对多个内存的访问。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1