平码五不中公式规律
  • / 28
  • 下载费用:30 金币  

包括存储管理单元的片上系统及其存储地址转换方法.pdf

关 键 词:
包括 存储 管理 单元 系统 及其 地址 转换 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201410006692.0

申请日:

2014.01.07

公开号:

CN103914405A

公开日:

2014.07.09

当前法律状态:

授权

有效性:

有权

法?#19978;?#24773;: 授权|||实质审查的生效IPC(主分类):G06F 12/10申请日:20140107|||公开
IPC分类号: G06F12/10 主分类号: G06F12/10
申请人: 三星电子株式会社
发明人: 金奭旼; 金宽浩; 金成云; 金泰善; 林庆默
地址: 韩国京畿道
优?#28909;ǎ?/td> 2013.01.07 KR 10-2013-0001758
专利代理机构: 北京市柳沈律师事务所 11105 代理人: 邵亚丽
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201410006692.0

授权公告号:

||||||

法律状态公告日:

2019.01.18|||2016.02.10|||2014.07.09

法律状态类型:

授权|||实质审查的生效|||公开

摘要

本发明提供了包括存储管理单元(MMU)的片上系统及其存储地址转换方法。所述SoC包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合中的一个并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经?#36816;?#36848;请求执行地址转换;以及第二总线互连,被配置为将所述主IP与所述MMU模块连接以及将所述MMU中的一个分配用于多个工作集合中的每一个工作集合。

权利要求书

权利要求书
1.  一种片上系统(SoC),包括:
主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;
包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合之一并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;以及
第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在所述多个MMU中的至少一个MMU中已经?#36816;?#36848;请求执行地址转换。

2.  如权利要求1所述的SoC,其中,所述多个工作集合中的每一个工作集合是存储设备中由主IP频?#24065;?#29992;的页的集合,并且在主IP中独立于其它工作集合被管理。

3.  如权利要求1所述的SoC,其中,所述MMU模块中的多个MMU被配置为对于所述多个工作集?#31995;?#20013;的各个工作集合彼此独立地操作。

4.  如权利要求1所述的SoC,其中,所述多个工作集合包括读工作集合和写工作集合,以及
所述MMU模块包括,
第一MMU,被配置为根据所述主IP的读请求存取所述存储设备中的读工作集合;以及
第二MMU,被配置为根据所述主IP的写请求存取所述存储设备中的写工作集合。

5.  如权利要求4所述的SoC,其中,第一MMU通过读通道与所述主IP连接,而?#19994;?#20108;MMU通过写通道与所述主IP连接。

6.  如权利要求4所述的SoC,其中,第一总线互连被配置为当从第一MMU接收到所述读请求时连接到所述存储设备中的读工作集合,并?#20918;?#37197;置为当从第二MMU接收到写请求时连接到所述存储设备中的写工作集合。

7.  如权利要求1所述的SoC,其中,所述多个工作集合包括源集合和目的地集合,以及
所述MMU模块包括,
第一MMU,被配置为根据所述主IP的源存取请求存取所述存储设备中的源集合;以及
第二MMU,被配置为根据所述主IP的目的地存取请求存取所述存储设备中的目的地集合。

8.  如权利要求7所述的SoC,还包括第二总线互连,被配置为将所述主IP与所述MMU模块连接,以及根据所述主IP的请求动态地分配第一MMU和第二MMU二者之一。

9.  如权利要求8所述的SoC,其中,第二总线互连被配置为当从所述主IP接收到所述源存取请求时连接到第一MMU,而?#20918;?#37197;置为当从所述主IP接收到目的地存取请求时连接到第二MMU。

10.  一种片上系统(SoC),包括:
主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;
包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合之一并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;
第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经?#36816;?#36848;请求执行地址转换;以及
第二总线互连,被配置为将所述主IP与所述MMU模块连接以及对于所述多个工作集合中的每一个工作集合分配所述多个MMU之一。

11.  如权利要求10所述的SoC,其中,所述多个工作集合被存储在所述存储设备中,并且所述多个工作集合中的每一个工作集合是在所述存储设备中由所述主IP频?#24065;?#29992;的页的集合,而且是独立于所述多个工作集?#31995;?#20013;其它工作集合被管理的数据集合。

12.  如权利要求10所述的SoC,其中,所述MMU模块中的多个MMU对于所述多个工作集?#31995;?#20013;的各个工作集合彼此独立地操作。

13.  如权利要求10所述的SoC,还包括:
地址分配器,被配置为存储与每一个工作集合相应的MMU分配信息,其中,当从所述主IP接收到所述请求时所述地址分配器基于所述MMU分配信息输出与所述请求相应的MMU的标识符(ID)。

14.  如权利要求13所述的SoC,其中所述地址分配器包括:
寄存器组,被配置为存储与每个工作集合相应的MMU分配信息;以及
地址比较器,被配置为将所述MMU分配信息和与从所述主IP接收到的请求相应的虚拟地址比较以及输出与所述请求相应的MMU ID。

15.  如权利要求14所述的SoC,其中,所述寄存器组被配置为将与每一个工作集合相应的连续虚拟地址当中的指示符?#25104;?#21040;所述MMU ID以及将所述?#25104;?#20449;息存储为所述MMU分配信息。

16.  如权利要求15所述的SoC,其中,所述地址比较器被配置为将与所述请求相应的所述虚拟地址与所述指示符比较以及被配置为输出被分配用于所述工作集合的MMU ID。

17.  如权利要求10所述的SoC,其中,第一总线互连和第二总线互连被配置为根据所述主IP的请求以及所述存储设备的响应连接到所述多个MMU当中动态分配的MMU的端口。

18.  一种存储地址转换方法,包括:
使用主知识产权(IP)输出对于多个工作集合中的每一个工作集合的请求,所述多个工作集合由所述主IP处理;
对于每个工作集合分配多个存储管理单元(MMU)之一;
使用所分配的MMU将与所述请求相应的虚拟地址转换为物理地址;以及
将地址经转换的请求发送到存储设备的物理地址。

