JP2004164670A - Semiconductor integrated circuit device, functional circuit block, memory, and information processor - Google Patents
Semiconductor integrated circuit device, functional circuit block, memory, and information processor Download PDFInfo
- Publication number
- JP2004164670A JP2004164670A JP2004009976A JP2004009976A JP2004164670A JP 2004164670 A JP2004164670 A JP 2004164670A JP 2004009976 A JP2004009976 A JP 2004009976A JP 2004009976 A JP2004009976 A JP 2004009976A JP 2004164670 A JP2004164670 A JP 2004164670A
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
Description
本発明は、高速アクセスや多ビット出力等を要求される内蔵キャッシュメモリ等の低消費電力化が望まれる機能回路ブロックを有する、マイクロプロセッサ等の半導体集積回路に関するものである。 The present invention relates to a semiconductor integrated circuit such as a microprocessor having a functional circuit block that requires low power consumption, such as a built-in cache memory that requires high-speed access and multi-bit output.
以下、従来の技術をマイクロプロセッサを例に取り説明する。 Hereinafter, a conventional technique will be described using a microprocessor as an example.
近年の高速性能マイクロプロセッサ(以下MPUと記す)は、内部の命令実行速度と外部主メモリからの命令およびオペランドの内部への転送速度の不一致によって生じる問題を解決するために、MPU内部にキャッシュメモリを内蔵することや並列度を高めて処理性能の向上を図るため複数の演算器を内蔵させることが一般的になってきており、その結果、消費電力の増大が深刻な問題になってきている。 Recent high-speed microprocessors (hereinafter referred to as MPUs) have a cache memory inside the MPU 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 to the inside. In order to improve the processing performance by increasing the degree of parallelism and increasing the degree of parallelism, it has become common to incorporate a plurality of arithmetic units, and as a result, the increase in power consumption has become a serious problem. .
キャッシュメモリを内蔵する主目的は、MPUの実行速度を見合ったスピードで命令やデータを高速にフェッチすることである。 The main purpose of incorporating a cache memory is to fetch instructions and data at high speed at a speed commensurate with 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-40 MHz, but it is expected that RISC type MPUs exceeding 100 MHz will appear in the near future.
このような、超高速MPUでは内蔵キャッシュメモリとして数ns以下の超高速アクセスが要求される。 Such an ultra-high-speed MPU requires an 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 feature that the number of words is relatively small, but the number of bits read out per word is extremely large (8 bits in a general-purpose SRAM). For example, parallel reading of several hundred bits is generally realized even in today's 32-bit MPU, and it is expected 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 ultra-high-speed memory. However, this circuit constantly consumes relatively large power. Also, power is consumed in other parts of the memory even if no memory access occurs without special power saving means.
すなわち、超高速アクセス、多ビット並列出力のキャッシュメモリを内蔵する単一チップMPUではメモリ回路の消費電力が極端に大きくなるため適切な低消費電力化手段がなければ、キャッシュメモリのオンチップ化そのものが、やがて不可能になると予想される。 That is, the power consumption of the memory circuit becomes extremely large in a single-chip MPU incorporating a cache memory of ultra-high-speed access and multi-bit parallel output, so that there is no appropriate means for reducing power consumption. But it is expected that it will soon become impossible.
低消費電力化技術として知られている第1の従来技術としては、メモリアドレス信号と等価なチップセレクト信号CSにより、メモリ回路をスタンドバイモードの消費電力と通常動作モードの消費電力に切換え実効的な消費電力を低減するものがある。 A first prior art known as a low power consumption technique is to switch a memory circuit between a standby mode power consumption and a normal operation mode power consumption by a chip select signal CS equivalent to a memory address signal. There are those that reduce the power consumption.
また、第2の従来技術としては、たとえばATD(Addres Transition Detector)回路により、アドレス信号の変化を検知し、その信号により内部動作に必要なクロックパルスを生成し、メモリのセンスアンプ等を必要な期間だけ動作させて消費電力を低減するものが知られている。 Further, as a second conventional technique, a change in an address signal is detected by, for example, an ATD (Addres Transition Detector) circuit, and a clock pulse required for an internal operation is generated based on the signal, thereby requiring a memory sense amplifier or the like. A device that operates only during a period to reduce power consumption is known.
また、特許文献1などに記載されているように、MPUなどの論理LSIではa)複数の機能ブロックに対応して電力制御命令を設け、プログラムにより該当する機能ブロックを活性又は非活性状態に切換えることにより低消費電力を実現する方法、b)機能ブロック毎にクロック制御回路を設け、クロック供給の有無を制御することにより低消費電力を実現する方法、c)機能ブロック毎に電力制御回路を設け、命令実行時に使用しない機能ブロックの電源供給を遮断することにより低消費電力を実現する方法、などが公知である。しかしながら、上記従来技術では通常電力消費状態と低消費電力状態相互間の切換え時の電源電流の急激な変化によって電源線や接地線に誘起される雑音に対する考慮が欠如しており、以下のような問題点がある。
1)低消費電力状態と通常動作状態とで回路電流が短時間に大きく変化するため電源線,GND線のインダクタンスや抵抗により、大きな雑音電圧が発生する。
2)上記雑音電圧により、機能回路自身あるいは他の内部回路が誤動作する。また、仮に誤動作が起きなかった場合でも上記雑音電圧が消滅するまでには一定の時間が必要なため、メモリアクセススピードの実効的な低下が引き起こされる。
Further, as described in
1) Since the circuit current greatly changes between the low power consumption state and the normal operation state in a short time, 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 another internal circuit malfunctions due to the noise voltage. Further, even if no malfunction occurs, a certain time is required until the noise voltage disappears, so that the memory access speed is effectively reduced.
図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,
図24(B)はSWを時刻t1 でオンし、時間t2 でオフした場合の電源電流iの変化、電源電位v1 ,GND電位v2 の変化の様子を示したものである。 FIG. 24B shows how the power supply current i changes and the power supply potential v 1 and the GND potential v 2 change 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, 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, the power supply potential v 1 of the circuit as shown changes greatly to have a peak in the negative direction, the GND potential v 2 changing to have a peak in the positive direction increases. Conversely, when the switch SW is turned off at the time t 2 , the circuit current i changes from the steady current to 0 during the time Δt 2 . At this time, the power supply potential v 1 of the circuit changes to have a peak in the positive direction increases, GND potential v 2 changes greatly 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
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
1322 The L = 5 nH assuming the power supply noise v n are as follows.
すなわち、5V又はそれ以下の電源電圧で動作する今日の半導体集積回路では前記のような大きな電源雑音は許容しがたいものになる。 That is, in today's semiconductor integrated circuits operating at a power supply voltage of 5 V or less, such large power supply noise becomes unacceptable.
また、仮に前記雑音を適正な大きさまで低減できたとしても、図24(B)に示すように、電源、GND雑音が消失するまでにはΔt1 時間,Δt2 時間が必要である。この時間は電流の切換え時間に依存するが通常1〜3nsが必要である。数ns以下のアクセスタイムが必要な超高速メモリなどではこの時間は受け入れ難いものであり、高速動作の大きな障害になる。 Even if the noise can be reduced to an appropriate level, Δt 1 time and Δt 2 time are required until the power supply and the GND noise disappear, as shown in FIG. This time depends on the current switching time, but usually requires 1 to 3 ns. This time is unacceptable in an ultra-high-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.
CPIとは、1命令に要するサイクル数である。 The CPI is the number of cycles required for one instruction.
ここ数年の技術で注目されるのが、PISCプロセッサである。RISCは、上式の
CPIを1に近づけることにより性能を向上させることを主目的としている。
Attention in recent years' technology is the PISC processor. RISC is primarily intended to improve performance by bringing the above CPI closer to one.
最近、RISCの次の技術として、Super Scalar,VLIWなどが注目されはじめた。この技術は、最大n個の命令を同時に読み出し、n個の命令を同時に解釈し、n個の命令を同時に実行するもので、ハードウエアの並列度を増すことにより上式のCPIを1/nまで下げて、計算機の性能を向上させるものである。このSuper Scalar,VLIWなどの高速動作の演算回路としては、バイポーラトランジスタなどによる差動型の論理回路や
BiCMOSによる低振幅回路などが用いられるようになってきたが、直流電流を流す回路は、定常的に比較的大きな電力を消費する。
Recently, as the next technology of RISC, Super Scalar, VLIW and the like have started to attract attention. This technology reads out at most 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 parallelism in hardware, the CPI in the above equation 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 using bipolar transistors and the like.
Although low-amplitude circuits based on BiCMOS have come to be used, circuits that flow direct current constantly consume relatively large power.
Super Scalar,VLIWなどのMPUでは、同一機能を持つ高速動作の演算回路がn個要求されるわけであり、それに供ない、演算回路の消費電力もn倍に増えてしまうという問題がある。 In MPUs such as Super Scalar and VLIW, n high-speed operation circuits having the same function are required, and there is a problem that the power consumption of the operation circuit increases by n times.
なお、この種の技術として関連するものには、例えば非特許文献1において論じられている。
A related technique of this type is discussed, for example, in
以上の説明で明らかなように、従来のマイクロプロセッサなどの半導体集積回路や電子回路における低消費電力化技術は、電力切換え時に電源線や接地線に発生する雑音の問題が考慮されていないため、回路の誤動作を引き起したり、雑音が消失するまで一定の時間がかかるため、迅速なスタートアップが出来ないと云う問題があった。 As is clear from the above description, the conventional technology for reducing power consumption in a semiconductor integrated circuit or an electronic circuit such as a microprocessor does not consider the problem of noise generated in a power supply line or a ground line at the time of power switching. Since it takes a certain amount of time until a circuit malfunctions or noise disappears, there is a problem that a quick start-up cannot be performed.
特に、従来のオンチップメモリを有するMPUでは電力切換え時の低ノイズ化とメモリアクセスの高速化にはトレードオフの関係があるため、超高速化が困難であるという問題を生じていた。 In particular, in a conventional MPU having an on-chip memory, there is a trade-off relationship between low noise at the time of power switching and high-speed memory access, so that there has been a problem that it is difficult to achieve ultra-high speed.
また、以上、キャッシュメモリを有するマイクロプロセッサにつき述べたが、高速化を要求される機能ブロックを有する半導体集積回路や電子回路においても同様な問題が生じる。 In addition, although the microprocessor having the 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.
そこで、本発明は、機能回路ブロックの低消費電力化と高速化が可能な半導体集積回路装置、特に、キャッシュメモリ等のオンチップメモリを有すマイクロプロセッサを提供することを目的とする。 Therefore, an object of the present invention is to provide a semiconductor integrated circuit device capable of reducing power consumption and increasing the speed of a functional circuit block, and in particular, to provide a microprocessor having an on-chip memory such as a cache memory.
なお、ここで、活性化とは回路の動作上必要な所定の電力を供給することを意味し、不活性とは前記所定の電力より小さい電力を供給することを意味する。 Here, the activation means supplying a predetermined power required for the operation of the circuit, and the 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 functional circuit block having the power supply system inductance L, the allowable power supply noise V n , and the switching width ΔI of the circuit current, and activating the functional circuit block in advance of the time T before the operation starts. Means for generating an operation start notice signal to
Wherein T, L, V n and ΔI is
の関係を満たす。 Satisfy the relationship.
また、本発明のメモリによれば動作の開始を予告する予告信号を受信し、該予告信号受信時より所定の時間をかけて回路電流を所定の値まで増加することにより低電力消費モードより通常電力消費モードに移行し、動作の実行が終了後、所定の時間をかけて回路電流を低電力消費モード電流まで減少し、低電力消費モードに移行する機能を有することを特徴とする機能回路ブロックを提供し、また、アクセスを予告するアクセス予告信号により活性化し、アドレス信号とリード・ライト制御信号とデータ入出力信号とに基づいて、所定のメモリ動作を実行する。 Further, according to the memory of the present invention, a notice signal for announcing the start of the operation is received, and the circuit current is increased to a predetermined value over a predetermined time from the reception of the notice signal, so that the normal operation is performed in the low power consumption mode. A functional circuit block having a function of shifting to the power consumption mode, reducing the circuit current to the low power consumption mode current over a predetermined time after the execution of the operation is completed, and shifting to the low power consumption mode; And is activated by an access notice signal for giving 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つ以上演算実行に先立って活性化し、演算終了後に、活性化された演算回路を不活性化する手段とを有する。 Further, the microprocessor of the present invention is a microprocessor that simultaneously reads and decodes n (n ≧ 2) instructions, and simultaneously executes an operation using the n arithmetic circuits, and operates each arithmetic circuit. Detecting means for detecting an instruction in advance, and means for activating one or more arithmetic circuits corresponding to the instruction detected by the detecting means prior to execution of the operation, and deactivating the activated arithmetic circuit after completion of the operation And
更に、本発明のマイクロプロセッサは同時に実行する命令間で各種の競合状態が生じることを検出する手段を有し、競合状態が生じている場合には、競合する命令に対応する前記演算回路のうち1つを、演算実行に先立って活性化し、かつその他の演算回路を不活性化するための信号を前記先行検出手段に送る。 Further, the microprocessor of the present invention has means for detecting the occurrence of various race conditions between instructions executed at the same time, and in the case where a race condition has occurred, 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 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 operating speed of a functional circuit block, and in particular, to provide a microprocessor having an on-chip memory such as a cache memory.
以下、本発明に係る半導体集積回路の実施例をマイクロプロセッサを例にとり説明する。 Hereinafter, an embodiment of a semiconductor integrated circuit according to the present invention will be described using 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,
図中、101はプログラムカウンタであり、クロック信号CLKに同期して命令データの読み出しアドレスを発生する。102はメモリアドレスレジスタであり、命令キャッシュメモリ103の読み出しアドレスを保持する。104は命令データレジスタであり、命令キャッシュメモリ103から読み出した命令データを保持する。
In the figure,
また、111は他のメモリアドレスレジスタであり、データキャッシュメモリ112のリード又はライトアドレスを保持する。113はメモリデータレジスタであり、データキャッシュメモリ112のリードデータまたはデータキャッシュ112へのライトデータを保持する。
命令データレジスタ104とデータレジスタ113は内部データバス172に結合されており、入出力制御回路160を介して外部データバス161との間でデータのやりとりを行う。
The instruction data register 104 and the data register 113 are coupled to the
120は第1の命令デコーダであり、命令レジスタ104の出力105をデコードし、所定の命令制御信号121,122を出力する。140は演算器であり、レジスタファイル150から内部バス173を介して演算に必要なデータを受取り、算術演算,論理演算,シフト演算などを実行し、その結果を内部バス174を介してレジスタファイル150に書き込む。また、他のケースでは演算結果を内部バス175を介してメモリアドレスレジスタ111に書き込む。
命令デコーダ120の出力121は演算器140に演算の内容を指定する。また、命令デコーダ120の出力122はレジスタファイル150に対してリードやライトの動作を指定する。
The
130は第2の命令デコーダであり、命令レジスタ104の出力105を解釈し、例えばデータキャッシュ112に対するメモリアクセスを予知し、所定の加工を施した後、データキャッシュ112に対してメモリアクセス予告信号131を出力する。
データキャッシュ112はこの信号とメモリアドレスレジスタ111からのアドレス信号とリード/ライト制御信号(図中省略されている。)とから所定のメモリアクセスを実行する。
The
なお、第2の命令デコーダ130は演算器140,レジスタファイル150、その他にも必要に応じて動作開始予告信号132,133を発生する機能を持たせることができる。
The
図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,
図中のIFステージで命令キャッシュ103から命令データをフェッチし、Dステージで命令デコーダ120によりデコードし、EXステージで演算器140により所定の演算を実行する。最後にWステージで演算結果をレジスタファイル150に書き込む。
Instruction data is fetched from the
次に、図中、中段に示す。データキャッシュ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 the STORE instruction in which access to the
以上のように、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, the memory access occurs at the D stage two stages before the CA stage. , And outputs an access notice signal to the
次に、図3に、この命令のフェッチからアクセス予告信号の発生,メモリアクセスの実行までの動作タイミングをさらに詳細に示す。 Next, FIG. 3 shows the operation timing from the fetch of the instruction to the generation of the access notice signal and the execution of the memory access in more detail.
図中、3aはシステムクロックCLKであり、この周期は図3の命令実行ステージの1ステージと同じ長さであり、例えば5nsである。3bはIFステージであり、図では
M1〜M5のLOAD,STORE命令がフェッチされることを示している。
In the figure,
3cはDステージであり、IFステージの次のステージでM1〜M5のLOADまたは
STORE命令がデコードされることを示している。
3c is a D stage, indicating that the LOAD or STORE instructions M 1 ~M 5 in the next stage of the IF stage is decoded.
3dはACステージであり、3cのDステージでデコードされたLOAD/STORE命令M1〜M5に対する実行アドレスA1〜A5の計算が実行される。 3d is AC stage, the calculation of the execution address A 1 to A 5 for LOAD / STORE instructions M 1 ~M 5 decoded by 3c of the D stage is performed.
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
ここで、アクセス予告信号3hは実際のメモリアクセスが行われる3fのE1 ステージに対して1ステージ前に先行して発生しており、同様にEaステージに対して1ステージ前に先行して発生する。
Here, the
ここで、図4(A)にメモリアクセス予告信号131を発生する第2の命令デコーダ
130(図1参照)の内部構成を、図4(B)にその動作タイミングを示す。
Here, FIG. 4A shows the internal configuration of the second instruction decoder 130 (see FIG. 1) for generating the memory
図中、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,
A flip-
なお、PR信号131の極性は本質的なものではないが、本実施例では正極性のアクティブ信号としている。
The polarity of the
次に、図5にデータキャッシュメモリ112(図1参照)の内部構成を示す。 Next, FIG. 5 shows the internal configuration of the data cache memory 112 (see FIG. 1).
図中、510はアドレスバッファであり、アドレス信号Aiを受けて、アドレスデコーダ・ドライバ520に必要な正,負のアドレス信号として出力する。アドレスデコーダ・ドライバ520の出力はメモリアレイ530に出力され、リードまたはライトすべきメモリアレイを選択する。
In the figure,
540は、センスアンプであり、メモリアレイ530から読み出した微小信号を所定の信号レベルまで増幅して出力する。550は出力ドライバであり、比較的重い付加を持つ出力Do を駆動するために設けられている。
A
560は書き込み制御回路であり、書き込みデータDiを書き込み制御信号WEを使ってメモリアレイ530の所定のアドレスに書き込む。
A
570は電流制御信号発生回路であり、アクセス予告信号PRを受けて、少なくとも1以上の電流制御信号575を発生する。本例においては、データキャッシュメモリ112が共有される場合や、命令の実行以外のアクセス要因がある場合等の例をも提示するために、複数の予告信号PR1…PRnを受けて、少なくとも1以上の電流制御信号575を発生する場合について示している。
電流制御信号575による回路電流の制御はキャッシュメモリ112内の電流制御信号発生回路570を除くすべての回路要素に対して適用可能である。どの回路を制御の対象に選ぶかは、適用する実際のハードウエア構成や用途に従う。
The control of the circuit current by the
図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.
図中、610はオアゲートであり、アクセス予告信号PR1〜PRnのオアをとり、その出力をインバータ620とフリップフロップ660に供給する。630はノアゲートであり、インバータ620の出力とフリップフロップ630の/Q出力のノアをとり、図6
(B)の6cに示すような信号PUPを出力する。
In the figure,
A signal PUP as shown in FIG.
640はアンドゲートであり、フリップフロップ660のQ出力6bとクロック信号
CLK3aのアンドをとり、図6(B)の6dに示すMCLK信号を出力する。また、
650と670はそれぞれオアゲートおよびデイレイ回路であり、オアゲート650は前記MCLK信号6dとMCLK信号をデイレイ回路670で所定時間遅延させた信号とのオアをとり、図6(B)の6fに示すΦSA信号を出力する。
650 and 670 are an OR gate and a delay circuit, respectively. The OR
なお、図6(B)のMA6eはメモリアクセス実行サイクルのメモリアドレスを示している。 MA6e in FIG. 6B indicates a memory address in a memory access execution cycle.
図6(B)に示すように、メモリアドレスA1,A2に対するメモリアクセスはt2とt3のステージ6gで行われる。これに対して6cのPUP信号はt2 ステージより1ステージ前のt1 ステージで立上り、t3 ステージの終りで立下る信号になっている。 As shown in FIG. 6B, the 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, and this is shown in FIG. As shown in FIG. 7A, the current of the target circuit is raised from i 1 to a predetermined current value i 2 during the t 1 stage based on the PUP signal 6c, and the memory access at t 2 and t 3 is performed. It maintains its current value at the stage, from the beginning of t 4 stage a memory access is completed, pulls up to a predetermined low current value i 2 of the current value.
次に、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.
1989 CI CC p.15.8.1〜15.8.4
また、ΦSA信号6fはメモリアクセスステージt2 ,t3 のそれぞれに対応して発生されるパルス信号であり、例えばセンスアンプを所定期間だけパルス動作させる信号として有用である。
Next, the
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 512kb / 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.
1989 CI CC p.15.8.1-15.8.4
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 pulsing the sense amplifier for a predetermined period.
すなわち、センスアンプのみを独立に活性化制御することにより、電流切り替えにより生じる電源ノイズを許容範囲に納め、かつ、高電力消費源であるセンスアンプの活性化時間を極力短くする信号等として用いることができる。 In other words, by independently controlling the activation of the sense amplifier alone, the power supply noise generated by the current switching is kept within an allowable range, and the signal is used as a signal for minimizing the activation time of the sense amplifier which is a high power consumption source. Can be.
以上のPUP信号,ΦSA信号を用いて実際に回路電流を制御する例を以下に示す。 An example in which the circuit current is actually controlled using the above PUP signal and ΦSA signal will be described below.
まず、図8(A)にPUP信号を使って、回路電流を制御する回路の第1の例を、同図(B)にその動作波形を示す。 First, FIG. 8A shows a first example of a circuit for controlling a circuit current using a PUP signal, and FIG. 8B shows an operation waveform thereof.
図中、811,812はPMOSであり、それぞれのソースは電源V1 に接続され、それぞれのゲートは共通接続されてPMOS811 のドレインにも接続されている。また、821,822,823はNMOSであり、821のドレインはPMOS811 のドレインに、ゲートはPUP信号に、ソースは基準電位に接続されている。
In the figure,
NMOS822のドレインはPMOS812のドレインに、ゲートはインバータ830の出力に、ソースは基準電位に接続され、インバータ830の入力はPUP信号に接続されている。
The drain of the
また、840は例えば差動アンプのような能動回路でありデータキャッシュメモリ112や演算器140やレジスタファイル150(図1参照)等の機能回路ブロックに備えられているものであり、NMOS823 を介して定電流源850で定めた所定の動作電流を流すようになっている。さらにNMOS823 のゲートと、GND間には積分用のコンデンサCが接続されている。
PMOS811,812とNMOS821,823はカレントミラー回路を構成しており、同図(B)に示すように、PUP信号が“0”レベルから“1”レベルに立上がるとPMOS812 からコンデンサCに、所定の充電電流が流れ、NMOS823 のゲート電圧Vgおよび回路840の電流iは同図(B)中段および下段に示すように所定のslewrateでなだらかに立上がる。この立上り時間t1 は、前述した図7に示したステージt1 に相当する時間である。
The
同様にPUPが“1”レベルから“0”レベルに変化すると電圧Vgおよび電流iは所定のslewrateでなだらかに立下り、この立下り時間t4 は同様に図7に示したt4 に相当する時間になる。 Similarly, when PUP changes from the "1" level to the "0" level, the voltage Vg and the current i gradually fall at a predetermined slew rate, and the fall time t 4 similarly corresponds to t 4 shown in FIG. It's time.
なお、電流iの立上げ時間t1 と立下げ時間t4 は必ずしも同じである必要はなく、回路の動作が終了した後なので立下げるときは、特別な不都合が生じない範囲でt4 を短くすることもできる。 Note that the rise time t 1 and the fall time t 4 of the current i do not necessarily have to be the same, and since the operation of the circuit is completed, when the fall is made, shorten t 4 within a range where no special inconvenience occurs. You can also.
図9(A)にPUP信号を使って回路電流を制御する回路の第2の例を、同図(B)にその動作波形を示す。 FIG. 9A shows a second example of the circuit for controlling the circuit current using the PUP signal, and FIG. 9B shows the operation waveform thereof.
図中、911〜914はインバータ、921〜923はNMOS、931〜933は定電流源、940は例えば差動アンプのような能動回路であり、データキャッシュメモリ
112や演算器140やレジスタファイル150(図1参照)等の機能回路ブロックに備えられているものである。
In the figure,
ここで、インバータ912〜914の遅延時間を914,913,912の順に大きくなるように設計するとPUP信号が同図(B)のように“0”から“1”レベルに変化したとき、NMOS921〜923を流れる電流i1〜i3も所定の時間差をもって立上り、能動回路940の動作電流は時刻t1 後にi1+i2+i3 の定常電流まで階段状に立上がる。
Here, if the delay time of the
同様に、PUP信号が“1”から“0”レベルに変化すると能動回路940の回路電流はt4 の時間内に段階状に立下がり、実効的に前述した図8の実施例と同様になだらかな電流変化を得ることができる。
Similarly, the circuit current of the
この立上り時間t1 および立下り時間t2 は第1の例と同様に図7のステージt1 およびステージt4 の時間に相当する。 The rise time t 1 and the fall time t 2 correspond to the times of the stages t 1 and t 4 in FIG. 7, as in the first example.
なお、以上、PUP信号,ΦSA信号を用いて実際に回路電流を制御する例を示したが、本実施例はこれに限定されるものではなく、他の一般の、回路電流を制御する方法によっても本実施例は実現できる。 Although an example in which the circuit current is actually controlled using the PUP signal and the ΦSA signal has been described above, the present embodiment is not limited to this, and may be implemented by another general method for controlling the circuit current. This embodiment can also be realized.
以下、前記第1の回路電流制御回路を用いた場合を例にとり、データキャッシュメモリ112(図1参照)の各部における回路電流制御の例を示す。 Hereinafter, an example of the circuit current control in each unit of the data cache memory 112 (see FIG. 1) will be described taking the case where the first circuit current control circuit is used as an example.
図10はデータキャッシュメモリ112の図5の510で示したアドレスバッファの電流制御の実施例である。 FIG. 10 shows an embodiment of the 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と基準電源
VR に接続され、それぞれのコレクタは抵抗1021,1022を介して電源V1 に接続されている。NPN1013,1014 のコレクタは電源V1 に接続され、それぞれのベースは
NPN1011 のコレクタとNPN1012のコレクタに接続されている。また、NPN1013,1014のそれぞれのエミッタはNMOS1032,1033を介してそれぞれ定電流源1042,1043に接続されている。
The emitters of
Connected to the collectors of NPN1011 and NPN1012. The emitters of
出力/aiは入力Aiの非反転出力としてNPN1014 のエミッタから取り出され、出力/aiは入力Aiの反転出力としてNPN1013 のエミッタから取り出されている。NMOS1031〜1033のゲートは制御信号Vgに共通に接続されている。なお、制御信号Vgは前述した図8にて示した信号Vgに相当するものである。
The output / ai is taken from the emitter of the
ここで、NPN1011,1012 、抵抗1021,1022と定電流源1041は差動アンプを構成しており、いま、電流制御信号Vgが“1”レベルで、アドレス信号AiがVgより高いとき、NPN1011がオン,NPN1012がオフになり、NPN1011のコレクタが“0”レベル、
NPN1012 のコレクタが“1”レベルになる。
Here, the
The collector of NPN1012 becomes "1" level.
NPN1011 のコレクタはエミッタフォロワトランジスタ1013のベースに接続されており、そのエミッタから“0”レベルの出力/aiが得られる。同様にNPN1012 のコレクタはエミッタフォロワトランジスタ1014のベースに接続されており、そのエミッタから“1”レベルの出力/aiが得られる。
The collector of the
アドレス信号AiがVR より低いとき、NPN1011とNPN1012は逆の動作をし、/ai出力は“1”レベル、ai出力は“0”レベルになる。 When the address signal Ai is lower than V R, NPN1011 and NPN1012 is the reverse operation, / ai outputs "1" level, ai output becomes "0" level.
次に、電流制御信号Vgが“0”レベルの場合、NMOS1031〜1033はすべてオフになり、このとき、電源V1 からGNDへの電流パスがなくなるため、この回路は電力を消費しなくなる。 Next, when the current control signal Vg is "0" level, NMOS1031~1033 off all this time, since the current path from the power source V 1 to the GND is eliminated, this circuit will 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 change in current is also as shown by 7a in FIG. It can be gentle.
したがって、前述した図24(B)に示したような電流切換え時の電源、GNDノイズ(図24B参照)を所望の大きさに抑制することができる。 Therefore, the power source and the GND noise (see FIG. 24B) at the time of the 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 /
図中、1161,1162はNORゲートであり、アドレスデコーダの最終段に該当する。
In the figure,
1171,1172はアンドゲートからなるワードドライバであり、一方の入力にアドレスデコーダ1161,1162の出力が接続され、他方の入力に制御信号Vgが接続されその出力によりワード線WL1,WL2をそれぞれ駆動する。
1100は、特に限定するものではないが4MOS型のメモリセルであり、説明の便宜上、1セルだけを図示する。
Although not particularly limited,
1111,1112はビット線プルアップ用の負荷MOSである。また、1113〜
1116はビット線選択用のMOSスイッチであり、カラム選択信号C1,C2により所望のビット線がコモンデータ線1120に結合される。
1111 and 1112 are load MOSs for pulling up bit lines. Also, 1113 ~
Reference numeral 1116 denotes a MOS switch for selecting a bit line, and a desired bit line is coupled to the
1121,1122はNPNトランジスタによりエミッタフォロワ回路であり、コモンデータ線1120の信号をVBE(ベース・エミッタ間電圧)だけレベルシフトして
NPN1123,1124のそれぞれのベースに伝える。NPN1123,1124のエミッタは共通接続され、
NMOS1141を介して電流源1151に接続されている。NPN1123,1124 のコレクタは抵抗
1131,1132を介して電源V1 に接続される。
Communicate to each base of NPN1123, 1124. The emitters of
It is connected to a
NPN1123,1124 、抵抗1131,1132および電流源1151とは差動アンプを構成しており、メモリセル100より読み出した微小信号を所定の振幅まで増幅する。同様に、1150は2ケの抵抗と2ケのNPNからなる差動アンプを構成しておりNMOS1142を介して定電流源1152に接続されている。
The
1150の2つの入力はNPN1123,1124 のコレクタに接続されており、それらの信号を更に増幅して端子1151に所定の振幅の出力信号を得るものである。
The two inputs of 1150 are connected to the collectors of
ここで、アンドゲート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
同様に、NMOS1141,1142のゲートには電流制御信号Vgが接続されている。Vgが
“1”レベルのときNMOS1141,1142はオン、Vgが“0”レベルのときオフになる。
Similarly, the current control signal Vg is connected to the gates of the
したがって、メモリアクセスしない状態ではセンスアンプの電流は流れないため、無駄な電力消費がカットされる。 Therefore, the current of the sense amplifier does not flow when the memory is not accessed, so that unnecessary power consumption is cut.
ここで、電流制御信号Vgによる回路電流の変化は図7の7aに示すようになるため、電流切り換えによる電源、GNDのノイズを許容値に抑制できるばかりでなく、メモリアクセスの開始時点には上記ノイズは消滅しているため高速な動作が可能となる。 Here, the change in the circuit current due to the current control signal Vg is as shown by 7a in FIG. 7, so that not only the power supply and GND noise due to the current switching can be suppressed to an allowable value, but also the above-mentioned time at the start of memory access. Since the noise has disappeared, high-speed operation is possible.
なお、図11でスイッチSW1180を信号ΦSA側に切り換えるとNMOS1141,1142がパルス的に動作される。ΦSA信号は前述したように(図6(B)参照)メモリアクセスステージt2 ,t3 の所定時間だけ“1”レベルになるパルス信号であり、本例の場合、メモリアクセス中の一定時間だけセンスアンプに電力を供給することになり、低電力化を図ることができる。
When the switch SW1180 is switched to the signal φSA in FIG. 11, the
次に、図12にデータキャッシュメモリ112の出力ドライバ550(図5参照)の回路電流制御の例を示す。
Next, FIG. 12 shows an example of circuit current control of the output driver 550 (see FIG. 5) of the
図中、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
いま、電流制御信号Vgが“1”レベルのとき、PMOS1222はオフである。このとき、入力VINが“0”レベルなら、PMOS1211がオン,NMOS1221がオフになる。
Now, when the current control signal Vg is at the “1” level, the
したがって、この時、PMOS1211を介してNPN1241 のベース電圧を立上げ、出力VOUT は
“1”レベルになる。逆に、VINが“1”レベルのとき、PMOS1211がオフ,NMOS1221がオンになり、NPN1241のベース電圧を引下げ、出力VOUTは“0”レベルになる。
Therefore, at this time, the base voltage of the
なお、ダイオード1231はNPN1241 のベース電位の低下を所定値に抑えるためのクランパーである。
Note that the
また、抵抗1251は電流制限用、コンデンサ1261はスピードアップ用である。
Further, the
次にVgが“0”レベルのとき、PMOS1222はオンになる。このとき、NPN1241のベース電位は入力VINのレベルに関係なく引き下げられ、出力VOUT は“0”レベルになる。したがって、NPN1241 のコレクタ電圧VOUT は“1”レベルのときよりも小さくなり低消費電力化が図れる。
Next, when Vg is at the “0” level, the
したがって、前述したアドレスバッファ510,デコーダ・ドライバ520,メモリアレイ530,センスアンプ540の回路電流制御と同様な効果が得られる。
Therefore, an effect similar to that of the above-described circuit current control of the
以上、前記第1の回路電流制御回路を用いた場合を例にとり、データキャッシュメモリ112(図1参照)の各部における回路電流制御の例を示したが、回路電流制御回路としては、前記第2の回路電流制御回路(図9参照)や他の回路電流制御回路を用いても良い。 As described above, an example of the circuit current control in each unit of the data cache memory 112 (see FIG. 1) has been described taking the case where the first circuit current control circuit is used as an example. Circuit current control circuit (see FIG. 9) or another circuit current control circuit may be used.
以上、本実施例においては、アクセス予告信号を使ったメモリのアクセス方法による低電力化の例を中心に説明したが、前述したように、例えば単一チップMPU内の演算器やレジスタファイルなど命令語の解釈によって動作を制御されるすべての機能回路において同様に適用することができる。また、本実施例においては、回路電流を動作実行ステージの前ステージに同期して立上げを開始する例について、説明したが、これは、必ずしも同期させる必要はなく、電流変化による電源や接地線のノイズを所定の値に抑制できる時間分、実行ステージの開始に先行して、立上げを開始すれば良い。この場合、前記PUP信号を、実行ステージの前ステージに同期してではなく所望のタイミングで有意信号とすれば良い。 As described above, in the present embodiment, the description has been made mainly on the example of the low power consumption by the memory access method using the access notice signal, but as described above, for example, the instruction such as the arithmetic unit and the register file in the single chip MPU The same applies to all functional circuits whose operation is controlled by word interpretation. Further, in the present embodiment, an example has been described in which the start-up of the circuit current is started in synchronization with the previous stage of the operation execution stage. The start-up may be started in advance of the start of the execution stage for the time during which the noise of the above can be suppressed to a predetermined value. In this case, the PUP signal may be a significant signal at a desired timing, not in synchronization with the stage before the execution stage.
以上、本実施例によれば、単一チップマイクロプロセッサに含まれるメモリ回路やその他の機能回路は実際の動作に先立つアクセス予告信号により回路電流を動作開始までに所定の割合で立上げた後、所定の動作を実行する。このため、これらの機能回路は実際に動作する時だけ回路性能上必要な電力を消費するため、単一チップマイクロプロセッサの低電力化に効果がある。 As described above, according to the present embodiment, after the memory circuit and other functional circuits included in the single-chip microprocessor start up the circuit current at a predetermined rate by the access notice signal prior to the actual operation before the operation starts, Perform a predetermined operation. Therefore, these functional circuits consume power required for circuit performance only when actually operating, which is effective in reducing the power of a single-chip microprocessor.
また低電力化した分だけ、新しい機能を付加することもできるため、高機能化,高集積化にも効果がある。 In addition, new functions can be added as much as the power consumption is reduced, which is also effective for higher functions and higher integration.
また、各機能回路は所定の割合で回路電流を変化させられるため、電流変化による電源や接地線のノイズを所定の値に抑制できる。このため、信頼性の高い回路動作を実現できる効果がある。 In addition, since each functional circuit can change the circuit current at a predetermined rate, noise of the power supply and the ground line due to the current change can be suppressed to a predetermined value. Therefore, there is an effect that a highly reliable circuit operation can be realized.
さらにまた、本実施例を適用した各機能回路では実際の動作を開始する時点で前記電源線や接地線のノイズが消滅しているため、最良の電源状態で動作することができ、回路の高速動作にも効果がある。 Furthermore, in the respective functional circuits to which the present embodiment is applied, since the noise of the power supply line and the ground line has disappeared at the time of starting the actual operation, the circuit can operate in the best power supply state, and the circuit can operate at high speed. There is also an effect on the operation.
次に、本発明をSuper Scalar型のRISCプロセッサに適用した場合を説明する。 Next, a case where the present invention is applied to a Super Scalar type RISC processor will be described.
Super Scalar型のRISCプロセッサとは、主にレジスタファイルを共用する複数の演算ユニットを設け、命令を簡単にしてパイプライン段数を少なくし、かつ、1マシンサイクルに複数の命令を読み出し、複数演算ユニットを制御するものである。つまり、1マシンサイクルで複数の命令が同時に読み出され、実行されるため、複数の演算ユニットが同時に動き、処理能力を高めることができる。 Super Scalar type RISC processor is mainly equipped with a plurality of operation units that share a register file, simplifies instructions and reduces the number of pipeline stages, and reads out multiple instructions in one machine cycle. Is controlled. In other words, a plurality of instructions are read and executed simultaneously in one machine cycle, so that a plurality of operation units operate simultaneously and the processing capability can be increased.
図13は、第2の実施例で述べるプロセッサの命令一覧である。これらの命令を大きく類別すると、基本命令,分岐命令,ロード・ストア命令,システム制御命令に分けられる。なお、説明の都合上、簡単のために、上記の如く命令数を制限しているが、これは、本発明を制限するものではなく、さらに命令を増やしてもよい。 FIG. 13 is a list of instructions of the processor described in the second embodiment. These instructions can be roughly classified into basic instructions, branch instructions, load / store instructions, and system control instructions. The number of instructions is limited as described above for simplicity of explanation, but this does not limit the present invention, and the number of instructions may be further increased.
第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 the first instruction, 1409 is a second decoder for the second instruction, 1407 is a first decoder for the second instruction, 1413 is a conflict detection circuit between the first and second instructions,
次いで、図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
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
次に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, the
次にTステージの動作について説明する。Tステージでは、基本命令は、データを保持し続ける。ロードストア命令は、このステージで、前のEXステージで計算したアドレスをバス1429、又はバス1431を通して出力されたアドレスをもとにデータキャッシュ1401に対してメモリアクセスを実行する。なお、ストア命令の時は、同時に格納すべきデータがパス1437を通して出力される。
Next, the operation of the T stage will be described. In the T stage, the basic instruction keeps holding data. The load store instruction executes a memory access to the
最後に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
図15は、基本命令を連続して処理するフローを示したものである。1マシンサイクルに2命令ずつ処理される。また、この例では、第1演算ユニットと第2演算ユニットは常に並列して動作している場合について描かれている。 FIG. 15 shows a flow of continuously processing the basic instructions. Two instructions are processed in one machine cycle. Also, in this example, the case where the first arithmetic unit and the second arithmetic unit always operate 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 a conflict.
例えば、第1命令のディスティネーションレジスタフィールドで指されるレジスタと、第2命令の第1ソースレジスタフィールドで指されるレジスタ、又は、第2命令の第2ソースレジスタフィールドS2で指されるレジスタが一致する時である。 For example, the register pointed by the destination register field of the first instruction and the register pointed by the first source register field of the second instruction, or the register pointed by the second source register field S2 of the second instruction are 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 contained in the first instruction register in one machine cycle, and then execute the second instruction register in the next one machine cycle. . That is, each of the first instruction and the second instruction is executed over one machine cycle. FIG. 16 shows a pipeline when a conflict occurs. In this example, both the first instruction and the second instruction are addition instructions. Considering the two instructions at
つまり、PC2で第1命令を実行し、並行して行われる第2命令を無効化し、続いて、次のサイクルで第1命令を無効化し、並行して行われる第2命令を実行することで実現できる。なお、1サイクルずらした場合のディスティネーションとソースのぶつかりは従来からよく知られているショートパスを使えばよい。 That is, the first instruction is executed by the PC2, the second instruction executed in parallel is invalidated, and then the first instruction is invalidated in the next cycle, and the second instruction executed in parallel is executed. realizable. It should be noted that the collision between the destination and the source when shifted by one cycle may use a conventionally well-known short path.
Super Scalar型のRISCプロセッサは、図14で示した通り、演算ユニットを2つ持っており、上記のような競合の時は、必ずどちらか1つの演算ユニットしか使われない。残りの演算ユニットは、無意味な処理をしている。 As shown in FIG. 14, the Super Scalar type RISC processor has two operation units, and in the case of the above-mentioned conflict, only one of the operation units is always used. The remaining arithmetic units perform meaningless processing.
Super Scalar型のRISCプロセッサにおいて、各種競合が見つけられた時に、使用される方の演算ユニットを動作開始に先立って、検出し活性化することが重要である。この様子を図14で詳しく述べる。IFステージで、第1命令,第2命令が読み出された後、Dステージで第1命令,第2命令の間の各種競合チェックが競合検出回路1413で行われる。
In a Super Scalar-type RISC processor, when various conflicts are found, it is important to detect and activate the operation unit to be used prior to the start of operation. This situation will be described in detail with reference to FIG. After the first and second instructions are read in the IF stage, various conflict checks between the first and second instructions are performed by the
各種競合チェック後、競合が生じていると認められると、一方の演算ユニットだけで実行されるので、信号1432,1433を通して、使用される演算ユニットを活性化すればよい。
After various types of conflict checking, if it is determined that a conflict has occurred, only one of the arithmetic units is executed. Therefore, the arithmetic unit to be used may be activated through
なお、競合が生じていない場合には、両方の演算器を活性化する。活性化された演算ユニットは、1マシンサイクルの後半に、次のマシンサイクルのための制御信号が活性化を伝えてくれば、演算ユニットは、連続して活性化される。また、活性化を伝えてこなければ、そのマシンサイクル終了後、演算器は、不活性化される。 If no conflict occurs, both arithmetic units are activated. If the control signal for the next machine cycle transmits the activation of the activated arithmetic unit in the latter half of one machine cycle, the arithmetic unit is continuously activated. If the activation is not transmitted, the arithmetic unit is inactivated after the end of the machine cycle.
競合が生じた場合について、詳しく記述する。第1,第2命令の競合検出回路が競合を検出すると、初めに第1命令を実行するため、第1演算ユニットは、1433を経由して、制御信号1435より活性化を伝えられ、活性化される。同時刻、第2演算ユニットは、制御信号1432を経由して、制御信号1436より活性化しないことが伝えられる。このため、第2演算ユニットは、不活性のまま、つまり、低消費電力のままである。
The case where a conflict occurs will be described in detail. When the conflict detection circuit for the first and second instructions detects a conflict, the first operation unit is first executed, so that the first arithmetic unit is notified of activation by the
この時、信号1434は、競合が検出されたことをシーケンサ1402に伝えるものである。
At this time, the signal 1434 informs the
次のサイクルで、第2命令を実行するため、第1演算ユニットは、1433を経由して、制御信号1435より、活性化しないことが伝えられる。このため、第1演算ユニットは、不活性になる。同時刻、第2演算ユニットは、制御信号1432を経由して制御信号1436より、活性化することが伝えられる。
In the next cycle, to execute the second instruction, the
以上、本実施例のように、2命令同時処理において、各種競合が見つけられた時に、使用される方の演算ユニットを動作開始に先立って、検出し活性化することにより、活性化されない演算ユニットは、電力の消費を抑えることが可能であり、全体の消費電力を抑える効果がある。 As described above, in the two-instruction simultaneous processing, when various conflicts are found, the operation unit to be used is detected and activated prior to the start of operation, so that the operation unit that is not activated Can reduce power consumption, and has the effect of suppressing overall power consumption.
図17〜図19は、図14の第1演算ユニット1410,第2演算ユニット1412,レジスタファイル1411を抜き出したものであり、接続関係は省略して書いてある。
FIGS. 17 to 19 show the
図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 to 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, the execution is performed one machine cycle at a time. Therefore, the first or second arithmetic unit actually used is activated by the
図18,図19,図20は、第1,2演算ユニットに少なくとも1つ以上のバイポーラトランジスタのベース・エミッタ間で論理をとる回路、例えば、ECL回路,BiCMOS回路で構成したものを示している。なお、この回路構成そのものは、特開昭60−175167号公報に詳しく記述されている。この回路は、バイポーラトランジスタがONしていると、直流電流が流れ、電力が増える欠点を持つ。このため、競合などが生じた時使用していない演算ユニットの電力を消費させないことは有効である。制御方法は、図17で説明したものと同様である。 FIGS. 18, 19, and 20 show a circuit in which the first and second arithmetic units take logic between the base and emitter of at least one or more bipolar transistors, for example, an ECL circuit or a BiCMOS circuit. . The circuit configuration itself is described in detail in JP-A-60-175167. This circuit has a drawback that when the bipolar transistor is ON, a direct current flows and the power increases. For this reason, it is effective not to consume the power of the arithmetic unit that is not used when a conflict or the like occurs. The control method is the same as that described with reference to 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. FIG. 18 shows that a P-channel MOS transistor is inserted between the collector side of a bipolar transistor and Vcc. The P-channel MOS transistor is turned on when turned on, and is deactivated when turned off. .
図19は、回路としては、動作状態にあるが、信号1435又は1436がONになると、強制的にバイポーラトランジスタをOFFさせ、バイポーラトランジスタのコレクタ−エミッタ間電流を流さなくさせる。これは、強制的に直流電流をカットさせたことを意味しており、これにより消費電力を削減できる。
FIG. 19 shows that the circuit is in the operating state, but when the
図20は、図14の第1演算ユニット1410,第2演算ユニット1412,レジスタファイル1411、さらにそれらのタイミングをとるクロック分配系を抜き出したものである。図20の分配系で注目すべき点は、分配系内のクロックドライバAである。
FIG. 20 shows a
クロックドライバAは、それぞれ第1演算ユニット1410,レジスタファイル1411,第2演算ユニット1412だけに独立にクロックを供給している。このような分配系を含む演算ユニットで構成されたSuper Scalar型のマイクロプロセッサにおいて、競合が検出された時、1マシンサイクルごとに実行されるが、実際に使用しない第1又は第2演算ユニットは、信号線1435又は、1436によって、クロック分配系の特定エリアへのクロックを止めるように制御する。これにより、各ブロックに供給するクロック分配系以下の論理が固定される。つまり、2つある演算ユニット内のどちらか一方の演算ユニットは、クロックが供給されており、動作しているが、残りの一方の演算ユニットは、クロックの供給が行われない。
The clock driver A independently supplies a clock to only the
CMOS回路やBiCMOS基本回路は、コンプリメンタリな特性を持ち、通常の消費電力はきわめて小さいが、入力データが変化する過渡期に電力を消費する。クロックの供給が止められることは、論理が固定され、変化しないことを意味する。このため、消費電力が削減できる効果があり、図20の制御方法は、CMOS回路やBiCMOS基本回路を含む演算ユニットで構成されたものに有効である。 CMOS circuits and BiCMOS basic circuits have complementary characteristics and consume very little power, but consume power during transitional periods when input data changes. Stopping the clock supply 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 in FIG. 20 is effective for a circuit configured by an arithmetic unit including a CMOS circuit and a BiCMOS basic circuit.
以上、図17〜図20までで述べたように、演算ユニットを構成する回路形式に対応して、不活性時の消費電力を削減することが可能である。なお、図17,図18の回路形式の組み合せによる演算ユニットの構成においてもそれぞれに対応して消費電力を削減できることは明白である。 As described above with reference to FIGS. 17 to 20, it is possible to reduce the power consumption in the inactive state in accordance with the circuit type of the arithmetic unit. It is apparent that the power consumption can be reduced correspondingly in each of the configurations of the arithmetic units by the combination of the circuit types shown in FIGS.
本実施例では、レジスタ間の競合同士の組み合せにより同時処理できないもの、(例えば、ロード命令とロード命令の組み合せなど)が挙げられる。その例として、図21にその組み合せを示す。しかしながら、その組み合せは、ハードウエア上のインプリメンテーションで決まるもので本発明とは直接関係ない。つまり、図21でその組み合せに1つ以上の組み合せに制約があった時、命令の組み合せによる競合が成立したことになる。 In the present embodiment, those that cannot be processed simultaneously due to a combination of conflicts between registers (for example, a combination of a load instruction and a load instruction) are given. 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 there is a restriction on one or more combinations in FIG. 21, a conflict due to the combination of instructions is established.
更に、図14に戻って、競合検出回路1413及び、デコーダ1406,1408,
1409,1407の他の動作につき、第3の実施例として説明する。
Returning again to FIG. 14, the
先に述べた例は、各種競合が見つけられた時に、使用される方の演算ユニットの動作開始に先立って、検出し活性化したが、本第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, they are detected and activated prior to the start of operation of the arithmetic unit to be used, but in the third embodiment, various types of conflicts are found. At this time, the operation unit that is not used is detected and inactivated before the operation starts. This will be described in detail with reference to FIG. After the first and second instructions are read in the IF stage, various conflict checks between the first and second instructions are checked in the D stage by the
以上、本実施例のように、2命令同時処理において、同時に実行する可能性のある2命令間に競合があるか否かを検出し、競合がある場合に、使用しない演算ユニットを不活性化することにより全体の消費電力を抑える効果がある。 As described above, in the two-instruction simultaneous processing, whether or not there is a conflict between two instructions that may be executed simultaneously is detected, and if there is a conflict, the arithmetic unit that is not used is deactivated. This has the effect of reducing the overall power consumption.
図17〜図19は、図14の第1演算ユニット1410,第2演算ユニット1412,レジスタファイル1411を抜き出したものであり、接続関係は省略して書いてある。各演算ユニットへの低消費電力の仕方は先の第2の実行例と同様である。
FIGS. 17 to 19 show the
このような演算ユニットで構成したSuper Scalar型のマイクロプロセッサにおいて、競合が検出された時、1マシンサイクルずつ実行されるが、実際に使用しない第1又は第2演算ユニットは、信号線1435又は1436によって、使用しない方の消費電力を削減する。この時、実際に使用されている第1又は第2演算ユニットは、目的の動作をするために設けられた値の電流を電流源より流し続ける。つまり、どちらか一方は、所定の電流が流れ続け、残りの一方が消費電力を削減するように制御する。
In the Super Scalar type microprocessor constituted by such an operation unit, when a conflict is detected, the operation is executed one machine cycle at a time, but the first or second operation unit which is not actually used is a
なお、第2の実施例と同様に、図17,図18の回路形式の組み合わせによる演算ユニットの構成においてもそれぞれに対応して消費電力を削減できることは明白である。 As in the second embodiment, it is apparent that the power consumption can be reduced correspondingly in the configuration of the arithmetic unit by the combination of the circuit forms of FIGS.
本実施例では、レジスタ間の競合について述べたが、その他の競合として、先の第2の実施例の中でも説明したように命令同士の組み合せにより同時処理できないもの、(例えば、ロード命令とロード命令の組み合せなど)が挙げられる。図21はその組み合せの例を示す。しかしながら、その組み合せは、ハードウエア上のインプリメンテーションで決まるもので本発明とは直接関係ないのは、先の第2の実施例でも述べた通りであり、図
21でその組み合せに1つ以上の組み合せに制約があった時、命令の組み合せによる競合が成立したことになる。
In this embodiment, the conflict between the registers has been described. As other conflicts, those which cannot be processed simultaneously by the combination of instructions as described in the second embodiment (for example, a load instruction and a load instruction) And the like). FIG. 21 shows an example of the combination. However, the combination is determined by the hardware implementation and is not directly related to the present invention, as described in the second embodiment, and one or more combinations shown in FIG. When there is a restriction on the combination of the instructions, the competition by the combination of the instructions is established.
さらに、本実施例では、基本命令の組み合せについて述べたが、分岐,命令,ロード命令のすぐ次の命令でロードしたデータを使用する(これをロードユースと呼ぶ)時にも、演算ユニットは、無意味な処理をする場合がある。この場合も本発明は有効である。図
22は、分岐命令の時を示すものであり、図23は、ロードユースの時である。なお、これらの動作は、容易に類推可能であるため省略する。
Furthermore, in this embodiment, the combination of basic instructions has been described. However, even when the data loaded by the instruction immediately following the branch, instruction, or load instruction is used (this is called load use), the operation unit is not used. There may be meaningful processing. The present invention is also effective in this case. FIG. 22 shows the case of a branch instruction, and FIG. 23 shows the case of load use. Note that these operations can be easily inferred, and thus will not be described.
さらに、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, it is also possible to deactivate the detected arithmetic unit.
図14において、第1命令用第2デコーダ1408,第2命令用第2デコーダ1409は、それぞれの命令が演算ユニットを実際に操作するかどうかの命令をデコードすることで検出する回路である。
In FIG. 14, a second decoder for
第1命令用第2デコーダ1408で検出すると信号線1435を通して第1演算ユニット1410を不活性化し、さらに第2命令用第2デコーダ1409で検出すると、信号線1436を通して、第2演算ユニット1412を不活性化する。これによって、演算ユニットの消費電力は削減できる効果がある。
When detected by the
さらに、本実施例では、2命令のSuper Scalar型のマイクロプロセッサについて述べたSuper Scalar型の別の制御方式においても有効であり、さらに2命令に限るものではなく、複数命令の同時処理機能を持つプロセッサに有効である。また、RISCプロセッサに限定されることなく、CISCプロセッサに適用できることは言うまでもない。 Further, the present embodiment is effective in another Super Scalar type control system described for a two-instruction Super Scalar type microprocessor, and is not limited to two instructions but has a simultaneous processing function of a plurality of instructions. Useful for processors. Further, it is needless to say that the present invention is not limited to the RISC processor but can be applied to the CISC processor.
なお、以上、本実施例においては、単一チップマイクロプロセッサを例にとり説明したが、他の1チップLSI等の半導体集積回路装置等においても、その各機能回路ブロックの動作開始を予知し機能回路ブロックの回路電流を制御することにより同様の効果を得ることができる。この場合、その動作開始の予知方法、および、回路電流制御のタイミングは適用する装置の構成,用途に従うが、動作開始に先立ち、動作開始を予知し、電流切り替え等に起因する誤動作が生じないよう動作開始に一定時間先行して機能回路ブロックを活性化することにより、低消費電力化と正常動作を確保し、ひいては装置の高速化を図るという本実施例の本質に何ら異なるものではない。 Although a single-chip microprocessor has been described as an example in the present embodiment, a semiconductor integrated circuit device such as another one-chip LSI may be used to predict 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 method of predicting the operation start and the timing of the circuit current control depend on the configuration and application of the device to be applied. However, prior to the start of the operation, the operation start is predicted so that a malfunction due to current switching or the like does not occur. By activating the functional circuit block for a certain period of time prior to the start of the operation, power consumption and normal operation are ensured, and the essence of the present embodiment that the speed of the device is increased is not different at all.
なお、さらに本実施例は半導体集積回路のみならず、一般の電子回路においても、同様に実現可能である。 The present embodiment can be similarly realized not only in a semiconductor integrated circuit but also in a general electronic circuit.
101…プログラムカウンタ、102…メモリアドレスレジスタ、103…命令キャッシュメモリ、104…命令データレジスタ、111…メモリアドレスレジスタ、112…データキャッシュメモリ、113…メモリデータレジスタ、120…第1の命令デコーダ、130…第2の命令デコーダ、140…演算器、150…レジスタファイル、160…入出力制御回路、410…メモリアクセス予知回路、570…電流制御信号発生回路、
940…能動回路、1100…メモリセル、1150…センスアンプ。
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 ... calculator, 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)
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.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004009976A JP3718513B2 (en) | 1989-12-15 | 2004-01-19 | Information processing device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32492889 | 1989-12-15 | ||
JP2004009976A JP3718513B2 (en) | 1989-12-15 | 2004-01-19 | Information processing device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9207542A Division JPH10207859A (en) | 1989-12-15 | 1997-08-01 | Power consumption control method, semiconductor integrated circuit device and microprocessor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005035997A Division JP2005235203A (en) | 1989-12-15 | 2005-02-14 | Microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164670A true JP2004164670A (en) | 2004-06-10 |
JP3718513B2 JP3718513B2 (en) | 2005-11-24 |
Family
ID=32827268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004009976A Expired - Lifetime JP3718513B2 (en) | 1989-12-15 | 2004-01-19 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3718513B2 (en) |
-
2004
- 2004-01-19 JP JP2004009976A patent/JP3718513B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3718513B2 (en) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5734913A (en) | Low power consumption semiconductor integrated circuit device and microprocessor | |
US5539681A (en) | Circuitry and method for reducing power consumption within an electronic circuit | |
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 | |
US7469357B2 (en) | Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control | |
US6946869B2 (en) | Method and structure for short range leakage control in pipelined circuits | |
US6961276B2 (en) | Random access memory having an adaptable latency | |
US7440335B2 (en) | Contention-free hierarchical bit line in embedded memory and method thereof | |
JP4310544B2 (en) | Storage device and method with low power / high write latency mode and high power / low write latency mode and / or independently selectable write latency | |
JPH07272486A (en) | Synchronous type memory having power saving access mode | |
US5603037A (en) | Clock disable circuit for translation buffer | |
US20070288724A1 (en) | Microprocessor | |
US6907534B2 (en) | Minimizing power consumption in pipelined circuit by shutting down pipelined circuit in response to predetermined period of time having expired | |
US5442775A (en) | Two clock microprocessor design with stall | |
US7020787B2 (en) | Microprocessor | |
JP4927937B2 (en) | Multi-mode, uniform latency clock generator circuit device | |
JP2007220148A (en) | Microprocessor | |
US7120915B1 (en) | Thread switch circuit design and signal encoding for vertical threading | |
JP2005235203A (en) | Microprocessor | |
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 | |
US6016551A (en) | Method and apparatus for masking and unmasking a clock signal in an integrated circuit | |
JP4253383B2 (en) | Memory device | |
JP3082103B2 (en) | Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040629 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040830 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050324 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050407 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050603 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050902 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080909 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100909 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |