用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法技术方案

技术编号:15356383 阅读:52 留言:0更新日期:2017-05-17 20:14
本发明专利技术涉及用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法。提供了根据用于信号流编程的数字信号处理器代码的高效资源管理的系统的实施例的方法,该方法包括确定用于电子电路的信号流的示意图中的多个算法元件的连接序列,该连接序列指示算法元件之间的连接和根据这些连接来处理算法元件的序列,该方法还包括确定指示使用多个存储器缓冲器来根据连接序列处理多个算法元件的顺序的缓冲器序列,并且根据缓冲器序列重用多个存储器缓冲器中的至少一些。

System and method for efficient resource management of digital signal processor code for signal flow programming

The present invention relates to a system and method for efficient resource management of digital signal processor code for signal flow programming. According to the method of the embodiment of the system provides efficient resource management for signal flow programming code of the digital signal processor, the method includes determining a sequence of multiple algorithms for connecting components in the diagram of electronic circuit signal flow, the connection between the elements of the sequence indicates the algorithm according to the sequence of connection and connection processing the algorithm components, the method also includes determining instructions using a plurality of memory buffer to buffer according to the sequence of connected sequence processing multiple element sequence algorithm, and according to the sequence of a plurality of memory buffer buffer reuse at least some of the.

【技术实现步骤摘要】
用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法
本公开概括而言涉及数字处理系统的领域,更具体而言涉及用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法。
技术介绍
信号处理涉及对时变或空间变化信号(例如,声音、图像和传感器数据,例如诸如心电图之类的生物数据、控制系统信号、电信传送信号,等等)的操作或对这些信号的测量的分析。具体地,数字信号处理涉及通过通用计算机或通过诸如专用集成电路(ASIC)、现场可编程门阵列或专门的数字信号处理器(DSP)之类的数字电路来处理数字化的离散时间采样信号。在处理期间可在数字化的离散时间采样信号上实现算术(例如,定点和浮点、实值和复值、乘法和加法)和信号处理算法(例如,快速傅立叶变换(FFT)、有限冲击响应(FIR)滤波器、无限冲击响应(IIR)滤波器,等等)。存在各种工具——例如图形编程工具——来促进对信号的适当处理。附图说明为了提供对本公开及其特征和优点的更完整理解,参考以下结合附图的描述,附图中相似的标号表示相似的部件,其中:图1是示出用于信号流编程的数字信号处理器代码的高效资源管理的系统的示例性实施例的简化框图;图2是示出可与系统的实施例相关联的示例性细节的简化框图;图3是示出与系统的实施例相关联的其他示例性细节的简化图;图4A–4B是示出与系统的实施例相关联的其他示例性细节的简化图;图5是示出可与系统的实施例相关联的示例性操作的简化流程图;图6是示出可与系统的实施例相关联的另外的示例性操作的简化流程图;图7是示出根据实施例的系统的示例性细节的简化框图;图8是示出根据实施例的系统的示例性细节的简化图;图9是示出可与系统的实施例相关联的示例性操作的简化流程图;并且图10是示出根据实施例的系统的示例性细节的简化框图;图11是示出系统的实施例的示例性细节的简化框图;图12是示出实施例的另外的示例性细节的简化图;图13是示出可与系统的实施例相关联的示例性操作的简化流程图。具体实施方式概要提供了根据用于信号流编程的数字信号处理器代码的高效资源管理的系统的实施例的方法,该方法包括确定用于电子电路的信号流的示意图中的多个算法元件的连接序列,该连接序列指示算法元件之间的连接和根据这些连接来处理算法元件的序列,该方法还包括确定指示使用多个存储器缓冲器来根据连接序列处理多个算法元件的顺序的缓冲器序列,并且根据缓冲器序列重用多个存储器缓冲器中的至少一些。在特定实施例中,确定缓冲器序列包括按顺序对连接、算法元件和存储器缓冲器编号。对于每个连接,可识别在任何其他算法元件之前在该连接上生成输出的第一算法元件。还可识别在所有其他算法元件之后在该连接上接收输出作为输入的第二算法元件。可按分配顺序布置所有连接的第一算法元件,该分配顺序包括第一算法元件号码的升序。可根据该分配顺序生成每个连接的缓冲器索引,连接的缓冲器索引与重用连接的另一缓冲器索引相同。重用连接的第二算法元件可与连接的第一算法元件相同。缓冲器序列可包括根据分配顺序布置的所有连接的缓冲器索引。在各种实施例中,确定缓冲器序列可包括构造存储器寿命矩阵(MLM),其中包括关于算法元件和连接序列的信息。在特定实施例中,MLM可包括表示N个算法元件的N行和表示算法元件之间的M个连接的M列。该方法在各种实施例中可包括其他特征。示例性实施例转到图1,图1是示出系统10的简化框图。系统10包括图形模拟器12,该图形模拟器12可用于设计信号流并将其编程到诸如数字信号处理器(DSP)之类的电子电路上。用于电子电路的信号流的示例性示意图(例如图形表示)13(一般由箭头指示)被显示在图形模拟器12上。示意图13包括一个或多个算法元件(AE)14(1)–14(7)(例如,AE14(1)(S),AE14(2)(S2)…AE14(7)(S7))。这里使用的术语“算法元件(algorithmelement)”包括用于电子电路的信号流的示意图中的组件。组件根据预定的算法处理一个或多个输入信号以提供一个或多个输出信号。每个AE14(1)–14(7)可表示被配置为执行(例如处理、实现等等)特定算法的功能电子组件(例如音频输入、滤波器、动态处理器、频率调制器、振荡器等等)的模拟(例如,匹配;拷贝动作、功能等等;模仿;摹拟;再现;等等)。用户(例如DSP编程者、电路设计者等等)可例如通过利用可用AE和其他图形工件构建示意图13来在图形模拟器12上手动生成示意图13。用户可将AE14(1)–14(7)与图形模拟器12中预配置的SPA相关联,或者根据需要生成定制的SPA。AE14(1)–14(7)可通过连接16(1)–16(6)与彼此连接以实现特定的信号处理算法(SPA)。连接16(1)–16(6)可指示到每个AE14(1)–14(7)的输入和从每个AE14(1)–14(7)的输出。连接16(1)–16(6)可表示仿真通过示意图13的信号流的连接序列(CS)。这里使用的术语“连接序列”包括根据示意图中的AE的相应连接来处理这些AE的序列(例如,顺序、进展、串、演变,等等)。在示例性示意图中,AE14(1)接收输入信号,对其进行处理,并在连接16(1)上提供输出信号。连接16(1)上的来自AE14(1)的输出信号可被输入到AE14(2)和14(6)。当连接被多于一个AE使用时,连接上的信号的值在这些AE各自的处理期间可被这些AE所共享。AE14(2)和14(6)因此直到AE14(1)已被处理为止不能被处理。连接16(2)上的来自AE14(2)的输出信号可被输入到AE14(3)和14(4)。AE14(3)直到AE14(4)和14(5)已被处理为止不能被处理,因为来自AE14(5)的输出被输入到AE14(3)。连接16(3)上的来自AE14(4)的输出信号可被输入到AE14(5)。连接16(4)上的来自AE14(5)的输出信号可被输入到AE14(3)。AE14(3)可在连接16(5)上生成输出信号,该输出信号可被输入到AE14(6)。连接16(6)上的来自AE14(6)的输出信号可被输入到AE14(7),AE14(7)可生成输出。图形模拟器12可与存储器寿命矩阵(MLM)模块20通信。MLM模块20可与存储器元件22交互,存储器元件22可包括一个或多个存储器缓冲器24(例如缓冲器24(1)–24(4))。存储器缓冲器24(1)–24(4)可用于在AE14(1)–14(7)的处理期间存储连接16(1)–16(6)上的信号的值。“使用”存储器缓冲器可包括从缓冲器读取,和/或向缓冲器写入。MLM模块20还可酌情与处理器26交互。在各种实施例中,MLM模块20可促进以存储器高效的方式在图形模拟器12上模拟示意图(例如示意图13)。MLM模块20可(从图形模拟器12)接收关于连接16(1)–16(6)和相应的AE14(1)–14(7)的信息。AE14(1)–14(7)的特定CS和存储器要求可被MLM模块20用来生成最佳存储器分配方案,其方式例如是通过在不影响图形模拟器12中表示的信号流的功能的情况下对AE14(1)–14(7)和连接16(1)–16(6)重用存储器缓冲器24(1)–24(4)。MLM模块20可适当地使用缓冲器24(1)–24(4)来减少在A本文档来自技高网...
用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法

