首页> 中国专利> 用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法

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

摘要

本发明涉及用于信号流编程的数字信号处理器代码的高效资源管理的系统和方法。提供了根据用于信号流编程的数字信号处理器代码的高效资源管理的系统的实施例的方法,该方法包括确定用于电子电路的信号流的示意图中的多个算法元件的连接序列,该连接序列指示算法元件之间的连接和根据这些连接来处理算法元件的序列,该方法还包括确定指示使用多个存储器缓冲器来根据连接序列处理多个算法元件的顺序的缓冲器序列,并且根据缓冲器序列重用多个存储器缓冲器中的至少一些。

著录项

  • 公开/公告号CN103870335A

    专利类型发明专利

  • 公开/公告日2014-06-18

    原文格式PDF

  • 申请/专利权人 美国亚德诺半导体公司;

    申请/专利号CN201310631327.4

  • 发明设计人 M·查利尔;J·约瑟夫;

    申请日2013-12-02

  • 分类号G06F9/50;

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人陈华成

  • 地址 美国马萨诸塞州

  • 入库时间 2024-02-20 00:20:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-17

    授权

    授权

  • 2014-07-16

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20131202

    实质审查的生效

  • 2014-06-18

    公开

    公开

说明书

技术领域

本公开概括而言涉及数字处理系统的领域,更具体而言涉及用于 信号流编程的数字信号处理器代码的高效资源管理的系统和方法。

背景技术

信号处理涉及对时变或空间变化信号(例如,声音、图像和传感 器数据,例如诸如心电图之类的生物数据、控制系统信号、电信传送 信号,等等)的操作或对这些信号的测量的分析。具体地,数字信号 处理涉及通过通用计算机或通过诸如专用集成电路(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))。这里使用的术 语“算法元件(algorithm element)”包括用于电子电路的信号流的 示意图中的组件。组件根据预定的算法处理一个或多个输入信号以提 供一个或多个输出信号。每个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)来减少在AE14(1)–14(7)的处理期间被系统10的 实施例使用的存储器的量。

示意图13是示例,只是为了易于例示而示出的,而并不是限制。 几乎任意数目的AE都可按任何方式被连接来利用图形模拟器12生成 适当的示意图。例如,示意图可涉及执行与可编程DSP相关联的快速 傅立叶变换(FFT)、诸如音量控制、定音调等等之类的音频处理的 电子电路的一部分。在一般意义上,系统10可用于生成目标代码来在 DSP上实现,使得输入到DSP的信号被根据由系统10定义的SPA来 处理。

为了例示系统10的技术,理解比如图1中所示的体系结构那样的 给定系统的操作是重要的。以下基本信息可被视为基础,根据该基础 可以适当地说明本公开。这种信息只是为了说明而热心提供的,因此 不应当以任何方式被解释为限制本公开的宽广范围及其潜在应用。

具有交互式绘图和可视化能力的图形框图模拟工具可加速DSP 信号处理设计。若干种不同的方法可用于图形DSP编程,例如仿真和 系统建模;计算机上的有限实时开发;仿真,随后是源代码生成,以 及最终交叉编译到DSP;以及直接DSP对象代码生成。一些DSP编 程方法使用框图来开发DSP应用。框图设计被实现在主机计算机上并 且允许了设计者在生成或不生成DSP可执行程序的情况下开发DSP 应用。

用于从图形途径开发DSP应用的另一种方法是使用允许在计算 机上构造并实现有限实时DSP应用的声卡和视频相机。用于经由图形 手段的DSP编程的另一种方法是使用基于计算机的框图,例如图1的 示例性示意图,来构造在主机计算机上执行的DSP算法。在已构造了 DSP算法并且仿真产生期望的结果之后,整个框图设计可用于生成在 特定目标(例如DSP)上实现仿真的设计的目标代码。

用于DSP编程的示例性图形工具是Analog Device  SigmaStudioTM。SigmaStudio图形开发工具可对特定的DSP软件进行 编程、开发和调整。例如,音频处理块可在示意图中被连线在一起, 并且编译器可生成DSP就绪代码和用于设定并调整参数的控制表面。 SigmaStudio包括巨大的算法库,其中包括基本的低级别DSP功能和 控制块以及诸如滤波、混频和动态处理之类的高级音频处理功能。每 个处理器可用的AE被显示在“ToolBox”中并且AE可被拖放到示意 图中。每个AE可包含一个或多个引脚(例如输入引脚、输出引脚、 控制引脚)以将AE连接在一起。输出引脚可连接到输入引脚,反之 亦然。可酌情向AE添加算法(例如将算法与AE相关联),或者从 AE中去除算法(或者将算法与AE解除关联)。在创建示意图之后, 点击“编译”按钮可使得该工具根据用户输入模拟信号流,并且生成 目标代码。

通常,示意图利用CS中的AE和连接所表示的SPA的目的是处 理去到各种AE的有限数目的输入通道以产生有限数目的输出通道。 图形工具捕捉该SPA作为信号流。可应对的SPA的复杂度通常受到 目标代码要在其上运行的目标DSP的资源的限制。例如,目标DSP 的最大存储器、最大中央处理单元(CPU)每秒百万个指令(MIPS) 和最大资源时间可限制特定计算系统可应对的最大复杂度。

例如,SigmaStudio使用基于指针的链接来管理用于处理SPA的 存储器要求。在基于指针的链接方案中,每个信号的值被利用唯一指 针保存到不同的存储器缓冲器。缓冲器一般用于向和从进程传递数据 和在本地存储信息。存储器缓冲器的寿命周期跨越从缓冲器被创建时 到其被删除时的时间。如果要在这种典型图形工具中处理图1的示意 图13,则去到AE14(1)的输入信号的值将被保存在缓冲器Buff[0]中, 该缓冲器Buff[0]将经由指针Ptr[0]来访问。图形模拟器12将根据关 联的算法来处理去到AE14(1)的输入信号,并且将连接16(1)上的输出 信号的值写入到经由另一指针Ptr[1]可访问的另一缓冲器Buff[1]中。 保存到Buff[1]中的值将被用作由AE14(2)指定的算法中的输入,并且 连接16(2)上的相应输出信号将被写入到经由另一指针Ptr[2]可访问的 另一Buff[2],等等依此类推。每个信号将与利用唯一指针可访问的唯 一缓冲器相关联。

在一些图形工具版本中,唯一指针可通过将每个缓冲器的大小相 继加到BasePointer值来得出。从而,Ptr[0]可与BasePointer相同; Ptr[1]可等于BasePointer与Buff[0]的大小的总和;Ptr[2]可等于 BasePointer、Buff[0]和Buff[1]的总和;等等依此类推。在一些其他图 形工具版本中,可额外地使用偏量缓冲器,其可包含到实际缓冲器的 偏量。从偏量缓冲器获得的每个偏量与缓冲器的大小(BlockSize)相 乘以给出到每个缓冲器的差分指针。实际指针可通过将BasePointer 与所得到的值相加来获得。

一般地,AE j可利用mj个输入执行预定的算法Aj以产生nj个输 出,消耗pj的MIPS并且占用rj的资源。仅关注缓冲器存储器,AE j 可被表示为mj和nj的函数Aj(mj,nj)。考虑U={Aj},j=1:N,系统10 支持的所有算法的集合。A可表示U的子集,指示被分析 的特定示意图所使用的算法的集合。Aj(mj,nj)指示具有mj个输入和nj个输出的Aj的实例,其中j=1:N1,其中N1≤N(可用算法的总数)。 典型的图形工具按顺序Ql执行所有Aj∈A,顺序Ql是基于示意图网表 (例如,电路设计的连通性)得出的顺序,其中l=1:L(当可以有一 个或多个可能的执行序列时L≥1)。输出缓冲器的总存储器Mt可从 以下式子获得。

Mt=Blocksize×Σj=1N1nj

在信号流编程环境中,CS信息可以是在处理任何AE之前先验已 知的。CS信息和示意图中的所有AE的细节可用于得出SPA的存储 器资源准备度和寿命要求。假定处理SPA的计算设备(例如目标DSP) 的最大存储器由MaxMem表示,最大CPU MIPS被表示为 MaxCpuMips,并且最大资源时间被表示为MaxResTime。每个AE j 具有有限的存储器要求,该要求被称为元件存储器要求,表示为 Emem_j(例如,在诸如状态、草案、输入-输出、外部、内部等等之 类的子类别下)。每个AE j具有被表示为ECpu_j的有限CPU负载 要求。每个AE j具有被表示为EResTime_j的有限资源要求。当且仅 当以下情况时,典型的图形工具可将信号流转换成目标代码:

ΣjEMen_jMaxMem

ΣjECpuMips_jMaxCpuMips

ΣjEResTime_jMaxResTime

在有复杂的示意图和大量的AE和信号的情况下,处理SPA所需的存 储器大小将增大到超出执行图形仿真的计算设备的资源限制。

