CN112506851B - 一种解决多核访问冲突的soc芯片架构构建方法 - Google Patents
一种解决多核访问冲突的soc芯片架构构建方法 Download PDFInfo
- Publication number
- CN112506851B CN112506851B CN202011391017.6A CN202011391017A CN112506851B CN 112506851 B CN112506851 B CN 112506851B CN 202011391017 A CN202011391017 A CN 202011391017A CN 112506851 B CN112506851 B CN 112506851B
- Authority
- CN
- China
- Prior art keywords
- access
- core
- chip
- cpu
- speed
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Microcomputers (AREA)
Abstract
本发明提供一种解决多核访问冲突的SOC芯片架构构建方法,包括以下步骤:S1:根据访问时效性、访问频率、主从关系和核间通信,将CPU访问的IP分类出不同的IP组;S2:针对不同IP组,分别提供数据互联方案。本发明通过分类CPU访问的不同IP类型,结合应用将这些IP做一些归类形成不同的组,经过了组的分类之后,针对不同的组提供不同的互联方案,解决了多核CPU同时工作时造成的访问冲突,影响SoC芯片整体的工作性能。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种解决多核访问冲突的SOC芯片架构构建方法。
背景技术
在当今日益复杂的互连世界里,现有应用、不断发展的应用以及新兴应用都将为片上系统(SoC)的性能要求造成影响。为满足性能与成本目标要求,功能不断演进,这为设计人员深入探索他们正在思索的多核解决方案架构基础创造了契机。在集成电路工艺水平和上市时间(TTM)的双重驱动下,基于IP核复用的片上系统(System-on-Chip)设计方法学登上历史舞台,而且一块芯片上集成的IP核数目也在成倍的增加。而集成IP核数目的增加也必然会带来一个关键问题,那就是如何让如此多的IP核在保证不牺牲系统性能的情况下能够正确无误的进行数据通信。
公开日为2016年01月20日,公开号为CN105260164A的中国专利公开了一种支持多任务并行的多核SoC架构设计方法,该方法主要包括:搭建MicroBlaze双核模块和ARM双核模块,并基于此设计基于多核多线程的多任务并行执行模块,同时基于FPGA设计硬件加速模块。本发明通过FPGA同时采集外部多路数据,然后将多路数据传输到不同核上并行执行,其中设计FPGA通过User-IP与MicroBlaze双核交互、FPGA通过User-IP和Linux驱动模块与ARM双核交互、MicroBlaze双核之间通过MailBox交互、ARM双核之间通过Cache交互、MicroBlaze双核与ARM双核之间通过OCM交互。
目前市场上的很多SoC均采用多核处理器,用来提升芯片性能。但其在多核并行处理的过程中会有所冲突,存在一些应用场景,一个CPU频繁访问一些IP,而这些IP都位于不同的总线,占领了某条访问通路时,即其中一个核在工作时,其它核处于等待状态,严重影响了CPU执行任务的效率。这种冲突使得多核芯片在显示出了占用了芯片面积后,却没有提高性能的缺陷。大容量高速存储通常是单独的芯片,SoC片内CPU访问片外存储芯片时因为经过IO和互连线,存在较大的延迟,影响代码读写速度。大规模SoC芯片中考虑布局和验证等因素,通常会划分子系统,子系统既作为主机又作为从机,在芯片中与CPU和其他IP的通信是需要详细考虑和规划的,除此之外,多个CPU之间的访问通路也是多核访问冲突的一个重要问题。
发明内容
发明提供一种解决多核访问冲突的SOC芯片架构构建方法,解决了多核CPU同时工作时造成的访问冲突,影响SoC芯片整体的工作性能的问题。
为解决上述技术问题,本发明的技术方案如下:
一种解决多核访问冲突的SOC芯片架构构建方法,包括以下步骤:
S1:根据访问时效性、访问频率、主从关系和核间通信,将CPU访问的IP分类出不同的IP组;
S2:针对不同IP组,分别提供数据互联方案。
优选地,步骤S1中所述将CPU访问的IP分类出不同的IP组,具体为:
将CPU访问的IP分类成4个IP组,分别为片外高速访问组、低速高频率访问组、片内子系统访问组和核间通信组。
优选地,所述片外高速访问组针对SoC外部存储IP设置。
优选地,步骤S2中针对片外高速访问组,提供的数据互联方案为:
采用3个CPU,每个CPU都各自独自使用一条高速总线与CPU的总线接口相接,总线的从机端接到片外存储控制器,片外存储控制器再通过IO互联至高速大容量RAM芯片,每个CPU还连接到单独的Cache模块,当配置Cache开启的时候,CPU获取的数据来自Cache模块。
优选地,所述低速高频率访问组为SoC芯片具体应用时需要用到的低速总线配置IP中根据使用频率挑选出高频使用的。
优选地,步骤S2中针对低速高频率访问组,提供的数据互联方案为:
将低速高频率访问组中的IP分别放置到三条低速总线上,再通过三条独立的高速总线分别连接3个CPU,每个CPU的总线接口分别连接到所述高速总线上,所述三条高速总线通过总线桥bridge互联,对于高频访问IP,三个CPU能独自访问。
优选地,所述片内子系统访问组为片内子系统内的IP,所述片内子系统即作为总线的从机需要被其他主机访问,又作为主机需要访问总线上的其他从机IP。
优选地,步骤S2中针对片内子系统访问组,提供的数据互联方案为:
3个CPU除了通过系统总线访问片内子系统,另外还分别连接一条单独的访问总线,经过了多选一后连接子系统,实现CPU到片内子系统的访问通路,同时片内子系统作为主机连接到系统总线上,访问片内子系统外部的从机IP。
优选地,所述核间通信组为不同CPU之间的通信,采用mailbox实现核间通信,每个CPU对应连接一个mailbox,其他CPU将需要传递的信息通过mailbox发送给特定的CPU。
优选地,针对不同工作场景,CPU需要在无核、单核和多核三种工作模式下切换工作场景,默认在单核工作模式,当系统需要高性能模式切换时,主CPU配置其他CPU的启动地址和启动bit位,此时其他CPU会从启动地址取值开始执行代码,同时主CPU可以在此模式下关闭CPU的工作状态,切换为单核工作;单核模式下通过配置时钟模块关闭时钟达到无核工作低功耗状态,并通过中断信号重新恢复。
与现有技术相比,本发明技术方案的有益效果是:
本发明通过分类CPU访问的不同IP类型,结合应用将这些IP做一些归类形成不同的组,经过了组的分类之后,针对不同的组提供不同的互联方案,解决了多核CPU同时工作时造成的访问冲突,影响SoC芯片整体的工作性能。
附图说明
图1为本发明的方法流程示意图。
图2为CPU访问IP分类结构框图。
图3为多核片外高速访问组互联框图。
图4为低速高频率访问组与多核CPU互联访问框图。
图5为多核CPU访问片内子系统组互联结构图。
图6为CPU核间通信访问结构图。
图7为多核工作模式切换状态图
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提供一种解决多核访问冲突的SOC芯片架构构建方法,如图1所示,包括以下步骤:
S1:根据访问时效性、访问频率、主从关系和核间通信,将CPU访问的IP分类出不同的IP组;
S2:针对不同IP组,分别提供数据互联方案。
步骤S1中所述将CPU访问的IP分类出不同的IP组,如图2,具体为:
将CPU访问的IP分类成4个IP组,分别为片外高速访问组、低速高频率访问组、片内子系统访问组和核间通信组。
所述片外高速访问组针对SoC外部存储IP设置。
步骤S2中针对片外高速访问组,提供的数据互联方案为:
如图3,采用3个CPU,每个CPU都各自独自使用一条高速总线与CPU的总线接口相接,总线的从机端接到片外存储控制器,片外存储控制器再通过IO互联至高速大容量RAM芯片,每个CPU还连接到单独的Cache模块,当配置Cache开启的时候,CPU获取的数据来自Cache模块,针对片外存储的时效性,多个CPU各自直连一条高速总线到片外存储控制器,实现各自单独通道访问外部存储。
所述低速高频率访问组为SoC芯片具体应用时需要用到的低速总线配置IP中根据使用频率挑选出高频使用的。
步骤S2中针对低速高频率访问组,提供的数据互联方案为:
如图4,将低速高频率访问组中的IP分别放置到三条低速总线上,再通过三条独立的高速总线分别连接3个CPU,每个CPU的总线接口分别连接到所述高速总线上,所述三条高速总线通过总线桥bridge互联,对于高频访问IP,三个CPU能独自访问,分类使用频率较高的低速配置IP,平均分配到多条低速总线上,多个CPU可通过各自连接的高速总线访问,并且这些高速总线之间由总线桥互联,实现CPU到所有IP的访问。
所述片内子系统访问组为片内子系统内的IP,所述片内子系统即作为总线的从机需要被其他主机访问,又作为主机需要访问总线上的其他从机IP。
步骤S2中针对片内子系统访问组,提供的数据互联方案为:
如图5,3个CPU除了通过系统总线访问片内子系统,另外还分别连接一条单独的访问总线,经过了多选一后连接子系统,实现CPU到片内子系统的访问通路,同时片内子系统作为主机连接到系统总线上,访问片内子系统外部的从机IP,针对即是主机又是从机的子系统IP,CPU挂载两条通路到子系统,一条是通过系统总线访问,另一条通过与其他CPU的多选一进行访问,另外子系统作为主机也通过系统总线访问其他从IP,解决CPU访问子系统和子系统访问总线冲突问题。
如图6,所述核间通信组为不同CPU之间的通信,采用mailbox实现核间通信,每个CPU对应连接一个mailbox,其他CPU将需要传递的信息通过mailbox发送给特定的CPU。
如图7,针对不同工作场景,CPU需要在无核、单核和多核三种工作模式下切换工作场景,默认在单核工作模式,当系统需要高性能模式切换时,主CPU配置其他CPU的启动地址和启动bit位,此时其他CPU会从启动地址取值开始执行代码,同时主CPU可以在此模式下关闭CPU的工作状态,切换为单核工作;单核模式下通过配置时钟模块关闭时钟达到无核工作低功耗状态,并通过中断信号重新恢复。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.一种解决多核访问冲突的SOC芯片架构构建方法,其特征在于,包括以下步骤:
S1:根据访问时效性、访问频率、主从关系和核间通信,将CPU访问的IP分类出不同的IP组;
S2:针对不同IP组,分别提供数据互联方案;
步骤S1中所述将CPU访问的IP分类出不同的IP组,具体为:
将CPU访问的IP分类成4个IP组,分别为片外高速访问组、低速高频率访问组、片内子系统访问组和核间通信组;
步骤S2中针对片外高速访问组,提供的数据互联方案为:
采用3个CPU,每个CPU都各自独自使用一条高速总线与CPU的总线接口相接,总线的从机端接到片外存储控制器,片外存储控制器再通过IO互联至高速大容量RAM芯片,每个CPU还连接到单独的Cache模块,当配置Cache开启的时候,CPU获取的数据来自Cache模块。
2.根据权利要求1所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,所述片外高速访问组针对SoC外部存储IP设置。
3.根据权利要求1所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,所述低速高频率访问组为SoC芯片具体应用时需要用到的低速总线配置IP中根据使用频率挑选出高频使用的。
4.根据权利要求3所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,步骤S2中针对低速高频率访问组,提供的数据互联方案为:
将低速高频率访问组中的IP分别放置到三条低速总线上,再通过三条独立的高速总线分别连接3个CPU,每个CPU的总线接口分别连接到所述高速总线上,所述三条高速总线通过总线桥bridge互联,对于高频访问IP,三个CPU能独自访问。
5.根据权利要求1所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,所述片内子系统访问组为片内子系统内的IP,所述片内子系统既作为总线的从机需要被其他主机访问,又作为主机需要访问总线上的其他从机IP。
6.根据权利要求5所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,步骤S2中针对片内子系统访问组,提供的数据互联方案为:
3个CPU除了通过系统总线访问片内子系统,另外还分别连接一条单独的访问总线,经过了多选一后连接子系统,实现CPU到片内子系统的访问通路,同时片内子系统作为主机连接到系统总线上,访问片内子系统外部的从机IP。
7.根据权利要求1所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,所述核间通信组为不同CPU之间的通信,采用mailbox实现核间通信,每个CPU对应连接一个mailbox,其他CPU将需要传递的信息通过mailbox发送给特定的CPU。
8.根据权利要求7所述的解决多核访问冲突的SOC芯片架构构建方法,其特征在于,针对不同工作场景,CPU需要在无核、单核和多核三种工作模式下切换工作场景,默认在单核工作模式,当系统需要高性能模式切换时,主CPU配置其他CPU的启动地址和启动bit位,此时其他CPU会从启动地址取值开始执行代码,同时主CPU可以在此模式下关闭CPU的工作状态,切换为单核工作;单核模式下通过配置时钟模块关闭时钟达到无核工作低功耗状态,并通过中断信号重新恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011391017.6A CN112506851B (zh) | 2020-12-02 | 2020-12-02 | 一种解决多核访问冲突的soc芯片架构构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011391017.6A CN112506851B (zh) | 2020-12-02 | 2020-12-02 | 一种解决多核访问冲突的soc芯片架构构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506851A CN112506851A (zh) | 2021-03-16 |
CN112506851B true CN112506851B (zh) | 2022-02-11 |
Family
ID=74968456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011391017.6A Active CN112506851B (zh) | 2020-12-02 | 2020-12-02 | 一种解决多核访问冲突的soc芯片架构构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506851B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115913817B (zh) * | 2023-01-28 | 2023-05-26 | 南京芯驰半导体科技有限公司 | 多通路虚拟化总线系统、控制方法、芯片及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260164A (zh) * | 2015-09-25 | 2016-01-20 | 北京航空航天大学 | 一种支持多任务并行的多核SoC架构设计方法 |
CN108304343A (zh) * | 2018-02-08 | 2018-07-20 | 深圳市德赛微电子技术有限公司 | 一种复杂soc的片上通信方法 |
CN110046050A (zh) * | 2018-01-16 | 2019-07-23 | 华为技术有限公司 | 一种核间数据传输的装置和方法 |
CN110347635A (zh) * | 2019-06-28 | 2019-10-18 | 西安理工大学 | 一种基于多层总线的异构多核微处理器 |
CN111506540A (zh) * | 2020-04-24 | 2020-08-07 | 中国电子科技集团公司第五十八研究所 | 一种硬件可编程异构多核片上系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6396715B2 (ja) * | 2014-08-07 | 2018-09-26 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US9396070B2 (en) * | 2014-09-11 | 2016-07-19 | Qualcomm Incorporated | System and method for system-on-a-chip subsystem external access detection and recovery |
-
2020
- 2020-12-02 CN CN202011391017.6A patent/CN112506851B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260164A (zh) * | 2015-09-25 | 2016-01-20 | 北京航空航天大学 | 一种支持多任务并行的多核SoC架构设计方法 |
CN110046050A (zh) * | 2018-01-16 | 2019-07-23 | 华为技术有限公司 | 一种核间数据传输的装置和方法 |
CN108304343A (zh) * | 2018-02-08 | 2018-07-20 | 深圳市德赛微电子技术有限公司 | 一种复杂soc的片上通信方法 |
CN110347635A (zh) * | 2019-06-28 | 2019-10-18 | 西安理工大学 | 一种基于多层总线的异构多核微处理器 |
CN111506540A (zh) * | 2020-04-24 | 2020-08-07 | 中国电子科技集团公司第五十八研究所 | 一种硬件可编程异构多核片上系统 |
Non-Patent Citations (3)
Title |
---|
一种异构多核处理器嵌入式实时操作系统构架设计;蒋建春等;《计算机科学》;20110630(第06期);298-303 * |
多处理器通信机制设计;宋秀兰等;《浙江工业大学学报》;20100731(第04期);426-429 * |
多核异构系统核间通信概要设计;周强;《中国集成电路》;20200131;59-64 * |
Also Published As
Publication number | Publication date |
---|---|
CN112506851A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6272584B1 (en) | System board with consolidated EEPROM module | |
US7353315B2 (en) | Bus controller with virtual bridge | |
US20040078716A1 (en) | Extended host controller test mode support | |
CN113489594B (zh) | 基于fpga模块的pcie实时网卡 | |
CN118114615B (zh) | 一种控制与计算分离的系统芯片结构 | |
CN112506851B (zh) | 一种解决多核访问冲突的soc芯片架构构建方法 | |
CN113626353A (zh) | 处理加速器架构 | |
CN114281751B (zh) | 芯片系统 | |
CN117149674A (zh) | 一种用于嵌入式实时场景的多主机PCIe互联结构 | |
CN112069121A (zh) | 一种MCU控制GPU服务器Switch板系统及控制方法 | |
CN113392052B (zh) | 一种基于四路服务器的bios系统、方法及计算机可读存储介质 | |
CN113485960B (zh) | 一种基于ft-2000-4的通用平台及计算机 | |
CN213276462U (zh) | 双路服务器主板及双路服务器 | |
CN111666104B (zh) | 一种支持从RapidI/O启动的DSP处理器设计方法 | |
CN113886104A (zh) | 多核芯片及其通信方法 | |
CN115905072A (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 | |
CN221650930U (zh) | 基于龙芯3a6000处理器的主板、计算机 | |
CN101727426B (zh) | 基于高速串行总线的计算机系统 | |
CN118210750B (zh) | 一种基于通信性能优化的多总线互联架构 | |
CN221709835U (zh) | 一种基于异构架构的机载网络传输单元 | |
CN117407347B (zh) | 一种PCIe转接芯片及其控制方法与电子设备 | |
CN221827321U (zh) | 一种基于国产处理器的6u vpx万兆网络处理卡 | |
CN216930052U (zh) | 一种数据交换系统及内置该系统的交换机 | |
CN102819509B (zh) | SimpCon/AHB总线接口及Java处理器系统 | |
US20230222079A1 (en) | Optical bridge interconnect unit for adjacent processors |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |