使用访问触发的计算机架构的方法和装置的制造方法_2

文档序号:9371898阅读:来源:国知局
位置,当执行指令时数据集将从该源位置移动。目的地指针引用数据集将移动到其中的系统存储器104中的目的地位置。系统存储器块104内的每一个源位置和每一个目的地位置可以被分配给存储器、I/O或功能块。在某些实施例中,使用访问触发的架构系统100的特定应用利用包括多个指令的指令表格。每一个指令表格特定于特定应用,并且当执行指令表格时,每一个指令被序列地施行。指令表格可以单独地或与一个或多个附加的指令表格组合地使用。
[0018]在一些实施例中,指令模块108被配置为一旦已经到达表格的末尾就通过返回到表格的开头并再次执行指令序列来施行循环。在其它实施例中,指令模块108被配置为在到达特定指令表格的结尾时执行另一表格。在一些实施例中,指令模块108被配置为仅执行一个指令列表,并且一旦已经到达指令列表的结尾就停止执行。在一些实施例中,指令列表的执行在由外部事件触发时发生。
[0019]数据传递模块110被配置为从指令模块108接收指令信息,并且实行每一个指令中所指定的数据集的再定位。一般地,数据传递模块110访问每一个指令中的源指针和目的地指针,标识与源指针相关联的源位置,标识与目的地指针相关联的目的地位置,从源位置检索数据集,并且将数据集传送到目的地位置。
[0020]功能块模块112适当地配置为使用目的地位置处所接收的数据集来施行操作。每一个目的地位置由系统存储器地址指示。一般地,功能块与目的地位置相关联,并且当在由特定系统存储器地址指示的特定目的地位置处接收到数据集时,功能块被触发。一旦被触发,功能块就施行指明操作。指明操作针对与功能块相关联的特定目的地位置处所接收的每一个数据集一致地施行。
[0021]由功能块施行的操作以一个或多个方式更改所接收的数据。操作可以包括算术操作、逻辑操作和/或适用于由访问触发的架构系统100施行的任务的任何专门功能。在某些实施例中,与特定功能块相关联并由其施行的指明操作可以包括多于一个基本操作。例如,功能块A可以被配置为递增所接收的数据集,而功能块B可以被配置为递增数据集并利用第二数据集施行逻辑OR操作以生成结果。专门功能可以包括循环冗余码校验(CRC)的计算、加密/解密步骤、从以太网分组剥离头部、施行针对一个或多个数据流中的字符序列的搜索等。功能块的该专门性准许过程与指明功能块的关联,以及功能块的可再用库的创建,这优化了访问触发的架构系统100的效率。
[0022]为了使得访问触发的架构系统100能够执行有用的任务,系统存储器104内的位置并不排他地映射到存储器设备。在一些实施例中,系统存储器104位置被映射到用于数据输入和输出的专门位置。在一些实施例中,系统存储器104位置被映射到功能块模块112内的专用功能。例如,访问触发的架构系统100被配置为从系统存储器104内的专门位置读取一些外部信息(例如当前空速)。该专门系统存储器104位置可以称为“收件箱(in-mailbox)”。访问触发的架构系统100然后将信息存储到第二专门系统存储器104位置,其与功能块相关联。出于该示例的目的,功能块被配置为利用所接收的数据集施行“比较”操作。访问触发的架构系统100然后将值从系统RAM存储器(例如空速上限)传递到与相同功能块相关联的第三专门存储器位置。功能块施行“比较”功能,其比较两个数据值并产生结果,该结果然后存储在第三专门存储器位置中。在某些实施例中,该结果可以存储在系统存储器中的第四专门位置(例如“发件箱(out-mailbox)”)中,在该处结果可用于由访问触发的架构系统100内的其它功能块和/或系统检索。对于该特定示例,当前空速与空速上限之间的比较结果可以被用来调整外部设定,诸如引擎节流阀设定。
[0023]实践中,初始化模块106、指令模块108、数据传递模块110和/或功能块模块112可以利用处理器架构102实现(或与其协作)以施行本文更详细描述的功能和操作中的至少一些。在这方面,初始化模块106、指令模块108、数据传递模块110和/或功能块模块112可以实现为适当编写的处理逻辑、应用程序代码等。
[0024]图2是图示了用于初始化使用访问触发的架构的应用的过程200的实施例的流程图。在某些实施例中,应用可以包括使得能够将访问触发的架构用作完成一个或多个具体任务的工具的可执行指令。首先,过程200识别多个目的地存储器位置(步骤202)。目的地存储器位置包括一个或多个数据集将传递到的系统存储器地址。多个目的地存储器位置在设计时预先限定。此处,过程200识别系统存储器中的预先限定的存储块,其包含多个系统存储器地址。
[0025]接下来,过程200标识与应用相关的多个操作(步骤204)。多个操作可以包括过程200能够执行并且作为适用于应用的指令可区分的任何指令。一般地,多个操作中的每一个包括算术和/或逻辑操作。在某些示例性实施例中,多个操作中的每一个包括单步或一步功能。在其它实施例中,多个操作中的每一个可以包括功能的组合。
[0026]在识别可适用的目的地存储器位置(步骤202),并且标识与应用相关的多个操作(步骤204)之后,过程200将多个目的地存储器位置中的每一个与多个操作中的相应一个相关联以创建多个功能块,其中多个功能块中的每一个位于相应的目的地存储器位置(步骤206)。此处,过程200创建一个所标识的、相关操作到目的地存储器位置之间的连接,从而导致功能块。每一个功能块在目的地存储器位置处接收到数据集时施行相关联的操作。此处,通过将操作的分组与存储器位置的分组相关联来创建功能块的分组。尽管每一个功能块一般施行仅一个任务,但是这些功能块可以彼此组合地使用以施行更复杂的任务。
[0027]图3是图示了用于利用使用访问触发的架构的应用操纵数据的过程300的实施例的流程图。首先,过程300在与系统存储器位置相关联的指明功能块处接收数据集(步骤302)。在一种实现中,访问触发的架构可以被飞行器利用,并且在该示例中,数据集可以包括用于飞行器控制表面(机翼、升降舵等)的位置信息、引擎温度、空速、燃料重量、全球定位系统(GPS)信息、引擎性能参数、自动飞行控制参数等。
[0028]接下来,过程300在指明功能块处使用数据集来施行操作以生成结果,其中操作在指明功能块处每次接收到信息时一致地施行(步骤304)。在某些实施例中,操作可以包括单个功能,如图4中所示。图4是根据一些实施例的访问触发的架构系统400的图形表示,其包括被配置为访问包括单个操作的功能块406的系统存储器404的子集。如所示出的,数据集402在存储器位置0x8000:0003处接收,该位置与功能块406相关联。功能块406使用所接收的数据集402执行单个功能或一步操作。单个操作的示例性实施例可以非限制性地包括:算术操作(例如递增、递减等)、逻辑操作(例如AND、OR、XOR等)等。一旦施行单个功能,功能块406就将结果408返回到相同存储器位置。因而,传送到存储器位置0x8000:0003的原始数据集402改变;当存储器位置0x8000:0003的内容在将来的时间(例如在随后的时钟周期期间)被检索时,原始数据集402将不再可用。
[0029]在一些实施例中,操作可以包括施行整个新指令集,如图5中所示。图5是根据一些实施例的访问触发的架构系统500的子集的图形表示,其包括被配置为访问包括用于第二应用510的第二指令集508的功能块506的系统存储器504的子集。如所示出的,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1