Independent vector element order and memory byte order controls

US10459700B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10459700-B2
Application numberUS-201615069704-A
CountryUS
Kind codeB2
Filing dateMar 14, 2016
Priority dateMar 14, 2016
Publication dateOct 29, 2019
Grant dateOct 29, 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.

Techniques are disclosed for managing vector element ordering. One technique includes setting one or more control bits that determine a vector element ordering and a vector element numbering, where the one or more control bits are stored in a machine status register or in a page table entry. The vector element ordering includes one of a big-endian mode and a little-endian mode, and the vector element numbering includes one of a big-endian mode and a little-endian mode. The technique includes reading the one or more control bits to determine a big-endian or a little-endian mode for the vector element ordering and for the vector element numbering. The technique also includes performing a vector operation in the determined mode for the vector element ordering and the determined mode for the vector element numbering.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for managing vector element ordering, comprising: setting a first control bit that determines a vector element ordering, wherein the single first control bit is stored in a page table entry, wherein the vector element ordering comprises one of a big-endian (BE) mode and a little-endian (LE) mode, wherein vector element ordering specifies how elements within a vector of elements are ordered, wherein each element in the vector includes a plurality of bytes; setting a second control bit that determines a vector element numbering, wherein the second control bit is stored in the page table entry, wherein the vector element numbering comprises one of the BE mode and the LE mode, and wherein vector element numbering specifies how bytes of the plurality of bytes within an element are ordered; reading the first control bit to determine which one of the BE mode and the LE mode for the vector element ordering is indicated; reading the second control bit to determine which one of the BE mode and the LE mode for the vector element numbering is indicated; and performing a vector operation in the determined mode for the vector element ordering and the determined mode for the vector element numbering. 2. The computer implemented method of claim 1 , wherein the first control bit and the second control bit are set by a machine instruction. 3. The computer implemented method of claim 2 , wherein an instruction sets the first control bit and the second control bit to a mode opposite an active mode. 4. The computer implemented method of claim 1 , wherein setting the first control bit and the second control bit further comprises setting the single control bit in the page table entry with an application-level instruction. 5. The computer implemented method of claim 1 , wherein setting the first control bit further comprises setting the first control bit by reading a register and copying a value for the first control bit to the page table entry. 6. A computer program product for managing vector element ordering, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by a processor to cause the processor to: set a first control bit that determines a vector element ordering, wherein the first control bit is stored in a page table entry, wherein the vector element ordering comprises one of a big-endian (BE) mode and a little-endian (LE) mode, wherein vector element ordering specifies how elements within a vector of elements are ordered, and wherein each element of the elements within the vector includes a plurality of bytes; set a second control bit that determines a vector element numbering, wherein the second control bit is stored in the page table entry, wherein the vector element numbering comprises one of the BE mode and the LE mode, and wherein vector element numbering specifies how bytes of the plurality of bytes within an element are ordered; read the first control bit to determine which one of the BE mode and the LE mode for the vector element ordering is indicated; read the second control bit to determine which one of the BE mode and the LE mode for the vector element numbering is indicated; and perform a vector operation in the determined mode for the vector element ordering and the determined mode for the vector element numbering. 7. The computer program product of claim 6 , wherein the first control bit and the second control bit are set by a machine instruction. 8. The computer program product of claim 7 , wherein an instruction sets the first control bit and the second control bit to a mode opposite an active mode. 9. The computer program product of claim 6 , wherein setting the first control bit and the second control bit further comprises setting the first control bit and the second control bit in the machine status register with an application-level instruction. 10. The computer program product of claim 6 , wherein setting the first control bit and the second control bit further comprises setting the first control bit and the second control bit by reading a register and copying a value for the first control bit and the second control bit to the machine status register. 11. A system, comprising: a processor; and a memory storing a program, which, when executed on the processor, performs an operation for managing vector element ordering, the operation comprising: setting a first control bit that determines a vector element ordering, wherein the first control bit is stored in a page table entry, wherein the vector element ordering comprises one of a big-endian (BE) mode and a little-endian (LE) mode, wherein vector element ordering specifies how elements within a vector of elements are ordered, wherein each element in the vector includes a plurality of bytes; setting a second control bit that determines a vector element numbering, wherein the second control bit is stored in the page table entry, wherein the vector element numbering comprises one of the BE mode and the LE mode, and wherein vector element numbering specifies how bytes of the plurality of bytes within an element are ordered; reading the first control bit to determine which one of the BE mode and the LE mode for the vector element ordering is indicated; reading the second control bit to determine which one of the BE mode and the LE mode for the vector element numbering is indicated; and performing a vector operation in the determined mode for the vector element ordering and the determined mode for the vector element numbering. 12. The system of claim 11 , wherein the first control bit and the second control bit are set by a machine instruction. 13. The system of claim 11 , wherein setting the first control bit and the second control bit further comprises setting the first control bit and the second control bit in the machine status register with an application-level instruction. 14. The system of claim 11 , wherein setting the first control bit and the second control bit further comprises setting the first control bit and the second control bit by reading a register and copying a value for the first control bit and the second control bit to the machine status register.

Assignees

Inventors

Classifications

  • G06F8/41Primary

    Compilation · CPC title

  • according to execution mode, e.g. mode flag · CPC title

  • to perform miscellaneous control operations, e.g. NOP · CPC title

  • Instructions to perform operations on packed data, e.g. vector, tile or matrix operations · 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 US10459700B2 cover?
Techniques are disclosed for managing vector element ordering. One technique includes setting one or more control bits that determine a vector element ordering and a vector element numbering, where the one or more control bits are stored in a machine status register or in a page table entry. The vector element ordering includes one of a big-endian mode and a little-endian mode, and the vector e…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/41. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 29 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).