发明名称 可重新组配语意处理器
摘要 资料处理器以及供用于其组态和使用之方法被揭示。如相对于传统的von Neumann微处理机,被揭示之处理器是语意处理器---它们剖析一组输入流并且引导一组或者多组语意执行引擎以依据所被剖析者而执行程式码片段。对于被定义结构之输入流,例如,封包资料流,当比较至von Neumann系统时,这些语意处理器是经济且迅速的。许多选择性构件可加强装置操作。例如,一组机器脉络资料界面减轻语意执行引擎对于实际记忆体的管理,允许多数组机器依序地存取至记忆体,并且制作共同之存取操作。进一步地,一组简单之vonNeumann例外处理单元可被附加至一组语意执行引擎以执行更复杂的,但不是频繁的或者非时间紧要的操作。
申请公布号 TWI239475 申请公布日期 2005.09.11
申请号 TW092133053 申请日期 2003.11.25
申请人 米思托投科技股份有限公司 发明人 斯克达 山苏布荷拉
分类号 G06F9/30 主分类号 G06F9/30
代理机构 代理人 恽轶群 台北市松山区南京东路3段248号7楼;陈文郎 台北市松山区南京东路3段248号7楼
主权项 1.一种资料处理系统,其包含:一组接收资料符号之输入埠;一组具有一堆叠以储存堆叠符号之直接执行剖析器,该剖析器反应于该被接收的资料符号而能够处理堆叠符号;一组可利用该剖析器存取之剖析器列表,该剖析器列表能够被充填以可利用至少一组被接收的资料符号以及由该剖析器所供应之一组堆叠符号之组合加以索引之产生法则程式码;一组可利用该剖析器存取之产生法则列表,该产生法则列表能够被充填以可利用产生法则程式码加以索引之产生法则;一组第一语意程式码执行引擎,当被该直接执行剖析器提示时,其能够使用被该剖析器指示之机器指令片段而执行引擎指令;以及一组可利用该语意程式码执行引擎存取之语意程式码表,该语意程式码表能够被充填以可利用产生法则程式码加以索引之机器指令片段。2.如申请专利范围第1项之系统,其进一步地包含一组第二语意程式码执行引擎,当被该直接执行剖析器提示时,其使用被该剖析器指示之机器指令而能够执行引擎指令,该第一和第二语意程式码执行引擎能够有平行机器指令执行。3.如申请专利范围第2项之系统,其进一步地包含一组具有一微处理机和相关记忆体之例外处理单元,该例外处理单元能够在该等语意程式码执行引擎之至少一组的要求时进行作业。4.如申请专利范围第2项之系统,其进一步地包含被连接至该等语意程式码执行引擎之至少一组的方块输入/输出埠,该方块输入/输出埠能够在至少一组语意程式码执行引擎控制之下启动方块输入/输出操作。5.如申请专利范围第2项之系统,其中一组产生法则程式码允许该直接执行剖析器决定一组语意程式码表机器指令之对应的片段是否可被引导至任何可用的语意程式码执行引擎,或者是否该片段应该被引导至一组特定语意程式码执行引擎。6.如申请专利范围第1项之系统,其进一步地包含在该直接执行剖析器和该语意程式码执行引擎之间的一组界面,当被该语意程式码执行引擎引导时,该界面具有利用直接执行剖析器暂缓执行堆叠符号处理之能力。7.如申请专利范围第1项之系统,其中该剖析器列表、产生法则列表、以及语意程式码表至少部份地存于可重新程式规划之储存部中。8.如申请专利范围第7项之系统,其中该系统处理资料封包,各资料封包依据可重新程式规划以支援用于不同网路协定语法分析的一组或者多组网路协定、剖析器列表、产生法则列表、以及语意程式码表而被格式化。9.如申请专利范围第8项之系统,其中当系统处理资料封包时,该系统可利用一组网路协定而装载剖析器列表可重新程式规划储存部。10.如申请专利范围第1项之系统,其进一步地包含被连接到一组资料储存区域且可利用该语意程式码执行引擎存取之一组机器脉络资料界面,该机器脉络资料界面管理该资料储存区域并且反应于由该语意程式码执行引擎发出之机器脉络指令而进行资料操作。11.如申请专利范围第10项之系统,该机器脉络资料界面包含一组可变化机器脉络资料界面以及一组阵列机器脉络资料界面,该阵列机器脉络资料界面能够于阵列资料上管理且进行资料操作。12.如申请专利范围第11项之系统,其中该阵列机器脉络资料界面存取至少一组资料储存区域,其具有不同于被可变化机器脉络资料界面所存取之资料储存区域的资料存取格式。13.如申请专利范围第1项之系统,其中至少该直接执行剖析器、该剖析器列表、以及该产生法则列表是使用软体被制作以组态一组微处理机和其所附带之记忆体。14.如申请专利范围第1项之系统,其中该产生法则列表能够储存位元遮罩端点符号,各位元遮罩端点符号能够指示于一对应的输入符号中之被选择的位元是“不理会"位元。15.如申请专利范围第1项之系统,其中该直接执行剖析器进行一种选自包含LL剖析、LR剖析、LALR剖析、以及递回衰降剖析之族群方法中的剖析方法。16.如申请专利范围第1项之系统,其中该直接执行剖析器能够使用一组可因各堆叠符号而被变化之可变化的输入符号前瞻値以剖析输入符号。17.如申请专利范围第16项之系统,其中该可变化的输入符号前蟾値可与产生法则一起被储存作为产生法则列表的一组値,并且其中当直接执行剖析器装载一组产生法则进入到该堆叠时,该直接执行剖析器装载该可变化的输入符号前瞻値。18.如申请专利范围第16项之系统,其中该剖析器列表包含一组二元或者三元的内容可定址记忆体(CAM),其具有字组大小能够储存对应至一组堆叠符号和高至N组输入符号之组合的项目。19.如申请专利范围第18项之系统,其中该剖析器在各存取时供应N组输入符号至剖析器列表,各CAM项目决定N组输入符号之哪一组影响供用于CAM项目之查询。20.一种积体电路,其包含:一组接收资料符号之输入埠;一组具有一堆叠以储存堆叠符号之直接执行剖析器,该剖析器反应于该被接收的资料符号而能够处理堆叠符号;一组可利用该剖析器存取之剖析器列表,该剖析器列表能够被充填以可利用一组被接收的资料符号以及由该剖析器所供应之一组堆叠符号之组合加以索引之产生法则程式码;一组可利用该剖析器存取之产生法则列表,该产生法则列表能够被充填以可利用产生法则程式码加以索引之产生法则;一组第一语意程式码执行引擎,当被该直接执行剖析器提示时,其能够使用被该剖析器指示之机器指令片段而执行引擎指令;以及一组可利用该语意程式码执行引擎存取之语意程式码表,该语意程式码表能够被充填以可利用产生法则程式码加以索引之机器指令片段。21.如申请专利范围第20项之积体电路,其进一步地包含一组第二语意程式码执行引擎,当被该直接执行剖析器提示时,其使用被该剖析器指示之机器指令而能够执行引擎指令,该第一和第二语意程式码执行引擎能够有平行机器指令执行。22.如申请专利范围第21项之积体电路,其进一步地包含一组具有一微处理机的例外处理单元,该例外处理单元能够在该等语意程式码执行引擎之至少一组的要求时进行作业。23.如申请专利范围第21项之积体电路,其进一步地包含被连接至该等语意程式码执行引擎之至少一组的方块输入/输出埠,该方块输入/输出埠能够在至少一组语意程式码执行引擎控制之下启动方块输入/输出操作。24.如申请专利范围第21项之积体电路,其中一组产生法则程式码允许该直接执行剖析器决定一组语意程式码表机器指令之对应的片段是否可被引导至任何可用的语意程式码执行引擎,或者是否该片段应该被引导至一组特定语意程式码执行引擎。25.如申请专利范围第20项之积体电路,其进一步地包含在该直接执行剖析器和该语意程式码执行引擎之间的一组界面,当被该语意程式码执行引擎引导时,该界面具有利用直接执行剖析器暂缓执行堆叠符号处理之能力。26.如申请专利范围第20项之积体电路,其中该剖析器列表、产生法则列表、以及语意程式码表至少部份地存于可重新程式规划之储存部中。27.如申请专利范围第26项之积体电路,其中该剖析器列表、产生法则列表、以及语意程式码表包含供较大列表所用之快取记忆体,其存在于从该积体电路分离之记忆体中。28.如申请专利范围第20项之积体电路,其进一步地包含被连接到一组资料储存区域且可利用该语意程式码执行引擎存取之一组机器脉络资料界面,该机器脉络资料界面管理该资料储存区域并且反应于由该语意程式码执行引擎发出之机器脉络指令而进行资料操作。29.如申请专利范围第28项之积体电路,其中该资料储存区域是至少部份地被整合于该积体电路上。30.如申请专利范围第28项之积体电路,该机器脉络资料界面包含一组可变化机器脉络资料界面以及一组阵列机器脉络资料界面,该阵列机器脉络资料界面能够于阵列资料上管理且进行资料操作。31.如申请专利范围第30项之积体电路,其中该阵列机器脉络资料界面存取至少一组资料储存区域,其具有不同于被可变化机器脉络资料界面所存取之资料储存区域的资料存取格式。32.一种积体电路,其包含:一组接收资料符号之输入埠;一组具有一组堆叠以储存堆叠符号之直接执行剖析器,该剖析器反应于该被接收的资料符号而能够处理堆叠符号;一组可利用该剖析器存取之剖析器列表,该剖析器列表能够被充填以可利用一组被接收的资料符号以及由该剖析器所供应之一组堆叠符号之组合加以索引之产生法则程式码;一组可利用该剖析器存取之产生法则列表,该产生法则列表能够被充填以可利用产生法则程式码加以索引之产生法则;多数个语意程式码执行引擎,当被该直接执行剖析器提示时,其各能够使用被该剖析器指示之机器指令片段而执行引擎指令:一组可利用该语意程式码执行引擎存取之语意程式码表,该语意程式码表能够被充填以可利用产生法则程式码加以索引之机器指令片段;以及一组机器脉络资料界面,其可连接至一组资料储存区域且可利用该语意程式码执行引擎而存取,该机器脉络资料界面管理该资料储存区域并且反应于由该语意程式码执行引擎发出之机器脉络指令而进行资料操作。33.如申请专利范围第32项之积体电路,其进一步地包含:一组第一滙流排,其在该语意程式码执行引擎和该语意程式码表之间;以及一组第二滙流排,其在该语意程式码执行引擎和该机器脉络资料界面之间。34.如申请专利范围第33项之积体电路,其进一步地包含一组输入滙流排以允许该语意程式码执行引擎存取该资料符号。35.如申请专利范围第32项之积体电路,其进一步地包含在该直接执行剖析器和该语意程式码执行引擎之间的一组界面,该界面可存取各语意程式码执行引擎之状态资讯并且可依据一组语意程式码执行引擎之状态而具有利用该直接执行剖析器暂缓执行堆叠符号处理之能力。36.如申请专利范围第35项之积体电路,其中该状态资讯包含对应至该语意程式码执行引擎并且可利用该对应的语意程式码执行引擎而设定之一组信息。37.一种积体电路,其包含:一组接收资料符号之输入埠;一组直接执行剖析器,其包含一组储存堆叠符号之堆叠,该剖析器反应于被接收的资料而能够处理堆叠符号,一组剖析器列表界面,其允许该剖析器存取一组能够被充填以产生法则程式码之剖析器列表,各程式码可利用一组被接收的资料符号和由该剖析器所供应之一组堆叠符号的组合而加以索引,一组产生法则列表界面,其允许该剖析器存取一组能够被充填以产生法则之产生法则列表,各法则可利用产生法则程式码而加以索引;以及一组第一语意程式码执行引擎,当被该直接执行剖析器提示时,能够使用被该剖析器指示之机器指令片段而执行引擎指令;以及一组语意程式码表界面,其允许该语意程式码执行引擎存取一组能够被充填以对应至产生法则的机器指令片段的语意程式码表。38.如申请专利范围第36项之积体电路,其进一步地包含被整合于电路上之剖析器列表、产生法则列表、以及语意程式码表的至少一部份。39.如申请专利范围第36项之积体电路,其中该产生法则列表能够储存位元遮罩端点符号,各位元遮罩端点符号能够指示于一对应的输入符号中之被选择的位元是“不理会"位元。40.如申请专利范围第36项之积体电路,其中该直接执行剖析器进行一种选自包含LL剖析、LR剖析、LALR剖析、以及递回衰降剖析之族群方法中的剖析方法。41.如申请专利范围第36项之积体电路,其中该直接执行剖析器能够使用一组可因各堆叠符号而被变化之可变化输入符号前瞻値以剖析输入符号。42.如申请专利范围第41项之积体电路,其中该可变化的输入符号前蟾値可与产生法则一起被储存作为产生法则列表的一组値,并且其中当直接执行剖析器装载一组产生法则进入到该堆叠时,该直接执行剖析器装载该可变化的输入符号前瞻値。43.如申请专利范围第41项之积体电路,其中该剖析器列表包含一组二元或者三元的内容可定址记忆体(CAM),其具有字组大小能够储存对应至一组堆叠符号和高至N组输入符号之组合的项目。44.如申请专利范围第43项之积体电路,其中该剖析器在各存取时供应N组输入符号至剖析器列表,各CAM项目决定N组输入符号之哪一组影响供用于CAM项目之查询。45.一种组态一资料处理器以处理资料图资料输入流之方法,该方法包含:储存一组用以说明资料图之产生法则于一产生法则列表中,各法则包含一组或者多组符号;储存一组语意执行引擎指令于一语意程式码表中,该语意执行引擎指令包含相关于至少一些该等产生法则之程式码片段;并且储存一组参考该等产生法则之产生法则程式码于一剖析器列表中。46.如申请专利范围第45项之方法,其进一步地包含启始化一组直接执行剖析器,当接收到资料图资料输入流中之一开始符号时,依据被储存之产生法则而开始剖析一资料图。47一种操作一网路处理器之方法,该方法包含:在一组输入埠,检测包含多数个资料符号之资料图的开始之接收;依据一组被储存之产生法则而引导一直接执行剖析器以剖析来自该资料图之资料符号;并且至少一次地在该剖析处理时,引导一组语意程式码执行引擎以执行相关于一组产生法则的一组程式码片段。48.如申请专利范围第47项之方法,其进一步地包含在该程式码片段执行时,执行产生一组机器脉络资料要求至一组附带之机器脉络资料界面的一组程式码,并且转译该机器脉络资料要求为至少一组实际的记忆体操作。49.如申请专利范围第47项之方法,其进一步地包含:检测无法被一语意程式码执行引擎处理之资料图内容的发生;并且引导一组例外处理单元以处理该资料图内容。50.如申请专利范围第47项之方法,其中执行该程式码片段包含引导一组方块输入/输出资料操作至一组方块输入/输出埠。51.一种制作一网路封包协定之方法,该方法包含:分割该协定成为一些可剖析文法产生法则,其各包含选自终端和非终端符号的族群之至少一组符号,以及对于至少某些该等产生法则将利用一组执行引擎而被进行之一些机器脉络作业;指定一组非终端程式码和一组产生法则程式码至各产生法则;以一组机器可储存格式而组织该文法产生法则,其可利用产生法则程式码而加以索引;以一组执行引擎指示指令码格式而组织该机器脉络作业,其可利用相关于该对应的产生法则之产生法则程式码而加以索引;并且以机器可储存格式而产生一组产生法则程式码之剖析器列表,其可利用一组非终端符号和至少一组符号之组合而加以索引,该符号是出现于将利用网路封包协定被剖析的一组封包中。52.如申请专利范围第51项之方法,其进一步地包含附加一组字首程式码至机器可储存格式产生法则中之符号,该字首程式码指示各符号是否为一组终端或者非终端符号。53.如申请专利范围第52项之方法,该字首程式码进一步地指示一组终端符号是否可匹配被配成对之任何网路封包协定符号。54.如申请专利范围第51项之方法,其进一步地包含,对于至少一组终端符号,指定一组位元遮罩至该符号并且利用包含该符号之产生法则而储存该位元遮罩。55.如申请专利范围第51项之方法,其进一步地包含依据一组非终端符号和多数个输入符号之组合而设定至少一些指标于该剖析器列表中。56.如申请专利范围第55项之方法,其中于该剖析器列表中之各指标可取决于N组指标位置中之多至N组之输入符号,并且其中设定至少一些指标于该剖析器列表中包含,对于各指标,使用在1和N组指标位置之间,且设定其余的指标位置至一“不理会"情况,如果有的话。图式简单说明:第1图包含用于一般的von Neumann机器之方块图;第2图包含本发明发明者先前专利之预测性剖析器图型辨认器之方块图;第3图展示依据本发明实施例之语意处理器的方块形式;第4图展示有用于本发明实施例的一组可能剖析器列表机构图形;第5图展示有用于本发明实施例的一组可能产生法则列表机构图形;第6图展示有用于本发明实施例之供用于直接进行剖析器(DXP)的一组制作之方块形式;第7图包含第6图展示之DXP操作的流程图;第8图展示依据本发明实施例之可重新组配语意处理器的方块图;第9图展示有用于本发明实施例之语意程式码执行引擎的方块机构图形;第10图展示位址解析度协定封装格式之图形;以及第11图展示使用内容可定址记忆体(CAM)之不同的剖析器列表制作图形。
地址 美国