CN108959149A - 一种基于共享内存的多核处理器交互总线设计方法 - Google Patents
一种基于共享内存的多核处理器交互总线设计方法 Download PDFInfo
- Publication number
- CN108959149A CN108959149A CN201810683337.5A CN201810683337A CN108959149A CN 108959149 A CN108959149 A CN 108959149A CN 201810683337 A CN201810683337 A CN 201810683337A CN 108959149 A CN108959149 A CN 108959149A
- Authority
- CN
- China
- Prior art keywords
- core processor
- data
- shared drive
- interaction
- design method
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种基于共享内存的多核处理器交互总线设计方法,适用于大容量数据实时交互的多核处理器系统。初始化阶段解析多核处理器的数据交互配置,获取每个核处理器输出和输入数据配置信息。根据输出配置信息初始化共享内存,依次分配每个核处理器输出数据区的内存段。建立每个核处理器输入数据的链表,保存输入数据对应的映射内存地址。在实时中断任务中采用乒乓式循环读写缓存,读取上次中断任务的交互数据,更新本次中断任务的输出数据并写入共享内存。本方法具有系统架构简洁、数据传输可靠和数据交互低延时等特点,在嵌入式多核处理器系统有较好的应用前景。
Description
技术领域
本发明涉及一种基于共享内存的多核处理器交互总线设计方法,适用于大容量数据实时交互的多核处理器系统。
背景技术
在嵌入式系统领域,多核处理器应用已越来越广泛。多核处理器具有两个或两个以上核处理器,可以实现并行计算,控制逻辑程序可分布在不同核运行。对于多核处理器应用系统中,多核处理器之间必然要进行数据交换,系统才能协同并行工作。多核处理器间可以通过专用数据通道或共享内存实现数据交换;共享内存可以采用处理器片内内存或者片外内存(如DDR内存),只需满足多核处理器均可读写访问;通过共享内存可以实现多核处理器间数据交换和数据共享。多核处理器之间大容量数据实时交互是嵌入式系统的关键技术。常规数据总线依赖于FPGA等硬件实现的实时总线,系统架构复杂,硬件成本较高,数据传输效率低,本案由此产生。
发明内容
本发明的目的在于提供一种基于共享内存的多核交互总线设计方法,可简化系统架构,降低硬件成本,提高数据传输容量,降低数据交互延时。
为了达成上述目的,本发明的解决方案是:
一种基于共享内存的多核交互总线设计方法,包括如下步骤:
步骤1,解析多核处理器的数据交互配置,获取每个核处理器输出和输入数据配置信息;
步骤2,根据配置信息初始化共享内存,在共享内存分配每个核处理器输出数据区的内存段;建立每个核处理器输入数据的链表;
步骤3,初始化多核处理器中断配置,通过周期产生中断信号,触发每个核处理器同时进入实时中断任务;
步骤4,多核处理器中采用乒乓式循环读写缓存,读取上次中断任务的交互数据,更新本次中断任务的输出数据并写入共享内存。
上述一种基于共享内存的多核交互总线设计方法中,所述步骤1中,所述多核处理器的数据交互配置包括输出和输入两类配置。
上述一种基于共享内存的多核交互总线设计方法中,所述步骤2中,输出数据区包括n个缓存用于保存最近n个实时任务的输出数据,其中n为大于等于2;在共享内存头部保存公共信息,所述公共信息包括读写缓存序号read_no和write_no。
上述一种基于共享内存的多核交互总线设计方法中,所述步骤2具体包括,获取输入数据的映射内存地址,初始化每个核处理器输入数据的链表,保存输入数据对应的映射内存地址。
上述一种基于共享内存的多核交互总线设计方法中,所述步骤3中,中断源触发多核处理器同时进入实时中断任务。
上述一种基于共享内存的多核交互总线设计方法中,所述中断源采用定时器中断或者采用核间中断;每个核处理器的中断任务耗时必须小于中断周期。
上述一种基于共享内存的多核交互总线设计方法中,所述步骤4采用乒乓式循环读写n个缓存,每个核处理器从read_no序号的缓存读取输入数据,并将本次任务的输出数据写入write_no序号的缓存。
上述一种基于共享内存的多核交互总线设计方法中,所述步骤4中,多核处理器先读取上次中断任务的交互数据,再将本次中断任务的输出数据写入共享内存,数据交互延时固定为一个中断任务周期。
采用上述方案后,本发明与现有技术相比,具有以下有益效果:
第一,不需要FPGA等硬件实现的实时总线,通过内部中断源产生实时中断任务,在中断任务中完成交互数据读取和写入。
第二,多核处理器数据交互传输可灵活配置,传输容量仅受限于共享内存实际大小。
第三,多核处理器采用乒乓式循环读写缓存,使读写数据空间隔离,保证数据交互可靠。
第四,多核处理器数据交互延时较低,固定为一个中断任务周期。
本发明所述的共享内存总线,系统架构简单,数据链路可靠,满足多核处理器之间大容量数据实时交互的应用场景。
附图说明
图1是本发明的数据交互总线示意图
图2是数据交互配置示意图
图3是乒乓式循环读写缓存示意图
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
如图1所示,一种基于共享内存的多核交互总线方法,多核处理器在实时任务中访问共享内存完成数据交互,包括如下步骤:
步骤1,解析多核处理器的数据交互配置,获取每个核处理器输出和输入数据配置信息。如图2所示,以核1处理器为例,输出数据包括:数据a和b;输入数据包括:核2处理器的数据c和核N处理器的数据d。
步骤2,初始化每个核处理器的输出数据区,输出数据区包括n个缓存用于保存最近n个实时任务的输出数据,其中n大于等于2。在共享内存依次分配每个核处理器的内存空间,内存分配可根据交互数据配置灵活调整。在共享内存头部放置公共信息缓存,用于保存读写缓存序号read_no和write_no等公共信息。
初始化每个核处理器输入数据的映射内存地址,建立输入数据的链表,保存输入数据对应的映射内存地址。如图2所示,核1处理器输入数据链表保存数据c和数据d的内存地址。
步骤3,初始化多核处理器中断配置,通过周期产生中断信号,触发每个核处理器同时进入实时中断任务。中断源可以采用定时器中断,也可以采用核间中断。每个核处理器的中断任务耗时必须小于中断周期。
步骤4,采用乒乓式循环读写n个缓存以保证读写数据空间隔离,每个核处理器从read_no序号的缓存读取输入数据,并将本次任务的输出数据写入write_no序号的缓存,实现多核处理器的数据交互。数据交互延时固定为一个中断任务周期,即读取输入数据均为上个中断任务的输出数据。如图3所示,以核1处理器为例,当前任务从缓存1读数据其read_no序号为1,将输出数据写入缓存2其write_no序号为2;下次任务read_no和write_no序号分别为2和3,依次递增,循环范围为1~n。其他核处理器读写方式相同,通过隔离读写缓存避免多核处理器读写数据冲突。
步骤5,核1处理器负责更新共享内存公共信息的read_no和write_no,其他核处理器统一从共享内存获取,即每个核处理器的读写缓存序号保持一致。
以上仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (8)
1.一种基于共享内存的多核处理器交互总线设计方法,其特征在于:包括,
步骤1,解析多核处理器的数据交互配置,获取每个核处理器输出和输入数据配置信息;
步骤2,根据配置信息初始化共享内存,在共享内存分配每个核处理器输出数据区的内存段;建立每个核处理器输入数据的链表;
步骤3,初始化多核处理器中断配置,通过周期产生中断信号,触发每个核处理器同时进入实时中断任务;
步骤4,多核处理器中采用乒乓式循环读写缓存,读取上次中断任务的交互数据,更新本次中断任务的输出数据并写入共享内存。
2.如权利要求1所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤1中,所述多核处理器的数据交互配置包括输出和输入两类配置。
3.如权利要求1所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤2中,输出数据区包括n个缓存用于保存最近n个实时任务的输出数据,其中n为大于等于2;在共享内存头部保存公共信息,所述公共信息包括读写缓存序号read_no和write_no。
4.如权利要求1所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤2具体包括,获取输入数据的映射内存地址,初始化每个核处理器输入数据的链表,保存输入数据对应的映射内存地址。
5.如权利要求1所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤3中,中断源触发多核处理器同时进入实时中断任务。
6.如权利要求5所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤3中,所述中断源采用定时器中断或者采用核间中断;每个核处理器的中断任务耗时必须小于中断周期。
7.如权利要求3所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤4采用乒乓式循环读写n个缓存,每个核处理器从read_no序号的缓存读取输入数据,并将本次任务的输出数据写入write_no序号的缓存。
8.如权利要求6所述的一种基于共享内存的多核处理器交互总线的设计方法,其特征在于:所述步骤4中,多核处理器先读取上次中断任务的交互数据,再将本次中断任务的输出数据写入共享内存,数据交互延时固定为一个中断任务周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683337.5A CN108959149B (zh) | 2018-06-28 | 2018-06-28 | 一种基于共享内存的多核处理器交互总线设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683337.5A CN108959149B (zh) | 2018-06-28 | 2018-06-28 | 一种基于共享内存的多核处理器交互总线设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959149A true CN108959149A (zh) | 2018-12-07 |
CN108959149B CN108959149B (zh) | 2022-04-19 |
Family
ID=64487512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810683337.5A Active CN108959149B (zh) | 2018-06-28 | 2018-06-28 | 一种基于共享内存的多核处理器交互总线设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959149B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290973A (zh) * | 2020-05-11 | 2020-06-16 | 深圳市科信通信技术股份有限公司 | 数据写入方法、装置、计算机设备及存储介质 |
WO2021204147A1 (zh) * | 2020-04-10 | 2021-10-14 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN114398299A (zh) * | 2021-12-24 | 2022-04-26 | 北京四方继保工程技术有限公司 | 一种四核协同测控处理器的数据处理方法及处理器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02288927A (ja) * | 1989-01-18 | 1990-11-28 | Nec Corp | 共有メモリ管理方式 |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN101667144A (zh) * | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | 一种基于共享内存的虚拟机通信方法 |
CN101788973A (zh) * | 2010-01-12 | 2010-07-28 | 深圳市同洲电子股份有限公司 | 双处理器之间进行通信的方法 |
CN102855214A (zh) * | 2011-06-27 | 2013-01-02 | 上海华为技术有限公司 | 实现数据一致性的方法和一种多核系统 |
CN107562685A (zh) * | 2017-09-12 | 2018-01-09 | 南京国电南自电网自动化有限公司 | 一种基于延时补偿的多核处理器核心间数据交互的方法 |
-
2018
- 2018-06-28 CN CN201810683337.5A patent/CN108959149B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02288927A (ja) * | 1989-01-18 | 1990-11-28 | Nec Corp | 共有メモリ管理方式 |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN101667144A (zh) * | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | 一种基于共享内存的虚拟机通信方法 |
CN101788973A (zh) * | 2010-01-12 | 2010-07-28 | 深圳市同洲电子股份有限公司 | 双处理器之间进行通信的方法 |
CN102855214A (zh) * | 2011-06-27 | 2013-01-02 | 上海华为技术有限公司 | 实现数据一致性的方法和一种多核系统 |
CN107562685A (zh) * | 2017-09-12 | 2018-01-09 | 南京国电南自电网自动化有限公司 | 一种基于延时补偿的多核处理器核心间数据交互的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021204147A1 (zh) * | 2020-04-10 | 2021-10-14 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111290973A (zh) * | 2020-05-11 | 2020-06-16 | 深圳市科信通信技术股份有限公司 | 数据写入方法、装置、计算机设备及存储介质 |
CN114398299A (zh) * | 2021-12-24 | 2022-04-26 | 北京四方继保工程技术有限公司 | 一种四核协同测控处理器的数据处理方法及处理器 |
CN114398299B (zh) * | 2021-12-24 | 2024-05-10 | 北京四方继保工程技术有限公司 | 一种四核协同测控处理器的数据处理方法及处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN108959149B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11237728B2 (en) | Method for accessing extended memory, device, and system | |
CN107526546B (zh) | 一种Spark分布式计算数据处理方法及系统 | |
US9218222B2 (en) | Physical manager of synchronization barrier between multiple processes | |
CN105243033A (zh) | 数据处理方法及电子设备 | |
CN108733415B (zh) | 支持向量随机访存的方法及装置 | |
CN104699631A (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
CN103279428B (zh) | 一种显式的面向流应用的多核Cache一致性主动管理方法 | |
CN108959149A (zh) | 一种基于共享内存的多核处理器交互总线设计方法 | |
CN105556503B (zh) | 动态的存储器控制方法及其系统 | |
CN1890640A (zh) | 高效的系统管理同步和存储器分配 | |
US20190272099A1 (en) | Data Operating Method, Device, and System | |
TWI743627B (zh) | 存取張量資料的方法和裝置 | |
US11940915B2 (en) | Cache allocation method and device, storage medium, and electronic device | |
US11635904B2 (en) | Matrix storage method, matrix access method, apparatus and electronic device | |
CN112506823A (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
EP4209914A1 (en) | Reconfigurable cache architecture and methods for cache coherency | |
CN104808950B (zh) | 对嵌入式存储器元件的模式依赖性访问 | |
CN110059024B (zh) | 一种内存空间数据缓存方法及装置 | |
CN103064948A (zh) | 基于散列链表的内容寻址方法及相应的存储器电路 | |
CN117215491A (zh) | 一种快速数据访问方法、快速数据访问装置及光模块 | |
CN103514140A (zh) | 用于实现可重构系统中配置信息多发射的重构控制器 | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
CN115033500A (zh) | 缓存系统模拟方法、装置、设备和存储介质 | |
CN109814940A (zh) | 配置硬件加速器的方法、装置及处理器 | |
CN106874106A (zh) | 一种主存bank划分方法及装置 |
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 |