Hardware support for instruction set emulation
    2.
    发明授权
    Hardware support for instruction set emulation 有权
    硬件支持指令集仿真

    公开(公告)号:US08069023B1

    公开(公告)日:2011-11-29

    申请号:US12202742

    申请日:2008-09-02

    IPC分类号: G06F17/50

    摘要: A method for emulating a nexthop instruction in microcode with the assistance of dedicated hardware to extract read and write addressing from the nexthop instruction instead of performing this operation in microcode. A method for emulating a nexthop instruction in microcode with the assistance of dedicated hardware to compare a nexthop read address to a special value and to indicate whether the nexthop read address matches the special value, instead of performing this operation in microcode. A method for determining a network address by performing a single extraction of bit fields of a tree instruction to allow multiple tree search processes to be performed.

    摘要翻译: 一种在专用硬件协助下仿真微代码中的下一跳指令的方法,用于从下一跳指令中提取读取和写入寻址,而不是在微码中执行该操作。 一种在专用硬件的协助下仿真微代码中的下一跳指令的方法,用于将下一跳读取地址与特殊值进行比较,并指示下一跳读取地址是否匹配特殊值,而不是以微码执行该操作。 一种通过执行树指令的位字段的单次提取来确定网络地址以允许执行多个树搜索处理的方法。

    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE
    6.
    发明申请
    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE 有权
    使用可编程分支表快速分支的系统和方法

    公开(公告)号:US20120084534A1

    公开(公告)日:2012-04-05

    申请号:US13323358

    申请日:2011-12-12

    IPC分类号: G06F9/38 G06F9/32 G06F9/312

    摘要: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.

    摘要翻译: 与本发明一致的方法和系统提供了可编程表,其允许软件定义多个分支功能,每个分支功能将条件代码的向量映射到分支偏移。 该技术允许灵活的多路分支功能,使用可由程序员指定的条件分支结果表。 任何指令都可以指定任意条件表达式的计算,以计算条件代码的值,并可以选择特定的分支函数。 当处理器执行指令时,处理器的算术/逻辑功能单元评估条件表达式,然后处理器根据指定的分支函数执行分支操作。

    Fast execution of branch instruction with multiple conditional expressions using programmable branch offset table
    7.
    发明授权
    Fast execution of branch instruction with multiple conditional expressions using programmable branch offset table 有权
    使用可编程分支偏移表快速执行具有多个条件表达式的分支指令

    公开(公告)号:US08078849B2

    公开(公告)日:2011-12-13

    申请号:US12342851

    申请日:2008-12-23

    IPC分类号: G06F9/32

    摘要: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.

    摘要翻译: 与本发明一致的方法和系统提供了可编程表,其允许软件定义多个分支功能,每个分支功能将条件代码的向量映射到分支偏移。 该技术允许灵活的多路分支功能,使用可由程序员指定的条件分支结果表。 任何指令都可以指定任意条件表达式的计算,以计算条件代码的值,并可以选择特定的分支函数。 当处理器执行指令时,处理器的算术/逻辑功能单元评估条件表达式,然后处理器根据指定的分支函数执行分支操作。

    Branching to target address by adding value selected from programmable offset table to base address specified in branch instruction
    8.
    发明授权
    Branching to target address by adding value selected from programmable offset table to base address specified in branch instruction 有权
    通过将从可编程偏移表中选择的值添加到分支指令中指定的基址来分支到目标地址

    公开(公告)号:US08332622B2

    公开(公告)日:2012-12-11

    申请号:US13323358

    申请日:2011-12-12

    IPC分类号: G06F9/32

    摘要: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.

    摘要翻译: 与本发明一致的方法和系统提供了可编程表,其允许软件定义多个分支功能,每个分支功能将条件代码的向量映射到分支偏移。 该技术允许灵活的多路分支功能,使用可由程序员指定的条件分支结果表。 任何指令都可以指定任意条件表达式的计算,以计算条件代码的值,并可以选择特定的分支函数。 当处理器执行指令时,处理器的算术/逻辑功能单元评估条件表达式,然后处理器根据指定的分支函数执行分支操作。

    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE
    9.
    发明申请
    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE 有权
    使用可编程分支表快速分支的系统和方法

    公开(公告)号:US20100161949A1

    公开(公告)日:2010-06-24

    申请号:US12342851

    申请日:2008-12-23

    IPC分类号: G06F9/38

    摘要: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.

    摘要翻译: 与本发明一致的方法和系统提供了可编程表,其允许软件定义多个分支功能,每个分支功能将条件代码的向量映射到分支偏移。 该技术允许灵活的多路分支功能,使用可由程序员指定的条件分支结果表。 任何指令都可以指定任意条件表达式的计算,以计算条件代码的值,并可以选择特定的分支函数。 当处理器执行指令时,处理器的算术/逻辑功能单元评估条件表达式,然后处理器根据指定的分支函数执行分支操作。

    Dynamically adjusting hash table capacity
    10.
    发明授权
    Dynamically adjusting hash table capacity 有权
    动态调整哈希表容量

    公开(公告)号:US08938469B1

    公开(公告)日:2015-01-20

    申请号:US13239774

    申请日:2011-09-22

    IPC分类号: G06F17/30

    CPC分类号: H04L45/7453

    摘要: An example hashing unit includes a plurality of hardware-based hash tables, wherein each of the hash tables comprises a plurality of buckets, and wherein the plurality of hash tables comprise a set of zero or more active hash tables and a set of one or more inactive hash tables. An example hashing unit controller is configured to receive a key value to be stored in the hashing unit, determine that one of the inactive hash tables should be activated, and, based on the determination, activate the one of the set of inactive hash tables as a recently activated hash table, determine one of the buckets of the recently activated hash table to which a hash function associated with the recently activated hash table maps the received key value, and store the key value in the determined one of the buckets of the recently activated hash table.

    摘要翻译: 示例性散列单元包括多个基于硬件的散列表,其中每个散列表包括多个桶,并且其中所述多个散列表包括一组零个或多个活动散列表和一组一个或多个 不活动的哈希表。 示例性散列单元控制器被配置为接收要存储在散列单元中的密钥值,确定应激活其中一个非活动散列表,并且基于该确定,将该非活动散列表中的一个激活为 最近激活的散列表确定最近激活的散列表的一个桶,其中与最近激活的散列表相关联的散列函数映射到接收到的密钥值,并将密钥值存储在最近确定的一个桶中 激活哈希表。