Handling unaligned load operations in a multi-slice computer processor

US10067763B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10067763-B2
Application numberUS-201514966075-A
CountryUS
Kind codeB2
Filing dateDec 11, 2015
Priority dateDec 11, 2015
Publication dateSep 4, 2018
Grant dateSep 4, 2018

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.

Handling unaligned load operations, including: receiving a request to load data stored within a range of addresses; determining that the range of addresses includes addresses associated with a plurality of caches, wherein each of the plurality of caches are associated with a distinct processor slice; issuing, to each distinct processor slice, a request to load data stored within a cache associated with the distinct processor slice, wherein the request to load data stored within the cache associated with the distinct processor slice includes a portion of the range of addresses; executing, by each distinct processor slice, the request to load data stored within the cache associated with the distinct processor slice; and receiving, over a plurality of data communications busses, execution results from each distinct processor slice, wherein each data communications busses is associated with one of the distinct processor slices.

First claim

Opening claim text (preview).

What is claimed is: 1. A multi-slice computer processor, the multi-slice computer processor configured for: receiving a request to load data stored within a range of addresses; determining that the range of addresses includes addresses associated with a plurality of caches, wherein each of the plurality of caches are associated with a distinct processor slice; issuing, to each distinct processor slice, a request to load data stored within a cache associated with the distinct processor slice, wherein the request to load data stored within the cache associated with the distinct processor slice includes a portion of the range of addresses; executing, by each distinct processor slice, the request to load data stored within the cache associated with the distinct processor slice; receiving, over a plurality of data communications busses, execution results from each distinct processor slice, wherein each of the plurality of data communications busses is associated with one of the distinct processor slices; and assembling, from the execution results from each distinct processor slice, the data stored within the range of addresses, including: identifying a portion of each execution result that includes data stored within the range of addresses; and combining the portion of each execution result that includes data stored within the range into a single result. 2. The multi-slice computer processor of claim 1 further configured for formatting, by each processor slice, the execution results. 3. The multi-slice computer processor of claim 2 wherein formatting, by each processor slice, the execution results further comprises: identifying a portion of the execution results that includes data contained in the range of addresses; determining whether the portion of the execution results that includes data contained in the range of addresses represents a beginning portion of the range of addresses or an ending portion of the range of addresses; and shifting, in dependence upon whether the portion of the execution results that includes data contained in the range of addresses represents a beginning portion of the range of addresses or an ending portion of the range of addresses, the portion of the execution results that includes data contained in the range of addresses. 4. The multi-slice computer processor of claim 1 further configured for predicting when the data stored within the range of addresses will be loaded into a target memory location. 5. The multi-slice computer processor of claim 4 further configured for: identifying one or more operations that are dependent upon completion of the request to load data stored within the range of addresses; and issuing, in dependence upon when the data stored within the range of addresses is predicted to be loaded into the target memory location, the one or more operations that are dependent upon completion of the request to load data stored within the range of addresses. 6. A computing system, the computing system including a multi-slice computer processor, the multi-slice computer processor configured for: receiving a request to load data stored within a range of addresses; determining that the range of addresses includes addresses associated with a plurality of caches, wherein each of the plurality of caches are associated with a distinct processor slice; issuing, to each distinct processor slice, a request to load data stored within a cache associated with the distinct processor slice, wherein the request to load data stored within the cache associated with the distinct processor slice includes a portion of the range of addresses; executing, by each distinct processor slice, the request to load data stored within the cache associated with the distinct processor slice; receiving, over a plurality of data communications busses, execution results from each distinct processor slice, wherein each of the plurality of data communications busses is associated with one of the distinct processor slices; and assembling, from the execution results from each distinct processor slice, the data stored within the range of addresses, including: identifying a portion of each execution result that includes data stored within the range of addresses; and combining the portion of each execution result that includes data stored within the range into a single result. 7. The computing system of claim 6 , wherein the multi-slice computer processor is further configured for formatting, by each processor slice, the execution results. 8. The computing system of claim 7 wherein formatting, by each processor slice, the execution results further comprises: identifying a portion of the execution results that includes data contained in the range of addresses; determining whether the portion of the execution results that includes data contained in the range of addresses represents a beginning portion of the range of addresses or an ending portion of the range of addresses; and shifting, in dependence upon whether the portion of the execution results that includes data contained in the range of addresses represents a beginning portion of the range of addresses or an ending portion of the range of addresses, the portion of the execution results that includes data contained in the range of addresses. 9. The computing system of claim 6 , wherein the multi-slice computer processor is further configured for: predicting when the data stored within the range of addresses will be loaded into a target memory location; identifying one or more operations that are dependent upon completion of the request to load data stored within the range of addresses; and issuing, in dependence upon when the data stored within the range of addresses is predicted to be loaded into the target memory location, the one or more operations that are dependent upon completion of the request to load data stored within the range of addresses.

Assignees

Inventors

Classifications

  • organised in groups of units sharing resources, e.g. clusters · CPC title

  • LOAD or STORE instructions; Clear instruction · CPC title

  • Details of memory controller · CPC title

  • with prefetch · CPC title

  • Details of cache specific to multiprocessor cache arrangements · 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 US10067763B2 cover?
Handling unaligned load operations, including: receiving a request to load data stored within a range of addresses; determining that the range of addresses includes addresses associated with a plurality of caches, wherein each of the plurality of caches are associated with a distinct processor slice; issuing, to each distinct processor slice, a request to load data stored within a cache associa…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F13/1668. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 04 2018 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).