A functional-level instruction-set computing (FLIC) architecture executes
higher-level functional instructions such as lookups and bit-compares of
variable-length operands. Each FLIC processing-engine slice has
specialized processing units including a lookup unit that searches for a
matching entry in a lookup cache. Variable-length operands are stored in
execution buffers. The operand length and location in the execution
buffer are stored in fixed-length general-purpose registers (GPRs) that
also store fixed-length operands. A copy/move unit moves data between
input and output buffers and one or more FLIC processing-engine slices.
Multiple contexts can each have a set of GPRs and execution buffers. An
expansion buffer in a FLIC slice can be allocated to a context to expand
that context's execution buffer for storing longer operands. The FLIC
engine is optimized to parse, lookup, and process long strings common in
content-service requests and can offload file-server requests by looking
up meta-data and pointers.