Patent ID: 11900109
Assignee: GRAPHCORE LIMITED
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. An execution unit for executing a computer program, the execution unit comprising:
a pseudo random number generator implemented in hardware;
wherein the execution unit is configured to execute a masking instruction which, when executed by the execution unit, masks randomly selected first values from a source operand of n values and retains other original values from the source operand to generate a result which includes original values from the source operand and symbols in the respective original locations of the selected first values, wherein the masking instruction includes a probability field defining a probability value for masking values of the source operand; and
wherein the pseudo random number generator is configured to output a first randomised bit string from which random bit sequences are derived for randomly selecting the first values to be masked, wherein the first randomised bit string output from the pseudo random number generator comprises m bits, wherein the execution unit is configured to:
in response to instigation of the masking instruction, obtain the first randomised bit string output by the pseudo random number generator;
divide the first randomised bit string obtained from the pseudo random number generator into p sequences; and
compare each of the p sequences with the probability value to generate a weighted probability indicator for selecting the first values to be masked.