CN113778936A - 国产嵌入式dsp操作***的性能优化方法 - Google Patents

国产嵌入式dsp操作***的性能优化方法 Download PDF

Info

Publication number
CN113778936A
CN113778936A CN202110944610.7A CN202110944610A CN113778936A CN 113778936 A CN113778936 A CN 113778936A CN 202110944610 A CN202110944610 A CN 202110944610A CN 113778936 A CN113778936 A CN 113778936A
Authority
CN
China
Prior art keywords
operating system
space
core
mapping
code
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.)
Pending
Application number
CN202110944610.7A
Other languages
English (en)
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.)
CETC 32 Research Institute
Original Assignee
CETC 32 Research Institute
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 CETC 32 Research Institute filed Critical CETC 32 Research Institute
Priority to CN202110944610.7A priority Critical patent/CN113778936A/zh
Publication of CN113778936A publication Critical patent/CN113778936A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种国产嵌入式DSP操作***的性能优化方法,所述方法包括如下步骤:步骤S1:DSP芯片的多核使用同一个代码段空间;代码段空间是连续的;步骤S2:离散RAM空间到连续空间的映射;步骤S3:各核运行单独的操作***实例。通过本发明,每个DSP内核在数据处理过程中用到的指令和数据的存放位置都使用了片内的RAM资源,可显著提高运算性能,特别是在雷达信号处理、移动通信、电子对抗等即要求功能丰富、又对计算性能要求苛刻的领域具有重要的作用;在本发明中使用共享的代码段,意味着全部内核可以使用同一个工程完成应用设计,可以提高开发效率,降低开发成本。

Description

