Multiprocessor with asynchronous pipeline processing of instructions, and control method thereof
AssigneeMatsushita Electric Industrial Co., Ltd.
InventorsMasayuki Yamasaki, Katsuhiko Ueda
Life of this patent
Estimating the term…
Abstract
A multiprocessor includes M banks storing a plurality of instructions; and N processors each having N instruction fetch stages, wherein each of the N processors processes one of the plurality of instructions in a pipelined manner, where N is an integer equal to or greater than 2, and M is an integer equal to or greater than N, wherein each of the N processors fetches one of the plurality of instructions at a different instruction fetch stage from instruction fetch stages used by other processors.
Claims18
A multiprocessor comprising:
- M banks provided for storing a plurality of instructions;
- and
- N processors each having N physical instruction fetch stages;
- Wherein each of the N processors is configured to process one of the plurality of instructions in a pipelined manner, where N is an integer equal to or greater than 2, and M is an integer equal to or greater than N;
- and
- Wherein, in order to fetch instructions output from M banks, each of the N processors uses only one instruction fetch stage among the N instruction fetch stages which is different from instruction fetch stages being used by other ones of the N processors.
A multiprocessor according to clam 1, wherein each of the N processors comprising:
- an instruction register section that receives one of the plurality of the instructions, a bank select signal, a fetch stage select signal, and an NOP select signal to output an instruction code;
- a decoder section that receives the instruction code to output a branch instruction signal and a branch address;
- a control section that receives the branch instruction signal, the branch address, and an instruction pointer signal to output the fetch stage select signal, the NOP select signal and an address branch signal;
- and
- an instruction pointer section that receives the fetch stage select signal, the address branch signal, and the branch address to output the bank select signal, the instruction pointer signal, and the address.
A method for controlling a multiprocessor including M banks storing a plurality of instructions, N processors each having N physical instruction fetch stages and processing one of the plurality of instructions in a pipelined manner, where N is an integer equal to or greater than 2 and M is an integer equal to or greater than N, and an address select section, the method comprising:
- A step at which each of the N processors outputs an address of one of the instructions to be processed to the address select section;
- A step at which the address select section outputs a blank address to one of the M banks for each address output from the plurality of the N processors;
- A step at which each of the M banks outputs one of the plurality of instructions that correspond to the bank address output from the address select section;
- and
- A step at which each of the N processors fetches one of the plurality of instructions output from the M banks during at least one of the N physical instruction fetch stages,
- Wherein none of the N processors, each having the N physical instruction fetch stages, uses all of the N instruction fetch stages.
A multiprocessor comprising:
- M banks provided for storing a plurality of instructions;
- and
- N processors each having N physical instruction fetch stages, wherein each of the N processors is configured to process one of the plurality of instructions in a pipelined manner, N is an integer equal to or greater than 2, and M is an integer equal to or greater than N;
- Wherein each of the N processors is allocated to fetch an instruction from a designated one of the M banks, at one physical instruction fetch stage among the N physical instruction fetch stages, and none of the M banks are simultaneously accessed by more than one of the N processors;
- and
- Wherein none of the N processors, each having the N physical instruction fetch stages, uses all of the N physical instruction fetch stages.
A multiprocessor comprising:
- M banks provided for storing a plurality of instructions;
- and
- N processors each having N physical instruction fetch stages, wherein each of the N processors is configured to process one of the plurality of instructions in a pipelined manner, N is an integer equal to or greater than 2, and M is an integer equal to or greater than N;
- Wherein each of the N processors fetches one of the plurality of instructions from an allocated one of the M banks which is not simultaneously accessed by other processors at one of the physical fetch stages;
- Wherein none of the processors, each having the N physical instruction fetch stages, uses all of the N physical instruction fetch stages;
- and
- Wherein allocation of the M banks is in a cyclic fashion from one cycle to the next.
Dependencies are inferred from the claim text.