Fast execution of branch instruction with multiple conditional expressions using programmable branch offset table
    1.
    发明授权
    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.

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

    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE
    4.
    发明申请
    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.

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

    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE
    5.
    发明申请
    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.

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

    MAINTAINING DATA UNIT ORDER IN A NETWORK SWITCHING DEVICE
    6.
    发明申请
    MAINTAINING DATA UNIT ORDER IN A NETWORK SWITCHING DEVICE 有权
    维护网络切换设备中的数据单元订单

    公开(公告)号:US20110158124A1

    公开(公告)日:2011-06-30

    申请号:US13045312

    申请日:2011-03-10

    IPC分类号: H04L12/26

    摘要: Data units received by a network device may be classified into traffic flow classes in which the determined traffic flow class for a data unit may be dynamically refined as the data unit is processed by the network device. A dispatch component of the network device may receive data units associated with traffic flow classes. Parallel processing engines of the network device may receive the data units from the dispatch component and may generate, for a least one of the data units, a plurality of dynamically refined indications of the traffic flow class to which the data unit belongs. Additionally, an ordering component of the network device may include a plurality of re-order queues, where the at least one data unit successively progresses through at least two of the re-order queues in an order defined by the plurality of dynamically refined indications of the traffic flow class.

    摘要翻译: 由网络设备接收的数据单元可以被分类为业务流类别,其中所确定的数据单元的业务流类别可以由网络设备处理数据单元时动态地改进。 网络设备的调度组件可以接收与业务流类别相关联的数据单元。 网络设备的并行处理引擎可以从调度组件接收数据单元,并且可以为数据单元中的至少一个数据单元生成数据单元所属的业务流类别的多个动态精确的指示。 另外,网络设备的排序组件可以包括多个重新排序队列,其中至少一个数据单元以由多个动态精简指示定义的顺序连续地进行至少两个重排队列 交通流量类。

    Use of cache to reduce memory bandwidth pressure with processing pipeline
    7.
    发明授权
    Use of cache to reduce memory bandwidth pressure with processing pipeline 有权
    使用缓存来减少内存带宽压力与处理流水线

    公开(公告)号:US08627007B1

    公开(公告)日:2014-01-07

    申请号:US12607510

    申请日:2009-10-28

    IPC分类号: G06F12/00

    摘要: A data read/write system includes a system clock, a single port memory, a cache memory that is separate from the single port memory, and a controller coupled to an instruction pipeline. The controller receives, via the instruction pipeline, first data to write to an address of the single port memory, and further receives, via the instruction pipeline, a request to read second data from the single port memory. The controller stores the first data in the cache memory, and retrieves the second data from either the cache memory or the single port memory during one or more first clock cycles of the system clock. The controller copies the first data from the cache memory and stores the first data at the address in the single port memory during a second clock cycle of the system clock that is different than the one or more first clock cycles.

    摘要翻译: 数据读/写系统包括系统时钟,单端口存储器,与单端口存储器分开的高速缓存存储器,以及耦合到指令流水线的控制器。 控制器经由指令流水线接收第一数据以写入单端口存储器的地址,并且经由指令流水线接收从单端口存储器读取第二数据的请求。 控制器将第一数据存储在高速缓冲存储器中,并且在系统时钟的一个或多个第一时钟周期期间从高速缓冲存储器或单端口存储器检索第二数据。 控制器从高速缓冲存储器复制第一数据,并且在系统时钟的不同于一个或多个第一时钟周期的第二时钟周期期间将第一数据存储在单端口存储器中的地址处。

    Maintaining data unit order in a network switching device
    8.
    发明授权
    Maintaining data unit order in a network switching device 有权
    维护网络交换设备中的数据单元顺序

    公开(公告)号:US07924860B1

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

    申请号:US12343318

    申请日:2008-12-23

    IPC分类号: H04L12/56

    摘要: Data units received by a network device may be classified into traffic flow classes in which the determined traffic flow class for a data unit may be dynamically refined as the data unit is processed by the network device. A dispatch component of the network device may receive data units associated with traffic flow classes. Parallel processing engines of the network device may receive the data units from the dispatch component and may generate, for a least one of the data units, a plurality of dynamically refined indications of the traffic flow class to which the data unit belongs. Additionally, an ordering component of the network device may include a plurality of re-order queues, where the at least one data unit successively progresses through at least two of the re-order queues in an order defined by the plurality of dynamically refined indications of the traffic flow class.

    摘要翻译: 由网络设备接收的数据单元可以被分类为业务流类别,其中所确定的数据单元的业务流类别可以由网络设备处理数据单元时动态地改进。 网络设备的调度组件可以接收与业务流类别相关联的数据单元。 网络设备的并行处理引擎可以从调度组件接收数据单元,并且可以为数据单元中的至少一个数据单元生成数据单元所属的业务流类别的多个动态精确的指示。 另外,网络设备的排序组件可以包括多个重新排序队列,其中至少一个数据单元以由多个动态精简指示定义的顺序连续地进行至少两个重排队列 交通流量类。

    Hardware support for instruction set emulation
    10.
    发明授权
    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.

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