WO2000002118A1 - Microprocessor - Google Patents

Microprocessor Download PDF

Info

Publication number
WO2000002118A1
WO2000002118A1 PCT/JP1998/002985 JP9802985W WO0002118A1 WO 2000002118 A1 WO2000002118 A1 WO 2000002118A1 JP 9802985 W JP9802985 W JP 9802985W WO 0002118 A1 WO0002118 A1 WO 0002118A1
Authority
WO
WIPO (PCT)
Prior art keywords
clock
circuit
power supply
supplied
supply voltage
Prior art date
Application number
PCT/JP1998/002985
Other languages
English (en)
French (fr)
Inventor
Hideo Maejima
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/JP1998/002985 priority Critical patent/WO2000002118A1/ja
Priority to JP2000558452A priority patent/JP3857052B2/ja
Priority to US09/719,835 priority patent/US6789207B1/en
Publication of WO2000002118A1 publication Critical patent/WO2000002118A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates to a microprocessor capable of operating a specific circuit block at high speed without increasing power consumption.
  • Microprocessors for such applications are required to be able to execute complex processes such as graphics and image processing at high speed, and the number of microprocessor machine clocks is increasing in recent years. For this reason, power consumption increases, so reducing power consumption is an important issue for microprocessors.
  • microprocessors such as microphones for digital TVs and game consoles
  • Sessa is getting more.
  • Microprocessors used in such applications are expected to be able to use inexpensive packages for cost reduction and to withstand use in windless conditions. To meet these expectations, the low power consumption of microprocessors is particularly necessary.
  • An object of the present invention is to solve the above problems and provide a microprocessor capable of improving performance without increasing power consumption. Disclosure of the invention
  • a plurality of power supply voltages having different values are switched and supplied to each of a plurality of circuit blocks included in a microprocessor so that the operation speed of a specific circuit block can be changed to a higher one.
  • a plurality of clocks with different frequencies are switched and supplied.
  • a clock with a high frequency is sometimes called a high-speed clock.
  • CM ⁇ S circuits Many microprocessors are composed of CM ⁇ S circuits.
  • the maximum operable frequency of a logic circuit such as a CMOS circuit increases substantially in proportion to the power supply voltage supplied to the circuit. Therefore, in order to drive a CMOS circuit with a faster clock, it is necessary to supply a higher power supply voltage.
  • the present invention uses a plurality of power supply voltages.
  • the fastest clock having the maximum frequency of the plurality of clocks is supplied with the maximum power supply voltage of the plurality of power supply voltages. Any clock that has a frequency that can be used in the specified circuit block and that is slower than the fastest clock can also be used in a circuit block supplied with any power supply voltage lower than the maximum power supply voltage.
  • the frequencies of the plurality of clocks and the values of the plurality of power supply voltages are selected so as to have different frequencies.
  • the circuit block to which the maximum power supply voltage is supplied is composed of a circuit element having a withstand voltage against the power supply voltage so that the circuit block can normally operate under the supply of the power supply voltage.
  • the power consumption of a logic circuit such as a CMOS circuit is proportional to the operating frequency of the circuit and proportional to the square of the power supply voltage supplied thereto. Therefore, in the present invention, the number of circuit blocks that simultaneously supply the maximum power supply voltage and the highest-speed clock is limited.
  • a power supply circuit for switching and supplying a plurality of power supply voltages having different values to each circuit block
  • a clock supply circuit for switching and supplying a plurality of clocks having different frequencies to each circuit block
  • the power supply circuit and the clock supply circuit are provided with a control circuit for instructing switching of a clock supplied to each circuit block and switching of a power supply voltage supplied to the circuit block.
  • control circuit When the control circuit supplies the highest-speed clock and the maximum power supply voltage to one of the circuit blocks, at least one other circuit block supplies one of the lower-speed clocks to the circuit block. And a power supply voltage lower than the maximum power supply voltage.
  • a clock supplied to at least one of the plurality of circuit blocks is supplied to the circuit block.
  • the clock supplied to at least one other circuit block must be lower than the clock that has been supplied to that circuit block. Can be switched to
  • the increase in power consumption that occurs when the operating speed of the one circuit block is increased in this way is compensated for by the decrease in power consumption of the other circuit blocks, and the power consumption of the entire microprocessor is limited to a predetermined limit. Reduce power consumption to below.
  • Such a combination of increasing the speed of the clock supplied to a certain circuit block and lowering the clock supplied to another circuit block at the same time can be used in various modes.
  • a circuit block can be operated faster than in steady state operation. What is necessary is to supply a clock faster than the clock supplied in the steady operation state to the circuit block. If necessary, the power supply voltage supplied to the circuit block also increases. For example, when the higher-speed clock is the highest-speed clock, the highest power supply voltage is supplied to the circuit block. Thus, the operating speed of the circuit block is increased. At this time, the clock supplied to any other circuit block is changed to a clock that is lower in speed than the clock supplied to the other circuit block in the steady operation state.
  • any of the circuit blocks driven at a speed lower than the highest speed clock can be driven at the highest speed clock.
  • the clock of one of the other circuit blocks is changed to a slower one.
  • the clock supplied to the circuit block is changed to a lower-speed clock.
  • FIG. 1 is a schematic block diagram of a microprocessor according to one embodiment of the present invention.
  • FIG. 2 is a schematic block diagram of a clock distribution circuit for suitably implementing the present invention in the apparatus of FIG.
  • FIG. 3 is a schematic block diagram of a central processing unit for suitably implementing the present invention with the device of FIG.
  • FIG. 4 is a schematic block diagram of a power consumption control circuit for suitably implementing the present invention with the device of FIG.
  • FIG. 5 is a diagram showing the contents of a power control map memory included in the device of FIG.
  • FIG. 6 is a diagram illustrating changes in power consumption and processing speed in the microprocessor of FIG.
  • FIG. 7 is a diagram showing a configuration of a floating-point arithmetic unit for suitably implementing the present invention in the apparatus shown in FIG.
  • FIG. 8 is a schematic block diagram of a clock switching circuit according to an embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of a power supply switching circuit according to one embodiment of the present invention.
  • FIG. 10 is a schematic block diagram of a power supply unit according to an embodiment of the present invention.
  • FIG. 11 is a diagram showing the configuration of another power supply means that can be used in one embodiment of the present invention.
  • FIG. 12 is a diagram showing a configuration of a power consumption control circuit according to another embodiment of the present invention.
  • the microprocessor 1200 is configured on a single large-scale integrated circuit (LSI), and has a storage control unit 104, a central processing unit (CPU) 105, and a floating-point arithmetic unit. (FPU) 106, peripheral I / O unit 107, etc. and multiple functional units and power supply's clock control unit 101.
  • LSI large-scale integrated circuit
  • CPU central processing unit
  • FPU floating-point arithmetic unit
  • peripheral I / O unit 107 etc.
  • multiple functional units and power supply's clock control unit 101 Each of these units is constituted by a single circuit block, but in practice, any one of the function units may be constituted by a plurality of circuit blocks, or a plurality of function units. May belong to the same one circuit block.
  • the units 101, 104 to 107 are connected to each other by a data bus 110, an address bus 111, and a control bus (not shown).
  • the microprocessor 1200 also has other memory units such as RAM (random access memory) and ROM (read only memory) connected to the plurality of buses.
  • RAM random access memory
  • ROM read only memory
  • the storage control unit 104 has a built-in cache memory (not shown) for the RAM (not shown), executes an access request for the RAM to the cache memory, and the data to be accessed is stored in the cache memory.
  • a circuit (not shown) for accessing the RAM is included.
  • the storage control unit 104 is also provided with a bus arbiter (not shown) for the paths 110 and 111.
  • bus arbiter (not shown) for the paths 110 and 111.
  • different functional units using buses 110 and 111 are driven by different clocks.
  • there is no particular problem with using these buses since each unit determines when to send data to those buses or when to receive data from those buses.
  • the peripheral input / output unit 107 transfers data between an external peripheral device (not shown) and the CPU 105.
  • these function units 104 to 107 include a plurality of, here three, clocks having different frequencies as operating clocks, CLK—a, CLK—b, and CLK—c. Are simultaneously supplied via the clock lines 1 15 a to l 15 c.
  • clock CLK-a is the fastest clock with the highest frequency
  • clock CLK-b is an intermediate speed clock with a lower frequency
  • clock CLK-c is the slowest clock with the lowest frequency.
  • the power supply / clock control unit 101 is provided with a clock distribution circuit 103 for generating these three clocks.
  • a plurality of power supply voltages VH and VL having different values, here two values, are simultaneously supplied as power supply voltages to the all-function unit via the power supply wirings 116a and 116b.
  • Each function unit has a clock switching circuit as described later.
  • Circuit (402 (Fig. 7)) and the same circuit as the power supply switching circuit (401 (Fig. 7)) are provided, each of which uses the three clocks and two power supply voltages supplied to its functional unit to Select one clock and one power supply voltage used by the function unit.
  • the clock distribution circuit 103 and the clock switching circuit provided in each functional unit implement a clock supply circuit used in the present invention.
  • the power supply switching circuit provided in each functional unit realizes the clock supply circuit used in the present invention.
  • the CPU 105 is provided with an operating environment control circuit 503 (FIG. 3), as will be described later in detail.
  • This circuit generates an operation environment control signal ENV (112) when the operation environment change instruction is executed in the CPU 105, and supplies the power supply to the clock control unit 101.
  • the signal ENV (112) basically includes information for enabling selection of a clock and a power supply voltage used by each functional unit for each functional unit.
  • the power supply / clock control unit 101 further includes a power consumption control circuit 102.
  • this circuit 102 In response to the operating environment control signal ENV (112), this circuit 102 has four power supplies that control the selection of the clock and power supply voltage to be used in each of the four function units 104 to 107.
  • a clock switching signal 113d is generated from 113a and supplied to the clock switching circuit (402 (Fig. 7)) and power supply switching circuit (401 (Fig. 7)) of each functional unit.
  • the operating environment control circuit 503 (FIG. 3) and the power consumption control circuit 102 control the clock switching circuit and the power supply switching circuit of each functional unit, and determine the power supply voltage used by the functional unit. It functions as a control circuit that changes the clock for each functional unit.
  • this clock CLK_b is a clock used in a steady state operation, and that this clock CLK_b is a normal or reference clock of this microprocessor.
  • the fastest clock CLK-a is used to realize an operation speed higher than that achievable by the clock CLK-.
  • the present invention not only reduces power consumption but also speeds up the operation.
  • Clock CLK — a is used for this speed up.
  • the low-speed clock CLK-c is used to perform low-speed operations to reduce power consumption.
  • clock CLK-a another clock having the same frequency and a different phase from each clock, for example, clock CLK-a may be required.
  • such another clock can be used, but such another clock is regarded as the same as the clock CLK-a, and is not separately illustrated or described.
  • the low power supply voltage VL is a power supply voltage used during normal operation. This supply voltage can be said to be the normal or reference supply voltage for this microprocessor. This power supply voltage is used in the function unit using the clock CLK-b or the clock CLK-c.
  • the high power supply voltage VH is used to achieve higher-speed operation than the normal operation that can be realized with the power supply voltage VL.
  • a circuit block to which such a high power supply voltage is supplied is constituted by a circuit element having a withstand voltage against the power supply voltage so that the circuit block can normally operate under the supply of the power supply voltage.
  • the microprocessor is configured by a CMOS circuit.
  • the high power supply voltage VH is determined so as to have a value that enables the circuit in each function unit to respond to the fastest clock CLK-a.
  • the power supply voltage VH is used by a function unit when the function unit performs high-speed operation in response to the fastest clock CLK-a.
  • the power supply voltage VL is a power supply voltage having a value necessary to enable a circuit in each function unit to respond to the clock CLK-b.
  • the power supply voltage VL is used by a function unit when a certain function unit performs a steady operation in response to the clock CLKb. In this embodiment, the power supply voltage VL is also used when the function unit operates at a low speed in response to the clock CLK-c.
  • the plurality of power supply voltages prepared for the circuit block are used. Supply the maximum power supply voltage to the circuit block. Conversely, when supplying a power supply voltage that is lower than the maximum power supply voltage of the plurality of power supply voltages to any of the circuit blocks, a clock that is slower than the highest-speed clock of the plurality of clocks is used. Supply.
  • the power consumption of CMOS circuits Force is proportional to the operating frequency of the circuit and to the square of the supply voltage supplied to it. Therefore, when the highest clock CLK-a and the maximum voltage VH are supplied to all the circuit blocks, the power consumption of the microprocessor is in the case of the steady operation (in this example, the intermediate clock is applied to all the circuit blocks. CLK-b and low power supply voltage VL).
  • the operation clock of the other circuit block is decreased. This ensures that the power consumption of the entire microprocessor does not exceed the limit power consumption predetermined for the microprocessor.
  • the clock used by the other function units is changed from the clock CLK-b in the normal operation to the clock CLK-c for power saving. In this way, the increase in the power consumption of the functional unit using the clock CLK-a is compensated for by the decrease in the power consumption of the functional unit using the clock CLK-c.
  • any one of the plurality of circuit blocks When changing the applied clock or clock and power supply voltage to a faster clock or to a higher power supply voltage for that clock and that clock, at least one of the above plurality of circuit blocks may be used. Change the clock supplied to the clock to a lower speed clock.
  • This prior art merely reduces the performance of a functional unit in order to reduce the power consumption of that functional unit.
  • the clock distribution circuit 103 in the power supply / clock control unit 101 has a general configuration including an oscillator 800 and a frequency dividing circuit 802. oscillation
  • the original clock 801 which is output from the generator 800, is input to the frequency divider circuit 802, and the frequency is divided as necessary, so that the clock CLK1a to the clock CLK1c are obtained. produce.
  • a clock switching circuit 502 and a power supply switching circuit 501 are newly added to the CPU 105. Is provided. An operation environment control circuit 503 and a latch 504 are newly provided in the instruction processing circuit 500.
  • an instruction for changing the operation environment is newly provided in the program being executed.
  • This instruction has a specific operation code and operand, which specifies multiple operating environments to be implemented on this microprocessor.
  • Each operating environment represents one of the different combinations of clock and power supply voltage given to each function unit. In the present embodiment, four operating environments are used as described later. Therefore, this operand consists of two bits.
  • the operating environment control circuit 503 decodes this instruction, it outputs the 2-bit operand to the latch 504.
  • the 2-bit operand held in the latch 504 is transmitted to the power consumption control circuit 102 in the power supply / clock control unit 101 as the operating environment control signal ENV (112).
  • the power consumption control circuit 102 changes the operating environment of the microprocessor in response to the signal 112. The operation will be described later.
  • the instruction processing circuit 500 includes an integer operation circuit and a group of internal registers in addition to various circuits for executing various instructions as described below. Not shown for simplicity.
  • the instruction processing circuit 500 stores an instruction to be executed in a ROM (not shown) or a memory access instruction for reading from RAM.
  • the instruction is sent to the nit 104 using the address bus 111 and a control bus (not shown), and the instruction is sent from the cache memory (not shown) or the RAM or R0M (not shown) in the storage control unit 104. When read, it decodes the instruction and controls execution of the instruction.
  • the decoded instruction is a data access instruction for R0M or RAM (not shown)
  • a memory access request is sent to the storage control unit 104 via the data bus 110, address bus 111, and control not shown. Send using the bus.
  • the decoded instruction is an integer operation instruction
  • an operation required by the instruction is executed by an integer operation circuit (not shown) in the instruction processing circuit 500.
  • the decoded instruction is a floating-point operation instruction
  • the instruction is sent to the FPU 106, and the instruction is executed by this unit.
  • the instruction is an instruction using the peripheral input / output unit 107
  • the instruction is sent to the peripheral input / output unit 107.
  • the power consumption control circuit 102 in the power supply / connection control unit 101 has a power control map memory 600.
  • This memory is a circuit that stores a power control map including information for generating the power / clock switching signals 113a to 113d.
  • this circuit is configured by a ROM.
  • This ROM stores, in each of a plurality of storage locations whose addresses are a plurality of values that can be taken by the operating environment control signal ENV (112), a value of each operating environment control signal ENV (112).
  • a corresponding set of power supplies' clock switching signals 1 13 a to 1 13 d are stored.
  • Power supply 'Clock switching signal 1 13 a to 1 13 d are the power supplied to storage control unit 104, CPU 105, FPU 106, peripheral I / O unit 107, and clock switching, respectively. Signal. Note that the same is applied instead of the power control map memory 600.
  • a gate circuit that can generate such a signal may be used.
  • the operating environment control signal ENV (112) is set to 2 bits (d1, d0), and each of the power supply and clock switching signals 113a to 113d is set to 3 bits ( p, cl, c 0).
  • FIG. 5 shows the contents of the power control map memory 600.
  • the p bit is the power supply selection bit
  • p is the bit for instructing the selection of the power supply voltage
  • p 0 selects the normal power supply voltage (VL)
  • p 1 selects the high power supply voltage (VH).
  • Shown. (C 1, c 0) is a clock selection bit, and instructs selection of a clock to be used as follows.
  • the marginal power consumption of the entire microprocessor at this time is determined by the package, cooling conditions, etc., and regardless of how the functional units that constitute the microprocessor operate, Microprocessors must be designed so that the overall power consumption of the microprocessor does not exceed this limit. For the sake of simplicity, only the power consumption in the function units 104 to 107 for switching between the supplied clock and the power supply voltage will be discussed below. The power consumption at these units or the marginal power consumption for these units is discussed as if it were the power consumption of the entire microprocessor or the marginal power consumption of the entire microprocessor.
  • the power consumption P of the microprocessor in this mode is set so as not to exceed the limit power consumption shown by the dotted line in the figure, as shown in section A of FIG.
  • the percentages of power consumed by the storage control unit 104, CPU 105, FPU 106, and peripheral I / O unit 107 during steady-state operation are 0.15, 0.3, and 0.3, respectively. , 0.25. That is, in the steady operation state, the power consumption in these functional units is 0.3, 0.6, 0.6, and 0.5 watt, respectively.
  • the fastest clock CLK-a and the high power supply voltage VH are supplied to the FPU 105 and the storage control unit 104 to operate these function units at high speed.
  • the CPU 105 and the peripheral I / O unit 107 are supplied with a low-speed clock CLK-c and a low power supply voltage VL to operate at a low speed.
  • (dl, dO) (0, 1).
  • the storage control unit 104 and the FPU 10 The power supply's clock switching signal 1 13 a and 1 13 c for 6 are both (1, 1, 0).
  • the power supply / clock switching signal 1 13 b for the CPU 105 and the power supply / port switching signal 113 d for the peripheral input / output unit 107 are (0, 0, 1).
  • This mode is used, for example, when many instructions in the program portion executed by the CPU 105 are instructions using the FPU 106.
  • the operating speed of these function units is reduced as a result of changing the clock used by the CPU 105 and the peripheral I / O unit 107 to a lower clock, but this affects the processing speed of the program. Without this, the lowering of the operating speed of this latter functional unit would not be a problem. Conversely, it is necessary to select a function unit in which such a decrease in operating speed does not substantially affect the processing speed of the program, and such a selection is possible depending on the program.
  • the CPU 105 When executing a program part that originally needs to improve the performance of the FPU 106, the CPU 105 is less frequently used by the program part, and thus the activation rate of the CPU 105 circuit is low. Therefore, it is considered that the low-speed operation of the CPU 105 does not significantly affect the processing performance of these microprocessors as a whole.
  • the high-speed operation of the storage control unit 104 also means that these instructions are read out faster than a RAM or ROM (not shown) or a cache memory (not shown) in the storage control unit 104, and furthermore, those instructions are read at a higher speed.
  • the data used by the instruction is stored in RAM or This is to read out from the ROM or a cache memory (not shown) at high speed, or to write the execution result data of the instruction into those memories at high speed.
  • the clock frequency and the power supply voltage of the FPU 106 will be higher than those in the steady mode.
  • the resulting performance S of FPU 106 is the highest, as shown in section B of FIG.
  • the frequency of the clock supplied to the CPU 105 and the peripheral input / output unit 107 is reduced.
  • the increase in power consumption caused by operating the FPU 106 at a high speed is reduced by the CPU 105 and the peripheral input / output unit. It can be said that 107 is compensated for by operating at low speed.
  • the power supply voltage used by the CPU 105 and the peripheral input / output unit 107 is not reduced, and the clock used by the CPU 105 and the peripheral input / output unit 107 is Low power consumption of CPU 105 and peripheral I / O unit 107 is achieved by switching from normal clock CLK 1 b used before changing operating environment to low-speed clock 115 c. . This ensures that the power consumption of the microprocessor as a whole does not exceed the power limit.
  • the frequency of the highest-speed clock CLK-a and the lower-speed clock CLK-c is reduced by the decrease in power consumption in the functional unit that uses the clock CLK-c instead of the clock CLK-b.
  • the frequency of the highest-speed clock CLK-a and the lower-speed clock CLK-c is reduced by the decrease in power consumption in the functional unit that uses the clock CLK-c instead of the clock CLK-b.
  • the power consumption of the storage control unit 104 is 0.585 watt
  • the power consumption of the FPU 106 is 1.758 watt
  • the power consumption of the CPU 105 is 0.1
  • peripheral input / output unit 107 is 0.125 watt
  • the total of these is 2.03 watt. Therefore, even in this operation mode, as shown in section B of Fig. 6, the power consumption of the microprocessor slightly increases from the above-mentioned power consumption during steady-state operation of 2.0 watt, but exceeds the limit power consumption of 2.1 watt. It can be kept small.
  • the CPU 105 and the storage control unit 104 are supplied with the fastest clock CLK_a and the high power supply voltage VH to operate these function units at high speed.
  • a low-speed clock CLK_c and a low power supply voltage VL are supplied to the FPU 106 and the peripheral input / output unit 107 to operate at a low speed.
  • the clock frequency of the CPU 105 and the power supply voltage are higher than those in the steady mode. Accordingly, the frequency of the clock of the FPU 106 and the peripheral input / output unit 107 is reduced as in the above-described operation mode in which the FPU operates at high speed.
  • a certain functional unit When operating at a higher speed, it is possible to consider that other function units operate at a lower speed than the steady state operation. Further, when the operation mode was changed from the above-described operation mode in which the FPU operates at high speed to the present operation mode, the clock frequency of the CPU 105 was increased. Therefore, in the present embodiment, it can be considered that the frequency of the clock of another functional unit, for example, the FPU 106 is reduced in such a case.
  • the operation mode is changed from the above-mentioned operation mode in which the FPU operates at high speed to this operation mode, the clock supplied to the CPU 105 is changed to the fastest clock, and the power supply voltage supplied there is reduced. This means that it has been changed to the maximum power supply voltage. Therefore, in such a case, the present embodiment reduces the clock frequency and the power supply voltage of other functional units already supplied with the fastest clock and the maximum power supply voltage, for example, the FPU 106. Clock and the lower supply voltage.
  • This mode is used, for example, when many instructions in a program portion executed by the CPU 105 are instructions using an integer arithmetic circuit (not shown) in the CPU 105.
  • the increase in power consumption caused by operating the CPU 105 at high speed is compensated for by operating the FPU 106 at low speed.
  • This mode is used when the operating environment change instruction that specifies this mode is executed.
  • the reason for operating the storage control unit 104 at high speed in this mode is the same as in Mode B.
  • the present invention has not been applied. This is because the power saving operation mode is the operation mode with the lowest power consumption, and even if the operation mode is changed to any other operation mode, the power consumption of any function unit is reduced. It is not necessary. Naturally, it is not necessary to apply the present invention to such a change of the operation mode.
  • the function units 104 to 107 are configured as described below to respond to the power supply / clock switching signals 113 a to 113 d. As shown in FIG. 7, in the FPU 106, a clock switching circuit 402 and a power supply switching circuit 401 are newly provided in addition to a floating point arithmetic circuit 400 for executing floating point arithmetic.
  • the clock switching circuit 402 responds to the clock switching signal 1 13 c to connect the lines 1 15 a to 115 c from the clock distribution circuit 103. Selects one clock to be used by this unit, out of three clocks CLK—a to clock CLK-1c supplied via
  • the clock switching circuit 402 includes AND gates 1100, 1101, 1102, and an OR gate for selecting three clocks 115a to 115c. It consists of 1104 and NAND gate 1103.
  • two bits (c1, c0) of the 3-bit power supply / clock switching signal 113c are (0, 0), (0, 1), and (1, 0), respectively.
  • the intermediate clock C LK — b, the low-speed clock C LK-c, and the fastest clock C LK — a are selected and supplied to the floating-point arithmetic circuit 400 in the FPU 106 via the line 405.
  • the power supply switching circuit 401 responds to the power supply / clock switching signal 1 13 c to select one of the two power supply voltages VH and VL supplied via the power supply wirings 116 a and 116 b. Select the power supply voltage to be used by G10. As shown in FIG. 9, for example, the power supply switching circuit 401 includes MOS switches 1000 and 1001 for switching between two power supplies VH and VL, and buffer circuits 1002 and 1003 for driving these switches. The power supply voltage VL and VH are selected when the p bit of the 3-bit power supply / clock switching signal 1 13 c is 0 or 1, respectively. The selected power supply voltage supplies power to the floating-point arithmetic circuit 400 in the FPU 106 through the power supply wiring 404.
  • the power supply switching circuit 401 and the clock switching circuit 402 are both provided in the FPU 106 and supply a power supply voltage and a clock to the floating point arithmetic circuit 400 therein. You can think of it as effectively supplying the power supply voltage and clock to the FPU 106. Also, these circuits 401 and 402 may be provided outside the FPU 106. Therefore, in this specification, these circuits may be referred to as circuits that supply a power supply voltage and a clock to the FPU 106. This is the same for the other function units.
  • the CPU 105 is provided with a power supply switching circuit 501 and a clock switching circuit 502 in addition to the instruction processing circuit 500. These circuits 50 1 and 50 2 are shown in FIGS. 9 and 8. This is the same circuit as the power supply switching circuit 401 and the clock switching circuit 402, and responds to the power supply's clock switching signal 113b.
  • the memory control unit 104 also has the same structure as the clock switching circuit 402 and the power switching circuit 401 in the FPU 106, and responds to the power / clock switching signal 113d. (Not shown).
  • the peripheral input / output unit 107 also has the same structure as the clock switching circuit 402 and the power switching circuit 401 in the FPU 106, and responds to the power / clock switching signal 113a. ) Are provided.
  • two power supply voltages VH and VL are supplied externally to the microprocessor 1 200 via power supply wirings 1 16a and 1 16b. 1, 104-: L07 can be supplied. Further, as shown in FIG. 11, one power supply voltage, for example, VH may be supplied from the outside to the microprocessor 1201, and another power supply voltage VL may be generated by the transformer circuit 122.
  • the frequency of a clock supplied to the function unit is increased.
  • the function unit is operated with higher performance.
  • the increase in power consumption caused by this high-performance operation is compensated for by reducing the frequency of the microcomputer that supplies the other function units, and the power consumption of the entire microprocessor is reduced by the preset power consumption. The power is not exceeded.
  • the power control map memory 600 in the power consumption control circuit 102 is constituted by RAM, whereby the control information in the power control map memory 600 can be updated by software. System Control is possible.
  • a multiplexer 1300 is arranged in front of a power control map memory 600 composed of a RAM.
  • An instruction for rewriting the power control map memory 600 is provided in a program executed by the CPU 105, and the instruction is decoded in the CPU 105 to generate a source selection signal 1302.
  • a circuit for outputting the map address 1301 and the map update data 1303 designated by the is provided.
  • the multiplexer 1300 selects the operating environment control signal ENV (1 1 2) and supplies a set of data from the power control map memory 600 as in the first embodiment. Power supply ⁇ Clock switch signal 1 13 a to l 13 d is read.
  • the multiplexer 1300 selects the map address 1 301, supplies it to the power control map memory 600 as a write address, and instructs to write the map update data 1303. .
  • the power control map memory 600 can be rewritten to desired contents by the program.
  • microprocessor described in the above embodiment is a general-purpose microphone-based processor, in particular, in a microprocessor-based processor for multimedia, special processors such as graphics and image processing are used instead of the FPU.
  • special processors such as graphics and image processing are used instead of the FPU.
  • One or more function units that perform the processing are used.
  • the technology described above can be applied to operate these functional units at high speed.
  • These special processes generally have long processing times. Therefore, it is effective to increase the processing speed of the microprocessor by operating the function unit for executing each processing at high speed while executing each processing.
  • the microprocessor ⁇ ⁇ The power consumption of the entire power supply can be suppressed below the limit power consumption.
  • the peripheral input / output unit 107 has only a steady operation or a power saving operation. However, this unit can be operated at high speed. For example, when a peripheral I / O unit for a modem is used as the peripheral I / O unit 107, it may be desirable to operate the function unit at high speed.
  • the clock generation circuit 103 is provided commonly to all the function units, and simultaneously supplies a plurality of clocks to all the function units via a plurality of common clock lines. .
  • a clock switching circuit was provided in each function unit.
  • a clock switching circuit for each function unit is provided in the power supply's clock control unit, where the clock to be supplied to each function unit is selected, and the selected clock is used for that function. It can also be supplied via a clock line provided for the unit.
  • a common clock switching circuit provided in a plurality of function units can output clocks for each function unit separately.
  • a circuit having such a structure is also considered to be a circuit that switches a clock for each functional unit.
  • a signal line for supplying all clocks to all functional units is used.
  • one signal line is provided for each functional unit. Only the clock signal line needs to be used. Therefore, there is a possibility that the chip area occupied by the clock signal line can be reduced.
  • a plurality of power supply voltages are simultaneously supplied to all the function units via a plurality of common power supply lines, and a power supply switching circuit is provided for each function unit.
  • a power supply voltage switching circuit can be configured as in the modification of the clock switching circuit.
  • the power supply switching circuit having such a structure is also considered to be a circuit for switching the power supply voltage for each functional unit.
  • the power supply switching circuit needs to switch large currents, the power supply voltage supplied to other circuits may fluctuate. Therefore, it may be desirable to provide this circuit outside each functional unit, especially around the chip. Similarly, it may be desirable to provide a clock switching circuit outside each functional unit, especially at the chip periphery. (3)
  • all the function units operate with the same clock and the same power supply voltage.
  • the present invention is not limited to this case. In a normal operation, the clock or the clock and the power supply voltage supplied to any one of the functional units are supplied to the other functional unit. And may be different.
  • the clock supplied to one of the functional units may be a clock lower in speed than the clock supplied to the other functional unit.
  • the FPU 106 or peripheral I / O unit 107 supplies the low-speed clock CLK-c to execute power saving operation, and the other function units perform intermediate clock operations.
  • a low power supply voltage VL as low as CLK-b may be supplied.
  • the FPU 106 is connected to the intermediate speed clock CLK—b or the highest speed clock C
  • the clock supplied to another function unit for example, CPU 105, may be changed to a lower-speed clock CLK-c.
  • a clock supplied to one of the functional units may be supplied at a higher speed than a clock supplied to the other functional unit.
  • the fastest clock CLK-a and the highest power supply voltage VH are supplied only to the CPU 105 to execute high-speed operation, and the other functional units have the intermediate clock CLK-b and low power supply.
  • the voltage VL may be supplied.
  • the clock supplied to the CPU 105 may be changed to a lower-speed clock CLK-b or clock CLK-c. .
  • the present invention can be applied to a case where more than three clocks used in the first embodiment are used. Further, it goes without saying that the present invention can be applied to the case where a power supply voltage larger than the two power supply voltages used in the first embodiment is used. However, even in this case, use the maximum power supply voltage when using the fastest clock for any of the function units, and use a clock that is slower than the fastest clock when using a power supply voltage smaller than the maximum supply voltage. use.
  • the operation speed of the other function unit is reduced according to the present invention.
  • a power supply voltage for power saving can be prepared as a power supply voltage and supplied to a function unit for performing power saving operation. If this method is adopted, the power consumption of each functional unit that performs power-saving operation can be further reduced.
  • the present invention can be applied to a case where a plurality of operation modes different from the four operation modes used in the first embodiment are used or other operation modes are added to these four operation modes. Needless to say, it can be applied to the case where
  • the first embodiment is an example of a microprocessor in which each function unit is realized by one circuit block.
  • the present invention is more generally applied to a microprocessor divided into a plurality of circuit blocks. Applicable to processors. Further, it is not necessary that the entirety of one circuit block is driven by the same clock and the same power supply voltage, and a part thereof may be driven by a clock and a power supply voltage different from the other.
  • the present invention is not limited to a microprocessor composed of a CMOS, but can be applied to other types of circuits, for example, a microprocessor composed of a BiCMOS circuit.
  • the clock and power supply voltage supplied to specific circuit blocks such as RAM and ROM (not shown) always have a constant frequency and voltage.
  • the frequency of the clock supplied to some of the circuit blocks is changed for each circuit block. It can be applied even if it is changed.
  • the present invention can also be applied to the case where the frequency of the clock supplied to each circuit block is changed.
  • the present invention is also applied. Is applicable.
  • a clock supply circuit that changes the clock supplied to at least a plurality of circuit blocks among all the circuit blocks in the microphone processor may be used for each circuit block.
  • the clock supply circuit differs for each of the plurality of circuit blocks in the microprocessor. It can be considered as a circuit that switches and supplies a clock with a frequency.
  • the power supply voltage supply circuit can be considered as a circuit that switches and supplies a different value of power supply voltage for each of a plurality of circuit blocks in the microprocessor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Description