国产嵌入式DSP操作***的性能优化方法
技术领域
本发明涉及嵌入式DSP操作***的技术领域,具体地,涉及国产嵌入式DSP操作***的性能优化方法。
背景技术
相对于嵌入式CPU来说,嵌入式多核DSP芯片的操作***发展较晚,传统的DSP开发模式是裸机开发,应用程序完成的功能单一且不复杂,用户可以不使用操作***,直接访问DSP芯片的硬件资源和驱动。对于这类场景,用户可以将应用程序的代码段和数据段直接放入DSP芯片核内的高速RAM上运行,以达到快速处理数据的目的。
随着DSP芯片集成度的提高和应用复杂度的提升,传统的裸机开发模式已经无法满足需要,因为无操作***模式不能使用多任务、网络服务和文件***等,DSP芯片上使用操作***已经是大势所趋。但是操作***的使用也会带来另外一个问题,和裸机开发相比,需要的运行空间会成倍的增加,DSP芯片内核有限的RAM空间已经无法满足需要。
在公开号为CN112035346A的专利文献中公开了一种基于嵌入式DSP操作***的自动化测试方法、***及介质,包括:步骤1:启动目标机和上位机的测试软件;步骤2:获取测试用例列表;步骤3:根据测试用例列表进行测试并反馈测试结果。
现阶段,特别是军事装备领域的应用场景要求DSP芯片能够使用更加丰富的功能,同时不能牺牲快速的数据处理能力,因此研究新的性能优化方法,即能够使用丰富的操作***资源、同时可以保证应用的运行效率是国产DSP嵌入式统研发过程中亟待解决的问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种国产嵌入式DSP操作***的性能优化方法。
根据本发明提供的一种国产嵌入式DSP操作***的性能优化方法,所述方法包括如下步骤:
步骤S1:DSP芯片的多核使用同一个代码段空间;代码段空间是连续的;
步骤S2:离散RAM空间到连续空间的映射;
步骤S3:各核运行单独的操作***实例。
优选地,所有核使用共享的代码段空间,代码段在程序运行过程是只读的。
优选地,所有核的代码段是相同的,相同的部分包括操作***本身的代码段、驱动程序代码段、公用算法库,不同部分是每个内核私有的运行程序。
优选地,所述步骤S2中映射前和映射后代码段分离;映射过程是每个核都要执行的,映射前执行的代码段和映射后执行的代码段要分开放置。
优选地,在映射前执行的是寄存器和芯片的初始化工作,代码段指定在片内的共享存储空间或片外的DDR上。
优选地,所述步骤S2中使用空间映射的方法,将每个核的一小部分RAM空间提取出来,映射成一个大的连续空间用于存放代码段。
优选地,所述映射步骤如下:
步骤1:设置每个核内RAM物理地址和全部内核共享使用的逻辑地址以及代码段的总长度;
步骤2:设置映射后的访问权限包括读权限、写权限、执行权限,代码只需要读权限和执行权限。
优选地,所述步骤S3初始化过程中,设置自己的全局变量、堆栈空间,AMP架构的嵌入式DSP操作***中,每个核都有独立的空间,独立的空间使用剩余的片上RAM资源。
优选地,通过这种空间布局,应用程序的代码段、数据段、堆栈空间操作***运行过程中所需的资源放到每个内核的RAM上。
优选地,在操作***初始化完成后,通过读取核内寄存器获得当前核的核号,根据核号执行当前核应该执行的任务,无论是操作***、驱动程序共用的代码段还是每个核私有的代码段都被统一放置,对于所有核来说,空间分布是相同的。
与现有技术相比,本发明具有如下的有益效果:
1、通过本发明,每个DSP内核在数据处理过程中用到的指令和数据的存放位置都使用了片内的RAM资源,可显著提高运算性能,特别是在雷达信号处理、移动通信、电子对抗等即要求功能丰富、又对计算性能要求苛刻的领域具有重要的作用;
2、在本发明中使用共享的代码段,意味着全部内核可以使用同一个工程完成应用设计,可以提高开发效率,降低开发成本;
3、通过本发明可使基于AMP架构的国产嵌入式DSP操作***的运算性能有很大的提高;实现对AMP架构下的每个DSP内核使用统一的嵌入式操作***所需的连续代码段空间;每个DSP内核具备独立的全局数据段和运行空间;确保操作***的代码段、数据段和运行空间完全可以使用DSP芯片内部的高速RAM资源,达到快速处理数据的目的。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明多核DSP芯片(6678)存储空间结构图;
图2为本发明独立代码段和共享代码段所占空间比较图;
图3为本发明物理空间到逻辑空间的映射图;
图4为本发明核内RAM资源使用示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明涉及一种国产嵌入式DSP操作***的性能优化方法,本方法包括如下步骤:
步骤S1:多核使用同一个代码段空间,当前阶段,主流的DSP芯片基本都是AMP架构的,就是说,一个芯片由多个内核组成,各内核之间是平等的,每个内核都有自己的高速RAM资源,同时芯片内还有共享的存储空间。由于成本的限制,无论是核内的高速RAM,还是片内的存储空间,其容量都非常有限。以最常用的6678型号DSP芯片为例,每个芯片包括8个内核,每个内核512K的RAM,片内还有共享的4M存储空间,其结构如图1所示。
从处理性能的角度看,使用核内RAM时的运算性能要远远高于片内共享存储空间和片外的DDR,这是由存储器本身的物理特性决定的。在使用操作***后,由于代码段空间成倍的增加,核内的RAM空间无法满足单独运行操作***的需求。因此在本发明中所有核使用共享的代码段空间,代码段在程序运行过程是只读的,在多核共享后,运行过程中不会出现数据不一致的情况。
实际上所有核的绝大部分代码段都是相同的,这些相同的部分包括操作***本身的代码段、驱动程序代码段、公用算法库等,这些都与内核无关,不同部分是每个内核私有的运行程序,在代码段中占极少的部分,因此多核使用同一个代码段要比每个核使用独立代码段节约更多的空间资源,如图2所示;图2中左侧为每个核使用独立代码段所占的空间资源,右侧为使用同一个代码段所占的空间资源。
步骤S2:离散RAM空间到连续空间的映射,在步骤S1中使用了同一个代码段空间,该空间即包含了所用核共用的操作***、驱动代码段和公用算法库,也包括了所有核的私有程序的代码段,其空间必然大于单一内核的代码段空间,该代码段很难放在内核的RAM上,因为操作***和应用程序运行过程中,除了代码段外,还有数据段、堆栈空间等每个核的私有空间,如果放在片上的共享存储空间或片外的DDR会显著降低性能。
对于嵌入式DSP操作***来说,代码段空间通常是连续的。在本发明中使用了空间映射的方法,将每个核的一小部分RAM空间提取出来,映射成一个大的连续空间用于存放代码段,如图3所示。
以主流的8核66系列的DSP芯片为例,每个核取出1/4(128K)或1/8(64K)的RAM空间,即可映射成一个连续的1M或512K的空间,这个连续的空间对应存放共享代码段来说是绰绰有余的。
映射步骤如下:设置每个核内RAM物理地址和全部内核共享使用的逻辑地址、以及可用的代码段的总长度;设置映射后的访问权限,包括读权限、写权限、执行权限等,对于代码段来说,只需要读权限和执行权限。
步骤S3:映射前和映射后代码段分离,在步骤S2中,映射过程是每个核都要执行的,这样就存在一个问题,就是说映射前执行的代码段如何放置。因为在映射前,代码段的逻辑地址是不可用的,所以在本发明中采用的方法是映射前执行的代码段和映射后执行的代码段要分开放置。
在映射前执行的是寄存器和芯片最基本的初始化工作,这些操作仅在操作***启动的最开始阶段被执行一次,因此这部分代码段可以特别指定在片内的共享存储空间或片外的DDR上,因为仅运行一次,后面的具体数据处理过程不会用到这部分代码段,无论放在那里都不会影响后续的处理性能,而且这部分代码段很小,可以灵活地配置在不须额外映射的任何位置。
步骤S4:各核运行单独的操作***实例,本步骤衔接步骤S2,当操作***启动,执行完步骤2的映射后,会进行相应的初始化工作。初始化过程中,会设置自己的全局变量、堆栈空间等,AMP架构的嵌入式DSP操作***中,每个核都有独立的空间,为了提高处理性能,这些空间可以使用剩余的片上RAM资源,每个核上RAM资源的空间分配如图4所示。
通过这种空间布局,应用程序的代码段、数据段、堆栈空间等操作***运行过程中所需的资源都可以放到每个内核的RAM上,在数据处理过程中,无论是指令还是数据使用的存储资源都是片内的RAM,与片上的共享内存和片外DDR相比,存储性能会有很大的提高。
在操作***初始化完成后,可通过读取核内寄存器获得当前核的核号,然后根据核号执行当前核应该执行的任务,无论是操作***、驱动程序共用的代码段还是每个核私有的代码段都被统一放置,对于所有核来说,空间分布都是相同的。
通过本发明,每个DSP内核在数据处理过程中用到的指令和数据的存放位置都使用了片内的RAM资源,可显著提高运算性能,特别是在雷达信号处理、移动通信、电子对抗等即要求功能丰富、又对计算性能要求苛刻的领域具有重要的作用;在本发明中使用共享的代码段,意味着全部内核可以使用同一个工程完成应用设计,可以提高开发效率,降低开发成本。
通过本发明可使基于AMP架构的国产嵌入式DSP操作***的运算性能有很大的提高;实现对AMP架构下的每个DSP内核使用统一的嵌入式操作***所需的连续代码段空间;每个DSP内核具备独立的全局数据段和运行空间;确保操作***的代码段、数据段和运行空间完全可以使用DSP芯片内部的高速RAM资源,达到快速处理数据的目的。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种国产嵌入式DSP操作***的性能优化方法,其特征在于,所述方法包括如下步骤:
步骤S1:DSP芯片的多核使用同一个代码段空间;代码段空间是连续的;
步骤S2:离散RAM空间到连续空间的映射;
步骤S3:各核运行单独的操作***实例。
2.根据权利要求1所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,所有核使用共享的代码段空间,代码段在程序运行过程是只读的。
3.根据权利要求1所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,所有核的代码段是相同的,相同的部分包括操作***本身的代码段、驱动程序代码段、公用算法库,不同部分是每个内核私有的运行程序。
4.根据权利要求1所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,所述步骤S2中映射前和映射后代码段分离;映射过程是每个核都要执行的,映射前执行的代码段和映射后执行的代码段要分开放置。
5.根据权利要求4所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,在映射前执行的是寄存器和芯片的初始化工作,代码段指定在片内的共享存储空间或片外的DDR上。
6.根据权利要求1所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,所述步骤S2中使用空间映射的方法,将每个核的一小部分RAM空间提取出来,映射成一个大的连续空间用于存放代码段。
7.根据权利要求6所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,所述映射步骤如下:
步骤1:设置每个核内RAM物理地址和全部内核共享使用的逻辑地址以及代码段的总长度;
步骤2:设置映射后的访问权限包括读权限、写权限、执行权限,代码只需要读权限和执行权限。
8.根据权利要求1所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,所述步骤S3初始化过程中,设置自己的全局变量、堆栈空间,AMP架构的嵌入式DSP操作***中,每个核都有独立的空间,独立的空间使用剩余的片上RAM资源。
9.根据权利要求8所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,通过这种空间布局,应用程序的代码段、数据段、堆栈空间操作***运行过程中所需的资源放到每个内核的RAM上。
10.根据权利要求9所述的国产嵌入式DSP操作***的性能优化方法,其特征在于,在操作***初始化完成后,通过读取核内寄存器获得当前核的核号,根据核号执行当前核应该执行的任务,无论是操作***、驱动程序共用的代码段还是每个核私有的代码段都被统一放置,对于所有核来说,空间分布是相同的。
CN202110944610.7A 2021-08-17 2021-08-17 国产嵌入式dsp操作***的性能优化方法 Pending CN113778936A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110944610.7A CN113778936A (zh) 2021-08-17 2021-08-17 国产嵌入式dsp操作***的性能优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110944610.7A CN113778936A (zh) 2021-08-17 2021-08-17 国产嵌入式dsp操作***的性能优化方法

