JP2007220148A - Microprocessor - Google Patents

Microprocessor Download PDF

Info

Publication number
JP2007220148A
JP2007220148A JP2007150536A JP2007150536A JP2007220148A JP 2007220148 A JP2007220148 A JP 2007220148A JP 2007150536 A JP2007150536 A JP 2007150536A JP 2007150536 A JP2007150536 A JP 2007150536A JP 2007220148 A JP2007220148 A JP 2007220148A
Authority
JP
Japan
Prior art keywords
instruction
circuit
signal
memory
current
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2007150536A
Other languages
Japanese (ja)
Inventor
Masahiro Iwamura
将弘 岩村
Shigeya Tanaka
成弥 田中
Hideo Maejima
英雄 前島
Tetsuo Nakano
哲夫 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007150536A priority Critical patent/JP2007220148A/en
Publication of JP2007220148A publication Critical patent/JP2007220148A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a microprocessor capable of reducing power consumption and of increasing speed. <P>SOLUTION: The microprocessor has a detection means for detecting an instruction for operating each calculation circuit, and means for activating one or more of the calculation circuits corresponding to the instruction detected by the detection means before calculation execution and for inactivating the activated calculation circuits after calculation termination. The microprocessor reads instructions of a quantity of (n) (n≥2) at the same time to decode them and executes calculation by using (n) pieces of the calculation circuits at the same time. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、高速アクセスや多ビット出力等を要求される内蔵キャッシュメモリ等の低消費電力化が望まれる機能回路ブロックを有する、マイクロプロセッサ等の半導体集積回路に関するものである。   The present invention relates to a semiconductor integrated circuit such as a microprocessor having a functional circuit block for which low power consumption is desired, such as a built-in cache memory requiring high-speed access and multi-bit output.

以下、従来の技術をマイクロプロセッサを例に取り説明する。   The prior art will be described below taking a microprocessor as an example.

近年の高速性能マイクロプロセッサ(以下MPUと記す)は、内部の命令実行速度と外部主メモリからの命令およびオペランドの内部への転送速度の不一致によって生じる問題を解決するために、MPU内部にキャッシュメモリを内蔵することや並列度を高めて処理性能の向上を図るため複数の演算器を内蔵させることが一般的になってきており、その結果、消費電力の増大が深刻な問題になってきている。   In recent years, high-speed microprocessors (hereinafter referred to as MPUs) have been developed in order to solve the problem caused by the mismatch between the internal instruction execution speed and the transfer speed of instructions and operands from the external main memory. In order to improve the processing performance by increasing the degree of parallelism, it has become common to incorporate multiple arithmetic units, and as a result, the increase in power consumption has become a serious problem .

キャッシュメモリを内蔵する主目的は、MPUの実行速度を見合ったスピードで命令やデータを高速にフェッチすることである。   The main purpose of incorporating the cache memory is to fetch instructions and data at a high speed that matches the execution speed of the MPU.

今日、最高速のCISC型MPUのクロック周期は25〜40MHzであるが、近い将来、RISC型で100MHzを越えるMPUが登場することが予想される。   Today, the clock cycle of the fastest CISC type MPU is 25 to 40 MHz, but it is expected that an MPU exceeding 100 MHz in the RISC type will appear in the near future.

このような、超高速MPUでは内蔵キャッシュメモリとして数ns以下の超高速アクセスが要求される。   Such an ultra-high speed MPU requires ultra-high speed access of several ns or less as a built-in cache memory.

また、内蔵キャッシュメモリは、ワード数は比較的少ないが、1ワード当りの読出しビット数が極端に多い(汎用SRAMでは最大8ビット)と云う特徴を有している。たとえば、今日の32ビットMPUでも数百ビットの並列読出し等は一般的に実現されており、将来MPUの64ビット化が進めば、並列読出し数がさらに増大すると思われる。   The built-in cache memory has a characteristic that the number of words is relatively small but the number of read bits per word is extremely large (up to 8 bits in a general-purpose SRAM). For example, even today's 32-bit MPUs generally implement parallel reading of several hundred bits, etc., and it seems that the number of parallel readings will further increase if the MPU becomes 64-bit in the future.

ここで、一般に、超高速メモリのセンスアンプとしては、バイポーラトランジスタによる差動型の高感度センスアンプが好適である。しかし、この回路は定常的に比較的大きな電力を消費する。また、メモリの他の部分でも特別な電力節減手段がなければメモリアクセスが起こらなくても電力を消費する。   Here, in general, a differential high-sensitivity sense amplifier using a bipolar transistor is suitable as a sense amplifier for an ultrahigh-speed memory. However, this circuit constantly consumes relatively large power. Further, if there is no special power saving means in other parts of the memory, power is consumed even if no memory access occurs.

すなわち、超高速アクセス、多ビット並列出力のキャッシュメモリを内蔵する単一チップMPUではメモリ回路の消費電力が極端に大きくなるため適切な低消費電力化手段がなければ、キャッシュメモリのオンチップ化そのものが、やがて不可能になると予想される
That is, in a single-chip MPU incorporating a cache memory with ultra-high-speed access and multi-bit parallel output, the power consumption of the memory circuit becomes extremely large. However, it is expected to become impossible over time.

低消費電力化技術として知られている第1の従来技術としては、メモリアドレス信号と等価なチップセレクト信号CSにより、メモリ回路をスタンドバイモードの消費電力と通常動作モードの消費電力に切換え実効的な消費電力を低減するものがある。   As a first conventional technique known as a low power consumption technique, the memory circuit is effectively switched between standby mode power consumption and normal operation mode power consumption by a chip select signal CS equivalent to the memory address signal. There are some that reduce the power consumption.

また、第2の従来技術としては、たとえばATD(Addres Transition Detector)回路により、アドレス信号の変化を検知し、その信号により内部動作に必要なクロックパルスを生成し、メモリのセンスアンプ等を必要な期間だけ動作させて消費電力を低減するものが知られている。   As a second prior art, for example, an ATD (Addres Transition Detector) circuit detects a change in an address signal, generates a clock pulse necessary for internal operation based on the signal, and requires a memory sense amplifier or the like. A device that operates only for a period to reduce power consumption is known.

また、特許文献1などに記載されているように、MPUなどの論理LSIではa)複数の機能ブロックに対応して電力制御命令を設け、プログラムにより該当する機能ブロックを活性又は非活性状態に切換えることにより低消費電力を実現する方法、b)機能ブロック毎にクロック制御回路を設け、クロック供給の有無を制御することにより低消費電力を実現する方法、c)機能ブロック毎に電力制御回路を設け、命令実行時に使用しない機能ブロックの電源供給を遮断することにより低消費電力を実現する方法、などが公知である
。しかしながら、上記従来技術では通常電力消費状態と低消費電力状態相互間の切換え時の電源電流の急激な変化によって電源線や接地線に誘起される雑音に対する考慮が欠如しており、以下のような問題点がある。
1)低消費電力状態と通常動作状態とで回路電流が短時間に大きく変化するため電源線,GND線のインダクタンスや抵抗により、大きな雑音電圧が発生する。
2)上記雑音電圧により、機能回路自身あるいは他の内部回路が誤動作する。また、仮に誤動作が起きなかった場合でも上記雑音電圧が消滅するまでには一定の時間が必要なため
、メモリアクセススピードの実効的な低下が引き起こされる。
Further, as described in Patent Document 1, etc., in a logic LSI such as an MPU, a) a power control instruction is provided corresponding to a plurality of functional blocks, and the corresponding functional block is switched to an active or inactive state by a program. B) A method of realizing low power consumption by providing a clock control circuit for each functional block and controlling the presence or absence of clock supply, c) A method of providing a power control circuit for each functional block A method for realizing low power consumption by shutting off power supply to functional blocks that are not used at the time of instruction execution is known. However, the above prior art lacks consideration for noise induced in the power supply line and the ground line due to a sudden change in the power supply current when switching between the normal power consumption state and the low power consumption state. There is a problem.
1) Since the circuit current greatly changes in a short time between the low power consumption state and the normal operation state, a large noise voltage is generated due to the inductance and resistance of the power supply line and the GND line.
2) The functional circuit itself or other internal circuit malfunctions due to the noise voltage. Even if no malfunction occurs, a certain time is required until the noise voltage disappears, which causes an effective decrease in memory access speed.

図24(A)は電源系の雑音電圧発生を説明するための図である。同図において、1300は電源、1310は例えばメモリ回路などの機能回路ブロック1321,1322は、それぞれ電源,GND系のインダクタンス1331,1332はそれぞれ電源系,GND系の抵抗である。   FIG. 24A is a diagram for explaining generation of noise voltage in the power supply system. In the figure, 1300 is a power source, 1310 is a functional circuit block 1321, 1322 such as a memory circuit, for example, and GND-type inductances 1331 and 1332 are a power source system and a GND-type resistor, respectively.

図24(B)はSWを時刻t1 でオンし、時間t2 でオフした場合の電源電流iの変化
、電源電位v1 ,GND電位v2 の変化の様子を示したものである。
FIG. 24B shows the change of the power supply current i and the changes of the power supply potential v 1 and the GND potential v 2 when the SW is turned on at time t 1 and turned off at time t 2 .

図示するように、時刻t1 でスイッチSWをオンにしたとき、回路電流iはΔt1時間の間に0から定常電流まで変化する。このとき、図示のように回路の電源電位v1 は負方向にピークを持つように大きく変化し、GND電位v2は正方向にピークを持つように大きく変化する。逆に、時刻t2 でスイッチSWをオフしたとき、回路電流iは△t2 時間の間に定常電流から0まで変化する。このとき、回路の電源電位v1は正方向にピークを持つように大きく変化し、GND電位v2 は負方向にピークを持つように大きく変化する
As shown in the figure, when the switch SW is turned on at time t 1 , the circuit current i changes from 0 to a steady current during Δt 1 time. At this time, as shown in the figure, the power supply potential v 1 of the circuit changes greatly so as to have a peak in the negative direction, and the GND potential v 2 changes greatly so as to have a peak in the positive direction. Conversely, when the switch SW is turned off at time t 2 , the circuit current i changes from a steady current to 0 during Δt 2 time. At this time, the power supply potential v 1 of the circuit changes greatly so as to have a peak in the positive direction, and the GND potential v 2 changes greatly so as to have a peak in the negative direction.

例えば、今、図24の回路1310が500ケのセンスアンプであり、1回路当り2
mAの電流を消費するものとし、この電流をΔt=1nsで0から定常電流まで切換えるものとする。このとき、抵抗1331,1332を無視し、インダクタンス1321,
1322をL=5nHと仮定すると電源ノイズvn は以下のようになる。
For example, now, the circuit 1310 of FIG. 24 is 500 sense amplifiers, 2 per circuit.
It is assumed that a current of mA is consumed, and this current is switched from 0 to a steady current at Δt = 1 ns. At this time, the resistors 1331 and 1332 are ignored, and the inductance 1321,
1322 The L = 5 nH assuming the power supply noise v n are as follows.

Figure 2007220148
Figure 2007220148

すなわち、5V又はそれ以下の電源電圧で動作する今日の半導体集積回路では前記のような大きな電源雑音は許容しがたいものになる。   In other words, such a large power supply noise is unacceptable in today's semiconductor integrated circuits that operate with a power supply voltage of 5 V or less.

また、仮に前記雑音を適正な大きさまで低減できたとしても、図24(B)に示すように、電源、GND雑音が消失するまでにはΔt1 時間,Δt2 時間が必要である。この時間は電流の切換え時間に依存するが通常1〜3nsが必要である。数ns以下のアクセスタイムが必要な超高速メモリなどではこの時間は受け入れ難いものであり、高速動作の大きな障害になる。 Even if the noise can be reduced to an appropriate level, as shown in FIG. 24 (B), Δt 1 hours and Δt 2 hours are required until the power supply and GND noise disappear. This time depends on the current switching time, but usually 1 to 3 ns is required. This time is unacceptable in an ultrahigh-speed memory or the like that requires an access time of several ns or less, and becomes a major obstacle to high-speed operation.

上記のように、電源電流の変化による雑音の問題は半導体チップ内の複数の演算器やその他の機能回路ブロックについても同様である。   As described above, the problem of noise due to a change in power supply current is the same for a plurality of arithmetic units and other functional circuit blocks in a semiconductor chip.

ちなみに、近年の高性能MPUは、その処理能力を上げる目的で、いろいろな技術が導入されはじめている。計算機の処理性能は、次式により評価される。   Incidentally, various technologies have begun to be introduced in recent high-performance MPUs in order to increase the processing capacity. The processing performance of the computer is evaluated by the following equation.

Figure 2007220148
Figure 2007220148

CPIとは、1命令に要するサイクル数である。   CPI is the number of cycles required for one instruction.

ここ数年の技術で注目されるのが、PISCプロセッサである。RISCは、上式の
CPIを1に近づけることにより性能を向上させることを主目的としている。
The PISC processor has attracted attention in recent years. The main purpose of RISC is to improve the performance by bringing the above-mentioned CPI close to 1.

