Instruction for performing a pseudorandom number generate operation
First Claim
1. A computer program product for executing a machine instruction, the computer program product comprising:
- a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising;
obtaining a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode field to provide an opcode, the opcode to identify a perform pseudorandom number operation; and
executing the machine instruction, the executing comprising;
obtaining a modifier field associated with the machine instruction;
based on the modifier field having a first value, performing a deterministic pseudorandom number generate operation, the deterministic pseudorandom number generate operation comprising;
for each block of memory of one or more blocks of memory of a first operand located using the machine instruction, generating a hash value using a selected hash technique and at least one seed value of a parameter block associated with the machine instruction, wherein the parameter block is configured to include at least one of;
a reseed counter to indicate a number of times the machine instruction has completed with a specific condition code since the parameter block was last instantiated or reseeded;
a stream bytes field to track a number of bytes stored based on the generate operation;
or a value to indicate an internal state of a random number generator represented by the parameter block; and
storing at least a portion of the generated hash value in a corresponding block of memory of the first operand, the generated hash value being at least a portion of a pseudorandom number.
1 Assignment
0 Petitions
Accused Products
Abstract
A machine instruction is provided that includes an opcode field to provide an opcode, the opcode to identify a perform pseudorandom number operation, and a register field to be used to identify a register, the register to specify a location in memory of a first operand to be used. The machine instruction is executed, and execution includes for each block of memory of one or more blocks of memory of the first operand, generating a hash value using a 512 bit secure hash technique and at least one seed value of a parameter block of the machine instruction; and storing at least a portion of the generated hash value in a corresponding block of memory of the first operand, the generated hash value being at least a portion of a pseudorandom number.
-
Citations
19 Claims
-
1. A computer program product for executing a machine instruction, the computer program product comprising:
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; obtaining a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode field to provide an opcode, the opcode to identify a perform pseudorandom number operation; and executing the machine instruction, the executing comprising; obtaining a modifier field associated with the machine instruction; based on the modifier field having a first value, performing a deterministic pseudorandom number generate operation, the deterministic pseudorandom number generate operation comprising; for each block of memory of one or more blocks of memory of a first operand located using the machine instruction, generating a hash value using a selected hash technique and at least one seed value of a parameter block associated with the machine instruction, wherein the parameter block is configured to include at least one of;
a reseed counter to indicate a number of times the machine instruction has completed with a specific condition code since the parameter block was last instantiated or reseeded;
a stream bytes field to track a number of bytes stored based on the generate operation;
or a value to indicate an internal state of a random number generator represented by the parameter block; andstoring at least a portion of the generated hash value in a corresponding block of memory of the first operand, the generated hash value being at least a portion of a pseudorandom number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A computer system for executing a machine instruction, the computer system comprising:
-
a memory; and a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising; obtaining a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode field to provide an opcode, the opcode to identify a perform pseudorandom number operation; and executing the machine instruction, the executing comprising; obtaining a modifier field associated with the machine instruction; based on the modifier field having a first value, performing a deterministic pseudorandom number generate operation, the deterministic pseudorandom number generate operation comprising; for each block of memory of one or more blocks of memory of a first operand located using the machine instruction, generating a hash value using a selected hash technique and at least one seed value of a parameter block associated with the machine instruction, wherein the parameter block is configured to include at least one of;
a reseed counter to indicate a number of times the machine instruction has completed with a specific condition code since the parameter block was last instantiated or reseeded;
a stream bytes field to track a number of bytes stored based on the generate operation;
or a value to indicate an internal state of a random number generator represented by the parameter block; andstoring at least a portion of the generated hash value in a corresponding block of memory of the first operand, the generated hash value being at least a portion of a pseudorandom number. - View Dependent Claims (13, 14, 15)
-
-
16. A computer-implemented method of executing a machine instruction, the computer-implemented method comprising:
-
obtaining a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising an opcode field to provide an opcode, the opcode to identify a perform pseudorandom number operation; and executing the machine instruction, the executing comprising; obtaining a modifier field associated with the machine instruction; based on the modifier field having a first value, performing a deterministic pseudorandom number generate operation, the deterministic pseudorandom number generate operation comprising; for each block of memory of one or more blocks of memory of a first operand located using the machine instruction, generating a hash value using a selected hash technique and at least one seed value of a parameter block associated with the machine instruction, wherein the parameter block is configured to include at least one of;
a reseed counter to indicate a number of times the machine instruction has completed with a specific condition code since the parameter block was last instantiated or reseeded;
a stream bytes field to track a number of bytes stored based on the generate operation;
or a value to indicate an internal state of a random number generator represented by the parameter block; andstoring at least a portion of the generated hash value in a corresponding block of memory of the first operand, the generated hash value being at least a portion of a pseudorandom number. - View Dependent Claims (17, 18, 19)
-
Specification