Publications (1)

Publication Number Publication Date
CN113778936A true CN113778936A (zh) 2021-12-10

Family

ID=78838127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110944610.7A Pending CN113778936A (zh) 2021-08-17 2021-08-17 国产嵌入式dsp操作***的性能优化方法

Country Status (1)

Country Link
CN (1) CN113778936A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880552A (zh) * 2012-07-31 2013-01-16 中国人民解放军国防科学技术大学 面向多核多线程处理器的混合地址映射方法
CA2866196A1 (en) * 2012-02-03 2013-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus suitable for use in an advanced digital baseband processor
CN105701023A (zh) * 2014-12-14 2016-06-22 上海兆芯集成电路有限公司 考虑到内存访问类型的快取内存替换策略
CN105808322A (zh) * 2016-04-01 2016-07-27 深圳市硅格半导体股份有限公司 多分区虚拟内存的映射控制方法及装置
CN105808498A (zh) * 2014-12-30 2016-07-27 展讯通信(上海)有限公司 非对称多处理器通信方法及装置
CN106919452A (zh) * 2015-12-28 2017-07-04 中兴通讯股份有限公司 多核异构***及其硬件资源的管理方法
CN109032938A (zh) * 2018-07-17 2018-12-18 中国航空无线电电子研究所 多核dsp程序开发调试方法、程序文档及加载方法
CN110569066A (zh) * 2019-07-26 2019-12-13 深圳震有科技股份有限公司 多核***共用代码段的控制方法、智能终端及存储介质
CN110910325A (zh) * 2019-11-22 2020-03-24 深圳信息职业技术学院 一种基于人工蝴蝶优化算法的医疗影像处理方法及装置
US20200327440A1 (en) * 2019-04-09 2020-10-15 Zapata Computing, Inc. Discrete Optimization Using Continuous Latent Space
WO2021022964A1 (zh) * 2019-08-02 2021-02-11 中兴通讯股份有限公司 一种基于多核***的任务处理方法、装置及计算机可读存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2866196A1 (en) * 2012-02-03 2013-08-08 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus suitable for use in an advanced digital baseband processor
CN102880552A (zh) * 2012-07-31 2013-01-16 中国人民解放军国防科学技术大学 面向多核多线程处理器的混合地址映射方法
CN105701023A (zh) * 2014-12-14 2016-06-22 上海兆芯集成电路有限公司 考虑到内存访问类型的快取内存替换策略
CN105808498A (zh) * 2014-12-30 2016-07-27 展讯通信(上海)有限公司 非对称多处理器通信方法及装置
CN106919452A (zh) * 2015-12-28 2017-07-04 中兴通讯股份有限公司 多核异构***及其硬件资源的管理方法
CN105808322A (zh) * 2016-04-01 2016-07-27 深圳市硅格半导体股份有限公司 多分区虚拟内存的映射控制方法及装置
CN109032938A (zh) * 2018-07-17 2018-12-18 中国航空无线电电子研究所 多核dsp程序开发调试方法、程序文档及加载方法
US20200327440A1 (en) * 2019-04-09 2020-10-15 Zapata Computing, Inc. Discrete Optimization Using Continuous Latent Space
CN110569066A (zh) * 2019-07-26 2019-12-13 深圳震有科技股份有限公司 多核***共用代码段的控制方法、智能终端及存储介质
WO2021022964A1 (zh) * 2019-08-02 2021-02-11 中兴通讯股份有限公司 一种基于多核***的任务处理方法、装置及计算机可读存储介质
CN110910325A (zh) * 2019-11-22 2020-03-24 深圳信息职业技术学院 一种基于人工蝴蝶优化算法的医疗影像处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙晨: "基于AMP架构的多核通信***研究", 《中国优秀硕士论文全文数据库》 *
郭海林、陈香兰: "一种支持多级存储架构的嵌入式多核操作***模型", 《计算机***应用》 *

