Dynamic reconfiguration of multi-core processor

US10635453B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10635453-B2
Application numberUS-201816203819-A
CountryUS
Kind codeB2
Filing dateNov 29, 2018
Priority dateAug 28, 2013
Publication dateApr 28, 2020
Grant dateApr 28, 2020

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 each of the non-targeted cores to: get interrupted and receive reconfiguration information sent by the targeted core, go into a first sleep state, and stay in the first sleep state until the other cores go into the first sleep state; wake up after the other cores have gone into the first sleep state, go into a second sleep state, and stay in the second sleep state until the other cores go into the second sleep state; and wake up after the other cores have gone into the second sleep state and read the configuration register, updated by the targeted core, to determine which of the plurality of processing cores is enabled or disabled; 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 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. 6. The microprocessor of claim 5 , 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. 7. 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. 8. The microprocessor of claim 2 , wherein after 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. 9. The microprocessor of claim 1 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. 10. The microprocessor of claim 9 , 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. 11. The microprocessor of claim 1 , 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. 12. The microprocessor of claim 11 , wherein each instance of the configuration register is updated to indicate that the previously enabled one of the plurality of processing cores is disabled. 13. The microprocessor of claim 12 , 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. 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 disable instruction targeting any enabled one of the plurality of processing cores causes each of the non-targeted cores: getting interrupted and receiving reconfiguration information sent by the targeted core, going into a first sleep state, and staying in the first sleep state until the other cores go into the first sleep state; waking up after the other cores have gone into the first sleep state, going into a second sleep state, and staying in the second sleep state until the other cores go into the second sleep state; and waking up after the other cores have gone into the second sleep state and reading the configuration register, updated by the targeted core, to determine which of the plurality of processing cores is enabled or disabled; wherein the control unit outputs clock signals and power signals to each of the processor co

Assignees

Inventors

Classifications

  • Details of cache specific to multiprocessor cache arrangements · CPC title

  • Bus transfer protocol, e.g. handshake; Synchronisation · CPC title

  • with a shared cache · CPC title

  • by lowering clock frequency · CPC title

  • by lowering the supply or operating voltage · 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 US10635453B2 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/4418. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 28 2020 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).