明 細 書
マイ クロプロセッサ
技術分野
本発明は、 消費電力を増大しないで特定の回路ブロックを高速に 動作できるマイクロプロセッサに関する。
背景技術
従来からもマイクロプロセッサの消費電力を下げる技術がいろい ろ提案されている。 例えば特開平 8 — 2 7 2 5 7 9号明細書 「可変 クロック発生装置」 に見られるように、 従来技術の多くは、 マイク 口プロセッサ内の複数のュニッ トの内、 高速動作を必要としないュ ニッ トに供給するクロックの周波数を下げることにより消費電力を 低減しょう としている。 マイクロプロセッサの多くは C M O S回路 で構成されているため、 クロック周波数を低減することは C M 0 S 回路が動作する割合 (活性化率) を下げることになる。 したがって、 その方法は消費電力の低減に効果的である。
近年、 マルチメディア分野の進展が著しく、 それに適したマイク 口プロセッサが要求されている。 このような用途のマイクロプロセ ッサには、 グラフィ ックスや画像処理のような複雑な処理を高速に 実行できることが要求され、 近年マイクロプロセッサのマシーンク ロックも増大する方向にある。 このため消費電力が増大するので、 マイクロプロセッサでは消費電力の低減が重要課題である。
と くに最近では、 たとえば、 デジタル T Vやゲーム機用のマイク 口プロセッサのように、 一般家庭などに普及していくマイクロプロ セッサが多くなつている。 このような用途に使用されるマイ クロプ 口セッサには、 低コス ト化のために安価なパッケージを使用できる こと、 また、 無風状態での使用に耐えることが要求期待される。 こ れらの期待に応えるには、 マイクロプロセッサの消費電力が低いこ とがと く に必要である。
このように、 マイクロプロセッサには、 と く に、 マルチメディア 分野に使用するマイクロプロセッサには、 高性能かつ低消費電力の マイクロプロセッサへの巿場ニーズが高まっている。 しかし、 従来 技術は、 マイ クロプロセッサの消費電力を低減できるが、 その消費 電力の低減と性能向上を同時に満たすことを考慮していない。 本発明の目的は、 上記の問題を解決し、 消費電力を増大しないで 性能のを向上できるマイ クロプロセッサを提供することである。 発明の開示
本発明では、 特定の回路ブロックの動作速度をより高速なものに 変更できるように、 マイクロプロセッサに含まれる複数の回路プロ ックの各々に、 値が異なる複数の電源電圧を切り換えて供給し、 周 波数が異なる複数のクロックを切り換えて供給する。 以下では周波 数が高いクロ ックを高速なクロックと呼ぶことがある。
マイ クロプロセッサの多くは C M〇 S回路により構成される。 一 般に C M 0 S回路等の論理回路の動作可能な最大周波数は、 その回 路に供給される電源電圧にほぼ比例して大きくなる。 したがって、 C M O S回路をよ り高速のクロックで駆動するためには、 よ り高い 電源電圧を供給する必要がある。 このために本発明では複数の電源 電圧を使用する。 上記複数のクロックの内の最大周波数を有する最 高速クロ ックは、 上記複数の電源電圧の内の最大電源電圧が供給さ れた回路プロ ックで使用可能な周波数を有し、 上記最高速クロック より低速のいずれかのクロックは、 上記最大電源電圧より低いいず れかの電源電圧が供給された回路プロックでも使用可能な周波数を 有するように、 上記複数のクロックの周波数および上記複数の電源 電圧の値が選ばれる。 上記最大の電源電圧が供給される回路ブロッ クは、 その電源電圧が供給された状態で正常に動作可能なように、 その電源電圧に対する耐圧を有する回路素子から構成される。
本発明では、 マイクロプロセッサの高速化を実現するだけでなく、 消費電力も低減する。 一般に、 C M O S回路等の論理回路の消費電 力は、 その回路の動作周波数に比例し、 そこに供給される電源電圧 の自乗に比例する。 したがって、 本発明では、 上記最大電源電圧と 最高速クロックを同時に供給する回路ブロックの数を制限している。
より具体的には、 本発明では、
各回路ブロックに値が異なる複数の電源電圧を切り換えて供給す るための電源供給回路と、
各回路ブロ ックに周波数が異なる複数のクロックを切り換えて供 給するためのクロ ック供給回路と、
上記電源供給回路と上記クロック供給回路に、 各回路プロックに 供給するクロックの切り換えとその回路ブロ ックに供給する電源電 圧の切り替えを指示する制御回路とが設けられる。
上記制御回路は、 いずれかの回路プロックに上記最高速クロック と上記最大電源電圧を供給したときには、 少なく とも一つの他の回 路ブロックには、 上記最高速クロックより低速のいずれかのク口ッ クと上記最大電源電圧より低い電源電圧を供給する。
さらに具体的には、 上記複数の回路ブロックの内、 少なく とも一 つの回路プロヅクに供給するクロックを、 その回路プロックにそれ まで供給していたクロックより高速のクロックへの切り替えるとき には、 他の少なく とも一つの回路ブロックに供給するクロックを、 その回路ブロックにそれまで供給していたクロックよりも低速のク 口ックへ切り替えられる。
こう して上記一つの回路プロックの動作速度を増大したときに生 じる消費電力の増大を、 上記他の回路プロヅクの消費電力の減少に より償い、 マイクロプロセッサ全体としての消費電力が所定の限界 消費電力以下に抑える。
このような、 ある回路プロックへ供給するクロックの高速化と同 時に他の回路ブロックに供給するクロックの低速化を併用すること は、 いろいろの態様で使用できる。
たとえば、 ある回路プロックを定常動作状態よりも高速に動作さ せることができる。 その回路ブロックに定常動作状態で供給される クロックより高速のクロックを供給すればよい。 必要であれば、 そ の回路ブロックに供給する電源電圧も増大する。 たとえば、 そのよ り高速なクロックが上記最高速クロックであるときには、 その回路 プロ ックに上記最高の電源電圧を供給する。 こう してその回路プロ ックの動作速度を増大する。 このときに、 いずれかの他の回路プロ ックに供給するクロックを、 定常動作状態で当該他の回路プロック に供給されるクロックょ り低速なクロックに変更する。
あるいは、 上記最高速クロックより低速のク口ックで駆動されて いるいずれかの回路プロックを上記最高速ク口ックで駆動すること ができる。 このとき、 他のいずれかの回路ブロックのクロックをよ り低速なものに変更する。 たとえば、 それまで上記最高速クロック が供給されていた他の回路ブロックがある場合には、 当該回路プロ ックに供給するクロックをより低速のクロックに変更する。 図面の簡単な説明
図 1は、 本発明の一実施の形態によるマイクロプロセッサの概略 ブロック図である。
図 2は、 図 1の装置で本発明を好適に実施するためのクロック分 配回路の概略プロック図である。
図 3は、 図 1の装置で本発明を好適に実施するための中央処理装 置の概略プロック図である。
図 4は、 図 1の装置で本発明を好適に実施するための消費電力制 御回路の概略ブロック図である。
図 5は、 図 5の装置に含まれた電力制御マップメモリの内容を示 した図であるである。
図 6は、 図 1のマイクロプロセッサでの消費電力と処理速度の変 化を例示する図である。
図 7は、 図 1の装置で本発明を好適に実施するための浮動小数点 演算ュニッ 卜の構成を示す図である。
図 8は、 本発明の一実施の形態におけるクロック切り換え回路の 概略プロヅク図である。
図 9は、 本発明の一実施の形態における電源切り換え回路の概略 ブロック図である。
図 1 0は、 本発明の一実施の形態での電源供給手段の概略プロッ ク図である。
図 1 1は、 本発明の一実施の形態で使用できる他の電源供給手段 の構成を示した図である。
図 1 2は、 本発明の他の実施の形態での消費電力制御回路の構成 を示した図である。 発明を実施するための最良の形態
以下、 本発明に係るマイ クロプロセッサを図面に示した実施の形 態を参照してさらに詳細に説明する。 なお、 以下においては、 同じ 参照番号は同じものも しくは類似のものを表わすものとする。 また、 第 2の実施の形態以降においては、 第 1の実施の形態との相違点を 主に説明するに止める。
<発明の実施の形態 1 >
図 1に示すように、 マイクロプロセッサ 1 2 00は、 単一の大規 模集積回路 (L S I ) 上に構成され、 記憶制御ュニッ ト 1 04、 中 央処理装置 (CPU) 1 05、 浮動小数点演算ュニッ ト (F PU) 1 0 6、 周辺入出力ユニッ ト 1 07等の複数の機能ュニッ ト と電 源 ' クロック制御ュニッ ト 1 0 1を有する。 これらのュニッ トは、 それそれ一つの回路ブロックにより構成されているが、 実際には、 いずれかの機能ュニッ 卜が複数の回路プロックによ り構成されても よく、 また、 複数の機能ュニッ 卜に属する回路が同じ一つの回路ブ ロックに含まれてもよい。 上記ュニッ ト 1 0 1、 1 04〜 1 07は、 データバス 1 1 0、 ア ドレスバス 1 1 1および図示しない制御バス でもって互いに接続されている。 なお、 このマイ クロプロセッサ 1 2 00には、 RAM (ランダム · アクセス ' メモリ) 、 ROM (リ 一ド · オンリ一 · メモリ) 等の他のメモリュニッ 卜も上記複数のバ スに接続されているが、 ここでは簡単化のためにこれらのメモリュ ニッ トは図示せず、 その動作も説明しない。 これらのメモリュニッ トは、 複雑なタイ ミ ングで動作するので、 それらへ供給する電源電 圧とクロックは変化させない。 他の機能ュニッ トが設けられていて もよいことは言うまでもない。 記憶制御ュニ ヅ ト 1 04は、 図示しない R AMに対するキヤヅ シ ュメモリ (図示せず) を内蔵し、 RAMに対するアクセス要求をそ のキャッシュメモリに対して実行し、 アクセス対象のデ一夕がその キャッシュメモリにないときには、 RAMに対してアクセスする回 路 (図示せず) を含む。 さらに、 記憶制御ュニッ ト 1 04には、 パ ス 1 1 0, 1 1 1に対するバスアービタ (図示せず) も設けられる。 なお、 後に説明するように、 バス 1 1 0, 1 1 1を使用する異なる 機能ユニッ トが異なるクロックで駆動される。 しかし、 それぞれの ュニッ 卜がそれらのバスへのデータの送出タイ ミ ングあるいはそれ らのバスからのデータの受信タイ ミ ングを決めるので、 これらのバ スの利用に関してはとくに問題は生じない。
周辺入出力ュニ ヅ ト 1 07は、 図示しない外部の周辺装置と C P U 1 05との間でデ一夕の転送を行う。
本実施の形態では、 これらの機能ュニ ヅ ト 1 04〜 1 07に、 動 作クロックとして複数の、 ここでは 3つの、 周波数が異なるクロッ ク C LK— a、 C LK— b、 CLK— cがクロック線 1 1 5 a〜 l 1 5 cを介して同時に供給される。 ここではクロック C LK— aは 最も周波数が高い最高速のクロックであり、 クロック C LK— bは それよ り低い周波数を有する中間速のクロックであり、 クロック C L K— cは最も低い周波数を有する低速のクロックである。 電源 ' クロック制御ュニヅ ト 1 0 1には、 これらの 3つのクロックを発生 するクロヅク分配回路 1 03が設けられている。 さらに、 全機能ュ ニッ トには、 電源電圧として、 複数の、 ここでは 2つの値が異なる 電源電圧 VH、 VLが電源配線 1 1 6 a、 1 1 6 bを介して同時に 供給される。
各機能ュニッ トには、 後に説明するように、 クロック切り換え回 路 (402 (図 7 ) ) と電源切り換え回路 (40 1 (図 7) ) と同 じ回路が設けられ、 それぞれは、 その機能ユニッ トに供給された 3 つのクロックと 2つの電源電圧から、 その機能ュニッ トが使用する 一つのクロックおよび一つの電源電圧をそれぞれ選択する。 本実施 の形態では上記ク口ック分配回路 1 03と各機能ュニッ トに設けら れたクロック切り換え回路が本発明で使用するクロック供給回路を 実現する。 また、 各機能ユニッ トに設けられた電源切り換え回路が 本発明で使用するクロック供給回路を実現する。
CPU 1 0 5には、 後に詳しく説明するように、 動作環境制御回 路 5 03 (図 3) が設けられている。 この回路は CPU 1 05内で 動作環境変更命令が実行されたときに、 動作環境制御信号 E N V ( 1 1 2 ) を生成し、 電源 ' クロック制御ュニッ ト 1 0 1に供給す る。 この信号 E N V ( 1 1 2 ) は、 基本的には、 各機能ュニッ トが 使用するクロックと電源電圧とを各機能ュニッ ト毎に選択可能にす る情報を含んでいる。
電源 . クロック制御ュニッ ト 1 0 1には消費電力制御回路 1 02 がさらに設けられている。 この回路 1 02は、 動作環境制御信号 E N V ( 1 1 2 ) に応答して、 4つの機能ュニッ ト 1 04〜 1 0 7の それぞれにおいて使用するクロックと電源電圧の選択を制御する 4 つの電源 ' クロック切り換え信号 1 1 3 aから 1 1 3 dを生成し、 それぞれの機能ュニッ トのクロック切り換え回路 (402 (図 7 ) ) と電源切り換え回路 (40 1 (図 7 ) ) に供給する。 こう し て、 動作環境制御回路 5 03 (図 3) と消費電力制御回路 1 02が、 各機能ュニッ 卜のクロック切り換え回路と電源切り換え回路を制御 して、 その機能ュニッ 卜が使用する電源電圧とクロックを、 各機能 ュニッ トごとに変更する制御回路として機能する。 本実施の形態では、 定常動作状態では、 全ての機能ユニッ トは、 中間速のクロック C L K一 bを使用すると仮定している。 したがつ て、 このクロック C L K— bは、 定常動作状態で使用するクロック で、 このクロック C L K _ bはこのマイクロプロセッサの正規ある いは基準のクロックであるとも言える。 このクロックにより、 定常 状態での動作速度あるいは正規の動作速度が実現される。 最高速の クロ ック C L K一 aは、 クロック C L K— により実現可能な動作 速度よりも高速な動作速度を実現するために使用される。 本発明は、 消費電力の低減だけでなく、 動作の高速化も図る。 クロック C L K — aはこの高速化のために使用される。 低速のクロック C L K— c は、 電力消費を低減することを目的として低速動作を実行させるの に使用される。
なお、 機能ュニッ トの構造によっては、 各クロックたとえばクロ ック C L K一 aと周波数が同じで位相が異なる他のクロックも必要 な場合もある。 本実施の形態でもそのような他のクロックを使用可 能であるが、 そのような他のクロックは、 クロック C L K— aと同 じと見なし、 別に図示あるいは説明しない。
低い電源電圧 V Lは、 定常動作時に使用する電源電圧である。 こ の電源電圧はこのマイクロプロセッサの正規あるいは基準の電源電 圧であるとも言える。 この電源電圧は上記クロック C L K— bまた はクロック C L K一 cを使用する機能ュニッ 卜で使用される。 高い 電源電圧 VHは、 電源電圧 V Lで実現できる定常動作より高速動作 を実現するために使用される。
一般に CMO S回路の動作可能な最大周波数は、 その回路に供給 される電源電圧にほぼ比例して大きくなる。 したがって、 CMO S 回路によ り高速の動作をさせるには、 より高い電源電圧を供給する 必要がある。 このような高い電源電圧が供給される回路プロックは、 その電源電圧が供給された状態で正常に動作可能なように、 その電 源電圧に対する耐圧を有する回路素子から構成される。
本実施の形態でも、 マイクロプロセヅサは、 C M O S回路により 構成されていると仮定する。 高い電源電圧 V Hは、 各機能ュニッ ト 内の回路を最高速クロック C L K— aに応答可能にする値を有する ように定められる。 この電源電圧 V Hは、 ある機能ユニッ トが最高 速クロック C L K— aに応答して高速動作をするときにその機能ュ ニッ トにより使用される。 電源電圧 V Lは、 各機能ュニッ ト内の回 路をクロック C L K— bに応答可能にするに必要な値を有する電源 電圧である。 この電源電圧 V Lは、 ある機能ユニッ トがクロック C L K— bに応答して定常動作をするときにその機能ュニヅ トにより 使用される。 この実施の形態では、 この電源電圧 V Lは、 その機能 ュニッ 卜がクロック C L K一 cに応答して低速動作をするときにも 使用される。
このように本発明では、 回路ブロック用に用意された複数のクロ ックの内、 最高速のクロックをいずれかの回路ブロックに供給する ときに、 回路ブロック用に用意された複数の電源電圧の内の最大の 電源電圧をその回路ブロックに供給する。 逆に、 いずれかの回路ブ ロックに上記複数の電源電圧の内、 上記最大電源電圧より低い電源 電圧を供給するときには、 上記複数のクロックの内、 上記最高速の クロ ックより低速のクロックを供給する。
本発明では、 マイクロプロセッサの高速化を実現するだけでなく、 消費電力も低減する。 したがって、 各回路ブロックが使用するクロ ックと電源電圧を選択するときに、 これらの二つの要件を満たすよ うに、 この選択動作が制御される。 一般に、 C M O S回路の消費電 力は、 その回路の動作周波数に比例し、 そこに供給される電源電圧 の自乗に比例する。 したがって、 全ての回路ブロックに上記最高速 のクロック C L K— aと最大電圧 V Hを供給した場合、 マイクロプ 口セッサの消費電力は、 定常動作の場合 (今の例では、 全ての回路 ブロックに中間のクロック C L K— bと低い電源電圧 V Lを供給し た場合) よりはるかに増大する。
しかし、 実際にはマイクロプロセッサが実行するプログラムの処 理速度を増大するには、 全ての回路プロックを同時に高速化させる 必要がない場合がある。 したがって、 本発明では、 全ての回路プロ ックを同時に高速に動作させるのではなく、 プログラムの処理の高 速化に寄与するいずれか一つまたは複数の回路プロックを選択的に 高速動作させる。 そのために、 それらの回路ブロックが使用するク ロックと電源電圧を増大する。 図 1の場合には、 上記最高速のクロ ック C L K _ aと高い電源電圧 V Hを使用させる。
このような動作だけでは、 定常動作状態よりは、 マイクロプロセ ッサの消費電力は増大する。 したがって、 本発明では、 いずれかの 回路ブロックの動作クロックを増大するときには、 他の回路ブロッ クの動作クロックを下げるようにする。 これによりマイクロプロセ ッサ全体の消費電力を、 予めマイクロプロセッサに対して定められ た限界消費電力を超えないようにする。 図 1の場合には、 具体的に は、 他の機能ュニッ トが使用するク口ックを定常動作時のクロック C L K— bから省電力用のクロック C L K— cに変更する。 こう し て、 クロック C L K一 aを使用した機能ュニッ トの消費電力の増大 を、 クロック C L K— cを使用した機能ュニッ トの消費電力の減少 により償う。
このように、 本発明では、 複数の回路ブロックのいずれか一つに 与えるクロックあるいはクロックと電源電圧とを、 より高速なクロ ヅクあるいはそのクロックとそのクロックのためのより高い電源電 圧に変えるときには、 上記複数の回路プロックの内の少なく も一つ の他の回路プロックに供給しているクロックをより低速のクロック に変える。
なお、 従来技術を適用したマイクロプロセッサの場合には、 いず れかの機能ュニッ トに供給するクロックの周波数を低下させること により、 その機能ユニッ トでの消費電力が変化する、 特定の機能ュ ニッ 卜の性能は向上しない。 すなわち、 従来技術では、 定常動作状 態では全ての機能ユニッ トを一定のクロックで動作させ、 その後い ずれかの機能ュニッ ト、 例えば、 C P Uと F P Uの両方の処理性能 を低下させてもよい状態になった場合には、 これらの二つの機能ュ ニッ トに供給するクロックの周波数を定常動作時より低減する。 こ の結果、 マイクロプロセッサの電力は大幅に低下する。 また、 C P Uのみ処理性能を低下させてもよい場合には、 C P Uのクロックの 周波数のみを低下させる。 この場合でも定常動作時より消費電力が 低下する。 この従来技術にはある機能ュニッ 卜の消費電力を低減す るために、 その機能ュニッ トの性能を低下しているだけである。 定 常動作時より高い動作速度でいずれかの機能ュニッ トを動作させる という技術はない。 したがって、 定常動作時に使用するクロックよ り周波数が高いクロックを使用するあるいはそれに合わせて定常動 作時に使用する電源電圧より高い電源電圧を使用するという技術も ない。
以下、 本実施の形態をさらに詳細に説明する。 図 2に示すように、 電源 · クロヅク制御ュニッ ト 1 0 1内のクロ ヅク分配回路 1 0 3は、 発振器 8 0 0、 分周回路 8 0 2からなる一般的な構成である。 発振 器 8 0 0から出力される元のクロック 8 0 1を分周回路 8 0 2に入 力し、 これを必要に応じて分周することでクロ ック C L K一 a〜ク ロック C L K一 cを作り出す。
図 3に示すように、 C P U 1 0 5には、 C P U本来の処理を実行 するための命令処理回路 5 0 0の他に、 クロック切り換え回路 5 0 2と電源切り換え回路 5 0 1 とが新たに設けられている。 命令処理 回路 5 0 0内に動作環境制御回路 5 0 3とラッチ 5 0 4とが新たに 設けられている。
本実施の形態では実行中のプログラム内に動作澴境を変更するた めの命令が新たに設けられる。 この命令は、 特定のオペレーション コー ドとオペラン ドを有し、 オペラン ドではこのマイクロプロセッ ザで実現する複数の動作環境を指定する。 各動作璟境は、 各機能ュ ニッ 卜に与えるクロックと電源電圧の異なる組み合わせの一つを表 す。 本実施の形態では後述するように 4つの動作環境を用いる。 し たがって、 このオペラン ドは 2ビッ トからなる。 動作環境制御回路 5 0 3は、 この命令を解読すると、 その 2ビッ トのオペラン ドをラ ツチ 5 0 4に出力する。 ラッチ 5 0 4に保持された 2 ビッ 卜のオペ ラン ドは、 動作環境制御信号 E N V ( 1 1 2 ) として電源 · クロッ ク制御ュニッ ト 1 0 1内の消費電力制御回路 1 0 2に送出され、 こ の消費電力制御回路 1 0 2は、 この信号 1 1 2に応答してマイクロ プロセッサの動作環境を変更する。 その動作は後述する。
なお、 命令処理回路 5 0 0には、 以下に説明するように種々の命 令を実行するための種々の回路の他に整数演算回路および一群の内 部レジス夕を含むが、 これらの回路は簡単化のために図示していな い。 命令処理回路 5 0 0は、 実行すべき命令を図示しない R OMも しくは RAMから読み出すためのメモリアクセス命令を記憶制御ュ ニッ ト 1 04に、 アドレスバス 1 1 1、 図示しない制御バスを使用 して送出し、 記憶制御ュニッ ト 1 04内の図示しないキャッシュメ モリあるいは図示しない RAMも しくは R 0 Mからその命令が読み 出されたときに、 その命令を解読し、 その命令の実行を制御する。 解読された命令が図示しない R 0 Mまたは R AMに対するデータァ クセス命令であるときには、 メモリアクセス要求を記憶制御ュニッ ト 1 04にデ一夕バス 1 1 0、 アドレスバス 1 1 1、 図示しない制 御バスを使用して送る。 解読された命令が整数演算命令であるとき には、 命令処理回路 500内の整数演算回路 (図示せず) によりそ の命令が要求する演算を実行させる。 解読された命令が浮動小数点 演算命令であるときは、 その命令を F P U 1 06に送り、 このュニ ッ トによ りその命令を実行させる。 その命令が周辺入出力ュニッ ト 1 07を使用する命令であるときも同様にして、 その命令を周辺入 出力ュニッ 卜 1 07に送る。
図 4に示すように、 電源 · ク口ック制御ュニヅ 卜 1 0 1内の消費 電力制御回路 1 02は、 電力制御マップメモリ 600を有する。 本 メモリは、 電源 · クロック切り換え信号 1 1 3 a〜 1 13 dを生成 する情報を含む電力制御マップを記憶する回路であり、 本実施の形 態では、 この回路は R OMで構成される。 この ROMは、 動作環境 制御信号 E N V ( 1 1 2 ) が採りうる複数の値をァ ドレスとする複 数の記憶位置の各々に、 それぞれの動作環境制御信号 E NV ( 1 1 2 ) の値に対応する一組の電源 ' クロック切り換え信号 1 1 3 a〜 1 13 dを記憶する。 電源 ' クロック切り換え信号 1 1 3 a〜 1 1 3 dはそれぞれ記憶制御ユニッ ト 1 04、 CPU 1 0 5、 F PU 1 0 6、 周辺入出力ユニッ ト 1 07に供給される電源 , クロック切り 換え信号である。 なお、 電力制御マップメモリ 600に代えて同じ P T
15
ような信号を生成できるゲ一ト回路を使用してもよい。
本実施の形態ではたとえば動作環境制御信号 ENV ( 1 1 2 ) を 2ビッ ト ( d 1、 d 0 ) とし、 電源 ' クロック切り換え信号 1 1 3 a〜 1 1 3 dの各々を 3ピッ ト (p、 c l、 c 0 ) とする。 図 5に 電力制御マップメモリ 600の内容を示す。 pビッ トは電源選択ピ ヅ トで、 pは電源電圧の選択を指示するためのビッ トで、 p= 0が 通常電源電圧 (VL) 、 p = 1が高い電源電圧 (VH) の選択を示 す。 また、 ( c 1 , c 0 ) は、 クロック選択ビッ トで、 以下のよう に、 使用するクロックの選択を指示する。
( c l、 c 0) = ( 0、 0) 中間速クロック CLK一 b
( c l、 c 0) 二 (0、 1) 低速クロック CLK一 c
( c l、 c 0 ) = ( 1、 0) 最高速クロック CLK一 a なお ( c l、 c O) = ( l、 1 ) は使用されない。
本実施の形態では、 次の 4つの動作モードを使用する。
( A) 全機能ュニッ ト : 定常動作
ここでは図 1のマイクロプロセッサの全機能ュニッ トは、 定常動 作状態では中間速のクロック C L K— bと低い電源電圧 V Lで駆動 されると仮定する。 このときには、 ( d 1、 d 0 ) = ( 0、 0 ) で ある。 このモードでは図 5から分かるように、 電源 ' クロック切り 換え信号 1 1 3 a〜 cはいずれも ( 0、 0、 0 ) となる。 この動作 モードは、 マイクロプロセッサを電源オンしたときまたは、 下記の モ一ドの動作が終了し、 このモードを使用することを指定する動作 環境変更命令が実行されたときに使用される。
このときのマイクロプロセッサ全体の限界消費電力は、 パッケ一 ジ、 冷却条件などから決定され、 マイクロプロセッサを構成する機 能ュニッ トをどのように動作させるかに拘わらず、 マイクロプロセ ッサ全体の消費電力がこの限界消費電力を越えないように、 マイク 口プロセッサを設計する必要がある。 以下では簡単化のために、 供 給するクロックと電源電圧を切り替える機能ュニッ ト 1 04〜 1 0 7における消費電力のみを議論する。 これらのュニッ トにおける消 費電力あるいはこれらのュニッ 卜に対する限界消費電力をあたかも マイクロプロセッサ全体の消費電力あるいはマイクロプロセッサ全 体に対する限界消費電力として議論する。
このモードの時のマイクロプロセッサの消費電力 Pは、 図 6の区 間 Aに示すように、 図に点線で示す限界消費電力を越えないように 定められている。 たとえば、 マイクロプロセッサの限界消費電力は 2. 1 wattで、 低い電源電圧 V L = 2. 0 v、 中間速クロック C LK— bは 200 MHzで、 この定常動作時の消費電力はたとえば 2. 0 wattであると仮定する。 記憶制御ュニッ ト 1 04、 CPU 1 0 5、 FPU 1 06、 周辺入出力ユニッ ト 1 0 7が定常動作状態で消 費する消費電力の割合をそれぞれ 0. 1 5, 0. 3, 0. 3, 0. 2 5と仮定する。 すなわち、 定常動作状態では、 これらの機能ュニ ヅ トでの消費電力はそれぞれ 0. 3 , 0. 6 , 0. 6, 0. 5 wattである。
(B) F PU :高速動作
ここでは FPU 1 05と記憶制御ュニ ヅ ト 1 04に最高速のク ロック CLK— aと高い電源電圧 V Hを供給し、 これらの機能ュニ ッ トを高速動作させる。 CPU 1 0 5と周辺入出力ュニ ヅ ト 1 07 には低速のクロック C L K— cと低い電源電圧 V Lを供給し、 低速 動作をさせる。
このときには、 (d l、 d O) = ( 0、 1 ) である。 このモード では図 5から分かるように、 記憶制御ュニ ヅ ト 1 04と FPU 1 0 6に対する電源 ' クロック切り換え信号 1 1 3 a、 1 1 3 cがいず れも ( 1、 1、 0) となる。 C P U 1 0 5に対する電源 · クロック 切り換え信号 1 1 3 bと周辺入出力ュニッ ト 1 07に対する電源 · ク口ヅク切り換え信号 1 1 3 dは ( 0、 0、 1 ) となる。
このモードは、 たとえば CPU 1 05が実行するプログラム部分 の命令の多くが、 F P U 1 0 6を使用する命令であるときに使用さ れる。 このモードでは、 CPU 1 05と周辺入出力ユニッ ト 1 07 が使用するクロックを低いクロックに変更した結果、 これらの機能 ュニッ 卜の動作速度が遅くなるが、 そのことがプログラムの処理速 度に影響がなければ、 この後者の機能ユニッ トの動作速度の低下は 問題にならない。 逆に、 そのように動作速度の低下がプログラムの 処理速度に影響を実質的に与えないような機能ュニッ トを選ぶ必要 があり、 このような選択はプログラムによっては可能である。 元々 F P U 1 06の性能向上を行なう必要があるプログラム部分を実行 する場合、 そのプログラム部分による CPU 1 05の使用頻度は低 く、 したがって、 C P U 1 0 5の回路の活性化率は低い。 したがつ て、 C P U 1 05の低速動作は、 このこれらのマイクロプロセッサ 全体の処理性能へ大きな影響を与えないと考えられる。
図 1の場合、 後に説明するように、 いずれかの機能ユニッ トのク ロックを変化させるときには、 C P U 1 0 5が実行するプログラム の中に、 特定の命令を含ませ、 C P U 1 0 5がこの命令を解読した ときに、 上記クロックの変更が行われる。
このモードで、 記憶制御ュニッ ト 1 04も高速動作させるのは、 これらの命令をより高速に図示しない RAMまたは ROMもしくは 記憶制御ュニッ ト 1 04内の図示しないキャッシュメモリより高速 に読み出し、 さらにそれらの命令が使用するデ一夕を RAMまたは R OMもしくは図示しないキャッシュメモリから高速に読み出すか あるいはその命令の実行結果データをそれらのメモリに高速に書き 込むためである。
定常動作モードからこのモードに変更するときには、 F P U 1 0 6のクロックの周波数と電源電圧が定常モードの時のそれらよ り増 大することになる。 この結果生じる F P U 1 0 6の性能 Sは、 図 6 の区間 Bに示すように、 最高の性能となる。 一方、 C P U 1 0 5と 周辺入出力ュニッ ト 1 0 7に供給するクロックの周波数が下げられ る。 このように、 定常動作モ一ドより、 F P U 1 0 6を高速に動作 させる場合、 F P U 1 0 6を高速動作させたことにより生じる消費 電力の増加を、 C P U 1 0 5と周辺入出力ユニッ ト 1 0 7を低速動 作をさせることにより償っていると言える。
本実施の形態では、 C P U 1 0 5と周辺入出力ュニ ヅ ト 1 0 7が 使用する電源電圧は下げないで、 C P U 1 0 5と周辺入出力ュニッ ト 1 0 7が使用するクロックを、 動作環境変更前に使用していた通 常のクロック C L K一 bから低速のクロック 1 1 5 cに切り換える ことで、 C P U 1 0 5と周辺入出力ユニッ ト 1 0 7の低消費電力化 を達成する。 これによりマイクロプロセッサ全体としての消費電力 が、 限界電力を超えないようにする。
したがって、 最高速クロック C L K— a、 低速クロック C L K— cの周波数は、 クロック C L K一 bに代えてクロック C L K— cを 使用する機能ュニ ヅ トにおける消費電力の低下が、 クロ ック C L K — bに代えてクロック C L K— aを使用する機能ュニ ヅ トでの消費 電力の増大を償うことが出来るように定める。
たとえば、 最高速クロック C L K— aは 2 5 0 MHz、 低速ク口ッ ク C L K一 cは 5 0 MHz, 高い電源電圧 V Hは 2. 5 vと仮定する。 この動作モードでは、 記憶制御ュニッ ト 1 0 4の消費電力は 0. 5 8 5 watt, F P U 1 0 6での消費電力は 1 . 7 5 8 watt, C P U 1 0 5の消費電力は 0. 1 5 watt, 周辺入出力ュニッ ト 1 0 7の 消費電力は 0. 1 2 5 wattとなり、 これらの合計は、 2. 0 3 wattとなる。 したがって、 この動作モードでも、 図 6の区間 Bに 示すように、 マイクロプロセッサの消費電力は、 上記定常動作時の 消費電力 2. 0 wattより少し増大するが、 限界消費電力 2. 1 wattよりは小さ く抑えられる。
( C ) C P U : 高速動作
ここでは C P U 1 0 5 と記憶制御ュニッ ト 1 0 4に最高速のクロ ヅク C L K _ aと高い電源電圧 VHを供給し、 これらの機能ュニッ トを高速動作させる。 F P U 1 0 6 と周辺入出力ュニヅ ト 1 0 7に は低速のクロック C L K _ c と低い電源電圧 V Lを供給し、 低速動 作をさせ、 る。
このときには、 ( d l、 d 0 ) = ( l、 0 ) である。 このモード では図 5から分かるように、 記憶制御ュニッ ト 1 0 4 と C P U 1 0 5に対する電源 · クロヅク切り換え信号 1 1 3 a、 1 1 3 cがいず れも ( 1、 1、 0 ) となる。 F P U 1 0 6 と周辺入出力ユニッ ト 1 0 7に対する電源 · クロヅク切り換え信号 1 1 3 cは ( 0、 0、 1 ) となる。
したがって、 定常動作モードからこのモードに変更するときには、 C P U 1 0 5のクロックの周波数と電源電圧が定常モードの時のそ れらより増大することになる。 それに伴い F P U 1 0 6 と周辺入出 力ュニッ ト 1 0 7のクロックの周波数が下げられるのは F P Uを高 速に動作させる前述の動作モードの場合と同じである。
したがって、 本実施の形態は、 ある機能ユニッ トを定常動作状態 より高速に動作させるときに、 他の機能ュニッ トに定常動作状態よ りも低速な動作をさせる考えることができる。 また、 FPUを高速 に動作させる前述の動作モードから、 本動作モードに変更した場合 には、 C P U 1 0 5のクロックの周波数が増大された。 したがって、 本実施の形態は、 このような場合には他の機能ユニッ トたとえば F PU 1 06のクロックの周波数を下げたと考えることもできる。 ま た、 F P Uを高速に動作させる前述の動作モー ドから、 本動作モー ドに変更した場合には、 CPU 1 05に供給するクロックを最高速 クロックに変化し、 そこに供給される電源電圧が最大電源電圧に変 化されたことになる。 したがって、 本実施の形態は、 このような場 合に、 最高速のクロックと最大電源電圧をすでに供給されている他 の機能ュニッ ト、 たとえば FPU 1 0 6のクロックの周波数と電源 電圧をより低速のクロックとより低い電源電圧に変化したと考える こともできる。
このモードは、 たとえば CPU 1 0 5が実行するプログラム部分 の命令の多くが、 CPU 1 0 5内の図示しない整数演算回路を使用 する命令であるときに使用される。 CPU 1 0 5を高速動作させた ことにより生じる消費電力の増加を、 F P U 1 06を低速動作をさ せることによ り償っている。 このモードは、 このモードを指定する 動作環境変更命令が実行されたときに使用される。 このモードで、 記憶制御ュニッ ト 1 04も高速動作させる理由は、 モ一 ド Bの場合 と同じである。
(D) 全機能ュニッ ト : 省電力動作
ここでは、 全ての機能ュニッ トを低速クロック C L K— cと低い 電源電圧 VLで動作させる。 このときには、 (d l、 d 0 ) = ( 1、 1 ) である。 このモー ドでは図 5から分かるように、 電源 ' クロ ヅ ク切り換え信号 1 1 3 a〜 cはいずれも (0、 0、 1 ) となる。 こ のモードは、 たとえば実行中のプログラムが CPU 1 05、 FPU 1 0 6での処理をそれほど必要としないとき、 たとえば、 外部から のデータの入力待ちのときに使用される。 このモードも、 このモー ドを指定する動作環境変更命令が実行されたときに使用される。 な お、 この省電力動作モードから、 他の動作モードに動作モードが変 更するときには、 省電力モードの時より高速に動作させられる機能 ュニヅ トはあるが、 いずれの機能ュニッ 卜の動作も低速になること はない。 したがって、 この時には本発明は適用されていない。 これ は、 省電力動作モードは、 消費電力が最小の動作モードであり、 動 作モー ドを他のいずれの動作モ一ドに変更しても、 いずれかの機能 ュニッ 卜の消費電力を低減する必要がないからである。 このような 動作モードの変更には本発明を適用しなくてよいのは当然である。 機能ュニッ ト 1 04〜 1 0 7は、 電源 ' クロック切り換え信号 1 1 3 a~ 1 1 3 dに応答するために以下のように構成されている。 図 7に示すように、 F P U 1 06には、 浮動小数点演算を実行す る浮動小数点演算回路 400の他に、 クロック切り換え回路 402 と電源切り換え回路 40 1とが新たに設けられている。
クロック切り換え回路 40 2は、 消費電力制御回路 1 02から供 給される電源 ' クロック切り換え信号 1 1 3 cに応答して、 クロッ ク分配回路 1 03から線 1 1 5 a〜 1 1 5 cを介して供給される 3 つのクロック C L K— a〜クロック C LK一 cの内、 このュニッ ト が使用する 1つのクロックを選択する。 クロック切り換え回路 40 2は、 たとえば図 8に示すように、 3つのクロック 1 1 5 a〜 1 1 5 cの選択を行なうための ANDゲート 1 1 00、 1 1 0 1、 1 1 02、 ORゲート 1 1 04及び NANDゲート 1 1 03から成る。 3ビッ トの電源 · クロック切り換え信号 1 1 3 cの内の 2ビヅ ト ( c 1、 c 0 ) がそれぞれ ( 0、 0 ) 、 ( 0、 1 ) 、 ( 1、 0 ) で あるときに、 中間即クロック C LK— b、 低速クロック C LK一 c、 最高速クロック C LK— aを選択し、 線 40 5を介して F PU 1 0 6内の浮動小数点演算回路 400に供給する。
電源切り換え回路 40 1は、 電源 · クロック切り換え信号 1 1 3 cに応答して、 電源配線 1 1 6 a、 1 1 6 bを介して供給される 2 つの電源電圧 VH、 VLの内、 このユニッ ト 1 06が使用する電源 電圧を選択する。 電源切り換え回路 40 1は、 たとえば図 9に示す ように、 2つの電源 VH、 VLを切り換えるための MO Sスィ ッチ 1 000、 1 00 1と、 これらを駆動するバッファ回路 1 002、 1 003から成り、 3ビッ トの電源 · クロック切り換え信号 1 1 3 cの内の pビッ トが 0または 1のときにそれぞれ電源電圧 V L、 V Hを選択する。 選ばれた電源電圧は電源配線 404により F PU 1 0 6内の浮動小数点演算回路 400に電源を供給する。
電源切り換え回路 40 1とクロック切り換え回路 402は、 いず れも F PU 1 0 6内に設けられ、 その内部の浮動小数点演算回路 4 0 0に電源電圧とクロックを供給するが、 これらの回路は、 実質的 に F P U 1 06に電源電圧とクロックを供給すると考えることが出 来る。 また、 これらの回路 40 1、 402は FPU 1 06の外に設 けられていても良い。 したがって、 本明細書では、 これらの回路が、 F P U 1 06に電源電圧とクロックを供給する回路である呼ぶこと がある。 このことは他の機能ュニッ 卜についても同じである。
図 3に示したように、 C P U 1 0 5には、 命令処理回路 500の 他に、 電源切り換え回路 50 1とクロック切り換え回路 502が設 けられている。 これらの回路 50 1、 50 2は、 図 9、 8に示した 電源切り換え回路 40 1とクロック切り換え回路 402と同じ回路 であり、 電源 ' クロック切り換え信号 1 1 3 bに応答する。 記憶制 御ュニッ ト 1 04にも、 FPU 1 0 6内のクロック切り換え回路 4 0 2と電源切り換え回路 40 1と同じ構造を有し、 電源 · クロック 切り換え信号 1 1 3 dに応答する回路 (図示せず) が設けられる。 周辺入出力ュニッ ト 1 07にも FPU 1 0 6内のクロック切り換え 回路 40 2と電源切り換え回路 40 1と同じ構造を有し、 電源 · ク ロック切り換え信号 1 1 3 aに応答する回路 (図示せず) が設けら れる。
マイクロプロセッサ 1 2 00への給電は、 たとえば図 1 0に示す ように、 外部より 2つの電源電圧 V H、 V Lを電源配線 1 1 6 a、 1 1 6 bを介して直接各機能ュニッ ト 1 0 1、 1 04〜: L 07に供 給すればよい。 また、 図 1 1に示すように、 マイクロプロセッサ 1 20 1に、 外部より一つの電源電圧たとえば VHを供給し、 変圧回 路 1 2 0 2により他の電源電圧 V Lを発生させてもよい。
本実施の形態によれば、 プログラムによ り特定の機能ュニッ 卜た とえば浮動小数点演算ュニッ 卜に高速性能が要求されたときに、 そ の機能ュニヅ 卜に供給するクロヅクの周波数を高め、 それにより、 その機能ュニッ トをより高性能に動作させる。 一方、 この高性能動 作によって生じる消費電力の増加を他の機能ュニッ 卜に供給するク 口ックの周波数を低減することによ り償い、 マイクロプロセッサ全 体の消費電力は、 予め設定した消費電力を越えないようにしている。
<発明の実施の形態 2 >
本実施の形態では消費電力制御回路 1 02内の電力制御マップメ モリ 6 0 0が RAMにより構成され、 これにより電力制御マップメ モリ 6 0 0内の制御情報がソフ トウェアによ り更新でき、 多様な制 御を可能となる。
図 1 2に示すように、 R AMによ り構成された電力制御マップメ モリ 6 00の手前にマルチプレクサ 1 30 0が配置される。 CPU 1 0 5が実行するプログラム内に、 電力制御マップメモリ 6 00を 書き換える命令を設け、 CPU 1 0 5内に、 この命令を解読し、 ソ ース選択信号 1 3 02を生成し、 この命令が指定するマップア ドレ ス 1 3 0 1とマツプ更新データ 1 303を出力する回路を設ける。 マルチプレクサ 1 300は、 ソース選択信号 1 30 2が供給され ないときには、 実施の形態 1と同じように、 動作環境制御信号 EN V ( 1 1 2 ) を選択して電力制御マップメモリ 600から一組の電 源 · クロック切り換え信号 1 1 3 a〜 l 1 3 dを読み出す。 ソース 選択信号 1 302が供給されたときには、 マルチプレクサ 1 300 は、 マップア ドレス 1 30 1を選択し、 電力制御マヅプメモリ 60 0に書き込みア ドレスとして供給し、 マップ更新デ一夕 1 303の 書き込みを指示する。 こう して、 電力制御マップメモリ 6 00プロ グラムによ り所望の内容に書き換えることができる。
く発明の実施の形態 3 >
以上の実施の形態で示したマイクロプロセッサは、 汎用のマイク 口プロセッサであつたが、 とく にマルチメディア向けのマイ クロプ 口セッサでは、 F PUに代えて、 グラフィ ックスや画像処理のよう な特殊な処理を実行する一つまたは複数の機能ュニッ トが使用され る。 これらの機能ユニッ トを高速に動作させるために、 以上に説明 した技術が適用できる。 これらの特殊な処理は一般に処理時間が長 い。 したがって、 それそれの処理を実行する間、 それそれの処理を 実行する機能ュニッ 卜を高速に動作させることがマイクロプロセッ ザの処理速度の向上に有効である。 それでいて、 マイクロプロセ ヅ サ全体の消費電力を限界消費電力以下に抑えることが出来る。
<変形例 >
以上のいくつかの実施の形態の変形例がいくつかすでに以上の説 明の中に記載された。 また、 以下にはいくつかの他の変形例を記載 する。 本発明は、 以上の実施の形態に限られるのではなく、 これら の変形例および他の変形例を含むいろいろの変形例によっても実現 可能であることはいうまでもない。
( 1 ) 実施の形態 1では周辺入出力ュニッ ト 1 0 7は定常動作か省 電力動作しかしなかった。 しかし、 このユニッ トに高速動作をさせ ることもできる。 たとえば、 この周辺入出力ュニッ ト 1 0 7 として モデム用の周辺入出力ュニッ トを使用するときには、 この機能ュニ ッ トを高速動作させることが望ましいことがある。
( 2 ) 実施の形態 1では、 クロック生成回路 1 0 3が全機能ュニッ トに共通に設けられ、 全機能ュニッ 卜に複数のクロックを複数の共 通のクロック線を介して同時に供給している。 各機能ュニッ ト内に クロ ック切り換え回路が設けられた。 しかし、 これに代えて電源 ' クロック制御ュニッ ト内に各機能ュニッ ト用のクロック切り換え回 路を設け、 ここで各機能ュニッ トに供給すべきクロックを選択させ、 選択されたクロックを、 その機能ュニッ ト用に設けられたクロック 線を介して供給することもできる。 あるいは複数の機能ュニッ 卜に 設けた共通のクロック切り換え回路によ り、 それそれの機能ュニッ ト用のクロックを別々に出力させることもできる。 このような構造 の回路も、 本発明では、 各機能ユニッ ト毎に、 クロックを切り換え る回路と考える。
実施の形態 1では、 全機能ュニッ 卜に全クロ ックを供給する信号 線を使用したが、 本変形例では、 各機能ユニッ トに対応して一つの クロック信号線のみを使用すればよい。 したがって、 クロック信号 線が占めるチップ面積は少なくできる可能性がある。
同様に、 実施の形態 1では、 全機能ユニッ トに複数の電源電圧が 複数の共通の電源配線を介して同時に供給し、 各機能ュニッ トに電 源切り換え回路を設けている。 これに代えて、 上記クロック切り換 え回路の変形例と同様に電源電圧の切り換え回路を構成できる。 本 発明では、 このような構造の電源切り換え回路も、 各機能ユニッ ト 毎に電源電圧を切り換える回路と考える。
電源切り換え回路は、 大電流の切替を必要とするので、 他の回路 に供給する電源電圧が変動する恐れがある。 したがって、 この回路 を、 各機能ユニッ トの外部、 とくにチップ周辺部に設ける方が望ま しいことがある。 同様に、 クロック切り替え回路も各機能ュニッ ト の外部と くにチップ周辺部に設けることが望ましい場合もある。 ( 3 ) 実施の形態 1では、 定常動作時には全機能ュニッ 卜が同じク ロックと同じ電源電圧でもって動作した。 しかし、 本発明は、 この 場合に限らず、 定常動作の時に、 いずれかの機能ユニッ トに供給さ れるクロックあるいはクロックと電源電圧が他の機能ュニッ 卜に供 給されるクロックあるいはクロックと電源電圧とは異なっていても よい。
すなわち、 定常動作の時に、 いずれかの機能ユニッ トに供給され るクロ ックが他の機能ュニッ トに供給されるクロックよ り低速のク ロックであってもよい。 たとえば、 定常動作時には F P U 1 0 6あ るいは周辺入出力ュニッ ト 1 0 7のみ低速クロック C L K— cを供 給し、 省電力動作を実行させ、 他の機能ユニッ トには中間即のクロ ック C L K一 bと低い電源電圧 V Lを供給しても良い。 このときに、 F P U 1 0 6を中間速クロック C L K— bまたは最高速クロック C L K一 aで動作させるときに、 他の機能ュニヅ トたとえば C P U 1 05に供給するクロックをよ り低速のクロック C LK— cに変更す ればよい。
また、 定常動作の時に、 いずれかの機能ユニッ トに供給されるク ロックが他の機能ュニッ トに供給されるクロックより高速のク口ヅ クが供給されてもよい。 たとえば、 定常動作時には CPU 1 05の みに最高速クロック C L K一 aと最高電源電圧 VHを供給し、 高速 動作を実行させ、 他の機能ユニッ トには、 中間即のクロック CLK 一 bと低い電源電圧 VLを供給しても良い。 このときに、 FPU 1 06を最高速クロック C L K— aと最高電源電圧 V Hで動作させる ときには、 たとえば CPU 1 05に供給するクロックをより低速の クロック CLK— bまたはクロヅク CLK— cに変更すればよい。 ( 4 ) 本発明は実施の形態 1で使用した 3つクロヅクより多いクロ ックを使用する場合にも適用できるのは言うまでもない。 さらに、 本発明は実施の形態 1で使用した 2つ電源電圧より多い電源電圧を 使用する場合にも適用できるのは言うまでもない。 しかし、 この場 合でも、 いずれかの機能ュニッ トに最高速クロック使用するときに は、 最大電源電圧を使用し、 最大の電源電圧より小さい電源電圧を 使用するときには、 最高速クロックより低速のクロック使用する。 ( 5 ) 実施の形態 1では、 いずれかの機能ユニッ トを定常動作状態 から最高速動作状態に変更する場合に、 本発明に従って、 他の機能 ユニッ トの動作速度を低減した。 しかし、 より多数のクロックと電 源電圧が使用される場合において、 いずれかの機能ュニッ 卜のクロ ックを最高速でないクロックからそれよ り高速であるが最高速でな いクロックに変更する場合において、 最高速のクロックより低速の クロックが供給されている他の機能ュニヅ 卜のクロックを、 より低 速のクロックに変更し、 それによりマイクロプロセッサ全体の消費 電力が限界消費電力を超えないようにすることもできる。
( 6 ) 以上の実施の形態では、 省電力動作では、 各機能ユニッ トに は定常動作時と同じ電源電圧を与え、 クロックのみをよ り低速のク ロックに変更した。 しかし、 この場合、 電源電圧として、 省電力用 の電源電圧を用意し、 これを省電力動作をさせる機能ュニッ 卜に供 給することもできる。 この方法を採れば、 省電力動作する各機能ュ ニッ 卜の消費電力はさらに低減される。
( 7 ) 本発明は実施の形態 1で用いた 4つの動作モードと異なる複 数の動作モ一ドを使用する場合にもあるいはこれらの 4つの動作モ 一ドに他の動作モ一ドを追加する場合にも適用できるのは言うまで もない。
( 8 ) 実施の形態 1では各機能ュニッ 卜が一つの回路ブロックによ り実現されているマイクロプロセッサの例であるが、 本発明は、 よ り一般には複数の回路プロックに区分されているマイクロプロセッ ザに適用できる。 また、 一つの回路ブロックの全体が同じクロック と同じ電源電圧で駆動される必要はなく、 その一部が他と異なるク ロックと電源電圧で駆動されてもよい。
( 9 ) 実施の形態 1では、 いずれかの機能ュニッ トに供給するクロ ックを中間速クロック C L K—わから低速クロック C L K— cに変 更するときは、 電源電圧は低い電源電圧 V Lのままとした。 しかし、 これに代えて、 低速クロック用のさらに低い電源電圧を用意し、 低 速クロック C L K— cを使用するときに、 電源電圧をこのさらに低 い電源電圧に変更することもできる。 この方法では、 低速クロック C L K— cを供給された回路ブロックの消費電力はさらに低減でき る利点がある。 但し、 実施の形態 1 よりも必要な電源配線の数が増 大する。 また、 各回路ブロックへ供給する電源電圧の切り替え回数 が増大する。
( 1 0 ) 本発明は CMO Sからなるマイクロプロセッサに限定され るのではなく、 他の種類の回路たとえば B i CMO S回路からなる マイクロプロセッサにも適用できるのは言うまでもない。
( 1 1 ) 実施の形態 1では、 定常動作状態では、 全機能ユニッ トに 低い電源電圧 V Lと中間速クロック C L K一 bを供給し、 いずれか の機能ュニヅ トを最高速で動作させたいときに、 その機能ュニッ ト に最高速クロック C L K— aと最大電源電圧 V Hとを供給した。 し かし、 低い電源電圧は使用しないで、 定常動作状態では、 全機能ュ ニッ トに高い電源電圧 VHと、 中間速クロック CLK一 bを供給す る方法も考えられる。
( 1 2) 実施の形態 1では、 図示しない RAM、 ROMという特定 の回路ブロックに供給するクロックと電源電圧は常に一定の周波数 と電圧を有していた。 本発明は、 このように一部の回路ブロックに 供給されるク口ックの周波数が変化されない場合でも、 他の複数の 回路ブロックに供給されるクロックの周波数がそれぞれの回路プロ ックごとに変更される場合にも適用できる。 もちろん全ての回路ブ ロヅクについて、 それぞれに供給するクロックの周波数が変更され る場合にも本発明は適用できる。 同様に、 いずれかの回路ブロック に供給されるクロックの周波数が、 他のいずれかの回路プロックに 供給されるクロックの周波数とは同一であるという条件を満たしな がら変更される場合にも本発明は適用できる。 本発明では、 マイク 口プロセッサ内の全ての回路ブロックの内の少なく とも複数の回路 ブロックに供給するクロックをそれぞれの回路ブロックごとに変更 するクロック供給回路を使用すればよい。 言い換えると、 このよう に一部の回路プロックに供給するクロックの周波数をそれぞれの回 路ブロックごとに変更するクロック供給回路を使用する限り、 その クロック供給回路は、 マイクロプロセヅサ内の複数の回路プロック 毎に、 異なる周波数のクロックを切り替えて供給する回路と考える ことができる。 以上のことは電源電圧供給回路についても同じであ り、 一部の回路ブロックに供給する電源電圧の値をそれぞれの回路 プロックごとに変更する電源電圧供給回路を使用する限り、 その電 源電圧供給回路は、 マイクロプロセッサ内の複数の回路プロック毎 に、 異なる値の電源電圧を切り替えて供給する回路と考えることが できる。
以上に詳述したごとく、 本発明によれば、 特定の回路ブロックを 高速で動作でき、 それでいてマイクロプロセッサ全体の消費電力が 一定の限界消費電力を超えないマイクロプロセッサが得られる。

