CN108959149A - 一种基于共享内存的多核处理器交互总线设计方法 - Google Patents

一种基于共享内存的多核处理器交互总线设计方法 Download PDF

Info

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
Application number
CN201810683337.5A
Other languages
English (en)
Other versions
CN108959149B (zh
Inventor
周谷庆
文继峰
周强
刘伟
侯先栋
王浩
赵天恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201810683337.5A priority Critical patent/CN108959149B/zh
Publication of CN108959149A publication Critical patent/CN108959149A/zh
Application granted granted Critical
Publication of CN108959149B publication Critical patent/CN108959149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; 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中,多核处理器先读取上次中断任务的交互数据,再将本次中断任务的输出数据写入共享内存,数据交互延时固定为一个中断任务周期。
CN201810683337.5A 2018-06-28 2018-06-28 一种基于共享内存的多核处理器交互总线设计方法 Active CN108959149B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 南京国电南自电网自动化有限公司 一种基于延时补偿的多核处理器核心间数据交互的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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