最近、RISCの次の技術として、Super Scalar,VLIWなどが注目されはじめた。この技術は、最大n個の命令を同時に読み出し、n個の命令を同時に解釈し、n個の命令を同時に実行するもので、ハードウエアの並列度を増すことにより上式のCPIを1/nまで下げて、計算機の性能を向上させるものである。このSuper Scalar,VLIWなどの高速動作の演算回路としては、バイポーラトランジスタなどによる差動型の論理回路や
BiCMOSによる低振幅回路などが用いられるようになってきたが、直流電流を流す回路は、定常的に比較的大きな電力を消費する。
Recently, Super Scalar, VLIW, etc. have begun to attract attention as the next technology of RISC. This technique reads up to n instructions at the same time, interprets n instructions at the same time, and executes n instructions at the same time. By increasing the degree of hardware parallelism, the above-mentioned CPI can be reduced to 1 / n. To improve the performance of the computer. High-speed operation circuits such as Super Scalar and VLIW include differential logic circuits such as bipolar transistors,
BiCMOS low-amplitude circuits have come to be used, but circuits that pass DC current regularly consume relatively large power.

Super Scalar,VLIWなどのMPUでは、同一機能を持つ高速動作の演算回路がn個要求されるわけであり、それに供ない、演算回路の消費電力もn倍に増えてしまうという問題がある。   MPUs such as Super Scalar and VLIW require n high-speed operation circuits having the same function, and there is a problem that the power consumption of the operation circuits increases n times.

なお、この種の技術として関連するものには、例えば非特許文献1において論じられている。
特開昭61−45354号公報 日経エレクトロニクスNo.487、1989年11月27日号の P191〜200
For example, Non-Patent Document 1 discusses the related technology.
JP 61-45354 A Nikkei Electronics No. 487, November 27, 1989, P191-200

以上の説明で明らかなように、従来のマイクロプロセッサなどの半導体集積回路や電子回路における低消費電力化技術は、電力切換え時に電源線や接地線に発生する雑音の問題が考慮されていないため、回路の誤動作を引き起したり、雑音が消失するまで一定の時間がかかるため、迅速なスタートアップが出来ないと云う問題があった。   As is apparent from the above description, the conventional technology for reducing power consumption in semiconductor integrated circuits and electronic circuits such as microprocessors does not take into account the problem of noise generated in power supply lines and ground lines during power switching. There has been a problem that a rapid start-up cannot be performed because it takes a certain time until the circuit malfunctions or the noise disappears.

特に、従来のオンチップメモリを有するMPUでは電力切換え時の低ノイズ化とメモリアクセスの高速化にはトレードオフの関係があるため、超高速化が困難であるという問題を生じていた。   In particular, in the MPU having a conventional on-chip memory, there is a trade-off relationship between the reduction in noise at the time of power switching and the increase in memory access speed.

また、以上、キャッシュメモリを有するマイクロプロセッサにつき述べたが、高速化を要求される機能ブロックを有する半導体集積回路や電子回路においても同様な問題が生じる。   Although the microprocessor having a cache memory has been described above, a similar problem occurs in a semiconductor integrated circuit or an electronic circuit having a functional block that requires high speed.

そこで、本発明は、機能回路ブロックの低消費電力化と高速化が可能な半導体集積回路装置、特に、キャッシュメモリ等のオンチップメモリを有すマイクロプロセッサを提供することを目的とする。   Accordingly, an object of the present invention is to provide a semiconductor integrated circuit device capable of reducing the power consumption and speed of a functional circuit block, in particular, a microprocessor having an on-chip memory such as a cache memory.

なお、ここで、活性化とは回路の動作上必要な所定の電力を供給することを意味し、不活性とは前記所定の電力より小さい電力を供給することを意味する。   Here, activation means supplying a predetermined power necessary for the operation of the circuit, and inactivation means supplying a power smaller than the predetermined power.

本発明の半導体集積回路装置によれば、電源系インダクタンスL,許容電源ノイズVn
,回路電流の切換え幅ΔIの機能回路ブロックと、該機能回路ブロックを、その動作開始に時間T先行して活性化する動作開始予告信号を発生する手段を有し、かつ、
前記T,L,Vn およびΔIは、
According to the semiconductor integrated circuit device of the present invention, the power supply system inductance L, the allowable power supply noise V n.
, A functional circuit block having a circuit current switching width ΔI, and means for generating an operation start notice signal for activating the functional circuit block in advance of time T before the operation start, and
The T, L, V n and ΔI are

Figure 2007220148
Figure 2007220148

の関係を満たす。 Satisfy the relationship.

また、本発明のメモリによれば動作の開始を予告する予告信号を受信し、該予告信号受信時より所定の時間をかけて回路電流を所定の値まで増加することにより低電力消費モードより通常電力消費モードに移行し、動作の実行が終了後、所定の時間をかけて回路電流を低電力消費モード電流まで減少し、低電力消費モードに移行する機能を有することを特徴とする機能回路ブロックを提供し、また、アクセスを予告するアクセス予告信号により活性化し、アドレス信号とリード・ライト制御信号とデータ入出力信号とに基づいて、所定のメモリ動作を実行する。   Further, according to the memory of the present invention, a warning signal for notifying the start of operation is received, and the circuit current is increased to a predetermined value over a predetermined time from the reception of the warning signal. A function circuit block having a function of shifting to a power consumption mode and reducing a circuit current to a low power consumption mode current over a predetermined time after the execution of an operation is completed, and shifting to a low power consumption mode. And is activated by an access notice signal for giving a notice of access, and executes a predetermined memory operation based on an address signal, a read / write control signal, and a data input / output signal.

また、本発明のマイクロプロセッサは、n個(n≧2)の命令を同時に読み出してデコードし、n個の演算回路を用いて同時に演算を実行するマイクロプロセッサであって、各演算回路を操作する命令を先行検出する検出手段と、この検出手段により検出された命令に対応した演算回路を1つ以上演算実行に先立って活性化し、演算終了後に、活性化された演算回路を不活性化する手段とを有する。   The microprocessor of the present invention is a microprocessor that reads and decodes n (n ≧ 2) instructions at the same time, and executes operations simultaneously using n arithmetic circuits, and operates each arithmetic circuit. Detection means for detecting an instruction in advance, and means for activating one or more operation circuits corresponding to the instruction detected by the detection means prior to execution of the operation, and inactivating the activated operation circuit after completion of the operation And have.

更に、本発明のマイクロプロセッサは同時に実行する命令間で各種の競合状態が生じることを検出する手段を有し、競合状態が生じている場合には、競合する命令に対応する前記演算回路のうち1つを、演算実行に先立って活性化し、かつその他の演算回路を不活性化するための信号を前記先行検出手段に送る。   Further, the microprocessor of the present invention has means for detecting that various race conditions occur between instructions executed at the same time, and when a race condition occurs, among the arithmetic circuits corresponding to the conflicting instructions, One of them is activated prior to execution of the operation, and a signal for inactivating the other operation circuits is sent to the preceding detection means.

本発明によれば、機能回路ブロックの低消費電力化と高速化が可能な半導体集積回路装置、特に、キャッシュメモリ等のオンチップメモリを有するマイクロプロセッサを提供することができる。   According to the present invention, it is possible to provide a semiconductor integrated circuit device capable of reducing the power consumption and speed of a functional circuit block, in particular, a microprocessor having an on-chip memory such as a cache memory.

以下、本発明に係る半導体集積回路の実施例をマイクロプロセッサを例にとり説明する
Hereinafter, embodiments of a semiconductor integrated circuit according to the present invention will be described by taking a microprocessor as an example.

図1に、本発明の第1の実施例に係るマイクロプロセッサ(MPU)の構成を示す。   FIG. 1 shows a configuration of a microprocessor (MPU) according to a first embodiment of the present invention.

図中、100が単一チップMPUであるが、説明の便宜上、以下に、その内部構成は本実施例の理解に必要な構成要素だけを記し、その他の部分は省略する。   In the figure, 100 is a single-chip MPU, but for convenience of explanation, only the components necessary for understanding the present embodiment will be described below, and the other parts will be omitted.

図中、101はプログラムカウンタであり、クロック信号CLKに同期して命令データの読み出しアドレスを発生する。102はメモリアドレスレジスタであり、命令キャッシュメモリ103の読み出しアドレスを保持する。104は命令データレジスタであり、命令キャッシュメモリ103から読み出した命令データを保持する。   In the figure, reference numeral 101 denotes a program counter which generates an instruction data read address in synchronization with a clock signal CLK. A memory address register 102 holds a read address of the instruction cache memory 103. An instruction data register 104 holds instruction data read from the instruction cache memory 103.

また、111は他のメモリアドレスレジスタであり、データキャッシュメモリ112のリード又はライトアドレスを保持する。113はメモリデータレジスタであり、データキャッシュメモリ112のリードデータまたはデータキャッシュ112へのライトデータを保持する。   Reference numeral 111 denotes another memory address register that holds a read or write address of the data cache memory 112. A memory data register 113 holds read data from the data cache memory 112 or write data to the data cache 112.

命令データレジスタ104とデータレジスタ113は内部データバス172に結合されており、入出力制御回路160を介して外部データバス161との間でデータのやりとりを行う。   The instruction data register 104 and the data register 113 are coupled to the internal data bus 172, and exchange data with the external data bus 161 via the input / output control circuit 160.

120は第1の命令デコーダであり、命令レジスタ104の出力105をデコードし、所定の命令制御信号121,122を出力する。140は演算器であり、レジスタファイル150から内部バス173を介して演算に必要なデータを受取り、算術演算,論理演算
,シフト演算などを実行し、その結果を内部バス174を介してレジスタファイル150に書き込む。また、他のケースでは演算結果を内部バス175を介してメモリアドレスレジスタ111に書き込む。
A first instruction decoder 120 decodes the output 105 of the instruction register 104 and outputs predetermined instruction control signals 121 and 122. An arithmetic unit 140 receives data necessary for the operation from the register file 150 via the internal bus 173, executes arithmetic operation, logical operation, shift operation, etc., and outputs the result via the internal bus 174 to the register file 150. Write to. In other cases, the calculation result is written to the memory address register 111 via the internal bus 175.

命令デコーダ120の出力121は演算器140に演算の内容を指定する。また、命令デコーダ120の出力122はレジスタファイル150に対してリードやライトの動作を指定する。   The output 121 of the instruction decoder 120 specifies the content of the operation to the arithmetic unit 140. Further, the output 122 of the instruction decoder 120 designates a read / write operation for the register file 150.

130は第2の命令デコーダであり、命令レジスタ104の出力105を解釈し、例えばデータキャッシュ112に対するメモリアクセスを予知し、所定の加工を施した後、データキャッシュ112に対してメモリアクセス予告信号131を出力する。   A second instruction decoder 130 interprets the output 105 of the instruction register 104, predicts, for example, memory access to the data cache 112, performs predetermined processing, and then performs a predetermined processing, and then issues a memory access notice signal 131 to the data cache 112. Is output.

データキャッシュ112はこの信号とメモリアドレスレジスタ111からのアドレス信号とリード/ライト制御信号(図中省略されている。)とから所定のメモリアクセスを実
行する。
The data cache 112 executes a predetermined memory access from this signal, an address signal from the memory address register 111, and a read / write control signal (not shown in the figure).

なお、第2の命令デコーダ130は演算器140,レジスタファイル150、その他にも必要に応じて動作開始予告信号132,133を発生する機能を持たせることができる
Note that the second instruction decoder 130 can also have a function of generating the operation start notice signals 132 and 133 as necessary, in addition to the arithmetic unit 140 and the register file 150.

図2に本実施例に係るMPUの代表的な命令実行ステージを示す。   FIG. 2 shows a typical instruction execution stage of the MPU according to the present embodiment.

図中、命令1,命令2はR−R演算(レジスタ−レジスタ間演算)の実行ステージを示している。   In the figure, instruction 1 and instruction 2 indicate the execution stage of the RR operation (register-register operation).

図中のIFステージで命令キャッシュ103から命令データをフェッチし、Dステージで命令デコーダ120によりデコードし、EXステージで演算器140により所定の演算を実行する。最後にWステージで演算結果をレジスタファイル150に書き込む。   In the drawing, instruction data is fetched from the instruction cache 103 at the IF stage, decoded by the instruction decoder 120 at the D stage, and a predetermined operation is executed by the arithmetic unit 140 at the EX stage. Finally, the operation result is written to the register file 150 at the W stage.

次に、図中、中段に示す。データキャッシュ112に対するアクセスが発生するLOAD命令,STORE命令では、IFステージとDステージまでは前述のR−R演算と同様であるが、次のACステージではデータキャッシュ112をアクセスするための実効アドレス計算を行い、次のCAステージでデータキャッシュ112をアクセスする。最後にWステージでは読み出したデータをレジスタファイル150に書き込む。   Next, it is shown in the middle of the figure. In the LOAD instruction and STORE instruction in which access to the data cache 112 occurs, the IF stage and D stage are the same as the above-described RR operation, but in the next AC stage, effective address calculation for accessing the data cache 112 is performed. And the data cache 112 is accessed at the next CA stage. Finally, in the W stage, the read data is written into the register file 150.

以上のように、LOAD/STORE命令ではデコードステージDとメモリアクセスステージCA間に実効アドレス計算ステージACが必ず介在しており、本実施例ではCAステージより2ステージ前のDステージでメモリアクセスの発生を予知し、キャッシュメモリ112に対してアクセス予告信号を出力することを特徴とする。   As described above, in the LOAD / STORE instruction, the effective address calculation stage AC is always interposed between the decode stage D and the memory access stage CA. In this embodiment, memory access occurs at the D stage two stages before the CA stage. And an access notice signal is output to the cache memory 112.