Claims

請 求 の 範 囲
1 . 複数の回路プロックと、
各回路ブロックに値が異なる複数の電源電圧を切り換えて供給す るための電源供給回路と、
各回路ブロ ックに周波数が異なる複数のクロックを切り換えて供 給するためのクロック供給回路と、
上記電源供給回路と上記クロック供給回路に、 各回路プロックに 供給するク口ックの切り換えとその回路ブロ ックに供給する電源電 圧の切り替えを指示する制御回路とを有し、
上記複数のクロックの内の最大周波数を有する最高速クロックは、 上記複数の電源電圧の内の最大電源電圧が供給された回路プロック で使用可能であり、
上記最高速クロックょり低速のいずれかのク口ックは、 上記最大 電源電圧より低いいずれかの電源電圧が供給された回路プロックで も使用可能であり、
上記制御回路は、 いずれかの回路ブロックに上記最高速クロック と上記最大電源電圧を供給したときには、 少なく とも一つの他の回 路ブロックには、 上記最高速クロックよ り低速のいずれかのク口ッ クと上記最大電源電圧より低い電源電圧を供給するマイクロプロセ ッサ。
2 . 上記制御回路は、 上記複数の回路ブロックの内、 少なく とも 一つの回路ブロ ックに供給するクロックを、 その回路ブロックにそ れまで供給していたクロックより高速のクロックへの切り替えるの を上記クロ ック供給回路に指示するときには、 他の少なく とも一つ の回路ブロ ックに供給するクロックを、 その回路ブロックにそれま で供給していたクロックよりも低速のクロックへ切り替えるように、 上記クロック供給回路に指示する請求の範囲 1記載のマイクロプロ セッサ。
3 . 上記制御回路は、 上記他の一つの回路ブロックに供給するク 口ックを上記よ り低速のクロックに切り替えるときには、 その切り 替え前に上記他の一つの回路ブロックに供給していた電源電圧を、 上記クロックの切り替え後も引き続き上記他の一つの回路ブロック に供給させるように上記電源供給回路を制御する請求の範囲第 2項 記載のマイクロプロセッサ。
4 . 上記制御回路は、 上記他の一つの回路ブロックに供給するク ロックを上記よ り低速のクロ ックに切り替えるときには、 上記他の 一つの回路ブロックに供給する電源電圧を、 その切り替え前に上記 他の一つの回路ブロックに供給していた電源電圧より低い電源電圧 に切り替えることを上記電源供給回路に指示する請求の範囲第 2項 記載のマイクロプロセッサ。
5 . 上記制御回路は、 上記他の少なく とも一つの回路ブロックに 供給するクロックを上記より低速のクロックへ切り替えるとの上記 指示を、 上記一つの回路ブロ ックに供給すべき上記よ り高速なクロ ックが、 定常動作状態でその回路プロックに供給されるクロックよ り高速のクロックであるときに実行し、
上記他の少なく とも一つの回路ブロ ックに供給すべき上記よ り低 速のクロックは、 定常動作状態で上記他の一つの回路ブロックに供 給されるクロックよ り低速なクロックである請求の範囲第 2項記載 のマイクロプロセッサ。
6 . 上記制御回路は、 定常動作状態では、 上記複数の回路ブロッ クに、 上記最高速クロックより低速のクロ ックと上記最大電源電圧 よ り低い電源電圧を供給するように上記クロ ック供給回路と上記鼋 訂正された用紙 (規則 91 ) 源供給回路を制御し、
上記複数の回路プロックの一つが上記より高速なクロックが供給 される上記一つの回路ブロックとして使用可能であり、
上記複数の回路プロックの一つが、 上記より低速なクロックが供 給される上記他の一つの回路プロックとして使用可能である請求の 範囲第 5項記載のマイクロプロセッサ。
7 . 上記制御回路は、 定常動作状態では、 上記複数の回路ブロッ クの内の少なく とも一つに、 上記最高速のクロックと上記最大電源 電圧を供給し、 上記複数の回路ブロックの内の少なく とも一つには 上記最高速クロックより低速のクロックと上記最大電源電圧より低 い電源電圧を供給するように上記クロック供給回路と上記電源供給 回路を制御し、
定常動作状態で上記最高速クロックょり低速のクロックが供給さ れる上記少なく とも一つの他の回路プロックが、 上記より高速なク ロックが供給される上記一つの回路プロックとして使用可能であり、 定常動作時に上記最高速のクロックが供給される上記少なく とも 一つの他の回路プロックが、 上記よ り低速なクロックが供給される 上記他の一つの回路プロックとして使用可能である請求の範囲第 5 項記載のマイクロプロセッサ。
8 . 上記制御回路は、 上記他の一つの回路ブロックに供給するク ロックを上記より低速のクロックに切り替えるときには、 定常動作 時に上記他の一つの回路プロックに供給していた電源電圧を、 上記 クロックの切り替え後も引き続き上記他の一つの回路ブロックに供 給させるように上記電源供給回路を制御する請求の範囲第 5項記載 のマイクロプロセッサ。
9 . 上記制御回路は、 上記他の一つの回路ブロックに供給するク ロックを上記より低速のクロックに切り替えるときには、 上記他の 一つの回路ブロックに供給する電源電圧を、 定常動作時に上記他の 一つの回路プロックに供給していた電源電圧よ り低い電源電圧に切 り替えることを上記電源供給回路に指示する請求の範囲第 5項記載 のマイクロプロセッサ。
1 0 . 上記制御回路は、 上記より低速のクロックへの切り替えの 指示を、 上記一つの回路プロックに供給すべき上記より高速なクロ ックが上記最高速クロックであるときに実行する請求の範囲第 2項 記載のマイ クロプロセッサ。
1 1 . 上記制御回路は、 上記他の一つの回路ブロックに供給する クロックを上記よ り低速のクロックに切り替えるときには、 その切 り替え前に上記他の一つの回路プロックに供給していた電源電圧を、 上記クロックの切り替え後も引き続き上記他の一つの回路プロック に供給させるように上記電源供給回路を制御する請求の範囲第 1 0 項記載のマイクロプロセッサ。
1 2 . 上記制御回路は、 上記他の一つの回路ブロックに供給する クロックを上記より低速のクロックに切り替えるときには、 上記他 の一つの回路ブロックに供給する電源電圧を、 その切り替え前に上 記他の一つの回路プロックに供給していた電源電圧よ り低い電源電 圧に切り替えることを上記電源供給回路に指示する請求の範囲第 1 0項記載のマイクロプロセッサ。
1 3 . 上記制御回路は、 上記マイクロプロセッサで実行中のプロ グラム内に設けられた、 クロックと電源電圧を切り替えるための特 定の命令に応答して、 その命令が指定するクロックと電源電圧を切 り替えるための情報に基づいて、 上記複数の回路ブロックの内、 そ こに供給すべきクロックと電源電圧の少なく とも一方を切り替える べき少なく とも一つの回路ブロックと、 クロックと電源電圧の少な く とも一方の切り替え後の値を指示する変更信号を生成し、 その変 更信号を上記ク口ック供給回路と上記電源供給回路に供給する回路 を有する請求の範囲第 2項記載のマイクロプロセッサ。
1 4 . 上記変更信号は、 それぞれ上記複数の回路ブロックの一つ に供給すべきクロックと電源電圧を指示する一組の変更信号からな る請求の範囲第 1 3項記載のマイクロプロセッサ。
1 5 . 上記制御回路は、 複数組の変更信号を記憶するメモリ と、 上記特定の命令が指定する上記切り替えのための情報に基づいて 上記メモリから一組の変更信号を読み出し、 上記電源供給回路と上 記クロック供給回路に供給する回路とを有し、
各組の変更信号は、 それぞれ上記複数の回路プロックの一つに供 給すべきクロックと電源電圧を指示する一組の変更信号からなる請 求の範囲第 1 4項記載のマイクロプロセッサ。
1 6 . 上記メモリは電気的に書き換え可能なメモリからなり、 上記制御回路は、 特定の書き換え命令に応答して、 上記メモリに 記憶された上記複数組の更新信号を書き換える回路を有する請求の 範囲第 1 5項記載のマイクロプロセッサ。
1 7 . 上記クロック供給回路は、
上記複数の回路ブロックに共通に設けられ、 上記複数のクロック を発生するクロック発生回路と、
それぞれ一つの回路プロックに対応して設けられ、 それぞれ上記 クロック発生回路により発生された上記複数のクロックの一つを選 択し、 対応する回路プロックに供給するための複数のクロック切り 換え回路を有する請求の範囲第 2項記載のマイ クロプロセッサ。
1 8 . 上記クロック発生回路により発生された上記複数のクロッ クを上記複数の回路プロックに転送するための複数のクロック信号 線をさらに有し、
上記複数のクロック切り換え回路の各々は、 対応する回路プロッ ク内に設けられ、 上記複数のクロック信号線上の上記複数のクロッ クの一つを選択する回路からなる請求の範囲第 1 7項記載のマイク 口プロセッサ。
1 9 . 上記複数のクロック切り換え回路は、
上記複数の回路プロックの外部に位置し、 上記マイクロプロセッサ の周辺部に近い位置に設けられている請求の範囲第 1 7項記載のマ イク口プロセッサ。
2 0 . 上記電源供給回路は、
上記複数の回路プロックに共通に設けられ、 それぞれ上記複数の 電源電圧を供給するための複数の電源配線と、
それぞれ一つの回路プロックに対応して設けられ、 それぞれ上記 複数の電源配線上の複数の電源電圧の一つを選択し、 上記対応する 回路プロックに供給するための複数の電源切り替え回路とを有する 請求の範囲第 2項記載のマイクロプロセッサ。
2 1 . 上記複数の電源配線は、 上記複数の回路ブロックの近傍ま で延在し、
上記複数の電源切り替え回路は、 それぞれ対応する回路ブロック 内に設けられている請求の範囲第 2 0項記載のマイ クロプロセッサ。
2 2 . 上記複数の電源切り替え回路は、 上記複数の回路ブロック の外部に位置し、 上記マイクロプロセッサの周辺部に近い位置に設 けられている請求の範囲第 2 0項記載のマイクロプロセッサ。
2 3 . 上記複数の電源電圧を、 上記マイクロプロセッサの外部か ら上記複数の電源配線に供給する手段をさらに有する請求の範囲第 2 0項記載のマイクロプロセッサ。
2 4 . 電圧変換回路と、
上記複数の電源電圧の一つを上記マイクロプロセッサの外部から 上記電圧変換回路および上記複数の電源配線の一方に供給する手段 をさらに有し、
上記電圧変換回路は、 上記一つの電源電圧から上記複数の電源電 圧の内の他方の電源電圧を発生し、 上記複数の電源配線の内の他方 に供給する請求の範囲第 2 0項記載のマイクロプロセッサ。
2 5 . 複数の回路プロ ックと、
各回路ブロックに値が異なる複数の電源電圧を切り換えて供給す るための電源供給回路と、
各回路ブロックに周波数が異なる複数のクロックを切り換えて供 給するためのクロック供給回路と、
各回路ブロックに供給するクロックの切り換えとその回路プロッ クに供給する電源電圧の切り替えを一定の条件下で上記電源供給回 路と上記クロック供給回路に指示する制御回路とを有し、
上記制御回路は、 定常動作時には、 上記複数の回路ブロックの内 の所定の複数の回路プロックに、 上記複数のクロ ックの内の最大周 波数を有する最高速クロックよ り低速のクロ ックと上記最大電源電 圧よ り低い電源電圧を供給し、 その後上記所定の複数の回路ブロッ クの内、 最高速で動作させるベき少なく とも一つの回路プロックに 上記最高速クロックと上記最大電源電圧を供給するように上記電源 供給回路と上記クロック供給回路を制御するマイクロプロセッサ。
2 6 . 複数の回路プロックと、
各回路ブロックに値が異なる複数の電源電圧を切り換えて供給す るための電源供給回路と、 各回路ブロックに周波数が異なる複数のクロ ックを切り換えて供 給するためのクロック供給回路と、
上記電源供給回路と上記クロ ック供給回路に、 各回路プロックに 供給するクロックの切り換えとその回路ブロ ックに供給する電源電 圧の切り替えを一定の条件下で指示する制御回路とを有し、
上記制御回路は、
上記複数の回路プロックの内の第 1の回路ブロックに供給するク ロックと電源電圧より高速のクロックおよび高い電源電圧を、 上記 複数の回路プロックの内の第 2の回路ブロックに供給する第 1のモ ー ドと、 上記第 1のの回路ブロックに供給するクロックと電源電圧 と同じクロックおよび電源電圧を上記第 2の回路ブロックに供給す る第 2のモードと、 上記第 1の回路ブロックに供給するクロックと 電源電圧より低速のクロックおよび低い電源電圧を上記第 2の回路 ブロックに供給する第 3のモードを切り替えて上記クロック供給回 路と上記電源供給回路に指示可能であるマイクロプロセッサ。
2 7 . 上記第 1の回路プロックは、 中央処理ュニッ トを構成する ための回路プロ ックである請求の範囲第 2 6項記載のマイクロプロ セッサ。
2 8 . 上記第 2の回路ブロックは、 浮動小数点演算ユニッ トを構 成するための回路プロックである請求の範囲第 2 7項記載のマイク 口プロセッサ。
PCT/JP1998/002985 1998-07-02 1998-07-02 Microprocessor WO2000002118A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP1998/002985 WO2000002118A1 (en) 1998-07-02 1998-07-02 Microprocessor
JP2000558452A JP3857052B2 (ja) 1998-07-02 1998-07-02 マイクロプロセッサ
US09/719,835 US6789207B1 (en) 1998-07-02 1998-07-02 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/002985 WO2000002118A1 (en) 1998-07-02 1998-07-02 Microprocessor

