US9535847B2

Apparatus and method for compression of configuration data

Summary by NHIP

Multi-core configuration compression apparatus

The apparatus compresses configuration data for multiple processor cores using a device programmer with a virtual fuse array and compressor. The compressor employs distinct algorithms for system hardware data and microcode patch data before programming semiconductor fuses on the die.

Claim Score by NHIP

Read claim 10, the broadest

Abstract

An apparatus includes a device programmer, coupled to a plurality of semiconductor fuses disposed on a die, configured to program the plurality of semiconductor fuses with compressed configuration data for a plurality of cores disposed separately on the die. The device programmer has a virtual fuse array and a compressor. The virtual fuse array is configured to store the configuration data for the plurality of cores. The configuration data includes a plurality of data types. The compressor is coupled to the virtual fuse array and is configured to read the virtual fuse array, and is configured to compress the configuration data by employing a plurality of compression algorithms to generate the compressed configuration data, where the plurality of compression algorithms correspond to the plurality of data types.

US9535847B2, drawing sheet 1
Sheet 1 of 11

Term

6.9 yearsleft in the term

Expires 21 August 2033.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

14 claims: 3 independent, 11 dependent

  1. 1
    An apparatus for compressing and storing configuration data for a multi-core processor, the apparatus comprising:a device programmer, coupled to a plurality of semiconductor fuses disposed on a die, configured to program said plurality of semiconductor fuses with compressed configuration data for a plurality of cores disposed separately on said die, wherein each of said plurality of cores, upon power-up/reset, accesses and decompresses all of said compressed configuration data, for initialization of elements within said each of said plurality of cores, and wherein a first one of said plurality of data types comprises system hardware configuration data that said each of said plurality of cores employs to initialize control circuit elements within said each of said plurality of cores, and wherein a second one of said plurality of data types comprises microcode patch data that said each of said plurality of cores employs to initialize microcode patch elements within said each of said plurality of cores, said device programmer comprising:a virtual fuse array, configured to store the configuration data for said plurality of cores, said configuration data comprising a plurality of data types;anda compressor, coupled to said virtual fuse array, configured to read said virtual fuse array, and configured to compress the configuration data by employing a plurality of compression algorithms to generate said compressed configuration data, wherein said plurality of compression algorithms correspond to said plurality of data types.
  2. 5
    An apparatus for compressing and storing configuration data for a multi-core processor, the apparatus comprising:a device programmer, coupled to a plurality of semiconductor fuses disposed on a die, configured to program said plurality of semiconductor fuses with compressed configuration data for a plurality of cores disposed separately on said die, said device programmer comprising: a virtual fuse array, configured to store the configuration data for said plurality of cores, said configuration data comprising a plurality of data types, said plurality of data types comprising: system hardware configuration data, wherein said system hardware configuration data is not compressed, is programmed into each of said plurality of semiconductor fuses, is accessed by said each of said plurality of cores, and is employed to initialize control circuit elements within said each of said plurality of cores;microcode patch data, wherein said microcode patch data is compressed, is programmed into said plurality of semiconductor fuses, is accessed and decompressed by said each of said plurality of cores, and is employed to initialize microcode patch elements within said each of said plurality of cores;microcode register data;andcache correction data;anda compressor, coupled to said virtual fuse array, configured to read said virtual fuse array, and configured to compress the configuration data by employing a plurality of compression algorithms to generate said compressed configuration data, wherein said plurality of compression algorithms correspond to said plurality of data types.
  3. 10
    Broadest claimClaim Score 45, average(NHIP)A method for compressing and storing configuration data for a multi-core processor, the method comprising:coupling a device programmer to a plurality of semiconductor fuses disposed on a die, and programming the plurality of semiconductor fuses with compressed configuration data for a plurality of cores disposed separately on the die, wherein a first one of the plurality of data types comprises system hardware configuration data that each of the plurality of cores employs to initialize control circuit elements within the each of the plurality of cores, and wherein a second one of the plurality of data types comprises microcode patch data that the each of the plurality of cores employs to initialize microcode patch elements within the each of the plurality of cores, said coupling comprising:storing the configuration data for the plurality of cores in a virtual fuse array, the configuration data comprising a plurality of data types;andreading the virtual fuse array, and compressing the configuration data by employing a plurality of compression algorithms to generate the compressed configuration data, wherein the plurality of compression algorithms corresponds to the plurality of data types.