Claims
- 1. A micro processor comprising:a decoder for decoding a branch instruction; an operating section for executing logical, arithmetic, and shift operations; a program counter for counting the address of a present program; a direct-setting bus for allowing said decoder to directly set an immediate value to said program counter by skipping an output bus of said operating section, said direct-setting bus being other than a control bus for a control signal; and a selector for selectively connecting said direct-setting bus to said program counter in response to said branch instruction, thereby substantially reducing overall processing time responsive to said branch instruction.
- 2. A micro processor comprising:an operating section for executing logical, arithmetic, and shift operations; a register file for storing operation result of said operating section; a program counter for counting the address of a present program; a direct-setting bus for allowing said register file to directly set a register value to said program counter by skipping an output bus of said operating section, said register value directly set to said program counter being a branch address, said direct-setting bus being other than a control bus for a control signal; and a selector for selectively connecting said direct-setting bus to said program counter in response to a branch instruction, thereby substantially reducing overall processing time responsive to said branch instruction.
- 3. A micro processor performing pipeline processing consisting of sequential stages of ID (instruction decode), EX (execution of operation), MA (memory access), and WB (write back) in response to fetch of an instruction, said micro processor comprising:a decoder for decoding the instruction and controlling an operating section which executes logical, arithmetic and shift operations, a register file which stores operation or computation data of said operating section, and a program counter which counts the address of a program; an input bus for sending data from said decoder to said operating section; an output bus for sending the operation or computation data of said operating section to said program counter; a switch for opening or closing said output bus; a direct-setting bus for directly setting an immediate value to said program counter from said decoder; and a switch for opening or closing said direct-setting bus; wherein, when a fetched instruction is a branch instruction other than an immediate branch instruction, a branch address decoded by said decoder is first sent via said input bus to said operating section for arithmetic processing and is subsequently set via said output bus to said program counter and, when said fetched instruction is an immediate branch instruction, a branch address decoded by said decoder is directly set from said decoder via said direct-setting bus to said program counter so as to skip said operating section by controlling open-and-close conditions of said switches.
- 4. The micro processor in accordance with claim 3, wherein the setting of said branch address of said immediate branch instruction is performed in said ID stage prior to execution of said EX stage.
- 5. The micro processor in accordance with claim 3, wherein the branch instruction other than said immediate branch instruction is a program counter relative branch.
- 6. A micro processor performing pipeline processing consisting of sequential stages of ID (instruction decode), EX (execution of operation), MA (memory access), and WB (write back) in response to fetch of an instruction, said micro processor comprising:a decoder for decoding the instruction and controlling an operating section which executes logical, arithmetic and shift operations, a register file which stores operation or computation data of said operating section, and a program counter which counts the address of a program; an input bus for sending data from said register file to said operating section; an output bus for sending the operation or computation data of said operating section to said program counter; a switch for opening or closing said output bus; a direct-setting bus for directly setting a register value to said program counter from said register file; and a switch for opening or closing said direct-setting bus; wherein, when a fetched instruction is a branch instruction other than a register direct branch instruction, a branch address read out from said register file is first sent via said input bus to said operating section for arithmetic processing and is subsequently set via said output bus to said program counter and, when said fetched instruction is a register direct branch instruction, a branch address read out from said register file is directly set from said register file via said direct-setting bus to said program counter so as to skip said operating section by controlling open-and-close conditions of said switches.
- 7. The micro processor in accordance with claim 6, wherein the setting of said branch address of said register direct branch instruction is performed in said ID stage prior to execution of said EX stage.
- 8. The micro processor in accordance with claim 6, wherein the branch instruction other than said register direct branch instruction is a program counter relative branch.
Priority Claims (2)
Number |
Date |
Country |
Kind |
7-257725 |
Oct 1995 |
JP |
|
7-260409 |
Oct 1995 |
JP |
|
Parent Case Info
This is a division of application Ser. No. 08/725,709, filed Oct. 4, 1996 now U.S. Pat. No. 6,003,127.
US Referenced Citations (9)
Foreign Referenced Citations (11)
Number |
Date |
Country |
63-5433 |
Jan 1988 |
JP |
2-254541 |
Oct 1990 |
JP |
4-60720 |
Feb 1992 |
JP |
4-98426 |
Mar 1992 |
JP |
5-2494 |
Jan 1993 |
JP |
5-73310 |
Mar 1993 |
JP |
5-224926 |
Sep 1993 |
JP |
5-257875 |
Oct 1993 |
JP |
5-298095 |
Nov 1993 |
JP |
6-161751 |
Aug 1994 |
JP |
7093150 |
Apr 1995 |
JP |
Non-Patent Literature Citations (4)
Entry |
“Quantitative Approach for Computer Architecture Design, Realization, Evaluation (*Nikkei BP),” May 31, 1993. |
“RISC System” translated by K. Ohmori, Nov. 1, 1991, p. 75. |
“SH7000 Series Programming Manual (1st edition),” Sep., 1993, p. 148. |
“H08/300 Series PRogramming Manuarl (3rd edition),” Mar., 1993, p. 69. |