Achieving power saving by a circuit including pluralities of processing cores based on status of the buffers used by the processing cores

US9658675B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9658675-B1
Application numberUS-201514626637-A
CountryUS
Kind codeB1
Filing dateFeb 19, 2015
Priority dateFeb 19, 2015
Publication dateMay 23, 2017
Grant dateMay 23, 2017

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.

Subject matter disclosed herein relates to arrangements and techniques that provide for sending messages among processing nodes over a network-on-chip (NoC). More particularly, the present disclosure provides an Application Specific Integrated Circuit (ASIC) that includes processing cores and co-processors. The processing cores and co-processors are coupled together with a NoC. Each processing core and co-processor includes two corresponding buffers. A first buffer is for sending messages and a second buffer is for receiving messages. If a processing core or co-processor needs to send a message and the corresponding first buffer is full, if the message includes a flag that indicates a WAIT function, then the processing core and/or co-processor enters a low power state until the first buffer is available; otherwise the message is ignored and not sent. Additionally, if a second buffer is empty, then the corresponding processing core and/or co-processor enters the low power state.

First claim

Opening claim text (preview).

What is claimed is: 1. An Application Specific Integrated Circuit (ASIC) including: a first processing core, wherein the first processing core includes a first send first-in first-out (FIFO) buffer and a first receive FIFO buffer; a second processing core, wherein the second processing core includes a second send FIFO buffer and a second receive FIFO buffer; a third processing core, wherein the third processing core includes a third send FIFO buffer and a third receive FIFO buffer; a fourth processing core, wherein the fourth processing core includes a fourth send FIFO buffer and a fourth receive FIFO buffer; memory; and a network-on-chip (NoC) coupled to the first, second, third and fourth processing cores and the memory, wherein the processing cores are configured to (i) send messages to other processing cores via the NoC, (ii) receive messages from the other processing cores via the NoC, (iii) write data to the memory via the NoC and (iv) read data from the memory via the NoC; wherein at least the first processing core is configured such that when a message that includes a WAIT function is to be sent by the first processing core to one of (i) the second processing core or (ii) the memory and the send FIFO buffer of the first processing core is full, the first processing core enters a low power state until the send FIFO buffer of the first processing core is not full, and wherein at least the first processing core is further configured such that if the first receive FIFO buffer of the first processing core is empty, the first processing core enters the low power state. 2. The ASIC of claim 1 , wherein entering the low power state comprises deactivating a first clock of the first processing core, wherein the first clock comprises one or more of a clock for instruction fetching, a clock for instruction decoding, a clock for instruction execution, a clock for memory writing-back, and a clock for register writing-back. 3. The ASIC of claim 2 , wherein a second clock of the first processing core is not deactivated, the second clock being used to one or more of (i) send and receive messages, (ii) handle traffic to and from the memory of the corresponding processing core, or (iii) handle interrupts. 4. The ASIC of claim 1 , wherein at least the first processing core is further configured to ignore a message if the first send FIFO buffer is full and the message does not include a WAIT function. 5. The ASIC of claim 1 , wherein at least the first processing core is further configured such that if a controller of the NoC indicates that the second receive FIFO buffer of the second processing core is full, the first processing core enters the low power state. 6. The ASIC of claim 1 , further comprising: a first co-processor associated with the first processing core and coupled to the NoC, wherein the first co-processor includes a send FIFO buffer and a receive FIFO buffer; a second co-processor associated with the second processing core and coupled to the NoC, wherein the second co-processor includes a send FIFO buffer and a receive FIFO buffer; a third co-processor associated with the third processing core and coupled to the NoC, wherein the third processing core includes a send FIFO buffer and a receive FIFO buffer; and a fourth co-processor associated with the fourth processing core and coupled to the NoC, wherein the fourth processing core includes a send FIFO buffer and a receive FIFO buffer, wherein the co-processors are configured to (i) send messages to other co-processors via the NoC, (ii) receive messages from the other co-processors via the NoC, (iii) write data to the memory via the NoC and (iv) read data from the memory via the NoC, wherein at least the first co-processor is configured such that when a message that includes a WAIT function is to be sent by the first co-processor to one of (i) the second co-processor or (ii) the memory and the send FIFO buffer of the first co-processor is full, the first co-processor enters a low power state until the send FIFO buffer of the first co-processor is not full, and wherein at least the first co-processor is further configured such that if the first receive FIFO buffer of the first co-processor is empty, the first co-processor enters the low power state. 7. A circuit including: a plurality of processing cores, wherein each processing core includes a corresponding first FIFO buffer and a corresponding second FIFO buffer; and a network-on-chip (NoC) coupled to the plurality of processing cores; wherein the plurality of processing cores is configured to send and receive messages via the NoC, and wherein at least a first processing core is configured such that when a message that includes a flag that indicates a WAIT function is to be sent by the first processing core to one of (i) a second processing core of the plurality of processing cores or (ii) memory and the first FIFO buffer of the first processing core is full, the first processing core enters a low power state. 8. The circuit of claim 7 , wherein the at least the first processing core is further configured to ignore a message if the first FIFO buffer is full and the message does not include a flag that indicates a WAIT function. 9. The circuit of claim 7 , wherein at least the first processing core is further configured such that when the first processing core enters the low power state, the first processing core remains in the low power state until the first buffer of the first processing core is no longer full. 10. The circuit of claim 9 , wherein entering the low power state comprises deactivating a first clock of the first processing core, wherein the first clock comprises one or more of a clock for instruction fetching, a clock for instruction decoding, a clock for instruction execution, a clock for memory writing-back, and a clock for register writing-back. 11. The circuit of claim 10 , wherein a second clock that is not deactivated is used to one or more of (i) send and receive messages, (ii) handle traffic to and from memory, and (iii) handle interrupts. 12. The circuit of claim 7 , wherein at least the first processing core is further configured such that if a controller of the NoC indicates that the second receive FIFO buffer of the second processing core is full, the first processing core enters the low power state. 13. The circuit of claim 7 , wherein the second FIFO buffer is for receiving messages from other processing cores, and wherein at least the first processing core is further configured such that if the second buffer of the first processing core is empty, the first processing core enters the low power state. 14. The circuit of claim 7 , further comprising: a plurality of co-processors, wherein each co-processor includes a corresponding first FIFO buffer and a corresponding second FIFO buffer, and wherein each co-processor is associated with a corresponding processing core; wherein the plurality of co-processors is configured to send and receive messages via the NoC, and wherein at least a first co-processor of the plurality of co-processors is configured such that when a message that includes a flag that indicates a WAIT function is to be sent by the first co-processor to one of (i) a second co-processor of the plurality of co-processors or (ii) memory and the first FIFO buffer of the first co-processor is full, the first co-processor enters a low power state. 15. The circuit of claim 14 , wherein at least the first co-processor is further configured to ignore a message if the first FIFO buffer is full and the message does not include a flag that indicates a WAIT function.

Assignees

Inventors

Classifications

  • G06F1/3237Primary

    by disabling clock generation or distribution · CPC title

  • for adaptation of a particular data processing system to different peripheral devices · CPC title

  • by lowering clock frequency · CPC title

  • by switching to a less power-consuming processor, e.g. sub-CPU · CPC title

  • using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake · 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 US9658675B1 cover?
Subject matter disclosed herein relates to arrangements and techniques that provide for sending messages among processing nodes over a network-on-chip (NoC). More particularly, the present disclosure provides an Application Specific Integrated Circuit (ASIC) that includes processing cores and co-processors. The processing cores and co-processors are coupled together with a NoC. Each processing …
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/3237. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 23 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).