Method and apparatus for modifying micro-instructions using a macro-instruction pipeline
First Claim
1. An apparatus for executing instructions in a controller having at least first and second function units which each include an arithmetic logic unit, comprising:
- a macro-instruction register;
a next macro-instruction register coupled to said macro-instruction register;
first logic means, coupled to one of said instruction registers, for generating control signals to concurrently execute, during a single clock cycle, first and second operations in said first and second function units, respectively, said first operation being used to carry out a first macro-instruction in said first macro-instruction register and said second operation being performed to carry out a next macro-instruction, and for using the result of said second operation during the execution of said next macro-instruction if said next macro-instruction has a number of operations less than a predetermined number and otherwise re-executing said second operation;
second logic means for decoding said next macro-instruction to determine whether less than said predetermined number of operations are required;
wherein one of said first and second operations is a memory access operation and said first logic means includesa first logic stage for providing access to a memory,a second logic stage having a first arithmetic logic unit for performing arithmetic operations on data provided from at least one of said first and next macro-instructions and said memory, anda third logic stage having a second arithmetic logic unit for performing arithmetic operations on data provided from at least one of said first and next macro-instructions and said memory, at least two of said first, second and third logic stages being concurrently operated for a portion of said first and next macro-instructions.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and mechanism operate for shortening the execution time of certain macro-instructions by looking at both a present macro-instruction and a next macro-instruction. The invention includes two, interrelated aspects for accomplishing this. First, a first operation of a next macro-instruction is performed concurrently with a last operation of a current macro-instruction. Second, the next macro-instruction is decoded to determine the minimum number of clock cycles it requires. If this minimum number is below a specified number, the micro operations of the present instruction are modified to perform appropriate set-up operations for the next macro-instruction to enable it to be completed in the computed minimum number of clock cycles.
48 Citations
1 Claim
-
1. An apparatus for executing instructions in a controller having at least first and second function units which each include an arithmetic logic unit, comprising:
-
a macro-instruction register; a next macro-instruction register coupled to said macro-instruction register; first logic means, coupled to one of said instruction registers, for generating control signals to concurrently execute, during a single clock cycle, first and second operations in said first and second function units, respectively, said first operation being used to carry out a first macro-instruction in said first macro-instruction register and said second operation being performed to carry out a next macro-instruction, and for using the result of said second operation during the execution of said next macro-instruction if said next macro-instruction has a number of operations less than a predetermined number and otherwise re-executing said second operation; second logic means for decoding said next macro-instruction to determine whether less than said predetermined number of operations are required; wherein one of said first and second operations is a memory access operation and said first logic means includes a first logic stage for providing access to a memory, a second logic stage having a first arithmetic logic unit for performing arithmetic operations on data provided from at least one of said first and next macro-instructions and said memory, and a third logic stage having a second arithmetic logic unit for performing arithmetic operations on data provided from at least one of said first and next macro-instructions and said memory, at least two of said first, second and third logic stages being concurrently operated for a portion of said first and next macro-instructions.
-
Specification