Dynamic reconfiguration of multi-core processor

US10198269B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10198269-B2
Application numberUS-201414281657-A
CountryUS
Kind codeB2
Filing dateMay 19, 2014
Priority dateAug 28, 2013
Publication dateFeb 5, 2019
Grant dateFeb 5, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10198269B2 cover?
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 generat…
Who is the assignee on this patent?
Via Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3885. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 05 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).