【技术保护点】
一种用于资源管理的方法,包括:确定用于电子电路的信号流的示意图中的多个算法元件的连接序列,其中所述连接序列指示所述算法元件之间的连接和根据所述连接来处理所述算法元件的序列;确定缓冲器序列,该缓冲器序列指示使用多个存储器缓冲器来根据所述连接序列处理所述多个算法元件的顺序;以及根据所述缓冲器序列重用所述多个存储器缓冲器中的至少一些;其中确定所述缓冲器序列包括:构造包括N行和M列的第一存储器寿命矩阵MLM,其中N是使用所述存储器缓冲器的算法元件的数目,并且M是所述连接的数目;在所述N行中按升序布置N个算法元件,并且在所述M列中按升序布置M个连接;对于所述第一MLM中的每个单元,如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上生成输出,则标记第一符号,并且如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上接收输入,则标记第二符号;以及通过重布置所述第一MLM中的行以使得在任何给定列中所述第一符号出现在所述第二符号之前,来生成第二MLM。

【技术特征摘要】
2012.11.30 US 13/691,6701.一种用于资源管理的方法,包括:确定用于电子电路的信号流的示意图中的多个算法元件的连接序列,其中所述连接序列指示所述算法元件之间的连接和根据所述连接来处理所述算法元件的序列;确定缓冲器序列,该缓冲器序列指示使用多个存储器缓冲器来根据所述连接序列处理所述多个算法元件的顺序;以及根据所述缓冲器序列重用所述多个存储器缓冲器中的至少一些;其中确定所述缓冲器序列包括:构造包括N行和M列的第一存储器寿命矩阵MLM,其中N是使用所述存储器缓冲器的算法元件的数目,并且M是所述连接的数目;在所述N行中按升序布置N个算法元件,并且在所述M列中按升序布置M个连接;对于所述第一MLM中的每个单元,如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上生成输出,则标记第一符号,并且如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上接收输入,则标记第二符号;以及通过重布置所述第一MLM中的行以使得在任何给定列中所述第一符号出现在所述第二符号之前,来生成第二MLM。2.如权利要求1所述的方法,其中对于每个算法元件,在该算法元件处接收至少一个输入并且由该算法元件生成至少一个输出,其中该至少一个输出可以是去到至少一个其他算法元件的另一输入,其中一个连接提供去到该算法元件的输入,并且另一连接接受来自该算法元件的输出并将该输出作为该另一输入提供给该至少一个其他算法元件,并且其中每个连接与所述存储器缓冲器之一相关联,其中该另一连接上的输出被写入到存储器缓冲器,并且被该至少一个其他算法元件读取作为该另一输入。3.如权利要求2所述的方法,其中所述缓冲器序列包括根据来自所述算法元件的输出中的每一个被写入到每个存储器缓冲器的序列布置的所述存储器缓冲器的编号列表,其中所述缓冲器序列中的重复的存储器缓冲器号码指示相应存储器缓冲器的缓冲器重用。4.如权利要求1所述的方法,其中确定所述缓冲器序列包括:按顺序对所述连接、所述算法元件和所述存储器缓冲器编号;对于每个连接,识别在任何其他算法元件之前在该连接上生成输出的第一算法元件,并且识别在所有其他算法元件之后在该连接上接收该输出作为输入的第二算法元件;按分配顺序布置所有连接的第一算法元件,其中所述分配顺序包括第一算法元件号码的升序;根据所述分配顺序生成每个连接的缓冲器索引,其中该连接的缓冲器索引与重用连接的另一缓冲器索引相同,其中该重用连接的第二算法元件与该连接的第一算法元件相同,并且其中所述缓冲器序列包括根据所述分配顺序布置的所有连接的缓冲器索引。5.如权利要求1所述的方法,其中每一行是根据相应算法元件的号码来命名的,并且每一列是根据相应连接的号码来命名的。6.如权利要求5所述的方法,还包括:生成第一分配列表,该第一分配列表包括一行和与所述MLM的M列相对应的M列,其中所述分配列表中的每个单元包括具有所述第一符号的所述第二MLM的列所对应的行号;通过根据分配顺序重布置所述第一分配列表的M列来生成第二分配列表,所述分配顺序包括所述第一分配列表中的行号的升序;生成第一空闲列表,该第一空闲列表包括一行和与所述MLM的M列相对应的M列,其中所述空闲列表中的每个单元包括具有所述第二符号的所述第二MLM的列所对应的最高行号;以及通过根据所述分配顺序重布置所述第一空闲列表的M列来生成第二空闲列表。7.如权利要求6所述的方法,还包括:对于所述第二分配列表中的每个条目,确定在所述第二空闲列表中是否找到该条目;识别与所述第二空闲列表中的该条目相对应的连接号码;释放与所识别的连接相对应的存储器缓冲器;以及将所释放的存储器缓冲器中的至少一个分配给与所述第二分配列表中的该条目相对应的另一连接。8.如权利要求1所述的方法,其中确定所述连接序列包括:识别向一些算法元件提供输入的连接;识别从一些其他算法元件接受输出的连接;以及确定在这些算法元件处接收输入和生成输出的顺序。9.如权利要求1所述的方法,其中所述示意图是在计算设备上利用图形仿真器生成的。10.如权利要求1所述的方法,其中每个算法元件表示对电子电路的功能组件的模拟,该功能组件被配置为根据预定算法处理一个或多个输入以生成一个或多个输出。11.一种用于资源管理的装置,包括:用于确定用于电子电路的信号流的示意图中的多个算法元件的连接序列的部件,其中所述连接序列指示所述算法元件之间的连接和根据所述连接来处理所述算法元件的序列;用于确定缓冲器序列的部件,该缓冲器序列指示使用多个存储器缓冲器来根据所述连接序列处理所述多个算法元件的顺序;以及用于根据所述缓冲器序列重用所述多个存储器缓冲器中的至少一些的部件;其中用于确定所述缓冲器序列的部件包括:用于构造包括N行和M列的第一存储器寿命矩阵MLM的部件,其中N是使用所述存储器缓冲器的算法元件的数目,并且M是所述连接的数目;用于在所述N行中按升序布置N个算法元件,并且在所述M列中按升序布置M个连接的部件;用于对于所述第一MLM中的每个单元,如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上生成输出,则标记第一符号,并且如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上接收输入,则标记第二符号的部件;以及用于通过重布置所述第一M...

【专利技术属性】
技术研发人员:M·查利尔J·约瑟夫
申请(专利权)人:美国亚德诺半导体公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1