系统10被配置为在提供更存储器高效的信号处理环境时解决这 些问题(和其他问题)。在各种实施例中,MLM模块20可确定操作 序列,使得存储器缓冲器24(1)–24(4)可被重用于连接16(1)–16(6), 同时保持缓冲器的存储器大小M1t远小于Mt(M1t<<Mt

M1t=Blocksize×Σj=1N2nj

其中N2是并行元件(例如并行使用的缓冲器)的最大数目,并且N2<< N1。在各种实施例中,MLM模块20可应用到涉及外部存储器覆盖的 情况,和/或在后台利用直接存储器访问(DMA)来加载加速器和卸 载器的任务。

系统10的实施例可确定电子电路的示意图(例如示意图13)中 的多个AE(例如AE14(1)–14(7))的连接序列,其中该连接序列指 示算法元件之间的连接和根据这些连接处理算法元件的序列。MLM 模块20可确定缓冲器序列。根据该缓冲器序列可重用多个存储器缓冲 器24(1)–24(4)中的至少一些。这里使用的术语“缓冲器序列”包括 使用多个存储器缓冲器(例如24(1)–24(4))来根据连接序列处理多 个算法元件(例如AE14(1)–14(7))的顺序。在各种实施例中,缓冲 器序列可包括根据来自AE14(1)–14(7)的输出中的每一个被写入到 每个存储器缓冲器的序列布置的存储器缓冲器24(1)–24(4)的编号列 表,其中缓冲器序列中的重复的存储器缓冲器号码指示相应存储器缓 冲器的缓冲器重用。

例如,缓冲器24(1)–24(4)可由缓冲器序列{0,1,2,3}指示,分别 表示按该顺序的缓冲器24(1),24(2),24(3)和24(4)。在另一示例中,缓 冲器序列{0,1,2,3,2,1,2}也可表示缓冲器24(1),24(2),24(3)和24(4), 此外,该缓冲器序列可指示缓冲器24(3)和24(2)可按该缓冲器序列中 指定的顺序被重用(例如被多于一次地写入)。缓冲器24(3)和24(2) 中存储的值在被重用时可被覆写。

注意,对于每个算法元件(除了输入和输出算法元件以外),在 该算法元件处接收至少一个输入并且该算法元件生成至少一个输出。 (输入算法元件从用户或其他信号源(例如模数转换器、音乐播放器 等等)(即,不是另一AE)接收输入;输出算法元件生成可被显示 在屏幕上、被在扬声器上播放出(在音频信号的情况下)或者被送出 图形模拟器12(即,不是被送出到另一AE)的输出)。例如,在AE 14(2)处,在AE14(2)处接收连接16(1)上的输入并且从AE14(2)生成 连接16(2)上的输出。该输出可以是去到另一算法元件的另一输入。例 如,连接16(2)上的输出可被输入到AE14(4)和14(3)。一个连接可向 算法元件提供输入,并且另一连接可接受来自该算法元件的输出并且 将该输出作为另一输入提供给另一算法元件。从而,对于任何特定的 算法元件,提供输入的连接不同于接受输出的连接;接受输出的连接 可将该输出作为输入提供给一个或多个其他算法元件。每个连接可与 存储器缓冲器24(1)–24(4)之一相关联。例如,连接16(2)上的输出可 被写入到存储器缓冲器,并且被AE14(4)和14(3)读取作为输入。

在各种实施例中,连接、算法元件和存储器缓冲器可被按顺序编 号。对于每个连接,可识别在任何其他算法元件之前在该连接上生成 输出的第一算法元件。另外,对于该连接,还可识别在所有其他算法 元件之后在该连接上接收输出作为输入的第二算法元件。可按分配顺 序布置所有连接的第一算法元件。这里使用的术语“分配顺序”指示 第一算法元件号码的顺序(例如升序或降序)。可根据该分配顺序为 每个连接生成缓冲器索引,其中连接的缓冲器索引可与重用连接的另 一缓冲器索引相同。“重用连接”是如下连接:该连接的相应存储器 缓冲器可通过另一连接的输出值来覆写。重用连接的第二算法元件可 与连接的第一算法元件相同。在这种实施例中,缓冲器序列可包括根 据分配顺序布置的所有连接的缓冲器索引。

AE14(1)–14(7)的处理可例如基于用于启动可应用的算法的输入 信号的可用性来遵循连接序列。例如,由AE14(1)表示的算法可在由 AE14(2)或AE14(6)表示的算法之前被处理,因为连接16(1)上来自 AE14(1)的输出信号可作为输入被馈送到AE14(2)和14(6)中。类似地, 对于AE14(2)、14(3)、14(4)和14(5)的处理可在AE14(6)能够被处理 之前已完成,作为在连接16(5)上到AE14(6)的输入信号仅在处理AE 14(3)之后才可获得,而AE14(3)仅在AE14(5)之后才能被处理,而 AE14(5)又仅在AE14(4)之后才能被处理,等等依此类推。结果,连 接16(1)上的输入信号可被保持在其相应的缓冲器中,直到AE14(6) 的处理为止。另一方面,连接16(3)上的输入信号仅用于处理AE14(5)。 从而,用于存储连接16(3)上的输入信号的缓冲器可在处理AE14(5) 之后被重用,例如用于存储连接16(5)上的输出信号,该输出信号充当 去到AE14(3)的输入信号。重用存储器缓冲器可减小整体存储器和其 他资源要求,从而带来了系统10的实施例处理更复杂的示意图的能力 的增强。

在各种实施例中,MLM模块20可构造包括AE14(1)–14(7)和连 接16(1)–16(6)之间的关系的MLM。该MLM可指示当各种AE14(1) –14(7)被系统10的实施例处理时向缓冲器24(1)–24(4)写入和从缓冲 器24(1)–24(4)读取的序列。MLM可被操纵来给出向缓冲器24(1)– 24(4)写入和从缓冲器24(1)–24(4)读取的特定序列,使得缓冲器24(1) –24(4)在AE14(1)–14(7)的处理期间可被重用,从而将存储器大小要 求减小到仅仅是那些被主动地并行使用来处理AE14(1)–14(7)的缓 冲器。

转到系统10的基础设施,系统10可实现在任何适当的计算设备 (例如服务器、台式计算机、膝上型计算机、智能电话等等)上,这 些计算设备配备有适当的硬件(例如显示屏、监视器等等)来促进其 操作。在一些实施例中,系统10可与硬件(例如显示监视器)接口以 执行这里描述的操作。例如,图形模拟器12可被呈现在用户可见的显 示屏上,并且可与其他硬件(例如鼠标、操纵杆、触摸屏、键盘)相 关联,用户通过这些其他硬件可适当地操纵示意图13。

在各种实施例中,系统10可位于单个设备上。在其他实施例中, 系统10可分布在网络上的多个设备上,这多个设备可包括任意数目的 互连的服务器、虚拟机、交换机、路由器和其他节点。图1的元件可 通过采用任何适当连接(有线或无线)的一个或多个接口相互耦合, 所述连接提供了用于电子通信的可行通路。此外,这些元件中的任何 一个或多个可基于特定的配置需求被组合或者被从体系结构中去除。

在一些实施例中,系统10可包括一起操作以执行这里描述的操作 的应用和硬件。例如,系统10的一部分可以用硬件实现,而另一部分 可以用软件实现,例如实现为应用。这里使用的“应用”可包含包括 在计算机上可理解和处理的指令的可执行文件,并且还可包括在执行 期间加载的库模块、目标文件、系统文件、硬件逻辑、软件逻辑或者 任何其他可执行模块。

在各种实施例中,图形模拟器12可包括其他接口工件(例如下拉 菜单、窗口、多个页面等等),这些接口工件可促进根据用户的需求 生成示意图13。在各种实施例中,系统10可与目标设备(例如DSP) 接口,以卸载利用系统10的特征生成的目标代码。另外,这里示出和 描述的MLM模块20也可用在很多种其他分析工具中,其中有限数目 的输入被按特定CS连接的AE处理以生成有限数目的输出。

实现MLM模块20的计算设备可具有任何适当的体系结构,包括 DSP和其他处理器。MLM模块20实现的存储器管理算法可酌情并基 于特定需求被嵌入到处理器(例如DSP)中。例如,MLM模块20实 现的存储器重用方案可在根据由系统10生成的目标代码执行算法的 DSP中实现。在这种DSP中,DSP的存储器缓冲器在功能块(对应 于各个示意图中的AE)处理实际输入信号并生成输出信号时可如这 里所述被适当地重用。

在一些实施例中,MLM模块20可实现在也容宿图形模拟器20 的计算设备(例如计算机、智能电话等等)上。在这种实施例中,计 算设备生成的输出可以是使得DSP能够根据在图形模拟器12上捕捉 的信号流来进行信号处理的目标代码。每个AE14(1)–14(7)要使用的 存储器缓冲器24的细节可被包括在目标代码中。计算设备可根据在计 算设备上运行的MLM模块20确定每个AE14(1)–14(7)要使用的存 储器。使用在图形模拟器12上捕捉的信号流的信号处理可被目标DSP (其可与计算设备分开)根据由计算设备生成的目标代码来执行。 MLM模块20的存储器重用算法可被结合到目标代码中并用于优化目 标DSP上的存储器使用。

注意,指派给图1的元件的数字和字母名称不意味着任何类型的 层次;这些名称是任意的并且只是用于教导的。这种名称不应当以任 何方式被解释为限制其能力、功能或在可受益于系统10的特征的潜在 环境中的应用。应当理解,图1中所示的体系结构为了易于图示而被 简化。

转到图2,图2是示出在系统10的实施例中处理的另一示例性示 意图28的简化框图。示例性示意图28在这里被用来在某些后续图中 说明系统10的实施例的更多方面。示意图28包括由连接16(1)–16(10) 按适当的CS连接以实现特定的SPA的AE14(1)–14(10)。连接16(1) 上来自AE14(1)的输出信号可包括去到AE14(3)和14(4)的输入。连接 16(2)上来自AE14(2)的输出信号可包括去到AE14(3)和14(6)的输入。 AE14(3)从而可接收两个输入,并且提供三个输出:(i)在连接16(3)上 去到AE14(7);(ii)在连接16(3)上去到AE14(5);以及(iii)在连接16(8) 上去到AE14(4)。AE14(6)也可在连接16(4)上提供输出信号到AE 14(7),AE14(7)可在连接16(7)上提供输出到AE14(5)和14(8)。AE14(5) 可接收来自AE14(3)和14(7)的输入并且分别在连接16(6)和16(8)上提 供输出到AE14(4)和14(8)。AE14(4)可处理来自AE14(1)、14(3)和 14(5)的三个输入信号,并且在连接16(9)上提供输出到AE14(8)和 14(10)。AE14(8)可接收三个输入(来自AE14(5)、14(7)和14(4))并 且在连接16(10)上提供输出信号到AE14(9)。

转到图3,图3是示出根据系统10的实施例为示意图28构造MLM 矩阵的示例性细节的简化图。可注意到,这里给出的示例性细节描绘 了构造MLM矩阵的解析(例如逻辑)方案,而并不表示其物理实现。 示意图28包括AE14(1)–14(10)和10个连接16(1)–16(10)。输出AE 14(9)和14(10)不消耗任何缓冲器(例如,因为其输出不被其他AE处 理),并且在生成MLM矩阵时可被忽略。示意图28的用于缓冲器管 理目的的CS可被表示为矩阵30,该矩阵30包括8行和10列,分别 对应于8个AE14(1)–14(8)和10个连接16(1)–16(10)。行可根据AE 14(1)–14(8)来命名,列可根据连接16(1)–16(10)来命名。

可通过如下方式将矩阵30修改成矩阵32:如果到相应AE的相 应连接表示输出则在单元中标记“x”,而如果到相应AE的相应连接 表示输入则标记“o”。从而,连接16(1)表示来自AE14(1)的输出, 并且可由列1和行S1相交处的单元中的“x”表示。连接16(1)还表示 去到AE14(3)和14(4)的输入,并且可被表示为列1分别与S3和S4 相交处的单元中的“o”。类似地,连接16(2)表示来自AE14(2)的输 出,并且可由列2和行S2相交处的单元中的“x”表示。连接16(2) 还表示去到AE14(3)和14(6)的输入,并且可被表示为列2分别与S3 和S6相交处的单元中的“o”。矩阵32中的单元可根据示意图28中 的CS被适当地填充。

通过改变行的顺序以使得在给定的列中“x”出现在“o”上方, 可将矩阵32修改成矩阵34。例如,按照顺序{S1,S2,S3,S6,S7,S5,S4, S8}将行S4和S5移动到S7下方产生矩阵34,如图所示。每一列中的 最后一个“o”可被标记为与其他的不同(例如,通过将其上色为不同 的颜色)。与MLM矩阵34有关的信息可被提取到缓冲器36中,缓 冲器36被表示为ALLOC缓冲器38和FREE缓冲器40。ALLOC缓 冲器38可包括与MLM矩阵34的每一列的条目“x”相对应的行号, 并且FREE缓冲器40可包括与MLM矩阵34的每一列中的条目“o” 相对应的最高行号。在42可通过将ALLOC缓冲器38的列按升序重 布置为ALLOC缓冲器44来修改缓冲器36。FREE缓冲器42和MLM 34的对应列也可被相应地重布置以分别获得FREE缓冲器46和MLM 48.

转到图4A–4B,图4A–4B是示出根据系统10的实施例的存储 器重用操作的示例性细节的简化图。对于ALLOC缓冲器44中的每个 条目Y,在FREE缓冲器46中找到的每个Y的缓冲器可被释放,并 且在ALLOC缓冲器44中找到的每个Y的缓冲器可被分配并指派给 相应的连接。在操作56,可检查ALLOC缓冲器44中的第一条目(0, 对应于连接16(1)上的AE14(1))。链接索引53可给出与ALLOC缓 冲器44的每一列相对应的连接。缓冲器索引54可指示实际缓冲器的 位置,在图中表示为表格52。

链接1可指示图2的示例性示意图28的连接16(1)上的信号的值。 链接1可被保存到BBuff[0]中,并且经由缓冲器索引54中的缓冲器索 引值0来访问。在58,可检查ALLOC缓冲器44中的下一条目(1, 对应于连接16(2)上的AE14(2))。缓冲器索引54可指示实际缓冲器 的位置,即BBuff[1],其中可存储链接2,即示例性示意图28的连接 16(2)上的信号的值。在60,ALLOC缓冲器44中的下两个条目(都 具有值2,对应于连接16(3)和16(8)上的AE14(3))可被指派给缓冲 器BBuff[2]和BBuff[3]。分别对应于连接16(3)和16(8)上的值的链接3 和链接8可被存储在相应的缓冲器BBuff[2]和BBuff[3]中。

在62,ALLOC缓冲器44中的下一条目是3(对应于连接16(4) 上的AE(6)),并且相同的值可在FREE缓冲器46中找到,对应于连 接16(2)上的AE(6),与具有值1的缓冲器索引54相关联。因此,链 接4,即连接16(4)的值,可被覆写在BBuff[1]中的先前值上,并且相 应的缓冲器可在AE(6)被重用于连接16(4)。在64,ALLOC缓冲器中 的下一条目是4(对应于连接16(7)上的AE(7)),并且相同的值可在 FREE缓冲器46中找到,对应于连接16(4)上的AE(7),与具有值1 的缓冲器索引54相关联。因此,链接7,即连接16(7)的值,可被覆 写在BBuff[1]中的先前值上,并且相应的缓冲器可在AE(7)被重用于 连接16(7)。

在66,ALLOC缓冲器44中的接下来的条目(都是5,对应于连 接16(5)和16(6)上的AE14(5))也都可在FREE缓冲器46中找到,对 应于连接16(3)上的AE14(5),与具有值2的缓冲器索引54相关联。 因此,链接5,即连接16(5)的值,可被覆写在BBuff[2]中的先前值上, 并且相应的缓冲器可在AE(5)被重用于连接16(5)。因为链接5已经被 写入到BBuff[2],所以BBuff[2]不可被同时重用于链接6。因此,链 接6可被写入到BBuff[4],并且缓冲器索引54被相应地更新。

在68,ALLOC缓冲器44中的下一条目是6(对应于连接16(9) 上的AE14(4)),并且相同的值可在FREE缓冲器46中找到,对应 于连接16(1)、16(8)和16(6)上的AE14(4),分别与具有值0、3和4 的缓冲器索引54相关联。因此,链接9,即连接16(9)的值,可被覆 写在这些缓冲器中的任何一个(比如说BBuff[0])上,并且可以使其 他可用缓冲器空闲(或者可用)以供将来重用。在70,ALLOC缓冲 器47中的下一条目是7(对应于连接16(10)上的AE14(8)),并且相 同的值可在FREE缓冲器46中找到,对应于连接16(7)、16(5)和16(9) 上的AE14(8),分别与具有值1、2和0的缓冲器索引54相关联。因 此,链接10,即连接16(10)的值,可被覆写在这些缓冲器中的任何一 个(比如说BBuff[0])上,并且可以使其他可用缓冲器空闲(或者可 用)以供将来重用。从而,不是使用10个缓冲器来存储与10个连接 16(1)–16(10)相对应的值,相反系统10的实施例可使用仅4个缓冲器, 而不会牺牲任何性能。

转到图5,图5是示出可与系统10的实施例相关联的示例性操作 的简化流程图。操作80包括82,在该处可确定图形仿真器示意图(例 如示意图28)中的AE14(1)–14(8)。在84,可例如通过识别AE14(1) –14(8)之间的连接16(1)–16(10)来确定AE14(1)–14(8)之间的连接序 列。在86,可构造MLM(例如MLM48)。MLM48可包括与AE14(1) –14(8)和示意图28的相应CS有关的信息。在88,可确定具有存储器 重用来支持AE14(1)–14(8)的算法执行的最小量的存储器缓冲器。在 90,可相应地重用存储器缓冲器。

转到图6,图6是示出可与系统10的实施例相关联的示例性操作 的简化流程图。操作100包括102,在该处,数目为N的处理AE被 识别并被编号为0至N-1。处理AE包括其输出可被写入到存储器缓 冲器的AE。在104,可识别示意图中的所有M个连接(CON[j],j=1 至M)。在106,可对于所有AE对连接编号。在108,可构造具有N 行和M列的MLM。在110,可在如下情况下在每个单元中标记“o”: 如果与该单元的行相对应的算法元件在与该单元的列相对应的连接上 接收输入。在112,可在如下情况下在每个单元中标记“x”:如果与 该单元的行相对应的算法元件在与该单元的列相对应的连接上接收输 入。在114,行可被重布置以使得“x”在每一列的顶部。

在116,对于j=1至M,可将具有条目“x”的所有列的行号码 “i”提取到ALLOC缓冲器。在118,对于j=1至M,将具有条目 “o”的所有列的最高行号码“i”提取到FREE缓冲器中。在120, MLM、FREE和ALLOC缓冲器中的列可按指示ALLOC缓冲器中的 元件的升序的分配顺序被重布置。在122,可检查ALLOC缓冲器中 的每个条目(Y)。与ALLOC缓冲器中的每个Y的连接索引(即链接 索引)相对应的存储器缓冲器可被释放。ALLOC缓冲器中的每个Y 的存储器缓冲器可被分配并指派给与Y的连接相对应的连接。

转到图7,图7是示出系统10的实施例的示例性细节的简化框图。 在一般计算意义上,覆盖包括将一块存储的指令(或数据)用另一块 来替换。存储器覆盖可提供对于其全部程序指令和数据装不进处理器 (例如处理器26)的内部存储器中的应用的支持。程序指令和数据可 被分区并被存储在片外存储器中,直到程序执行需要它们为止。分区 被称为存储器覆盖,并且调用并执行它们的例程被称为“存储器覆盖 管理器”。在一般意义上,覆盖是“多到一”存储器映射系统。若干 个覆盖可被存储在片外存储器中的唯一位置,并且它们在片上存储器 中的共同位置中运行(或执行)。

MLM模块20可与片上存储器缓冲器128交互,片上存储器缓冲 器128可包括输入/输出(I/O)存储器130和状态存储器132。在一般 意义上,I/O存储器130可存储连接的输入和输出值,并且状态存储 器132可存储被系统10处理的AE的状态。根据系统10的实施例, 状态存储器132的一部分可被卸载到片外存储器134,例如在目标存 储器不足以为SPA中的所有AE存储状态的情况下。在处理AE之前 和之后,可分别从片外存储器134读取和向片外存储器134写入适当 的状态。在一些实施例中,除了状态存储器132以外,只读存储器 (ROM)数据(例如采取表格的形式)也可被卸载到片外存储器134。 ROM数据在处理AE之后可不被写回到片外存储器134,例如因为 ROM数据表格在处理期间可不被AE修改。在各种实施例中,存储器 覆盖管理器136可促进在状态存储器132上覆盖片外存储器134。

根据各种实施例,覆盖管理器136是一个用户定义的功能,其负 责确保在片外存储器134上的覆盖内的功能或数据当该功能或数据被 需要时在状态存储器132中。片上状态存储器132与片外存储器134 之间的存储器的转移可利用处理器26的直接存储器访问(DMA)能 力来发生。覆盖管理器136还可应对更高级的功能,例如检查所请求 的覆盖是否已经在运行时存储器中,在加载覆盖的同时执行另一功能, 以及跟踪递归式覆盖功能调用。

在各种实施例中,片上存储器缓冲器128可与处理器26集成在同 一半导体芯片上,并且可包括指令高速缓存、数据高速缓存、ROM、 片上静态随机访问存储器(SRAM)以及片上动态随机访问存储器 (DRAM)。指令和数据高速缓存可以是充当处理器26与片外存储 器134之间的接口的快速本地存储器。片上SRAM可被映射到与片外 存储器134脱离但连接到相同的地址和数据总线的地址空间中。高速 缓存和SRAM都可允许对其数据的快速访问,而对片外存储器(例如 DRAM)134的访问可能需要相对更长的访问时间。例如,访问片外 存储器134可由处理器26通过片上存储器128中的适当的高速缓存来 实现。

片外存储器134可用在具有有限的片上存储器的情形中。片外存 储器134可包括DRAM、闪速RAM、SRAM、同步动态随机访问存 储器(SDRAM)、硬盘驱动器以及任何其他形式的可在具有处理器 26的芯片的外部实现的存储器元件。片上存储器缓冲器128的一部分 可用片外存储器134来覆盖,从而可增大有效存储器可用性。DMA 可用于根据基于由MLM模块20生成的MLM的序列来在片上存储器 缓冲器128与片外存储器134之间移动存储器块。利用DMA,处理 器26可发起读取/写入转移,在转移正在进行的同时执行其他操作, 并且当转移完成时接收来自DMA控制器的中断。可在后台调度存储 器转移(例如,与其他处理并行),以便能够使处理器等待时间减到 最低限度。

系统10的实施例可使用被分析的SPA中的不同AE的存储器要 求细节和处理时间要求来发出自动DMA请求。在一些实施例中,为 了确保完整的后台转移,为发出DMA请求可以考虑被分析的SPA中 的基本上所有AE的处理时间;在其他实施例中,为发出DMA请求 可以只考虑SPA中的某些AE的处理时间。系统10的实施例可促进 利用覆盖机制增大有效片上存储器可用性。由于DMA的自动调度, 存储器转移可在后台完成,并且可增大有效处理力。

转到图8,图8是示出系统10的使用覆盖存储器管理的实施例的 示例性细节的简化图。为了易于例示,而不是作为限制,这里参考示 意图13来说明根据系统10的各种实施例的覆盖存储器管理。在操作 期间,可酌情在状态存储器132中创建(例如在状态存储器132中) 多个状态缓冲器(例如stat1、stat2、stat3等等)。MLM模块20可 生成矩阵140,该矩阵140包括与AE14(1)–14(8)相对应的行和与状 态存储器132中的缓冲器(例如stat1、stat2等等)相对应的列,其 中“x”指示缓冲器的创建,“o”指示缓冲器的读取,并且“s”指示 向缓冲器的写入。

仅出于示例目的,假定AE14(2)和14(5)使用片外存储器134。根 据系统10的实施例,在状态存储器132中可创建片上缓冲器(例如 “stat5”),并且在片外存储器134中可为AE14(2)和14(5)创建两个 不同的片外存储器覆盖缓冲器(例如分别是ostat2和ostat5)。stat5 可被AE(2)使用(例如读取或写入)。随后,存储器覆盖管理器136 可发布由伪AE142(D1i)表示的DMA请求,以将stat5中记录的状态 保存到片外存储器134中的ostat2,使得AE14(5)也可使用相同的状 态缓冲器stat5。这里使用的术语“伪AE”(dummy AE)指的是由 MLM模块20生成而不是由用户生成的AE。伪AE的目的包括向存 储器缓冲器写入和从存储器缓冲器读取,并且关联的算法可指示这样 的功能(例如,从存储器读取;写入到存储器;等等),而不是任何 特定的电子组件功能。存储器覆盖管理器136可发布另一DMA请求 以用来自ostat5的值填充stat5。同时,在伪AE142从片外存储器 ostat5向存储器缓冲器stat5写入时(例如,DMA操作可在后台实现), 其他AE(例如AE14(3)、14(6)、14(7))的处理可基本上同时发生。

在AE14(5)的处理之后,stat5中的值可被AE14(5)使用。随后, 存储器覆盖管理器136可发布由伪AE144(D1o)表示的另一DMA请 求,以将stat5保存到片外存储器134中的ostat5,使得AE14(2)在下 一处理回合(如果需要的话)中也可使用同一状态stat5。同时,在这 些转移被执行时(例如,DMA操作可在后台实现),其他AE(例如 AE14(4)、14(8))的处理可同时发生(或不同时发生)。

在存储器覆盖管理器136的帮助下,AE14(2)和14(5)都可使用 stat5。AE14(2)可使用大小为M2的片外位置ostat2;AE14(5)可使用 大小为M5的另一片外位置ostat5。转移大小为M5的存储器块所需 的存储器带宽可小于AE14(3)、14(6)和14(7)的组合处理时间。从而, 伪AE142(D1i)可被定位(例如处理)来在AE14(3)之前引进stat5缓 冲器,使得stat5可在AE14(7)之后立即可供使用。伪AE144(D1o) 可被定位来在处理AE14(5)之后立即将状态保存回片外134。伪AE 142和144的位置可基于MLM模块20为被分析的SLA生成的MLM。 根据这里示出的实施例,有效的片上存储器大小可等于用于处理SLA 的所有片上状态存储器132和片外存储器134的总和,其中对于DMA 完成的等待时间为零。

转到图9,图9是示出可与系统10的具有存储器覆盖管理的实施 例相关联的示例性操作150的简化流程图。操作150可包括152,在 该处MLM模块20可生成用于被分析的SLA的MLM。在154,可确 定其状态存储器使用片外存储器134的AE。在156,可酌情生成伪 AE。例如,如果正使用单个片上状态存储器缓冲器,则可生成两个伪 AE;如果使用多于一个片上状态存储器缓冲器,则可酌情生成额外的 伪AE。在158,可基于被分析的SLA中的AE的转移时间和处理时 间来修改MLM的缓冲器序列以包括伪AE。

例如,假定AE A、B和C根据连接序列{A,B,C}被处理;AE C 使用片外存储器134;针对AE C的去往和来自片外存储器134的转 移可小于针对AE B的处理时间。在该情况下,可生成片上状态存储 器132来就在AE B的处理之前存储AE C的状态。另一方面,如果 针对AE C的去往和来自片外存储器134的转移可大于针对AE B的 处理时间,则可生成片上状态存储器132来在AE A的处理之前存储 AE C的状态,等等依此类推。在160,可根据需要并基于特定需求使 用片外存储器134。

转到图10,图10是示出系统10的使用处理器卸载的另一示例性 实施例的简化框图。处理卸载器162可包括处理器、硬件加速器或者 其他可处理被分析的SLA中的AE的处理设备。这里使用的术语“处 理卸载器”包括除了另一处理器以外还使用的(以及与另一处理器结 合使用的)处理器(例如中央处理单元(CPU))、服务处理器、硬 件加速器或其他处理设备。在各种实施例中,处理卸载器162可被动 地接收来自存储器的数据并且立即处理数据;处理卸载器162可不利 用存储器地址主动请求数据。从而,数据可被推送到处理卸载器162, 这与处理器26不同,处理器26可利用适当的存储器地址拉入数据。 另外,当处理被卸载到处理卸载器162时,缓冲器必须被适当地加载 并且准备好在适当的时间被处理卸载器162读取。

MLM模块20可与处理卸载器162、存储器元件22和处理器26 接口。为了卸载,用于跨存储器块转移数据的时间、AE的处理时间 和缓冲器序列可被用于确定是否以及何时可执行卸载。用于跨存储器 块转移数据的时间可取决于存储器的大小;AE的处理时间可取决于 这里使用的具体算法;并且缓冲器序列可从由MLM模块20生成的 MLM来确定。处理器26可将某些AE的处理卸载到处理卸载器162。 处理器26可读和写寄存器以利用适当的端口来控制AE处理。处理卸 载器162可从存储器元件22中的适当的输入缓冲器读取数据并将结果 写入到存储器元件22中的适当的输出缓冲器。通过利用例如适当的 DMA发布模块适当地流水线化算法,可以改善性能。算法可使用可 用的/已分配的处理卸载器162的细节、处理周期要求和数据转移开销, 以及其他参数。该配置可产生大致等于处理器MIPS和处理卸载器 MIPS的总和的有效处理时间,其中对于DMA完成的处理器等待有 最低限度的增大。

转到图11,图11是示出用于描述根据系统10的实施例的使用 MLM的卸载的另一示例性示意图163的简化图。仅出于示例目的, 假定AE14(1)–14(8)除了AE14(5)以外被处理器26处理,而AE14(5) 被处理卸载器162处理。AE14(5)可例如被在后台处理,因为处理卸 载器162和处理器26可并行运行不同的进程(例如AE)。数据可酌 情被从存储器元件22读取、被处理并被写回到存储器元件22。另外, AE14(5)从AE14(3)取得输入,并且为AE14(4)和AE14(8)各自生成 输出。从而,AE14(5)直到AE14(3)之后才可被处理。

转到图12,图12是示出可与系统10的用于应用到示意图163的 处理器卸载的实施例相关联的示例性细节的简化图。还假定处理卸载 器162花P5MIPS来执行任务并且卸载DMA开销是OH5。如果用于 PH5和OH5的带宽小于用于AE14(6)和AE14(7)的组合处理时间, 则伪AE166(D2i)可被生成并被定位来将缓冲器从接口输入缓冲器加 载到处理卸载器162,使得状态存储器(例如stat5)可用于处理AE 14(5)。换言之,当创建用于伪AE166(D2i)的存储器缓冲器时,可发 起卸载处理。AE14(6)和14(7)的处理可与AE14(5)的处理基本上同时 执行。

在来自AE14(5)的输出被根据连接序列随后处理的AE(例如AE 14(4)和AE14(8))使用之前,AE14(5)的处理可能必须完成。另一伪 AE168(D2o)可被定位成从处理卸载器162读取结果缓冲器到AE 14(5)的接口输出缓冲器。从而,在AE14(4)和14(8)根据连接序列被 处理之前,可以适当地使来自AE14(5)的输出对AE14(4)和14(8)可 用。伪AE166和168可被MLM模块20创建来促进这里描述的操作, 并且可能不具有除了使用存储器缓冲器以外的太多其他功能。

转到图13,图13是示出可与系统10的使用处理器卸载的实施例 相关联的示例性操作的简化流程图。操作170包括172,在该处MLM 模块20可为被分析的SPA生成MLM。在174,可确定要利用处理卸 载器162来处理的AE。在176,基于要由处理卸载器162处理的AE 的数目,可酌情生成伪AE。例如,为了处理单个AE,可生成两个伪 AE;为了处理多于一个AE,可酌情生成额外的AE。在178,基于被 处理卸载器162处理的AE的处理时间(和DMA开销)可修改MLM 的缓冲器序列来包括伪AE。在180,可根据需要使用处理卸载器162。

注意在本说明书中,提及在“一个实施例”、“示例性实施例”、 “一实施例”、“另一实施例”、“一些实施例”、“各种实施例”、 “其他实施例”、“替换实施例”等等中包括的各种特征(例如元件、 结构、模块、组件、步骤、操作、特性等等)想要意指任何这种特征 被包括在本公开的一个或多个实施例中,但可能被结合在相同实施例 中,也可能不一定被结合在相同实施例中。另外,词语“优化”和相 关术语是提及指定结果的速度和/或效率的改进的专门术语,而并不意 图指示用于实现该指定结果的过程已经实现或者能够实现“最优的” 或者完美快速的/完美高效的状态。

这里示出和描述的示意图(例如示意图13、28、163)只是示例, 而并不是对系统10的任何实施例的限制。在实施例的宽广范围内,任 意数目的AE和连接可被包括在示意图中。另外,这里描述的方法可 按任何适当的方式在包括适当的处理器和存储器元件的计算设备(包 括DSP或其他处理器)上实现。例如,虽然MLM(例如MLM48) 被示出和描述为其中某些行放在其他行的上方(或下方)并且某些列 在其他列的右边(或左边)的阵列,但可注意,指示缓冲器序列的CS 可按任何适当的布置来表示,包括只有行、只有列、以各种不同模式 布置的行和列,等等。

在示例性实现方式中,这里概述的活动的至少一些部分可在例如 MLM模块20中用软件实现。在一些实施例中,这些特征中的一个或 多个可用硬件实现,在这些元件外部提供,或者以任何适当的方式被 合并来实现期望的功能。各种元件(例如MLM模块20、图形模拟器 12)可包括可相互协调以便实现这里概述的操作的软件(或往复式软 件)。在其他实施例中,这些元件可包括促进其操作的任何适当的算 法、硬件、软件、组件、模块、接口或对象。

此外,这里描述和示出的系统10(和/或其关联的结构)还可包括 用于接收、发送和/或以其他方式传输数据或信息到硬件组件(例如计 算机监视器、显示设备)和网络环境中的网络设备(例如客户端设备) 的适当接口。此外,与各种节点相关联的处理器和存储器元件中的一 些可被去除,或者以其他方式被合并以使得单个处理器和单个存储器 元件负责某些活动。在一般意义上,图中描绘的布置在其表示上可更 逻辑化,而物理体系结构可包括这些元件的各种置换、组合和/或混合。 需要注意,无数的可能设计配置可被用于实现这里概述的操作目的。 因此,关联的基础设施具有许多的替代布置、设计选择、设备可能性、 硬件配置、软件实现、设备选项,等等。

在一些示例性实施例中,一个或多个存储器元件(例如存储器元 件22)可存储用于这里描述的操作的数据。这包括存储器元件能够在 非暂态介质中存储指令(例如软件、逻辑、代码等等),使得这些指 令被执行来进行本说明书中描述的活动。处理器可执行与数据相关联 的任何类型的指令以实现本说明书中这里详述的操作。

在一个示例中,处理器(例如处理器26)可将一个元件或物品(例 如数据)从一个状态或事物变换成另一状态或事物。在另一示例中, 这里概述的活动可利用固定逻辑或可编程逻辑(例如由处理器执行的 软件/计算机指令)来实现,并且这里标识的元件可以是一些类型的可 编程处理器、可编程数字逻辑(例如现场可编程门阵列(FPGA)、 可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器 (EEPROM))、包括数字逻辑、软件、代码、电子指令的ASIC、 闪存、光盘、CD-ROM、DVD ROM、磁卡或光卡、其他类型的适用 于存储电子指令的机器可读介质、或者其任何适当组合。

在操作中,系统10中的组件可包括一个或多个存储器元件(例如 存储器元件22),用于存储在实现这里概述的操作时要使用的信息。 这些设备还可将信息保持在任何适当类型的非暂态存储介质(例如随 机访问存储器(RAM)、只读存储器(ROM)、现场可编程门阵列 (FPGA)、EPROM、EEPROM等等)、软件、硬件中或者在适当 时基于特定需求保持在任何其他适当的组件、设备、元件或对象中。 在系统10中被跟踪、发送、接收或存储的信息基于特定需求和实现可 在任何数据库、寄存器、表格、高速缓存、队列、控制列表或存储结 构中提供,所有这些都可在任何适当的时间表中被引用。这里论述的 任何存储器项目都可被解释为包含在宽泛术语“存储器元件”内。类 似地,本说明书中描述的任何潜在的处理元件、模块和机器应当被解 释为包含在宽泛术语“处理器”内。

注意到以下这点也是重要的:参考前面的附图描述的操作和步骤 只是例示了可由系统执行或者可在系统内执行的可能场景中的一些。 这些操作中的一些可被酌情删除或去除,或者这些步骤可被相当大地 修改或改变,而不脱离所述概念的范围。此外,这些操作的定时可被 相当大地更改,而仍实现本公开中教导的结果。前面的操作流程是出 于示例和论述目的提供的。系统提供了很大的灵活性,因为可提供任 何适当的布置、时间顺序、配置和定时机制,而不脱离所述概念的教 导。

本领域技术人员可确定许多其他改变、替代、变化、更改和修改, 希望本公开包含所有落在所附权利要求的范围内的改变、替代、变化、 更改和修改。为了帮助美国专利商标局(USPTO)以及根据本申请授 权的任何专利的任何读者解读这里所附的权利要求,申请人希望注意 到,申请人:(a)不希望所附权利要求中的任何一个以其在本申请日 存在的形式援用35U.S.C.第112节第六(6)款,除非在特定权利要 求中具体使用了词语“用于……的装置”或“用于……的步骤”;并 且(b)不希望本说明书中的任何语句以所附权利要求中没有反映的 任何方式限制本公开。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号