Parallel Read Functional Unit for Microprocessors

US Patent No: US 8,352,708 B2

Issued: January 8, 2013

USPTO Patent PDF| Google Patents

Security Area: Cryptography & AI Acceleration

Abstract

A functional unit for a microprocessor is provided, which allows for fast, parallel data read, write, and manipulation operations in the microprocessor that are useful for a number of software applications, such as cryptography. The functional unit includes first and second source registers for receiving first and second data items to be processed by the functional unit, first and second banks of memory tables, a combinational logic circuit, and a decoder. The first and second banks of memory tables are in communication with the first source register, and each of the tables is indexed by an index comprising a portion of the first data item received by the first source register. Each index points to a lookup result in a respective one of the memory tables. The combinational logic circuit is in communication with the first and second banks of memory tables and the second source register, receives the lookup results, and processes the lookup results and the second data item in the second source register to produce a result data item. The decoder circuit is in communication with the combinational logic circuit, and extracts an operational code from an instruction supplied to the functional unit, decodes the operational code, and controls the combinational logic circuit in accordance with the operational code.

  • The present invention relates to a functional unit for a microprocessor, which allows for fast, parallel data read, write, and manipulation operations in the microprocessor that are useful for a number of Software applications, such as cryptography. The functional unit includes first and second Source registers for receiving first and second data items to be processed by the functional unit; a first bank of memory tables in connected in parallel to the first source register, each of the first bank of memory tables indexed by a first index comprising a first portion of the first data item received by the first Source register, the index pointing to a first lookup result in a respective one of the first bank of memory tables; a second bank of memory tables in connected in parallel to the first Source register, each of the second bank of memory tables indexed by a second index comprising a second portion of the first data item received by the first source register, the index pointing to a second lookup result in a respective one of the second bank of memory tables; a combinational logic circuit in communication with the first and second banks and the second source register, the combinational logic circuit receiving the lookup results from the first and second banks and processing the lookup results and the second data item in the second source register to produce a result data item; and a decoder circuit in communication with the combinational logic circuit, the decoder circuit extracting an operational code from an instruction Supplied to the functional unit, decoding the operational code, and controlling the combinational logic circuit in accordance with the operational code.

Related Patent

Related patent covers variations of this invention with different claims.

US 8,943,297 B2 (Issued: January 27, 2015)