[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2007045377A1 - Method for controlling a digital circuit and a digital circuit - Google Patents

Method for controlling a digital circuit and a digital circuit Download PDF

Info

Publication number
WO2007045377A1
WO2007045377A1 PCT/EP2006/009760 EP2006009760W WO2007045377A1 WO 2007045377 A1 WO2007045377 A1 WO 2007045377A1 EP 2006009760 W EP2006009760 W EP 2006009760W WO 2007045377 A1 WO2007045377 A1 WO 2007045377A1
Authority
WO
WIPO (PCT)
Prior art keywords
operations
components
voltage level
digital circuit
voltage
Prior art date
Application number
PCT/EP2006/009760
Other languages
German (de)
French (fr)
Inventor
Thomas Schweizer
Tobias Oppold
Julio Oliveira Filho
Wolfgang Rosenstiel
Tommy Kuhn
Original Assignee
Universität Tübingen
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universität Tübingen filed Critical Universität Tübingen
Priority to EP06806137A priority Critical patent/EP1941339A1/en
Publication of WO2007045377A1 publication Critical patent/WO2007045377A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention relates to a method for controlling a digital circuit having at least two components for performing different operations and at least one control unit for outputting control commands and for driving the components in dependence on an operation to be performed.
  • the invention also relates to a digital circuit, a method for configuring a digital circuit, a digital storage medium and a computer program product.
  • timing critical blocks of the circuit operate on the normal supply voltage, whereas in time uncritical blocks work with a second, lower supply voltage.
  • Another known way of reducing the power consumption is to reduce the clock frequency of a digital circuit, since the power consumption is directly proportional to the clock frequency and square dependent on the supply voltage.
  • Approaches that provide a reduction in clock frequency seek to identify non-critical digital circuit performance or operating modes that may or may be run at lower clock frequencies.
  • the reduction in the supply voltage usually results in such delays in the signal propagation in a digital circuit that the clock frequency must also be adjusted or the delays otherwise compensated by clock management.
  • DVS Dynamic Voltage Scaling or Dynamic Voltage Adjustment
  • AVS Adaptive Voltage Scaling or Adaptive Voltage Adjustment
  • DVS and AVS require an adjustment of the clock frequency and additional functions in the hardware and / or the operating system. DVS and AVS are therefore worthwhile only if very long idle times of a circuit are to be expected.
  • a dynamic voltage control is provided, in which case both the supply voltage and the clock frequency of the processor are set so low that the application software is just processed correctly.
  • CVS Current Voltage Scaling
  • ASIC design application specific integrated circuit
  • FPGA field programmable gate array
  • a method for controlling a digital circuit having at least two components for carrying out different operations and at least one control unit for outputting control commands and for controlling the components as a function of an operation to be executed, in which a voltage level for the components is determined by means of the at least one control unit is selected depending on the operation to be performed and / or other constraints.
  • the method according to the invention is thus a combination of temporal voltage adaptation and spatial voltage adaptation.
  • the components are supplied with alternating supply voltages, depending on the operation to be carried out or other boundary conditions, for example a concatenation of several operations.
  • the different components can be subjected to alternating supply voltages. This means that each component or each stress island individually depending on one to be executed operation and thereby the supply voltage of these components or voltage islands can be changed at runtime.
  • it is thus not spatially fixed voltage islands that can be supplied dynamically with different supply voltage, but each component can be made only during the term to a voltage island with respect to the adjacent component different supply voltage.
  • control unit of a circuit such as a finite state machine (FSM) not only controls components for selecting a data path, such as a multiplexer, but also a voltage switch, especially transistors, with which the supply voltage for a component is selected.
  • FSM finite state machine
  • a voltage switch especially transistors, with which the supply voltage for a component is selected.
  • switching between two or more voltage levels beyond a supply voltage can also be reduced so far, for example, to zero that functional units or components are completely switched off to reduce the leakage currents, the more and more important with the ever smaller feature sizes of modern semiconductor technologies win.
  • the prerequisite for this is, of course, that components or functional units are not required in every clock cycle.
  • the selection of a voltage level for a component to perform a particular operation is part of the processing of one or more control instructions causing the operation to be performed.
  • the selection of the voltage level keeps pace with the execution of the control commands for performing the individual operations.
  • Components that can be subjected to different voltage levels can generally be components for communication, components for storage and components for calculation. Specifically, for example, multiplexers, registers, memory blocks, buses and arithmetic logic Units, so-called ALUs are subjected to different voltage levels.
  • the method according to the invention thus operates preferably on a command basis in which a suitable supply voltage is stored or determined for a control command to be processed, in order to ensure that the operation to be executed can be completed within the prescribed cycle time, but at the same time the supply voltage is lowered so that a reduction the energy intake is achieved.
  • the spatial and temporal voltage adaptation is thus implemented at the command level, it comes into play at the runtime of a program to be processed and is thus reconfigurable in principle. Reconfigurable is also considered when the temporal and spatial voltage adjustment is realized for example by means of no longer variable control commands in a read-only memory. It is essential that the spatial and temporal voltage adaptation is implemented at the command level, so that it can be reconfigured in principle, for example by replacing a read-only memory, after the actual production of an integrated circuit.
  • the inventive method can be used in coarse-grained, reconfigurable architectures, but also in the design of ASICS (application-specific integrated circuit), in which the function to be performed is fixed, but individual operations are also triggered by a possibly hard-wired control unit.
  • ASICS application-specific integrated circuit
  • the method according to the invention for reducing the power consumption can be realized.
  • development tools for realizing the spatial-temporal voltage adaptation according to the invention can be integrated into software tools for hardware synthesis.
  • Coarse granular configurable circuits are currently being manufactured and sold, for example, by NEC under the designation DRP (Dynamically Reconfigurable Processor) and by PACT under the designation XPP (Extreme Processor Platform).
  • the components are at least partially designed as functional units for performing different arithmetic and logical operations, in particular so-called ALUs, each component is assigned a control unit and / or at least one component and associated control unit are provided in a reconfigurable processing unit.
  • a reconfigurable architecture in which, according to the invention, different processing units are subjected to different supply voltages depending on the operations to be performed.
  • reconfiguring an overall operation to be performed also adjusts the associated voltage configuration because the voltage configuration is implemented as well as performing the commands at the control command level.
  • the selection of the voltage level can be done by the control unit directly or indirectly, with the interposition of a another selection level, in particular a memory to be made.
  • an operator chaining is provided as a further boundary condition in which at least two individual operations are linked without buffering the result.
  • operator chaining so-called operation chaining
  • operation chaining may influence the selection of the voltage level such that, when multiple operations are concatenated, they are executed at a higher voltage level to complete the end result in a timely manner.
  • a high voltage level is selected for first predetermined operations, in particular additions, a low voltage level and for second predetermined operations, in particular multiplications.
  • the selection and optionally the corresponding switching of a voltage level for the functional unit occurs at each clock or for a few clocks, in particular less than ten to twenty clocks.
  • the optimum voltage level in terms of power consumption and the total processing time can be selected for each sub-operation within an application to be executed. Since according to the invention a spatial-temporal chip adaptation is provided, the realization of the dynamic voltage adjustment, for example, take place only when an assignment of individual sub-operations has already been made to certain processing units of a digital circuit. A division into sub-operations, including the assignment of the sub-operations to individual processing units, chosen for achieving an optimum processing time can still be optimized in terms of power consumption in a subsequent step, without changing the processing time for the entire operation to be performed. The goal of a significantly reduced power consumption can be achieved without compromising the performance of a digital circuit. In particular, when a voltage adjustment takes place at each cycle, particularly high savings in the energy absorbed can be achieved. However, the advantages according to the invention also already appear when a voltage adjustment of the individual functional units is performed only for a few cycles.
  • the selection and, where appropriate, the corresponding switching of a voltage level for the functional unit takes place for each control command for one operation or for a few control commands, in particular less than ten to twenty control commands.
  • the realization of the method according to the invention at the command level makes it possible to select the optimum supply voltage for the operation corresponding to the control command for each control command.
  • the selection of a supply voltage can, as already mentioned, be carried out on the basis of fixed allocations, so that, for example, always carry out with low supply voltage and multiplications always high supply voltage to the required execution time for addition and multiplication largely together equalize.
  • no clock change takes place independently of the selection of the voltage level.
  • the voltage switching can be done without having to wait for transients to a new clock frequency.
  • Dispensing with a change in the circuit clock makes it possible to apply different supply voltages to the individual processing units of a digital circuit, both spatially and temporally, without adversely affecting the overall performance of the digital circuit.
  • control commands required for an operation to be executed and the voltage level to be selected for the operation to be executed are stored as a further control command in a memory of the control unit.
  • the spatial and temporal voltage adaptation of the method according to the invention is implemented at the command level and is thus reconfigurable in principle.
  • the stored in memory control commands are retrieved at runtime of a program on the digital circuit and according to these control commands, the supply voltage of individual functional units is set.
  • a digital circuit having at least two components and at least one control unit for outputting control commands and for driving the components as a function of an operation to be performed, wherein a voltage changeover switch for applying the components with different voltage levels in response to a switching - state is provided, wherein the control unit comprises means, in particular a memory, are accessible via the information, with which voltage level the components are to be charged when performing different operations and / or as a function of further boundary conditions.
  • the storage of the control voltage relating to the supply voltage and its allocation to control commands to be processed in the course of a partial operation are made possible.
  • the application of the components with different supply voltages is then realized by means of the voltage switch, which is controlled by the control unit directly or with the interposition of a further selection level, in particular a memory.
  • the provision of a context memory for information regarding the spatio-temporal voltage adaptation allows the realization of a digital circuit with reconfigurable dynamic spatial and temporal voltage adaptation.
  • the processing unit has a voltage level converter, wherein the voltage level converter can be switched on optionally in the output side of the components or the input side of the components.
  • a voltage level converter is provided on the output side or input side when a transition from the low to the high voltage level is to take place.
  • the voltage level translator may be provided between the component and an output interface or upstream of one or more input interfaces.
  • the problem underlying the invention is also solved by a method for configuring a digital circuit having at least two components, each for performing different operations, with the following steps: splitting operations to be performed into sub-operations to be performed and creating associated data flow paths, in particular creating a data flow graph, Assigning the sub-operations to the components of the digital circuit and determining which component performs which sub-operation in which timing step, and setting a voltage level for the components for each timing step depending on the operations to be performed in that timing step and / or other constraints.
  • a digital circuit can be configured so that on the one hand, a reduced power consumption is achieved, but on the other hand, the performance of the digital circuit is not affected by a constant supply voltage.
  • an operation to be performed into sub-operations and then, for example, depending on an expected execution time for the sub-operations, defining a voltage level for the sub-operation to be performed and assigning that voltage level to the functional unit that is to perform the sub-operation, significant energy savings can be realized , Since time-critical sub-operations are assigned a supply voltage which ensures their timely execution within one clock step or the predetermined number of clock steps, the overall performance of the digital circuit is not impaired. According to the allocations made by Sub-operations and the setting of the voltage levels can then be generated control commands for the control unit.
  • development of the invention is selected when setting a voltage level between at least two voltage levels.
  • the storage of the allocations and definitions in a memory of a control unit of the digital circuit is provided.
  • the temporal and spatial dynamic voltage adjustment according to the invention can then be retrieved during the runtime of a program by retrieving the corresponding control commands from the memory and processed.
  • a digital circuit can always be reconfigured with the method according to the invention in principle.
  • the execution times required for partial operations are determined at different voltage levels, and voltage levels for the functional units are determined as a function of the determined execution times.
  • the comparison of the execution times for different sub-operations leads to a determination of the slip time that exists in certain sub-operations. Depending on the determined slip time can then, for example, the voltage level for such sub-operations are lowered.
  • the determination of a slip time is particularly advantageous if a slip time between simultaneously executed partial operations is determined and then a voltage level is determined depending on the determined slip times.
  • the problem underlying the invention is also solved by a digital storage medium with electronically executable control signals, in the execution of which on a computer system the method according to the invention is carried out.
  • a digital storage medium or a computer program product can be used within the scope of a development tool for the configuration of digital circuits, and by means of the computer program product, the method according to the invention can be implemented in the design of the digital circuit. In this way, reduced power consumption with undiminished performance of digital circuits can already be considered at the design stage.
  • FIG. 3 is a more detailed representation of a processing unit of the digital circuit of FIG. 2,
  • FIG. 4 shows a schematic representation of a further digital circuit according to the invention with the detailed illustration of a processing unit
  • FIG. 5 shows an illustration for explaining the method according to the invention for configuring a digital circuit on the basis of an exemplary operation to be carried out
  • FIG. 6 shows an illustration of the method according to the invention for configuring a digital circuit based on a further example of an operation to be carried out
  • FIG. 7 is an illustration of a processing unit of a digital circuit according to an alternative embodiment.
  • FIG. 1a shows a so-called data flow graph in which an operation to be performed is performed by sub-operations to be performed and data-flow paths linking the individual sub-operations is shown.
  • three multiplications and one subtraction are provided as partial operations.
  • the operation to be performed is processed in the illustration of FIG. 1a from top to bottom and processes a total of five input variables.
  • Two first input variables are processed in a first multiplication 10.
  • two further input variables are processed.
  • the result of the first multiplication 10 is fed to a third multiplication 14 and a subtraction 16.
  • the result from the first multiplication 10 is linked to a further input variable.
  • the result of the multiplication 12 is fed to the subtraction 16.
  • Fig. 1b shows a table listing the execution time required for multiplication and subtraction at voltage levels 1, 0 volts and 1.2 volts. Fig. 1b further introduces the energy required at different supply voltages to perform the multiplication and the subtraction.
  • a subtraction within 2.68 nanoseconds can be performed versus 4.06 nanoseconds for a multiplication when the supply voltage is 1.2 volts.
  • the subtraction can still be performed much faster than multiplication within 3.48 nanoseconds versus 5.45 nanoseconds.
  • energy savings of 1.1 milliwatts can be achieved by choosing a 1.0 volts supply voltage instead of 1.2 volts.
  • FIGS. 1c, 1d and 1e respectively show diagrams to which the assignment of the individual sub-operations 10, 12, 14, 16 to respectively one of two processing units PE1, PE2 can be taken in different clock steps T1, T2, T3.
  • the first multiplication 10 is executed in the first processing unit PE1 during the first time step T1.
  • the second multiplication 12 is also carried out in the first processing unit PE1 during the second time step T2.
  • the third multiplication 14 is also executed in the first processing unit PE1 during the third time step T3.
  • the subtraction 16 is then also executed in the second processing unit PE2.
  • the first processing unit PE1 is operated with a supply voltage of 1.2 volts.
  • the second processing unit PE2 is operated with a supply voltage of 1.0 volts, which is represented by the black-framed symbol.
  • a multiplication at 1.2 volts supply voltage is carried out within 4.06 nanoseconds.
  • a subtraction at 1.0 volt supply voltage requires 3.48 nanoseconds. It is thus possible in the time step T3 of FIG. 1c to operate the second processing unit PE2 with the lower supply voltage and nevertheless to finish the result of the third multiplication 14 and the subtraction 16 within the third time step T3.
  • the representation of FIG. 1c thus shows a purely spatial assignment of supply voltages, in that the first processing unit PE1 is operated at 1.2 volts and the second processing unit PE2 at 1.0 volts. It should be noted that the execution of the intended operation according to FIG. 1c can take place within three time steps.
  • Fig. 1d shows the realization of a purely temporal voltage adjustment.
  • Both processing PE1 and PE2 can be set according to Fig. 1d together to a higher supply voltage of 1, 2 volts or a lower supply voltage of 1, 0 volts.
  • the first multiplication 10 and 10 are used in this approach the second multiplication 12 is performed simultaneously during the first time step T1.
  • the higher supply voltage of 1.2 volts is still applied to both processing units PE1 and PE2, and the third multiplication 14 is executed.
  • the supply voltage of both processing units PE1 and PE2 is then lowered to 1, 0 volts and the subtraction 16 is executed. It can be seen on the basis of FIG.
  • FIG. 1e shows the combination according to the invention of a spatial and temporal voltage adaptation.
  • Each processing unit PE1 and PE2 can be acted upon individually during any clock steps with the higher supply voltage of 1, 2 volts or the lower supply voltage of 1, 0 volts.
  • the first multiplication 10 and the second multiplication 12 are executed during the first time step T1.
  • the first processing unit PE 1 executes the third multiplication 14 and is supplied with a supply voltage of 1.2 volts.
  • the second processing unit PE2 executes the subtraction 16 and is however supplied with the lower supply voltage of 1.0 volt.
  • FIG. 2 shows a schematic representation of a digital circuit 20 according to the invention.
  • the digital circuit 20 has four processing units PE1, PE2, PE3 and PE4.
  • the processing units PE1, PE2, PE3 and PE4 are interconnected for data exchange, which is symbolized by two double arrows between the individual processing units PE1, PE2, PE3 and PE4. All processing units PE1, PE2, PE3 and PE4 are synchronized in time by means of a common clock T.
  • the processing units PE1, PE2, PE3 and PE4 are constructed identically, so that only the processing unit PE1 will be described in more detail below.
  • the processing unit PE1 has a control unit 22, by means of which a data path and a supply voltage are selected. In the selection of the data path, registers (not shown) and interfaces of the processing unit PE1 are actuated in order to retrieve the desired data in accordance with the control commands present to the control unit 22 and to pass on the calculated results to their respective destination.
  • the actual calculations are performed in a circuit 24, which in addition to a functional unit, which will be explained below and can perform various operations, still has a voltage converter and an output interface.
  • the circuit 24 represents as a hardware component a closed voltage range that can be operated with different supply voltages.
  • the circuit 24 can be operated with a first supply voltage V1 and a second supply voltage V2, which are selectively applied to the circuit 24 by means of a voltage switch 26.
  • the control of the voltage switch 26 takes place by means of the control unit 22 and that in accordance with control commands which are present in a memory of the control unit 22 and are retrieved at runtime.
  • the selection of an operation takes place via a control line 25 between the control unit 22 and the circuit 24.
  • both a temporal voltage adaptation can be provided, namely that a supply voltage of the circuits 24 is changed for each clock or for a few clock cycles.
  • a spatial voltage adjustment can be made such that the circuits 24 of different processing units PE1, PE2, PE3, PE4 operate at different supply voltages during the same clock cycle.
  • control commands for voltage adjustment by means of the control unit 22 and for example by means of control commands, which are stored in a memory carried out to reconfigure the voltage adjustment, a reprogramming of the control unit.
  • the control unit 22 has a context memory 28 and logic gates 30. Further components of the control unit 22 are not shown in FIG. 3 for the sake of clarity.
  • a functional unit 32 in the circuit 24 is driven in order to execute desired operations in the functional unit 32 in accordance with the control commands.
  • the functional unit 32 may perform different operations, such as multiplications, additions, subtractions, and comparisons.
  • a supply voltage for the functional unit 32 is likewise selected from the context memory 28 by means of control commands, for example such that a specific supply voltage is assigned to a specific operation. For example, a multiplier tion always be associated with the higher supply voltage V2 as a time-critical operation and an addition or subtraction is always associated with the lower supply voltage V1.
  • the voltage changeover switch 26 has two transistors 34 and 36 which respectively block or enable a connection between the supply voltage rail V1 or the supply voltage rail V2 with the functional unit 32.
  • the functional unit 32 is surrounded by a dashed line. This is to symbolize that the functional unit 32 within the processing unit PE1 forms a voltage island which can be operated with different supply voltages V1, V2.
  • a calculation result of the functional unit 32 is output to an output interface 38 and can be output therefrom to the processing unit PE1.
  • a voltage level converter 40 can be switched on between the functional unit 32 and the output interface 38. The turning on of the voltage level converter 40 is required whenever the functional unit 32 is operated at the low voltage level V1. In order not to have to work with different signal levels in the communication of the processing units PE1, PE2, PE3, PE4 with each other, the output signal of the functional unit 32 when it is operated with the low supply voltage V1, set by the voltage level converter 40 back to the higher voltage level. The optional switching of the voltage level converter 40 in the signal path is determined by the control unit 22.
  • FIG. 4 shows in its left-hand section a schematic representation of a digital circuit 20 having a plurality of processing units PE1, PE2, PE3, PE4 and PE5.
  • the processing units communicate with each other via bidirectional data lines, which is indicated by oppositely directed arrows.
  • the processing unit PE5 is shown in more detail in the right part of FIG.
  • the processing unit PE5 has a context memory 42, which is divided into a context memory 44 for the voltage configuration and a context memory 46 for the selection of the operations control commands.
  • the control unit also has a finite state machine (FSM 48).
  • FSM 48 finite state machine
  • a memory 50 is provided in which a basic configuration is stored and accessed during booting. Furthermore, a register set 52 and numerous interfaces 54 for inputting and outputting data and status data are provided.
  • the voltage changeover switch 26 selectively supplies the functional unit 32 with one of a plurality of supply voltages, optionally including a voltage of zero volts, corresponding to a complete deactivation of the functional unit 32, and the voltage level converter 40 is provided at the output of the functional unit 32.
  • FIG. 5 shows the configuration of a digital circuit according to the method according to the invention for a trilinear interpolation.
  • a data flow graph of the operation to be carried out is created, corresponding to a breakdown. ment of the operation to be performed in sub-operations and creation of data flow paths, ie which data at which time step must be further processed by which sub-operations.
  • the temporal division takes place in accordance with steps of a predetermined circuit clock, which is plotted in the illustration of FIG. 5 rightmost and clock steps T1, T2, ... to T15 contains.
  • the operation represented by the data flow graph 60 can thus be completed in fifteen time steps T1 to T15.
  • the temporal arrangement of the sub-operations is also referred to as scheduling.
  • a second step the assignment of the individual sub-operations to the processing units PE1, PE2, PE3 and PE4 then takes place.
  • This process is also called binding.
  • FIG. 5 it is plotted over time which sub-operations are carried out in the individual processing units PE1, PE2, PE3 and PE4.
  • the symbols for the individual sub-operations are either only outlined in black or filled in black.
  • the black-rimmed sub-operations are carried out at a supply voltage of 1, 0 volts, whereas the completed partial operations shown executed at a supply voltage of 1, 2 volts. It can be seen from the illustration of FIG. 5 that only the multiplications with a supply voltage of 1.2 volts are carried out, all other operations can be completed within one clock even with a supply voltage of 1.0 volts.
  • this is Configuration process according to the invention completed in principle.
  • the accruals Instructions and definitions can then be stored in the form of control commands in a memory of the digital circuit.
  • the described configuration method may be applied during the development of a digital circuit, such as an ASIC circuit, and may be used in configuring a reconfigurable circuit such that the control instructions resulting from the assignments and determinations into a plurality of similar digital circuits may be simplified Way can be stored.
  • the data required for the processing are loaded into the processing units PE1, PE2, PE3, PE4 by means of a memory access.
  • twenty-one out of twenty-eight sub-operations of the trilinear interpolation can be performed at a supply voltage of 1.0 volts without violating the temporal boundary condition set at a maximum of 4.5 nanoseconds per clock.
  • only multiplications at the high supply voltage have to be carried out.
  • a 22.8% reduction in power consumption is achieved compared to performing a trilinear operation with the same circuit but with a constant supply voltage of 1.2 volts.
  • FIG. 6 shows a further example of the method according to the invention for configuring a digital circuit, using the example of the so-called "voxel fetch operation.”
  • a data flow graph 62 is created and the individual sub-operations then become the individual processing units
  • FIG. 7 shows a processing unit PE6 of a further embodiment of a digital circuit.
  • the processing unit PE6 is constructed similarly to the processing unit PE1 of FIG. 3 and functionally identical components will not be explained again.
  • the processing unit PE6 has two voltage level converters 70, 72 which are provided on an input side of the functional unit 32.
  • the voltage level converter 70 is turned on in a supply line which is in communication with a first input of the functional unit 32.
  • the voltage level converter 72 is turned on in a supply line which is in communication with a second input of the functional unit 32.
  • the communication between processing units can therefore take place, for example, at a low voltage level, and the inputs of the functional unit 32 are set to a high voltage level by means of the voltage level converters 70, 72.
  • the inputs of the functional unit 32 are therefore always at a high voltage level, regardless of whether the functional unit 32 is operated with a high or low voltage level. This is necessary when the functional unit 32 is operated at a high voltage level and is harmless when the functional unit 32 is operated at a low voltage level. It is thereby possible to dispense with a special control of the voltage level converter 70, 72.

Landscapes

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

Abstract

The invention relates to a method for controlling a digital circuit which consists of at least two elements for carrying out different operations and at least one control unit for controlling said elements according to the operation be performed. According to said invention, a step for selecting a voltage level for a functional unit is carried out by means of said at least one control unit according to the operation to be performed and/or other boundary conditions. The invention can be used, for example, for mobile applications of the digital circuit for limiting energy consumption.

Description

Beschreibung Verfahren zum Steuern einer digitalen Schaltung und digitale Schaltung Description Method for controlling a digital circuit and digital circuit
Die Erfindung betrifft ein Verfahren zum Steuern einer digitalen Schaltung mit wenigstens zwei Komponenten zum Durchführen unterschiedlicher Operationen und wenigstens einer Steuereinheit zum Ausgeben von Steuerbefehlen und zum Ansteuern der Komponenten in Abhängigkeit einer auszuführenden Operation. Die Erfindung betrifft auch eine digitale Schaltung, ein Verfahren zum Konfigurieren einer digitalen Schaltung, ein digitales Speichermedium und ein Computerprogrammprodukt.The invention relates to a method for controlling a digital circuit having at least two components for performing different operations and at least one control unit for outputting control commands and for driving the components in dependence on an operation to be performed. The invention also relates to a digital circuit, a method for configuring a digital circuit, a digital storage medium and a computer program product.
Bei digitalen Schaltungen, insbesondere für mobile Anwendungen, hat sich die elektrische Leistungsaufnahme zu einem bedeutenden Designparameter entwickelt. Einerseits steht bei mobilen Anwendungen, beispielsweise Mobiltelefonen, nur eine begrenzte Energiemenge zur Verfügung, andererseits wird die von einer digitalen Schaltung aufgenommenen Energie in Wärme umgesetzt und muss abgeführt werden. Es besteht daher seit langem ein Bedürfnis, die Leistungsaufnahme digitaler Schaltungen zu verringern.In digital circuits, especially for mobile applications, electrical power consumption has become an important design parameter. On the one hand, in mobile applications, such as mobile phones, only a limited amount of energy available, on the other hand, the energy absorbed by a digital circuit is converted into heat and must be dissipated. Therefore, there has long been a need to reduce the power consumption of digital circuits.
Bekannte Ansätze zum Verringern der Leistungsaufnahme sehen beispielsweise eine Verringerung der Versorgungsspannung vor. Die Verringerung der Versorgungsspannung beeinträchtigt jedoch die Leistungsfähigkeit einer digitalen Schaltung in negativer Weise.For example, known approaches to reducing power consumption provide for a reduction in the supply voltage. However, the reduction of the supply voltage negatively affects the performance of a digital circuit.
Um Einbußen bei der Leistungsfähigkeit einer digitalen Schaltung bei gleichzeitiger Verringerung der Leistungsaufnahme zu vermeiden, ist es bekannt, zwei Versorgungsspannungen in einer digitalen Schaltung zu verwenden. Die bezüglich des Timings kritischen Blöcke der Schaltung arbeiten mit der normalen Versorgungsspannung, wohingegen zeitlich unkritische Blöcke mit einer zweiten, niedrigeren Versorgungsspannung arbeiten.In order to avoid losses in the performance of a digital circuit while reducing the power consumption, it is known to use two supply voltages in a digital circuit. The timing critical blocks of the circuit operate on the normal supply voltage, whereas in time uncritical blocks work with a second, lower supply voltage.
Eine weitere bekannte Möglichkeit der Verringerung der Leistungsaufnahme besteht darin, die Taktfrequenz einer digitalen Schaltung zu verringern, da die Leistungsaufnahme direkt proportional zur Taktfrequenz und quadratisch von der Versorgungsspannung abhängig ist. Ansätze, die eine Verringerung der Taktfrequenz vorsehen, versuchen bezüglich der Leistungsfähigkeit nicht kritische Module der digitalen Schaltung oder Betriebsmodi zu identifizieren, die oder bei denen das System auch mit niedrigeren Taktfrequenzen laufen kann. Die Verringerung der Versorgungsspannung führt im übrigen üblicherweise zu solchen Verzögerungen in der Signalfortschreitung in einer digitalen Schaltung, dass e- benfalls die Taktfrequenz angepasst oder die Verzögerungen in anderer Weise durch ein Taktmanagement kompensiert werden müssen.Another known way of reducing the power consumption is to reduce the clock frequency of a digital circuit, since the power consumption is directly proportional to the clock frequency and square dependent on the supply voltage. Approaches that provide a reduction in clock frequency seek to identify non-critical digital circuit performance or operating modes that may or may be run at lower clock frequencies. Incidentally, the reduction in the supply voltage usually results in such delays in the signal propagation in a digital circuit that the clock frequency must also be adjusted or the delays otherwise compensated by clock management.
Auch wenn die geschilderten Verfahren zu einer Verringerung der Energieaufnahme führen, werden dann, wenn man die gesamte Leistungsfähigkeit des Systems betrachtet, beispielsweise durch Verknüpfung der Energieaufnahme mit einer Verzögerung von Berechnungsvorgängen, das sogenannte energy-delay-product, durch die bekannten Verfahren keine bedeutenden Gewinne erzielt. Die Gründe hierfür liegen vor allem darin, dass:Even if the described methods lead to a reduction in the energy consumption, then, taking into account the overall performance of the system, for example, by linking the energy absorption with a delay of calculation processes, the so-called energy-delay-product, by the known methods no significant gains achieved. The main reasons are that:
1. Frequenz und Versorgungsspannungsmanagement zusätzliche Flächen- und Berechnungskosten verursachen. Mit anderen Worten erfordert ein solchen Management oft die Verwendung von zusätzlichen Softwareschichten und intelligenten Algorithmen und verursacht dadurch eine zusätzliche Last für das System im Bezug auf Energieaufnahme und Leistungsfähigkeit. 2. Verbesserungen im Bezug auf die Hardware oder die Architektur werden als nach der Herstellung nicht mehr veränderbare Merkmale realisiert. Beispiele hierfür sind unveränderbar festgelegte Spannungsinseln. Solchen Lösungen fehlt die Flexibilität, um nach der Herstellung eine große Anzahl an Anwendungen mit deren speziellen Anforderungen an die Energieaufnahme zu implementieren. Speziell bei rekonfigurierbaren Plattformen gibt es derzeit keine Möglichkeit, die Leistungsaufnahme zusammen mit der Rekonfiguration anzupassen.1. frequency and supply voltage management cause additional area and calculation costs. In other words, such management often requires the use of additional software layers and intelligent algorithms, thereby adding additional load on the system in terms of power consumption and performance. 2. Improvements in hardware or architecture are realized as non-alterable features after manufacture. Examples of this are immutable fixed voltage islands. Such solutions lack the flexibility to implement, after manufacture, a large number of applications with their specific power consumption requirements. Especially with reconfigurable platforms, there is currently no way to adjust the power consumption together with the reconfiguration.
Bekannte Ansätze zur Verringerung der Energieaufnahme werden als DVS (Dynamical Voltage Scaling oder dynamische Spannungsanpassung) und AVS (Adaptiv Voltage Scaling oder adaptive Spannungsanpassung) bezeichnet. Diese beiden Ansätze erfordern aber eine Anpassung der Taktfrequenz und zusätzliche Funktionen in der Hardware und/oder dem Betriebssystem. DVS und AVS lohnen sich daher nur, wenn sehr große Leerlaufzeiten einer Schaltung zu erwarten sind. Eine dynamische Spannungsregelung ist vorgesehen, wobei dann sowohl die Versorgungsspannung als auch die Taktfrequenz des Prozessors so niedrig eingestellt werden, dass die Applikationssoftware gerade noch korrekt verarbeitet wird.Known approaches to reducing energy intake are referred to as DVS (Dynamic Voltage Scaling or Dynamic Voltage Adjustment) and AVS (Adaptive Voltage Scaling or Adaptive Voltage Adjustment). However, these two approaches require an adjustment of the clock frequency and additional functions in the hardware and / or the operating system. DVS and AVS are therefore worthwhile only if very long idle times of a circuit are to be expected. A dynamic voltage control is provided, in which case both the supply voltage and the clock frequency of the processor are set so low that the application software is just processed correctly.
Die Ansätze DVS und AVS sind in „Leistung nach Bedarf", Ravimbatipu- di und Clive Watts, World of Embedded ARM, Februar 2004 Seite 20 ff. (www.electroniknet.de), beschrieben.The approaches DVS and AVS are described in "Performance on Demand", Ravimbatipudi and Clive Watts, World of Embedded ARM, February 2004 page 20 ff. (Www.electroniknet.de).
Ein weiterer Ansatz wird als CVS (Clustered Voltage Scaling oder geklusterte Spannungsanpassung) bezeichnet und bei ASIC Design (application specific integrated circuit) verwendet. Erste Ansätze für FPGA (field programmable gate array) existieren. Bei der Herstellung von ASICS werden die Spannungsinseln bei der Herstellung des Chips unveränderbar festgelegt. - A -Another approach is referred to as CVS (Clustered Voltage Scaling) and is used in ASIC design (application specific integrated circuit). First approaches for FPGA (field programmable gate array) exist. In the production of ASICS, the voltage islands are fixed unchangeable during the production of the chip. - A -
Im Ergebnis existieren somit Ansätze, die eine zeitliche Anpassung der Versorgungsspannung vorsehen, z.B. DVS, wobei diese zeitliche Anpassung der Versorgungsspannung entweder für die gesamte digitale Schaltung oder innerhalb vordefinierter, festgelegter Bereiche erfolgt.As a result, there are approaches that provide for a temporal adjustment of the supply voltage, e.g. DVS, wherein this time adjustment of the supply voltage takes place either for the entire digital circuit or within predefined, fixed ranges.
Weiterhin existieren Ansätze, die eine räumliche Anpassung der Versorgungsspannung vorsehen, beispielsweise CVS. Auch hier sind die räumlichen Bereiche, in denen sich die Versorgungsspannung unterscheidet, festgelegt und nicht veränderbar.Furthermore, there are approaches that provide a spatial adjustment of the supply voltage, such as CVS. Again, the spatial areas in which the supply voltage is different, fixed and not changeable.
Mit der Erfindung soll eine deutlich verringerte Energieumsetzung und Leistungsaufnahme bei digitalen Schaltungen ohne Einbußen bei der Leistungsfähigkeit erzielt werden.With the invention, a significantly reduced energy conversion and power consumption in digital circuits without sacrificing performance is to be achieved.
Erfindungsgemäß ist hierzu ein Verfahren zum Steuern einer digitalen Schaltung mit wenigstens zwei Komponenten zum Durchführen unterschiedlicher Operationen und wenigstens einer Steuereinheit zum Ausgeben von Steuerbefehlen und zum Ansteuern der Komponenten in Abhängigkeit einer auszuführenden Operation vorgesehen, bei dem ein Spannungsniveau für die Komponenten mittels der wenigstens einen Steuereinheit in Abhängigkeit der auszuführenden Operation und/oder weiterer Randbedingungen ausgewählt wird.According to the invention, a method is provided for controlling a digital circuit having at least two components for carrying out different operations and at least one control unit for outputting control commands and for controlling the components as a function of an operation to be executed, in which a voltage level for the components is determined by means of the at least one control unit is selected depending on the operation to be performed and / or other constraints.
Bei dem erfindungsgemäßen Verfahren handelt es sich somit um eine Kombination von zeitlicher Spannungsanpassung und räumlicher Spannungsanpassung. In zeitlicher Hinsicht werden die Komponenten mit wechselnden Versorgungsspannungen versorgt, in Abhängigkeit der auszuführenden Operation oder auch weiterer Randbedingungen, beispielsweise einer Verkettung mehrerer Operationen. In räumlicher Hinsicht können die unterschiedlichen Komponenten mit wechselnden Versorgungsspannungen beaufschlagt werden. Dies bedeutet, dass jede Komponente oder jede Spannungsinsel individuell in Abhängigkeit einer auszuführenden Operation angesteuert und dadurch die Versorgungsspannung dieser Komponenten oder Spannungsinseln zur Laufzeit verändert werden kann. Im Unterschied zu den bekannten Ansätzen sind es somit nicht räumlich festgelegte Spannungsinseln, die dynamisch mit unterschiedlicher Versorgungsspannung versorgt werden können, sondern jede Komponente kann erst während der Laufzeit zu einer Spannungsinsel mit gegenüber der benachbarten Komponente unterschiedlichen Versorgungsspannung gemacht werden. Dies wird dadurch erreicht, dass die Steuerungseinheit einer Schaltung, beispielsweise eine finite Zustandsmaschine (FSM, Finite State Machine), nicht nur Komponenten zur Auswahl eines Datenpfads, beispielsweise einen Multiplexer, ansteuert, sondern auch einen Spannungsumschalter, speziell Transistoren, mit denen die Versorgungsspannung für eine Komponente ausgewählt wird. Neben dem Umschalten zwischen zwei oder mehreren Spannungsniveaus kann darüber hinaus eine Versorgungsspannung auch soweit reduziert werden, beispielsweise auf null, dass Funktionseinheiten oder Komponenten vollständig abgeschaltet werden, um auch die Leckströme zu reduzieren, die mit den ständig kleiner werdenden Strukturbreiten moderner Halbleitertechnologien immer mehr an Bedeutung gewinnen. Voraussetzung hierfür ist selbstverständlich, dass Komponenten oder Funktionseinheiten nicht in jedem Taktzyklus benötigt werden. Erfindungsgemäß ist die Auswahl eines Spannungsniveaus für eine Komponente zur Durchführung einer bestimmten Operation somit Teil der Abarbeitung eines oder mehrerer Steuerbefehle, die die Durchführung dieser Operation verursachen. Mit anderen Worten hält die Auswahl des Spannungsniveaus Schritt mit der Abarbeitung der Steuerbefehle zum Durchführen der einzelnen Operationen. Mit unterschiedlichen Spannungsniveaus beaufschlagbare Komponenten können allgemein Komponenten zur Kommunikation, Komponenten zur Speicherung und Komponenten zur Berechnung sein. Speziell können beispielsweise Multiplexer, Register, Speicherblöcke, Busse und arithmetisch logische Einheiten, sogenannte ALUs mit unterschiedlichen Spannungsniveaus beaufschlagt werden.The method according to the invention is thus a combination of temporal voltage adaptation and spatial voltage adaptation. In terms of time, the components are supplied with alternating supply voltages, depending on the operation to be carried out or other boundary conditions, for example a concatenation of several operations. In terms of space, the different components can be subjected to alternating supply voltages. This means that each component or each stress island individually depending on one to be executed operation and thereby the supply voltage of these components or voltage islands can be changed at runtime. In contrast to the known approaches, it is thus not spatially fixed voltage islands that can be supplied dynamically with different supply voltage, but each component can be made only during the term to a voltage island with respect to the adjacent component different supply voltage. This is achieved in that the control unit of a circuit, such as a finite state machine (FSM), not only controls components for selecting a data path, such as a multiplexer, but also a voltage switch, especially transistors, with which the supply voltage for a component is selected. In addition to switching between two or more voltage levels beyond a supply voltage can also be reduced so far, for example, to zero that functional units or components are completely switched off to reduce the leakage currents, the more and more important with the ever smaller feature sizes of modern semiconductor technologies win. The prerequisite for this is, of course, that components or functional units are not required in every clock cycle. Thus, according to the invention, the selection of a voltage level for a component to perform a particular operation is part of the processing of one or more control instructions causing the operation to be performed. In other words, the selection of the voltage level keeps pace with the execution of the control commands for performing the individual operations. Components that can be subjected to different voltage levels can generally be components for communication, components for storage and components for calculation. Specifically, for example, multiplexers, registers, memory blocks, buses and arithmetic logic Units, so-called ALUs are subjected to different voltage levels.
Bei dem erfindungsgemäßen Verfahren ist keine Frequenzanpassung oder Veränderung des Schaltungstaktes erforderlich. Das Spannungsniveau für die Funktionseinheiten wird somit nur soweit verändert, dass eine vorgesehene Operation innerhalb der vorgesehenen Taktzeit abgeschlossen werden kann. Indem keine Frequenzanpassung oder Veränderung des Schaltungstaktes erforderlich ist, kann das Umschalten der Spannung relativ schnell erfolgen und es muss kein Einschwingen der Schaltung auf eine neue Taktfrequenz abgewartet werden.In the method according to the invention no frequency adjustment or change of the circuit clock is required. The voltage level for the functional units is thus changed only so far that an intended operation can be completed within the scheduled cycle time. By no frequency adjustment or change of the switching clock is required, the switching of the voltage can be done relatively quickly and it must wait for a settling of the circuit to a new clock frequency.
Das erfindungsgemäße Verfahren arbeitet somit vorzugsweise auf Befehlsbasis, in dem zu einem abzuarbeitenden Steuerbefehl eine passende Versorgungsspannung hinterlegt ist oder ermittelt wird, um sicherzustellen, dass die auszuführende Operation innerhalb der vorgesehenen Taktzeit beendet werden kann, aber gleichzeitig die Versorgungsspannung soweit abgesenkt wird, dass eine Verringerung der E- nergieaufnahme erreicht wird. Da die räumliche und zeitliche Spannungsanpassung somit auf Befehlsebene implementiert ist, kommt sie zur Laufzeit eines abzuarbeitenden Programms zum Tragen und ist somit prinzipbedingt rekonfigurierbar. Als rekonfigurierbar wird dabei auch angesehen, wenn die zeitliche und räumliche Spannungsanpassung beispielsweise mittels nicht mehr veränderbarer Steuerbefehle in einen Festwertspeicher realisiert ist. Wesentlich ist, dass die räumliche und zeitliche Spannungsanpassung auf Befehlsebene realisiert ist, so dass sie im Grundsatz, beispielsweise auch durch Austausch eines Festwertspeichers, nach der eigentlichen Herstellung einer integrierten Schaltung neu konfigurierbar ist.The method according to the invention thus operates preferably on a command basis in which a suitable supply voltage is stored or determined for a control command to be processed, in order to ensure that the operation to be executed can be completed within the prescribed cycle time, but at the same time the supply voltage is lowered so that a reduction the energy intake is achieved. Since the spatial and temporal voltage adaptation is thus implemented at the command level, it comes into play at the runtime of a program to be processed and is thus reconfigurable in principle. Reconfigurable is also considered when the temporal and spatial voltage adjustment is realized for example by means of no longer variable control commands in a read-only memory. It is essential that the spatial and temporal voltage adaptation is implemented at the command level, so that it can be reconfigured in principle, for example by replacing a read-only memory, after the actual production of an integrated circuit.
Das erfindungsgemäße Verfahren kann bei grobgranularen, rekonfigu- rierbaren Architekturen eingesetzt werden, aber auch beim Design von ASICS (application specific iπtegrated circuit), bei denen die auszuführende Funktion fest vorgegeben ist, einzelne Operationen aber ebenfalls durch eine gegebenenfalls fest verdrahtete Steuereinheit angestoßen werden. Solange eine digitale Schaltung eine Struktur aus Steuerwerk und Datenpfad aufweist, kann das erfindungsgemäße Verfahren zur Verringerung der Leistungsaufnahme realisiert werden. Beispielsweise können Entwicklungswerkzeuge zur Realisierung der erfindungsgemäßen räumlich-zeitlichen Spannungsanpassung in Softwarewerkzeuge zur Hardwaresynthese integriert werden. Grobgranulare konfigurierbare Schaltungen werden derzeit beispielsweise von der Firma NEC unter der Bezeichnung DRP (Dynamically Reconfigurable Processor) und von der Firma PACT unter der Bezeichnung XPP (Extreme Processor Plattform) hergestellt und vertrieben.The inventive method can be used in coarse-grained, reconfigurable architectures, but also in the design of ASICS (application-specific integrated circuit), in which the function to be performed is fixed, but individual operations are also triggered by a possibly hard-wired control unit. As long as a digital circuit has a structure of control unit and data path, the method according to the invention for reducing the power consumption can be realized. For example, development tools for realizing the spatial-temporal voltage adaptation according to the invention can be integrated into software tools for hardware synthesis. Coarse granular configurable circuits are currently being manufactured and sold, for example, by NEC under the designation DRP (Dynamically Reconfigurable Processor) and by PACT under the designation XPP (Extreme Processor Platform).
In Weiterbildung der Erfindung sind die Komponenten wenigstens teilweise als Funktionseinheiten zum Ausführen unterschiedlicher arithmetischer und logischer Operationen, insbesondere sogenannte ALUs, ausgebildet, jeder Komponente ist eine Steuereinheit zugeordnet und/oder jeweils wenigstens eine Komponente und zugeordnete Steuereinheit sind in einer rekonfigurierbaren Verarbeitungseinheit vorgesehen.In a further development of the invention, the components are at least partially designed as functional units for performing different arithmetic and logical operations, in particular so-called ALUs, each component is assigned a control unit and / or at least one component and associated control unit are provided in a reconfigurable processing unit.
Auf diese Weise ist eine rekonfigurierbare Architektur bereitgestellt, bei der erfindungsgemäß unterschiedliche Verarbeitungseinheiten in Abhängigkeit abzuarbeitender Operationen mit unterschiedlichen Versorgungsspannungen beaufschlagt werden. Wesentlich ist, dass mit dem Rekonfigurieren einer auszuführenden Gesamtoperation auch die zugehörige Spannungskonfiguration angepasst wird, da die Spannungskonfiguration wie das Durchführen der Operationen auf Steuerbefehlsebene implementiert ist. Das Auswählen des Spannungsniveaus kann dabei von der Steuereinheit direkt oder indirekt, unter Zwischenschaltung einer weiteren Auswahlebene, insbesondere eines Speichers, vorgenommen werden.In this way, a reconfigurable architecture is provided, in which, according to the invention, different processing units are subjected to different supply voltages depending on the operations to be performed. Importantly, reconfiguring an overall operation to be performed also adjusts the associated voltage configuration because the voltage configuration is implemented as well as performing the commands at the control command level. The selection of the voltage level can be done by the control unit directly or indirectly, with the interposition of a another selection level, in particular a memory to be made.
In Weiterbildung der Erfindung ist als weitere Randbedingung eine Operatorenverkettung vorgesehen, bei der wenigstens zwei Einzeloperationen ohne Zwischenspeicherung des Ergebnisses verkettet werden.In a further development of the invention, an operator chaining is provided as a further boundary condition in which at least two individual operations are linked without buffering the result.
Das Vorsehen einer Operatorenverkettung, sogenanntes Operation chaining, kann die Auswahl des Spannungsniveaus dahingehend beeinflussen, dass dann, wenn mehrere Operationen verkettet werden, diese bei höherem Spannungsniveau ausgeführt werden, um das Endergebnis rechtzeitig fertigstellen zu können.The provision of operator chaining, so-called operation chaining, may influence the selection of the voltage level such that, when multiple operations are concatenated, they are executed at a higher voltage level to complete the end result in a timely manner.
In Weiterbildung der Erfindung wird für erste vorbestimmte Operationen, insbesondere Additionen, ein niedriges Spannungsniveau und für zweite vorbestimmte Operationen, insbesondere Multiplikationen, ein hohes Spannungsniveau ausgewählt.In a development of the invention, a high voltage level is selected for first predetermined operations, in particular additions, a low voltage level and for second predetermined operations, in particular multiplications.
Auf diese Weise kann bei einfachen Operationen, die grundsätzlich schneller ausführbar sind und bei denen in der Regel eine Schlupfzeit auftritt, eine Verringerung der Leistungsaufnahme erreicht werden.In this way, a reduction in power consumption can be achieved in simple operations that are generally faster executable and where usually a slip time occurs.
In Weiterbildung der Erfindung erfolgt das Auswählen und gegebenenfalls das entsprechende Umschalten eines Spannungsniveaus für die Funktionseinheit bei jedem Takt oder für jeweils wenige Takte, insbesondere weniger als zehn bis zwanzig Takte.In a further development of the invention, the selection and optionally the corresponding switching of a voltage level for the functional unit occurs at each clock or for a few clocks, in particular less than ten to twenty clocks.
Durch Auswählen und Umschalten des Spannungsniveaus für jeden Takt oder jeweils wenige Takte kann innerhalb einer auszuführenden Anwendung für jede Teiloperation das hinsichtlich der Leistungsaufnahme und der gesamten Bearbeitungszeit optimale Spannungsniveau ausgewählt werden. Da erfindungsgemäß eine räumlich-zeitliche Span- nungsanpassung vorgesehen ist, kann die Realisierung der dynamischen Spannungsanpassung auch beispielsweise erst dann erfolgen, wenn bereits eine Zuweisung einzelner Teiloperationen zu bestimmten Verarbeitungseinheiten einer digitalen Schaltung erfolgt ist. Eine zum Erzielen einer optimalen Bearbeitungszeit gewählte Aufteilung in Teiloperationen einschließlich der Zuweisung der Teiloperationen zu einzelnen Verarbeitungseinheiten kann in einem nachfolgenden Schritt noch hinsichtlich der Leistungsaufnahme optimiert werden, ohne die Bearbeitungszeit für die gesamte auszuführende Operation zu verändern. Das Ziel einer deutlich verringerten Energieaufnahme kann dadurch ohne Beeinträchtigung der Leistungsfähigkeit einer digitalen Schaltung erzielt werden. Insbesondere dann, wenn eine Spannungsanpassung bei jedem Takt erfolgt, lassen sich besonders hohe Einsparungen bei der aufgenommenen Energie erzielen. Die erfindungsgemäßen Vorteile treten aber auch bereits dann zutage, wenn lediglich für jeweils wenige Takte eine Spannungsanpassung der einzelnen Funktionseinheiten vorgenommen wird.By selecting and switching the voltage level for each clock or a few clocks, the optimum voltage level in terms of power consumption and the total processing time can be selected for each sub-operation within an application to be executed. Since according to the invention a spatial-temporal chip adaptation is provided, the realization of the dynamic voltage adjustment, for example, take place only when an assignment of individual sub-operations has already been made to certain processing units of a digital circuit. A division into sub-operations, including the assignment of the sub-operations to individual processing units, chosen for achieving an optimum processing time can still be optimized in terms of power consumption in a subsequent step, without changing the processing time for the entire operation to be performed. The goal of a significantly reduced power consumption can be achieved without compromising the performance of a digital circuit. In particular, when a voltage adjustment takes place at each cycle, particularly high savings in the energy absorbed can be achieved. However, the advantages according to the invention also already appear when a voltage adjustment of the individual functional units is performed only for a few cycles.
In Weiterbildung der Erfindung erfolgt das Auswählen und gegebenenfalls das entsprechende Umschalten eines Spannungsniveaus für die Funktionseinheit bei jedem Steuerbefehl für eine Operation oder für jeweils wenige Steuerbefehle, insbesondere weniger als zehn bis zwanzig Steuerbefehle.In a further development of the invention, the selection and, where appropriate, the corresponding switching of a voltage level for the functional unit takes place for each control command for one operation or for a few control commands, in particular less than ten to twenty control commands.
Die Realisierung des erfindungsgemäßen Verfahrens auf Befehlsebene erlaubt es, bei jedem Steuerbefehl die für die dem Steuerbefehl entsprechende Operation optimale Versorgungsspannung auszuwählen. Die Auswahl einer Versorgungsspannung kann, wie bereits erwähnt wurde, anhand fester Zuordnungen erfolgen, so dass beispielsweise Additionen stets mit niedriger Versorgungsspannung und Multiplikationen stets mit hoher Versorgungsspannung ausgeführt werden, um die erforderliche Ausführungszeit für Addition und Multiplikation weitgehend aneinander anzugleichen. Es ist darüber hinaus aber auch möglich, die Spannungsanpassung an weitere Randbedingungen zu knüpfen, beispielsweise eine vorgesehene Operatorenverkettung.The realization of the method according to the invention at the command level makes it possible to select the optimum supply voltage for the operation corresponding to the control command for each control command. The selection of a supply voltage can, as already mentioned, be carried out on the basis of fixed allocations, so that, for example, always carry out with low supply voltage and multiplications always high supply voltage to the required execution time for addition and multiplication largely together equalize. In addition, it is also possible to make the voltage adjustment to further boundary conditions, such as an intended operator chaining.
In Weiterbildung der Erfindung erfolgt unabhängig vom Auswählen des Spannungsniveaus keine Taktänderung.In a further development of the invention, no clock change takes place independently of the selection of the voltage level.
Auf diese Weise kann die Spannungsumschaltung erfolgen, ohne Einschwingvorgänge auf eine neue Taktfrequenz abwarten zu müssen. Der Verzicht auf Änderung des Schaltungstaktes ermöglicht es, die einzelnen Verarbeitungseinheiten einer digitalen Schaltung sowohl räumlich als auch zeitlich in beliebiger Weise mit unterschiedlichen Versorgungsspannungen zu beaufschlagen, ohne die insgesamte Leistungsfähigkeit der digitalen Schaltung nachteilig zu beeinflussen.In this way, the voltage switching can be done without having to wait for transients to a new clock frequency. Dispensing with a change in the circuit clock makes it possible to apply different supply voltages to the individual processing units of a digital circuit, both spatially and temporally, without adversely affecting the overall performance of the digital circuit.
In Weiterbildung der Erfindung sind die für eine auszuführende Operation erforderlichen Steuerbefehle und das für die auszuführende Operation auszuwählende Spannungsniveau als weiterer Steuerbefehl in einem Speicher der Steuereinheit abgelegt. Auf diese Weise wird die räumliche und zeitliche Spannungsanpassung des erfindungsgemäßen Verfahrens auf Befehlsebene realisiert und ist dadurch im Grundsatz rekonfigurier- bar ausgebildet. Die im Speicher abgelegten Steuerbefehle werden zur Laufzeit eines Programms auf der digitalen Schaltung abgerufen und entsprechend dieser Steuerbefehle wird die Versorgungsspannung einzelner Funktionseinheiten eingestellt.In a development of the invention, the control commands required for an operation to be executed and the voltage level to be selected for the operation to be executed are stored as a further control command in a memory of the control unit. In this way, the spatial and temporal voltage adaptation of the method according to the invention is implemented at the command level and is thus reconfigurable in principle. The stored in memory control commands are retrieved at runtime of a program on the digital circuit and according to these control commands, the supply voltage of individual functional units is set.
Das der Erfindung zugrundeliegende Problem wird auch durch eine digitale Schaltung mit wenigstens zwei Komponenten und wenigstens einer Steuereinheit zum Ausgeben von Steuerbefehle und zum Ansteuern der Komponenten in Abhängigkeit einer durchzuführenden Operation gelöst, bei der ein Spannungsumschalter zum Beaufschlagen der Komponenten mit unterschiedlichen Spannungsniveaus in Abhängigkeit eines Schalt- zustandes vorgesehen ist, wobei die Steuereinheit Mittel aufweist, insbesondere einen Speicher, über die Informationen zugänglich sind, mit welchem Spannungsniveau die Komponenten beim Ausführen unterschiedlicher Operationen und/oder in Abhängigkeit weiterer Randbedingungen zu beaufschlagen sind.The problem underlying the invention is also solved by a digital circuit having at least two components and at least one control unit for outputting control commands and for driving the components as a function of an operation to be performed, wherein a voltage changeover switch for applying the components with different voltage levels in response to a switching - state is provided, wherein the control unit comprises means, in particular a memory, are accessible via the information, with which voltage level the components are to be charged when performing different operations and / or as a function of further boundary conditions.
Beispielsweise durch Vorsehen eines Kontextspeichers in der Steuereinheit wird das Abspeichern die Versorgungsspannung betreffender Steuerbefehle sowie deren Zuordnung zu im Rahmen einer Teiloperation abzuarbeitenden Steuerbefehlen ermöglicht. Das Beaufschlagen der Komponenten mit unterschiedlichen Versorgungsspannungen wird dann mittels des Spannungsumschalters realisiert, der von der Steuereinheit direkt oder unter Zwischenschaltung einer weiteren Auswahlebene, insbesondere eines Speichers, angesteuert ist. Das Vorsehen eines Kontextspeichers für Informationen betreffend die räumlich-zeitliche Spannungsanpassung erlaubt die Realisierung einer digitalen Schaltung mit rekonfigurierbarer dynamischer räumlicher und zeitlicher Spannungsanpassung.For example, by providing a context memory in the control unit, the storage of the control voltage relating to the supply voltage and its allocation to control commands to be processed in the course of a partial operation are made possible. The application of the components with different supply voltages is then realized by means of the voltage switch, which is controlled by the control unit directly or with the interposition of a further selection level, in particular a memory. The provision of a context memory for information regarding the spatio-temporal voltage adaptation allows the realization of a digital circuit with reconfigurable dynamic spatial and temporal voltage adaptation.
In Weiterbildung der Erfindung weist die Verarbeitungseinheit einen Spannungsniveauumsetzer auf, wobei der Spannungsniveauumsetzer wahlweise in die Ausgangseite der Komponenten oder die Eingangsseite der Komponenten einschaltbar ist.In a development of the invention, the processing unit has a voltage level converter, wherein the voltage level converter can be switched on optionally in the output side of the components or the input side of the components.
Auf der Ausgangsseite oder Eingangsseite ist ein Spannungsniveauumsetzer vorgesehen, wenn ein Übergang vom niedrigen auf das hohe Spannungsniveau erfolgen soll. Der Spannungsniveauumsetzer kann beispielsweise zwischen die Komponente und eine Ausgabeschnittstelle oder stromaufwärts einer oder mehrerer Eingabeschnittstellen vorgesehen sein. Das Vorsehen eines Spannungsniveauumsetzers verursacht naturgemäß eine zusätzliche Energieaufnahme, diese zusätzliche Energieaufnahme ist aber deutlich geringer als die Energieeinsparung, die durch das Absenken des Spannungsniveaus bei der Komponente erzielt wird.On the output side or input side, a voltage level converter is provided when a transition from the low to the high voltage level is to take place. For example, the voltage level translator may be provided between the component and an output interface or upstream of one or more input interfaces. The provision of a voltage level converter naturally causes an additional energy consumption, but this additional energy consumption is significantly lower than the energy saving is achieved by lowering the voltage level in the component.
Das der Erfindung zugrundeliegende Problem wird auch durch ein Verfahren zum Konfigurieren einer digitalen Schaltung mit wenigstens zwei Komponenten, jeweils zum Durchführen unterschiedlicher Operationen, mit folgenden Schritten gelöst: Aufteilen von auszuführenden Operationen in auszuführende Teiloperationen und Erstellen zugeordneter Da- tenflusspfade, insbesondere Erstellen eines Datenflussgraphen, Zuweisen der Teiloperationen zu den Komponenten der digitalen Schaltung und Festlegen, welche Komponente welche Teiloperation in welchem Taktschritt ausführt, und Festlegen eines Spannungsniveaus für die Komponenten für jeden Taktschritt in Abhängigkeit der in diesen Taktschritt auszuführenden Operationen und/oder weiterer Randbedingungen.The problem underlying the invention is also solved by a method for configuring a digital circuit having at least two components, each for performing different operations, with the following steps: splitting operations to be performed into sub-operations to be performed and creating associated data flow paths, in particular creating a data flow graph, Assigning the sub-operations to the components of the digital circuit and determining which component performs which sub-operation in which timing step, and setting a voltage level for the components for each timing step depending on the operations to be performed in that timing step and / or other constraints.
Durch das erfindungsgemäße Verfahren kann eine digitale Schaltung so konfiguriert werden, dass einerseits eine verringerte Leistungsaufnahme erzielt wird, andererseits aber die Leistungsfähigkeit der digitalen Schaltung gegenüber einer konstanten Versorgungsspannung nicht beeinträchtigt wird. Indem eine auszuführende Operation in Teiloperationen aufgeteilt wird und dann, beispielsweise in Abhängigkeit einer zu erwartenden Ausführungszeit für die Teiloperationen, ein Spannungsniveau für die auszuführende Teiloperation festgelegt wird und dieses Spannungsniveau dann derjenigen Funktionseinheit zugewiesen wird, die die Teiloperation ausführen soll, lassen sich erhebliche Energieeinsparungen realisieren. Da zeitkritische Teiloperationen eine Versorgungsspannung zugewiesen bekommen, die deren rechtzeitige Ausführung innerhalb eines Taktschrittes oder der vorgegebenen Anzahl an Taktschritten sicherstellt, wird die Leistungsfähigkeit der digitalen Schaltung insgesamt nicht beeinträchtigt. Entsprechend den erfolgten Zuweisungen von Teiloperationen und dem Festlegen der Spannungsniveaus können dann Steuerbefehle für die Steuereinheit erzeugt werden.The inventive method, a digital circuit can be configured so that on the one hand, a reduced power consumption is achieved, but on the other hand, the performance of the digital circuit is not affected by a constant supply voltage. By dividing an operation to be performed into sub-operations and then, for example, depending on an expected execution time for the sub-operations, defining a voltage level for the sub-operation to be performed and assigning that voltage level to the functional unit that is to perform the sub-operation, significant energy savings can be realized , Since time-critical sub-operations are assigned a supply voltage which ensures their timely execution within one clock step or the predetermined number of clock steps, the overall performance of the digital circuit is not impaired. According to the allocations made by Sub-operations and the setting of the voltage levels can then be generated control commands for the control unit.
In Weiterbildung der Erfindung wird beim Festlegen eines Spannungsniveaus zwischen wenigstens zwei Spannungsniveaus ausgewählt.In development of the invention is selected when setting a voltage level between at least two voltage levels.
Bei bekannten digitalen Schaltungen lassen sich durch eine Umschal- tung des Spannungsniveaus um 15% bis 30%, beispielsweise zwischen 1 Volt und 1 ,2 Volt bereits bedeutende Energieeinsparungen realisieren, ohne dass aufgrund stark verzögerter Arbeitsgeschwindigkeit eine Anpassung eines Schaltungstaktes erforderlich wäre.In known digital circuits can be realized by switching the voltage level by 15% to 30%, for example, between 1 volt and 1, 2 volts already significant energy savings without an adjustment of a circuit clock would be required due to greatly delayed operating speed.
In Weiterbildung der Erfindung ist bei dem erfindungsgemäßen Verfahren das Abspeichern der Zuweisungen und Festlegungen in einem Speicher einer Steuereinheit der digitalen Schaltung vorgesehen.In a development of the invention, in the method according to the invention, the storage of the allocations and definitions in a memory of a control unit of the digital circuit is provided.
Auf diese Weise kann die erfindungsgemäße zeitliche und räumliche dynamische Spannungsanpassung dann während der Laufzeit eines Programms abgerufen werden, indem die entsprechenden Steuerbefehle aus dem Speicher abgerufen und abgearbeitet werden. Indem die Zuweisungen und Festlegungen in einem Speicher abgelegt werden, kann eine digitale Schaltung mit dem erfindungsgemäßen Verfahren im Grundsatz stets neu konfiguriert werden.In this way, the temporal and spatial dynamic voltage adjustment according to the invention can then be retrieved during the runtime of a program by retrieving the corresponding control commands from the memory and processed. By storing the assignments and determinations in a memory, a digital circuit can always be reconfigured with the method according to the invention in principle.
In Weiterbildung der Erfindung werden die für Teiloperationen benötigten Ausführungszeiten bei unterschiedlichen Spannungsniveaus ermittelt und in Abhängigkeit der ermittelten Ausführungszeiten werden Spannungsniveaus für die Funktionseinheiten festgelegt.In a development of the invention, the execution times required for partial operations are determined at different voltage levels, and voltage levels for the functional units are determined as a function of the determined execution times.
Der Vergleich der Ausführungszeiten für unterschiedliche Teiloperationen führt zu einer Ermittlung der Schlupfzeit, die bei bestimmten Teiloperationen vorliegt. In Abhängigkeit der ermittelten Schlupfzeit kann dann beispielsweise das Spannungsniveau für solche Teiloperationen abgesenkt werden. Das Ermitteln einer Schlupfzeit ist insbesondere dann von Vorteil, wenn eine Schlupfzeit zwischen gleichzeitig ausgeführten Teiloperationen ermittelt wird und in Abhängigkeit der ermittelten Schlupfzeiten dann ein Spannungsniveau festgelegt wird.The comparison of the execution times for different sub-operations leads to a determination of the slip time that exists in certain sub-operations. Depending on the determined slip time can then, for example, the voltage level for such sub-operations are lowered. The determination of a slip time is particularly advantageous if a slip time between simultaneously executed partial operations is determined and then a voltage level is determined depending on the determined slip times.
Das der Erfindung zugrundeliegende Problem wird auch durch ein digitales Speichermedium mit elektronisch ausführbaren Steuersignalen gelöst, bei deren Ausführung auf einem Computersystem das erfindungsgemäße Verfahren ausgeführt wird.The problem underlying the invention is also solved by a digital storage medium with electronically executable control signals, in the execution of which on a computer system the method according to the invention is carried out.
Das der Erfindung zugrundeliegende Problem wird auch durch ein Computerprogrammprodukt mit Programmcodemitteln gelöst, wobei dann, wenn der Programmcode auf einem Computer ausgeführt wird, das erfindungsgemäße Verfahren durchgeführt wird.The problem underlying the invention is also solved by a computer program product with program code means, wherein when the program code is executed on a computer, the inventive method is performed.
Beispielsweise kann ein digitales Speichermedium oder ein Computerprogrammprodukt im Rahmen eines Entwicklungswerkzeugs für die Konfiguration digitaler Schaltungen eingesetzt werden und mittels des Computerprogrammprodukts lässt sich das erfindungsgemäße Verfahren beim Entwurf der digitalen Schaltung realisieren. Auf diese Weise kann eine verringerte Energieaufnahme bei unverminderter Leistungsfähigkeit von digitalen Schaltungen bereits im Entwurfstadium berücksichtigt werden.For example, a digital storage medium or a computer program product can be used within the scope of a development tool for the configuration of digital circuits, and by means of the computer program product, the method according to the invention can be implemented in the design of the digital circuit. In this way, reduced power consumption with undiminished performance of digital circuits can already be considered at the design stage.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus den Ansprüchen und der folgenden Beschreibung bevorzugter Ausführungsformen der Erfindung im Zusammenhang mit den Zeichnungen. Die einzelnen Ausführungsformen zeigen dabei unterschiedliche Einzelmerkmale, im Rahmen der Erfindung ist aber auch die Kombination von Einzelmerkmalen aus unterschiedlichen Ausführungsformen untereinander vorgesehen, auch wenn eine solche Kombination von Einzelmerkmalen nicht explizit in der nachstehenden Beschreibung Erwähnung findet.Further features and advantages of the invention will become apparent from the claims and the following description of preferred embodiments of the invention in conjunction with the drawings. The individual embodiments show different individual features, but in the context of the invention is also the combination of individual features of different embodiments with each other even if such a combination of individual features is not explicitly mentioned in the description below.
In den Zeichnungen zeigen:In the drawings show:
Fig. 1 eine schematische Darstellung des erfindungsgemäßen Verfahrens im Vergleich mit Verfahren nach dem Stand der Technik,1 shows a schematic representation of the method according to the invention in comparison with prior art methods,
Fig. 2 eine schematische Darstellung einer erfindungsgemäßen digitalen Schaltung,2 shows a schematic representation of a digital circuit according to the invention,
Fig. 3 eine detailliertere Darstellung einer Verarbeitungseinheit der digitalen Schaltung der Fig. 2,3 is a more detailed representation of a processing unit of the digital circuit of FIG. 2,
Fig. 4 eine schematische Darstellung einer weiteren digitalen Schaltung gemäß der Erfindung mit der herausgehobenen detaillierten Darstellung einer Verarbeitungseinheit,4 shows a schematic representation of a further digital circuit according to the invention with the detailed illustration of a processing unit,
Fig. 5 eine Darstellung zur Erläuterung des erfindungsgemäßen Verfahrens zum Konfigurieren einer digitalen Schaltung anhand einer beispielhaften, auszuführenden Operation,5 shows an illustration for explaining the method according to the invention for configuring a digital circuit on the basis of an exemplary operation to be carried out,
Fig. 6 eine Darstellung des erfindungsgemäßen Verfahrens zum Konfigurieren einer digitalen Schaltung anhand eines weiteren Beispiels einer auszuführenden Operation und6 shows an illustration of the method according to the invention for configuring a digital circuit based on a further example of an operation to be carried out, and FIG
Fig. 7 eine Darstellung einer Verarbeitungseinheit einer digitalen Schaltung gemäß einer alternativen Ausführungsform.7 is an illustration of a processing unit of a digital circuit according to an alternative embodiment.
Die Darstellung der Fig. 1a zeigt einen sogenannten Datenflussgraphen, in dem eine auszuführende Operation durch auszuführende Teiloperationen und die einzelnen Teiloperationen verknüpfende Datenflusspfade dargestellt ist. Wie Fig. 1a zu entnehmen ist, sind als Teiloperationen drei Multiplikationen und eine Subtraktion vorgesehen. Die auszuführende Operation wird in der Darstellung der Fig. 1 a von oben nach unten abgearbeitet und verarbeitet insgesamt fünf Eingangsgrößen. Zwei erste Eingangsgrößen werden in einer ersten Multiplikation 10 verarbeitet. In einer zweiten Multiplikation 12 werden zwei weitere Eingangsgrößen verarbeitet. Das Ergebnis der ersten Multiplikation 10 wird einer dritten Multiplikation 14 und einer Subtraktion 16 zugeführt. In der zweiten Multiplikation 14 wird das Ergebnis aus der ersten Multiplikation 10 mit einer weiteren Eingangsgröße verknüpft. Das Ergebnis der Multiplikation 12 wird der Subtraktion 16 zugeführt.The representation of FIG. 1a shows a so-called data flow graph in which an operation to be performed is performed by sub-operations to be performed and data-flow paths linking the individual sub-operations is shown. As can be seen from FIG. 1a, three multiplications and one subtraction are provided as partial operations. The operation to be performed is processed in the illustration of FIG. 1a from top to bottom and processes a total of five input variables. Two first input variables are processed in a first multiplication 10. In a second multiplication 12 two further input variables are processed. The result of the first multiplication 10 is fed to a third multiplication 14 and a subtraction 16. In the second multiplication 14, the result from the first multiplication 10 is linked to a further input variable. The result of the multiplication 12 is fed to the subtraction 16.
Fig. 1 b zeigt eine Tabelle, in der die für eine Multiplikation und eine Subtraktion benötigte Ausführungszeit bei den Spannungsniveaus 1 ,0 Volt und 1 ,2 Volt aufgeführt ist. Fig. 1b führt weiter die bei unterschiedlichen Versorgungsspannungen benötigte Energie zum Ausführen der Multiplikation und der Subtraktion auf.Fig. 1b shows a table listing the execution time required for multiplication and subtraction at voltage levels 1, 0 volts and 1.2 volts. Fig. 1b further introduces the energy required at different supply voltages to perform the multiplication and the subtraction.
Gemäß der Tabelle der Fig. 1 b kann eine Subtraktion innerhalb von 2,68 Nanosekunden gegenüber 4,06 Nanosekunden für eine Multiplikation ausgeführt werden, wenn die Versorgungsspannung 1 ,2 Volt beträgt. Bei einer Versorgungsspannung von 1 ,0 Volt kann die Subtraktion immer noch deutlich schneller als die Multiplikation innerhalb von 3,48 Nanosekunden gegenüber 5,45 Nanosekunden ausgeführt werden. Sowohl bei der Multiplikation als auch bei der Subtraktion lässt sich eine Energieeinsparung von 1 ,11 Milliwatt erzielen, wenn anstelle von 1 ,2 Volt einen Versorgungsspannung von 1 ,0 Volt gewählt wird.According to the table of FIG. 1b, a subtraction within 2.68 nanoseconds can be performed versus 4.06 nanoseconds for a multiplication when the supply voltage is 1.2 volts. At a supply voltage of 1.0 volts, the subtraction can still be performed much faster than multiplication within 3.48 nanoseconds versus 5.45 nanoseconds. In both multiplication and subtraction, energy savings of 1.1 milliwatts can be achieved by choosing a 1.0 volts supply voltage instead of 1.2 volts.
Die Fig. 1c, 1d und 1e zeigen jeweils Darstellungen, denen die Zuordnung der einzelnen Teiloperationen 10, 12, 14, 16 zu jeweils einer von zwei Verarbeitungseinheiten PE1, PE2 in unterschiedlichen Taktschritten T1 , T2, T3 zu entnehmen ist. Am Beispiel der Fig. 1c wird die erste Multiplikation 10 in der ersten Verarbeitungseinheit PE1 während des ersten Zeitschritts T1 ausgeführt. Die zweite Multiplikation 12 wird während des zweiten Zeitschritts T2 ebenfalls in der ersten Verarbeitungseinheit PE1 ausgeführt. Die dritte Multiplikation 14 wird während des dritten Zeitschritts T3 ebenfalls in der ersten Verarbeitungseinheit PE1 ausgeführt. Während des dritten Zeitschritts T3 wird dann auch die Subtraktion 16 in der zweiten Verarbeitungseinheit PE2 ausgeführt. Gemäß der schwarz hinterlegten Symbole in der ersten Verarbeitungseinheit PE1 , wird die erste Verarbeitungseinheit PE1 mit einer Versorgungsspannung von 1,2 Volt betrieben. Die zweite Verarbeitungseinheit PE2 wird dahingegen mit einer Versorgungsspannung von 1 ,0 Volt betrieben, was durch das schwarz umrandete Symbol dargestellt ist. Wie wiederum der Tabelle in Fig. 1b zu entnehmen ist, wird eine Multiplikation bei 1 ,2 Volt Versorgungsspannung innerhalb von 4,06 Nanosekunden ausgeführt. Eine Subtraktion bei 1 ,0 Volt Versorgungsspannung benötigt dahingegen 3,48 Nanosekunden. Es ist somit im Zeitschritt T3 der Fig. 1c möglich, die zweite Verarbeitungseinheit PE2 mit der niedrigeren Versorgungsspannung zu betreiben und dennoch das Ergebnis der dritten Multiplikation 14 und der Subtraktion 16 innerhalb des dritten Zeitschritts T3 fertig zustellen. Die Darstellung der Fig. 1c zeigt somit eine rein räumliche Zuordnung von Versorgungsspannungen, dahingehend, dass die erste Verarbeitungseinheit PE1 mit 1 ,2 Volt und die zweite Verarbeitungseinheit PE2 mit 1 ,0 Volt betrieben wird. Festzuhalten ist, dass das Ausführen der vorgesehenen Operation gemäß Fig. 1c innerhalb von drei Zeitschritten erfolgen kann.FIGS. 1c, 1d and 1e respectively show diagrams to which the assignment of the individual sub-operations 10, 12, 14, 16 to respectively one of two processing units PE1, PE2 can be taken in different clock steps T1, T2, T3. Using the example of FIG. 1c, the first multiplication 10 is executed in the first processing unit PE1 during the first time step T1. The second multiplication 12 is also carried out in the first processing unit PE1 during the second time step T2. The third multiplication 14 is also executed in the first processing unit PE1 during the third time step T3. During the third time step T3, the subtraction 16 is then also executed in the second processing unit PE2. According to the black-shaded symbols in the first processing unit PE1, the first processing unit PE1 is operated with a supply voltage of 1.2 volts. By contrast, the second processing unit PE2 is operated with a supply voltage of 1.0 volts, which is represented by the black-framed symbol. As can be seen again from the table in FIG. 1b, a multiplication at 1.2 volts supply voltage is carried out within 4.06 nanoseconds. In contrast, a subtraction at 1.0 volt supply voltage requires 3.48 nanoseconds. It is thus possible in the time step T3 of FIG. 1c to operate the second processing unit PE2 with the lower supply voltage and nevertheless to finish the result of the third multiplication 14 and the subtraction 16 within the third time step T3. The representation of FIG. 1c thus shows a purely spatial assignment of supply voltages, in that the first processing unit PE1 is operated at 1.2 volts and the second processing unit PE2 at 1.0 volts. It should be noted that the execution of the intended operation according to FIG. 1c can take place within three time steps.
Fig. 1d zeigt die Realisierung einer rein zeitlichen Spannungsanpassung. Beide Verarbeitungsarbeiten PE1 und PE2 können gemäß Fig. 1d gemeinsam auf eine höhere Versorgungsspannung von 1 ,2 Volt oder eine niedrigere Versorgungsspannung von 1 ,0 Volt eingestellt werden. Gemäß Fig. 1d werden bei diesem Ansatz die erste Multiplikation 10 und die zweite Multiplikation 12 während des ersten Zeitschrittes T1 gleichzeitig ausgeführt. Während des zweiten Zeitschritts T2 liegt immer noch die höhere Versorgungsspannung von 1 ,2 Volt an beiden Verarbeitungseinheiten PE1 und PE2 an und die dritte Multiplikation 14 wird ausgeführt. Erst im dritten Zeitschritt T3 wird dann die Versorgungsspannung beider Verarbeitungseinheiten PE1 und PE2 auf 1 ,0 Volt abgesenkt und die Subtraktion 16 wird ausgeführt. Es ist anhand der Fig. 1d zu erkennen, dass zur Realisierung einer Energieeinsparung mit dem Ausführen der Subtraktion 16 bis zum dritten Zeitschritt T3 abgewartet werden muss, da erst dann keine auszuführenden Multiplikationen mehr anstehen und somit erst dann die Versorgungsspannung auf 1 ,0 Volt abgesenkt werden kann.Fig. 1d shows the realization of a purely temporal voltage adjustment. Both processing PE1 and PE2 can be set according to Fig. 1d together to a higher supply voltage of 1, 2 volts or a lower supply voltage of 1, 0 volts. According to FIG. 1d, the first multiplication 10 and 10 are used in this approach the second multiplication 12 is performed simultaneously during the first time step T1. During the second time step T2, the higher supply voltage of 1.2 volts is still applied to both processing units PE1 and PE2, and the third multiplication 14 is executed. Only in the third time step T3, the supply voltage of both processing units PE1 and PE2 is then lowered to 1, 0 volts and the subtraction 16 is executed. It can be seen on the basis of FIG. 1d that, in order to realize an energy saving, it is necessary to wait until the third time step T3 to carry out the subtraction 16, since only then no more multiplications to be performed are present and thus only then the supply voltage is lowered to 1, 0 volts can be.
Fig. 1e zeigt demgegenüber die erfindungsgemäße Kombination einer räumlichen und zeitlichen Spannungsanpassung. Jede Verarbeitungseinheit PE1 und PE2 kann dabei individuell während beliebiger Taktschritte mit der höheren Versorgungsspannung von 1 ,2 Volt oder der niedrigeren Versorgungsspannung von 1 ,0 Volt beaufschlagt werden. Anhand der Fig. 1e ist zu erkennen, dass die erste Multiplikation 10 und die zweite Multiplikation 12 während des ersten Zeitschritts T1 ausgeführt werden. Während des zweiten Zeitschritts T2 führt die erste Verarbeitungseinheit PE 1 die dritte Multiplikation 14 aus und wird dabei mit einer Versorgungsspannung von 1 ,2 Volt beaufschlagt. Gleichzeitig führt im zweiten Zeitschritt T2 die zweite Verarbeitungseinheit PE2 die Subtraktion 16 aus und wird dabei aber mit der niedrigeren Versorgungsspannung von 1 ,0 Volt beaufschlagt. Anhand der Fig. 1 E ist festzustellen, dass die Operation somit in zwei Zeitschritten vollständig ausgeführt werden kann und dennoch durch Ausführen der Subtraktion 16 bei der niedrigen Versorgungsspannung von 1 ,0 Volt ein Energieeinspareffekt realisiert werden kann. Die Darstellung der Fig. 2 zeigt eine schematische Darstellung einer erfindungsgemäßen digitalen Schaltung 20. Die digitale Schaltung 20 weist vier Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 auf. Die Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 stehen untereinander für einen Datenaustausch in Verbindung, was durch jeweils zwei Doppelpfeile zwischen den einzelnen Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 symbolisiert ist. Alle Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 werden mittels eines gemeinsamen Taktes T zeitlich synchronisiert. Die Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 sind identisch aufgebaut, so dass nachfolgend lediglich die Verarbeitungseinheit PE1 genauer beschrieben wird.In contrast, FIG. 1e shows the combination according to the invention of a spatial and temporal voltage adaptation. Each processing unit PE1 and PE2 can be acted upon individually during any clock steps with the higher supply voltage of 1, 2 volts or the lower supply voltage of 1, 0 volts. With reference to FIG. 1e, it can be seen that the first multiplication 10 and the second multiplication 12 are executed during the first time step T1. During the second time step T2, the first processing unit PE 1 executes the third multiplication 14 and is supplied with a supply voltage of 1.2 volts. At the same time, in the second time step T2, the second processing unit PE2 executes the subtraction 16 and is however supplied with the lower supply voltage of 1.0 volt. With reference to FIG. 1E, it can be stated that the operation can thus be carried out completely in two time steps, and nevertheless an energy-saving effect can be realized by executing the subtraction 16 at the low supply voltage of 1.0 volts. The representation of FIG. 2 shows a schematic representation of a digital circuit 20 according to the invention. The digital circuit 20 has four processing units PE1, PE2, PE3 and PE4. The processing units PE1, PE2, PE3 and PE4 are interconnected for data exchange, which is symbolized by two double arrows between the individual processing units PE1, PE2, PE3 and PE4. All processing units PE1, PE2, PE3 and PE4 are synchronized in time by means of a common clock T. The processing units PE1, PE2, PE3 and PE4 are constructed identically, so that only the processing unit PE1 will be described in more detail below.
Die Verarbeitungseinheit PE1 weist eine Steuereinheit 22 auf, mittels der ein Datenpfad sowie eine Versorgungsspannung ausgewählt wird. Bei der Auswahl des Datenpfades werden nicht dargestellte Register und Schnittstellen der Verarbeitungseinheit PE1 angesteuert, um entsprechend den der Steuereinheit 22 vorliegenden Steuerbefehlen die gewünschten Daten heranzuholen und die berechneten Ergebnisse an ihren jeweiligen Bestimmungsort weiterzugeben. Die eigentlichen Berechnungen werden in einem Schaltkreis 24 durchgeführt, der neben einer Funktionseinheit, die nachfolgend noch erläutert wird und die verschiedene Operationen durchführen kann, noch einen Spannungsumsetzer und eine Ausgabeschnittstelle aufweist. Der Schaltkreis 24 stellt als Hardwarekomponente einen abgeschlossenen Spannungsbereich dar, der mit verschiedenen Versorgungsspannungen betrieben werden kann.The processing unit PE1 has a control unit 22, by means of which a data path and a supply voltage are selected. In the selection of the data path, registers (not shown) and interfaces of the processing unit PE1 are actuated in order to retrieve the desired data in accordance with the control commands present to the control unit 22 and to pass on the calculated results to their respective destination. The actual calculations are performed in a circuit 24, which in addition to a functional unit, which will be explained below and can perform various operations, still has a voltage converter and an output interface. The circuit 24 represents as a hardware component a closed voltage range that can be operated with different supply voltages.
Im dargestellten Beispiel kann der Schaltkreis 24 mit einer ersten Versorgungsspannung V1 und einer zweiten Versorgungsspannung V2 betrieben werden, die mittels eines Spannungsumschalters 26 wahlweise an den Schaltkreis 24 angelegt werden. Die Ansteuerung des Spannungsumschalters 26 erfolgt dabei mittels der Steuereinheit 22 und zwar entsprechend von Steuerbefehlen, die in einem Speicher der Steuereinheit 22 vorliegen und zur Laufzeit abgerufen werden. Die Auswahl einer Operation erfolgt über eine Steuerleitung 25 zwischen der Steuereinheit 22 und dem Schaltkreis 24.In the illustrated example, the circuit 24 can be operated with a first supply voltage V1 and a second supply voltage V2, which are selectively applied to the circuit 24 by means of a voltage switch 26. The control of the voltage switch 26 takes place by means of the control unit 22 and that in accordance with control commands which are present in a memory of the control unit 22 and are retrieved at runtime. The selection of an operation takes place via a control line 25 between the control unit 22 and the circuit 24.
Anhand der Darstellung der Fig. 2 ist zu erkennen, dass mit der erfindungsgemäßen Digitalschaltung sowohl eine zeitliche Spannungsanpassung vorgesehen werden kann, indem nämlich für jeden Takt oder für jeweils wenige Takte eine Versorgungsspannung der Schaltkreise 24 geändert wird. In Kombination mit dieser zeitlichen Spannungsanpassung kann darüber hinaus eine räumliche Spannungsanpassung dahingehend vorgenommen werden, dass die Schaltkreise 24 von verschiedenen Verarbeitungseinheiten PE1 , PE2, PE3, PE4 während desselben Taktes mit unterschiedlichen Versorgungsspannungen arbeiten. Da darüber hinaus die Steuerbefehle zur Spannungsanpassung mittels der Steuereinheit 22, und beispielsweise mittels Steuerbefehlen, die in einem Speicher abgelegt sind, erfolgt, genügt zu einer Umkonfiguration der Spannungsanpassung eine Umprogrammierung der Steuereinheit.It can be seen from the representation of FIG. 2 that with the digital circuit according to the invention both a temporal voltage adaptation can be provided, namely that a supply voltage of the circuits 24 is changed for each clock or for a few clock cycles. In addition, in combination with this temporal voltage adjustment, a spatial voltage adjustment can be made such that the circuits 24 of different processing units PE1, PE2, PE3, PE4 operate at different supply voltages during the same clock cycle. In addition, since the control commands for voltage adjustment by means of the control unit 22, and for example by means of control commands, which are stored in a memory, carried out to reconfigure the voltage adjustment, a reprogramming of the control unit.
In der Darstellung der Fig. 3 ist die Verarbeitungseinheit PE1 der Fig. 2 detaillierter dargestellt. Die Steuereinheit 22 weist einen Kontextspeicher 28 und logische Gatter 30 auf. Weitere Bestandteile der Steuereinheit 22 sind der Übersichtlichkeit halber in Fig. 3 nicht dargestellt. Mittels der Steuerbefehle im Kontextspeicher 28 wird eine Funktionseinheit 32 im Schaltkreis 24 angesteuert, um entsprechend den Steuerbefehlen gewünschte Operationen in der Funktionseinheit 32 auszuführen. Die Funktionseinheit 32 kann unterschiedliche Operationen ausführen, beispielsweise Multiplikationen, Additionen, Subtraktionen und Vergleiche. Eine Versorgungsspannung für die Funktionseinheit 32 wird ebenfalls mittels Steuerbefehlen aus dem Kontextspeicher 28 ausgewählt, beispielsweise so, dass einer bestimmten Operation eine bestimmte Versorgungsspannung zugeordnet ist. Beispielsweise kann einer Multiplika- tion als zeitkritischer Operation immer die höhere Versorgungsspannung V2 zugeordnet sein und einer Addition oder Subtraktion wird stets die niedrigere Versorgungsspannung V1 zugeordnet.In the illustration of Fig. 3, the processing unit PE1 of Fig. 2 is shown in more detail. The control unit 22 has a context memory 28 and logic gates 30. Further components of the control unit 22 are not shown in FIG. 3 for the sake of clarity. By means of the control commands in the context memory 28, a functional unit 32 in the circuit 24 is driven in order to execute desired operations in the functional unit 32 in accordance with the control commands. The functional unit 32 may perform different operations, such as multiplications, additions, subtractions, and comparisons. A supply voltage for the functional unit 32 is likewise selected from the context memory 28 by means of control commands, for example such that a specific supply voltage is assigned to a specific operation. For example, a multiplier tion always be associated with the higher supply voltage V2 as a time-critical operation and an addition or subtraction is always associated with the lower supply voltage V1.
Der Spannungsumschalter 26 weist zwei Transistoren 34 und 36 auf, die jeweils eine Verbindung zwischen der Versorgungsspannungsschiene V1 oder der Versorgungsspannungsschiene V2 mit der Funktionseinheit 32 sperren oder freigeben.The voltage changeover switch 26 has two transistors 34 and 36 which respectively block or enable a connection between the supply voltage rail V1 or the supply voltage rail V2 with the functional unit 32.
Die Funktionseinheit 32 ist mit einer gestrichelten Linie umgeben. Dies soll symbolisieren, dass die Funktionseinheit 32 innerhalb der Verarbeitungseinheit PE1 eine Spannungsinsel bildet, die mit unterschiedlichen Versorgungsspannungen V1 , V2 betrieben werden kann.The functional unit 32 is surrounded by a dashed line. This is to symbolize that the functional unit 32 within the processing unit PE1 forms a voltage island which can be operated with different supply voltages V1, V2.
Ein Berechnungsergebnis der Funktionseinheit 32 wird an eine Ausgabeschnittstelle 38 ausgegeben und kann von dort aus der Verarbeitungseinheit PE1 ausgegeben werden. Wahlweise kann zwischen die Funktionseinheit 32 und die Ausgabeschnittstelle 38 ein Spannungsniveauumsetzer 40 eingeschaltet werden. Das Einschalten des Spannungsniveauumsetzers 40 ist immer dann erforderlich, wenn die Funktionseinheit 32 auf dem niedrigen Spannungsniveau V1 betrieben wird. Um bei der Kommunikation der Verarbeitungseinheiten PE1 , PE2, PE3, PE4 untereinander nicht mit unterschiedlichen Signalniveaus arbeiten zu müssen, wird das Ausgangssignal der Funktionseinheit 32, wenn diese mit der niedrigen Versorgungsspannung V1 betrieben wird, mittels des Spannungsniveauumsetzers 40 wieder auf das höhere Spannungsniveau gesetzt. Das wahlweise Einschalten des Spannungsniveauumsetzers 40 in den Signalpfad wird durch die Steuereinheit 22 festgelegt. Es ist dabei festzuhalten, dass der Energiebedarf für den Spannungsniveauumsetzer 40 niedriger ist als die Energieeinsparung, die durch den Betrieb der Funktionseinheit 32 auf der niedrigeren Versorgungsspannung V1 erzielt werden kann. Die Darstellung der Fig. 4 zeigt in ihrem linken Abschnitt eine schematische Darstellung einer digitalen Schaltung 20 mit mehreren Verarbeitungseinheiten PE1 , PE2, PE3, PE4 und PE5. Die Verarbeitungseinheiten stehen untereinander über bidirektionale Datenleitungen in Verbindung, was jeweils mittels entgegengesetzt gerichteter Pfeile angedeutet ist. Die Verarbeitungseinheit PE5 ist im rechten Teil der Fig. 4 detaillierter dargestellt. Die Verarbeitungseinheit PE5 weist einen Kontextspeicher 42 auf, der in einen Kontextspeicher 44 für die Spannungskonfiguration und einen Kontextspeicher 46 für die die Auswahl der Operationen betreffenden Steuerbefehle aufgeteilt ist. Die Steuereinheit weist weiterhin eine finite Zustandsmaschine (FSM 48) auf. Weiterhin ist ein Speicher 50 vorgesehen, in dem eine Grundkonfiguration abgespeichert ist und auf die beim Booten zugegriffen wird. Weiterhin sind ein Registersatz 52 und zahlreiche Schnittstellen 54 zum Ein- bzw. Ausgeben von Daten und Statusdaten vorgesehen. Der Spannungsumschalter 26 beaufschlagt die Funktionseinheit 32 wahlweise mit einer von mehreren Versorgungsspannungen, darunter gegebenenfalls eine Spannung von Null Volt, entsprechend einer vollständigen Abschaltung der Funktionseinheit 32 und der Spannungsniveauumsetzer 40 ist am Ausgang der Funktionseinheit 32 vorgesehen.A calculation result of the functional unit 32 is output to an output interface 38 and can be output therefrom to the processing unit PE1. Optionally, a voltage level converter 40 can be switched on between the functional unit 32 and the output interface 38. The turning on of the voltage level converter 40 is required whenever the functional unit 32 is operated at the low voltage level V1. In order not to have to work with different signal levels in the communication of the processing units PE1, PE2, PE3, PE4 with each other, the output signal of the functional unit 32 when it is operated with the low supply voltage V1, set by the voltage level converter 40 back to the higher voltage level. The optional switching of the voltage level converter 40 in the signal path is determined by the control unit 22. It should be noted that the power requirement for the voltage level converter 40 is lower than the energy saving that can be achieved by the operation of the functional unit 32 at the lower supply voltage V1. The illustration of FIG. 4 shows in its left-hand section a schematic representation of a digital circuit 20 having a plurality of processing units PE1, PE2, PE3, PE4 and PE5. The processing units communicate with each other via bidirectional data lines, which is indicated by oppositely directed arrows. The processing unit PE5 is shown in more detail in the right part of FIG. The processing unit PE5 has a context memory 42, which is divided into a context memory 44 for the voltage configuration and a context memory 46 for the selection of the operations control commands. The control unit also has a finite state machine (FSM 48). Furthermore, a memory 50 is provided in which a basic configuration is stored and accessed during booting. Furthermore, a register set 52 and numerous interfaces 54 for inputting and outputting data and status data are provided. The voltage changeover switch 26 selectively supplies the functional unit 32 with one of a plurality of supply voltages, optionally including a voltage of zero volts, corresponding to a complete deactivation of the functional unit 32, and the voltage level converter 40 is provided at the output of the functional unit 32.
Anhand der Darstellungen der Fig. 5 und der Fig. 6 soll nunmehr die Konfiguration einer digitalen Schaltung beschrieben werden, so dass mit der digitalen Schaltung eine Energieeinsparung ohne Beeinträchtigung der Leistungsfähigkeit erzielt werden kann.The configuration of a digital circuit will now be described with reference to the illustrations of Fig. 5 and Fig. 6, so that energy savings can be achieved with the digital circuit without affecting the performance.
Die Darstellung der Fig. 5 zeigt die Konfigurierung einer digitalen Schaltung gemäß dem erfindungsgemäßen Verfahren für eine trilineare Interpolation.The representation of FIG. 5 shows the configuration of a digital circuit according to the method according to the invention for a trilinear interpolation.
Hierzu wird gemäß der Darstellung der Fig. 5 zunächst ein Datenfluss- graph der auszuführenden Operation erstellt, entsprechend einer Auftei- lung der auszuführenden Operation in Teiloperationen und Erstellen von Datenflusspfaden, d. h. welche Daten zu welchem Zeitschritt durch welche Teiloperationen weiterverarbeitet werden müssen. Die zeitliche Aufteilung erfolgt dabei entsprechend von Schritten eines vorgegebenen Schaltungstaktes, der in der Darstellung der Fig. 5 ganz rechts aufgetragen ist und Taktschritte T1 , T2, ... bis T15 enthält. Die mittels des Daten- flussgraphen 60 dargestellte Operation kann somit in fünfzehn Zeitschritten T1 bis T15 abgeschlossen werden. Die zeitliche Anordnung der Teiloperationen wird auch als Scheduling bezeichnet.For this purpose, according to the representation of FIG. 5, first of all a data flow graph of the operation to be carried out is created, corresponding to a breakdown. ment of the operation to be performed in sub-operations and creation of data flow paths, ie which data at which time step must be further processed by which sub-operations. The temporal division takes place in accordance with steps of a predetermined circuit clock, which is plotted in the illustration of FIG. 5 rightmost and clock steps T1, T2, ... to T15 contains. The operation represented by the data flow graph 60 can thus be completed in fifteen time steps T1 to T15. The temporal arrangement of the sub-operations is also referred to as scheduling.
In einem zweiten Schritt erfolgt dann die Zuordnung der einzelnen Teiloperationen zu den Verarbeitungseinheiten PE1 , PE2, PE3 und PE4. Dieser Vorgang wird auch als Binding bezeichnet. In der in Fig. 5 rechten Tabelle ist über der Zeit aufgetragen, welche Teiloperationen in den einzelnen Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 ausgeführt werden. Die Symbole für die einzelnen Teiloperationen sind dabei entweder lediglich schwarz umrandet oder schwarz ausgefüllt. Die schwarz umrandeten Teiloperationen werden bei einer Versorgungsspannung von 1 ,0 Volt ausgeführt, wohingegen die ausgefüllt dargestellten Teiloperationen bei einer Versorgungsspannung von 1 ,2 Volt ausgeführt werden. Der Darstellung der Fig. 5 ist dabei zu entnehmen, dass lediglich die Multiplikationen mit einer Versorgungsspannung von 1 ,2 Volt ausgeführt werden, alle übrigen Operationen können innerhalb eines Taktes auch bei einer Versorgungsspannung von 1 ,0 Volt abgeschlossen werden.In a second step, the assignment of the individual sub-operations to the processing units PE1, PE2, PE3 and PE4 then takes place. This process is also called binding. In the right-hand table in FIG. 5, it is plotted over time which sub-operations are carried out in the individual processing units PE1, PE2, PE3 and PE4. The symbols for the individual sub-operations are either only outlined in black or filled in black. The black-rimmed sub-operations are carried out at a supply voltage of 1, 0 volts, whereas the completed partial operations shown executed at a supply voltage of 1, 2 volts. It can be seen from the illustration of FIG. 5 that only the multiplications with a supply voltage of 1.2 volts are carried out, all other operations can be completed within one clock even with a supply voltage of 1.0 volts.
Nach den beschriebenen Schritten, nämlich der Erstellung des Daten- flussgraphen 60 und der in Fig. 5 dargestellten Erstellung der Zuweisungen der Teiloperationen zu den einzelnen Verarbeitungseinheiten PE1 , PE2, PE3, PE4 und der Festlegung, welche Teiloperationen bei welchem Spannungsniveau ausgeführt wird, ist das erfindungsgemäße Konfigurationsverfahren im Grundsatz abgeschlossen. Die erfolgten Zu- weisungen und Festlegungen können dann in Form von Steuerbefehlen in einem Speicher der digitalen Schaltung abgelegt werden. Das beschriebene Konfigurationsverfahren kann während der Entwicklung einer digitalen Schaltung, beispielsweise einer ASIC-Schaltung, angewandt werden, und es kann beim Konfigurieren einer rekonfigurierbaren Schaltung angewandt werden, so dass die aus den Zuweisungen und Festlegungen sich ergebenden Steuerbefehle in eine Vielzahl gleichartiger digitaler Schaltungen auf einfache Weise eingespeichert werden können.After the steps described, namely the creation of the data flow graph 60 and the creation of the allocations of the sub-operations to the individual processing units PE1, PE2, PE3, PE4 shown in FIG. 5, and the determination of which sub-operations is carried out at which voltage level, this is Configuration process according to the invention completed in principle. The accruals Instructions and definitions can then be stored in the form of control commands in a memory of the digital circuit. The described configuration method may be applied during the development of a digital circuit, such as an ASIC circuit, and may be used in configuring a reconfigurable circuit such that the control instructions resulting from the assignments and determinations into a plurality of similar digital circuits may be simplified Way can be stored.
In der ersten Zeile der rechten Tabelle der Fig. 5 werden mittels eines Speicherzugriffs die für die Verarbeitung erforderlichen Daten in die Verarbeitungseinheiten PE1 , PE2, PE3, PE4 geladen. Wie Fig. 5 zu entnehmen ist, können einundzwanzig von achtundzwanzig Teiloperationen der trilinearen Interpolation bei einer Versorgungsspannung von 1 ,0 Volt ausgeführt werden, ohne die zeitlichen Randbedingung, die pro Takt mit maximal 4,5 Nanosekunden angesetzt wurde, zu verletzen. Wie bereits erwähnt müssen lediglich Multiplikationen bei der hohen Versorgungsspannung ausgeführt werden. Bei dem dargestellten Beispiel wird eine Verringerung der Energieaufnahme von 22,8 % erzielt, verglichen mit dem Durchführen einer trilinearen Operation mit derselben Schaltung aber durchgehend konstanter Versorgungsspannung von 1 ,2 Volt.In the first line of the right-hand table of FIG. 5, the data required for the processing are loaded into the processing units PE1, PE2, PE3, PE4 by means of a memory access. As can be seen from Fig. 5, twenty-one out of twenty-eight sub-operations of the trilinear interpolation can be performed at a supply voltage of 1.0 volts without violating the temporal boundary condition set at a maximum of 4.5 nanoseconds per clock. As already mentioned, only multiplications at the high supply voltage have to be carried out. In the illustrated example, a 22.8% reduction in power consumption is achieved compared to performing a trilinear operation with the same circuit but with a constant supply voltage of 1.2 volts.
Die Darstellung der Fig. 6 zeigt ein weiteres Beispiel für das erfindungsgemäße Verfahren zum Konfigurieren einer digitalen Schaltung am Beispiel der sogenannten „Voxel Fetch Operation". In analoger Weise zu Fig. 5 wird ein Datenflussgraph 62 erstellt und die einzelnen Teiloperationen werden dann den einzelnen Verarbeitungseinheiten PE1 , PE2, PE3 und PE4 zugewiesen. Wie der Darstellung der Fig. 6 zu entnehmen ist, können dabei fünfzehn von insgesamt siebzehn Operationen bei der niedrigeren Versorgungsspannung von 1 ,0 Volt ausgeführt werden. Dies führt bei dieser Operation zu einer Verringerung der Energieaufnahme von 28,8%. Die Darstellung der Fig. 7 zeigt eine Verarbeitungseinheit PE6 einer weiteren Ausführungsform einer digitalen Schaltung. Die Verarbeitungseinheit PE6 ist ähnlich zur Verarbeitungseinheit PE1 der Fig. 3 aufgebaut und funktionsgleiche Bauteile werden nicht erneut erläutert. Im Unterschied zur Verarbeitungseinheit PE1 der Fig. 3 weist die Verarbeitungseinheit PE6 zwei Spannungsniveauumsetzer 70, 72 auf, die auf einer Eingangsseite der Funktionseinheit 32 vorgesehen sind. Der Spannungsniveauumsetzer 70 ist in eine Zuleitung eingeschaltet, die mit einem ersten Eingang der Funktionseinheit 32 in Verbindung steht. Der Spannungsniveauumsetzer 72 ist in eine Zuleitung eingeschaltet, die mit einem zweiten Eingang der Funktionseinheit 32 in Verbindung steht. Die Kommunikation zwischen Verarbeitungseinheiten kann also beispielsweise auf niedrigem Spannungsniveau erfolgen und die Eingänge der Funktionseinheit 32 werden mittels der Spannungsniveauumsetzer 70, 72 auf ein hohes Spannungsniveau gesetzt. Die Eingänge der Funktionseinheit 32 liegen somit unabhängig davon, ob die Funktionseinheit 32 mit hohem oder niedrigem Spannungsniveau betrieben wird, immer auf hohem Spannungsniveau. Dies ist erforderlich, wenn die Funktionseinheit 32 mit hohem Spannungsniveau betrieben wird und ist unschädlich, wenn die Funktionseinheit 32 mit niedrigem Spannungsniveau betrieben wird. Es ist dadurch möglich, auf eine spezielle Ansteuerung der Spannungsniveauumsetzer 70, 72 zu verzichten. 6 shows a further example of the method according to the invention for configuring a digital circuit, using the example of the so-called "voxel fetch operation." Analogously to FIG. 5, a data flow graph 62 is created and the individual sub-operations then become the individual processing units As can be seen from the illustration of Fig. 6, fifteen out of a total of seventeen operations can be performed at the lower supply voltage of 1.0 volts, resulting in a reduction in the energy consumption of this operation 28.8%. The illustration of FIG. 7 shows a processing unit PE6 of a further embodiment of a digital circuit. The processing unit PE6 is constructed similarly to the processing unit PE1 of FIG. 3 and functionally identical components will not be explained again. In contrast to the processing unit PE1 of FIG. 3, the processing unit PE6 has two voltage level converters 70, 72 which are provided on an input side of the functional unit 32. The voltage level converter 70 is turned on in a supply line which is in communication with a first input of the functional unit 32. The voltage level converter 72 is turned on in a supply line which is in communication with a second input of the functional unit 32. The communication between processing units can therefore take place, for example, at a low voltage level, and the inputs of the functional unit 32 are set to a high voltage level by means of the voltage level converters 70, 72. The inputs of the functional unit 32 are therefore always at a high voltage level, regardless of whether the functional unit 32 is operated with a high or low voltage level. This is necessary when the functional unit 32 is operated at a high voltage level and is harmless when the functional unit 32 is operated at a low voltage level. It is thereby possible to dispense with a special control of the voltage level converter 70, 72.

Claims

Patentansprüche claims
1. Verfahren zum Steuern einer digitalen Schaltung mit wenigstens zwei Komponenten zum Durchführen unterschiedlicher Operationen und wenigstens einer Steuereinheit zum Ansteuern der Komponenten in Abhängigkeit einer auszuführenden Operation, gekennzeichnet durch Auswählen eines Spannungsniveaus für die Komponenten mittels der wenigstens einen Steuereinheit in Abhängigkeit der auszuführenden Operation und/oder weiterer Randbedingungen.1. A method for controlling a digital circuit having at least two components for performing different operations and at least one control unit for driving the components in dependence on an operation to be performed, characterized by selecting a voltage level for the components by means of the at least one control unit depending on the operation to be performed and / or further boundary conditions.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Komponenten wenigstens teilweise als Funktionseinheiten zum Ausführen unterschiedlicher arithmetischer und/oder logischer Operationen ausgebildet sind.2. The method according to claim 1, characterized in that the components are at least partially formed as functional units for performing different arithmetic and / or logical operations.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass jeder Komponente eine Steuereinheit zugeordnet ist.3. The method according to claim 1 or 2, characterized in that each component is assigned a control unit.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass jeweils wenigstens eine Komponente und zugeordnete Steuereinheit in einer rekonfigurierbaren Verarbeitungseinheit vorgesehen sind.4. The method according to claim 3, characterized in that in each case at least one component and associated control unit are provided in a reconfigurable processing unit.
5. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass als weitere Randbedingung eine Operatorenverkettung vorgesehen ist, bei der wenigstens zwei Einzeloperationen ohne Zwischenspeicherung des Ergebnisses verkettet werden. 5. The method according to at least one of the preceding claims, characterized in that as an additional boundary condition an operator chaining is provided, are concatenated at least two individual operations without caching the result.
6. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine Auswahl des Spannungsniveaus mittels der Steuereinheit direkt oder indirekt unter Zwischenschaltung einer weiteren Auswahlebene, insbesondere eines Speichers, erfolgt.6. The method according to at least one of the preceding claims, characterized in that a selection of the voltage level by means of the control unit takes place directly or indirectly with the interposition of a further selection level, in particular a memory.
7. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass für erste vorbestimmte Operationen, insbesondere Additionen, ein niedriges Spannungsniveau und für zweite vorbestimmte Operationen, insbesondere Multiplikationen, ein hohes Spannungsniveau ausgewählt wird.7. The method according to at least one of the preceding claims, characterized in that for first predetermined operations, in particular additions, a low voltage level and for second predetermined operations, in particular multiplications, a high voltage level is selected.
8. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Auswählen und gegebenenfalls das entsprechende Umschalten eines Spannungsniveaus für die Komponenten bei jedem Takt oder für jeweils wenige Takte, insbesondere weniger als zehn bis zwanzig Takte, erfolgt.8. The method according to at least one of the preceding claims, characterized in that the selection and optionally the corresponding switching of a voltage level for the components at each clock or for a few bars, in particular less than ten to twenty bars, takes place.
9. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Auswählen und gegebenenfalls das entsprechende Umschalten eines Spannungsniveaus für die Komponenten bei jedem Steuerbefehl für eine Operation oder für jeweils wenige Steuerbefehle, insbesondere weniger als zehn bis zwanzig Steuerbefehle, erfolgt.9. The method according to at least one of the preceding claims, characterized in that the selection and optionally the corresponding switching of a voltage level for the components in each control command for an operation or for a few control commands, in particular less than ten to twenty control commands occurs.
10. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass unabhängig von dem Auswählen des Spannungsniveaus keine Taktänderung erfolgt.10. The method according to at least one of the preceding claims, characterized in that regardless of the selection of the voltage level no clock change takes place.
11. Verfahren nach wenigstens einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die für eine auszuführende Operation erforderlichen Steuerbefehle und das für die auszu- führende Operation auszuwählende Spannungsniveau als weiterer Steuerbefehl in einem Speicher der Steuereinheit abgelegt sind.11. The method according to at least one of the preceding claims, characterized in that the control commands required for an operation to be carried out and that for the aus- leading operation to be selected voltage level are stored as a further control command in a memory of the control unit.
12. Digitale Schaltung mit wenigstens zwei Komponenten zum Durchführen unterschiedlicher Operationen und wenigstens einer Steuereinheit zum Ansteuern der Komponenten in Abhängigkeit einer auszuführenden Operation, gekennzeichnet durch einen Spannungsumschalter zum Beaufschlagen der Funktionseinheit mit unterschiedlichen Spannungsniveaus in Abhängigkeit eines Schaltzustands, wobei die Steuereinheit Mittel aufweist, insbesondere einen Speicher, über die Informationen zugänglich sind, mit welchem Spannungsniveau die Funktionseinheit beim Ausführen unterschiedlicher Operationen und/oder in Abhängigkeit weiterer Randbedingungen zu beaufschlagen ist.12. Digital circuit having at least two components for performing different operations and at least one control unit for driving the components in response to an operation to be performed, characterized by a voltage switch for applying the functional unit with different voltage levels in response to a switching state, wherein the control unit comprises means, in particular a Memory via which information is accessible, with which voltage level the functional unit is to be charged when carrying out different operations and / or depending on further boundary conditions.
13. Digitale Schaltung nach Anspruch 12, dadurch gekennzeichnet, dass ein Spannungsniveauumsetzer vorgesehen ist, wobei der Spannungsniveauumsetzer wahlweise in die Ausgangsseite der Komponenten oder die Eingangsseite der Komponenten einschaltbar ist.13. A digital circuit according to claim 12, characterized in that a voltage level converter is provided, wherein the voltage level converter is selectively switched into the output side of the components or the input side of the components.
14. Digitale Schaltung nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass die Komponenten wenigstens teilweise als Funktionseinheiten zum Ausführen unterschiedlicher arithmetischer und/oder logischer Operationen ausgebildet sind.14. A digital circuit according to claim 12 or 13, characterized in that the components are at least partially formed as functional units for performing different arithmetic and / or logical operations.
15. Digitale Schaltung nach Anspruch 14, dadurch gekennzeichnet, dass jeder Funktionseinheit eine Steuereinheit zugeordnet ist. 15. A digital circuit according to claim 14, characterized in that each functional unit is assigned a control unit.
16. Digitale Schaltung nach Anspruch 15, dadurch gekennzeichnet, dass jeweils eine Funktionseinheit und zugeordnete Steuereinheit in einer rekonfigurierbaren Verarbeitungseinheit vorgesehen sind.16. A digital circuit according to claim 15, characterized in that in each case a functional unit and associated control unit are provided in a reconfigurable processing unit.
17. Verfahren zum Konfigurieren einer digitalen Schaltung mit wenigstens zwei Komponenten, jeweils zum Durchführen unterschiedlicher Operationen, und einer Steuereinheit zum Ansteuern der Komponenten mit folgenden Schritten:17. A method for configuring a digital circuit with at least two components, each for performing different operations, and a control unit for driving the components with the following steps:
- Aufteilen von auszuführenden Operationen in auszuführende Teiloperationen und Erstellen zugeordneter Datenfluss- pfade, insbesondere Erstellen eines Datenflussgraphen,Splitting of operations to be performed into sub-operations to be performed and creation of associated data flow paths, in particular creation of a data flow graph,
- Zuweisen der Teiloperationen zu den Komponenten der digitalen Schaltung und Festlegen, welche Komponente welche Teiloperation in welchem Taktschritt ausführt undAssigning the sub-operations to the components of the digital circuit and determining which component performs which sub-operation in which timing step and
Festlegen eines Spannungsniveaus für die Komponenten für jeden Taktschritt in Abhängigkeit der in diesem Taktschritt auszuführenden Operationen und/oder weiterer Randbedingungen.Defining a voltage level for the components for each clocking step as a function of the operations to be performed in this clocking step and / or further boundary conditions.
18. Verfahren nach Anspruch 17, weiter gekennzeichnet durch Erzeugen von Steuerbefehlen für die Steuereinheit entsprechend dem Zuweisen der Teiloperationen und dem Festlegen der Spannungsniveaus.18. The method of claim 17, further characterized by generating control commands to the controller in accordance with assigning the sub-operations and setting the voltage levels.
19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass beim Festlegen eines Spannungsniveaus zwischen wenigstens zwei Spannungsniveaus ausgewählt wird.19. The method according to claim 17 or 18, characterized in that is selected when setting a voltage level between at least two voltage levels.
20. Verfahren nach einem der Ansprüche 17 bis 19, gekennzeichnet durch Abspeichern der Zuweisungen und Festlegungen in einem Speicher der Steuereinheit der digitalen Schaltung. 20. The method according to any one of claims 17 to 19, characterized by storing the assignments and determinations in a memory of the control unit of the digital circuit.
21. Verfahren nach einem der Ansprüche 17 bis 20, gekennzeichnet durch Ermitteln der für Teiloperationen benötigten Ausführungszeiten bei unterschiedlichen Spannungsniveaus und Festlegen eines Spannungsniveaus für die Komponenten in Abhängigkeit der ermittelten Ausführungszeiten.21. The method according to any one of claims 17 to 20, characterized by determining the execution times required for sub-operations at different voltage levels and setting a voltage level for the components in dependence of the determined execution times.
22. Verfahren nach einem der Ansprüche 17 bis 21 , gekennzeichnet durch Ermitteln einer Schlupfzeit zwischen gleichzeitig ausgeführten Teiloperationen und Festlegen eines Spannungsniveaus für die Komponenten in Abhängigkeit der ermittelten Schlupfzeiten.22. The method according to any one of claims 17 to 21, characterized by determining a slip time between simultaneously performed sub-operations and setting a voltage level for the components as a function of the determined slip times.
23. Digitales Speichermedium, insbesondere CD-ROM, mit e- lektrisch ausführbaren Steuersignalen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass ein Verfahren nach einem der Ansprüche 17 bis 22 ausgeführt wird.23. A digital storage medium, in particular CD-ROM, with electrically executable control signals, which can interact with a programmable computer system such that a method according to one of claims 17 to 22 is executed.
24. Computerprogrammprodukt mit Programmiermitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um ein Verfahren nach einem der Ansprüche 17 bis 22 durchzuführen, wenn das Computerprogrammprodukt auf einem Computer ausgeführt wird. A computer program product having programming means stored on a computer readable medium to perform a method as claimed in any one of claims 17 to 22 when the computer program product is executed on a computer.
PCT/EP2006/009760 2005-10-19 2006-10-10 Method for controlling a digital circuit and a digital circuit WO2007045377A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP06806137A EP1941339A1 (en) 2005-10-19 2006-10-10 Method for controlling a digital circuit and a digital circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005051451.0 2005-10-19
DE102005051451A DE102005051451A1 (en) 2005-10-19 2005-10-19 A method of controlling a digital circuit and circuit, method of configuring a digital circuit, a digital storage medium, and a computer program product

Publications (1)

Publication Number Publication Date
WO2007045377A1 true WO2007045377A1 (en) 2007-04-26

Family

ID=37310704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/009760 WO2007045377A1 (en) 2005-10-19 2006-10-10 Method for controlling a digital circuit and a digital circuit

Country Status (3)

Country Link
EP (1) EP1941339A1 (en)
DE (1) DE102005051451A1 (en)
WO (1) WO2007045377A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011000796A1 (en) * 2009-07-02 2011-01-06 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477654B1 (en) * 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
WO2004109485A2 (en) * 2003-06-10 2004-12-16 Koninklijke Philips Electronics N.V. Embedded computing system with reconfigurable power supply and/or clock frequency domains

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19530095A1 (en) * 1995-08-16 1997-02-20 Martin Engwicht Access monitoring for software, data carriers
JP3877518B2 (en) * 2000-12-13 2007-02-07 松下電器産業株式会社 Processor power control device
DE10357284A1 (en) * 2003-12-05 2005-07-14 Pact Xpp Technologies Ag Data processor comprises multidimensional array of coarse grained logic elements operating at clock rate greater than that of bus and/or communication line connecting logic elements mutually and with other elements
GB2410344B (en) * 2004-01-26 2006-03-15 Toshiba Res Europ Ltd Dynamic voltage controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477654B1 (en) * 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
WO2004109485A2 (en) * 2003-06-10 2004-12-16 Koninklijke Philips Electronics N.V. Embedded computing system with reconfigurable power supply and/or clock frequency domains

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANDREI A ET AL: "Overhead-conscious voltage selection for dynamic and leakage energy reduction of time-constrained systems", DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, 2004. PROCEEDINGS FEB. 16-20, 2004, PISCATAWAY, NJ, USA,IEEE, vol. 1, 16 February 2004 (2004-02-16), pages 518 - 523, XP010684622, ISBN: 0-7695-2085-5 *
ANDREI A ET AL: "Quasi-Static Voltage Scaling for Energy Minimization with Time Constraints", DESIGN, AUTOMATION AND TEST IN EUROPE, 2005. PROCEEDINGS MUNICH, GERMANY 07-11 MARCH 2005, PISCATAWAY, NJ, USA,IEEE, 7 March 2005 (2005-03-07), pages 514 - 519, XP010780010, ISBN: 0-7695-2288-2 *
T OPPOLD, T SCHWEIZER, T KUHN, W ROSENSTIEL: "CRC (Configurable Reconfigurable Core) - Bewertungs- und Entwurfsverfahren für prozessorartig rekonfigurierbare Architekturen", 28 April 2005 (2005-04-28), XP002417860, Retrieved from the Internet <URL:http://www12.informatik.uni-erlangen.de/spprr/colloquium03/CRC_TI-Tuebingen_Anschlusskoll.pdf> [retrieved on 20070131] *
YALDIZ S ET AL: "Characterizing and exploiting task-load variability and correlation for energy management in multi-core systems", EMBEDDED SYSTEMS FOR REAL-TIME MULTIMEDIA, 2005. 3RD WORKSHOP ON JERSEY CITY, NJ, USA SEPT. 19, 2005, PISCATAWAY, NJ, USA,IEEE, 19 September 2005 (2005-09-19), pages 135 - 140, XP010841871, ISBN: 0-7803-9347-3 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011000796A1 (en) * 2009-07-02 2011-01-06 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection
US8166319B2 (en) 2009-07-02 2012-04-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection
EP2449445A1 (en) * 2009-07-02 2012-05-09 Telefonaktiebolaget LM Ericsson (publ) Methods and systems for use-case aware voltage selection

Also Published As

Publication number Publication date
DE102005051451A1 (en) 2007-05-03
EP1941339A1 (en) 2008-07-09

Similar Documents

Publication Publication Date Title
DE4416881C2 (en) Method for operating a data processing device
EP0499695B1 (en) Programmable logic controller
DE69713784T2 (en) RECONFIGURABLE COMPUTER SYSTEM
DE2755273C2 (en)
DE69528085T2 (en) Integrated semiconductor circuit with two supply voltages
WO2004021176A2 (en) Method and device for processing data
EP1854022B1 (en) Control appliance comprising configurable hardware modules
EP1222739A1 (en) Reconfigurable gate array
DE102004045527B4 (en) Configurable logic circuitry
DE102015007837B4 (en) Numerical control with multi-core processor
DE102008064866B3 (en) Electronic control device and method for electronic control and for operating an electronic control device
EP1599794B1 (en) Processor with different types of control units for commonly used resources
DE69909924T2 (en) Method and device for reducing power loss in a circuit
DE102010002528A1 (en) Digital controller in a power management
DE10326542B4 (en) Operating method and control program for a central unit of an automation system and central unit of an automation system and automation system itself
DE69726233T2 (en) clocking scheme
WO2007045377A1 (en) Method for controlling a digital circuit and a digital circuit
DE60008689T2 (en) ARITHMETIC UNIT WITH, AND METHOD FOR THE POSSIBLE DISAPPEARANCE OF A MULTIPLICATION RESULT
DE69025231T2 (en) CPU core for single-chip microcomputers
DE10110578A1 (en) Hierarchical priority filter with integrated serialization
WO2004040766A2 (en) Programmable logic device
DE10392380T5 (en) Modular functional block for a field-oriented control system
DE69227744T2 (en) Partial multiplier selector for multiplication circuit
DE10357284A1 (en) Data processor comprises multidimensional array of coarse grained logic elements operating at clock rate greater than that of bus and/or communication line connecting logic elements mutually and with other elements
DE102017200460A1 (en) Arithmetic unit and operating method for this

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006806137

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2006806137

Country of ref document: EP