次に、図3に、この命令のフェッチからアクセス予告信号の発生,メモリアクセスの実行までの動作タイミングをさらに詳細に示す。   Next, FIG. 3 shows in more detail the operation timing from the fetching of this instruction to the generation of the access notice signal and the execution of the memory access.

図中、3aはシステムクロックCLKであり、この周期は図3の命令実行ステージの1ステージと同じ長さであり、例えば5nsである。3bはIFステージであり、図では
1〜M5のLOAD,STORE命令がフェッチされることを示している。
In the figure, 3a is a system clock CLK, and this cycle is the same length as one stage of the instruction execution stage of FIG. 3, for example, 5 ns. 3b is IF stage, indicating that LOAD of M 1 ~M 5 in the figure, STORE instruction is fetched.

3cはDステージであり、IFステージの次のステージでM1〜M5のLOADまたは
STORE命令がデコードされることを示している。
Reference numeral 3c denotes a D stage, which indicates that the LOAD or STORE instructions of M 1 to M 5 are decoded in the stage subsequent to the IF stage.

3dはACステージであり、3cのDステージでデコードされたLOAD/STORE命令M1〜M5に対する実行アドレスA1〜A5の計算が実行される。 3d is an AC stage, and execution addresses A 1 to A 5 are calculated for the LOAD / STORE instructions M 1 to M 5 decoded in the D stage 3c.

3eはアドレス計算結果のメモリアドレスA1〜A5であり、このアドレスを使って3fのCAステージで実際のメモリアクセスが実行される。 3e is a memory address A 1 to A 5 address calculation result, actual memory access CA stage 3f using this address is executed.

3gは図1に示した第2の命令デコーダ130で得られるメモリアクセス予知信号M1〜M4 であり、3cのDステージのM1〜M5のデコード結果として得られる。また、3h
は3gのメモリアクセス予知信号M1〜M5に所定の加工を施して得られたメモリアクセス予告信号131であり、データキャッシュ112に出力される。
3g is a memory access prediction signal M 1 ~M 4 obtained by the second instruction decoder 130 shown in FIG. 1, is obtained as a result of decoding the M 1 ~M 5 of 3c in the D stage. 3h
Is a memory access notice signal 131 obtained by subjecting the 3g memory access prediction signals M 1 to M 5 to predetermined processing, and is output to the data cache 112.

ここで、アクセス予告信号3hは実際のメモリアクセスが行われる3fのE1 ステージに対して1ステージ前に先行して発生しており、同様にEaステージに対して1ステージ前に先行して発生する。 Here, the access warning signal 3h is generated prior to one stage prior to the actual memory access 3f E 1 stage to be performed, similarly occurs prior to the previous one stage relative to Ea stage To do.

ここで、図4(A)にメモリアクセス予告信号131を発生する第2の命令デコーダ
130(図1参照)の内部構成を、図4(B)にその動作タイミングを示す。
Here, FIG. 4A shows the internal configuration of the second instruction decoder 130 (see FIG. 1) that generates the memory access notice signal 131, and FIG. 4B shows its operation timing.

図中、410はメモリアクセス予知回路であり、命令レジスタ104が出力する命令データがメモリアクセスを伴う命令であるかどうかを検知する。具体的にはLOAD命令とSTORE命令を検出し、図4(B)の3gに示すような検知信号DETを発生する。
420は検知信号DET3gをクロック信号CLK3aでラッチするフリップフロップであり、その出力/Q4aは図4(B)に示すような信号になる(ここで、/QはQの反転出力を表わす)。430はインバータであり、フリップフロップ420の出力/Q4aを
反転して図4(B)に示すようなアクセス予告信号PR3hを発生する。
In the figure, reference numeral 410 denotes a memory access prediction circuit, which detects whether or not the instruction data output from the instruction register 104 is an instruction that accompanies memory access. Specifically, a LOAD instruction and a STORE instruction are detected, and a detection signal DET as indicated by 3g in FIG. 4B is generated.
Reference numeral 420 denotes a flip-flop that latches the detection signal DET3g with the clock signal CLK3a, and its output / Q4a becomes a signal as shown in FIG. 4B (where / Q represents an inverted output of Q). Reference numeral 430 denotes an inverter which inverts the output / Q4a of the flip-flop 420 to generate an access notice signal PR3h as shown in FIG.

なお、PR信号131の極性は本質的なものではないが、本実施例では正極性のアクティブ信号としている。   Although the polarity of the PR signal 131 is not essential, in the present embodiment, it is a positive active signal.

次に、図5にデータキャッシュメモリ112(図1参照)の内部構成を示す。   Next, FIG. 5 shows an internal configuration of the data cache memory 112 (see FIG. 1).

図中、510はアドレスバッファであり、アドレス信号Aiを受けて、アドレスデコーダ・ドライバ520に必要な正,負のアドレス信号として出力する。アドレスデコーダ・ドライバ520の出力はメモリアレイ530に出力され、リードまたはライトすべきメモリアレイを選択する。   In the figure, reference numeral 510 denotes an address buffer which receives an address signal Ai and outputs it as positive and negative address signals necessary for the address decoder / driver 520. The output of the address decoder / driver 520 is output to the memory array 530 to select a memory array to be read or written.

540は、センスアンプであり、メモリアレイ530から読み出した微小信号を所定の信号レベルまで増幅して出力する。550は出力ドライバであり、比較的重い付加を持つ出力Do を駆動するために設けられている。 A sense amplifier 540 amplifies a minute signal read from the memory array 530 to a predetermined signal level and outputs the amplified signal. An output driver 550 is provided to drive an output Do having a relatively heavy load.

560は書き込み制御回路であり、書き込みデータDiを書き込み制御信号WEを使ってメモリアレイ530の所定のアドレスに書き込む。   A write control circuit 560 writes the write data Di to a predetermined address in the memory array 530 using the write control signal WE.

570は電流制御信号発生回路であり、アクセス予告信号PRを受けて、少なくとも1以上の電流制御信号575を発生する。本例においては、データキャッシュメモリ112が共有される場合や、命令の実行以外のアクセス要因がある場合等の例をも提示するために、複数の予告信号PR1…PRnを受けて、少なくとも1以上の電流制御信号575を発生する場合について示している。 Reference numeral 570 denotes a current control signal generation circuit, which receives the access notice signal PR and generates at least one current control signal 575. In the present example, and if the data cache memory 112 is shared, in order also provides an example of such a case where there is access to factors other than the execution of the instructions, receiving a plurality of warning signal PR 1 ... PR n, at least A case where one or more current control signals 575 are generated is shown.

電流制御信号575による回路電流の制御はキャッシュメモリ112内の電流制御信号発生回路570を除くすべての回路要素に対して適用可能である。どの回路を制御の対象に選ぶかは、適用する実際のハードウエア構成や用途に従う。   The control of the circuit current by the current control signal 575 can be applied to all circuit elements except the current control signal generation circuit 570 in the cache memory 112. Which circuit is selected as a control target depends on the actual hardware configuration and application.

図6(A)に、電流制御信号発生回路570(図5参照)の構成例を、同図(B)は、その動作タイミングを示す。   FIG. 6A shows a configuration example of the current control signal generation circuit 570 (see FIG. 5), and FIG. 6B shows the operation timing thereof.

図中、610はオアゲートであり、アクセス予告信号PR1〜PRnのオアをとり、その出力をインバータ620とフリップフロップ660に供給する。630はノアゲートであり、インバータ620の出力とフリップフロップ630の/Q出力のノアをとり、図6
(B)の6cに示すような信号PUPを出力する。
In the figure, reference numeral 610 denotes an OR gate, which takes the OR of the access notice signals PR 1 to PR n and supplies the output to the inverter 620 and the flip-flop 660. Reference numeral 630 denotes a NOR gate which takes the NOR of the output of the inverter 620 and the / Q output of the flip-flop 630.
The signal PUP as shown in 6B of (B) is output.

640はアンドゲートであり、フリップフロップ660のQ出力6bとクロック信号
CLK3aのアンドをとり、図6(B)の6dに示すMCLK信号を出力する。また、
650と670はそれぞれオアゲートおよびデイレイ回路であり、オアゲート650は前記MCLK信号6dとMCLK信号をデイレイ回路670で所定時間遅延させた信号とのオアをとり、図6(B)の6fに示すΦSA信号を出力する。
Reference numeral 640 denotes an AND gate which takes an AND of the Q output 6b of the flip-flop 660 and the clock signal CLK3a and outputs an MCLK signal indicated by 6d in FIG. 6B. Also,
Reference numerals 650 and 670 respectively denote an OR gate and a delay circuit. The OR gate 650 takes an OR of the MCLK signal 6d and a signal obtained by delaying the MCLK signal by the delay circuit 670 for a predetermined time, and outputs a ΦSA signal indicated by 6f in FIG. 6B. Is output.

なお、図6(B)のMA6eはメモリアクセス実行サイクルのメモリアドレスを示している。   Note that MA6e in FIG. 6B indicates the memory address of the memory access execution cycle.

図6(B)に示すように、メモリアドレスA1,A2に対するメモリアクセスはt2とt3のステージ6gで行われる。これに対して6cのPUP信号はt2 ステージより1ステージ前のt1 ステージで立上り、t3ステージの終りで立下る信号になっている。 As shown in FIG. 6B, memory access to the memory addresses A 1 and A 2 is performed at the stage 6g at t 2 and t 3 . 6c PUP signal contrast becomes rising, the falling down signal at the end of t 3 stage 1 stage preceding t 1 stage than t 2 stages.

このPUP信号6cを基に回路電流を制御するが、このようすを図7に示す。図7の
7aに示すように、PUP信号6cに基づいて、t1 ステージの間に対象とする回路の電流をi1 から所定の電流値i2まで立上げ、t2 ,t3 のメモリアクセスステージではそ
の電流値を維持し、メモリアクセスが完了したt4 ステージの始めから、電流値の所定の低電流値i2 まで立下げる。
The circuit current is controlled based on the PUP signal 6c. This is shown in FIG. As shown by 7a in FIG. 7, based on the PUP signal 6c, the current of the target circuit is raised from i 1 to a predetermined current value i 2 during the t 1 stage, and the memory access at t 2 and t 3 is performed. The current value is maintained in the stage, and the current value is lowered to a predetermined low current value i 2 from the beginning of the t 4 stage when the memory access is completed.

次に、MCLK信号6d(図6B)はメモリアクセスステージt2 ,t3 のそれぞれに対応して発生されるパルス信号であり、クロック同期式のメモリで実現する場合のメモリクロックとして有用である。なお、クロック同期型メモリについては文献1)〜3)を参照されたい。
文献
1)Kevin j.O'connor:Modular Embeded Cache Memory for a 32b Piplined RISC
Microprocessor.1987 IS SCC p.256,257
2)Masanori Odaka et al :A 512 kb/5ns BiCMOS RAM with 1KG/150ps Logic Gate
Array.1989 IS SCC p.28,29
3)Masayoshi Kimoto et al:A 1.4ns/64kb RAM with 85ps/3688 Logic Gate Array.1
989 CI CC p.15.8.1〜15.8.4
また、ΦSA信号6fはメモリアクセスステージt2 ,t3 のそれぞれに対応して発生されるパルス信号であり、例えばセンスアンプを所定期間だけパルス動作させる信号として有用である。
Next, the MCLK signal 6d (FIG. 6B) is a pulse signal generated corresponding to each of the memory access stages t 2 and t 3 , and is useful as a memory clock when realized by a clock synchronous memory. Refer to Documents 1) to 3) for the clock synchronous memory.
Reference 1) Kevin j. O'connor: Modular Embeded Cache Memory for a 32b Piplined RISC
Microprocessor.1987 IS SCC p.256, 257
2) Masanori Odaka et al: A 512 kb / 5ns BiCMOS RAM with 1KG / 150ps Logic Gate
Array.1989 IS SCC p.28, 29
3) Masayoshi Kimoto et al: A 1.4ns / 64kb RAM with 85ps / 3688 Logic Gate Array.1
989 CI CC p.15.8.1〜15.8.4
Further, the ΦSA signal 6f is a pulse signal generated corresponding to each of the memory access stages t 2 and t 3 , and is useful, for example, as a signal for causing the sense amplifier to pulse for a predetermined period.

すなわち、センスアンプのみを独立に活性化制御することにより、電流切り替えにより生じる電源ノイズを許容範囲に納め、かつ、高電力消費源であるセンスアンプの活性化時間を極力短くする信号等として用いることができる。   In other words, by independently controlling activation of only the sense amplifier, the power supply noise caused by current switching can be kept within an allowable range, and used as a signal that shortens the activation time of the sense amplifier that is a high power consumption source as much as possible. Can do.

以上のPUP信号,ΦSA信号を用いて実際に回路電流を制御する例を以下に示す。   An example in which the circuit current is actually controlled using the above PUP signal and ΦSA signal is shown below.

まず、図8(A)にPUP信号を使って、回路電流を制御する回路の第1の例を、同図(B)にその動作波形を示す。   First, FIG. 8A shows a first example of a circuit for controlling the circuit current using the PUP signal, and FIG. 8B shows its operation waveform.

図中、811,812はPMOSであり、それぞれのソースは電源V1 に接続され、それぞれのゲートは共通接続されてPMOS811 のドレインにも接続されている。また、821
,822,823はNMOSであり、821のドレインはPMOS811 のドレインに、ゲートはPUP信号に、ソースは基準電位に接続されている。
In the figure, reference numerals 811 and 812 denote PMOSs, each source being connected to the power source V 1 , and each gate being commonly connected and also connected to the drain of the PMOS 811. 821
, 822 and 823 are NMOSs, the drain of 821 is connected to the drain of the PMOS 811, the gate is connected to the PUP signal, and the source is connected to the reference potential.

