throbber
United States Patent (19)
`Henry et al.
`
`54
`
`(75)
`
`FUSE ARRAY CONTROL FOR SMART
`FUNCTION ENABLE
`
`Inventors: G. Glenn Henry; Arturo
`Martin-de-Nicolas; Daniel G. Miner,
`all of Austin, TeX.
`Assignee: Integrated Device Technology, Inc.,
`Santa Clara, Calif.
`
`Appl. No.: 892,640
`Filed:
`Jul. 15, 1997
`Int. Cl." ............................................... G06F 15/00
`U.S. Cl. ............
`... 364/488; 364/490
`Field of Search ............................... 395/800.01, 181,
`395/182.01, 182.08; 364/488, 489, 490,
`491
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`8/1987 McElroy ................................. 307/269
`4,687,951
`4,855,613 8/1989 Yamada et al.
`307/202.1
`4,972,105 11/1990 Burton et al. ........................... 307/468
`5,193,199 3/1993 Dalrymple et al. ..................... 395/775
`5,270,976 12/1993 Tran ..................
`... 365/200
`5,281,868
`1/1994 Morgan .....
`... 307/441
`5,301,143 4/1994 Ohri et al. ................................ 365/96
`5,303,181 4/1994 Stockton ................................... 365/96
`5,430,679 7/1995 Hiltebeitel et al. ..................... 365/200
`5,442,589 8/1995 Kowalski ..........
`365/225.7
`5,444,000 8/1995 Ohkubo et al. ............................. 437/8
`
`USOO5889679A
`Patent Number:
`11
`(45) Date of Patent:
`
`5,889,679
`Mar. 30, 1999
`
`5,455,937 10/1995 Berman et al. ......................... 395/500
`5,467,304 11/1995 Uchida et al. .......................... 365/174
`5,471,431 11/1995 McClure .....
`... 36.5/225.7
`5,495,446 2/1996 Teel et al. ............................... 365/200
`5,521,116
`5/1996 Boku ......................................... 437/60
`5,528,539 6/1996 Ong et al.
`365/200
`5,548,555 8/1996 Lee et al. .
`365/200
`5,552,743 9/1996 Manning .
`... 327/567
`5,566,107 10/1996 Gilliam ...
`... 365/200
`365/200
`5,596,535
`1/1997 Mushya et al.
`... 365/201
`5,596,538
`1/1997 Joo ..............
`5,734,274 3/1998 Gavish ...................................... 327/48
`Primary Examiner Dennis M. Butler
`Attorney, Agent, or Firm James W. Huffman
`57
`ABSTRACT
`An apparatus and method for Smart configuration of func
`tional blocks within a Semiconductor device is provided. A
`fuse array contains a plurality of fuses that are blown in
`manufacturing to enable/disable functional blocks on the
`Semiconductor device. A control unit reads the State of the
`fuses, and logically merges the fuse States with a default
`configuration for the functional blocks. The result of the
`merge operation is Stored in a feature control register that
`individually enables/disables the functional blocks. The con
`trol unit also receives a write command from an external
`Source that modifies the feature control register, after the
`device is shipped from the manufacturer. The control unit
`Selectively blocks writes to the feature control register that
`attempt to enable/disable functional blocks that should not
`modified.
`
`47 Claims, 4 Drawing Sheets
`
`300
`
`
`
`Power
`Management
`
`Cache - TB
`
`Fuse Array
`Control
`
`Floating Point Unit
`
`CallIReturn Stack
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 1
`
`

`

`U.S. Patent
`
`Mar. 30, 1999
`
`Sheet 1 of 4
`
`5,889,679
`
`FIG. 1 (Prior art)
`
`FIG. 2 (Prior art)
`
`
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 2
`
`

`

`U.S. Patent
`
`Mar. 30, 1999
`
`Sheet 2 of 4
`
`5,889,679
`
`FIG. 5
`
`
`
`, 300
`
`Cache - TLB
`
`Fuse Array
`Control
`
`POWer
`Management
`
`Floating Point Unit
`
`Call/Return Stack
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 3
`
`

`

`U.S. Patent
`
`Mar. 30, 1999
`
`Sheet 3 of 4
`
`5,889,679
`
`FIG. 4
`
`
`
`fuse array
`
`FCR, default
`
`FPU
`MMX
`Cache-TLB's
`Cal/Return Stack
`Power Management
`JCR
`
`CONTROL
`ROM
`
`CONTROL
`UNIT
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 4
`
`