Similar Documents

Publication Publication Date Title
CN107015845B (zh) Gpu虚拟化
US9244883B2 (en) Reconfigurable processor and method of reconfiguring the same
US9698790B2 (en) Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces
CN107341115B (zh) 虚拟机内存访问方法、***和电子设备
JP2000516418A (ja) 再構成可能な演算システム
CN112074820B (zh) 用于多内核***的存储器池分配
EP3846036B1 (en) Matrix storage method, matrix access method, apparatus and electronic device
CN111666210A (zh) 一种芯片验证方法及装置
EP1760580A1 (en) Processing operation information transfer control system and method
US7647482B2 (en) Methods and apparatus for dynamic register scratching
CN113157334B (zh) Fpga多版本程序加载方法
CN112631955B (zh) 数据处理方法、装置、电子设备以及介质
US20140025870A1 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN112948136A (zh) 一种嵌入式操作***异步日志记录的实现方法
CN117215491A (zh) 一种快速数据访问方法、快速数据访问装置及光模块
CN113778936A (zh) 国产嵌入式dsp操作***的性能优化方法
CN114327769B (zh) 一种操作***事件记录方法、装置及计算机***
US20130166887A1 (en) Data processing apparatus and data processing method
CN114924803A (zh) 加载启动方法、芯片、电子装置和存储介质
CN110083469B (zh) 一种异构硬件组织运行统一内核方法及***
US11640321B2 (en) Method and apparatus for memory allocation in a multi-core processor system, and recording medium therefor
US10747644B2 (en) Method of executing instructions of core, method of debugging core system, and core system
CN113220368A (zh) 一种存储客户端资源隔离方法、***、终端及存储介质
CN111767999A (zh) 数据处理方法、装置及相关产品
CN113469282B (zh) 一种特征比对方法、装置及***

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20211210