Propagation of updates to per-core-instantiated architecturally-visible storage resource
US-2016349824-A1 · Dec 1, 2016 · US
US10198269B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10198269-B2 |
| Application number | US-201414281657-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 19, 2014 |
| Priority date | Aug 28, 2013 |
| Publication date | Feb 5, 2019 |
| Grant date | Feb 5, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A microprocessor includes a plurality of processing cores and a configuration register configured to indicate whether each of the plurality of processing cores is enabled or disabled. Each enabled one of the plurality of processing cores is configured to read the configuration register in a first instance to determine which of the plurality of processing cores is enabled or disabled and generate a respective configuration-related value based on the read of the configuration register in the first instance. The configuration register is updated to indicate that a previously enabled one of the plurality of processing cores is disabled. Each enabled one of the plurality of processing cores is configured to read the configuration register in a second instance to determine which of the plurality of processing cores is enabled or disabled and generate the respective configuration-related value based on the read of the configuration register in the second instance.
Opening claim text (preview).
The invention claimed is: 1. A microprocessor, comprising a plurality of processing cores and a control unit having a plurality of registers, including a core sync register and a configuration register, which are used to control sleep states of the plurality of processing cores, wherein a disable instruction targeting any enabled one of the plurality of processing cores causes the targeted core to: interrupt the other cores with reconfiguration information stored in the configuration register, go into a sleep state, and stay in the sleep state until the other cores go into the sleep state; and wake up after the other cores have gone into the sleep state and write a value to the control unit that causes the targeted core to become disabled, which is a condition, unlike the sleep state, in which the targeted core is unable to execute any more instructions until the microprocessor is reset, wherein the control unit outputs clock signals and power signals to each of the processor cores and the control unit controls the sleep state of the processing cores by selectively turning on or off the respective clock signals, wherein the control unit further controls the core power to each of the processing cores by selectively turning on or off the core power signals, and wherein a value in the core sync register is used by the control unit to control the sleep states of the respective processing cores. 2. The microprocessor of claim 1 , wherein the configuration register is configured to indicate whether each of the processing cores is enabled or disabled; wherein each enabled one of the plurality of processing cores is configured to: read the configuration register in a first instance to determine which of the plurality of processing cores is enabled or disabled; and generate a respective configuration-related value based on the read of the configuration register in the first instance; wherein the configuration register is updated to indicate that a previously enabled one of the plurality of processing cores is disabled; and wherein each enabled one of the plurality of processing cores is configured to: read the configuration register in a second instance to determine which of the plurality of processing cores is enabled or disabled; and generate the respective configuration-related value based on the read of the configuration register in the second instance. 3. The microprocessor of claim 2 , wherein the respective configuration-related value comprises an indicator that indicates whether the processing core is a bootstrap processor of the microprocessor. 4. The microprocessor of claim 2 , wherein the respective configuration-related value comprises a peripheral interrupt controller identifier associated with the processing core. 5. The microprocessor of claim 2 wherein the control unit is configured to wake up simultaneously each of the plurality of processing cores indicated by the configuration register as enabled in response to determining that each of the plurality of processing cores indicated by the configuration register as enabled has made a respective synchronization request and responsively been put to sleep. 6. The microprocessor of claim 5 , wherein after the configuration register is updated to indicate that the previously enabled one of the plurality of processing cores is disabled, the control unit determines that each of the plurality of processing cores indicated by the configuration register as enabled has made a respective synchronization request and responsively been put to sleep. 7. The microprocessor of claim 2 , wherein the microprocessor comprises a plurality of semiconductor dies; wherein a distinct subset of the plurality of processing cores is located on each of the plurality of semiconductor dies; wherein the microprocessor includes an instance of the configuration register on each of the plurality of semiconductor dies; and wherein each enabled one of the distinct subset of the plurality of processing cores located on each of the plurality of semiconductor dies is configured to read the instance of the configuration register on the semiconductor die. 8. The microprocessor of claim 7 , wherein each instance of the configuration register is updated to indicate that the previously enabled one of the plurality of processing cores is disabled. 9. The microprocessor of claim 8 , wherein the microprocessor includes an instance of the control unit on each of the plurality of semiconductor dies; wherein each instance of the control unit is configured to determine that each of the plurality of processing cores indicated by the configuration register as enabled has made a respective synchronization request and responsively been put to sleep; and wherein for each semiconductor die of the plurality of semiconductor dies, the instance of the control unit is configured to wake up simultaneously each enabled one of the distinct subset of the plurality of processing cores located on the semiconductor die indicated by the configuration register as enabled, in response to determining that each of the plurality of processing cores indicated by the configuration register as enabled has made a respective synchronization request and responsively been put to sleep. 10. The microprocessor of claim 2 , wherein the configuration register is updated to indicate that the previously enabled one of the plurality of processing cores is disabled in response to the previously enabled processing core writing to a control register. 11. The microprocessor of claim 10 , wherein the previously enabled processing core writes to the control register in response to executing an architectural instruction that instructs the previously enabled processing core to disable itself. 12. The microprocessor of claim 2 , wherein each enabled one of the plurality of processing cores reads the configuration register in the first instance in response to a reset of the microprocessor. 13. The microprocessor of claim 2 , wherein prior to the update of the configuration register, each enabled one of the plurality of processing cores performs the read of the configuration register in the second instance in response to the previously enabled processing core sending an interrupt request to each of the enabled one of the plurality of processing cores. 14. A method for re-configuring a multi-core microprocessor having a plurality of processing cores and a control unit having a plurality of registers, including a core sync register and a configuration register, which are used to control sleep states of the plurality of processing cores, each processing core configured to receive a disable instruction, the method comprising the microprocessor responding to a disable instruction by: the core to whom the disable instruction is targeted interrupting the other cores with reconfiguration information stored in the configuration register, going into a sleep state, and staying in the sleep state unit the other cores to go into the sleep state; the targeted core waking up after the other cores have gone into a sleep state and writing a value to the control unit that causes the targeted core to become disabled, which is a condition, unlike the sleep state, in which the targeted core is unable to execute any more instructions until the microprocessor is reset, wherein the control unit outputs clock signals and power signals to each of the processor cores and the control unit controls the sleep state of the processing cores by selectively turning on or off the respective clock signals, wherein the control unit further controls the core power to each of the processing cores by selectively turning on
by switching off individual functional units in the computer system · CPC title
Pipeline control instructions, e.g. multicycle NOP · CPC title
Register structure · CPC title
by lowering the supply or operating voltage · CPC title
by lowering clock frequency · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.