`

`U.S. Patent
`
`Mar. 30, 1999
`
`Sheet 4 of 4
`
`5,889,679
`
`FIG 5
`
`O
`
`/* Fig. 7
`
`
`
`Begin
`Configuration
`
`502
`
`Read
`
`Store Fuse
`State in TEMP
`Register
`
`506
`
`initialize FCR
`with default
`
`508
`
`Compliment
`TEMP and
`XOR with
`FCR
`
`510
`
`512
`
`FIG. (3
`
`
`
`
`
`TLB
`
`
`
`POWer
`Management
`
`Floating
`Point Unit
`
`MMX
`
`Fuse Array
`Control
`
`Control
`Unit
`630
`
`
`
`
`
`
`
`
`
`
`
`
`
`700
`
`Begin
`
`Execute
`R-M-W
`Instruction
`
`704
`
`Block
`OverWrite
`
`708
`
`Does
`OverWrite
`effect "sticky"
`functional
`blocks?
`
`706
`
`710
`
`600
`
`650
`
`660
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 5
`
`

`

`1
`FUSE ARRAY CONTROL FOR SMART
`FUNCTION ENABLE
`
`5,889,679
`
`2
`conductor device, whether a memory cell, or a complex
`circuit, is that once the State of the fuse is modified, i.e., by
`blowing the fuse, the effect on the Semiconductor device is
`forever changed. Where fuses are used to replace defective
`memory cells with redundant memory cells, this is not a
`Serious issue. However, when fuses are used to enable/
`disable more Sophisticated functional blocks within a Semi
`conductor device, the permanent “fused’ condition is much
`more costly.
`For example, if a fuse circuit were used to enable a
`floating point unit on a microprocessor, at the time of
`manufacture, a fuse would be blown (or left intact) to enable
`the FPU. All microprocessors manufactured at the same time
`would also have their FPU's enabled. If at Some later point
`it was determined that the floating point unit was defective,
`there would be no way to disable the defective floating point
`unit. All of the microprocessors manufactured in that batch
`would have to be thrown away. This is very costly, not only
`for the original manufacturer, but also for all OEM’s that
`maintained inventories of the microprocessor to build their
`products. One notorious example of a costly floating point
`unit problem required the manufacturer to provide a no
`questions asked replacement policy for all defective micro
`processors.
`Alternatively, if a particular functional block on a micro
`processor is operational, but at the time of manufacture it is
`not desired to turn it “on”, its associated fuse is blown,
`thereby permanently disabling the functional block. When a
`decision is made to turn the functional block on, currently
`manufactured microprocessors have their fuse left intact.
`However, for all of the microprocessors whose fuses are
`already blown, it is too late.
`Moreover, as the number of functional blocks on semi
`conductor devices increase, So does the number of associ
`ated fuses. Requiring a one to one correspondence between
`functional blocks to be enabled/disabled and control fuses
`becomes costly, and takes up valuable die Space.
`What is needed is an apparatus that Solves the above
`problems by providing an apparatus and method that allows
`functional blocks on Semiconductor devices to be enabled/
`disable via a fuse array, but which also allows enablement of
`the functional blocks to be set to a predetermined default, or
`later modified through software.
`SUMMARY
`To address the above-detailed deficiencies, it is an object
`of the present invention to provide an apparatus that allows
`for Smart enabling of functional units on Semiconductor
`devices.
`Accordingly, in the attainment of the aforementioned
`object, it is a feature of the present invention to provide a
`microprocessor that has a number of functional blocks that
`may be individually enabled/disabled. The microprocessor
`includes a fuse array control and a control unit. The fuse
`array control is coupled to the functional blocks and Selec
`tively signals the functional blocks to be enabled/disabled.
`The fuse array control includes a fuse array. The control unit
`is coupled to the fuse array control, reads the fuse array, and
`indicates to the fuse array control which of the plurality of
`functional blocks should be enabled/disabled.
`An advantage of the present invention is that functional
`blocks within a microprocessor may be Selectively enabled/
`disabled, either by blowing fuses within a fuse array, during
`manufacturing, or later Via Software control, regardless of
`the state of the blown fuses.
`A further object of the present invention is to design a
`microprocessor that incorporates a number of different func
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`This invention relates in general to the field of Semicon
`ductor device configuration, and more specifically to a
`method and apparatus that utilizes a Smart fuse array on a
`Semiconductor device to Selectively enable/disable particu
`lar functional units on the device.
`2. Description of the Related Art
`A fuse is a circuit element with an initial Structure that
`provides an electrical connection between two points, but
`which may be irreversibly destroyed thereby electrically
`disconnecting the two points. Fuses are Sometimes used
`within integrated circuit devices to remove defective circuits
`from active operation, and to replace those defective circuits
`with good operable redundant circuits. Such fuses are typi
`cally fabricated in a conductive layer buried within a struc
`ture of a Surrounding insulator material on the die of
`Semiconductor device. A Selected fuse is blown by directing
`a laser beam at the fuse, or by providing excessive electrical
`current to the fuse.
`An example of a fuse 102 within a semiconductor circuit
`100 is shown in FIG. 1. The fuse 102 is shown connected
`between a ground 104 and the source 106 of a FET 108. The
`FET 108 is configured to be “on”. The source 106 is
`connected to a buffer 112 that is output to a particular
`functional block (not shown) to enable or disable the func
`tional block. When the fuse 102 is intact, the Source 106 is
`low, providing a logic low signal to the buffer 112. If the fuse
`102 is blown, the Source 106 goes high, creating a logic high
`signal to the buffer 112.
`Thus, the circuit provides a permanent output from the
`buffer 112 that is either low or high, based on the condition
`of the fuse 102, intact or blown. The state of the fuse 102 is
`Set at the time of manufacture, and is not modified at a later
`time.
`To illustrate how the circuit 100 is used within a semi
`conductor device, reference is now made to FIG. 2. In FIG.
`2, a memory device 200 is shown that includes a plurality of
`individually addressable memory cells 204. Also provided
`on the memory device 200 are a plurality of redundant
`memory cells 206. Each of the memory cells 206 are
`connected to fuse circuits 208. One skilled in the art should
`appreciate that not all of the memory cells 204 may be
`functional at the end of manufacturing. Therefore, after the
`device 200 has completed the manufacturing process, the
`memory cells 206 are tested to determine if any failures
`exist. Cells 210, 212 represent failed memory cells within
`the device 200. Fuses 208 attached to the redundant memory
`cells 206 on the rows associated with cells 210, 212 are
`blown to enable operation of those memory cells. Fuses are
`blown on rows where defective memory cells exist, thereby
`enabling associated redundant memory cells 206. Thus, by
`providing redundant memory cells 206, and fuse circuits 208
`within the design of the device 200, defective memory cells
`may be selectively replaced before the device 200 is shipped
`to the customer. For a more complete background on the use
`of fuse circuits within a memory device, attention is directed
`to U.S. Pat. No. 5,548,555 to Lee et al., entitled METHOD
`AND CIRCUIT FOR REPAIRING DEFECT IN A SEMI
`CONDUCTOR MEMORY DEVICE, the contents of which
`are hereby incorporated by reference.
`One of the problems associated with utilizing fuse circuits
`to enable/disable particular functional blocks within a Semi
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 6
`
`

`

`5,889,679
`
`3
`tional blocks, each of which may be selectively turned
`on/off, either at the time of manufacturing by blowing
`Selected fuses, or after manufacturing by incorporating a
`particular default condition within a control ROM, or over
`Writing the default condition by executing a write instruction
`to a machine Specific register.
`It is therefore a feature of the present invention to provide
`a microprocessor that has a plurality of functional blockS
`that are individually enabled/disabled. The microprocessor
`includes a fuse array, a feature control register, and a control
`unit. The fuse array is fabricated on the die of the micro
`processor and includes a plurality of fuses that are individu
`ally blown during manufacturing. The feature control reg
`ister is coupled to the fuse array to Selectively enable/disable
`particular ones of the plurality of functional blocks. The
`control unit is coupled to the feature control register to read
`the state (closed or open) of the plurality of fuses, and to
`Store into the feature control register a value indicative of
`which of the plurality of functional blocks are to be enabled/
`disabled.
`An advantage of the present invention is that a single
`mask may be used to manufacture a variety of different
`microprocessors, each incorporating only those functional
`blocks that are applicable to their market.
`A further advantage of the present invention is that if
`particular functional blocks create a problem in a particular
`processing environment, they may be turned off by Simply
`Writing a particular code to a register within the micropro
`CCSSO.
`Another feature of the present invention is to provide a
`method for Selectively enabling/disabling functional blockS
`on a microprocessor. The microprocessor has a plurality of
`fuses, particular ones of which are blown during manufac
`turing. The method includes reading the State of the plurality
`of fuses, determining from the Step of reading which of the
`functional blocks are to be enabled/disabled, logically merg
`ing results from the Step of determining with a predeter
`mined configuration for the functional blocks, and enabling/
`disabling the functional blocks according to the result from
`the Step of logically merging.
`An advantage of the present invention is that if particular
`functional blocks create a problem after manufacturing, the
`microprocessor does not need to be thrown away. Rather, it
`can be reconfigured in the field, Via Software, to remove the
`particular defect.
`BRIEF DESCRIPTION OF THE DRAWINGS
`These and other objects, features, and advantages of the
`present invention will become better understood with regard
`to the following description, and accompanying drawings
`where:
`FIG. 1 is a Schematic diagram of a prior art circuit that
`incorporates a fuse to modify an input Signal to a control
`circuit.
`FIG. 2 is a block diagram of a prior art memory device
`that incorporates a plurality of Spare memory cells that may
`be selectively enabled through a fuse connection.
`FIG. 3 is a block diagram of a microprocessor that
`incorporates a fuse array function enable control according
`to the present invention.
`FIG. 4 is a block diagram of one embodiment of the fuse
`array control of FIG. 3.
`FIG. 5 is a flow chart illustrating how the feature control
`register of the present invention is Set, during power up of
`the microprocessor of FIG. 3.
`
`4
`FIG. 6 is a block diagram of the microprocessor of FIG.
`3, attached to two different memory devices.
`FIG. 7 is a flow chart illustrating how the feature control
`register of the present invention may be set via a Software
`instruction that performs a write to the feature control
`register.
`
`DETAILED DESCRIPTION
`Referring to FIG. 3, a microprocessor 300 is shown that
`includes a number of functional blocks 302-310, each
`connected to a fuse array control 320 via enable/disable
`signal lines 322. The fuse array control 320 is also connected
`to a control unit 330 that contains a control ROM 332.
`More specifically, the functional blocks include: power
`management logic 302, for managing power consumption of
`the microprocessor 300; multimedia extension (MMX) logic
`304 for executing particular audio/video instructions appli
`cable to multimedia applications, an on-chip L1 cache 306;
`a floating point unit 308, and Call/Return stack logic 310.
`Each of these functional blockS may be operationally
`enabled/disabled by the fuse array control 320, via an
`asSociated enable/disable Signal line 322. Upon power up of
`the microprocessor 300, the control unit 330 reads the state
`of fuses within the fuse array 320, and stores a value in a
`feature control register (discussed below with reference to
`FIG. 4) that selectively enables/disables each of the function
`blockS 302-310.
`Referring now to FIG. 4, a block diagram of a portion of
`a fuse array control 420 is shown, connected to a Control
`Unit 430. The fuse array control 420 contains a fuse array
`422 that in one embodiment includes 52 individually acces
`sible fuses 424. The fuses 424 may have a one to one
`correspondence with a particular functional block, Such as
`those described in FIG. 3. Or, in the alternative, a plurality
`of fuses 424 may be configured such that their combined
`states indicates which of the functional blocks should be
`enabled/disabled. A lookup table could be used that maps the
`desired states of the functional blocks with the condition of
`the fuse array 422.
`Connected to the fuse array 422 is a TEMP register 426.
`The TEMP register 426 provides a temporary storage space
`for storing the state of the fuses 424 in the fuse array 422.
`In one embodiment, at power up of the microprocessor, the
`control unit 430 reads the fuse array 422, and places stores
`the state of the fuses 424 into the TEMP register 426.
`Connected to the TEMP register 426 is a feature control
`register (FCR) 428. The FCR register 428 is used to store a
`value that affects enablement of the functional blocks. More
`specifically, the FCR register 428 is connected to enable/
`disable Signal lines 412, which in turn are connected to
`functional blocks. For example, bit 0 of the FCR register 428
`might control enablement of power management on the
`microprocessor. If bit 0 is Set to 0, power management would
`be disabled. If bit 0 is set to 1, power management would be
`enabled.
`In one embodiment of the present invention, microcode
`within the control ROM 432 stores a default value for the
`FCR register 428 that configures the functional blocks
`according to a predetermined configuration. Upon power up,
`the default value is stored into the FCR register 428. Then,
`the fuse array 422 is read by the control unit 430, and if
`appropriate, the contents of the FCR register 428 are modi
`fied. A more specific explanation of how the FCR register
`426 is set is provided, with reference to FIG. 5.
`In FIG. 5, a flow chart 500 is provided that details the
`steps taken by the Control Unit 432, in one embodiment of
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 7
`
`

`

`15
`
`S
`the invention, to set the FCR register 428. Configuration
`begins at Step 502 upon power up of the microprocessor.
`After a few cycles of power up reset, microcode gets control
`and proceeds to step 504.
`At step 504, the state of the fuse array 422 (as set by
`blowing fuses at the time of manufacture) is read by the
`Control Unit 430. Instruction flow then proceeds to step 506.
`At step 506, the state of the fuse array 422 is stored into
`the TEMP register 426. Instruction flow then proceeds to
`step 508.
`At step 508, the Control Unit 430 stores a default value,
`obtained from microcode in the Control ROM 432, into the
`FCR register 428. Instruction flow then proceeds to step 510.
`At step 510, a logical operation is performed between the
`contents of the TEMP register 426, and the FCR register
`428, with the result of the operation being stored into the
`FCR register 428. The purpose of the logical operation is to
`allow the state of the fuse array 422 to effect the value stored
`into the FCR register 428, but not make the state of the fuse
`array 422 absolutely determinative. In one embodiment, the
`state of the fuse array 422 that was read into the TEMP
`register 426 is complemented, and then XOR'ed with the
`default value stored in the FCR register 428. This logical
`operation inverts the default for bits for which the fuse has
`been blown. Instruction flow then proceeds to step 512,
`completing the configuration of the FCR register 428.
`One benefit of the logical operation is that it allows the
`state of the fuse array 422 to be converted into a value that
`has a one to one correspondence to the functional blocks,
`prior to it being merged with the default configuration.
`Another benefit of the logical operation is that it allows
`the control unit 430 to selectively ignore the configuration
`information Set by the fuse array 422. For example, it may
`be desired to fabricate a line of microprocessors that do not
`have MMX functionality. A default value for the FCR
`register 428 could indicate that this functional block is to be
`disabled. In addition, the microcode may also identify the bit
`associated with MMX as “sticky', indicating that the default
`configuration should not be changed by a write to the FCR
`(discussed below with reference to FIG. 7). Microcode
`therefore prevents the default bit associated with MMX from
`being changed after manufacturing. By providing this
`default configuration in microcode, manufacturing is not
`required to blow the fuse in the fuse array that indicates that
`MMX is to be disabled.
`In Some instances, it is desired to control enablement/
`disablement of particular functional blocks after the micro
`processor has been manufactured and Shipped to customers.
`For example, at the time of manufacture, a call/return Stack
`may be enabled, either by the fuse array, or by the default
`configuration in microcode. However, after the product
`ships, it might be discovered that a problem exists with this
`functional block, in certain environments. When this prob
`lem is discovered, OEM’s could be given directions to
`perform a write to the FCR (a machine specific register),
`with an appropriate data pattern that disables the call/return
`Stack.
`Referring to FIG. 6, a block diagram 600 is shown that
`includes a microprocessor 602 connected to a BIOS ROM
`60
`650 and a RAM 660 via a system bus 640. In one
`embodiment, the BIOS ROM 650 contains a processor
`instruction that is executed after reset, that performs a write
`to the FCR register within a fuse array control 620 that
`enables/disables a particular functional block. Operation of
`how the write instruction modifies the FCR register is
`illustrated by a flow chart 700 in FIG. 7.
`
`45
`
`50
`
`55
`
`65
`
`5,889,679
`
`25
`
`35
`
`40
`
`6
`In FIG. 7, the operation for overwriting the FCR register
`begins at step 702 when a read-modify-write instruction is
`fetched from the BIOS ROM 650 and provided to the
`microprocessor 602 for execution. Instruction flow then
`proceeds to step 704.
`At step 704, the R-M-W instruction is executed by the
`microprocessor 602. The R-M-W instruction provides an
`operand reflecting the new State of the FCR register, or
`merely indicating the bit that must be changed in the FCR.
`For example, the R-M-W instruction might include an
`operand of the form 00000100B, indicating that bit 3 of the
`FCR is to be changed. Instruction flow then proceeds to
`decision block 706.
`At decision block 706, microcode in the control unit
`determines whether the bit change requested by the R-M-W
`instruction corresponds to a Sticky bit, i.e., relates to a
`functional block that should not be changed. If the R-M-W
`is to a Sticky function block, instruction flow proceeds to
`step 708 where the write is blocked. Otherwise, the FCR is
`modified and written to, at step 710.
`To understand why a write to the FCR should be blocked,
`an example is provided. Suppose an attempt is made to write
`to the FCR to enable the MMX functional block. However,
`the customer performing the write instruction did not pay for
`processors with MMX technology. The customer is attempt
`ing to enable a functional block on processors, when the
`functional block has not been paid for. When the write
`attempt is made, microcode within the control unit blockS
`the change, at least to those functional blocks considered
`Sticky.
`The invention described above illustrates a method and
`apparatus that allows a plurality of functional blocks to be
`Selectively enabled/disabled, via a hardware fuse array, and
`Via Software control, both at time of manufacture, and later,
`after the Semiconductor devices have been shipped.
`Although the present invention and its advantages have
`been described in considerable detail, those skilled in the art
`should appreciate that they can readily use the disclosed
`conception and Specific embodiments as a basis for design
`ing or modifying other Structures for carrying out the same
`purposes of the present invention. For example, a TEMP
`register was shown between the fuse array and the FCR
`register, to temporarily Store the State of the fuse array. In
`Some embodiments, this register may not be necessary.
`Rather, hardware logic may be placed between the fuse array
`and the FCR that implements the logical operation per
`formed above in Software. Moreover, while it is believed
`that utilization of the control unit to modify the FCR register
`provides the most flexibility and control over the functional
`blocks, it may be desired to implement the functions
`described above in hardware. Also, the embodiment
`described shows the FCR register connected directly to the
`functional blockS via enable/disable Signal lines. It is pos
`Sible that intermediate logic may be desired between the
`functional blocks and the FCR register. Furthermore, only a
`few functional blocks have been described. It is within the
`minds of the inventors that the features of the present
`invention be extended to any circuitry within a Semiconduc
`tor device that requires a Static Signal to be provided for
`proper configuration and operation.
`In addition, it should be understood that various changes,
`Substitutions and alterations can be made herein without
`departing from the Spirit and Scope of the invention as
`defined by the appended claims.
`We claim:
`1. A microprocessor, having a plurality of functional
`blocks, the plurality of functional blocks being individually
`enabled/disabled, the microprocessor comprising:
`
`MB USA v. Daedalus Prime
`IPR 2023-01333 Daedalus Ex. 2003
`Page 8
`
`

`

`7
`a fuse array control, coupled to the plurality of functional
`blocks, Said fuse array control Selectively signaling the
`plurality of functional blocks to be enabled/disabled,
`Said fuse array control having a fuse array; and
`a control unit, coupled to Said fuse array control, for
`reading Said fuse array, and indicating to Said fuse array
`control which of the plurality of functional blocks
`should be enabled/disabled.
`2. The microprocessor, as recited in claim 1, wherein the
`functional blocks comprise:
`pOWer management,
`floating point unit; and
`multimedia extensions (MMX).
`3. The microprocessor, as recited in claim 1, wherein
`functional block that is disabled does not perform its
`intended function on the microprocessor.
`4. The microprocessor, as recited in claim 1, wherein Said
`fuse array control further comprises a plurality of enable/
`disable Signals.
`5. The microprocessor, as recited in claim 4, wherein each
`of Said plurality of enable/disable signals are connected to a
`corresponding one of the plurality of functional blockS.
`6. The microprocessor, as recited in claim 4, wherein Said
`fuse array control Selectively signals the plurality of func
`tional blocks to be enabled/disabled via said plurality of
`enable/disable Signals.
`7. The microprocessor, as recited in claim 1, wherein Said
`fuse array comprises a plurality of fuses, fabricated on the
`microprocessor.
`8. The microprocessor, as recited in claim 7, wherein Said
`plurality of fuses are fabricated in a closed State.
`9. The microprocessor, as recited in claim 8, wherein ones
`of Said plurality of fuses may be selectively blown during
`manufacturing.
`10. The microprocessor, as recited in claim 9, wherein
`Said ones of Said plurality of fuses that are blown are in an
`Open State.
`11. The microprocessor, as recited in claim 10, wherein
`Said open/closed States of Said ones of Said plurality of fuses
`is partly determinative of which of the functional blocks
`should be enabled/disabled.
`12. The microprocessor, as recited in claim 1, wherein
`Said fuse array control further comprises a feature control
`register, coupled to Said fuse array, into which at least a
`portion of the State of Said fuse array is Stored.
`13. The microprocessor, as recited in claim 12, wherein
`the State of Said fuse array is Stored into Said feature control
`register upon power up of the microprocessor.
`14. The microprocessor, as recited in claim 13, wherein
`contents of Said feature control register are indicative of
`which of the functional blocks should be enabled/disabled.
`15. The microprocessor, as recited in claim 12, wherein a
`manufacturer Selectively blows fuses within Said fuse array
`to determinatively enable/disable ones of the plurality of
`functional blocks on the microprocessor.
`16. The microprocessor as recited in claim 12, wherein
`contents of Said feature control register are read by Said
`control unit.
`17. The microprocessor, as recited in claim 16, wherein
`Said control unit overwrites Said contents of Said feature
`control register.
`18. The microprocessor, as recited in claim 17, wherein
`Said control unit overwrites Said contents of Said feature
`control register to override enabling/disabling of ones of the
`functional blockS Specified by the State of Said fuse array.
`19. The microprocessor, as recited in claim 18, wherein if
`Said control unit does not overwrite Said contents of Said
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,889,679
`
`8
`feature control register, the plurality of functional blocks are
`enabled/disabled based on the state of said fuse array.
`20. The microprocessor, as recited in claim 19, wherein if
`Said control unit does overwrite Said contents of Said feature
`control register, the plurality of functional blocks are
`enabled/disabled based on program instructions executed by
`the microprocessor.
`21. The microprocessor, as recited in claim 20, wherein
`Said program instructions comprise microcode Stored within
`Said control unit.
`22. The microprocessor, as recited in claim 20, wherein
`Said program instructions comprise BIOS instructions Stored
`outside of the microprocessor.
`23. The microprocessor, as recited in claim 22, wherein
`said BIOS instructions perform a write to a machine specific
`register (MSR), which is said feature control register.
`24. The microprocessor, as recited in claim 23, wherein
`said write to said MSR may be partially or wholly blocked
`by Said control unit.
`25. The microprocessor, as recited in claim 1, wherein
`said control unit further comprises a control ROM.
`26. The microprocessor, as recited in claim 25, wherein
`said control ROM contains microcode for selectively
`enabling/disabling ones of the plurality of functional blockS
`on the microprocessor.
`27. A microprocessor, having a plurality of functional
`blocks that are individually enabled/disabled, the micropro
`ceSSor comprising:
`a fuse array, fabricated on the die of the microprocessor,
`the fuse array comprising a plurality of fuses that may
`be individually blown during manufacturing,
`a feature control register, coupled to Said fuse array, Said
`feature control register for Selectively enabling/
`disabling ones of Said plurality of functional blocks,
`and
`a control unit, coupled to Said feature control register, for
`reading the State (closed or open) of Said plurality of
`fuses, and for Storing into Said feature control register
`a value indicative of which of said plurality of func
`tional blocks are to be enabled/disabled.
`28. The microprocessor, as recited in claim 27, wherein
`the plurality of functional blockS comprises:
`pOWer management,
`multimedia extensions (MMX); and
`a floating point unit.
`29. The microprocessor, as recited in claim 27, wherein
`the plurality of functional blocks are individually enabled/
`disabled Via Signal lines that couple the plurality of func
`tional blocks to Said feature control register.
`30. The microprocessor, as recited in claim 27, wherein
`Said fuse array is coupled to Said control unit to allow Said
`control unit to read the State (closed or open) of each of Said
`plurality of fuses.
`31. The microprocessor, as recited in claim 27, wherein
`ones of

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket