Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
122 words
A multithreaded processor for executing multiple
instruction streams, comprising: a plurality of functional units for respectively
executing an instruction; a plurality of instruction decode means,
corresponding to the multiple instruction streams on a one-to-one
basis, for respectively decoding an instruction, and
producing an instruction issue request for designating to
which functional unit the decoded instruction should be
issued and requesting for the issuance of the decoded
instruction to the designated functional unit; holding means for holding priority level of each of
the instruction streams; and control means for deciding which decoded instruction
should be issued to a functional unit designated by two or
more instruction issue requests at the same time, in
accordance with the priority levels stored by the holding
means.
Claim 2
Dependent Claim
76 words
A multithreaded processor according to Claim 1,
wherein the holding means further has flags which can be set
by an instruction for indicating whether each instruction
stream should be halted or executed, and the control means includes: arbitration means for making the decision; and stop means for stopping an instruction stream
corresponding to a flag indicating a halt by excluding the
instruction issue requests of the instruction streams
corresponding to the flags in making the decision.
Claim 3
Dependent Claim
54 words
A multithreaded processor according to Claim 2,
wherein the control means further includes: prohibition means for temporarily prohibiting
issuance of the instruction decided to be issued by the
control means to the functional unit, if there is a process
which needs to be performed urgently in an instruction
stream to which the instruction belongs.
Claim 4
Dependent Claim
24 words
A multithreaded processor according to Claim 3,
wherein the process to be performed urgently is an interrupt
request or a cache miss occurrence notification.
Claim 5
Dependent Claim
48 words
A multithreaded processor according to Claim 1,
wherein one of the functional units receives a special
instruction for ordering to change the priority level of an
instruction stream to which the special instruction belongs,
the priority level being one of the priority levels held by
the holding means.
Claim 6
Dependent Claim
78 words
A multithreaded processor according to Claim 5,
wherein the special instruction is made up of only an
operation code for indicating whether the priority levels
should be raised or lowered, and one of the functional units detects which instruction
decode means has issued the special instruction in the case
where a decode result of the special instruction is issued,
and then raises or lowers the priority level of an
instruction stream corresponding to the detected instruction
decode means.
Claim 7
Dependent Claim
80 words
A multithreaded processor according to Claim 6,
wherein the holding means includes a control register which
has a first field for read only, and one of the functional units detects which instruction
decode means has issued a read instruction when the decode
result of the read instruction of the control register is
issued, and outputs the ID of the instruction stream
corresponding to the detected instruction decode stream as
the read data of the first field to an internal bus.
Claim 8
Dependent Claim
52 words
A multithreaded processor according to Claim 7,
wherein the control register includes priority fields for
holding the priority level of each of the instruction
streams, and one of the functional units reads out each of the
priority fields when the decode result of the read
instruction of the control register is issued.
Claim 9
Dependent Claim
108 words
A multithreaded processor according to Claim 6,
wherein the holding means has a control register, the control register includes individual fields
corresponding to the multiple instruction streams on a one-to-one
basis for holding inherent data of the multiple
instruction streams, and a second field for read only, and one of the functional units reads out the individual
field of each of the multiple instruction streams upon
execution of a read instruction of the control register, and
outputs the inherent data of the instruction stream
corresponding to the instruction decode means that has
issued the read instruction as the read data of the second
field to the internal bus.
Claim 10
Dependent Claim
19 words
A multithreaded processor according to Claim 9,
wherein the inherent data of the multiple instruction streams
show priority levels.
Claim 11
Dependent Claim
108 words
A multithreaded processor according to Claim 6,
wherein the holding means includes priority fields for
holding the priority level of each instruction stream, the priority field of each instruction stream is made
up of minor fields indicating the priority level of each
instruction stream in each execution mode, one of the functional units detects which instruction
decode means has issued the special instruction in the case
where the decode result of the special instruction is
issued, and then raises or lowers the priority level of each
minor field for the current execution mode among the
priority fields of the instruction stream corresponding to
the detected instruction decode means.
Claim 12
Dependent Claim
106 words
A multithreaded processor according to Claim 1,
further comprising: specified instruction detecting means for detecting
that one of the functional units has started executing a
specified instruction, and which instruction decode means
has issued the decode result of the specified instruction;
and temporary modification means for temporarily
modifying, if the specified instruction detecting means has
detected the execution start of a specified instruction, the
priority level of the instruction stream corresponding to
the instruction decode means which has issued the specified
instruction over a predetermined period of time, the
priority level being modified so as to be higher than the
priority levels of other instruction streams.
Claim 13
Dependent Claim
213 words
A multithreaded processor for executing multiple
instruction streams, comprising: a plurality of functional units for executing
instructions; a plurality of instruction decode means,
corresponding to the multiple instruction streams on a one-to-one
basis, for respectively decoding an instruction, and
producing an instruction issue request for designating to
which functional unit the decoded instruction should be
issued and requesting the functional unit to issue the
decoded instruction to the designated functional unit; priority holding means for holding the priority level
of each instruction stream; self-halt data holding means for holding self-halt
data indicating whether to put each instruction stream into
an execution state or a halt state; arbitration means for determining, upon receipt of
instruction issue requests sent from the plurality of
instruction decode means, which decoded instruction should
be issued to the functional unit designated by two or more
instruction issue requests at the same time, in accordance
with the priority levels held by the priority holding means;
and stop means for stopping notifying the arbitration
means of an instruction issue request from the instruction
decode means corresponding to the instruction stream kept in
a halt state by the self-halt data, the instruction issue
request being one of instruction issue requests sent from
the Plurality of instruction decode units to the arbitration
unit.
Claim 14
Dependent Claim
87 words
A multithreaded processor according to Claim 13,
further comprising exclusive halt data holding means for holding
exclusive halt data for each instruction stream, the
exclusive halt data indicating that one instruction stream
should be in an execution state, and that the remaining
instruction streams should be in a halt state, and wherein the stop means stops notifying the arbitration means
of the issuance of an instruction issue request from the
instruction decode means corresponding to instruction
streams kept in a halt state by the exclusive halt data.
Claim 15
Dependent Claim
33 words
A multithreaded processor according to Claim 13,
wherein one of the functional units changes the priority
levels when a decode result of a special instruction
ordering to change the priority levels is issued.
Claim 16
Dependent Claim
78 words
A multithreaded processor according to Claim 15,
wherein the special instruction is made up of only an
operation code for indicating whether the priority levels
should be raised or lowered, and one of the functional units detects which instruction
decode means has issued the special instruction in the case
where a decode result of the special instruction is issued,
and then raises or lowers the priority level of an
instruction stream corresponding to the detected instruction
decode means.
Claim 17
Dependent Claim
80 words
A multithreaded processor according to Claim 16,
wherein the holding means includes a control register which
has a first field for read only, and one of the functional units detects which instruction
decode means has issued a read instruction when the decode
result of the read instruction of the control register is
issued, and outputs the ID of the instruction stream
corresponding to the detected instruction decode stream as
the read data of the first field to an internal bus.
Claim 18
Dependent Claim
52 words
A multithreaded processor according to Claim 17,
wherein the control register includes priority fields for
holding the priority level of each of the instruction
streams, and one of the functional units reads out each of the
priority fields when the decode result of the read
instruction of the control register is issued.
Claim 19
Dependent Claim
108 words
A multithreaded processor according to Claim 16,
wherein the holding means has a control register, the control register includes individual fields
corresponding to the multiple instruction streams on a one-to-one
basis for holding inherent data of the multiple
instruction streams, and a second field for read only, and one of the functional units reads out the individual
field of each of the multiple instruction streams upon
execution of a read instruction of the control register,
and outputs the inherent data of the instruction stream
corresponding to the instruction decode means that has
issued the read instruction as the read data of the second
field to the internal bus.
Claim 20
Dependent Claim
19 words
A multithreaded processor according to Claim 19,
wherein the inherent data of the multiple instruction streams
show priority levels.
Claim 21
Dependent Claim
108 words
A multithreaded processor according to Claim 16,
wherein the holding means includes priority fields for
holding the priority level of each instruction stream, the priority field of each instruction stream is made
up of minor fields indicating the priority level of each
instruction stream in each execution mode, one of the functional units detects which instruction
decode means has issued the special instruction in the case
where the decode result of the special instruction is
issued, and then raises or lowers the priority level of each
minor field for the current execution mode among the
priority fields of the instruction stream corresponding to
the detected instruction decode means.
Claim 22
Dependent Claim
105 words
A multithreaded processor according to Claim 13,
wherein specified instruction detecting means for detecting
that one of the functional units has started executing a
specified instruction, and which instruction decode means
has issued the decode result of the specified instruction,
and temporary modification means for temporarily
modifying, if the specified instruction detecting means has
detected the execution start of a specified instruction, the
priority level of the instruction stream corresponding to
the instruction decode means which has issued the specified
instruction over a predetermined period of time, the
priority level being modified so as to be higher than the
priority levels of other instruction streams.
Claim 23
Dependent Claim
157 words
A multithreaded processor for executing multiple
instruction streams simultaneously and independently of each
other, comprising: a plurality of functional units for executing
instructions simultaneously and independently of each other; a plurality of instruction decode means,
corresponding to the multiple instruction streams on a one-to-one
basis, for respectively fetching and decoding an
instruction of each instruction stream, and specifying to
which functional unit the instruction should be issued; priority designating means for designating the
priority level of each of the multiple instruction stream; instruction issue judging means for judging whether
the decoded instruction can be issued to the specified
functional unit, depending on whether the specified
functional unit is ready to receive an instruction; and instruction issue arbitration means for arbitrating
between two or more instructions to determine one
instruction to be issued to the functional unit specified by
the two or more instruction decode means, in accordance with
the priority levels designated by the priority designating
means.
Claim 24
Dependent Claim
52 words
A multithreaded processor according to Claim 23,
further comprising instruction issue prohibition means for temporarily
prohibiting issuance of the instruction decided to be issued
by the control means to the functional unit, if there is a
process which needs to be performed urgently in an
instruction stream to which the instruction belongs.
Claim 25
Dependent Claim
24 words
A multithreaded processor according to Claim 24,
wherein the process to be performed urgently is an interrupt
request or a cache miss occurrence notification.
Claim 26
Dependent Claim
40 words
A multithreaded processor according to Claim 24,
wherein the priority designating means includes a control
register for holding the priority level of each instruction
stream, the priority level being able to be set by an
instruction in each instruction stream.
Claim 27
Dependent Claim
33 words
A multithreaded processor according to Claim 26,
wherein one of the functional units changes the priority
levels when a decode result of a special instruction
ordering to change the priority levels is issued.
Claim 28
Dependent Claim
54 words
A multithreaded processor according to Claim 27,
wherein the instruction issue arbitration means determines
which instruction should be issued to a functional unit
according a predetermined procedure, the functional unit
being able to be set by two or more instructions, and the
instruction streams to which the instructions belong have
the same priority level.
Claim 29
Dependent Claim
64 words
A multithreaded processor according to Claim 28,
wherein the instruction issue arbitration means includes
auxiliary judgement means for determining which instruction
should be issued according to the predetermined procedure,
in which a different instruction stream is selected in
cycles, an instruction of an instruction stream different
from the previous one is selected, or an instruction of one
of the instruction streams is invariably selected.
Claim 30
Dependent Claim
45 words
A multithreaded processor according to Claim 26,
wherein the control register includes a priority field for
each instruction stream in each execution mode, and the instruction issue arbitration means arbitrates
with reference to priority fields corresponding to the
execution modes for the multiple instruction streams.
Claim 31
Dependent Claim
89 words
A multithreaded processor according to Claim 24,
wherein the priority designating means comprises a control register including priority fields which
can be set for each instruction stream in each execution
mode by a special instruction in an instruction stream, and one of the functional units detects the instruction
stream and its execution mode corresponding to the
instruction decode means that has issued the special
instruction, and sets the priority level into the priority
field corresponding to the detected instruction stream and
execution mode, in accordance with the special instruction.
Claim 32
Dependent Claim
30 words
A multithreaded processor according to Claim 31,
wherein the special instruction is made up of only an
operation code, and indicates whether the priority level
should be raised or lowered.
Claim 33
Dependent Claim
174 words
A multithreaded processor for executing multiple
instruction streams simultaneously and independently of each
other, comprising: a plurality of functional units for executing
instructions simultaneously and independently of each other; a plurality of instruction decode means,
corresponding to the multiple instruction streams on a one-to-one
basis, for respectively fetching and decoding an
instruction of each instruction stream, and specifying to
which functional unit the instruction should be issued; priority designating means for designating the
priority level of each of the multiple instruction stream,
and designating whether each instruction stream should be in
an execution state or in a halt state; instruction issue judging means for judging whether
the decoded instruction can be issued to the specified
functional unit, depending on whether the specified
functional unit is ready to receive an instruction; and instruction issue arbitration means for arbitrating
between two or more instructions to determine one
instruction to be issued to the functional unit specified by
the two or more instruction decode means, in accordance with
the priority levels designated by the priority designating
means.
Claim 34
Dependent Claim
129 words
A multithreaded processor according to Claim 33,
wherein the priority designating means comprises: a first register for holding the priority level of
each instruction stream that can be set by a first
instruction; a second register for holding a status flag of each
instruction stream indicating whether each instruction
stream is in an execution state or in a halt state, the
status flag being set by a second instruction; and a third register for holding an exclusive halt flag
of each instruction stream which orders to halt other
instruction streams, the exclusive halt flag being set by a
third instruction, and the instruction issue judging means judges that the
instructions in the halted instruction streams cannot be
issued, in accordance with the status flag and the exclusive
halt flag.
Claim 35
Dependent Claim
115 words
A multithreaded processor according to Claim 34,
wherein the first instruction is made up of only an operation
code for indicating whether the priority level should be
raised or lowered, the second instruction is made up of only an
operation code for indicating whether the priority level
should be raised or lowered, the third instruction is made up of only an operation
code for indicating that other instruction streams should be
halted, and one of the functional units detects the instruction
stream corresponding to the instruction decode means that
have issued the first, second, and third instructions, and
changes the priority level, the status flag, and the
exclusive flag corresponding to the detected instruction
stream.
Claim 36
Dependent Claim
106 words
A multithreaded processor for executing multiple
instruction streams simultaneously and independently of each
other, comprising: a plurality of instruction cache means for
temporarily storing instructions of the multiple instruction
streams; a plurality of instruction fetch means, corresponding
to the multiple instruction streams on a one-to-one basis,
for respectively fetching an instruction of each instruction
stream from the instruction cache means; priority designating means for designating the
priority level of each of the multiple instruction stream;
and instruction fetch control means for arbitrating
between instruction fetch requests issued by two or more
instruction cache means, in accordance with the priority
levels designated by the priority designating means.
Claim 37
Dependent Claim
168 words
A multithreaded processor provided with a plurality
of functional units for executing instructions, a plurality
of instruction decode means for respectively decoding an
instruction fetched from an instruction cache means and
outputting an instruction issue request to a designated
functional unit, and the same number of register sets as the
instruction decode means, which executes the same number of
instruction streams as the instruction decode means
simultaneously and independently of each other,
characterized by comprising: holding means for holding the priority level of each
instruction stream that can be set by an instruction in each
instruction stream; and control means for arbitrating between two or more
instruction streams sharing the same resource, in accordance
with the priority levels, the shared resource being one functional unit for
which instruction issue requests from two or more
instruction decode means compete, one instruction cache for
which fetch requests from two or more instruction decode
means compete, or one register set for which access requests
from two or more functional units compete.
Claim 38
Dependent Claim
47 words
A multithreaded processor according to Claim 37,
wherein upon receipt of an instruction to raise or lower a
priority level, one of the functional units changes the
priority level of the instruction stream to which the
instruction belongs, the priority level being held by the
holding means.