Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
221 words
A device for processing micro-code, comprising: micro-code means for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro code vectors, branch-taken micro-code vectors and corresponding branch-not-taken micro-code vectors, with each branch-taken micro-code vector and corresponding branch-not-taken micro-code vector sharing a common micro-address; output means for outputting micro-code vectors from said micro-code means, with a branch-taken micro-code vector and a corresponding branch-not-taken micro-code vector being output substantially in parallel; micro-code vector selection means, connected to said output means, for selecting between said branch-taken micro-code vector and said corresponding branch-not-taken micro-code vector; micro-code vector address selection means connected to said micro-code means for selecting micro-code vectors to be output from said output means without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selection means comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing address stored in said pointer on each clock cycle such that micro-code vector address selection means selects next sequentially stored micro-code vectors in said micro-code means after selecting branch condition micro-vectors; and data path logic unit coupled to said output means for executing said micro-code vectors, wherein said data path logic unit executes said branch condition vectors a clock cycle after which said branch condition micro-code vectors are retrieved from said micro-code means.
Claim 2
Independent Claim
221 words
A device for processing micro-code, comprising: micro-code means for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro code vectors, branch-taken micro-code vectors and corresponding branch-not-taken micro-code vectors, with each branch-taken micro-code vector and corresponding branch-not-taken micro-code vector sharing a common micro-address; output means for outputting micro-code vectors from said micro-code means, with a branch-taken micro-code vector and a corresponding branch-not-taken micro-code vector being output substantially in parallel; micro-code vector selection means, connected to said output means, for selecting between said branch-taken micro-code vector and said corresponding branch-not-taken micro-code vector; micro-code vector address selection means connected to said micro-code means for selecting micro-code vectors to be output from said output means without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selection means comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing address stored in said pointer on each clock cycle such that micro-code vector address selection means selects next sequentially stored micro-code vectors in said micro-code means after selecting branch condition micro-vectors; and data path logic unit coupled to said output means for executing said micro-code vectors, wherein said data path logic unit executes said branch condition vectors a clock cycle after which said branch condition micro-code vectors are retrieved from said micro-code means.
Claim 3
Dependent Claim
16 words
The device for processing micro-code of claim 1, wherein said micro-code means comprises a micro-code ROM.
Claim 4
Dependent Claim
23 words
The device for processing micro-code of claim 2, wherein said output means comprises first and second output ports, respectively, of said micro-code ROM.
Claim 5
Dependent Claim
16 words
The device for processing micro-code of claim 1, wherein said micro-vector selection means comprises a multiplexer.
Claim 6
Dependent Claim
24 words
The device for processing micro-code of claim 1, further including micro-code execution means for receiving and executing micro-code vectors selected by said selection means.
Claim 7
Dependent Claim
58 words
The device for processing micro-code of claim 5, wherein said micro-code execution means comprises: a latch connected to said micro-code vector selection means, said latch storing said micro-code vectors selected by said selection means; and a data path logic unit, connected to said latch, said data path logic unit accessing and processing micro-code vectors stored in said latch.
Claim 8
Dependent Claim
278 words
A computer system, comprising: a microprocessor means for processing instructions, a memory means for storing data, input/output means for inputting and outputting data from said microprocessor, and a bus means for interconnecting said microprocessor, said memory and said input/output devices; with said microprocessor means having an instruction decoder means for decoding instructions, a micro-code means for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro-code vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors, a micro-code execution means for executing said micro-code vectors, and a micro-code sequencer means for retrieving micro-code vectors from said micro-code means and for providing said micro-code vectors to said data path logic units; wherein said micro-code sequencer means includes first and second output means for outputting micro-code vectors from said micro-code means, said branch-not-taken micro-code vectors being output from said first output means and said branch-taken micro-code vectors being output from said second output means, said branch-taken and branch-not-taken micro-code vectors sharing a common micro-address and being output in parallel; micro-code vector selection means, connected to said micro-code vector output means, for selecting one of said branch-taken micro-code vectors and said branch-not-taken micro-code vectors; and micro-code vector address selection means connected to said micro-code means for selecting micro-code vectors to be output from said output means without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selection means comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selection means selects next sequentially stored micro-code vectors in said micro-code means after selecting branch condition micro-vectors.
Claim 9
Dependent Claim
278 words
A computer system, comprising: a microprocessor means for processing instructions, a memory means for storing data, input/output means for inputting and outputting data from said microprocessor, and a bus means for interconnecting said microprocessor, said memory and said input/output devices; with said microprocessor means having an instruction decoder means for decoding instructions, a micro-code means for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro-code vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors, a micro-code execution means for executing said micro-code vectors, and a micro-code sequencer means for retrieving micro-code vectors from said micro-code means and for providing said micro-code vectors to said data path logic units; wherein said micro-code sequencer means includes first and second output means for outputting micro-code vectors from said micro-code means, said branch-not-taken micro-code vectors being output from said first output means and said branch-taken micro-code vectors being output from said second output means, said branch-taken and branch-not-taken micro-code vectors sharing a common micro-address and being output in parallel; micro-code vector selection means, connected to said micro-code vector output means, for selecting one of said branch-taken micro-code vectors and said branch-not-taken micro-code vectors; and micro-code vector address selection means connected to said micro-code means for selecting micro-code vectors to be output from said output means without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selection means comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selection means selects next sequentially stored micro-code vectors in said micro-code means after selecting branch condition micro-vectors.
Claim 10
Dependent Claim
49 words
The device for processing micro-code of claim 1, wherein said branch-taken micro-code vectors comprise a first stream of micro-code vectors for sequential execution if the branch is taken, and said branch-not-taken micro-code vectors comprise a second stream of micro-code vectors for sequential execution if said branch is not taken.
Claim 11
Dependent Claim
54 words
The device for processing micro-code of claim 8, wherein an initial micro-code vector of said first stream shares a common micro-address with an initial micro-code vector in said second stream and wherein each succeeding micro-code vector in said first stream shares a common micro-address with a succeeding corresponding micro-code vector in said second stream.
Claim 12
Dependent Claim
21 words
The device for processing micro-code of claim 8, wherein said first and second streams each include only a single micro-code vector.
Claim 13
Dependent Claim
32 words
The device for processing micro-code of claim 8, wherein said selection means examines a least significant bit of each selected micro-code vector to identify the last micro-code vector in the micro-code stream.
Claim 14
Independent Claim
206 words
A device for processing micro-code, comprising: micro-code ROM for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro code vectors, branch-taken micro-code vectors and corresponding branch-not-taken micro-code vectors, with each branch-taken micro-code vector and corresponding branch-not-taken micro-code vector sharing a common micro-address; first and second output ports, connected to said micro-code ROM, for outputting micro-code vectors from said micro-code ROM, said branch-not-taken micro-code vectors being output from said first output port and said branch-taken micro-code vectors being output from said second output port, said branch-taken and branch-not-taken micro-code vectors being output substantially in parallel; a multiplexer, connected to said micro-code vector output ports for selecting between a branch-taken micro-code vector and a corresponding branch-not-taken micro-code vector; and micro-code vector address selector connected to said micro-code ROM for selecting micro-code vectors to be output from said first and second output ports without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selector comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selector selects next sequentially stored micro-code vectors in said micro-code ROM after selecting branch condition micro-vectors.
Claim 15
Independent Claim
206 words
A device for processing micro-code, comprising: micro-code ROM for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro code vectors, branch-taken micro-code vectors and corresponding branch-not-taken micro-code vectors, with each branch-taken micro-code vector and corresponding branch-not-taken micro-code vector sharing a common micro-address; first and second output ports, connected to said micro-code ROM, for outputting micro-code vectors from said micro-code ROM, said branch-not-taken micro-code vectors being output from said first output port and said branch-taken micro-code vectors being output from said second output port, said branch-taken and branch-not-taken micro-code vectors being output substantially in parallel; a multiplexer, connected to said micro-code vector output ports for selecting between a branch-taken micro-code vector and a corresponding branch-not-taken micro-code vector; and micro-code vector address selector connected to said micro-code ROM for selecting micro-code vectors to be output from said first and second output ports without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selector comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selector selects next sequentially stored micro-code vectors in said micro-code ROM after selecting branch condition micro-vectors.
Claim 16
Dependent Claim
43 words
The device for processing micro-code vectors of claim 12, further including a latch connected to said multiplexer for storing said selected micro-code vector; and a data path logic unit, connected to said latch, for accessing and processing micro-code vectors stored in said latch.
Claim 17
Dependent Claim
260 words
A computer system, comprising: a microprocessor, a memory, input/output devices, and a bus interconnecting said microprocessor, said memory and said input/output devices; with said microprocessor having an instruction decoder, a micro-code ROM, said micro-code ROM providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro-code vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors, a data path logic unit, and a micro-code sequencer for retrieving micro-code vectors from said micro-code ROM and for providing said micro-code vectors to said data path logic unit; wherein said micro-code sequencer includes first and second output ports, connected to said micro-code ROM, said first and second output ports outputting micro-code vectors from said micro-code ROM, said branch-not-taken micro-code vectors being output from said first output port and said branch-taken micro-code vectors being output from said second output port, said branch-taken and branch-not-taken micro-code vectors sharing a common address and being output in parallel; a multiplexer, connected to said micro-code vector output ports, said multiplexer selecting one of said branch-taken micro-code vectors and said branch-not-taken micro-code vectors; and micro-code vector address selector connected to said micro-code ROM for selecting micro-code vectors to be output from said first and second output ports without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selector comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selector selects next sequentially stored micro-code vectors in said micro-code ROM after selecting branch condition micro-vectors.
Claim 18
Dependent Claim
260 words
A computer system, comprising: a microprocessor, a memory, input/output devices, and a bus interconnecting said microprocessor, said memory and said input/output devices; with said microprocessor having an instruction decoder, a micro-code ROM, said micro-code ROM providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro-code vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors, a data path logic unit, and a micro-code sequencer for retrieving micro-code vectors from said micro-code ROM and for providing said micro-code vectors to said data path logic unit; wherein said micro-code sequencer includes first and second output ports, connected to said micro-code ROM, said first and second output ports outputting micro-code vectors from said micro-code ROM, said branch-not-taken micro-code vectors being output from said first output port and said branch-taken micro-code vectors being output from said second output port, said branch-taken and branch-not-taken micro-code vectors sharing a common address and being output in parallel; a multiplexer, connected to said micro-code vector output ports, said multiplexer selecting one of said branch-taken micro-code vectors and said branch-not-taken micro-code vectors; and micro-code vector address selector connected to said micro-code ROM for selecting micro-code vectors to be output from said first and second output ports without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selector comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selector selects next sequentially stored micro-code vectors in said micro-code ROM after selecting branch condition micro-vectors.
Claim 19
Dependent Claim
49 words
The device for processing micro-code of claim 12, wherein said branch-taken micro-code vectors comprise a first stream of micro-code vectors for sequential execution if the branch is taken, and said branch-not-taken micro-code vectors comprise a second stream of micro-code vectors for sequential execution if said branch is not taken.
Claim 20
Dependent Claim
54 words
The device for processing micro-code of claim 15, wherein an initial micro-code vector of said first stream shares a common micro-address with an initial micro-code vector in said second stream and wherein each succeeding micro-code vector in said first stream shares a common micro-address with a succeeding corresponding micro-code vector in said second stream.
Claim 21
Dependent Claim
21 words
The device for processing micro-code of claim 15, wherein said first and second streams each include only a single micro-code vector.
Claim 22
Dependent Claim
31 words
The device for processing micro-code of claim 8, wherein said multiplexer examines a least significant bit of each selected micro-code vector to identify the last micro-code vector in the micro-code stream.
Claim 23
Dependent Claim
214 words
In a device for processing micro-code having a micro-code ROM generating micro-code vectors, including branch condition micro-vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors, a latch for receiving said micro-code vectors, and data path logic for retrieving said micro-code vectors from said latch and performing operations in response thereto, an improvement comprising: providing said micro-code ROM with first and second output ports, said micro-code ROM simultaneously outputting a branch-taken micro-code vector and a branch-not-taken micro-code vector through said first and second output ports, respectively, with said branch-taken micro-code vector and said branch-not-taken micro-code vector sharing a common micro-address; providing a multiplexer, connected between said micro-code ROM and said latch, for selecting between a micro-code vector received from either said first output port or said second output port; and providing a micro-code vector address selector connected to said micro-code ROM for selecting micro-code vectors to be output from said first and second output ports without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selector comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selector selects next sequentially stored micro-code vectors in said micro-code ROM after selecting branch condition micro-vectors.
Claim 24
Dependent Claim
214 words
In a device for processing micro-code having a micro-code ROM generating micro-code vectors, including branch condition micro-vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors, a latch for receiving said micro-code vectors, and data path logic for retrieving said micro-code vectors from said latch and performing operations in response thereto, an improvement comprising: providing said micro-code ROM with first and second output ports, said micro-code ROM simultaneously outputting a branch-taken micro-code vector and a branch-not-taken micro-code vector through said first and second output ports, respectively, with said branch-taken micro-code vector and said branch-not-taken micro-code vector sharing a common micro-address; providing a multiplexer, connected between said micro-code ROM and said latch, for selecting between a micro-code vector received from either said first output port or said second output port; and providing a micro-code vector address selector connected to said micro-code ROM for selecting micro-code vectors to be output from said first and second output ports without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selector comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selector selects next sequentially stored micro-code vectors in said micro-code ROM after selecting branch condition micro-vectors.
Claim 25
Independent Claim
149 words
A method for processing micro code, comprising: storing sequences of micro-code vectors in a memory device, said sequences of micro-code vectors including branch condition micro-code vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors with said branch-taken micro-code vectors sharing a common micro-address with corresponding branch-not-taken micro-code vectors; evaluating said branch condition micro-code vectors to determine which of said branch-taken and branch-not-taken micro-code vectors is to be executed; selecting a branch target address containing both branch-taken micro-code vectors and branch-not-taken micro-code vectors in said memory device without retrieving stored addresses in said branch condition micro-code vectors wherein said selecting is performed by retrieving said vectors stored in address locations immediately succeeding said branch condition micro-code vectors; outputting said branch-taken micro-code vectors and said branch-not-taken micro-code vectors in parallel from said memory device; and selecting one of said branch-taken micro-code vectors and said branch-not-taken micro-code vectors, in response to said evaluation.
Claim 26
Independent Claim
149 words
A method for processing micro code, comprising: storing sequences of micro-code vectors in a memory device, said sequences of micro-code vectors including branch condition micro-code vectors, branch-taken micro-code vectors and branch-not-taken micro-code vectors with said branch-taken micro-code vectors sharing a common micro-address with corresponding branch-not-taken micro-code vectors; evaluating said branch condition micro-code vectors to determine which of said branch-taken and branch-not-taken micro-code vectors is to be executed; selecting a branch target address containing both branch-taken micro-code vectors and branch-not-taken micro-code vectors in said memory device without retrieving stored addresses in said branch condition micro-code vectors wherein said selecting is performed by retrieving said vectors stored in address locations immediately succeeding said branch condition micro-code vectors; outputting said branch-taken micro-code vectors and said branch-not-taken micro-code vectors in parallel from said memory device; and selecting one of said branch-taken micro-code vectors and said branch-not-taken micro-code vectors, in response to said evaluation.
Claim 27
Independent Claim
226 words
A device for processing micro-code, comprising: micro-code ROM for providing micro-code vectors, said micro-code vectors including branch condition micro-code vectors identifying branch-taken micro-code vectors and branch-not-taken micro-code vectors, said branch-taken micro-code vectors and said branch-not-taken micro-code vectors sharing a common micro-address said branch-taken micro-code vectors being output through a first output port, said branch-not-taken micro-code vectors being output through a second output port; a latch, connected to said first and second output ports, for storing one of said micro-code vectors, said latch storing said branch-taken micro-code vector if said branch is taken and storing said branch-not-taken micro-code vector otherwise; a data path logic unit, connected to said latch, for retrieving and processing micro-code vectors from said latch; a micro-instruction pointer for holding a current micro-code address and for transmitting said current micro-code address to said micro-code ROM; an adder, connected to said micro-instruction pointer, for incrementing the current micro-code address; and a branch condition multiplexer for receiving branch conditions from said data path logic unit and branch target addresses from said latch and for receiving an incremented current micro-code address from said adder, said branch condition multiplexer transmitting a new micro-code address to said micro-instruction pointer, said new micro-code address replacing said current micro-code address in said micro-instruction pointer, said multiplexer transmitting either an incremented address or a branched address in response to said branch conditions.
Claim 28
Independent Claim
226 words
A device for processing micro-code, comprising: micro-code ROM for providing micro-code vectors, said micro-code vectors including branch condition micro-code vectors identifying branch-taken micro-code vectors and branch-not-taken micro-code vectors, said branch-taken micro-code vectors and said branch-not-taken micro-code vectors sharing a common micro-address said branch-taken micro-code vectors being output through a first output port, said branch-not-taken micro-code vectors being output through a second output port; a latch, connected to said first and second output ports, for storing one of said micro-code vectors, said latch storing said branch-taken micro-code vector if said branch is taken and storing said branch-not-taken micro-code vector otherwise; a data path logic unit, connected to said latch, for retrieving and processing micro-code vectors from said latch; a micro-instruction pointer for holding a current micro-code address and for transmitting said current micro-code address to said micro-code ROM; an adder, connected to said micro-instruction pointer, for incrementing the current micro-code address; and a branch condition multiplexer for receiving branch conditions from said data path logic unit and branch target addresses from said latch and for receiving an incremented current micro-code address from said adder, said branch condition multiplexer transmitting a new micro-code address to said micro-instruction pointer, said new micro-code address replacing said current micro-code address in said micro-instruction pointer, said multiplexer transmitting either an incremented address or a branched address in response to said branch conditions.
Claim 29
Independent Claim
208 words
A device for processing micro-code, comprising: micro-code means for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro-code vectors triggering one of a plurality of alternative streams of micro-code vectors, with each micro-code vector of one of said alternative streams of micro-code vectors sharing a common micro-address with a corresponding micro-code vector of another of said alternative streams; a plurality of output means for outputting micro-code vectors from said micro-code means, with one of said alternative streams of micro-code vectors being output along each of said plurality of output means, said alternative streams of micro-code vectors being output in parallel; micro-code vector selection means, connected to said output means, for selecting one of said streams of micro-code vectors; and micro-code vector address selection means connected to said micro-code means for selecting micro-code vectors to be output from said output means without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selection means comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selection means selects next sequentially stored micro-code vectors in said micro-code means after selecting branch condition micro-vectors.
Claim 30
Independent Claim
208 words
A device for processing micro-code, comprising: micro-code means for providing sequences of micro-code vectors, said sequences of micro-code vectors including branch condition micro-code vectors triggering one of a plurality of alternative streams of micro-code vectors, with each micro-code vector of one of said alternative streams of micro-code vectors sharing a common micro-address with a corresponding micro-code vector of another of said alternative streams; a plurality of output means for outputting micro-code vectors from said micro-code means, with one of said alternative streams of micro-code vectors being output along each of said plurality of output means, said alternative streams of micro-code vectors being output in parallel; micro-code vector selection means, connected to said output means, for selecting one of said streams of micro-code vectors; and micro-code vector address selection means connected to said micro-code means for selecting micro-code vectors to be output from said output means without retrieving stored addresses in said branch condition micro-vectors, said micro-code vector address selection means comprising a pointer for identifying said micro-vectors to be output and a plus one adder for incrementing addresses stored in said pointer on each clock cycle such that micro-code vector address selection means selects next sequentially stored micro-code vectors in said micro-code means after selecting branch condition micro-vectors.
Claim 31
Dependent Claim
52 words
The micro-code processing device of claim 22, further including micro-code execution means for executing micro-code vectors selected by said selection means, for evaluating said branch condition micro-code vectors to determine which of said alternative streams is to be selected, and for transmitting a signal representative of said evaluation to said selection means.