Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
183 words
A processing system, for executing macro string instructions, the processing system comprising: an instruction memory, for storing said macro string instructions; a data memory, for storing data strings upon which said macro string instructions operate; translate/decode logic, connected to said instruction memory, for decoding each of said macro string instructions into a sequence of micro instructions, and for repetitively generating said sequence of micro instructions; an execution unit, connected to said translate/decode logic, for executing said repetitively generated sequence of micro instructions; exception logic, connected to said translate/decode logic, for interrupting said repetitive generation of said sequence of micro instructions, and causing said microprocessor to execute an exception correction routine; and instruction pointer logic, connected to said instruction memory, and to said exception logic, for storing a first address and a second address, and for providing a selected one of said first address or said second address to said instruction memory; whereby when said exception logic interrupts said repetitive generation of said sequence of micro instructions, said instruction pointer logic selects said first address for use in restarting said sequence of micro instructions.
Claim 2
Dependent Claim
183 words
A processing system, for executing macro string instructions, the processing system comprising: an instruction memory, for storing said macro string instructions; a data memory, for storing data strings upon which said macro string instructions operate; translate/decode logic, connected to said instruction memory, for decoding each of said macro string instructions into a sequence of micro instructions, and for repetitively generating said sequence of micro instructions; an execution unit, connected to said translate/decode logic, for executing said repetitively generated sequence of micro instructions; exception logic, connected to said translate/decode logic, for interrupting said repetitive generation of said sequence of micro instructions, and causing said microprocessor to execute an exception correction routine; and instruction pointer logic, connected to said instruction memory, and to said exception logic, for storing a first address and a second address, and for providing a selected one of said first address or said second address to said instruction memory; whereby when said exception logic interrupts said repetitive generation of said sequence of micro instructions, said instruction pointer logic selects said first address for use in restarting said sequence of micro instructions.
Claim 3
Dependent Claim
24 words
The processing system, as recited in claim 1, wherein said macro string instructions comprise: load string operations; move string operations; and compare string operations.
Claim 4
Dependent Claim
20 words
The processing system, as recited in claim 1, wherein said instruction memory is a cache memory within said processing system.
Claim 5
Dependent Claim
15 words
The processing system, as recited in claim 1, wherein said instruction memory is dynamic-random-access-memory (DRAM).
Claim 6
Dependent Claim
27 words
The processing system, as recited in claim 1, wherein said translate/decode logic decodes said macro string instructions one at a time into said sequence of micro instructions.
Claim 7
Dependent Claim
28 words
The processing system, as recited in claim 1, wherein said macro string instructions operate repetitively on a plurality of bytes of data that are stored in a memory.
Claim 8
Dependent Claim
59 words
The processing system, as recited in claim 1, wherein said translate/decode logic further comprises: a translator, for receiving said macro string instructions from said instruction memory, and for identifying said sequence of micro instructions which corresponds to each of said macro string instructions; and a control ROM, connected to said translator, for storing a plurality of micro instruction sequences.
Claim 9
Dependent Claim
37 words
The processing system, as recited in claim 7, wherein said translator, after identifying said sequence of corresponding micro instructions, repetitively selects from said control ROM said sequence of micro instructions to be provided to said execution unit.
Claim 10
Dependent Claim
36 words
The processing system, as recited in claim 1, wherein said processing system further comprises: a register file, connected to said execution unit, for storing addresses corresponding to locations in said data memory of said data strings.
Claim 11
Dependent Claim
43 words
The processing system, as recited in claim 9, wherein said register file further comprises: a control register, for storing a value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings.
Claim 12
Dependent Claim
49 words
The processing system, as recited in claim 9, wherein said register file further comprises: a source register, for storing an address corresponding to a source data string within said data memory; and a destination register, for storing an address corresponding to a destination data string within said data memory.
Claim 13
Dependent Claim
33 words
The processing system, as recited in claim 11, wherein the contents of each of said source register and said destination register are incremented or decremented as said sequence of micro instructions is repeated.
Claim 14
Dependent Claim
29 words
The processing system, as recited in claim 1, wherein said execution unit further comprises: a counter, for counting the number of times said sequence of micro instructions is executed.
Claim 15
Dependent Claim
29 words
The processing system, as recited in claim 13, wherein said counter stores a value corresponding to the number of times said sequence of micro instructions is to be executed.
Claim 16
Dependent Claim
46 words
The processing system, as recited in claim 10, wherein said execution unit further comprises: a counter, for receiving from said control register said value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings.
Claim 17
Dependent Claim
42 words
The processing system, as recited in claim 15, wherein as said sequence of micro instructions are repeated, said counter tracks the number of times remaining that said sequence of micro instructions must be repeated for said particular one of said data strings.
Claim 18
Dependent Claim
40 words
The processing system, as recited in claim 16, wherein when said counter determines that said sequence of micro instructions does not need to be repeated, said execution unit alerts said translate/decode logic to stop generating said sequence of micro instructions.
Claim 19
Dependent Claim
26 words
The processing system, as recited in claim 17, wherein said execution unit alerts said translate/decode logic with a signal indicating that said counter has reached zero.
Claim 20
Dependent Claim
40 words
The processing system, as recited in claim 17, wherein when said counter determines that said sequence of micro instructions does not need to be repeated, an instruction is executed which transfers the contents of said counter to said control register.
Claim 21
Dependent Claim
26 words
The processing system, as recited in claim 1, wherein said exception logic interrupts said repetitive generation of said sequence of micro instructions when an exception occurs.
Claim 22
Dependent Claim
17 words
The processing system, as recited in claim 20, wherein said exception comprises a fault or a trap.
Claim 23
Dependent Claim
23 words
The processing system, as recited in claim 21, wherein said fault is an exception that after correction, requires return to said first address.
Claim 24
Dependent Claim
23 words
The processing system, as recited in claim 21, wherein said trap is an exception that after correction, requires return to said second address.
Claim 25
Dependent Claim
42 words
The processing system, as recited in claim 23, wherein if said trap occurs during execution of one of said macro string instructions, said instruction pointer logic provides said first address, instead of said second address, as said return address from said exception.
Claim 26
Dependent Claim
35 words
The processing system, as recited in claim 24, wherein when said first address is provided by said instruction pointer logic, said one of said macro string instructions continues execution at the point of said interruption.
Claim 27
Dependent Claim
381 words
A processing system, for executing macro string instructions, the processing system comprising: an instruction memory, for storing said macro string instructions; a data memory, for storing data strings upon which said macro string instructions operate; translate/decode logic, connected to said instruction memory, for decoding each of said macro string instructions into a sequence of micro instructions, and for repetitively generating said sequence of micro instructions; a register file, coupled to said translate/decode logic, for storing addresses corresponding to locations in said data memory of said data strings, the register file comprising: a control register, for storing a value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings; an execution unit, connected to said translate/decode logic, for executing said repetitively generated sequence of micro instructions, the execution unit comprising a counter, for receiving from said control register said value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings; wherein as said sequence of micro instructions are repeated, said counter tracks the number of times remaining that said sequence of micro instructions must be repeated for said particular one of said data strings; and wherein when said counter determines that said sequence of micro instructions does not need to be repeated, said execution unit alerts said translate/decode logic to stop generating said sequence of micro instructions; and wherein said execution unit alerts said translate/decode logic with a signal indicating that said counter has reached zero; and a string detection unit, connected to said counter, also for receiving said signal indicating that said counter has reached zero; exception logic, connected to said translate/decode logic, for interrupting said repetitive generation of said sequence of micro instructions, and causing said microprocessor to execute an exception correction routine; and instruction pointer logic, connected to said instruction memory, and to said exception logic, for storing a first address and a second address, and for providing a selected one of said first address or said second address to said instruction memory; whereby when said exception logic interrupts said repetitive generation of said sequence of micro instructions, said instruction pointer logic selects said first address for use in restarting said sequence of micro instructions.
Claim 28
Dependent Claim
381 words
A processing system, for executing macro string instructions, the processing system comprising: an instruction memory, for storing said macro string instructions; a data memory, for storing data strings upon which said macro string instructions operate; translate/decode logic, connected to said instruction memory, for decoding each of said macro string instructions into a sequence of micro instructions, and for repetitively generating said sequence of micro instructions; a register file, coupled to said translate/decode logic, for storing addresses corresponding to locations in said data memory of said data strings, the register file comprising: a control register, for storing a value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings; an execution unit, connected to said translate/decode logic, for executing said repetitively generated sequence of micro instructions, the execution unit comprising a counter, for receiving from said control register said value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings; wherein as said sequence of micro instructions are repeated, said counter tracks the number of times remaining that said sequence of micro instructions must be repeated for said particular one of said data strings; and wherein when said counter determines that said sequence of micro instructions does not need to be repeated, said execution unit alerts said translate/decode logic to stop generating said sequence of micro instructions; and wherein said execution unit alerts said translate/decode logic with a signal indicating that said counter has reached zero; and a string detection unit, connected to said counter, also for receiving said signal indicating that said counter has reached zero; exception logic, connected to said translate/decode logic, for interrupting said repetitive generation of said sequence of micro instructions, and causing said microprocessor to execute an exception correction routine; and instruction pointer logic, connected to said instruction memory, and to said exception logic, for storing a first address and a second address, and for providing a selected one of said first address or said second address to said instruction memory; whereby when said exception logic interrupts said repetitive generation of said sequence of micro instructions, said instruction pointer logic selects said first address for use in restarting said sequence of micro instructions.
Claim 29
Dependent Claim
39 words
The processing system, as recited in claim 26 wherein when said string detection unit receives said signal, said string detection unit detects whether subsequent micro instructions received by said execution unit are part of said sequence of micro instructions.
Claim 30
Dependent Claim
30 words
The processing system, as recited in claim 27, wherein said execution unit turns said subsequent micro instructions which are part of said sequence of micro instructions into no operations (NOP's).
Claim 31
Dependent Claim
23 words
The processing system, as recited in claim 20, wherein after handling said exception, said translator begins repetitively generating said sequence of micro instructions.
Claim 32
Dependent Claim
310 words
A processing system, for executing macro string instructions, and for handling exceptions during execution of the string instructions, the processing system comprising: an instruction memory, for storing said macro string instructions; a data memory, for storing data strings upon which said macro string instructions operate; translate/decode logic, connected to said instruction memory, for decoding each of said macro string instructions into a sequence of micro instructions, and for repetitively generating said sequence of micro instructions, said translate/decode logic comprising: a translator, for receiving said macro string instructions from said instruction memory, and for identifying said sequence of micro instructions which corresponds to each of said macro string instructions; and a control ROM, connected to said translator, for storing a plurality of micro instruction sequences; wherein said translator, after identifying said sequence of corresponding micro instructions, repetitively selects from said control ROM said sequence of micro instructions to be provided therefrom; an execution unit, connected to said translate/decode logic, for executing said repetitively generated sequence of micro instructions, said execution unit further comprising: a counter, for counting the number of times said sequence of micro instructions is executed; a register file, connected to said execution unit, for storing addresses corresponding to locations in said data memory of said data strings; exception logic, connected to said translate/decode logic, for interrupting said repetitive generation of said sequence of micro instructions, and causing said microprocessor to execute an exception correction routine; and instruction pointer logic, connected to said instruction memory, and to said exception logic, for storing a first address and a second address, and for providing a selected one of said first address or said second address to said instruction memory; whereby when said exception logic interrupts said repetitive generation of said sequence of micro instructions, said instruction pointer logic selects said first address for use in restarting said sequence of micro instructions.
Claim 33
Dependent Claim
310 words
A processing system, for executing macro string instructions, and for handling exceptions during execution of the string instructions, the processing system comprising: an instruction memory, for storing said macro string instructions; a data memory, for storing data strings upon which said macro string instructions operate; translate/decode logic, connected to said instruction memory, for decoding each of said macro string instructions into a sequence of micro instructions, and for repetitively generating said sequence of micro instructions, said translate/decode logic comprising: a translator, for receiving said macro string instructions from said instruction memory, and for identifying said sequence of micro instructions which corresponds to each of said macro string instructions; and a control ROM, connected to said translator, for storing a plurality of micro instruction sequences; wherein said translator, after identifying said sequence of corresponding micro instructions, repetitively selects from said control ROM said sequence of micro instructions to be provided therefrom; an execution unit, connected to said translate/decode logic, for executing said repetitively generated sequence of micro instructions, said execution unit further comprising: a counter, for counting the number of times said sequence of micro instructions is executed; a register file, connected to said execution unit, for storing addresses corresponding to locations in said data memory of said data strings; exception logic, connected to said translate/decode logic, for interrupting said repetitive generation of said sequence of micro instructions, and causing said microprocessor to execute an exception correction routine; and instruction pointer logic, connected to said instruction memory, and to said exception logic, for storing a first address and a second address, and for providing a selected one of said first address or said second address to said instruction memory; whereby when said exception logic interrupts said repetitive generation of said sequence of micro instructions, said instruction pointer logic selects said first address for use in restarting said sequence of micro instructions.
Claim 34
Dependent Claim
43 words
The processing system, as recited in claim 30, wherein said register file further comprises: a control register, for storing a value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings.
Claim 35
Dependent Claim
49 words
The processing system, as recited in claim 31, wherein said register file further comprises: a source register, for storing an address corresponding to a source data string within said data memory; and a destination register, for storing an address corresponding to a destination data string within said data memory.
Claim 36
Dependent Claim
33 words
The processing system, as recited in claim 32, wherein the contents of each of said source register and said destination register are incremented or decremented as said sequence of micro instructions is repeated.
Claim 37
Dependent Claim
40 words
The processing system, as recited in claim 31, wherein said counter, receives from said control register said value corresponding to the number of times said sequence of micro instructions must be repeated for a particular one of said data strings.
Claim 38
Dependent Claim
42 words
The processing system, as recited in claim 34, wherein as said sequence of micro instructions are repeated, said counter tracks the number of times remaining that said sequence of micro instructions must be repeated for said particular one of said data strings.
Claim 39
Dependent Claim
40 words
The processing system, as recited in claim 35, wherein when said counter determines that said sequence of micro instructions does not need to be repeated, said execution unit alerts said translate/decode logic to stop generating said sequence of micro instructions.
Claim 40
Dependent Claim
61 words
The processing system, as recited in claim 36, wherein when said counter determines that said sequence of micro instructions does not need to be repeated said execution unit alerts said translate/decode logic with a signal indicating that said counter has reached zero, causing said translate/decode logic to generate an instruction which transfers the contents of said counter to said control register.