TABLE FETCH PROCESSOR INSTRUCTION USING TABLE NUMBER TO BASE ADDRESS TRANSLATION
First Claim
1. A method comprising:
- (a) receiving an input value onto a processor;
(b) converting the input value into a base address value and an offset value, wherein the base address is the base address of a table of code in an external memory, and wherein the offset value indicates an offset from the base address to a section of code within the table;
(c) in response to the receiving of the input value of (a) fetching a first block of information of the section of code without use by the processor of any instruction counter, wherein the first block of information includes a plurality of instructions, wherein at least one of the instructions of the first block is a fetch instruction, and wherein the processor only fetches instructions in response to receiving an input value from an external source or as a result of executing a fetch instruction; and
(d) executing the instructions of the first block of information including executing the fetch instruction.
3 Assignments
0 Petitions
Accused Products
Abstract
A pipelined run-to-completion processor includes no instruction counter and only fetches instructions either: as a result of being prompted from the outside by an input data value and/or an initial fetch information value, or as a result of execution of a fetch instruction. Initially the processor is not clocking. An incoming value kick-starts the processor to start clocking and to fetch a block of instructions from a section of code in a table. The input data value and/or the initial fetch information value determines the section and table from which the block is fetched. A LUT converts a table number in the initial fetch information value into a base address where the table is found. Fetch instructions at the ends of sections of code cause program execution to jump from section to section. A finished instruction causes an output data value to be output and stops clocking of the processor.
10 Citations
20 Claims
-
1. A method comprising:
-
(a) receiving an input value onto a processor; (b) converting the input value into a base address value and an offset value, wherein the base address is the base address of a table of code in an external memory, and wherein the offset value indicates an offset from the base address to a section of code within the table; (c) in response to the receiving of the input value of (a) fetching a first block of information of the section of code without use by the processor of any instruction counter, wherein the first block of information includes a plurality of instructions, wherein at least one of the instructions of the first block is a fetch instruction, and wherein the processor only fetches instructions in response to receiving an input value from an external source or as a result of executing a fetch instruction; and (d) executing the instructions of the first block of information including executing the fetch instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A processor comprising:
-
means for fetching blocks of information from a memory system external to the processor without the use of an instruction counter, wherein the means only fetches blocks of information from the memory system in response to either a receiving of a fetch information value onto the processor from an external source or to a receiving of a fetch information value from a stage within the processor, wherein the processor includes no instruction counter and the means fetches block of information without use of any instruction counter, wherein a fetch information value received onto the processor from the external source includes a table number value, and wherein the means determines a base address value from the table number value, and wherein the means includes the base address value in a memory request that is supplied from the means to the memory system, wherein the base address is a base address of a table that contains the block of information; a decode stage coupled to the means, wherein the decode stage can decode a fetch instruction; a register file read stage coupled to the decode stage; and an execute stage coupled to the register file read stage, wherein the execute stage executes the fetch instruction by outputting fetch information to the fetch request stage thereby prompting the means to fetch a block of information. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
a processor comprising; means for fetching blocks of information without the use of an instruction counter, wherein the means only fetches blocks of information in response to either a receiving of a fetch information value onto the processor from an external source or to a receiving of a fetch information value from a stage within the processor, wherein the processor includes no instruction counter and the means fetches blocks of information without use of any instruction counter, wherein a fetch information value received onto the processor from the external source includes a table number value; a decode stage coupled to the means, wherein the decode stage can decode a fetch instruction; a register file read stage coupled to the decode stage; and an execute stage coupled to the register file read stage, wherein the execute stage executes the fetch instruction by outputting fetch information to the fetch request stage thereby prompting the means to fetch a block of information; and a memory system external to the processor, wherein the memory system receives a memory request from the processor, wherein the memory request includes the table number value, wherein the memory system determines a base address value from the table number value, and wherein the base address value is a base address of a table of code stored in the memory system that contains the block of information. - View Dependent Claims (19, 20)
-
Specification