19.  如权利要求18所述的存储地址转换方法,其中,所述多个工作集合被存储在所述存储设备中,并且所述多个工作集合中的每一个工作集合是在所述存储设备中由所述主IP频?#24065;?#29992;的页的集合,而且是独立于其它工作集合被管理的数据集合。

20.  如权利要求18所述的存储地址转换方法,其中,所述多个MMU对于各个工作集合彼此独立地操作。

21.  如权利要求18所述的存储地址转换方法,其中分配所述多个MMU之一包括:
存储与所述多个工作集合中的每一个工作集合相应的MMU分配信息;
响应于所述主IP的请求,将与所述请求相应的虚拟地址与所述MMU分配信息比较;以及
作为比较的结果,基于所述MMU分配信息输出与所述请求相应的MMU的标识符(ID)。

22.  如权利要求18所述的存储地址转换方法,还包括:
对于所述多个工作集合中的每一个工作集合,
根据所述请求处理所述物理地址处的工作集合,并且使用所述存储设备输出与处理结果相应的响应或者数据;
将所述响应或者所述数据发送到所述多个MMU当中的被分配用于所述工作集合的MMU;以及
将所述响应或者所述数据发送到所述主IP。

23.  如权利要求22所述的存储地址转换方法,其中,所述响应包括被分配用于经处理的工作集合的MMU的ID。

24.  一种电子系统,包括:
主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;
包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于所述多个工作集合之一并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;
存储设备,被配置用于处理所述主IP的每个请求以及发送与所述请求相应的响应或者数据;
第一总线互连,被配置为将所述MMU模块与所述存储设备连接,被配置为将所述多个MMU的每个请求发送到所述存储设备,以及被配置为将与由所述存储设备处理的请求相应的响应或者数据发送到所述MMU模块;以及
第二总线互连,被配置为,
将所述主IP与所述MMU模块连接,
对于每一个工作集合分配所述多个MMU之一,
将所述主IP的每个请求传送到所分配的MMU,以及
将所述响应或者所述数据从所分配的MMU发送到所述主IP。

25.  如权利要求24所述的电子系统,其中,第二总线互连存储与所述多个工作集合中的每一个工作集合相应的MMU分配信息,并?#20918;?#37197;置为当从所述主IP接收到所述请求?#34987;?#20110;所述MMU分配信息连接与所述请求相应 的MMU。

26.  一种片上系统(SoC),包括:
主知识产权(IP),被配置为输出与第一工作数据集和第二工作数据集相应的一个或多个请求;以及
存储管理单元(MMU)模块,包括,
第一MMU,被配置为执?#26800;?#19968;转换操作,包括将第一工作数据集的虚拟地址转换为物理地址,以及
第二MMU,被配置为执?#26800;?#20108;转换操作,包括将第二工作数据集的虚拟地址转换为物理地址,
其中,所述MMU模块被配置为使得第一MMU和第二MMU是不同单元,并且同时由第一MMU和第二MMU执?#26800;?#19968;转换操作和第二转换操作。

27.  如权利要求26所述的片上系统(SoC),其中,
第一MMU包括第一存储缓冲,并?#20918;?#37197;置为通过使用第一存储缓冲执?#26800;?#19968;转换操作,以及
第二MMU包括第二存储缓冲,并?#20918;?#37197;置为通过使用第二存储缓冲执?#26800;?#20108;转换操作。

28.  如权利要求27所述的片上系统(SoC),其中,第一存储缓冲和第二存储缓冲是转换后备缓冲(TLB)。

29.  如权利要求26所述的片上系统(SoC),还包括:
第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,第一工作数据集和第二工作数据集存储在所述存储设备中。

说明书

