Claims Analysis
Total Claims: 4
Claim 1
Independent Claim
493 words
A microprocessor that includes first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock signal by executing instructions in parallel with the execution of instructions by the other of the first and second execution units, encoded instructions being retrieved from a main memory that is connectable to the microprocessor via a system bus, the encoded instructions stored in the external main memory including encoded core instructions and encoded non-core instructions, the microprocessor comprising: an instruction cache that includes a plurality of individual instruction cache entries, each individual instruction cache entry including a first storage slot for storing a first partially-decoded instruction and a second storage slot for storing a second partially-decoded instruction; a bus interface unit connected to the system bus for retrieving encoded core instructions and encoded non-core instructions from the external main memory; an instruction loader that is connected to the bus interface unit for translating a first encoded core instruction to a first partially-decoded instruction and a second encoded core instruction to a second partially-decoded core instruction, and that is connected to the instruction cache for sequentially storing the first and second partially-decoded instructions in the first and second storage slots, respectively, of a selected instruction cache entry, the instruction loader including means responsive to a non-core instruction received from the bus interface unit for, (a) in the event that the non-core instruction corresponds to a single core instruction that performs the same operation as the non-core instruction, (i) translating the non-core instruction to a decoded version of the single corresponding core instruction; (ii) storing the decoded single corresponding core instruction in the instruction cache; and (iii) providing the decoded single corresponding core instruction to a selected one of the first and second execution units for execution thereby; (b) in the event that the non-core instruction corresponds to a sequence of first and second core instructions that perform the same operation as the non-core instruction, (i) translating the non-core instruction into the sequence of the first and second decoded corresponding core instructions; (ii) storing the first and second decoded corresponding core instructions in the first and second storage slots, respectively, of a single instruction cache entry; and (iii) sequentially providing the first and second decoded corresponding core instructions to a selected one of the first and second execution units for execution thereby; and (c) in the event that the non-core instruction corresponds to a sequence of three or more core instructions, (i) providing the non-core instruction to an emulator connected to the instruction loader for generation by the emulator of said sequence of core instructions corresponding to the non-core instruction; (ii) storing a pointer corresponding to the first core instruction in said sequence of core instructions in the instruction cache; and (iii) providing said sequence of core instructions generated by the emulator to a selected one of the first and second execution units for execution thereby.
Claim 2
Dependent Claim
493 words
A microprocessor that includes first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock signal by executing instructions in parallel with the execution of instructions by the other of the first and second execution units, encoded instructions being retrieved from a main memory that is connectable to the microprocessor via a system bus, the encoded instructions stored in the external main memory including encoded core instructions and encoded non-core instructions, the microprocessor comprising: an instruction cache that includes a plurality of individual instruction cache entries, each individual instruction cache entry including a first storage slot for storing a first partially-decoded instruction and a second storage slot for storing a second partially-decoded instruction; a bus interface unit connected to the system bus for retrieving encoded core instructions and encoded non-core instructions from the external main memory; an instruction loader that is connected to the bus interface unit for translating a first encoded core instruction to a first partially-decoded instruction and a second encoded core instruction to a second partially-decoded core instruction, and that is connected to the instruction cache for sequentially storing the first and second partially-decoded instructions in the first and second storage slots, respectively, of a selected instruction cache entry, the instruction loader including means responsive to a non-core instruction received from the bus interface unit for, (a) in the event that the non-core instruction corresponds to a single core instruction that performs the same operation as the non-core instruction, (i) translating the non-core instruction to a decoded version of the single corresponding core instruction; (ii) storing the decoded single corresponding core instruction in the instruction cache; and (iii) providing the decoded single corresponding core instruction to a selected one of the first and second execution units for execution thereby; (b) in the event that the non-core instruction corresponds to a sequence of first and second core instructions that perform the same operation as the non-core instruction, (i) translating the non-core instruction into the sequence of the first and second decoded corresponding core instructions; (ii) storing the first and second decoded corresponding core instructions in the first and second storage slots, respectively, of a single instruction cache entry; and (iii) sequentially providing the first and second decoded corresponding core instructions to a selected one of the first and second execution units for execution thereby; and (c) in the event that the non-core instruction corresponds to a sequence of three or more core instructions, (i) providing the non-core instruction to an emulator connected to the instruction loader for generation by the emulator of said sequence of core instructions corresponding to the non-core instruction; (ii) storing a pointer corresponding to the first core instruction in said sequence of core instructions in the instruction cache; and (iii) providing said sequence of core instructions generated by the emulator to a selected one of the first and second execution units for execution thereby.
Claim 3
Dependent Claim
373 words
A microprocessor-implemented method of executing instructions, the microprocessor including first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock by executing instructions in parallel with the execution of instructions by the other of the first and second execution units, the encoded instructions being retrieved from a main memory that is external to the microprocessor and that is connectable to the microprocessor via a system bus, the encoded instructions stored in the external main memory including encoded core instructions and encoded non-core instructions, each non-core instruction corresponding to a sequence of one or more core instructions, the method comprising: (a) retrieving an encoded non-core instruction from the external main memory; (b) in the event that the non-core instruction corresponds to a single core instruction that performs the same operation as the non-core instruction (i) translating the non-core instruction to a decoded version of the single corresponding core instruction; (ii) storing the decoded single corresponding core instruction in the instruction cache; and (iii) providing the decoded single corresponding core instruction to a selected one of the first and second execution units for execution thereby; (c) in the even that the non-core instruction corresponds to a sequence of first and second core instructions that performs the same operation as the non-core instruction, (i) translating the non-core instruction into the first and second corresponding decoded core instructions; (ii) storing the first and second corresponding decoded core instructions in the first and second storage slots, respectively, of a single instruction cache entry; and (iii) sequentially providing the first and second corresponding decoded core instructions to a selected one of the first and second execution for execution thereby; and (d) in the even that the non-core instruction corresponds to a sequence of three or more core instructions that performs the same operation as the non-core instruction (i) generating the sequence of three or more core instructions; (ii) storing a pointer corresponding to the first core instruction in the sequence of three or more core instructions in the instruction cache; and (iii) sequentially providing the sequence of three or more core instructions to a selected one of the first and second instruction units for execution thereby.
Claim 4
Dependent Claim
373 words
A microprocessor-implemented method of executing instructions, the microprocessor including first and second parallel-operating execution units such that each of the first and second execution units responds to periodic cycles of a system clock by executing instructions in parallel with the execution of instructions by the other of the first and second execution units, the encoded instructions being retrieved from a main memory that is external to the microprocessor and that is connectable to the microprocessor via a system bus, the encoded instructions stored in the external main memory including encoded core instructions and encoded non-core instructions, each non-core instruction corresponding to a sequence of one or more core instructions, the method comprising: (a) retrieving an encoded non-core instruction from the external main memory; (b) in the event that the non-core instruction corresponds to a single core instruction that performs the same operation as the non-core instruction (i) translating the non-core instruction to a decoded version of the single corresponding core instruction; (ii) storing the decoded single corresponding core instruction in the instruction cache; and (iii) providing the decoded single corresponding core instruction to a selected one of the first and second execution units for execution thereby; (c) in the even that the non-core instruction corresponds to a sequence of first and second core instructions that performs the same operation as the non-core instruction, (i) translating the non-core instruction into the first and second corresponding decoded core instructions; (ii) storing the first and second corresponding decoded core instructions in the first and second storage slots, respectively, of a single instruction cache entry; and (iii) sequentially providing the first and second corresponding decoded core instructions to a selected one of the first and second execution for execution thereby; and (d) in the even that the non-core instruction corresponds to a sequence of three or more core instructions that performs the same operation as the non-core instruction (i) generating the sequence of three or more core instructions; (ii) storing a pointer corresponding to the first core instruction in the sequence of three or more core instructions in the instruction cache; and (iii) sequentially providing the sequence of three or more core instructions to a selected one of the first and second instruction units for execution thereby.