Scheduling multiple operations in a divider unit

US9569258B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9569258-B1
Application numberUS-201514859941-A
CountryUS
Kind codeB1
Filing dateSep 21, 2015
Priority dateSep 21, 2015
Publication dateFeb 14, 2017
Grant dateFeb 14, 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.

A multiplier unit that may be configured to concurrently perform multiple division and square operations is disclosed. The multiplier unit may include multiple stages. Each stage may be configured to perform a corresponding arithmetic operation. Control circuitry coupled to the multiplier unit may be configured to schedule in a given cycle of the plurality of cycles, a respective tasks of a plurality of tasks included in a first operation for execution on a respective stage of the multiple stages. The control circuitry may be further configured to schedule execution of each tasks of a second plurality of tasks included in a second operation during a respective cycle on an unused stage of the multiple stages.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a multiplier unit including a plurality of stages, wherein each stage of the plurality of stages is configured to perform a corresponding arithmetic operation; and control circuitry coupled to the multiplier unit, wherein the control circuitry is configured to: schedule, for each cycle of a plurality of cycles, execution of respective task of a first plurality of tasks included in a first operation on a respective stage of the plurality of stages; and schedule execution of each task of a second plurality of tasks included in a second operation, during a respective cycle of the plurality of cycles, on an unused stage of the plurality of stages. 2. The apparatus of claim 1 , wherein the first operation and the second operation each comprise one of an integer divide operation, a floating point single precision divide operation, a floating point double precision divide operation, a floating point single precision square root operation, or a floating point double precision square root operation. 3. The apparatus of claim 1 , wherein the first plurality of tasks include first plurality of steps included in a first iterative division operation, and wherein the second plurality of tasks include a second plurality of steps includes in a second iterative division operation. 4. The apparatus of claim 1 , wherein the first plurality of tasks include first plurality of steps included in a first iterative square root operation, and wherein the second plurality of tasks include a second plurality of steps included in a second iterative square root operation. 5. The apparatus of claim 1 , wherein the first operation and the second operation each comprise a floating point double precision square root operation. 6. The apparatus of claim 1 , wherein to schedule, for each cycle of the plurality of cycles, execution of respective task of the first plurality of tasks, the control circuitry is further configured to schedule execution of a first task of the first plurality of tasks on a first stage of the plurality of stages during a first cycle of the plurality of cycles. 7. The apparatus of claim 6 , wherein to schedule execution of each task of the second plurality of tasks included in the second operation, the control circuitry is further configured to schedule execution of a second task of the second plurality of tasks on the first stage of the plurality of stages during a second cycle of the plurality of cycles, wherein the second cycle is different from the first cycle. 8. A method, comprising: receiving a first operation and second operation by an arithmetic unit, wherein the arithmetic unit includes a plurality of stages; executing the first operation by the arithmetic unit; identifying a first subset of a plurality of cycles where a given stage of the plurality of stages is unused in executing the first operation; and scheduling execution of the second operation dependent upon the first subset of the plurality of cycles. 9. The method of claim 8 , wherein scheduling execution of the second operation comprises delaying a number of cycles from an initial cycle of the plurality of cycles before starting execution of the second operation. 10. The method of claim 8 , further comprising identifying a second subset of the plurality of cycles, wherein during each cycle of the second subset of the plurality of cycles the given stage of the plurality of stages is unused in executing the first operation and executing the second operation. 11. The method of claim 10 , further comprising scheduling a third operation dependent upon the second subset of the plurality of cycles. 12. The method of claim 11 , wherein the first operation includes a first double precision operation, wherein the second operation includes a second double precision operation, and wherein the third operation includes a first single precision operation. 13. The method of claim 8 , wherein executing the first operation includes performing an iterative division operation. 14. The method of claim 8 , wherein executing the first operation includes performing an iterative square root operation. 15. A system, comprising: a memory; and a processor coupled to the memory, wherein the processor is configured to: receive a plurality of program instructions from the memory; execute, over a plurality of cycles, a first operation dependent upon a first program instruction of the plurality of program instructions; identify a first subset of the plurality of cycles, wherein during each cycle in the plurality of cycles a given stage of an arithmetic unit is unused in execution of the first operation; and schedule execution of second operation dependent upon a second program instruction of the plurality of program instructions and the first subset of the plurality of cycles. 16. The system of claim 15 , wherein the processor is further configured to identify a second subset of the plurality of cycles, wherein during each cycle of the second subset of the plurality of cycles the given stage of the arithmetic unit is unused in execution of the first operation and in execution of the second operation. 17. The system of claim 16 , wherein the processor is further configured to schedule execution of a third operation dependent upon a third program instruction of the plurality of program instructions and the second subset of the plurality of cycles. 18. The system of claim 15 , wherein to execute the first operation, the processor is further configured to perform a plurality of tasks associated with an iterative division operation. 19. The system of claim 15 , wherein to execute the first operation, the processor is further configured to perform a plurality of tasks associated with an iterative square root operation. 20. The system of claim 15 , wherein the first operation includes a first double precision operation, and wherein the second operation includes a second double precision operation.

Assignees

Inventors

Classifications

  • G06F9/3001Primary

    Arithmetic instructions · CPC title

  • G06F9/4843Primary

    by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • Pipelining a single stage, e.g. superpipelining · CPC title

  • Loop control instructions; iterative instructions, e.g. LOOP, REPEAT · CPC title

  • Dividing · 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 US9569258B1 cover?
A multiplier unit that may be configured to concurrently perform multiple division and square operations is disclosed. The multiplier unit may include multiple stages. Each stage may be configured to perform a corresponding arithmetic operation. Control circuitry coupled to the multiplier unit may be configured to schedule in a given cycle of the plurality of cycles, a respective tasks of a plu…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/3001. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).