NMOS822のドレインはPMOS812のドレインに、ゲートはインバータ830の出力に、ソースは基準電位に接続され、インバータ830の入力はPUP信号に接続されている。   The drain of the NMOS 822 is connected to the drain of the PMOS 812, the gate is connected to the output of the inverter 830, the source is connected to the reference potential, and the input of the inverter 830 is connected to the PUP signal.

また、840は例えば差動アンプのような能動回路でありデータキャッシュメモリ112や演算器140やレジスタファイル150(図1参照)等の機能回路ブロックに備えられているものであり、NMOS823 を介して定電流源850で定めた所定の動作電流を流すようになっている。さらにNMOS823 のゲートと、GND間には積分用のコンデンサCが接続されている。   Reference numeral 840 denotes an active circuit such as a differential amplifier, which is provided in a functional circuit block such as the data cache memory 112, the arithmetic unit 140, and the register file 150 (see FIG. 1). A predetermined operating current determined by the constant current source 850 is supplied. Further, an integrating capacitor C is connected between the gate of the NMOS 823 and GND.

PMOS811,812とNMOS821,823はカレントミラー回路を構成しており、同図(B)に示すように、PUP信号が“0”レベルから“1”レベルに立上がるとPMOS812 からコンデンサCに、所定の充電電流が流れ、NMOS823 のゲート電圧Vgおよび回路840の電流iは同図(B)中段および下段に示すように所定のslewrateでなだらかに立上がる。この立上り時間t1は、前述した図7に示したステージt1 に相当する時間である。 The PMOS 811 and 812 and the NMOS 821 and 823 constitute a current mirror circuit. As shown in FIG. 4B, when the PUP signal rises from the “0” level to the “1” level, the PMOS 812 supplies the capacitor C with a predetermined value. The gate voltage Vg of the NMOS 823 and the current i of the circuit 840 rise gently at a predetermined slew rate as shown in the middle and lower stages of FIG. The rise time t 1 is a time corresponding to the stage t 1 shown in FIG.

同様にPUPが“1”レベルから“0”レベルに変化すると電圧Vgおよび電流iは所定のslewrateでなだらかに立下り、この立下り時間t4 は同様に図7に示したt4 に相当する時間になる。 Similarly, when the PUP changes from the “1” level to the “0” level, the voltage Vg and the current i fall gently at a predetermined slew rate, and this fall time t 4 similarly corresponds to t 4 shown in FIG. It will be time.

なお、電流iの立上げ時間t1 と立下げ時間t4 は必ずしも同じである必要はなく、回路の動作が終了した後なので立下げるときは、特別な不都合が生じない範囲でt4を短くすることもできる。 Note that the rise time t 1 and the fall time t 4 of the current i are not necessarily the same, and after the operation of the circuit is completed, when it is lowered, t 4 is shortened within a range in which no special inconvenience occurs. You can also

図9(A)にPUP信号を使って回路電流を制御する回路の第2の例を、同図(B)にその動作波形を示す。   FIG. 9A shows a second example of a circuit for controlling the circuit current using the PUP signal, and FIG. 9B shows its operation waveform.

