A processor includes a front-end portion that issues instructions to execution units that execute the issued instructions. A hardware neural network unit (NNU) execution unit includes a first memory that holds data words associated with artificial neural networks (ANN) neuron outputs, a second memory that holds weight words associated with connections between ANN neurons, and a third memory that holds a program comprising NNU instructions that are distinct, with respect to their instruction set, from the instructions issued to the NNU by the front-end portion of the processor. The program performs ANN-associated computations on the data and weight words. A first instruction instructs the NNU to transfer NNU instructions of the program from architectural general purpose registers to the third memory. A second instruction instructs the NNU to invoke the program stored in the third memory.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A processor, comprising: a front-end portion that issues instructions to execution units that execute the issued instructions; architectural general purpose registers; the execution units include a hardware neural network unit (NNU) that accelerates computations; the NNU comprises: a first memory that holds data words associated with artificial neural networks (ANN) neuron outputs; a second memory that holds weight words associated with connections between ANN neurons; a third memory that holds a program comprising NNU instructions that are distinct, with respect to their instruction set, from the instructions issued to the NNU by the front-end portion of the processor; and the program performs computations associated with an ANN on the data words and weight words held in the first and second memories; and a first of the instructions issued by the front-end portion to the NNU instructs the NNU to transfer NNU instructions of the program from the architectural general purpose registers to the third memory; and a second of the instructions issued by the front-end portion to the NNU instructs the NNU to invoke the program stored in the third memory. 2. The processor of claim 1, further comprising: the program further writes results of the program to the first memory for use by a subsequent invocation of a program held in the third memory. 3. The processor of claim 2, further comprising: a third of the instructions issued by the front-end portion to the NNU instructs the NNU to transfer the results from the first memory to the architectural general purpose registers. 4. The processor of claim 1, further comprising: a third of the instructions issued by the front-end portion to the NNU instructs the NNU to transfer data words from the architectural general purpose registers to the first memory. 5. The processor of claim 1, further comprising: a third of the instructions issued by the front-end portion to the NNU instructs the NNU to transfer weight words from the architectural general purpose registers to the second memory. 6. The processor of claim 1, further comprising: a sequencer that maintains a program counter used to generate an address to access the program instructions of the third memory. 7. The processor of claim 1, further comprising: a decoder that decodes the instructions issued by the front-end portion to the NNU. 8. The processor of claim 7, further comprising: the decoder generates a control signal to control whether the NNU operates in a first mode to execute the program held in the third memory in response to the second instruction, or operates in a second mode to perform other of the instructions issued by the front-end portion to the NNU. 9. A method for operating a processor having a front-end portion, architectural general purpose registers, and execution units that execute issued instructions and that include a hardware neural network unit (NNU), the method comprising: issuing, by the front-end portion, instructions to the execution units; holding, by a first memory, data words associated with artificial neural networks (ANN) neuron outputs; holding, by a second memory, weight words associated with connections between ANN neurons; holding, by a third memory, a program comprising NNU instructions that are distinct, with respect to their instruction set, from the instructions issued to the NNU by the front-end portion of the processor; and performing computations associated with an ANN on the data words and weight words held in the first and second memories; and instructing, by a first of the instructions issued by the front-end portion to the NNU, the NNU to transfer NNU instructions of the program from the architectural general purpose registers to the third memory; and instructing, by a second of the instructions issued by the front-end portion to the NNU, the NNU to invoke the program stored in the third memory. 10. The method of claim 9, further comprising: writing results of the program to the first memory for use by a subsequent invocation of a program held in the third memory. 11. The method of claim 10, further comprising: instructing, by a third of the instructions issued by the front-end portion to the NNU, the NNU to transfer the results from the first memory to the architectural general purpose registers. 12. The method of claim 9, further comprising: instructing, by a third of the instructions issued by the front-end portion to the NNU, the NNU to transfer data words from the architectural general purpose registers to the first memory. 13. The method of claim 9, further comprising: instructing, by a third of the instructions issued by the front-end portion to the NNU, the NNU to transfer weight words from the architectural general purpose registers to the second memory. 14. The method of claim 9, further comprising: maintaining, by a sequencer of the NNU, a program counter used to generate an address to access the program instructions of the third memory. 15. The method of claim 9, further comprising: decoding the instructions issued by the front-end portion to the NNU. 16. The method of claim 15, further comprising: generating, in response to said decoding, a control signal to control whether the NNU operates in a first mode to execute the program held in the third memory in response to the second instruction or operates in a second mode to perform other of the instructions issued by the front-end portion to the NNU. 17. A computer program product encoded in at least one non-transitory computer usable medium for use with a computing device, the computer program product comprising: computer usable program code embodied in said medium, for specifying a processor, the computer usable program code comprising: first program code for specifying a front-end portion that issues instructions to execution units that execute the issued instructions; second program code for specifying architectural general purpose registers; the execution units include a hardware neural network unit (NNU) that accelerates computations; the NNU comprises: a first memory that holds data words associated with artificial neural networks (ANN) neuron outputs; a second memory that holds weight words associated with connections between ANN neurons; a third memory that holds a program comprising NNU instructions that are distinct, with respect to their instruction set, from the instructions issued to the NNU by the front-end portion of the processor; and the program performs computations associated with an ANN on the data words and weight words held in the first and second memories; and a first of the instructions issued by the front-end portion to the NNU instructs the NNU to transfer NNU instructions of the program from the architectural general purpose registers to the third memory; and a second of the instructions issued by the front-end portion to the NNU instructs the NNU to invoke the program stored in the third memory. 18. The computer program product of claim 17, further comprising: the program further writes results of the program to the first memory for use by a subsequent invocation of a program held in the third memory. 19. The computer program product of claim 17, further comprising: a third of the instructions issued by the front-end portion to the NNU instructs the NNU to transfer data/weight words from the architectural general purpose registers to the first/second memory. 20. The computer program product of claim 17, further comprising: a sequencer that maintains a program counter used to generate an address to access the program instructions of the third memory.