说明书包括存储管理单元的片上系统及其存储地址转换方法
相关申请的交叉引用
本申请要求于2013年1月7日在韩国知识产权局提交的韩国专利申请第10-2013-0001758号的优?#28909;ǎ?#20854;公开通过引用全部并入此处。
技术领域
本发明构思的示范性实施例涉及存储管理单元,并且更加具体来说,涉及当知识产权(IP)在工作集合上操作时分别用于多个工作集合中的每一个的存储管理单元、包括其的系统以及运行其的方法。
背景技术
存储管理单元(MMU)可以是?#24067;?#32452;件,其处理由诸如中央处理单元(CPU)和图?#26410;?#29702;单元(GPU)这样的直接存储器存取单元发出的存储器存取请求。MMU可以被称作分页MMU(PMMU)。
使用虚拟存储器的IP可以使用与虚拟地址相应的物理地址来存取存储设备。此时,MMU可以将虚拟地址转换为物理地址。
片上系统(SoC)可以根据预定的页替换策略利用有限大小的转换后备缓冲(translation lookaside buffer,TLB)操作,以便提高MMU的区域效率以及提高地址转换速度。但是,当SoC在多个工作集合上操作时,对于工作集合中的每一个,IP可以参照不同的地址空间。因此,当仅仅使用一个MMU时,工作集合变化可以导致TLB的命中率的?#26723;汀?
发明内容
根据本发明构思的一些示范性实施例,提供了一种片上系统(SoC),包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合中的一个并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;以及第一总线互连,被配置为将所述MMU模块与存储设 备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经?#36816;?#36848;请求执行地址转换。
所述MMU模块中的MMU可以对于所述多个工作集?#31995;?#20013;的各个工作集合彼此独立地操作。
所述工作集合可以包括读工作集合和写工作集合,并且所述MMU模块可以包括第一MMU,被配置为根据所述主IP的读请求存取所述存储设备中的读工作集合;以及第二MMU,被配置为根据所述主IP的写请求存取所述存储设备中的写工作集合。
第一MMU可以通过读通道与所述主IP连接,第二MMU可以通过写通道与所述主IP连接。
所述工作集合可以包括源集合和目的地集合,所述MMU模块可以包括第一MMU,被配置为根据所述主IP的源存取请求存取所述存储设备中的源集合;以及第二MMU,被配置为根据所述主IP的目的地存取请求存取所述存储设备中的目的地集合。
所述SoC还可以包括第二总线互连,被配置为将所述主IP与所述MMU模块连接,以及根据所述主IP的请求动态地分配第一MMU和第二MMU二者之一。
根据本发明构思的其它示范性实施例,提供了一种片上系统(SoC),包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于工作集合中的一个并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,在多个MMU中的至少一个中已经?#36816;?#36848;请求执行地址转换;以及第二总线互连,被配置为将所述主IP与所述MMU模块连接以及将所述MMU中的一个分配用于多个工作集合中的每一个工作集合。
根据本发明构思的又一示范性实施例,提供了一种存储地址转换方法,包括:使用所述主IP输出对于多个工作集合中的每一个工作集合的请求,多个工作集合由主知识产权(IP)处理;于对每个工作集合分配多个存储管理单元(MMU)之一;使用所分配的MMU将与所述请求相应的虚拟地址转换为物理地址;以及将地址经转换的请求发送到存储设备的物理地址。
根据本发明构思的再一示范性实施例,提供了一种电子系统,包括:主知识产权(IP),被配置为输出与多个工作集合中的每一个工作集合相应的请求;包括多个存储管理单元(MMU)的MMU模块,每个MMU被分配用于所述多个工作集合中的一个并?#20918;?#37197;置为将与所述请求相应的虚拟地址转换为物理地址;存储设备,被配置用于处理所述主IP的每个请求以及发送与所述请求相应的响应或者数据;第一总线互连,被配置为将所述MMU模块与所述存储设备连接,被配置为将所述多个MMU的每个请求发送到所述存储设备,以及被配置为将与由所述存储设备处理的请求相应的响应或者数据发送到所述MMU模块;以及第二总线互连,被配置为,将所述主IP与所述MMU模块连接,将多个MMU中的一个分配用于每一个工作集合,将所述主IP的每个请求传输到所分配的MMU,以及将所述响应或者所述数据从所分配的MMU发送到所述主IP。
第二总线互连可以存储与每一个工作集合相应的MMU分配信息并?#19994;?#20174;所述主IP接收到请求?#34987;?#20110;所述MMU分配信息连接与所述请求相应的MMU。
根据本发明构思的示范性实施例,一种片上系统可以包括:主知识产权(IP),被配置为输出与第一工作数据集和第二工作数据集相应的一个或多个请求;以及存储管理单元(MMU)模块,包括,第一MMU,被配置为执?#26800;?#19968;转换操作,包括将第一工作数据集的虚拟地址转换为物理地址,以及第二MMU,被配置为执?#26800;?#20108;转换操作,包括将第二工作数据集的虚拟地址转换为物理地址,其中,所述MMU模块被配置为使得第一MMU和第二MMU是不同单元,并且同时由第一MMU和第二MMU执?#26800;?#19968;转换操作和第二转换操作。
第一MMU可以包括第一存储缓冲并且可以被配置为通过使用第一存储缓冲执?#26800;?#19968;转换操作,第二MMU可以包括第二存储缓冲并且可以被配置为通过使用第二存储缓冲执?#26800;?#20108;转换操作。
第一存储缓冲和第二存储缓冲可以是转换后备缓冲(TLB)。
所述SoC还可以包括第一总线互连,被配置为将所述MMU模块与存储设备连接以及发送所述请求到所述存储设备,第一工作数据集和第二工作数据集存储在所述存储设备中。
附图说明
示范性实施例的上述及其他特征和优点将通过关于附图详细描述示范性实施例而变得更加明显。附图是用来描绘示范性实施例而不应当解释为限制权利要求预期的范围。附图将不被视为按比例绘制,除非明确地注释。
图1是根据本发明构思的一些示范性实施例的包括存储管理单元(MMU)的电子系统的框图;
图2是图1中所示的片上系统(SoC)的框图;
图3是用于说明图2中所示的MMU模块的操作的示意图;
图4是用于根据本发明构思的一些示范性实施例的包括MMU模块的结构的示意图;
图5是用于根据本发明构思的其它示范性实施例的包括MMU模块的结构的示意图;
图6是用于说明根据本发明构思的又一示范性实施例的包括MMU模块的结构的示意图;
图7是用于说明图6中所示的MMU模块的操作的示意图;
图8和图9是根据本发明构思的一些示范性实施例的使用图6中所示的结构执行的存储地址转换方法的流程图;
图10是用于说明根据本发明构思的一些示范性实施例的图像混合处理的示意图;
图11是根据本发明构思的一些示范性实施例的、包括图2中所示的SoC的电子系统的框图;以及
图12是根据本发明构思的其它示范性实施例的、包括图2中所示的SoC的电子系统的框图。
具体实施方式
现在在下文中,将参考附图更加充分地描述本发明构思的示范性实施例,附图中示出本发明构思的示范性实施例。但是,本发明构思的示范性实施例可以以许多不同形式具体实现,并且不应当理解为仅限制于这里阐述的实施例。而且,提供这些实施例以使得本公开全面彻底并且将本发明构思的示范性实施例的范围充分地传达给本领域技术人员。在附图中,为了清楚起见,可能夸大层和区域的大小和相?#28304;?#23567;。贯穿全文,相同的参考标记指代 同样的元素。
应当理解,当元件称为是“连接”或者“耦接”到另一元件时,其可以直接连接或者耦接到另一个元件或者可以存在居间元件。相反,当元件称为是“直接连接”或者“直接耦接”至另一元件时,不存在居间元件。如这里所使用的那样,术语“和/或”包括一个或多个相关联所列项的?#25105;?#20010;或者它们的所有组合并且可?#36816;?#20889;为“/”。
应当理解,尽管这里可以使用术语第一、第二等等用于描述各种元素,但是这些元素不应当受限于这些术语。这些术语仅仅用于将一个元素与其它元素区分开。例如,第一信号可以称作第二信号,并且类似地,第二信号可以称作第一信号而不脱离本公开的教导。
这里使用的术语仅用于描述特定实施例的目的,而不意为限制本发明构思的示范性实施例。如这里所使用的那样,单数形式“一”、“一个”和“该”是用来也包括复数形式,除非上下文清楚地表示不是如此。还将理解,术语“包括”和/或“包含”当在这里使用时指定所述特征、区域、整体、步骤、操作、元件和/或组件的存在,但并不排除一个或多个其它特征、区域、整体、步骤、操作、元件、组件或其群组的存在或添加。
除非另外定义,否则这里使用的全部术语(包括技术术语和科学术语)都具有本发明构思的示范性实施例所属领域的普通技术人员所通常理解的相同意义。还将理解,诸如通常使用的?#23454;?#20013;定义的那些术语的术语应?#21271;?#35299;释为具有与它们在相关技术和/或本应用的上下文中的意义一致的意义,并?#39029;?#38750;这里明确定义如此,否则不应当解释为理想化的或者过于形式的意义。
还应注意,在部分替换实施方式中,所记录的功能/动作可能以图中所记录的另外的次序发生。例如,根据所涉及的功能/动作,连续示出的两个图可以事实上基本同时运行或者可以有?#24065;?#21453;向次序运行。
图1是根据本发明构思的一些示范性实施例的包括存储管理单元(MMU)的电子系统100的框图。电子系统100可以实现为数据处理设备,例如包括个人计算机(PC)、平板PC、上网本、电子阅读器、个人数?#31181;?#29702;(PDA)、便携式多媒体播放器(PMP)、MP3播放器或者MP4播放器。电子系统100包括片上系统(SoC)1,其控制电子系统100的整体操作。
SoC1可以实现为处理器,其是读和运行程序指令的单元。例如,SoC1 运行由通过输入设备120输入的输入信号生成的程序指令。SoC1可?#28304;?#23384;储设备110读取数据并且通过显示器130显示数据。
存储设备110是存储数据的存储器设备。它可以存储操作系统(OS)、各种程序?#36879;?#31181;数据。存储设备110可以根据从SoC1接收到的请求处理数据。存储设备110可以是诸如闪存、相变随机存取存储器(PRAM)、磁RAM(MRAM)、阻变RAM(ReRAM)或者铁电RAM(FeRAM)的?#19988;资?#24615;存储设备,或者诸如动态RAM(DRAM)或者静态RAM(SRAM)的?#36164;?#24615;存储设备。在其它实施例中,存储设备110可以是SoC1内提供的?#24230;?#24335;存储器。存储设备110可以包括用于将虚拟地址转换为物理地址的页表格115。输入设备120可以由小键盘、键盘或者诸如触摸垫或者计算机鼠标这样的指示设备实现。
图2是图1中所示的SoC1的框图。在图1和图2中所示的示例中,SoC1包括中央处理单元(CPU)3、高速缓存5和MMU模块10。
CPU3可以是读和运行程序指令的处理器1的一部分。高速缓存5是可以存储数据以使得从存储设备110快速读和/或写到存储设备110的组件。CPU3可?#28304;?#23384;储设备110读取(或者执行页入(page-in))页的内容并且将其存储在高速缓存5中。
MMU模块10可以是应CPU3的请求处理到存储设备110的存取的?#24067;?#32452;件。MMU模块10的功能可以包括将与来自CPU3、图?#26410;?#29702;单元(GPU)、显示器控制器80或者包括在多媒体加速单元60中的图?#25105;?#25806;的请求相应的虚拟地址转换为物理地址、存储器保护、控制高速缓存5、总线判优和/或存储体切换。
SoC1?#37096;?#20197;包括系统外围单元50、多媒体加速单元60、连接单元70、显示器控制器80和存储接口单元90。系统外围单元50、多媒体加速单元60、连接单元70、显示器控制器80和存储接口单元90可以通过系统总线40发送与接收数据和/或指令。系统总线40可以包括多个通道。根据先进可扩展接口(AXI)协议,通道可以包括读数据通道(R)、读地址通道(AR)、写地址通道(WR)、写响应通道(B)和写数据通道(W)。
系统外围单元50可以包括实时时钟(RTC)、锁相环(PLL)和看门狗定时器(watch dog timer)。多媒体加速单元60包括图?#25105;?#25806;。多媒体加速单元60可以包括相机接口、与帧缓存或者用于图形计算的其它视频显示电 路集成的图?#25105;?#25806;、以及作为用于发送非压缩数字数据的音频/视频接口的高清晰度多媒体接口(HDMI)。MMU模块10可以用于将从图?#25105;?#25806;输出的虚拟地址转换为物理地址。多媒体加速单元60可以包括模拟电视编码系统,即国家电视系统委员会(NTSC)/逐?#26800;?#30456;(PAL)系统,而非HDMI。
连接单元70可以包括音频接口(IF)、像高级技术连接(ATA)IF那样的存储IF、以及连接IF。连接单元70可以与输入设备120通信。
显示器控制器80可以控制将显示在显示器130上的数据。MMU模块10可以用于将从显示器控制器80输出的虚拟地址转换为物理地址。
存储接口单元90可以使存储设备110能够根据存储器的类型(例如,闪存或者DRAM)存取。
为了方便起见,在说明书中,假设处理每个工作集合中的数据的诸如CPU3、图?#25105;?#25806;和显示器控制器80这样的处理器被称为主知识产权(master intellectual property)(主IP)。主IP可以针对每个工作集合操作并且可以在同一时间处理多个工作集合。工作集合是存储在存储设备110中的数据集合。工作集合指示在存储设备110中被主IP频繁(例如,在引用时间段中高于引用次数)引用的页的集合,或者能够从主IP加载到存储设备110的页的量。此时,在主IP中每个工作集合独立于其它工作集合被管理。
图3是用于说明图2中所示的MMU模块10的操作的示意图。参考图1至图3,MMU模块10可以包括转换后备表格(TLB)12,并且通过多个通道(即,R、AR、AW、B和W)与主IP30和存储设备110连接。
主IP30可?#28304;?#29702;多个工作集合。为了操作工作集合,主IP30可以输出与每一个工作集合相应的请求到MMU模块10或者高速缓存5。此时,主IP30输出的请求包括针对存储设备110中的工作集合的虚拟地址VA。
MMU模块10可以应主IP30的请求使用虚拟地址VA计算并且输出页物理地址PA。页物理地址PA可以是,例如,虚拟地址VA的页编号与虚拟地址VA的偏移(例如,页表格指针)的组合。页物理地址PA是被用作用于存取页表格115的索引的地址。
TLB12是可以用于提高虚拟地址转换速度的存储管理?#24067;?#39029;编号和帧编号在TLB12中被?#25104;洹?#25442;句话说,TLB12存储针对主IP30所引用的页的虚拟地址VA与物理地址PA之间的?#25104;洹?#24403;将虚拟地址VA转换为物理地址PA时,MMU模块10首先检查TLB12。当在TLB12中存在关于与 主IP30的请求相应的虚拟地址VA的?#25104;?#20449;息时,MMU模块10可以直接处理转换而无需存取存储设备110(其被称为“TLB命中?#20445;?
但是,当在TLB12中不存在关于与主IP30的请求相应的虚拟地址VA的?#25104;?#20449;息时(其被称为“TLB未命中?#20445;?#26102;,可以执行页表格移步(page table walk,PTW)。PTW是当虚拟地址VA的页编号和帧编号在TLB12中不匹配时,也就是说,当TLB12中不存在?#25104;?#21040;虚拟地址VA的物理地址的PA信息时,寻找虚拟地址VA的页编号和帧编号是否存在于存储设备110的页表格110中的过程。页表格115存储关于针对存储设备110中的数据的虚拟地址VA与物理地址PA之间?#25104;?#30340;信息。
当主IP30试图使用物理地址PA来读取指令或者数据而且与物理地址PA相应的指令或者数据在高速缓存5中时,高速缓存5可以直接将所述指令或者数据输出到主IP30,而无需存取存储设备110(其被称为“高速缓存命中?#20445;?#20294;是,当所述指令或者数据不存在于高速缓存5时,高速缓存5可以存取数据/指令存储块117以读取指令或者数据(其被称为“高速缓存未命中?#20445;?#25968;据/指令存储块117存储关于存储设备110中的每一个数据/指令的信息。
图4是用于根据本发明构思的一些示范性实施例的包括MMU模块10的结构的示意图。为了方便起见,在说明书中,仅仅示出主IP30、MMU模块10、总线互连41和存储设备110。
主IP30可以例如以工作集合为单位操作。主IP30可以对于多个工作集合执行操作。根据本发明构思的示范性实施例,存储设备110中的工作集合可以彼此独立并且主IP30独立地管理每个工作集合。
当处理工作集合时,主IP30可以将请求和工作集合的数据的虚拟地址VA输出到MMU模块10。将参考图4描述主IP30在存储设备110上执行读操作和写操作的情况。
多个工作集合可以包括读工作集合和写工作集合。换句话说,工作集合可以?#25442;?#20998;为用于应主IP30的读请求从存储设备110读数据的读工作集合以及用于应主IP30的写请求写数据到存储设备110的写工作集合。
在图4中示出的示例中,MMU模块10包括多个MMU10R和10W。MMU10R和10W被分别分配用于工作集合,并且针对不同的工作集合彼此独立地操作。
第一MMU10R被分配给应主IP30的读请求存取存储设备110中的读工作集合。第一MMU10R连接到读通道RCH。读通道RCH发送来自主IP30的读请求、来自存储设备110的响应以及应主IP30的读请求从存储设备110读取的数据。读通道RCH将主IP30与MMU模块10连接并且将MMU模块10与存储设备110连接。根据AXI总线协议,读通道RCH可以包括AR通道和R通道。
第一MMU10R可以将与从主IP30接收到的读请求相应的虚拟地址VA转换为物理地址PA,将转换成物理地址PA的读请求发送到存储设备110,并且将从存储设备110读取的数据以及对读请求的响应发送到主IP30。
第二MMU10W被分配给应主IP30的写请求存取存储设备110中的写工作集合。第二MMU10W连接到写通道WCH。写通道WCH发送来自写IP30的写请求、来自存储设备110的响应以及应到存储设备110的写请求将被写到存储设备110的数据。写通道WCH将主IP30与MMU模块10连接并且将MMU模块10与存储设备110连接。根据AXI总线协议,写通道WCH可以包括AW通道、W通道和B通道。
第二MMU10W可以将区域(应从主IP30接收到的写请求,数据将被写到该区域)的虚拟地址VA转换为物理地址PA,并且将写到存储设备110的数据的物理地址PA转换为虚拟地址VA。
主IP30与第一MMU10R之间的读通道RCH以及主IP30与第二MMU10W之间的写通道WCH可以在?#24067;?#20013;互相连接。
总线互连41可以包括在存储设备110与MMU模块10之间的读通道RCH或者写通道WCH中。总线互连41连接存储设备110和MMU模块10,并且使能存储设备110中的存储器存取区域对于MMU10R和10W中的每一个的存取是不同的。
读工作集合和写工作集合在存储设备110中的位置可以彼此独立。当第一MMU10R存取时,总线互连41将第一MMU10R连接到存储设备110中的读工作集合。当第二MMU10W存取时,总线互连41可以将第二MMU10W连接到存储设备110中的写工作集合。可替换地,总线互连41可以针对MMU10R和10W中的每一个的存取改变存储器存取定时。此时,存储设备110中的读工作集合和写工作集合可以暂?#21271;?#27492;独立地存取。
图5是用于根据本发明构思的其它示范性实施例的包括MMU模块10 的结构的示意图。为了方便起见,在说明书中,仅仅示出主IP30、MMU模块10、总线互连42A和42B以及存储设备110。
主IP30可以例如以工作集合为单位操作。主IP30可以对于多个工作集合执行操作。根据本发明构思的示范性实施例,存储设备110中的工作集合可以彼此独立并且主IP30独立地管理每个工作集合。当处理工作集合时,主IP30将请求以及工作集合的数据的虚拟地址VA输出到MMU模块10。
将参考图5描述主IP30在存储设备110上执行读操作和写操作的情况。这里,主IP30可以是图像缩放器IP。不同于图4中示出的工作集合根据操作?#25442;?#20998;为读工作集合和写工作集合的实施例,在图5中示出的当前实施例中,工作集合根据将由主IP30处理的数据的存储器存取区域?#25442;?#20998;为源集合和目的地集合。
具体来说,当像数据缩放器IP或者数据抖动IP那样的主IP30通过将源数据与目的地数据组合来执行输出目的地数据的操作时,用于读操作的源数据被集中于其中的存储区域中的工作集合定义为源集合,而用于读和写操作的目的地数据被集中于其中的存储区域中的工作集合定义为目的地集合。
在图5中示出的示例中,MMU模块10包括多个MMU11S和11D。MMU11S和11D被分别分配用于工作集合,并且针对不同的工作集合彼此独立地操作。
第一MMU11S被分配用于应主IP30的源存取请求存储设备110中的源集合。第一MMU11S连接到源通道源CH,其发送源存取请求和从存储设备110读的源数据。源通道源CH将主IP30与MMU模块连接,并且将MMU模块10与存储设备110连接。第一MMU11S可以将与源数据相应的虚拟地址VA转换为物理地址PA。
第二MMU11D被分配用于应主IP30的目的地存取请求存取存储设备110中的目的地集合。第二MMU11D连接到目的地通道目的地CH,其发送目的地存取请求和从目的地110读取和写到存储设备110的目的地数据。目的地通道目的地CH将主IP30与MMU模块连接,并且将MMU模块10与存储设备110连接。
第二MMU11D可以将从存储设备110读取的目的地数据的虚拟地址VA转换为物理地址PA,并且将物理地址PA(在主IP30的操作之后目的地集合被写到该物理地址PA)转换为虚拟地址VA。
第一总线互连42B可以包括在存储设备110与MMU模块10之间的源通道源CH或者目的地通道目的地CH中。第二总线互连42A可以包括在主IP30与MMU模块10之间的源通道源CH或者目的地通道目的地CH中。
第一总线互连42B和第二总线互连42A可以根据工作集合而被动态地分配用于第一MMU11S或者第二MMU11D。例如,第一总线互连42B和第二总线互连42A检查寻以找由主IP30或者存储设备110处理的工作集合的虚拟地址VA是用于源集合还是目的地集合,并且将请求和与请求相应的数据发送到被分配用于工作集合的MMU11S或者11D。
第一总线互连42B和第二总线互连42A可以根据将被处理的工作集合改变存储设备110中的存储器存取区域。在这种情况下,源集合和目的地集合可以是存储设备110中的独立存储区域。
当将由主IP30处理的工作集合是源集合时,第二总线互连42A连接到第一MMU11S。但是,当将由主IP30处理的工作集合是目的地集合时,第二总线互连42A连接到第二MMU11D。第一总线互连42B在工作集合是源集合?#24065;?#36830;接到第一MMU11S,并?#19994;?#24037;作集合是目的地集合时连接到第二MMU11D。
可替换地,第一总线互连42B可以针对MMU11S和11D中的每一个改变到存储设备110的存储器存取定时。在这种情况下,存储设备110中的源集合和目的地集合可以被暂时独立地存取。结果,在数据混合(data blending)期间,MMU模块10的命中率得以提高并且SoC1的处理速度也得以提高。?#36865;猓?#22240;为MMU模块10用于每个工作集合,所以MMU灵活地操作。
图6是说明根据本发明构思的又一示范性实施例的、包括MMU模块10(其被示出为MMU1至MMUn)的结构的示意图。图7是说明图6中示出的MMU模块10的操作的示意图。SoC1可以包括主IP30、包括MMU1至MMUn的MMU模块10、系统总线45、存储设备110和地址分配器20。为了方便,在图6中仅仅示出SoC1的部分元素,但是其它元素?#37096;?#20197;包括在如图2中所示的SoC1中。
主IP30可以是,例如,诸如以工作集合为单位处理数据的CPU3、图?#25105;?#25806;或者显示器控制器80这样的处理器。主IP30可以为每个工作集合操作并且可以在同一时间处理多个工作集合。工作集合是存储在存储设备110中的数据集合。工作集合指示主IP30频繁(例如,在引用时间段中高于引 用次数)存取的页的集合,或者能够从主IP30加载到存储设备110的页的量。根据本发明构思的示范性实施例,在主IP中每个工作集合独立于其它工作集合被管理。系统总线45包括第一总线互连43B、第二总线互连43A和连接至每个MMU、主IP30和存储设备110的通道。系统总线45在主IP30与存储设备110之间传输请求和数据。
当主IP30执行对于多个工作集合的操作时,地址分配器20可以针对工作集合中的每一个动态地分配MMU。地址分配器20存储与工作集合中的每一个相应的MMU分配信息。当从主IP30接收到对工作集合的请求时,地址分配器20可以基于MMU分配信息,将与包括在请求中的虚拟地址VA相应的MMU的标识符(ID)输出到第二总线互连43A。第二总线互连43A可以将请求和数据发送到与所述ID相应的MMU。
地址分配器20包括寄存器组21和地址比较器23。寄存器组21存储与工作集合中的每一个相应的MMU分配信息。换句话说,寄存器组21存储MMU分配信息,其中与每个工作集合相应的虚拟地址VA被?#25104;?#21040;MMU ID。根据本发明构思的示范性实施例,MMU分配信息可以包括用于区分每个工作集合的虚拟地址VA的指示符信息。例如,指示符信息可以是工作集合的连续虚拟地址VA的起始点和/或结束点。
地址比较器23可以将从主IP30接收到的请求的虚拟地址VA与MMU分配信息比较。作为比较的结果,地址比较器23可以输出与所述请求相应的MMU ID。
具体来说,如图7中所示,例如,第一至第n工作集合可以包括存储设备110中被主IP30频繁(例如在引用时段中高于引用时段)引用的多个页,也就是说,多个相邻虚拟地址VA。例如,第一工作集合包括虚拟地址VA0至VA2。但是,在主IP30的操作中工作集合被彼此独立地管理。换句话说,单个虚拟地址VA不属于两个或多个工作集合。例如,对于工作集合,虚拟地址VA0至VAn可以被连续布置,如图7中所示。
每个MMU将被?#25104;?#21040;MMU的工作集合的虚拟地址VA转换为物理地址PA。可以基于MMU内的TLB执行地址转换。由MMU转换的物理地址PA可以不同于由其它MMU转换的物理地址、或者与由其它MMU转换的物理地址相同。
当假设将由主IP30处理的数据的工作集合被?#25104;?#21040;MMU1时,第二总 线互连43A从地址分配器20接收MMU1的ID1并且发送主IP30的请求和数据到MMU1。MMU1将所述请求的虚拟地址VA转换为物理地址PA,并且通过第一总线互连43B将被转换成物理地址PA的请求和数据发送到存储设备110。第一总线互连43B存取存储设备110中的物理地址PA,并且对数据执行与所述请求相应的操作。此时,所述请求可以是读操作、写操作或者擦除操作。
当主IP30在对于当前工作集合执行操作的同时起动对于另一工作集合的操作时,MMU模块10中尚未分配用于当前工作集合的MMU中的一个被分配用于新的工作集合并且独立地操作。结果,与针对由主IP30使用的所有工作集合共享仅仅一个MMU的情况相比,TLB未命中被?#26723;汀?#22240;此,命中率在主IP30的数据处理操作期间被提高,并且SoC1的操作速度也得以提高,同时工作集合之间的相互影响被最小化或者被?#26723;汀4送猓?#22240;为MMU模块10被分配用于每个工作集合,所以MMU灵活地操作。
图8和图9是根据本发明构思的一些示范性实施例的使用图6中所示的结构执行的存储地址转换方法的流程图。假设当主IP30向存储设备110发出请求时,由MMU接收到的请求的虚拟地址是连续的。换句话说,MMU1接收工作集合的连续虚拟地址,其位置独立于由MMU2接收到的不同工作集合的虚拟地址,如图7中所示。
主IP30在操作S10中输出对于对工作集合的操作的请求以及对于工作集合的虚拟地址VA。第二总线互连43A(即,总线互连0)在操作S20中接收所述请求和所述虚拟地址VA并且将虚拟地址VA发送到地址分配器20。
地址分配器20在操作S30和S31中将虚拟地址VA与存储在寄存器组21中存储的指示符VADD进行比较。指示符VADD是分配给MMU的连续虚拟地址当中处于边界(即,起动点和/或结束点)处的虚拟地址。例如,根据一个示例,可以假定MMU以这样的方式被分配用于连续工作集合:MMU1被分配用于范围从第一虚拟地址到连续虚拟地址当中的第一指示符VADD1之前的虚拟地址的第一工作集合,MMU2被分配用于范围从第一指示符VADD1到连续虚拟地址当中的第二指示符VADD2之前的虚拟地址的第二工作集合。
地址分配器20在操作S30和S31中基于虚拟地址VA是否小于第一指示符VADD1确定已经接收到的虚拟地址VA是用于针对MMU1的工作集合 还是用于针对MMU2的工作集合,并且发送与虚拟地址VA相应的MMU的ID到第二总线互连43A。类似地,基于指示符VADD与同请求相应的虚拟地址VA的比较的结果,识别其它MMU当中将被分配的MMU。
第二总线互连43A在操作S41至S43中从地址分配器20接收与主IP30的请求相应的MMU ID,并且将请求和虚拟地址VA发送到与MMU ID相应的MMU端口。例如,当虚拟地址VA相应于MMU1时,第二总线互连43A将虚拟地址VA和请求发送到MMU1的端口。
MMU可以使用TLB将虚拟地址VA转换为物理地址PA。MMU在操作S51至S53中将地址经转换的请求发送到第一总线互连43B(即,总线互连1)。
当第一总线互连43B在操作S60中将地址经转换的请求发送到存储设备110时,存储设备110可?#28304;?#29702;物理地址PA处的请求。
参考图9,当存储设备110在操作S110中根据请求发送数据和响应到主IP30时,存储设备110在操作S120中输出所述数据和所述响应到第一总线互连43B。第一总线互连43B在操作S130和S131中基于响应检测被分配有数据的物理地址的MMU ID,并且在操作S141至S143中将所述响应和所述数据发送到与所述MMU ID相应的MMU。从存储设备110发送的响应可以包括关于已经发送请求的MMU的信息。
例如,当由主IP发出的请求针对第一工作集合并且MMU1被分配用于第一工作集合时,第一总线互连43B在操作S141中基于所述响应检测MMU1的ID并且将所述响应和所述数据发送到MMU1的端口。
MMU在操作S151至S153中接收所述响应和所述数据,并且通过第二总线互连43A将它们发送到主IP。主IP30在操作S160中处理通过第二总线互连43A接收到的响应和数据。
图10是用于说明根据本发明构思的一些示范性实施例的图像混合处理的示意图。在图10中所示的示例中,假设主IP35混合两个图像。具体来说,?#22791;?#25454;用户的设置或者特定条件在移动设备中进行从第一图片切换到第二图片时,在切换的过程中向用户显示的叠加图像可以是第一图片和第二图片在其中互相混合的图像。在这种情况下,主IP35读两个源图像,即,来自存储设备110的混合目标,将源图像混合在一起,并且将单个混合图像写到存储设备110中。换句话说,由主IP35执行的多个工作集合由两个源集合 (或者两个读工作集合)和一个目的地集合(或者一个写工作集合)组成。
参考图10,第一图像,即,圆被存储在第一源集合(即,与虚拟地址(6)至(9)相应的源1)中,而?#19994;?#20108;图像,即,正方形被存储在第二源集合(即,与虚拟地址(12)至(15)相应的源2)中。主IP35发送第一读请求和第二读请求到MMU模块10,以便对第一源集合执行读操作和对第二源集合执行读操作。MMU模块10检查包括在第一读请求中的(第一源集合的)虚拟地址(6)至(9)和包括在第二读请求中的(第二源集合的)虚拟地址(12)至(16),并且分配第一MMU用于第一源集合和第二MMU用于第二源集合。
第一MMU根据第一读请求将第一源集合的虚拟地址(6)至(9)转换为物理地址,并且存取存储设备110。存储设备110从第一源集合读数据(即,圆),并且连同对第一读请求的响应一起发送数据到第一MMU。第一MMU发送数据和响应到主IP35。
类似地,第二MMU根据第二读请求将第二源集合的虚拟地址(12)至(15)转换为物理地址,并且存取存储设备110。存储设备110从第二源集合读数据(即,正方形),并且连同对第二读请求的响应一起发送数据到第二MMU。第二MMU发送数据和响应到主IP35。
第一MMU和第二MMU分别对于第一源集合和第二源集合彼此独立地操作。因为对于第一读请求的处理和对于第二读请求的处理被分别分配给不同MMU,所以两个处理可以同时执行或者具有时间差。
主IP35将与第一源集合相应的第一图像(即,圆)和与第二源集合相应的第二图像(即,正方形)混合。为?#31169;?#28151;合图像(即,圆和正方形的组合)写到存储设备110,主IP35将写请求发送到MMU模块10。混合图像被写到目的地集合。这里,假设第二源集合的虚拟地址空间与目的地集合的虚拟地址空间相同。
MMU模块10检查包括在写请求中的(目的地集合的)虚拟地址并且将MMU分配给目的地集合。此时,被分配用于目的地集合的MMU可以是第三MMU或者目前不操作的第一MMU和第二MMU二者之一。为了方便起见,在说明书中,假设第三MMU被分配用于目的地集合。第三MMU根据写请求将目的地集合的虚拟地址转换为物理地址,并且利用写请求和混合图像来存取存储设备110。存储设备110将混合图像写到与目的地集合相应的 存储区域。存储设备110发送对于写请求的响应到第三MMU。第三MMU发送响应到主IP35。
第一源集合或者第二源集合的读操作是对于目的地集合的写操作的先决条件,并且因此,可以与读操作有时间差地独立执行写操作。
结果,在主IP35的数据处理操作期间,命中率得以提高。?#36865;猓?#22240;为MMU对于各个工作集合动态地分配并且独立地操作,所以MMU灵活地操作,并且SoC1的操作速度得以提高同时工作集合之间的相互影响被最小化或者被?#26723;汀?
图11是根据本发明构思的一些示范性实施例的、包括图2中所示的SoC1的电子系统200的框图。参考图11,电子系统200可以实现为移动电话、智能电话、平板PC、PDA、PMP或者射频通信系统。
电子系统200包括存储数据的存储设备210。存储设备210可以包括?#19988;资?#24615;存储器和存储控制器。存储控制器可以根据SoC1的控制来控?#21697;且资?#24615;存储器的数据存取操作,例如程序操作、擦除操作或者读操作。
射频收发器220通过天线ANT发送或者接收射频信号。例如,射频收发器220可以将通过天线ANT接收到的射频信号变换为能够由SoC1处理的信号。因此,SoC1可?#28304;?#29702;?#30001;?#39057;收发器220输出的信号,并且将经处理的信号发送到存储设备210或者显示器240。存储控制器可以对由SoC1处理的信号编程或者写到?#19988;资?#24615;存储器。射频收发器220还可以将从SoC1输出的信号变换为射频信号,并且通过天线ANT将射频信号输出到外部设备。
输入设备230使能控制信号用于控制SoC1的操作,或者由SoC处理的数据被输入到电子系统200。输入设备230可以实现为小键盘、键盘或者诸如触摸垫或者计算机鼠标这样的指示设备。
SoC1可以控制显示器240操作以显示从存储设备210输出的数据、?#30001;?#39057;收发器220输出的数据或者从输入设备230输出的数据。
在其它实施例中,控?#21697;且资?#24615;存储器的操作的存储控制器可以实现为SoC1的一部?#21482;?#32773;在与SoC1分离的芯片中实现。
图12是根据本发明构思的其它示范性实施例的、包括图2中所示的SoC1的电子系统300的框图。参考图12,电子系统300可以实现为像数字相机、装备有数字相机的移动电话、装备有数字相机的智能电话或者装备有数字相 机的平板PC这样的图像处理器。
电子系统300包括存储设备320。存储设备320可以包括?#19988;资?#24615;存储器和控?#21697;且资?#24615;存储器的数据存取操作的存储控制器,数据存取操作例如编程操作、擦除操作或者读操作。
包括在电子系统300中的图像传感器310将光学图像变换为数字图像,并且将数字图像输出到SoC1或者存储设备320。根据SoC1的控制,数字图像可以通过显示器330显示或者被存储在存储设备320中。可以根据SoC1或者存储控制器的控制,通过显示器330显示存储在存储设备320中的数据。
控?#21697;且资?#24615;存储器的操作的存储控制器可以实现为SoC1的一部?#21482;?#32773;在与SoC1分离的芯片中实现。
如上所述,根据本发明构思的一些示范性实施例,当主IP在执行对于当前工作集合的操作同时开始相对于新的工作集合的操作时,SoC将MMU模块中尚未分配用于当前工作集合的MMU分配用于新的工作集合,并且独立地使用MMU,由此提高命中率。?#36865;猓琒oC的操作速度得以提高同时在工作集合之间的相互影响得以最小化或者?#26723;汀?#22240;为MMU模块被分配用于每一个工作集合,所以MMU灵活地操作。
虽然已经描述了示范性实施例,但是很明显,可以以许多方式对其进行改变。这些改变不被认为脱离示范性实施例的预期精神和范围,而且对于本领域技术人员而言显而易见的全部这些修改都旨在被包括在所附权利要求的范围内。

关于本文
本文标题:包括存储管理单元的片上系统及其存储地址转换方法.pdf
链接地址:http://www.pqiex.tw/p-6115708.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - ?#20122;?#38142;接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 福彩十一选五选号技巧 银行股票涨跌由什么决定 重庆百变王牌规则 山西11选5前三直选走势 股票涨跌与统计学 广东11选5杀号 时时彩开奖直播 悠洋棋牌手机版叫什么 彩票群合买怎么算法 江苏11选5秘籍