図中、911〜914はインバータ、921〜923はNMOS、931〜933は定電流源、940は例えば差動アンプのような能動回路であり、データキャッシュメモリ
112や演算器140やレジスタファイル150(図1参照)等の機能回路ブロックに備えられているものである。
In the figure, 911 to 914 are inverters, 921 to 923 are NMOSs, 931 to 933 are constant current sources, 940 is an active circuit such as a differential amplifier, for example, the data cache memory 112, the arithmetic unit 140, the register file 150 ( This is provided in a functional circuit block such as FIG.

ここで、インバータ912〜914の遅延時間を914,913,912の順に大きくなるように設計するとPUP信号が同図(B)のように“0”から“1”レベルに変化したとき、NMOS921〜923を流れる電流i1〜i3も所定の時間差をもって立上り、能動回路940
の動作電流は時刻t1 後にi1+i2+i3の定常電流まで階段状に立上がる。
Here, when the delay times of the inverters 912 to 914 are designed to increase in the order of 914, 913 and 912, when the PUP signal changes from “0” to “1” level as shown in FIG. Currents i 1 to i 3 flowing through 923 also rise with a predetermined time difference, and active circuit 940
The operating current rises stepwise up to a steady current of i 1 + i 2 + i 3 after time t 1 .

同様に、PUP信号が“1”から“0”レベルに変化すると能動回路940の回路電流はt4 の時間内に段階状に立下がり、実効的に前述した図8の実施例と同様になだらかな電流変化を得ることができる。 Similarly, when the PUP signal changes from “1” to “0” level, the circuit current of the active circuit 940 falls in a stepped manner within the time t 4 , which is effectively gentle as in the embodiment of FIG. Current change can be obtained.

この立上り時間t1 および立下り時間t2 は第1の例と同様に図7のステージt1およびステージt4 の時間に相当する。 The rise time t 1 and fall time t 2 correspond to the times of the stage t 1 and the stage t 4 in FIG. 7 as in the first example.

なお、以上、PUP信号,ΦSA信号を用いて実際に回路電流を制御する例を示したが
、本実施例はこれに限定されるものではなく、他の一般の、回路電流を制御する方法によっても本実施例は実現できる。
The example in which the circuit current is actually controlled using the PUP signal and the ΦSA signal has been described above. However, the present embodiment is not limited to this, and other general methods for controlling the circuit current are used. This embodiment can also be realized.

以下、前記第1の回路電流制御回路を用いた場合を例にとり、データキャッシュメモリ112(図1参照)の各部における回路電流制御の例を示す。   Hereinafter, an example of the circuit current control in each part of the data cache memory 112 (see FIG. 1) will be described taking the case of using the first circuit current control circuit as an example.

図10はデータキャッシュメモリ112の図5の510で示したアドレスバッファの電流制御の実施例である。   FIG. 10 shows an embodiment of current control of the address buffer indicated by 510 in FIG.

図中、1011〜1014はNPNトランジスタ、1021,1022は抵抗、1031〜1033はNMOS、1041〜1043は定電流源である。   In the figure, 1011 to 1014 are NPN transistors, 1021 and 1022 are resistors, 1031 to 1033 are NMOSs, and 1041 to 1043 are constant current sources.

NPN1011 と1012のエミッタは共通接続され、NMOS1031を介して定電流源1041に接続されている。NPN1011 と1012のベースはそれぞれアドレス信号Aiと基準電源
R に接続され、それぞれのコレクタは抵抗1021,1022を介して電源V1 に接続されている。NPN1013,1014 のコレクタは電源V1 に接続され、それぞれのベースは
NPN1011 のコレクタとNPN1012のコレクタに接続されている。また、NPN1013,1014のそれぞれのエミッタはNMOS1032,1033を介してそれぞれ定電流源1042,1043に接続されている。
The emitters of NPN 1011 and 1012 are connected in common and connected to the constant current source 1041 via the NMOS 1031. The bases of NPNs 1011 and 1012 are connected to an address signal Ai and a reference power source V R , respectively, and their collectors are connected to a power source V 1 via resistors 1021 and 1022. The collectors of NPN1013 and 1014 are connected to the power supply V 1 and their bases are
It is connected to the collector of NPN1011 and the collector of NPN1012. The emitters of NPNs 1013 and 1014 are connected to constant current sources 1042 and 1043 via NMOSs 1032 and 1033, respectively.

出力/aiは入力Aiの非反転出力としてNPN1014 のエミッタから取り出され、出力/aiは入力Aiの反転出力としてNPN1013 のエミッタから取り出されている。NMOS1031〜1033のゲートは制御信号Vgに共通に接続されている。なお、制御信号Vgは前述した図8にて示した信号Vgに相当するものである。   The output / ai is taken out from the emitter of the NPN 1014 as a non-inverted output of the input Ai, and the output / ai is taken out from the emitter of the NPN 1013 as an inverted output of the input Ai. The gates of the NMOSs 1031 to 1033 are commonly connected to the control signal Vg. The control signal Vg corresponds to the signal Vg shown in FIG.

ここで、NPN1011,1012 、抵抗1021,1022と定電流源1041は差動アンプを構成しており、いま、電流制御信号Vgが“1”レベルで、アドレス信号AiがVgより高いとき、NPN1011がオン,NPN1012がオフになり、NPN1011のコレクタが“0”レベル、N
PN1012 のコレクタが“1”レベルになる。
Here, the NPN 1011, 1012, the resistors 1021, 1022 and the constant current source 1041 constitute a differential amplifier. When the current control signal Vg is “1” level and the address signal Ai is higher than Vg, the NPN 1011 is ON, NPN1012 is OFF, NPN1011 collector is at “0” level, N
The collector of PN1012 becomes “1” level.

NPN1011 のコレクタはエミッタフォロワトランジスタ1013のベースに接続されており、そのエミッタから“0”レベルの出力/aiが得られる。同様にNPN1012 のコレクタはエミッタフォロワトランジスタ1014のベースに接続されており、そのエミッタから“1”レベルの出力/aiが得られる。   The collector of the NPN 1011 is connected to the base of the emitter follower transistor 1013, and an “0” level output / ai can be obtained from the emitter. Similarly, the collector of the NPN 1012 is connected to the base of the emitter follower transistor 1014, and a "1" level output / ai can be obtained from the emitter.

アドレス信号AiがVR より低いとき、NPN1011とNPN1012は逆の動作をし、/ai出力は“1”レベル、ai出力は“0”レベルになる。 When the address signal Ai is lower than V R , the NPN 1011 and the NPN 1012 operate in reverse, the / ai output becomes “1” level and the ai output becomes “0” level.

次に、電流制御信号Vgが“0”レベルの場合、NMOS1031〜1033はすべてオフになり、このとき、電源V1 からGNDへの電流パスがなくなるため、この回路は電力を消費しなくなる。 Next, when the current control signal Vg is at the “0” level, the NMOSs 1031 to 1033 are all turned off. At this time, there is no current path from the power source V 1 to the GND, so this circuit does not consume power.

ここで、電流制御信号Vgは前述した図8(B)で示したように立上り,立下り時間が所定の時間になるように設定されるので電流の変化も図7の7aで示したようになだらかなものとすることができる。   Here, since the current control signal Vg is set so that the rise and fall times become a predetermined time as shown in FIG. 8B, the current change is also as shown by 7a in FIG. It can be gentle.

したがって、前述した図24(B)に示したような電流切換え時の電源、GNDノイズ(図24B参照)を所望の大きさに抑制することができる。   Therefore, the power supply and the GND noise (see FIG. 24B) at the time of current switching as shown in FIG. 24B can be suppressed to a desired magnitude.

次に、図11にデータキャッシュメモリ内のデコーダ・ドライバ520,メモリアレイ530,センスアンプ540(図5参照)の部分の回路電流制御の例を示す。   Next, FIG. 11 shows an example of circuit current control of the decoder / driver 520, memory array 530, and sense amplifier 540 (see FIG. 5) in the data cache memory.

図中、1161,1162はNORゲートであり、アドレスデコーダの最終段に該当する。   In the figure, reference numerals 1161 and 1162 denote NOR gates, which correspond to the final stage of the address decoder.

1171,1172はアンドゲートからなるワードドライバであり、一方の入力にアドレスデコーダ1161,1162の出力が接続され、他方の入力に制御信号Vgが接続されその出力によりワード線WL1,WL2をそれぞれ駆動する。 Reference numerals 1171 and 1172 denote word drivers composed of AND gates. The outputs of the address decoders 1161 and 1162 are connected to one input, the control signal Vg is connected to the other input, and the output causes the word lines WL 1 and WL 2 to be connected respectively. To drive.

1100は、特に限定するものではないが4MOS型のメモリセルであり、説明の便宜上、1セルだけを図示する。   Although 1100 is not particularly limited, it is a 4MOS type memory cell, and only one cell is shown for convenience of explanation.

1111,1112はビット線プルアップ用の負荷MOSである。また、1113〜
1116はビット線選択用のMOSスイッチであり、カラム選択信号C1,C2により所望のビット線がコモンデータ線1120に結合される。
Reference numerals 1111 and 1112 denote load MOSs for bit line pull-up. 1113-
Reference numeral 1116 denotes a MOS switch for bit line selection. A desired bit line is coupled to the common data line 1120 by column selection signals C 1 and C 2 .

1121,1122はNPNトランジスタによりエミッタフォロワ回路であり、コモンデータ線1120の信号をVBE(ベース・エミッタ間電圧)だけレベルシフトして
NPN1123,1124のそれぞれのベースに伝える。NPN1123,1124のエミッタは共通接続され、NMOS1141を介して電流源1151に接続されている。NPN1123,1124 のコレクタは抵抗
1131,1132を介して電源V1 に接続される。
1121 and 1122 are emitter follower circuits using NPN transistors, and the level of the signal on the common data line 1120 is shifted by VBE (base-emitter voltage).
Tell NPN 1123 and 1124 bases. The emitters of NPNs 1123 and 1124 are connected in common and connected to a current source 1151 through an NMOS 1141. The collectors of NPNs 1123 and 1124 are connected to the power source V 1 through resistors 1131 and 1132.

NPN1123,1124 、抵抗1131,1132および電流源1151とは差動アンプを構成しており、メモリセル100より読み出した微小信号を所定の振幅まで増幅する。同様に
、1150は2ケの抵抗と2ケのNPNからなる差動アンプを構成しておりNMOS1142を介して定電流源1152に接続されている。
NPNs 1123 and 1124, resistors 1131 and 1132, and current source 1151 constitute a differential amplifier, which amplifies a minute signal read from memory cell 100 to a predetermined amplitude. Similarly, reference numeral 1150 constitutes a differential amplifier composed of two resistors and two NPNs, and is connected to a constant current source 1152 via an NMOS 1142.

1150の2つの入力はNPN1123,1124 のコレクタに接続されており、それらの信号を更に増幅して端子1151に所定の振幅の出力信号を得るものである。   The two inputs 1150 are connected to the collectors of NPNs 1123 and 1124, and these signals are further amplified to obtain an output signal having a predetermined amplitude at a terminal 1151.

ここで、アンドゲート1171,1172の一方の入力には前述した電流制御信号Vg(図8参照)が接続されているため、Vgが“1”レベルのとき、アンドゲート1171
,1172は選択的に駆動され、ワード線WL1,WL2を選択的に駆動する。一方、Vgが“0”レベルのとき、アンドゲート1171,1172を始めとするワードドライバはすべてオフになる。したがって、このときメモリセル1100を始めとするすべてのメモリセルに流入する電流が遮断される。したがって、メモリアクセスしない状態での無駄な電力消費がカットされる。
Here, since the above-described current control signal Vg (see FIG. 8) is connected to one input of the AND gates 1171 and 1172, the AND gate 1171 when the Vg is at the “1” level.
, 1172 are selectively driven to selectively drive the word lines WL 1 , WL 2 . On the other hand, when Vg is at "0" level, all word drivers including AND gates 1171 and 1172 are turned off. Accordingly, at this time, the current flowing into all the memory cells including the memory cell 1100 is cut off. Therefore, useless power consumption in a state where no memory is accessed is cut.

同様に、NMOS1141,1142のゲートには電流制御信号Vgが接続されている。Vgが
“1”レベルのときNMOS1141,1142はオン、Vgが“0”レベルのときオフになる。
Similarly, a current control signal Vg is connected to the gates of the NMOSs 1141 and 1142. The NMOSs 1141 and 1142 are turned on when Vg is “1” level, and are turned off when Vg is “0” level.

したがって、メモリアクセスしない状態ではセンスアンプの電流は流れないため、無駄な電力消費がカットされる。   Accordingly, since the sense amplifier current does not flow in a state where no memory is accessed, useless power consumption is cut.

ここで、電流制御信号Vgによる回路電流の変化は図7の7aに示すようになるため、電流切り換えによる電源、GNDのノイズを許容値に抑制できるばかりでなく、メモリアクセスの開始時点には上記ノイズは消滅しているため高速な動作が可能となる。   Here, since the change in the circuit current due to the current control signal Vg is as shown in 7a of FIG. 7, not only the noise of the power supply and GND due to the current switching can be suppressed to an allowable value, but also at the start time of the memory access. Since the noise has disappeared, high speed operation is possible.

なお、図11でスイッチSW1180を信号ΦSA側に切り換えるとNMOS1141,1142がパルス的に動作される。ΦSA信号は前述したように(図6(B)参照)メモリアクセスステージt2,t3 の所定時間だけ“1”レベルになるパルス信号であり、本例の場合、メモリアクセス中の一定時間だけセンスアンプに電力を供給することになり、低電力化を図ることができる。 In FIG. 11, when the switch SW1180 is switched to the signal ΦSA side, the NMOSs 1141 and 1142 are operated in a pulse manner. As described above (see FIG. 6B), the ΦSA signal is a pulse signal that becomes “1” level for a predetermined time in the memory access stages t 2 and t 3. In this example, the ΦSA signal is only for a certain time during memory access. Since power is supplied to the sense amplifier, power can be reduced.

次に、図12にデータキャッシュメモリ112の出力ドライバ550(図5参照)の回路電流制御の例を示す。   Next, FIG. 12 shows an example of circuit current control of the output driver 550 (see FIG. 5) of the data cache memory 112.

図中、PMOS1211のドレイン,ゲート,ソースはそれぞれNPN1241 のベース,入力VIN,電源V1 に接続されている。NMOS1221のドレイン,ゲート,ソースはそれぞれNPN1241 のベース,入力VIN,抵抗1251の一端に接続されている。PMOS1222のドレイン,ゲート
,ソースはそれぞれNMOS1221のドレイン,電流制御信号Vg,NPN1241 のベースに接続されている。また、抵抗1251の両端にはコンデンサ1261が接続されている。ダイオード1231のアノードとカソードはそれぞれNPN1241 のコレクタとベースに接続されており、NPN1241 のコレクタには電源V1 が接続されている。NPN1241 のエミッタは出力端子であり、出力端子と電源V2 間には終端抵抗1252が接続されている。
In the figure, the drain, gate and source of the PMOS 1211 are connected to the base, input V IN and power source V 1 of the NPN 1241, respectively. The drain, gate, and source of the NMOS 1221 are connected to the base of the NPN 1241, the input V IN , and one end of the resistor 1251, respectively. The drain, gate, and source of the PMOS 1222 are connected to the drain of the NMOS 1221, the bases of the current control signals Vg and NPN1241, respectively. A capacitor 1261 is connected to both ends of the resistor 1251. The anode and cathode of the diode 1231 are connected to the collector and base of the NPN 1241, respectively, and the power source V 1 is connected to the collector of the NPN 1241. The emitter of NPN1241 is an output terminal, between the output terminal and the power supply V 2 terminating resistor 1252 is connected.

いま、電流制御信号Vgが“1”レベルのとき、PMOS1222はオフである。このとき、入力VINが“0”レベルなら、PMOS1211がオン,NMOS1221がオフになる。 Now, when the current control signal Vg is at “1” level, the PMOS1222 is OFF. At this time, if the input V IN is “0” level, the PMOS 1211 is turned on and the NMOS 1221 is turned off.

したがって、この時、PMOS1211を介してNPN1241 のベース電圧を立上げ、出力VOUT
“1”レベルになる。逆に、VINが“1”レベルのとき、PMOS1211がオフ,NMOS1221がオンになり、NPN1241のベース電圧を引下げ、出力VOUTは“0”レベルになる。
Accordingly, at this time, the base voltage of the NPN 1241 is raised via the PMOS 1211 and the output V OUT becomes the “1” level. Conversely, when V IN is at the “1” level, the PMOS 1211 is turned off and the NMOS 1221 is turned on, the base voltage of the NPN 1241 is lowered, and the output V OUT becomes the “0” level.

なお、ダイオード1231はNPN1241 のベース電位の低下を所定値に抑えるためのクランパーである。   The diode 1231 is a clamper for suppressing a decrease in the base potential of the NPN 1241 to a predetermined value.

また、抵抗1251は電流制限用、コンデンサ1261はスピードアップ用である。   The resistor 1251 is for current limiting, and the capacitor 1261 is for speeding up.

次にVgが“0”レベルのとき、PMOS1222はオンになる。このとき、NPN1241のベース
電位は入力VINのレベルに関係なく引き下げられ、出力VOUT は“0”レベルになる。し
たがって、NPN1241 のコレクタ電圧VOUT は“1”レベルのときよりも小さくなり低消費
電力化が図れる。
Next, when Vg is at the “0” level, the PMOS 1222 is turned on. At this time, the base potential of the NPN 1241 is pulled down regardless of the level of the input V IN , and the output V OUT becomes the “0” level. Therefore, the collector voltage V OUT of the NPN 1241 becomes smaller than that at the “1” level, and power consumption can be reduced.

したがって、前述したアドレスバッファ510,デコーダ・ドライバ520,メモリアレイ530,センスアンプ540の回路電流制御と同様な効果が得られる。   Therefore, the same effect as the circuit current control of the address buffer 510, the decoder / driver 520, the memory array 530, and the sense amplifier 540 described above can be obtained.

以上、前記第1の回路電流制御回路を用いた場合を例にとり、データキャッシュメモリ112(図1参照)の各部における回路電流制御の例を示したが、回路電流制御回路としては、前記第2の回路電流制御回路(図9参照)や他の回路電流制御回路を用いても良い
As described above, the example of the circuit current control in each part of the data cache memory 112 (see FIG. 1) has been shown taking the case of using the first circuit current control circuit as an example. The circuit current control circuit (see FIG. 9) or other circuit current control circuit may be used.

以上、本実施例においては、アクセス予告信号を使ったメモリのアクセス方法による低電力化の例を中心に説明したが、前述したように、例えば単一チップMPU内の演算器やレジスタファイルなど命令語の解釈によって動作を制御されるすべての機能回路において同様に適用することができる。また、本実施例においては、回路電流を動作実行ステージの前ステージに同期して立上げを開始する例について、説明したが、これは、必ずしも同期させる必要はなく、電流変化による電源や接地線のノイズを所定の値に抑制できる時間分、実行ステージの開始に先行して、立上げを開始すれば良い。この場合、前記PUP信号を、実行ステージの前ステージに同期してではなく所望のタイミングで有意信号とすれば良い。   As described above, in this embodiment, the description has been made mainly on the example of reducing the power consumption by the memory access method using the access notice signal. However, as described above, for example, an instruction such as an arithmetic unit or a register file in a single chip MPU. The same applies to all functional circuits whose operation is controlled by word interpretation. In this embodiment, the example in which the circuit current is started up in synchronization with the previous stage of the operation execution stage has been described. However, this is not necessarily required to be synchronized. The start-up may be started prior to the start of the execution stage for a time during which the noise can be suppressed to a predetermined value. In this case, the PUP signal may be made a significant signal at a desired timing, not in synchronization with the previous stage of the execution stage.

以上、本実施例によれば、単一チップマイクロプロセッサに含まれるメモリ回路やその他の機能回路は実際の動作に先立つアクセス予告信号により回路電流を動作開始までに所定の割合で立上げた後、所定の動作を実行する。このため、これらの機能回路は実際に動作する時だけ回路性能上必要な電力を消費するため、単一チップマイクロプロセッサの低電力化に効果がある。   As described above, according to the present embodiment, the memory circuit and other functional circuits included in the single-chip microprocessor are started up at a predetermined rate before the operation is started by the access notice signal prior to the actual operation. A predetermined operation is executed. For this reason, these functional circuits consume power necessary for circuit performance only when they are actually operated, which is effective in reducing the power consumption of a single-chip microprocessor.

また低電力化した分だけ、新しい機能を付加することもできるため、高機能化,高集積化にも効果がある。   In addition, new functions can be added as much as power is reduced, which is effective for higher functionality and higher integration.

また、各機能回路は所定の割合で回路電流を変化させられるため、電流変化による電源や接地線のノイズを所定の値に抑制できる。このため、信頼性の高い回路動作を実現できる効果がある。   Also, since each functional circuit can change the circuit current at a predetermined rate, the noise of the power supply and the ground line due to the current change can be suppressed to a predetermined value. For this reason, there is an effect that a highly reliable circuit operation can be realized.

さらにまた、本実施例を適用した各機能回路では実際の動作を開始する時点で前記電源線や接地線のノイズが消滅しているため、最良の電源状態で動作することができ、回路の高速動作にも効果がある。   Furthermore, in each functional circuit to which this embodiment is applied, since the noise of the power supply line and the ground line disappears at the time of starting actual operation, it can operate in the best power supply state, and the high speed of the circuit It is also effective for operation.

次に、本発明をSuper Scalar型のRISCプロセッサに適用した場合を説明する。   Next, the case where the present invention is applied to a Super Scalar type RISC processor will be described.

Super Scalar型のRISCプロセッサとは、主にレジスタファイルを共用する複数の演算ユニットを設け、命令を簡単にしてパイプライン段数を少なくし、かつ、1マシンサイクルに複数の命令を読み出し、複数演算ユニットを制御するものである。つまり、1マシンサイクルで複数の命令が同時に読み出され、実行されるため、複数の演算ユニットが同時に動き、処理能力を高めることができる。   The Super Scalar type RISC processor is mainly equipped with multiple arithmetic units that share register files, simplifying instructions to reduce the number of pipeline stages, and reading multiple instructions in one machine cycle. Is to control. That is, since a plurality of instructions are simultaneously read and executed in one machine cycle, a plurality of arithmetic units can operate at the same time, thereby increasing the processing capability.

図13は、第2の実施例で述べるプロセッサの命令一覧である。これらの命令を大きく類別すると、基本命令,分岐命令,ロード・ストア命令,システム制御命令に分けられる
。なお、説明の都合上、簡単のために、上記の如く命令数を制限しているが、これは、本発明を制限するものではなく、さらに命令を増やしてもよい。
FIG. 13 is an instruction list of the processor described in the second embodiment. These instructions are roughly classified into basic instructions, branch instructions, load / store instructions, and system control instructions. For convenience of explanation, the number of instructions is limited as described above for the sake of simplicity. However, this does not limit the present invention, and more instructions may be added.

第2の実施例の構成を示したのが、図14である。1400はメモリインタフェース、1401はデータキャッシュ、1402はシーケンサ、1403は命令キャッシュ、1404は32ビットの第1命令レジスタ、1405は32ビットの第2命令レジスタ、1406は第1命令用第1のデコーダ、1408は、第1命令用第2のデコーダ、1409は、第2命令用第2のデコーダ、1407は、第2命令用第1のデコーダ、1413は第1,第2命令間の競合検出回路、1410は第1演算ユニット、1412は第2演算ユニット、1411はレジスタファイルである。本実施例では、1マシンサイクルの間に最大2つの命令が並列して読み出され実行される。本実施例でのパイプライン処理の最も基本的な動作を示したものが、図15である。パイプラインはIF(Instruction Fetch),D(Decode)
,EX(Execution),T(Test),W(Write)の5段で構成される。
FIG. 14 shows the configuration of the second embodiment. 1400 is a memory interface, 1401 is a data cache, 1402 is a sequencer, 1403 is an instruction cache, 1404 is a 32-bit first instruction register, 1405 is a 32-bit second instruction register, 1406 is a first decoder for the first instruction, 1408 is a second decoder for a first instruction, 1409 is a second decoder for a second instruction, 1407 is a first decoder for a second instruction, 1413 is a conflict detection circuit between the first and second instructions, Reference numeral 1410 denotes a first arithmetic unit, 1412 denotes a second arithmetic unit, and 1411 denotes a register file. In this embodiment, a maximum of two instructions are read and executed in parallel during one machine cycle. FIG. 15 shows the most basic operation of the pipeline processing in this embodiment. Pipeline is IF (Instruction Fetch), D (Decode)
, EX (Execution), T (Test), and W (Write).

次いで、図14を用いて、動作を説明する。IFステージでは、シーケンサ1402内のプログラムカウンタによって指される2つの命令が命令キャッシュ1403より読み出され、バス1415,1417を通して、それぞれ第1命令レジスタ1404,第2命令レジスタ105にセットされる。   Next, the operation will be described with reference to FIG. In the IF stage, two instructions pointed to by the program counter in the sequencer 1402 are read from the instruction cache 1403 and set in the first instruction register 1404 and the second instruction register 105 through the buses 1415 and 1417, respectively.

Dステージでは、第1命令レジスタ1404の内容が第1デコーダ1406でデコードされ、また、第2命令レジスタ1405の内容が第2デコーダ1407でデコードされる
。その結果、第1命令レジスタ1404の第1ソースレジスタフィールドで指されるレジスタの内容がバス1425を通して、第2ソースレジスタフィールドで指されるレジスタの内容がバス1426を通して、第1演算ユニット1410へ送出される。また、第2命令レジスタの第1ソースレジスタで指されるレジスタの内容がバス1427を通して、第2ソースレジスタフィールドで指されるレジスタの内容がバス1428を通して、第2演算ユニット1412に送出される。
In the D stage, the contents of the first instruction register 1404 are decoded by the first decoder 1406, and the contents of the second instruction register 1405 are decoded by the second decoder 1407. As a result, the contents of the register pointed to by the first source register field of the first instruction register 1404 are sent to the first arithmetic unit 1410 via the bus 1425 and the contents of the register pointed to by the second source register field are sent to the first arithmetic unit 1410 via the bus 1426. Is done. The contents of the register pointed to by the first source register of the second instruction register are sent to the second arithmetic unit 1412 via the bus 1427 and the contents of the register pointed to by the second source register field are sent to the second arithmetic unit 1412 via the bus 1428.

次にEXステージの動作について説明する。EXステージでは、第1命令レジスタのオペコードの内容に従って、第1演算ユニット1410において、バス1425,1426により送られてきたデータ間の演算を行う。並列して、第2命令レジスタ1405のオペコードの内容に従って、第2演算ユニット1412において、バス1427,1428により送られてきたデータ間の演算を行う。ロードストア命令はここでアドレス計算を行う
Next, the operation of the EX stage will be described. In the EX stage, in accordance with the contents of the operation code of the first instruction register, the first arithmetic unit 1410 performs an operation between the data sent via the buses 1425 and 1426. In parallel, according to the contents of the operation code of the second instruction register 1405, the second arithmetic unit 1412 performs an arithmetic operation between the data sent via the buses 1427 and 1428. The load / store instruction performs address calculation here.

次にTステージの動作について説明する。Tステージでは、基本命令は、データを保持し続ける。ロードストア命令は、このステージで、前のEXステージで計算したアドレスをバス1429、又はバス1431を通して出力されたアドレスをもとにデータキャッシュ1401に対してメモリアクセスを実行する。なお、ストア命令の時は、同時に格納すべきデータがパス1437を通して出力される。   Next, the operation of the T stage will be described. In the T stage, the basic instruction continues to hold data. In this stage, the load / store instruction executes memory access to the data cache 1401 based on the address calculated in the previous EX stage based on the address output through the bus 1429 or the bus 1431. In the case of a store instruction, data to be stored simultaneously is output through the path 1437.

最後にWステージの動作を説明する。Wステージでは、第1演算ユニット1410の演算結果が、バス1429を通して、第1命令レジスタのディスティネーションフィールドで指されるレジスタに格納される。また、第2演算ユニット1412の演算結果が、バス1431を通して、第2命令レジスタのディスティネーションフィールドで指されるレジスタに格納される。さらに、ロード命令の時は、ロード命令内のディスティネーションフィールドで指されるレジスタへ、バス1430を通して、格納される。   Finally, the operation of the W stage will be described. In the W stage, the operation result of the first operation unit 1410 is stored through the bus 1429 in the register pointed to by the destination field of the first instruction register. Also, the operation result of the second operation unit 1412 is stored through the bus 1431 in the register pointed to by the destination field of the second instruction register. Further, in the case of a load instruction, it is stored through the bus 1430 into a register pointed to by the destination field in the load instruction.

図15は、基本命令を連続して処理するフローを示したものである。1マシンサイクルに2命令ずつ処理される。また、この例では、第1演算ユニットと第2演算ユニットは常に並列して動作している場合について描かれている。   FIG. 15 shows a flow of processing basic instructions continuously. Two instructions are processed per machine cycle. In this example, the case where the first arithmetic unit and the second arithmetic unit are always operating in parallel is illustrated.

しかしながら、第1命令と第2命令との組み合せによっては、両命令を同時に実行できないことがある。これを競合と呼ぶ。   However, depending on the combination of the first instruction and the second instruction, both instructions may not be executed simultaneously. This is called competition.

例えば、第1命令のディスティネーションレジスタフィールドで指されるレジスタと、第2命令の第1ソースレジスタフィールドで指されるレジスタ、又は、第2命令の第2ソースレジスタフィールドS2で指されるレジスタが一致する時である。   For example, a register pointed to by the destination register field of the first instruction, a register pointed to by the first source register field of the second instruction, or a register pointed to by the second source register field S2 of the second instruction It is time to match.

このような競合が発生した時、ハードウエアは第1命令レジスタに入っている命令を1マシンサイクルかけて実行し、続いて次の1マシンサイクルで第2命令レジスタを実行するように制御される。つまり、第1命令,第2命令ともに、それぞれ1マシンサイクルかけて実行される。図16に、競合が入った場合のパイプラインを示す。この例では、第1命令,第2命令共に加算命令であり、アドレス2の2命令について考えると第1命令はレジスタR(1),レジスタR(2)の内容を加算して、レジスタR(3)に格納するもの
であり、第2命令はレジスタR(4)とレジスタR(3)の内容を加算して、レジスタR(5)に格納するものである。ここで、第1命令のディスティネーションレジスタR(3)と、第2命令のソースレジスタR(3)競合している。このような場合、図16に示す通り、1マシンサイクルごとに、各命令を実行する。
When such a conflict occurs, the hardware is controlled to execute the instruction in the first instruction register over one machine cycle, followed by the second instruction register in the next one machine cycle. . That is, both the first instruction and the second instruction are executed over one machine cycle. FIG. 16 shows a pipeline when there is a conflict. In this example, both the first instruction and the second instruction are addition instructions. Considering the two instructions at address 2, the first instruction adds the contents of the registers R (1) and R (2), and the register R (1 3), and the second instruction adds the contents of the register R (4) and the register R (3) and stores the result in the register R (5). Here, there is a conflict with the destination register R (3) of the first instruction and the source register R (3) of the second instruction. In such a case, as shown in FIG. 16, each instruction is executed every machine cycle.

つまり、PC2で第1命令を実行し、並行して行われる第2命令を無効化し、続いて、次のサイクルで第1命令を無効化し、並行して行われる第2命令を実行することで実現できる。なお、1サイクルずらした場合のディスティネーションとソースのぶつかりは従来からよく知られているショートパスを使えばよい。   In other words, by executing the first instruction on the PC 2 and invalidating the second instruction executed in parallel, then invalidating the first instruction in the next cycle and executing the second instruction executed in parallel. realizable. It should be noted that a short path, which has been well known in the past, may be used for the collision between the destination and the source when shifted by one cycle.

Super Scalar型のRISCプロセッサは、図14で示した通り、演算ユニットを2つ持っており、上記のような競合の時は、必ずどちらか1つの演算ユニットしか使われない。残りの演算ユニットは、無意味な処理をしている。   As shown in FIG. 14, the Super Scalar type RISC processor has two arithmetic units, and only one of the arithmetic units is always used in the case of the above-mentioned competition. The remaining arithmetic units are processing meaningless.

Super Scalar型のRISCプロセッサにおいて、各種競合が見つけられた時に、使用される方の演算ユニットを動作開始に先立って、検出し活性化することが重要である。この様子を図14で詳しく述べる。IFステージで、第1命令,第2命令が読み出された後、Dステージで第1命令,第2命令の間の各種競合チェックが競合検出回路1413で行われる。   In the Super Scalar type RISC processor, when various types of competition are found, it is important to detect and activate the used arithmetic unit prior to the start of operation. This will be described in detail with reference to FIG. After the first instruction and the second instruction are read in the IF stage, various conflict checks between the first instruction and the second instruction are performed in the conflict detection circuit 1413 in the D stage.

各種競合チェック後、競合が生じていると認められると、一方の演算ユニットだけで実行されるので、信号1432,1433を通して、使用される演算ユニットを活性化すればよい。   If it is recognized that a conflict has occurred after various conflict checks, the operation unit is executed only by one of the operation units. Therefore, the operation unit to be used may be activated through the signals 1432 and 1433.

なお、競合が生じていない場合には、両方の演算器を活性化する。活性化された演算ユニットは、1マシンサイクルの後半に、次のマシンサイクルのための制御信号が活性化を伝えてくれば、演算ユニットは、連続して活性化される。また、活性化を伝えてこなければ、そのマシンサイクル終了後、演算器は、不活性化される。   If there is no contention, both arithmetic units are activated. The activated arithmetic unit is continuously activated if the control signal for the next machine cycle conveys activation in the second half of one machine cycle. If the activation is not transmitted, the arithmetic unit is deactivated after the machine cycle is completed.

競合が生じた場合について、詳しく記述する。第1,第2命令の競合検出回路が競合を検出すると、初めに第1命令を実行するため、第1演算ユニットは、1433を経由して
、制御信号1435より活性化を伝えられ、活性化される。同時刻、第2演算ユニットは
、制御信号1432を経由して、制御信号1436より活性化しないことが伝えられる。このため、第2演算ユニットは、不活性のまま、つまり、低消費電力のままである。
Describe in detail the case of conflict. When the conflict detection circuit for the first and second instructions detects a conflict, the first instruction unit first executes the first instruction. Therefore, the first arithmetic unit is informed of the activation by the control signal 1435 via 1433 and activated. Is done. At the same time, the second arithmetic unit is informed by the control signal 1436 that it is not activated via the control signal 1432. For this reason, the second arithmetic unit remains inactive, that is, low power consumption.

この時、信号1434は、競合が検出されたことをシーケンサ1402に伝えるものである。   At this time, the signal 1434 notifies the sequencer 1402 that a conflict has been detected.

次のサイクルで、第2命令を実行するため、第1演算ユニットは、1433を経由して
、制御信号1435より、活性化しないことが伝えられる。このため、第1演算ユニットは、不活性になる。同時刻、第2演算ユニットは、制御信号1432を経由して制御信号1436より、活性化することが伝えられる。
In order to execute the second instruction in the next cycle, the first arithmetic unit is informed by the control signal 1435 via 1433 that it is not activated. For this reason, the first arithmetic unit becomes inactive. At the same time, the second arithmetic unit is informed by the control signal 1436 via the control signal 1432 that it is activated.

以上、本実施例のように、2命令同時処理において、各種競合が見つけられた時に、使用される方の演算ユニットを動作開始に先立って、検出し活性化することにより、活性化されない演算ユニットは、電力の消費を抑えることが可能であり、全体の消費電力を抑える効果がある。   As described above, as in this embodiment, when various conflicts are found in the simultaneous processing of two instructions, an arithmetic unit that is not activated by detecting and activating the arithmetic unit to be used prior to the start of operation. Can reduce power consumption, and has the effect of reducing overall power consumption.

図17〜図19は、図14の第1演算ユニット1410,第2演算ユニット1412,レジスタファイル1411を抜き出したものであり、接続関係は省略して書いてある。   17 to 19 show the first arithmetic unit 1410, the second arithmetic unit 1412, and the register file 1411 extracted from FIG. 14, and the connection relationship is omitted.

図17は、第1,2演算ユニットに少なくとも1つ以上差動入力を利用した回路、例えばECL回路で構成したものを示している。このような演算ユニットで構成したSuper
Scalar型のマイクロプロセッサにおいて、競合が検出された時、1マシンサイクルずつ実行されるため、実際に使用する第1又は第2演算ユニットは、信号線1435又は1436によって、活性化され予め目的の動作をするために定められた値の電流を電流源より流し実行されるが、残りの活性化されなかった演算器は電流源の流す電流を小さくするか流さない状態のままであるため、電力を消費しない。
FIG. 17 shows a circuit using at least one or more differential inputs for the first and second arithmetic units, for example, an ECL circuit. Super composed of such arithmetic units
In the Scalar type microprocessor, when a conflict is detected, each machine cycle is executed. Therefore, the first or second arithmetic unit to be actually used is activated by a signal line 1435 or 1436 in advance. However, the remaining non-activated computing units are kept in a state where the current flowing through the current source is reduced or not flowing, so that the power is not supplied. Do not consume.

図18,図19,図20は、第1,2演算ユニットに少なくとも1つ以上のバイポーラトランジスタのベース・エミッタ間で論理をとる回路、例えば、ECL回路,BiCMOS回路で構成したものを示している。なお、この回路構成そのものは、特開昭60−175167号公報に詳しく記述されている。この回路は、バイポーラトランジスタがONしていると、直流電流が流れ、電力が増える欠点を持つ。このため、競合などが生じた時使用していない演算ユニットの電力を消費させないことは有効である。制御方法は、図17で説明したものと同様である。   18, FIG. 19, and FIG. 20 show a circuit that takes logic between the base and emitter of at least one or more bipolar transistors in the first and second arithmetic units, for example, an ECL circuit or a BiCMOS circuit. . This circuit configuration itself is described in detail in Japanese Patent Application Laid-Open No. 60-175167. This circuit has the disadvantage that when the bipolar transistor is ON, a direct current flows and power increases. For this reason, it is effective not to consume the power of the arithmetic units that are not used when competition or the like occurs. The control method is the same as that described in FIG.

図18と図19の違いは、電力を削減する方法が異なる点である。図18は、バイポーラトランジスタのコレクタ側とVccの間にPチャネルMOSトランジスタが挿入されており、このPチャネルMOSトランジスタをONさせた時、動作状態になり、OFFさせた時、不活性状態となる。   The difference between FIG. 18 and FIG. 19 is that the method for reducing power is different. In FIG. 18, a P-channel MOS transistor is inserted between the collector side of the bipolar transistor and Vcc. When this P-channel MOS transistor is turned on, it is in an operating state, and when it is turned off, it is in an inactive state. .

図19は、回路としては、動作状態にあるが、信号1435又は1436がONになると、強制的にバイポーラトランジスタをOFFさせ、バイポーラトランジスタのコレクタ−エミッタ間電流を流さなくさせる。これは、強制的に直流電流をカットさせたことを意味しており、これにより消費電力を削減できる。   In FIG. 19, although the circuit is in an operating state, when the signal 1435 or 1436 is turned ON, the bipolar transistor is forcibly turned OFF, and the collector-emitter current of the bipolar transistor is not allowed to flow. This means that the direct current is forcibly cut, thereby reducing the power consumption.

図20は、図14の第1演算ユニット1410,第2演算ユニット1412,レジスタファイル1411、さらにそれらのタイミングをとるクロック分配系を抜き出したものである。図20の分配系で注目すべき点は、分配系内のクロックドライバAである。   FIG. 20 shows the first arithmetic unit 1410, the second arithmetic unit 1412, the register file 1411 of FIG. 14, and the clock distribution system that takes their timing. A notable point in the distribution system of FIG. 20 is the clock driver A in the distribution system.

クロックドライバAは、それぞれ第1演算ユニット1410,レジスタファイル1411,第2演算ユニット1412だけに独立にクロックを供給している。このような分配系を含む演算ユニットで構成されたSuper Scalar型のマイクロプロセッサにおいて、競合が検出された時、1マシンサイクルごとに実行されるが、実際に使用しない第1又は第2演算ユニットは、信号線1435又は、1436によって、クロック分配系の特定エリアへのクロックを止めるように制御する。これにより、各ブロックに供給するクロック分配系以下の論理が固定される。つまり、2つある演算ユニット内のどちらか一方の演算ユニットは、クロックが供給されており、動作しているが、残りの一方の演算ユニットは、クロックの供給が行われない。   The clock driver A supplies clocks independently only to the first arithmetic unit 1410, the register file 1411, and the second arithmetic unit 1412, respectively. In a Super Scalar type microprocessor composed of arithmetic units including such a distribution system, when a conflict is detected, it is executed every machine cycle, but the first or second arithmetic unit that is not actually used is The signal line 1435 or 1436 is controlled to stop the clock to a specific area of the clock distribution system. As a result, the logic below the clock distribution system supplied to each block is fixed. That is, either one of the two arithmetic units is supplied with a clock and is operating, but the other one arithmetic unit is not supplied with a clock.

CMOS回路やBiCMOS基本回路は、コンプリメンタリな特性を持ち、通常の消費電力はきわめて小さいが、入力データが変化する過渡期に電力を消費する。クロックの供給が止められることは、論理が固定され、変化しないことを意味する。このため、消費電力が削減できる効果があり、図20の制御方法は、CMOS回路やBiCMOS基本回路を含む演算ユニットで構成されたものに有効である。   A CMOS circuit or a BiCMOS basic circuit has complementary characteristics and normally consumes very little power, but consumes power during a transition period when input data changes. Stopping the supply of the clock means that the logic is fixed and does not change. For this reason, there is an effect that power consumption can be reduced, and the control method of FIG. 20 is effective for a configuration including an arithmetic unit including a CMOS circuit and a BiCMOS basic circuit.

以上、図17〜図20までで述べたように、演算ユニットを構成する回路形式に対応して、不活性時の消費電力を削減することが可能である。なお、図17,図18の回路形式の組み合せによる演算ユニットの構成においてもそれぞれに対応して消費電力を削減できることは明白である。   As described above with reference to FIG. 17 to FIG. 20, it is possible to reduce the power consumption in the inactive state corresponding to the circuit format constituting the arithmetic unit. It is obvious that the power consumption can be reduced corresponding to each of the configurations of the arithmetic units by combining the circuit formats shown in FIGS.

本実施例では、レジスタ間の競合同士の組み合せにより同時処理できないもの、(例え
ば、ロード命令とロード命令の組み合せなど)が挙げられる。その例として、図21にその組み合せを示す。しかしながら、その組み合せは、ハードウエア上のインプリメンテーションで決まるもので本発明とは直接関係ない。つまり、図21でその組み合せに1つ以上の組み合せに制約があった時、命令の組み合せによる競合が成立したことになる。
In the present embodiment, there are those that cannot be processed simultaneously by a combination of conflicts between registers (for example, a combination of a load instruction and a load instruction). As an example, FIG. 21 shows the combination. However, the combination is determined by hardware implementation and is not directly related to the present invention. That is, when one or more combinations are restricted in the combination shown in FIG. 21, a conflict due to the combination of instructions is established.

更に、図14に戻って、競合検出回路1413及び、デコーダ1406,1408,
1409,1407の他の動作につき、第3の実施例として説明する。
Further, returning to FIG. 14, the contention detection circuit 1413 and the decoders 1406, 1408,
Other operations 1409 and 1407 will be described as a third embodiment.

先に述べた例は、各種競合が見つけられた時に、使用される方の演算ユニットの動作開始に先立って、検出し活性化したが、本第3の実施例は、各種競合が見つけられた時、使用されない方の演算ユニットを動作開始に先立って、検出し、不活性化するものである。この様子を図14を用いて同様に詳しく述べる。IFステージで、第1命令,第2命令が読み出された後、Dステージで、第1命令,第2命令の間の各種競合チェックが第1命令
,第2命令間の競合検出回路1413で行われる。各種競合チェック後、競合が生じていることが認められるが、一方の演算ユニットだけで実行されるので、信号1432,1433を通して残りの演算ユニットを不活性化すればよい。つまり第1,第2命令間の競合検出回路が競合を検出すると、初めに、第1命令を実行するが、第2命令は信号1432によって第2命令用第1デコーダを無効化し、第2演算ユニットを制御信号1436を通して不活性化させる。この時信号1434は、競合が検出されたことをシーケンサ1402に伝えるものである。次のサイクルで、競合検出回路の出力1433により、第1命令用第1デコーダを無効化し、第1演算ユニットを制御信号1435を通して不活性化させる。これと並行して、第2命令は実行される。なお、不活性化された演算ユニットは、1マシンサイクル内の後半で再び活性化するように制御することで、続く命令の実行は可能となる。
In the example described above, when various types of conflicts are found, detection and activation are performed prior to the start of the operation of the arithmetic unit to be used. However, in the third example, various types of conflicts are found. At this time, the computing unit which is not used is detected and inactivated prior to the start of the operation. This situation will be described in detail with reference to FIG. After the first instruction and the second instruction are read out in the IF stage, various conflict checks between the first instruction and the second instruction are performed in the conflict detection circuit 1413 between the first instruction and the second instruction in the D stage. Done. After various conflict checks, it is recognized that a conflict has occurred, but since it is executed by only one arithmetic unit, the remaining arithmetic units may be deactivated through signals 1432 and 1433. In other words, when the conflict detection circuit between the first and second instructions detects a conflict, the first instruction is executed first. However, the second instruction invalidates the first decoder for the second instruction by the signal 1432 and performs the second operation. The unit is deactivated through control signal 1436. At this time, the signal 1434 notifies the sequencer 1402 that a conflict has been detected. In the next cycle, the first decoder for the first instruction is invalidated by the output 1433 of the conflict detection circuit, and the first arithmetic unit is inactivated through the control signal 1435. In parallel with this, the second instruction is executed. The deactivated arithmetic unit is controlled so as to be activated again in the second half of one machine cycle, so that subsequent instructions can be executed.

以上、本実施例のように、2命令同時処理において、同時に実行する可能性のある2命令間に競合があるか否かを検出し、競合がある場合に、使用しない演算ユニットを不活性化することにより全体の消費電力を抑える効果がある。   As described above, in the simultaneous processing of two instructions as in the present embodiment, it is detected whether or not there is a conflict between two instructions that may be executed at the same time. This has the effect of reducing the overall power consumption.

図17〜図19は、図14の第1演算ユニット1410,第2演算ユニット1412,レジスタファイル1411を抜き出したものであり、接続関係は省略して書いてある。各演算ユニットへの低消費電力の仕方は先の第2の実行例と同様である。   17 to 19 show the first arithmetic unit 1410, the second arithmetic unit 1412, and the register file 1411 extracted from FIG. 14, and the connection relationship is omitted. The manner of low power consumption for each arithmetic unit is the same as in the second execution example.

このような演算ユニットで構成したSuper Scalar型のマイクロプロセッサにおいて、競合が検出された時、1マシンサイクルずつ実行されるが、実際に使用しない第1又は第2演算ユニットは、信号線1435又は1436によって、使用しない方の消費電力を削減する。この時、実際に使用されている第1又は第2演算ユニットは、目的の動作をするために設けられた値の電流を電流源より流し続ける。つまり、どちらか一方は、所定の電流が流れ続け、残りの一方が消費電力を削減するように制御する。   In a Super Scalar type microprocessor configured with such an arithmetic unit, when a conflict is detected, each machine cycle is executed, but the first or second arithmetic unit that is not actually used is a signal line 1435 or 1436. To reduce the power consumption of the unused one. At this time, the first or second arithmetic unit that is actually used continues to flow a current of a value provided for the intended operation from the current source. That is, either one is controlled so that a predetermined current continues to flow and the remaining one reduces power consumption.

なお、第2の実施例と同様に、図17,図18の回路形式の組み合わせによる演算ユニットの構成においてもそれぞれに対応して消費電力を削減できることは明白である。   As in the case of the second embodiment, it is obvious that the power consumption can be reduced correspondingly in the configuration of the arithmetic unit by the combination of the circuit formats of FIGS.

本実施例では、レジスタ間の競合について述べたが、その他の競合として、先の第2の実施例の中でも説明したように命令同士の組み合せにより同時処理できないもの、(例え
ば、ロード命令とロード命令の組み合せなど)が挙げられる。図21はその組み合せの例を示す。しかしながら、その組み合せは、ハードウエア上のインプリメンテーションで決まるもので本発明とは直接関係ないのは、先の第2の実施例でも述べた通りであり、図
21でその組み合せに1つ以上の組み合せに制約があった時、命令の組み合せによる競合が成立したことになる。
In this embodiment, the conflict between the registers has been described. As other conflicts, as described in the previous second embodiment, those that cannot be processed simultaneously by a combination of instructions (for example, a load instruction and a load instruction) For example). FIG. 21 shows an example of the combination. However, the combination is determined by hardware implementation and is not directly related to the present invention as described in the second embodiment. One or more combinations are shown in FIG. When there is a restriction on the combination of instructions, a conflict due to the combination of instructions is established.

さらに、本実施例では、基本命令の組み合せについて述べたが、分岐,命令,ロード命令のすぐ次の命令でロードしたデータを使用する(これをロードユースと呼ぶ)時にも、演算ユニットは、無意味な処理をする場合がある。この場合も本発明は有効である。図
22は、分岐命令の時を示すものであり、図23は、ロードユースの時である。なお、これらの動作は、容易に類推可能であるため省略する。
Furthermore, in the present embodiment, the combination of basic instructions has been described. However, when using data loaded by an instruction immediately following a branch, instruction, or load instruction (this is called a load use), there is no arithmetic unit. There is a case to do meaningful processing. Also in this case, the present invention is effective. FIG. 22 shows a branch instruction, and FIG. 23 shows a load use. These operations are omitted because they can be easily analogized.

さらに、NOP命令,システム制御命令など、演算ユニットを実際に操作しない命令が検出された時、検出された側の演算ユニットを不活性化することも可能である。   Furthermore, when an instruction that does not actually operate the arithmetic unit, such as a NOP instruction or a system control instruction, is detected, the detected arithmetic unit can be deactivated.

図14において、第1命令用第2デコーダ1408,第2命令用第2デコーダ1409は、それぞれの命令が演算ユニットを実際に操作するかどうかの命令をデコードすることで検出する回路である。   In FIG. 14, a first instruction second decoder 1408 and a second instruction second decoder 1409 are circuits that detect by decoding an instruction as to whether or not each instruction actually operates the arithmetic unit.

第1命令用第2デコーダ1408で検出すると信号線1435を通して第1演算ユニット1410を不活性化し、さらに第2命令用第2デコーダ1409で検出すると、信号線1436を通して、第2演算ユニット1412を不活性化する。これによって、演算ユニットの消費電力は削減できる効果がある。   When detected by the second decoder for first instruction 1408, the first arithmetic unit 1410 is deactivated through the signal line 1435, and when detected by the second decoder for second instruction 1409, the second arithmetic unit 1412 is deactivated through the signal line 1436. Activate. As a result, the power consumption of the arithmetic unit can be reduced.

さらに、本実施例では、2命令のSuper Scalar型のマイクロプロセッサについて述べたSuper Scalar型の別の制御方式においても有効であり、さらに2命令に限るものではなく
、複数命令の同時処理機能を持つプロセッサに有効である。また、RISCプロセッサに限定されることなく、CISCプロセッサに適用できることは言うまでもない。
Furthermore, this embodiment is also effective in another Super Scalar type control method described for a two-instruction Super Scalar type microprocessor, and is not limited to two instructions, and has a simultaneous processing function for a plurality of instructions. Valid for the processor. Needless to say, the present invention is not limited to a RISC processor, and can be applied to a CISC processor.

なお、以上、本実施例においては、単一チップマイクロプロセッサを例にとり説明したが、他の1チップLSI等の半導体集積回路装置等においても、その各機能回路ブロックの動作開始を予知し機能回路ブロックの回路電流を制御することにより同様の効果を得ることができる。この場合、その動作開始の予知方法、および、回路電流制御のタイミングは適用する装置の構成,用途に従うが、動作開始に先立ち、動作開始を予知し、電流切り替え等に起因する誤動作が生じないよう動作開始に一定時間先行して機能回路ブロックを活性化することにより、低消費電力化と正常動作を確保し、ひいては装置の高速化を図るという本実施例の本質に何ら異なるものではない。   In the present embodiment, the single-chip microprocessor has been described as an example. However, in other semiconductor integrated circuit devices such as a one-chip LSI, the functional circuit predicts the start of the operation of each functional circuit block. A similar effect can be obtained by controlling the circuit current of the block. In this case, the operation start prediction method and the circuit current control timing are in accordance with the configuration and application of the device to be applied, but the operation start is predicted prior to the operation start, so that no malfunction caused by current switching or the like occurs. This is not different from the essence of the present embodiment in that the functional circuit block is activated for a certain period of time before the start of the operation, thereby ensuring low power consumption and normal operation, and thus increasing the speed of the apparatus.

なお、さらに本実施例は半導体集積回路のみならず、一般の電子回路においても、同様に実現可能である。   Furthermore, this embodiment can be similarly realized not only in a semiconductor integrated circuit but also in a general electronic circuit.

本発明の第1の実施例に係るマイクロプロセッサの構成を示すブロック図。1 is a block diagram showing a configuration of a microprocessor according to a first embodiment of the present invention. マイクロプロセッサの命令実行ステージを示す説明図。FIG. 3 is an explanatory diagram showing an instruction execution stage of a microprocessor. マイクロプロセッサの動作タイミングを示すタイミングチャートを示す図。The figure which shows the timing chart which shows the operation timing of a microprocessor. アクセス予告信号発生回路の構成を示すブロックおよびその動作を示すタイミングチャートを示す図。The figure which shows the timing chart which shows the block which shows the structure of an access warning signal generation circuit, and its operation | movement. キャッシュメモリの構成を示すブロック図。The block diagram which shows the structure of a cache memory. 電流制御信号発生回路を示す回路およびその動作を示すタイミングチャートを示す図。The figure which shows the timing chart which shows the circuit which shows a current control signal generation circuit, and its operation | movement. アクセス予告信号と電源電流の関係を示すタイムチャートを示す図。The figure which shows the time chart which shows the relationship between an access warning signal and power supply current. 電流制御信号発生回路の構成を示すブロックおよびその動作を示すタイミングチャートを示す図。The figure which shows the block which shows the structure of a current control signal generation circuit, and the timing chart which shows the operation | movement. 電流制御信号発生回路を示すブロックおよびその動作を示すタイミングチャートを示す図。The figure which shows the timing chart which shows the block which shows a current control signal generation circuit, and its operation | movement. アドレスバッファの構成を示す回路。A circuit showing the configuration of the address buffer. メモリセル周辺回路を示すブロック図。The block diagram which shows a memory cell peripheral circuit. 出力ドライブ回路を示す回路図。The circuit diagram which shows an output drive circuit. 命令一覧を示す図。The figure which shows a command list. 第2の実施例に係るマイクロプロセッサの構成を示すブロック図。The block diagram which shows the structure of the microprocessor which concerns on a 2nd Example. 第2の実施例で示されたマイクロプロセッサの命令実行ステージを示す説明図。Explanatory drawing which shows the instruction execution stage of the microprocessor shown by 2nd Example. 各種競合が行った時のマイクロプロセッサの命令実行ステージを示す説明図。Explanatory drawing which shows the instruction execution stage of the microprocessor at the time of various competition. 演算ユニット内の回路例を示す図。The figure which shows the circuit example in an arithmetic unit. 演算ユニット内の他の回路例を示す図。The figure which shows the other circuit example in an arithmetic unit. 演算ユニット内の他の回路例を示す図。The figure which shows the other circuit example in an arithmetic unit. 演算ユニットへ供給されるクロック信号の分配系の回路を示す図。The figure which shows the circuit of the distribution system of the clock signal supplied to an arithmetic unit. 2命令同時処理における命令同士の組み合せルールを示す説明図。Explanatory drawing which shows the combination rule of the instructions in 2 instructions simultaneous processing. 分岐命令の命令実行ステージを示す説明図。Explanatory drawing which shows the instruction execution stage of a branch instruction. ロードユース時の命令実行ステージを示す説明図。Explanatory drawing which shows the instruction execution stage at the time of load use. 回路電流の変化とノイズ電圧の関係を示す説明図。Explanatory drawing which shows the relationship between the change of a circuit current, and a noise voltage.

符号の説明Explanation of symbols

101…プログラムカウンタ、102…メモリアドレスレジスタ、103…命令キャッシュメモリ、104…命令データレジスタ、111…メモリアドレスレジスタ、112…データキャッシュメモリ、113…メモリデータレジスタ、120…第1の命令デコーダ
、130…第2の命令デコーダ、140…演算器、150…レジスタファイル、160…入出力制御回路、410…メモリアクセス予知回路、570…電流制御信号発生回路、
940…能動回路、1100…メモリセル、1150…センスアンプ。
DESCRIPTION OF SYMBOLS 101 ... Program counter, 102 ... Memory address register, 103 ... Instruction cache memory, 104 ... Instruction data register, 111 ... Memory address register, 112 ... Data cache memory, 113 ... Memory data register, 120 ... First instruction decoder, 130 ... second instruction decoder, 140 ... arithmetic unit, 150 ... register file, 160 ... input / output control circuit, 410 ... memory access prediction circuit, 570 ... current control signal generation circuit,
940 ... Active circuit, 1100 ... Memory cell, 1150 ... Sense amplifier.

Claims (4)

電源系インダクタンスL,許容電源ノイズVn ,回路電流の切換え幅ΔIの機能回路ブロックと、該機能回路ブロックを、その動作開始に時間T先行して活性化する動作開始予告信号を発生する手段を有し、かつ、前記T,L,VnおよびΔIは、
Figure 2007220148
の関係を満たすことを特徴とする半導体集積回路装置。
A function circuit block having a power supply system inductance L, an allowable power supply noise V n , and a circuit current switching width ΔI, and means for generating an operation start notification signal for activating the function circuit block in advance by time T And T, L, V n and ΔI are
Figure 2007220148
A semiconductor integrated circuit device satisfying the following relationship:
動作の開始を予引する予告信号を受信し、該予告信号受信時より所定の時間をかけて回路電流を所定の値まで増加することにより低電力消費モードより動作モードを移行し、動作の実行が終了後、所定の時間をかけて回路電流を低電力消費モードまで減少し、低電力消費モードに移行する機能を有することを特徴とする機能回路ブロック。   Receiving a warning signal that predicts the start of operation, increasing the circuit current to a predetermined value over a predetermined time from the time of receiving the warning signal, shifting the operation mode from the low power consumption mode and executing the operation A functional circuit block characterized by having a function of reducing the circuit current to the low power consumption mode over a predetermined time and shifting to the low power consumption mode after completion of. アクセスを予告するアクセス予告信号により活性化し、アドレス信号とリード・ライト制御信号とデータ入出力信号とに基づいて、所定のメモリ動作を実行する事を特徴とするメモリ。   A memory which is activated by an access notice signal for giving a notice of access and executes a predetermined memory operation based on an address signal, a read / write control signal and a data input / output signal. 請求項1記載の半導体集積回路装置と、請求項2記載の機能回路ブロックと、請求項3記載のメモリと、のうち、少なくとも1つを有することを特徴とする情報処理装置。   An information processing apparatus comprising at least one of the semiconductor integrated circuit device according to claim 1, the functional circuit block according to claim 2, and the memory according to claim 3.
JP2007150536A 1989-12-15 2007-06-06 Microprocessor Pending JP2007220148A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007150536A JP2007220148A (en) 1989-12-15 2007-06-06 Microprocessor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP32492889 1989-12-15
JP2007150536A JP2007220148A (en) 1989-12-15 2007-06-06 Microprocessor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006222851A Division JP2006351034A (en) 1989-12-15 2006-08-18 Semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2007220148A true JP2007220148A (en) 2007-08-30

Family

ID=38497285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007150536A Pending JP2007220148A (en) 1989-12-15 2007-06-06 Microprocessor

Country Status (1)

Country Link
JP (1) JP2007220148A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014029638A (en) * 2012-07-31 2014-02-13 Canon Inc Information processing apparatus, and control method for the same
US8935553B2 (en) 2011-07-06 2015-01-13 Renesas Mobile Corporation Semiconductor device, radio communication terminal using same, and clock frequency control method
US9176568B2 (en) 2011-07-06 2015-11-03 Renesas Electronics Corporation Clock control and power management for semiconductor apparatus and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935553B2 (en) 2011-07-06 2015-01-13 Renesas Mobile Corporation Semiconductor device, radio communication terminal using same, and clock frequency control method
US9176568B2 (en) 2011-07-06 2015-11-03 Renesas Electronics Corporation Clock control and power management for semiconductor apparatus and system
US9195260B2 (en) 2011-07-06 2015-11-24 Renesas Electronics Corporation Semiconductor device, radio communication terminal using same, and clock frequency control method
JP2014029638A (en) * 2012-07-31 2014-02-13 Canon Inc Information processing apparatus, and control method for the same

Similar Documents

Publication Publication Date Title
US5734913A (en) Low power consumption semiconductor integrated circuit device and microprocessor
US5860127A (en) Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
US6597620B1 (en) Storage circuit with data retention during power down
KR100719360B1 (en) Digital logic processing circuit, digital processing device including the same, system-on chip including the same, system including the same, and clock signal gating method
EP0230960A2 (en) Microcomputer having a highspeed operation mode and a low-speed operation mode
US7440335B2 (en) Contention-free hierarchical bit line in embedded memory and method thereof
KR20080106414A (en) Bit line precharge in embedded memory
US6961276B2 (en) Random access memory having an adaptable latency
JPH07272486A (en) Synchronous type memory having power saving access mode
JP2888201B2 (en) Semiconductor memory integrated circuit
US5442775A (en) Two clock microprocessor design with stall
JP4927937B2 (en) Multi-mode, uniform latency clock generator circuit device
JP2007220148A (en) Microprocessor
JP2005235203A (en) Microprocessor
KR100190385B1 (en) Page mode mask rom using 2 stage latch and its controlling method
JP3729827B2 (en) Microprocessor
JP3718513B2 (en) Information processing device
JPH10207859A (en) Power consumption control method, semiconductor integrated circuit device and microprocessor
JP2006351034A (en) Semiconductor integrated circuit
US20020184431A1 (en) Method and apparatus for low power memory bit line precharge
US6831495B2 (en) Method and circuit for optimizing power consumption in a flip-flop
US6016551A (en) Method and apparatus for masking and unmasking a clock signal in an integrated circuit
US6285579B1 (en) System and method for enabling/disabling SRAM banks for memory access
JP2004241021A (en) Storage device and leakage current reducing method
JPH0573703A (en) Semiconductor integrated circuit device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902