Publications (1)

Publication Number Publication Date
WO2000002118A1 true WO2000002118A1 (en) 2000-01-13

Family

ID=14208546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/002985 WO2000002118A1 (en) 1998-07-02 1998-07-02 Microprocessor

Country Status (3)

Country Link
US (1) US6789207B1 (ja)
JP (1) JP3857052B2 (ja)
WO (1) WO2000002118A1 (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032218A (ja) * 2000-07-14 2002-01-31 Rikogaku Shinkokai マイクロプロセッサシステム
JP2002091637A (ja) * 2000-08-18 2002-03-29 Hynix Semiconductor Inc 低電力オーディオプロセッサ
GB2372601A (en) * 2000-12-01 2002-08-28 Sharp Kk Clock technologies for reducing power consumption of integrated circuits
JP2003099252A (ja) * 2001-09-26 2003-04-04 Pacific Design Kk データ処理装置およびその制御方法
WO2002017064A3 (en) * 2000-08-23 2003-10-09 Koninkl Philips Electronics Nv System and method for power management in a java accelerator environment
WO2004109485A2 (en) * 2003-06-10 2004-12-16 Koninklijke Philips Electronics N.V. Embedded computing system with reconfigurable power supply and/or clock frequency domains
JP2005502114A (ja) * 2001-08-29 2005-01-20 アナログ・デバイシズ・インコーポレーテッド 動的電圧制御方法および装置
JP2005115769A (ja) * 2003-10-09 2005-04-28 Nec Corp 情報処理装置
JP2006172059A (ja) * 2004-12-15 2006-06-29 Seiko Epson Corp 情報処理装置および情報処理方法
JP2006185259A (ja) * 2004-12-28 2006-07-13 Seiko Epson Corp 情報処理装置および情報処理方法
JP2006318513A (ja) * 2006-09-04 2006-11-24 Renesas Technology Corp 半導体装置
US7222244B2 (en) 2001-01-30 2007-05-22 Hitachi, Ltd. Semiconductor device including a prediction circuit to control a power status control circuit which controls the power status of a function circuit
JP2007251181A (ja) * 2007-03-26 2007-09-27 Nec Corp 半導体集積回路
JP2007286807A (ja) * 2006-04-14 2007-11-01 Seiko Epson Corp 情報処理装置及び情報処理方法
JP2007286673A (ja) * 2006-04-12 2007-11-01 Seiko Epson Corp 情報処理装置及び情報処理方法
US8046618B2 (en) 2007-12-07 2011-10-25 Sony Corporation Semiconductor chip operating with minimal power consumption
US9660616B2 (en) 2003-05-07 2017-05-23 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
US11320853B2 (en) 2016-03-14 2022-05-03 Sharp Nec Display Solutions, Ltd. Image transmission apparatus, image transmission system, and method of controlling image transmission apparatus

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003301A1 (en) * 2002-06-28 2004-01-01 Nguyen Don J. Methods and apparatus to control processor performance to regulate heat generation
GB2395625B (en) * 2002-11-20 2005-01-12 Toshiba Res Europ Ltd Reduced power consumption signal processing methods and apparatus
US6948017B2 (en) * 2002-12-18 2005-09-20 International Business Machines Corporation Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus
US7137021B2 (en) * 2003-05-15 2006-11-14 International Business Machines Corporation Power saving in FPU with gated power based on opcodes and data
US20050046400A1 (en) * 2003-05-21 2005-03-03 Efraim Rotem Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
JP4341594B2 (ja) * 2005-06-30 2009-10-07 セイコーエプソン株式会社 情報処理装置及び電力制御方法をコンピュータに実行させるためのプログラム
US7562245B1 (en) * 2006-06-09 2009-07-14 Vivante Corporation Single chip 3D and 2D graphics processor with embedded memory and multiple levels of power controls
KR100852188B1 (ko) 2007-02-27 2008-08-13 삼성전자주식회사 동적 전압 스케일링 시스템 및 방법
JP5152785B2 (ja) * 2008-01-28 2013-02-27 ソニーオプティアーク株式会社 周辺機器、周辺機器の動作方法、電子機器システム
US8145923B2 (en) * 2008-02-20 2012-03-27 Xilinx, Inc. Circuit for and method of minimizing power consumption in an integrated circuit device
JP2010072897A (ja) * 2008-09-18 2010-04-02 Nec Electronics Corp クロック供給装置
JP5435663B2 (ja) 2011-09-06 2014-03-05 エヌイーシーコンピュータテクノ株式会社 電子機器の保守装置、方法、及びプログラム
US9223383B2 (en) 2012-12-21 2015-12-29 Advanced Micro Devices, Inc. Guardband reduction for multi-core data processor
US9360918B2 (en) 2012-12-21 2016-06-07 Advanced Micro Devices, Inc. Power control for multi-core data processor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0720968A (ja) * 1993-06-29 1995-01-24 Xerox Corp 電圧と周波数を動的に変更することによってコンピュータの消費電力を減少させる方法
JPH07295695A (ja) * 1994-04-06 1995-11-10 Advanced Micro Devicds Inc コンピュータシステムおよびコンピュータシステム内の電力を管理するための方法
JPH08152945A (ja) * 1994-11-28 1996-06-11 Nec Corp 消費電力管理装置
JPH10198455A (ja) * 1997-01-14 1998-07-31 Mitsubishi Electric Corp 消費電力制御方式及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3701493A1 (de) * 1987-01-20 1988-07-28 Nixdorf Computer Ag Schaltungsanordnung zum verteilen elektrischer speiseleistung auf mehrere funktionseinheiten
JP3082175B2 (ja) 1991-07-04 2000-08-28 セイコーエプソン株式会社 情報処理装置
JP2846270B2 (ja) 1995-03-28 1999-01-13 株式会社野村総合研究所 複数のウィンドゥを表示するコンピュータにおける新着情報表示装置
JPH09251334A (ja) 1996-03-18 1997-09-22 Hitachi Ltd 消費電力制御方式
US6223080B1 (en) * 1998-04-29 2001-04-24 Medtronic, Inc. Power consumption reduction in medical devices employing multiple digital signal processors and different supply voltages
JP4008583B2 (ja) * 1998-07-22 2007-11-14 株式会社沖データ 電子機器
US6477654B1 (en) * 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0720968A (ja) * 1993-06-29 1995-01-24 Xerox Corp 電圧と周波数を動的に変更することによってコンピュータの消費電力を減少させる方法
JPH07295695A (ja) * 1994-04-06 1995-11-10 Advanced Micro Devicds Inc コンピュータシステムおよびコンピュータシステム内の電力を管理するための方法
JPH08152945A (ja) * 1994-11-28 1996-06-11 Nec Corp 消費電力管理装置
JPH10198455A (ja) * 1997-01-14 1998-07-31 Mitsubishi Electric Corp 消費電力制御方式及び方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4640880B2 (ja) * 2000-07-14 2011-03-02 国立大学法人東京工業大学 マイクロプロセッサシステム
JP2002032218A (ja) * 2000-07-14 2002-01-31 Rikogaku Shinkokai マイクロプロセッサシステム
JP2002091637A (ja) * 2000-08-18 2002-03-29 Hynix Semiconductor Inc 低電力オーディオプロセッサ
US6766460B1 (en) 2000-08-23 2004-07-20 Koninklijke Philips Electronics N.V. System and method for power management in a Java accelerator environment
CN100437433C (zh) * 2000-08-23 2008-11-26 Nxp股份有限公司 Java加速器环境中功率管理的系统和方法
WO2002017064A3 (en) * 2000-08-23 2003-10-09 Koninkl Philips Electronics Nv System and method for power management in a java accelerator environment
GB2372601B (en) * 2000-12-01 2003-09-24 Sharp Kk Semiconductor integrated circuit
US6874098B2 (en) 2000-12-01 2005-03-29 Sharp Kabushiki Kaisha Semiconductor integrated circuit
GB2372601A (en) * 2000-12-01 2002-08-28 Sharp Kk Clock technologies for reducing power consumption of integrated circuits
US7222244B2 (en) 2001-01-30 2007-05-22 Hitachi, Ltd. Semiconductor device including a prediction circuit to control a power status control circuit which controls the power status of a function circuit
JP2005502114A (ja) * 2001-08-29 2005-01-20 アナログ・デバイシズ・インコーポレーテッド 動的電圧制御方法および装置
JP2003099252A (ja) * 2001-09-26 2003-04-04 Pacific Design Kk データ処理装置およびその制御方法
US9660616B2 (en) 2003-05-07 2017-05-23 Conversant Intellectual Property Management Inc. Power managers for an integrated circuit
WO2004109485A2 (en) * 2003-06-10 2004-12-16 Koninklijke Philips Electronics N.V. Embedded computing system with reconfigurable power supply and/or clock frequency domains
WO2004109485A3 (en) * 2003-06-10 2005-04-14 Koninkl Philips Electronics Nv Embedded computing system with reconfigurable power supply and/or clock frequency domains
JP2005115769A (ja) * 2003-10-09 2005-04-28 Nec Corp 情報処理装置
JP2006172059A (ja) * 2004-12-15 2006-06-29 Seiko Epson Corp 情報処理装置および情報処理方法
US7496775B2 (en) 2004-12-15 2009-02-24 Seiko Epson Corporation Information processing apparatus and information processing method for autonomously controlling the supply of electric power
JP4617879B2 (ja) * 2004-12-28 2011-01-26 セイコーエプソン株式会社 情報処理装置および情報処理方法
JP2006185259A (ja) * 2004-12-28 2006-07-13 Seiko Epson Corp 情報処理装置および情報処理方法
JP2007286673A (ja) * 2006-04-12 2007-11-01 Seiko Epson Corp 情報処理装置及び情報処理方法
JP2007286807A (ja) * 2006-04-14 2007-11-01 Seiko Epson Corp 情報処理装置及び情報処理方法
JP2006318513A (ja) * 2006-09-04 2006-11-24 Renesas Technology Corp 半導体装置
JP2007251181A (ja) * 2007-03-26 2007-09-27 Nec Corp 半導体集積回路
US8046618B2 (en) 2007-12-07 2011-10-25 Sony Corporation Semiconductor chip operating with minimal power consumption
US11320853B2 (en) 2016-03-14 2022-05-03 Sharp Nec Display Solutions, Ltd. Image transmission apparatus, image transmission system, and method of controlling image transmission apparatus

Also Published As

Publication number Publication date
US6789207B1 (en) 2004-09-07
JP3857052B2 (ja) 2006-12-13

Similar Documents

Publication Publication Date Title
WO2000002118A1 (en) Microprocessor
EP0242010B1 (en) Clock circuit for a data processor
JP4801100B2 (ja) スタック型レジスタファイルの一部分をシャットダウンすることによる電力低減
JP3505018B2 (ja) 半導体集積回路
KR100806284B1 (ko) 동적 전압 스케일링을 적용한 고효율 프로세서
US20050046400A1 (en) Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
JP2004054945A (ja) マイクロプロセッサの電力消費と発熱の少なくとも一方の低減システム
JP2636695B2 (ja) パイプライン処理回路
JP2002169790A (ja) 半導体集積回路
US8806181B1 (en) Dynamic pipeline reconfiguration including changing a number of stages
US6496888B1 (en) Incorporation of bus ratio strap options in chipset logic
JP3705022B2 (ja) 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
JP2000322403A (ja) 電力削減のための複数の等価機能ユニットの制御
JPH07334267A (ja) ロジックlsi
JPH10326129A (ja) 半導体装置
US6381705B1 (en) Method and device for reducing current consumption of a microcontroller
JP2001202155A (ja) 低消費電力処理装置
JPH0934867A (ja) マイクロコンピュータ
EP1321850A2 (en) Microprocessor with calculation unit
JPH10149237A (ja) 半導体回路
Nowka et al. The design and application of the PowerPC 405LP energy-efficient system-on-a-chip
JP3893463B2 (ja) キャッシュメモリ、及びキャッシュメモリの電力削減方法
KR0184633B1 (ko) 씨피유코어
JPH11212863A (ja) 命令メモリ回路
JP2004087602A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09719835

Country of ref document: US

122 Ep: pct application non-entry in european phase