DE4040382A1 - Current consumption controller for IC and microprocessor - involving activation of circuit blocks after detecting start of their operations and de-activating at end - Google Patents
Current consumption controller for IC and microprocessor - involving activation of circuit blocks after detecting start of their operations and de-activating at endInfo
- Publication number
- DE4040382A1 DE4040382A1 DE4040382A DE4040382A DE4040382A1 DE 4040382 A1 DE4040382 A1 DE 4040382A1 DE 4040382 A DE4040382 A DE 4040382A DE 4040382 A DE4040382 A DE 4040382A DE 4040382 A1 DE4040382 A1 DE 4040382A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- arithmetic logic
- instructions
- signal
- microprocessor
- 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
- 230000004913 activation Effects 0.000 title claims description 20
- 230000015654 memory Effects 0.000 claims abstract description 126
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000003213 activating effect Effects 0.000 claims abstract description 9
- 239000004065 semiconductor Substances 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 8
- 230000010365 information processing Effects 0.000 claims description 3
- 230000009849 deactivation Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 230000005611 electricity Effects 0.000 description 15
- 239000003990 capacitor Substances 0.000 description 5
- 238000001356 surgical procedure Methods 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 240000006829 Ficus sundaica Species 0.000 description 1
- 101000574648 Homo sapiens Retinoid-inducible serine carboxypeptidase Proteins 0.000 description 1
- 102100025483 Retinoid-inducible serine carboxypeptidase Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7828—Architectures of general purpose stored program computers comprising a single central processing unit without memory
- G06F15/7832—Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Microcomputers (AREA)
Abstract
Description
Die Erfindung betrifft integrierte Halbleiterschaltungsanordnungen mit einem funktionellen Schaltungsblock (wie zum Beispiel einem Speicher, einer Arithmetik-Logik-Einheit oder einem E/A-Controller), für die eine niedere Leistungsaufnahme angestrebt ist, beispielsweise als Built-in-Cachespeicher, für die Zugriff und Multi-Bit-Ausgabe mit hoher Geschwindigkeit gefordert werden, entsprechende Mikroprozessoren sowie Verfahren zum Betrieb solcher Schaltungen mit niedriger Leistungsaufnahme (Stromverbrauch).The invention relates to integrated semiconductor circuit arrangements with a functional circuit block (like for example a memory, an arithmetic logic unit or an I / O controller) for which a low power consumption is sought, for example as a built-in cache, for access and multi-bit output with high speed, appropriate Microprocessors and methods for operating such Circuits with low power consumption (power consumption).
Es ist üblich, in Mikroprozessoren nach dem Stand der Technik zur Erweiterung des Parallelbetriebs und zur Verbesserung der Verarbeitungsfähigkeit einen Cachespeicher einzubauen, um Probleme zu lösen, die die durch die Ungleichheit der Geschwindigkeit der Ausführung eines internen Befehls, und der Geschwindigkeit der Übertragung eines Befehls und eines Operanden von einem externen Hauptspeicher hervorgerufen werden. Aus diesen Gründen ist der Anstieg der Leistungsaufnahme zu einem schwerwiegenden Problem geworden.It is common in state of the art microprocessors Technology to expand parallel operation and Improve the processability of a cache built in to solve problems caused by inequality the speed of execution of an internal Command, and the speed of transmission of a Instruction and an operand from an external main memory are caused. For these reasons, the increase in Power consumption has become a serious problem.
Ein Hauptzweck für den Einbau eines Cachespeichers ist es, Befehle oder Daten mit einer hohen Geschwindigkeit bereitzustellen, die mit der Ausführungsgeschwindigkeit des Mikroprozessors übereinstimmt.A major purpose for installing a cache is it, commands or data at high speed provide that with the execution speed of the Microprocessor matches.
Die Taktperiode eines Mikroprozessors vom Typ Komplexer-Befehlssatz-Computer (CISC) mit der gegenwärtig höchsten Geschwindigkeit beträgt 25-40 MHz. Es ist zu erwarten, daß in naher Zukunft ein Mikroprozessor vom Typ Reduzierter-Befehlssatz-Computer (RISC) mit einer Geschwindigkeit von über 100 MHz entwickelt wird.The clock period of a type microprocessor Complex Instruction Set Computer (CISC) with the current one highest speed is 25-40 MHz. It's closed expect a microprocessor type Reduced instruction set computer (RISC) at one speed of over 100 MHz is developed.
In einem derartigen Hochgeschwindigkeits-Mikroprozessor ist eine ultrahohe Zugriffsgeschwindigkeit von weniger als einigen Nanosekunden für den Built-in-Cachespeicher erforderlich.In such a high speed microprocessor is an ultra high access speed of less than a few nanoseconds for the built-in cache required.
Kennzeichnendes Merkmal eines Built-in-Cachespeichers ist eine relativ kleine Anzahl von Worten und eine extrem hohe Anzahl von Auslesebits je Word (maximal 8 Bits in SRAMs für allgemeine Anwendungen). Es ist zum Beispiel bei gegenwärtig verwendeten 32-Bit-Mikroprozessoren üblich, daß mehrere hundert Bits parallel ausgelesen werden können, wobei sich die Anzahl von parallel auszulesenden Bits noch erhöhen wird, wenn in Zukunft 64-Bit-Mikroprozessoren eingeführt werden.A distinctive feature of a built-in cache is a relatively small number of words and an extreme one high number of read bits per word (maximum 8 bits in SRAMs for general applications). For example, it is at 32-bit microprocessors currently used commonly have several hundred bits can be read out in parallel, the number of bits to be read out in parallel will increase if in the future 64-bit microprocessors be introduced.
Im allgemeinen sind hochempfindliche Leseverstärker vom Differenzverstärker-Typ, die bipolare Transistoren verwenden, für Lesesignalverstärker von Ultrahochgeschwindigkeitsspeichern geeignet. Diese Schaltungen verbrauchen jedoch ständig relativ viel Strom. Darüber hinaus wird auch von anderen Teilen des Speichers Strom verbraucht, sogar dann, wenn nicht auf den Speicher zugegriffen wird, es sei denn, es sind spezielle Stromsparmaßnahmen vorgesehen.Generally, there are highly sensitive sense amplifiers of the differential amplifier type, the bipolar transistors use, for read signal amplifiers of ultra high-speed memories suitable. However, these circuits consume relatively a lot of electricity at all times. In addition, other parts of the memory consumes electricity, even then, if the memory is not accessed unless it is special energy saving measures are planned.
Daher ist bei Ein-Chip-Mikroprozessoren mit ultrahoher Zugriffsgeschwindigkeit und Multi-Bit-Parallelausgangs-Cachespeichern der Stromverbrauch durch den Speicherkreis extrem hoch, so daß On-Chip-Cachespeicher letztenendes nicht realisierbar sind, es sei denn, daß geeignete Stromspareinrichtungen vorgesehen werden.Therefore, one-chip microprocessors with ultra high Access speed and multi-bit parallel output caches the power consumption by the storage circuit extremely high, so on-chip cache ultimately does not are realizable, unless suitable power saving devices be provided.
In einem ersten Stand der Technik, bekannt als Stromspartechnik, ist die Speicherschaltung, um den tatsächlichen Stromverbrauch zu senken, durch ein Chip-Anwahlsignal CS, das einem Speicheradreßsignal äquivalent ist, zwischen einen Verbraucher im Bereitschaftsbetrieb und einem Verbraucher im Normalbetrieb geschaltet.In a first prior art, known as Power saving technology, is the memory circuit to the actual Reduce power consumption through a chip selection signal CS, which is equivalent to a memory address signal, between a consumer on standby and a consumer switched in normal operation.
In einer weiteren Vorrichtung nach dem Stand der Technik wird die Änderung eines Adreßsignals durch eine Adreßübergangs-Detektorschaltung (ATD) erfaßt, ein für eine interne Operation erforderlicher Taktimpuls wird in Abhängigkeit von dem Kennungssignal erzeugt, und ein Leseverstärker eines Speichers wird nur für eine notwendige Periode aktiviert, um den Stromverbrauch zu reduzieren.In a further device according to the prior art Technology is the change of an address signal by a Address transition detector circuit (ATD) detects, one for one internal operation required clock pulse becomes dependent generated by the identifier signal, and a sense amplifier a memory is only available for a necessary period activated to reduce power consumption.
Des weiteren ist, wie JP-A-61-45 354 zeigt, bei einer LSI-Logik, wie beispielsweise einem MikroprozessorFurthermore, as shown in JP-A-61-45 354, one LSI logic, such as a microprocessor
- a) ein Verfahren bekannt, das jeweils Stromsteuerbefehle für eine Vielzahl von funktionellen Blöcken vorsieht und die entsprechenden funktionellen Blöcke selektiv durch ein Programm zur Senkung des Stromverbrauchs aktiviert und desaktiviert,a) a method known, each current control commands for a variety of functional blocks and selectively through the corresponding functional blocks activated a program to reduce electricity consumption and deactivated,
- b) ein Verfahren bekannt, das eine Taktsteuerschaltung für jeden funktionellen Block vorsieht und bei der die Stromversorgung oder nicht-Versorgung eines Taktgebers gesteuert ist, wobei die Schaltung zur Senkung der Leistungsaufnahme gesteuert wird undb) a method known that a clock control circuit for each functional block and where the Power supply or non-supply of a clock is controlled, the circuit for lowering the power consumption is controlled and
- c) ein Verfahren bekannt, das eine Stromsteuerschaltung für jeden funktionellen Block vorsieht und die Stromversorgung des funktionellen Blocks, der nicht an der Ausführung eines Befehls beteiligt ist, unterbricht, um den Stromverbrauch zu reduzieren.c) a method known that a current control circuit provides for each functional block and the power supply of the functional block that is not in the execution a command is involved, interrupts the power consumption to reduce.
Jedoch ist im Stand der Technik das Rauschen nicht berücksichtigt, das durch eine plötzliche Änderung der Stromversorgung beim Schalten zwischen der normalen Leistungsaufnahme und der niederen Leistungsaufnahme in der Stromleitung und der Erdleitung induziert wird. Im Zusammenhang damit treten die folgenden Probleme auf:However, the noise is not in the prior art taken into account by a sudden change in the Power supply when switching between normal power consumption and the lower power consumption in the Power line and the earth line is induced. In connection this causes the following problems:
- 1) Da sich der Schaltungsstrom in der kurzen Zeit zwischen dem Betrieb mit niederer Leistungsaufnahme und dem Normalbetrieb wesentlich ändert, wird eine große Rauschspannung durch Induktivitäten und Widerstände der Stromleitung und Erdleitung induziert.1) Since the circuit current in the short time between the operation with low power consumption and the Normal operation changes significantly, becomes a large noise voltage through inductances and resistances of the power line and earth line induced.
- 2) Die Funktionsschaltung selbst oder eine andere interne Schaltung werden aufgrund der Rauschspannung gestört. Aber auch, wenn keine Störung auftritt, ist eine bestimmte Zeitspanne erforderlich, um die Rauschspannung zu beseitigen und die effektive Speicherzugriffsgeschwindigkeit wird vermindert.2) The functional circuit itself or another internal circuits are disturbed due to the noise voltage. But even if there is no disturbance, there is a definite one Time period required to remove the noise voltage and becomes the effective memory access speed reduced.
Fig. 24(A) zeigt die Entwicklung der Rauschspannung in der Stromleitung. Bezugsziffer 1300 bezeichnet die Stromversorgung, Bezugsziffer 1310 bezeichnet einen funktionellen Schaltungsblock, wie beispielsweise eine Speicherschaltung, die Bezugsziffern 1321 und 1322 bezeichnen Induktivitäten der Stromversorgungsleitung bzw. des Erdsystems und die Bezugsziffern 1331 und 1332 bezeichnen Widerstände der Stromversorgungsleitung bzw. des Erdsystems. Fig. 24 (A) shows the development of the noise voltage in the power line. Reference numeral 1300 denotes the power supply, reference numeral 1310 denotes a functional circuit block such as a memory circuit, reference numerals 1321 and 1322 denote inductances of the power supply line or the earth system and reference numerals 1331 and 1332 denote resistances of the power supply line or the earth system.
Fig. 24(B) zeigt eine Änderung in einer Stromversorgung i und Änderungen einer Versorgungsspannung v₁ und eines Erdpotentials v₂, wenn der Schalter SW zu einem Zeitpunkt t₁ eingeschaltet wird und zu einem Zeitpunkt t₂ ausgeschaltet wird. Fig. 24 (B) shows a change in a power supply i and changes in a supply voltage v₁ and a ground potential v₂ when the switch SW is turned on at a time t₁ and turned off at a time t₂.
Wie aus der Figur ersichtlich, ändert sich der Schaltungsstrom i während des Zeitraums Delta ti von Null auf einen konstanten Strom, wenn der Schalter SW zum Zeitpunkt t₁ eingeschaltet wird. Die Versorgungsspannung v₁ der Schaltung ändert sich sehr stark und zeigt eine Spitze in negativer Richtung. Das Erdpotential ändert sich ebenfalls sehr stark und zeigt eine Spitze in positiver Richtung. Wenn der Schalter SW zum Zeitpunkt t₂ ausgeschaltet wird, ändert sich der Schaltungsstrom i im Zeitraum Delta t₂ von dem konstanten Strom auf Null. Die Versorgungsspannung v₁ der Schaltung ändert sich sehr stark und zeigt eine Spitze in positiver Richtung, das Erdpotential V₂ ändert sich ebenfalls sehr stark und zeigt eine Spitze in negativer Richtung.As can be seen from the figure, the circuit current i changes during the period delta t i from zero to a constant current when the switch SW is turned on at time t 1. The supply voltage v₁ of the circuit changes very much and shows a peak in the negative direction. The earth potential also changes very strongly and shows a peak in the positive direction. If the switch SW is turned off at the time t₂, the circuit current i changes in the period delta t₂ from the constant current to zero. The supply voltage v 1 of the circuit changes very strongly and shows a peak in the positive direction, the earth potential V 2 also changes very strongly and shows a peak in the negative direction.
Es wird angenommen, daß die Schaltung 1310 der Fig. 24 500 Leseverstärker enthält, die je Schaltung einen Stromverbrauch von 2 mA haben und daß der Strom von Null auf den konstanten Strom in einer Zeit Delta t₁=1 ns geschaltet wird. Wenn weiterhin angenommen wird, daß die Widerstände 1331 und 1332 unberücksichtigt gelassen werden und die Induktivitäten 1321 und 1322 L=5 nH sind, ist das Stromversorgungsrauschen vn durchIt is assumed that circuit 1310 of FIG. 24 contains 500 sense amplifiers, each of which has a current consumption of 2 mA and that the current is switched from zero to constant current in a time delta t 1 = 1 ns. Furthermore, assuming that resistors 1331 and 1332 are disregarded and inductors 1321 and 1322 are L = 5 nH, the power supply noise v n is through
gegeben.given.
Ein derartig hohes Stromversorgungsrauschen ist bei einer modernen integrierten Halbleiterschaltung, die bei einer Versorgungsspannung von 5 Volt oder weniger betrieben wird, nicht zulässig.Such a high power supply noise is at a modern semiconductor integrated circuit, which at operated with a supply voltage of 5 volts or less is not permitted.
Sogar wenn das Rauschen auf einen geeigneten Pegel reduziert werden kann, sind die Zeiten t₁ und t₂ notwendig, um das Stromversorgungsrauschen und das Rauschen gegen Erdpotential zu beseitigen, wie Fig. 24(B) zeigt. Diese Zeit hängt ab von der Stromschaltzeit und beträgt normalerweise 103 ns. Ein derartiger Zeitraum ist für einen Ultrahochgeschwindigkeitsspeicher, der eine Zugriffszeit von weniger als einigen Nanosekunden erfordert, nicht annehmbar und bedeutet ein großes Hindernis für den Hochgeschwindigkeitsbetrieb.Even if the noise can be reduced to an appropriate level, the times t 1 and t 2 are necessary to eliminate the power supply noise and the ground potential noise, as shown in Fig. 24 (B). This time depends on the current switching time and is normally 103 ns. Such a period of time is unacceptable for an ultra high-speed memory that requires an access time of less than a few nanoseconds and is a major obstacle to high-speed operation.
Das bei einer Änderung des Versorgungsstroms auftretende Problem läßt sich auf eine Vielzahl von Arithmetik-Logik-Einheiten in einem Halbleiterchip und auf andere funktionelle Schaltungsblöcke anwenden.The one that occurs when the supply current changes Problem can be found on a variety of arithmetic logic units in a semiconductor chip and on others Apply functional circuit blocks.
In jüngst entwickelten Hochleistungsmikroprozessoren sind verschiedene Techniken eingeführt worden, um ihre Verarbeitungsleistung zu steigern. Die Verarbeitungsleistung der Computer läßt sich wie folgt bewerten:In recently developed high-performance microprocessors Various techniques have been introduced to their Increase processing performance. The processing power the computer can be rated as follows:
wobei CPI die Anzahl der für einen Befehl erforderlichen Zyklen ist.where CPI is the number of commands required Cycles is.
Seit einigen Jahren gibt es die bemerkenswerte Technologie der RISC-Prozessoren. Ein Hauptziel dieser Prozessoren ist es, zur Leistungssteigerung den Zyklus per Inch an Eins anzunähern.The remarkable one has been around for several years Technology of the RISC processors. A main goal of this Processors are designed to increase the cycle by Approximate inches to one.
Gegenwärtig sind als Weiterentwicklungen der RISCs Super-Skalar- und VLIW-Technologie (sehr langes Befehlswort) zu nennen. Bei dieser Technologie werden bis zu n Befehle parallel gezogen, diese Befehle werden parallel dekodiert und parallel ausgeführt. Wenn man die Parallelverarbeitung der Hardware weiter steigert, wird die Anzahl der Zyklen per Inch in der obigen Formel auf 1/n reduziert und die Leistung des Computers gesteigert. Im Hochgeschwindigkeits-Arithmetik-Logik-Schaltkreis eines Computers vom Super-Skalar- oder VLIW-Typ wird eine Differenz-Logikschaltung mit Hilfe von bipolaren Transistoren oder eine Schaltung mit geringer Amplitude mit Hilfe von BiCMOS verwendet; jedoch verbraucht eine Schaltung, die ständig einen Gleichstrom benötigt, relativ viel Strom.At present there are further developments of the RISCs Super scalar and VLIW technology (very long command word) to call. With this technology, up to n commands pulled in parallel, these commands are decoded in parallel and executed in parallel. If you look at parallel processing hardware increases, the number of cycles per Inch reduced to 1 / n in the formula above and the power of the computer increased. In the high speed arithmetic logic circuit of a super scalar or computer VLIW type is a differential logic circuit using bipolar transistors or a circuit with low Amplitude used with the help of BiCMOS; however consumed a circuit that constantly needs a direct current, relatively much electricity.
In Super-Skalar- oder VLIW-Mikroprozessoren sind n Hochgeschwindigkeits-Arithmetik-Logik-Schaltungen mit der gleichen Funktion erforderlich. Daher steigt die Leistungsaufnahme von Arithmetik-Logik-Schaltungen mit dem Faktor n.In super scalar or VLIW microprocessors, n High speed arithmetic logic circuits with the same function required. Therefore, the power consumption increases of arithmetic logic circuits with the Factor n.
Die entsprechende Technologie wird in NIKKEI Electronics Nr. 487, 27. Nov. 1989, Seiten 191-200 beschrieben.The corresponding technology is in NIKKEI Electronics No. 487, Nov. 27, 1989, pages 191-200.
Wie aus der obigen Beschreibung hervorgeht, wird in der Stromspartechnik nach dem Stand der Technik bei integrierten Halbleiterschaltungen oder elektronischen Schaltungen, wie beispielsweise Mikroprozessoren, das Problem des Rauschens in Erdleitungen oder den Versorgungsleitungen, wenn der Strom eingeschaltet wird, nicht berücksichtigt, wodurch in den Schaltungen Störungen auftreten oder eine bestimmte Zeit notwendig ist, bevor das Rauschen verschwindet, so daß kein schneller Start möglich ist.As can be seen from the above description, in the state of the art power saving technology with integrated Semiconductor circuits or electronic Circuits, such as microprocessors, the problem the noise in earth lines or the supply lines, if the power is turned on, disregarded, which causes interference in the circuits or a certain time is required before the noise disappears, so that a quick start is not possible.
In einem Mikroprozessor nach dem Stand der Technik mit einem On-Chip-Speicher ist es wegen des Kompromisses zwischen der Rauschunterdrückung in der Leistungsschaltung und dem Geschwindigkeitsanstieg des Speicherzugriffs schwierig, eine sehr hohe Operationsgeschwindigkeit zu erreichen.In a microprocessor according to the prior art An on-chip memory is because of the compromise between the noise suppression in the power circuit and the Memory access speed increase difficult, one to achieve very high operating speed.
Mikroprozessoren mit Cachespeicher sind oben beschrieben worden, jedoch sind die Probleme bei integrierten Halbleiterschaltungen oder für elektronische Schaltungen mit einem funktionellen Block, der eine Hochgeschwindigkeitsoperation erforderlich macht, die gleichen.Microprocessors with cache memory are described above been, however, the problems with integrated Semiconductor circuits or for electronic circuits with a functional block that is a high speed operation requires the same.
Es ist daher Aufgabe der Erfindung, eine integrierte Halbleiterschaltung und einen Mikroprozessor vorzusehen, die eine niedere Leistungsaufnahme haben und mit einer hohen Geschwindigkeit betrieben werden. Eine weitere Aufgabe der Erfindung ist es, in einem funktionellen Schaltungsblock einer integrierten Halbleiterschaltung eine niedere Leistungsaufnahme und eine hohe Geschwindigkeit zu erzielen.It is therefore an object of the invention to provide an integrated Semiconductor circuit and a microprocessor to provide the have a low power consumption and a high one Speed are operated. Another job of Invention is in a functional circuit block an integrated semiconductor circuit has a low power consumption and achieve high speed.
Eine weitere Aufgabe der Erfindung ist es, eine integrierte Halbleiterschaltung und einen Mikroprozessor vorzusehen, in denen, wenn Strom zu einem funktionellen Schaltungsblock geschaltet wird, verhindert wird, daß ein Rauschen auftritt, und die ohne Störung arbeiten.Another object of the invention is to provide a integrated semiconductor circuit and a microprocessor to provide where when electricity becomes a functional Circuit block is switched, is prevented from Noise occurs and they work without interference.
Des weiteren ist die Erfindung darauf gerichtet, eine niedere Leistungsaufnahme und eine hohe Geschwindigkeit bei einem Mikroprozessor zu erzielen, der einen On-Chip-Speicher, wie beispielsweise einen Cachespeicher aufweist.Furthermore, the invention is directed to a low power consumption and high speed a microprocessor that has on-chip memory, such as having a cache.
Eine weitere Aufgabe der Erfindung ist es, eine niedere Leistungsaufnahme und eine hohe Geschwindigkeit bei einem parallel verarbeitenden Mikroprozessor zu erzielen. Die vorgenannte Aufgabe wird gemäß der Erfindung dadurch gelöst, daß eine integrierte Halbleiterschaltung oder ein Mikroprozessor mit mindestens einem funktionellen Block vorgesehen ist, der den Beginn einer Operation des funktionellen Schaltungsblocks erfaßt, bevor die Operation beginnt, den funktionellen Schaltungsblock, bei dem der Beginn der Operation erfaßt wurde, aktiviert, bevor die Operation beginnt und den funktionellen Schaltungsblock nach der Operation desaktiviert. Ferner sollen entsprechende Verfahren zum Betrieb der genannten Schaltungen mit niederer Leistungsaufnahme angegeben werden.Another object of the invention is to provide a low power consumption and high speed to achieve a parallel processing microprocessor. The The aforementioned object is achieved according to the invention that a semiconductor integrated circuit or a microprocessor provided with at least one functional block is the beginning of an operation of the functional Circuit blocks detected before the operation begins functional circuit block where the beginning of the Operation was activated before the operation begins and the functional circuit block after the Operation disabled. Appropriate procedures are also intended to operate the circuits mentioned with low power consumption can be specified.
Zur Lieferung einer vorbestimmten Leistung, die für die Operation der Schaltung notwendig ist, sind Aktivierungsmittel, und zur Lieferung einer geringeren Leistung als die vorbestimmte Leistung, sind Desaktivierungsmittel vorgesehen.To provide a predetermined service for the operation of the circuit is necessary are activation means and to deliver less power than that predetermined performance, deactivation means are provided.
Die integrierte Halbleiterschaltung der Erfindung enthält einen Speicher, Erfassungsmittel zur Erfassung eines Speicherzugriffs vor dem Speicherzugriff in Übereinstimmung mit Informationen, die sich auf den Speicherzugriff beziehen sowie Mittel zur Aktivierung des Speichers vor dem Speicherzugriff, wenn die Erfassungsmittel den Speicherzugriff erfaßt haben.The semiconductor integrated circuit of the invention contains a memory, detection means for detecting a Memory access before the memory access match with information related to memory access and means for activating the memory before the memory access, when the detection means detects the memory access to have.
In der Erfindung kann der Speicher ein taktsynchronisierter Speicher sein und es können Mittel zur Erzeugung eines Speichertaktsignals zum Takten des Speichers vorgesehen sein, die auf einem Systemtaktsignal der integrierten Halbleiterschaltungsanordnung und dem Zugriffsankündigungssignal beruhen.In the invention, the memory can be clock synchronized Storage and there can be means of generation a memory clock signal is provided for clocking the memory be the integrated on a system clock signal Semiconductor circuitry and the access announcement signal are based.
Alternativ dazu können Mittel zur Erzeugung eines Impulses zur Aktivierung eines Leseverstärkers des Speichers vorgesehen sein, die auf dem Systemtaktsignal der integrierten Halbleiterschaltungsanordnung und dem Zugriffsankündigungssignal beruhen, so daß ein Teil oder der gesamte Leseverstärker des Speichers durch den Aktivierungsimpuls aktiviert wird.Alternatively, means for generating a Impulse to activate a sense amplifier of the memory be provided on the integrated system clock signal Semiconductor circuitry and the access announcement signal based so that part or all of it Memory sense amplifier by the activation pulse is activated.
In Übereinstimmung mit einem weiteren Merkmal der Erfindung sind ein funktioneller Schaltungsblock mit Stromversorgungsinduktivität L, einem zulässigen Stromversorgungsrauschen Vn und einer Schaltungsstromänderungsamplitude Delta I, sowie Mittel zur Erzeugung eines Operationsbeginn-Ankündigungssignals vorgesehen, um den funktionellen Schaltungsblock eine Zeit t vor dem Beginn der Operation des funktionellen Schaltungsblocks zu aktivieren, wobei T, L, Vn und Delta I der BeziehungIn accordance with another feature of the invention, there is provided a functional circuit block having power supply inductance L, an allowable power supply noise V n, and a circuit current change amplitude Delta I, and means for generating an operation start announcement signal to provide the functional circuit block with a time t before the operation begins activate functional circuit blocks, where T, L, V n and Delta I of the relationship
entsprechen.correspond.
Der Mikroprozessor der Erfindung ist dadurch gekennzeichnet, daß ein Speicher, ein erster Befehlsdekodierer zur Dekodierung eines Befehls und Weiterleitung der Ausführungsmitteilung an den Speicher, ein zweiter Befehlsdekodierer zur Erfassung des Zugriffs auf den Speicher vor dem Beginn des Zugriffs zur Erzeugung eines Zugriffsankündigungssignals und Aktivierungsmittel zur vorherigen Aktivierung des Speichers in Abhängigkeit von dem Ankündigungssignal vorgesehen sind.The microprocessor of the invention is characterized in that that a memory, a first instruction decoder for Decode a command and forward the execution message to the memory, a second instruction decoder for Capture access to memory before the start of Access to generate an access announcement signal and Activation means for the previous activation of the memory are provided depending on the announcement signal.
Der zweite Befehlsdekodierer kann so ausgeführt sein, daß er das Zugriffsankündigungssignal mindestens ein Stadium vor dem Ausführungsstadium des Speicherzugriffs erzeugt, und die Aktivierungsmittel können so ausgeführt sein, daß sie einen für den Speicher bestimmten Treiberstrom von einem niedrigeren Strompegel als dem vorbestimmten Betriebsstrompegel auf den vorbestimmten Betriebsstrompegel in einer vorbestimmten Geschwindigkeit vom Zeitpunkt der Erzeugung des Zugriffsankündigungssignals bis zum Zeitpunkt des Beginns des Speicherzugriffs-Ausführungsstadiums erhöhen.The second instruction decoder can be designed that it has the access announcement signal at least one stage generated before the execution stage of the memory access, and the activating agents can be designed so that they a driver current of one intended for the memory current level lower than the predetermined operating current level to the predetermined operating current level in one predetermined speed from the time of generation of the Access announcement signal until the start of the Increase memory access execution state.
Der Mikroprozessor der Erfindung hat mindestens einen funktionellen Schaltungsblock, einen ersten Befehlsdekodierer zur Dekodierung eines Befehls und Weiterleitung der Ausführung an den funktionellen Schaltungsblock, einen zweiten Befehlsdekodierer zur Erfassung der Ausführung durch den funktionellen Schaltungsblock vor dem Beginn der Ausführung zur Erzeugung eines Operationsankündigungssignals und Aktivierungsmittel zur Aktivierung des funktionellen Schaltungsblocks vor dem Beginn der Ausführung aufgrund des Ankündigungssignals.The microprocessor of the invention has at least one functional circuit block, a first instruction decoder to decode a command and forward execution to the functional circuit block, a second Instruction decoder to detect execution by the functional circuit block before starting execution for generating an operation announcement signal and Activation agent to activate the functional Circuit blocks before the start of execution due to the Announcement signal.
Der Speicher der Erfindung weist einen funktionellen Schaltungsblock auf, der ein Ankündigungssignal für den Operationsbeginn erhält, einen Schaltungsstrom auf einen vorbestimmten Pegel in einer vorbestimmten Zeit erhöht, die mit dem Erhalt des Ankündigungssignals beginnt, um von einem Betrieb mit niederer Leistungsaufnahme auf einen Betrieb mit normaler Leistungsaufnahme zu wechseln und nach der Ausführung der Operation den Schaltungsstrom in einer vorbestimmten Zeit auf den Strom zu senken, der dem Betrieb bei niederer Leistungsaufnahme entspricht und in den Betrieb niedere Leistungsaufnahme zu wechseln, und der Speicher wird durch das Zugriffsankündigungssignal aktiviert und führt eine vorbestimmte Speicheroperation in Übereinstimmung mit einem Adreßsignal, einem Schreib/Lese-Steuersignal und einem Daten-Eingabe/Ausgabesignal aus.The memory of the invention has a functional one Circuit block on, which is an announcement signal for the Start of operation receives a circuit current on one predetermined level increases in a predetermined time starts receiving the announcement signal to start from one Operation with low power consumption on operation with normal power consumption switch and after execution the operation, the circuit current in a predetermined Time to cut down on the electricity that is operating at low Power consumption corresponds and lower in operation Switch power consumption, and the memory is through the access announcement signal activates and carries one predetermined storage operation in accordance with a Address signal, a read / write control signal and a data input / output signal out.
Der Speicher hat eine Informationsverarbeitungseinheit, wie beispielsweise einen Arbeitsplatz oder einen Computer, der mindestens eine der integrierten Halbleiterschaltungsanordnungen, den Mikroprozessor, den funktionellen Schaltungsblock und den Speicher umfaßt.The memory has an information processing unit, such as a job or one Computer, the at least one of the semiconductor integrated circuit arrangements, the microprocessor, the functional one Circuit block and memory includes.
Die Erfindung wird im folgenden unter Bezug auf Zeichnungen näher erläutert; es zeigtThe invention will now be described with reference to Drawings explained in more detail; it shows
Fig. 1 Blockdiagramm der Konfiguration eines Mikroprozessors gemäß einer ersten Ausführungsform der Erfindung; FIG. 1 is block diagram showing the configuration of a microprocessor according to a first embodiment of the invention;
Fig. 2 Befehlsausführungsstadium eines Mikroprozessors; Fig. 2 instruction execution stage of a microprocessor;
Fig. 3 Signalflußdiagramm der Zeitsteuerung des Betriebs des Mikroprozessors; Fig. 3 signal flow diagram of the timing of the operation of the microprocessor;
Fig. 4(A) Blockdiagramm der Konfiguration eines Zugriffsankündigungssignalgenerators; Fig. 4 (A) block diagram of the configuration of an access announcement signal generator;
Fig. 4(B) Konfiguration einer Vorhersageschaltung des Speicherzugriffs; Fig. 4 (B) Configuration of a memory access prediction circuit;
Fig. 4(C) Steuerungsdiagramm für den Betrieb der Schaltung; Fig. 4 (C) control diagram for the operation of the circuit;
Fig. 5 Blockdiagramm einer Konfiguration eines Cachespeichers; Fig. 5 is block diagram of a configuration of a cache memory;
Fig. 6(A) Schaltungsdiagramm eines Stromsteuersignalgenerators; Fig. 6 (A) Circuit diagram of a current control signal generator;
Fig. 6(B) Signalflußdiagramm über den Betrieb desselben; Fig. 6 (B) signal flow diagram about the operation of the same;
Fig. 7 Signaldiagramm, das die Beziehung zwischen dem Zugriffsankündigungssignal und einem Versorgungsstrom zeigt; Fig. 7 is waveform diagram showing the relationship between the access announcement signal and a power supply;
Fig. 8(A) Blockdiagramm der Konfiguration eines Stromsteuersignalgenerators; Fig. 8 (A) block diagram of the configuration of a current control signal generator;
Fig. 8(B) Signalflußdiagramm zum Betrieb desselben; Fig. 8 (B) signal flow diagram for the operation of the same;
Fig. 9(A) Blockdiagramm eines Signalgenerators zur Stromsteuerung; Fig. 9 (A) block diagram of a signal generator for current control;
Fig. 9(B) Signalflußdiagramm zum Betrieb desselben; Fig. 9 (B) signal flow diagram for the operation of the same;
Fig. 10 Schaltbild eines Adreßpuffers; Fig. 10 circuit diagram of an address buffer;
Fig. 11 Blockdiagramm einer peripheren Schaltung für eine Speicherzelle; FIG. 11 is block diagram of a peripheral circuit of a memory cell;
Fig. 12 Schaltbild eines Ausgangstreibers; Fig. 12 circuit diagram of an output driver;
Fig. 13 Befehlsliste; Fig. 13 command list;
Fig. 14 Blockdiagramm der Konfiguration eines Mikroprozessors gemäß einer zweiten Ausführungsform; FIG. 14 is block diagram showing the configuration of a microprocessor according to a second embodiment;
Fig. 15 Befehlsausführungsstadium des Mikroprozessors der zweiten Ausführungsform; Fig. 15 instruction execution stage of the microprocessor of the second embodiment;
Fig. 16 Befehlsausführungsstadium des Mikroprozessors im Wettbewerbsfall; Fig. 16 instruction execution stage of the microprocessor in the event of competition;
Fig. 17 Schaltung in einer Arithmetik-Logik-Einheit; Fig. 17 circuit in an arithmetic logic unit;
Fig. 18 weitere Schaltung in der Arithmetik-Logik-Einheit; Fig. 18 is another circuit in the arithmetic logic unit;
Fig. 19 weitere Schaltung in der Arithmetik-Logik-Einheit; Fig. 19 is another circuit in the arithmetic logic unit;
Fig. 20 weitere Schaltung in der Arithmetik-Logik-Einheit; Fig. 20 is another circuit in the arithmetic logic unit;
Fig. 21 Regeln zur Kombination von Befehlen bei paralleler Ausführung von zwei Befehlen; Fig. 21 Rules for combining instructions when two instructions are executed in parallel;
Fig. 22 Befehlsausführungsstadium für einen Verzweigungsbefehl; Fig. 22 instruction execution stage for a branch instruction;
Fig. 23 Befehlsausführungsstadium in einem Lastverbrauchsbetrieb und Fig. 23 instruction execution stage in a load consuming operation and
Fig. 24 Beziehung zwischen der Änderung des Schaltungsstroms und einer Rauschspannung. Fig. 24 Relationship between the change in circuit current and a noise voltage.
Im folgenden wird eine Ausführungsform einer integrierten Halbleiterschaltung der Erfindung unter Bezugnahme auf einen Mikroprozessor beschrieben.The following is an embodiment of an integrated one Semiconductor circuit of the invention with reference described on a microprocessor.
Fig. 1 zeigt die Konfiguration eines Mikroprozessors (MPU) gemäß einer ersten Ausführungsform der Erfindung. Fig. 1, the configuration of a microprocessor (MPU) according to a first embodiment of the invention.
Bezugsziffer 100 bezeichnet einen Ein-Chip-Mikroprozessor. Zur Vereinfachung der Beschreibung werden nur die zum Verständnis der Ausführungsform notwendigen Elemente der internen Konfiguration gezeigt, die anderen Elemente wurden ausgelassen.Reference numeral 100 denotes a one-chip microprocessor. To simplify the description, only the elements of the internal configuration necessary for understanding the embodiment are shown, the other elements have been omitted.
Bezugsziffer 101 bezeichnet einen Programmzähler, der synchron zu einem Taktsignal CLK eine Abholadresse von Befehlsdaten erzeugt. Bezugsziffer 102 bezeichnet ein Speicheradreßregister, das eine Abholadresse eines Befehlscachespeichers 103 hält. Bezugsziffer 104 bezeichnet ein Befehlsdatenregister, das die aus dem Befehlscachespeicher 103 geholten Befehlsdaten hält.Reference numeral 101 denotes a program counter which generates a pick-up address of command data in synchronism with a clock signal CLK. Reference numeral 102 denotes a memory address register that holds a fetch address of an instruction cache 103 . Reference numeral 104 denotes an instruction data register which holds the instruction data fetched from the instruction cache 103 .
Bezugsziffer 111 bezeichnet ein weiteres Adressenregister, das eine Lese- oder Schreibadresse eines Datencachespeichers 112 hält, Bezugsziffer 113 bezeichnet ein Datenregister, das Lesedaten des Datencachespeichers 112 oder Schreibdaten für den Datencachespeicher 112 hält.Numeral 111 designates another address register that holds a read or write address of a data cache 112 , numeral 113 designates a data register that holds read data of the data cache 112 or write data for the data cache 112 .
Das Befehlsdatenregister 104 und das Datenregister 103 sind durch einen internen Datenbus 172 verbunden und tauschen Daten mit einem externen Datenbus 161 über eine Eingabe-Ausgabe-Steuerung 160 aus. The command data register 104 and the data register 103 are connected by an internal data bus 172 and exchange data with an external data bus 161 via an input / output controller 160 .
Die Bezugsziffer 120 bezeichnet einen ersten Befehlsdekodierer, den Ausgang 105 des Befehlsregisters 104 dekodiert und Befehlssteuersignale 121 und 122 erzeugt. Bezugsziffer 140 bezeichnet eine Arithmetik-Logik-Einheit, die die für eine Operation erforderlichen Daten von einer Registerdatei 150 über einen internen Bus 73 empfängt, die die arithmetische, die logische oder die Schiebeoperation durchführt und das Operationsergebnis über einem internen Bus 174 in die Registerdatei 150 schreibt. In einem anderen Fall schreibt sie das Operationsergebnis über einen internen Bus 175 in ein Speicheradressenregister 111.Reference numeral 120 denotes a first instruction decoder, the output 105 of the instruction register 104 decodes and generates instruction control signals 121 and 122 . Reference numeral 140 denotes an arithmetic logic unit which receives the data required for an operation from a register file 150 via an internal bus 73 , which performs the arithmetic, the logical or the shift operation and the operation result via an internal bus 174 into the register file 150 writes. In another case, it writes the operation result to a memory address register 111 via an internal bus 175 .
Der Ausgang 121 eines Befehlsdekodierers 120 kennzeichnet den Operationstyp für die Arithmetik-Logik-Einheit (ALU) 140. Der Ausgang 122 des Befehlsdekodierers 120 kennzeichnet eine Lese- oder Schreiboperation für die Registerdatei 150.The output 121 of an instruction decoder 120 identifies the type of operation for the arithmetic logic unit (ALU) 140 . The output 122 of the instruction decoder 120 identifies a read or write operation for the register file 150 .
Die Bezugsziffer 130 bezeichnet einen zweiten Befehlsdekodierer, der den Ausgang 105 des Befehlsregisters 104 dekodiert, dem Datencachespeicher 112 den Speicherzugriff vorhersagt und dem Datencachespeicher 112 ein Speicherzugriffsankündigungssignal 131 liefert.Reference numeral 130 denotes a second instruction decoder that decodes the output 105 of the command register 104, the data cache 112 predicts the memory access and the data cache 112 provides a memory access notice signal 131st
Der Datencachespeicher 112 führt den vorbestimmten Speicherzugriff aus, der aufgrund des Speicherzugriffsankündigungssignals 131 des Adreßsignals vom Speicheradreßregister 111 und einem Lese/Schreibsteuersignal erfolgt (nicht gezeigt).The data cache 112 performs the predetermined memory access that is based on the memory access announcement signal 131 of the address signal from the memory address register 111 and a read / write control signal (not shown).
Der zweite Befehlsdekodierer 130 kann die Funktion aufweisen, um der Arithmetik-Logik-Einheit 140, der Registerdatei 150 und anderen Einheiten Operationsbeginns-Ankündigungssignale 132 und 133, wie erforderlich, zu senden.The second instruction decoder 130 may have the function to send operation start announcement signals 132 and 133 to the arithmetic logic unit 140 , register file 150 and other units as required.
Fig. 2 zeigt ein typisches Befehlsausführungsstadium des Mikroprozessors dieser Ausführungsform. Fig. 2 shows a typical instruction execution stage of the microprocessor of this embodiment.
Die Befehle 1 und 2 zeigen ein Ausführungsstadium einer R-R-Operation (Register-zu-Register-Operation).Instructions 1 and 2 show an execution stage an R-R operation (register-to-register operation).
In einem IF-Stadium (Befehlsabholstadium) werden die Befehlsdaten vom Befehlscachespeicher 103 geholt. In einem D-Stadium (Befehlsdekodierstadium) werden sie durch den Befehlsdekodierer 120 dekodiert. In einem EX-Stadium (Befehlsausführungsstadium) wird eine vorbestimmte Operation durch die Arithmetik-Logik-Einheit 140 ausgeführt. Schließlich wird in einem W-Stadium (Schreibstadium) ein Operationsergebnis in die Registerdatei 150 geschrieben.In an IF stage (instruction fetch stage), the instruction data is fetched from the instruction cache 103 . In a D stage (instruction decoding stage), they are decoded by the instruction decoder 120 . In an EX stage (instruction execution stage), a predetermined operation is performed by the arithmetic logic unit 140 . Finally, an operation result is written to the register file 150 at a W stage (write stage).
Für einen Ladebefehl und einen Speicherbefehl, siehe Fig. 2 Mitte, durch die der Zugriff auf den Datencachespeicher 112 angefordert wird, sind das IF-Stadium und das D-Stadium die gleichen wie die Stadien der R-R-Operation. In dem nächsten AC-Stadium (Adressenberechnung) wird zum Zugriff auf den Datencachespeicher 112 eine effektive Adresse berechnet. In einem CA-Stadium (Cachespeicherzugriff) wird auf den Datencachespeicher 112 zugegriffen. Schließlich werden im W-Stadium die geholten Daten in die Registerdatei 150 geschrieben. Wie oben beschrieben, liegt beim Lade/Speicherbefehl das effektive Adreßberechnungsstadium AC immer zwischen dem Dekodierstadium D und dem Speicherzugriffsstadium AC. Beim vorliegenden Ausführungsbeispiel wird die Speicherzugriffsanforderung im D-Stadium, das zwei Stadien vor dem CA-Stadium liegt, vorhergesagt und das Zugriffsankündigungssignal wird zum Cachespeicher 112 gesendet.For a load instruction and a store instruction, see FIG. 2 middle, by which access to the data cache 112 is requested, the IF stage and the D stage are the same as the stages of the RR operation. At the next AC stage (address calculation), an effective address is calculated to access data cache 112 . Data cache 112 is accessed at a CA (cache access) state. Finally, in the W stage, the fetched data is written into the register file 150 . As described above, in the load / store instruction, the effective address calculation stage AC is always between the decode stage D and the memory access stage AC. In the present embodiment, the memory access request is predicted at the D stage two stages before the CA stage and the access announcement signal is sent to the cache memory 112 .
Fig. 3 zeigt noch detaillierter das Signalflußdiagramm vom Holen des Befehls bis zur Erzeugung des Zugriffsankündigungssignals und dem Zugriff auf den Speicher. Fig. 3 shows the signal flow diagram from the fetch of the command to the generation of the access announcement signal and the access to the memory in more detail.
Bezugsziffer 3a bezeichnet den Systemtakt CLK. Dessen Periode ist gleich einer Stadiumsperiode des Befehlsausführungsstadiums von Fig. 3 und kann zum Beispiel 5 ns betragen.Reference numeral 3 denotes a system clock CLK. Its period is equal to a stage period of the instruction execution stage of Fig. 3 and may be, for example, 5 ns.
Bezugsziffer 3b bezeichnet das IF-Stadium. Es werden die Lade/Speicherbefehle M₁ bis M₅ geholt.Reference number 3 b denotes the IF stage. The load / store commands M₁ to M₅ are fetched.
Bezugsziffer 3c bezeichnet das D-Stadium, in dem auf das IF-Stadium folgenden Stadium werden die Lade/Speicherbefehle M₁ bis M₅ dekodiert. Reference number 3 c denotes the D stage, in the stage following the IF stage, the load / store commands M 1 to M 4 are decoded.
Bezugsziffer 3d bezeichnet das AC-Stadium. Die im D-Stadium 3c dekodierten effektiven Adressen A₁ bis A₅ für die Lade/Speicherbefehle M₁ bis M₅ werden berechnet.Reference number 3 d denotes the AC stage. The effective addresses A₁ to A₅ decoded for the load / store instructions M₁ to M₅ in the D-stage 3 c are calculated.
Bezugsziffer 3e bezeichnet die Speicheradressen A₁ bis A₃, die bei der Adressenberechnung berechnet werden. Der Speicherzugriff wird im CA-Stadium 3f unter Verwendung dieser Adressen tatsächlich durchgeführt.Reference number 3 e denotes the memory addresses A₁ to A₃, which are calculated in the address calculation. The memory access is actually performed in CA stage 3 f using these addresses.
Bezugsziffer 3g bezeichnet die Speicherzugriffsvorhersagesignale M₁ bis M₄, die durch den zweiten, in Fig. 1 gezeigten Befehlsdekodierer 130 erzeugt werden. Sie werden aufgrund der Dekodierung von M₁ bis M₅ im D-Stadium 3c erzeugt.Reference numeral 3 g denotes the memory access prediction signals M₁ to M₄, which are generated by the second instruction decoder 130 shown in FIG. 1. They are generated due to the decoding of M₁ to M₅ in D stage 3 c.
Die Bezugsziffer 3h bezeichnet das Speicherzugriffsankündigungssignal (3), das durch die Verarbeitung der Speicherzugriffsvorhersagesignale M₁ bis M₅ (3g) erzeugt wird. Es wird an den Datencachespeicher 112 geliefert.The reference numeral 3 h denotes the memory access announcement signal ( 3 ), which is generated by the processing of the memory access prediction signals M₁ to M₅ ( 3 g). It is delivered to data cache 112 .
Das Zugriffsankündigungssignal 3h wird ein Stadium vor dem E₁-Stadium 3f erzeugt, in dem auf den Speicher tatsächlich zugegriffen wird, und es wird auch ein Stadium vor dem E₃-Stadium erzeugt.The access announcement signal 3 h is generated a stage before the E 1 stage 3 f, in which the memory is actually accessed, and it is also generated a stage before the E 3 stage.
Fig. 4(A) zeigt die interne Konfiguration des zweiten Befehlsdekodierers 130 (s. Fig. 1), der das Speicherzugriffsankündigungssignal 131 erzeugt, Fig. 4(B) zeigt die interne Konfiguration der Vorhersageschaltung des Speicherzugriffs 410 und Fig. 4(C) zeigt ein Signaldiagramm im entsprechenden Betrieb. Fig. 4 (A) shows the internal configuration of the second instruction decoder 130 (see Fig. 1) which generates the memory access announcement signal 131 , Fig. 4 (B) shows the internal configuration of the prediction circuit of the memory access 410 and Fig. 4 (C) shows a signal diagram in the corresponding operation.
Bezugsziffer 410 bezeichnet die Speicherzugriffsvorhersageschaltung, die erfaßt, ob die vom Befehlsregister 104 gelieferten Befehlsdaten einen Befehl darstellen, der den Speicherzugriff verursacht oder nicht. Insbesondere wird, wie Fig. 4(B) zeigt, nachdem der Lade- und der Speicherbefehl erfaßt wurden, ein Erfassungssignal DET (Erfassung) erzeugt, wie 3g in Fig. 4(C) zeigt. Bezugsziffer 420 bezeichnet ein Flipflop, das das Erfassungssignal DET (3g) aufgrund des Taktsignals CLK (3a) hält und an seinem -Ausgang (4a), das in Fig. 4(C) gezeigte Zugriffsankündigungssignal PR (3h) erzeugt.Reference numeral 410 designates the memory access prediction circuit which detects whether the command data provided by the command register 104 represents a command that causes the memory access or not. Specifically, as shown in Fig. 4 (B), after the load and store instructions have been detected, a detection signal DET (detection) is generated, as shown by 3 g in Fig. 4 (C). Reference numeral 420 denotes a flip-flop which holds the detection signal DET ( 3 g) on the basis of the clock signal CLK ( 3 a) and, at its output ( 4 a), generates the access announcement signal PR ( 3 h) shown in FIG. 4 (C).
Das Signal PR 131 des Ausführungsbeispiels ist ein positives aktives Signal, obwohl seine Polarität nicht wesentlich ist.The signal PR 131 of the embodiment is a positive active signal, although its polarity is not essential.
Fig. 5 zeigt die interne Konfiguration des Datencachespeichers 112 (s. Fig. 1). FIG. 5 shows the internal configuration of the data cache 112 (see FIG. 1).
Bezugsziffer 510 bezeichnet einen Adreßpuffer, der ein Adreßsignal Ai erhält und positive und negative Adreßsignale, die von einem Adressendekodierungstreiber 520 angefordert werden, erzeugt. Der Ausgang des Adressendekodierungstreibers 520 wird zur Anwahl eines Speicherfeldes, das gelesen oder geschrieben werden soll, an ein Speicherfeld 530 geliefert.Numeral 510 denotes an address buffer that receives an address signal A i and generates positive and negative address signals requested by an address decoding driver 520 . The output of the address decoding driver 520 is provided to a memory array 530 for selection of a memory array to be read or written.
Bezugsziffer 540 bezeichnet einen Leseverstärker, der ein kleines Signal, das aus dem Speicherfeld gelesen wurde, auf einen gegebenen Signalpegel verstärkt. Bezugsziffer 550 bezeichnet einen Ausgangstreiber, der einen Ausgang D₀ treibt, der eine relativ hohe Last aufweist.Numeral 540 denotes a sense amplifier that amplifies a small signal that has been read from the memory array to a given signal level. Reference numeral 550 denotes an output driver which drives an output D₀ which has a relatively high load.
Bezugsziffer 560 bezeichnet eine Schreibsteuerschaltung, die Schreibdaten Di durch ein Schreibsteuersignal in eine vorbestimmte Adresse des Speicherfeldes 530 einschreibt.Reference numeral 560 denotes a write control circuit that writes write data D i into a predetermined address of the memory array 530 by a write control signal.
Bezugsziffer 570 bezeichnet einen Stromsteuersignalgenerator, der zur Erzeugung von mindestens einem Stromsteuersignal 575 das Zugriffsankündigungssignal PR erhält. Im Ausführungsbeispiel erhält er unter der Annahme, daß der Datencachespeicher 112 anteilig genutzt wird oder daß eine andere Zugriffsanforderung als die Befehlsausführung erfolgt, zur Erzeugung mindestens eines Stromsteuersignals 575 eine Vielzahl von Ankündigungssignalen PR₁, . . . PRn.Reference numeral 570 denotes a current control signal generator which receives the access announcement signal PR for generating at least one current control signal 575 . In the exemplary embodiment, assuming that the data cache 112 is being used proportionally or that an access request other than the command execution is taking place, a plurality of announcement signals PR 1,... Are generated to generate at least one current control signal 575 . . . PR n .
Die Steuerung des Schaltungsstroms durch das Stromsteuersignal 575 ist auf alle Schaltungselemente, außer dem Stromsteuersignalgenerator 570 im Cachespeicher 112 anwendbar. Die Anwahl des zu steuernden Schaltkreises hängt ab von der Konfiguration und Anwendung der tatsächlich anwendbaren Hardware. Control of the circuit current by the current control signal 575 is applicable to all circuit elements except the current control signal generator 570 in the cache 112 . The selection of the circuit to be controlled depends on the configuration and application of the hardware that can actually be used.
Fig. 6(A) zeigt die Konfiguration des Stromsteuersignalgenerators (s. Fig. 5) und Fig. 6(B) zeigt ein Signaldiagramm des Generators. Fig. 6 (A) shows the configuration of the current control signal generator (see Fig. 5) and Fig. 6 (B) shows a signal diagram of the generator.
Bezugsziffer 610 bezeichnet ein OR-Gatter zur ODER-Verknüpfung der Zugriffsankündigungssignale PR₁ bis PRn, dessen Ausgang an einem Inverter 620 und einem Flipflop 660 liegt. Bezugsziffer 630 bezeichnet ein NOR-Gatter zur ODER-NICHT-Verknüpfung des Ausgangs des Inverters 620 und des -Ausgangs des Flipflops 660 zur Erzeugung eines Signals PUMP wie unter 6c in Fig. 6(B) gezeigt.Reference numeral 610 denotes an OR gate for ORing the access announcement signals PR₁ to PR n , the output of which is at an inverter 620 and a flip-flop 660 . Reference numeral 630 designates a NOR gate for OR-NOT linking the output of the inverter 620 and the output of the flip-flop 660 to generate a signal PUMP as shown at 6 c in Fig. 6 (B).
Bezugsziffer 640 bezeichnet ein AND-Gatter zur UND-Verknüpfung des O-Ausgangs 6b des Flipflops 660 und des Taktsignals CLK 3a zur Erzeugung eines Signals MCLK 6d wie in Fig. 6(B) gezeigt. Die Bezugsziffern 650 und 670 bezeichnen ein OR-Gatter bzw. eine Verzögerungsschaltung. Das OR-Gatter 650 dient zur Verknüpfung des MCLK-Signals 6d und des durch die Verzögerungsschaltung 670 um eine vorgegebene Zeit verzögerten MCLK-Signals und erzeugt ein Signal Phi SA, wie in Fig. 6(B) gezeigt.Reference numeral 640 denotes an AND gate for ANDing the O output 6 b of the flip-flop 660 and the clock signal CLK 3 a for generating a signal MCLK 6 d as shown in Fig. 6 (B). Reference numerals 650 and 670 denote an OR gate and a delay circuit, respectively. The OR gate 650 is used to combine the MCLK signal 6 d and the MCLK signal delayed by the delay circuit 670 by a predetermined time and generates a signal Phi SA as shown in Fig. 6 (B).
MA 6e in Fig. 6(B) zeigt eine Speicheradresse im Speicherzugriffsausführungszyklus.MA 6 e in Fig. 6 (B) shows a memory address in the memory access execution cycle.
Wie in Fig. 6(B) gezeigt, erfolgt der Speicherzugriff auf die Speicheradressen A₁ und A₂ in den Taktstadien t₁ und t₃ (6g). Andererseits steigt das PUMP-Signal 6c im Stadium t₁, das ein Stadium vor dem Stadium t₂ liegt, an und fällt am Ende des Stadiums t₃ ab.As shown in Fig. 6 (B), the memory access to the memory addresses A₁ and A₂ takes place in the clock stages t₁ and t₃ ( 6 g). On the other hand, the PUMP signal 6 c rises in stage t 1, which is a stage before stage t 2, and falls off at the end of stage t 3.
Der Schaltungsstrom wird auf der Grundlage des PUMP-Signals 6c gesteuert. Dies ist in Fig. 7 dargestellt. Wie 7a in Fig. 7 zeigt, wird der Strom der gesteuerten Schaltung von i₁ auf einen vorbestimmten Strom i₂ in Übereinstimmung mit dem PUMP-Signal 6c erhöht und der Strompegel wird in den t₂- und t₃-Speicherzugriffsstadien aufrecht erhalten und vom Beginn des t₄-Stadiums an, in dem der Speicherzugriff durchgeführt worden ist, auf einen niederen Strompegel i₁ gesenkt. The circuit current is controlled based on the PUMP signal 6 c. This is shown in FIG. 7. As 7 a in Fig. 7 shows, the current of the controlled circuit is increased from i₁ to a predetermined current i₂ in accordance with the PUMP signal 6 c and the current level is maintained in the t₂ and t₃ memory access stages and from the beginning of t₄ stage in which the memory access has been performed, lowered to a low current level i₁.
Das MCLK-Signal 6d (Fig. 6(B)) ist ein Impulssignal, das in den Speicherzugriffsstadien t₂ und t₃ erzeugt wird, und dient in einem taktsynchronisierten Speicher als Speichertakt. Der taktsynchronisierte Speicher wird in den folgenden Publikationen beschrieben:The MCLK signal 6 d ( Fig. 6 (B)) is a pulse signal which is generated in the memory access stages t₂ and t₃, and is used in a clock-synchronized memory as a memory clock. The clock-synchronized memory is described in the following publications:
- 1) Kevin J. O′Connor, Modular Embedded Cache Memory for a 32b Pipelined RISC Microprocessor, 1987 IS SCCC, S. 256-257.1) Kevin J. O'Connor, Modular Embedded Cache Memory for a 32b Pipelined RISC Microprocessor, 1987 IS SCCC, pp. 256-257.
- 2) Masanori Odaka u. a., A512 kb/rns BiCMOS RAM With 1 KG/150 ps Logic Gate Array, 1989, IS SCC, S. 28-29.2) Masanori Odaka et al. a., A512 kb / rns BiCMOS RAM With 1 KG / 150 ps Logic Gate Array, 1989, IS SCC, pp. 28-29.
- 3) Masayoshi Kimoto u. a., A 1.4 ns/64 kb RAM With 85 ps/3688 Logic Gate Array, 1988 CI CC, S. 15.8.1-15.8.4.3) Masayoshi Kimoto et al. a., A 1.4 ns / 64 kb RAM With 85 ps / 3688 Logic Gate Array, 1988 CI CC, pp. 15.8.1-15.8.4.
Das Phi-SA-Signal 6f wird in den Speicherzugriffsstadien t₂ und t₃ erzeugt und dient nur für eine vorbestimmte Periode als Signal zur Aktivierung des Leseverstärkers.The Phi-SA signal 6 f is generated in the memory access stages t₂ and t₃ and serves only for a predetermined period as a signal to activate the sense amplifier.
Bei einer unabhängigen Steuerung der Aktivierung des Leseverstärkers wird das durch das Stromschalten verursachte Stromversorgungsrauschen innerhalb eines zulässigen Bereichs aufrecht erhalten und kann als ein Signal zur Minimierung der Aktivierungszeit des Leseverstärkers, der einen hohen Stromverbrauch hat, verwendet werden.If the activation of the The sense amplifier is caused by the current switching Power supply noise within an acceptable range and can serve as a signal to minimize the Activation time of the sense amplifier, which is high Power consumption has to be used.
Ein Beispiel der Schaltungsstromsteuerung durch das PUMP-Signal und das Phi-SA-Signal wird weiter unten beschrieben.An example of circuit current control by the PUMP signal and the Phi-SA signal is described below.
Fig. 8(A) zeigt ein erstes Beispiel der Schaltung, die den Schaltungsstrom durch das PUMP-Signal steuert und Fig. 8(B) zeigt Operations-Impulssignalformen. Fig. 8 (A) shows a first example of the circuit that controls the circuit current through the PUMP signal, and Fig. 8 (B) shows operation pulse waveforms.
Bezugsziffern 811 und 812 bezeichnen pMOS, deren Quelle mit einer Stromversorgung V₁ und deren Gatter miteinander und mit der Senke eines pMOS 811 verbunden sind. Die Bezugsziffern 821, 822 und 823 bezeichnen nMOS. Die Senke des nMOS 821 ist mit der Senke des pMOS 811, an dessen Gatter das PUMP-Signal anliegt und dessen Quelle mit einem Referenzpotential verbunden ist. Reference numerals 811 and 812 denote pMOS, the source of which is connected to a power supply V 1 and the gate of which is connected to one another and to the sink of a pMOS 811 . Reference numerals 821, 822 and 823 denote nMOS. The sink of the nMOS 821 is connected to the sink of the pMOS 811 , at the gate of which the PUMP signal is present and the source of which is connected to a reference potential.
Die Senke des nMOS 822 ist mit der Senke des pMOS 812; das Gatter desselben ist mit dem Ausgang eines Inverters 830 und seine Quelle ist mit dem Referenzpotential verbunden. Der Eingang des Inverters 830 ist mit dem PUMP-Signal verbunden.The sink of the nMOS 822 is identical to the sink of the pMOS 812 ; its gate is connected to the output of an inverter 830 and its source is connected to the reference potential. The input of inverter 830 is connected to the PUMP signal.
Bezugsziffer 840 bezeichnet eine aktive Schaltung wie beispielsweise einen Differenzverstärker. Er ist in einem funktionellen Schaltungsblock, wie beispielsweise dem Datencachespeicher 112, der Arithmetik-Logik-Einheit 140 oder der Registerdatei 150 vorgesehen (s. Fig. 1). Ein vorbestimmter Operationsstrom wird von einer Konstantstromquelle 850 durch den nMOS 823 geliefert. Eine Verbindung besteht durch das Gatter des nMOS 823 und die Erdung GND mit dem Integrationskondensator C.Reference numeral 840 denotes an active circuit such as a differential amplifier. It is provided in a functional circuit block, such as data cache 112 , arithmetic logic unit 140 or register file 150 (see FIG. 1). A predetermined operational current is supplied from a constant current source 850 through the nMOS 823 . A connection is established through the gate of the nMOS 823 and the ground GND with the integration capacitor C.
Die pMOS 811 und 812, die nMOS 821 und 823 bilden eine Stromspiegelschaltung. Wie Fig. 8(B) zeigt, fließt, wenn das PUMP-Signal vom Pegel 0 auf 1 ansteigt, ein vorbestimmter Ladungsstrom vom pMOS 812 zum Kondensator C und die Gatterspannung Vg des nMOS 823 und der Strom i der Schaltung 840 steigen leicht auf vorbestimmte Nachführungsgeschwindigkeiten an (Änderungsgeschwindigkeiten je Zeiteinheit), wie in Fig. 8(B) Mitte und unten gezeigt. Die Anstiegszeit t₁ entspricht dem Stadium t₁, wie Fig. 7 zeigt.The pMOS 811 and 812 , the nMOS 821 and 823 form a current mirror circuit. As shown in Fig. 8 (B), when the PUMP signal rises from level 0 to 1, a predetermined charge current flows from the pMOS 812 to the capacitor C, and the gate voltage Vg of the nMOS 823 and the current i of the circuit 840 rise slightly to predetermined ones Tracking speeds on (change speeds per unit time) as shown in Fig. 8 (B) middle and below. The rise time t 1 corresponds to the stage t 1, as shown in FIG. 7.
Gleichermaßen fällt, wenn das PUMP-Signal vom Pegel 1 auf den Pegel 0 wechselt, die Spannung Vg und der Strom i leicht in einer vorbestimmten Nachführungsgeschwindigkeit ab. Die Abfallzeit t₄ entspricht dem Stadium t₄, wie Fig. 7 zeigt. Die Anstiegszeit t₁ und die Abfallzeit t₄ des Stroms i sind nicht notwendigerweise gleich. Die Abfallzeit t₄ kann in einem unzuträglichen Bereich kurz sein, weil der Schaltungsbetrieb eingestellt wurde.Likewise, when the PUMP signal changes from level 1 to level 0, voltage Vg and current i drop slightly at a predetermined tracking rate. The fall time t₄ corresponds to the stage t₄, as shown in FIG. 7. The rise time t₁ and the fall time t₄ of the current i are not necessarily the same. The fall time t₄ can be short in an intolerable range because the switching operation has been stopped.
Fig. 9(A) zeigt ein zweites Beispiel der Schaltung zur Steuerung des Schaltungsstroms unter Verwendung des PUMP-Signals und Fig. 9(B) zeigt Operations-Impulssignalformen. Fig. 9 (A) shows a second example of the circuit for controlling the circuit current using the PUMP signal, and Fig. 9 (B) shows operation pulse waveforms.
Die Bezugsziffern 911 bis 914 bezeichnen Inverter, die Bezugsziffern 921 bis 923 bezeichnen nMOS. Die Bezugsziffern 931 bis 933 bezeichnen Konstantstromquellen und die Bezugsziffer 940 bezeichnet eine aktive Schaltung, wie beispielsweise einen Differenzverstärker, der in einem funktionellen Schaltungsblock wie beispielsweise dem Datencachespeicher 112 der Arithmetik-Logik-Einheit 140 oder der Registerdatei 150 vorgesehen ist (s. Fig. 1).Reference numerals 911 to 914 denote inverters, reference numerals 921 to 923 denote nMOS. Reference numerals 931 to 933 denote constant current sources and reference numeral 940 denotes an active circuit, such as a differential amplifier, which is provided in a functional circuit block such as, for example, the data cache memory 112 of the arithmetic logic unit 140 or the register file 150 (see FIG. 1 ).
Die Verzögerungszeiten der Inverter 912 bis 914 sind so gewählt, daß sie in der Reihenfolge 914, 913, 912 ansteigen. Wenn also das PUMP-Signal von 0 auf 1 wechselt, wie Fig. 9(B) zeigt, steigen die in den nMOS 921 bis 923 fließenden Ströme i₁ bis i₃ mit einer vorbestimmten Zeitverzögerung an und der Betriebsstrom der aktiven Schaltung 940 steigt schrittweise nach der Zeitdauer t₁ bis auf einen konstanten Stadiumsstrom i₁+i₂+i₃ an.The delay times of the inverters 912 to 914 are selected so that they increase in the order 914, 913, 912 . Thus, when the PUMP signal changes from 0 to 1, as shown in FIG. 9 (B), the currents i 1 to i 3 flowing in the nMOS 921 to 923 increase with a predetermined time delay and the operating current of the active circuit 940 gradually increases after that Duration t₁ to a constant stage current i₁ + i₂ + i₃.
Desgleichen fällt, wenn das PUMP-Signal 1 zu 0 wechselt, der Schaltungsstrom 940 schrittweise in der Zeit t₄ ab. Das bedeutet, ähnlich wie im Ausführungsbeispiel der Fig. 8, wird eine weiche Stromänderung erzielt.Likewise, when the PUMP signal 1 changes to 0, the circuit current 940 gradually drops in time t₄. That means, similar to the embodiment of FIG. 8, a smooth current change is achieved.
Die Anstiegszeit t₁ bzw. die Abfallzeit t₂ entsprechen dem Stadium t₁ bzw. dem Stadium t₄ der Fig. 7, wie das auch im ersten Ausführungsbeispiel der Fall ist.The rise time t₁ and the fall time t₂ correspond to the stage t₁ or the stage t₄ of FIG. 7, as is the case in the first embodiment.
In den oben beschriebenen Ausführungsbeispielen wird der Schaltungsstrom unter Verwendung des PUMP-Signals und des Phi-SA-Signals gesteuert. Der Schaltungsstrom kann alternativ dazu auch durch andere übliche Methoden gesteuert werden.In the above-described embodiments the circuit current using the PUMP signal and the Phi-SA signal controlled. The circuit current can alternatively can also be controlled by other common methods.
Für den ersten Schaltungsstromsteuerkreis wird ein Beispiel der Schaltungsstromsteuerung in dem Datencachespeicher 112 erläutert (s. Fig. 1).For the first circuit current control circuit, an example of the circuit current control in data cache 112 is illustrated (see FIG. 1).
Fig. 10 zeigt ein Ausführungsbeispiel der Stromsteuerung für den Adreßpuffer 510 in Fig. 5 des Datencachespeichers 112. FIG. 10 shows one embodiment of the current control for the address buffer 510 in FIG. 5 of the data cache 112 .
Die Bezugsziffern 1011 bis 1014 bezeichnen n-p-n-Transistoren, die Bezugsziffern 1021 und 1022 bezeichnen Widerstände, die Bezugsziffern 1031 bis 1033 bezeichnen nMOS und die Bezugsziffern 1041 bis 1043 bezeichnen Konstantstromquellen.The reference numerals 1011 to 1014 denote npn transistors, the reference numerals 1021 and 1022 denote resistors, the reference numerals 1031 to 1033 denote nMOS and the reference numerals 1041 to 1043 denote constant current sources.
Die Emitter der n-p-n-Transistoren 1011 und 1012 sind miteinander und über den nMOS 1031 mit der Konstantstromquelle 1041 verbunden. Die Basen der n-p-n-Transistoren 1011 und 1012 sind mit einem Adressensignal Ai bzw. einem Referenzpotential VR verbunden und deren Kollektoren sind mit einer Stromversorgung V₁ über die Widerstände 1021 und 1022 vebunden. Die Kollektoren der n-p-n-Transistoren 1013 und 1014 sind mit der Stromversorgung V₁ verbunden und deren Basen sind mit dem Kollektor des n-p-n-Transistors 1011 und dem Kollektor des n-p-n-Transistors 1012 verbunden. Die Emitter der n-p-n-Transistoren 1013 und 1014 sind über die nMOS 1032 bzw. 1033 mit den Konstantstromquellen 1042 bzw. 1043 verbunden.The emitters of the npn transistors 1011 and 1012 are connected to one another and to the constant current source 1041 via the nMOS 1031 . The bases of the npn transistors 1011 and 1012 are connected to an address signal A i or a reference potential V R and their collectors are connected to a power supply V 1 via the resistors 1021 and 1022 . The collectors of the npn transistors 1013 and 1014 are connected to the power supply V₁ and their bases are connected to the collector of the npn transistor 1011 and the collector of the npn transistor 1012 . The emitters of the npn transistors 1013 and 1014 are connected to the constant current sources 1042 and 1043 via the nMOS 1032 and 1033, respectively.
Der Ausgang ai wird am Emitter des n-p-n-Transistors 1014 als nicht invertierter Ausgang des Eingangs i und der Ausgang wird am Emitter des n-p-n-Transistors 1013 als invertierter Ausgang des Eingangs Ai abgenommen. Die Gatter der nMOS 1031 bis 1033 sind gemeinsam mit dem Steuersignal Vg verbunden, das dem in Fig. 8 gezeigten Signal Vg entspricht.The output a i is taken at the emitter of the npn transistor 1014 as the non-inverted output of the input i and the output is taken at the emitter of the npn transistor 1013 as the inverted output of the input A i . The gates of the nMOS 1031 to 1033 are connected in common to the control signal Vg, which corresponds to the signal Vg shown in FIG. 8.
Die n-p-n-Transistoren 1011 und 1011, die Widerstände 1021 und 1022 und die Konstantstromquelle 1041 bilden einen Differenzverstärker. Wenn das Stromsteuersignal Vg auf dem Pegel 1 ist und das Adreßsignal Ai höher als Vg ist, schaltet der n-p-n-Transistor 1011 ein, der n-p-n-Transistor 1012 schaltet aus, der Kollektor des n-p-n-Transistors 1011 befindet sich auf dem Pegel 0 und der Kollektor des n-p-n-Transistors 1012 ist auf dem Pegel 1.The NPN transistors 1011 and 1011 , the resistors 1021 and 1022 and the constant current source 1041 form a differential amplifier. When the current control signal Vg is at level 1 and the address signal A i is higher than Vg, the npn transistor 1011 turns on, the npn transistor 1012 turns off, the collector of the npn transistor 1011 is at the level 0 and The collector of the npn transistor 1012 is at level 1.
Der Kollektor des n-p-n-Transistors 1011 ist mit der Basis des Emitterfolgertransistors 1013 verbunden, der die 0-Pegel-Ausgabe an dessen Emitter erzeugt. In gleicher Weise ist der Kollektor des n-p-n-Transistors 1012 mit der Basis des Emitterfolgertransistors 1014 verbunden, der die 1-Pegel-Ausgabe ai an dessen Emitter erzeugt. The collector of the NPN transistor 1011 is connected to the base of the emitter follower transistor 1013 , which produces the 0-level output at its emitter. In the same way, the collector of the npn transistor 1012 is connected to the base of the emitter follower transistor 1014 , which generates the 1-level output a i at its emitter.
Wenn das Adreßsignal Ai niedriger als VR ist, arbeiten der n-p-n-Transistor 1011 und der n-p-n-Transistor 1012 entgegengesetzt, so daß sich der -Ausgang auf dem Pegel 1 und der ai-Ausgang auf dem Pegel 0 befindet.If the address signal A i is lower than V R , the npn transistor 1011 and the npn transistor 1012 operate in opposite directions, so that the output is at level 1 and the a i output is at level 0.
Wenn das Stromsteuersignal Vg auf dem Pegel 0 ist, werden alle nMOS 1031 bis 1033 ausgeschaltet. Da von der Stromversorgung V₁ kein Stromweg zur Erdung GND führt, verbraucht die Schaltung keinen Strom.When the current control signal Vg is at level 0, all nMOS 1031 to 1033 are turned off. Since there is no current path from the power supply V 1 to the ground GND, the circuit does not consume any current.
Weil das Stromsteuersignal Vg die vorbestimmten Anstiegs- und Abfallzeiten, wie in Fig. 8(B) gezeigt, aufweist, findet ein sanfter Stromabfall statt, wie Ziffer 7a in Fig. 7 zeigt.Because the current control signal Vg shown the predetermined rise and fall times, as shown in Fig. 8 (B), comprising, a gentle stream of waste takes place as a point 7 in FIG. 7 shows.
Daher können das Stromversorgungs- und das Erdrauschen (s. Fig. 24(B)), die beim Schalten des Stroms auftreten, bis auf einen gewünschten Pegel unterdrückt werden.Therefore, the power supply and ground noise (see Fig. 24 (B)) that occur when the power is switched can be suppressed to a desired level.
Fig. 11 zeigt ein Beispiel der Schaltungsstromsteuerung für den Treiber des Dekodierers 520, das Speicherfeld 530 und den Leseverstärker 540 (s. Fig. 5) im Datencachespeicher. Fig. 11 shows an example of the current control circuit for the driver of the decoder 520, the memory array 530 and the sense amplifier 540 shows (s. Fig. 5) in the data cache memory.
Die Bezugsziffern 1161 und 1162 bezeichnen NOR-Gatter, die dem Endstadium des Adressendekodierers entsprechen.Reference numerals 1161 and 1162 denote NOR gates which correspond to the end stage of the address decoder.
Die Bezugsziffern 1171 und 1172 bezeichnen einen Worttreiber, der AND-Gatter enthält. Die Ausgänge der Adressendekodierer 1161 und 1162 sind mit einem Eingang verbunden, das Steuersignal Vg ist mit dem anderen Eingang verbunden und die Wortleitungen WL₁ und WL₂ werden durch dessen Ausgang betrieben.Reference numerals 1171 and 1172 denote a word driver that contains 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 word lines WL 1 and WL 2 are operated by its output.
Die Bezugsziffer 1100 bezeichnet eine 4-MOS-Speicherzelle, ist aber nicht darauf beschränkt. Zur besseren Anschaulichkeit ist nur eine Zelle dargestellt.Reference numeral 1100 denotes a 4-MOS memory cell, but is not limited to this. Only one cell is shown for clarity.
Die Bezugsziffern 1111 und 1112 bezeichnen Last-MOS zum Hochziehen von Bitleitungen. Die Bezugsziffern 1113 bis 1116 bezeichnen MOS-Schalter zum Anwählen der Bitleitungen. Eine gewünschte Bitleitung wird mit einer gemeinsamen Datenleitung 1120 durch die Spaltenanwahlsignale C₁ und C₂ verbunden.Reference numerals 1111 and 1112 denote load MOS for pulling up bit lines. Reference numerals 1113 to 1116 denote MOS switches for selecting the bit lines. A desired bit line is connected to a common data line 1120 by the column selection signals C₁ and C₂.
Die Bezugsziffern 1121 und 1122 bezeichnen Emitterfolgerschaltungen, n-p-n-Transistoren enthalten. Mit Hilfe der VBE (Basis-Emitter-Spannung) schieben sie den Signalpegel über die gemeinsame Datenleitung 1120 und liefern ihn an die Basis des n-p-n-Transistors 1123 bzw. 1124. Die Emitter der n-p-n-Transistoren 1123 und 1124 sind miteinander und mit einer Stromquelle 1151 über einen nMOS 1141 verbunden. Kollektoren der n-p-n-Transistoren 1123 und 1124 sind mit der Stromversorgung V₁ über die Widerstände 1131 und 1132 verbunden.Reference numerals 1121 and 1122 denote emitter follower circuits containing npn transistors. With the help of the V BE (base-emitter voltage), they push the signal level over the common data line 1120 and deliver it to the base of the npn transistor 1123 or 1124 . The emitters of the NPN transistors 1123 and 1124 are connected to one another and to a current source 1151 via an nMOS 1141 . Collectors of the NPN transistors 1123 and 1124 are connected to the power supply V 1 through the resistors 1131 and 1132 .
Die n-p-n-Transistoren 1123, 1124, die Widerstände 1131, 1132 und die Stromquelle 1151 bilden einen Differenzverstärker, der ein kleines Signal, das von der Speicherzelle 1100 ausgelesen wird, auf einen vorbestimmten Pegel verstärkt. Desgleichen bezeichnet die Bezugsziffer 1150 einen Differenzverstärker, der zwei Widerstände und zwei n-p-n-Transistoren und über einen nMOS 1142 mit einer Konstantstromquelle 1152 verbunden ist.The NPN transistors 1123, 1124 , the resistors 1131, 1132 and the current source 1151 form a differential amplifier which amplifies a small signal which is read out from the memory cell 1100 to a predetermined level. Likewise, reference numeral 1150 denotes a differential amplifier, which is connected to two resistors and two npn transistors and via an nMOS 1142 to a constant current source 1152 .
Zwei Eingänge des Verstärkers 1150 sind mit den Kollektoren der n-p-n-Transistoren 1123 und 1124 verbunden. Die dorthin zu liefernden Signale werden zur Erzeugung eines Ausgangssignals mit einer vorbestimmten Amplitude an einem Terminal 1151 verstärkt.Two inputs of amplifier 1150 are connected to the collectors of NPN transistors 1123 and 1124 . The signals to be delivered there are amplified at a terminal 1151 to generate an output signal with a predetermined amplitude.
Das Stromsteuersignal Vg (s. Fig. 8) ist mit jeweils einem Eingang der AND-Gatter 1171 und 1172 verbunden. Wenn Vg den Pegel 1 aufweist, werden die AND-Gatter 1171 und 1172 zum selektiven Antrieb der Wortleitungen WL₁ und WL₂ selektiv angetrieben. Wenn andererseits Vg den Pegel 0 aufweist, werden die Worttreiber einschließlich der AND-Gatter 1171 und 1172 ausgeschaltet. Dementsprechend sind die in den Speicherzellen einschließlich der Speicherzelle 1000 fließenden Ströme blockiert. Daher wird dann, wenn auf den Speicher nicht zugegriffen wird, ein unnötiger Stromverbrauch vermieden.The current control signal Vg (see FIG. 8) is connected to an input of the AND gates 1171 and 1172 , respectively. When Vg is 1, the AND gates 1171 and 1172 are selectively driven to selectively drive the word lines WL 1 and WL 2. On the other hand, when Vg is 0, the word drivers including AND gates 1171 and 1172 are turned off. Accordingly, the currents flowing in the memory cells including the memory cell 1000 are blocked. Therefore, if the memory is not accessed, unnecessary power consumption is avoided.
Gleichermaßen ist das Stromsteuersignal Vg mit den Gattern der nMOS 1141 und 1142 verbunden. Wenn Vg sich auf dem Pegel 1 befindet, werden die nMOS 1141 und 1142 eingeschaltet und wenn Vg sich auf dem Pegel 1 befindet, werden sie ausgeschaltet.Likewise, the current control signal Vg is connected to the gates of the nMOS 1141 and 1142 . When Vg is at level 1, nMOS 1141 and 1142 are turned on and when Vg is at level 1 they are turned off.
Daher fließt dann, wenn auf den Speicher nicht zugegriffen wird, kein Strom im Leseverstärker und unnötiger Stromverbrauch wird vermieden.Therefore, if the memory does not flow is accessed, no current in the sense amplifier and unnecessary Power consumption is avoided.
Ziffer 7a in Fig. 7 zeigt die Änderung des Schaltungsstroms durch das Stromsteuersignal Vg. Daher kann das durch das Schalten des Stroms verursachte Stromversorgungs- und Erdungsrauschen auf einen zulässigen Pegel gesenkt und, weil zur Startzeit des Speicherzugriffs kein Rauschen vorhanden ist, kann ein Hochgeschwindigkeitsbetrieb erzielt werden.Numeral 7 a in Fig. 7, the change in the circuit current indicated by the current control signal Vg. Therefore, it can reduce the by switching the current caused power supply and ground noise to an acceptable level, and because the start time of the memory access is no noise, a high speed operation be achieved.
In Fig. 11, wenn der Schalter SW 1180 auf die Position des Signals Phi SA geschaltet wird, werden die nMOS 1141 und 1142 für einen kurzen Zeitraum aktiviert. Wie oben beschrieben, ist das Signal Phi SA ein Impulssignal, das den Pegel 1 nur für die vorbestimmte Zeit der Speicherzugriffsstadien t₂ und t₃ annimmt. Im Ausführungsbeispiel liefert es den Strom an den Leseverstärker nur für die Zeit, in der auf den Speicher zugegriffen wird. Daher kann Strom gespart werden.In Fig. 11, when the switch SW is switched to the position of the signal Phi SA 1180, the nMOS 1141 and 1142 are turned on for a short period. As described above, the signal Phi SA is a pulse signal which assumes level 1 only for the predetermined time of the memory access stages t₂ and t₃. In the exemplary embodiment, it supplies the current to the sense amplifier only for the time in which the memory is being accessed. Therefore, electricity can be saved.
Fig. 12 zeigt ein Beispiel des Stromsteuersignals für den Ausgangstreiber 550 (s. Fig. 5) des Datencachespeichers 112. FIG. 12 shows an example of the current control signal for the output driver 550 (see FIG. 5) of the data cache 112 .
Senke, Gatter und Quelle eines pMOS 1211 sind mit der Basis eines n-p-n-Transistors 1142, dem Eingang VIN bzw. der Stromversorgung V₁ verbunden. Senke, Gatter und Quelle eines nMOS 1221 sind mit der Basis des n-p-n-Transistors 1241, dem Eingang Vein bzw. einem Ende eines Widerstandes 1251 verbunden. Senke, Gatter und Quelle eines pMOS 1222 sind mit der Senke des nMOS 1221, einem Stromsteuersignal Vg bzw. der Basis des n-p-n-Transistors 1241 verbunden. Ein Kondensator 1261 ist durch den Widerstand 1251 verbunden. Anode und Kathode einer Diode 1231 sind mit dem Kollektor und der Basis des n-p-n-Transistors 1241 verbunden und die Stromversorgung V₁ ist mit dem Kollektor des n-p-n-Transistors 1241 verbunden. Der Emitter des n-p-n-Transistors 1241 ist ein Ausgangsterminal und ein Abschlußwiderstand 1252 ist über das Ausgangsterminal und die Stromversorgung V₂ verbunden.Sink, gate and source of a pMOS 1211 are connected to the base of an npn transistor 1142 , the input V IN and the power supply V₁. Sink, gate and source of an nMOS 1221 are connected to the base of the npn transistor 1241 , the input V one and one end of a resistor 1251 , respectively. The sink, gate and source of a pMOS 1222 are connected to the sink of the nMOS 1221 , a current control signal Vg and the base of the npn transistor 1241 , respectively. A capacitor 1261 is connected through resistor 1251 . Anode and cathode of a diode 1231 are connected to the collector and the base of the npn transistor 1241 and the power supply V₁ is connected to the collector of the npn transistor 1241 . The emitter of the npn transistor 1241 is an output terminal and a terminating resistor 1252 is connected via the output terminal and the power supply V₂.
Wenn das Stromsteuersignal Vg auf dem Pegel 1 ist, wird der pMOS 1222 abgeschaltet. Wenn der Eingang Vein sich auf dem Pegel 0 befindet, wird der pMOS 1211 eingeschaltet und der nMOS 1221 ausgeschaltet. Daher wird die Basisspannung des n-p-n-Transistors 1241 über den pMOS 1211 erhöht und der Ausgang Vaus nimmt den Pegel 1 an. Wenn Vein sich auf dem Pegel 1 befindet, wird der pMOS 1211 ausgeschaltet und der nMOS 1221 ist eingeschaltet. Daher fällt die Basisspannung des n-p-n-Transistors 1241 ab und der Ausgang Vaus nimmt den Pegel 0 an.When the current control signal Vg is at level 1, the pMOS 1222 is turned off. When the input V is a at the 0 level, the pMOS is turned off 1211 and the nMOS 1221. Therefore, the base voltage of the npn transistor 1241 is increased via the pMOS 1211 and the output V out assumes level 1. If V is a 1 on the level, the PMOS 1211 is turned off and the nMOS 1221 is turned on. Therefore, the base voltage of the npn transistor 1241 drops and the output V out assumes the level 0.
Die Diode 1231 dient als Klemme, um innerhalb eines vorbestimmten Pegels den Abfall des Basispotentials des n-p-n-Transistors 1241 zu unterdrücken.The diode 1231 serves as a clamp to suppress the drop in the base potential of the npn transistor 1241 within a predetermined level.
Der Widerstand 1251 ist ein Strombegrenzungswiderstand und der Kondensator 1261 ist ein Beschleunigungskondensator. Resistor 1251 is a current limiting resistor and capacitor 1261 is an accelerating capacitor.
Wenn Vg sich auf dem Pegel 0 befindet, wird der pMOS 1222 eingeschaltet. Das Basispotential des n-p-n-Transistors 1241 fällt ohne Berücksichtigung des Pegels des Eingangs Vein ab, so daß der Ausgang Vaus den Pegel 0 annimmt.When Vg is at level 0, pMOS 1222 turns on. The base potential of the NPN transistor 1241 drops without regard to the level of the input V a decreases so that the output V from the level assumes 0th
Auf diese Weise wird der gleiche Effekt wie bei den Schaltungsstromsteuerungen für den Adreßpuffer 510, den Dekodierungstreiber 520, das Speicherfeld 530 und den Leseverstärker 540 erzielt.In this way, the same effect as in the circuit current controls for the address buffer 510 , the decoding driver 520 , the memory array 530 and the sense amplifier 540 is achieved.
Die Schaltungsstromsteuerung im Datencachespeicher 112 (s. Fig. 1) ist obenstehend für die erste Schaltungsstromsteuerung beschrieben worden, obwohl auch die zweite Schaltungsstromsteuerung (s. Fig. 9) oder eine andere Schaltungsstromsteuerung verwendet werden können.The circuit current control in data cache 112 (see FIG. 1) has been described above for the first circuit current control, although the second circuit current control (see FIG. 9) or other circuit current control may also be used.
Im Ausführungsbeispiel wurde eine Senkung des Leistungsverbrauchs beim Zugriff auf den Speicher beschrieben, der das Zugriffsankündigungssignal verwendet. Der Erfindungsgedanke ist gleichfalls auf jede funktionelle Schaltung anwendbar, deren Betrieb durch eine Dekodierung des Befehlsworts gesteuert wird, wie beispielsweise eine Arithmetik-Logik-Einheit in einem Ein-Chip-Mikroprozessor oder einer Registerdatei. Im Ausführungsbeispiel steigt der Schaltungsstrom synchron mit dem Stadium an, das vor dem Ausführungsstadium der Operation liegt. Eine Synchronisierung ist nicht immer notwendig, jedoch kann der Anstieg vor dem Beginn des Ausführungsstadiums bis zu einer Zeit gestartet werden, die zur Senkung des Stromversorgungs- und Erdungsrauschens, das bei der Stromänderung auftritt, auf einen vorbestimmten Pegel ausreichend ist. In diesem Fall kann anstelle einer Synchronisierung mit dem Stadium, das vor dem Ausführungsstadium liegt, das PUMP-Signal zu einem gewünschten Zeitpunkt wirksam gemacht werden.In the exemplary embodiment, a reduction in Described the power consumption when accessing the memory, who uses the access announcement signal. The The idea of the invention is equally functional Circuit applicable, the operation of which by decoding the Command word is controlled, such as a Arithmetic logic unit in a one-chip microprocessor or a register file. In the exemplary embodiment, the Switching current in synchronism with the stage before the Execution stage of the operation. A synchronization is not always necessary, however, the increase before Start of execution stage started up to a time to reduce power and ground noise, that occurs when the current changes, to one predetermined level is sufficient. In this case instead of synchronizing with the stage prior to Execution stage is, the PUMP signal to a desired Effective date.
Im Ausführungsbeispiel steigt der Strom für die Speicherschaltung und die andere funktionelle Schaltung im Ein-Chip-Mikroprozessor vor dem Beginn der Operation durch das Zugriffsankündigungssignal, das vor dem tatsächlichen Betrieb der Schaltung erzeugt wird, auf die vorbestimmte Geschwindigkeit an. Daher verbrauchen die funktionellen Schaltungen den für die Schaltungsleistung erforderlichen Strom nur während des tatsächlichen Betriebs. Daher wird der Stromverbrauch des Ein-Chip-Mikroprozessors reduziert.In the exemplary embodiment, the current for the Memory circuit and the other functional circuit in the One-chip microprocessor before starting the operation the access announcement signal that precedes the actual Operation of the circuit is generated to the predetermined Speed. Therefore, the functional consume Circuits that are required for circuit performance Electricity only during actual operation. Hence the Power consumption of the one-chip microprocessor reduced.
Weil dank der Tatsache, daß Strom gespart wird, eine neue Funktion eingeführt werden kann, wird eine funktionell hochwertige und hochintegrierte Anordnung erzielt.Because thanks to the fact that electricity is saved, one new function can be introduced becomes functional high quality and highly integrated arrangement achieved.
Weil der Schaltungsstrom der funktionellen Schaltung mit einer vorbestimmten Geschwindigkeit geändert wird, kann das Stromversorgungs- und das Erdleitungsrauschen, das bei der Stromänderung auftritt, bis auf den vorbestimmten Pegel gesenkt werden. Es wird daher ein höchst zuverlässiger Schaltbetrieb erzielt.Because the circuit current of the functional circuit can be changed at a predetermined speed the power supply and ground line noise that at the current change occurs up to the predetermined level be lowered. It will therefore be a highly reliable one Switching operation achieved.
In der funktionellen Schaltung gemäß dem Ausführungs beispiel ist das Stromversorgungsrauschen und das Erdlei tungsrauschen zum Zeitpunkt des Beginns des tatsächlichen Betriebs verschwunden, die Schaltung kann unter besten Strombedingungen betrieben werden und arbeitet mit einer hohen Geschwindigkeit.In the functional circuit according to the execution Examples are the power supply noise and the earth noise at the time the actual Operating disappeared, the circuit can be among the best Current conditions are operated and works with a high speed.
Im folgenden wird die Verwendung der Erfindung in einem Super-Skalar-RISC-Prozessor erläutert.The following is the use of the invention in a super scalar RISC processor explained.
In dem Super-Skalar-RISC-Prozessor sind eine Vielzahl von Arithmetik-Logik-Einheiten, die sich eine Registerdatei teilen, vorgesehen und die Befehle sind vereinfacht, um die Anzahl der Pipeline-Stadien zu reduzieren und eine Vielzahl von Befehlen wird zur Kontrolle der Vielzahl von Arithmetik- Logik-Einheiten in einem Maschinenzyklus geholt. Es wird nämlich eine Vielzahl von Befehlen während einem Maschinen zyklus parallel geholt und ausgeführt und eine Vielzahl von Arithmetik-Logik-Einheiten wird zur Steigerung der Verar beitungsleistung parallel betrieben.There are a lot in the Super Scalar RISC processor of arithmetic logic units, which is a register file share, provided and the commands are simplified to the Reduce number of pipeline stages and a variety of commands is used to control the variety of arithmetic Logic units fetched in one machine cycle. It will namely a variety of commands during a machine fetched and executed in parallel and a variety of Arithmetic logic units will increase the processing processing power operated in parallel.
Fig. 13 zeigt eine Liste von Befehlen eines im zweiten Ausführungsbeispiel beschriebenen Prozessors. Die Befehle sind in Basisbefehle, Verzweigungsbefehle, Lade/Speicherbefehle und Systemsteuerbefehle eingeteilt. Der Bequemlichkeit und Einfachheit halber wurde die Anzahl der Befehle begrenzt, obwohl mehr Befehle verwendet werden können. Fig. 13 shows a list of instructions of a processor described in the second embodiment. The instructions are divided into basic instructions, branch instructions, load / store instructions and system control instructions. For convenience and simplicity, the number of commands has been limited, although more commands can be used.
Fig. 14 zeigt die Konfiguration der zweiten Ausführungsform. Bezugsziffer 1400 bezeichnet die Speicherschnittstelle, Bezugsziffer 1401 bezeichnet einen Datencachespeicher, Bezugsziffer 1402 bezeichnet einen Sequenzer, Bezugsziffer 1403 bezeichnet einen Befehlscachespeicher, Bezugsziffer 1404 bezeichnet ein erstes 32-Bit-Befehlsregister, Bezugsziffer 1405 bezeichnet ein zweites 32-Bit-Befehlsregister, Bezugsziffer 1406 bezeichnet einen ersten Dekodierer für einen ersten Befehl, Bezugsziffer 1408 bezeichnet einen ersten Dekodierer für den zweiten Befehl, Bezugsziffer 1409 bezeichnet einen zweiten Dekodierer für einen zweiten Befehl und Bezugsziffer 1407 bezeichnet einen zweiten Dekodierer für den ersten Befehl. Der erste und zweite Dekodierer 1408 und 1409 kann dieselbe Funktion wie der zweite Befehlsdekodierer 130, der im ersten Ausführungsbeispiel (Fig. 1) beschrieben wurde, aufweisen, nämlich die Funktion, das Startankündigungssignal, das Signal für den Betrieb des funktionellen Schaltungsblocks zu erzeugen, obwohl das hier nicht beschrieben wurde. Bezugsziffer 1413 bezeichnet einen Wettbewerbs-Detektor zur Erfassung eines Wettbewerbs zwischen dem ersten und dem zweiten Befehl, Bezugsziffer 1410 bezeichnet eine erste Arithmetik-Logik-Einheit, Bezugsziffer 1412 bezeichnet eine zweite Arithmetik-Logik-Einheit und die Bezugsziffer 1411 bezeichnet eine Registerdatei. Im Ausführungsbeispiel werden bis zu zwei Befehle in einem Maschinenzyklus parallel geholt und ausgeführt. Eine grundlegendste Operation der Pipeline-Verarbeitung des Ausführungsbeispiels zeigt Fig. 15. Die Pipeline enthält fünf Stadien: IF (Befehle abholen), D (Dekodieren), EX (Ausführen), T (Test) und W (Schreiben). Fig. 14 shows the configuration of the second embodiment. Numeral 1400 denotes the memory interface, numeral 1401 denotes a data cache, 1402 denotes a sequencer, 1403 denotes an instruction cache, 1404 denotes a first 32-bit instruction register, 1405 denotes a second 32-bit instruction register, 1406 denotes one first decoder for a first instruction, reference numeral 1408 denotes a first decoder for the second instruction, reference numeral 1409 denotes a second decoder for a second instruction and reference numeral 1407 denotes a second decoder for the first instruction. The first and second decoders 1408 and 1409 may have the same function as the second instruction decoder 130 described in the first embodiment ( FIG. 1), namely the function of generating the start announcement signal, the signal for the operation of the functional circuit block, though that was not described here. Reference numeral 1413 denotes a competition detector for detecting a competition between the first and second commands, reference numeral 1410 denotes a first arithmetic logic unit, reference numeral 1412 denotes a second arithmetic logic unit, and reference numeral 1411 denotes a register file. In the exemplary embodiment, up to two commands are fetched and executed in parallel in one machine cycle. A most basic operation of the pipeline processing of the embodiment is shown in Fig. 15. The pipeline contains five stages: IF (fetch instructions), D (decode), EX (execute), T (test) and W (write).
Der Betrieb wird unter Bezug auf Fig. 14 erläutert. Im IF-Stadium werden zwei Befehle, die durch einen Programmzähler im Sequenzer 1402 gekennzeichnet sind, vom Befehlscachespeicher 1403 geholt und jeweils über die Busse 1415 und 1417 in das erste Befehlsregister 1404 und das zweite Befehlsregister 1405 eingesetzt.The operation will be explained with reference to FIG. 14. At the IF stage, two instructions, identified by a program counter in sequencer 1402 , are fetched from instruction cache 1403 and inserted into first instruction register 1404 and second instruction register 1405 via buses 1415 and 1417, respectively.
Im D-Stadium wird der Inhalt des ersten Befehlsregisters 1404 durch den ersten Dekodierer 1406 dekodiert und der Inhalt des zweiten Befehlsdekodierers 1405 wird durch den zweiten Dekodierer 1407 dekodiert. Daraufhin wird der durch das erste Quellenregisterfeld des ersten Befehlsregisters 1404 gekennzeichnete Inhalt des Registers durch einen Bus 1425 zur ersten Arithmetik-Logik-Einheit 1410 gesandt und der durch das zweite Quellenregisterfeld gekennzeichnete Inhalt des Registers wird über einen Bus 1426 an die erste Arithmetik-Logik-Einheit 1410 gesandt. Der durch das erste Quellenregister des zweiten Befehlsregisters gekennzeichnete Inhalt des Registers und der durch das zweite Quellenregisterfeld gekennzeichnete Inhalt des Registers werden über einen Bus 1427 bzw. einen Bus 1428 an die zweite Arithmetik-Logik-Einheit 1412 gesandt.In the D stage, the content of the first instruction register 1404 is decoded by the first decoder 1406 and the content of the second instruction decoder 1405 is decoded by the second decoder 1407 . The content of the register identified by the first source register field of the first command register 1404 is then sent to the first arithmetic logic unit 1410 by a bus 1425, and the content of the register identified by the second source register field is sent to the first arithmetic logic logic via a bus 1426. Unit 1410 sent. The contents of the register identified by the first source register of the second instruction register and the contents of the register identified by the second source register field are sent to the second arithmetic logic unit 1412 via a bus 1427 and a bus 1428, respectively.
Im folgenden wird der Betrieb des EX-Stadiums erläutert. Im EX-Stadium verarbeitet die erste Arithmetik-Logik-Einheit 1410 die Daten, die über die Busse 1425 und 1426 gemäß dem Operationskode des ersten Befehlsregisters gesendet wurden. Parallel dazu verarbeitet die zweite Arithmetik-Logik-Einheit 1412 die Daten, die gemäß dem Operationskode des zweiten Befehlsregisters 1405 über die Busse 1427 und 1428 gesendet wurden. Die Adressenberechnung für den Lade/Speicherbefehl wird durchgeführt.The operation of the EX stage is explained below. In the EX stage, the first arithmetic logic unit 1410 processes the data sent over the buses 1425 and 1426 in accordance with the operation code of the first instruction register. In parallel, the second arithmetic logic unit 1412 processes the data that was sent via the buses 1427 and 1428 in accordance with the operation code of the second instruction register 1405 . The address calculation for the load / store command is carried out.
Im folgenden wird der Betrieb im T-Stadium erläutert. Im T-Stadium hält die Basisinformation die Daten weiterhin. In diesem Stadium führt der Lade/Speicherbefehl den Speicherzugriff auf den Datencachespeicher 1401 aus, der auf der Adresse beruht, die im vorherigen EX-Stadium berechnet wurde und durch den Bus 1429 oder den Bus 1431 geliefert worden ist. Die gleichzeitig zu speichernden Daten für den Speicherbefehl werden über den Bus 1437 geliefert.Operation in the T stage is explained below. In the T stage, the basic information continues to hold the data. At this stage, the load / store instruction performs memory access to data cache 1401 based on the address calculated in the previous EX stage and provided by bus 1429 or bus 1431 . The data to be stored simultaneously for the store command is provided via bus 1437 .
Zuletzt wird der Betrieb im W-Stadium erläutert. Im W-Stadium wird das Operationsergebnis der ersten Arithmetik-Logik-Einheit 1410 über den Bus 1429 in das durch das Bestimmungsfeld des ersten Befehlsregisters gekennzeichnete Register gespeichert. Das Operationsergebnis der zweiten Arithmetik-Logik-Einheit 1412 wird über den Bus 1431 in das über das Kennzeichnungsfeld des zweiten Befehlsregisters gekennzeichnete Register gespeichert. Für den Ladebefehl wird es über den Bus 1430 in das durch das Bestimmungsfeld im Ladebefehl gekennzeichnete Register gespeichert.Finally, the operation in the W stage is explained. In the W stage, the operation result of the first arithmetic logic unit 1410 is stored via the bus 1429 in the register identified by the destination field of the first command register. The operation result of the second arithmetic logic unit 1412 is stored via the bus 1431 in the register identified by the identification field of the second command register. For the load command, it is stored via bus 1430 in the register identified by the determination field in the load command.
Fig. 15 zeigt einen sequentiellen Ausführungsablauf der Basisbefehle. In einem Maschinenzyklus werden zwei Befehle ausgeführt. Im Beispiel arbeiten die erste Arithmetik-Logik-Einheit und die zweite Arithmetik-Logik-Einheit immer parallel. Fig. 15 shows a sequential execution flow of the basic commands. Two commands are executed in one machine cycle. In the example, the first arithmetic logic unit and the second arithmetic logic unit always work in parallel.
Jedoch kann je nach Kombination des ersten Befehls und des zweiten Befehls ein Fall auftreten, in dem beide Befehle nicht parallel ausgeführt werden können, was dann Wettbewerb genannt wird.However, depending on the combination of the first command and the second instruction a case occur in which both instructions can not run in parallel, which then competition is called.
Zum Beispiel findet ein Wettbewerb dann statt, wenn das durch das Bestimmungsregisterfeld des ersten Befehls bezeichnete Register und das durch das erste Quellenregisterfeld des zweiten Befehls bezeichnete Register oder das durch das zweite Registerfeld des zweiten Befehls bezeichnete Register gleich sind.For example, a competition takes place when that through the destination register field of the first instruction designated register and that by the first source register field of the second instruction or the register designated by designated the second register field of the second instruction Registers are the same.
Wenn ein derartiger Wettbewerb auftritt, wird die Hardware so gesteuert, daß sie den im ersten Befehlsregister gespeicherten Befehl in einem Maschinenzyklus und den im zweiten Befehlsregister gespeicherten Befehl im nächsten Maschinenzyklus ausführt. Das bedeutet, der erste Befehl bzw. der zweite Befehl werden in einem Maschinenzyklus ausgeführt. Fig. 16 zeigt eine Pipeline während eines Wettbewerbs. Im Beispiel sind beide, der erste und der zweite Befehl, ADD-Befehle. Für beide Befehle an der Adresse 2 gilt: zum ersten Befehl ist der Inhalt des Registers R(1) des Registers R(2) zu addieren, wonach die Summe in das Register R(3) gespeichert wird; zum zweiten Befehl ist der Inhalt des Registers R(4) und des Registers R(3) zu addieren, wonach die Summe in das Register R(5) gespeichert wird. Das Bestimmungsregister R(3) des ersten Befehls tritt in Wettbewerb mit dem Quellenregister R(3) des zweiten Befehls. In einem solchen Fall wird ein Befehl jeweils in einem Maschinenzyklus ausgeführt, wie Fig. 16 zeigt.When such competition occurs, the hardware is controlled to execute the instruction stored in the first instruction register in one machine cycle and the instruction stored in the second instruction register in the next machine cycle. This means that the first command or the second command are executed in one machine cycle. Fig. 16 shows a pipeline during a competition. In the example, both the first and the second command are ADD commands. The following applies to both commands at address 2 : the contents of register R ( 1 ) of register R ( 2 ) must be added to the first command, after which the sum is stored in register R ( 3 ); add the contents of register R ( 4 ) and register R ( 3 ) to the second command, after which the sum is stored in register R ( 5 ). The destination register R ( 3 ) of the first instruction competes with the source register R ( 3 ) of the second instruction. In such a case, an instruction is executed in one machine cycle, as shown in FIG. 16.
Es wird nämlich der erste Befehl ausgeführt, und der parallele zweite Befehl wird in PC2 ungültig gemacht. Im nächsten Zyklus wird der erste Befehl ungültig gemacht und der parallele zweite Befehl wird ausgeführt. Der Wettbewerb, der zwischen Bestimmung und Quelle auftritt, wenn die Ausführungen um einen Zyklus versetzt sind, kann durch einen bekannten kurzen Weg entschieden werden.Namely, the first command is executed and the parallel second command is invalidated in PC 2 . In the next cycle, the first command is invalidated and the parallel second command is executed. The competition that occurs between destination and source when the executions are staggered by one cycle can be decided by a known short route.
Wie Fig. 14 zeigt, hat der Super-Skalar-RISC-Prozessor zwei Arithmetik-Logik-Einheiten. Bei einem Wettbewerb kann nur eine Arithmetik-Logik-Einheit verwendet werden, die andere Arithmetik-Logik-Einheit arbeitet in einer nicht signifikanten Weise.As shown in Fig. 14, the super-scalar RISC processor has two arithmetic logic units. Only one arithmetic logic unit can be used in a competition, the other arithmetic logic unit operates in a non-significant manner.
Wenn in dem Super-Skalar-RISC-Prozessor der Wettbewerb erfaßt wird, ist es wichtig, eine der vor dem Start der Operation zu verwendenden Arithmetik-Logik-Einheiten zu aktivieren. Dies wird unter Bezugnahme auf Fig. 14 erläutert. Nachdem der erste Befehl und der zweite Befehl im IF-Stadium geholt worden sind, wird der Wettbewerb zwischen dem ersten und dem zweiten Befehl durch die Befehlserfassung 1413 im D-Stadium kontrolliert.When competition is detected in the super-scalar RISC processor, it is important to activate one of the arithmetic logic units to be used before starting the operation. This will be explained with reference to FIG. 14. After the first command and the second command are fetched at the IF stage, competition between the first and second commands is controlled by the command capture 1413 at the D stage.
Wenn ein Wettbewerb bei der Wettbewerbskontrolle erfaßt wurde, wird nur eine Arithmetik-Logik-Einheit betrieben. Daher wird die zu verwendende Einheit durch die Signale 1432 und 1433 aktiviert.If a competition has been detected in the competition control, only one arithmetic logic unit is operated. Therefore, the unit to be used is activated by signals 1432 and 1433 .
Wenn kein Wettbewerb auftritt, werden beide Arithmetik-Logik-Einheiten aktiviert. Wenn ein Kontrollsignal für den nächsten Maschinenzyklus während der letzten Hälfte des laufenden Maschinenzyklus über die Aktivierung informiert, bleibt die aktivierte Arithmetik-Logik-Einheit aktiviert. Wenn das Kontrollsignal nicht über eine Aktivierung informiert, wird die Arithmetik-Logik-Einheit am Ende des laufenden Maschinenzyklus desaktiviert.If no competition occurs, both arithmetic logic units activated. If a control signal for the next machine cycle during the last half of the informed about the activation of the current machine cycle, the activated arithmetic logic unit remains activated. If the control signal does not indicate activation, the arithmetic logic unit at the end of the deactivated machine cycle.
Im folgenden wird der Betrieb bei Auftreten eines Wettbewerbs im einzelnen erläutert. Wenn der Wettbewerbsdetektor den Wettbewerb zwischen dem ersten und dem zweiten Befehl erfaßt, wird die erste Arithmetik-Logik-Einheit über den Bus 1433 durch das Kontrollsignal 1435 über die Aktivierung informiert, damit sie den ersten Befehl zuerst ausführen kann und sie wird aktiviert. Zur gleichen Zeit wird die zweite Arithmetik-Logik-Einheit über den Bus 1432 durch das Kontrollsignal 1436 über die Nicht-Aktivierung informiert. Auf diese Weise wird die zweite Arithmetik-Logik-Einheit desaktiviert gehalten, das heißt, sie befindet sich im Stadium niederer Leistungsaufnahme.The operation in the event of a competition is explained in detail below. When the competition detector detects competition between the first and second commands, the first arithmetic logic unit is informed of activation via bus 1433 by control signal 1435 so that it can execute the first command first and it is activated. At the same time, the second arithmetic logic unit is informed about the non-activation via the bus 1432 by the control signal 1436 . In this way, the second arithmetic logic unit is kept deactivated, that is, it is in the state of low power consumption.
Das Signal 1434 informiert den Sequenzer 1402 über die Erfassung des Wettbewerbs.Signal 1434 informs sequencer 1402 of the detection of the competition.
Im nächsten Zyklus wird die erste Arithmetik-Logik-Einheit über den Bus 1433 durch das Steuersignal 1435 über die Nicht-Aktivierung informiert, so daß der zweite Befehl ausgeführt werden kann. Dadurch wird die erste Arithmetik-Logik-Einheit desaktiviert. Zur gleichen Zeit wird die zweite Arithmetik-Logik-Einheit über den Bus 1432 durch das Kontrollsignal 1436 über die Aktivierung informiert.In the next cycle, the first arithmetic logic unit is informed of the non-activation via the bus 1433 by the control signal 1435 so that the second command can be executed. This deactivates the first arithmetic logic unit. At the same time, the second arithmetic logic unit is informed about the activation via the bus 1432 by the control signal 1436 .
Im vorliegenden Ausführungsbeispiel wird, wenn der Wettbewerb im parallelen Ausführungssystem für zwei Befehle erfaßt wurde, die zu verwendende Arithmetik-Logik-Einheit erfaßt und vor dem Start der Operation aktiviert, so daß die desaktivierte Arithmetik-Logik-Einheit in dem Stadium niederer Leistungsaufnahme bleibt und der Gesamtstromverbrauch niedrig gehalten wird.In the present embodiment, when the Competition in the parallel execution system for two commands was detected, the arithmetic logic unit to be used detected and activated before the start of the operation, so that the deactivated arithmetic logic unit at the stage remains low power consumption and the total power consumption is kept low.
Fig. 17 bis 19 zeigen die erste Arithmetik-Logik-Einheit 1410, die zweite Arithmetik-Logik-Einheit 1412 und die Registerdatei 1411 der Fig. 14. Die Verbindungen sind nicht gezeigt. Figs. 17 to 19, the first arithmetic logic unit indicate 1410, the second arithmetic logic unit 1412 and the register file 1411 of FIG. 14. The connections are not shown.
Die erste und die zweite Arithmetik-Logik-Einheit in Fig. 17 verwendet mindestens eine Differenz-Eingangsschaltung, beispielsweise eine ECL-Schaltung. Wenn im Super-Skalar-Mikroprozessor, der eine derartige Arithmetik-Logik-Einheit aufweist, der Wettbewerb erfaßt wird, wird jeweils ein Befehl in einem Maschinenzyklus ausgeführt. Es wird also die erste oder die zweite Arithmetik-Logik-Einheit, die tatsächlich betrieben wird, durch die Signalleitung 1435 oder 1436 aktiviert und ein vorbestimmter Strom fließt zur Ermöglichung der Operation von der Stromquelle, jedoch ist in der verbleibenden desaktivierten Arithmetik-Logik-Einheit der Strom von der Stromquelle reduziert oder gesperrt. Auf diese Weise wird der Stromverbrauch reduziert.The first and the second arithmetic logic unit in FIG. 17 uses at least one differential input circuit, for example an ECL circuit. When the competition is sensed in the super scalar microprocessor having such an arithmetic logic unit, one instruction is executed in one machine cycle. Thus, the first or second arithmetic logic unit that is actually operated is activated by signal line 1435 or 1436 and a predetermined current flows from the current source to enable the operation, but is in the remaining deactivated arithmetic logic unit the current from the power source is reduced or blocked. In this way, power consumption is reduced.
In den Fig. 18, 19 und 20 haben die erste sowie die zweite Arithmetik-Logik-Einheit eine Basis-Emitter-Logik-Schaltung mit mindestens einem bipolaren Transistor, beispielsweise eine ECL-Schaltung oder eine BiMOS-Schaltung. Die Schaltungskonfiguration wird detailliert in der JP-A-60-1 75 167 gezeigt. Diese Schaltung hat den Nachteil, daß ein Gleichstrom fließt, und daß der Stromverbrauch ansteigt, wenn der bipolare Transistor leitet. Es ist daher effektiv, den Stromverbrauch der nicht betriebenen Arithmetik-Logik-Einheit zu sperren, wenn der Wettbewerb auftritt. Das Steuerungsverfahren kann das gleiche sein wie das in Fig. 17 gezeigte Verfahren.In Figs. 18, 19 and 20 have the first and the second arithmetic logic unit is a base-emitter logic circuit with at least one bipolar transistor, for example an ECL circuit or a BiMOS circuit. The circuit configuration is shown in detail in JP-A-60-1 75 167. This circuit has the disadvantage that a direct current flows and that the current consumption increases when the bipolar transistor conducts. It is therefore effective to block the power consumption of the non-operated arithmetic logic unit when the competition occurs. The control method may be the same as the method shown in FIG. 17.
Fig. 18 und 19 sind unterschiedlich in bezug auf die Stromsparverfahren. In Fig. 18 wird ein p-Kanal-MOS zwischen den Kollektor eines bipolaren Transistors und Vcc eingesetzt. Die Schaltung wird aktiviert, wenn der p-Kanal-MOS-Transistor eingeschaltet wird und desaktiviert, wenn er ausgeschaltet wird. FIGS. 18 and 19 are different with respect to the power saving method. In Fig. 18, a p-channel MOS is inserted between the collector of a bipolar transistor and Vcc. The circuit is activated when the p-channel MOS transistor is switched on and deactivated when it is switched off.
Gemäß Fig. 19 wird die Schaltung im Betriebsstadium gehalten. Wenn jedoch ein Signal 1435 oder 1436 geschaltet wird, wird ein bipolarer Transistor zwangsläufig eingeschaltet, um den Kollektor-Emitter-Strom des bipolaren Transistors zu sperren. Dies bedeutet die zwangsläufige Sperrung des Gleichstroms. Auf diese Weise wird Strom gespart.Referring to FIG. 19, the circuit is held in the operation state. However, when a signal 1435 or 1436 is switched, a bipolar transistor is forcibly turned on to block the collector-emitter current of the bipolar transistor. This means the inevitable blocking of the direct current. This saves electricity.
Fig. 20 zeigt die erste Arithmetik-Logik-Einheit 1410, die zweite Arithmetik-Logik-Einheit 1412, die Registerdatei 1411 und die Taktverteilungsschaltung von Fig. 14. Des weiteren wird auf den Takttreiber in der Verteilungsschaltung der Fig. 20 hingewiesen. FIG. 20 shows the first arithmetic logic unit 1410 , the second arithmetic logic unit 1412 , the register file 1411 and the clock distribution circuit of FIG. 14. Furthermore, reference is made to the clock driver in the distribution circuit of FIG. 20.
Der Takttreiber A liefert den Takt unabhängig nur zur ersten Arithmetik-Logik-Einheit 1410, zur Registerdatei 1411 und zur zweiten Arithmetik-Logik-Einheit 1412. Im Super-Skalar-Mikroprozessor mit den Arithmetik-Logik-Einheiten, der eine derartige Verteilungsschaltung enthält, werden die Befehle, wenn der Wettbewerb erfaßt ist, jeweils in einem Maschinenzyklus ausgeführt. Die erste oder die zweite Arithmetik-Logik-Einheit, die im Augenblick nicht verwendet wird, steuert die Unterbrechung der Taktweitergabe über die Signalleitungen 1435 und 1436 an einen spezifischen Bereich der Taktverteilungsschaltung. Das bedeutet, daß die Logik-Schaltungen unterhalb der Taktverteilungsschaltung festgesetzt sind. Der Takt wird nämlich an eine der beiden Arithmetik-Logik-Einheiten geliefert, die dann arbeitet. Der Takt wird aber nicht an die andere Arithmetik-Logik-Einheit geliefert.The clock driver A delivers the clock independently only to the first arithmetic logic unit 1410 , to the register file 1411 and to the second arithmetic logic unit 1412 . In the super-scalar microprocessor with the arithmetic logic units, which contains such a distribution circuit, the instructions, when the competition is detected, are each executed in one machine cycle. The first or second arithmetic logic unit, which is not in use at the moment, controls the interruption of clock forwarding via signal lines 1435 and 1436 to a specific area of the clock distribution circuit. This means that the logic circuits are fixed below the clock distribution circuit. The clock is delivered to one of the two arithmetic logic units, which then works. However, the clock is not delivered to the other arithmetic logic unit.
Die CMOS-Schaltung oder die BiMOS-Basisschaltung weist eine komplementäre Charakteristik auf, der normale Stromverbrauch ist sehr gering, jedoch wird Strom während einer Übergangszeit verbraucht, wenn sich die Dateneingabe ändert. Wenn kein Takt geliefert wird, bedeutet das, daß die Logikschaltungen festgesetzt sind und sich nicht ändern. Es kann daher Strom gespart werden. Das Steuerverfahren von Fig. 20 ist für die Arithmetik-Logik-Einheit inklusive der CMOS-Schaltung oder der BiMOS-Basisschaltung wirksam.The CMOS circuit or the basic BiMOS circuit has a complementary characteristic, the normal power consumption is very low, but power is consumed during a transition period when the data input changes. If no clock is supplied, it means that the logic circuits are fixed and do not change. Electricity can therefore be saved. The control method of Fig. 20 is effective for the arithmetic logic unit including the CMOS circuit or the basic BiMOS circuit.
Wie in Verbindung mit den Fig. 17 bis 20 beschrieben, kann im desaktivierten Betrieb Strom in Übereinstimmung mit der Schaltungskonfiguration der Arithmetik-Logik-Einheit gespart werden. Ebenfalls ist es ersichtlich, daß in der Konfiguration der Arithmetik-Logik-Einheit, die eine Kombination der Schaltungen der Fig. 17 und 18 ist, Strom gespart werden kann.As described in connection with FIGS. 17 to 20, in the deactivated mode current can be saved in accordance with the circuit configuration of the arithmetic logic unit. It can also be seen that power can be saved in the configuration of the arithmetic logic unit, which is a combination of the circuits of Figures 17 and 18.
Im vorliegenden Ausführungsbeispiel wurde der Wettbewerb zwischen den Registern beschrieben. Ein anderer Wettbewerb ist in einem Fall möglich, in dem die Parallelausführung durch eine Kombination von Befehlen (zum Beispiel eine Kombination des Ladebefehls und des Ladebefehls) unterdrückt wird. Ein Beispiel dieser Kombination wird in Fig. 21 gezeigt. Jedoch wird eine derartige Kombination durch die Implementierung der Hardware bestimmt und hat keine direkte Verbindung zur Erfindung. Wenn in Fig. 21 eine Beschränkung bei einer oder mehreren Kombinationen auftritt, heißt es, daß durch die Kombination von Befehlen der Wettbewerb aufgetreten ist.In the present exemplary embodiment, the competition between the registers was described. Another competition is possible in a case where the parallel execution is suppressed by a combination of commands (for example, a combination of the load command and the load command). An example of this combination is shown in FIG. 21. However, such a combination is determined by the implementation of the hardware and has no direct connection to the invention. In Fig. 21, if there is a limitation on one or more combinations, it is said that the combination of commands has caused competition.
Nunmehr wird anhand von Fig. 14 eine weitere Operation des Wettbewerbsdetektors 1413 und der Dekodierer 1406, 1408, 1409 und 1407 als drittes Ausführungsbeispiel erläutert.Another operation of the competition detector 1413 and the decoders 1406 , 1408 , 1409 and 1407 as a third embodiment will now be explained with reference to FIG. 14.
In den vorigen Ausführungsbeispielen wurde, wenn der Wettbewerb erfaßt wird, die zu betreibende Arithmetik-Logik-Einheit vor dem Beginn der Operation erfaßt und aktiviert. Im dritten Ausführungsbeispiel wird, wenn der Wettbewerb erfaßt ist, die nicht zu betreibende Arithmetik-Logik-Einheit vor dem Beginn der Operation erfaßt und desaktiviert. Dies ist unter Bezug auf Fig. 14 detailliert erläutert. Nachdem der erste und zweite Befehl im IF-Stadium geholt wurden, wird der Wettbewerb zwischen dem ersten und zweiten Befehl durch den Wettbewerbsdetektor 1413 im D-Stadium kontrolliert. Wenn der Wettbewerb erfaßt wurde, führt nur eine Arithmetik-Logik-Einheit den Befehl aus und die verbleibende Arithmetik-Logik-Einheit kann durch das Signal 1432 oder 1433 desaktiviert werden. Wenn nämlich der Wettbewerbsdetektor den Wettbewerb zwischen dem ersten und zweiten Befehl erfaßt, wird der erste Befehl zuerst ausgeführt und der zweite Befehl macht den ersten Dekodierer des zweiten Befehls durch das Signal 1432 ungültig und desaktiviert die zweite Arithmetik-Logik-Einheit durch das Steuersignal 1436. Das Signal 1434 informiert den Sequenzer 1402 über die Erfassung des Wettbewerbs. Im nächsten Zyklus wird der erste Dekodierer des ersten Befehls durch den Ausgang 1433 des Wettbewerbsdetektors ungültig gemacht und die erste Arithmetik-Logik-Einheit wird durch das Steuersignal 1435 desaktiviert. Parallel dazu wird der zweite Befehl ausgeführt. Die desaktivierte Arithmetik-Logik-Einheit wird in der letzten Hälfte des Maschinenzyklus wieder aktiviert, so daß sie den folgenden Befehl ausführen kann.In the previous embodiments, when the competition is sensed, the arithmetic logic unit to be operated was sensed and activated before the start of the operation. In the third embodiment, when the competition is detected, the arithmetic logic unit not to be operated is detected and deactivated before the operation is started. This is explained in detail with reference to FIG. 14. After the first and second commands are fetched at the IF stage, competition between the first and second commands is controlled by the competition detector 1413 at the D stage. When the competition is detected, only one arithmetic logic unit executes the command and the remaining arithmetic logic unit can be deactivated by signal 1432 or 1433 . Namely, when the competition detector detects competition between the first and second instructions, the first instruction is executed first and the second instruction invalidates the first decoder of the second instruction by signal 1432 and deactivates the second arithmetic logic unit by control signal 1436 . Signal 1434 informs sequencer 1402 of the detection of the competition. In the next cycle, the first decoder of the first instruction is invalidated by the competition detector output 1433 and the first arithmetic logic unit is deactivated by the control signal 1435 . The second command is executed in parallel. The deactivated arithmetic logic unit is reactivated in the last half of the machine cycle so that it can execute the following command.
Gemäß diesem Ausführungsbeispiel wird in den beiden parallelen Befehlsausführungssystemen jeder Wettbewerb zwischen zwei Befehlen, der parallel ausgeführt werden kann, kontrolliert und wenn er erfaßt ist, wird die Arithmetik-Logik-Einheit, die nicht im Betrieb ist, desaktiviert, so daß der Gesamtstromverbrauch reduziert wird.According to this embodiment, in the two parallel instruction execution systems any competition between two commands that can be executed in parallel checked and when it is detected, the arithmetic logic unit, which is not in operation, deactivated so that the total power consumption is reduced.
Fig. 17 bis 19 zeigen die erste Arithmetik-Logik-Einheit 1410, die zweite Arithmetik-Logik-Einheit 1412 und die Registerdatei 1411 von Fig. 14. Die Verbindungen wurden ausgelassen. Das Stromsparverfahren der Arithmetik-Logik-Einheiten ist das gleiche, wie das Verfahren des zweiten Ausführungsbeispiels. Figs. 17 to 19, the first arithmetic logic unit indicate 1410, the second arithmetic logic unit 1412 and the register file 1411 of FIG. 14. The compounds were omitted. The power saving method of the arithmetic logic units is the same as the method of the second embodiment.
Im Super-Skalar-Mikroprozessor mit derartigen Arithmetik-Logik-Einheiten wird, wenn der Wettbewerb erfaßt ist, jeweils ein Befehl je Maschinenzyklus ausgeführt, und in der ersten oder der zweiten Arithmetik-Logik-Einheit, die im Augenblick nicht arbeitet, wird mit Hilfe des Signals 1435 oder 1436 Strom gespart. In der ersten oder zweiten Arithmetik-Logik-Einheit, die tatsächlich betrieben wird, fließt der für die auszuführende Funktion notwendige Strom von der Stromquelle. Daher fließt der vorbestimmte Strom durch eine der Einheiten, während in der anderen Einheit Strom gespart wird.In the super scalar microprocessor with such arithmetic logic units, once the competition is detected, one instruction is executed per machine cycle, and in the first or the second arithmetic logic unit, which is not currently operating, is used with the help of signal 1435 or 1436 electricity saved. In the first or second arithmetic logic unit that is actually operated, the current required for the function to be performed flows from the current source. Therefore, the predetermined current flows through one of the units while saving electricity in the other unit.
Es ist also offensichtlich, daß in der Arithmetik-Logik-Einheit, die eine Kombination der Schaltungen der Fig. 17 und 18 ist, wie im zweiten Ausführungsbeispiel, ebenso in diesem Ausführungsbeispiel Strom gespart wird. In diesem Ausführungsbeispiel wurde der Wettbewerb zwischen den Registern beschrieben. Ein weiterer Wettbewerb kann einen Fall betreffen, in dem die parallele Ausführung durch eine Kombination von Befehlen gesperrt wird (eine Kombination des Ladebefehls und des Ladebefehls), wie im zweiten Ausführungsbeispiel beschreiben. Fig. 21 zeigt ein Beispiel dieser Kombination. Jedoch ist diese Kombination durch die Implementierung der Hardware bestimmt und steht nicht in einer direkten Beziehung mit der Erfindung, wie bereits im zweiten Ausführungsbeispiel erwähnt wurde. Wenn, wie in Fig. 21 gezeigt, bei einer oder mehreren Kombinationen eine Beschränkung vorhanden ist, bedeutet das, daß der Wettbewerb durch die Kombination von Befehlen stattgefunden hat.It is therefore apparent that in the arithmetic logic unit, which is a combination of the circuits of FIGS. 17 and 18, as in the second embodiment, power is also saved in this embodiment. In this embodiment, the competition between the registers was described. Another contest may concern a case where parallel execution is blocked by a combination of instructions (a combination of the load instruction and the load instruction) as described in the second embodiment. Fig. 21 shows an example of this combination. However, this combination is determined by the implementation of the hardware and is not directly related to the invention, as already mentioned in the second embodiment. As shown in Fig. 21, if there is a restriction on one or more combinations, it means that the competition has taken place through the combination of commands.
Bei diesem Ausführungsbeispiel wurde die Kombination von Basisbefehlen beschrieben. Die Arithmetik-Logik-Einheit kann ebenso in einer nicht-signifikanten Weise arbeiten, wenn Daten verwendet werden, die durch einen direkt auf einen Verzweigungs- oder Ladebefehl folgenden Befehl geladen werden. (Dies wird Lastverwendung genannt). Die Erfindung kann ebenso effektiv in einem solchen Fall verwendet werden. Fig. 22 zeigt ein Beispiel für einen Verzweigungsbefehl und Fig. 23 zeigt ein Beispiel für die Lastverwendung. Der Betrieb ist leicht zu verstehen, weshalb hier keine nähere Erläuterung gegeben wird.In this embodiment, the combination of basic instructions has been described. The arithmetic logic unit can also operate in a non-significant manner when using data loaded by an instruction immediately following a branch or load instruction. (This is called load usage). The invention can also be used effectively in such a case. Fig. 22 shows an example of a branch instruction and Fig. 23 shows an example of the load use. The operation is easy to understand, which is why no further explanation is given here.
Wenn ein Befehl, bei dem die Arithmetik-Logik-Einheit nicht tatsächlich betrieben wird, wie beispielsweise ein NOP-Befehl oder ein Systemsteuerbefehl erfaßt wird, kann die Arithmetik-Logik-Schaltung für den erfaßten Befehl desaktiviert werden.If a command where the arithmetic logic unit is not actually operated, such as a NOP instruction or a system control command is detected, the Arithmetic logic circuit deactivated for the detected command will.
In Fig. 14 dekodiert der zweite Dekodierer 1408 für den ersten Befehl und der zweite Dekodierer 1409 für den zweiten Befehl die Befehle, um zu bestimmen, ob die Befehle tatsächliche Operation der Arithmetik-Logik-Einheiten erfordern.In Fig. 14, the second decoder 1408 for the first command and the second decoder 1409 for the second command decode the commands to determine whether the commands require actual operation of the arithmetic logic units.
Wenn das durch den zweiten Dekodierer 1408 für den ersten Befehl erfaßt wurde, wird die erste Arithmetik-Logik-Einheit 1410 durch die Signalleitung 1435 desaktiviert und wenn dieses durch den zweiten Dekodierer 1409 für den zweiten Befehl erfaßt wurde, wird die zweite Arithmetik-Logik-Einheit 1412 über die Signalleitung 1436 desaktiviert. Auf diese Weise wird in den Arithmetik-Logik-Einheiten Strom gespart.If that was detected by the second decoder 1408 for the first instruction, the first arithmetic logic unit 1410 is deactivated by the signal line 1435 and if this was detected by the second decoder 1409 for the second instruction, the second arithmetic logic Unit 1412 deactivated via signal line 1436 . This saves electricity in the arithmetic logic units.
In diesem Ausführungsbeispiel wurde der Super-Skalar-Mikroprozessor für zwei Befehle beschrieben. Jedoch kann die Erfindung ebenso effektiv in anderen Steuersystemen des Super-Skalars und in einem Prozessor mit einer Parallel-Verarbeitungsfunktion für mehrere Befehle im Gegensatz zur Verarbeitung von zwei Befehlen eingesetzt werden. Die Erfindung ist nicht nur bei dem RISC-Prozessor sondern auch bei einem CISC-Prozessor anwendbar.In this embodiment, the super scalar microprocessor described for two commands. However, the Invention equally effective in other control systems of the Super scalars and in a processor with a parallel processing function for multiple commands as opposed to Processing of two commands can be used. The Invention is not only in the RISC processor but also applicable to a CISC processor.
In diesem Ausführungsbeispiel wurde der Ein-Chip-Mikroprozessor beschrieben. In einer anderen integrierten Halbleiterschaltungsanordnung, wie beispielsweise einem Ein-Chip-LSI, läßt sich durch eine Vorhersage des Operationsbeginns eines funktionellen Schaltungsblocks und durch Steuerung des Schaltungsstroms des funktionellen Schaltungsblocks ein ähnlicher Effekt erzielen. In diesem Fall hängt das Verfahren zum Vorhersagen des Operationsbeginns und die Zeitsteuerung zur Schaltungsstromsteuerung von der Konfiguration und der Verwendung der Anordnung ab. Dadurch, daß der Operationsbeginn vor dem Beginn der Operation vorhergesagt wird und der funktionelle Schaltungsblock vor dem Beginn der Operation zur Vermeidung von Funktionsstörungen, die durch das Schalten des Stroms verursacht werden, aktiviert wird, ist gesichert, daß Strom gespart wird und daß ein normaler Betrieb gewährleistet wird, und daß eine hohe Betriebsgeschwindigkeit der Anordnung erzielt wird, was in Übereinstimmung mit dem Wesen des Ausführungsbeispiels ist. Das Ausführungsbeispiel ist nicht nur auf die integrierte Halbleiterschaltung, sondern auch auf konventionelle elektronische Schaltungen anwendbar.In this embodiment, the one-chip microprocessor described. Integrated in another Semiconductor circuit arrangement, such as a one-chip LSI, can be predicted by the start of surgery a functional circuit block and through Control the circuit current of the functional circuit block achieve a similar effect. In this case depends on the procedure for predicting the start of surgery and the time control for switching current control from the Configuration and use of the arrangement. Thereby, that the start of surgery before the start of surgery is predicted and the functional circuit block before the beginning of the operation to avoid malfunctions, caused by switching the current activated, it is ensured that electricity is saved and that normal operation is ensured and that high Operating speed of the arrangement is achieved, which in Agreement with the essence of the embodiment. The embodiment is not only on the integrated Semiconductor circuit, but also to conventional electronic circuits applicable.
Gemäß der Erfindung wird die integrierte Halbleiterschaltungsanordnung, insbesondere der Mikroprozessor, der einen Ein-Chip-Speicher, wie beispielsweise einen Cachespeicher, enthält, der eine niedere Leistungsaufnahme des funktionellen Schaltungsblocks und einen Hochgeschwindigkeitsbetrieb ermöglicht, gewährleistet.According to the invention, the semiconductor integrated circuit arrangement, especially the microprocessor that a one-chip memory, such as a cache memory, contains a low power consumption of the functional circuit blocks and high speed operation enables, guarantees.
Claims (22)
Erfassen des Beginns des Betriebs des funktionellen Schaltungsblocks vor seinem Betriebsbeginn,
Aktivierung des funktionellen Schaltungsblocks, für den der Beginn des Betriebs erfaßt wurde, vor dem Beginn des Betriebs,
Desaktivierung des funktionellen Schaltungsblocks nach Beendigung seines Betriebs.1. A method for controlling the power consumption in an integrated semiconductor circuit arrangement and a microprocessor with at least one functional circuit block, which comprises the following steps:
Detecting the start of operation of the functional circuit block before it starts operating,
Activation of the functional circuit block for which the start of operation has been detected before the start of operation,
Deactivation of the functional circuit block after its operation has ended.
Erfassungsmitteln zur Erfassung des Speicherzugriffs vor dem Speicherzugriff aufgrund einer Information in bezug auf den Speicherzugriff und
Mitteln zur Aktivierung des Speichers vor dem Speicherzugriff, wenn die Erfassungsmittel den Speicherzugriff erfassen.2. Integrated semiconductor circuit arrangement with a memory,
Detection means for detecting the memory access before the memory access on the basis of information relating to the memory access and
Means for activating the memory before the memory access when the detection means detect the memory access.
einem Speicher (112, 150),
einer Arithmetik-Logik-Einheit (140),
einem ersten Dekodierer (120) zur Dekodierung eines Befehls und zur Weitergabe der Befehlsausführung an den Speicher oder die Arithmetik-Logik-Einheit (140),
einen zweiten Befehlsdekodierer (130) zur Erfassung des Zugriffs auf den Speicher vor dem Beginn des Zugriffs zur Erzeugung eines Zugriffsankündigungssignals und
Aktivierungsmittel (570) zur vorherigen Aktivierung des Speichers in Abhängigkeit von dem Ankündigungssignal.4. microprocessor with
a memory ( 112, 150 ),
an arithmetic logic unit ( 140 ),
a first decoder ( 120 ) for decoding a command and for forwarding the command execution to the memory or the arithmetic logic unit ( 140 ),
a second instruction decoder ( 130 ) for detecting access to the memory before the start of the access to generate an access announcement signal and
Activation means ( 570 ) for the previous activation of the memory depending on the announcement signal.
mindestens einem funktionellen Schaltungsblock (112, 150, 140),
einem ersten Befehlsdekodierer (120) zur Dekodierung eines Befehls und Mitteilung der Ausführung des Befehls an den funktionellen Schaltungsblock,
einem zweiten Befehlsdekodierer (130) zur Erfassung der Ausführung des funktionellen Schaltungsblocks vor dem Beginn der Ausführung und Lieferung eines Operationsankündigungssignals an den funktionellen Schaltungsblock, bei dem die Ausführung erfaßt wurde und
Aktivierungsmittel (570) zur Aktivierung des funktionellen Schaltungsblocks vor der Ausführung.7. microprocessor with
at least one functional circuit block ( 112, 150, 140 ),
a first instruction decoder ( 120 ) for decoding an instruction and notifying the functional circuit block of the execution of the instruction,
a second instruction decoder ( 130 ) for detecting execution of the functional circuit block prior to the start of execution and providing an operation announcement signal to the functional circuit block at which execution has been detected and
Activation means ( 570 ) for activating the functional circuit block before execution.
Empfang eines Ankündigungssignals vom Beginn der Operation des funktionellen Schaltungsblocks vor dem Beginn der Operation,
Anstieg des Schaltungsstroms des funktionellen Schaltungsblocks auf einen vorbestimmten Pegel in einer vorbestimmten Zeit, beginnend mit dem Zeitpunkt des Empfangs des Ankündigungssignals, um von einem Zustand niederer Leistungsaufnahme auf den Betriebszustand zu wechseln,
Ausführen der Operation des funktionellen Schaltungsblocks im Betriebszustand und
Senken des Schaltungsstroms in einer vorbestimmten Zeit nach Beendigung der Ausführung der Operation des funktionellen Schaltungsblocks auf den Betrieb niederer Leistungsaufnahme, um in den Zustand niederer Leistungsaufnahme zu wechseln.12. Method for controlling the power consumption of a functional circuit block, comprising the steps:
Receiving an announcement signal from the start of the operation of the functional circuit block before the start of the operation,
Increasing the circuit current of the functional circuit block to a predetermined level in a predetermined time, starting from the time of receiving the announcement signal, to change from a low power consumption state to the operating state,
Performing the operation of the functional circuit block in the operating state and
Lowering the circuit current to the low power operation in a predetermined time after completion of the execution of the operation of the functional circuit block to change to the low power state.
einem Speicherfeld (530),
einem Adressendekodierer (520) zur Anwahl des Adressenfeldes in Abhängigkeit von einem Adressensignal zur Anwahl des Adressenfeldes,
einem Leseverstärker (540) zur Verstärkung eines Signals mit niedrigem Pegel, das aus dem Speicherfeld gelesen wurde, auf einen vorbestimmten Signalpegel und
einem Stromsteuersignalgenerator (570) zur Erzeugung eines Stromsteuersignals, um den Schaltungsstrom des Speicherfeldes, einen Adressendekodierer oder den Leseverstärker in einer vorbestimmten Zeit in Abhängigkeit von einem Zugriffsankündigungssignal für das Lesefeld auf einen vorbestimmten Pegel zu erhöhen.13. memory ( 112, 150 ) with
a memory field ( 530 ),
an address decoder ( 520 ) for selecting the address field as a function of an address signal for selecting the address field,
a sense amplifier ( 540 ) for amplifying a low level signal read from the memory array to a predetermined signal level and
a current control signal generator ( 570 ) for generating a current control signal to increase the circuit current of the memory array, an address decoder or the sense amplifier to a predetermined level in a predetermined time in response to an access announcement signal for the read array.
mindestens einer integrierten Halbleiterschaltungsanordnung gemäß Anspruch 2,
dem Mikroprozessor gemäß Anspruch 4,
dem funktionellen Schaltungsblock gemäß Anspruch 9, und
dem Speicher gemäß Anspruch 13.15. Information processing unit with
at least one integrated semiconductor circuit arrangement according to claim 2,
the microprocessor according to claim 4,
the functional circuit block according to claim 9, and
the memory of claim 13.
Mitteln zur Erfassung eines Wettbewerbs zwischen den parallel auszuführenden Befehlen,
Mitteln zur Reaktion auf die Erfassung des Wettbewerbs, die den Befehl an die Arithmetik-Logik-Einheiten aus den vor dem Wettbewerb bereitgestellten Befehlen zuvor erfassen und
Mitteln zur Aktivierung mindestens einer Arithmetik-Logik-Einheit entsprechend des durch die Erfassungsmittel vor der Ausführung der Operation erfaßten Befehls und
Mitteln zur Desaktivierung der aktivierten Arithmetik-Logik-Einheit nach Beendigung der Operation.18. Microprocessor for the parallel provision and decoding of n (n 2) instructions and for the parallel execution of n instructions by n arithmetic logic units
Means for detecting a competition between the instructions to be executed in parallel,
Means for responding to the detection of the competition which previously acquire the command to the arithmetic logic units from the commands provided before the competition and
Means for activating at least one arithmetic logic unit in accordance with the command and detected by the detection means prior to the execution of the operation
Means for deactivating the activated arithmetic logic unit after completion of the operation.
Mittel zur vorherigen Erfassung der Befehle für die Arithmetik-Logik-Einheiten aus den vorausgehenden Befehlen einschließlich des Wettbewerbs der parallel geholten Befehle, wenn der Wettbewerb erfaßt wurde und
Mittel zur Aktivierung von mindestens einer Arithmetik-Logik-Einheit entsprechend des durch die Erfassungsmittel vor der Ausführung der Operation erfaßten Befehls und
Mittel zur Desaktivierung der aktivierten Arithmetik-Logik-Einheit nach Beendigung der Operation.19. A microprocessor containing means for providing and decoding n (n 2) instructions in parallel and for executing n instructions in parallel by n arithmetic logic units and for detecting a competition between the instructions to be executed in parallel and means for executing the subsequent instructions including competition of the instructions provided in parallel, the microprocessor comprising:
Means for previously acquiring the instructions for the arithmetic logic units from the preceding instructions, including the competition of the instructions fetched in parallel, if the competition was detected and
Means for activating at least one arithmetic logic unit in accordance with the command and detected by the detection means prior to the execution of the operation
Means for deactivating the activated arithmetic logic unit after completion of the operation.
Mittel zur vorherigen Erfassung der Befehle für die Arithmetik-Logik-Einheiten aus den vor dem Wettbewerb bereitgestellten Befehlen, wenn der Wettbewerb erfaßt wird, und
Mittel zur Desaktivierung mindestens einer Arithmetik-Logik-Einheit entsprechend dem Befehl, der nicht durch die Erfassungsmittel und die folgenden Befehle einschließlich des Wettbewerbs aus den parallel bereitgestellten Befehlen erfaßt wurde, und
Mittel zur Desaktivierung der aktivierten Arithmetik-Logik-Einheit vor Beendigung der Operation.21. Microprocessor containing means for providing and decoding n (n 2) instructions in parallel, for executing n instructions in parallel by n arithmetic logic units and for detecting a competition between the instructions to be executed in parallel and means for executing the pre-competition existing instructions of the instructions provided in parallel and for executing the subsequent instructions including competition of the instructions provided in parallel, the microprocessor comprising:
Means for previously acquiring the instructions for the arithmetic logic units from the pre-competition instructions when the competition is acquired, and
Means for deactivating at least one arithmetic logic unit in accordance with the instruction which was not acquired by the detection means and the subsequent instructions, including competition from the instructions provided in parallel, and
Means for deactivating the activated arithmetic logic unit before the end of the operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4042674A DE4042674B4 (en) | 1989-12-15 | 1990-12-17 | Current consumption controller for IC and microprocessor - involving activation of circuit blocks after detecting start of their operations and de-activating at end |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32492889 | 1989-12-15 | ||
JP2205006A JPH04143819A (en) | 1989-12-15 | 1990-08-03 | Power consumption control method, semiconductor integrated circuit device, and microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4040382A1 true DE4040382A1 (en) | 1991-07-25 |
DE4040382C2 DE4040382C2 (en) | 1999-03-11 |
Family
ID=26514789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4040382A Expired - Fee Related DE4040382C2 (en) | 1989-12-15 | 1990-12-17 | Integrated semiconductor circuit arrangement with low power consumption and method for its operation |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4040382C2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993020498A1 (en) * | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Selective power-down for high performance cpu/system |
SG91248A1 (en) * | 1997-06-16 | 2002-09-17 | Matsushita Electric Ind Co Ltd | Processor for executing highly efficient vlim |
US7882380B2 (en) | 2006-04-20 | 2011-02-01 | Nvidia Corporation | Work based clock management for display sub-system |
US7937606B1 (en) | 2006-05-18 | 2011-05-03 | Nvidia Corporation | Shadow unit for shadowing circuit status |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3736569A (en) * | 1971-10-13 | 1973-05-29 | Ibm | System for controlling power consumption in a computer |
DE2825770A1 (en) * | 1978-06-13 | 1980-01-03 | Licentia Gmbh | Power loss reduction system - is used for multiple processing element units and operates by disconnecting inactive signal processing elements from power supply |
-
1990
- 1990-12-17 DE DE4040382A patent/DE4040382C2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3736569A (en) * | 1971-10-13 | 1973-05-29 | Ibm | System for controlling power consumption in a computer |
DE2825770A1 (en) * | 1978-06-13 | 1980-01-03 | Licentia Gmbh | Power loss reduction system - is used for multiple processing element units and operates by disconnecting inactive signal processing elements from power supply |
Non-Patent Citations (1)
Title |
---|
DE-Buch "Integrierte Digitalbausteine", Karl Reiß, Helmut Liedl, Walter Spichall, Siemens AG, 1970, S. 214-219 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6587952B2 (en) | 1992-03-31 | 2003-07-01 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US6430693B2 (en) | 1992-03-31 | 2002-08-06 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5655124A (en) * | 1992-03-31 | 1997-08-05 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5787297A (en) * | 1992-03-31 | 1998-07-28 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
WO1993020498A1 (en) * | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Selective power-down for high performance cpu/system |
KR100292301B1 (en) * | 1992-03-31 | 2001-09-17 | ||
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US8117468B2 (en) | 1992-03-31 | 2012-02-14 | Chong Ming Lin | Selective power-down for high performance CPU/system |
US6256743B1 (en) | 1992-03-31 | 2001-07-03 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
JP3487349B2 (en) | 1992-03-31 | 2004-01-19 | セイコーエプソン株式会社 | Microelectronic device and power down method |
US6785761B2 (en) | 1992-03-31 | 2004-08-31 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US7082543B2 (en) | 1992-03-31 | 2006-07-25 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US7506185B2 (en) | 1992-03-31 | 2009-03-17 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
SG91248A1 (en) * | 1997-06-16 | 2002-09-17 | Matsushita Electric Ind Co Ltd | Processor for executing highly efficient vlim |
US7882380B2 (en) | 2006-04-20 | 2011-02-01 | Nvidia Corporation | Work based clock management for display sub-system |
US7937606B1 (en) | 2006-05-18 | 2011-05-03 | Nvidia Corporation | Shadow unit for shadowing circuit status |
Also Published As
Publication number | Publication date |
---|---|
DE4040382C2 (en) | 1999-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69604301T2 (en) | INPUT / OUTPUT PART OF A SEMICONDUCTOR CIRCUIT WITH SEPARATE SWITCH-OFF POSSIBILITY | |
DE102012212441B4 (en) | A method of entering and exiting a sleep mode in a graphics processing unit | |
DE69430683T2 (en) | A semiconductor memory device | |
DE69320180T2 (en) | SELECTIVE SHUTDOWN FOR A HIGH-PERFORMANCE CPU SYSTEM. | |
DE102012017780B4 (en) | Standby operation with additional microcontroller | |
DE102013214907B4 (en) | Training, power-gating and dynamic frequency change of a memory controller | |
DE2716369C2 (en) | ||
DE102004012487B4 (en) | Power-saving control circuit of an electronic device and method of operation thereof | |
DE69533762T2 (en) | Power control unit for computer system | |
DE69230642T2 (en) | AUTOMATIC PROGRAMMING MICROCONTROLLER WITH STORED COMMAND FOR PROGRAM CONTROL OF EXTERNAL MEMORY AND METHOD | |
DE69229118T2 (en) | Generator architecture for single-port RAM with high performance | |
DE102014114681A1 (en) | Power Management for a Physical Layer Interface Connect a display to a display transmission system | |
DE69817955T2 (en) | associative memory | |
DE3248680A1 (en) | MICROCOMPUTER WITH ENERGY SAVING OPERATING CONDITION | |
DE112008001895T5 (en) | A technique for preserving cached information during a low power mode | |
DE102006004596A1 (en) | Method and apparatus for implementing a power reduction in a memory device | |
JPH04143819A (en) | Power consumption control method, semiconductor integrated circuit device, and microprocessor | |
DE4132833A1 (en) | HIERARCHIC CIRCUIT-INTEGRATED CACHE MEMORY | |
DE102014219905A1 (en) | Configuration of power domains of a microcontroller system | |
DE112006002908T5 (en) | Technique for the communication and synchronization of threads | |
DE69424092T2 (en) | Assembly line processing system with the ability to shutdown and restart the assembly line operation without using interrupt processing | |
DE60315651T2 (en) | SEMICONDUCTOR MEMORY | |
DE60224438T2 (en) | AGGREGATION OF HARDWARE EVENTS IN MULTIPLE NODE SYSTEMS | |
DE69421233T2 (en) | Integrated semiconductor circuit arrangement with low power input signal circuit responsive to a very fast, low intensity input signal | |
DE69226272T2 (en) | CONDITIONS DETERMINATION IN ASYNCHRONOUS PIPELINE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8172 | Supplementary division/partition in: |
Ref country code: DE Ref document number: 4042674 Format of ref document f/p: P |
|
Q171 | Divided out to: |
Ref country code: DE Ref document number: 4042674 |
|
AH | Division in |
Ref country code: DE Ref document number: 4042674 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |