Execution of instructions directly from input source
Abstract
A computer array ( 10 ) has a plurality of computers ( 12 ). The computers ( 12 ) communicate with each other asynchronously, and the computers ( 12 ) themselves operate in a generally asynchronous manner internally. When one computer ( 12 ) attempts to communicate with another it goes to sleep until the other computer ( 12 ) is ready to complete the transaction, thereby saving power and reducing heat production. The sleeping computer ( 12 ) can be awaiting data or instructions ( 12 ). In the case of instructions, the sleeping computer ( 12 ) can be waiting to store the instructions or to immediately execute the instructions. In the later case, the instructions are placed in an instruction register ( 30 a ) when they are received and executed therefrom, without first placing the instructions first into memory. The instructions can include a micro-loop ( 100 ) which is capable of performing a series of operations repeatedly. In one application, the sleeping computer ( 12 ) is awakened by an input such that it commences an action that would otherwise have required an interrupt of an otherwise active computer.
Claims
exact text as granted — not AI-modified1 . A method for handling data blocks in a computer, comprising:
fetching a data block from an address, wherein the address can be either an address of a memory location or an address of a port; if said data block contains a group of instructions then providing said data block to an instruction register; and if said data block contains data rather than instructions then providing said data block to the top of a data stack.
2 . The method of claim 1 , wherein the question of whether said data block contains a group of instructions or data is determined by whether the last instruction in a previous group of instructions has been executed.
3 . The method of claim 2 , wherein when the last instruction in said previous group of instructions has been executed then it is determined that the data block contains a group of instructions.
4 . The method of claim 1 , wherein the data stack is a primary data stack.
5 . The method of claim 1 , further comprising executing instructions from said group of instructions from the instruction register when said data block contains said group of instructions.
6 . The method of claim 1 , wherein said group of instructions also contains data.
7 . The method of claim 1 , further comprising:
providing said computer; and wherein said computer is one of a plurality of computers integrated on a unitary substrate; and said computer includes said port, said instruction register, said data stack, and a processor for executing groups of instructions from said instruction register.
8 . A non-transitory, electronically-readable storage medium having code embodied therein for causing an electronic device to handle data blocks, said code operative to cause said electronic device to:
fetch a data block from an address, wherein the address is sometimes an address of a memory location and other times an address of a port; provide said data block to an instruction register if said data block contains a group of instructions; and provide said data block to the top of a data stack if said data block contains data rather than instructions.
9 . The electronically-readable storage medium of claim 8 , wherein the question of whether said data block contains a group of instructions or data is determined by whether the last instruction in a previous group of instructions has been executed.
10 . The electronically-readable storage medium of claim 9 , wherein when the last instruction in said previous group of instructions has been executed then it is determined that the data block contains a group of instructions.
11 . The electronically-readable storage medium of claim 8 , wherein the data stack is a primary data stack.
12 . The electronically-readable storage medium of claim 8 , wherein said code is further operative to cause said electronic device to execute instructions from said group of instructions from the instruction register when said data block contains said group of instructions.
13 . The electronically-readable storage medium of claim 8 , wherein said group of instructions also contains data.
14 . The electronically-readable storage medium of claim 8 , wherein:
said electronic device is a computer; said computer is one of a plurality of computers integrated on a unitary substrate; and said computer includes said port, said instruction register, said data stack, and a processor for executing groups of instructions from said instruction register.
15 . A computer comprising:
an instruction register for storing groups of instructions to be executed; a processor; a data stack; a communication port; and logic to fetch a data block from an address, the address sometimes being an address of a memory location and other times being an address of said communication port; and wherein if said data block contains a group of instructions, then said data block is provided to said instruction register; and if said data block contains data rather than instructions, then said data block is provided to the top of said data stack.
16 . The computer of claim 15 , wherein the question of whether said data block contains a group of instructions or data is determined by whether the last instruction in a previous group of instructions has been executed.
17 . The computer of claim 16 , wherein when the last instruction in said previous group of instructions has been executed then it is determined that the data block contains a group of instructions.
18 . The computer of claim 15 , wherein the data stack is a primary data stack.
19 . The computer of claim 15 , wherein said processor executes instructions from said group of instructions from said instruction register when said data block contains said group of instructions.
20 . The computer of claim 15 , wherein said group of instructions also contains data.
21 . The computer of claim 15 , wherein said computer is one of a plurality of computers integrated on a unitary substrate.
22 . A computer comprising:
an instruction register for storing groups of instructions to be executed; a processor; a data stack; a communication port; and means for fetching a data block from an address, the address sometimes being an address of a memory location and other times being an address of said communication port; means for providing said data block to said instruction register when said data block contains a group of instructions; and means for providing said data block to the top of said data stack when said data block contains data rather than instructions.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.