Compression/decompression instruction specifying a history buffer to be used in the compression/decompression of data

US10831497B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10831497-B2
Application numberUS-201916263786-A
CountryUS
Kind codeB2
Filing dateJan 31, 2019
Priority dateJan 31, 2019
Publication dateNov 10, 2020
Grant dateNov 10, 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.

An instruction to perform a function of a plurality of functions is obtained. The instruction is a single architected instruction of an instruction set architecture that complies to an industry standard for compression. The instruction is executed, and the executing includes performing the function specified by the instruction. The performing includes, based on the function being a compression function or a decompression function, transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data accessing. During performing the function, history relating to the function is accessed. The history is to be used in transforming the state of input data between the uncompressed form and the compressed form.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for facilitating processing within a computing environment, the computer program product comprising: a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising: obtaining, by a processor of the computing environment, an instruction to perform a function of a plurality of functions supported by the instruction, the instruction including an operation code specifying an operation and being a single architected instruction of an instruction set architecture, the instruction complying to an industry standard for compression, and the operation code being separate from an indication of the function to be performed; and executing the instruction, the executing including: performing the function specified by the instruction, wherein, based on the function being a compression function or a decompression function, the performing comprises transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data; accessing, during performing the function, history relating to the function, the history to be used in transforming the state of the input data between the uncompressed form and the compressed form; and providing as output the transformed state of data to be used in performing a task. 2. The computer program product of claim 1 , wherein the processor is a general-purpose processor. 3. The computer program product of claim 1 , wherein the transforming the state of the input data uses a compression format that complies with the industry standard. 4. The computer program product of claim 1 , wherein the history is stored in a buffer specified by the instruction. 5. The computer program product of claim 4 , wherein the instruction comprises an operation code field that includes the operation code to specify the operation and a plurality of register fields to specify a plurality of registers to be used by the instruction, wherein the plurality of registers comprises one register used to identify an output operand location to be used by the instruction as an output, and another register used to identify an input operand location to be used by the instruction as an input. 6. The computer program product of claim 5 , wherein the input depends on the function, wherein based on the function being the compression function, the input comprises data from the input operand location to be encoded to provide compressed data symbols stored to the output operand location and copied as history stored to the buffer from the input operand location, and wherein based on the function being the decompression function, the input comprises the compressed data symbols from the input operand location to be decoded to provide uncompressed data stored to the output operand location and to the buffer. 7. The computer program product of claim 5 , wherein the instruction uses a selected register to specify a location in memory of the buffer and another selected register to provide an address of a parameter block to be used by the instruction, the parameter block specifying an offset within the buffer which designates a beginning of the history within the buffer. 8. The computer program product of claim 7 , wherein the parameter block further includes a length of the history within the buffer. 9. The computer program product of claim 7 , wherein the instruction uses a chosen register to specify a type of the buffer. 10. The computer program product of claim 9 , wherein the type of the buffer is a circular buffer. 11. A computer system for facilitating processing within a computing environment, the computer system comprising: a memory; and a processor coupled to the memory, wherein the computer system is configured to perform a method comprising: obtaining, by the processor, an instruction to perform a function of a plurality of functions supported by the instruction, the instruction including an operation code specifying an operation and being a single architected instruction of an instruction set architecture, the instruction complying to an industry standard for compression, and the operation code being separate from an indication of the function to be performed; and executing the instruction, the executing including: performing the function specified by the instruction, wherein, based on the function being a compression function or a decompression function, the performing comprises transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data; accessing, during performing the function, history relating to the function, the history to be used in transforming the state of the input data between the uncompressed form and the compressed form; and providing as output the transformed state of data to be used in performing a task. 12. The computer system of claim 11 , wherein the history is stored in a buffer specified by the instruction. 13. The computer system of claim 12 , wherein the instruction comprises an operation code field that includes the operation code to specify the operation and a plurality of register fields to specify a plurality of registers to be used by the instruction, wherein the plurality of registers comprises one register used to identify an output operand location to be used by the instruction as an output, and another register used to identify an input operand location to be used by the instruction as an input. 14. The computer system of claim 13 , wherein the instruction uses a selected register to specify a location in memory of the buffer and another selected register to provide an address of a parameter block to be used by the instruction, the parameter block specifying an offset within the buffer which designates a beginning of the history within the buffer. 15. The computer system of claim 14 , wherein the parameter block further includes a length of the history within the buffer, and wherein the instruction uses a chosen register to specify a type of the buffer, the type of the buffer being a circular buffer. 16. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising: obtaining, by a processor of the computing environment, an instruction to perform a function of a plurality of functions supported by the instruction, the instruction including an operation code specifying an operation and being a single architected instruction of an instruction set architecture, the instruction complying to an industry standard for compression, and the operation code being separate from an indication of the function to be performed; and executing the instruction, the executing including: performing the function specified by the instruction, wherein, based on the function being a compression function or a decompression function, the performing comprises transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data; accessing, during performing the function, history relating to the function, the history to be used in transforming the state of the input data between the uncompressed form and the compressed form; and providing as output the transformed state of data to be used in performing a task. 17. The computer-implemented method of claim 16 , wherein the history is stored in a buffer specified by the instruction.

Assignees

Inventors

Classifications

  • Adaptive prefix coding · CPC title

  • Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code · CPC title

  • G06F9/3832Primary

    Value prediction for operands; operand history buffers · CPC title

  • using wraparound, e.g. modulo or circular addressing · CPC title

  • Instruction analysis, e.g. decoding, instruction word fields · 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 US10831497B2 cover?
An instruction to perform a function of a plurality of functions is obtained. The instruction is a single architected instruction of an instruction set architecture that complies to an industry standard for compression. The instruction is executed, and the executing includes performing the function specified by the instruction. The performing includes, based on the function being a compression …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/3832. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 10 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).