Pack unicode zseries instructions
AssigneeInternational Business Machines Corporation
InventorsAntonisamy A. Rajendran, Muruganandam Somasundaram
Life of this patent
Estimating the term…
Abstract
Emulation methods are provided for two PACK instructions, one for Unicode data and the other for ASCII coded data in which processing is carried out in a block-by-block fashion as opposed to a byte-by-byte fashion as a way to provide superior performance in the face of the usual challenges facing the execution of emulated data processing machine instructions as opposed to native instructions.
Claims20
A computer program product for packing data, said computer program product comprising:
- a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
- obtaining Unicode input data to be packed into memory, said Unicode input data comprising a plurality of blocks of Unicode data, wherein each block of Unicode data comprises a plurality of Unicode characters;
- selecting a first portion of a chosen block of Unicode data to be packed, said chosen block selected from the plurality of blocks of Unicode data and said first portion comprising a plurality of bytes of data;
- performing one or more operations on the selected first portion of the chosen block of Unicode data to obtain a first plurality of bytes of packed data;
- selecting a second portion of the chosen block of Unicode data, said second portion comprising a plurality of bytes of data;
- performing one or more operations on the selected second portion of the chosen block to obtain a second plurality of bytes of packed data;
- performing an operation on the first plurality of bytes of packed data and the second plurality of bytes of packed data to obtain a packed output of a plurality of bytes;
- and
- repeating the selecting the first portion, performing one or more operations on the selected first portion, selecting the second portion, performing one or more operations on the selected second portion, and the performing the operation for a next chosen block, one or more times, to obtain a packed array for the input data.
A computer system for packing data, the computer system comprising:
- a memory;
- and
- a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- obtaining Unicode input data to be packed into memory, said Unicode input data comprising a plurality of blocks of Unicode data, wherein each block of Unicode data comprises a plurality of Unicode characters;
- selecting a first portion of a chosen block of Unicode data to be packed, said chosen block selected from the plurality of blocks of Unicode data and said first portion comprising a plurality of bytes of data;
- performing one or more operations on the selected first portion of the chosen block of Unicode data to obtain a first plurality of bytes of packed data;
- selecting a second portion of the chosen block of Unicode data, said second portion comprising a plurality of bytes of data;
- performing one or more operations on the selected second portion of the chosen block to obtain a second plurality of bytes of packed data;
- performing an operation on the first plurality of bytes of packed data and the second plurality of bytes of packed data to obtain a packed output of a plurality of bytes;
- and
- repeating the selecting the first portion, performing one or more operations on the selected first portion, selecting the second portion, performing one or more operations on the selected second portion, and the performing the operation for a next chosen block, one or more times, to obtain a packed array for the input data.
A method for packing data, said method comprising:
- obtaining Unicode input data to be packed into memory, said Unicode input data comprising a plurality of blocks of Unicode data, wherein each block of Unicode data comprises a plurality of Unicode characters;
- selecting a first portion of a chosen block of Unicode data to be packed, said chosen block selected from the plurality of blocks of Unicode data and said first portion comprising a plurality of bytes of data;
- performing one or more operations on the selected first portion of the chosen block of Unicode data to obtain a first plurality of bytes of packed data;
- selecting a second portion of the chosen block of Unicode data, said second portion comprising a plurality of bytes of data;
- performing one or more operations on the selected second portion of the chosen block to obtain a second plurality of bytes of packed data;
- performing an operation on the first plurality of bytes of packed data and the second plurality of bytes of packed data to obtain a packed output of a plurality of bytes;
- and
- repeating the selecting the first portion, performing one or more operations on the selected first portion, selecting the second portion, performing one or more operations on the selected second portion, and the performing the operation for a next chosen block, one or more times, to obtain a packed array for the input data.
Dependencies are inferred from the claim text.